typia 5.1.2 → 5.1.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.
Files changed (56) hide show
  1. package/lib/factories/MetadataTypeTagFactory.d.ts +2 -2
  2. package/lib/factories/MetadataTypeTagFactory.js +19 -11
  3. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  4. package/lib/factories/internal/metadata/emend_metadata_atomics.js +4 -2
  5. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  6. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +70 -22
  7. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  8. package/lib/programmers/internal/application_boolean.js +12 -1
  9. package/lib/programmers/internal/application_boolean.js.map +1 -1
  10. package/lib/programmers/internal/application_number.js +5 -2
  11. package/lib/programmers/internal/application_number.js.map +1 -1
  12. package/lib/programmers/internal/application_schema.js +7 -6
  13. package/lib/programmers/internal/application_schema.js.map +1 -1
  14. package/lib/programmers/internal/application_string.js +4 -1
  15. package/lib/programmers/internal/application_string.js.map +1 -1
  16. package/lib/programmers/internal/check_array_length.js +4 -1
  17. package/lib/programmers/internal/check_array_length.js.map +1 -1
  18. package/lib/programmers/internal/check_bigint.js +4 -1
  19. package/lib/programmers/internal/check_bigint.js.map +1 -1
  20. package/lib/programmers/internal/check_number.js +4 -1
  21. package/lib/programmers/internal/check_number.js.map +1 -1
  22. package/lib/programmers/internal/check_string.js +4 -1
  23. package/lib/programmers/internal/check_string.js.map +1 -1
  24. package/lib/schemas/json/IJsonSchema.d.ts +1 -0
  25. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +2 -2
  26. package/lib/schemas/metadata/Metadata.js.map +1 -1
  27. package/lib/tags/Default.d.ts +7 -0
  28. package/lib/tags/Default.js +3 -0
  29. package/lib/tags/Default.js.map +1 -0
  30. package/lib/tags/Format.d.ts +1 -1
  31. package/lib/tags/Pattern.d.ts +1 -0
  32. package/lib/tags/TagBase.d.ts +2 -2
  33. package/lib/tags/index.d.ts +1 -0
  34. package/lib/tags/index.js +1 -0
  35. package/lib/tags/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/factories/MetadataTypeTagFactory.ts +24 -12
  38. package/src/factories/internal/metadata/emend_metadata_atomics.ts +3 -2
  39. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +79 -17
  40. package/src/programmers/internal/application_boolean.ts +24 -9
  41. package/src/programmers/internal/application_number.ts +3 -1
  42. package/src/programmers/internal/application_schema.ts +11 -6
  43. package/src/programmers/internal/application_string.ts +4 -1
  44. package/src/programmers/internal/check_array_length.ts +11 -8
  45. package/src/programmers/internal/check_bigint.ts +11 -8
  46. package/src/programmers/internal/check_number.ts +43 -40
  47. package/src/programmers/internal/check_string.ts +11 -8
  48. package/src/schemas/json/IJsonSchema.ts +3 -1
  49. package/src/schemas/metadata/IMetadataConstant.ts +9 -0
  50. package/src/schemas/metadata/IMetadataTypeTag.ts +2 -2
  51. package/src/schemas/metadata/Metadata.ts +1 -0
  52. package/src/tags/Default.ts +15 -0
  53. package/src/tags/Format.ts +1 -1
  54. package/src/tags/Pattern.ts +1 -0
  55. package/src/tags/TagBase.ts +2 -2
  56. package/src/tags/index.ts +1 -0
