@77sol-lab/form-schemas 1.2.0 → 1.4.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 (164) hide show
  1. package/{chunk-GCYI6OFG.mjs → chunk-2NFFUOYG.mjs} +1 -1
  2. package/{chunk-MWPQSGDD.mjs → chunk-2VGGCJ2O.mjs} +1 -1
  3. package/{chunk-B7RDVG4R.mjs → chunk-36ZWNLRE.mjs} +2 -2
  4. package/{chunk-TEL6EWAJ.mjs → chunk-3LKC3OJJ.mjs} +1 -1
  5. package/{chunk-XUMC3TQU.mjs → chunk-3QVWHHHF.mjs} +1 -1
  6. package/chunk-7I2LXGA2.mjs +13 -0
  7. package/{chunk-KXEEZLMR.mjs → chunk-A5ZODVEU.mjs} +2 -2
  8. package/{chunk-NL4VK2TF.mjs → chunk-AXXSWRN2.mjs} +2 -2
  9. package/{chunk-2TGZGHS3.mjs → chunk-BCQD5NJB.mjs} +2 -2
  10. package/{chunk-FVIOZ4Q5.mjs → chunk-BPWVGI53.mjs} +2 -2
  11. package/{chunk-TUYULPDF.mjs → chunk-BTHGPT5U.mjs} +1 -1
  12. package/{chunk-RMWCQ6YU.mjs → chunk-BZ4V4AAJ.mjs} +2 -2
  13. package/{chunk-G3T562PC.mjs → chunk-DIARPLFL.mjs} +1 -1
  14. package/{chunk-EFLW2FHX.mjs → chunk-DWXCA5I6.mjs} +1 -1
  15. package/{chunk-FISPUQLP.mjs → chunk-ENVJMMCX.mjs} +2 -2
  16. package/chunk-HK7VVKRF.mjs +105 -0
  17. package/chunk-LZCHOENM.mjs +433 -0
  18. package/{chunk-ORO6OVTB.mjs → chunk-MUFER7FT.mjs} +2 -2
  19. package/{chunk-W3CNJVMM.mjs → chunk-PP5WJMGB.mjs} +2 -2
  20. package/{chunk-6BD6V7EB.mjs → chunk-PYKWBM67.mjs} +1 -1
  21. package/{chunk-TCPW5MUT.mjs → chunk-PZG2YKS4.mjs} +2 -2
  22. package/{chunk-HKY6D6J5.mjs → chunk-QBQDE5Y7.mjs} +2 -2
  23. package/{chunk-TE64VI3I.mjs → chunk-QH5BHXWK.mjs} +1 -1
  24. package/{chunk-7LHQ27CS.mjs → chunk-QZR62OU5.mjs} +2 -2
  25. package/{chunk-36GQASLI.mjs → chunk-RFML2PIV.mjs} +1 -1
  26. package/{chunk-NDJRJOFE.mjs → chunk-SKFIWDPV.mjs} +47 -33
  27. package/chunk-TIB6TEME.mjs +109 -0
  28. package/{chunk-UHMVAJYK.mjs → chunk-UHQAHHAO.mjs} +2 -2
  29. package/{chunk-TTHE6D3Y.mjs → chunk-VMIR7MGU.mjs} +2 -2
  30. package/{chunk-CY2EXD6C.mjs → chunk-X3M274QY.mjs} +2 -2
  31. package/{chunk-SBOQWT53.mjs → chunk-XXID67A4.mjs} +2 -2
  32. package/{chunk-22ZUS7K3.mjs → chunk-XZSZRCO2.mjs} +1 -1
  33. package/{chunk-WHVCW22E.mjs → chunk-YZ3YYQEI.mjs} +2 -2
  34. package/financing/formalization/index.d.cts +2978 -1853
  35. package/financing/formalization/index.d.ts +2978 -1853
  36. package/financing/formalization/index.js +511 -85
  37. package/financing/formalization/index.mjs +33 -31
  38. package/financing/formalization/schemas/AlfaPFSchema.d.cts +42 -50
  39. package/financing/formalization/schemas/AlfaPFSchema.d.ts +42 -50
  40. package/financing/formalization/schemas/AlfaPFSchema.js +45 -34
  41. package/financing/formalization/schemas/AlfaPFSchema.mjs +3 -3
  42. package/financing/formalization/schemas/AlfaPJSchema.d.cts +36 -44
  43. package/financing/formalization/schemas/AlfaPJSchema.d.ts +36 -44
  44. package/financing/formalization/schemas/AlfaPJSchema.js +9 -22
  45. package/financing/formalization/schemas/AlfaPJSchema.mjs +2 -2
  46. package/financing/formalization/schemas/BancoDoBrasilPFSchema.d.cts +42 -50
  47. package/financing/formalization/schemas/BancoDoBrasilPFSchema.d.ts +42 -50
  48. package/financing/formalization/schemas/BancoDoBrasilPFSchema.js +45 -34
  49. package/financing/formalization/schemas/BancoDoBrasilPFSchema.mjs +3 -3
  50. package/financing/formalization/schemas/BancoDoBrasilPJSchema.d.cts +36 -44
  51. package/financing/formalization/schemas/BancoDoBrasilPJSchema.d.ts +36 -44
  52. package/financing/formalization/schemas/BancoDoBrasilPJSchema.js +9 -22
  53. package/financing/formalization/schemas/BancoDoBrasilPJSchema.mjs +2 -2
  54. package/financing/formalization/schemas/BtgPFSchema.d.cts +42 -50
  55. package/financing/formalization/schemas/BtgPFSchema.d.ts +42 -50
  56. package/financing/formalization/schemas/BtgPFSchema.js +45 -34
  57. package/financing/formalization/schemas/BtgPFSchema.mjs +3 -3
  58. package/financing/formalization/schemas/BtgPJSchema.d.cts +58 -66
  59. package/financing/formalization/schemas/BtgPJSchema.d.ts +58 -66
  60. package/financing/formalization/schemas/BtgPJSchema.js +13 -23
  61. package/financing/formalization/schemas/BtgPJSchema.mjs +3 -3
  62. package/financing/formalization/schemas/BvPFSchema.d.cts +60 -68
  63. package/financing/formalization/schemas/BvPFSchema.d.ts +60 -68
  64. package/financing/formalization/schemas/BvPFSchema.js +45 -34
  65. package/financing/formalization/schemas/BvPFSchema.mjs +3 -3
  66. package/financing/formalization/schemas/BvPJSchema.d.cts +88 -96
  67. package/financing/formalization/schemas/BvPJSchema.d.ts +88 -96
  68. package/financing/formalization/schemas/BvPJSchema.js +13 -23
  69. package/financing/formalization/schemas/BvPJSchema.mjs +3 -3
  70. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.d.cts +42 -50
  71. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.d.ts +42 -50
  72. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.js +45 -34
  73. package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.mjs +3 -3
  74. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.d.cts +36 -44
  75. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.d.ts +36 -44
  76. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.js +9 -22
  77. package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.mjs +2 -2
  78. package/financing/formalization/schemas/CashMePFSchema.d.cts +42 -50
  79. package/financing/formalization/schemas/CashMePFSchema.d.ts +42 -50
  80. package/financing/formalization/schemas/CashMePFSchema.js +45 -34
  81. package/financing/formalization/schemas/CashMePFSchema.mjs +3 -3
  82. package/financing/formalization/schemas/CashMePJSchema.d.cts +36 -44
  83. package/financing/formalization/schemas/CashMePJSchema.d.ts +36 -44
  84. package/financing/formalization/schemas/CashMePJSchema.js +9 -22
  85. package/financing/formalization/schemas/CashMePJSchema.mjs +2 -2
  86. package/financing/formalization/schemas/Credito77PFSchema.d.cts +42 -50
  87. package/financing/formalization/schemas/Credito77PFSchema.d.ts +42 -50
  88. package/financing/formalization/schemas/Credito77PFSchema.js +45 -34
  89. package/financing/formalization/schemas/Credito77PFSchema.mjs +3 -3
  90. package/financing/formalization/schemas/Credito77PJSchema.d.cts +36 -44
  91. package/financing/formalization/schemas/Credito77PJSchema.d.ts +36 -44
  92. package/financing/formalization/schemas/Credito77PJSchema.js +9 -22
  93. package/financing/formalization/schemas/Credito77PJSchema.mjs +2 -2
  94. package/financing/formalization/schemas/EosPFSchema.d.cts +42 -50
  95. package/financing/formalization/schemas/EosPFSchema.d.ts +42 -50
  96. package/financing/formalization/schemas/EosPFSchema.js +45 -34
  97. package/financing/formalization/schemas/EosPFSchema.mjs +3 -3
  98. package/financing/formalization/schemas/EosPJSchema.d.cts +36 -44
  99. package/financing/formalization/schemas/EosPJSchema.d.ts +36 -44
  100. package/financing/formalization/schemas/EosPJSchema.js +9 -22
  101. package/financing/formalization/schemas/EosPJSchema.mjs +2 -2
  102. package/financing/formalization/schemas/HdtEnergyPFSchema.d.cts +42 -50
  103. package/financing/formalization/schemas/HdtEnergyPFSchema.d.ts +42 -50
  104. package/financing/formalization/schemas/HdtEnergyPFSchema.js +45 -34
  105. package/financing/formalization/schemas/HdtEnergyPFSchema.mjs +3 -3
  106. package/financing/formalization/schemas/HdtEnergyPJSchema.d.cts +36 -44
  107. package/financing/formalization/schemas/HdtEnergyPJSchema.d.ts +36 -44
  108. package/financing/formalization/schemas/HdtEnergyPJSchema.js +9 -22
  109. package/financing/formalization/schemas/HdtEnergyPJSchema.mjs +2 -2
  110. package/financing/formalization/schemas/LosangoPFSchema.d.cts +42 -50
  111. package/financing/formalization/schemas/LosangoPFSchema.d.ts +42 -50
  112. package/financing/formalization/schemas/LosangoPFSchema.js +45 -34
  113. package/financing/formalization/schemas/LosangoPFSchema.mjs +3 -3
  114. package/financing/formalization/schemas/LosangoPJSchema.d.cts +36 -44
  115. package/financing/formalization/schemas/LosangoPJSchema.d.ts +36 -44
  116. package/financing/formalization/schemas/LosangoPJSchema.js +9 -22
  117. package/financing/formalization/schemas/LosangoPJSchema.mjs +2 -2
  118. package/financing/formalization/schemas/SafraPFSchema.d.cts +42 -50
  119. package/financing/formalization/schemas/SafraPFSchema.d.ts +42 -50
  120. package/financing/formalization/schemas/SafraPFSchema.js +45 -34
  121. package/financing/formalization/schemas/SafraPFSchema.mjs +3 -3
  122. package/financing/formalization/schemas/SafraPJSchema.d.cts +36 -44
  123. package/financing/formalization/schemas/SafraPJSchema.d.ts +36 -44
  124. package/financing/formalization/schemas/SafraPJSchema.js +9 -22
  125. package/financing/formalization/schemas/SafraPJSchema.mjs +2 -2
  126. package/financing/formalization/schemas/SantanderPFSchema.d.cts +42 -50
  127. package/financing/formalization/schemas/SantanderPFSchema.d.ts +42 -50
  128. package/financing/formalization/schemas/SantanderPFSchema.js +45 -34
  129. package/financing/formalization/schemas/SantanderPFSchema.mjs +3 -3
  130. package/financing/formalization/schemas/SantanderPJSchema.d.cts +36 -44
  131. package/financing/formalization/schemas/SantanderPJSchema.d.ts +36 -44
  132. package/financing/formalization/schemas/SantanderPJSchema.js +9 -22
  133. package/financing/formalization/schemas/SantanderPJSchema.mjs +2 -2
  134. package/financing/formalization/schemas/SolAgoraPFSchema.d.cts +42 -50
  135. package/financing/formalization/schemas/SolAgoraPFSchema.d.ts +42 -50
  136. package/financing/formalization/schemas/SolAgoraPFSchema.js +45 -34
  137. package/financing/formalization/schemas/SolAgoraPFSchema.mjs +3 -3
  138. package/financing/formalization/schemas/SolAgoraPJSchema.d.cts +58 -66
  139. package/financing/formalization/schemas/SolAgoraPJSchema.d.ts +58 -66
  140. package/financing/formalization/schemas/SolAgoraPJSchema.js +13 -23
  141. package/financing/formalization/schemas/SolAgoraPJSchema.mjs +3 -3
  142. package/financing/formalization/schemas/SolfacilPFSchema.d.cts +42 -50
  143. package/financing/formalization/schemas/SolfacilPFSchema.d.ts +42 -50
  144. package/financing/formalization/schemas/SolfacilPFSchema.js +45 -34
  145. package/financing/formalization/schemas/SolfacilPFSchema.mjs +3 -3
  146. package/financing/formalization/schemas/SolfacilPJSchema.d.cts +46 -54
  147. package/financing/formalization/schemas/SolfacilPJSchema.d.ts +46 -54
  148. package/financing/formalization/schemas/SolfacilPJSchema.js +9 -22
  149. package/financing/formalization/schemas/SolfacilPJSchema.mjs +2 -2
  150. package/financing/formalization/schemas/UnifiedPFSchema.d.cts +591 -0
  151. package/financing/formalization/schemas/UnifiedPFSchema.d.ts +591 -0
  152. package/financing/formalization/schemas/UnifiedPFSchema.js +290 -0
  153. package/financing/formalization/schemas/UnifiedPFSchema.mjs +3 -0
  154. package/financing/formalization/schemas/UnifiedPJSchema.d.cts +1327 -0
  155. package/financing/formalization/schemas/UnifiedPJSchema.d.ts +1327 -0
  156. package/financing/formalization/schemas/UnifiedPJSchema.js +258 -0
  157. package/financing/formalization/schemas/UnifiedPJSchema.mjs +3 -0
  158. package/index.d.cts +3 -1
  159. package/index.d.ts +3 -1
  160. package/index.js +511 -85
  161. package/index.mjs +33 -31
  162. package/package.json +1 -1
  163. package/chunk-A2TV7TRP.mjs +0 -6
  164. package/chunk-X4DDGGAB.mjs +0 -233
