typia 4.0.0 → 4.0.1-dev.20230604

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 (87) hide show
  1. package/lib/programmers/ApplicationProgrammer.js +1 -1
  2. package/lib/programmers/internal/application_array.js +19 -41
  3. package/lib/programmers/internal/application_array.js.map +1 -1
  4. package/lib/programmers/internal/application_definition.d.ts +1 -1
  5. package/lib/programmers/internal/application_definition.js +8 -8
  6. package/lib/programmers/internal/application_definition.js.map +1 -1
  7. package/lib/programmers/internal/application_native.js +3 -3
  8. package/lib/programmers/internal/application_object.js +4 -4
  9. package/lib/programmers/internal/application_schema.js +3 -3
  10. package/lib/programmers/internal/application_schema.js.map +1 -1
  11. package/lib/programmers/internal/application_tuple.js +8 -30
  12. package/lib/programmers/internal/application_tuple.js.map +1 -1
  13. package/lib/schemas/IJsonComponents.d.ts +1 -12
  14. package/lib/schemas/IJsonSchema.d.ts +1 -1
  15. package/package.json +1 -1
  16. package/src/IRandomGenerator.ts +34 -34
  17. package/src/factories/IdentifierFactory.ts +65 -65
  18. package/src/factories/MetadataCollection.ts +254 -254
  19. package/src/factories/MetadataFactory.ts +40 -40
  20. package/src/factories/MetadataTagFactory.ts +300 -300
  21. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -34
  22. package/src/factories/internal/metadata/emplace_metadata_definition.ts +35 -35
  23. package/src/factories/internal/metadata/emplace_metadata_object.ts +142 -142
  24. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -50
  25. package/src/factories/internal/metadata/explore_metadata.ts +66 -66
  26. package/src/factories/internal/metadata/iterate_metadata.ts +77 -77
  27. package/src/factories/internal/metadata/iterate_metadata_array.ts +25 -25
  28. package/src/factories/internal/metadata/iterate_metadata_collection.ts +130 -130
  29. package/src/factories/internal/metadata/iterate_metadata_definition.ts +30 -30
  30. package/src/factories/internal/metadata/iterate_metadata_object.ts +49 -49
  31. package/src/factories/internal/metadata/iterate_metadata_sort.ts +68 -68
  32. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +24 -24
  33. package/src/factories/internal/metadata/iterate_metadata_union.ts +68 -68
  34. package/src/metadata/IMetadata.ts +27 -27
  35. package/src/metadata/IMetadataAlias.ts +12 -12
  36. package/src/metadata/IMetadataApplication.ts +7 -7
  37. package/src/metadata/IMetadataArray.ts +10 -10
  38. package/src/metadata/IMetadataCollection.ts +11 -11
  39. package/src/metadata/IMetadataDictionary.ts +14 -14
  40. package/src/metadata/IMetadataObject.ts +18 -18
  41. package/src/metadata/IMetadataProperty.ts +11 -11
  42. package/src/metadata/IMetadataTuple.ts +10 -10
  43. package/src/metadata/Metadata.ts +585 -585
  44. package/src/metadata/MetadataAlias.ts +61 -61
  45. package/src/metadata/MetadataArray.ts +52 -52
  46. package/src/metadata/MetadataObject.ts +114 -114
  47. package/src/metadata/MetadataProperty.ts +64 -64
  48. package/src/metadata/MetadataTuple.ts +53 -53
  49. package/src/programmers/ApplicationProgrammer.ts +55 -55
  50. package/src/programmers/AssertProgrammer.ts +291 -291
  51. package/src/programmers/CheckerProgrammer.ts +1182 -1182
  52. package/src/programmers/CloneProgrammer.ts +595 -595
  53. package/src/programmers/FeatureProgrammer.ts +495 -495
  54. package/src/programmers/IsProgrammer.ts +250 -250
  55. package/src/programmers/LiteralsProgrammer.ts +66 -66
  56. package/src/programmers/PruneProgrammer.ts +550 -550
  57. package/src/programmers/RandomProgrammer.ts +589 -589
  58. package/src/programmers/StringifyProgrammer.ts +990 -990
  59. package/src/programmers/ValidateProgrammer.ts +313 -313
  60. package/src/programmers/helpers/FunctionImporeter.ts +78 -78
  61. package/src/programmers/helpers/RandomJoiner.ts +173 -173
  62. package/src/programmers/helpers/UnionExplorer.ts +301 -301
  63. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  64. package/src/programmers/helpers/disable_function_importer_declare.ts +26 -26
  65. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  66. package/src/programmers/internal/application_array.ts +30 -64
  67. package/src/programmers/internal/application_boolean.ts +15 -15
  68. package/src/programmers/internal/application_constant.ts +26 -26
  69. package/src/programmers/internal/application_default.ts +17 -17
  70. package/src/programmers/internal/application_definition.ts +45 -45
  71. package/src/programmers/internal/application_native.ts +39 -39
  72. package/src/programmers/internal/application_number.ts +74 -74
  73. package/src/programmers/internal/application_object.ts +167 -167
  74. package/src/programmers/internal/application_schema.ts +156 -164
  75. package/src/programmers/internal/application_tuple.ts +47 -77
  76. package/src/programmers/internal/check_union_array_like.ts +329 -329
  77. package/src/programmers/internal/feature_object_entries.ts +63 -63
  78. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -16
  79. package/src/schemas/IJsonApplication.ts +8 -8
  80. package/src/schemas/IJsonComponents.ts +34 -45
  81. package/src/schemas/IJsonSchema.ts +134 -134
  82. package/src/transformers/CallExpressionTransformer.ts +179 -179
  83. package/src/transformers/FileTransformer.ts +47 -47
  84. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +104 -104
  85. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +53 -53
  86. package/src/utils/ArrayUtil.ts +45 -45
  87. package/src/utils/RandomGenerator.ts +81 -81
