Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wotancode/rutility
A JavaScript library for validating and formatting Chilean RUTs (Rol Único Tributario). It provides functions to add/remove dots and dashes, validate formats, and calculate check digits.
https://github.com/wotancode/rutility
chilean-rut chilean-rut-utils javascript-library rut rut-utilities typescript-library
Last synced: 25 days ago
JSON representation
A JavaScript library for validating and formatting Chilean RUTs (Rol Único Tributario). It provides functions to add/remove dots and dashes, validate formats, and calculate check digits.
- Host: GitHub
- URL: https://github.com/wotancode/rutility
- Owner: wotanCode
- License: mit
- Created: 2024-06-05T19:06:44.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-15T18:34:24.000Z (about 2 months ago)
- Last Synced: 2024-12-06T12:13:01.895Z (28 days ago)
- Topics: chilean-rut, chilean-rut-utils, javascript-library, rut, rut-utilities, typescript-library
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/rutility
- Size: 87.9 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# RUTility
## Chilean RUT Validation and Formatting Library
[![Version](https://img.shields.io/npm/v/rutility?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/rutility)
[![Downloads](https://img.shields.io/npm/dt/rutility.svg?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/rutility)A library for validating and formatting the Chilean RUT (Rol Único Tributario). This library provides functions to format the RUT with dots and dashes, as well as to validate its format and check digit.
## Installation
You can install the library using npm:
```sh
npm install rutility
```## Usage
### Import in a Node.js Project
```javascript
const { format, calculateDv, isValidRut, isFormat } = require('rutility');
```### Import in an ES6 Module
```sh
import { format, calculateDv, isValidRut, isFormat } from 'rutility';
```### Formatting Functions
Function
Description
Example
format.dot(rut: string): string
Formats a RUT by adding dots.
console.log(format.dot('12345678')); // '12.345.678'
format.dash(rut: string): string
Formats a RUT by adding a dash.
console.log(format.dash('123456780')); // '12345678-0'
format.dotDash(rut: string): string
Formats a RUT by adding dots and a dash.
console.log(format.dotDash('123456780')); // '12.345.678-0'
format.notDot(rut: string): string
Removes dots from a RUT.
console.log(format.notDot('12.345.678-0')); // '12345678-0'
format.notDash(rut: string): string
Removes the dash and check digit from a RUT.
console.log(format.notDash('12.345.678-0')); // '12.345.678'
format.notDotDash(rut: string): string
Removes dots and the dash from a RUT.
console.log(format.notDotDash('12.345.678-9')); // '12345678'
### Validation Functions
Function
Description
Example
calculateDv(rut: string | number): string
Calculates the check digit of a Chilean RUT.
console.log(calculateDv('12.345.678')); // '5'
isValidRut(rut: string): boolean
Validates if a Chilean RUT is valid.
console.log(isValidRut('12.345.678-5')); // true
### Format Validations
Function
Description
Example
isFormat.dot(rut: string): boolean
Checks if a RUT has the correct format with dots.
console.log(isFormat.dot('12.345.678')); // true
isFormat.dash(rut: string): boolean
Checks if a RUT has the correct format with a dash.
console.log(isFormat.dash('12345678-9')); // true
isFormat.dotDash(rut: string): boolean
Checks if a RUT has the correct format with dots and a dash.
console.log(isFormat.dotDash('12.345.678-9')); // true
## Contributing
If you wish to contribute to this project, please open an issue or submit a pull request.### Main Developer
[![Contribuidores](https://contrib.rocks/image?repo=wotanCode/RUTility&max=500&columns=20)](https://github.com/wotanCode/RUTility/graphs/contributors)## License
This project is licensed under the MIT License.