Skip to content

claudioDcv/RUTfunctions

Repository files navigation

RUTfunctions

Build Status codecov npm npm npm

Functional helpers for handling RUT Chile written in ES6 without dependencies

Helpers funcionales para manipulación de RUT Chileno escritos en ES6 sin dependencias


Install NPM

npm install rutfunctions

Install YARN

yarn add rutfunctions

How to Test

Run one, or a combination of the following commands to lint and test your code:

  • npm run lint -- lint the source code with ESLint
  • npm test -- run unit tests with Mocha
  • npm run test:watch -- run unit tests with Mocha, and watch files for changes
  • npm run test:cover -- run unit tests with code coverage by Istanbul

Import

import { rutClean, rutValidate } from 'rutfunctions'

Using:

  • rutClean
@param paramrut {string}= 16.761.256-9
@return {string} = 167512569
  • rutValidate
@param paramrut {string} = 16.761.256-9
@return {boolean} = true
// Example
rutValidate('167512569')
true
rutValidate('167512568')
false
rutValidate('16.751.256-8')
false
rutValidate('16.751.256-9')
true
  • rutFormat
@param paramrut {number/string} = 167512569
@return {string} = 16.761.256-9
  • rutCalcDv
@param paramrut {number/string} = 16751256 / 16.751.256
@return {string} = 9
  • rutGetNumber
@param paramrut {string} = 16.751.256-9 / 16751256-9
@return {string} = 16751256
  • rutGetDv
@param paramrut {string} = 16.751.256-9 / 16751256-9
@return {string} = 9
  • rutAddDv
@param paramrut {string} = 16751256
@return {string} = 167512569

Use the functional composition

const rutNumber = '16751256';
const rutFormatOutComposition = rutFormat(rutAddDv(rutNumber));
console.log(rutFormatOutComposition);
// generate => 16.751.256-9

//or create your functions

const rutAddDvFormat = paramrut => rutFormat(rutAddDv(paramrut));

const rutNumber = '16751256';
const rutFormatOut = rutAddDvFormat(rutNumber);
console.log(rutFormatOut);
// generate => 16.751.256-9