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.
Files changed (172) hide show
  1. package/lib/index.mjs +25 -25
  2. package/lib/index.mjs.map +1 -1
  3. package/lib/programmers/AssertProgrammer.js +34 -27
  4. package/lib/programmers/AssertProgrammer.js.map +1 -1
  5. package/lib/programmers/CheckerProgrammer.d.ts +5 -1
  6. package/lib/programmers/CheckerProgrammer.js +432 -348
  7. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  8. package/lib/programmers/FeatureProgrammer.d.ts +91 -28
  9. package/lib/programmers/FeatureProgrammer.js +165 -138
  10. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  11. package/lib/programmers/IsProgrammer.d.ts +5 -1
  12. package/lib/programmers/IsProgrammer.js +87 -66
  13. package/lib/programmers/IsProgrammer.js.map +1 -1
  14. package/lib/programmers/RandomProgrammer.js +83 -68
  15. package/lib/programmers/RandomProgrammer.js.map +1 -1
  16. package/lib/programmers/TypiaProgrammer.d.ts +2 -2
  17. package/lib/programmers/TypiaProgrammer.js +79 -75
  18. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  19. package/lib/programmers/ValidateProgrammer.js +45 -19
  20. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  21. package/lib/programmers/helpers/CloneJoiner.js +4 -1
  22. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  23. package/lib/programmers/helpers/NotationJoiner.d.ts +2 -1
  24. package/lib/programmers/helpers/NotationJoiner.js +34 -33
  25. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  26. package/lib/programmers/helpers/PruneJoiner.js +4 -1
  27. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  28. package/lib/programmers/helpers/RandomJoiner.d.ts +1 -1
  29. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  30. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  31. package/lib/programmers/helpers/StringifyJoinder.js +4 -1
  32. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  33. package/lib/programmers/helpers/StringifyPredicator.d.ts +1 -1
  34. package/lib/programmers/helpers/StringifyPredicator.js +4 -3
  35. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  36. package/lib/programmers/helpers/UnionExplorer.d.ts +52 -12
  37. package/lib/programmers/helpers/UnionExplorer.js +184 -120
  38. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  39. package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
  40. package/lib/programmers/helpers/UnionPredicator.js +7 -7
  41. package/lib/programmers/http/HttpFormDataProgrammer.js +77 -70
  42. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  43. package/lib/programmers/http/HttpHeadersProgrammer.js +69 -68
  44. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  45. package/lib/programmers/http/HttpQueryProgrammer.js +69 -62
  46. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  47. package/lib/programmers/internal/application_escaped.js +4 -4
  48. package/lib/programmers/internal/application_escaped.js.map +1 -1
  49. package/lib/programmers/internal/application_templates.js +8 -2
  50. package/lib/programmers/internal/application_templates.js.map +1 -1
  51. package/lib/programmers/internal/application_union_discriminator.d.ts +1 -1
  52. package/lib/programmers/internal/application_union_discriminator.js +6 -6
  53. package/lib/programmers/internal/application_union_discriminator.js.map +1 -1
  54. package/lib/programmers/internal/application_v30_object.js +6 -3
  55. package/lib/programmers/internal/application_v30_object.js.map +1 -1
  56. package/lib/programmers/internal/application_v31_object.js +4 -1
  57. package/lib/programmers/internal/application_v31_object.js.map +1 -1
  58. package/lib/programmers/internal/check_array_length.js +21 -26
  59. package/lib/programmers/internal/check_array_length.js.map +1 -1
  60. package/lib/programmers/internal/check_bigint.js +18 -26
  61. package/lib/programmers/internal/check_bigint.js.map +1 -1
  62. package/lib/programmers/internal/check_dynamic_key.d.ts +1 -5
  63. package/lib/programmers/internal/check_dynamic_key.js +109 -91
  64. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  65. package/lib/programmers/internal/check_dynamic_properties.js +88 -90
  66. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  67. package/lib/programmers/internal/check_native.js +8 -5
  68. package/lib/programmers/internal/check_native.js.map +1 -1
  69. package/lib/programmers/internal/check_number.js +59 -65
  70. package/lib/programmers/internal/check_number.js.map +1 -1
  71. package/lib/programmers/internal/check_object.js +31 -22
  72. package/lib/programmers/internal/check_object.js.map +1 -1
  73. package/lib/programmers/internal/check_string.js +18 -26
  74. package/lib/programmers/internal/check_string.js.map +1 -1
  75. package/lib/programmers/internal/check_template.js +20 -21
  76. package/lib/programmers/internal/check_template.js.map +1 -1
  77. package/lib/programmers/internal/check_union_array_like.js +68 -53
  78. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  79. package/lib/programmers/internal/decode_union_object.js +59 -49
  80. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  81. package/lib/programmers/internal/feature_object_entries.js +31 -33
  82. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  83. package/lib/programmers/internal/llm_schema_escaped.js +29 -11
  84. package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
  85. package/lib/programmers/internal/llm_schema_object.js +4 -1
  86. package/lib/programmers/internal/llm_schema_object.js.map +1 -1
  87. package/lib/programmers/internal/metadata_to_pattern.js +44 -41
  88. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  89. package/lib/programmers/internal/postfix_of_tuple.d.ts +1 -1
  90. package/lib/programmers/internal/postfix_of_tuple.js +3 -0
  91. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  92. package/lib/programmers/internal/prune_object_properties.js +6 -3
  93. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  94. package/lib/programmers/internal/random_custom.js +8 -14
  95. package/lib/programmers/internal/random_custom.js.map +1 -1
  96. package/lib/programmers/internal/stringify_dynamic_properties.js +4 -1
  97. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  98. package/lib/programmers/internal/stringify_regular_properties.js +4 -4
  99. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  100. package/lib/programmers/internal/template_to_pattern.js +10 -5
  101. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  102. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +1 -2
  103. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +3 -0
  104. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  105. package/lib/programmers/json/JsonStringifyProgrammer.js +154 -91
  106. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  107. package/lib/programmers/misc/MiscCloneProgrammer.js +221 -154
  108. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  109. package/lib/programmers/misc/MiscPruneProgrammer.js +139 -89
  110. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  111. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +4 -1
  112. package/lib/programmers/notations/NotationGeneralProgrammer.js +257 -148
  113. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  114. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +32 -24
  115. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  116. package/lib/utils/NamingConvention/NamingConvention.js +41 -47
  117. package/lib/utils/NamingConvention/NamingConvention.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/programmers/AssertProgrammer.ts +44 -37
  120. package/src/programmers/CheckerProgrammer.ts +394 -358
  121. package/src/programmers/FeatureProgrammer.ts +327 -267
  122. package/src/programmers/IsProgrammer.ts +93 -76
  123. package/src/programmers/RandomProgrammer.ts +18 -9
  124. package/src/programmers/TypiaProgrammer.ts +48 -34
  125. package/src/programmers/ValidateProgrammer.ts +56 -29
  126. package/src/programmers/helpers/CloneJoiner.ts +4 -1
  127. package/src/programmers/helpers/NotationJoiner.ts +85 -83
  128. package/src/programmers/helpers/ProtobufUtil.ts +2 -2
  129. package/src/programmers/helpers/PruneJoiner.ts +4 -1
  130. package/src/programmers/helpers/RandomJoiner.ts +5 -2
  131. package/src/programmers/helpers/RandomRanger.ts +8 -1
  132. package/src/programmers/helpers/StringifyJoinder.ts +4 -1
  133. package/src/programmers/helpers/StringifyPredicator.ts +4 -3
  134. package/src/programmers/helpers/UnionExplorer.ts +277 -179
  135. package/src/programmers/helpers/UnionPredicator.ts +5 -5
  136. package/src/programmers/http/HttpFormDataProgrammer.ts +135 -114
  137. package/src/programmers/http/HttpHeadersProgrammer.ts +145 -120
  138. package/src/programmers/http/HttpQueryProgrammer.ts +137 -116
  139. package/src/programmers/internal/application_escaped.ts +6 -6
  140. package/src/programmers/internal/application_templates.ts +8 -6
  141. package/src/programmers/internal/application_union_discriminator.ts +6 -6
  142. package/src/programmers/internal/application_v30_object.ts +6 -3
  143. package/src/programmers/internal/application_v31_object.ts +4 -1
  144. package/src/programmers/internal/application_v31_tuple.ts +1 -1
  145. package/src/programmers/internal/check_array_length.ts +31 -30
  146. package/src/programmers/internal/check_bigint.ts +31 -31
  147. package/src/programmers/internal/check_dynamic_key.ts +155 -126
  148. package/src/programmers/internal/check_dynamic_properties.ts +152 -154
  149. package/src/programmers/internal/check_native.ts +11 -5
  150. package/src/programmers/internal/check_number.ts +88 -84
  151. package/src/programmers/internal/check_object.ts +45 -31
  152. package/src/programmers/internal/check_string.ts +31 -30
  153. package/src/programmers/internal/check_template.ts +34 -32
  154. package/src/programmers/internal/check_union_array_like.ts +245 -228
  155. package/src/programmers/internal/decode_union_object.ts +92 -75
  156. package/src/programmers/internal/feature_object_entries.ts +36 -36
  157. package/src/programmers/internal/llm_schema_escaped.ts +36 -13
  158. package/src/programmers/internal/llm_schema_object.ts +4 -1
  159. package/src/programmers/internal/metadata_to_pattern.ts +31 -23
  160. package/src/programmers/internal/postfix_of_tuple.ts +3 -0
  161. package/src/programmers/internal/prune_object_properties.ts +6 -3
  162. package/src/programmers/internal/random_custom.ts +24 -23
  163. package/src/programmers/internal/stringify_dynamic_properties.ts +4 -1
  164. package/src/programmers/internal/stringify_regular_properties.ts +7 -7
  165. package/src/programmers/internal/template_to_pattern.ts +12 -4
  166. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +3 -0
  167. package/src/programmers/json/JsonStringifyProgrammer.ts +151 -104
  168. package/src/programmers/misc/MiscCloneProgrammer.ts +255 -204
  169. package/src/programmers/misc/MiscPruneProgrammer.ts +149 -116
  170. package/src/programmers/notations/NotationGeneralProgrammer.ts +307 -211
  171. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +25 -21
  172. package/src/utils/NamingConvention/NamingConvention.ts +40 -42
