Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@fdograph/rut-utilities
Advanced tools
Fully typed set of utility functions to parse, validate and generate a Chilean R.U.T. Set de funciones utilitarias para generar, procesar y validar un R.U.T. Chileno completamente tipado.
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.
$ npm install @fdograph/rut-utilities
$ yarn add @fdograph/rut-utilities
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
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
FAQs
Fully typed set of utility functions to parse, validate and generate a Chilean R.U.T. Set de funciones utilitarias para generar, procesar y validar un R.U.T. Chileno completamente tipado.
The npm package @fdograph/rut-utilities receives a total of 4,431 weekly downloads. As such, @fdograph/rut-utilities popularity was classified as popular.
We found that @fdograph/rut-utilities demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.