@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,248 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/domains/financing/formalization/schemas/BvPFSchema.ts
6
+ var DocumentTypeEnum = zod.z.enum(["rg", "cnh", "rne"]);
7
+
8
+ // src/shared/enums/nationality.ts
9
+ var NATIONALITY_BRAZIL = "brasil";
10
+ var SexEnum = zod.z.enum(["masculino", "feminino"]);
11
+ function textField(maxLength) {
12
+ const base = zod.z.string().trim().min(1, "Campo obrigat\xF3rio");
13
+ return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
14
+ }
15
+ var numberField = zod.z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
16
+ 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");
17
+ function selectField(values) {
18
+ return zod.z.enum(values);
19
+ }
20
+ var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
21
+ var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
22
+ var fileUploadField = zod.z.object({
23
+ url: zod.z.string().url().optional(),
24
+ mime: zod.z.enum(ACCEPTED_UPLOAD_MIME, {
25
+ errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
26
+ }),
27
+ sizeBytes: zod.z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
28
+ });
29
+
30
+ // src/shared/regex/patterns.ts
31
+ var PATTERNS = {
32
+ cpf: /^\d{11}$/,
33
+ cnpj: /^\d{14}$/,
34
+ cep: /^\d{8}$/,
35
+ phoneBR: /^\d{11}$/,
36
+ email: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
37
+ dateDMY: /^\d{2}\/\d{2}\/\d{4}$/};
38
+
39
+ // src/shared/regex/validators.ts
40
+ function onlyDigits(value) {
41
+ return value.replace(/\D/g, "");
42
+ }
43
+ function isValidCPF(value) {
44
+ const cpf = onlyDigits(value);
45
+ if (cpf.length !== 11) {
46
+ return false;
47
+ }
48
+ if (/^(\d)\1{10}$/.test(cpf)) {
49
+ return false;
50
+ }
51
+ const calcCheck = (slice) => {
52
+ let sum = 0;
53
+ for (let i = 0; i < slice; i++) {
54
+ sum += Number(cpf[i]) * (slice + 1 - i);
55
+ }
56
+ const rest = sum * 10 % 11;
57
+ return rest === 10 ? 0 : rest;
58
+ };
59
+ return calcCheck(9) === Number(cpf[9]) && calcCheck(10) === Number(cpf[10]);
60
+ }
61
+ function isValidCNPJ(value) {
62
+ const cnpj = onlyDigits(value);
63
+ if (cnpj.length !== 14) {
64
+ return false;
65
+ }
66
+ if (/^(\d)\1{13}$/.test(cnpj)) {
67
+ return false;
68
+ }
69
+ const calcCheck = (length) => {
70
+ 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];
71
+ let sum = 0;
72
+ for (const [i, weight] of weights.entries()) {
73
+ sum += Number(cnpj[i]) * weight;
74
+ }
75
+ const rest = sum % 11;
76
+ return rest < 2 ? 0 : 11 - rest;
77
+ };
78
+ return calcCheck(12) === Number(cnpj[12]) && calcCheck(13) === Number(cnpj[13]);
79
+ }
80
+ function parseDMY(value) {
81
+ const match = /^(\d{2})\/(\d{2})\/(\d{4})$/.exec(value);
82
+ if (!match) {
83
+ return null;
84
+ }
85
+ const [, dd, mm, yyyy] = match;
86
+ const day = Number(dd);
87
+ const month = Number(mm);
88
+ const year = Number(yyyy);
89
+ const date = new Date(year, month - 1, day);
90
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
91
+ return null;
92
+ }
93
+ return date;
94
+ }
95
+ function ageInYears(birth, reference = /* @__PURE__ */ new Date()) {
96
+ let age = reference.getFullYear() - birth.getFullYear();
97
+ const monthDiff = reference.getMonth() - birth.getMonth();
98
+ if (monthDiff < 0 || monthDiff === 0 && reference.getDate() < birth.getDate()) {
99
+ age--;
100
+ }
101
+ return age;
102
+ }
103
+ function isAdultDMY(value, reference) {
104
+ const date = parseDMY(value);
105
+ if (!date) {
106
+ return false;
107
+ }
108
+ return ageInYears(date, reference) >= 18;
109
+ }
110
+ function isNotFutureDMY(value, reference = /* @__PURE__ */ new Date()) {
111
+ const date = parseDMY(value);
112
+ if (!date) {
113
+ return false;
114
+ }
115
+ return date.getTime() <= reference.getTime();
116
+ }
117
+ function yearsSinceDMY(value, reference = /* @__PURE__ */ new Date()) {
118
+ const date = parseDMY(value);
119
+ if (!date) {
120
+ return null;
121
+ }
122
+ return ageInYears(date, reference);
123
+ }
124
+
125
+ // src/shared/regex/index.ts
126
+ var cpfSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.cpf.test(v), "CPF deve ter 11 d\xEDgitos").refine(isValidCPF, "CPF inv\xE1lido");
127
+ var cnpjSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.cnpj.test(v), "CNPJ deve ter 14 d\xEDgitos").refine(isValidCNPJ, "CNPJ inv\xE1lido");
128
+ var cpfCnpjSchema = zod.z.string().transform(onlyDigits).refine(
129
+ (v) => PATTERNS.cpf.test(v) || PATTERNS.cnpj.test(v),
130
+ "Documento deve ter 11 (CPF) ou 14 (CNPJ) d\xEDgitos"
131
+ ).refine((v) => v.length === 11 ? isValidCPF(v) : isValidCNPJ(v), "Documento inv\xE1lido");
132
+ var cepSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.cep.test(v), "CEP deve ter 8 d\xEDgitos");
133
+ var phoneBRSchema = zod.z.string().transform(onlyDigits).refine((v) => PATTERNS.phoneBR.test(v), "Telefone deve ter 11 d\xEDgitos com DDD");
134
+ var emailSchema = zod.z.string().trim().refine((v) => PATTERNS.email.test(v), "E-mail inv\xE1lido");
135
+ var dateDMYSchema = zod.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");
136
+ var birthDateSchema = dateDMYSchema.refine(
137
+ (v) => isAdultDMY(v),
138
+ "\xC9 necess\xE1rio ser maior de idade (18+)"
139
+ );
140
+ var issueDateSchema = dateDMYSchema.refine(
141
+ (v) => isNotFutureDMY(v),
142
+ "Data de emiss\xE3o n\xE3o pode ser futura"
143
+ );
144
+ var currencySchema = zod.z.number({ invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
145
+ zod.z.number().int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
146
+ var THIRD_PARTY_OPTIONS = [
147
+ "nao_se_aplica",
148
+ "conjuge",
149
+ "pai_mae",
150
+ "filho_filha",
151
+ "parente",
152
+ "outro"
153
+ ];
154
+ var formalizationExtras = {
155
+ energy_bill_upload: fileUploadField,
156
+ account_third_party: selectField(THIRD_PARTY_OPTIONS),
157
+ bond_document_upload: fileUploadField.optional(),
158
+ document_front_upload: fileUploadField,
159
+ document_back_upload: fileUploadField,
160
+ // RN-014: seguro RD/RE começa ON.
161
+ rd_re_insurance_toggle: zod.z.boolean().default(true)
162
+ };
163
+
164
+ // src/domains/financing/enums/occupation.ts
165
+ var OCCUPATIONS_REQUIRING_CNPJ = ["empresario", "empresario_ou_proprietario"];
166
+
167
+ // src/domains/financing/formalization/refinements.ts
168
+ var RG_MAX_EMISSION_YEARS = 10;
169
+ function applyCommonRefinements(data, ctx) {
170
+ if ("account_third_party" in data && typeof data.account_third_party === "string" && data.account_third_party !== "nao_se_aplica" && !data.bond_document_upload) {
171
+ ctx.addIssue({
172
+ code: zod.z.ZodIssueCode.custom,
173
+ path: ["bond_document_upload"],
174
+ message: "Documento de v\xEDnculo \xE9 obrigat\xF3rio quando a conta est\xE1 em nome de terceiro"
175
+ });
176
+ }
177
+ }
178
+ function applyPfRefinements(data, ctx) {
179
+ applyCommonRefinements(data, ctx);
180
+ if ("nature_of_occupation" in data && typeof data.nature_of_occupation === "string" && OCCUPATIONS_REQUIRING_CNPJ.includes(data.nature_of_occupation) && !data.cnpj_proprietary) {
181
+ ctx.addIssue({
182
+ code: zod.z.ZodIssueCode.custom,
183
+ path: ["cnpj_proprietary"],
184
+ message: "CNPJ do propriet\xE1rio \xE9 obrigat\xF3rio para esta ocupa\xE7\xE3o"
185
+ });
186
+ }
187
+ if (data.type_doc === "rg" && typeof data.doc_issue_date === "string") {
188
+ const years = yearsSinceDMY(data.doc_issue_date);
189
+ if (years !== null && years > RG_MAX_EMISSION_YEARS) {
190
+ ctx.addIssue({
191
+ code: zod.z.ZodIssueCode.custom,
192
+ path: ["doc_issue_date"],
193
+ message: `RG deve ter no m\xE1ximo ${RG_MAX_EMISSION_YEARS} anos de emiss\xE3o`
194
+ });
195
+ }
196
+ }
197
+ if (typeof data.nationality === "string" && data.nationality.toLowerCase() !== NATIONALITY_BRAZIL && "type_doc" in data && data.type_doc !== "rne") {
198
+ ctx.addIssue({
199
+ code: zod.z.ZodIssueCode.custom,
200
+ path: ["type_doc"],
201
+ message: "Para nacionalidade estrangeira, o documento deve ser Registro de Estrangeiro (RNE)"
202
+ });
203
+ }
204
+ }
205
+
206
+ // src/domains/financing/formalization/schemas/BvPFSchema.ts
207
+ var bvPfObject = zod.z.object({
208
+ ...formalizationExtras,
209
+ name: textField(),
210
+ cep: cepSchema,
211
+ residence_situation: textField(),
212
+ cpf: cpfSchema,
213
+ address: textField(),
214
+ months_in_residence: integerField,
215
+ birth_date: birthDateSchema,
216
+ number: textField(),
217
+ sex: SexEnum,
218
+ complement: textField(15).optional(),
219
+ is_installation_at_requester: textField(),
220
+ mother_name: textField(),
221
+ district: textField(),
222
+ energy_account_in_requester_name: textField(),
223
+ city: textField(),
224
+ energy_bill_owner_document: cpfCnpjSchema.optional(),
225
+ civil_status: textField(),
226
+ state: textField(2),
227
+ nationality: textField(),
228
+ uf_naturalness: textField(2),
229
+ naturalness: textField(),
230
+ cellphone: phoneBRSchema,
231
+ email: emailSchema,
232
+ monthly_income: currencySchema,
233
+ profession: textField(),
234
+ nature_of_occupation: textField(),
235
+ company_time: numberField,
236
+ cnpj_proprietary: cnpjSchema.optional(),
237
+ equity_value: currencySchema,
238
+ type_doc: DocumentTypeEnum,
239
+ doc: textField(15),
240
+ issuing_body: textField(6),
241
+ emitting_state: textField(2),
242
+ doc_issue_date: issueDateSchema,
243
+ pep_relationship: textField().optional()
244
+ });
245
+ var bvPfSchema = bvPfObject.strict().superRefine(applyPfRefinements);
246
+
247
+ exports.bvPfObject = bvPfObject;
248
+ exports.bvPfSchema = bvPfSchema;
@@ -0,0 +1,3 @@
1
+ export { bvPfObject, bvPfSchema } from '../../../chunk-CY2EXD6C.mjs';
2
+ import '../../../chunk-A2TV7TRP.mjs';
3
+ import '../../../chunk-NDJRJOFE.mjs';