@@ -46,147 +46,211 @@ var UnionExplorer;
46
46
  /* -----------------------------------------------------------
47
47
  OBJECT
48
48
  ----------------------------------------------------------- */
49
- UnionExplorer.object = function (config, level) {
50
- if (level === void 0) { level = 0; }
51
- return function (input, targets, explore) {
52
- // BREAKER
53
- if (targets.length === 1)
54
- return config.objector.decoder()(input, targets[0], explore);
55
- var expected = "(".concat(targets.map(function (t) { return t.name; }).join(" | "), ")");
56
- // POSSIBLE TO SPECIALIZE?
57
- var specList = UnionPredicator_1.UnionPredicator.object(targets);
58
- if (specList.length === 0) {
59
- var condition_1 = config.objector.unionizer(input, targets, __assign(__assign({}, explore), { tracable: false }));
60
- return config.objector.full
61
- ? config.objector.full(condition_1)(input, expected, explore)
62
- : condition_1;
63
- }
64
- var remained = targets.filter(function (t) { return specList.find(function (s) { return s.object === t; }) === undefined; });
65
- // DO SPECIALIZE
66
- var condition = specList
67
- .filter(function (spec) { return spec.property.key.getSoleLiteral() !== null; })
68
- .map(function (spec, i, array) {
69
- var key = spec.property.key.getSoleLiteral();
70
- var accessor = IdentifierFactory_1.IdentifierFactory.access(input)(key);
71
- var pred = spec.neighbour
72
- ? config.objector.checker()(accessor, spec.property.value, __assign(__assign({}, explore), { tracable: false, postfix: IdentifierFactory_1.IdentifierFactory.postfix(key) }))
73
- : (config.objector.required || (function (exp) { return exp; }))(ExpressionFactory_1.ExpressionFactory.isRequired(accessor));
74
- return typescript_1.default.factory.createIfStatement((config.objector.is || (function (exp) { return exp; }))(pred), typescript_1.default.factory.createReturnStatement(config.objector.decoder()(input, spec.object, explore)), i === array.length - 1
75
- ? remained.length
76
- ? typescript_1.default.factory.createReturnStatement(UnionExplorer.object(config, level + 1)(input, remained, explore))
77
- : config.objector.failure(input, expected, explore)
78
- : undefined);
79
- })
80
- .reverse()
81
- .reduce(function (a, b) {
82
- return typescript_1.default.factory.createIfStatement(b.expression, b.thenStatement, a);
49
+ UnionExplorer.object = function (props) {
50
+ // BREAKER
51
+ if (props.objects.length === 1)
52
+ return props.config.objector.decoder({
53
+ input: props.input,
54
+ object: props.objects[0],
55
+ explore: props.explore,
83
56
  });
84
- // RETURNS WITH CONDITIONS
85
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock([condition], true)), undefined, undefined);
86
- };
57
+ var expected = "(".concat(props.objects.map(function (t) { return t.name; }).join(" | "), ")");
58
+ // POSSIBLE TO SPECIALIZE?
59
+ var specList = UnionPredicator_1.UnionPredicator.object(props.objects);
60
+ if (specList.length === 0) {
61
+ var condition_1 = props.config.objector.unionizer({
62
+ objects: props.objects,
63
+ input: props.input,
64
+ explore: __assign(__assign({}, props.explore), { tracable: false }),
65
+ });
66
+ return props.config.objector.full
67
+ ? props.config.objector.full({
68
+ condition: condition_1,
69
+ expected: expected,
70
+ explore: props.explore,
71
+ input: props.input,
72
+ })
73
+ : condition_1;
74
+ }
75
+ var remained = props.objects.filter(function (t) { return specList.find(function (s) { return s.object === t; }) === undefined; });
76
+ // DO SPECIALIZE
77
+ var condition = specList
78
+ .filter(function (spec) { return spec.property.key.getSoleLiteral() !== null; })
79
+ .map(function (spec, i, array) {
80
+ var _a;
81
+ var key = spec.property.key.getSoleLiteral();
82
+ var accessor = IdentifierFactory_1.IdentifierFactory.access(props.input)(key);
83
+ var pred = spec.neighbour
84
+ ? props.config.objector.checker({
85
+ input: accessor,
86
+ metadata: spec.property.value,
87
+ explore: __assign(__assign({}, props.explore), { tracable: false, postfix: IdentifierFactory_1.IdentifierFactory.postfix(key) }),
88
+ })
89
+ : (props.config.objector.required || (function (exp) { return exp; }))(ExpressionFactory_1.ExpressionFactory.isRequired(accessor));
90
+ return typescript_1.default.factory.createIfStatement((props.config.objector.is || (function (exp) { return exp; }))(pred), typescript_1.default.factory.createReturnStatement(props.config.objector.decoder({
91
+ object: spec.object,
92
+ input: props.input,
93
+ explore: props.explore,
94
+ })), i === array.length - 1
95
+ ? remained.length
96
+ ? typescript_1.default.factory.createReturnStatement(UnionExplorer.object({
97
+ config: props.config,
98
+ level: ((_a = props.level) !== null && _a !== void 0 ? _a : 0) + 1,
99
+ input: props.input,
100
+ objects: remained,
101
+ explore: props.explore,
102
+ }))
103
+ : props.config.objector.failure({
104
+ input: props.input,
105
+ explore: props.explore,
106
+ expected: expected,
107
+ })
108
+ : undefined);
109
+ })
110
+ .reverse()
111
+ .reduce(function (a, b) {
112
+ return typescript_1.default.factory.createIfStatement(b.expression, b.thenStatement, a);
113
+ });
114
+ // RETURNS WITH CONDITIONS
115
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock([condition], true)), undefined, undefined);
87
116
  };
