typia 3.5.0-dev.20230125 → 3.5.0-dev.20230211

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 (227) hide show
  1. package/README.md +64 -71
  2. package/lib/factories/MetadataCollection.d.ts +9 -1
  3. package/lib/factories/MetadataCollection.js +75 -2
  4. package/lib/factories/MetadataCollection.js.map +1 -1
  5. package/lib/factories/internal/metadata/iterate_metadata_native.js +0 -3
  6. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  7. package/lib/functional/$is_between.d.ts +1 -0
  8. package/lib/functional/$is_between.js +8 -0
  9. package/lib/functional/$is_between.js.map +1 -0
  10. package/lib/metadata/IMetadataTag.d.ts +3 -7
  11. package/lib/metadata/Metadata.js +2 -2
  12. package/lib/metadata/Metadata.js.map +1 -1
  13. package/lib/module.d.ts +33 -3
  14. package/lib/module.js +36 -8
  15. package/lib/module.js.map +1 -1
  16. package/lib/programmers/AssertProgrammer.js +3 -2
  17. package/lib/programmers/AssertProgrammer.js.map +1 -1
  18. package/lib/programmers/CheckerProgrammer.d.ts +2 -2
  19. package/lib/programmers/CheckerProgrammer.js +21 -16
  20. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  21. package/lib/programmers/FeatureProgrammer.d.ts +114 -18
  22. package/lib/programmers/FeatureProgrammer.js +4 -4
  23. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  24. package/lib/programmers/IsProgrammer.d.ts +4 -3
  25. package/lib/programmers/IsProgrammer.js +72 -61
  26. package/lib/programmers/IsProgrammer.js.map +1 -1
  27. package/lib/programmers/PruneProgrammer.d.ts +5 -0
  28. package/lib/programmers/PruneProgrammer.js +279 -0
  29. package/lib/programmers/PruneProgrammer.js.map +1 -0
  30. package/lib/programmers/StringifyProgrammer.js +26 -21
  31. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  32. package/lib/programmers/ValidateProgrammer.js +3 -2
  33. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  34. package/lib/programmers/helpers/AtomicPredicator.d.ts +2 -0
  35. package/lib/programmers/helpers/AtomicPredicator.js +9 -1
  36. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  37. package/lib/programmers/helpers/IExpressionEntry.d.ts +2 -2
  38. package/lib/programmers/helpers/OptionPredicator.d.ts +1 -0
  39. package/lib/programmers/helpers/OptionPredicator.js +4 -0
  40. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  41. package/lib/programmers/helpers/PruneJoiner.d.ts +8 -0
  42. package/lib/programmers/helpers/PruneJoiner.js +60 -0
  43. package/lib/programmers/helpers/PruneJoiner.js.map +1 -0
  44. package/lib/programmers/helpers/StringifyJoinder.d.ts +1 -1
  45. package/lib/programmers/helpers/StringifyJoinder.js +2 -4
  46. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  47. package/lib/programmers/internal/application_object.js +11 -11
  48. package/lib/programmers/internal/application_object.js.map +1 -1
  49. package/lib/programmers/internal/application_schema.js +21 -12
  50. package/lib/programmers/internal/application_schema.js.map +1 -1
  51. package/lib/programmers/internal/check_dynamic_properties.js +34 -11
  52. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  53. package/lib/programmers/internal/check_native.js +9 -1
  54. package/lib/programmers/internal/check_native.js.map +1 -1
  55. package/lib/programmers/internal/check_object.d.ts +1 -0
  56. package/lib/programmers/internal/check_object.js +13 -9
  57. package/lib/programmers/internal/check_object.js.map +1 -1
  58. package/lib/programmers/internal/check_union_array_like.d.ts +1 -1
  59. package/lib/programmers/internal/check_union_array_like.js +3 -1
  60. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  61. package/lib/programmers/internal/feature_object_entries.d.ts +2 -2
  62. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  63. package/lib/programmers/internal/prune_object_properties.d.ts +1 -0
  64. package/lib/programmers/internal/prune_object_properties.js +28 -0
  65. package/lib/programmers/internal/prune_object_properties.js.map +1 -0
  66. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  67. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  68. package/lib/transformers/CallExpressionTransformer.js +5 -3
  69. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  70. package/lib/transformers/ITransformOptions.d.ts +14 -0
  71. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +3 -1
  72. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  73. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.d.ts +5 -0
  74. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js +17 -0
  75. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js.map +1 -0
  76. package/lib/transformers/features/miscellaneous/PruneTransformer.d.ts +5 -0
  77. package/lib/transformers/features/miscellaneous/PruneTransformer.js +34 -0
  78. package/lib/transformers/features/miscellaneous/PruneTransformer.js.map +1 -0
  79. package/package.json +5 -4
  80. package/src/factories/MetadataCollection.ts +41 -2
  81. package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -5
  82. package/src/functional/$is_between.ts +7 -0
  83. package/src/metadata/IMetadataTag.ts +4 -19
  84. package/src/metadata/Metadata.ts +3 -6
  85. package/src/module.ts +91 -17
  86. package/src/programmers/AssertProgrammer.ts +3 -2
  87. package/src/programmers/CheckerProgrammer.ts +21 -13
  88. package/src/programmers/FeatureProgrammer.ts +146 -21
  89. package/src/programmers/IsProgrammer.ts +107 -87
  90. package/src/programmers/PruneProgrammer.ts +320 -0
  91. package/src/programmers/StringifyProgrammer.ts +51 -34
  92. package/src/programmers/ValidateProgrammer.ts +3 -2
  93. package/src/programmers/helpers/AtomicPredicator.ts +17 -1
  94. package/src/programmers/helpers/IExpressionEntry.ts +4 -2
  95. package/src/programmers/helpers/OptionPredicator.ts +4 -0
  96. package/src/programmers/helpers/PruneJoiner.ts +52 -0
  97. package/src/programmers/helpers/StringifyJoinder.ts +7 -4
  98. package/src/programmers/internal/application_object.ts +5 -5
  99. package/src/programmers/internal/application_schema.ts +33 -27
  100. package/src/programmers/internal/check_dynamic_properties.ts +67 -16
  101. package/src/programmers/internal/check_native.ts +14 -2
  102. package/src/programmers/internal/check_object.ts +8 -2
  103. package/src/programmers/internal/check_union_array_like.ts +4 -2
  104. package/src/programmers/internal/feature_object_entries.ts +6 -1
  105. package/src/programmers/internal/prune_object_properties.ts +60 -0
  106. package/src/programmers/internal/stringify_dynamic_properties.ts +2 -2
  107. package/src/programmers/internal/stringify_regular_properties.ts +2 -2
  108. package/src/transformers/CallExpressionTransformer.ts +15 -16
  109. package/src/transformers/ITransformOptions.ts +15 -0
  110. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +3 -1
  111. package/src/transformers/features/{protocols/MessageTransformer.ts → miscellaneous/CreatePruneTransformer.ts} +6 -7
  112. package/src/transformers/features/miscellaneous/PruneTransformer.ts +46 -0
  113. package/lib/factories/ProtocolFactory.d.ts +0 -8
  114. package/lib/factories/ProtocolFactory.js +0 -119
  115. package/lib/factories/ProtocolFactory.js.map +0 -1
  116. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +0 -16
  117. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +0 -156
  118. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +0 -1
  119. package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +0 -3
  120. package/lib/factories/internal/protocols/emplace_protocol_object.js +0 -44
  121. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +0 -1
  122. package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +0 -4
  123. package/lib/factories/internal/protocols/emplace_protocol_property.js +0 -20
  124. package/lib/factories/internal/protocols/emplace_protocol_property.js.map +0 -1
  125. package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +0 -3
  126. package/lib/factories/internal/protocols/iterate_protocol_atomic.js +0 -69
  127. package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +0 -1
  128. package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +0 -2
  129. package/lib/factories/internal/protocols/iterate_protocol_constant.js +0 -30
  130. package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +0 -1
  131. package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +0 -3
  132. package/lib/factories/internal/protocols/iterate_protocol_main.js +0 -17
  133. package/lib/factories/internal/protocols/iterate_protocol_main.js.map +0 -1
  134. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +0 -4
  135. package/lib/factories/internal/protocols/iterate_protocol_map.js +0 -75
  136. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +0 -1
  137. package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +0 -5
  138. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +0 -190
  139. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +0 -1
  140. package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +0 -2
  141. package/lib/factories/internal/protocols/iterate_protocol_native.js +0 -33
  142. package/lib/factories/internal/protocols/iterate_protocol_native.js.map +0 -1
  143. package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +0 -1
  144. package/lib/factories/internal/protocols/iterate_protocol_never.js +0 -6
  145. package/lib/factories/internal/protocols/iterate_protocol_never.js.map +0 -1
  146. package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +0 -4
  147. package/lib/factories/internal/protocols/iterate_protocol_object.js +0 -157
  148. package/lib/factories/internal/protocols/iterate_protocol_object.js.map +0 -1
  149. package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +0 -5
  150. package/lib/factories/internal/protocols/iterate_protocol_repeated.js +0 -25
  151. package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +0 -1
  152. package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +0 -3
  153. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +0 -46
  154. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +0 -1
  155. package/lib/functional/$proto_bytes.d.ts +0 -2
  156. package/lib/functional/$proto_bytes.js +0 -37
  157. package/lib/functional/$proto_bytes.js.map +0 -1
  158. package/lib/functional/$proto_field.d.ts +0 -10
  159. package/lib/functional/$proto_field.js +0 -42
  160. package/lib/functional/$proto_field.js.map +0 -1
  161. package/lib/functional/$proto_float.d.ts +0 -4
  162. package/lib/functional/$proto_float.js +0 -28
  163. package/lib/functional/$proto_float.js.map +0 -1
  164. package/lib/functional/$proto_i32.d.ts +0 -2
  165. package/lib/functional/$proto_i32.js +0 -23
  166. package/lib/functional/$proto_i32.js.map +0 -1
  167. package/lib/functional/$proto_i64.d.ts +0 -2
  168. package/lib/functional/$proto_i64.js +0 -31
  169. package/lib/functional/$proto_i64.js.map +0 -1
  170. package/lib/functional/$proto_size.d.ts +0 -6
  171. package/lib/functional/$proto_size.js +0 -76
  172. package/lib/functional/$proto_size.js.map +0 -1
  173. package/lib/functional/$proto_string.d.ts +0 -2
  174. package/lib/functional/$proto_string.js +0 -34
  175. package/lib/functional/$proto_string.js.map +0 -1
  176. package/lib/functional/$varint.d.ts +0 -6
  177. package/lib/functional/$varint.js +0 -99
  178. package/lib/functional/$varint.js.map +0 -1
  179. package/lib/functional/$zigzag.d.ts +0 -4
  180. package/lib/functional/$zigzag.js +0 -34
  181. package/lib/functional/$zigzag.js.map +0 -1
  182. package/lib/messages/IProtocolMap.d.ts +0 -5
  183. package/lib/messages/IProtocolMap.js +0 -3
  184. package/lib/messages/IProtocolMap.js.map +0 -1
  185. package/lib/messages/IProtocolMessage.d.ts +0 -5
  186. package/lib/messages/IProtocolMessage.js +0 -3
  187. package/lib/messages/IProtocolMessage.js.map +0 -1
  188. package/lib/messages/IProtocolProperty.d.ts +0 -12
  189. package/lib/messages/IProtocolProperty.js +0 -3
  190. package/lib/messages/IProtocolProperty.js.map +0 -1
  191. package/lib/programmers/MessageProgrammer.d.ts +0 -5
  192. package/lib/programmers/MessageProgrammer.js +0 -141
  193. package/lib/programmers/MessageProgrammer.js.map +0 -1
  194. package/lib/transformers/features/protocols/MessageTransformer.d.ts +0 -5
  195. package/lib/transformers/features/protocols/MessageTransformer.js +0 -17
  196. package/lib/transformers/features/protocols/MessageTransformer.js.map +0 -1
  197. package/lib/utils/NameEncoder.d.ts +0 -4
  198. package/lib/utils/NameEncoder.js +0 -89
  199. package/lib/utils/NameEncoder.js.map +0 -1
  200. package/src/factories/ProtocolFactory.ts +0 -92
  201. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +0 -163
  202. package/src/factories/internal/protocols/emplace_protocol_object.ts +0 -23
  203. package/src/factories/internal/protocols/emplace_protocol_property.ts +0 -12
  204. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +0 -34
  205. package/src/factories/internal/protocols/iterate_protocol_constant.ts +0 -27
  206. package/src/factories/internal/protocols/iterate_protocol_main.ts +0 -19
  207. package/src/factories/internal/protocols/iterate_protocol_map.ts +0 -58
  208. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +0 -96
  209. package/src/factories/internal/protocols/iterate_protocol_native.ts +0 -34
  210. package/src/factories/internal/protocols/iterate_protocol_never.ts +0 -1
  211. package/src/factories/internal/protocols/iterate_protocol_object.ts +0 -110
  212. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +0 -34
  213. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +0 -29
  214. package/src/functional/$proto_bytes.ts +0 -25
  215. package/src/functional/$proto_field.ts +0 -30
  216. package/src/functional/$proto_float.ts +0 -37
  217. package/src/functional/$proto_i32.ts +0 -29
  218. package/src/functional/$proto_i64.ts +0 -37
  219. package/src/functional/$proto_size.ts +0 -82
  220. package/src/functional/$proto_string.ts +0 -24
  221. package/src/functional/$varint.ts +0 -130
  222. package/src/functional/$zigzag.ts +0 -39
  223. package/src/messages/IProtocolMap.ts +0 -5
  224. package/src/messages/IProtocolMessage.ts +0 -6
  225. package/src/messages/IProtocolProperty.ts +0 -13
  226. package/src/programmers/MessageProgrammer.ts +0 -126
  227. package/src/utils/NameEncoder.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"check_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_properties.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.check_native = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
