@dzeio/schema 0.3.1 → 0.3.3

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/dist/Schema.js CHANGED
@@ -354,6 +354,7 @@ var SchemaObject = class extends SchemaItem {
354
354
  };
355
355
  }
356
356
  const clone = (0, import_object_util2.objectClone)(object);
357
+ const res = {};
357
358
  (0, import_object_util2.objectLoop)(this.model, (childSchema, key) => {
358
359
  const childValue = clone[key];
359
360
  const child = childSchema.parse(childValue);
@@ -363,13 +364,13 @@ var SchemaObject = class extends SchemaItem {
363
364
  field: it.field ? `${key}.${it.field}` : key
364
365
  })));
365
366
  }
366
- clone[key] = child.object;
367
+ res[key] = child.object;
367
368
  return child.valid || !(options == null ? void 0 : options.fast);
368
369
  });
369
370
  return {
370
371
  valid: errors.length === 0,
371
372
  errors,
372
- object: clone
373
+ object: res
373
374
  };
374
375
  }
375
376
  isOfType(input) {
@@ -440,7 +441,16 @@ var SchemaDate = class extends SchemaItem {
440
441
  switch (format) {
441
442
  case "yy-mm-dd":
442
443
  case "iso8601": {
443
- this.addPreProcess((it) => typeof it === "string" ? new Date(it) : it);
444
+ this.addPreProcess((it) => {
445
+ if (typeof it !== "string") {
446
+ return it;
447
+ }
448
+ const date = new Date(it);
449
+ if (isNaN(date.getDate())) {
450
+ return it;
451
+ }
452
+ return date;
453
+ });
444
454
  break;
445
455
  }
446
456
  case "jj/mm/yy": {
@@ -452,7 +462,11 @@ var SchemaDate = class extends SchemaItem {
452
462
  if (splitted.length !== 3) {
453
463
  return input;
454
464
  }
455
- return new Date(splitted[2], splitted[1] - 1, splitted[0]);
465
+ const date = new Date(splitted[2], splitted[1] - 1, splitted[0]);
466
+ if (isNaN(date.getDate())) {
467
+ return input;
468
+ }
469
+ return date;
456
470
  });
457
471
  }
458
472
  }
package/dist/Schema.mjs CHANGED
@@ -311,6 +311,7 @@ var SchemaObject = class extends SchemaItem {
311
311
  };
312
312
  }
313
313
  const clone = objectClone(object);
314
+ const res = {};
314
315
  objectLoop(this.model, (childSchema, key) => {
315
316
  const childValue = clone[key];
316
317
  const child = childSchema.parse(childValue);
@@ -320,13 +321,13 @@ var SchemaObject = class extends SchemaItem {
320
321
  field: it.field ? `${key}.${it.field}` : key
321
322
  })));
322
323
  }
323
- clone[key] = child.object;
324
+ res[key] = child.object;
324
325
  return child.valid || !(options == null ? void 0 : options.fast);
325
326
  });
326
327
  return {
327
328
  valid: errors.length === 0,
328
329
  errors,
329
- object: clone
330
+ object: res
330
331
  };
331
332
  }
332
333
  isOfType(input) {
@@ -397,7 +398,16 @@ var SchemaDate = class extends SchemaItem {
397
398
  switch (format) {
398
399
  case "yy-mm-dd":
399
400
  case "iso8601": {
400
- this.addPreProcess((it) => typeof it === "string" ? new Date(it) : it);
401
+ this.addPreProcess((it) => {
402
+ if (typeof it !== "string") {
403
+ return it;
404
+ }
405
+ const date = new Date(it);
406
+ if (isNaN(date.getDate())) {
407
+ return it;
408
+ }
409
+ return date;
410
+ });
401
411
  break;
402
412
  }
403
413
  case "jj/mm/yy": {
@@ -409,7 +419,11 @@ var SchemaDate = class extends SchemaItem {
409
419
  if (splitted.length !== 3) {
410
420
  return input;
411
421
  }
412
- return new Date(splitted[2], splitted[1] - 1, splitted[0]);
422
+ const date = new Date(splitted[2], splitted[1] - 1, splitted[0]);
423
+ if (isNaN(date.getDate())) {
424
+ return input;
425
+ }
426
+ return date;
413
427
  });
414
428
  }
415
429
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzeio/schema",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "dependencies": {
5
5
  "@dzeio/object-util": "^1.8.3"
6
6
  },