88
117
  /* -----------------------------------------------------------
89
118
  ARRAY LIKE
90
119
  ----------------------------------------------------------- */
91
120
  UnionExplorer.tuple = function (props) {
92
121
  return (0, check_union_array_like_1.check_union_array_like)({
93
- transform: function (x) { return x; },
94
- element: function (x) { return x; },
95
- size: null,
96
- front: function (input) { return input; },
97
- array: function (input) { return input; },
98
- name: function (t) { return t.type.name; },
99
- })(props);
122
+ config: props.config,
123
+ accessor: {
124
+ transform: function (x) { return x; },
125
+ element: function (x) { return x; },
126
+ size: null,
127
+ front: function (input) { return input; },
128
+ array: function (input) { return input; },
129
+ name: function (t) { return t.type.name; },
130
+ },
131
+ parameters: props.parameters,
132
+ input: props.input,
133
+ definitions: props.tuples,
134
+ explore: props.explore,
135
+ });
100
136
  };
101
137
  UnionExplorer.array = function (props) {
102
138
  return (0, check_union_array_like_1.check_union_array_like)({
103
- transform: function (x) { return x; },
104
- element: function (x) { return x.type.value; },
105
- size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("length"); },
106
- front: function (input) { return typescript_1.default.factory.createElementAccessExpression(input, 0); },
107
- array: function (input) { return input; },
108
- name: function (t) { return t.type.name; },
109
- })(props);
139
+ config: props.config,
140
+ accessor: {
141
+ transform: function (x) { return x; },
142
+ element: function (x) { return x.type.value; },
143
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("length"); },
144
+ front: function (input) { return typescript_1.default.factory.createElementAccessExpression(input, 0); },
145
+ array: function (input) { return input; },
146
+ name: function (t) { return t.type.name; },
147
+ },
148
+ parameters: props.parameters,
149
+ input: props.input,
150
+ definitions: props.arrays,
151
+ explore: props.explore,
152
+ });
110
153
  };