4
8
  var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
5
9
  var check_native = function (type) { return function (input) {
6
- return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, type);
10
+ var instanceOf = ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, type);
11
+ return ATOMIC_LIKE.has(type)
12
+ ? typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(type.toLowerCase()), typescript_1.default.factory.createTypeOfExpression(input)), instanceOf)
13
+ : instanceOf;
7
14
  }; };
8
15
  exports.check_native = check_native;
16
+ var ATOMIC_LIKE = new Set(["Boolean", "Number", "String"]);
9
17
  //# sourceMappingURL=check_native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_native.ts"],"names":[],"mappings":";;;AAEA,uEAAsE;AAK/D,IAAM,YAAY,GAAG,UAAC,IAAY,IAAK,OAAA,UAAC,KAAoB;IAC/D,OAAA,qCAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;AAA3C,CAA2C,EADD,CACC,CAAC;AADnC,QAAA,YAAY,gBACuB"}
1
+ {"version":3,"file":"check_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_native.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAK/D,IAAM,YAAY,GAAG,UAAC,IAAY,IAAK,OAAA,UAAC,KAAoB;IAC/D,IAAM,UAAU,GAAG,qCAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAClD,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C,EACD,UAAU,CACb;QACH,CAAC,CAAC,UAAU,CAAC;AACrB,CAAC,EAX6C,CAW7C,CAAC;AAXW,QAAA,YAAY,gBAWvB;AAEF,IAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC"}
@@ -3,6 +3,7 @@ export declare namespace check_object {
3
3
  interface IProps {
4
4
  equals: boolean;
5
5
  assert: boolean;
6
+ undefined: boolean;
6
7
  halt?: (exp: ts.Expression) => ts.Expression;
7
8
  reduce: (a: ts.Expression, b: ts.Expression) => ts.Expression;
8
9
  positive: ts.Expression;
@@ -7,15 +7,19 @@ exports.check_object = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
8
  var check_dynamic_properties_1 = require("./check_dynamic_properties");
9
9
  var check_everything_1 = require("./check_everything");
10
- var check_object = function (props) { return function (entries) {
11
- var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
12
- var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
13
- var flags = regular.map(function (entry) { return entry.expression; });
14
- if (props.equals === false && dynamic.length === 0)
15
- return regular.length === 0 ? props.positive : reduce(props)(flags);
16
- flags.push((0, check_dynamic_properties_1.check_dynamic_properties)(props)(regular, dynamic));
17
- return reduce(props)(flags);
18
- }; };
10
+ var check_object = function (props) {
11
+ return function (importer) {
12
+ return function (input, entries) {
13
+ var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
14
+ var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
15
+ var flags = regular.map(function (entry) { return entry.expression; });
16
+ if (props.equals === false && dynamic.length === 0)
17
+ return regular.length === 0 ? props.positive : reduce(props)(flags);
18
+ flags.push((0, check_dynamic_properties_1.check_dynamic_properties)(props)(importer)(input, regular, dynamic));
19
+ return reduce(props)(flags);
20
+ };
21
+ };
22
+ };
19
23
  exports.check_object = check_object;
20
24
  var reduce = function (props) { return function (expressions) {
21
25
  return props.assert
@@ -1 +1 @@
1
- {"version":3,"file":"check_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,uEAAsE;AACtE,uDAAsD;AAK/C,IAAM,YAAY,GACrB,UAAC,KAA0B,IAAK,OAAA,UAAC,OAA2B;IAExD,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;IACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;IACtE,IAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAC;IAGxE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAC9C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAGxE,KAAK,CAAC,IAAI,CAAC,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,EAb+B,CAa/B,CAAC;AAdO,QAAA,YAAY,gBAcnB;AAaN,IAAM,MAAM,GAAG,UAAC,KAA0B,IAAK,OAAA,UAAC,WAA4B;IACxE,OAAA,KAAK,CAAC,MAAM;QACR,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,CACvD;AAJP,CAIO,EALoC,CAKpC,CAAC"}
1
+ {"version":3,"file":"check_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,uEAAsE;AACtE,uDAAsD;AAK/C,IAAM,YAAY,GACrB,UAAC,KAA0B;IAC3B,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,KAAoB,EAAE,OAA0C;YAE7D,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;YACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;YACtE,IAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAC;YAGxE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC9C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAGxE,KAAK,CAAC,IAAI,CACN,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CACrE,CAAC;YACF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBO,QAAA,YAAY,gBAkBnB;AAcN,IAAM,MAAM,GAAG,UAAC,KAA0B,IAAK,OAAA,UAAC,WAA4B;IACxE,OAAA,KAAK,CAAC,MAAM;QACR,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,CACvD;AAJP,CAIO,EALoC,CAKpC,CAAC"}
@@ -8,7 +8,7 @@ export declare namespace check_union_array_like {
8
8
  interface IProps<T> {
9
9
  checker(front: ts.Expression, target: T, explore: FeatureProgrammer.IExplore, tags: IMetadataTag[], array: ts.Expression): ts.Expression;
10
10
  decoder: UnionExplorer.Decoder<T>;
11
- empty: ts.Expression;
11
+ empty: ts.ReturnStatement | ts.Expression;
12
12
  success: ts.Expression;
13
13
  failure(input: ts.Expression, expected: string, explore: CheckerProgrammer.IExplore): ts.Statement;
14
14
  }
@@ -64,7 +64,9 @@ var check_union_array_like = function (accessor) {
64
64
  var unionStatement = typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("filtered.length")), forOfStatement);
65
65
  var block = __spreadArray(__spreadArray([], __read((accessor.size !== null
66
66
  ? [
67
- typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), accessor.size(input)), typescript_1.default.factory.createReturnStatement(props.empty)),
67
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), accessor.size(input)), typescript_1.default.isReturnStatement(props.empty)
68
+ ? props.empty
69
+ : typescript_1.default.factory.createReturnStatement(props.empty)),
68
70
  ]
69
71
  : [])), false), [
70
72
  tupleListVariable,
@@ -1 +1 @@
1
- {"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { MetadataObject } from "../../metadata/MetadataObject";
3
3
  import { FeatureProgrammer } from "../FeatureProgrammer";
4
- export declare const feature_object_entries: (config: Pick<FeatureProgrammer.IConfig, "decoder" | "path" | "trace">) => (obj: MetadataObject) => (input: ts.Expression) => {
4
+ export declare const feature_object_entries: <Output extends ts.ConciseBody>(config: Pick<FeatureProgrammer.IConfig<Output>, "path" | "trace" | "decoder">) => (obj: MetadataObject) => (input: ts.Expression) => {
5
5
  input: ts.Identifier | ts.ElementAccessExpression | ts.PropertyAccessExpression;
6
6
  key: import("../../metadata/Metadata").Metadata;
7
7
  meta: import("../../metadata/Metadata").Metadata;
8
- expression: ts.Expression;
8
+ expression: Output;
9
9
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAIvC,IAAM,sBAAsB,GAC/B,UAAC,MAAqE;IACtE,OAAA,UAAC,GAAmB;QACpB,OAAA,UAAC,KAAoB;YACjB,OAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;gBACpB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAM,SAAS,GACX,IAAI,KAAK,IAAI;oBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACrC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC;wBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACvC,CAAC;gBAEZ,OAAO;oBACH,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,IAAI,EAAE,IAAI,CAAC,KAAK;oBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CACtB,SAAS,EACT,IAAI,CAAC,KAAK,EACV;wBACI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;wBACrC,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,QAAQ;wBACd,OAAO,EACH,IAAI,KAAK,IAAI;4BACT,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;4BACjC,CAAC,CAAC,YAAY;qBACzB,EACD,IAAI,CAAC,IAAI,CACZ;iBACJ,CAAC;YACN,CAAC,CAAC;QAlCF,CAkCE;IAnCN,CAmCM;AApCN,CAoCM,CAAC;AAtCE,QAAA,sBAAsB,0BAsCxB"}
1
+ {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAIvC,IAAM,sBAAsB,GAC/B,UACI,MAGC;IAEL,OAAA,UAAC,GAAmB;QACpB,OAAA,UAAC,KAAoB;YACjB,OAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;gBACpB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAM,SAAS,GACX,IAAI,KAAK,IAAI;oBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACrC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC;wBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACvC,CAAC;gBAEZ,OAAO;oBACH,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,IAAI,EAAE,IAAI,CAAC,KAAK;oBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CACtB,SAAS,EACT,IAAI,CAAC,KAAK,EACV;wBACI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;wBACrC,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,QAAQ;wBACd,OAAO,EACH,IAAI,KAAK,IAAI;4BACT,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;4BACjC,CAAC,CAAC,YAAY;qBACzB,EACD,IAAI,CAAC,IAAI,CACZ;iBACJ,CAAC;YACN,CAAC,CAAC;QAlCF,CAkCE;IAnCN,CAmCM;AApCN,CAoCM,CAAC;AA3CE,QAAA,sBAAsB,0BA2CxB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.prune_object_properties = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var StatementFactory_1 = require("../../factories/StatementFactory");
9
+ var metadata_to_pattern_1 = require("./metadata_to_pattern");
10
+ var prune_object_properties = function (obj) {
11
+ var input = typescript_1.default.factory.createIdentifier("input");
12
+ var key = typescript_1.default.factory.createIdentifier("key");
13
+ var condition = obj.properties.map(function (prop) {
14
+ var name = prop.key.getSoleLiteral();
15
+ if (name !== null)
16
+ return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(name), typescript_1.default.factory.createIdentifier("key"));
17
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, metadata_to_pattern_1.metadata_to_pattern)(true)(prop.key), "/).test")), undefined, [key]);
18
+ });
19
+ var statements = [];
20
+ if (condition.length)
21
+ statements.push(typescript_1.default.factory.createIfStatement(condition.reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }), typescript_1.default.factory.createContinueStatement()));
22
+ statements.push(typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createDeleteExpression(typescript_1.default.factory.createElementAccessExpression(input, key))));
23
+ return typescript_1.default.factory.createForOfStatement(undefined, StatementFactory_1.StatementFactory.constant("key").declarationList, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.keys"), undefined, [input]), statements.length === 1
24
+ ? statements[0]
25
+ : typescript_1.default.factory.createBlock(statements, true));
26
+ };
27
+ exports.prune_object_properties = prune_object_properties;
28
+ //# sourceMappingURL=prune_object_properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune_object_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/prune_object_properties.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,qEAAoE;AAIpE,6DAA4D;AAKrD,IAAM,uBAAuB,GAAG,UAAC,GAAmB;IACvD,IAAM,KAAK,GAAkB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClE,IAAM,GAAG,GAAkB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9D,IAAM,SAAS,GAAoB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;QACvD,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,IAAI;YACb,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACrC,CAAC;QACN,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,IAAA,yCAAmB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAS,CAC1D,EACD,SAAS,EACT,CAAC,GAAG,CAAC,CACR,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAM,UAAU,GAAmB,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM;QAChB,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,SAAS,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAhC,CAAgC,CAAC,EAC5D,oBAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,CACvC,CACJ,CAAC;IACN,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,GAAG,CAAC,CACvD,CACJ,CACJ,CAAC;IAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,SAAS,EACT,mCAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,EAChD,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC1C,SAAS,EACT,CAAC,KAAK,CAAC,CACV,EACD,UAAU,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE;QAChB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CACjD,CAAC;AACN,CAAC,CAAC;AAhDW,QAAA,uBAAuB,2BAgDlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify_regular_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_regular_properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringify_regular_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_regular_properties.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CallExpressionTransformer = void 0;
7
7
  var path_1 = __importDefault(require("path"));
