typia 7.0.0-dev.20240929 → 7.0.0-dev.20241001
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/index.mjs +25 -25
- package/lib/index.mjs.map +1 -1
- package/lib/programmers/AssertProgrammer.js +34 -27
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.d.ts +5 -1
- package/lib/programmers/CheckerProgrammer.js +432 -348
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.d.ts +91 -28
- package/lib/programmers/FeatureProgrammer.js +165 -138
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.d.ts +5 -1
- package/lib/programmers/IsProgrammer.js +87 -66
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +83 -68
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/TypiaProgrammer.d.ts +2 -2
- package/lib/programmers/TypiaProgrammer.js +79 -75
- package/lib/programmers/TypiaProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +45 -19
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/CloneJoiner.js +4 -1
- package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
- package/lib/programmers/helpers/NotationJoiner.d.ts +2 -1
- package/lib/programmers/helpers/NotationJoiner.js +34 -33
- package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.js +4 -1
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.d.ts +1 -1
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomRanger.js.map +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js +4 -1
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
- package/lib/programmers/helpers/StringifyPredicator.d.ts +1 -1
- package/lib/programmers/helpers/StringifyPredicator.js +4 -3
- package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.d.ts +52 -12
- package/lib/programmers/helpers/UnionExplorer.js +184 -120
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
- package/lib/programmers/helpers/UnionPredicator.js +7 -7
- package/lib/programmers/http/HttpFormDataProgrammer.js +77 -70
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.js +69 -68
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +69 -62
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/internal/application_escaped.js +4 -4
- package/lib/programmers/internal/application_escaped.js.map +1 -1
- package/lib/programmers/internal/application_templates.js +8 -2
- package/lib/programmers/internal/application_templates.js.map +1 -1
- package/lib/programmers/internal/application_union_discriminator.d.ts +1 -1
- package/lib/programmers/internal/application_union_discriminator.js +6 -6
- package/lib/programmers/internal/application_union_discriminator.js.map +1 -1
- package/lib/programmers/internal/application_v30_object.js +6 -3
- package/lib/programmers/internal/application_v30_object.js.map +1 -1
- package/lib/programmers/internal/application_v31_object.js +4 -1
- package/lib/programmers/internal/application_v31_object.js.map +1 -1
- package/lib/programmers/internal/check_array_length.js +21 -26
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_bigint.js +18 -26
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.d.ts +1 -5
- package/lib/programmers/internal/check_dynamic_key.js +109 -91
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +88 -90
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_native.js +8 -5
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/programmers/internal/check_number.js +59 -65
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_object.js +31 -22
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/internal/check_string.js +18 -26
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_template.js +20 -21
- package/lib/programmers/internal/check_template.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.js +68 -53
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/decode_union_object.js +59 -49
- package/lib/programmers/internal/decode_union_object.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.js +31 -33
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/llm_schema_escaped.js +29 -11
- package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
- package/lib/programmers/internal/llm_schema_object.js +4 -1
- package/lib/programmers/internal/llm_schema_object.js.map +1 -1
- package/lib/programmers/internal/metadata_to_pattern.js +44 -41
- package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
- package/lib/programmers/internal/postfix_of_tuple.d.ts +1 -1
- package/lib/programmers/internal/postfix_of_tuple.js +3 -0
- package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
- package/lib/programmers/internal/prune_object_properties.js +6 -3
- package/lib/programmers/internal/prune_object_properties.js.map +1 -1
- package/lib/programmers/internal/random_custom.js +8 -14
- package/lib/programmers/internal/random_custom.js.map +1 -1
- package/lib/programmers/internal/stringify_dynamic_properties.js +4 -1
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/stringify_regular_properties.js +4 -4
- package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
- package/lib/programmers/internal/template_to_pattern.js +10 -5
- package/lib/programmers/internal/template_to_pattern.js.map +1 -1
- package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +1 -2
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js +3 -0
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +154 -91
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +221 -154
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +139 -89
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +4 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +257 -148
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +32 -24
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/utils/NamingConvention/NamingConvention.js +41 -47
- package/lib/utils/NamingConvention/NamingConvention.js.map +1 -1
- package/package.json +1 -1
- package/src/programmers/AssertProgrammer.ts +44 -37
- package/src/programmers/CheckerProgrammer.ts +394 -358
- package/src/programmers/FeatureProgrammer.ts +327 -267
- package/src/programmers/IsProgrammer.ts +93 -76
- package/src/programmers/RandomProgrammer.ts +18 -9
- package/src/programmers/TypiaProgrammer.ts +48 -34
- package/src/programmers/ValidateProgrammer.ts +56 -29
- package/src/programmers/helpers/CloneJoiner.ts +4 -1
- package/src/programmers/helpers/NotationJoiner.ts +85 -83
- package/src/programmers/helpers/ProtobufUtil.ts +2 -2
- package/src/programmers/helpers/PruneJoiner.ts +4 -1
- package/src/programmers/helpers/RandomJoiner.ts +5 -2
- package/src/programmers/helpers/RandomRanger.ts +8 -1
- package/src/programmers/helpers/StringifyJoinder.ts +4 -1
- package/src/programmers/helpers/StringifyPredicator.ts +4 -3
- package/src/programmers/helpers/UnionExplorer.ts +277 -179
- package/src/programmers/helpers/UnionPredicator.ts +5 -5
- package/src/programmers/http/HttpFormDataProgrammer.ts +135 -114
- package/src/programmers/http/HttpHeadersProgrammer.ts +145 -120
- package/src/programmers/http/HttpQueryProgrammer.ts +137 -116
- package/src/programmers/internal/application_escaped.ts +6 -6
- package/src/programmers/internal/application_templates.ts +8 -6
- package/src/programmers/internal/application_union_discriminator.ts +6 -6
- package/src/programmers/internal/application_v30_object.ts +6 -3
- package/src/programmers/internal/application_v31_object.ts +4 -1
- package/src/programmers/internal/application_v31_tuple.ts +1 -1
- package/src/programmers/internal/check_array_length.ts +31 -30
- package/src/programmers/internal/check_bigint.ts +31 -31
- package/src/programmers/internal/check_dynamic_key.ts +155 -126
- package/src/programmers/internal/check_dynamic_properties.ts +152 -154
- package/src/programmers/internal/check_native.ts +11 -5
- package/src/programmers/internal/check_number.ts +88 -84
- package/src/programmers/internal/check_object.ts +45 -31
- package/src/programmers/internal/check_string.ts +31 -30
- package/src/programmers/internal/check_template.ts +34 -32
- package/src/programmers/internal/check_union_array_like.ts +245 -228
- package/src/programmers/internal/decode_union_object.ts +92 -75
- package/src/programmers/internal/feature_object_entries.ts +36 -36
- package/src/programmers/internal/llm_schema_escaped.ts +36 -13
- package/src/programmers/internal/llm_schema_object.ts +4 -1
- package/src/programmers/internal/metadata_to_pattern.ts +31 -23
- package/src/programmers/internal/postfix_of_tuple.ts +3 -0
- package/src/programmers/internal/prune_object_properties.ts +6 -3
- package/src/programmers/internal/random_custom.ts +24 -23
- package/src/programmers/internal/stringify_dynamic_properties.ts +4 -1
- package/src/programmers/internal/stringify_regular_properties.ts +7 -7
- package/src/programmers/internal/template_to_pattern.ts +12 -4
- package/src/programmers/internal/wrap_metadata_rest_tuple.ts +3 -0
- package/src/programmers/json/JsonStringifyProgrammer.ts +151 -104
- package/src/programmers/misc/MiscCloneProgrammer.ts +255 -204
- package/src/programmers/misc/MiscPruneProgrammer.ts +149 -116
- package/src/programmers/notations/NotationGeneralProgrammer.ts +307 -211
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +25 -21
- package/src/utils/NamingConvention/NamingConvention.ts +40 -42
|
@@ -858,33 +858,37 @@ export namespace ProtobufEncodeProgrammer {
|
|
|
858
858
|
new Map(props.objects.map((t, i) => [t, props.index! + i]));
|
|
859
859
|
|
|
860
860
|
if (specList.length === 0) {
|
|
861
|
-
const condition: ts.Expression = decode_union_object(
|
|
862
|
-
(
|
|
861
|
+
const condition: ts.Expression = decode_union_object({
|
|
862
|
+
checker: (v) =>
|
|
863
863
|
IsProgrammer.decode_object({
|
|
864
864
|
context: props.context,
|
|
865
865
|
importer: props.importer,
|
|
866
|
-
object,
|
|
867
|
-
input,
|
|
868
|
-
explore,
|
|
866
|
+
object: v.object,
|
|
867
|
+
input: v.input,
|
|
868
|
+
explore: v.explore,
|
|
869
869
|
}),
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
870
|
+
decoder: (v) =>
|
|
871
|
+
ExpressionFactory.selfCall(
|
|
872
|
+
decode_object({
|
|
873
|
+
context: props.context,
|
|
874
|
+
importer: props.importer,
|
|
875
|
+
index: indexes.get(v.object)!,
|
|
876
|
+
input: v.input,
|
|
877
|
+
object: v.object,
|
|
878
|
+
explore: v.explore,
|
|
879
|
+
}),
|
|
880
|
+
),
|
|
881
|
+
success: (expr) => expr,
|
|
882
|
+
escaper: (v) =>
|
|
883
|
+
create_throw_error({
|
|
874
884
|
importer: props.importer,
|
|
875
|
-
|
|
876
|
-
input,
|
|
877
|
-
object,
|
|
878
|
-
explore,
|
|
885
|
+
expected: v.expected,
|
|
886
|
+
input: v.input,
|
|
879
887
|
}),
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
expected,
|
|
885
|
-
input,
|
|
886
|
-
}),
|
|
887
|
-
)(props.input, props.objects, props.explore);
|
|
888
|
+
input: props.input,
|
|
889
|
+
objects: props.objects,
|
|
890
|
+
explore: props.explore,
|
|
891
|
+
});
|
|
888
892
|
return StatementFactory.block(condition);
|
|
889
893
|
}
|
|
890
894
|
const remained: MetadataObject[] = props.objects.filter(
|
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import { StringUtil } from "../StringUtil";
|
|
2
2
|
|
|
3
|
+
const unsnake =
|
|
4
|
+
(props: {
|
|
5
|
+
plain: (str: string) => string;
|
|
6
|
+
snake: (str: string, index: number) => string;
|
|
7
|
+
}) =>
|
|
8
|
+
(str: string): string => {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10
|
+
let prefix: string = "";
|
|
11
|
+
for (let i: number = 0; i < str.length; i++) {
|
|
12
|
+
if (str[i] === "_") prefix += "_";
|
|
13
|
+
else break;
|
|
14
|
+
}
|
|
15
|
+
if (prefix.length !== 0) str = str.substring(prefix.length);
|
|
16
|
+
|
|
17
|
+
const out = (s: string) => `${prefix}${s}`;
|
|
18
|
+
if (str.length === 0) return out("");
|
|
19
|
+
|
|
20
|
+
const items: string[] = str.split("_").filter((s) => s.length !== 0);
|
|
21
|
+
return items.length === 0
|
|
22
|
+
? out("")
|
|
23
|
+
: items.length === 1
|
|
24
|
+
? out(props.plain(items[0]!))
|
|
25
|
+
: out(items.map(props.snake).join(""));
|
|
26
|
+
};
|
|
27
|
+
|
|
3
28
|
export function snake(str: string): string {
|
|
4
29
|
if (str.length === 0) return str;
|
|
5
30
|
|
|
@@ -44,46 +69,19 @@ export function snake(str: string): string {
|
|
|
44
69
|
return out(ret);
|
|
45
70
|
}
|
|
46
71
|
|
|
47
|
-
export const camel = (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
str.
|
|
51
|
-
? str
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
})(str);
|
|
72
|
+
export const camel = unsnake({
|
|
73
|
+
plain: (str) =>
|
|
74
|
+
str.length
|
|
75
|
+
? str === str.toUpperCase()
|
|
76
|
+
? str.toLocaleLowerCase()
|
|
77
|
+
: `${str[0]!.toLowerCase()}${str.substring(1)}`
|
|
78
|
+
: str,
|
|
79
|
+
snake: (str, i) =>
|
|
80
|
+
i === 0 ? str.toLowerCase() : StringUtil.capitalize(str.toLowerCase()),
|
|
81
|
+
});
|
|
58
82
|
|
|
59
|
-
export const pascal = (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
})(str);
|
|
65
|
-
|
|
66
|
-
const unsnake =
|
|
67
|
-
(props: {
|
|
68
|
-
plain: (str: string) => string;
|
|
69
|
-
snake: (str: string, index: number) => string;
|
|
70
|
-
}) =>
|
|
71
|
-
(str: string): string => {
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
73
|
-
let prefix: string = "";
|
|
74
|
-
for (let i: number = 0; i < str.length; i++) {
|
|
75
|
-
if (str[i] === "_") prefix += "_";
|
|
76
|
-
else break;
|
|
77
|
-
}
|
|
78
|
-
if (prefix.length !== 0) str = str.substring(prefix.length);
|
|
79
|
-
|
|
80
|
-
const out = (s: string) => `${prefix}${s}`;
|
|
81
|
-
if (str.length === 0) return out("");
|
|
82
|
-
|
|
83
|
-
const items: string[] = str.split("_").filter((s) => s.length !== 0);
|
|
84
|
-
return items.length === 0
|
|
85
|
-
? out("")
|
|
86
|
-
: items.length === 1
|
|
87
|
-
? out(props.plain(items[0]!))
|
|
88
|
-
: out(items.map(props.snake).join(""));
|
|
89
|
-
};
|
|
83
|
+
export const pascal = unsnake({
|
|
84
|
+
plain: (str) =>
|
|
85
|
+
str.length ? `${str[0]!.toUpperCase()}${str.substring(1)}` : str,
|
|
86
|
+
snake: StringUtil.capitalize,
|
|
87
|
+
});
|