111
154
  UnionExplorer.array_or_tuple = function (props) {
112
155
  return (0, check_union_array_like_1.check_union_array_like)({
113
- transform: function (x) { return x; },
114
- element: function (x) { return (x instanceof MetadataArray_1.MetadataArray ? x.type.value : x); },
115
- size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("length"); },
116
- front: function (input) { return typescript_1.default.factory.createElementAccessExpression(input, 0); },
117
- array: function (input) { return input; },
118
- name: function (m) { return m.type.name; },
119
- })(props);
156
+ config: props.config,
157
+ accessor: {
158
+ transform: function (x) { return x; },
159
+ element: function (x) { return (x instanceof MetadataArray_1.MetadataArray ? x.type.value : x); },
160
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("length"); },
161
+ front: function (input) { return typescript_1.default.factory.createElementAccessExpression(input, 0); },
162
+ array: function (input) { return input; },
163
+ name: function (m) { return m.type.name; },
164
+ },
165
+ parameters: props.parameters,
166
+ input: props.input,
167
+ definitions: props.definitions,
168
+ explore: props.explore,
169
+ });
120
170
  };
121
171
  UnionExplorer.set = function (props) {
122
172
  return (0, check_union_array_like_1.check_union_array_like)({
123
- transform: function (value) {
124
- return MetadataArray_1.MetadataArray.create({
125
- tags: [],
126
- type: MetadataArrayType_1.MetadataArrayType.create({
127
- name: "Set<".concat(value.getName(), ">"),
128
- index: null,
129
- recursive: false,
130
- nullables: [],
131
- value: value,
132
- }),
133
- });
134
- },
135
- element: function (array) { return array.type.value; },
136
- size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("size"); },
137
- front: function (input) {
138
- return IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("values"), undefined, undefined))("next"), undefined, undefined))("value");
173
+ config: props.config,
174
+ accessor: {
175
+ transform: function (value) {
176
+ return MetadataArray_1.MetadataArray.create({
177
+ tags: [],
178
+ type: MetadataArrayType_1.MetadataArrayType.create({
179
+ name: "Set<".concat(value.getName(), ">"),
180
+ index: null,
181
+ recursive: false,
182
+ nullables: [],
183
+ value: value,
184
+ }),
185
+ });
186
+ },
187
+ element: function (array) { return array.type.value; },
188
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("size"); },
189
+ front: function (input) {
190
+ return IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("values"), undefined, undefined))("next"), undefined, undefined))("value");
191
+ },
192
+ array: function (input) {
193
+ return typescript_1.default.factory.createArrayLiteralExpression([typescript_1.default.factory.createSpreadElement(input)], false);
194
+ },
195
+ name: function (_m, e) { return "Set<".concat(e.getName(), ">"); },
139
196
  },