@@ -0,0 +1,290 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/domains/financing/formalization/schemas/UnifiedPFSchema.ts
6
+ var NatureOfOccupationTypeEnum = zod.z.enum(["autonomo", "clt", "aposentado", "empresario"]);
7
+ var ResidenceTypeEnum = zod.z.enum([
8
+ "proprio",
9
+ "familiar",
10
+ "alugado",
11
+ "proprio_financiado",
12
+ "cedido"
13
+ ]);
14
+ var YesOrNoEnum = zod.z.enum(["sim", "nao"]);
15
+ var CivilStatusEnum = zod.z.enum([
16
+ "solteiro",
17
+ "casado",
18
+ "divorciado",
19
+ "viuvo",
20
+ "separado_judicialmente",
21
+ "companheiro"
22
+ ]);
23
+ var CommunionRegimeEnum = zod.z.enum([
24
+ "comunhao_parcial",
25
+ "comunhao_universal",
26
+ "separacao_total",
27
+ "participacao_final_aquestos"
28
+ ]);
29
+ var DocumentTypeEnum = zod.z.enum([
30
+ "documento_de_identidade",
31
+ "carteira_nacional_de_habilita\xE7\xE3o"
32
+ ]);
33
+ var SexEnum = zod.z.enum(["masculino", "feminino"]);
34
+ function textField(maxLength) {
35
+ const base = zod.z.string().trim().min(1, "Campo obrigat\xF3rio");
36
+ return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
37
+ }
38
+ var numberField = zod.z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
39
+ var integerField = zod.z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).int("Deve ser um n\xFAmero inteiro").nonnegative("Valor n\xE3o pode ser negativo");
40
+ var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
41
+ var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
42
+ var fileUploadField = zod.z.object({
43
+ url: zod.z.string().url().optional(),
44
+ mime: zod.z.enum(ACCEPTED_UPLOAD_MIME, {
45
+ errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
46
+ }),
47
+ sizeBytes: zod.z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
48
+ });
49
+
50
+ // src/shared/regex/patterns.ts
51
+ var PATTERNS = {
52
+ cpf: /^\d{11}$/,
53
+ cnpj: /^\d{14}$/,
54
+ cep: /^\d{8}$/,
55
+ phoneBR: /^\d{11}$/,
56
+ email: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
57
+ dateDMY: /^\d{2}\/\d{2}\/\d{4}$/};
58
+
59
+ // src/shared/regex/validators.ts
60
+ function onlyDigits(value) {
61
+ return value.replace(/\D/g, "");
62
+ }
63
+ function isValidCPF(value) {
64
+ const cpf = onlyDigits(value);
65
+ if (cpf.length !== 11) {
66
+ return false;
67
+ }
68
+ if (/^(\d)\1{10}$/.test(cpf)) {
69
+ return false;
70
+ }
71
+ const calcCheck = (slice) => {
72
+ let sum = 0;
73
+ for (let i = 0; i < slice; i++) {
74
+ sum += Number(cpf[i]) * (slice + 1 - i);
75
+ }
76
+ const rest = sum * 10 % 11;
77
+ return rest === 10 ? 0 : rest;
78
+ };
79
+ return calcCheck(9) === Number(cpf[9]) && calcCheck(10) === Number(cpf[10]);
80
+ }
81
+ function isValidCNPJ(value) {
82
+ const cnpj = onlyDigits(value);
83
+ if (cnpj.length !== 14) {
84
+ return false;
85
+ }
86
+ if (/^(\d)\1{13}$/.test(cnpj)) {
87
+ return false;
88
+ }
89
+ const calcCheck = (length) => {
90
+ 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];
91
+ let sum = 0;
92
+ for (const [i, weight] of weights.entries()) {
93
+ sum += Number(cnpj[i]) * weight;
94
+ }
95
+ const rest = sum % 11;
96
+ return rest < 2 ? 0 : 11 - rest;
97
+ };
98
+ return calcCheck(12) === Number(cnpj[12]) && calcCheck(13) === Number(cnpj[13]);
99
+ }
100
+ function parseDMY(value) {
101
+ const match = /^(\d{2})\/(\d{2})\/(\d{4})$/.exec(value);
102
+ if (!match) {
103
+ return null;
104
+ }
105
+ const [, dd, mm, yyyy] = match;
106
+ const day = Number(dd);
107
+ const month = Number(mm);
108
+ const year = Number(yyyy);
109
+ const date = new Date(year, month - 1, day);
110
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
111
+ return null;
112
+ }
113
+ return date;
114
+ }
115
+ function ageInYears(birth, reference = /* @__PURE__ */ new Date()) {
116
+ let age = reference.getFullYear() - birth.getFullYear();
117
+ const monthDiff = reference.getMonth() - birth.getMonth();
118
+ if (monthDiff < 0 || monthDiff === 0 && reference.getDate() < birth.getDate()) {
119
+ age--;
120
+ }
121
+ return age;
122
+ }
123
+ function isAdultDMY(value, reference) {
124
+ const date = parseDMY(value);
125
+ if (!date) {
126
+ return false;
127
+ }
128
+ return ageInYears(date, reference) >= 18;
129
+ }
130
+ function isNotFutureDMY(value, reference = /* @__PURE__ */ new Date()) {
131
+ const date = parseDMY(value);
132
+ if (!date) {
133
+ return false;
134
+ }
135
+ return date.getTime() <= reference.getTime();
136
+ }
137
+ function yearsSinceDMY(value, reference = /* @__PURE__ */ new Date()) {
138
+ const date = parseDMY(value);
139
+ if (!date) {
140
+ return null;
141
+ }
142
+ return ageInYears(date, reference);
143
+ }
144
+
145
+ // src/shared/regex/index.ts
146
+ var cpfSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.cpf.test(v), "CPF inv\xE1lido").refine(isValidCPF, "CPF inv\xE1lido");
147
+ var cnpjSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.cnpj.test(v), "CNPJ inv\xE1lido").refine(isValidCNPJ, "CNPJ inv\xE1lido");
148
+ var cpfCnpjSchema = zod.z.string().transform(onlyDigits).refine(
149
+ (v) => PATTERNS.cpf.test(v) || PATTERNS.cnpj.test(v),
150
+ "Documento deve ter 11 (CPF) ou 14 (CNPJ) d\xEDgitos"
151
+ ).refine((v) => v.length === 11 ? isValidCPF(v) : isValidCNPJ(v), "Documento inv\xE1lido");
152
+ var cepSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.cep.test(v), "CEP inv\xE1lido");
153
+ var phoneBRSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.phoneBR.test(v), "Telefone inv\xE1lido");
154
+ var emailSchema = zod.z.string().trim().refine((v) => PATTERNS.email.test(v), "E-mail inv\xE1lido");
155
+ var dateDMYSchema = zod.z.string().refine((v) => PATTERNS.dateDMY.test(v), "Data inv\xE1lida").refine((v) => parseDMY(v) !== null, "Data inexistente no calend\xE1rio");
156
+ var birthDateSchema = dateDMYSchema.refine(
157
+ (v) => isAdultDMY(v),
158
+ "\xC9 necess\xE1rio ser maior de idade (18+)"
159
+ );
160
+ var issueDateSchema = dateDMYSchema.refine(
161
+ (v) => isNotFutureDMY(v),
162
+ "Data de emiss\xE3o n\xE3o pode ser futura"
163
+ );
164
+ var currencySchema = zod.z.number({ invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
165
+ zod.z.number().int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
166
+ var formalizationExtras = {
167
+ voucher_local_installation_address: fileUploadField,
168
+ proof_kinship: fileUploadField.optional(),
169
+ document_front_upload: fileUploadField,
170
+ document_back_upload: fileUploadField,
171
+ rd_re_insurance_toggle: zod.z.boolean().default(true)
172
+ };
173
+
174
+ // src/domains/financing/enums/civil-status.ts
175
+ var CIVIL_STATUS_REQUIRING_PARTNER = ["casado"];
176
+ var PARTNER_FIELDS = [
177
+ "partner_name",
178
+ "partner_birth",
179
+ "partner_type_doc",
180
+ "partner_doc",
181
+ "partner_cpf",
182
+ "partner_city",
183
+ "communion_regime"
184
+ ];
185
+
186
+ // src/domains/financing/enums/occupation.ts
187
+ var OCCUPATIONS_REQUIRING_CNPJ = ["empresario", "empresario_ou_proprietario"];
188
+
189
+ // src/domains/financing/formalization/refinements.ts
190
+ var RG_MAX_EMISSION_YEARS = 10;
191
+ function applyPartnerRefinement(data, ctx) {
192
+ const civilStatus = data.civil_status;
193
+ const requiresPartner = typeof civilStatus === "string" && CIVIL_STATUS_REQUIRING_PARTNER.includes(civilStatus);
194
+ if (!requiresPartner) {
195
+ return;
196
+ }
197
+ for (const field of PARTNER_FIELDS) {
198
+ const value = data[field];
199
+ const isEmpty = value === void 0 || value === null || typeof value === "string" && value.trim().length === 0;
200
+ if (isEmpty) {
201
+ ctx.addIssue({
202
+ code: zod.z.ZodIssueCode.custom,
203
+ path: [field],
204
+ message: "Campo obrigat\xF3rio para o estado civil informado"
205
+ });
206
+ }
207
+ }
208
+ }
209
+ function applyCommonRefinements(data, ctx) {
210
+ if ("energy_account_in_requester_name" in data && typeof data.energy_account_in_requester_name === "string" && data.energy_account_in_requester_name !== "nao_aplica" && !data.proof_kinship) {
211
+ ctx.addIssue({
212
+ code: zod.z.ZodIssueCode.custom,
213
+ path: ["proof_kinship"],
214
+ message: "Documento de v\xEDnculo \xE9 obrigat\xF3rio quando a conta est\xE1 em nome de terceiro"
215
+ });
216
+ }
217
+ }
218
+ function applyPfRefinements(data, ctx) {
219
+ applyCommonRefinements(data, ctx);
220
+ applyPartnerRefinement(data, ctx);
221
+ if ("nature_of_occupation" in data && typeof data.nature_of_occupation === "string" && OCCUPATIONS_REQUIRING_CNPJ.includes(data.nature_of_occupation) && !data.cnpj_proprietary) {
222
+ ctx.addIssue({
223
+ code: zod.z.ZodIssueCode.custom,
224
+ path: ["cnpj_proprietary"],
225
+ message: "CNPJ do propriet\xE1rio \xE9 obrigat\xF3rio para esta ocupa\xE7\xE3o"
226
+ });
227
+ }
228
+ if (data.type_doc === "documento_de_identidade" && typeof data.doc_issue_date === "string") {
229
+ const years = yearsSinceDMY(data.doc_issue_date);
230
+ if (years !== null && years > RG_MAX_EMISSION_YEARS) {
231
+ ctx.addIssue({
232
+ code: zod.z.ZodIssueCode.custom,
233
+ path: ["doc_issue_date"],
234
+ message: `RG deve ter no m\xE1ximo ${RG_MAX_EMISSION_YEARS} anos de emiss\xE3o`
235
+ });
236
+ }
237
+ }
238
+ }
239
+
240
+ // src/domains/financing/formalization/schemas/UnifiedPFSchema.ts
241
+ var unifiedPfObject = zod.z.object({
242
+ name: textField(),
243
+ cep: cepSchema,
244
+ cpf: cpfSchema,
245
+ address: textField(),
246
+ birth_date: birthDateSchema,
247
+ number: textField(),
248
+ sex: SexEnum,
249
+ complement: textField(15).optional(),
250
+ mother_name: textField(),
251
+ district: textField(),
252
+ energy_account_in_requester_name: textField(),
253
+ city: textField(),
254
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
255
+ state: textField(2),
256
+ nationality: textField(),
257
+ cellphone: phoneBRSchema,
258
+ email: emailSchema,
259
+ monthly_income: currencySchema,
260
+ profession: textField(),
261
+ type_doc: DocumentTypeEnum,
262
+ doc: textField(15),
263
+ issuing_body: textField(6),
264
+ doc_issue_date: issueDateSchema,
265
+ residence_situation: ResidenceTypeEnum,
266
+ months_in_residence: integerField.optional(),
267
+ civil_status: CivilStatusEnum,
268
+ uf_naturalness: textField(2).optional(),
269
+ naturalness: textField().optional(),
270
+ nature_of_occupation: NatureOfOccupationTypeEnum,
271
+ company_time: numberField.optional(),
272
+ cnpj_proprietary: cnpjSchema.optional(),
273
+ equity_value: currencySchema.optional(),
274
+ emitting_state: textField(2).optional(),
275
+ pep_relationship: YesOrNoEnum,
276
+ social_name: textField().optional(),
277
+ partner_name: textField().optional(),
278
+ partner_birth: dateDMYSchema.optional(),
279
+ partner_type_doc: DocumentTypeEnum.optional(),
280
+ partner_doc: textField().optional(),
281
+ partner_cpf: cpfSchema.optional(),
282
+ partner_city: textField().optional(),
283
+ communion_regime: CommunionRegimeEnum.optional(),
284
+ rural_area: textField(3).optional(),
285
+ ...formalizationExtras
286
+ });
287
+ var unifiedPfSchema = unifiedPfObject.strict().superRefine(applyPfRefinements);
288
+
289
+ exports.unifiedPfObject = unifiedPfObject;
290
+ exports.unifiedPfSchema = unifiedPfSchema;
@@ -0,0 +1,3 @@
1
+ export { unifiedPfObject, unifiedPfSchema } from '../../../chunk-TIB6TEME.mjs';
2
+ import '../../../chunk-7I2LXGA2.mjs';
3
+ import '../../../chunk-SKFIWDPV.mjs';