@arkyn/shared 1.4.52 → 2.0.1-beta.1
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/formats/__test__/formatDate.spec.d.ts +2 -0
- package/dist/formats/__test__/formatDate.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatDate.spec.js +41 -0
- package/dist/formats/__test__/formatJsonObject.spec.d.ts +2 -0
- package/dist/formats/__test__/formatJsonObject.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatJsonObject.spec.js +76 -0
- package/dist/formats/__test__/formatJsonString.spec.d.ts +2 -0
- package/dist/formats/__test__/formatJsonString.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatJsonString.spec.js +71 -0
- package/dist/formats/__test__/formatToCep.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToCep.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToCep.spec.js +30 -0
- package/dist/formats/__test__/formatToCnpj.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToCnpj.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToCnpj.spec.js +27 -0
- package/dist/formats/__test__/formatToCpfCnpj.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToCpfCnpj.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToCpfCnpj.spec.js +32 -0
- package/dist/formats/__test__/formatToCurrency.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToCurrency.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToCurrency.spec.js +39 -0
- package/dist/formats/__test__/formatToEllipsis.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToEllipsis.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToEllipsis.spec.js +36 -0
- package/dist/formats/__test__/formatToHiddenDigits.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToHiddenDigits.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToHiddenDigits.spec.js +47 -0
- package/dist/formats/__test__/formatToPhone.spec.d.ts +2 -0
- package/dist/formats/__test__/formatToPhone.spec.d.ts.map +1 -0
- package/dist/formats/__test__/formatToPhone.spec.js +38 -0
- package/dist/formats/formatDate.d.ts +43 -0
- package/dist/formats/formatDate.d.ts.map +1 -0
- package/dist/formats/formatDate.js +77 -0
- package/dist/formats/formatJsonObject.d.ts +31 -1
- package/dist/formats/formatJsonObject.d.ts.map +1 -1
- package/dist/formats/formatJsonObject.js +67 -26
- package/dist/formats/formatJsonString.d.ts +37 -1
- package/dist/formats/formatJsonString.d.ts.map +1 -1
- package/dist/formats/formatJsonString.js +38 -4
- package/dist/formats/formatToCep.d.ts +27 -1
- package/dist/formats/formatToCep.d.ts.map +1 -1
- package/dist/formats/formatToCep.js +31 -6
- package/dist/formats/formatToCnpj.d.ts +30 -0
- package/dist/formats/formatToCnpj.d.ts.map +1 -0
- package/dist/formats/formatToCnpj.js +35 -0
- package/dist/formats/formatToCpf.d.ts +30 -0
- package/dist/formats/formatToCpf.d.ts.map +1 -0
- package/dist/formats/formatToCpf.js +35 -0
- package/dist/formats/formatToCpfCnpj.d.ts +22 -1
- package/dist/formats/formatToCpfCnpj.d.ts.map +1 -1
- package/dist/formats/formatToCpfCnpj.js +27 -7
- package/dist/formats/formatToCurrency.d.ts +29 -0
- package/dist/formats/formatToCurrency.d.ts.map +1 -0
- package/dist/formats/formatToCurrency.js +41 -0
- package/dist/formats/formatToEllipsis.d.ts +14 -1
- package/dist/formats/formatToEllipsis.d.ts.map +1 -1
- package/dist/formats/formatToEllipsis.js +20 -3
- package/dist/formats/formatToHiddenDigits.d.ts +30 -2
- package/dist/formats/formatToHiddenDigits.d.ts.map +1 -1
- package/dist/formats/formatToHiddenDigits.js +49 -3
- package/dist/formats/formatToPhone.d.ts +32 -1
- package/dist/formats/formatToPhone.d.ts.map +1 -1
- package/dist/formats/formatToPhone.js +128 -6
- package/dist/generators/__test__/generateColorByString.spec.d.ts +2 -0
- package/dist/generators/__test__/generateColorByString.spec.d.ts.map +1 -0
- package/dist/generators/__test__/generateColorByString.spec.js +31 -0
- package/dist/generators/__test__/generateId.spec.d.ts +2 -0
- package/dist/generators/__test__/generateId.spec.d.ts.map +1 -0
- package/dist/generators/__test__/generateId.spec.js +30 -0
- package/dist/generators/__test__/generateSlug.spec.d.ts +2 -0
- package/dist/generators/__test__/generateSlug.spec.d.ts.map +1 -0
- package/dist/generators/__test__/generateSlug.spec.js +38 -0
- package/dist/generators/generateColorByString.d.ts +13 -1
- package/dist/generators/generateColorByString.d.ts.map +1 -1
- package/dist/generators/generateColorByString.js +15 -4
- package/dist/generators/generateId.d.ts +26 -4
- package/dist/generators/generateId.d.ts.map +1 -1
- package/dist/generators/generateId.js +11 -5
- package/dist/generators/generateSlug.d.ts +15 -1
- package/dist/generators/generateSlug.d.ts.map +1 -1
- package/dist/generators/generateSlug.js +16 -2
- package/dist/index.d.ts +7 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -15
- package/dist/{validations/regex.d.ts → regex/index.d.ts} +1 -1
- package/dist/regex/index.d.ts.map +1 -0
- package/dist/services/__test__/calculateCardInstallment.spec.d.ts +2 -0
- package/dist/services/__test__/calculateCardInstallment.spec.d.ts.map +1 -0
- package/dist/services/__test__/calculateCardInstallment.spec.js +71 -0
- package/dist/services/__test__/maskSensitiveData.spec.d.ts +2 -0
- package/dist/services/__test__/maskSensitiveData.spec.d.ts.map +1 -0
- package/dist/services/__test__/maskSensitiveData.spec.js +79 -0
- package/dist/services/__test__/removeCurrencySymbols.spec.d.ts +2 -0
- package/dist/services/__test__/removeCurrencySymbols.spec.d.ts.map +1 -0
- package/dist/services/__test__/removeCurrencySymbols.spec.js +34 -0
- package/dist/services/__test__/removeNonNumeric.spec.d.ts +2 -0
- package/dist/services/__test__/removeNonNumeric.spec.d.ts.map +1 -0
- package/dist/services/__test__/removeNonNumeric.spec.js +27 -0
- package/dist/services/__test__/truncateLargeFields.spec.d.ts +2 -0
- package/dist/services/__test__/truncateLargeFields.spec.d.ts.map +1 -0
- package/dist/services/__test__/truncateLargeFields.spec.js +65 -0
- package/dist/services/calculateCardInstallment.d.ts +31 -5
- package/dist/services/calculateCardInstallment.d.ts.map +1 -1
- package/dist/services/calculateCardInstallment.js +52 -11
- package/dist/services/maskSensitiveData.d.ts +24 -1
- package/dist/services/maskSensitiveData.d.ts.map +1 -1
- package/dist/services/maskSensitiveData.js +24 -2
- package/dist/services/removeCurrencySymbols.d.ts +20 -0
- package/dist/services/removeCurrencySymbols.d.ts.map +1 -0
- package/dist/services/removeCurrencySymbols.js +23 -0
- package/dist/services/removeNonNumeric.d.ts +15 -0
- package/dist/services/removeNonNumeric.d.ts.map +1 -0
- package/dist/services/removeNonNumeric.js +16 -0
- package/dist/services/truncateLargeFields.d.ts +30 -1
- package/dist/services/truncateLargeFields.d.ts.map +1 -1
- package/dist/services/truncateLargeFields.js +34 -6
- package/dist/validations/__test__/validateCpf.spec.d.ts +2 -0
- package/dist/validations/__test__/validateCpf.spec.d.ts.map +1 -0
- package/dist/validations/__test__/validateCpf.spec.js +31 -0
- package/dist/validations/__test__/validateDate.spec.d.ts +2 -0
- package/dist/validations/__test__/validateDate.spec.d.ts.map +1 -0
- package/dist/validations/__test__/validateDate.spec.js +44 -0
- package/dist/validations/__test__/validatePhone.spec.d.ts +2 -0
- package/dist/validations/__test__/validatePhone.spec.d.ts.map +1 -0
- package/dist/validations/__test__/validatePhone.spec.js +32 -0
- package/dist/validations/validateCpf.d.ts +24 -0
- package/dist/validations/validateCpf.d.ts.map +1 -0
- package/dist/validations/validateCpf.js +56 -0
- package/dist/validations/validateDate.d.ts +27 -6
- package/dist/validations/validateDate.d.ts.map +1 -1
- package/dist/validations/validateDate.js +32 -6
- package/dist/validations/validatePhone.d.ts +27 -1
- package/dist/validations/validatePhone.d.ts.map +1 -1
- package/dist/validations/validatePhone.js +27 -2
- package/package.json +4 -2
- package/src/formats/__test__/formatDate.spec.ts +88 -0
- package/src/formats/__test__/formatJsonObject.spec.ts +87 -0
- package/src/formats/__test__/formatJsonString.spec.ts +83 -0
- package/src/formats/__test__/formatToCep.spec.ts +37 -0
- package/src/formats/__test__/formatToCnpj.spec.ts +35 -0
- package/src/formats/__test__/formatToCpfCnpj.spec.ts +43 -0
- package/src/formats/__test__/formatToCurrency.spec.ts +50 -0
- package/src/formats/__test__/formatToEllipsis.spec.ts +44 -0
- package/src/formats/__test__/formatToHiddenDigits.spec.ts +58 -0
- package/src/formats/__test__/formatToPhone.spec.ts +58 -0
- package/src/formats/formatDate.ts +97 -0
- package/src/formats/formatJsonObject.ts +68 -26
- package/src/formats/formatJsonString.ts +40 -4
- package/src/formats/formatToCep.ts +35 -7
- package/src/formats/formatToCnpj.ts +39 -0
- package/src/formats/formatToCpf.ts +39 -0
- package/src/formats/formatToCpfCnpj.ts +31 -7
- package/src/formats/formatToCurrency.ts +53 -0
- package/src/formats/formatToEllipsis.ts +23 -3
- package/src/formats/formatToHiddenDigits.ts +75 -7
- package/src/formats/formatToPhone.ts +156 -6
- package/src/generators/__test__/generateColorByString.spec.ts +37 -0
- package/src/generators/__test__/generateId.spec.ts +44 -0
- package/src/generators/__test__/generateSlug.spec.ts +47 -0
- package/src/generators/generateColorByString.ts +18 -4
- package/src/generators/generateId.ts +36 -5
- package/src/generators/generateSlug.ts +17 -2
- package/src/index.ts +7 -15
- package/src/services/__test__/calculateCardInstallment.spec.ts +87 -0
- package/src/services/__test__/maskSensitiveData.spec.ts +102 -0
- package/src/services/__test__/removeCurrencySymbols.spec.ts +41 -0
- package/src/services/__test__/removeNonNumeric.spec.ts +33 -0
- package/src/services/__test__/truncateLargeFields.spec.ts +90 -0
- package/src/services/calculateCardInstallment.ts +57 -12
- package/src/services/maskSensitiveData.ts +29 -4
- package/src/services/removeCurrencySymbols.ts +25 -0
- package/src/services/removeNonNumeric.ts +18 -0
- package/src/services/truncateLargeFields.ts +40 -6
- package/src/validations/__test__/validateCpf.spec.ts +38 -0
- package/src/validations/__test__/validateDate.spec.ts +81 -0
- package/src/validations/__test__/validatePhone.spec.ts +39 -0
- package/src/validations/validateCpf.ts +64 -0
- package/src/validations/validateDate.ts +33 -11
- package/src/validations/validatePhone.ts +29 -2
- package/vitest.config.ts +5 -0
- package/dist/formats/formatBrazilianDateHour.d.ts +0 -3
- package/dist/formats/formatBrazilianDateHour.d.ts.map +0 -1
- package/dist/formats/formatBrazilianDateHour.js +0 -12
- package/dist/formats/formatBrazilianDateToDate.d.ts +0 -3
- package/dist/formats/formatBrazilianDateToDate.d.ts.map +0 -1
- package/dist/formats/formatBrazilianDateToDate.js +0 -9
- package/dist/formats/formatDateHour.d.ts +0 -3
- package/dist/formats/formatDateHour.d.ts.map +0 -1
- package/dist/formats/formatDateHour.js +0 -11
- package/dist/formats/formatToBRL.d.ts +0 -3
- package/dist/formats/formatToBRL.d.ts.map +0 -1
- package/dist/formats/formatToBRL.js +0 -8
- package/dist/formats/formatToCNPJ.d.ts +0 -3
- package/dist/formats/formatToCNPJ.d.ts.map +0 -1
- package/dist/formats/formatToCNPJ.js +0 -9
- package/dist/formats/formatToCPF.d.ts +0 -3
- package/dist/formats/formatToCPF.d.ts.map +0 -1
- package/dist/formats/formatToCPF.js +0 -9
- package/dist/parsers/parseToCharacters.d.ts +0 -17
- package/dist/parsers/parseToCharacters.d.ts.map +0 -1
- package/dist/parsers/parseToCharacters.js +0 -13
- package/dist/services/range.d.ts +0 -4
- package/dist/services/range.d.ts.map +0 -1
- package/dist/services/range.js +0 -9
- package/dist/validations/regex.d.ts.map +0 -1
- package/dist/validations/validateCPF.d.ts +0 -3
- package/dist/validations/validateCPF.d.ts.map +0 -1
- package/dist/validations/validateCPF.js +0 -36
- package/src/formats/formatBrazilianDateHour.ts +0 -17
- package/src/formats/formatBrazilianDateToDate.ts +0 -13
- package/src/formats/formatDateHour.ts +0 -15
- package/src/formats/formatToBRL.ts +0 -10
- package/src/formats/formatToCNPJ.ts +0 -10
- package/src/formats/formatToCPF.ts +0 -10
- package/src/parsers/parseToCharacters.ts +0 -34
- package/src/services/range.ts +0 -15
- package/src/validations/validateCPF.ts +0 -38
- /package/dist/{validations/regex.js → regex/index.js} +0 -0
- /package/src/{validations/regex.ts → regex/index.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatToCNPJ.d.ts","sourceRoot":"","sources":["../../src/formats/formatToCNPJ.ts"],"names":[],"mappings":"AAAA,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
function formatToCNPJ(value) {
|
|
2
|
-
const cleaned = value.replace(/\D/g, "");
|
|
3
|
-
const match = cleaned.match(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/);
|
|
4
|
-
if (match) {
|
|
5
|
-
return `${match[1]}.${match[2]}.${match[3]}/${match[4]}-${match[5]}`;
|
|
6
|
-
}
|
|
7
|
-
return value;
|
|
8
|
-
}
|
|
9
|
-
export { formatToCNPJ };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatToCPF.d.ts","sourceRoot":"","sources":["../../src/formats/formatToCPF.ts"],"names":[],"mappings":"AAAA,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO1C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
type DigitCharacterNode = {
|
|
2
|
-
kind: "digit";
|
|
3
|
-
digit: number;
|
|
4
|
-
character: string;
|
|
5
|
-
};
|
|
6
|
-
type OtherCharacterNode = {
|
|
7
|
-
kind: "other";
|
|
8
|
-
character: string;
|
|
9
|
-
};
|
|
10
|
-
type RootCharacterNode = {
|
|
11
|
-
kind: "root";
|
|
12
|
-
digits: number;
|
|
13
|
-
children: (DigitCharacterNode | OtherCharacterNode)[];
|
|
14
|
-
};
|
|
15
|
-
declare const parseToCharacters: (value: string) => RootCharacterNode;
|
|
16
|
-
export { parseToCharacters };
|
|
17
|
-
//# sourceMappingURL=parseToCharacters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseToCharacters.d.ts","sourceRoot":"","sources":["../../src/parsers/parseToCharacters.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,CAAC;CACvD,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,iBAY1C,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const DIGIT = /^\d$/;
|
|
2
|
-
const parseToCharacters = (value) => {
|
|
3
|
-
let digits = 0;
|
|
4
|
-
const children = value
|
|
5
|
-
.split("")
|
|
6
|
-
.map((character) => {
|
|
7
|
-
if (DIGIT.test(character))
|
|
8
|
-
return { character, kind: "digit", digit: ++digits };
|
|
9
|
-
return { character, kind: "other" };
|
|
10
|
-
});
|
|
11
|
-
return { digits, children, kind: "root" };
|
|
12
|
-
};
|
|
13
|
-
export { parseToCharacters };
|
package/dist/services/range.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/services/range.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,cAAc,GAClB,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,MAAM,KACZ,CAAC,MAAM,EAAE,MAAM,CAMjB,CAAC;AAEF,QAAA,MAAM,MAAM,GAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,MAAM,KAAG,OACjB,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/services/range.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const normalizeRange = (range, limit) => {
|
|
2
|
-
if (Array.isArray(range))
|
|
3
|
-
return range;
|
|
4
|
-
if (range >= 0)
|
|
5
|
-
return [0, range];
|
|
6
|
-
return [limit + 1 - Math.abs(range), limit];
|
|
7
|
-
};
|
|
8
|
-
const within = (range, value) => value >= range[0] && value <= range[1];
|
|
9
|
-
export { normalizeRange, within };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../src/validations/regex.ts"],"names":[],"mappings":"AA0BA,QAAA,MAAM,KAAK;;;;;;;;;;;;CAYV,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validateCPF.d.ts","sourceRoot":"","sources":["../../src/validations/validateCPF.ts"],"names":[],"mappings":"AA2BA,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,WAQlC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
function removeNonDigits(cpf) {
|
|
2
|
-
return cpf.replace(/\D/g, "");
|
|
3
|
-
}
|
|
4
|
-
function isInvalidLength(cpf) {
|
|
5
|
-
const CPF_LENGTH = 11;
|
|
6
|
-
return cpf.length !== CPF_LENGTH;
|
|
7
|
-
}
|
|
8
|
-
function hasAllDigitsEqual(cpf) {
|
|
9
|
-
const [firstCpfDigit] = cpf;
|
|
10
|
-
return [...cpf].every((digit) => digit === firstCpfDigit);
|
|
11
|
-
}
|
|
12
|
-
function calculateDigit(cpf, factor) {
|
|
13
|
-
let total = 0;
|
|
14
|
-
for (const digit of cpf) {
|
|
15
|
-
if (factor > 1)
|
|
16
|
-
total += parseInt(digit) * factor--;
|
|
17
|
-
}
|
|
18
|
-
const rest = total % 11;
|
|
19
|
-
return rest < 2 ? 0 : 11 - rest;
|
|
20
|
-
}
|
|
21
|
-
function extractDigit(cpf) {
|
|
22
|
-
return cpf.slice(9);
|
|
23
|
-
}
|
|
24
|
-
function validateCPF(rawCpf) {
|
|
25
|
-
if (!rawCpf)
|
|
26
|
-
return false;
|
|
27
|
-
const cpf = removeNonDigits(rawCpf);
|
|
28
|
-
if (isInvalidLength(cpf))
|
|
29
|
-
return false;
|
|
30
|
-
if (hasAllDigitsEqual(cpf))
|
|
31
|
-
return false;
|
|
32
|
-
const digit1 = calculateDigit(cpf, 10);
|
|
33
|
-
const digit2 = calculateDigit(cpf, 11);
|
|
34
|
-
return extractDigit(cpf) === `${digit1}${digit2}`;
|
|
35
|
-
}
|
|
36
|
-
export { validateCPF };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { regex } from "../validations/regex";
|
|
2
|
-
|
|
3
|
-
function formatBrazilianDateHour(date: string, hour: string) {
|
|
4
|
-
if (regex.HOUR.test(hour) === false) throw new Error("Invalid hour format");
|
|
5
|
-
|
|
6
|
-
const [day, month, year] = date.split("/").map(Number);
|
|
7
|
-
|
|
8
|
-
const dateHour = new Date(`${year}-${month}-${day}`);
|
|
9
|
-
const [hours, minutes] = hour.split(":").map(Number);
|
|
10
|
-
|
|
11
|
-
dateHour.setUTCHours(hours);
|
|
12
|
-
dateHour.setUTCMinutes(minutes);
|
|
13
|
-
|
|
14
|
-
return dateHour;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export { formatBrazilianDateHour };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { regex } from "../validations/regex";
|
|
2
|
-
|
|
3
|
-
function formatBrazilianDateToDate(brazilianData: string) {
|
|
4
|
-
if (regex.DATE.test(brazilianData) === false)
|
|
5
|
-
throw new Error("Invalid date format");
|
|
6
|
-
|
|
7
|
-
const [day, month, year] = brazilianData.split("/").map(Number);
|
|
8
|
-
const formattedDate = `${year}-${month}-${day}`;
|
|
9
|
-
|
|
10
|
-
return new Date(formattedDate);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export { formatBrazilianDateToDate };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { regex } from "../validations/regex";
|
|
2
|
-
|
|
3
|
-
function formatDateHour(date: string, hour: string) {
|
|
4
|
-
if (regex.HOUR.test(hour) === false) throw new Error("Invalid hour format");
|
|
5
|
-
|
|
6
|
-
const dateHour = new Date(date);
|
|
7
|
-
const [hours, minutes] = hour.split(":").map(Number);
|
|
8
|
-
|
|
9
|
-
dateHour.setUTCHours(hours);
|
|
10
|
-
dateHour.setUTCMinutes(minutes);
|
|
11
|
-
|
|
12
|
-
return dateHour;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { formatDateHour };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
function formatToBRL(value: number, showPrefix = true) {
|
|
2
|
-
const format = new Intl.NumberFormat("pt-BR", {
|
|
3
|
-
style: "currency",
|
|
4
|
-
currency: "BRL",
|
|
5
|
-
}).format(value);
|
|
6
|
-
|
|
7
|
-
return showPrefix ? format : format.replace("R$", "").trim();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { formatToBRL };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
function formatToCNPJ(value: string): string {
|
|
2
|
-
const cleaned = value.replace(/\D/g, "");
|
|
3
|
-
const match = cleaned.match(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/);
|
|
4
|
-
if (match) {
|
|
5
|
-
return `${match[1]}.${match[2]}.${match[3]}/${match[4]}-${match[5]}`;
|
|
6
|
-
}
|
|
7
|
-
return value;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { formatToCNPJ };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
function formatToCPF(value: string): string {
|
|
2
|
-
const cleaned = value.replace(/\D/g, "");
|
|
3
|
-
const match = cleaned.match(/^(\d{3})(\d{3})(\d{3})(\d{2})$/);
|
|
4
|
-
if (match) {
|
|
5
|
-
return `${match[1]}.${match[2]}.${match[3]}-${match[4]}`;
|
|
6
|
-
}
|
|
7
|
-
return value;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { formatToCPF };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const DIGIT = /^\d$/;
|
|
2
|
-
|
|
3
|
-
type DigitCharacterNode = {
|
|
4
|
-
kind: "digit";
|
|
5
|
-
digit: number;
|
|
6
|
-
character: string;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
type OtherCharacterNode = {
|
|
10
|
-
kind: "other";
|
|
11
|
-
character: string;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
type RootCharacterNode = {
|
|
15
|
-
kind: "root";
|
|
16
|
-
digits: number;
|
|
17
|
-
children: (DigitCharacterNode | OtherCharacterNode)[];
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const parseToCharacters = (value: string): RootCharacterNode => {
|
|
21
|
-
let digits = 0;
|
|
22
|
-
|
|
23
|
-
const children = value
|
|
24
|
-
.split("")
|
|
25
|
-
.map((character: string): DigitCharacterNode | OtherCharacterNode => {
|
|
26
|
-
if (DIGIT.test(character))
|
|
27
|
-
return { character, kind: "digit", digit: ++digits };
|
|
28
|
-
return { character, kind: "other" };
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
return { digits, children, kind: "root" };
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export { parseToCharacters };
|
package/src/services/range.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const normalizeRange = (
|
|
2
|
-
range: number | [number, number],
|
|
3
|
-
limit: number
|
|
4
|
-
): [number, number] => {
|
|
5
|
-
if (Array.isArray(range)) return range;
|
|
6
|
-
|
|
7
|
-
if (range >= 0) return [0, range];
|
|
8
|
-
|
|
9
|
-
return [limit + 1 - Math.abs(range), limit];
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const within = (range: [number, number], value: number): boolean =>
|
|
13
|
-
value >= range[0] && value <= range[1];
|
|
14
|
-
|
|
15
|
-
export { normalizeRange, within };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
function removeNonDigits(cpf: string) {
|
|
2
|
-
return cpf.replace(/\D/g, "");
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
function isInvalidLength(cpf: string) {
|
|
6
|
-
const CPF_LENGTH = 11;
|
|
7
|
-
return cpf.length !== CPF_LENGTH;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
function hasAllDigitsEqual(cpf: string) {
|
|
11
|
-
const [firstCpfDigit] = cpf;
|
|
12
|
-
return [...cpf].every((digit) => digit === firstCpfDigit);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function calculateDigit(cpf: string, factor: number) {
|
|
16
|
-
let total = 0;
|
|
17
|
-
for (const digit of cpf) {
|
|
18
|
-
if (factor > 1) total += parseInt(digit) * factor--;
|
|
19
|
-
}
|
|
20
|
-
const rest = total % 11;
|
|
21
|
-
return rest < 2 ? 0 : 11 - rest;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function extractDigit(cpf: string) {
|
|
25
|
-
return cpf.slice(9);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function validateCPF(rawCpf: string) {
|
|
29
|
-
if (!rawCpf) return false;
|
|
30
|
-
const cpf = removeNonDigits(rawCpf);
|
|
31
|
-
if (isInvalidLength(cpf)) return false;
|
|
32
|
-
if (hasAllDigitsEqual(cpf)) return false;
|
|
33
|
-
const digit1 = calculateDigit(cpf, 10);
|
|
34
|
-
const digit2 = calculateDigit(cpf, 11);
|
|
35
|
-
return extractDigit(cpf) === `${digit1}${digit2}`;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { validateCPF };
|
|
File without changes
|
|
File without changes
|