140
- array: function (input) {
141
- return typescript_1.default.factory.createArrayLiteralExpression([typescript_1.default.factory.createSpreadElement(input)], false);
142
- },
143
- name: function (_m, e) { return "Set<".concat(e.getName(), ">"); },
144
- })(props);
197
+ parameters: props.parameters,
198
+ input: props.input,
199
+ definitions: props.sets,
200
+ explore: props.explore,
201
+ });
145
202
  };
146
203
  UnionExplorer.map = function (props) {
147
204
  return (0, check_union_array_like_1.check_union_array_like)({
148
- element: function (array) {
149
- return array.type.value.tuples[0].type.elements;
150
- },
151
- size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("size"); },
152
- front: function (input) {
153
- return IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("entries"), undefined, undefined))("next"), undefined, undefined))("value");
154
- },
155
- array: function (input) {
156
- return typescript_1.default.factory.createArrayLiteralExpression([typescript_1.default.factory.createSpreadElement(input)], false);
157
- },
158
- name: function (_m, _a) {
159
- var _b = __read(_a, 2), k = _b[0], v = _b[1];
160
- return "Map<".concat(k.getName(), ", ").concat(v.getName(), ">");
161
- },
162
- transform: function (m) {
163
- return MetadataArray_1.MetadataArray.create({
164
- tags: [],
165
- type: MetadataArrayType_1.MetadataArrayType.create({
166
- name: "Map<".concat(m.key.getName(), ", ").concat(m.value.getName(), ">"),
167
- index: null,
168
- recursive: false,
169
- nullables: [],
170
- value: Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { tuples: [
171
- (function () {
172
- var tuple = MetadataTuple_1.MetadataTuple.create({
173
- tags: [],
174
- type: MetadataTupleType_1.MetadataTupleType.create({
175
- name: "[".concat(m.key.getName(), ", ").concat(m.value.getName(), "]"),
176
- index: null,
177
- recursive: false,
178
- nullables: [],
179
- elements: [m.key, m.value],
180
- }),
181
- });
182
- tuple.type.of_map = true;
183
- return tuple;
184
- })(),
185
- ] })),
186
- }),
187
- });
205
+ config: props.config,
206
+ accessor: {
207
+ element: function (array) {
208
+ return array.type.value.tuples[0].type.elements;
209
+ },
210
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.access(input)("size"); },
211
+ front: function (input) {
212
+ return IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("entries"), undefined, undefined))("next"), undefined, undefined))("value");
213
+ },
214
+ array: function (input) {
215
+ return typescript_1.default.factory.createArrayLiteralExpression([typescript_1.default.factory.createSpreadElement(input)], false);
216
+ },
217
+ name: function (_m, _a) {
218
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
219
+ return "Map<".concat(k.getName(), ", ").concat(v.getName(), ">");
220
+ },
221
+ transform: function (m) {
222
+ return MetadataArray_1.MetadataArray.create({
223
+ tags: [],
224
+ type: MetadataArrayType_1.MetadataArrayType.create({
225
+ name: "Map<".concat(m.key.getName(), ", ").concat(m.value.getName(), ">"),
226
+ index: null,
227
+ recursive: false,
228
+ nullables: [],
229
+ value: Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { tuples: [
230
+ (function () {
231
+ var tuple = MetadataTuple_1.MetadataTuple.create({
232
+ tags: [],
233
+ type: MetadataTupleType_1.MetadataTupleType.create({
234
+ name: "[".concat(m.key.getName(), ", ").concat(m.value.getName(), "]"),
235
+ index: null,
236
+ recursive: false,
237
+ nullables: [],
238
+ elements: [m.key, m.value],
239
+ }),
240
+ });
241
+ tuple.type.of_map = true;
242
+ return tuple;
243
+ })(),
244
+ ] })),
245
+ }),
246
+ });
247
+ },
188
248
  },