@@ -59,7 +59,10 @@ var check_numeric_type_tags = function (project) {
59
59
  return function (atomic) {
60
60
  return function (addition) {
61
61
  return function (input) {
62
- return atomic.tags.map(function (row) { return __spreadArray(__spreadArray([], __read((addition === null
62
+ return atomic.tags
63
+ .map(function (row) { return row.filter(function (tag) { return !!tag.validate; }); })
64
+ .filter(function (row) { return !!row.length; })
65
+ .map(function (row) { return __spreadArray(__spreadArray([], __read((addition === null
63
66
  ? []
64
67
  : row.some(function (tag) {
65
68
  return tag.kind === "type" &&
@@ -1 +1 @@
1
- {"version":3,"file":"check_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_number.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,10 @@ exports.check_string = check_string;
22
22
  var check_string_type_tags = function (project) {
23
23
  return function (atomic) {
24
24
  return function (input) {
25
- return atomic.tags.map(function (row) {
25
+ return atomic.tags
26
+ .map(function (row) { return row.filter(function (tag) { return !!tag.validate; }); })
27
+ .filter(function (row) { return !!row.length; })
28
+ .map(function (row) {
26
29
  return row.map(function (tag) { return ({
27
30
  expected: "string & ".concat(tag.name),
28
31
  expression: ExpressionFactory_1.ExpressionFactory.transpile(project.context)(tag.validate)(input),
@@ -1 +1 @@
1
- {"version":3,"file":"check_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAW/D,IAAM,YAAY,GACrB,UAAC,OAAiB;IAClB,OAAA,UAAC,MAAsB;QACvB,OAAA,UAAC,KAAoB;YACjB,IAAM,UAAU,GACZ,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAEnD,OAAO;gBACH,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC1B,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACvC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;gBACD,UAAU,YAAA;aACb,CAAC;QACN,CAAC;IAZD,CAYC;AAbD,CAaC,CAAC;AAfO,QAAA,YAAY,gBAenB;AAKN,IAAM,sBAAsB,GACxB,UAAC,OAAiB;IAClB,OAAA,UAAC,MAAsB;QACvB,OAAA,UAAC,KAAoB;YACjB,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG;gBAChB,OAAA,GAAG,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;oBACd,QAAQ,EAAE,mBAAY,GAAG,CAAC,IAAI,CAAE;oBAChC,UAAU,EAAE,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CACpD,GAAG,CAAC,QAAQ,CACf,CAAC,KAAK,CAAC;iBACX,CAAC,EALe,CAKf,CAAC;YALH,CAKG,CACN;QAPD,CAOC;IARL,CAQK;AATL,CASK,CAAC"}
1
+ {"version":3,"file":"check_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAW/D,IAAM,YAAY,GACrB,UAAC,OAAiB;IAClB,OAAA,UAAC,MAAsB;QACvB,OAAA,UAAC,KAAoB;YACjB,IAAM,UAAU,GACZ,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAEnD,OAAO;gBACH,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC1B,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACvC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;gBACD,UAAU,YAAA;aACb,CAAC;QACN,CAAC;IAZD,CAYC;AAbD,CAaC,CAAC;AAfO,QAAA,YAAY,gBAenB;AAKN,IAAM,sBAAsB,GACxB,UAAC,OAAiB;IAClB,OAAA,UAAC,MAAsB;QACvB,OAAA,UAAC,KAAoB;YACjB,OAAA,MAAM,CAAC,IAAI;iBACN,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAd,CAAc,CAAC,EAAnC,CAAmC,CAAC;iBACjD,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,MAAM,EAAZ,CAAY,CAAC;iBAC7B,GAAG,CAAC,UAAC,GAAG;gBACL,OAAA,GAAG,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;oBACd,QAAQ,EAAE,mBAAY,GAAG,CAAC,IAAI,CAAE;oBAChC,UAAU,EAAE,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CACpD,GAAG,CAAC,QAAS,CAChB,CAAC,KAAK,CAAC;iBACX,CAAC,EALe,CAKf,CAAC;YALH,CAKG,CACN;QAVL,CAUK;IAXT,CAWS;AAZT,CAYS,CAAC"}
@@ -38,6 +38,7 @@ export declare namespace IJsonSchema {
38
38
  "x-typia-typeTags"?: IMetadataTypeTag[];
39
39
  }
40
40
  interface IBoolean extends IAtomic<"boolean"> {
41
+ "x-typia-typeTags"?: IMetadataTypeTag[];
41
42
  }
42
43
  interface IArray extends ISignificant<"array"> {
43
44
  items: IJsonSchema;
@@ -1,8 +1,8 @@
1
1
  export interface IMetadataTypeTag {
2
- target: "bigint" | "number" | "string" | "array";
2
+ target: "boolean" | "bigint" | "number" | "string" | "array";
3
3
  name: string;
4
4
  kind: string;
5
5
  value: any;
6
- validate: string;
6
+ validate: string | undefined;
7
7
  exclusive: boolean | string[];
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/schemas/metadata/Metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/schemas/metadata/Metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TagBase } from "./TagBase";
2
+ export type Default<Value extends boolean | bigint | number | string> = TagBase<{
3
+ target: Value extends boolean ? "boolean" : Value extends bigint ? "bigint" : Value extends number ? "number" : "string";
4
+ kind: "default";
5
+ value: Value;
6
+ exclusive: true;
7
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Default.js","sourceRoot":"","sources":["../../src/tags/Default.ts"],"names":[],"mappings":""}
@@ -4,5 +4,5 @@ export type Format<Value extends "email" | "uuid" | "ipv4" | "ipv6" | "url" | "d
4
4
  kind: "format";
5
5
  value: Value;
6
6
  validate: Value extends "email" ? `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i.test($input)` : Value extends "uuid" ? `/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test($input)` : Value extends "ipv4" ? `/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($input)` : Value extends "ipv6" ? `/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test($input)` : Value extends "url" ? `/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)` : Value extends "date" ? `/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)` : `!isNaN(new Date($input).getTime())`;
7
- exclusive: ["pattern"];
7
+ exclusive: ["format", "pattern"];
8
8
  }>;
@@ -4,4 +4,5 @@ export type Pattern<Value extends string> = TagBase<{
4
4
  kind: "pattern";
5
5
  value: Value;
6
6
  validate: `/${Value}/.test($input)`;
7
+ exclusive: ["format", "pattern"];
7
8
  }>;
@@ -7,7 +7,7 @@ export type TagBase<Props extends TagBase.IProps<any, any, any, any, any>> = {
7
7
  "typia.tag"?: Props;
8
8
  };
9
9
  export declare namespace TagBase {
10
- interface IProps<Target extends "bigint" | "number" | "string" | "array", Kind extends string, Value extends boolean | bigint | number | string | undefined, Validate extends string | {
10
+ interface IProps<Target extends "boolean" | "bigint" | "number" | "string" | "array", Kind extends string, Value extends boolean | bigint | number | string | undefined, Validate extends string | {
11
11
  [key in Target]?: string;
12
12
  }, Exclusive extends boolean | string[]> {
13
13
  /**
@@ -40,7 +40,7 @@ export declare namespace TagBase {
40
40
  * occured. So, define it with confidence. Compiler will block all your
41
41
  * mistakes.
42
42
  */
43
- validate: Validate;
43
+ validate?: Validate;
44
44
  /**
45
45
  * Exclusive option.
46
46
  *
@@ -1,3 +1,4 @@
1
+ export * from "./Default";
1
2
  export * from "./ExclusiveMaximum";
2
3
  export * from "./ExclusiveMinimum";
3
4
  export * from "./Format";
package/lib/tags/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Default"), exports);
17
18
  __exportStar(require("./ExclusiveMaximum"), exports);
18
19
  __exportStar(require("./ExclusiveMinimum"), exports);
19
20
  __exportStar(require("./Format"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,qDAAmC;AACnC,qDAAmC;AACnC,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.1.2",
3
+ "version": "5.1.3",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -8,7 +8,7 @@ import { MetadataFactory } from "./MetadataFactory";
8
8
  export namespace MetadataTypeTagFactory {
9
9
  export const analyze =
10
10
  (errors: MetadataFactory.IError[]) =>
11
- (type: "bigint" | "number" | "string" | "array") =>
11
+ (type: "boolean" | "bigint" | "number" | "string" | "array") =>
12
12
  (
13
13
  objects: MetadataObject[],
14
14
  explore: MetadataFactory.IExplore,
@@ -50,9 +50,9 @@ export namespace MetadataTypeTagFactory {
50
50
  const statics: string[] = tag.properties
51
51
  .map((p) => p.key.getSoleLiteral()!)
52
52
  .filter((str) => str !== null);
53
- if (FIELDS.some((f) => !statics.includes(f)))
53
+ if (ESSENTIAL_FIELDS.some((f) => !statics.includes(f)))
54
54
  return report(null)(
55
- `must have four properties - ${FIELDS.map(
55
+ `must have at least three properties - ${ESSENTIAL_FIELDS.map(
56
56
  (str) => `'${str}'`,
57
57
  ).join(", ")}`,
58
58
  );
@@ -103,7 +103,7 @@ export namespace MetadataTypeTagFactory {
103
103
 
104
104
  export const validate =
105
105
  (report: (property: string | null) => (msg: string) => false) =>
106
- (type: "bigint" | "number" | "string" | "array") =>
106
+ (type: "boolean" | "bigint" | "number" | "string" | "array") =>
107
107
  (tagList: IMetadataTypeTag[]): boolean => {
108
108
  let success: boolean = true;
109
109
  for (const tag of tagList)
@@ -149,6 +149,7 @@ export namespace MetadataTypeTagFactory {
149
149
  value.constants[0]!.values.length !== value.size() ||
150
150
  value.constants[0]!.values.some(
151
151
  (v) =>
152
+ v !== "boolean" &&
152
153
  v !== "bigint" &&
153
154
  v !== "number" &&
154
155
  v !== "string" &&
@@ -156,7 +157,7 @@ export namespace MetadataTypeTagFactory {
156
157
  ))
157
158
  )
158
159
  return report(key)(
159
- `must be one of 'bigint', 'number', 'string', 'array'`,
160
+ `must be one of 'boolean', 'bigint', 'number', 'string', 'array'`,
160
161
  );
161
162
  else if (
162
163
  // KIND
@@ -184,13 +185,22 @@ export namespace MetadataTypeTagFactory {
184
185
  //----
185
186
  // VALIDATE
186
187
  //----
188
+ // UNDEFINED CASE
189
+ if (
190
+ value.size() === 0 &&
191
+ value.isRequired() === false &&
192
+ value.nullable === false
193
+ )
194
+ return true;
195
+
187
196
  // STRING CASE
188
- const single: boolean =
197
+ if (
189
198
  value.size() === 1 &&
190
199
  value.constants.length === 1 &&
191
200
  value.constants[0]!.type === "string" &&
192
- value.constants[0]!.values.length === 1;
193
- if (single === true) return true;
201
+ (value.constants[0]!.values.length === 1) === true
202
+ )
203
+ return true;
194
204
 
195
205
  // RECORD<TARGET, STRING>
196
206
  const target: string[] | undefined =
@@ -199,7 +209,7 @@ export namespace MetadataTypeTagFactory {
199
209
  .filter((str) => str !== null) as string[] | undefined;
200
210
  if (target === undefined)
201
211
  return report("target")(
202
- `must be one of 'bigint', 'number', 'string', 'array'`,
212
+ `must be one of 'boolean', 'bigint', 'number', 'string', 'array'`,
203
213
  );
204
214
  const variadic: boolean =
205
215
  value.size() === 1 &&
@@ -242,8 +252,9 @@ export namespace MetadataTypeTagFactory {
242
252
  if (exclusive === null) return null;
243
253
 
244
254
  const validate: Record<string, string> = (() => {
245
- const validate = find("validate")!.value;
246
- if (validate.constants.length)
255
+ const validate = find("validate")?.value;
256
+ if (!validate || validate.size() === 0) return {};
257
+ else if (validate.constants.length)
247
258
  return Object.fromEntries(
248
259
  target.map((t) => [
249
260
  t,
@@ -310,4 +321,5 @@ interface ITypeTag {
310
321
  exclusive: boolean | string[];
311
322
  }
312
323
 
313
- const FIELDS = ["target", "kind", "value", "validate"];
324
+ const ESSENTIAL_FIELDS = ["target", "kind", "value"];
325
+ const FIELDS = [...ESSENTIAL_FIELDS, "validate", "exclusive"];
@@ -18,16 +18,17 @@ export const emend_metadata_atomics = (meta: Metadata) => {
18
18
  (c) => c.type === "boolean",
19
19
  );
20
20
  if (index !== -1 && meta.constants[index]!.values.length === 2) {
21
- meta.constants.splice(index, 1);
21
+ const temp = meta.constants.splice(index, 1)[0]!;
22
22
  ArrayUtil.take(
23
23
  meta.atomics,
24
24
  (a) => a.type === "boolean",
25
25
  () =>
26
26
  MetadataAtomic.create({
27
27
  type: "boolean" as const,
28
- tags: [],
28
+ tags: temp.tags ?? [],
29
29
  }),
30
30
  );
31
+ temp.tags = undefined;
31
32
  }
32
33
  }
33
34
 
@@ -1,5 +1,6 @@
1
1
  import ts from "typescript";
2
2
 
3
+ import { IMetadataConstant } from "../../../schemas/metadata/IMetadataConstant";
3
4
  import { IMetadataTypeTag } from "../../../schemas/metadata/IMetadataTypeTag";
4
5
  import { Metadata } from "../../../schemas/metadata/Metadata";
5
6
  import { MetadataAtomic } from "../../../schemas/metadata/MetadataAtomic";
@@ -70,21 +71,53 @@ export const iterate_metadata_intersection =
70
71
  )
71
72
  return false;
72
73
 
74
+ // CONSIDER BOOLEAN TYPE CASE
75
+ const booleanLiteral: boolean | null = (() => {
76
+ const found = children.find(
77
+ (c) =>
78
+ c.size() === 1 &&
79
+ c.constants.length === 1 &&
80
+ c.constants[0]!.type === "boolean",
81
+ )?.constants[0]?.values[0];
82
+ if (found === undefined) return null;
83
+ return children.every(
84
+ (c) =>
85
+ c.atomics.length === 0 ||
86
+ c.atomics.every((a) => a.type !== "boolean"),
87
+ )
88
+ ? (found as boolean)
89
+ : null;
90
+ })();
91
+ if (
92
+ booleanLiteral !== null &&
93
+ meta.boolean_literal_intersected_ === true
94
+ ) {
95
+ (
96
+ meta.constants.find((c) => c.type === "boolean")!
97
+ .values as boolean[]
98
+ ).push(booleanLiteral);
99
+ return true;
100
+ }
101
+
73
102
  // VALIDATE EACH TYPES
74
103
  const individuals: (readonly [Metadata, number])[] = children
75
104
  .map((child, i) => [child, i] as const)
76
105
  .filter(
77
106
  ([c]) =>
78
107
  c.size() === 1 &&
79
- (c.atomics.length === 1 || c.arrays.length === 1),
108
+ (c.atomics.length === 1 ||
109
+ (c.constants.length === 1 &&
110
+ c.constants[0]!.type === "boolean") ||
111
+ c.arrays.length === 1),
80
112
  );
81
113
  const constants: Metadata[] = children.filter(
82
114
  (m) =>
83
115
  m.size() ===
84
- m.constants
85
- .map((c) => c.values.length)
86
- .reduce((a, b) => a + b, 0) +
87
- m.templates.length,
116
+ m.constants
117
+ .map((c) => c.values.length)
118
+ .reduce((a, b) => a + b, 0) +
119
+ m.templates.length &&
120
+ !(m.size() === 1 && m.constants[0]!.type === "boolean"),
88
121
  );
89
122
  const objects: Metadata[] = children.filter(
90
123
  (c) =>
@@ -98,7 +131,14 @@ export const iterate_metadata_intersection =
98
131
  );
99
132
  const atomics: Set<"boolean" | "bigint" | "number" | "string"> =
100
133
  new Set(
101
- individuals.map(([c]) => c.atomics.map((a) => a.type)).flat(),
134
+ individuals
135
+ .map(([c]) => [
136
+ ...c.atomics.map((a) => a.type),
137
+ ...c.constants
138
+ .filter((l) => l.type === "boolean")
139
+ .map((l) => l.type),
140
+ ])
141
+ .flat(),
102
142
  );
103
143
  const arrays: Set<string> = new Set(
104
144
  individuals.map(([c]) => c.arrays.map((a) => a.type.name)).flat(),
@@ -149,21 +189,35 @@ export const iterate_metadata_intersection =
149
189
 
150
190
  // RE-GENERATE TYPE
151
191
  const target: "boolean" | "bigint" | "number" | "string" | "array" =
152
- atomics.size ? atomics.values().next().value : "array";
192
+ booleanLiteral
193
+ ? "boolean"
194
+ : atomics.size
195
+ ? atomics.values().next().value
196
+ : "array";
153
197
  if (
154
198
  target === "boolean" ||
155
199
  target === "bigint" ||
156
200
  target === "number" ||
157
201
  target === "string"
158
202
  )
159
- ArrayUtil.add(
160
- meta.atomics,
161
- MetadataAtomic.create({
162
- type: atomics.values().next().value as "string",
163
- tags: [],
164
- }),
165
- (a, b) => a.type === b.type,
166
- );
203
+ if (booleanLiteral === null)
204
+ ArrayUtil.add(
205
+ meta.atomics,
206
+ MetadataAtomic.create({
207
+ type: atomics.values().next().value as "string",
208
+ tags: [],
209
+ }),
210
+ (a, b) => a.type === b.type,
211
+ );
212
+ else
213
+ ArrayUtil.take<IMetadataConstant>(
214
+ meta.constants,
215
+ (x) => x.type === "boolean",
216
+ () => ({
217
+ type: "boolean",
218
+ values: [booleanLiteral],
219
+ }),
220
+ );
167
221
  else if (target === "array") {
168
222
  const name: string = arrays.values().next().value;
169
223
  if (!meta.arrays.some((a) => a.type.name === name)) {
@@ -182,16 +236,24 @@ export const iterate_metadata_intersection =
182
236
  }
183
237
 
184
238
  // ASSIGN TAGS
185
- if (objects.length && target !== "boolean") {
239
+ if (objects.length) {
186
240
  const tags: IMetadataTypeTag[] = MetadataTypeTagFactory.analyze(
187
241
  errors,
188
242
  )(target)(objects.map((om) => om.objects).flat(), explore);
189
243
  if (tags.length)
190
244
  if (target === "array") meta.arrays.at(-1)!.tags.push(tags);
191
- else
245
+ else if (booleanLiteral === null)
192
246
  meta.atomics
193
247
  .find((a) => a.type === target)!
194
248
  .tags.push(tags);
249
+ else {
250
+ const constant: IMetadataConstant = meta.constants.find(
251
+ (c) => c.type === "boolean",
252
+ )!;
253
+ constant.tags ??= [];
254
+ constant.tags.push(tags);
255
+ }
195
256
  }
257
+ if (booleanLiteral !== null) meta.boolean_literal_intersected_ = true;
196
258
  return true;
197
259
  };
@@ -1,15 +1,30 @@
1
+ import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
2
+ import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
3
+
1
4
  import { IJsonSchema } from "../../module";
2
5
  import { application_default } from "./application_default";
3
6
 
4
7
  /**
5
8
  * @internal
6
9
  */
7
- export const application_boolean = (
8
- attribute: IJsonSchema.IAttribute,
9
- ): IJsonSchema.IBoolean => ({
10
- ...attribute,
11
- default: application_default(attribute)(
12
- (alias) => alias === "true" || alias === "false",
13
- )((str) => Boolean(str)),
14
- type: "boolean",
15
- });
10
+ export const application_boolean =
11
+ (atomic: MetadataAtomic) =>
12
+ (attribute: IJsonSchema.IAttribute): IJsonSchema.IBoolean[] => {
13
+ const base: IJsonSchema.IBoolean = {
14
+ ...attribute,
15
+ default: application_default(attribute)(
16
+ (alias) => alias === "true" || alias === "false",
17
+ )((str) => Boolean(str)),
18
+ type: "boolean",
19
+ };
20
+ const defaultTags: IMetadataTypeTag[] = atomic.tags
21
+ .filter((row) => row.some((tag) => tag.kind === "default"))
22
+ .map((row) => row.filter((tag) => tag.kind === "default"))
23
+ .flat();
24
+ if (defaultTags.length === 0) return [base];
25
+ return defaultTags.map((tag) => ({
26
+ ...base,
27
+ default: tag.value,
28
+ "x-typia-typeTags": defaultTags,
29
+ }));
30
+ };
@@ -18,7 +18,7 @@ export const application_number =
18
18
  type: "number",
19
19
  };
20
20
  const out = (schema: Schema) => {
21
- schema.default = application_default(attribute)((str) => {
21
+ schema.default ??= application_default(attribute)((str) => {
22
22
  const value: number = Number(str);
23
23
  const conditions: boolean[] = [!Number.isNaN(value)];
24
24
  if (schema.minimum !== undefined)
@@ -82,6 +82,8 @@ const application_number_tags =
82
82
  typeof tag.value === "number"
83
83
  )
84
84
  base.multipleOf = tag.value;
85
+ else if (tag.kind === "default" && typeof tag.value === "number")
86
+ base.default = tag.value;
85
87
  }
86
88
  base["x-typia-typeTags"] = row;
87
89
  return base;
@@ -80,13 +80,11 @@ export const application_schema =
80
80
  for (const a of meta.atomics)
81
81
  if (a.type === "bigint") throw new TypeError(NO_BIGINT);
82
82
  else if (a.type === "boolean")
83
- insert(application_boolean(attribute));
83
+ application_boolean(a)(attribute).forEach(insert);
84
84
  else if (a.type === "number")
85
- application_number(a)(attribute).forEach((s) => insert(s));
85
+ application_number(a)(attribute).forEach(insert);
86
86
  else if (a.type === "string")
87
- application_string(meta)(a)(attribute).forEach((s) =>
88
- insert(s),
89
- );
87
+ application_string(meta)(a)(attribute).forEach(insert);
90
88
 
91
89
  // ARRAY
92
90
  for (const array of meta.arrays)
@@ -105,7 +103,14 @@ export const application_schema =
105
103
  if (meta.atomics.some((a) => a.type === type)) continue;
106
104
  else if (type === "bigint") throw new TypeError(NO_BIGINT);
107
105
  else if (type === "boolean")
108
- insert(application_boolean(attribute));
106
+ insert(
107
+ application_boolean(
108
+ MetadataAtomic.create({
109
+ type: "boolean",
110
+ tags: [],
111
+ }),
112
+ )(attribute)[0]!,
113
+ );
109
114
  else if (type === "number")
110
115
  insert(
111
116
  application_number(