typia 5.3.8-dev.20240103 → 5.3.8-dev.20240104

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/lib/json.d.ts CHANGED
@@ -7,19 +7,23 @@ import { Primitive } from "./Primitive";
7
7
  * JSON Schema Application.
8
8
  *
9
9
  * Creates a JSON schema application which contains both main JSON schemas and
10
- * components. Note that, all of the object types are stored in the
10
+ * components. Note that, all of the named types are stored in the
11
11
  * {@link IJsonApplication.components} property for the `$ref` referencing.
12
12
  *
13
- * Also, `typia.json.application()` has additional generic arguments, *Purpose*.
14
- * As JSON schema definitions used by `swagger` and `ajv` are different a little bit,
15
- * you should configure the *Purpose* appropriately.
13
+ * Also, `typia.json.application()` has two additional generic arguments.
14
+ *
15
+ * The 1st *Purpose* means the purpose determines the JSON schema definition spec.
16
+ * For an example, `ajv` has an extra property "$recursiveRef" that are not
17
+ * exists in the standard JSON schema definition spec. Otherwise, `swagger`
18
+ * can't identify the tuple definition.
16
19
  *
17
- * For an example, `ajv` has an extra property "$recursiveRef" that are not exists
18
- * in the standard JSON schema definition spec. Otherwise, `swagger` can't identify
19
- * the tuple definition.
20
+ * The next *Surplus* means whether to allow surplus properties starting with
21
+ * `x-typia-` or not. If `true`, the surplus properties like `x-typia-jsDocTags`
22
+ * would be registered into the JSON schema, otherwise, not.
20
23
  *
21
24
  * @template Types Tuple of target types
22
- * @template Purpose Purpose of the JSON schema`
25
+ * @template Purpose Purpose of the JSON schema
26
+ * @template Surplus Allow surplus properties starting with `x-typia-` or not
23
27
  * @return JSON schema application
24
28
  *
25
29
  * @author Jeongho Nam - https://github.com/samchon
package/lib/json.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AA2EnD,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AAgDD,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AA6CjE,SAAgB,OAAO;IACrB,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AAFD,0BAEC;AACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AA+CvC,SAAgB,aAAa;IAC3B,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AAgCnD,SAAgB,SAAS;IACvB,IAAI,CAAC,WAAW,CAAC,CAAC;AACpB,CAAC;AAFD,8BAEC;AACD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAmDhE,SAAgB,eAAe;IAC7B,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC1B,CAAC;AAFD,0CAEC;AACD,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAmD5E,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AAED,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AAqDpE,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;AA6BhF,SAAgB,aAAa;IAC3B,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AA0BtC,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA4B9C,SAAgB,mBAAmB;IAGjC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC9B,CAAC;AAJD,kDAIC;AACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AA0BlD,SAAgB,eAAe;IAC7B,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC1B,CAAC;AAFD,0CAEC;AACD,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AA0B1C,SAAgB,qBAAqB;IACnC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAChC,CAAC;AAFD,sDAEC;AACD,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AA0BtD,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA4B9C,SAAgB,uBAAuB;IAGrC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AAClC,CAAC;AAJD,0DAIC;AACD,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;AAK1D,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,8BAAuB,IAAI,mGAAgG,CAC5H,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.3.8-dev.20240103",
3
+ "version": "5.3.8-dev.20240104",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
package/src/json.ts CHANGED
@@ -20,19 +20,23 @@ import { Primitive } from "./Primitive";
20
20
  * JSON Schema Application.
21
21
  *
22
22
  * Creates a JSON schema application which contains both main JSON schemas and
23
- * components. Note that, all of the object types are stored in the
23
+ * components. Note that, all of the named types are stored in the
24
24
  * {@link IJsonApplication.components} property for the `$ref` referencing.
25
25
  *
26
- * Also, `typia.json.application()` has additional generic arguments, *Purpose*.
27
- * As JSON schema definitions used by `swagger` and `ajv` are different a little bit,
28
- * you should configure the *Purpose* appropriately.
26
+ * Also, `typia.json.application()` has two additional generic arguments.
27
+ *
28
+ * The 1st *Purpose* means the purpose determines the JSON schema definition spec.
29
+ * For an example, `ajv` has an extra property "$recursiveRef" that are not
30
+ * exists in the standard JSON schema definition spec. Otherwise, `swagger`
31
+ * can't identify the tuple definition.
29
32
  *
30
- * For an example, `ajv` has an extra property "$recursiveRef" that are not exists
31
- * in the standard JSON schema definition spec. Otherwise, `swagger` can't identify
32
- * the tuple definition.
33
+ * The next *Surplus* means whether to allow surplus properties starting with
34
+ * `x-typia-` or not. If `true`, the surplus properties like `x-typia-jsDocTags`
35
+ * would be registered into the JSON schema, otherwise, not.
33
36
  *
34
37
  * @template Types Tuple of target types
35
- * @template Purpose Purpose of the JSON schema`
38
+ * @template Purpose Purpose of the JSON schema
39
+ * @template Surplus Allow surplus properties starting with `x-typia-` or not
36
40
  * @return JSON schema application
37
41
  *
38
42
  * @author Jeongho Nam - https://github.com/samchon