189
- })(props);
249
+ parameters: props.parameters,
250
+ input: props.input,
251
+ definitions: props.maps,
252
+ explore: props.explore,
253
+ });
190
254
  };
191
255
  })(UnionExplorer || (exports.UnionExplorer = UnionExplorer = {}));
192
256
  //# sourceMappingURL=UnionExplorer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnionExplorer.js","sourceRoot":"","sources":["../../../src/programmers/helpers/UnionExplorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnionExplorer.js","sourceRoot":"","sources":["../../../src/programmers/helpers/UnionExplorer.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ export declare namespace UnionPredicator {
7
7
  property: MetadataProperty;
8
8
  neighbour: boolean;
9
9
  }
10
- const object: (targets: MetadataObject[]) => Array<ISpecialized>;
10
+ const object: (objects: MetadataObject[]) => Array<ISpecialized>;
11
11
  }
@@ -28,20 +28,20 @@ var ArrayUtil_1 = require("../../utils/ArrayUtil");
28
28
  var MapUtil_1 = require("../../utils/MapUtil");
29
29
  var UnionPredicator;
30
30
  (function (UnionPredicator) {
31
- UnionPredicator.object = function (targets) {
31
+ UnionPredicator.object = function (objects) {
32
32
  var e_1, _a, e_2, _b;
33
33
  // PROPERTY MATRIX
34
34
  var matrix = new Map();
35
35
  try {
36
- for (var targets_1 = __values(targets), targets_1_1 = targets_1.next(); !targets_1_1.done; targets_1_1 = targets_1.next()) {
37
- var obj = targets_1_1.value;
36
+ for (var objects_1 = __values(objects), objects_1_1 = objects_1.next(); !objects_1_1.done; objects_1_1 = objects_1.next()) {
37
+ var obj = objects_1_1.value;
38
38
  try {
39
39
  for (var _c = (e_2 = void 0, __values(obj.properties)), _d = _c.next(); !_d.done; _d = _c.next()) {
40
40
  var prop = _d.value;
41
41
  var key = prop.key.getSoleLiteral();
42
42
  if (key !== null)
43
43
  MapUtil_1.MapUtil.take(matrix)(key, function () {
44
- return ArrayUtil_1.ArrayUtil.repeat(targets.length, function () { return null; });
44
+ return ArrayUtil_1.ArrayUtil.repeat(objects.length, function () { return null; });
45
45
  });
46
46
  }
47
47
  }
@@ -57,11 +57,11 @@ var UnionPredicator;
57
57
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
58
58
  finally {
59
59
  try {
60
- if (targets_1_1 && !targets_1_1.done && (_a = targets_1.return)) _a.call(targets_1);
60
+ if (objects_1_1 && !objects_1_1.done && (_a = objects_1.return)) _a.call(objects_1);
61
61
  }
62
62
  finally { if (e_1) throw e_1.error; }
63
63
  }
64
- targets.forEach(function (obj, i) {
64
+ objects.forEach(function (obj, i) {
65
65
  var e_3, _a;
66
66
  try {
67
67
  for (var _b = __values(obj.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -81,7 +81,7 @@ var UnionPredicator;
81
81
  });
82
82
  // EXPLORE SPECIALIZERS
83
83
  var output = [];
84
- targets.forEach(function (obj, i) {
84
+ objects.forEach(function (obj, i) {
85
85
  var children = [];
86
86
  obj.properties.forEach(function (prop) {
87
87
  // MUST BE REQUIRED
@@ -65,7 +65,10 @@ var HttpFormDataProgrammer;
65
65
  throw TransformerError_1.TransformerError.from("typia.http.".concat(props.importer.method))(result.errors);
66
66
  // DO TRANSFORM
67
67
  var object = result.data.objects[0];
68
- var statements = decode_object(props.importer)(object);
68
+ var statements = decode_object({
69
+ importer: props.importer,
70
+ object: object,
71
+ });
69
72
  return {
70
73
  functions: {},
71
74
  statements: [],
@@ -134,78 +137,82 @@ var HttpFormDataProgrammer;
134
137
  }
135
138
  return errors;
136
139
  };
137
- var decode_object = function (importer) {
138
- return function (object) {
139
- // const input: ts.Identifier = ts.factory.createIdentifier("input");
140
- var output = typescript_1.default.factory.createIdentifier("output");
141
- return [
142
- StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createObjectLiteralExpression(object.properties.map(function (prop) {
143
- return decode_regular_property(importer)(prop);
144
- }), true)),
145
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(output, TypeFactory_1.TypeFactory.keyword("any"))),
146
- ];
147
- };
140
+ var decode_object = function (props) {
141
+ // const input: ts.Identifier = ts.factory.createIdentifier("input");
142
+ var output = typescript_1.default.factory.createIdentifier("output");
143
+ return [
144
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createObjectLiteralExpression(props.object.properties.map(function (p) {
145
+ return decode_regular_property({
146
+ importer: props.importer,
147
+ property: p,
148
+ });
149
+ }), true)),
150
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(output, TypeFactory_1.TypeFactory.keyword("any"))),
151
+ ];
148
152
  };
149
- var decode_regular_property = function (importer) {
150
- return function (property) {
151
- var key = property.key.constants[0].values[0].value;
152
- var value = property.value;
153
- var _a = __read(value
154
- .atomics.length
155
- ? [value.atomics[0].type, false]
156
- : value.constants.length
157
- ? [value.constants[0].type, false]
158
- : value.templates.length
159
- ? ["string", false]
160
- : value.natives.includes("Blob")
161
- ? ["blob", false]
162
- : value.natives.includes("File")
163
- ? ["file", false]
164
- : (function () {
165
- var _a, _b;
166
- var meta = (_b = (_a = value.arrays[0]) === null || _a === void 0 ? void 0 : _a.type.value) !== null && _b !== void 0 ? _b : value.tuples[0].type.elements[0];
167
- return meta.atomics.length
168
- ? [meta.atomics[0].type, true]
169
- : meta.templates.length
170
- ? ["string", true]
171
- : meta.natives.includes("Blob")
172
- ? ["blob", true]
173
- : meta.natives.includes("File")
174
- ? ["file", true]
175
- : [meta.constants[0].type, true];
176
- })(), 2), type = _a[0], isArray = _a[1];
177
- return typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(key) ? key : typescript_1.default.factory.createStringLiteral(key), isArray
178
- ? decode_array(importer)(value)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("input.getAll"), undefined, [typescript_1.default.factory.createStringLiteral(key)]))("map"), undefined, [
179
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, decode_value(importer)(type)(false)(typescript_1.default.factory.createIdentifier("elem"))),
180
- ]))
181
- : decode_value(importer)(type)(value.nullable === false && value.isRequired() === false)(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("input.get"), undefined, [typescript_1.default.factory.createStringLiteral(key)])));
182
- };
153
+ var decode_regular_property = function (props) {
154
+ var key = props.property.key.constants[0].values[0]
155
+ .value;
156
+ var value = props.property.value;
157
+ var _a = __read(value
158
+ .atomics.length
159
+ ? [value.atomics[0].type, false]
160
+ : value.constants.length
161
+ ? [value.constants[0].type, false]
162
+ : value.templates.length
163
+ ? ["string", false]
164
+ : value.natives.includes("Blob")
165
+ ? ["blob", false]
166
+ : value.natives.includes("File")
167
+ ? ["file", false]
168
+ : (function () {
169
+ var _a, _b;
170
+ var meta = (_b = (_a = value.arrays[0]) === null || _a === void 0 ? void 0 : _a.type.value) !== null && _b !== void 0 ? _b : value.tuples[0].type.elements[0];
171
+ return meta.atomics.length
172
+ ? [meta.atomics[0].type, true]
173
+ : meta.templates.length
174
+ ? ["string", true]
175
+ : meta.natives.includes("Blob")
176
+ ? ["blob", true]
177
+ : meta.natives.includes("File")
178
+ ? ["file", true]
179
+ : [meta.constants[0].type, true];
180
+ })(), 2), type = _a[0], isArray = _a[1];
181
+ return typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(key) ? key : typescript_1.default.factory.createStringLiteral(key), isArray
182
+ ? decode_array({
183
+ importer: props.importer,
184
+ metadata: value,
185
+ input: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("input.getAll"), undefined, [typescript_1.default.factory.createStringLiteral(key)]))("map"), undefined, [
186
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, decode_value({
187
+ importer: props.importer,
188
+ type: type,
189
+ coalesce: false,
190
+ input: typescript_1.default.factory.createIdentifier("elem"),
191
+ })),
192
+ ]),
193
+ })
194
+ : decode_value({
195
+ importer: props.importer,
196
+ type: type,
197
+ coalesce: value.nullable === false && value.isRequired() === false,
198
+ input: typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("input.get"), undefined, [typescript_1.default.factory.createStringLiteral(key)]),
199
+ }));
183
200
  };
184
- var decode_value = function (importer) {
185
- return function (type) {
186
- return function (onlyUndefindable) {
187
- return function (value) {
188
- var call = typescript_1.default.factory.createCallExpression(importer.use(type), undefined, [value]);
189
- return onlyUndefindable
190
- ? typescript_1.default.factory.createBinaryExpression(call, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionToken), typescript_1.default.factory.createIdentifier("undefined"))
191
- : call;
192
- };
193
- };
194
- };
201
+ var decode_value = function (props) {
202
+ var call = typescript_1.default.factory.createCallExpression(props.importer.use(props.type), undefined, [props.input]);
203
+ return props.coalesce
204
+ ? typescript_1.default.factory.createBinaryExpression(call, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionToken), typescript_1.default.factory.createIdentifier("undefined"))
205
+ : call;
195
206
  };
196
- var decode_array = function (importer) {
197
- return function (value) {
198
- return function (expression) {
199
- return value.nullable || value.isRequired() === false
200
- ? typescript_1.default.factory.createCallExpression(importer.use("array"), undefined, [
201
- expression,
202
- value.nullable
203
- ? typescript_1.default.factory.createNull()
204
- : typescript_1.default.factory.createIdentifier("undefined"),
205
- ])
206
- : expression;
207
- };
208
- };
207
+ var decode_array = function (props) {
208
+ return props.metadata.nullable || props.metadata.isRequired() === false
209
+ ? typescript_1.default.factory.createCallExpression(props.importer.use("array"), undefined, [
210
+ props.input,
211
+ props.metadata.nullable
212
+ ? typescript_1.default.factory.createNull()
213
+ : typescript_1.default.factory.createIdentifier("undefined"),
214
+ ])
215
+ : props.input;
209
216
  };
210
217
  })(HttpFormDataProgrammer || (exports.HttpFormDataProgrammer = HttpFormDataProgrammer = {}));
211
218
  //# sourceMappingURL=HttpFormDataProgrammer.js.map