8
8
  var ApplicationTransformer_1 = require("./features/miscellaneous/ApplicationTransformer");
9
+ var CreatePruneTransformer_1 = require("./features/miscellaneous/CreatePruneTransformer");
9
10
  var MetadataTransformer_1 = require("./features/miscellaneous/MetadataTransformer");
11
+ var PruneTransformer_1 = require("./features/miscellaneous/PruneTransformer");
10
12
  var AssertParseTransformer_1 = require("./features/parsers/AssertParseTransformer");
11
13
  var CreateAssertParseTransformer_1 = require("./features/parsers/CreateAssertParseTransformer");
12
14
  var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransformer");
13
15
  var CreateValidateParseTransformer_1 = require("./features/parsers/CreateValidateParseTransformer");
14
16
  var IsParseTransformer_1 = require("./features/parsers/IsParseTransformer");
15
17
  var ValidateParseTransformer_1 = require("./features/parsers/ValidateParseTransformer");
16
- var MessageTransformer_1 = require("./features/protocols/MessageTransformer");
17
18
  var AssertStringifyTransformer_1 = require("./features/stringifiers/AssertStringifyTransformer");
18
19
  var CreateAssertStringifyTransformer_1 = require("./features/stringifiers/CreateAssertStringifyTransformer");
19
20
  var CreateIsStringifyTransformer_1 = require("./features/stringifiers/CreateIsStringifyTransformer");
