@arkyn/shared 1.5.0 → 1.5.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.
Files changed (179) hide show
  1. package/LICENSE.txt +24 -0
  2. package/README.md +113 -0
  3. package/dist/formats/formatDate.d.ts +43 -0
  4. package/dist/formats/formatDate.d.ts.map +1 -0
  5. package/dist/formats/formatDate.js +77 -0
  6. package/dist/formats/formatJsonObject.d.ts +31 -1
  7. package/dist/formats/formatJsonObject.d.ts.map +1 -1
  8. package/dist/formats/formatJsonObject.js +67 -26
  9. package/dist/formats/formatJsonString.d.ts +37 -1
  10. package/dist/formats/formatJsonString.d.ts.map +1 -1
  11. package/dist/formats/formatJsonString.js +38 -4
  12. package/dist/formats/formatToCep.d.ts +27 -1
  13. package/dist/formats/formatToCep.d.ts.map +1 -1
  14. package/dist/formats/formatToCep.js +31 -6
  15. package/dist/formats/formatToCnpj.d.ts +30 -0
  16. package/dist/formats/formatToCnpj.d.ts.map +1 -0
  17. package/dist/formats/formatToCnpj.js +35 -0
  18. package/dist/formats/formatToCpf.d.ts +30 -0
  19. package/dist/formats/formatToCpf.d.ts.map +1 -0
  20. package/dist/formats/formatToCpf.js +35 -0
  21. package/dist/formats/formatToCpfCnpj.d.ts +22 -1
  22. package/dist/formats/formatToCpfCnpj.d.ts.map +1 -1
  23. package/dist/formats/formatToCpfCnpj.js +27 -7
  24. package/dist/formats/formatToCurrency.d.ts +29 -0
  25. package/dist/formats/formatToCurrency.d.ts.map +1 -0
  26. package/dist/formats/formatToCurrency.js +41 -0
  27. package/dist/formats/formatToEllipsis.d.ts +14 -1
  28. package/dist/formats/formatToEllipsis.d.ts.map +1 -1
  29. package/dist/formats/formatToEllipsis.js +20 -3
  30. package/dist/formats/formatToHiddenDigits.d.ts +30 -2
  31. package/dist/formats/formatToHiddenDigits.d.ts.map +1 -1
  32. package/dist/formats/formatToHiddenDigits.js +49 -3
  33. package/dist/formats/formatToPhone.d.ts +32 -1
  34. package/dist/formats/formatToPhone.d.ts.map +1 -1
  35. package/dist/formats/formatToPhone.js +128 -6
  36. package/dist/generators/generateColorByString.d.ts +13 -1
  37. package/dist/generators/generateColorByString.d.ts.map +1 -1
  38. package/dist/generators/generateColorByString.js +15 -4
  39. package/dist/generators/generateId.d.ts +26 -4
  40. package/dist/generators/generateId.d.ts.map +1 -1
  41. package/dist/generators/generateId.js +11 -5
  42. package/dist/generators/generateSlug.d.ts +15 -1
  43. package/dist/generators/generateSlug.d.ts.map +1 -1
  44. package/dist/generators/generateSlug.js +16 -2
  45. package/dist/index.d.ts +9 -10
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +10 -12
  48. package/dist/services/calculateCardInstallment.d.ts +31 -5
  49. package/dist/services/calculateCardInstallment.d.ts.map +1 -1
  50. package/dist/services/calculateCardInstallment.js +52 -11
  51. package/dist/services/maskSensitiveData.d.ts +24 -1
  52. package/dist/services/maskSensitiveData.d.ts.map +1 -1
  53. package/dist/services/maskSensitiveData.js +24 -2
  54. package/dist/services/removeCurrencySymbols.d.ts +20 -0
  55. package/dist/services/removeCurrencySymbols.d.ts.map +1 -0
  56. package/dist/services/removeCurrencySymbols.js +23 -0
  57. package/dist/services/removeNonNumeric.d.ts +15 -0
  58. package/dist/services/removeNonNumeric.d.ts.map +1 -0
  59. package/dist/services/removeNonNumeric.js +16 -0
  60. package/dist/services/truncateLargeFields.d.ts +30 -1
  61. package/dist/services/truncateLargeFields.d.ts.map +1 -1
  62. package/dist/services/truncateLargeFields.js +34 -6
  63. package/dist/validations/validateCep.d.ts +24 -0
  64. package/dist/validations/validateCep.d.ts.map +1 -0
  65. package/dist/validations/validateCep.js +33 -0
  66. package/dist/validations/validateCnpj.d.ts +22 -0
  67. package/dist/validations/validateCnpj.d.ts.map +1 -0
  68. package/dist/validations/validateCnpj.js +52 -0
  69. package/dist/validations/validateCpf.d.ts +24 -0
  70. package/dist/validations/validateCpf.d.ts.map +1 -0
  71. package/dist/validations/validateCpf.js +54 -0
  72. package/dist/validations/validateDate.d.ts +27 -6
  73. package/dist/validations/validateDate.d.ts.map +1 -1
  74. package/dist/validations/validateDate.js +38 -12
  75. package/dist/validations/validatePassword.d.ts +21 -0
  76. package/dist/validations/validatePassword.d.ts.map +1 -0
  77. package/dist/validations/validatePassword.js +34 -0
  78. package/dist/validations/validatePhone.d.ts +27 -1
  79. package/dist/validations/validatePhone.d.ts.map +1 -1
  80. package/dist/validations/validatePhone.js +29 -4
  81. package/dist/validations/validateRg.d.ts +22 -0
  82. package/dist/validations/validateRg.d.ts.map +1 -0
  83. package/dist/validations/validateRg.js +31 -0
  84. package/package.json +7 -2
  85. package/src/formats/__test__/formatDate.spec.ts +88 -0
  86. package/src/formats/__test__/formatJsonObject.spec.ts +87 -0
  87. package/src/formats/__test__/formatJsonString.spec.ts +83 -0
  88. package/src/formats/__test__/formatToCep.spec.ts +37 -0
  89. package/src/formats/__test__/formatToCnpj.spec.ts +35 -0
  90. package/src/formats/__test__/formatToCpf.spec.ts +37 -0
  91. package/src/formats/__test__/formatToCpfCnpj.spec.ts +43 -0
  92. package/src/formats/__test__/formatToCurrency.spec.ts +50 -0
  93. package/src/formats/__test__/formatToEllipsis.spec.ts +44 -0
  94. package/src/formats/__test__/formatToHiddenDigits.spec.ts +58 -0
  95. package/src/formats/__test__/formatToPhone.spec.ts +58 -0
  96. package/src/formats/formatDate.ts +97 -0
  97. package/src/formats/formatJsonObject.ts +68 -26
  98. package/src/formats/formatJsonString.ts +40 -4
  99. package/src/formats/formatToCep.ts +35 -7
  100. package/src/formats/formatToCnpj.ts +39 -0
  101. package/src/formats/formatToCpf.ts +39 -0
  102. package/src/formats/formatToCpfCnpj.ts +31 -7
  103. package/src/formats/formatToCurrency.ts +53 -0
  104. package/src/formats/formatToEllipsis.ts +23 -3
  105. package/src/formats/formatToHiddenDigits.ts +75 -7
  106. package/src/formats/formatToPhone.ts +156 -6
  107. package/src/generators/__test__/generateColorByString.spec.ts +37 -0
  108. package/src/generators/__test__/generateId.spec.ts +44 -0
  109. package/src/generators/__test__/generateSlug.spec.ts +47 -0
  110. package/src/generators/generateColorByString.ts +18 -4
  111. package/src/generators/generateId.ts +36 -5
  112. package/src/generators/generateSlug.ts +17 -2
  113. package/src/index.ts +10 -13
  114. package/src/services/__test__/calculateCardInstallment.spec.ts +87 -0
  115. package/src/services/__test__/maskSensitiveData.spec.ts +102 -0
  116. package/src/services/__test__/removeCurrencySymbols.spec.ts +41 -0
  117. package/src/services/__test__/removeNonNumeric.spec.ts +33 -0
  118. package/src/services/__test__/truncateLargeFields.spec.ts +90 -0
  119. package/src/services/calculateCardInstallment.ts +57 -12
  120. package/src/services/maskSensitiveData.ts +29 -4
  121. package/src/services/removeCurrencySymbols.ts +25 -0
  122. package/src/services/removeNonNumeric.ts +18 -0
  123. package/src/services/truncateLargeFields.ts +40 -6
  124. package/src/validations/__test__/validateCep.spec.ts +40 -0
  125. package/src/validations/__test__/validateCnpj.spec.ts +42 -0
  126. package/src/validations/__test__/validateCpf.spec.ts +38 -0
  127. package/src/validations/__test__/validateDate.spec.ts +81 -0
  128. package/src/validations/__test__/validatePassword.spec.ts +43 -0
  129. package/src/validations/__test__/validatePhone.spec.ts +39 -0
  130. package/src/validations/__test__/validateRg.spec.ts +48 -0
  131. package/src/validations/validateCep.ts +40 -0
  132. package/src/validations/validateCnpj.ts +64 -0
  133. package/src/validations/validateCpf.ts +61 -0
  134. package/src/validations/validateDate.ts +39 -17
  135. package/src/validations/validatePassword.ts +41 -0
  136. package/src/validations/validatePhone.ts +31 -4
  137. package/src/validations/validateRg.ts +37 -0
  138. package/tsconfig.json +2 -2
  139. package/vitest.config.ts +5 -0
  140. package/dist/formats/formatBrazilianDateHour.d.ts +0 -3
  141. package/dist/formats/formatBrazilianDateHour.d.ts.map +0 -1
  142. package/dist/formats/formatBrazilianDateHour.js +0 -12
  143. package/dist/formats/formatBrazilianDateToDate.d.ts +0 -3
  144. package/dist/formats/formatBrazilianDateToDate.d.ts.map +0 -1
  145. package/dist/formats/formatBrazilianDateToDate.js +0 -9
  146. package/dist/formats/formatDateHour.d.ts +0 -3
  147. package/dist/formats/formatDateHour.d.ts.map +0 -1
  148. package/dist/formats/formatDateHour.js +0 -11
  149. package/dist/formats/formatToBRL.d.ts +0 -3
  150. package/dist/formats/formatToBRL.d.ts.map +0 -1
  151. package/dist/formats/formatToBRL.js +0 -8
  152. package/dist/formats/formatToCNPJ.d.ts +0 -3
  153. package/dist/formats/formatToCNPJ.d.ts.map +0 -1
  154. package/dist/formats/formatToCNPJ.js +0 -9
  155. package/dist/formats/formatToCPF.d.ts +0 -3
  156. package/dist/formats/formatToCPF.d.ts.map +0 -1
  157. package/dist/formats/formatToCPF.js +0 -9
  158. package/dist/parsers/parseToCharacters.d.ts +0 -17
  159. package/dist/parsers/parseToCharacters.d.ts.map +0 -1
  160. package/dist/parsers/parseToCharacters.js +0 -13
  161. package/dist/services/range.d.ts +0 -4
  162. package/dist/services/range.d.ts.map +0 -1
  163. package/dist/services/range.js +0 -9
  164. package/dist/validations/regex.d.ts +0 -15
  165. package/dist/validations/regex.d.ts.map +0 -1
  166. package/dist/validations/regex.js +0 -25
  167. package/dist/validations/validateCPF.d.ts +0 -3
  168. package/dist/validations/validateCPF.d.ts.map +0 -1
  169. package/dist/validations/validateCPF.js +0 -36
  170. package/src/formats/formatBrazilianDateHour.ts +0 -17
  171. package/src/formats/formatBrazilianDateToDate.ts +0 -13
  172. package/src/formats/formatDateHour.ts +0 -15
  173. package/src/formats/formatToBRL.ts +0 -10
  174. package/src/formats/formatToCNPJ.ts +0 -10
  175. package/src/formats/formatToCPF.ts +0 -10
  176. package/src/parsers/parseToCharacters.ts +0 -34
  177. package/src/services/range.ts +0 -15
  178. package/src/validations/regex.ts +0 -41
  179. package/src/validations/validateCPF.ts +0 -38
