1.4.0 • Published 2 years ago

@fdograph/rut-utilities v1.4.0

Weekly downloads
264
License
Apache-2.0
Repository
github
Last release
2 years ago

🇨🇱 Chilean Rut Utilities 🇨🇱

Coverage - Branches Coverage - Functions Coverage - Lines Coverage - Statements

:es: Versión en Español



:speech_balloon: Intro

Fully typed set of utility functions to parse, validate and generate a Chilean R.U.T.

Meant for developers who want to interact, manipulate and validate Chilean R.U.T.

:rocket: Getting started

Npm & Yarn install:

$ npm install @fdograph/rut-utilities

$ yarn add @fdograph/rut-utilities

:top: back to top

:wrench: Usage

validateRut(rut?: string, noSuspicious = true) => boolean

Returns true if the passed string corresponds to a fully valid R.U.T. This is a valid rut-like string that passes the official mathematical validation algorithm and does not conform to the "suspicious" R.U.T. pattern. Eg: 44.444.444-4, 22.222.222-2, 3.333.333-3, 9999999-9

import { validateRut } from '@fdograph/rut-utilities';

validateRut('18585543-0');
> true

validateRut('18.585.543-0');
> true

validateRut('9.999.999-9');
> false

validateRut('44.444.444-4');
> false

To avoid the "suspicious" R.U.T. validation we can override the noSuspicious argument and pass it as false. This will change the behaviour of this method making it skip the "suspicious" pattern validation.

import { validateRut } from '@fdograph/rut-utilities';

validateRut('18585543-0', false);
> true

validateRut('18.585.543-0', false);
> true

validateRut('9.999.999-9', false);
> true

validateRut('44.444.444-4', false);
> true

validateRutList(ruts: Iterable<string>, noSuspicious = false) => Map<string, boolean>

Returns a results Map in which each entry has a key corresponding to the input and the value corresponding to its validation result.

import { validateRutList } from '@fdograph/rut-utilities';

const validRuts = ['7775735-k', '18585543-0', '18348353-6'];
const result = validateRutList(validRuts);

result.get('7775735-k');
> true

result.get(validRuts[1]);
> true

formatRut(rut?: string, format?: RutFormat = RutFormat.DASH) => string

Formats a rut-like string according to the format parameter or returns the intact string if this doesn't match a rut-like string pattern.

enum RutFormat {
	DOTS,
	DASH,
	DOTS_DASH
}
import { formatRut, RutFormat } from '@fdograph/rut-utilities';

formatRut('44.333.222-1');
> '44333222-1'

formatRut('44333222-1', RutFormat.DOTS_DASH);
> '44.333.222-1'

formatRut('44333222-1', RutFormat.DOTS);
> '44.333.2221'

formatRut('jg7gk-1', RutFormat.DOTS);
> 'jg7gk-1'

deconstructRut(rut: string) => DeconstructedRut

Returns an object containing the RUT's digits and verifier.

You can use Destructuring to access each.

type DeconstructedRut = {
  digits: string;
  verifier: string;
}
import { deconstructRut } from '@fdograph/rut-utilities';

const { digits, verifier } = deconstructRut('7775735-k');

console.log(digits);
> '7775735'

console.log(verifier);
> 'k'

You can see the full set of utility functions in the Tests

:page_facing_up: License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

:top: back to top

1.4.0

2 years ago

1.3.7

3 years ago

1.3.6

3 years ago

1.3.5

3 years ago

1.3.4

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago