@dzeio/schema 0.1.0 → 0.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.
package/dist/Schema.d.mts CHANGED
@@ -132,6 +132,7 @@ declare class SchemaAny extends SchemaItem {
132
132
  }
133
133
 
134
134
  declare class SchemaDate extends SchemaItem<Date> {
135
+ parseString(format?: 'iso8601' | 'yy-mm-dd' | 'jj/mm/yy'): void;
135
136
  isOfType(input: unknown): input is Date;
136
137
  }
137
138
 
package/dist/Schema.d.ts CHANGED
@@ -132,6 +132,7 @@ declare class SchemaAny extends SchemaItem {
132
132
  }
133
133
 
134
134
  declare class SchemaDate extends SchemaItem<Date> {
135
+ parseString(format?: 'iso8601' | 'yy-mm-dd' | 'jj/mm/yy'): void;
135
136
  isOfType(input: unknown): input is Date;
136
137
  }
137
138
 
package/dist/Schema.js CHANGED
@@ -429,10 +429,34 @@ var SchemaAny = class extends SchemaItem {
429
429
 
430
430
  // src/items/date.ts
431
431
  var SchemaDate = class extends SchemaItem {
432
+ parseString(format = "iso8601") {
433
+ switch (format) {
434
+ case "yy-mm-dd":
435
+ case "iso8601": {
436
+ this.addPreProcess((it) => typeof it === "string" ? new Date(it) : it);
437
+ break;
438
+ }
439
+ case "jj/mm/yy": {
440
+ this.addPreProcess((input) => {
441
+ if (typeof input !== "string") {
442
+ return input;
443
+ }
444
+ const splitted = input.split("/").map((it) => Number.parseInt(it, 10));
445
+ if (splitted.length !== 3) {
446
+ return input;
447
+ }
448
+ return new Date(splitted[2], splitted[1] - 1, splitted[0]);
449
+ });
450
+ }
451
+ }
452
+ }
432
453
  isOfType(input) {
433
454
  return input instanceof Date;
434
455
  }
435
456
  };
457
+ __decorateClass([
458
+ parceable()
459
+ ], SchemaDate.prototype, "parseString", 1);
436
460
 
437
461
  // src/items/record.ts
438
462
  var import_object_util4 = require("@dzeio/object-util");
package/dist/Schema.mjs CHANGED
@@ -386,10 +386,34 @@ var SchemaAny = class extends SchemaItem {
386
386
 
387
387
  // src/items/date.ts
388
388
  var SchemaDate = class extends SchemaItem {
389
+ parseString(format = "iso8601") {
390
+ switch (format) {
391
+ case "yy-mm-dd":
392
+ case "iso8601": {
393
+ this.addPreProcess((it) => typeof it === "string" ? new Date(it) : it);
394
+ break;
395
+ }
396
+ case "jj/mm/yy": {
397
+ this.addPreProcess((input) => {
398
+ if (typeof input !== "string") {
399
+ return input;
400
+ }
401
+ const splitted = input.split("/").map((it) => Number.parseInt(it, 10));
402
+ if (splitted.length !== 3) {
403
+ return input;
404
+ }
405
+ return new Date(splitted[2], splitted[1] - 1, splitted[0]);
406
+ });
407
+ }
408
+ }
409
+ }
389
410
  isOfType(input) {
390
411
  return input instanceof Date;
391
412
  }
392
413
  };
414
+ __decorateClass([
415
+ parceable()
416
+ ], SchemaDate.prototype, "parseString", 1);
393
417
 
394
418
  // src/items/record.ts
395
419
  import { isObject as isObject2, objectLoop as objectLoop3 } from "@dzeio/object-util";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzeio/schema",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "dependencies": {
5
5
  "@dzeio/object-util": "^1.8.3"
6
6
  },