typia 5.1.6-dev.20231005 → 5.2.0-dev.20231007

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 (222) hide show
  1. package/lib/CamelCase.d.ts +22 -0
  2. package/lib/CamelCase.js +3 -0
  3. package/lib/CamelCase.js.map +1 -0
  4. package/lib/PascalCase.d.ts +22 -0
  5. package/lib/PascalCase.js +3 -0
  6. package/lib/PascalCase.js.map +1 -0
  7. package/lib/Resolved.d.ts +4 -4
  8. package/lib/SnakeCase.d.ts +24 -0
  9. package/lib/SnakeCase.js +3 -0
  10. package/lib/SnakeCase.js.map +1 -0
  11. package/lib/functional/$convention.d.ts +1 -0
  12. package/lib/functional/$convention.js +63 -0
  13. package/lib/functional/$convention.js.map +1 -0
  14. package/lib/functional/Namespace.js +9 -0
  15. package/lib/functional/Namespace.js.map +1 -1
  16. package/lib/module.d.ts +5 -1
  17. package/lib/module.js +6 -2
  18. package/lib/module.js.map +1 -1
  19. package/lib/notations.d.ts +538 -0
  20. package/lib/notations.js +146 -0
  21. package/lib/notations.js.map +1 -0
  22. package/lib/programmers/helpers/NotationJoiner.d.ts +7 -0
  23. package/lib/programmers/helpers/NotationJoiner.js +85 -0
  24. package/lib/programmers/helpers/NotationJoiner.js.map +1 -0
  25. package/lib/programmers/misc/MiscCloneProgrammer.js +12 -1
  26. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  27. package/lib/programmers/misc/MiscPruneProgrammer.js +2 -1
  28. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  29. package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +5 -0
  30. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +44 -0
  31. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -0
  32. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +6 -0
  33. package/lib/programmers/notations/NotationGeneralProgrammer.js +490 -0
  34. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -0
  35. package/lib/programmers/notations/NotationIsGeneralProgrammer.d.ts +5 -0
  36. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +47 -0
  37. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -0
  38. package/lib/programmers/notations/NotationValidateGeneralProgrammer.d.ts +5 -0
  39. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +44 -0
  40. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -0
  41. package/lib/transformers/CallExpressionTransformer.js +99 -16
  42. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  43. package/lib/transformers/features/json/JsonAssertParseTransformer.js +1 -1
  44. package/lib/transformers/features/json/JsonAssertParseTransformer.js.map +1 -1
  45. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js +1 -1
  46. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js.map +1 -1
  47. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js +1 -1
  48. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js.map +1 -1
  49. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js +1 -1
  50. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -1
  51. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js +1 -1
  52. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js.map +1 -1
  53. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js +1 -1
  54. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js.map +1 -1
  55. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js +1 -1
  56. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js.map +1 -1
  57. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js +1 -1
  58. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js.map +1 -1
  59. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js +1 -1
  60. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -1
  61. package/lib/transformers/features/json/JsonIsParseTransformer.js +1 -1
  62. package/lib/transformers/features/json/JsonIsParseTransformer.js.map +1 -1
  63. package/lib/transformers/features/json/JsonIsStringifyTransformer.js +1 -1
  64. package/lib/transformers/features/json/JsonIsStringifyTransformer.js.map +1 -1
  65. package/lib/transformers/features/json/JsonStringifyTransformer.js +1 -1
  66. package/lib/transformers/features/json/JsonStringifyTransformer.js.map +1 -1
  67. package/lib/transformers/features/json/JsonValidateParseTransformer.js +1 -1
  68. package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
  69. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +1 -1
  70. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
  71. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js +1 -1
  72. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js.map +1 -1
  73. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js +1 -1
  74. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js.map +1 -1
  75. package/lib/transformers/features/misc/MiscCloneTransformer.js +1 -1
  76. package/lib/transformers/features/misc/MiscCloneTransformer.js.map +1 -1
  77. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js +1 -1
  78. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -1
  79. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js +1 -1
  80. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -1
  81. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js +1 -1
  82. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js.map +1 -1
  83. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js +1 -1
  84. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js.map +1 -1
  85. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +1 -1
  86. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  87. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js +1 -1
  88. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js.map +1 -1
  89. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js +1 -1
  90. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -1
  91. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js +1 -1
  92. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -1
  93. package/lib/transformers/features/misc/MiscIsCloneTransformer.js +1 -1
  94. package/lib/transformers/features/misc/MiscIsCloneTransformer.js.map +1 -1
  95. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +1 -1
  96. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  97. package/lib/transformers/features/misc/MiscPruneTransformer.js +1 -1
  98. package/lib/transformers/features/misc/MiscPruneTransformer.js.map +1 -1
  99. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +1 -1
  100. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
  101. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +1 -1
  102. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
  103. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.d.ts +4 -0
  104. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js +15 -0
  105. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js.map +1 -0
  106. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.d.ts +4 -0
  107. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js +15 -0
  108. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -0
  109. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.d.ts +4 -0
  110. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js +15 -0
  111. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js.map +1 -0
  112. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.d.ts +4 -0
  113. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js +15 -0
  114. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -0
  115. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.d.ts +4 -0
  116. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js +15 -0
  117. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -0
  118. package/lib/transformers/features/notations/NotationGeneralTransformer.d.ts +4 -0
  119. package/lib/transformers/features/notations/NotationGeneralTransformer.js +14 -0
  120. package/lib/transformers/features/notations/NotationGeneralTransformer.js.map +1 -0
  121. package/lib/transformers/features/notations/NotationIsGeneralTransformer.d.ts +4 -0
  122. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js +15 -0
  123. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js.map +1 -0
  124. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.d.ts +4 -0
  125. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js +15 -0
  126. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js.map +1 -0
  127. package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.d.ts → ProtobufCreateAssertDecodeTransformer.d.ts} +1 -1
  128. package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.js → ProtobufCreateAssertDecodeTransformer.js} +6 -6
  129. package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.js.map → ProtobufCreateAssertDecodeTransformer.js.map} +1 -1
  130. package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.d.ts → ProtobufCreateAssertEncodeTransformer.d.ts} +1 -1
  131. package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.js → ProtobufCreateAssertEncodeTransformer.js} +6 -6
  132. package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.js.map → ProtobufCreateAssertEncodeTransformer.js.map} +1 -1
  133. package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.d.ts → ProtobufCreateDecodeTransformer.d.ts} +1 -1
  134. package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.js → ProtobufCreateDecodeTransformer.js} +6 -6
  135. package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.js.map → ProtobufCreateDecodeTransformer.js.map} +1 -1
  136. package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.d.ts → ProtobufCreateEncodeTransformer.d.ts} +1 -1
  137. package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.js → ProtobufCreateEncodeTransformer.js} +6 -6
  138. package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.js.map → ProtobufCreateEncodeTransformer.js.map} +1 -1
  139. package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.d.ts → ProtobufCreateIsDecodeTransformer.d.ts} +1 -1
  140. package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.js → ProtobufCreateIsDecodeTransformer.js} +6 -6
  141. package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.js.map → ProtobufCreateIsDecodeTransformer.js.map} +1 -1
  142. package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.d.ts → ProtobufCreateIsEncodeTransformer.d.ts} +1 -1
  143. package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.js → ProtobufCreateIsEncodeTransformer.js} +6 -6
  144. package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.js.map → ProtobufCreateIsEncodeTransformer.js.map} +1 -1
  145. package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.d.ts → ProtobufCreateValidateDecodeTransformer.d.ts} +1 -1
  146. package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.js → ProtobufCreateValidateDecodeTransformer.js} +6 -6
  147. package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.js.map → ProtobufCreateValidateDecodeTransformer.js.map} +1 -1
  148. package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.d.ts → ProtobufCreateValidateEncodeTransformer.d.ts} +1 -1
  149. package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.js → ProtobufCreateValidateEncodeTransformer.js} +6 -6
  150. package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.js.map → ProtobufCreateValidateEncodeTransformer.js.map} +1 -1
  151. package/lib/utils/NamingConvention.d.ts +5 -0
  152. package/lib/utils/NamingConvention.js +115 -0
  153. package/lib/utils/NamingConvention.js.map +1 -0
  154. package/lib/utils/StringUtil.d.ts +3 -0
  155. package/lib/utils/StringUtil.js +10 -0
  156. package/lib/utils/StringUtil.js.map +1 -0
  157. package/package.json +2 -1
  158. package/src/CamelCase.ts +116 -0
  159. package/src/PascalCase.ts +106 -0
  160. package/src/Primitive.ts +1 -1
  161. package/src/Resolved.ts +26 -26
  162. package/src/SnakeCase.ts +156 -0
  163. package/src/functional/$convention.ts +40 -0
  164. package/src/functional/Namespace.ts +22 -0
  165. package/src/module.ts +6 -1
  166. package/src/notations.ts +855 -0
  167. package/src/programmers/helpers/NotationJoiner.ts +146 -0
  168. package/src/programmers/misc/MiscCloneProgrammer.ts +17 -1
  169. package/src/programmers/misc/MiscPruneProgrammer.ts +4 -2
  170. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +72 -0
  171. package/src/programmers/notations/NotationGeneralProgrammer.ts +720 -0
  172. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +79 -0
  173. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +88 -0
  174. package/src/transformers/CallExpressionTransformer.ts +107 -16
  175. package/src/transformers/features/json/JsonAssertParseTransformer.ts +1 -1
  176. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +1 -1
  177. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +3 -1
  178. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +1 -1
  179. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +1 -1
  180. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +3 -1
  181. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +1 -1
  182. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +3 -1
  183. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +1 -1
  184. package/src/transformers/features/json/JsonIsParseTransformer.ts +1 -1
  185. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +1 -1
  186. package/src/transformers/features/json/JsonStringifyTransformer.ts +1 -1
  187. package/src/transformers/features/json/JsonValidateParseTransformer.ts +1 -1
  188. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +1 -1
  189. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +1 -1
  190. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +1 -1
  191. package/src/transformers/features/misc/MiscCloneTransformer.ts +1 -1
  192. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +3 -1
  193. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +3 -1
  194. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +1 -1
  195. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +1 -1
  196. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +1 -1
  197. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +1 -1
  198. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +3 -1
  199. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +3 -1
  200. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +1 -1
  201. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +1 -1
  202. package/src/transformers/features/misc/MiscPruneTransformer.ts +1 -1
  203. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +1 -1
  204. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +1 -1
  205. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -0
  206. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -0
  207. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -0
  208. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -0
  209. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +17 -0
  210. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -0
  211. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -0
  212. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +17 -0
  213. package/src/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.ts → ProtobufCreateAssertDecodeTransformer.ts} +1 -1
  214. package/src/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.ts → ProtobufCreateAssertEncodeTransformer.ts} +1 -1
  215. package/src/transformers/features/protobuf/{CreateProtobufDecodeTransformer.ts → ProtobufCreateDecodeTransformer.ts} +1 -1
  216. package/src/transformers/features/protobuf/{CreateProtobufEncodeTransformer.ts → ProtobufCreateEncodeTransformer.ts} +1 -1
  217. package/src/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.ts → ProtobufCreateIsDecodeTransformer.ts} +1 -1
  218. package/src/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.ts → ProtobufCreateIsEncodeTransformer.ts} +1 -1
  219. package/src/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.ts → ProtobufCreateValidateDecodeTransformer.ts} +1 -1
  220. package/src/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.ts → ProtobufCreateValidateEncodeTransformer.ts} +1 -1
  221. package/src/utils/NamingConvention.ts +91 -0
  222. package/src/utils/StringUtil.ts +4 -0
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreateProtobufValidateDecodeTransformer = void 0;
3
+ exports.ProtobufCreateValidateDecodeTransformer = void 0;
4
4
  var ProtobufValidateDecodeProgrammer_1 = require("../../../programmers/protobuf/ProtobufValidateDecodeProgrammer");