@@ -56,8 +57,6 @@ var FUNCTORS = {
56
57
  assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
57
58
  equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
58
59
  validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
59
- message: function () { return MessageTransformer_1.MessageTransformer.transform; },
60
- application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
61
60
  isParse: function () { return IsParseTransformer_1.IsParseTransformer.transform; },
62
61
  assertParse: function () { return AssertParseTransformer_1.AssertParseTransformer.transform; },
63
62
  validateParse: function () { return ValidateParseTransformer_1.ValidateParseTransformer.transform; },
@@ -65,7 +64,9 @@ var FUNCTORS = {
65
64
  assertStringify: function () { return AssertStringifyTransformer_1.AssertStringifyTransformer.transform; },
66
65
  isStringify: function () { return IsStringifyTransformer_1.IsStringifyTransformer.transform; },
67
66
  validateStringify: function () { return ValidateStringifyTransformer_1.ValidateStringifyTransformer.transform; },
67
+ application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
68
68
  metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
69
+ prune: function () { return PruneTransformer_1.PruneTransformer.transform; },
69
70
  createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
70
71
  createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
71
72
  createIs: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(false); },
@@ -80,5 +81,6 @@ var FUNCTORS = {
80
81
  createAssertStringify: function () { return CreateAssertStringifyTransformer_1.CreateAssertStringifyTransformer.transform; },
81
82
  createIsStringify: function () { return CreateIsStringifyTransformer_1.CreateIsStringifyTransformer.transform; },
82
83
  createValidateStringify: function () { return CreateValidateStringifyProgrammer_1.CreateValidateStringifyTransformer.transform; },
84
+ createPrune: function () { return CreatePruneTransformer_1.CreatePruneTransformer.transform; },
83
85
  };
84
86
  //# sourceMappingURL=CallExpressionTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
@@ -42,4 +42,18 @@ export interface ITransformOptions {
42
42
  * @default false
43
43
  */
44
44
  functional?: boolean;
45
+ /**
46
+ * Whether to check undefined value or not.
47
+ *
48
+ * JavaScript can assign `undefined` value to a specific property and it is an
49
+ * issue when validating without allowing superfluous properties. Should undefined
50
+ * value assigned superfluous property be allowed or not?
51
+ *
52
+ * Note that, this option only works on {@link equals} function. Other function
53
+ * like {@link assertEquals} or {@link validateEquals} would ignore this option
54
+ * value and always allow the `undefined` value.
55
+ *
56
+ * @default true
57
+ */
58
+ undefined?: boolean;
45
59
  }
@@ -32,7 +32,9 @@ var ApplicationTransformer;
32
32
  ? "#/components/schemas"
33
33
  : "components#/schemas";
34
34
  });
