typia 5.2.4-dev.20231023 → 5.2.5-dev.20231105

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 (112) hide show
  1. package/lib/factories/internal/metadata/emplace_metadata_object.js +24 -0
  2. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  3. package/lib/functional/$stoll.d.ts +1 -0
  4. package/lib/functional/$stoll.js +14 -0
  5. package/lib/functional/$stoll.js.map +1 -0
  6. package/lib/functional/Namespace.js +4 -10
  7. package/lib/functional/Namespace.js.map +1 -1
  8. package/lib/programmers/AssertProgrammer.js +71 -63
  9. package/lib/programmers/AssertProgrammer.js.map +1 -1
  10. package/lib/programmers/IsProgrammer.d.ts +2 -2
  11. package/lib/programmers/IsProgrammer.js +66 -64
  12. package/lib/programmers/IsProgrammer.js.map +1 -1
  13. package/lib/programmers/ValidateProgrammer.js +50 -46
  14. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  15. package/lib/programmers/internal/check_dynamic_key.d.ts +5 -0
  16. package/lib/programmers/internal/check_dynamic_key.js +158 -0
  17. package/lib/programmers/internal/check_dynamic_key.js.map +1 -0
  18. package/lib/programmers/internal/check_dynamic_properties.js +69 -61
  19. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  20. package/lib/programmers/internal/check_object.js +11 -9
  21. package/lib/programmers/internal/check_object.js.map +1 -1
  22. package/lib/programmers/json/JsonStringifyProgrammer.js +1 -1
  23. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  24. package/lib/programmers/misc/MiscCloneProgrammer.js +1 -1
  25. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  26. package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
  27. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  28. package/lib/programmers/notations/NotationGeneralProgrammer.js +1 -1
  29. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  30. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
  31. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/CamelCase.ts +116 -116
  34. package/src/PascalCase.ts +116 -116
  35. package/src/Primitive.ts +135 -135
  36. package/src/Resolved.ts +116 -116
  37. package/src/SnakeCase.ts +156 -156
  38. package/src/executable/TypiaSetupWizard.ts +142 -142
  39. package/src/executable/setup/CommandExecutor.ts +8 -8
  40. package/src/factories/JsonMetadataFactory.ts +50 -50
  41. package/src/factories/MetadataCollection.ts +282 -282
  42. package/src/factories/internal/metadata/emplace_metadata_object.ts +28 -0
  43. package/src/functional/$convention.ts +40 -40
  44. package/src/functional/$stoll.ts +8 -0
  45. package/src/functional/Namespace.ts +168 -164
  46. package/src/module.ts +662 -662
  47. package/src/notations.ts +855 -855
  48. package/src/programmers/AssertProgrammer.ts +36 -31
  49. package/src/programmers/IsProgrammer.ts +13 -7
  50. package/src/programmers/ValidateProgrammer.ts +34 -31
  51. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  52. package/src/programmers/helpers/NotationJoiner.ts +146 -146
  53. package/src/programmers/internal/check_dynamic_key.ts +178 -0
  54. package/src/programmers/internal/check_dynamic_properties.ts +19 -12
  55. package/src/programmers/internal/check_object.ts +8 -1
  56. package/src/programmers/json/JsonStringifyProgrammer.ts +1 -1
  57. package/src/programmers/misc/MiscCloneProgrammer.ts +790 -790
  58. package/src/programmers/misc/MiscPruneProgrammer.ts +552 -552
  59. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +72 -72
  60. package/src/programmers/notations/NotationGeneralProgrammer.ts +720 -720
  61. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +79 -79
  62. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +88 -88
  63. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1 -1
  64. package/src/transformers/CallExpressionTransformer.ts +380 -380
  65. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  66. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  67. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +12 -12
  68. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  69. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  70. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +12 -12
  71. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  72. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +12 -12
  73. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  74. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  75. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  76. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  77. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  78. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  79. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  80. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  81. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  82. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +12 -12
  83. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +12 -12
  84. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  85. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  86. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  87. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  88. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +12 -12
  89. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +12 -12
  90. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  91. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  92. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  93. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  94. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  95. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -15
  96. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -15
  97. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -15
  98. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -15
  99. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +17 -17
  100. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -11
  101. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -15
  102. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +17 -17
  103. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +12 -12
  104. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +12 -12
  105. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +9 -9
  106. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +9 -9
  107. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +12 -12
  108. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +12 -12
  109. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +12 -12
  110. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +12 -12
  111. package/src/utils/NamingConvention.ts +91 -91
  112. package/src/utils/StringUtil.ts +4 -4
