@77sol-lab/form-schemas 1.1.0 → 1.2.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.
Files changed (198) hide show
  1. package/chunk-22ZUS7K3.mjs +47 -0
  2. package/{src/domains/financing/formalization/schemas/BtgPFSchema.ts → chunk-2TGZGHS3.mjs} +8 -21
  3. package/chunk-36GQASLI.mjs +47 -0
  4. package/chunk-6BD6V7EB.mjs +47 -0
  5. package/{src/domains/financing/formalization/schemas/EosPFSchema.ts → chunk-7LHQ27CS.mjs} +8 -21
  6. package/chunk-A2TV7TRP.mjs +6 -0
  7. package/chunk-B7RDVG4R.mjs +57 -0
  8. package/{src/domains/financing/formalization/schemas/BvPFSchema.ts → chunk-CY2EXD6C.mjs} +8 -22
  9. package/chunk-EFLW2FHX.mjs +47 -0
  10. package/chunk-FISPUQLP.mjs +59 -0
  11. package/chunk-FVIOZ4Q5.mjs +66 -0
  12. package/chunk-G3T562PC.mjs +47 -0
  13. package/chunk-GCYI6OFG.mjs +47 -0
  14. package/chunk-HKY6D6J5.mjs +33 -0
  15. package/chunk-KXEEZLMR.mjs +33 -0
  16. package/chunk-MWPQSGDD.mjs +47 -0
  17. package/chunk-NDJRJOFE.mjs +202 -0
  18. package/chunk-NL4VK2TF.mjs +33 -0
  19. package/chunk-ORO6OVTB.mjs +33 -0
  20. package/chunk-RMWCQ6YU.mjs +33 -0
  21. package/chunk-SBOQWT53.mjs +33 -0
  22. package/chunk-TCPW5MUT.mjs +33 -0
  23. package/chunk-TE64VI3I.mjs +47 -0
  24. package/chunk-TEL6EWAJ.mjs +47 -0
  25. package/chunk-TTHE6D3Y.mjs +33 -0
  26. package/chunk-TUYULPDF.mjs +47 -0
  27. package/chunk-UHMVAJYK.mjs +33 -0
  28. package/chunk-W3CNJVMM.mjs +33 -0
  29. package/chunk-WHVCW22E.mjs +33 -0
  30. package/chunk-X4DDGGAB.mjs +233 -0
  31. package/chunk-XUMC3TQU.mjs +52 -0
  32. package/financing/formalization/index.d.cts +18755 -0
  33. package/financing/formalization/index.d.ts +18755 -0
  34. package/financing/formalization/index.js +1444 -0
  35. package/financing/formalization/index.mjs +31 -0
  36. package/financing/formalization/schemas/AlfaPFSchema.d.cts +439 -0
  37. package/financing/formalization/schemas/AlfaPFSchema.d.ts +439 -0
  38. package/financing/formalization/schemas/AlfaPFSchema.js +236 -0
  39. package/financing/formalization/schemas/AlfaPFSchema.mjs +3 -0
  40. package/financing/formalization/schemas/AlfaPJSchema.d.cts +679 -0
  41. package/financing/formalization/schemas/AlfaPJSchema.d.ts +679 -0
  42. package/financing/formalization/schemas/AlfaPJSchema.js +210 -0
  43. package/financing/formalization/schemas/AlfaPJSchema.mjs +2 -0
  44. package/financing/formalization/schemas/BancoDoBrasilPFSchema.d.cts +439 -0
  45. package/financing/formalization/schemas/BancoDoBrasilPFSchema.d.ts +439 -0
  46. package/financing/formalization/schemas/BancoDoBrasilPFSchema.js +236 -0
  47. package/financing/formalization/schemas/BancoDoBrasilPFSchema.mjs +3 -0
  48. package/financing/formalization/schemas/BancoDoBrasilPJSchema.d.cts +679 -0
  49. package/financing/formalization/schemas/BancoDoBrasilPJSchema.d.ts +679 -0
  50. package/financing/formalization/schemas/BancoDoBrasilPJSchema.js +210 -0
  51. package/financing/formalization/schemas/BancoDoBrasilPJSchema.mjs +2 -0
  52. package/financing/formalization/schemas/BtgPFSchema.d.cts +439 -0
  53. package/financing/formalization/schemas/BtgPFSchema.d.ts +439 -0
  54. package/financing/formalization/schemas/BtgPFSchema.js +236 -0
  55. package/financing/formalization/schemas/BtgPFSchema.mjs +3 -0
  56. package/financing/formalization/schemas/BtgPJSchema.d.cts +811 -0
  57. package/financing/formalization/schemas/BtgPJSchema.d.ts +811 -0
  58. package/financing/formalization/schemas/BtgPJSchema.js +222 -0
  59. package/financing/formalization/schemas/BtgPJSchema.mjs +3 -0
  60. package/financing/formalization/schemas/BvPFSchema.d.cts +535 -0
  61. package/financing/formalization/schemas/BvPFSchema.d.ts +535 -0
  62. package/financing/formalization/schemas/BvPFSchema.js +248 -0
  63. package/financing/formalization/schemas/BvPFSchema.mjs +3 -0
  64. package/financing/formalization/schemas/BvPJSchema.d.cts +895 -0
  65. package/financing/formalization/schemas/BvPJSchema.d.ts +895 -0
  66. package/financing/formalization/schemas/BvPJSchema.js +229 -0
  67. package/financing/formalization/schemas/BvPJSchema.mjs +3 -0
  68. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.d.cts +439 -0
  69. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.d.ts +439 -0
  70. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.js +236 -0
  71. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.mjs +3 -0
  72. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.d.cts +679 -0
  73. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.d.ts +679 -0
  74. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.js +210 -0
  75. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.mjs +2 -0
  76. package/financing/formalization/schemas/CashMePFSchema.d.cts +439 -0
  77. package/financing/formalization/schemas/CashMePFSchema.d.ts +439 -0
  78. package/financing/formalization/schemas/CashMePFSchema.js +236 -0
  79. package/financing/formalization/schemas/CashMePFSchema.mjs +3 -0
  80. package/financing/formalization/schemas/CashMePJSchema.d.cts +679 -0
  81. package/financing/formalization/schemas/CashMePJSchema.d.ts +679 -0
  82. package/financing/formalization/schemas/CashMePJSchema.js +210 -0
  83. package/financing/formalization/schemas/CashMePJSchema.mjs +2 -0
  84. package/financing/formalization/schemas/Credito77PFSchema.d.cts +439 -0
  85. package/financing/formalization/schemas/Credito77PFSchema.d.ts +439 -0
  86. package/financing/formalization/schemas/Credito77PFSchema.js +236 -0
  87. package/financing/formalization/schemas/Credito77PFSchema.mjs +3 -0
  88. package/financing/formalization/schemas/Credito77PJSchema.d.cts +679 -0
  89. package/financing/formalization/schemas/Credito77PJSchema.d.ts +679 -0
  90. package/financing/formalization/schemas/Credito77PJSchema.js +210 -0
  91. package/financing/formalization/schemas/Credito77PJSchema.mjs +2 -0
  92. package/financing/formalization/schemas/EosPFSchema.d.cts +439 -0
  93. package/financing/formalization/schemas/EosPFSchema.d.ts +439 -0
  94. package/financing/formalization/schemas/EosPFSchema.js +236 -0
  95. package/financing/formalization/schemas/EosPFSchema.mjs +3 -0
  96. package/financing/formalization/schemas/EosPJSchema.d.cts +679 -0
  97. package/financing/formalization/schemas/EosPJSchema.d.ts +679 -0
  98. package/financing/formalization/schemas/EosPJSchema.js +210 -0
  99. package/financing/formalization/schemas/EosPJSchema.mjs +2 -0
  100. package/financing/formalization/schemas/HdtEnergyPFSchema.d.cts +439 -0
  101. package/financing/formalization/schemas/HdtEnergyPFSchema.d.ts +439 -0
  102. package/financing/formalization/schemas/HdtEnergyPFSchema.js +236 -0
  103. package/financing/formalization/schemas/HdtEnergyPFSchema.mjs +3 -0
  104. package/financing/formalization/schemas/HdtEnergyPJSchema.d.cts +679 -0
  105. package/financing/formalization/schemas/HdtEnergyPJSchema.d.ts +679 -0
  106. package/financing/formalization/schemas/HdtEnergyPJSchema.js +210 -0
  107. package/financing/formalization/schemas/HdtEnergyPJSchema.mjs +2 -0
  108. package/financing/formalization/schemas/LosangoPFSchema.d.cts +439 -0
  109. package/financing/formalization/schemas/LosangoPFSchema.d.ts +439 -0
  110. package/financing/formalization/schemas/LosangoPFSchema.js +236 -0
  111. package/financing/formalization/schemas/LosangoPFSchema.mjs +3 -0
  112. package/financing/formalization/schemas/LosangoPJSchema.d.cts +679 -0
  113. package/financing/formalization/schemas/LosangoPJSchema.d.ts +679 -0
  114. package/financing/formalization/schemas/LosangoPJSchema.js +210 -0
  115. package/financing/formalization/schemas/LosangoPJSchema.mjs +2 -0
  116. package/financing/formalization/schemas/SafraPFSchema.d.cts +439 -0
  117. package/financing/formalization/schemas/SafraPFSchema.d.ts +439 -0
  118. package/financing/formalization/schemas/SafraPFSchema.js +236 -0
  119. package/financing/formalization/schemas/SafraPFSchema.mjs +3 -0
  120. package/financing/formalization/schemas/SafraPJSchema.d.cts +679 -0
  121. package/financing/formalization/schemas/SafraPJSchema.d.ts +679 -0
  122. package/financing/formalization/schemas/SafraPJSchema.js +210 -0
  123. package/financing/formalization/schemas/SafraPJSchema.mjs +2 -0
  124. package/financing/formalization/schemas/SantanderPFSchema.d.cts +439 -0
  125. package/financing/formalization/schemas/SantanderPFSchema.d.ts +439 -0
  126. package/financing/formalization/schemas/SantanderPFSchema.js +236 -0
  127. package/financing/formalization/schemas/SantanderPFSchema.mjs +3 -0
  128. package/financing/formalization/schemas/SantanderPJSchema.d.cts +679 -0
  129. package/financing/formalization/schemas/SantanderPJSchema.d.ts +679 -0
  130. package/financing/formalization/schemas/SantanderPJSchema.js +210 -0
  131. package/financing/formalization/schemas/SantanderPJSchema.mjs +2 -0
  132. package/financing/formalization/schemas/SolAgoraPFSchema.d.cts +439 -0
  133. package/financing/formalization/schemas/SolAgoraPFSchema.d.ts +439 -0
  134. package/financing/formalization/schemas/SolAgoraPFSchema.js +236 -0
  135. package/financing/formalization/schemas/SolAgoraPFSchema.mjs +3 -0
  136. package/financing/formalization/schemas/SolAgoraPJSchema.d.cts +787 -0
  137. package/financing/formalization/schemas/SolAgoraPJSchema.d.ts +787 -0
  138. package/financing/formalization/schemas/SolAgoraPJSchema.js +220 -0
  139. package/financing/formalization/schemas/SolAgoraPJSchema.mjs +3 -0
  140. package/financing/formalization/schemas/SolfacilPFSchema.d.cts +439 -0
  141. package/financing/formalization/schemas/SolfacilPFSchema.d.ts +439 -0
  142. package/financing/formalization/schemas/SolfacilPFSchema.js +236 -0
  143. package/financing/formalization/schemas/SolfacilPFSchema.mjs +3 -0
  144. package/financing/formalization/schemas/SolfacilPJSchema.d.cts +739 -0
  145. package/financing/formalization/schemas/SolfacilPJSchema.d.ts +739 -0
  146. package/financing/formalization/schemas/SolfacilPJSchema.js +215 -0
  147. package/financing/formalization/schemas/SolfacilPJSchema.mjs +2 -0
  148. package/index.d.cts +2 -0
  149. package/index.d.ts +2 -0
  150. package/index.js +1444 -0
  151. package/index.mjs +31 -0
  152. package/package.json +21 -43
  153. package/README.md +0 -182
  154. package/src/domains/financing/enums/banks.ts +0 -22
  155. package/src/domains/financing/enums/index.ts +0 -2
  156. package/src/domains/financing/enums/occupation.ts +0 -2
  157. package/src/domains/financing/formalization/extras.ts +0 -21
  158. package/src/domains/financing/formalization/index.ts +0 -18
  159. package/src/domains/financing/formalization/refinements.ts +0 -70
  160. package/src/domains/financing/formalization/registry.ts +0 -153
  161. package/src/domains/financing/formalization/schemas/AlfaPFSchema.ts +0 -46
  162. package/src/domains/financing/formalization/schemas/AlfaPJSchema.ts +0 -65
  163. package/src/domains/financing/formalization/schemas/BancoDoBrasilPFSchema.ts +0 -46
  164. package/src/domains/financing/formalization/schemas/BancoDoBrasilPJSchema.ts +0 -65
  165. package/src/domains/financing/formalization/schemas/BtgPJSchema.ts +0 -77
  166. package/src/domains/financing/formalization/schemas/BvPJSchema.ts +0 -84
  167. package/src/domains/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.ts +0 -48
  168. package/src/domains/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.ts +0 -67
  169. package/src/domains/financing/formalization/schemas/CashMePFSchema.ts +0 -46
  170. package/src/domains/financing/formalization/schemas/CashMePJSchema.ts +0 -65
  171. package/src/domains/financing/formalization/schemas/Credito77PFSchema.ts +0 -46
  172. package/src/domains/financing/formalization/schemas/Credito77PJSchema.ts +0 -65
  173. package/src/domains/financing/formalization/schemas/EosPJSchema.ts +0 -65
  174. package/src/domains/financing/formalization/schemas/HdtEnergyPFSchema.ts +0 -46
  175. package/src/domains/financing/formalization/schemas/HdtEnergyPJSchema.ts +0 -65
  176. package/src/domains/financing/formalization/schemas/LosangoPFSchema.ts +0 -46
  177. package/src/domains/financing/formalization/schemas/LosangoPJSchema.ts +0 -65
  178. package/src/domains/financing/formalization/schemas/SafraPFSchema.ts +0 -46
  179. package/src/domains/financing/formalization/schemas/SafraPJSchema.ts +0 -65
  180. package/src/domains/financing/formalization/schemas/SantanderPFSchema.ts +0 -46
  181. package/src/domains/financing/formalization/schemas/SantanderPJSchema.ts +0 -65
  182. package/src/domains/financing/formalization/schemas/SolAgoraPFSchema.ts +0 -46
  183. package/src/domains/financing/formalization/schemas/SolAgoraPJSchema.ts +0 -75
  184. package/src/domains/financing/formalization/schemas/SolfacilPFSchema.ts +0 -46
  185. package/src/domains/financing/formalization/schemas/SolfacilPJSchema.ts +0 -70
  186. package/src/domains/financing/formalization/uiMeta.ts +0 -122
  187. package/src/domains/financing/index.ts +0 -1
  188. package/src/index.ts +0 -1
  189. package/src/shared/enums/document-type.ts +0 -4
  190. package/src/shared/enums/index.ts +0 -3
  191. package/src/shared/enums/nationality.ts +0 -2
  192. package/src/shared/enums/sex.ts +0 -4
  193. package/src/shared/fields/index.ts +0 -1
  194. package/src/shared/fields/primitives.ts +0 -32
  195. package/src/shared/regex/index.ts +0 -75
  196. package/src/shared/regex/patterns.ts +0 -15
  197. package/src/shared/regex/validators.spec.ts +0 -162
  198. package/src/shared/regex/validators.ts +0 -96