@@ -1,41 +0,0 @@
1
- const CEP = /^(\d{8}|\d{2}\.?\d{3}\-\d{3})$/;
2
-
3
- const CNPJ = /(^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$)/;
4
-
5
- const CPF = /(^\d{3}\.\d{3}\.\d{3}\-\d{2}$)/;
6
-
7
- const DATE = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/\d{4}$/;
8
-
9
- const DATEHOUR =
10
- /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/\d{4}\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])$/;
11
-
12
- const HOUR = /^(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])$/;
13
-
14
- const PASSWORD =
15
- /(?=^.{8,}$)((?=.*\w)(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[|!"$%&\/\(\)\?\^\'\\\+\-\*]))^.*/;
16
-
17
- const PHONE = /([0-9]{2})?(\s|-)?(9?[0-9]{4})-?([0-9]{4}$)/;
18
-
19
- const RG = /(^\d{1,2}).?(\d{3}).?(\d{3})-?(\d{1}|X|x$)/;
20
-
21
- const URL =
22
- /^(((https?|ftp):\/\/)?([\w\-\.])+(\.)([\w]){2,4}([\w\/+=%&_\.~?\-]*))*$/;
23
-
24
- const CPFCNPJ =
25
- /^(?:(\d{3}\.\d{3}\.\d{3}-\d{2})|(\d{11})|(\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2})|(\d{14}))$/;
26
-
27
- const regex = {
28
- URL,
29
- HOUR,
30
- RG,
31
- PHONE,
32
- PASSWORD,
33
- DATEHOUR,
34
- CPF,
35
- CNPJ,
36
- CEP,
37
- CPFCNPJ,
38
- DATE,
39
- };
40
-
41
- export { regex };
@@ -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 };