@@ -30,7 +30,7 @@ var ApplicationProgrammer;
30
30
  return function (metadatas) {
31
31
  var fullOptions = IOptions.complement(options);
32
32
  var components = {
33
- objects: {},
33
+ schemas: {},
34
34
  };
35
35
  var generator = (0, application_schema_1.application_schema)(fullOptions)(true)(components);
36
36
  return __assign({ schemas: metadatas.map(function (meta, i) {
@@ -23,53 +23,31 @@ var __values = (this && this.__values) || function(o) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.application_array = void 0;
26
- var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
27
26
  var application_schema_1 = require("./application_schema");
28
27
  var application_array = function (options) {
29
28
  return function (components) {
30
29
  return function (array) {
31
30
  return function (attribute) {
32
- return function (nullable) {
33
- var _a, _b;
34
- var generator = function () {
35
- var e_1, _a;
36
- var _b;
37
- var schema = __assign(__assign({}, attribute), { type: "array", items: (0, application_schema_1.application_schema)(options)(false)(components)(array.value)(array.recursive ? {} : attribute) });
38
- if (array.recursive === false) {
39
- try {
40
- for (var _c = __values((_b = attribute["x-typia-metaTags"]) !== null && _b !== void 0 ? _b : []), _d = _c.next(); !_d.done; _d = _c.next()) {
41
- var tag = _d.value;
42
- if (tag.kind === "minItems")
43
- schema.minItems = tag.value;
44
- else if (tag.kind === "maxItems")
45
- schema.maxItems = tag.value;
46
- }
47
- }
48
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
49
- finally {
50
- try {
51
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
52
- }
53
- finally { if (e_1) throw e_1.error; }
54
- }
55
- }
56
- return schema;
57
- };
58
- if (array.recursive === false)
59
- return generator();
60
- var key = options.purpose === "ajv"
61
- ? array.name
62
- : "".concat(array.name).concat(nullable ? ".Nullable" : "");
63
- var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/arrays/").concat(key);
64
- if (((_a = components.arrays) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
65
- (_b = components.arrays) !== null && _b !== void 0 ? _b : (components.arrays = {});
66
- components.arrays[key] = {};
67
- var repeated = __assign(__assign({}, generator()), { $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: options.purpose === "ajv" || undefined });
68
- components.arrays[key] = repeated;
31
+ var e_1, _a;
32
+ var _b;
33
+ var schema = __assign(__assign({}, attribute), { type: "array", items: (0, application_schema_1.application_schema)(options)(false)(components)(array.value)(attribute) });
34
+ try {
35
+ for (var _c = __values((_b = attribute["x-typia-metaTags"]) !== null && _b !== void 0 ? _b : []), _d = _c.next(); !_d.done; _d = _c.next()) {
36
+ var tag = _d.value;
37
+ if (tag.kind === "minItems")
38
+ schema.minItems = tag.value;
39
+ else if (tag.kind === "maxItems")
40
+ schema.maxItems = tag.value;
69
41
  }
70
- return options.purpose === "ajv" && array.recursive
71
- ? __assign(__assign({}, attribute), { $recursiveRef: $id }) : __assign(__assign({}, attribute), { $ref: $id });
72
- };
42
+ }
43
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
44
+ finally {
45
+ try {
46
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
47
+ }
48
+ finally { if (e_1) throw e_1.error; }
49
+ }
50
+ return schema;
73
51
  };
74
52
  };
75
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAoB;YACrB,OAAA,UAAC,SAAiC;gBAClC,OAAA,UACI,QAAiB;;oBAMjB,IAAM,SAAS,GAAG;;;wBACd,IAAM,MAAM,yBACL,SAAS,KACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CACjD,KAAK,CAAC,KAAK,CACd,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GACtC,CAAC;wBACF,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE;;gCAC3B,KAAkB,IAAA,KAAA,SAAA,MAAA,SAAS,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAA,gBAAA;oCAAhD,IAAM,GAAG,WAAA;oCACV,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wCAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yCACpD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wCAC5B,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;iCAAA;;;;;;;;;yBACvC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC,CAAC;oBACF,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;wBAAE,OAAO,SAAS,EAAE,CAAC;oBAGlD,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,UAAG,KAAK,CAAC,IAAI,SAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACxD,IAAM,GAAG,GAAW,UAAG,2CAAsB,qBAAW,GAAG,CAAE,CAAC;oBAG9D,IAAI,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;wBACxC,MAAA,UAAU,CAAC,MAAM,oCAAjB,UAAU,CAAC,MAAM,GAAK,EAAE,EAAC;wBACzB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAS,CAAC;wBAEnC,IAAM,QAAQ,yBACP,SAAS,EAAE,KACd,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAChD,gBAAgB,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,GAC3D,CAAC;wBACF,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;qBACrC;oBACD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/C,CAAC,uBAAM,SAAS,KAAE,aAAa,EAAE,GAAG,IACpC,CAAC,uBAAM,SAAS,KAAE,IAAI,EAAE,GAAG,GAAE,CAAC;gBACtC,CAAC;YA/CD,CA+CC;QAhDD,CAgDC;IAjDD,CAiDC;AAlDD,CAkDC,CAAC;AApDO,QAAA,iBAAiB,qBAoDxB"}
1
+ {"version":3,"file":"application_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAoB;YACrB,OAAA,UAAC,SAAiC;;;gBAE9B,IAAM,MAAM,yBACL,SAAS,KACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9D,SAAS,CACZ,GACJ,CAAC;;oBAGF,KAAkB,IAAA,KAAA,SAAA,MAAA,SAAS,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAA,gBAAA;wBAAhD,IAAM,GAAG,WAAA;wBACV,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;4BAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;6BACpD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;4BAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;qBAAA;;;;;;;;;gBAClE,OAAO,MAAM,CAAC;YAClB,CAAC;QAfD,CAeC;IAhBD,CAgBC;AAjBD,CAiBC,CAAC;AAnBO,QAAA,iBAAiB,qBAmBxB"}
@@ -2,4 +2,4 @@ import { MetadataAlias } from "../../metadata/MetadataAlias";
2
2
  import { IJsonComponents } from "../../schemas/IJsonComponents";
3
3
  import { IJsonSchema } from "../../module";
4
4
  import { ApplicationProgrammer } from "../ApplicationProgrammer";
5
- export declare const application_definition: (options: ApplicationProgrammer.IOptions) => <BlockNever extends boolean>(blockNever: BlockNever) => (components: IJsonComponents) => (alias: MetadataAlias) => (nullable: boolean) => IJsonSchema.IReference | IJsonSchema.IRecursiveReference;
5
+ export declare const application_alias: (options: ApplicationProgrammer.IOptions) => <BlockNever extends boolean>(blockNever: BlockNever) => (components: IJsonComponents) => (alias: MetadataAlias) => (nullable: boolean) => IJsonSchema.IReference | IJsonSchema.IRecursiveReference;
@@ -11,10 +11,10 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.application_definition = void 0;
14
+ exports.application_alias = void 0;
15
15
  var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
16
16
  var application_schema_1 = require("./application_schema");
17
- var application_definition = function (options) {
17
+ var application_alias = function (options) {
18
18
  return function (blockNever) {
19
19
  return function (components) {
20
20
  return function (alias) {
@@ -24,14 +24,14 @@ var application_definition = function (options) {
24
24
  ? alias.name
25
25
  : "".concat(alias.name).concat(nullable ? ".Nullable" : "");
26
26
  var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/aliases/").concat(key);
27
- if (((_a = components.aliases) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
28
- (_b = components.aliases) !== null && _b !== void 0 ? _b : (components.aliases = {});
29
- components.aliases[key] = {
27
+ if (((_a = components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
28
+ (_b = components.schemas) !== null && _b !== void 0 ? _b : (components.schemas = {});
29
+ components.schemas[key] = {
30
30
  $id: key,
31
31
  };
32
32
  var schema = (0, application_schema_1.application_schema)(options)(blockNever)(components)(alias.value)({});
33
- (_c = components.aliases) !== null && _c !== void 0 ? _c : (components.aliases = {});
34
- components.aliases[key] = __assign({ $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: (options.purpose === "ajv" && alias.recursive) || undefined }, schema);
33
+ (_c = components.schemas) !== null && _c !== void 0 ? _c : (components.schemas = {});
34
+ components.schemas[key] = __assign({ $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: (options.purpose === "ajv" && alias.recursive) || undefined }, schema);
35
35
  }
36
36
  return options.purpose === "ajv" && alias.recursive
37
37
  ? { $recursiveRef: $id }
@@ -41,5 +41,5 @@ var application_definition = function (options) {
41
41
  };
42
42
  };
43
43
  };
44
- exports.application_definition = application_definition;
44
+ exports.application_alias = application_alias;
45
45
  //# sourceMappingURL=application_definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application_definition.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_definition.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAEnD,IAAM,sBAAsB,GAC/B,UAAC,OAAuC;IACxC,OAAA,UAA6B,UAAsB;QACnD,OAAA,UAAC,UAA2B;YAC5B,OAAA,UAAC,KAAoB;gBACrB,OAAA,UACI,QAAiB;;oBAEjB,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,UAAG,KAAK,CAAC,IAAI,SAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACxD,IAAM,GAAG,GAAW,UAAG,2CAAsB,sBAAY,GAAG,CAAE,CAAC;oBAG/D,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;wBACzC,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;4BACtB,GAAG,EAAE,GAAG;yBACJ,CAAC;wBAGT,IAAM,MAAM,GAAgB,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC/D,UAAU,CACb,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC;wBACpB,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cACnB,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAChD,gBAAgB,EACZ,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAC5D,MAAM,CACZ,CAAC;qBACL;oBACD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/C,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE;wBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACxB,CAAC;YA/BD,CA+BC;QAhCD,CAgCC;IAjCD,CAiCC;AAlCD,CAkCC,CAAC;AApCO,QAAA,sBAAsB,0BAoC7B"}
1
+ {"version":3,"file":"application_definition.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_definition.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAEnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAA6B,UAAsB;QACnD,OAAA,UAAC,UAA2B;YAC5B,OAAA,UAAC,KAAoB;gBACrB,OAAA,UACI,QAAiB;;oBAEjB,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,UAAG,KAAK,CAAC,IAAI,SAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACxD,IAAM,GAAG,GAAW,UAAG,2CAAsB,sBAAY,GAAG,CAAE,CAAC;oBAG/D,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;wBACzC,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;4BACtB,GAAG,EAAE,GAAG;yBACJ,CAAC;wBAGT,IAAM,MAAM,GAAgB,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC/D,UAAU,CACb,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC;wBACpB,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cACnB,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAChD,gBAAgB,EACZ,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAC5D,MAAM,CACZ,CAAC;qBACL;oBACD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/C,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE;wBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACxB,CAAC;YA/BD,CA+BC;QAhCD,CAgCC;IAjCD,CAiCC;AAlCD,CAkCC,CAAC;AApCO,QAAA,iBAAiB,qBAoCxB"}
@@ -22,9 +22,9 @@ var application_native = function (options) {
22
22
  var key = options.purpose === "ajv"
23
23
  ? name
24
24
  : "".concat(name).concat(props.nullable ? ".Nullable" : "");
25
- if (((_a = components.objects) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
26
- (_b = components.objects) !== null && _b !== void 0 ? _b : (components.objects = {});
27
- (_c = (_d = components.objects)[key]) !== null && _c !== void 0 ? _c : (_d[key] = {
25
+ if (((_a = components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
26
+ (_b = components.schemas) !== null && _b !== void 0 ? _b : (components.schemas = {});
27
+ (_c = (_d = components.schemas)[key]) !== null && _c !== void 0 ? _c : (_d[key] = {
28
28
  type: "object",
29
29
  $id: options.purpose === "ajv"
30
30
  ? "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/objects/").concat(key)
@@ -60,10 +60,10 @@ var application_object = function (options) {
60
60
  ? { $recursiveRef: $id }
61
61
  : { $ref: $id };
62
62
  };
63
- if (((_b = components.objects) === null || _b === void 0 ? void 0 : _b[key]) !== undefined)
63
+ if (((_b = components.schemas) === null || _b === void 0 ? void 0 : _b[key]) !== undefined)
64
64
  return out();
65
- (_c = components.objects) !== null && _c !== void 0 ? _c : (components.objects = {});
66
- components.objects[key] = {};
65
+ (_c = components.schemas) !== null && _c !== void 0 ? _c : (components.schemas = {});
66
+ components.schemas[key] = {};
67
67
  var properties = {};
68
68
  var extraMeta = {
69
69
  patternProperties: {},
@@ -157,7 +157,7 @@ var application_object = function (options) {
157
157
  "x-typia-patternProperties": extraProps.patternProperties,
158
158
  additionalProperties: join(options)(components)(extraMeta),
159
159
  }));
160
- components.objects[key] = schema;
160
+ components.schemas[key] = schema;
161
161
  return out();
162
162
  };
163
163
  };
@@ -105,7 +105,7 @@ var application_schema = function (options) {
105
105
  try {
106
106
  for (var _m = __values(meta.arrays), _o = _m.next(); !_o.done; _o = _m.next()) {
107
107
  var array = _o.value;
108
- insert((0, application_array_1.application_array)(options)(components)(array)(attribute)(meta.nullable));
108
+ insert((0, application_array_1.application_array)(options)(components)(array)(attribute));
109
109
  }
110
110
  }
111
111
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
@@ -118,7 +118,7 @@ var application_schema = function (options) {
118
118
  try {
119
119
  for (var _p = __values(meta.tuples), _q = _p.next(); !_q.done; _q = _p.next()) {
120
120
  var tuple = _q.value;
121
- insert((0, application_tuple_1.application_tuple)(options)(components)(tuple)(attribute)(meta.nullable));
121
+ insert((0, application_tuple_1.application_tuple)(options)(components)(tuple)(attribute));
122
122
  }
123
123
  }
124
124
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
@@ -177,7 +177,7 @@ var application_schema = function (options) {
177
177
  try {
178
178
  for (var _v = __values(meta.aliases), _w = _v.next(); !_w.done; _w = _v.next()) {
179
179
  var alias = _w.value;
180
- insert((0, application_definition_1.application_definition)(options)(blockNever)(components)(alias)(meta.nullable));
180
+ insert((0, application_definition_1.application_alias)(options)(blockNever)(components)(alias)(meta.nullable));
181
181
  }
182
182
  }
183
183
  catch (e_7_1) { e_7 = { error: e_7_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
@@ -13,41 +13,19 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.application_tuple = void 0;
15
15
  var Metadata_1 = require("../../metadata/Metadata");
16
- var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
17
16
  var application_schema_1 = require("./application_schema");
18
17
  var application_tuple = function (options) {
19
18
  return function (components) {
20
19
  return function (tuple) {
21
20
  return function (attribute) {
22
- return function (nullable) {
23
- var _a, _b, _c;
24
- var generator = function () {
25
- var _a, _b;
26
- var schema = __assign(__assign({}, attribute), { type: "array", items: tuple.elements.map(function (elem) {
27
- var _a;
28
- return (0, application_schema_1.application_schema)(options)(false)(components)((_a = elem.rest) !== null && _a !== void 0 ? _a : elem)(tuple.recursive ? {} : attribute);
29
- }), "x-typia-rest": !!((_a = tuple.elements.at(-1)) === null || _a === void 0 ? void 0 : _a.rest) });
30
- var wrapper = options.purpose === "ajv" && !((_b = tuple.elements.at(-1)) === null || _b === void 0 ? void 0 : _b.rest)
31
- ? schema
32
- : __assign(__assign({}, schema), { items: (0, application_schema_1.application_schema)(options)(false)(components)(tuple.elements.reduce(function (x, y) { var _a, _b; return Metadata_1.Metadata.merge((_a = x.rest) !== null && _a !== void 0 ? _a : x, (_b = y.rest) !== null && _b !== void 0 ? _b : y); }, Metadata_1.Metadata.initialize()))(tuple.recursive ? {} : attribute), "x-typia-tuple": schema });
33
- return wrapper;
34
- };
35
- if (tuple.recursive === false)
36
- return generator();
37
- var key = options.purpose === "ajv"
38
- ? tuple.name
39
- : "".concat(tuple.name).concat(nullable ? ".Nullable" : "");
40
- var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/tuples/").concat(key);
41
- if (((_a = components.tuples) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
42
- (_b = components.tuples) !== null && _b !== void 0 ? _b : (components.tuples = {});
43
- components.tuples[key] = {};
44
- var repeated = __assign(__assign({}, generator()), { $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: options.purpose === "ajv" || undefined });
45
- (_c = components.tuples) !== null && _c !== void 0 ? _c : (components.tuples = {});
46
- components.tuples[key] = repeated;
47
- }
48
- return options.purpose === "ajv" && tuple.recursive
49
- ? __assign(__assign({}, attribute), { $recursiveRef: $id }) : __assign(__assign({}, attribute), { $ref: $id });
50
- };
21
+ var schema = __assign({ type: "array", items: tuple.elements.map(function (meta, i) {
22
+ var _a;
23
+ return (0, application_schema_1.application_schema)(options)(false)(components)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta)(__assign(__assign({}, attribute), { "x-typia-rest": i === tuple.elements.length - 1 && meta.rest !== null, "x-typia-required": meta.required, "x-typia-optional": meta.optional }));
24
+ }) }, attribute);
25
+ if (options.purpose === "ajv")
26
+ return schema;
27
+ var wrapper = __assign(__assign({}, schema), { items: (0, application_schema_1.application_schema)(options)(false)(components)(tuple.elements.reduce(function (x, y) { var _a, _b; return Metadata_1.Metadata.merge((_a = x.rest) !== null && _a !== void 0 ? _a : x, (_b = y.rest) !== null && _b !== void 0 ? _b : y); }, Metadata_1.Metadata.initialize()))(tuple.recursive ? {} : attribute), "x-typia-tuple": schema });
28
+ return wrapper;
51
29
  };
52
30
  };
53
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAAmD;AAMnD,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAoB;YACrB,OAAA,UACI,SAAiC;gBAEjC,IAAM,MAAM,cACR,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;;wBAC9B,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAC1C,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CACpB,uBACM,SAAS,KACZ,cAAc,EACV,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EACzD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IACnC,CAAA;qBAAA,CACL,IACE,SAAS,CACf,CAAC;gBACF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;oBAAE,OAAO,MAAM,CAAC;gBAE7C,IAAM,OAAO,yBACN,MAAM,KACT,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CACjD,KAAK,CAAC,QAAQ,CAAC,MAAM,CACjB,UAAC,CAAC,EAAE,CAAC,gBAAK,OAAA,mBAAQ,CAAC,KAAK,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,EAAE,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAA,EAAA,EAClD,mBAAQ,CAAC,UAAU,EAAE,CACxB,CACJ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACnC,eAAe,EAAE,MAAM,GAC1B,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB,CAAC;QA/BD,CA+BC;IAhCD,CAgCC;AAjCD,CAiCC,CAAC;AAnCO,QAAA,iBAAiB,qBAmCxB"}
@@ -1,20 +1,9 @@
1
1
  import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
2
2
  import { IJsonSchema } from "./IJsonSchema";
3
3
  export interface IJsonComponents {
4
- objects?: Record<string, IJsonComponents.IObject>;
5
- aliases?: Record<string, IJsonComponents.IAlias>;
6
- arrays?: Record<string, IJsonComponents.IArray>;
7
- tuples?: Record<string, IJsonComponents.ITuple | IJsonComponents.IArray>;
4
+ schemas?: Record<string, IJsonComponents.IObject | IJsonComponents.IAlias>;
8
5
  }
9
6
  export declare namespace IJsonComponents {
10
- interface IArray extends IJsonSchema.IArray {
11
- $id?: string;
12
- $recursiveAnchor?: true;
13
- }
14
- interface ITuple extends IJsonSchema.ITuple {
15
- $id?: string;
16
- $recursiveAnchor?: true;
17
- }
18
7
  interface IObject {
19
8
  $id?: string;
20
9
  $recursiveAnchor?: boolean;
@@ -68,7 +68,6 @@ export declare namespace IJsonSchema {
68
68
  }
69
69
  interface ITuple extends ISignificant<"array"> {
70
70
  items: IJsonSchema[];
71
- "x-typia-rest": boolean;
72
71
  }
73
72
  interface IReference extends IAttribute {
74
73
  $ref: string;
@@ -97,5 +96,6 @@ export declare namespace IJsonSchema {
97
96
  "x-typia-jsDocTags"?: IJsDocTagInfo[];
98
97
  "x-typia-required"?: boolean;
99
98
  "x-typia-optional"?: boolean;
99
+ "x-typia-rest"?: boolean;
100
100
  }
101
101
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "4.0.0",
3
+ "version": "4.0.1-dev.20230604",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,34 +1,34 @@
1
- import { Customizable } from "./typings/Customizable";
2
-
3
- export interface IRandomGenerator {
4
- boolean(): boolean;
5
- integer(minimum?: number, maximum?: number): number;
6
- number(minimum?: number, maximum?: number): number;
7
- bigint(minimum?: bigint, maximum?: bigint): bigint;
8
- string(length?: number): string;
9
- array<T>(closure: (index: number) => T, count?: number): T[];
10
- length(): number;
11
-
12
- uuid(): string;
13
- email(): string;
14
- url(): string;
15
- ipv4(): string;
16
- ipv6(): string;
17
- pattern(regex: RegExp): string;
18
- date(minimum?: number, maximum?: number): string;
19
- datetime(minimum?: number, maximum?: number): string;
20
-
21
- customs?: IRandomGenerator.CustomMap;
22
- }
23
- export namespace IRandomGenerator {
24
- export type CustomMap = {
25
- [Type in keyof Customizable]?: (
26
- tags: ICommentTag[],
27
- ) => Customizable[Type] | undefined;
28
- };
29
-
30
- export interface ICommentTag {
31
- name: string;
32
- value?: string;
33
- }
34
- }
1
+ import { Customizable } from "./typings/Customizable";
2
+
3
+ export interface IRandomGenerator {
4
+ boolean(): boolean;
5
+ integer(minimum?: number, maximum?: number): number;
6
+ number(minimum?: number, maximum?: number): number;
7
+ bigint(minimum?: bigint, maximum?: bigint): bigint;
8
+ string(length?: number): string;
9
+ array<T>(closure: (index: number) => T, count?: number): T[];
10
+ length(): number;
11
+
12
+ uuid(): string;
13
+ email(): string;
14
+ url(): string;
15
+ ipv4(): string;
16
+ ipv6(): string;
17
+ pattern(regex: RegExp): string;
18
+ date(minimum?: number, maximum?: number): string;
19
+ datetime(minimum?: number, maximum?: number): string;
20
+
21
+ customs?: IRandomGenerator.CustomMap;
22
+ }
23
+ export namespace IRandomGenerator {
24
+ export type CustomMap = {
25
+ [Type in keyof Customizable]?: (
26
+ tags: ICommentTag[],
27
+ ) => Customizable[Type] | undefined;
28
+ };
29
+
30
+ export interface ICommentTag {
31
+ name: string;
32
+ value?: string;
33
+ }
34
+ }
@@ -1,65 +1,65 @@
1
- import ts from "typescript";
2
-
3
- import { Escaper } from "../utils/Escaper";
4
-
5
- import { TypeFactory } from "./TypeFactory";
6
-
7
- export namespace IdentifierFactory {
8
- export const identifier = (name: string) =>
9
- Escaper.variable(name)
10
- ? ts.factory.createIdentifier(name)
11
- : ts.factory.createStringLiteral(name);
12
-
13
- /**
14
- * @deprecated Use `access()` function instead.
15
- */
16
- export const join = (prefix: ts.Expression, name: string) =>
17
- access(prefix)(name);
18
-
19
- export const access = (target: ts.Expression) => (property: string) => {
20
- const postfix = identifier(property);
21
- return ts.isStringLiteral(postfix)
22
- ? ts.factory.createElementAccessExpression(target, postfix)
23
- : ts.factory.createPropertyAccessExpression(target, postfix);
24
- };
25
-
26
- export const postfix = (str: string): string =>
27
- Escaper.variable(str)
28
- ? `".${str}"`
29
- : `"[${JSON.stringify(str).split('"').join('\\"')}]"`;
30
-
31
- export const parameter = (
32
- name: string | ts.BindingName,
33
- type?: ts.TypeNode,
34
- init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>,
35
- ) => {
36
- // instead of ts.version >= "4.8"
37
- if (ts.getDecorators !== undefined)
38
- return ts.factory.createParameterDeclaration(
39
- undefined,
40
- undefined,
41
- name,
42
- init?.kind === ts.SyntaxKind.QuestionToken
43
- ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
44
- : undefined,
45
- type ?? TypeFactory.keyword("any"),
46
- init && init.kind !== ts.SyntaxKind.QuestionToken
47
- ? init
48
- : undefined,
49
- );
50
- // eslint-disable-next-line
51
- return (ts.factory.createParameterDeclaration as any)(
52
- undefined,
53
- undefined,
54
- undefined,
55
- name,
56
- init?.kind === ts.SyntaxKind.QuestionToken
57
- ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
58
- : undefined,
59
- type,
60
- init && init.kind !== ts.SyntaxKind.QuestionToken
61
- ? init
62
- : undefined,
63
- );
64
- };
65
- }
1
+ import ts from "typescript";
2
+
3
+ import { Escaper } from "../utils/Escaper";
4
+
5
+ import { TypeFactory } from "./TypeFactory";
6
+
7
+ export namespace IdentifierFactory {
8
+ export const identifier = (name: string) =>
9
+ Escaper.variable(name)
10
+ ? ts.factory.createIdentifier(name)
11
+ : ts.factory.createStringLiteral(name);
12
+
13
+ /**
14
+ * @deprecated Use `access()` function instead.
15
+ */
16
+ export const join = (prefix: ts.Expression, name: string) =>
17
+ access(prefix)(name);
18
+
19
+ export const access = (target: ts.Expression) => (property: string) => {
20
+ const postfix = identifier(property);
21
+ return ts.isStringLiteral(postfix)
22
+ ? ts.factory.createElementAccessExpression(target, postfix)
23
+ : ts.factory.createPropertyAccessExpression(target, postfix);
24
+ };
25
+
26
+ export const postfix = (str: string): string =>
27
+ Escaper.variable(str)
28
+ ? `".${str}"`
29
+ : `"[${JSON.stringify(str).split('"').join('\\"')}]"`;
30
+
31
+ export const parameter = (
32
+ name: string | ts.BindingName,
33
+ type?: ts.TypeNode,
34
+ init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>,
35
+ ) => {
36
+ // instead of ts.version >= "4.8"
37
+ if (ts.getDecorators !== undefined)
38
+ return ts.factory.createParameterDeclaration(
39
+ undefined,
40
+ undefined,
41
+ name,
42
+ init?.kind === ts.SyntaxKind.QuestionToken
43
+ ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
44
+ : undefined,
45
+ type ?? TypeFactory.keyword("any"),
46
+ init && init.kind !== ts.SyntaxKind.QuestionToken
47
+ ? init
48
+ : undefined,
49
+ );
50
+ // eslint-disable-next-line
51
+ return (ts.factory.createParameterDeclaration as any)(
52
+ undefined,
53
+ undefined,
54
+ undefined,
55
+ name,
56
+ init?.kind === ts.SyntaxKind.QuestionToken
57
+ ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
58
+ : undefined,
59
+ type,
60
+ init && init.kind !== ts.SyntaxKind.QuestionToken
61
+ ? init
62
+ : undefined,
63
+ );
64
+ };
65
+ }