typia 5.0.0-dev.20230823 → 5.0.0-dev.20230823-2

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 (135) hide show
  1. package/lib/Primitive.d.ts +14 -12
  2. package/lib/Resolved.d.ts +46 -0
  3. package/lib/{schemas/metadata/IMetadataResolved.js → Resolved.js} +1 -1
  4. package/lib/Resolved.js.map +1 -0
  5. package/lib/factories/MetadataFactory.d.ts +1 -1
  6. package/lib/factories/MetadataTagFactory.js +6 -6
  7. package/lib/factories/MetadataTagFactory.js.map +1 -1
  8. package/lib/factories/ProtobufFactory.js +2 -2
  9. package/lib/factories/ProtobufFactory.js.map +1 -1
  10. package/lib/factories/internal/metadata/explore_metadata.js +3 -3
  11. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  12. package/lib/factories/internal/metadata/iterate_metadata_collection.js +6 -6
  13. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  14. package/lib/factories/internal/metadata/iterate_metadata_native.js +2 -10
  15. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  16. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +6 -6
  17. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  18. package/lib/factories/internal/metadata/iterate_metadata_sort.js +2 -2
  19. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  20. package/lib/functional/$ProtobufWriter.js.map +1 -1
  21. package/lib/json.d.ts +15 -15
  22. package/lib/misc.d.ts +42 -42
  23. package/lib/module.d.ts +18 -17
  24. package/lib/module.js +1 -0
  25. package/lib/module.js.map +1 -1
  26. package/lib/programmers/AssertProgrammer.js +1 -1
  27. package/lib/programmers/AssertProgrammer.js.map +1 -1
  28. package/lib/programmers/CheckerProgrammer.js +1 -1
  29. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  30. package/lib/programmers/IsProgrammer.js +2 -2
  31. package/lib/programmers/IsProgrammer.js.map +1 -1
  32. package/lib/programmers/RandomProgrammer.js +307 -132
  33. package/lib/programmers/RandomProgrammer.js.map +1 -1
  34. package/lib/programmers/ValidateProgrammer.js +1 -1
  35. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  36. package/lib/programmers/helpers/FunctionImporeter.d.ts +2 -0
  37. package/lib/programmers/helpers/FunctionImporeter.js +2 -1
  38. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  39. package/lib/programmers/helpers/StringifyPredicator.js +1 -2
  40. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  41. package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
  42. package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
  43. package/lib/programmers/internal/application_resolved.d.ts +2 -2
  44. package/lib/programmers/internal/application_resolved.js.map +1 -1
  45. package/lib/programmers/internal/application_schema.js +2 -2
  46. package/lib/programmers/internal/application_schema.js.map +1 -1
  47. package/lib/programmers/json/JsonStringifyProgrammer.js +4 -4
  48. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  49. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +1 -1
  50. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  51. package/lib/programmers/misc/MiscCloneProgrammer.js +114 -33
  52. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  53. package/lib/programmers/misc/MiscIsCloneProgrammer.js +1 -1
  54. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  55. package/lib/programmers/misc/MiscLiteralsProgrammer.js +1 -1
  56. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  57. package/lib/programmers/misc/MiscPruneProgrammer.js +2 -2
  58. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  59. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +1 -1
  60. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  61. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +3 -3
  62. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  63. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +2 -2
  64. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  65. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
  66. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  67. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +2 -2
  68. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  69. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +1 -1
  70. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  71. package/lib/protobuf.d.ts +631 -10
  72. package/lib/protobuf.js +13 -13
  73. package/lib/protobuf.js.map +1 -1
  74. package/lib/schemas/metadata/IMetadata.d.ts +2 -2
  75. package/lib/schemas/metadata/{IMetadataResolved.d.ts → IMetadataEscaped.d.ts} +1 -1
  76. package/lib/schemas/metadata/IMetadataEscaped.js +3 -0
  77. package/lib/schemas/metadata/IMetadataEscaped.js.map +1 -0
  78. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  79. package/lib/schemas/metadata/Metadata.js +15 -15
  80. package/lib/schemas/metadata/Metadata.js.map +1 -1
  81. package/lib/schemas/metadata/{MetadataResolved.d.ts → MetadataEscaped.d.ts} +3 -3
  82. package/lib/schemas/metadata/{MetadataResolved.js → MetadataEscaped.js} +11 -11
  83. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -0
  84. package/lib/transformers/features/json/JsonApplicationTransformer.js +1 -1
  85. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  86. package/lib/transformers/features/misc/MetadataTransformer.js +1 -1
  87. package/lib/transformers/features/misc/MetadataTransformer.js.map +1 -1
  88. package/lib/utils/RandomGenerator.js +3 -2
  89. package/lib/utils/RandomGenerator.js.map +1 -1
  90. package/package.json +2 -1
  91. package/src/Primitive.ts +19 -15
  92. package/src/Resolved.ts +116 -0
  93. package/src/factories/MetadataFactory.ts +1 -1
  94. package/src/factories/MetadataTagFactory.ts +6 -6
  95. package/src/factories/ProtobufFactory.ts +2 -2
  96. package/src/factories/internal/metadata/explore_metadata.ts +3 -3
  97. package/src/factories/internal/metadata/iterate_metadata_collection.ts +6 -6
  98. package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -9
  99. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +6 -6
  100. package/src/factories/internal/metadata/iterate_metadata_sort.ts +2 -2
  101. package/src/json.ts +15 -15
  102. package/src/misc.ts +42 -42
  103. package/src/module.ts +18 -17
  104. package/src/programmers/AssertProgrammer.ts +3 -1
  105. package/src/programmers/CheckerProgrammer.ts +1 -1
  106. package/src/programmers/IsProgrammer.ts +4 -2
  107. package/src/programmers/RandomProgrammer.ts +322 -26
  108. package/src/programmers/ValidateProgrammer.ts +3 -1
  109. package/src/programmers/helpers/FunctionImporeter.ts +2 -0
  110. package/src/programmers/helpers/StringifyPredicator.ts +1 -2
  111. package/src/programmers/helpers/disable_function_importer_declare.ts +6 -1
  112. package/src/programmers/internal/application_resolved.ts +2 -2
  113. package/src/programmers/internal/application_schema.ts +2 -2
  114. package/src/programmers/json/JsonStringifyProgrammer.ts +6 -4
  115. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +1 -1
  116. package/src/programmers/misc/MiscCloneProgrammer.ts +229 -41
  117. package/src/programmers/misc/MiscIsCloneProgrammer.ts +1 -1
  118. package/src/programmers/misc/MiscLiteralsProgrammer.ts +1 -1
  119. package/src/programmers/misc/MiscPruneProgrammer.ts +4 -2
  120. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +1 -1
  121. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +18 -9
  122. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +6 -2
  123. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1 -1
  124. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -2
  125. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +2 -2
  126. package/src/protobuf.ts +663 -31
  127. package/src/schemas/metadata/IMetadata.ts +2 -2
  128. package/src/schemas/metadata/{IMetadataResolved.ts → IMetadataEscaped.ts} +1 -1
  129. package/src/schemas/metadata/Metadata.ts +17 -20
  130. package/src/schemas/metadata/{MetadataResolved.ts → MetadataEscaped.ts} +9 -9
  131. package/src/transformers/features/json/JsonApplicationTransformer.ts +1 -1
  132. package/src/transformers/features/misc/MetadataTransformer.ts +1 -1
  133. package/src/utils/RandomGenerator.ts +4 -2
  134. package/lib/schemas/metadata/IMetadataResolved.js.map +0 -1
  135. package/lib/schemas/metadata/MetadataResolved.js.map +0 -1