5
5
  var GenericTransformer_1 = require("../../internal/GenericTransformer");
6
- var CreateProtobufValidateDecodeTransformer;
7
- (function (CreateProtobufValidateDecodeTransformer) {
8
- CreateProtobufValidateDecodeTransformer.transform = GenericTransformer_1.GenericTransformer.factory("protobuf.createValidateDecode")(function (project) { return function (modulo) {
6
+ var ProtobufCreateValidateDecodeTransformer;
7
+ (function (ProtobufCreateValidateDecodeTransformer) {
8
+ ProtobufCreateValidateDecodeTransformer.transform = GenericTransformer_1.GenericTransformer.factory("protobuf.createValidateDecode")(function (project) { return function (modulo) {
9
9
  return ProtobufValidateDecodeProgrammer_1.ProtobufValidateDecodeProgrammer.write(project)(modulo);
10
10
  }; });
11
- })(CreateProtobufValidateDecodeTransformer || (exports.CreateProtobufValidateDecodeTransformer = CreateProtobufValidateDecodeTransformer = {}));
12
- //# sourceMappingURL=CreateProtobufValidateDecodeTransformer.js.map
11
+ })(ProtobufCreateValidateDecodeTransformer || (exports.ProtobufCreateValidateDecodeTransformer = ProtobufCreateValidateDecodeTransformer = {}));
12
+ //# sourceMappingURL=ProtobufCreateValidateDecodeTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProtobufValidateDecodeTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.ts"],"names":[],"mappings":";;;AAAA,mHAAkH;AAElH,wEAAuE;AAEvE,IAAiB,uCAAuC,CAOvD;AAPD,WAAiB,uCAAuC;IACvC,iDAAS,GAAG,uCAAkB,CAAC,OAAO,CAC/C,+BAA+B,CAClC,CACG,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM;QAChB,OAAA,mEAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAAvD,CAAuD,EAD9C,CAC8C,CAC9D,CAAC;AACN,CAAC,EAPgB,uCAAuC,uDAAvC,uCAAuC,QAOvD"}
1
+ {"version":3,"file":"ProtobufCreateValidateDecodeTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts"],"names":[],"mappings":";;;AAAA,mHAAkH;AAElH,wEAAuE;AAEvE,IAAiB,uCAAuC,CAOvD;AAPD,WAAiB,uCAAuC;IACvC,iDAAS,GAAG,uCAAkB,CAAC,OAAO,CAC/C,+BAA+B,CAClC,CACG,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM;QAChB,OAAA,mEAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAAvD,CAAuD,EAD9C,CAC8C,CAC9D,CAAC;AACN,CAAC,EAPgB,uCAAuC,uDAAvC,uCAAuC,QAOvD"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="ts-expose-internals/typescript" />
2
- export declare namespace CreateProtobufValidateEncodeTransformer {
2
+ export declare namespace ProtobufCreateValidateEncodeTransformer {
3
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
4
4
  }
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreateProtobufValidateEncodeTransformer = void 0;
3
+ exports.ProtobufCreateValidateEncodeTransformer = void 0;
4
4
  var ProtobufValidateEncodeProgrammer_1 = require("../../../programmers/protobuf/ProtobufValidateEncodeProgrammer");
5
5
  var GenericTransformer_1 = require("../../internal/GenericTransformer");
6
- var CreateProtobufValidateEncodeTransformer;
7
- (function (CreateProtobufValidateEncodeTransformer) {
8
- CreateProtobufValidateEncodeTransformer.transform = GenericTransformer_1.GenericTransformer.factory("protobuf.createValidateEncode")(function (project) { return function (modulo) {
6
+ var ProtobufCreateValidateEncodeTransformer;
7
+ (function (ProtobufCreateValidateEncodeTransformer) {
8
+ ProtobufCreateValidateEncodeTransformer.transform = GenericTransformer_1.GenericTransformer.factory("protobuf.createValidateEncode")(function (project) { return function (modulo) {
9
9
  return ProtobufValidateEncodeProgrammer_1.ProtobufValidateEncodeProgrammer.write(project)(modulo);
10
10
  }; });
11
- })(CreateProtobufValidateEncodeTransformer || (exports.CreateProtobufValidateEncodeTransformer = CreateProtobufValidateEncodeTransformer = {}));
12
- //# sourceMappingURL=CreateProtobufValidateEncodeTransformer.js.map
11
+ })(ProtobufCreateValidateEncodeTransformer || (exports.ProtobufCreateValidateEncodeTransformer = ProtobufCreateValidateEncodeTransformer = {}));
12
+ //# sourceMappingURL=ProtobufCreateValidateEncodeTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProtobufValidateEncodeTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.ts"],"names":[],"mappings":";;;AAAA,mHAAkH;AAElH,wEAAuE;AAEvE,IAAiB,uCAAuC,CAOvD;AAPD,WAAiB,uCAAuC;IACvC,iDAAS,GAAG,uCAAkB,CAAC,OAAO,CAC/C,+BAA+B,CAClC,CACG,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM;QAChB,OAAA,mEAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAAvD,CAAuD,EAD9C,CAC8C,CAC9D,CAAC;AACN,CAAC,EAPgB,uCAAuC,uDAAvC,uCAAuC,QAOvD"}
1
+ {"version":3,"file":"ProtobufCreateValidateEncodeTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts"],"names":[],"mappings":";;;AAAA,mHAAkH;AAElH,wEAAuE;AAEvE,IAAiB,uCAAuC,CAOvD;AAPD,WAAiB,uCAAuC;IACvC,iDAAS,GAAG,uCAAkB,CAAC,OAAO,CAC/C,+BAA+B,CAClC,CACG,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM;QAChB,OAAA,mEAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAAvD,CAAuD,EAD9C,CAC8C,CAC9D,CAAC;AACN,CAAC,EAPgB,uCAAuC,uDAAvC,uCAAuC,QAOvD"}
@@ -0,0 +1,5 @@
1
+ export declare namespace NamingConvention {
2
+ function snake(str: string): string;
3
+ function camel(str: string): string;
4
+ function pascal(str: string): string;
5
+ }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.NamingConvention = void 0;
20
+ var StringUtil_1 = require("./StringUtil");
21
+ var NamingConvention;
22
+ (function (NamingConvention) {
23
+ function snake(str) {
24
+ var indexes = [];
25
+ for (var i = 0; i < str.length; i++) {
26
+ var code = str.charCodeAt(i);
27
+ if (65 <= code && code <= 90)
28
+ indexes.push(i);
29
+ }
30
+ for (var i = indexes.length - 1; i > 0; --i) {
31
+ var now = indexes[i];
32
+ var prev = indexes[i - 1];
33
+ if (now - prev === 1)
34
+ indexes.splice(i, 1);
35
+ }
36
+ if (indexes.length !== 0 && indexes[0] === 0)
37
+ indexes.splice(0, 1);
38
+ if (indexes.length === 0)
39
+ return str.toLowerCase();
40
+ var ret = "";
41
+ for (var i = 0; i < indexes.length; i++) {
42
+ var first = i === 0 ? 0 : indexes[i - 1];
43
+ var last = indexes[i];
44
+ ret += str.substring(first, last).toLowerCase();
45
+ ret += "_";
46
+ }
47
+ ret += str.substring(indexes[indexes.length - 1]).toLowerCase();
48
+ return ret;
49
+ }
50
+ NamingConvention.snake = snake;
51
+ function camel(str) {
52
+ str = removeSnake(str);
53
+ if (str.length === 0)
54
+ return str;
55
+ else if (str[0] === str[0].toUpperCase())
56
+ return str[0].toLowerCase() + str.substring(1);
57
+ else if (str[0] === "_" &&
58
+ str.length > 1 &&
59
+ str[1] === str[1].toLowerCase())
60
+ return "_" + str[1].toUpperCase() + str.substring(2);
61
+ else
62
+ return str;
63
+ }
64
+ NamingConvention.camel = camel;
65
+ function pascal(str) {
66
+ str = removeSnake(str);
67
+ if (str.length === 0)
68
+ return str;
69
+ else if (str[0] === str[0].toLowerCase())
70
+ return str[0].toUpperCase() + str.substring(1);
71
+ else if (str[0] === "_" &&
72
+ str.length > 1 &&
73
+ str[1] === str[1].toLowerCase())
74
+ return "_" + str[1].toUpperCase() + str.substring(2);
75
+ else
76
+ return str;
77
+ }
78
+ NamingConvention.pascal = pascal;
79
+ var removeSnake = function (str) {
80
+ var indexes = [];
81
+ for (var i = 0; i < str.length; i++) {
82
+ var ch = str[i];
83
+ if (ch !== "_")
84
+ continue;
85
+ var last_1 = indexes[indexes.length - 1];
86
+ if (last_1 === undefined || last_1[0] + last_1[1] !== i)
87
+ indexes.push([i, 1]);
88
+ else
89
+ ++last_1[1];
90
+ }
91
+ if (indexes.length === 0)
92
+ return str;
93
+ var ret = "";
94
+ for (var i = 0; i < indexes.length; i++) {
95
+ var _a = __read(indexes[i], 1), first = _a[0];
96
+ if (i === 0)
97
+ if (first === 0)
98
+ ret += "_";
99
+ else
100
+ ret += str.substring(0, first);
101
+ else {
102
+ var _b = __read(indexes[i - 1], 2), prevFirst = _b[0], prevLength = _b[1];
103
+ var piece_1 = str.substring(prevFirst + prevLength, first);
104
+ if (piece_1.length)
105
+ ret += StringUtil_1.StringUtil.capitalize(piece_1);
106
+ }
107
+ }
108
+ var last = indexes[indexes.length - 1];
109
+ var piece = str.substring(last[0] + last[1]);
110
+ if (last.length)
111
+ ret += StringUtil_1.StringUtil.capitalize(piece);
112
+ return ret;
113
+ };
114
+ })(NamingConvention || (exports.NamingConvention = NamingConvention = {}));
115
+ //# sourceMappingURL=NamingConvention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamingConvention.js","sourceRoot":"","sources":["../../src/utils/NamingConvention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare namespace StringUtil {
2
+ const capitalize: (str: string) => string;
3
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringUtil = void 0;
4
+ var StringUtil;
5
+ (function (StringUtil) {
6
+ StringUtil.capitalize = function (str) {
7
+ return str.length ? str[0].toUpperCase() + str.slice(1) : str;
8
+ };
9
+ })(StringUtil || (exports.StringUtil = StringUtil = {}));
10
+ //# sourceMappingURL=StringUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,CAG1B;AAHD,WAAiB,UAAU;IACV,qBAAU,GAAG,UAAC,GAAW;QAClC,OAAA,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAvD,CAAuD,CAAC;AAChE,CAAC,EAHgB,UAAU,0BAAV,UAAU,QAG1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.1.6-dev.20231005",
3
+ "version": "5.2.0-dev.20231007",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -85,6 +85,7 @@
85
85
  },
86
86
  "devDependencies": {
87
87
  "@fastify/type-provider-typebox": "^3.5.0",
88
+ "@sinclair/typebox": "^0.31.17",
88
89
  "@trivago/prettier-plugin-sort-imports": "^3.3.0",
89
90
  "@typegoose/typegoose": "^10.1.1",
90
91
  "@types/autocannon": "^7.9.0",
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Camel case type.
3
+ *
4
+ * `CamelCase` type is a type that all keys of an object are camelized.
5
+ *
6
+ * It also erase every method properties like {@link Resolved} type.
7
+ *
8
+ * @template T Target type to be camelized
9
+ * @author Jeongho Nam - https://github.com/samchon
10
+ */
11
+ export type CamelCase<T> = Equal<T, CamelizeMain<T>> extends true
12
+ ? T
13
+ : CamelizeMain<T>;
14
+
15
+ /* -----------------------------------------------------------
16
+ OBJECT CONVERSION
17
+ ----------------------------------------------------------- */
18
+ type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
19
+
20
+ type CamelizeMain<T> = T extends [never]
21
+ ? never // special trick for (jsonable | null) type
22
+ : T extends { valueOf(): boolean | bigint | number | string }
23
+ ? ValueOf<T>
24
+ : T extends Function
25
+ ? never
26
+ : T extends object
27
+ ? CamelizeObject<T>
28
+ : T;
29
+
30
+ type CamelizeObject<T extends object> = T extends Array<infer U>
31
+ ? IsTuple<T> extends true
32
+ ? CamelizeTuple<T>
33
+ : CamelizeMain<U>[]
34
+ : T extends Set<infer U>
35
+ ? Set<CamelizeMain<U>>
36
+ : T extends Map<infer K, infer V>
37
+ ? Map<CamelizeMain<K>, CamelizeMain<V>>
38
+ : T extends WeakSet<any> | WeakMap<any, any>
39
+ ? never
40
+ : T extends
41
+ | Date
42
+ | Uint8Array
43
+ | Uint8ClampedArray
44
+ | Uint16Array
45
+ | Uint32Array
46
+ | BigUint64Array
47
+ | Int8Array
48
+ | Int16Array
49
+ | Int32Array
50
+ | BigInt64Array
51
+ | Float32Array
52
+ | Float64Array
53
+ | ArrayBuffer
54
+ | SharedArrayBuffer
55
+ | DataView
56
+ ? T
57
+ : {
58
+ [Key in keyof T as CamelizeString<Key & string>]: CamelizeMain<
59
+ T[Key]
60
+ >;
61
+ };
62
+
63
+ /* -----------------------------------------------------------
64
+ SPECIAL CASES
65
+ ----------------------------------------------------------- */
66
+ type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
67
+ never,
68
+ ]
69
+ ? false
70
+ : T extends readonly any[]
71
+ ? number extends T["length"]
72
+ ? false
73
+ : true
74
+ : false;
75
+ type CamelizeTuple<T extends readonly any[]> = T extends []
76
+ ? []
77
+ : T extends [infer F]
78
+ ? [CamelizeMain<F>]
79
+ : T extends [infer F, ...infer Rest extends readonly any[]]
80
+ ? [CamelizeMain<F>, ...CamelizeTuple<Rest>]
81
+ : T extends [(infer F)?]
82
+ ? [CamelizeMain<F>?]
83
+ : T extends [(infer F)?, ...infer Rest extends readonly any[]]
84
+ ? [CamelizeMain<F>?, ...CamelizeTuple<Rest>]
85
+ : [];
86
+
87
+ type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
88
+ ? boolean
89
+ : IsValueOf<Instance, Number> extends true
90
+ ? number
91
+ : IsValueOf<Instance, String> extends true
92
+ ? string
93
+ : Instance;
94
+
95
+ type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
96
+ ? Object extends IValueOf<infer Primitive>
97
+ ? Instance extends Primitive
98
+ ? false
99
+ : true // not Primitive, but Object
100
+ : false // cannot be
101
+ : false;
102
+
103
+ interface IValueOf<T> {
104
+ valueOf(): T;
105
+ }
106
+
107
+ /* -----------------------------------------------------------
108
+ STRING CONVERTER
109
+ ----------------------------------------------------------- */
110
+ type CamelizeString<Key extends string> = Key extends `${infer F}${infer R}`
111
+ ? `${Lowercase<F>}${CamelizeStringRepeatedly<R>}`
112
+ : Key;
113
+ type CamelizeStringRepeatedly<Key extends string> =
114
+ Key extends `${infer F}_${infer R}`
115
+ ? `${F}${Capitalize<CamelizeStringRepeatedly<R>>}`
116
+ : Key;
@@ -0,0 +1,106 @@
1
+ export type PascalCase<T> = Equal<T, PascalizeMain<T>> extends true
2
+ ? T
3
+ : PascalizeMain<T>;
4
+
5
+ /* -----------------------------------------------------------
6
+ OBJECT CONVERSION
7
+ ----------------------------------------------------------- */
8
+ type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
9
+
10
+ type PascalizeMain<T> = T extends [never]
11
+ ? never // special trick for (jsonable | null) type
12
+ : T extends { valueOf(): boolean | bigint | number | string }
13
+ ? ValueOf<T>
14
+ : T extends Function
15
+ ? never
16
+ : T extends object
17
+ ? PascalizeObject<T>
18
+ : T;
19
+
20
+ type PascalizeObject<T extends object> = T extends Array<infer U>
21
+ ? IsTuple<T> extends true
22
+ ? PascalizeTuple<T>
23
+ : PascalizeMain<U>[]
24
+ : T extends Set<infer U>
25
+ ? Set<PascalizeMain<U>>
26
+ : T extends Map<infer K, infer V>
27
+ ? Map<PascalizeMain<K>, PascalizeMain<V>>
28
+ : T extends WeakSet<any> | WeakMap<any, any>
29
+ ? never
30
+ : T extends
31
+ | Date
32
+ | Uint8Array
33
+ | Uint8ClampedArray
34
+ | Uint16Array
35
+ | Uint32Array
36
+ | BigUint64Array
37
+ | Int8Array
38
+ | Int16Array
39
+ | Int32Array
40
+ | BigInt64Array
41
+ | Float32Array
42
+ | Float64Array
43
+ | ArrayBuffer
44
+ | SharedArrayBuffer
45
+ | DataView
46
+ ? T
47
+ : {
48
+ [Key in keyof T as PascalizeString<Key & string>]: PascalizeMain<
49
+ T[Key]
50
+ >;
51
+ };
52
+
53
+ /* -----------------------------------------------------------
54
+ SPECIAL CASES
55
+ ----------------------------------------------------------- */
56
+ type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
57
+ never,
58
+ ]
59
+ ? false
60
+ : T extends readonly any[]
61
+ ? number extends T["length"]
62
+ ? false
63
+ : true
64
+ : false;
65
+ type PascalizeTuple<T extends readonly any[]> = T extends []
66
+ ? []
67
+ : T extends [infer F]
68
+ ? [PascalizeMain<F>]
69
+ : T extends [infer F, ...infer Rest extends readonly any[]]
70
+ ? [PascalizeMain<F>, ...PascalizeTuple<Rest>]
71
+ : T extends [(infer F)?]
72
+ ? [PascalizeMain<F>?]
73
+ : T extends [(infer F)?, ...infer Rest extends readonly any[]]
74
+ ? [PascalizeMain<F>?, ...PascalizeTuple<Rest>]
75
+ : [];
76
+
77
+ type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
78
+ ? boolean
79
+ : IsValueOf<Instance, Number> extends true
80
+ ? number
81
+ : IsValueOf<Instance, String> extends true
82
+ ? string
83
+ : Instance;
84
+
85
+ type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
86
+ ? Object extends IValueOf<infer Primitive>
87
+ ? Instance extends Primitive
88
+ ? false
89
+ : true // not Primitive, but Object
90
+ : false // cannot be
91
+ : false;
92
+
93
+ interface IValueOf<T> {
94
+ valueOf(): T;
95
+ }
96
+
97
+ /* -----------------------------------------------------------
98
+ STRING CONVERTER
99
+ ----------------------------------------------------------- */
100
+ type PascalizeString<Key extends string> = Key extends `${infer F}${infer R}`
101
+ ? `${Uppercase<F>}${PascalizeStringRepeatedly<R>}`
102
+ : Key;
103
+ type PascalizeStringRepeatedly<Key extends string> =
104
+ Key extends `${infer F}_${infer R}`
105
+ ? `${F}${Capitalize<PascalizeStringRepeatedly<R>>}`
106
+ : Key;
package/src/Primitive.ts CHANGED
@@ -27,7 +27,7 @@
27
27
  * Native Class | `{}`
28
28
  * Others | No change
29
29
  *
30
- * @template Instance Target argument type.
30
+ * @template T Target argument type.
31
31
  * @author Jeongho Nam - https://github.com/samchon
32
32
  * @author Kyungsu Kang - https://github.com/kakasoo
33
33
  * @author Michael - https://github.com/8471919
package/src/Resolved.ts CHANGED
@@ -22,7 +22,7 @@
22
22
  * `Class` | `interface`
23
23
  * Native Class or Others | No change
24
24
  *
25
- * @template Instance Target argument type.
25
+ * @template T Target argument type.
26
26
  * @author Jeongho Nam - https://github.com/samchon
27
27
  * @author Kyungsu Kang - https://github.com/kakasoo
28
28
  */
@@ -32,27 +32,27 @@ export type Resolved<T> = Equal<T, ResolvedMain<T>> extends true
32
32
 
33
33
  type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
34
34
 
35
- type ResolvedMain<Instance> = Instance extends [never]
35
+ type ResolvedMain<T> = T extends [never]
36
36
  ? never // (special trick for jsonable | null) type
37
- : ValueOf<Instance> extends boolean | number | bigint | string
38
- ? ValueOf<Instance>
39
- : Instance extends Function
37
+ : ValueOf<T> extends boolean | number | bigint | string
38
+ ? ValueOf<T>
39
+ : T extends Function
40
40
  ? never
41
- : Instance extends object
42
- ? ResolvedObject<Instance>
43
- : ValueOf<Instance>;
41
+ : T extends object
42
+ ? ResolvedObject<T>
43
+ : ValueOf<T>;
44
44
 
45
- type ResolvedObject<Instance extends object> = Instance extends Array<infer T>
46
- ? IsTuple<Instance> extends true
47
- ? ResolvedTuple<Instance>
48
- : ResolvedMain<T>[]
49
- : Instance extends Set<infer U>
45
+ type ResolvedObject<T extends object> = T extends Array<infer U>
46
+ ? IsTuple<T> extends true
47
+ ? ResolvedTuple<T>
48
+ : ResolvedMain<U>[]
49
+ : T extends Set<infer U>
50
50
  ? Set<ResolvedMain<U>>
51
- : Instance extends Map<infer K, infer V>
51
+ : T extends Map<infer K, infer V>
52
52
  ? Map<ResolvedMain<K>, ResolvedMain<V>>
53
- : Instance extends WeakSet<any> | WeakMap<any, any>
53
+ : T extends WeakSet<any> | WeakMap<any, any>
54
54
  ? never
55
- : Instance extends
55
+ : T extends
56
56
  | Date
57
57
  | Uint8Array
58
58
  | Uint8ClampedArray
@@ -68,9 +68,9 @@ type ResolvedObject<Instance extends object> = Instance extends Array<infer T>
68
68
  | ArrayBuffer
69
69
  | SharedArrayBuffer
70
70
  | DataView
71
- ? Instance
71
+ ? T
72
72
  : {
73
- [P in keyof Instance]: ResolvedMain<Instance[P]>;
73
+ [P in keyof T]: ResolvedMain<T[P]>;
74
74
  };
75
75
 
76
76
  type ResolvedTuple<T extends readonly any[]> = T extends []
@@ -85,14 +85,6 @@ type ResolvedTuple<T extends readonly any[]> = T extends []
85
85
  ? [ResolvedMain<F>?, ...ResolvedTuple<Rest>]
86
86
  : [];
87
87
 
88
- type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
89
- ? boolean
90
- : IsValueOf<Instance, Number> extends true
91
- ? number
92
- : IsValueOf<Instance, String> extends true
93
- ? string
94
- : Instance;
95
-
96
88
  type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
97
89
  never,
98
90
  ]
@@ -103,6 +95,14 @@ type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
103
95
  : true
104
96
  : false;
105
97
 
98
+ type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
99
+ ? boolean
100
+ : IsValueOf<Instance, Number> extends true
101
+ ? number
102
+ : IsValueOf<Instance, String> extends true
103
+ ? string
104
+ : Instance;
105
+
106
106
  type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
107
107
  ? Object extends IValueOf<infer Primitive>
108
108
  ? Instance extends Primitive