-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.js.map
1 lines (1 loc) · 11.3 KB
/
index.js.map
1
{"version":3,"file":"index.js","sources":["../src/internal/_isNIE.js","../src/internal/_isNIF.js","../src/isValid.js","../src/internal/_utils.js","../src/ctrlChar.js","../src/isNIE.js","../src/isNIF.js","../src/randomNIF.js","../src/randomNIE.js","../src/randomNIFWith.js","../src/randomNIEWith.js","../src/normalize.js"],"sourcesContent":["export const _isNIE = (v) => /^[XYZ]{1}[0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]{1}$/i.test(v);\n","export const _isNIF = (v) => /^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKE]{1}$/i.test(v);\n","import { _isNIE } from \"./internal/_isNIE\";\nimport { _isNIF } from \"./internal/_isNIF\";\n\n/**\n * Returns true if the string is a valid DNI (NIF or NIE)\n * @param {string} value\n * @returns {boolean}\n * @since 1.1.0\n * @example\n * isValid(\"X9464186P\"); // => true\n * isValid(\"03118880B\"); // => true\n */\nconst isValid = (value) => {\n const dni = !value ? \"\" : value; // lowercase is faster\n\n if (dni.length !== 9 && !_isNIE(dni) && !_isNIF(dni)) {\n return false;\n }\n\n let f = \"xyzXYZ\".indexOf(dni[0]) % 3;\n\n if (f === -1) {\n f = dni[0];\n }\n\n const i = +(f + dni.slice(1, 8)) % 23;\n\n return \"trwagmyfpdxbnjzsqvhlcket\".indexOf(dni[8].toLowerCase()) === i;\n};\n\nexport { isValid };\n","function _Random(seed) {\n this._seed = seed % 2147483647;\n if (this._seed <= 0) this._seed += 2147483646;\n}\n\n_Random.prototype.next = function() {\n return (this._seed = (this._seed * 16807) % 2147483647);\n};\n\n// _Random :: https://gist.github.com/blixt/f17b47c62508be59987b#file-prng-js\n\nconst _letter = (x) => \"trwagmyfpdxbnjzsqvhlcke\"[+x % 23];\nconst _randStrLimit = (limit) => `${Math.random()}`.slice(-limit);\nconst _randFloat = (seed) => (new _Random(seed).next() - 1) / 2147483646;\n\nexport { _letter, _randStrLimit, _randFloat };\n","import { _letter } from \"./internal/_utils\";\n\n/**\n * Returns the control letter in upper case\n * for a NIF or NIE with or without control letter\n * @param {string} value\n * @returns {string}\n * @since 1.9.1\n * @example\n * ctrlChar(\"X9464186P\"); // => 'P'\n * ctrlChar(\"X9464186\"); // => 'P'\n * ctrlChar(\"03118880B\"); // => 'B'\n * ctrlChar(\"03118880\"); // => 'B'\n */\nconst ctrlChar = (y) => {\n // Get a number from 0 - 2 when `y` is a NIE\n let f = \"xyzXYZ\".indexOf(y[0]) % 3;\n // Otherwise default to the number (NIF case only)\n if (f === -1) f = y[0];\n // Strip the letters\n const i = `${f}${y.slice(1, 8)}`;\n return _letter(i).toUpperCase();\n};\n\nexport { ctrlChar };\n","import { _isNIE } from \"./internal/_isNIE\";\nimport { ctrlChar } from \"./ctrlChar\";\n\n/**\n * Returns true if the string is a NIE\n * @param {string} value\n * @returns {boolean}\n * @since 1.0.1\n * @example\n * isNIE(\"X4108613P\"); // => true\n */\nconst isNIE = (value) => {\n return (\n !!value && value.length === 9 && _isNIE(value) && ctrlChar(value) === value[8].toUpperCase()\n );\n};\n\nexport { isNIE };\n","import { _isNIF } from \"./internal/_isNIF\";\nimport { ctrlChar } from \"./ctrlChar\";\n\n/**\n * Returns true if the string is a NIF\n * @param {string} value\n * @returns {boolean}\n * @since 1.0.1\n * @example\n * isNIF(\"93375221M\"); // => true\n */\nconst isNIF = (value) => {\n return (\n !!value && value.length === 9 && _isNIF(value) && ctrlChar(value) === value[8].toUpperCase()\n );\n};\n\nexport { isNIF };\n","import { _randStrLimit, _letter } from \"./internal/_utils\";\n\n/**\n * Returns a valid NIF string\n * @returns {string}\n * @since 1.8.1\n * @example\n * randomNIF() // => \"93375221M\"\n */\nconst randomNIF = () => {\n const nn = _randStrLimit(8);\n return nn + _letter(nn).toUpperCase();\n};\n\nexport { randomNIF };\n","import { _randStrLimit, _letter } from \"./internal/_utils\";\n\n/**\n * Returns a valid NIE string\n * @returns {string}\n * @since 1.8.1\n * @example\n * randomNIE() // => \"X4108613P\"\n */\nconst randomNIE = () => {\n const r = Math.floor(Math.random() * 3);\n const nn = _randStrLimit(7);\n const l = _letter(+`${r}${nn}`).toUpperCase();\n return `${\"XYZ\"[r]}${nn}${l}`;\n};\n\nexport { randomNIE };\n","import { _randFloat } from \"./internal/_utils\";\n\n/**\n * Returns a random NIF with a specific letter\n * A seed can be passed as a second parameter and\n * it will always return the same value\n * @returns {string | null}\n * @since 1.11.0\n * @example\n * with random seed\n * randomNIFWith('C'); //=> '95652190C'\n * randomNIFWith('G'); //=> '60869550G'\n *\n * with the same seed\n * randomNIFWith('G', 1); //=> '95652174G'\n * randomNIFWith('G', 1); //=> '95652174G'\n */\nconst randomNIFWith = (char, seed = 100000000 * Math.random()) => {\n const lastNum = \"trwagmyfpdxbnjzsqvhlckeTRWAGMYFPDXBNJZSQVHLCKE\".indexOf(char) % 23;\n\n if (lastNum === -1) {\n return null;\n }\n\n // TODO: Better calculation\n const n = 99999998 - 4347826 * (Math.floor(_randFloat(seed) * 22) + 1);\n\n const d = Math.max(0, n) % 23;\n const h = n + (lastNum - d);\n const s = `0${h}`.slice(-8);\n\n return `${s}${char}`.toUpperCase();\n};\n\nexport { randomNIFWith };\n","import { _randFloat } from \"./internal/_utils\";\nimport { ctrlChar } from \"./ctrlChar\";\n\n/**\n * Returns a random NIE with a specific letter\n * A seed can be passed as a third parameter and\n * it will always return the same value\n * @param head {string}\n * @param char {string}\n * @returns {string | null}\n * @since 1.12.0\n * @example\n * with random seed\n * randomNIEWith('Y', 'C'); //=> 'Y2098020C'\n * randomNIEWith('Z', 'G'); //=> 'Z5670557G'\n *\n * with the same seed\n * randomNIEWith('X', 'E', 1); //=> 'X2080280E'\n * randomNIEWith('X', 'E', 1); //=> 'X2080280E'\n */\nconst randomNIEWith = (xyz, l, seed = 100000000 * Math.random()) => {\n const headNum = \"xyzXYZ\".indexOf(xyz) % 3;\n\n if (headNum === -1) {\n return null;\n }\n\n const lastNum = \"trwagmyfpdxbnjzsqvhlckeTRWAGMYFPDXBNJZSQVHLCKE\".indexOf(l) % 23;\n\n if (lastNum === -1) {\n return null;\n }\n\n const headOne = headNum + 1;\n\n // TODO: Better calculation\n const num = Math.floor(1000000 * headOne + (9999999 - 1000000 * headOne - 23) * _randFloat(seed));\n\n const b = +`${headNum}${num}`;\n const rest = b % 23;\n const h = b - rest + lastNum;\n\n const s = `0${h}${l}`.slice(-8);\n\n return `${xyz}${s}`.toUpperCase();\n};\n\nexport { randomNIEWith };\n","/**\n * Returns a \"clean\" dni string removing spaces, dashes, etc.\n * @param {string} value\n * @returns {string}\n * @since 2.2.0\n * @example\n * normalize(\" x-9464186_p \"); // => \"X9464186P\"\n */\nexport const normalize = (str) => {\n return str.replace(/[-_\\s]/gi, \"\").toUpperCase();\n};\n"],"names":["_isNIE","v","test","_isNIF","isValid","value","dni","length","f","indexOf","i","slice","toLowerCase","_Random","seed","_seed","prototype","next","_letter","x","_randStrLimit","limit","Math","random","_randFloat","ctrlChar","y","toUpperCase","isNIE","isNIF","randomNIF","nn","randomNIE","r","floor","l","randomNIFWith","char","lastNum","n","d","max","h","s","randomNIEWith","xyz","headNum","headOne","num","b","rest","normalize","str","replace"],"mappings":"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"}