@cargolift-cdi/lib-payload 0.1.0 → 0.1.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.
- package/README.md +148 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/payload-validation/payload-validation.interface.js +3 -0
- package/dist/cjs/payload-validation/payload-validation.interface.js.map +1 -0
- package/dist/cjs/payload-validation/payload-validation.js +53 -64
- package/dist/cjs/payload-validation/payload-validation.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/payload-validation/payload-validation.interface.js +2 -0
- package/dist/esm/payload-validation/payload-validation.interface.js.map +1 -0
- package/dist/esm/payload-validation/payload-validation.js +53 -64
- package/dist/esm/payload-validation/payload-validation.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/payload-validation/payload-validation.d.ts +1 -2
- package/dist/types/payload-validation/payload-validation.interface.d.ts +33 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# @cargolift-cdi/lib-payload · PayloadValidation
|
|
2
|
+
|
|
3
|
+
Biblioteca utilizada pelos serviços do middleware para validar payloads antes de publicá-los ou processá-los. O `PayloadValidation` aplica regras declarativas, suporta objetos ou strings JSON e retorna um relatório padronizado com todos os erros encontrados.
|
|
4
|
+
|
|
5
|
+
## Instalação
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @cargolift-cdi/lib-payload
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Uso rápido
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { PayloadValidation, Schema } from "@cargolift-cdi/lib-payload";
|
|
15
|
+
|
|
16
|
+
const schema: Schema = {
|
|
17
|
+
validations: [
|
|
18
|
+
{ field: "order/id", required: true, type: "string", length: { min: 3, max: 36 } },
|
|
19
|
+
{ field: "items", type: "array", minItems: 1 },
|
|
20
|
+
{ field: "items/qty", type: "number", range: { min: 1 }, message: "Quantidade mínima por item é 1" },
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const validator = new PayloadValidation();
|
|
25
|
+
const result = await validator.run(payloadOuJson, schema);
|
|
26
|
+
|
|
27
|
+
if (!result.success) {
|
|
28
|
+
console.error(result.errorsList);
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Campos disponíveis no schema
|
|
33
|
+
|
|
34
|
+
| Propriedade | Uso |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| `field` | Caminho do campo. Use `/` para navegar entre níveis (ex.: `address/city`). Arrays são percorridos automaticamente: `items/qty` valida cada `qty` dentro de `items`. |
|
|
37
|
+
| `required` | Garante presença do campo. |
|
|
38
|
+
| `allowNull` | Quando `false`, recusa valores `null` mesmo que o campo exista. |
|
|
39
|
+
| `type` | Valida o tipo do conteúdo. Tipos suportados: `string`, `number`, `boolean`, `date`, `dateISO`, `object`, `array`, `email`. |
|
|
40
|
+
| `length` | Restrições para strings (`min`, `max`). |
|
|
41
|
+
| `range` | Faixas para números (`min`, `max`). |
|
|
42
|
+
| `minItems` / `maxItems` | Controle de tamanho de arrays. |
|
|
43
|
+
| `allowedValues` | Lista de valores aceitos. Combina com `ignoreCase` para strings. |
|
|
44
|
+
| `ignoreCase` | Quando `true`, compara `allowedValues` sem diferenciar maiúsculas/minúsculas. |
|
|
45
|
+
| `pattern` | Expressão regular aplicada ao valor (somente strings). |
|
|
46
|
+
| `message` | Mensagem personalizada exibida quando a regra falhar. |
|
|
47
|
+
|
|
48
|
+
## Como os caminhos são avaliados
|
|
49
|
+
|
|
50
|
+
- `customer/name` acessa propriedades aninhadas.
|
|
51
|
+
- `contacts/type` aplica a regra a cada item da coleção `contacts`.
|
|
52
|
+
- Valores inexistentes retornam `undefined`, permitindo diferenciar campos ausentes de campos nulos (`allowNull`).
|
|
53
|
+
|
|
54
|
+
## Tipos especiais
|
|
55
|
+
|
|
56
|
+
- `date`: aceita objetos `Date` ou strings `DD/MM/YYYY`, `DD-MM-YYYY` e formatos reconhecidos por `Date.parse`.
|
|
57
|
+
- `dateISO`: exige ISO 8601 (`2025-11-05T14:48:00.000Z`).
|
|
58
|
+
- `email`: aplica regex simples `user@domain`.
|
|
59
|
+
|
|
60
|
+
## Exemplos práticos
|
|
61
|
+
|
|
62
|
+
### 1. Validando um payload bruto (string JSON)
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
const rawPayload = '{"order":{"id":"ORD-9","value":0},"items":[]}';
|
|
66
|
+
|
|
67
|
+
const schema: Schema = {
|
|
68
|
+
validations: [
|
|
69
|
+
{ field: "order/id", required: true, type: "string" },
|
|
70
|
+
{ field: "order/value", type: "number", range: { min: 1 }, message: "Valor mínimo do pedido é 1" },
|
|
71
|
+
{ field: "items", type: "array", minItems: 1 },
|
|
72
|
+
],
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const validation = new PayloadValidation();
|
|
76
|
+
const result = await validation.run(rawPayload, schema);
|
|
77
|
+
|
|
78
|
+
/* result.errors => [
|
|
79
|
+
{ field: 'order/value', value: 0, error: 'Valor mínimo do pedido é 1' },
|
|
80
|
+
{ field: 'items', value: [], error: "Campo 'items' deve conter ao menos 1 itens" }
|
|
81
|
+
] */
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 2. AllowedValues com ignoreCase e campos opcionais
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
const payload = {
|
|
88
|
+
status: "APPROVED",
|
|
89
|
+
channel: null,
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
const schema: Schema = {
|
|
93
|
+
validations: [
|
|
94
|
+
{
|
|
95
|
+
field: "status",
|
|
96
|
+
type: "string",
|
|
97
|
+
allowedValues: ["pending", "approved", "rejected"],
|
|
98
|
+
ignoreCase: true,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
field: "channel",
|
|
102
|
+
allowNull: false,
|
|
103
|
+
required: false,
|
|
104
|
+
type: "string",
|
|
105
|
+
message: "Canal precisa ser informado quando enviado",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const { success, errors } = await new PayloadValidation().run(payload, schema);
|
|
111
|
+
// success === false porque allowNull=false e channel veio como null
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Estrutura do resultado
|
|
115
|
+
|
|
116
|
+
`PayloadValidation.run()` retorna `ValidationResult`:
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
{
|
|
120
|
+
success: boolean;
|
|
121
|
+
errors: Array<{
|
|
122
|
+
field: string;
|
|
123
|
+
value: any; // valor que falhou
|
|
124
|
+
error: string; // mensagem final
|
|
125
|
+
rule?: SchemaValidation; // regra original (útil para auditorias)
|
|
126
|
+
}>;
|
|
127
|
+
errorsList: string[]; // mensagens simples
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
- Em caso de payload malformado (JSON inválido), o erro é registrado com `field = "_schema"` e `value` contém o conteúdo bruto.
|
|
132
|
+
- Nenhuma exceção é propagada para regras inválidas; a execução continua e todos os erros são agregados.
|
|
133
|
+
|
|
134
|
+
## Tratamento do payload
|
|
135
|
+
|
|
136
|
+
- Aceita objetos JavaScript ou strings JSON.
|
|
137
|
+
- Caso receba string, a biblioteca detecta o formato e tenta fazer `JSON.parse` (XML pode ser suportado futuramente, ver `detectType`).
|
|
138
|
+
- Falhas de parsing disparam `BusinessError` com código `INVALID_PAYLOAD`, permitindo padronizar a resposta HTTP ou o nack de mensagens.
|
|
139
|
+
|
|
140
|
+
## Testes
|
|
141
|
+
|
|
142
|
+
A suíte usa Vitest e cobre cenários básicos de schema, tipos e parsing.
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npm test
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Execute os testes antes de publicar (`npm prepublishOnly`) para garantir que regressões sejam detectadas.
|
package/dist/cjs/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./payload-validation/payload-validation.js"), exports);
|
|
18
|
+
__exportStar(require("./payload-validation/payload-validation.interface.js"), exports);
|
|
18
19
|
__exportStar(require("./response-template/response-template.js"), exports);
|
|
19
20
|
__exportStar(require("./util/util.js"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,2EAAyD;AACzD,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,uFAAqE;AACrE,2EAAyD;AACzD,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload-validation.interface.js","sourceRoot":"","sources":["../../../src/payload-validation/payload-validation.interface.ts"],"names":[],"mappings":""}
|
|
@@ -15,7 +15,7 @@ class PayloadValidation {
|
|
|
15
15
|
}
|
|
16
16
|
catch (err) {
|
|
17
17
|
ret.success = false;
|
|
18
|
-
ret.errors.push({ field: "_schema", error: err.message });
|
|
18
|
+
ret.errors.push({ field: "_schema", value: rawPayload, error: err.message });
|
|
19
19
|
}
|
|
20
20
|
ret.errorsList = ret.errors.map((e) => e.error);
|
|
21
21
|
return ret;
|
|
@@ -42,6 +42,10 @@ class PayloadValidation {
|
|
|
42
42
|
if (!fieldPath || typeof fieldPath !== "string")
|
|
43
43
|
return;
|
|
44
44
|
const values = this.resolvePathValues(payload, fieldPath);
|
|
45
|
+
if (rule.allowNull === false && values.some((v) => v === null)) {
|
|
46
|
+
this.pushError(result, fieldPath, values, `Campo '${fieldPath}' não pode ser nulo`, rule);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
45
49
|
if (this.validateRequired(values, fieldPath, rule, result))
|
|
46
50
|
return;
|
|
47
51
|
const allMissing = values.every((v) => v === undefined || v === null);
|
|
@@ -58,7 +62,7 @@ class PayloadValidation {
|
|
|
58
62
|
if (rule.required === true) {
|
|
59
63
|
const missing = values.length === 0 || values.some((v) => v === undefined || v === null);
|
|
60
64
|
if (missing) {
|
|
61
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' é obrigatório`, rule);
|
|
65
|
+
this.pushError(result, fieldPath, values, `Campo '${fieldPath}' é obrigatório`, rule);
|
|
62
66
|
return true;
|
|
63
67
|
}
|
|
64
68
|
}
|
|
@@ -71,11 +75,11 @@ class PayloadValidation {
|
|
|
71
75
|
try {
|
|
72
76
|
const typeOk = values.every((v) => this.checkType(v, expectedType));
|
|
73
77
|
if (!typeOk) {
|
|
74
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve ser do tipo '${expectedType}'`, rule);
|
|
78
|
+
this.pushError(result, fieldPath, values, `Campo '${fieldPath}' deve ser do tipo '${expectedType}'`, rule);
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
catch {
|
|
78
|
-
this.pushError(result, fieldPath, `Erro ao validar o tipo do campo '${fieldPath}'. Tipo inválido: '${rule.type}'`, rule);
|
|
82
|
+
this.pushError(result, fieldPath, values, `Erro ao validar o tipo do campo '${fieldPath}'. Tipo inválido: '${rule.type}'`, rule);
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
validateLength(values, fieldPath, rule, result) {
|
|
@@ -87,10 +91,10 @@ class PayloadValidation {
|
|
|
87
91
|
continue;
|
|
88
92
|
const len = v.length;
|
|
89
93
|
if (length.min != null && len < length.min) {
|
|
90
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve ter tamanho mínimo de ${length.min}`, rule);
|
|
94
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve ter tamanho mínimo de ${length.min}`, rule);
|
|
91
95
|
}
|
|
92
96
|
if (length.max != null && len > length.max) {
|
|
93
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve ter tamanho máximo de ${length.max}`, rule);
|
|
97
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve ter tamanho máximo de ${length.max}`, rule);
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
100
|
}
|
|
@@ -102,10 +106,10 @@ class PayloadValidation {
|
|
|
102
106
|
if (typeof v !== "number" || Number.isNaN(v))
|
|
103
107
|
continue;
|
|
104
108
|
if (range.min != null && v < range.min) {
|
|
105
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve ser maior ou igual a ${range.min}`, rule);
|
|
109
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve ser maior ou igual a ${range.min}`, rule);
|
|
106
110
|
}
|
|
107
111
|
if (range.max != null && v > range.max) {
|
|
108
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve ser menor ou igual a ${range.max}`, rule);
|
|
112
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve ser menor ou igual a ${range.max}`, rule);
|
|
109
113
|
}
|
|
110
114
|
}
|
|
111
115
|
}
|
|
@@ -119,24 +123,33 @@ class PayloadValidation {
|
|
|
119
123
|
continue;
|
|
120
124
|
const count = v.length;
|
|
121
125
|
if (minItems != null && count < minItems) {
|
|
122
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve conter ao menos ${minItems} itens`, rule);
|
|
126
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve conter ao menos ${minItems} itens`, rule);
|
|
123
127
|
}
|
|
124
128
|
if (maxItems != null && count > maxItems) {
|
|
125
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' deve conter no máximo ${maxItems} itens`, rule);
|
|
129
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve conter no máximo ${maxItems} itens`, rule);
|
|
126
130
|
}
|
|
127
131
|
}
|
|
128
132
|
}
|
|
129
133
|
validateAllowedValues(values, fieldPath, rule, result) {
|
|
130
134
|
const allowedValues = rule.allowedValues;
|
|
131
|
-
if (!Array.isArray(allowedValues) || allowedValues.length === 0)
|
|
135
|
+
if (!Array.isArray(allowedValues) || allowedValues.length === 0) {
|
|
132
136
|
return;
|
|
137
|
+
}
|
|
133
138
|
for (const v of values) {
|
|
134
139
|
if (v === undefined || v === null)
|
|
135
140
|
continue;
|
|
136
|
-
const
|
|
137
|
-
if (
|
|
138
|
-
if (
|
|
139
|
-
|
|
141
|
+
const valueType = typeof v;
|
|
142
|
+
if (valueType === "string" || valueType === "number") {
|
|
143
|
+
if (rule.ignoreCase === true && valueType === "string") {
|
|
144
|
+
const loweredAllowed = allowedValues.filter((av) => typeof av === "string").map((av) => av.toLowerCase());
|
|
145
|
+
if (!loweredAllowed.includes(v.toLowerCase())) {
|
|
146
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve ser um dos valores permitidos: ${allowedValues.join(", ")}`, rule);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
if (!allowedValues.includes(v)) {
|
|
151
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' deve ser um dos valores permitidos: ${allowedValues.join(", ")}`, rule);
|
|
152
|
+
}
|
|
140
153
|
}
|
|
141
154
|
}
|
|
142
155
|
}
|
|
@@ -158,12 +171,12 @@ class PayloadValidation {
|
|
|
158
171
|
if (typeof v !== "string")
|
|
159
172
|
continue;
|
|
160
173
|
if (!re.test(v)) {
|
|
161
|
-
this.pushError(result, fieldPath, `Campo '${fieldPath}' não corresponde ao padrão especificado`, rule);
|
|
174
|
+
this.pushError(result, fieldPath, v, `Campo '${fieldPath}' não corresponde ao padrão especificado`, rule);
|
|
162
175
|
}
|
|
163
176
|
}
|
|
164
177
|
}
|
|
165
|
-
pushError(result, field, defaultMessage, rule) {
|
|
166
|
-
result.errors.push({ field, error:
|
|
178
|
+
pushError(result, field, value, defaultMessage, rule) {
|
|
179
|
+
result.errors.push({ field, value: Array.isArray(value) ? value.join(", ") : value, error: rule?.message || defaultMessage, rule });
|
|
167
180
|
}
|
|
168
181
|
resolvePathValues(payload, fieldPath) {
|
|
169
182
|
if (!fieldPath)
|
|
@@ -171,7 +184,6 @@ class PayloadValidation {
|
|
|
171
184
|
const segments = fieldPath.split("/").filter(Boolean);
|
|
172
185
|
let current = [payload];
|
|
173
186
|
for (const seg of segments) {
|
|
174
|
-
const { key, filter } = this.parseSegment(seg);
|
|
175
187
|
const next = [];
|
|
176
188
|
for (const v of current) {
|
|
177
189
|
if (v === undefined || v === null) {
|
|
@@ -185,7 +197,7 @@ class PayloadValidation {
|
|
|
185
197
|
continue;
|
|
186
198
|
}
|
|
187
199
|
if (typeof item === "object") {
|
|
188
|
-
next.push(item[
|
|
200
|
+
next.push(item[seg]);
|
|
189
201
|
}
|
|
190
202
|
else {
|
|
191
203
|
next.push(undefined);
|
|
@@ -193,58 +205,16 @@ class PayloadValidation {
|
|
|
193
205
|
}
|
|
194
206
|
}
|
|
195
207
|
else if (typeof v === "object") {
|
|
196
|
-
next.push(v[
|
|
208
|
+
next.push(v[seg]);
|
|
197
209
|
}
|
|
198
210
|
else {
|
|
199
211
|
next.push(undefined);
|
|
200
212
|
}
|
|
201
213
|
}
|
|
202
|
-
|
|
203
|
-
const filtered = [];
|
|
204
|
-
for (const entry of next) {
|
|
205
|
-
if (Array.isArray(entry)) {
|
|
206
|
-
for (const it of entry) {
|
|
207
|
-
if (it && typeof it === "object" && it[filter.k] === filter.v) {
|
|
208
|
-
filtered.push(it);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
else if (entry && typeof entry === "object") {
|
|
213
|
-
if (entry[filter.k] === filter.v)
|
|
214
|
-
filtered.push(entry);
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
current = filtered;
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
current = next;
|
|
223
|
-
}
|
|
214
|
+
current = next;
|
|
224
215
|
}
|
|
225
216
|
return current;
|
|
226
217
|
}
|
|
227
|
-
parseSegment(seg) {
|
|
228
|
-
const open = seg.indexOf("[");
|
|
229
|
-
const close = seg.indexOf("]", open + 1);
|
|
230
|
-
if (open > -1 && close > open) {
|
|
231
|
-
const key = seg.substring(0, open);
|
|
232
|
-
const expr = seg.substring(open + 1, close);
|
|
233
|
-
const eq = expr.indexOf("=");
|
|
234
|
-
if (eq > -1) {
|
|
235
|
-
const k = expr.substring(0, eq).trim();
|
|
236
|
-
let vRaw = expr.substring(eq + 1).trim();
|
|
237
|
-
if ((vRaw.startsWith('"') && vRaw.endsWith('"')) || (vRaw.startsWith("'") && vRaw.endsWith("'"))) {
|
|
238
|
-
vRaw = vRaw.substring(1, vRaw.length - 1);
|
|
239
|
-
}
|
|
240
|
-
const num = Number(vRaw);
|
|
241
|
-
const v = Number.isFinite(num) && vRaw !== "" ? num : vRaw;
|
|
242
|
-
return { key: key || seg, filter: { k, v } };
|
|
243
|
-
}
|
|
244
|
-
return { key: key || seg };
|
|
245
|
-
}
|
|
246
|
-
return { key: seg };
|
|
247
|
-
}
|
|
248
218
|
checkType(value, expected) {
|
|
249
219
|
if (value === undefined || value === null)
|
|
250
220
|
return false;
|
|
@@ -278,9 +248,28 @@ class PayloadValidation {
|
|
|
278
248
|
if (value instanceof Date)
|
|
279
249
|
return !Number.isNaN(value.getTime());
|
|
280
250
|
if (typeof value === "string") {
|
|
251
|
+
if (/^\d{2}\/\d{2}\/\d{4}$/.test(value) || /^\d{2}-\d{2}-\d{4}$/.test(value)) {
|
|
252
|
+
const dateParts = value.split(/[\/-]/);
|
|
253
|
+
const day = parseInt(dateParts[0], 10);
|
|
254
|
+
const month = parseInt(dateParts[1], 10) - 1;
|
|
255
|
+
const year = parseInt(dateParts[2], 10);
|
|
256
|
+
const dateObj = new Date(year, month, day);
|
|
257
|
+
return dateObj.getFullYear() === year && dateObj.getMonth() === month && dateObj.getDate() === day;
|
|
258
|
+
}
|
|
281
259
|
const t = Date.parse(value);
|
|
282
260
|
return !Number.isNaN(t);
|
|
283
261
|
}
|
|
262
|
+
if (Array.isArray(value)) {
|
|
263
|
+
return value.every((item) => {
|
|
264
|
+
if (item instanceof Date)
|
|
265
|
+
return !Number.isNaN(item.getTime());
|
|
266
|
+
if (typeof item === "string") {
|
|
267
|
+
const t = Date.parse(item);
|
|
268
|
+
return !Number.isNaN(t);
|
|
269
|
+
}
|
|
270
|
+
return false;
|
|
271
|
+
});
|
|
272
|
+
}
|
|
284
273
|
return false;
|
|
285
274
|
default:
|
|
286
275
|
throw new Error(`Tipo de formato desconhecido: ${expected}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-validation.js","sourceRoot":"","sources":["../../../src/payload-validation/payload-validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payload-validation.js","sourceRoot":"","sources":["../../../src/payload-validation/payload-validation.ts"],"names":[],"mappings":"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"}
|