35
- var collection = new MetadataCollection_1.MetadataCollection();
35
+ var collection = new MetadataCollection_1.MetadataCollection({
36
+ replace: MetadataCollection_1.MetadataCollection.replace,
37
+ });
36
38
  var metadatas = types.map(function (type) {
37
39
  return MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
38
40
  resolve: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace CreatePruneTransformer {
4
+ function transform(project: IProject, modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreatePruneTransformer = void 0;
4
+ var PruneProgrammer_1 = require("../../../programmers/PruneProgrammer");
5
+ var CreatePruneTransformer;
6
+ (function (CreatePruneTransformer) {
7
+ function transform(project, modulo, expression) {
8
+ if (!expression.typeArguments || !expression.typeArguments[0])
9
+ throw new Error("Error on typia.prune(): generic argument is not specified.");
10
+ var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
11
+ if (type.isTypeParameter())
12
+ throw new Error("Error on typia.prune(): non-specified generic argument.");
13
+ return PruneProgrammer_1.PruneProgrammer.generate(project, modulo)(type);
14
+ }
15
+ CreatePruneTransformer.transform = transform;
16
+ })(CreatePruneTransformer = exports.CreatePruneTransformer || (exports.CreatePruneTransformer = {}));
17
+ //# sourceMappingURL=CreatePruneTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreatePruneTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/CreatePruneTransformer.ts"],"names":[],"mappings":";;;AAEA,wEAAuE;AAIvE,IAAiB,sBAAsB,CAmBtC;AAnBD,WAAiB,sBAAsB;IACnC,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;QAG7B,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,8DAA6B,CAAC;QAGjD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACrD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,2DAAgC,CAAC;QAEpD,OAAO,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAjBe,gCAAS,YAiBxB,CAAA;AACL,CAAC,EAnBgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAmBtC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace PruneTransformer {
4
+ function transform(project: IProject, modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PruneTransformer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var PruneProgrammer_1 = require("../../../programmers/PruneProgrammer");
20
+ var PruneTransformer;
21
+ (function (PruneTransformer) {
22
+ function transform(project, modulo, expression) {
23
+ if (expression.arguments.length !== 1)
24
+ throw new Error("Error on typia.prune(): no input value.");
25
+ var type = expression.typeArguments && expression.typeArguments[0]
26
+ ? project.checker.getTypeFromTypeNode(expression.typeArguments[0])
27
+ : project.checker.getTypeAtLocation(expression.arguments[0]);
28
+ if (type.isTypeParameter())
29
+ throw new Error("Error on typia.prune(): non-specified generic argument.");
30
+ return typescript_1.default.factory.createCallExpression(PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type), undefined, [expression.arguments[0]]);
31
+ }
32
+ PruneTransformer.transform = transform;
33
+ })(PruneTransformer = exports.PruneTransformer || (exports.PruneTransformer = {}));
34
+ //# sourceMappingURL=PruneTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PruneTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/PruneTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,wEAAuE;AAIvE,IAAiB,gBAAgB,CAkChC;AAlCD,WAAiB,gBAAgB;IAC7B,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;QAE7B,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,MAAM,IAAI,KAAK,2CAA8B,CAAC;QAElD,IAAM,IAAI,GACN,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC/B,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B;YACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,2DAAgC,CAAC;QAEpD,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,EACP,SAAS,EACT,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAC7B,CAAC;IACN,CAAC;IAhCe,0BAAS,YAgCxB,CAAA;AACL,CAAC,EAlCgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAkChC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.5.0-dev.20230125",
4
- "description": "Runtime type checkers and 5x faster JSON.stringify() function",
3
+ "version": "3.5.0-dev.20230211",
4
+ "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "bin": {
@@ -24,7 +24,8 @@
24
24
  "prettier": "prettier --write ./**/*.ts",
25
25
  "test": "node bin/test",
26
26
  "test:generate": "ts-node -P tsconfig.test.json build/test.ts",
27
- "test:manual": "node test/manual"
27
+ "test:manual": "node test/manual",
28
+ "test:application:replace": "node test/features/application/replace && npm run prettier"
28
29
  },
29
30
  "repository": {
30
31
  "type": "git",
@@ -67,6 +68,7 @@
67
68
  "devDependencies": {
68
69
  "@fastify/type-provider-typebox": "^2.3.0",
69
70
  "@trivago/prettier-plugin-sort-imports": "^3.3.0",
71
+ "@typegoose/typegoose": "^10.1.1",
70
72
  "@types/autocannon": "^7.9.0",
71
73
  "@types/benchmark": "^2.1.2",
72
74
  "@types/cli": "^0.11.20",
@@ -101,7 +103,6 @@
101
103
  "source-map-support": "^0.5.21",
102
104
  "suppress-warnings": "^1.0.2",
103
105
  "ts-node": "^10.9.1",
104
- "ts-proto": "^1.138.0",
105
106
  "ttypescript": "^1.5.15",
106
107
  "typescript": "^4.9.4",
107
108
  "uuid": "^8.3.2",
@@ -14,7 +14,9 @@ export class MetadataCollection {
14
14
  private readonly unions_: Map<string, MetadataObject[]>;
15
15
  private index_: number;
16
16
 
17
- public constructor() {
17
+ public constructor(
18
+ private readonly options?: Partial<MetadataCollection.IOptions>,
19
+ ) {
18
20
  this.dict_ = new Map();
19
21
  this.names_ = new Map();
20
22
  this.unions_ = new Map();
@@ -65,7 +67,11 @@ export class MetadataCollection {
65
67
  }
66
68
 
67
69
  private get_name(checker: ts.TypeChecker, type: ts.Type): string {
68
- const name: string = TypeFactory.getFullName(checker, type);
70
+ const name: string = (() => {
71
+ const str: string = TypeFactory.getFullName(checker, type);
72
+ return this.options?.replace ? this.options.replace(str) : str;
73
+ })();
74
+
69
75
  const duplicates: Map<ts.Type, string> = MapUtil.take(
70
76
  this.names_,
71
77
  name,
@@ -81,3 +87,36 @@ export class MetadataCollection {
81
87
  return addicted;
82
88
  }
83
89
  }
90
+ export namespace MetadataCollection {
91
+ export interface IOptions {
92
+ replace?(str: string): string;
93
+ }
94
+
95
+ export function replace(str: string): string {
96
+ for (const [before, after] of REPLACERS)
97
+ str = str.split(before).join(after);
98
+ return str;
99
+ }
100
+
101
+ export function escape(str: string): string {
102
+ for (const [before, after] of REPLACERS)
103
+ if (after !== "") str = str.split(after).join(before);
104
+ return str;
105
+ }
106
+ }
107
+ const REPLACERS: [string, string][] = [
108
+ ["$", "_dollar_"],
109
+ ["&", "_and_"],
110
+ ["|", "_or_"],
111
+ ["{", "_blt_"],
112
+ ["}", "_bgt_"],
113
+ ["<", "_lt_"],
114
+ [">", "_gt_"],
115
+ ["[", "_alt_"],
116
+ ["]", "_agt_"],
117
+ [",", "_comma_"],
118
+ ["`", "_backquote_"],
119
+ ["'", "_singlequote_"],
120
+ ['"', "_doublequote_"],
121
+ [" ", "_space_"],
122
+ ];
@@ -18,10 +18,6 @@ export const iterate_metadata_native =
18
18
 
19
19
  const simple = SIMPLES.get(name);
20
20
  if (simple && validator(simple)) {
21
- if (FORBIDDEN.has(name))
22
- throw new Error(
23
- `Error on typia.metadata(): typia does not allow "${name}" class type. Use "${name.toLowerCase()}" type instead.`,
24
- );
25
21
  ArrayUtil.set(meta.natives, name, (str) => str);
26
22
  return true;
27
23
  }
@@ -210,7 +206,6 @@ const GENERICS: Array<IClassInfo & { name: string }> = [
210
206
  return: "boolean",
211
207
  })),
212
208
  }));
213
- const FORBIDDEN: Set<string> = new Set(["Bolean", "Number", "String"]);
214
209
 
215
210
  interface IClassInfo {
216
211
  name?: string;
@@ -0,0 +1,7 @@
1
+ export function $is_between(
2
+ value: number,
3
+ minimum: number,
4
+ maximum: number,
5
+ ): boolean {
6
+ return minimum <= value && value <= maximum;
7
+ }
@@ -10,16 +10,14 @@ export type IMetadataTag =
10
10
  | IMetadataTag.IMinLength
11
11
  | IMetadataTag.IMaxLength
12
12
  // NUMBER
13
- | IMetadataTag.INumberType
13
+ | IMetadataTag.IType
14
14
  | IMetadataTag.IRange
15
15
  | IMetadataTag.IMinimum
16
16
  | IMetadataTag.IMaximum
17
17
  | IMetadataTag.IExclusiveMinimum
18
18
  | IMetadataTag.IExclusiveMaximum
19
19
  | IMetadataTag.IMultipleOf
20
- | IMetadataTag.IStep
21
- // BIGINT
22
- | IMetadataTag.IBigintType;
20
+ | IMetadataTag.IStep;
23
21
 
24
22
  export namespace IMetadataTag {
25
23
  /* -----------------------------------------------------------
@@ -73,17 +71,9 @@ export namespace IMetadataTag {
73
71
  /* -----------------------------------------------------------
74
72
  NUMBER
75
73
  ----------------------------------------------------------- */
76
- export interface INumberType {
74
+ export interface IType {
77
75
  kind: "type";
78
- value:
79
- | "int"
80
- | "uint"
81
- | "int32"
82
- | "uint32"
83
- | "int64"
84
- | "uint64"
85
- | "float"
86
- | "double";
76
+ value: "int" | "uint";
87
77
  }
88
78
 
89
79
  export interface IRange {
@@ -125,11 +115,6 @@ export namespace IMetadataTag {
125
115
  /* -----------------------------------------------------------
126
116
  MISCELLANEOUS
127
117
  ----------------------------------------------------------- */
128
- export interface IBigintType {
129
- kind: "type";
130
- value: "int64" | "uint64";
131
- }
132
-
133
118
  export interface ISign {
134
119
  include: boolean;
135
120
  value: number;