@@ -2,7 +2,7 @@ import { Atomic } from "../../typings/Atomic";
2
2
 
3
3
  import { IMetadataConstant } from "./IMetadataConstant";
4
4
  import { IMetadataEntry } from "./IMetadataEntry";
5
- import { IMetadataResolved } from "./IMetadataResolved";
5
+ import { IMetadataEscaped } from "./IMetadataEscaped";
6
6
 
7
7
  export interface IMetadata {
8
8
  any: boolean;
@@ -14,7 +14,7 @@ export interface IMetadata {
14
14
  atomics: Atomic.Literal[];
15
15
  constants: IMetadataConstant[];
16
16
  templates: IMetadata[][];
17
- resolved: IMetadataResolved | null;
17
+ escaped: IMetadataEscaped | null;
18
18
 
19
19
  rest: IMetadata | null;
20
20
  arrays: string[];
@@ -1,6 +1,6 @@
1
1
  import { IMetadata } from "./IMetadata";
2
2
 
3
- export interface IMetadataResolved {
3
+ export interface IMetadataEscaped {
4
4
  original: IMetadata;
5
5
  returns: IMetadata;
6
6
  }
@@ -10,9 +10,9 @@ import { IMetadataDictionary } from "./IMetadataDictionary";
10
10
  import { MetadataAlias } from "./MetadataAlias";
11
11
  import { MetadataArray } from "./MetadataArray";
12
12
  import { MetadataConstant } from "./MetadataConstant";
13
+ import { MetadataEscaped } from "./MetadataEscaped";
13
14
  import { MetadataObject } from "./MetadataObject";
14
15
  import { MetadataProperty } from "./MetadataProperty";
15
- import { MetadataResolved } from "./MetadataResolved";
16
16
  import { MetadataTuple } from "./MetadataTuple";
17
17
 
18
18
  export class Metadata {
@@ -22,7 +22,7 @@ export class Metadata {
22
22
  public nullable: boolean;
23
23
  public functional: boolean;
24
24
 
25
- public resolved: MetadataResolved | null;
25
+ public escaped: MetadataEscaped | null;
26
26
  public atomics: Atomic.Literal[];
27
27
  public constants: MetadataConstant[];
28
28
  public templates: Metadata[][];
@@ -55,7 +55,7 @@ export class Metadata {
55
55
  this.nullable = props.nullable;
56
56
  this.functional = props.functional;
57
57
 
58
- this.resolved = props.resolved;
58
+ this.escaped = props.escaped;
59
59
  this.atomics = props.atomics;
60
60
  this.constants = props.constants;
61
61
  this.templates = props.templates;
@@ -89,7 +89,7 @@ export class Metadata {
89
89
  optional: false,
90
90
  functional: false,
91
91
 
92
- resolved: null,
92
+ escaped: null,
93
93
  constants: [],
94
94
  atomics: [],
95
95
  templates: [],
@@ -120,7 +120,7 @@ export class Metadata {
120
120
  templates: this.templates.map((tpl) =>
121
121
  tpl.map((meta) => meta.toJSON()),
122
122
  ),
123
- resolved: this.resolved ? this.resolved.toJSON() : null,
123
+ escaped: this.escaped ? this.escaped.toJSON() : null,
124
124
 
125
125
  rest: this.rest ? this.rest.toJSON() : null,
126
126
  arrays: this.arrays.map((array) => array.name),
@@ -209,8 +209,8 @@ export class Metadata {
209
209
  templates: meta.templates.map((tpl) =>
210
210
  tpl.map((meta) => this._From(meta, dict)),
211
211
  ),
212
- resolved: meta.resolved
213
- ? MetadataResolved._From(meta.resolved, dict)
212
+ escaped: meta.escaped
213
+ ? MetadataEscaped._From(meta.escaped, dict)
214
214
  : null,
215
215
 
216
216
  rest: meta.rest ? this._From(meta.rest, dict) : null,
@@ -271,7 +271,7 @@ export class Metadata {
271
271
  public size(): number {
272
272
  return (
273
273
  (this.any ? 1 : 0) +
274
- (this.resolved ? 1 : 0) +
274
+ (this.escaped ? 1 : 0) +
275
275
  (this.functional ? 1 : 0) +
276
276
  (this.rest ? this.rest.size() : 0) +
277
277
  this.templates.length +
@@ -310,7 +310,7 @@ export class Metadata {
310
310
  public bucket(): number {
311
311
  return (
312
312
  (this.any ? 1 : 0) +
313
- (this.resolved ? 1 : 0) +
313
+ (this.escaped ? 1 : 0) +
314
314
  (this.functional ? 1 : 0) +
315
315
  (this.templates.length ? 1 : 0) +
316
316
  (this.atomics.length ? 1 : 0) +
@@ -521,20 +521,17 @@ export namespace Metadata {
521
521
  optional: x.optional || y.optional,
522
522
  functional: x.functional || y.functional,
523
523
 
524
- resolved:
525
- x.resolved !== null && y.resolved !== null
524
+ escaped:
525
+ x.escaped !== null && y.escaped !== null
526
526
  ? //? merge(x.resolved, y.resolved)
527
- MetadataResolved.create({
527
+ MetadataEscaped.create({
528
528
  original: merge(
529
- x.resolved.original,
530
- y.resolved.original,
531
- ),
532
- returns: merge(
533
- x.resolved.returns,
534
- y.resolved.returns,
529
+ x.escaped.original,
530
+ y.escaped.original,
535
531
  ),
532
+ returns: merge(x.escaped.returns, y.escaped.returns),
536
533
  })
537
- : x.resolved ?? y.resolved,
534
+ : x.escaped ?? y.escaped,
538
535
  atomics: [...new Set([...x.atomics, ...y.atomics])],
539
536
  constants: [...x.constants],
540
537
  templates: x.templates.slice(),
@@ -620,7 +617,7 @@ const getName = (metadata: Metadata): string => {
620
617
  for (const array of metadata.arrays) elements.push(array.name);
621
618
  for (const object of metadata.objects) elements.push(object.name);
622
619
  for (const alias of metadata.aliases) elements.push(alias.name);
623
- if (metadata.resolved !== null) elements.push(metadata.resolved.getName());
620
+ if (metadata.escaped !== null) elements.push(metadata.escaped.getName());
624
621
 
625
622
  // RETURNS
626
623
  if (elements.length === 0) return "unknown";
@@ -1,17 +1,17 @@
1
1
  import { ClassProperties } from "../../typings/ClassProperties";
2
2
 
3
3
  import { IMetadataDictionary } from "./IMetadataDictionary";
4
- import { IMetadataResolved } from "./IMetadataResolved";
4
+ import { IMetadataEscaped } from "./IMetadataEscaped";
5
5
  import { Metadata } from "./Metadata";
6
6
 
7
- export class MetadataResolved {
7
+ export class MetadataEscaped {
8
8
  public readonly original: Metadata;
9
9
  public readonly returns: Metadata;
10
10
 
11
11
  /**
12
12
  * @hidden
13
13
  */
14
- private constructor(props: ClassProperties<MetadataResolved>) {
14
+ private constructor(props: ClassProperties<MetadataEscaped>) {
15
15
  this.original = props.original;
16
16
  this.returns = props.returns;
17
17
  }
@@ -20,9 +20,9 @@ export class MetadataResolved {
20
20
  * @internal
21
21
  */
22
22
  public static _From(
23
- props: IMetadataResolved,
23
+ props: IMetadataEscaped,
24
24
  dict: IMetadataDictionary,
25
- ): MetadataResolved {
25
+ ): MetadataEscaped {
26
26
  return this.create({
27
27
  original: Metadata._From(props.original, dict),
28
28
  returns: Metadata._From(props.returns, dict),
@@ -33,16 +33,16 @@ export class MetadataResolved {
33
33
  * @internal
34
34
  */
35
35
  public static create(
36
- props: ClassProperties<MetadataResolved>,
37
- ): MetadataResolved {
38
- return new MetadataResolved(props);
36
+ props: ClassProperties<MetadataEscaped>,
37
+ ): MetadataEscaped {
38
+ return new MetadataEscaped(props);
39
39
  }
40
40
 
41
41
  public getName(): string {
42
42
  return this.returns.getName();
43
43
  }
44
44
 
45
- public toJSON(): IMetadataResolved {
45
+ public toJSON(): IMetadataEscaped {
46
46
  return {
47
47
  original: this.original.toJSON(),
48
48
  returns: this.returns.toJSON(),
@@ -50,7 +50,7 @@ export namespace JsonApplicationTransformer {
50
50
  const collection: MetadataCollection = new MetadataCollection();
51
51
  const metadatas: Array<Metadata> = types.map((type) =>
52
52
  MetadataFactory.analyze(checker)({
53
- resolve: true,
53
+ escape: true,
54
54
  constant: true,
55
55
  absorb: false,
56
56
  validate: (meta) => {
@@ -33,7 +33,7 @@ export namespace MetadataTransformer {
33
33
  const collection: MetadataCollection = new MetadataCollection();
34
34
  const metadatas: Array<Metadata> = types.map((type) =>
35
35
  MetadataFactory.analyze(checker)({
36
- resolve: true,
36
+ escape: true,
37
37
  constant: true,
38
38
  absorb: true,
39
39
  })(collection)(type),
@@ -74,8 +74,10 @@ export namespace RandomGenerator {
74
74
  };
75
75
 
76
76
  export const datetime = (min?: number, max?: number) => {
77
- min ??= 0;
78
- max ??= Date.now() * 2;
77
+ min ??= Date.now() - 30 * DAY;
78
+ max ??= Date.now() + 7 * DAY;
79
79
  return new Date(number(min, max)).toISOString();
80
80
  };
81
81
  }
82
+
83
+ const DAY = 1000 * 60 * 60 * 24;
@@ -1 +0,0 @@
1
- {"version":3,"file":"IMetadataResolved.js","sourceRoot":"","sources":["../../../src/schemas/metadata/IMetadataResolved.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetadataResolved.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataResolved.ts"],"names":[],"mappings":";;;AAIA,uCAAsC;AAEtC;IAOI,0BAAoB,KAAwC;QACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IAKa,sBAAK,GAAnB,UACI,KAAwB,EACxB,IAAyB;QAEzB,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,mBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC9C,OAAO,EAAE,mBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;IAKa,uBAAM,GAApB,UACI,KAAwC;QAExC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,kCAAO,GAAd;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAEM,iCAAM,GAAb;QACI,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;SACjC,CAAC;IACN,CAAC;IACL,uBAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,4CAAgB"}