typia 6.4.0 → 6.4.1

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/README.md CHANGED
@@ -53,6 +53,11 @@ Thanks for your support.
53
53
 
54
54
  Your donation encourages `typia` development.
55
55
 
56
+ Also, `typia` is re-distributing half of your donations to core contributors of `typia`.
57
+
58
+ - [@nonara](https://github.com/nonara): developer of [`ts-patch`](https://github.com/nonara/ts-patch)
59
+ - [@ryoppippi](https://github.com/ryoppippi): developer of [`unplugin-typia`](https://github.com/ryoppippi/unplugin-typia)
60
+
56
61
  [![Sponsers](https://opencollective.com/typia/badge.svg?avatarHeight=75&width=600)](https://opencollective.com/typia)
57
62
 
58
63
 
@@ -0,0 +1,3 @@
1
+ import { OpenApi } from "@samchon/openapi";
2
+ import { Metadata } from "../../schemas/metadata/Metadata";
3
+ export declare const application_union_discriminator: (meta: Metadata) => OpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.application_union_discriminator = void 0;
4
+ var UnionPredicator_1 = require("../helpers/UnionPredicator");
5
+ var application_union_discriminator = function (meta) {
6
+ if (meta.size() === 0 ||
7
+ meta.size() !== meta.objects.length ||
8
+ meta.objects.some(function (o) { return o._Is_literal(); }) === true)
9
+ return undefined;
10
+ var specialized = UnionPredicator_1.UnionPredicator.object(meta.objects);
11
+ var meet = specialized.length === meta.objects.length &&
12
+ specialized.every(function (s) { return s.property.key.isSoleLiteral() && s.property.value.isSoleLiteral(); }) &&
13
+ new Set(specialized.map(function (s) { return s.property.key.getSoleLiteral(); })).size === 1;
14
+ if (meet === false)
15
+ return undefined;
16
+ return {
17
+ propertyName: specialized[0].property.key.getSoleLiteral(),
18
+ mapping: Object.fromEntries(specialized.map(function (s) { return [
19
+ s.property.value.getSoleLiteral(),
20
+ "#/components/schemas/".concat(s.object.name),
21
+ ]; })),
22
+ };
23
+ };
24
+ exports.application_union_discriminator = application_union_discriminator;
25
+ //# sourceMappingURL=application_union_discriminator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application_union_discriminator.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_union_discriminator.ts"],"names":[],"mappings":";;;AAIA,8DAA6D;AAEtD,IAAM,+BAA+B,GAAG,UAC7C,IAAc;IAEd,IACE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,KAAK,IAAI;QAElD,OAAO,SAAS,CAAC;IACnB,IAAM,WAAW,GAAmC,iCAAe,CAAC,MAAM,CACxE,IAAI,CAAC,OAAO,CACb,CAAC;IACF,IAAM,IAAI,GACR,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;QAC1C,WAAW,CAAC,KAAK,CACf,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAlE,CAAkE,CAC1E;QACD,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,EAA/B,CAA+B,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;IAC9E,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAG;QAC5D,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA;YACrB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAG;YAClC,+BAAwB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAE;SACxC,EAHsB,CAGtB,CAAC,CACH;KACF,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,+BAA+B,mCA4B1C"}
@@ -31,6 +31,7 @@ var application_escaped_1 = require("./application_escaped");
31
31
  var application_number_1 = require("./application_number");
32
32
  var application_string_1 = require("./application_string");
33
33
  var application_templates_1 = require("./application_templates");
34
+ var application_union_discriminator_1 = require("./application_union_discriminator");
34
35
  var application_v30_alias_1 = require("./application_v30_alias");
35
36
  var application_v30_constant_1 = require("./application_v30_constant");
36
37
  var application_v30_native_1 = require("./application_v30_native");
@@ -214,7 +215,10 @@ var application_v30_schema = function (blockNever) {
214
215
  ? { type: undefined }
215
216
  : union.length === 1
216
217
  ? union[0]
217
- : { oneOf: union };
218
+ : {
219
+ oneOf: union,
220
+ discriminator: (0, application_union_discriminator_1.application_union_discriminator)(meta),
221
+ };
218
222
  return __assign(__assign(__assign({}, schema), attribute), { title: (_h = attribute.title) !== null && _h !== void 0 ? _h : schema.title, description: (_j = attribute.description) !== null && _j !== void 0 ? _j : schema.description, deprecated: (_k = attribute.deprecated) !== null && _k !== void 0 ? _k : schema.deprecated });
219
223
  };
220
224
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_v30_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v30_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_v30_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v30_schema.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ var application_escaped_1 = require("./application_escaped");
31
31
  var application_number_1 = require("./application_number");
32
32
  var application_string_1 = require("./application_string");
33
33
  var application_templates_1 = require("./application_templates");
34
+ var application_union_discriminator_1 = require("./application_union_discriminator");
34
35
  var application_v31_alias_1 = require("./application_v31_alias");
35
36
  var application_v31_constant_1 = require("./application_v31_constant");
36
37
  var application_v31_native_1 = require("./application_v31_native");
@@ -210,7 +211,10 @@ var application_v31_schema = function (blockNever) {
210
211
  ? { type: undefined }
211
212
  : union.length === 1
212
213
  ? union[0]
213
- : { oneOf: union };
214
+ : {
215
+ oneOf: union,
216
+ discriminator: (0, application_union_discriminator_1.application_union_discriminator)(meta),
217
+ };
214
218
  return __assign(__assign(__assign({}, schema), attribute), { title: (_h = attribute.title) !== null && _h !== void 0 ? _h : schema.title, description: (_j = attribute.description) !== null && _j !== void 0 ? _j : schema.description, deprecated: (_k = attribute.deprecated) !== null && _k !== void 0 ? _k : schema.deprecated });
215
219
  };
216
220
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_v31_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v31_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_v31_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v31_schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "6.4.0",
3
+ "version": "6.4.1",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  "homepage": "https://typia.io",
69
69
  "dependencies": {
70
- "@samchon/openapi": "^0.3.0",
70
+ "@samchon/openapi": "^0.3.1",
71
71
  "commander": "^10.0.0",
72
72
  "comment-json": "^4.2.3",
73
73
  "inquirer": "^8.2.5",
@@ -97,6 +97,7 @@
97
97
  "stackblitz": {
98
98
  "startCommand": "npm install && npm run test"
99
99
  },
100
+ "sideEffects": false,
100
101
  "files": [
101
102
  "LICENSE",
102
103
  "README.md",
@@ -0,0 +1,35 @@
1
+ import { OpenApi } from "@samchon/openapi";
2
+
3
+ import { Metadata } from "../../schemas/metadata/Metadata";
4
+
5
+ import { UnionPredicator } from "../helpers/UnionPredicator";
6
+
7
+ export const application_union_discriminator = (
8
+ meta: Metadata,
9
+ ): OpenApi.IJsonSchema.IOneOf.IDiscriminator | undefined => {
10
+ if (
11
+ meta.size() === 0 ||
12
+ meta.size() !== meta.objects.length ||
13
+ meta.objects.some((o) => o._Is_literal()) === true
14
+ )
15
+ return undefined;
16
+ const specialized: UnionPredicator.ISpecialized[] = UnionPredicator.object(
17
+ meta.objects,
18
+ );
19
+ const meet: boolean =
20
+ specialized.length === meta.objects.length &&
21
+ specialized.every(
22
+ (s) => s.property.key.isSoleLiteral() && s.property.value.isSoleLiteral(),
23
+ ) &&
24
+ new Set(specialized.map((s) => s.property.key.getSoleLiteral())).size === 1;
25
+ if (meet === false) return undefined;
26
+ return {
27
+ propertyName: specialized[0]!.property.key.getSoleLiteral()!,
28
+ mapping: Object.fromEntries(
29
+ specialized.map((s) => [
30
+ s.property.value.getSoleLiteral()!,
31
+ `#/components/schemas/${s.object.name}`,
32
+ ]),
33
+ ),
34
+ };
35
+ };
@@ -10,6 +10,7 @@ import { application_escaped } from "./application_escaped";
10
10
  import { application_number } from "./application_number";
11
11
  import { application_string } from "./application_string";
12
12
  import { application_templates } from "./application_templates";
13
+ import { application_union_discriminator } from "./application_union_discriminator";
13
14
  import { application_v30_alias } from "./application_v30_alias";
14
15
  import { application_v30_constant } from "./application_v30_constant";
15
16
  import { application_v30_native } from "./application_v30_native";
@@ -139,7 +140,10 @@ export const application_v30_schema =
139
140
  ? { type: undefined }
140
141
  : union.length === 1
141
142
  ? union[0]!
142
- : { oneOf: union };
143
+ : {
144
+ oneOf: union,
145
+ discriminator: application_union_discriminator(meta),
146
+ };
143
147
  return {
144
148
  ...schema,
145
149
  ...attribute,
@@ -10,6 +10,7 @@ import { application_escaped } from "./application_escaped";
10
10
  import { application_number } from "./application_number";
11
11
  import { application_string } from "./application_string";
12
12
  import { application_templates } from "./application_templates";
13
+ import { application_union_discriminator } from "./application_union_discriminator";
13
14
  import { application_v31_alias } from "./application_v31_alias";
14
15
  import { application_v31_constant } from "./application_v31_constant";
15
16
  import { application_v31_native } from "./application_v31_native";
@@ -134,7 +135,10 @@ export const application_v31_schema =
134
135
  ? { type: undefined }
135
136
  : union.length === 1
136
137
  ? union[0]!
137
- : { oneOf: union };
138
+ : {
139
+ oneOf: union,
140
+ discriminator: application_union_discriminator(meta),
141
+ };
138
142
  return {
139
143
  ...schema,
140
144
  ...attribute,