opf-validator 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +143 -0
  2. package/dist/consent/index.d.ts +9 -0
  3. package/dist/consent/index.d.ts.map +1 -0
  4. package/dist/consent/index.js +12 -0
  5. package/dist/consent/index.js.map +1 -0
  6. package/dist/consent/successResponses/index.d.ts +89 -0
  7. package/dist/consent/successResponses/index.d.ts.map +1 -0
  8. package/dist/consent/successResponses/index.js +6 -0
  9. package/dist/consent/successResponses/index.js.map +1 -0
  10. package/dist/consent/validators/createConsent.d.ts +31 -0
  11. package/dist/consent/validators/createConsent.d.ts.map +1 -0
  12. package/dist/consent/validators/createConsent.js +205 -0
  13. package/dist/consent/validators/createConsent.js.map +1 -0
  14. package/dist/consent/validators/createConsentExtensions.d.ts +33 -0
  15. package/dist/consent/validators/createConsentExtensions.d.ts.map +1 -0
  16. package/dist/consent/validators/createConsentExtensions.js +193 -0
  17. package/dist/consent/validators/createConsentExtensions.js.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +60 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/payments/index.d.ts +11 -0
  23. package/dist/payments/index.d.ts.map +1 -0
  24. package/dist/payments/index.js +18 -0
  25. package/dist/payments/index.js.map +1 -0
  26. package/dist/payments/successResponses/index.d.ts +129 -0
  27. package/dist/payments/successResponses/index.d.ts.map +1 -0
  28. package/dist/payments/successResponses/index.js +6 -0
  29. package/dist/payments/successResponses/index.js.map +1 -0
  30. package/dist/payments/validators/createPaymentConsent.d.ts +66 -0
  31. package/dist/payments/validators/createPaymentConsent.d.ts.map +1 -0
  32. package/dist/payments/validators/createPaymentConsent.js +508 -0
  33. package/dist/payments/validators/createPaymentConsent.js.map +1 -0
  34. package/dist/payments/validators/createPixPayment.d.ts +35 -0
  35. package/dist/payments/validators/createPixPayment.d.ts.map +1 -0
  36. package/dist/payments/validators/createPixPayment.js +342 -0
  37. package/dist/payments/validators/createPixPayment.js.map +1 -0
  38. package/dist/payments/validators/patchPixPayment.d.ts +40 -0
  39. package/dist/payments/validators/patchPixPayment.d.ts.map +1 -0
  40. package/dist/payments/validators/patchPixPayment.js +191 -0
  41. package/dist/payments/validators/patchPixPayment.js.map +1 -0
  42. package/dist/recurring-payments/index.d.ts +13 -0
  43. package/dist/recurring-payments/index.d.ts.map +1 -0
  44. package/dist/recurring-payments/index.js +17 -0
  45. package/dist/recurring-payments/index.js.map +1 -0
  46. package/dist/recurring-payments/successResponses/index.d.ts +175 -0
  47. package/dist/recurring-payments/successResponses/index.d.ts.map +1 -0
  48. package/dist/recurring-payments/successResponses/index.js +6 -0
  49. package/dist/recurring-payments/successResponses/index.js.map +1 -0
  50. package/dist/recurring-payments/validators/createRecurringConsent.d.ts +96 -0
  51. package/dist/recurring-payments/validators/createRecurringConsent.d.ts.map +1 -0
  52. package/dist/recurring-payments/validators/createRecurringConsent.js +663 -0
  53. package/dist/recurring-payments/validators/createRecurringConsent.js.map +1 -0
  54. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts +19 -0
  55. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts.map +1 -0
  56. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js +41 -0
  57. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js.map +1 -0
  58. package/dist/recurring-payments/validators/patchPixPayment.d.ts +38 -0
  59. package/dist/recurring-payments/validators/patchPixPayment.d.ts.map +1 -0
  60. package/dist/recurring-payments/validators/patchPixPayment.js +123 -0
  61. package/dist/recurring-payments/validators/patchPixPayment.js.map +1 -0
  62. package/dist/recurring-payments/validators/patchRecurringConsent.d.ts +87 -0
  63. package/dist/recurring-payments/validators/patchRecurringConsent.d.ts.map +1 -0
  64. package/dist/recurring-payments/validators/patchRecurringConsent.js +555 -0
  65. package/dist/recurring-payments/validators/patchRecurringConsent.js.map +1 -0
  66. package/dist/utils/openFinanceErrors.d.ts +84 -0
  67. package/dist/utils/openFinanceErrors.d.ts.map +1 -0
  68. package/dist/utils/openFinanceErrors.js +85 -0
  69. package/dist/utils/openFinanceErrors.js.map +1 -0
  70. package/dist/utils/paymentErrors.d.ts +9 -0
  71. package/dist/utils/paymentErrors.d.ts.map +1 -0
  72. package/dist/utils/paymentErrors.js +13 -0
  73. package/dist/utils/paymentErrors.js.map +1 -0
  74. package/dist/utils/successResponses.d.ts +52 -0
  75. package/dist/utils/successResponses.d.ts.map +1 -0
  76. package/dist/utils/successResponses.js +6 -0
  77. package/dist/utils/successResponses.js.map +1 -0
  78. package/dist/utils/validateHeaderParameters.d.ts +51 -0
  79. package/dist/utils/validateHeaderParameters.d.ts.map +1 -0
  80. package/dist/utils/validateHeaderParameters.js +142 -0
  81. package/dist/utils/validateHeaderParameters.js.map +1 -0
  82. package/dist/utils/validationHelpers.d.ts +89 -0
  83. package/dist/utils/validationHelpers.d.ts.map +1 -0
  84. package/dist/utils/validationHelpers.js +376 -0
  85. package/dist/utils/validationHelpers.js.map +1 -0
  86. package/package.json +20 -0