@@ -0,0 +1,47 @@
1
+ import { formalizationExtras, SexEnum, emailSchema, phoneBRSchema, birthDateSchema, cpfSchema, cepSchema, textField, currencySchema, cnpjSchema, issueDateSchema, applyPjRefinements } from './chunk-NDJRJOFE.mjs';
2
+ import { z } from 'zod';
3
+
4
+ var santanderPjObject = z.object({
5
+ ...formalizationExtras,
6
+ financing_company: z.object({
7
+ corporate_name: textField(),
8
+ cep: cepSchema,
9
+ address: textField(),
10
+ foundation_date: issueDateSchema,
11
+ number: textField(),
12
+ cnpj: cnpjSchema,
13
+ email: emailSchema,
14
+ complement: textField(15).optional(),
15
+ phone: phoneBRSchema,
16
+ district: textField(),
17
+ legal_nature: textField(),
18
+ city: textField(),
19
+ economic_activity_group: textField(),
20
+ state: textField(2),
21
+ economic_activity: textField(),
22
+ monthly_income: currencySchema
23
+ }).strict(),
24
+ financing_company_guarantor: z.array(
25
+ z.object({
26
+ name: textField(),
27
+ cep: cepSchema,
28
+ cpf: cpfSchema,
29
+ address: textField(),
30
+ birth_date: birthDateSchema,
31
+ number: textField(),
32
+ complement: textField(15).optional(),
33
+ cellphone: phoneBRSchema,
34
+ email: emailSchema,
35
+ district: textField(),
36
+ sex: SexEnum,
37
+ city: textField(),
38
+ state: textField(2),
39
+ office: textField(),
40
+ mother_name: textField(),
41
+ nationality: textField()
42
+ }).strict()
43
+ )
44
+ });
45
+ var santanderPjSchema = santanderPjObject.strict().superRefine(applyPjRefinements);
46
+
47
+ export { santanderPjObject, santanderPjSchema };
@@ -0,0 +1,202 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/shared/enums/nationality.ts
4
+ var NATIONALITY_BRAZIL = "brasil";
5
+ var SexEnum = z.enum(["masculino", "feminino"]);
6
+
7
+ // src/domains/financing/enums/occupation.ts
8
+ var OCCUPATIONS_REQUIRING_CNPJ = ["empresario", "empresario_ou_proprietario"];
9
+
10
+ // src/shared/regex/patterns.ts
11
+ var PATTERNS = {
12
+ cpf: /^\d{11}$/,
13
+ cnpj: /^\d{14}$/,
14
+ cep: /^\d{8}$/,
15
+ phoneBR: /^\d{11}$/,
16
+ email: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
17
+ dateDMY: /^\d{2}\/\d{2}\/\d{4}$/};
18
+
19
+ // src/shared/regex/validators.ts
20
+ function onlyDigits(value) {
21
+ return value.replace(/\D/g, "");
22
+ }
23
+ function isValidCPF(value) {
24
+ const cpf = onlyDigits(value);
25
+ if (cpf.length !== 11) {
26
+ return false;
27
+ }
28
+ if (/^(\d)\1{10}$/.test(cpf)) {
29
+ return false;
30
+ }
31
+ const calcCheck = (slice) => {
32
+ let sum = 0;
33
+ for (let i = 0; i < slice; i++) {
34
+ sum += Number(cpf[i]) * (slice + 1 - i);
35
+ }
36
+ const rest = sum * 10 % 11;
37
+ return rest === 10 ? 0 : rest;
38
+ };
39
+ return calcCheck(9) === Number(cpf[9]) && calcCheck(10) === Number(cpf[10]);
40
+ }
41
+ function isValidCNPJ(value) {
42
+ const cnpj = onlyDigits(value);
43
+ if (cnpj.length !== 14) {
44
+ return false;
45
+ }
46
+ if (/^(\d)\1{13}$/.test(cnpj)) {
47
+ return false;
48
+ }
49
+ const calcCheck = (length) => {
50
+ const weights = length === 12 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
51
+ let sum = 0;
52
+ for (const [i, weight] of weights.entries()) {
53
+ sum += Number(cnpj[i]) * weight;
54
+ }
55
+ const rest = sum % 11;
56
+ return rest < 2 ? 0 : 11 - rest;
57
+ };
58
+ return calcCheck(12) === Number(cnpj[12]) && calcCheck(13) === Number(cnpj[13]);
59
+ }
60
+ function parseDMY(value) {
61
+ const match = /^(\d{2})\/(\d{2})\/(\d{4})$/.exec(value);
62
+ if (!match) {
63
+ return null;
64
+ }
65
+ const [, dd, mm, yyyy] = match;
66
+ const day = Number(dd);
67
+ const month = Number(mm);
68
+ const year = Number(yyyy);
69
+ const date = new Date(year, month - 1, day);
70
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
71
+ return null;
72
+ }
73
+ return date;
74
+ }
75
+ function ageInYears(birth, reference = /* @__PURE__ */ new Date()) {
76
+ let age = reference.getFullYear() - birth.getFullYear();
77
+ const monthDiff = reference.getMonth() - birth.getMonth();
78
+ if (monthDiff < 0 || monthDiff === 0 && reference.getDate() < birth.getDate()) {
79
+ age--;
80
+ }
81
+ return age;
82
+ }
83
+ function isAdultDMY(value, reference) {
84
+ const date = parseDMY(value);
85
+ if (!date) {
86
+ return false;
87
+ }
88
+ return ageInYears(date, reference) >= 18;
89
+ }
90
+ function isNotFutureDMY(value, reference = /* @__PURE__ */ new Date()) {
91
+ const date = parseDMY(value);
92
+ if (!date) {
93
+ return false;
94
+ }
95
+ return date.getTime() <= reference.getTime();
96
+ }
97
+ function yearsSinceDMY(value, reference = /* @__PURE__ */ new Date()) {
98
+ const date = parseDMY(value);
99
+ if (!date) {
100
+ return null;
101
+ }
102
+ return ageInYears(date, reference);
103
+ }
104
+
105
+ // src/shared/regex/index.ts
106
+ var cpfSchema = z.string().transform(onlyDigits).refine((v) => PATTERNS.cpf.test(v), "CPF deve ter 11 d\xEDgitos").refine(isValidCPF, "CPF inv\xE1lido");
107
+ var cnpjSchema = z.string().transform(onlyDigits).refine((v) => PATTERNS.cnpj.test(v), "CNPJ deve ter 14 d\xEDgitos").refine(isValidCNPJ, "CNPJ inv\xE1lido");
108
+ var cpfCnpjSchema = z.string().transform(onlyDigits).refine(
109
+ (v) => PATTERNS.cpf.test(v) || PATTERNS.cnpj.test(v),
110
+ "Documento deve ter 11 (CPF) ou 14 (CNPJ) d\xEDgitos"
111
+ ).refine((v) => v.length === 11 ? isValidCPF(v) : isValidCNPJ(v), "Documento inv\xE1lido");
112
+ var cepSchema = z.string().transform(onlyDigits).refine((v) => PATTERNS.cep.test(v), "CEP deve ter 8 d\xEDgitos");
113
+ var phoneBRSchema = z.string().transform(onlyDigits).refine((v) => PATTERNS.phoneBR.test(v), "Telefone deve ter 11 d\xEDgitos com DDD");
114
+ var emailSchema = z.string().trim().refine((v) => PATTERNS.email.test(v), "E-mail inv\xE1lido");
115
+ var dateDMYSchema = z.string().refine((v) => PATTERNS.dateDMY.test(v), "Data deve estar no formato DD/MM/AAAA").refine((v) => parseDMY(v) !== null, "Data inexistente no calend\xE1rio");
116
+ var birthDateSchema = dateDMYSchema.refine(
117
+ (v) => isAdultDMY(v),
118
+ "\xC9 necess\xE1rio ser maior de idade (18+)"
119
+ );
120
+ var issueDateSchema = dateDMYSchema.refine(
121
+ (v) => isNotFutureDMY(v),
122
+ "Data de emiss\xE3o n\xE3o pode ser futura"
123
+ );
124
+ var currencySchema = z.number({ invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
125
+ z.number().int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
126
+ var RG_MAX_EMISSION_YEARS = 10;
127
+ function applyCommonRefinements(data, ctx) {
128
+ if ("account_third_party" in data && typeof data.account_third_party === "string" && data.account_third_party !== "nao_se_aplica" && !data.bond_document_upload) {
129
+ ctx.addIssue({
130
+ code: z.ZodIssueCode.custom,
131
+ path: ["bond_document_upload"],
132
+ message: "Documento de v\xEDnculo \xE9 obrigat\xF3rio quando a conta est\xE1 em nome de terceiro"
133
+ });
134
+ }
135
+ }
136
+ function applyPfRefinements(data, ctx) {
137
+ applyCommonRefinements(data, ctx);
138
+ if ("nature_of_occupation" in data && typeof data.nature_of_occupation === "string" && OCCUPATIONS_REQUIRING_CNPJ.includes(data.nature_of_occupation) && !data.cnpj_proprietary) {
139
+ ctx.addIssue({
140
+ code: z.ZodIssueCode.custom,
141
+ path: ["cnpj_proprietary"],
142
+ message: "CNPJ do propriet\xE1rio \xE9 obrigat\xF3rio para esta ocupa\xE7\xE3o"
143
+ });
144
+ }
145
+ if (data.type_doc === "rg" && typeof data.doc_issue_date === "string") {
146
+ const years = yearsSinceDMY(data.doc_issue_date);
147
+ if (years !== null && years > RG_MAX_EMISSION_YEARS) {
148
+ ctx.addIssue({
149
+ code: z.ZodIssueCode.custom,
150
+ path: ["doc_issue_date"],
151
+ message: `RG deve ter no m\xE1ximo ${RG_MAX_EMISSION_YEARS} anos de emiss\xE3o`
152
+ });
153
+ }
154
+ }
155
+ if (typeof data.nationality === "string" && data.nationality.toLowerCase() !== NATIONALITY_BRAZIL && "type_doc" in data && data.type_doc !== "rne") {
156
+ ctx.addIssue({
157
+ code: z.ZodIssueCode.custom,
158
+ path: ["type_doc"],
159
+ message: "Para nacionalidade estrangeira, o documento deve ser Registro de Estrangeiro (RNE)"
160
+ });
161
+ }
162
+ }
163
+ function applyPjRefinements(data, ctx) {
164
+ applyCommonRefinements(data, ctx);
165
+ }
166
+ function textField(maxLength) {
167
+ const base = z.string().trim().min(1, "Campo obrigat\xF3rio");
168
+ return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
169
+ }
170
+ var numberField = z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
171
+ var integerField = z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).int("Deve ser um n\xFAmero inteiro").nonnegative("Valor n\xE3o pode ser negativo");
172
+ function selectField(values) {
173
+ return z.enum(values);
174
+ }
175
+ var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
176
+ var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
177
+ var fileUploadField = z.object({
178
+ url: z.string().url().optional(),
179
+ mime: z.enum(ACCEPTED_UPLOAD_MIME, {
180
+ errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
181
+ }),
182
+ sizeBytes: z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
183
+ });
184
+ var THIRD_PARTY_OPTIONS = [
185
+ "nao_se_aplica",
186
+ "conjuge",
187
+ "pai_mae",
188
+ "filho_filha",
189
+ "parente",
190
+ "outro"
191
+ ];
192
+ var formalizationExtras = {
193
+ energy_bill_upload: fileUploadField,
194
+ account_third_party: selectField(THIRD_PARTY_OPTIONS),
195
+ bond_document_upload: fileUploadField.optional(),
196
+ document_front_upload: fileUploadField,
197
+ document_back_upload: fileUploadField,
198
+ // RN-014: seguro RD/RE começa ON.
199
+ rd_re_insurance_toggle: z.boolean().default(true)
200
+ };
201
+
202
+ export { NATIONALITY_BRAZIL, OCCUPATIONS_REQUIRING_CNPJ, SexEnum, applyPfRefinements, applyPjRefinements, birthDateSchema, cepSchema, cnpjSchema, cpfCnpjSchema, cpfSchema, currencySchema, dateDMYSchema, emailSchema, formalizationExtras, integerField, issueDateSchema, numberField, phoneBRSchema, textField };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var cashMePfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var cashMePfSchema = cashMePfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { cashMePfObject, cashMePfSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var eosPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var eosPfSchema = eosPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { eosPfObject, eosPfSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var solAgoraPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var solAgoraPfSchema = solAgoraPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { solAgoraPfObject, solAgoraPfSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var losangoPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var losangoPfSchema = losangoPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { losangoPfObject, losangoPfSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var bancoDoBrasilPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var bancoDoBrasilPfSchema = bancoDoBrasilPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { bancoDoBrasilPfObject, bancoDoBrasilPfSchema };
@@ -0,0 +1,47 @@
1
+ import { formalizationExtras, SexEnum, emailSchema, phoneBRSchema, birthDateSchema, cpfSchema, cepSchema, textField, currencySchema, cnpjSchema, issueDateSchema, applyPjRefinements } from './chunk-NDJRJOFE.mjs';
2
+ import { z } from 'zod';
3
+
4
+ var losangoPjObject = z.object({
5
+ ...formalizationExtras,
6
+ financing_company: z.object({
7
+ corporate_name: textField(),
8
+ cep: cepSchema,
9
+ address: textField(),
10
+ foundation_date: issueDateSchema,
11
+ number: textField(),
12
+ cnpj: cnpjSchema,
13
+ email: emailSchema,
14
+ complement: textField(15).optional(),
15
+ phone: phoneBRSchema,
16
+ district: textField(),
17
+ legal_nature: textField(),
18
+ city: textField(),
19
+ economic_activity_group: textField(),
20
+ state: textField(2),
21
+ economic_activity: textField(),
22
+ monthly_income: currencySchema
23
+ }).strict(),
24
+ financing_company_guarantor: z.array(
25
+ z.object({
26
+ name: textField(),
27
+ cep: cepSchema,
28
+ cpf: cpfSchema,
29
+ address: textField(),
30
+ birth_date: birthDateSchema,
31
+ number: textField(),
32
+ complement: textField(15).optional(),
33
+ cellphone: phoneBRSchema,
34
+ email: emailSchema,
35
+ district: textField(),
36
+ sex: SexEnum,
37
+ city: textField(),
38
+ state: textField(2),
39
+ office: textField(),
40
+ mother_name: textField(),
41
+ nationality: textField()
42
+ }).strict()
43
+ )
44
+ });
45
+ var losangoPjSchema = losangoPjObject.strict().superRefine(applyPjRefinements);
46
+
47
+ export { losangoPjObject, losangoPjSchema };
@@ -0,0 +1,47 @@
1
+ import { formalizationExtras, SexEnum, emailSchema, phoneBRSchema, birthDateSchema, cpfSchema, cepSchema, textField, currencySchema, cnpjSchema, issueDateSchema, applyPjRefinements } from './chunk-NDJRJOFE.mjs';
2
+ import { z } from 'zod';
3
+
4
+ var safraPjObject = z.object({
5
+ ...formalizationExtras,
6
+ financing_company: z.object({
7
+ corporate_name: textField(),
8
+ cep: cepSchema,
9
+ address: textField(),
10
+ foundation_date: issueDateSchema,
11
+ number: textField(),
12
+ cnpj: cnpjSchema,
13
+ email: emailSchema,
14
+ complement: textField(15).optional(),
15
+ phone: phoneBRSchema,
16
+ district: textField(),
17
+ legal_nature: textField(),
18
+ city: textField(),
19
+ economic_activity_group: textField(),
20
+ state: textField(2),
21
+ economic_activity: textField(),
22
+ monthly_income: currencySchema
23
+ }).strict(),
24
+ financing_company_guarantor: z.array(
25
+ z.object({
26
+ name: textField(),
27
+ cep: cepSchema,
28
+ cpf: cpfSchema,
29
+ address: textField(),
30
+ birth_date: birthDateSchema,
31
+ number: textField(),
32
+ complement: textField(15).optional(),
33
+ cellphone: phoneBRSchema,
34
+ email: emailSchema,
35
+ district: textField(),
36
+ sex: SexEnum,
37
+ city: textField(),
38
+ state: textField(2),
39
+ office: textField(),
40
+ mother_name: textField(),
41
+ nationality: textField()
42
+ }).strict()
43
+ )
44
+ });
45
+ var safraPjSchema = safraPjObject.strict().superRefine(applyPjRefinements);
46
+
47
+ export { safraPjObject, safraPjSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var santanderPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var santanderPfSchema = santanderPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { santanderPfObject, santanderPfSchema };
@@ -0,0 +1,47 @@
1
+ import { formalizationExtras, SexEnum, emailSchema, phoneBRSchema, birthDateSchema, cpfSchema, cepSchema, textField, currencySchema, cnpjSchema, issueDateSchema, applyPjRefinements } from './chunk-NDJRJOFE.mjs';
2
+ import { z } from 'zod';
3
+
4
+ var bancoDoBrasilPjObject = z.object({
5
+ ...formalizationExtras,
6
+ financing_company: z.object({
7
+ corporate_name: textField(),
8
+ cep: cepSchema,
9
+ address: textField(),
10
+ foundation_date: issueDateSchema,
11
+ number: textField(),
12
+ cnpj: cnpjSchema,
13
+ email: emailSchema,
14
+ complement: textField(15).optional(),
15
+ phone: phoneBRSchema,
16
+ district: textField(),
17
+ legal_nature: textField(),
18
+ city: textField(),
19
+ economic_activity_group: textField(),
20
+ state: textField(2),
21
+ economic_activity: textField(),
22
+ monthly_income: currencySchema
23
+ }).strict(),
24
+ financing_company_guarantor: z.array(
25
+ z.object({
26
+ name: textField(),
27
+ cep: cepSchema,
28
+ cpf: cpfSchema,
29
+ address: textField(),
30
+ birth_date: birthDateSchema,
31
+ number: textField(),
32
+ complement: textField(15).optional(),
33
+ cellphone: phoneBRSchema,
34
+ email: emailSchema,
35
+ district: textField(),
36
+ sex: SexEnum,
37
+ city: textField(),
38
+ state: textField(2),
39
+ office: textField(),
40
+ mother_name: textField(),
41
+ nationality: textField()
42
+ }).strict()
43
+ )
44
+ });
45
+ var bancoDoBrasilPjSchema = bancoDoBrasilPjObject.strict().superRefine(applyPjRefinements);
46
+
47
+ export { bancoDoBrasilPjObject, bancoDoBrasilPjSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var safraPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var safraPfSchema = safraPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { safraPfObject, safraPfSchema };
@@ -0,0 +1,33 @@
1
+ import { DocumentTypeEnum } from './chunk-A2TV7TRP.mjs';
2
+ import { issueDateSchema, currencySchema, emailSchema, phoneBRSchema, SexEnum, birthDateSchema, cpfSchema, cepSchema, formalizationExtras, textField, cpfCnpjSchema, applyPfRefinements } from './chunk-NDJRJOFE.mjs';
3
+ import { z } from 'zod';
4
+
5
+ var caixaEconomicaFederalPfObject = z.object({
6
+ ...formalizationExtras,
7
+ name: textField(),
8
+ cep: cepSchema,
9
+ cpf: cpfSchema,
10
+ address: textField(),
11
+ birth_date: birthDateSchema,
12
+ number: textField(),
13
+ sex: SexEnum,
14
+ complement: textField(15).optional(),
15
+ mother_name: textField(),
16
+ district: textField(),
17
+ energy_account_in_requester_name: textField(),
18
+ city: textField(),
19
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
20
+ state: textField(2),
21
+ nationality: textField(),
22
+ cellphone: phoneBRSchema,
23
+ email: emailSchema,
24
+ monthly_income: currencySchema,
25
+ profession: textField(),
26
+ type_doc: DocumentTypeEnum,
27
+ doc: textField(15),
28
+ issuing_body: textField(6),
29
+ doc_issue_date: issueDateSchema
30
+ });
31
+ var caixaEconomicaFederalPfSchema = caixaEconomicaFederalPfObject.strict().superRefine(applyPfRefinements);
32
+
33
+ export { caixaEconomicaFederalPfObject, caixaEconomicaFederalPfSchema };