rut.ts 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.d.ts +8 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.min.js +1 -1
- package/dist/esm/index.d.ts +8 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +1 -1
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ type DecomposedRut = {
|
|
|
2
2
|
body: string;
|
|
3
3
|
verifier: string;
|
|
4
4
|
};
|
|
5
|
+
type FormatOptions = {
|
|
6
|
+
incremental?: boolean;
|
|
7
|
+
dots?: boolean;
|
|
8
|
+
};
|
|
5
9
|
export declare const getInvalidRutError: (rut: string) => string;
|
|
6
10
|
/**
|
|
7
11
|
* Cleans the input string by removing leading zeros, non-numeric characters, and ensures the RUT is uppercased. Throws an error if the cleaned RUT is not within the valid length range or if 'K' is not in the correct position.
|
|
@@ -49,11 +53,12 @@ declare const validate: (rut: string, strict?: boolean) => boolean;
|
|
|
49
53
|
/**
|
|
50
54
|
* Formats a given RUT string, with options for incremental formatting and dot separators.
|
|
51
55
|
* @param {string} rut - The RUT string to format.
|
|
52
|
-
* @param {
|
|
53
|
-
* @param {boolean}
|
|
56
|
+
* @param options {FormatOptions} - The formatting options.
|
|
57
|
+
* @param {boolean} options.incremental - Whether to format the RUT incrementally.
|
|
58
|
+
* @param {boolean} options.dots - Whether to include dot separators in the formatted RUT.
|
|
54
59
|
* @returns {string} The formatted RUT string.
|
|
55
60
|
*/
|
|
56
|
-
declare const format: (rut: string,
|
|
61
|
+
declare const format: (rut: string, options?: FormatOptions) => string;
|
|
57
62
|
/**
|
|
58
63
|
* Generates a random valid RUT string.
|
|
59
64
|
* @returns {string} A randomly generated, valid RUT string.
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generate=exports.decompose=exports.getVerifier=exports.getBody=exports.calculateVerifier=exports.format=exports.clean=exports.validate=exports.getInvalidRutError=void 0;const getInvalidRutError=e=>`String "${e}" is not valid as a RUT input`;exports.getInvalidRutError=getInvalidRutError;const MIN_RUT_LENGTH=8,MAX_RUT_LENGTH=9,patterns={cleaning:/^0+|[^0-9kK]+/g,rutLike:/^0*(\d{1,3}(\.?\d{3})*)-?([\dkK])$/,suspicious:/^(\d)\1?\.?(\1{3})\.?(\1{3})-?(\d|k)?$/},clean=e=>{const t=e.replace(patterns.cleaning,"").toUpperCase();if(t.length<8||t.length>9)throw new Error((0,exports.getInvalidRutError)(e));if(t.includes("K")&&t.indexOf("K")!==t.length-1)throw new Error((0,exports.getInvalidRutError)(e));return t};exports.clean=clean;const getBody=e=>clean(e).slice(0,-1);exports.getBody=getBody;const getVerifier=e=>clean(e).slice(-1);exports.getVerifier=getVerifier;const decompose=e=>({body:getBody(e),verifier:getVerifier(e)});exports.decompose=decompose;const isRutLike=e=>patterns.rutLike.test(e),isSuspicious=e=>patterns.suspicious.test(e),calculateVerifier=e=>{const t=clean(e);if(0===t.length)throw new Error((0,exports.getInvalidRutError)(e));const r=11-t.split("").reverse().reduce(((e,t,r)=>e+Number(t)*(r%6+2)),0)%11;return 11===r?"0":10===r?"K":r.toString()};exports.calculateVerifier=calculateVerifier;const validate=(e,t)=>{if(!isRutLike(e))return!1;if(t&&isSuspicious(e))return!1;const{body:r,verifier:o}=decompose(e);return calculateVerifier(r)===o};exports.validate=validate;const format=(e,t
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generate=exports.decompose=exports.getVerifier=exports.getBody=exports.calculateVerifier=exports.format=exports.clean=exports.validate=exports.getInvalidRutError=void 0;const getInvalidRutError=e=>`String "${e}" is not valid as a RUT input`;exports.getInvalidRutError=getInvalidRutError;const MIN_RUT_LENGTH=8,MAX_RUT_LENGTH=9,patterns={cleaning:/^0+|[^0-9kK]+/g,rutLike:/^0*(\d{1,3}(\.?\d{3})*)-?([\dkK])$/,suspicious:/^(\d)\1?\.?(\1{3})\.?(\1{3})-?(\d|k)?$/},clean=e=>{const t=e.replace(patterns.cleaning,"").toUpperCase();if(t.length<8||t.length>9)throw new Error((0,exports.getInvalidRutError)(e));if(t.includes("K")&&t.indexOf("K")!==t.length-1)throw new Error((0,exports.getInvalidRutError)(e));return t};exports.clean=clean;const getBody=e=>clean(e).slice(0,-1);exports.getBody=getBody;const getVerifier=e=>clean(e).slice(-1);exports.getVerifier=getVerifier;const decompose=e=>({body:getBody(e),verifier:getVerifier(e)});exports.decompose=decompose;const isRutLike=e=>patterns.rutLike.test(e),isSuspicious=e=>patterns.suspicious.test(e),calculateVerifier=e=>{const t=clean(e);if(0===t.length)throw new Error((0,exports.getInvalidRutError)(e));const r=11-t.split("").reverse().reduce(((e,t,r)=>e+Number(t)*(r%6+2)),0)%11;return 11===r?"0":10===r?"K":r.toString()};exports.calculateVerifier=calculateVerifier;const validate=(e,t)=>{if(!isRutLike(e))return!1;if(t&&isSuspicious(e))return!1;const{body:r,verifier:o}=decompose(e);return calculateVerifier(r)===o};exports.validate=validate;const format=(e,t)=>{var r,o;const i=null!==(r=null==t?void 0:t.incremental)&&void 0!==r&&r,n=null===(o=null==t?void 0:t.dots)||void 0===o||o;if(0===e.length)return"";if(e.length<=6&&!n)return e;const s=clean(e);if(i){let e=s.slice(-1);s.length>1&&(e=s.slice(-4,-1)+"-"+e);for(let t=4;t<s.length;t+=3){const r=s.length-3-t<0?0:s.length-3-t;e=n?s.slice(r,s.length-t)+"."+e:s.slice(r,s.length-t)+e}return e}if(n){let e=s.slice(-4,-1)+"-"+s.substring(s.length-1);for(let t=4;t<s.length;t+=3)e=s.slice(-3-t,-t)+"."+e;return e}return s.slice(0,-1)+"-"+s.substring(s.length-1)};exports.format=format;const generate=()=>{const e=Math.floor(10000003+9e7*Math.random()).toString(),t=calculateVerifier(e);return format(e+t)};exports.generate=generate;
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ type DecomposedRut = {
|
|
|
2
2
|
body: string;
|
|
3
3
|
verifier: string;
|
|
4
4
|
};
|
|
5
|
+
type FormatOptions = {
|
|
6
|
+
incremental?: boolean;
|
|
7
|
+
dots?: boolean;
|
|
8
|
+
};
|
|
5
9
|
export declare const getInvalidRutError: (rut: string) => string;
|
|
6
10
|
/**
|
|
7
11
|
* Cleans the input string by removing leading zeros, non-numeric characters, and ensures the RUT is uppercased. Throws an error if the cleaned RUT is not within the valid length range or if 'K' is not in the correct position.
|
|
@@ -49,11 +53,12 @@ declare const validate: (rut: string, strict?: boolean) => boolean;
|
|
|
49
53
|
/**
|
|
50
54
|
* Formats a given RUT string, with options for incremental formatting and dot separators.
|
|
51
55
|
* @param {string} rut - The RUT string to format.
|
|
52
|
-
* @param {
|
|
53
|
-
* @param {boolean}
|
|
56
|
+
* @param options {FormatOptions} - The formatting options.
|
|
57
|
+
* @param {boolean} options.incremental - Whether to format the RUT incrementally.
|
|
58
|
+
* @param {boolean} options.dots - Whether to include dot separators in the formatted RUT.
|
|
54
59
|
* @returns {string} The formatted RUT string.
|
|
55
60
|
*/
|
|
56
|
-
declare const format: (rut: string,
|
|
61
|
+
declare const format: (rut: string, options?: FormatOptions) => string;
|
|
57
62
|
/**
|
|
58
63
|
* Generates a random valid RUT string.
|
|
59
64
|
* @returns {string} A randomly generated, valid RUT string.
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const getInvalidRutError=e=>`String "${e}" is not valid as a RUT input`;const MIN_RUT_LENGTH=8,MAX_RUT_LENGTH=9,patterns={cleaning:/^0+|[^0-9kK]+/g,rutLike:/^0*(\d{1,3}(\.?\d{3})*)-?([\dkK])$/,suspicious:/^(\d)\1?\.?(\1{3})\.?(\1{3})-?(\d|k)?$/},clean=e=>{const t=e.replace(patterns.cleaning,"").toUpperCase();if(t.length<8||t.length>9)throw new Error(getInvalidRutError(e));if(t.includes("K")&&t.indexOf("K")!==t.length-1)throw new Error(getInvalidRutError(e));return t},getBody=e=>clean(e).slice(0,-1),getVerifier=e=>clean(e).slice(-1),decompose=e=>({body:getBody(e),verifier:getVerifier(e)}),isRutLike=e=>patterns.rutLike.test(e),isSuspicious=e=>patterns.suspicious.test(e),calculateVerifier=e=>{const t=clean(e);if(0===t.length)throw new Error(getInvalidRutError(e));const r=11-t.split("").reverse().reduce(((e,t,r)=>e+Number(t)*(r%6+2)),0)%11;return 11===r?"0":10===r?"K":r.toString()},validate=(e,t)=>{if(!isRutLike(e))return!1;if(t&&isSuspicious(e))return!1;const{body:r,verifier:i}=decompose(e);return calculateVerifier(r)===i},format=(e,t
|
|
1
|
+
export const getInvalidRutError=e=>`String "${e}" is not valid as a RUT input`;const MIN_RUT_LENGTH=8,MAX_RUT_LENGTH=9,patterns={cleaning:/^0+|[^0-9kK]+/g,rutLike:/^0*(\d{1,3}(\.?\d{3})*)-?([\dkK])$/,suspicious:/^(\d)\1?\.?(\1{3})\.?(\1{3})-?(\d|k)?$/},clean=e=>{const t=e.replace(patterns.cleaning,"").toUpperCase();if(t.length<8||t.length>9)throw new Error(getInvalidRutError(e));if(t.includes("K")&&t.indexOf("K")!==t.length-1)throw new Error(getInvalidRutError(e));return t},getBody=e=>clean(e).slice(0,-1),getVerifier=e=>clean(e).slice(-1),decompose=e=>({body:getBody(e),verifier:getVerifier(e)}),isRutLike=e=>patterns.rutLike.test(e),isSuspicious=e=>patterns.suspicious.test(e),calculateVerifier=e=>{const t=clean(e);if(0===t.length)throw new Error(getInvalidRutError(e));const r=11-t.split("").reverse().reduce(((e,t,r)=>e+Number(t)*(r%6+2)),0)%11;return 11===r?"0":10===r?"K":r.toString()},validate=(e,t)=>{if(!isRutLike(e))return!1;if(t&&isSuspicious(e))return!1;const{body:r,verifier:i}=decompose(e);return calculateVerifier(r)===i},format=(e,t)=>{var r,i;const n=null!==(r=null==t?void 0:t.incremental)&&void 0!==r&&r,l=null===(i=null==t?void 0:t.dots)||void 0===i||i;if(0===e.length)return"";if(e.length<=6&&!l)return e;const o=clean(e);if(n){let e=o.slice(-1);o.length>1&&(e=o.slice(-4,-1)+"-"+e);for(let t=4;t<o.length;t+=3){const r=o.length-3-t<0?0:o.length-3-t;e=l?o.slice(r,o.length-t)+"."+e:o.slice(r,o.length-t)+e}return e}if(l){let e=o.slice(-4,-1)+"-"+o.substring(o.length-1);for(let t=4;t<o.length;t+=3)e=o.slice(-3-t,-t)+"."+e;return e}return o.slice(0,-1)+"-"+o.substring(o.length-1)},generate=()=>{const e=Math.floor(10000003+9e7*Math.random()).toString(),t=calculateVerifier(e);return format(e+t)};export{validate,clean,format,calculateVerifier,getBody,getVerifier,decompose,generate};
|