@@ -0,0 +1,376 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEADER_VALIDATION_RULES = exports.validateHeaderOptional = exports.validateHeaderRequired = exports.validateHeader = exports.validateHeaders = void 0;
4
+ exports.validateCPF = validateCPF;
5
+ exports.validateCNPJ = validateCNPJ;
6
+ exports.validateDocumentIdentification = validateDocumentIdentification;
7
+ exports.validateDocumentType = validateDocumentType;
8
+ exports.validateDate = validateDate;
9
+ exports.validateDateTime = validateDateTime;
10
+ exports.validateTimeFormat = validateTimeFormat;
11
+ exports.validateAmount = validateAmount;
12
+ exports.validateCurrency = validateCurrency;
13
+ exports.validateISPB = validateISPB;
14
+ exports.validateAccountNumber = validateAccountNumber;
15
+ exports.validateIssuer = validateIssuer;
16
+ exports.validateAccountType = validateAccountType;
17
+ exports.validateEnum = validateEnum;
18
+ exports.validateTimeZoneOffset = validateTimeZoneOffset;
19
+ exports.validateScreenDimensions = validateScreenDimensions;
20
+ exports.validateString = validateString;
21
+ exports.validateEndToEndId = validateEndToEndId;
22
+ exports.validateTransactionIdentification = validateTransactionIdentification;
23
+ exports.validateObjectType = validateObjectType;
24
+ const openFinanceErrors_1 = require("./openFinanceErrors");
25
+ /**
26
+ * Validadores compartilhados para reutilização em todos os validadores
27
+ */
28
+ /**
29
+ * Valida CPF (11 dígitos)
30
+ */
31
+ function validateCPF(cpf, fieldName = "cpf") {
32
+ const errors = [];
33
+ if (typeof cpf !== "string") {
34
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
35
+ return errors;
36
+ }
37
+ if (cpf.length !== 11) {
38
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "CPF deve ter 11 dígitos"));
39
+ }
40
+ if (!/^\d{11}$/.test(cpf)) {
41
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "CPF deve conter apenas dígitos"));
42
+ }
43
+ return errors;
44
+ }
45
+ /**
46
+ * Valida CNPJ (14 caracteres alfanuméricos)
47
+ */
48
+ function validateCNPJ(cnpj, fieldName = "cnpj") {
49
+ const errors = [];
50
+ if (typeof cnpj !== "string") {
51
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
52
+ return errors;
53
+ }
54
+ if (cnpj.length !== 14) {
55
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "CNPJ deve ter 14 caracteres"));
56
+ }
57
+ if (!/^[0-9A-Z]{12}[0-9]{2}$/.test(cnpj)) {
58
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Formato de CNPJ inválido"));
59
+ }
60
+ return errors;
61
+ }
62
+ /**
63
+ * Valida documento (CPF ou CNPJ)
64
+ */
65
+ function validateDocumentIdentification(identification, fieldName = "identification") {
66
+ const errors = [];
67
+ if (typeof identification !== "string") {
68
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
69
+ return errors;
70
+ }
71
+ const isCPF = /^\d{11}$/.test(identification);
72
+ const isCNPJ = /^[0-9A-Z]{12}[0-9]{2}$/.test(identification);
73
+ if (!isCPF && !isCNPJ) {
74
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser um CPF (11 dígitos) ou CNPJ (14 caracteres) válido"));
75
+ }
76
+ return errors;
77
+ }
78
+ /**
79
+ * Valida tipo de documento (CPF ou CNPJ)
80
+ */
81
+ function validateDocumentType(rel, fieldName = "rel", allowedTypes = ["CPF", "CNPJ"]) {
82
+ const errors = [];
83
+ if (typeof rel !== "string") {
84
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
85
+ return errors;
86
+ }
87
+ if (!allowedTypes.includes(rel)) {
88
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, `Deve ser um de: ${allowedTypes.join(", ")}`));
89
+ }
90
+ return errors;
91
+ }
92
+ /**
93
+ * Valida data no formato YYYY-MM-DD
94
+ */
95
+ function validateDate(date, fieldName = "date") {
96
+ const errors = [];
97
+ if (typeof date !== "string") {
98
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
99
+ return errors;
100
+ }
101
+ const datePattern = /^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$/;
102
+ if (!datePattern.test(date)) {
103
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve estar no formato YYYY-MM-DD"));
104
+ }
105
+ return errors;
106
+ }
107
+ /**
108
+ * Valida data/hora no formato RFC-3339 (YYYY-MM-DDTHH:mm:ssZ)
109
+ */
110
+ function validateDateTime(dateTime, fieldName = "dateTime", maxLength = 20) {
111
+ const errors = [];
112
+ if (typeof dateTime !== "string") {
113
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
114
+ return errors;
115
+ }
116
+ if (dateTime.length > maxLength) {
117
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, `Tamanho máximo excedido (${maxLength} caracteres)`));
118
+ }
119
+ const dateTimePattern = /^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$/;
120
+ if (!dateTimePattern.test(dateTime)) {
121
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve estar no formato RFC-3339 com timezone UTC (YYYY-MM-DDTHH:mm:ssZ)"));
122
+ }
123
+ return errors;
124
+ }
125
+ /**
126
+ * Valida hora especificada (formato HH:mm:ss)
127
+ */
128
+ function validateTimeFormat(time, expectedHour, expectedMinute, expectedSecond, fieldName = "time") {
129
+ const match = time.match(/T(\d{2}):(\d{2}):(\d{2})Z$/);
130
+ if (!match)
131
+ return false;
132
+ const hour = parseInt(match[1]);
133
+ const minute = parseInt(match[2]);
134
+ const second = parseInt(match[3]);
135
+ return hour === expectedHour && minute === expectedMinute && second === expectedSecond;
136
+ }
137
+ /**
138
+ * Valida amount (formato monetário: \d{1,16}\.\d{2})
139
+ */
140
+ function validateAmount(amount, fieldName = "amount", maxLength = 19) {
141
+ const errors = [];
142
+ if (typeof amount !== "string") {
143
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
144
+ return errors;
145
+ }
146
+ const amountPattern = /^(\d{1,16}\.\d{2})$/;
147
+ if (!amountPattern.test(amount)) {
148
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve estar no formato correto com 2 casas decimais"));
149
+ }
150
+ if (amount.length > maxLength) {
151
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Tamanho máximo excedido"));
152
+ }
153
+ return errors;
154
+ }
155
+ /**
156
+ * Valida moeda (deve ser BRL)
157
+ */
158
+ function validateCurrency(currency, fieldName = "currency") {
159
+ const errors = [];
160
+ if (typeof currency !== "string") {
161
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
162
+ return errors;
163
+ }
164
+ const currencyPattern = /^([A-Z]{3})$/;
165
+ if (!currencyPattern.test(currency)) {
166
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser um código ISO-4217 de 3 caracteres"));
167
+ }
168
+ else if (currency !== "BRL") {
169
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Apenas BRL é permitido"));
170
+ }
171
+ return errors;
172
+ }
173
+ /**
174
+ * Valida ISPB (8 caracteres)
175
+ */
176
+ function validateISPB(ispb, fieldName = "ispb") {
177
+ const errors = [];
178
+ if (typeof ispb !== "string") {
179
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
180
+ return errors;
181
+ }
182
+ if (ispb.length !== 8) {
183
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ter exatamente 8 caracteres"));
184
+ }
185
+ const ispbPattern = /^[0-9A-Z]{8}$/;
186
+ if (!ispbPattern.test(ispb)) {
187
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve conter apenas números e letras maiúsculas"));
188
+ }
189
+ return errors;
190
+ }
191
+ /**
192
+ * Valida número de conta (1-20 dígitos)
193
+ */
194
+ function validateAccountNumber(number, fieldName = "number") {
195
+ const errors = [];
196
+ if (typeof number !== "string") {
197
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
198
+ return errors;
199
+ }
200
+ if (number.length < 1 || number.length > 20) {
201
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ter entre 1 e 20 caracteres"));
202
+ }
203
+ const numberPattern = /^[0-9]{1,20}$/;
204
+ if (!numberPattern.test(number)) {
205
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve conter apenas dígitos"));
206
+ }
207
+ return errors;
208
+ }
209
+ /**
210
+ * Valida issuer/agência (1-4 dígitos)
211
+ */
212
+ function validateIssuer(issuer, fieldName = "issuer") {
213
+ const errors = [];
214
+ if (typeof issuer !== "string") {
215
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
216
+ return errors;
217
+ }
218
+ if (issuer.length < 1 || issuer.length > 4) {
219
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ter entre 1 e 4 caracteres"));
220
+ }
221
+ const issuerPattern = /^[0-9]{1,4}$/;
222
+ if (!issuerPattern.test(issuer)) {
223
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve conter apenas dígitos"));
224
+ }
225
+ return errors;
226
+ }
227
+ /**
228
+ * Valida tipo de conta
229
+ */
230
+ function validateAccountType(accountType, fieldName = "accountType", validTypes = ["CACC", "SVGS", "TRAN"]) {
231
+ const errors = [];
232
+ if (typeof accountType !== "string") {
233
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
234
+ return errors;
235
+ }
236
+ if (!validTypes.includes(accountType)) {
237
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, `Deve ser um de: ${validTypes.join(", ")}`));
238
+ }
239
+ return errors;
240
+ }
241
+ /**
242
+ * Valida string contra enum
243
+ */
244
+ function validateEnum(value, validValues, fieldName) {
245
+ const errors = [];
246
+ if (typeof value !== "string") {
247
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
248
+ return errors;
249
+ }
250
+ if (!validValues.includes(value)) {
251
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, `Deve ser um de: ${validValues.join(", ")}`));
252
+ }
253
+ return errors;
254
+ }
255
+ /**
256
+ * Valida offset de timezone (±hh:mm ou ±hh)
257
+ */
258
+ function validateTimeZoneOffset(offset, fieldName = "userTimeZoneOffset") {
259
+ const errors = [];
260
+ if (typeof offset !== "string") {
261
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
262
+ return errors;
263
+ }
264
+ const offsetPattern = /^[+-](0?[0-9]|1[0-9]|2[0-3])(:[0-5][0-9])?$/;
265
+ if (!offsetPattern.test(offset)) {
266
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve estar no formato ±hh[:mm]"));
267
+ }
268
+ return errors;
269
+ }
270
+ /**
271
+ * Valida dimensões de tela (height e width inteiros)
272
+ */
273
+ function validateScreenDimensions(dimensions, fieldName = "screenDimensions") {
274
+ const errors = [];
275
+ if (typeof dimensions !== "object" || dimensions === null) {
276
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser um objeto"));
277
+ return errors;
278
+ }
279
+ if (dimensions.height === undefined) {
280
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${fieldName}.height`));
281
+ }
282
+ else if (!Number.isInteger(dimensions.height) || dimensions.height <= 0) {
283
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${fieldName}.height`, "Deve ser um número inteiro positivo"));
284
+ }
285
+ if (dimensions.width === undefined) {
286
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO(`${fieldName}.width`));
287
+ }
288
+ else if (!Number.isInteger(dimensions.width) || dimensions.width <= 0) {
289
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`${fieldName}.width`, "Deve ser um número inteiro positivo"));
290
+ }
291
+ return errors;
292
+ }
293
+ /**
294
+ * Valida string com tamanho máximo
295
+ */
296
+ function validateString(value, fieldName, maxLength, minLength = 0) {
297
+ const errors = [];
298
+ if (typeof value !== "string") {
299
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
300
+ return errors;
301
+ }
302
+ if (value.length < minLength) {
303
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, `Deve ter no mínimo ${minLength} caracteres`));
304
+ }
305
+ if (maxLength && value.length > maxLength) {
306
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, `Deve ter no máximo ${maxLength} caracteres`));
307
+ }
308
+ return errors;
309
+ }
310
+ /**
311
+ * Valida EndToEndId no formato Pix (32 caracteres)
312
+ */
313
+ function validateEndToEndId(endToEndId, fieldName = "endToEndId", exact32 = true) {
314
+ const errors = [];
315
+ if (typeof endToEndId !== "string") {
316
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
317
+ return errors;
318
+ }
319
+ if (exact32) {
320
+ if (endToEndId.length !== 32) {
321
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ter exatamente 32 caracteres"));
322
+ }
323
+ const endToEndIdPattern = /^([E])([0-9A-Z]{8})([0-9]{4})(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(2[0-3]|[01][0-9])([0-5][0-9])([a-zA-Z0-9]{11})$/;
324
+ if (!endToEndIdPattern.test(endToEndId)) {
325
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve estar no formato ExxxxxxxxyyyyMMddHHmmkkkkkkkkkkk (case-sensitive)"));
326
+ }
327
+ }
328
+ else {
329
+ if (endToEndId.length < 1 || endToEndId.length > 36) {
330
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ter entre 1 e 36 caracteres"));
331
+ }
332
+ const endToEndIdPattern = /^[a-zA-Z0-9]{1,36}$/;
333
+ if (!endToEndIdPattern.test(endToEndId)) {
334
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve conter apenas caracteres alfanuméricos"));
335
+ }
336
+ }
337
+ return errors;
338
+ }
339
+ /**
340
+ * Valida transactionIdentification (1-35 caracteres alfanuméricos)
341
+ */
342
+ function validateTransactionIdentification(transId, fieldName = "transactionIdentification") {
343
+ const errors = [];
344
+ if (typeof transId !== "string") {
345
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser uma string"));
346
+ return errors;
347
+ }
348
+ if (transId.length < 1 || transId.length > 35) {
349
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ter entre 1 e 35 caracteres"));
350
+ }
351
+ const transIdPattern = /^[a-zA-Z0-9]{1,35}$/;
352
+ if (!transIdPattern.test(transId)) {
353
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve conter apenas caracteres alfanuméricos"));
354
+ }
355
+ return errors;
356
+ }
357
+ /**
358
+ * Valida que um objeto é do tipo correto
359
+ */
360
+ function validateObjectType(value, fieldName) {
361
+ const errors = [];
362
+ if (typeof value !== "object" || value === null) {
363
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(fieldName, "Deve ser um objeto"));
364
+ }
365
+ return errors;
366
+ }
367
+ /**
368
+ * Exportação da função de validação de headers de requisição
369
+ */
370
+ var validateHeaderParameters_1 = require("./validateHeaderParameters");
371
+ Object.defineProperty(exports, "validateHeaders", { enumerable: true, get: function () { return validateHeaderParameters_1.validateHeaders; } });
372
+ Object.defineProperty(exports, "validateHeader", { enumerable: true, get: function () { return validateHeaderParameters_1.validateHeader; } });
373
+ Object.defineProperty(exports, "validateHeaderRequired", { enumerable: true, get: function () { return validateHeaderParameters_1.validateHeaderRequired; } });
374
+ Object.defineProperty(exports, "validateHeaderOptional", { enumerable: true, get: function () { return validateHeaderParameters_1.validateHeaderOptional; } });
375
+ Object.defineProperty(exports, "HEADER_VALIDATION_RULES", { enumerable: true, get: function () { return validateHeaderParameters_1.HEADER_VALIDATION_RULES; } });
376
+ //# sourceMappingURL=validationHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationHelpers.js","sourceRoot":"","sources":["../../src/utils/validationHelpers.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "opf-validator",
3
+ "version": "0.0.1",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "files": ["dist"],
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "test": "jest",
10
+ "test:watch": "jest --watch",
11
+ "test:coverage": "jest --coverage"
12
+ },
13
+ "license": "ISC",
14
+ "devDependencies": {
15
+ "@types/jest": "^30.0.0",
16
+ "jest": "^29.7.0",
17
+ "ts-jest": "^29.4.6",
18
+ "typescript": "^5.9.3"
19
+ }
20
+ }