@@ -1,91 +1,91 @@
1
- import { StringUtil } from "./StringUtil";
2
-
3
- export namespace NamingConvention {
4
- export function snake(str: string): string {
5
- const indexes: number[] = [];
6
- for (let i: number = 0; i < str.length; i++) {
7
- const code: number = str.charCodeAt(i);
8
- if (65 <= code && code <= 90) indexes.push(i);
9
- }
10
- for (let i: number = indexes.length - 1; i > 0; --i) {
11
- const now: number = indexes[i]!;
12
- const prev: number = indexes[i - 1]!;
13
- if (now - prev === 1) indexes.splice(i, 1);
14
- }
15
- if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
16
- if (indexes.length === 0) return str.toLowerCase();
17
-
18
- let ret: string = "";
19
- for (let i: number = 0; i < indexes.length; i++) {
20
- const first: number = i === 0 ? 0 : indexes[i - 1]!;
21
- const last: number = indexes[i]!;
22
-
23
- ret += str.substring(first, last).toLowerCase();
24
- ret += "_";
25
- }
26
- ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
27
- return ret;
28
- }
29
-
30
- export function camel(str: string): string {
31
- str = removeSnake(str);
32
- if (str.length === 0) return str;
33
- else if (str[0] === str[0]!.toUpperCase())
34
- return str[0]!.toLowerCase() + str.substring(1);
35
- else if (
36
- str[0] === "_" &&
37
- str.length > 1 &&
38
- str[1] === str[1]!.toLowerCase()
39
- )
40
- return "_" + str[1]!.toUpperCase() + str.substring(2);
41
- else return str;
42
- }
43
-
44
- export function pascal(str: string): string {
45
- str = removeSnake(str);
46
- if (str.length === 0) return str;
47
- else if (str[0] === str[0]!.toLowerCase())
48
- return str[0]!.toUpperCase() + str.substring(1);
49
- else if (
50
- str[0] === "_" &&
51
- str.length > 1 &&
52
- str[1] === str[1]!.toLowerCase()
53
- )
54
- return "_" + str[1]!.toUpperCase() + str.substring(2);
55
- else return str;
56
- }
57
-
58
- const removeSnake = (str: string): string => {
59
- const indexes: [number, number][] = [];
60
- for (let i: number = 0; i < str.length; i++) {
61
- const ch: string = str[i]!;
62
- if (ch !== "_") continue;
63
-
64
- const last = indexes[indexes.length - 1];
65
- if (last === undefined || last[0] + last[1] !== i)
66
- indexes.push([i, 1]);
67
- else ++last[1];
68
- }
69
- if (indexes.length === 0) return str;
70
-
71
- let ret: string = "";
72
- for (let i: number = 0; i < indexes.length; i++) {
73
- const [first] = indexes[i]!;
74
- if (i === 0)
75
- if (first === 0) ret += "_";
76
- else ret += str.substring(0, first);
77
- else {
78
- const [prevFirst, prevLength] = indexes[i - 1]!;
79
- const piece: string = str.substring(
80
- prevFirst + prevLength,
81
- first,
82
- );
83
- if (piece.length) ret += StringUtil.capitalize(piece);
84
- }
85
- }
86
- const last = indexes[indexes.length - 1]!;
87
- const piece: string = str.substring(last[0] + last[1]);
88
- if (last.length) ret += StringUtil.capitalize(piece);
89
- return ret;
90
- };
91
- }
1
+ import { StringUtil } from "./StringUtil";
2
+
3
+ export namespace NamingConvention {
4
+ export function snake(str: string): string {
5
+ const indexes: number[] = [];
6
+ for (let i: number = 0; i < str.length; i++) {
7
+ const code: number = str.charCodeAt(i);
8
+ if (65 <= code && code <= 90) indexes.push(i);
9
+ }
10
+ for (let i: number = indexes.length - 1; i > 0; --i) {
11
+ const now: number = indexes[i]!;
12
+ const prev: number = indexes[i - 1]!;
13
+ if (now - prev === 1) indexes.splice(i, 1);
14
+ }
15
+ if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
16
+ if (indexes.length === 0) return str.toLowerCase();
17
+
18
+ let ret: string = "";
19
+ for (let i: number = 0; i < indexes.length; i++) {
20
+ const first: number = i === 0 ? 0 : indexes[i - 1]!;
21
+ const last: number = indexes[i]!;
22
+
23
+ ret += str.substring(first, last).toLowerCase();
24
+ ret += "_";
25
+ }
26
+ ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
27
+ return ret;
28
+ }
29
+
30
+ export function camel(str: string): string {
31
+ str = removeSnake(str);
32
+ if (str.length === 0) return str;
33
+ else if (str[0] === str[0]!.toUpperCase())
34
+ return str[0]!.toLowerCase() + str.substring(1);
35
+ else if (
36
+ str[0] === "_" &&
37
+ str.length > 1 &&
38
+ str[1] === str[1]!.toLowerCase()
39
+ )
40
+ return "_" + str[1]!.toUpperCase() + str.substring(2);
41
+ else return str;
42
+ }
43
+
44
+ export function pascal(str: string): string {
45
+ str = removeSnake(str);
46
+ if (str.length === 0) return str;
47
+ else if (str[0] === str[0]!.toLowerCase())
48
+ return str[0]!.toUpperCase() + str.substring(1);
49
+ else if (
50
+ str[0] === "_" &&
51
+ str.length > 1 &&
52
+ str[1] === str[1]!.toLowerCase()
53
+ )
54
+ return "_" + str[1]!.toUpperCase() + str.substring(2);
55
+ else return str;
56
+ }
57
+
58
+ const removeSnake = (str: string): string => {
59
+ const indexes: [number, number][] = [];
60
+ for (let i: number = 0; i < str.length; i++) {
61
+ const ch: string = str[i]!;
62
+ if (ch !== "_") continue;
63
+
64
+ const last = indexes[indexes.length - 1];
65
+ if (last === undefined || last[0] + last[1] !== i)
66
+ indexes.push([i, 1]);
67
+ else ++last[1];
68
+ }
69
+ if (indexes.length === 0) return str;
70
+
71
+ let ret: string = "";
72
+ for (let i: number = 0; i < indexes.length; i++) {
73
+ const [first] = indexes[i]!;
74
+ if (i === 0)
75
+ if (first === 0) ret += "_";
76
+ else ret += str.substring(0, first);
77
+ else {
78
+ const [prevFirst, prevLength] = indexes[i - 1]!;
79
+ const piece: string = str.substring(
80
+ prevFirst + prevLength,
81
+ first,
82
+ );
83
+ if (piece.length) ret += StringUtil.capitalize(piece);
84
+ }
85
+ }
86
+ const last = indexes[indexes.length - 1]!;
87
+ const piece: string = str.substring(last[0] + last[1]);
88
+ if (last.length) ret += StringUtil.capitalize(piece);
89
+ return ret;
90
+ };
91
+ }
@@ -1,4 +1,4 @@
1
- export namespace StringUtil {
2
- export const capitalize = (str: string) =>
3
- str.length ? str[0]!.toUpperCase() + str.slice(1) : str;
4
- }
1
+ export namespace StringUtil {
2
+ export const capitalize = (str: string) =>
3
+ str.length ? str[0]!.toUpperCase() + str.slice(1) : str;
4
+ }