@77sol-lab/form-schemas 1.5.0 → 1.6.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.
- package/{chunk-OARPUXXM.mjs → chunk-2ZKUSLGU.mjs} +2 -2
- package/{chunk-5C4YMHXV.mjs → chunk-35IKZUF4.mjs} +2 -2
- package/{chunk-YIUJVGT4.mjs → chunk-57DSP6GG.mjs} +1 -1
- package/{chunk-HBTFOSJU.mjs → chunk-5YFVPFSM.mjs} +83 -28
- package/{chunk-53GXILC6.mjs → chunk-66Y3FO5R.mjs} +2 -2
- package/{chunk-VO573WIK.mjs → chunk-ACJUTGEC.mjs} +1 -1
- package/{chunk-6YS5KBXS.mjs → chunk-AQ43O5UO.mjs} +44 -35
- package/{chunk-7ZF45QUN.mjs → chunk-BITN6YDR.mjs} +2 -2
- package/{chunk-G5SKXDYM.mjs → chunk-BRBOOPFN.mjs} +2 -2
- package/{chunk-UU3MRKTH.mjs → chunk-BSG5DCL7.mjs} +1 -1
- package/{chunk-7I2LXGA2.mjs → chunk-CSGG5DZE.mjs} +2 -2
- package/{chunk-NCTEG6EL.mjs → chunk-E7JXDCBO.mjs} +2 -2
- package/{chunk-RYJSCFSY.mjs → chunk-GVOOT43S.mjs} +1 -1
- package/{chunk-GQ5G2YX4.mjs → chunk-ISJKYUMR.mjs} +2 -2
- package/{chunk-4XJZIRLT.mjs → chunk-JBTU6WKN.mjs} +2 -2
- package/{chunk-UMP5UF3U.mjs → chunk-K23FTEKB.mjs} +1 -1
- package/{chunk-OVANLPKX.mjs → chunk-LEUH6IFB.mjs} +2 -2
- package/{chunk-R6CEKWRQ.mjs → chunk-LOEAPRSO.mjs} +2 -2
- package/{chunk-N2IX5TRK.mjs → chunk-LVFKP46R.mjs} +2 -2
- package/{chunk-Z2TTZ3JJ.mjs → chunk-O5XQR5HN.mjs} +1 -1
- package/{chunk-IWSDOFBY.mjs → chunk-OFCVHF6Z.mjs} +2 -2
- package/{chunk-FPJKWVVF.mjs → chunk-PY7IUNIU.mjs} +1 -1
- package/{chunk-6PH42V5T.mjs → chunk-QUBWDT4D.mjs} +1 -1
- package/{chunk-WTHEEPBE.mjs → chunk-RDLOQ6HV.mjs} +1 -1
- package/{chunk-3OIG2FI5.mjs → chunk-SKSUT6CG.mjs} +2 -2
- package/{chunk-UUWULEKH.mjs → chunk-T2MFLA6J.mjs} +2 -2
- package/{chunk-H54QBCSW.mjs → chunk-UYCCHEM5.mjs} +2 -2
- package/{chunk-L4EWOROT.mjs → chunk-W6J3SW2H.mjs} +2 -2
- package/{chunk-7MWUETLP.mjs → chunk-WPJOW7IE.mjs} +2 -2
- package/{chunk-FRMGP3C3.mjs → chunk-X4LHQVVJ.mjs} +1 -1
- package/{chunk-2END6TYT.mjs → chunk-XVITSWCY.mjs} +1 -1
- package/{chunk-D2ZUTYWA.mjs → chunk-Y7TQ2NQ2.mjs} +17 -8
- package/{chunk-F27U6CXB.mjs → chunk-ZQ2PKLTM.mjs} +2 -2
- package/financing/formalization/index.d.cts +2173 -1306
- package/financing/formalization/index.d.ts +2173 -1306
- package/financing/formalization/index.js +111 -36
- package/financing/formalization/index.mjs +33 -33
- package/financing/formalization/schemas/AlfaPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/AlfaPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/AlfaPFSchema.js +76 -28
- package/financing/formalization/schemas/AlfaPFSchema.mjs +3 -3
- package/financing/formalization/schemas/AlfaPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/AlfaPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/AlfaPJSchema.js +73 -27
- package/financing/formalization/schemas/AlfaPJSchema.mjs +2 -2
- package/financing/formalization/schemas/BancoDoBrasilPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/BancoDoBrasilPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/BancoDoBrasilPFSchema.js +76 -28
- package/financing/formalization/schemas/BancoDoBrasilPFSchema.mjs +3 -3
- package/financing/formalization/schemas/BancoDoBrasilPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/BancoDoBrasilPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/BancoDoBrasilPJSchema.js +73 -27
- package/financing/formalization/schemas/BancoDoBrasilPJSchema.mjs +2 -2
- package/financing/formalization/schemas/BtgPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/BtgPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/BtgPFSchema.js +76 -28
- package/financing/formalization/schemas/BtgPFSchema.mjs +3 -3
- package/financing/formalization/schemas/BtgPJSchema.d.cts +80 -72
- package/financing/formalization/schemas/BtgPJSchema.d.ts +80 -72
- package/financing/formalization/schemas/BtgPJSchema.js +76 -28
- package/financing/formalization/schemas/BtgPJSchema.mjs +3 -3
- package/financing/formalization/schemas/BvPFSchema.d.cts +48 -40
- package/financing/formalization/schemas/BvPFSchema.d.ts +48 -40
- package/financing/formalization/schemas/BvPFSchema.js +76 -28
- package/financing/formalization/schemas/BvPFSchema.mjs +3 -3
- package/financing/formalization/schemas/BvPJSchema.d.cts +80 -72
- package/financing/formalization/schemas/BvPJSchema.d.ts +80 -72
- package/financing/formalization/schemas/BvPJSchema.js +76 -28
- package/financing/formalization/schemas/BvPJSchema.mjs +3 -3
- package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.js +76 -28
- package/financing/formalization/schemas/CaixaEconomicaFederalPFSchema.mjs +3 -3
- package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.js +73 -27
- package/financing/formalization/schemas/CaixaEconomicaFederalPJSchema.mjs +2 -2
- package/financing/formalization/schemas/CashMePFSchema.d.cts +32 -24
- package/financing/formalization/schemas/CashMePFSchema.d.ts +32 -24
- package/financing/formalization/schemas/CashMePFSchema.js +76 -28
- package/financing/formalization/schemas/CashMePFSchema.mjs +3 -3
- package/financing/formalization/schemas/CashMePJSchema.d.cts +44 -36
- package/financing/formalization/schemas/CashMePJSchema.d.ts +44 -36
- package/financing/formalization/schemas/CashMePJSchema.js +73 -27
- package/financing/formalization/schemas/CashMePJSchema.mjs +2 -2
- package/financing/formalization/schemas/Credito77PFSchema.d.cts +32 -24
- package/financing/formalization/schemas/Credito77PFSchema.d.ts +32 -24
- package/financing/formalization/schemas/Credito77PFSchema.js +76 -28
- package/financing/formalization/schemas/Credito77PFSchema.mjs +3 -3
- package/financing/formalization/schemas/Credito77PJSchema.d.cts +44 -36
- package/financing/formalization/schemas/Credito77PJSchema.d.ts +44 -36
- package/financing/formalization/schemas/Credito77PJSchema.js +73 -27
- package/financing/formalization/schemas/Credito77PJSchema.mjs +2 -2
- package/financing/formalization/schemas/EosPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/EosPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/EosPFSchema.js +76 -28
- package/financing/formalization/schemas/EosPFSchema.mjs +3 -3
- package/financing/formalization/schemas/EosPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/EosPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/EosPJSchema.js +73 -27
- package/financing/formalization/schemas/EosPJSchema.mjs +2 -2
- package/financing/formalization/schemas/HdtEnergyPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/HdtEnergyPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/HdtEnergyPFSchema.js +76 -28
- package/financing/formalization/schemas/HdtEnergyPFSchema.mjs +3 -3
- package/financing/formalization/schemas/HdtEnergyPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/HdtEnergyPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/HdtEnergyPJSchema.js +73 -27
- package/financing/formalization/schemas/HdtEnergyPJSchema.mjs +2 -2
- package/financing/formalization/schemas/LosangoPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/LosangoPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/LosangoPFSchema.js +76 -28
- package/financing/formalization/schemas/LosangoPFSchema.mjs +3 -3
- package/financing/formalization/schemas/LosangoPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/LosangoPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/LosangoPJSchema.js +73 -27
- package/financing/formalization/schemas/LosangoPJSchema.mjs +2 -2
- package/financing/formalization/schemas/SafraPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/SafraPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/SafraPFSchema.js +76 -28
- package/financing/formalization/schemas/SafraPFSchema.mjs +3 -3
- package/financing/formalization/schemas/SafraPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/SafraPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/SafraPJSchema.js +73 -27
- package/financing/formalization/schemas/SafraPJSchema.mjs +2 -2
- package/financing/formalization/schemas/SantanderPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/SantanderPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/SantanderPFSchema.js +76 -28
- package/financing/formalization/schemas/SantanderPFSchema.mjs +3 -3
- package/financing/formalization/schemas/SantanderPJSchema.d.cts +44 -36
- package/financing/formalization/schemas/SantanderPJSchema.d.ts +44 -36
- package/financing/formalization/schemas/SantanderPJSchema.js +73 -27
- package/financing/formalization/schemas/SantanderPJSchema.mjs +2 -2
- package/financing/formalization/schemas/SolAgoraPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/SolAgoraPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/SolAgoraPFSchema.js +76 -28
- package/financing/formalization/schemas/SolAgoraPFSchema.mjs +3 -3
- package/financing/formalization/schemas/SolAgoraPJSchema.d.cts +80 -72
- package/financing/formalization/schemas/SolAgoraPJSchema.d.ts +80 -72
- package/financing/formalization/schemas/SolAgoraPJSchema.js +76 -28
- package/financing/formalization/schemas/SolAgoraPJSchema.mjs +3 -3
- package/financing/formalization/schemas/SolfacilPFSchema.d.cts +32 -24
- package/financing/formalization/schemas/SolfacilPFSchema.d.ts +32 -24
- package/financing/formalization/schemas/SolfacilPFSchema.js +76 -28
- package/financing/formalization/schemas/SolfacilPFSchema.mjs +3 -3
- package/financing/formalization/schemas/SolfacilPJSchema.d.cts +56 -48
- package/financing/formalization/schemas/SolfacilPJSchema.d.ts +56 -48
- package/financing/formalization/schemas/SolfacilPJSchema.js +73 -27
- package/financing/formalization/schemas/SolfacilPJSchema.mjs +2 -2
- package/financing/formalization/schemas/UnifiedPFSchema.d.cts +98 -90
- package/financing/formalization/schemas/UnifiedPFSchema.d.ts +98 -90
- package/financing/formalization/schemas/UnifiedPFSchema.js +92 -34
- package/financing/formalization/schemas/UnifiedPFSchema.mjs +3 -3
- package/financing/formalization/schemas/UnifiedPJSchema.d.cts +164 -156
- package/financing/formalization/schemas/UnifiedPJSchema.d.ts +164 -156
- package/financing/formalization/schemas/UnifiedPJSchema.js +76 -28
- package/financing/formalization/schemas/UnifiedPJSchema.mjs +3 -3
- package/index.js +111 -36
- package/index.mjs +33 -33
- package/package.json +1 -1
|
@@ -3,12 +3,63 @@
|
|
|
3
3
|
var zod = require('zod');
|
|
4
4
|
|
|
5
5
|
// src/domains/financing/formalization/schemas/UnifiedPJSchema.ts
|
|
6
|
-
var
|
|
6
|
+
var REQUIRED_MESSAGE = "Campo obrigat\xF3rio";
|
|
7
|
+
var REQUIRED_STRING_PARAMS = {
|
|
8
|
+
required_error: REQUIRED_MESSAGE,
|
|
9
|
+
invalid_type_error: REQUIRED_MESSAGE
|
|
10
|
+
};
|
|
11
|
+
function requiredString() {
|
|
12
|
+
return zod.z.string(REQUIRED_STRING_PARAMS);
|
|
13
|
+
}
|
|
14
|
+
function textField(maxLength) {
|
|
15
|
+
const base = requiredString().trim().min(1, REQUIRED_MESSAGE);
|
|
16
|
+
return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
|
|
17
|
+
}
|
|
18
|
+
zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
|
|
19
|
+
var integerField = zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).int("Deve ser um n\xFAmero inteiro").nonnegative("Valor n\xE3o pode ser negativo");
|
|
20
|
+
function enumField(values) {
|
|
21
|
+
return zod.z.enum(values, {
|
|
22
|
+
errorMap: (issue, ctx) => {
|
|
23
|
+
if (issue.code === zod.z.ZodIssueCode.invalid_type || issue.code === zod.z.ZodIssueCode.invalid_enum_value && issue.received === "") {
|
|
24
|
+
return { message: REQUIRED_MESSAGE };
|
|
25
|
+
}
|
|
26
|
+
return { message: ctx.defaultError };
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
31
|
+
var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
|
|
32
|
+
var fileUploadField = zod.z.object(
|
|
33
|
+
{
|
|
34
|
+
url: zod.z.string().url().optional(),
|
|
35
|
+
mime: zod.z.enum(ACCEPTED_UPLOAD_MIME, {
|
|
36
|
+
errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
|
|
37
|
+
}),
|
|
38
|
+
sizeBytes: zod.z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
|
|
39
|
+
},
|
|
40
|
+
REQUIRED_STRING_PARAMS
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
// src/shared/enums/document-type.ts
|
|
44
|
+
var DocumentTypeEnum = enumField([
|
|
7
45
|
"documento_de_identidade",
|
|
8
46
|
"carteira_nacional_de_habilita\xE7\xE3o"
|
|
9
47
|
]);
|
|
10
|
-
|
|
11
|
-
|
|
48
|
+
|
|
49
|
+
// src/shared/enums/proof-kinship-type.ts
|
|
50
|
+
var ProofKinshipTypeEnum = enumField([
|
|
51
|
+
"certidao_casamento",
|
|
52
|
+
"documento_identificacao",
|
|
53
|
+
"contrato_social",
|
|
54
|
+
"declaracao_parentesco",
|
|
55
|
+
"outro_documento"
|
|
56
|
+
]);
|
|
57
|
+
|
|
58
|
+
// src/shared/enums/sex.ts
|
|
59
|
+
var SexEnum = enumField(["masculino", "feminino"]);
|
|
60
|
+
|
|
61
|
+
// src/shared/enums/uf.ts
|
|
62
|
+
var UfEnum = enumField([
|
|
12
63
|
"AC",
|
|
13
64
|
"AL",
|
|
14
65
|
"AP",
|
|
@@ -37,21 +88,6 @@ var UfEnum = zod.z.enum([
|
|
|
37
88
|
"SE",
|
|
38
89
|
"TO"
|
|
39
90
|
]);
|
|
40
|
-
function textField(maxLength) {
|
|
41
|
-
const base = zod.z.string().trim().min(1, "Campo obrigat\xF3rio");
|
|
42
|
-
return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
|
|
43
|
-
}
|
|
44
|
-
zod.z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
|
|
45
|
-
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");
|
|
46
|
-
var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
47
|
-
var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
|
|
48
|
-
var fileUploadField = zod.z.object({
|
|
49
|
-
url: zod.z.string().url().optional(),
|
|
50
|
-
mime: zod.z.enum(ACCEPTED_UPLOAD_MIME, {
|
|
51
|
-
errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
|
|
52
|
-
}),
|
|
53
|
-
sizeBytes: zod.z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
|
|
54
|
-
});
|
|
55
91
|
|
|
56
92
|
// src/shared/regex/patterns.ts
|
|
57
93
|
var PATTERNS = {
|
|
@@ -142,16 +178,16 @@ function isNotFutureDMY(value, reference = /* @__PURE__ */ new Date()) {
|
|
|
142
178
|
}
|
|
143
179
|
|
|
144
180
|
// src/shared/regex/index.ts
|
|
145
|
-
var cpfSchema =
|
|
146
|
-
var cnpjSchema =
|
|
147
|
-
|
|
181
|
+
var cpfSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.cpf.test(v), "CPF inv\xE1lido").refine(isValidCPF, "CPF inv\xE1lido");
|
|
182
|
+
var cnpjSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.cnpj.test(v), "CNPJ inv\xE1lido").refine(isValidCNPJ, "CNPJ inv\xE1lido");
|
|
183
|
+
requiredString().transform(onlyDigits).refine(
|
|
148
184
|
(v) => PATTERNS.cpf.test(v) || PATTERNS.cnpj.test(v),
|
|
149
185
|
"Documento deve ter 11 (CPF) ou 14 (CNPJ) d\xEDgitos"
|
|
150
186
|
).refine((v) => v.length === 11 ? isValidCPF(v) : isValidCNPJ(v), "Documento inv\xE1lido");
|
|
151
|
-
var cepSchema =
|
|
152
|
-
var phoneBRSchema =
|
|
153
|
-
var emailSchema =
|
|
154
|
-
var dateDMYSchema =
|
|
187
|
+
var cepSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.cep.test(v), "CEP inv\xE1lido");
|
|
188
|
+
var phoneBRSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.phoneBR.test(v), "Telefone inv\xE1lido");
|
|
189
|
+
var emailSchema = requiredString().trim().refine((v) => PATTERNS.email.test(v), "E-mail inv\xE1lido");
|
|
190
|
+
var dateDMYSchema = requiredString().refine((v) => PATTERNS.dateDMY.test(v), "Data inv\xE1lida").refine((v) => parseDMY(v) !== null, "Data inexistente no calend\xE1rio");
|
|
155
191
|
var birthDateSchema = dateDMYSchema.refine(
|
|
156
192
|
(v) => isAdultDMY(v),
|
|
157
193
|
"\xC9 necess\xE1rio ser maior de idade (18+)"
|
|
@@ -160,17 +196,29 @@ var issueDateSchema = dateDMYSchema.refine(
|
|
|
160
196
|
(v) => isNotFutureDMY(v),
|
|
161
197
|
"Data de emiss\xE3o n\xE3o pode ser futura"
|
|
162
198
|
);
|
|
163
|
-
var currencySchema = zod.z.number({ invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
|
|
164
|
-
zod.z.number().int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
|
|
199
|
+
var currencySchema = zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
|
|
200
|
+
zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
|
|
165
201
|
var formalizationExtras = {
|
|
166
202
|
voucher_local_installation_address: fileUploadField,
|
|
203
|
+
proof_kinship_type: ProofKinshipTypeEnum.optional(),
|
|
167
204
|
proof_kinship: fileUploadField.optional(),
|
|
168
205
|
document_front_upload: fileUploadField,
|
|
169
206
|
document_back_upload: fileUploadField,
|
|
170
207
|
rd_re_insurance_toggle: zod.z.boolean().default(true)
|
|
171
208
|
};
|
|
172
209
|
function applyCommonRefinements(data, ctx) {
|
|
173
|
-
|
|
210
|
+
const accountInThirdPartyName = data.energy_account_in_requester_name === "sim";
|
|
211
|
+
if (!accountInThirdPartyName) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (!data.proof_kinship_type) {
|
|
215
|
+
ctx.addIssue({
|
|
216
|
+
code: zod.z.ZodIssueCode.custom,
|
|
217
|
+
path: ["proof_kinship_type"],
|
|
218
|
+
message: "Tipo de comprovante \xE9 obrigat\xF3rio quando a conta est\xE1 em nome de terceiro"
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
if (!data.proof_kinship) {
|
|
174
222
|
ctx.addIssue({
|
|
175
223
|
code: zod.z.ZodIssueCode.custom,
|
|
176
224
|
path: ["proof_kinship"],
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { unifiedPjObject, unifiedPjSchema } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
3
|
-
import '../../../chunk-
|
|
1
|
+
export { unifiedPjObject, unifiedPjSchema } from '../../../chunk-E7JXDCBO.mjs';
|
|
2
|
+
import '../../../chunk-CSGG5DZE.mjs';
|
|
3
|
+
import '../../../chunk-5YFVPFSM.mjs';
|
package/index.js
CHANGED
|
@@ -2,8 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
var zod = require('zod');
|
|
4
4
|
|
|
5
|
+
// src/shared/fields/primitives.ts
|
|
6
|
+
var REQUIRED_MESSAGE = "Campo obrigat\xF3rio";
|
|
7
|
+
var REQUIRED_STRING_PARAMS = {
|
|
8
|
+
required_error: REQUIRED_MESSAGE,
|
|
9
|
+
invalid_type_error: REQUIRED_MESSAGE
|
|
10
|
+
};
|
|
11
|
+
function requiredString() {
|
|
12
|
+
return zod.z.string(REQUIRED_STRING_PARAMS);
|
|
13
|
+
}
|
|
14
|
+
function textField(maxLength) {
|
|
15
|
+
const base = requiredString().trim().min(1, REQUIRED_MESSAGE);
|
|
16
|
+
return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
|
|
17
|
+
}
|
|
18
|
+
var numberField = zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
|
|
19
|
+
var integerField = zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).int("Deve ser um n\xFAmero inteiro").nonnegative("Valor n\xE3o pode ser negativo");
|
|
20
|
+
function enumField(values) {
|
|
21
|
+
return zod.z.enum(values, {
|
|
22
|
+
errorMap: (issue, ctx) => {
|
|
23
|
+
if (issue.code === zod.z.ZodIssueCode.invalid_type || issue.code === zod.z.ZodIssueCode.invalid_enum_value && issue.received === "") {
|
|
24
|
+
return { message: REQUIRED_MESSAGE };
|
|
25
|
+
}
|
|
26
|
+
return { message: ctx.defaultError };
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
31
|
+
var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
|
|
32
|
+
var fileUploadField = zod.z.object(
|
|
33
|
+
{
|
|
34
|
+
url: zod.z.string().url().optional(),
|
|
35
|
+
mime: zod.z.enum(ACCEPTED_UPLOAD_MIME, {
|
|
36
|
+
errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
|
|
37
|
+
}),
|
|
38
|
+
sizeBytes: zod.z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
|
|
39
|
+
},
|
|
40
|
+
REQUIRED_STRING_PARAMS
|
|
41
|
+
);
|
|
42
|
+
|
|
5
43
|
// src/shared/enums/civil-status.ts
|
|
6
|
-
var CivilStatusEnum =
|
|
44
|
+
var CivilStatusEnum = enumField([
|
|
7
45
|
"solteiro",
|
|
8
46
|
"casado",
|
|
9
47
|
"divorciado",
|
|
@@ -19,7 +57,9 @@ var CivilStatusLabels = {
|
|
|
19
57
|
separado_judicialmente: "Separado(a) judicialmente",
|
|
20
58
|
companheiro: "Companheiro(a)"
|
|
21
59
|
};
|
|
22
|
-
|
|
60
|
+
|
|
61
|
+
// src/shared/enums/communion-regime.ts
|
|
62
|
+
var CommunionRegimeEnum = enumField([
|
|
23
63
|
"comunhao_parcial",
|
|
24
64
|
"comunhao_universal",
|
|
25
65
|
"separacao_total",
|
|
@@ -31,7 +71,9 @@ var CommunionRegimeLabels = {
|
|
|
31
71
|
separacao_total: "Separa\xE7\xE3o total de bens",
|
|
32
72
|
participacao_final_aquestos: "Participa\xE7\xE3o final nos aquestos"
|
|
33
73
|
};
|
|
34
|
-
|
|
74
|
+
|
|
75
|
+
// src/shared/enums/document-type.ts
|
|
76
|
+
var DocumentTypeEnum = enumField([
|
|
35
77
|
"documento_de_identidade",
|
|
36
78
|
"carteira_nacional_de_habilita\xE7\xE3o"
|
|
37
79
|
]);
|
|
@@ -42,14 +84,34 @@ var DocumentTypeLabels = {
|
|
|
42
84
|
|
|
43
85
|
// src/shared/enums/nationality.ts
|
|
44
86
|
var NATIONALITY_BRAZIL = "brasil";
|
|
45
|
-
|
|
87
|
+
|
|
88
|
+
// src/shared/enums/nature-of-occupation-type.ts
|
|
89
|
+
var NatureOfOccupationTypeEnum = enumField(["autonomo", "clt", "aposentado", "empresario"]);
|
|
46
90
|
var NatureOfOccupationTypeLabels = {
|
|
47
91
|
autonomo: "Aut\xF4nomo",
|
|
48
92
|
clt: "CLT",
|
|
49
93
|
aposentado: "Aposentado",
|
|
50
94
|
empresario: "Empres\xE1rio"
|
|
51
95
|
};
|
|
52
|
-
|
|
96
|
+
|
|
97
|
+
// src/shared/enums/proof-kinship-type.ts
|
|
98
|
+
var ProofKinshipTypeEnum = enumField([
|
|
99
|
+
"certidao_casamento",
|
|
100
|
+
"documento_identificacao",
|
|
101
|
+
"contrato_social",
|
|
102
|
+
"declaracao_parentesco",
|
|
103
|
+
"outro_documento"
|
|
104
|
+
]);
|
|
105
|
+
var ProofKinshipTypeLabels = {
|
|
106
|
+
certidao_casamento: "Certid\xE3o de casamento",
|
|
107
|
+
documento_identificacao: "Documento de identifica\xE7\xE3o",
|
|
108
|
+
contrato_social: "Contrato social",
|
|
109
|
+
declaracao_parentesco: "Declara\xE7\xE3o de parentesco",
|
|
110
|
+
outro_documento: "Outro documento"
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
// src/shared/enums/residence-type.ts
|
|
114
|
+
var ResidenceTypeEnum = enumField([
|
|
53
115
|
"proprio",
|
|
54
116
|
"familiar",
|
|
55
117
|
"alugado",
|
|
@@ -63,12 +125,16 @@ var ResidenceTypeLabels = {
|
|
|
63
125
|
proprio_financiado: "Pr\xF3prio financiado",
|
|
64
126
|
cedido: "Cedido"
|
|
65
127
|
};
|
|
66
|
-
|
|
128
|
+
|
|
129
|
+
// src/shared/enums/sex.ts
|
|
130
|
+
var SexEnum = enumField(["masculino", "feminino"]);
|
|
67
131
|
var SexLabels = {
|
|
68
132
|
masculino: "Masculino",
|
|
69
133
|
feminino: "Feminino"
|
|
70
134
|
};
|
|
71
|
-
|
|
135
|
+
|
|
136
|
+
// src/shared/enums/uf.ts
|
|
137
|
+
var UfEnum = enumField([
|
|
72
138
|
"AC",
|
|
73
139
|
"AL",
|
|
74
140
|
"AP",
|
|
@@ -126,11 +192,15 @@ var UfLabels = {
|
|
|
126
192
|
SE: "Sergipe",
|
|
127
193
|
TO: "Tocantins"
|
|
128
194
|
};
|
|
129
|
-
|
|
195
|
+
|
|
196
|
+
// src/shared/enums/yes-or-not-type.ts
|
|
197
|
+
var YesOrNoEnum = enumField(["sim", "nao"]);
|
|
130
198
|
var YesOrNoLabels = {
|
|
131
199
|
sim: "Sim",
|
|
132
200
|
nao: "N\xE3o"
|
|
133
201
|
};
|
|
202
|
+
|
|
203
|
+
// src/domains/financing/enums/banks.ts
|
|
134
204
|
var BANK_SLUGS = [
|
|
135
205
|
"credito77",
|
|
136
206
|
"losango",
|
|
@@ -147,7 +217,7 @@ var BANK_SLUGS = [
|
|
|
147
217
|
"sol_agora",
|
|
148
218
|
"eos"
|
|
149
219
|
];
|
|
150
|
-
var BankEnum =
|
|
220
|
+
var BankEnum = enumField(BANK_SLUGS);
|
|
151
221
|
|
|
152
222
|
// src/domains/financing/enums/civil-status.ts
|
|
153
223
|
var CIVIL_STATUS_REQUIRING_PARTNER = ["casado"];
|
|
@@ -178,7 +248,9 @@ var FORMALIZATION_OPTION_LABELS = {
|
|
|
178
248
|
uf_naturalness: UfLabels,
|
|
179
249
|
emitting_state: UfLabels,
|
|
180
250
|
uf_issuing_body: UfLabels,
|
|
181
|
-
doc_issuance_uf: UfLabels
|
|
251
|
+
doc_issuance_uf: UfLabels,
|
|
252
|
+
energy_account_in_requester_name: YesOrNoLabels,
|
|
253
|
+
proof_kinship_type: ProofKinshipTypeLabels
|
|
182
254
|
};
|
|
183
255
|
function getFieldOptions(field) {
|
|
184
256
|
const labels = FORMALIZATION_OPTION_LABELS[field];
|
|
@@ -284,16 +356,16 @@ function yearsSinceDMY(value, reference = /* @__PURE__ */ new Date()) {
|
|
|
284
356
|
}
|
|
285
357
|
|
|
286
358
|
// src/shared/regex/index.ts
|
|
287
|
-
var cpfSchema =
|
|
288
|
-
var cnpjSchema =
|
|
289
|
-
var cpfCnpjSchema =
|
|
359
|
+
var cpfSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.cpf.test(v), "CPF inv\xE1lido").refine(isValidCPF, "CPF inv\xE1lido");
|
|
360
|
+
var cnpjSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.cnpj.test(v), "CNPJ inv\xE1lido").refine(isValidCNPJ, "CNPJ inv\xE1lido");
|
|
361
|
+
var cpfCnpjSchema = requiredString().transform(onlyDigits).refine(
|
|
290
362
|
(v) => PATTERNS.cpf.test(v) || PATTERNS.cnpj.test(v),
|
|
291
363
|
"Documento deve ter 11 (CPF) ou 14 (CNPJ) d\xEDgitos"
|
|
292
364
|
).refine((v) => v.length === 11 ? isValidCPF(v) : isValidCNPJ(v), "Documento inv\xE1lido");
|
|
293
|
-
var cepSchema =
|
|
294
|
-
var phoneBRSchema =
|
|
295
|
-
var emailSchema =
|
|
296
|
-
var dateDMYSchema =
|
|
365
|
+
var cepSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.cep.test(v), "CEP inv\xE1lido");
|
|
366
|
+
var phoneBRSchema = requiredString().transform(onlyDigits).refine((v) => PATTERNS.phoneBR.test(v), "Telefone inv\xE1lido");
|
|
367
|
+
var emailSchema = requiredString().trim().refine((v) => PATTERNS.email.test(v), "E-mail inv\xE1lido");
|
|
368
|
+
var dateDMYSchema = requiredString().refine((v) => PATTERNS.dateDMY.test(v), "Data inv\xE1lida").refine((v) => parseDMY(v) !== null, "Data inexistente no calend\xE1rio");
|
|
297
369
|
var birthDateSchema = dateDMYSchema.refine(
|
|
298
370
|
(v) => isAdultDMY(v),
|
|
299
371
|
"\xC9 necess\xE1rio ser maior de idade (18+)"
|
|
@@ -302,8 +374,8 @@ var issueDateSchema = dateDMYSchema.refine(
|
|
|
302
374
|
(v) => isNotFutureDMY(v),
|
|
303
375
|
"Data de emiss\xE3o n\xE3o pode ser futura"
|
|
304
376
|
);
|
|
305
|
-
var currencySchema = zod.z.number({ invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
|
|
306
|
-
zod.z.number().int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
|
|
377
|
+
var currencySchema = zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor monet\xE1rio inv\xE1lido" }).positive("Valor deve ser positivo");
|
|
378
|
+
zod.z.number({ required_error: REQUIRED_MESSAGE, invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).int("Deve ser um n\xFAmero inteiro").min(1, "M\xEDnimo 1").max(28, "M\xE1ximo 28");
|
|
307
379
|
|
|
308
380
|
// src/domains/financing/formalization/refinements.ts
|
|
309
381
|
var RG_MAX_EMISSION_YEARS = 10;
|
|
@@ -326,7 +398,18 @@ function applyPartnerRefinement(data, ctx) {
|
|
|
326
398
|
}
|
|
327
399
|
}
|
|
328
400
|
function applyCommonRefinements(data, ctx) {
|
|
329
|
-
|
|
401
|
+
const accountInThirdPartyName = data.energy_account_in_requester_name === "sim";
|
|
402
|
+
if (!accountInThirdPartyName) {
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
405
|
+
if (!data.proof_kinship_type) {
|
|
406
|
+
ctx.addIssue({
|
|
407
|
+
code: zod.z.ZodIssueCode.custom,
|
|
408
|
+
path: ["proof_kinship_type"],
|
|
409
|
+
message: "Tipo de comprovante \xE9 obrigat\xF3rio quando a conta est\xE1 em nome de terceiro"
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
if (!data.proof_kinship) {
|
|
330
413
|
ctx.addIssue({
|
|
331
414
|
code: zod.z.ZodIssueCode.custom,
|
|
332
415
|
path: ["proof_kinship"],
|
|
@@ -358,23 +441,9 @@ function applyPfRefinements(data, ctx) {
|
|
|
358
441
|
function applyPjRefinements(data, ctx) {
|
|
359
442
|
applyCommonRefinements(data, ctx);
|
|
360
443
|
}
|
|
361
|
-
function textField(maxLength) {
|
|
362
|
-
const base = zod.z.string().trim().min(1, "Campo obrigat\xF3rio");
|
|
363
|
-
return maxLength === void 0 ? base : base.max(maxLength, `M\xE1ximo ${maxLength} caracteres`);
|
|
364
|
-
}
|
|
365
|
-
var numberField = zod.z.number({ invalid_type_error: "Valor num\xE9rico inv\xE1lido" }).nonnegative("Valor n\xE3o pode ser negativo");
|
|
366
|
-
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");
|
|
367
|
-
var MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
368
|
-
var ACCEPTED_UPLOAD_MIME = ["image/jpeg", "image/png", "application/pdf"];
|
|
369
|
-
var fileUploadField = zod.z.object({
|
|
370
|
-
url: zod.z.string().url().optional(),
|
|
371
|
-
mime: zod.z.enum(ACCEPTED_UPLOAD_MIME, {
|
|
372
|
-
errorMap: () => ({ message: "Formato deve ser JPEG, PNG ou PDF" })
|
|
373
|
-
}),
|
|
374
|
-
sizeBytes: zod.z.number().max(MAX_UPLOAD_BYTES, "Arquivo deve ter no m\xE1ximo 5MB")
|
|
375
|
-
});
|
|
376
444
|
var formalizationExtras = {
|
|
377
445
|
voucher_local_installation_address: fileUploadField,
|
|
446
|
+
proof_kinship_type: ProofKinshipTypeEnum.optional(),
|
|
378
447
|
proof_kinship: fileUploadField.optional(),
|
|
379
448
|
document_front_upload: fileUploadField,
|
|
380
449
|
document_back_upload: fileUploadField,
|
|
@@ -1414,7 +1483,7 @@ var unifiedPfObject = zod.z.object({
|
|
|
1414
1483
|
complement: textField(15).optional(),
|
|
1415
1484
|
mother_name: textField(),
|
|
1416
1485
|
district: textField(),
|
|
1417
|
-
energy_account_in_requester_name:
|
|
1486
|
+
energy_account_in_requester_name: YesOrNoEnum,
|
|
1418
1487
|
city: textField(),
|
|
1419
1488
|
energy_bill_owner_document: cpfCnpjSchema.optional(),
|
|
1420
1489
|
state: UfEnum,
|
|
@@ -1665,6 +1734,12 @@ var FORMALIZATION_FIELD_META = {
|
|
|
1665
1734
|
step: 1,
|
|
1666
1735
|
placeholder: "Selecione uma op\xE7\xE3o"
|
|
1667
1736
|
},
|
|
1737
|
+
proof_kinship_type: {
|
|
1738
|
+
kind: "select",
|
|
1739
|
+
label: "Tipo de comprovante",
|
|
1740
|
+
step: 1,
|
|
1741
|
+
placeholder: "Selecione uma op\xE7\xE3o"
|
|
1742
|
+
},
|
|
1668
1743
|
proof_kinship: {
|
|
1669
1744
|
kind: "file",
|
|
1670
1745
|
label: "Documento de v\xEDnculo com o titular",
|
package/index.mjs
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
export { BANK_SLUGS, BankEnum, FORMALIZATION_FIELD_META, FORMALIZATION_OPTION_LABELS, NATIONALITY_BRAZIL, UNIFIED_SLUG, getFieldOptions, getFormalizationBaseSchema, getFormalizationSchema, pfBaseSchemaRegistry, pfSchemaRegistry, pjBaseSchemaRegistry, pjSchemaRegistry } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
export { unifiedPfObject, unifiedPfSchema } from './chunk-
|
|
9
|
-
export { unifiedPjObject, unifiedPjSchema } from './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-
|
|
26
|
-
import './chunk-
|
|
27
|
-
import './chunk-
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
30
|
-
import './chunk-
|
|
31
|
-
import './chunk-
|
|
32
|
-
import './chunk-
|
|
33
|
-
export { CIVIL_STATUS_REQUIRING_PARTNER, OCCUPATIONS_REQUIRING_CNPJ, PARTNER_FIELDS, applyPfRefinements, applyPjRefinements } from './chunk-
|
|
1
|
+
export { BANK_SLUGS, BankEnum, FORMALIZATION_FIELD_META, FORMALIZATION_OPTION_LABELS, NATIONALITY_BRAZIL, UNIFIED_SLUG, getFieldOptions, getFormalizationBaseSchema, getFormalizationSchema, pfBaseSchemaRegistry, pfSchemaRegistry, pjBaseSchemaRegistry, pjSchemaRegistry } from './chunk-AQ43O5UO.mjs';
|
|
2
|
+
import './chunk-T2MFLA6J.mjs';
|
|
3
|
+
import './chunk-GVOOT43S.mjs';
|
|
4
|
+
import './chunk-UYCCHEM5.mjs';
|
|
5
|
+
import './chunk-LOEAPRSO.mjs';
|
|
6
|
+
import './chunk-ZQ2PKLTM.mjs';
|
|
7
|
+
import './chunk-O5XQR5HN.mjs';
|
|
8
|
+
export { unifiedPfObject, unifiedPfSchema } from './chunk-Y7TQ2NQ2.mjs';
|
|
9
|
+
export { unifiedPjObject, unifiedPjSchema } from './chunk-E7JXDCBO.mjs';
|
|
10
|
+
import './chunk-LEUH6IFB.mjs';
|
|
11
|
+
import './chunk-K23FTEKB.mjs';
|
|
12
|
+
import './chunk-WPJOW7IE.mjs';
|
|
13
|
+
import './chunk-X4LHQVVJ.mjs';
|
|
14
|
+
import './chunk-66Y3FO5R.mjs';
|
|
15
|
+
import './chunk-PY7IUNIU.mjs';
|
|
16
|
+
import './chunk-BRBOOPFN.mjs';
|
|
17
|
+
import './chunk-XVITSWCY.mjs';
|
|
18
|
+
import './chunk-35IKZUF4.mjs';
|
|
19
|
+
import './chunk-OFCVHF6Z.mjs';
|
|
20
|
+
import './chunk-BITN6YDR.mjs';
|
|
21
|
+
import './chunk-BSG5DCL7.mjs';
|
|
22
|
+
import './chunk-ISJKYUMR.mjs';
|
|
23
|
+
import './chunk-ACJUTGEC.mjs';
|
|
24
|
+
import './chunk-W6J3SW2H.mjs';
|
|
25
|
+
import './chunk-57DSP6GG.mjs';
|
|
26
|
+
import './chunk-LVFKP46R.mjs';
|
|
27
|
+
import './chunk-RDLOQ6HV.mjs';
|
|
28
|
+
import './chunk-2ZKUSLGU.mjs';
|
|
29
|
+
import './chunk-QUBWDT4D.mjs';
|
|
30
|
+
import './chunk-SKSUT6CG.mjs';
|
|
31
|
+
import './chunk-JBTU6WKN.mjs';
|
|
32
|
+
import './chunk-CSGG5DZE.mjs';
|
|
33
|
+
export { CIVIL_STATUS_REQUIRING_PARTNER, OCCUPATIONS_REQUIRING_CNPJ, PARTNER_FIELDS, applyPfRefinements, applyPjRefinements } from './chunk-5YFVPFSM.mjs';
|
package/package.json
CHANGED