typia 7.0.0-dev.20241012 → 7.0.0-dev.20241019
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/factories/JsonMetadataFactory.js +3 -2
- package/lib/factories/JsonMetadataFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.d.ts +3 -3
- package/lib/factories/MetadataCollection.js +2 -2
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataFactory.d.ts +2 -2
- package/lib/factories/MetadataFactory.js +3 -3
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagFactory.d.ts +3 -2
- package/lib/factories/MetadataTypeTagFactory.js +26 -3
- package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
- package/lib/factories/ProtobufFactory.js +1266 -160
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/internal/metadata/IMetadataIteratorProps.d.ts +1 -0
- package/lib/factories/internal/metadata/MetadataHelper.js +1 -1
- package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +2 -2
- package/lib/factories/internal/metadata/emplace_metadata_object.js +5 -5
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/explore_metadata.js +2 -0
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_alias.js +8 -2
- package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +6 -6
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js +262 -137
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_map.js +4 -2
- package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +27 -11
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.js +8 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_template.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +5 -5
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +12 -12
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/helpers/AtomicPredicator.js +3 -3
- package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
- package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -3
- package/lib/programmers/helpers/ProtobufUtil.js +216 -93
- package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.d.ts +4 -2
- package/lib/programmers/helpers/UnionExplorer.js +1 -1
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js +6 -6
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/internal/application_escaped.js +2 -2
- package/lib/programmers/internal/application_escaped.js.map +1 -1
- package/lib/programmers/internal/application_v30_alias.js +13 -8
- package/lib/programmers/internal/application_v30_alias.js.map +1 -1
- package/lib/programmers/internal/application_v30_native.js +17 -10
- package/lib/programmers/internal/application_v30_native.js.map +1 -1
- package/lib/programmers/internal/application_v30_object.js +16 -6
- package/lib/programmers/internal/application_v30_object.js.map +1 -1
- package/lib/programmers/internal/application_v30_schema.js +24 -17
- package/lib/programmers/internal/application_v30_schema.js.map +1 -1
- package/lib/programmers/internal/application_v31_alias.js +12 -11
- package/lib/programmers/internal/application_v31_alias.js.map +1 -1
- package/lib/programmers/internal/application_v31_native.js +17 -10
- package/lib/programmers/internal/application_v31_native.js.map +1 -1
- package/lib/programmers/internal/application_v31_object.js +13 -6
- package/lib/programmers/internal/application_v31_object.js.map +1 -1
- package/lib/programmers/internal/application_v31_schema.js +23 -16
- package/lib/programmers/internal/application_v31_schema.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.js +4 -4
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_native.js +3 -3
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/llm_schema_escaped.js +2 -2
- package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
- package/lib/programmers/internal/llm_schema_object.js +18 -14
- package/lib/programmers/internal/llm_schema_object.js.map +1 -1
- package/lib/programmers/internal/llm_schema_station.js +8 -8
- package/lib/programmers/internal/llm_schema_station.js.map +1 -1
- package/lib/programmers/json/JsonSchemasProgrammer.js +5 -5
- package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +18 -17
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js +6 -6
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +7 -5
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +6 -4
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +169 -220
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +6 -4
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.d.ts +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +53 -128
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/schemas/metadata/IMetadata.d.ts +14 -18
- package/lib/schemas/metadata/IMetadataAlias.d.ts +2 -7
- package/lib/schemas/metadata/IMetadataAliasType.d.ts +10 -0
- package/lib/schemas/metadata/IMetadataAliasType.js +3 -0
- package/lib/schemas/metadata/IMetadataAliasType.js.map +1 -0
- package/lib/schemas/metadata/IMetadataComponents.d.ts +2 -2
- package/lib/schemas/metadata/IMetadataConstantValue.d.ts +1 -1
- package/lib/schemas/metadata/IMetadataDictionary.d.ts +2 -2
- package/lib/schemas/metadata/IMetadataMap.d.ts +7 -0
- package/lib/schemas/metadata/{IMetadataEntry.js → IMetadataMap.js} +1 -1
- package/lib/schemas/metadata/IMetadataMap.js.map +1 -0
- package/lib/schemas/metadata/IMetadataNative.d.ts +5 -0
- package/lib/schemas/metadata/IMetadataNative.js +3 -0
- package/lib/schemas/metadata/IMetadataNative.js.map +1 -0
- package/lib/schemas/metadata/IMetadataSet.d.ts +6 -0
- package/lib/schemas/metadata/IMetadataSet.js +3 -0
- package/lib/schemas/metadata/IMetadataSet.js.map +1 -0
- package/lib/schemas/metadata/IMetadataTemplate.d.ts +1 -1
- package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -1
- package/lib/schemas/metadata/Metadata.d.ts +6 -9
- package/lib/schemas/metadata/Metadata.js +136 -98
- package/lib/schemas/metadata/Metadata.js.map +1 -1
- package/lib/schemas/metadata/MetadataAlias.d.ts +8 -11
- package/lib/schemas/metadata/MetadataAlias.js +48 -33
- package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
- package/lib/schemas/metadata/MetadataAliasType.d.ts +16 -0
- package/lib/schemas/metadata/MetadataAliasType.js +51 -0
- package/lib/schemas/metadata/MetadataAliasType.js.map +1 -0
- package/lib/schemas/metadata/MetadataComponents.d.ts +2 -2
- package/lib/schemas/metadata/MetadataComponents.js +2 -2
- package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
- package/lib/schemas/metadata/MetadataConstantValue.d.ts +1 -1
- package/lib/schemas/metadata/MetadataMap.d.ts +14 -0
- package/lib/schemas/metadata/MetadataMap.js +66 -0
- package/lib/schemas/metadata/MetadataMap.js.map +1 -0
- package/lib/schemas/metadata/MetadataNative.d.ts +12 -0
- package/lib/schemas/metadata/MetadataNative.js +65 -0
- package/lib/schemas/metadata/MetadataNative.js.map +1 -0
- package/lib/schemas/metadata/MetadataProperty.d.ts +2 -0
- package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
- package/lib/schemas/metadata/MetadataSet.d.ts +13 -0
- package/lib/schemas/metadata/MetadataSet.js +64 -0
- package/lib/schemas/metadata/MetadataSet.js.map +1 -0
- package/lib/schemas/metadata/MetadataTemplate.d.ts +1 -1
- package/lib/schemas/protobuf/IProtobufProperty.d.ts +5 -0
- package/lib/schemas/protobuf/IProtobufProperty.js +3 -0
- package/lib/schemas/protobuf/IProtobufProperty.js.map +1 -0
- package/lib/schemas/protobuf/IProtobufPropertyType.d.ts +28 -0
- package/lib/schemas/protobuf/IProtobufPropertyType.js +3 -0
- package/lib/schemas/protobuf/IProtobufPropertyType.js.map +1 -0
- package/lib/schemas/protobuf/IProtobufSchema.d.ts +38 -0
- package/lib/schemas/protobuf/IProtobufSchema.js +3 -0
- package/lib/schemas/protobuf/IProtobufSchema.js.map +1 -0
- package/lib/tags/Example.d.ts +2 -2
- package/lib/tags/Examples.d.ts +2 -2
- package/lib/tags/JsonSchemaPlugin.d.ts +1 -1
- package/lib/tags/Sequence.d.ts +9 -0
- package/lib/tags/Sequence.js +3 -0
- package/lib/tags/Sequence.js.map +1 -0
- package/lib/tags/TagBase.d.ts +1 -1
- package/lib/tags/index.d.ts +1 -0
- package/lib/tags/index.js +1 -0
- package/lib/tags/index.js.map +1 -1
- package/lib/utils/{NameEncoder.d.ts → ProtobufNameEncoder.d.ts} +1 -1
- package/lib/utils/{NameEncoder.js → ProtobufNameEncoder.js} +7 -7
- package/lib/utils/ProtobufNameEncoder.js.map +1 -0
- package/package.json +1 -1
- package/src/factories/JsonMetadataFactory.ts +5 -2
- package/src/factories/MetadataCollection.ts +6 -6
- package/src/factories/MetadataFactory.ts +7 -7
- package/src/factories/MetadataTypeTagFactory.ts +31 -6
- package/src/factories/ProtobufFactory.ts +794 -177
- package/src/factories/internal/metadata/IMetadataIteratorProps.ts +1 -0
- package/src/factories/internal/metadata/MetadataHelper.ts +1 -1
- package/src/factories/internal/metadata/emplace_metadata_alias.ts +2 -2
- package/src/factories/internal/metadata/emplace_metadata_object.ts +5 -5
- package/src/factories/internal/metadata/explore_metadata.ts +1 -0
- package/src/factories/internal/metadata/iterate_metadata.ts +1 -1
- package/src/factories/internal/metadata/iterate_metadata_alias.ts +9 -4
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +6 -6
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +163 -181
- package/src/factories/internal/metadata/iterate_metadata_map.ts +5 -2
- package/src/factories/internal/metadata/iterate_metadata_native.ts +20 -2
- package/src/factories/internal/metadata/iterate_metadata_set.ts +27 -11
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +1 -1
- package/src/factories/internal/metadata/iterate_metadata_template.ts +1 -3
- package/src/programmers/CheckerProgrammer.ts +9 -7
- package/src/programmers/RandomProgrammer.ts +16 -14
- package/src/programmers/helpers/AtomicPredicator.ts +3 -3
- package/src/programmers/helpers/ProtobufUtil.ts +147 -44
- package/src/programmers/helpers/UnionExplorer.ts +62 -62
- package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
- package/src/programmers/internal/application_escaped.ts +2 -2
- package/src/programmers/internal/application_v30_alias.ts +18 -12
- package/src/programmers/internal/application_v30_native.ts +22 -12
- package/src/programmers/internal/application_v30_object.ts +23 -8
- package/src/programmers/internal/application_v30_schema.ts +31 -34
- package/src/programmers/internal/application_v31_alias.ts +16 -13
- package/src/programmers/internal/application_v31_native.ts +22 -12
- package/src/programmers/internal/application_v31_object.ts +19 -8
- package/src/programmers/internal/application_v31_schema.ts +26 -29
- package/src/programmers/internal/check_dynamic_key.ts +4 -4
- package/src/programmers/internal/check_native.ts +4 -4
- package/src/programmers/internal/check_union_array_like.ts +2 -1
- package/src/programmers/internal/llm_schema_escaped.ts +2 -2
- package/src/programmers/internal/llm_schema_object.ts +21 -18
- package/src/programmers/internal/llm_schema_station.ts +9 -11
- package/src/programmers/json/JsonSchemasProgrammer.ts +5 -5
- package/src/programmers/json/JsonStringifyProgrammer.ts +5 -5
- package/src/programmers/llm/LlmSchemaProgrammer.ts +6 -6
- package/src/programmers/misc/MiscCloneProgrammer.ts +11 -7
- package/src/programmers/misc/MiscPruneProgrammer.ts +1 -1
- package/src/programmers/notations/NotationGeneralProgrammer.ts +10 -6
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +254 -308
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +11 -8
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +73 -95
- package/src/schemas/metadata/IMetadata.ts +35 -39
- package/src/schemas/metadata/IMetadataAlias.ts +6 -12
- package/src/schemas/metadata/IMetadataAliasType.ts +12 -0
- package/src/schemas/metadata/IMetadataArray.ts +6 -6
- package/src/schemas/metadata/IMetadataComponents.ts +11 -11
- package/src/schemas/metadata/IMetadataConstantValue.ts +1 -1
- package/src/schemas/metadata/IMetadataDictionary.ts +2 -2
- package/src/schemas/metadata/IMetadataMap.ts +8 -0
- package/src/schemas/metadata/IMetadataNative.ts +6 -0
- package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
- package/src/schemas/metadata/IMetadataSet.ts +7 -0
- package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
- package/src/schemas/metadata/IMetadataTuple.ts +6 -6
- package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
- package/src/schemas/metadata/Metadata.ts +100 -47
- package/src/schemas/metadata/MetadataAlias.ts +46 -61
- package/src/schemas/metadata/MetadataAliasType.ts +63 -0
- package/src/schemas/metadata/MetadataArray.ts +49 -49
- package/src/schemas/metadata/MetadataComponents.ts +3 -3
- package/src/schemas/metadata/MetadataConstantValue.ts +1 -1
- package/src/schemas/metadata/MetadataMap.ts +48 -0
- package/src/schemas/metadata/MetadataNative.ts +44 -0
- package/src/schemas/metadata/MetadataProperty.ts +3 -0
- package/src/schemas/metadata/MetadataSet.ts +45 -0
- package/src/schemas/metadata/MetadataTemplate.ts +80 -80
- package/src/schemas/metadata/MetadataTuple.ts +32 -32
- package/src/schemas/protobuf/IProtobufProperty.ts +6 -0
- package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -0
- package/src/schemas/protobuf/IProtobufSchema.ts +50 -0
- package/src/tags/Example.ts +24 -17
- package/src/tags/Examples.ts +16 -16
- package/src/tags/JsonSchemaPlugin.ts +8 -8
- package/src/tags/Sequence.ts +10 -0
- package/src/tags/TagBase.ts +82 -76
- package/src/tags/index.ts +1 -0
- package/src/utils/{NameEncoder.ts → ProtobufNameEncoder.ts} +1 -1
- package/lib/schemas/metadata/IMetadataEntry.d.ts +0 -5
- package/lib/schemas/metadata/IMetadataEntry.js.map +0 -1
- package/lib/utils/NameEncoder.js.map +0 -1
- package/src/schemas/metadata/IMetadataEntry.ts +0 -6
package/lib/tags/Example.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
|
-
export type Example<Value extends boolean | bigint | number | string | Array<unknown> | null> = TagBase<{
|
|
3
|
-
target: "boolean" | "bigint" | "number" | "string" | "array";
|
|
2
|
+
export type Example<Value extends boolean | bigint | number | string | object | Array<unknown> | null> = TagBase<{
|
|
3
|
+
target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
|
|
4
4
|
kind: "example";
|
|
5
5
|
value: Value;
|
|
6
6
|
exclusive: true;
|
package/lib/tags/Examples.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
|
-
export type Examples<Dict extends Record<string, boolean | bigint | number | string | Array<unknown> | null>> = TagBase<{
|
|
3
|
-
target: "boolean" | "bigint" | "number" | "string" | "array";
|
|
2
|
+
export type Examples<Dict extends Record<string, boolean | bigint | number | string | object | Array<unknown> | null>> = TagBase<{
|
|
3
|
+
target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
|
|
4
4
|
kind: "examples";
|
|
5
5
|
value: Dict;
|
|
6
6
|
exclusive: true;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
export type JsonSchemaPlugin<Schema extends object> = TagBase<{
|
|
3
|
-
target: "string" | "boolean" | "bigint" | "number" | "array";
|
|
3
|
+
target: "string" | "boolean" | "bigint" | "number" | "array" | "object";
|
|
4
4
|
kind: "jsonPlugin";
|
|
5
5
|
value: undefined;
|
|
6
6
|
schema: Schema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/tags/Sequence.ts"],"names":[],"mappings":""}
|
package/lib/tags/TagBase.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type TagBase<Props extends TagBase.IProps<any, any, any, any, any, any>>
|
|
|
7
7
|
"typia.tag"?: Props;
|
|
8
8
|
};
|
|
9
9
|
export declare namespace TagBase {
|
|
10
|
-
interface IProps<Target extends "boolean" | "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" | "object", 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[], Schema extends object | undefined> {
|
|
13
13
|
/**
|
package/lib/tags/index.d.ts
CHANGED
package/lib/tags/index.js
CHANGED
|
@@ -31,6 +31,7 @@ __exportStar(require("./MinItems"), exports);
|
|
|
31
31
|
__exportStar(require("./MinLength"), exports);
|
|
32
32
|
__exportStar(require("./MultipleOf"), exports);
|
|
33
33
|
__exportStar(require("./Pattern"), exports);
|
|
34
|
+
__exportStar(require("./Sequence"), exports);
|
|
34
35
|
__exportStar(require("./TagBase"), exports);
|
|
35
36
|
__exportStar(require("./Type"), exports);
|
|
36
37
|
__exportStar(require("./UniqueItems"), exports);
|
package/lib/tags/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,qDAAmC;AACnC,4CAA0B;AAC1B,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,qDAAmC;AACnC,2CAAyB;AACzB,qDAAmC;AACnC,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,qDAAmC;AACnC,4CAA0B;AAC1B,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,qDAAmC;AACnC,2CAAyB;AACzB,qDAAmC;AACnC,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B"}
|
|
@@ -27,10 +27,10 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
27
27
|
return ar;
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.
|
|
31
|
-
var
|
|
32
|
-
(function (
|
|
33
|
-
|
|
30
|
+
exports.ProtobufNameEncoder = void 0;
|
|
31
|
+
var ProtobufNameEncoder;
|
|
32
|
+
(function (ProtobufNameEncoder) {
|
|
33
|
+
ProtobufNameEncoder.encode = function (str) {
|
|
34
34
|
var e_1, _a;
|
|
35
35
|
try {
|
|
36
36
|
for (var REPLACERS_1 = __values(REPLACERS), REPLACERS_1_1 = REPLACERS_1.next(); !REPLACERS_1_1.done; REPLACERS_1_1 = REPLACERS_1.next()) {
|
|
@@ -47,7 +47,7 @@ var NameEncoder;
|
|
|
47
47
|
}
|
|
48
48
|
return str;
|
|
49
49
|
};
|
|
50
|
-
|
|
50
|
+
ProtobufNameEncoder.decode = function (str) {
|
|
51
51
|
var e_2, _a;
|
|
52
52
|
try {
|
|
53
53
|
for (var REPLACERS_2 = __values(REPLACERS), REPLACERS_2_1 = REPLACERS_2.next(); !REPLACERS_2_1.done; REPLACERS_2_1 = REPLACERS_2.next()) {
|
|
@@ -65,7 +65,7 @@ var NameEncoder;
|
|
|
65
65
|
}
|
|
66
66
|
return str;
|
|
67
67
|
};
|
|
68
|
-
})(
|
|
68
|
+
})(ProtobufNameEncoder || (exports.ProtobufNameEncoder = ProtobufNameEncoder = {}));
|
|
69
69
|
var REPLACERS = [
|
|
70
70
|
["$", "_dollar_"],
|
|
71
71
|
["&", "_and_"],
|
|
@@ -84,4 +84,4 @@ var REPLACERS = [
|
|
|
84
84
|
['"', "_doublequote_"],
|
|
85
85
|
[" ", "_space_"],
|
|
86
86
|
];
|
|
87
|
-
//# sourceMappingURL=
|
|
87
|
+
//# sourceMappingURL=ProtobufNameEncoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtobufNameEncoder.js","sourceRoot":"","sources":["../../src/utils/ProtobufNameEncoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAiB,mBAAmB,CAYnC;AAZD,WAAiB,mBAAmB;IACrB,0BAAM,GAAG,UAAC,GAAW;;;YAChC,KAA8B,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA;gBAA5B,IAAA,KAAA,8BAAe,EAAd,MAAM,QAAA,EAAE,KAAK,QAAA;gBACvB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAAA;;;;;;;;;QACtC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEW,0BAAM,GAAG,UAAC,GAAW;;;YAChC,KAA8B,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA;gBAA5B,IAAA,KAAA,8BAAe,EAAd,MAAM,QAAA,EAAE,KAAK,QAAA;gBACvB,IAAI,KAAK,KAAK,EAAE;oBAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAAA;;;;;;;;;QACxD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,EAZgB,mBAAmB,mCAAnB,mBAAmB,QAYnC;AAED,IAAM,SAAS,GAAuB;IACpC,CAAC,GAAG,EAAE,UAAU,CAAC;IACjB,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,aAAa,CAAC;IACpB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,GAAG,EAAE,SAAS,CAAC;CACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -66,8 +66,11 @@ export namespace JsonMetadataFactory {
|
|
|
66
66
|
if (meta.maps.length) output.push("JSON does not support Map type.");
|
|
67
67
|
if (meta.sets.length) output.push("JSON does not support Set type.");
|
|
68
68
|
for (const native of meta.natives)
|
|
69
|
-
if (
|
|
70
|
-
|
|
69
|
+
if (
|
|
70
|
+
AtomicPredicator.native(native.name) === false &&
|
|
71
|
+
native.name !== "Date"
|
|
72
|
+
)
|
|
73
|
+
output.push(`JSON does not support ${native.name} type.`);
|
|
71
74
|
return output;
|
|
72
75
|
};
|
|
73
76
|
}
|
|
@@ -2,7 +2,7 @@ import ts from "typescript";
|
|
|
2
2
|
|
|
3
3
|
import { IMetadataComponents } from "../schemas/metadata/IMetadataComponents";
|
|
4
4
|
import { Metadata } from "../schemas/metadata/Metadata";
|
|
5
|
-
import {
|
|
5
|
+
import { MetadataAliasType } from "../schemas/metadata/MetadataAliasType";
|
|
6
6
|
import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
|
|
7
7
|
import { MetadataObjectType } from "../schemas/metadata/MetadataObjectType";
|
|
8
8
|
import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType";
|
|
@@ -17,7 +17,7 @@ import { TypeFactory } from "./TypeFactory";
|
|
|
17
17
|
export class MetadataCollection {
|
|
18
18
|
private objects_: Map<ts.Type, MetadataObjectType>;
|
|
19
19
|
private object_unions_: Map<string, MetadataObjectType[]>;
|
|
20
|
-
private aliases_: Map<ts.Type,
|
|
20
|
+
private aliases_: Map<ts.Type, MetadataAliasType>;
|
|
21
21
|
private arrays_: Map<ts.Type, MetadataArrayType>;
|
|
22
22
|
private tuples_: Map<ts.Type, MetadataTupleType>;
|
|
23
23
|
|
|
@@ -58,7 +58,7 @@ export class MetadataCollection {
|
|
|
58
58
|
/* -----------------------------------------------------------
|
|
59
59
|
ACCESSORS
|
|
60
60
|
----------------------------------------------------------- */
|
|
61
|
-
public aliases():
|
|
61
|
+
public aliases(): MetadataAliasType[] {
|
|
62
62
|
return [...this.aliases_.values()];
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -146,12 +146,12 @@ export class MetadataCollection {
|
|
|
146
146
|
checker: ts.TypeChecker,
|
|
147
147
|
type: ts.Type,
|
|
148
148
|
symbol: ts.Symbol,
|
|
149
|
-
): [
|
|
149
|
+
): [MetadataAliasType, boolean, (meta: Metadata) => void] {
|
|
150
150
|
const oldbie = this.aliases_.get(type);
|
|
151
151
|
if (oldbie !== undefined) return [oldbie, false, () => {}];
|
|
152
152
|
|
|
153
153
|
const $id: string = this.getName(checker, type);
|
|
154
|
-
const alias:
|
|
154
|
+
const alias: MetadataAliasType = MetadataAliasType.create({
|
|
155
155
|
name: $id,
|
|
156
156
|
value: null!,
|
|
157
157
|
description: CommentFactory.description(symbol) ?? null,
|
|
@@ -211,7 +211,7 @@ export class MetadataCollection {
|
|
|
211
211
|
/**
|
|
212
212
|
* @internal
|
|
213
213
|
*/
|
|
214
|
-
public setAliasRecursive(alias:
|
|
214
|
+
public setAliasRecursive(alias: MetadataAliasType, recursive: boolean): void {
|
|
215
215
|
Writable(alias).recursive = recursive;
|
|
216
216
|
}
|
|
217
217
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
3
|
import { Metadata } from "../schemas/metadata/Metadata";
|
|
4
|
-
import {
|
|
4
|
+
import { MetadataAliasType } from "../schemas/metadata/MetadataAliasType";
|
|
5
5
|
import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
|
|
6
6
|
import { MetadataConstant } from "../schemas/metadata/MetadataConstant";
|
|
7
7
|
import { MetadataFunction } from "../schemas/metadata/MetadataFunction";
|
|
@@ -39,7 +39,7 @@ export namespace MetadataFactory {
|
|
|
39
39
|
top: boolean;
|
|
40
40
|
object: MetadataObjectType | null;
|
|
41
41
|
property: string | object | null;
|
|
42
|
-
nested: null |
|
|
42
|
+
nested: null | MetadataAliasType | MetadataArrayType | MetadataTupleType;
|
|
43
43
|
parameter: string | null;
|
|
44
44
|
output: boolean;
|
|
45
45
|
escaped: boolean;
|
|
@@ -107,7 +107,7 @@ export namespace MetadataFactory {
|
|
|
107
107
|
values: [
|
|
108
108
|
{
|
|
109
109
|
value,
|
|
110
|
-
tags:
|
|
110
|
+
tags: [],
|
|
111
111
|
},
|
|
112
112
|
],
|
|
113
113
|
type: "string",
|
|
@@ -186,7 +186,7 @@ export namespace MetadataFactory {
|
|
|
186
186
|
for (const alias of props.metadata.aliases)
|
|
187
187
|
validateAlias({
|
|
188
188
|
...props,
|
|
189
|
-
alias,
|
|
189
|
+
alias: alias.type,
|
|
190
190
|
});
|
|
191
191
|
for (const array of props.metadata.arrays)
|
|
192
192
|
validateArray({
|
|
@@ -211,7 +211,7 @@ export namespace MetadataFactory {
|
|
|
211
211
|
for (const set of props.metadata.sets)
|
|
212
212
|
validateMeta({
|
|
213
213
|
...props,
|
|
214
|
-
metadata: set,
|
|
214
|
+
metadata: set.value,
|
|
215
215
|
});
|
|
216
216
|
for (const map of props.metadata.maps) {
|
|
217
217
|
validateMeta({
|
|
@@ -239,7 +239,7 @@ export namespace MetadataFactory {
|
|
|
239
239
|
transformer?: ts.TransformationContext;
|
|
240
240
|
options: IOptions;
|
|
241
241
|
visitor: IValidationVisitor;
|
|
242
|
-
alias:
|
|
242
|
+
alias: MetadataAliasType;
|
|
243
243
|
explore: IExplore;
|
|
244
244
|
}) => {
|
|
245
245
|
if (props.visitor.aliases.has(props.alias)) return;
|
|
@@ -400,7 +400,7 @@ export namespace MetadataFactory {
|
|
|
400
400
|
objects: Set<MetadataObjectType>;
|
|
401
401
|
arrays: Set<MetadataArrayType>;
|
|
402
402
|
tuples: Set<MetadataTupleType>;
|
|
403
|
-
aliases: Set<
|
|
403
|
+
aliases: Set<MetadataAliasType>;
|
|
404
404
|
functions: Set<MetadataFunction>;
|
|
405
405
|
}
|
|
406
406
|
}
|
|
@@ -7,9 +7,33 @@ import { MetadataFactory } from "./MetadataFactory";
|
|
|
7
7
|
import { MetadataTypeTagSchemaFactory } from "./MetadataTypeTagSchemaFactory";
|
|
8
8
|
|
|
9
9
|
export namespace MetadataTypeTagFactory {
|
|
10
|
+
export const is = (obj: MetadataObjectType): boolean => {
|
|
11
|
+
if (obj.properties.length !== 1) return false;
|
|
12
|
+
|
|
13
|
+
const top: MetadataProperty = obj.properties[0]!;
|
|
14
|
+
if (top.key.isSoleLiteral() === false) return false;
|
|
15
|
+
else if (top.key.getSoleLiteral() !== "typia.tag") return false;
|
|
16
|
+
|
|
17
|
+
const value: Metadata = top.value;
|
|
18
|
+
if (
|
|
19
|
+
value.size() !== 1 ||
|
|
20
|
+
value.objects.length !== 1 ||
|
|
21
|
+
value.isRequired() === true ||
|
|
22
|
+
value.nullable === true
|
|
23
|
+
)
|
|
24
|
+
return false;
|
|
25
|
+
|
|
26
|
+
const tag: MetadataObjectType = top.value.objects[0]!.type;
|
|
27
|
+
const statics: string[] = tag.properties
|
|
28
|
+
.map((p) => p.key.getSoleLiteral()!)
|
|
29
|
+
.filter((str) => str !== null);
|
|
30
|
+
if (ESSENTIAL_FIELDS.some((f) => !statics.includes(f))) return false;
|
|
31
|
+
return true;
|
|
32
|
+
};
|
|
33
|
+
|
|
10
34
|
export const analyze = (props: {
|
|
11
35
|
errors: MetadataFactory.IError[];
|
|
12
|
-
type: "boolean" | "bigint" | "number" | "string" | "array";
|
|
36
|
+
type: "boolean" | "bigint" | "number" | "string" | "array" | "object";
|
|
13
37
|
objects: MetadataObjectType[];
|
|
14
38
|
explore: MetadataFactory.IExplore;
|
|
15
39
|
}): IMetadataTypeTag[] => {
|
|
@@ -120,7 +144,7 @@ export namespace MetadataTypeTagFactory {
|
|
|
120
144
|
|
|
121
145
|
export const validate = (props: {
|
|
122
146
|
report: (next: { property: string | null; message: string }) => false;
|
|
123
|
-
type: "boolean" | "bigint" | "number" | "string" | "array";
|
|
147
|
+
type: "boolean" | "bigint" | "number" | "string" | "array" | "object";
|
|
124
148
|
tags: IMetadataTypeTag[];
|
|
125
149
|
}): boolean => {
|
|
126
150
|
let success: boolean = true;
|
|
@@ -176,12 +200,13 @@ export namespace MetadataTypeTagFactory {
|
|
|
176
200
|
v.value !== "bigint" &&
|
|
177
201
|
v.value !== "number" &&
|
|
178
202
|
v.value !== "string" &&
|
|
179
|
-
v.value !== "array"
|
|
203
|
+
v.value !== "array" &&
|
|
204
|
+
v.value !== "object",
|
|
180
205
|
))
|
|
181
206
|
)
|
|
182
207
|
return props.report({
|
|
183
208
|
property: props.key,
|
|
184
|
-
message: `must be one of 'boolean', 'bigint', 'number', 'string', 'array'`,
|
|
209
|
+
message: `must be one of 'boolean', 'bigint', 'number', 'string', 'array', 'object'`,
|
|
185
210
|
});
|
|
186
211
|
else if (
|
|
187
212
|
// KIND
|
|
@@ -237,7 +262,7 @@ export namespace MetadataTypeTagFactory {
|
|
|
237
262
|
if (target === undefined)
|
|
238
263
|
return props.report({
|
|
239
264
|
property: "target",
|
|
240
|
-
message: `must be one of 'boolean', 'bigint', 'number', 'string', 'array'`,
|
|
265
|
+
message: `must be one of 'boolean', 'bigint', 'number', 'string', 'array', 'object`,
|
|
241
266
|
});
|
|
242
267
|
const variadic: boolean =
|
|
243
268
|
props.value.size() === 1 &&
|
|
@@ -374,7 +399,7 @@ export namespace MetadataTypeTagFactory {
|
|
|
374
399
|
|
|
375
400
|
interface ITypeTag {
|
|
376
401
|
name: string;
|
|
377
|
-
target: Array<"bigint" | "number" | "string" | "array">;
|
|
402
|
+
target: Array<"bigint" | "number" | "string" | "array" | "object">;
|
|
378
403
|
kind: string;
|
|
379
404
|
value?: undefined | boolean | bigint | number | string;
|
|
380
405
|
validate: Record<string, string>;
|