@mionjs/run-types 0.8.0-alpha.0

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 (430) hide show
  1. package/.dist/cjs/index.cjs +209 -0
  2. package/.dist/cjs/index.cjs.map +1 -0
  3. package/.dist/cjs/index.d.ts +60 -0
  4. package/.dist/cjs/package.json +1 -0
  5. package/.dist/cjs/src/constants.cjs +79 -0
  6. package/.dist/cjs/src/constants.cjs.map +1 -0
  7. package/.dist/cjs/src/constants.d.ts +7 -0
  8. package/.dist/cjs/src/constants.functions.cjs +181 -0
  9. package/.dist/cjs/src/constants.functions.cjs.map +1 -0
  10. package/.dist/cjs/src/constants.functions.d.ts +385 -0
  11. package/.dist/cjs/src/constants.kind.cjs +74 -0
  12. package/.dist/cjs/src/constants.kind.cjs.map +1 -0
  13. package/.dist/cjs/src/constants.kind.d.ts +21 -0
  14. package/.dist/cjs/src/createRunType.cjs +284 -0
  15. package/.dist/cjs/src/createRunType.cjs.map +1 -0
  16. package/.dist/cjs/src/createRunType.d.ts +5 -0
  17. package/.dist/cjs/src/createRunTypeFunctions.cjs +78 -0
  18. package/.dist/cjs/src/createRunTypeFunctions.cjs.map +1 -0
  19. package/.dist/cjs/src/createRunTypeFunctions.d.ts +12 -0
  20. package/.dist/cjs/src/formats.runtype.cjs +7 -0
  21. package/.dist/cjs/src/formats.runtype.cjs.map +1 -0
  22. package/.dist/cjs/src/formats.runtype.d.ts +6 -0
  23. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs +109 -0
  24. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs.map +1 -0
  25. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +30 -0
  26. package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs +383 -0
  27. package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs.map +1 -0
  28. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +7 -0
  29. package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs +338 -0
  30. package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs.map +1 -0
  31. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +7 -0
  32. package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs +37 -0
  33. package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs.map +1 -0
  34. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +4 -0
  35. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs +56 -0
  36. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs.map +1 -0
  37. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +27 -0
  38. package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs +399 -0
  39. package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs.map +1 -0
  40. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +10 -0
  41. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs +51 -0
  42. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs.map +1 -0
  43. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +27 -0
  44. package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs +123 -0
  45. package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs.map +1 -0
  46. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +5 -0
  47. package/.dist/cjs/src/lib/baseRunTypeFormat.cjs +200 -0
  48. package/.dist/cjs/src/lib/baseRunTypeFormat.cjs.map +1 -0
  49. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +50 -0
  50. package/.dist/cjs/src/lib/baseRunTypes.cjs +308 -0
  51. package/.dist/cjs/src/lib/baseRunTypes.cjs.map +1 -0
  52. package/.dist/cjs/src/lib/baseRunTypes.d.ts +75 -0
  53. package/.dist/cjs/src/lib/createJitFunction.cjs +60 -0
  54. package/.dist/cjs/src/lib/createJitFunction.cjs.map +1 -0
  55. package/.dist/cjs/src/lib/createJitFunction.d.ts +5 -0
  56. package/.dist/cjs/src/lib/dkProxy.cjs +23 -0
  57. package/.dist/cjs/src/lib/dkProxy.cjs.map +1 -0
  58. package/.dist/cjs/src/lib/dkProxy.d.ts +4 -0
  59. package/.dist/cjs/src/lib/formats.cjs +89 -0
  60. package/.dist/cjs/src/lib/formats.cjs.map +1 -0
  61. package/.dist/cjs/src/lib/formats.d.ts +18 -0
  62. package/.dist/cjs/src/lib/guards.cjs +243 -0
  63. package/.dist/cjs/src/lib/guards.cjs.map +1 -0
  64. package/.dist/cjs/src/lib/guards.d.ts +120 -0
  65. package/.dist/cjs/src/lib/jitFnCompiler.cjs +648 -0
  66. package/.dist/cjs/src/lib/jitFnCompiler.cjs.map +1 -0
  67. package/.dist/cjs/src/lib/jitFnCompiler.d.ts +109 -0
  68. package/.dist/cjs/src/lib/jitFnsRegistry.cjs +41 -0
  69. package/.dist/cjs/src/lib/jitFnsRegistry.cjs.map +1 -0
  70. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +6 -0
  71. package/.dist/cjs/src/lib/typeId.cjs +205 -0
  72. package/.dist/cjs/src/lib/typeId.cjs.map +1 -0
  73. package/.dist/cjs/src/lib/typeId.d.ts +6 -0
  74. package/.dist/cjs/src/lib/utils.cjs +325 -0
  75. package/.dist/cjs/src/lib/utils.cjs.map +1 -0
  76. package/.dist/cjs/src/lib/utils.d.ts +32 -0
  77. package/.dist/cjs/src/mocking/constants.mock.cjs +108 -0
  78. package/.dist/cjs/src/mocking/constants.mock.cjs.map +1 -0
  79. package/.dist/cjs/src/mocking/constants.mock.d.ts +85 -0
  80. package/.dist/cjs/src/mocking/mockRegistry.cjs +12 -0
  81. package/.dist/cjs/src/mocking/mockRegistry.cjs.map +1 -0
  82. package/.dist/cjs/src/mocking/mockRegistry.d.ts +3 -0
  83. package/.dist/cjs/src/mocking/mockType.cjs +310 -0
  84. package/.dist/cjs/src/mocking/mockType.cjs.map +1 -0
  85. package/.dist/cjs/src/mocking/mockType.d.ts +3 -0
  86. package/.dist/cjs/src/mocking/mockUtils.cjs +62 -0
  87. package/.dist/cjs/src/mocking/mockUtils.cjs.map +1 -0
  88. package/.dist/cjs/src/mocking/mockUtils.d.ts +15 -0
  89. package/.dist/cjs/src/nodes/atomic/any.cjs +18 -0
  90. package/.dist/cjs/src/nodes/atomic/any.cjs.map +1 -0
  91. package/.dist/cjs/src/nodes/atomic/any.d.ts +8 -0
  92. package/.dist/cjs/src/nodes/atomic/bigInt.cjs +20 -0
  93. package/.dist/cjs/src/nodes/atomic/bigInt.cjs.map +1 -0
  94. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +10 -0
  95. package/.dist/cjs/src/nodes/atomic/boolean.cjs +20 -0
  96. package/.dist/cjs/src/nodes/atomic/boolean.cjs.map +1 -0
  97. package/.dist/cjs/src/nodes/atomic/boolean.d.ts +10 -0
  98. package/.dist/cjs/src/nodes/atomic/date.cjs +20 -0
  99. package/.dist/cjs/src/nodes/atomic/date.cjs.map +1 -0
  100. package/.dist/cjs/src/nodes/atomic/date.d.ts +10 -0
  101. package/.dist/cjs/src/nodes/atomic/enum.cjs +22 -0
  102. package/.dist/cjs/src/nodes/atomic/enum.cjs.map +1 -0
  103. package/.dist/cjs/src/nodes/atomic/enum.d.ts +8 -0
  104. package/.dist/cjs/src/nodes/atomic/enumMember.cjs +24 -0
  105. package/.dist/cjs/src/nodes/atomic/enumMember.cjs.map +1 -0
  106. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +10 -0
  107. package/.dist/cjs/src/nodes/atomic/literal.cjs +126 -0
  108. package/.dist/cjs/src/nodes/atomic/literal.cjs.map +1 -0
  109. package/.dist/cjs/src/nodes/atomic/literal.d.ts +20 -0
  110. package/.dist/cjs/src/nodes/atomic/never.cjs +22 -0
  111. package/.dist/cjs/src/nodes/atomic/never.cjs.map +1 -0
  112. package/.dist/cjs/src/nodes/atomic/never.d.ts +10 -0
  113. package/.dist/cjs/src/nodes/atomic/null.cjs +20 -0
  114. package/.dist/cjs/src/nodes/atomic/null.cjs.map +1 -0
  115. package/.dist/cjs/src/nodes/atomic/null.d.ts +10 -0
  116. package/.dist/cjs/src/nodes/atomic/number.cjs +20 -0
  117. package/.dist/cjs/src/nodes/atomic/number.cjs.map +1 -0
  118. package/.dist/cjs/src/nodes/atomic/number.d.ts +10 -0
  119. package/.dist/cjs/src/nodes/atomic/object.cjs +14 -0
  120. package/.dist/cjs/src/nodes/atomic/object.cjs.map +1 -0
  121. package/.dist/cjs/src/nodes/atomic/object.d.ts +8 -0
  122. package/.dist/cjs/src/nodes/atomic/regexp.cjs +23 -0
  123. package/.dist/cjs/src/nodes/atomic/regexp.cjs.map +1 -0
  124. package/.dist/cjs/src/nodes/atomic/regexp.d.ts +10 -0
  125. package/.dist/cjs/src/nodes/atomic/string.cjs +14 -0
  126. package/.dist/cjs/src/nodes/atomic/string.cjs.map +1 -0
  127. package/.dist/cjs/src/nodes/atomic/string.d.ts +8 -0
  128. package/.dist/cjs/src/nodes/atomic/symbol.cjs +26 -0
  129. package/.dist/cjs/src/nodes/atomic/symbol.cjs.map +1 -0
  130. package/.dist/cjs/src/nodes/atomic/symbol.d.ts +11 -0
  131. package/.dist/cjs/src/nodes/atomic/undefined.cjs +17 -0
  132. package/.dist/cjs/src/nodes/atomic/undefined.cjs.map +1 -0
  133. package/.dist/cjs/src/nodes/atomic/undefined.d.ts +9 -0
  134. package/.dist/cjs/src/nodes/atomic/unknown.cjs +8 -0
  135. package/.dist/cjs/src/nodes/atomic/unknown.cjs.map +1 -0
  136. package/.dist/cjs/src/nodes/atomic/unknown.d.ts +3 -0
  137. package/.dist/cjs/src/nodes/atomic/void.cjs +20 -0
  138. package/.dist/cjs/src/nodes/atomic/void.cjs.map +1 -0
  139. package/.dist/cjs/src/nodes/atomic/void.d.ts +10 -0
  140. package/.dist/cjs/src/nodes/collection/class.cjs +38 -0
  141. package/.dist/cjs/src/nodes/collection/class.cjs.map +1 -0
  142. package/.dist/cjs/src/nodes/collection/class.d.ts +9 -0
  143. package/.dist/cjs/src/nodes/collection/functionParams.cjs +33 -0
  144. package/.dist/cjs/src/nodes/collection/functionParams.cjs.map +1 -0
  145. package/.dist/cjs/src/nodes/collection/functionParams.d.ts +9 -0
  146. package/.dist/cjs/src/nodes/collection/interface.cjs +221 -0
  147. package/.dist/cjs/src/nodes/collection/interface.cjs.map +1 -0
  148. package/.dist/cjs/src/nodes/collection/interface.d.ts +43 -0
  149. package/.dist/cjs/src/nodes/collection/intersection.cjs +21 -0
  150. package/.dist/cjs/src/nodes/collection/intersection.cjs.map +1 -0
  151. package/.dist/cjs/src/nodes/collection/intersection.d.ts +9 -0
  152. package/.dist/cjs/src/nodes/collection/tuple.cjs +74 -0
  153. package/.dist/cjs/src/nodes/collection/tuple.cjs.map +1 -0
  154. package/.dist/cjs/src/nodes/collection/tuple.d.ts +18 -0
  155. package/.dist/cjs/src/nodes/collection/union.cjs +162 -0
  156. package/.dist/cjs/src/nodes/collection/union.cjs.map +1 -0
  157. package/.dist/cjs/src/nodes/collection/union.d.ts +19 -0
  158. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs +198 -0
  159. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs.map +1 -0
  160. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +21 -0
  161. package/.dist/cjs/src/nodes/function/function.cjs +155 -0
  162. package/.dist/cjs/src/nodes/function/function.cjs.map +1 -0
  163. package/.dist/cjs/src/nodes/function/function.d.ts +33 -0
  164. package/.dist/cjs/src/nodes/member/array.cjs +154 -0
  165. package/.dist/cjs/src/nodes/member/array.cjs.map +1 -0
  166. package/.dist/cjs/src/nodes/member/array.d.ts +24 -0
  167. package/.dist/cjs/src/nodes/member/callSignature.cjs +40 -0
  168. package/.dist/cjs/src/nodes/member/callSignature.cjs.map +1 -0
  169. package/.dist/cjs/src/nodes/member/callSignature.d.ts +11 -0
  170. package/.dist/cjs/src/nodes/member/genericMember.cjs +68 -0
  171. package/.dist/cjs/src/nodes/member/genericMember.cjs.map +1 -0
  172. package/.dist/cjs/src/nodes/member/genericMember.d.ts +15 -0
  173. package/.dist/cjs/src/nodes/member/indexProperty.cjs +130 -0
  174. package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +1 -0
  175. package/.dist/cjs/src/nodes/member/indexProperty.d.ts +21 -0
  176. package/.dist/cjs/src/nodes/member/method.cjs +41 -0
  177. package/.dist/cjs/src/nodes/member/method.cjs.map +1 -0
  178. package/.dist/cjs/src/nodes/member/method.d.ts +11 -0
  179. package/.dist/cjs/src/nodes/member/methodSignature.cjs +44 -0
  180. package/.dist/cjs/src/nodes/member/methodSignature.cjs.map +1 -0
  181. package/.dist/cjs/src/nodes/member/methodSignature.d.ts +12 -0
  182. package/.dist/cjs/src/nodes/member/param.cjs +17 -0
  183. package/.dist/cjs/src/nodes/member/param.cjs.map +1 -0
  184. package/.dist/cjs/src/nodes/member/param.d.ts +8 -0
  185. package/.dist/cjs/src/nodes/member/property.cjs +85 -0
  186. package/.dist/cjs/src/nodes/member/property.cjs.map +1 -0
  187. package/.dist/cjs/src/nodes/member/property.d.ts +19 -0
  188. package/.dist/cjs/src/nodes/member/restParams.cjs +15 -0
  189. package/.dist/cjs/src/nodes/member/restParams.cjs.map +1 -0
  190. package/.dist/cjs/src/nodes/member/restParams.d.ts +7 -0
  191. package/.dist/cjs/src/nodes/member/tupleMember.cjs +93 -0
  192. package/.dist/cjs/src/nodes/member/tupleMember.cjs.map +1 -0
  193. package/.dist/cjs/src/nodes/member/tupleMember.d.ts +20 -0
  194. package/.dist/cjs/src/nodes/native/Iterable.cjs +135 -0
  195. package/.dist/cjs/src/nodes/native/Iterable.cjs.map +1 -0
  196. package/.dist/cjs/src/nodes/native/Iterable.d.ts +18 -0
  197. package/.dist/cjs/src/nodes/native/map.cjs +96 -0
  198. package/.dist/cjs/src/nodes/native/map.cjs.map +1 -0
  199. package/.dist/cjs/src/nodes/native/map.d.ts +42 -0
  200. package/.dist/cjs/src/nodes/native/nonSerializable.cjs +36 -0
  201. package/.dist/cjs/src/nodes/native/nonSerializable.cjs.map +1 -0
  202. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +14 -0
  203. package/.dist/cjs/src/nodes/native/promise.cjs +38 -0
  204. package/.dist/cjs/src/nodes/native/promise.cjs.map +1 -0
  205. package/.dist/cjs/src/nodes/native/promise.d.ts +15 -0
  206. package/.dist/cjs/src/nodes/native/set.cjs +60 -0
  207. package/.dist/cjs/src/nodes/native/set.cjs.map +1 -0
  208. package/.dist/cjs/src/nodes/native/set.d.ts +30 -0
  209. package/.dist/cjs/src/run-types-pure-fns.cjs +112 -0
  210. package/.dist/cjs/src/run-types-pure-fns.cjs.map +1 -0
  211. package/.dist/cjs/src/run-types-pure-fns.d.ts +7 -0
  212. package/.dist/cjs/src/types.cjs +59 -0
  213. package/.dist/cjs/src/types.cjs.map +1 -0
  214. package/.dist/cjs/src/types.d.ts +152 -0
  215. package/.dist/esm/index.d.ts +60 -0
  216. package/.dist/esm/index.js +209 -0
  217. package/.dist/esm/index.js.map +1 -0
  218. package/.dist/esm/src/constants.d.ts +7 -0
  219. package/.dist/esm/src/constants.functions.d.ts +385 -0
  220. package/.dist/esm/src/constants.functions.js +181 -0
  221. package/.dist/esm/src/constants.functions.js.map +1 -0
  222. package/.dist/esm/src/constants.js +79 -0
  223. package/.dist/esm/src/constants.js.map +1 -0
  224. package/.dist/esm/src/constants.kind.d.ts +21 -0
  225. package/.dist/esm/src/constants.kind.js +74 -0
  226. package/.dist/esm/src/constants.kind.js.map +1 -0
  227. package/.dist/esm/src/createRunType.d.ts +5 -0
  228. package/.dist/esm/src/createRunType.js +284 -0
  229. package/.dist/esm/src/createRunType.js.map +1 -0
  230. package/.dist/esm/src/createRunTypeFunctions.d.ts +12 -0
  231. package/.dist/esm/src/createRunTypeFunctions.js +78 -0
  232. package/.dist/esm/src/createRunTypeFunctions.js.map +1 -0
  233. package/.dist/esm/src/formats.runtype.d.ts +6 -0
  234. package/.dist/esm/src/formats.runtype.js +7 -0
  235. package/.dist/esm/src/formats.runtype.js.map +1 -0
  236. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +30 -0
  237. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js +109 -0
  238. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js.map +1 -0
  239. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +7 -0
  240. package/.dist/esm/src/jitCompilers/binary/fromBinary.js +383 -0
  241. package/.dist/esm/src/jitCompilers/binary/fromBinary.js.map +1 -0
  242. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +7 -0
  243. package/.dist/esm/src/jitCompilers/binary/toBinary.js +338 -0
  244. package/.dist/esm/src/jitCompilers/binary/toBinary.js.map +1 -0
  245. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +4 -0
  246. package/.dist/esm/src/jitCompilers/equalsHelpers.js +37 -0
  247. package/.dist/esm/src/jitCompilers/equalsHelpers.js.map +1 -0
  248. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +27 -0
  249. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js +56 -0
  250. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js.map +1 -0
  251. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +10 -0
  252. package/.dist/esm/src/jitCompilers/json/stringifyJson.js +399 -0
  253. package/.dist/esm/src/jitCompilers/json/stringifyJson.js.map +1 -0
  254. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +27 -0
  255. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js +51 -0
  256. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js.map +1 -0
  257. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +5 -0
  258. package/.dist/esm/src/jitCompilers/json/toJsCode.js +123 -0
  259. package/.dist/esm/src/jitCompilers/json/toJsCode.js.map +1 -0
  260. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +50 -0
  261. package/.dist/esm/src/lib/baseRunTypeFormat.js +200 -0
  262. package/.dist/esm/src/lib/baseRunTypeFormat.js.map +1 -0
  263. package/.dist/esm/src/lib/baseRunTypes.d.ts +75 -0
  264. package/.dist/esm/src/lib/baseRunTypes.js +308 -0
  265. package/.dist/esm/src/lib/baseRunTypes.js.map +1 -0
  266. package/.dist/esm/src/lib/createJitFunction.d.ts +5 -0
  267. package/.dist/esm/src/lib/createJitFunction.js +60 -0
  268. package/.dist/esm/src/lib/createJitFunction.js.map +1 -0
  269. package/.dist/esm/src/lib/dkProxy.d.ts +4 -0
  270. package/.dist/esm/src/lib/dkProxy.js +23 -0
  271. package/.dist/esm/src/lib/dkProxy.js.map +1 -0
  272. package/.dist/esm/src/lib/formats.d.ts +18 -0
  273. package/.dist/esm/src/lib/formats.js +89 -0
  274. package/.dist/esm/src/lib/formats.js.map +1 -0
  275. package/.dist/esm/src/lib/guards.d.ts +120 -0
  276. package/.dist/esm/src/lib/guards.js +243 -0
  277. package/.dist/esm/src/lib/guards.js.map +1 -0
  278. package/.dist/esm/src/lib/jitFnCompiler.d.ts +109 -0
  279. package/.dist/esm/src/lib/jitFnCompiler.js +648 -0
  280. package/.dist/esm/src/lib/jitFnCompiler.js.map +1 -0
  281. package/.dist/esm/src/lib/jitFnsRegistry.d.ts +6 -0
  282. package/.dist/esm/src/lib/jitFnsRegistry.js +41 -0
  283. package/.dist/esm/src/lib/jitFnsRegistry.js.map +1 -0
  284. package/.dist/esm/src/lib/typeId.d.ts +6 -0
  285. package/.dist/esm/src/lib/typeId.js +205 -0
  286. package/.dist/esm/src/lib/typeId.js.map +1 -0
  287. package/.dist/esm/src/lib/utils.d.ts +32 -0
  288. package/.dist/esm/src/lib/utils.js +325 -0
  289. package/.dist/esm/src/lib/utils.js.map +1 -0
  290. package/.dist/esm/src/mocking/constants.mock.d.ts +85 -0
  291. package/.dist/esm/src/mocking/constants.mock.js +108 -0
  292. package/.dist/esm/src/mocking/constants.mock.js.map +1 -0
  293. package/.dist/esm/src/mocking/mockRegistry.d.ts +3 -0
  294. package/.dist/esm/src/mocking/mockRegistry.js +12 -0
  295. package/.dist/esm/src/mocking/mockRegistry.js.map +1 -0
  296. package/.dist/esm/src/mocking/mockType.d.ts +3 -0
  297. package/.dist/esm/src/mocking/mockType.js +310 -0
  298. package/.dist/esm/src/mocking/mockType.js.map +1 -0
  299. package/.dist/esm/src/mocking/mockUtils.d.ts +15 -0
  300. package/.dist/esm/src/mocking/mockUtils.js +62 -0
  301. package/.dist/esm/src/mocking/mockUtils.js.map +1 -0
  302. package/.dist/esm/src/nodes/atomic/any.d.ts +8 -0
  303. package/.dist/esm/src/nodes/atomic/any.js +18 -0
  304. package/.dist/esm/src/nodes/atomic/any.js.map +1 -0
  305. package/.dist/esm/src/nodes/atomic/bigInt.d.ts +10 -0
  306. package/.dist/esm/src/nodes/atomic/bigInt.js +20 -0
  307. package/.dist/esm/src/nodes/atomic/bigInt.js.map +1 -0
  308. package/.dist/esm/src/nodes/atomic/boolean.d.ts +10 -0
  309. package/.dist/esm/src/nodes/atomic/boolean.js +20 -0
  310. package/.dist/esm/src/nodes/atomic/boolean.js.map +1 -0
  311. package/.dist/esm/src/nodes/atomic/date.d.ts +10 -0
  312. package/.dist/esm/src/nodes/atomic/date.js +20 -0
  313. package/.dist/esm/src/nodes/atomic/date.js.map +1 -0
  314. package/.dist/esm/src/nodes/atomic/enum.d.ts +8 -0
  315. package/.dist/esm/src/nodes/atomic/enum.js +22 -0
  316. package/.dist/esm/src/nodes/atomic/enum.js.map +1 -0
  317. package/.dist/esm/src/nodes/atomic/enumMember.d.ts +10 -0
  318. package/.dist/esm/src/nodes/atomic/enumMember.js +24 -0
  319. package/.dist/esm/src/nodes/atomic/enumMember.js.map +1 -0
  320. package/.dist/esm/src/nodes/atomic/literal.d.ts +20 -0
  321. package/.dist/esm/src/nodes/atomic/literal.js +126 -0
  322. package/.dist/esm/src/nodes/atomic/literal.js.map +1 -0
  323. package/.dist/esm/src/nodes/atomic/never.d.ts +10 -0
  324. package/.dist/esm/src/nodes/atomic/never.js +22 -0
  325. package/.dist/esm/src/nodes/atomic/never.js.map +1 -0
  326. package/.dist/esm/src/nodes/atomic/null.d.ts +10 -0
  327. package/.dist/esm/src/nodes/atomic/null.js +20 -0
  328. package/.dist/esm/src/nodes/atomic/null.js.map +1 -0
  329. package/.dist/esm/src/nodes/atomic/number.d.ts +10 -0
  330. package/.dist/esm/src/nodes/atomic/number.js +20 -0
  331. package/.dist/esm/src/nodes/atomic/number.js.map +1 -0
  332. package/.dist/esm/src/nodes/atomic/object.d.ts +8 -0
  333. package/.dist/esm/src/nodes/atomic/object.js +14 -0
  334. package/.dist/esm/src/nodes/atomic/object.js.map +1 -0
  335. package/.dist/esm/src/nodes/atomic/regexp.d.ts +10 -0
  336. package/.dist/esm/src/nodes/atomic/regexp.js +23 -0
  337. package/.dist/esm/src/nodes/atomic/regexp.js.map +1 -0
  338. package/.dist/esm/src/nodes/atomic/string.d.ts +8 -0
  339. package/.dist/esm/src/nodes/atomic/string.js +14 -0
  340. package/.dist/esm/src/nodes/atomic/string.js.map +1 -0
  341. package/.dist/esm/src/nodes/atomic/symbol.d.ts +11 -0
  342. package/.dist/esm/src/nodes/atomic/symbol.js +26 -0
  343. package/.dist/esm/src/nodes/atomic/symbol.js.map +1 -0
  344. package/.dist/esm/src/nodes/atomic/undefined.d.ts +9 -0
  345. package/.dist/esm/src/nodes/atomic/undefined.js +17 -0
  346. package/.dist/esm/src/nodes/atomic/undefined.js.map +1 -0
  347. package/.dist/esm/src/nodes/atomic/unknown.d.ts +3 -0
  348. package/.dist/esm/src/nodes/atomic/unknown.js +8 -0
  349. package/.dist/esm/src/nodes/atomic/unknown.js.map +1 -0
  350. package/.dist/esm/src/nodes/atomic/void.d.ts +10 -0
  351. package/.dist/esm/src/nodes/atomic/void.js +20 -0
  352. package/.dist/esm/src/nodes/atomic/void.js.map +1 -0
  353. package/.dist/esm/src/nodes/collection/class.d.ts +9 -0
  354. package/.dist/esm/src/nodes/collection/class.js +38 -0
  355. package/.dist/esm/src/nodes/collection/class.js.map +1 -0
  356. package/.dist/esm/src/nodes/collection/functionParams.d.ts +9 -0
  357. package/.dist/esm/src/nodes/collection/functionParams.js +33 -0
  358. package/.dist/esm/src/nodes/collection/functionParams.js.map +1 -0
  359. package/.dist/esm/src/nodes/collection/interface.d.ts +43 -0
  360. package/.dist/esm/src/nodes/collection/interface.js +221 -0
  361. package/.dist/esm/src/nodes/collection/interface.js.map +1 -0
  362. package/.dist/esm/src/nodes/collection/intersection.d.ts +9 -0
  363. package/.dist/esm/src/nodes/collection/intersection.js +21 -0
  364. package/.dist/esm/src/nodes/collection/intersection.js.map +1 -0
  365. package/.dist/esm/src/nodes/collection/tuple.d.ts +18 -0
  366. package/.dist/esm/src/nodes/collection/tuple.js +74 -0
  367. package/.dist/esm/src/nodes/collection/tuple.js.map +1 -0
  368. package/.dist/esm/src/nodes/collection/union.d.ts +19 -0
  369. package/.dist/esm/src/nodes/collection/union.js +162 -0
  370. package/.dist/esm/src/nodes/collection/union.js.map +1 -0
  371. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +21 -0
  372. package/.dist/esm/src/nodes/collection/unionDiscriminator.js +198 -0
  373. package/.dist/esm/src/nodes/collection/unionDiscriminator.js.map +1 -0
  374. package/.dist/esm/src/nodes/function/function.d.ts +33 -0
  375. package/.dist/esm/src/nodes/function/function.js +155 -0
  376. package/.dist/esm/src/nodes/function/function.js.map +1 -0
  377. package/.dist/esm/src/nodes/member/array.d.ts +24 -0
  378. package/.dist/esm/src/nodes/member/array.js +154 -0
  379. package/.dist/esm/src/nodes/member/array.js.map +1 -0
  380. package/.dist/esm/src/nodes/member/callSignature.d.ts +11 -0
  381. package/.dist/esm/src/nodes/member/callSignature.js +40 -0
  382. package/.dist/esm/src/nodes/member/callSignature.js.map +1 -0
  383. package/.dist/esm/src/nodes/member/genericMember.d.ts +15 -0
  384. package/.dist/esm/src/nodes/member/genericMember.js +68 -0
  385. package/.dist/esm/src/nodes/member/genericMember.js.map +1 -0
  386. package/.dist/esm/src/nodes/member/indexProperty.d.ts +21 -0
  387. package/.dist/esm/src/nodes/member/indexProperty.js +130 -0
  388. package/.dist/esm/src/nodes/member/indexProperty.js.map +1 -0
  389. package/.dist/esm/src/nodes/member/method.d.ts +11 -0
  390. package/.dist/esm/src/nodes/member/method.js +41 -0
  391. package/.dist/esm/src/nodes/member/method.js.map +1 -0
  392. package/.dist/esm/src/nodes/member/methodSignature.d.ts +12 -0
  393. package/.dist/esm/src/nodes/member/methodSignature.js +44 -0
  394. package/.dist/esm/src/nodes/member/methodSignature.js.map +1 -0
  395. package/.dist/esm/src/nodes/member/param.d.ts +8 -0
  396. package/.dist/esm/src/nodes/member/param.js +17 -0
  397. package/.dist/esm/src/nodes/member/param.js.map +1 -0
  398. package/.dist/esm/src/nodes/member/property.d.ts +19 -0
  399. package/.dist/esm/src/nodes/member/property.js +85 -0
  400. package/.dist/esm/src/nodes/member/property.js.map +1 -0
  401. package/.dist/esm/src/nodes/member/restParams.d.ts +7 -0
  402. package/.dist/esm/src/nodes/member/restParams.js +15 -0
  403. package/.dist/esm/src/nodes/member/restParams.js.map +1 -0
  404. package/.dist/esm/src/nodes/member/tupleMember.d.ts +20 -0
  405. package/.dist/esm/src/nodes/member/tupleMember.js +93 -0
  406. package/.dist/esm/src/nodes/member/tupleMember.js.map +1 -0
  407. package/.dist/esm/src/nodes/native/Iterable.d.ts +18 -0
  408. package/.dist/esm/src/nodes/native/Iterable.js +135 -0
  409. package/.dist/esm/src/nodes/native/Iterable.js.map +1 -0
  410. package/.dist/esm/src/nodes/native/map.d.ts +42 -0
  411. package/.dist/esm/src/nodes/native/map.js +96 -0
  412. package/.dist/esm/src/nodes/native/map.js.map +1 -0
  413. package/.dist/esm/src/nodes/native/nonSerializable.d.ts +14 -0
  414. package/.dist/esm/src/nodes/native/nonSerializable.js +36 -0
  415. package/.dist/esm/src/nodes/native/nonSerializable.js.map +1 -0
  416. package/.dist/esm/src/nodes/native/promise.d.ts +15 -0
  417. package/.dist/esm/src/nodes/native/promise.js +38 -0
  418. package/.dist/esm/src/nodes/native/promise.js.map +1 -0
  419. package/.dist/esm/src/nodes/native/set.d.ts +30 -0
  420. package/.dist/esm/src/nodes/native/set.js +60 -0
  421. package/.dist/esm/src/nodes/native/set.js.map +1 -0
  422. package/.dist/esm/src/run-types-pure-fns.d.ts +7 -0
  423. package/.dist/esm/src/run-types-pure-fns.js +112 -0
  424. package/.dist/esm/src/run-types-pure-fns.js.map +1 -0
  425. package/.dist/esm/src/types.d.ts +152 -0
  426. package/.dist/esm/src/types.js +59 -0
  427. package/.dist/esm/src/types.js.map +1 -0
  428. package/LICENSE +21 -0
  429. package/README.md +32 -0
  430. package/package.json +66 -0
@@ -0,0 +1,19 @@
1
+ import { TypeUnion } from '@deepkit/type';
2
+ import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
3
+ import { JitCode } from '../../types.ts';
4
+ import { BaseRunType, CollectionRunType } from '../../lib/baseRunTypes.ts';
5
+ import { SplitUnionResult } from './unionDiscriminator.ts';
6
+ export declare class UnionRunType extends CollectionRunType<TypeUnion> {
7
+ hasDiscriminators: boolean | undefined;
8
+ hasObjectTypes: boolean | undefined;
9
+ isTypeWithProperties(rt: BaseRunType): boolean;
10
+ getUnionChildren(comp: JitFnCompiler): SplitUnionResult;
11
+ getUnionItemIndex(comp: JitFnCompiler, unionItem: BaseRunType): number;
12
+ getChildIsTypeWithLooseCheck(rt: BaseRunType, comp: JitFnCompiler): string;
13
+ emitIsType(comp: JitFnCompiler): JitCode;
14
+ emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
15
+ emitPrepareForJson(comp: JitFnCompiler): JitCode;
16
+ emitRestoreFromJson(comp: JitFnCompiler): JitCode;
17
+ getUnionTypeNames(): string;
18
+ checkAllowedChildren(comp: JitFnCompiler): void;
19
+ }
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_lib_utils = require("../../lib/utils.cjs");
4
+ const src_lib_guards = require("../../lib/guards.cjs");
5
+ function __assignType(fn, args) {
6
+ fn.__type = args;
7
+ return fn;
8
+ }
9
+ const __ΩFlattenedProp = ["CollectionRunType", "unionItem", "unionIndex", "PropertyRunType", "prop", "typeID", "compiledName", "FlattenedProp", `P"w!4"P&'J4#"w$4%P&'J4&&4'Mw(y`];
10
+ const __ΩSplitUnionResult = ["BaseRunType", "simpleItems", "CollectionRunType", "objectTypes", "anyItem", "SplitUnionResult", 'P"w!F4""w#F4$"w!4%8Mw&y'];
11
+ function splitUnionItems(comp, urt, unionChildren) {
12
+ const unionItems = unionChildren || urt.getJitChildren(comp);
13
+ const objectTypes = [];
14
+ const simpleItems = [];
15
+ let anyItem;
16
+ unionItems.forEach(__assignType((unionItem) => {
17
+ if (src_lib_guards.isAnyRunType(unionItem) || src_lib_guards.isUnknownRunType(unionItem)) {
18
+ if (!anyItem)
19
+ anyItem = unionItem;
20
+ return;
21
+ }
22
+ const isObj = urt.isTypeWithProperties(unionItem);
23
+ if (!isObj)
24
+ return simpleItems.push(unionItem);
25
+ return objectTypes.push(unionItem);
26
+ }, ["unionItem", "", 'P"2!"/"']));
27
+ const sortedObjectTypes = sortUnreachableTypes(comp, objectTypes);
28
+ return { simpleItems, objectTypes: sortedObjectTypes, anyItem };
29
+ }
30
+ splitUnionItems.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "BaseRunType", "unionChildren", () => __ΩSplitUnionResult, "splitUnionItems", `P"w!2""w#2$"w%F2&8n'/(`];
31
+ function sortUnreachableTypes(comp, objectTypes) {
32
+ if (objectTypes.length <= 1)
33
+ return objectTypes;
34
+ const typePropsMap = (Map.Ω = [["CollectionRunType", '"w!'], ["P&'JD"]], /* @__PURE__ */ new Map());
35
+ objectTypes.forEach(__assignType((objType) => {
36
+ const props = objType.getJitChildren(comp);
37
+ const propTypeIDs = (Set.Ω = [["P&'J"]], /* @__PURE__ */ new Set());
38
+ props.forEach(__assignType((prop) => propTypeIDs.add(prop.getTypeID()), ["prop", "", 'P"2!"/"']));
39
+ typePropsMap.set(objType, propTypeIDs);
40
+ }, ["objType", "", 'P"2!"/"']));
41
+ const isSubsetOf = __assignType((smaller, larger) => {
42
+ const smallerProps = typePropsMap.get(smaller);
43
+ const largerProps = typePropsMap.get(larger);
44
+ if (smallerProps.size >= largerProps.size)
45
+ return false;
46
+ for (const typeID of smallerProps) {
47
+ if (!largerProps.has(typeID))
48
+ return false;
49
+ }
50
+ return true;
51
+ }, ["CollectionRunType", "smaller", "larger", "", 'P"w!2""w!2#)/$']);
52
+ const processed = (Set.Ω = [["CollectionRunType", '"w!']], /* @__PURE__ */ new Set());
53
+ const result = [];
54
+ for (let i = 0; i < objectTypes.length; i++) {
55
+ const current = objectTypes[i];
56
+ if (processed.has(current))
57
+ continue;
58
+ const relatedGroup = [current];
59
+ processed.add(current);
60
+ for (let j = 0; j < objectTypes.length; j++) {
61
+ if (i === j)
62
+ continue;
63
+ const other = objectTypes[j];
64
+ if (processed.has(other))
65
+ continue;
66
+ if (isSubsetOf(current, other) || isSubsetOf(other, current)) {
67
+ relatedGroup.push(other);
68
+ processed.add(other);
69
+ }
70
+ }
71
+ if (relatedGroup.length > 1) {
72
+ relatedGroup.sort(__assignType((a, b) => {
73
+ const aSize = typePropsMap.get(a).size;
74
+ const bSize = typePropsMap.get(b).size;
75
+ return bSize - aSize;
76
+ }, ["a", "b", "", 'P"2!"2""/#']));
77
+ }
78
+ result.push(...relatedGroup);
79
+ }
80
+ return result;
81
+ }
82
+ sortUnreachableTypes.__type = ["JitFnCompiler", "comp", "CollectionRunType", "objectTypes", "sortUnreachableTypes", 'P"w!2""w#F2$"w#F/%'];
83
+ function markDiscriminators(comp, urt, unionItems) {
84
+ if (urt.hasDiscriminators !== void 0 && urt.hasObjectTypes !== void 0)
85
+ return;
86
+ const objectTypes = unionItems.filter(__assignType((item) => urt.isTypeWithProperties(item), ["item", "", 'P"2!"/"']));
87
+ const namedDiscriminators = getDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
88
+ const uniqueDiscriminators = getUniqueDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
89
+ urt.hasObjectTypes = !!objectTypes.length;
90
+ urt.hasDiscriminators = !!namedDiscriminators.length || !!uniqueDiscriminators.length;
91
+ }
92
+ markDiscriminators.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "BaseRunType", "unionItems", "markDiscriminators", `P"w!2""w#2$"w%F2&"/'`];
93
+ const __ΩPropUnionItemPair = ["PropertyRunType", "prop", "CollectionRunType", "unionItem", "PropUnionItemPair", 'P"w!4""w#4$Mw%y'];
94
+ function getDiscriminatorProperties(comp, urt, unionTypes, getCompiledName) {
95
+ if (!unionTypes.length)
96
+ return [];
97
+ const propByName = (Map.Ω = [["P&'J"], [() => __ΩPropUnionItemPair, "n!F"]], /* @__PURE__ */ new Map());
98
+ unionTypes.forEach(__assignType((unionItem) => {
99
+ const props = unionItem.getJitChildren(comp);
100
+ props.forEach(__assignType((prop) => {
101
+ const name = prop.getChildVarName(comp);
102
+ const existing = propByName.get(name) || [];
103
+ propByName.set(name, [...existing, { prop, unionItem }]);
104
+ }, ["prop", "", 'P"2!"/"']));
105
+ }, ["unionItem", "", 'P"2!"/"']));
106
+ const propsOnAllTypes = Array.from(propByName.entries()).filter(__assignType(([, props]) => props.length === unionTypes.length, ["param0", "", 'P"2!"/"'])).map(__assignType(([key, props]) => ({
107
+ name: key,
108
+ props,
109
+ complexity: props.reduce(__assignType((acc, item) => acc + src_lib_utils.getTotalComplexity(comp, item.prop), ["acc", "item", "", 'P"2!"2""/#']), 0),
110
+ isUniqueType: props.every(__assignType((item) => {
111
+ const child = item;
112
+ const typeID = child.prop.getTypeID();
113
+ const isDiff = props.every(__assignType((otherItem) => child.prop === otherItem.prop || otherItem.prop.getTypeID() !== typeID, ["otherItem", "", 'P"2!"/"']));
114
+ return isDiff;
115
+ }, ["item", "", 'P"2!"/"']))
116
+ }), ["param0", "", 'P"2!"/"'])).filter(__assignType((item) => item.isUniqueType, ["item", "", 'P"2!"/"']));
117
+ const lessComplexProps = propsOnAllTypes.toSorted(__assignType((a, b) => a.complexity - b.complexity, ["a", "b", "", 'P"2!"2""/#']));
118
+ const lessComplex = lessComplexProps[0];
119
+ if (!lessComplex)
120
+ return [];
121
+ return lessComplex.props.map(__assignType((item) => {
122
+ item.prop.isUnionDiscriminator = true;
123
+ const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
124
+ const typeID = item.prop.getTypeID();
125
+ return {
126
+ unionItem: item.unionItem,
127
+ unionIndex,
128
+ prop: item.prop,
129
+ typeID,
130
+ compiledName: getCompiledName(comp, urt, typeID)
131
+ };
132
+ }, ["item", "", 'P"2!"/"']));
133
+ }
134
+ getDiscriminatorProperties.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "CollectionRunType", "unionTypes", "propTypeID", "", "getCompiledName", () => __ΩFlattenedProp, "getDiscriminatorProperties", `P"w!2""w#2$"w%F2&P"w!2""w#2$P&'J2'&/(2)n*F/+`];
135
+ function getUniqueDiscriminatorProperties(comp, urt, unionTypes, getCompiledName) {
136
+ if (!unionTypes.length)
137
+ return [];
138
+ const uniquePropByUnionItem = (Map.Ω = [["CollectionRunType", '"w!'], [() => __ΩPropUnionItemPair, "n!"]], /* @__PURE__ */ new Map());
139
+ unionTypes.forEach(__assignType((unionItem) => {
140
+ const props = unionItem.getJitChildren(comp);
141
+ props.forEach(__assignType((prop) => {
142
+ const typeID = prop.getTypeID();
143
+ const isUnique = unionTypes.every(__assignType((otherUnionItem) => {
144
+ if (otherUnionItem === unionItem)
145
+ return true;
146
+ const otherProps = otherUnionItem.getJitChildren(comp);
147
+ return otherProps.every(__assignType((otherProp) => otherProp.getTypeID() !== typeID, ["otherProp", "", 'P"2!"/"']));
148
+ }, ["otherUnionItem", "", 'P"2!"/"']));
149
+ if (isUnique) {
150
+ const existing = uniquePropByUnionItem.get(unionItem);
151
+ if (!existing) {
152
+ uniquePropByUnionItem.set(unionItem, {
153
+ prop,
154
+ unionItem
155
+ });
156
+ return;
157
+ }
158
+ const newItem = { prop, unionItem };
159
+ const lessComplex = [newItem, existing].toSorted(__assignType((a, b) => src_lib_utils.sortRunTypeByComplexity(comp, a.prop, b.prop), ["a", "b", "", 'P"2!"2""/#']))[0];
160
+ uniquePropByUnionItem.set(unionItem, lessComplex);
161
+ }
162
+ }, ["prop", "", 'P"2!"/"']));
163
+ }, ["unionItem", "", 'P"2!"/"']));
164
+ if (!uniquePropByUnionItem.size)
165
+ return [];
166
+ const uniqueProps = Array.from(uniquePropByUnionItem.values());
167
+ return uniqueProps.map(__assignType((item) => {
168
+ item.prop.isUnionDiscriminator = true;
169
+ const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
170
+ const typeID = item.prop.getTypeID();
171
+ return {
172
+ unionItem: item.unionItem,
173
+ unionIndex,
174
+ prop: item.prop,
175
+ typeID,
176
+ compiledName: getCompiledName(comp, urt, typeID)
177
+ };
178
+ }, ["item", "", 'P"2!"/"']));
179
+ }
180
+ getUniqueDiscriminatorProperties.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "CollectionRunType", "unionTypes", "propTypeID", "", "getCompiledName", () => __ΩFlattenedProp, "getUniqueDiscriminatorProperties", `P"w!2""w#2$"w%F2&P"w!2""w#2$P&'J2'&/(2)n*F/+`];
181
+ function initGetCompiledName() {
182
+ const typeIDs = (Map.Ω = [["P&'J"], ["'"]], /* @__PURE__ */ new Map());
183
+ return __assignType(function getCompiledName(comp, urt, typeID) {
184
+ const existingIndex = typeIDs.get(typeID);
185
+ if (existingIndex)
186
+ return comp.getLocalVarName("prop", urt) + `_${existingIndex}`;
187
+ const newIndex = typeIDs.size;
188
+ typeIDs.set(typeID, newIndex);
189
+ return comp.getLocalVarName("prop", urt) + `_${newIndex}`;
190
+ }, ["JitFnCompiler", "comp", "UnionRunType", "urt", "typeID", "getCompiledName", `P"w!2""w#2$P&'J2%&/&`]);
191
+ }
192
+ initGetCompiledName.__type = ["initGetCompiledName", 'P"/!'];
193
+ exports.__ΩFlattenedProp = __ΩFlattenedProp;
194
+ exports.__ΩSplitUnionResult = __ΩSplitUnionResult;
195
+ exports.markDiscriminators = markDiscriminators;
196
+ exports.sortUnreachableTypes = sortUnreachableTypes;
197
+ exports.splitUnionItems = splitUnionItems;
198
+ //# sourceMappingURL=unionDiscriminator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unionDiscriminator.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,21 @@
1
+ import { BaseRunType, CollectionRunType } from '../../lib/baseRunTypes.ts';
2
+ import { JitFnCompiler } from '../../lib/jitFnCompiler.ts';
3
+ import { UnionRunType } from './union.ts';
4
+ import { PropertyRunType } from '../member/property.ts';
5
+ export type FlattenedProp = {
6
+ unionItem: CollectionRunType<any>;
7
+ unionIndex: string | number;
8
+ prop: PropertyRunType;
9
+ typeID: string | number;
10
+ compiledName: string;
11
+ };
12
+ export type SplitUnionResult = {
13
+ simpleItems: BaseRunType[];
14
+ objectTypes: CollectionRunType<any>[];
15
+ anyItem?: BaseRunType;
16
+ };
17
+ export declare function splitUnionItems(comp: JitFnCompiler, urt: UnionRunType, unionChildren?: BaseRunType[]): SplitUnionResult;
18
+ export declare function sortUnreachableTypes(comp: JitFnCompiler, objectTypes: CollectionRunType<any>[]): CollectionRunType<any>[];
19
+ export declare function markDiscriminators(comp: JitFnCompiler, urt: UnionRunType, unionItems: BaseRunType[]): void;
20
+ export declare type __ΩFlattenedProp = any[];
21
+ export declare type __ΩSplitUnionResult = any[];
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const type = require("@deepkit/type");
4
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
5
+ const src_lib_guards = require("../../lib/guards.cjs");
6
+ const src_lib_jitFnCompiler = require("../../lib/jitFnCompiler.cjs");
7
+ const src_constants_kind = require("../../constants.kind.cjs");
8
+ const src_nodes_collection_functionParams = require("../collection/functionParams.cjs");
9
+ const core = require("@mionjs/core");
10
+ const src_lib_jitFnsRegistry = require("../../lib/jitFnsRegistry.cjs");
11
+ const src_constants_functions = require("../../constants.functions.cjs");
12
+ function __assignType(fn, args) {
13
+ fn.__type = args;
14
+ return fn;
15
+ }
16
+ class FunctionRunType extends src_lib_baseRunTypes.BaseRunType {
17
+ // parameterRunTypes.src must be set after FunctionRunType creation
18
+ parameterRunTypes = new src_nodes_collection_functionParams.FunctionParamsRunType();
19
+ skipJit(comp) {
20
+ if (!comp)
21
+ return true;
22
+ return comp.fnID !== src_constants_functions.JitFunctions.toJSCode.id;
23
+ }
24
+ onCreated(deepkitType) {
25
+ super.onCreated(deepkitType);
26
+ const paramsType = { ...deepkitType, subKind: src_constants_kind.ReflectionSubKind.params };
27
+ delete paramsType._typeId;
28
+ delete paramsType._formatId;
29
+ this.parameterRunTypes.onCreated(paramsType);
30
+ }
31
+ getFamily() {
32
+ return "F";
33
+ }
34
+ getFnName() {
35
+ const name = this.src.name;
36
+ if (!name)
37
+ return "";
38
+ if (typeof name === "symbol")
39
+ return name.toString();
40
+ return name;
41
+ }
42
+ createJitParamsFunction(jitFn, opts) {
43
+ return this.createJitCompiledParamsFunction(jitFn, opts).fn;
44
+ }
45
+ createJitCompiledParamsFunction(jitFn, opts) {
46
+ const start = opts?.paramsSlice?.start;
47
+ const end = opts?.paramsSlice?.end;
48
+ if (start && end) {
49
+ if (start < 0 || end > this.parameterRunTypes.getChildRunTypes().length)
50
+ throw new Error(`Invalid paramsSlice, start: ${start}, end: ${end}.`);
51
+ if (end <= start)
52
+ throw new Error(`Invalid paramsSlice, start: ${start}, end: ${end}`);
53
+ }
54
+ return this.parameterRunTypes.createJitCompiledFunction(jitFn.id, void 0, opts);
55
+ }
56
+ createJitReturnFunction(jitFn) {
57
+ return this.createJitCompiledReturnFunction(jitFn).fn;
58
+ }
59
+ createJitCompiledReturnFunction(jitFn, opts) {
60
+ let currentType = this;
61
+ while (true) {
62
+ if (src_lib_guards.isAnyFunctionRunType(currentType)) {
63
+ const returnType = currentType.getReturnType();
64
+ if (src_lib_guards.isPromiseRunType(returnType) || src_lib_guards.isFunctionRunType(returnType)) {
65
+ currentType = returnType;
66
+ continue;
67
+ }
68
+ return returnType.createJitCompiledFunction(jitFn.id, void 0, opts);
69
+ }
70
+ const memberType = currentType.getMemberType();
71
+ if (src_lib_guards.isPromiseRunType(memberType) || src_lib_guards.isFunctionRunType(memberType)) {
72
+ currentType = memberType;
73
+ continue;
74
+ }
75
+ return memberType.createJitCompiledFunction(jitFn.id, void 0, opts);
76
+ }
77
+ }
78
+ // ######## JIT functions (all throw error) ########
79
+ // can't know the types of the run type function parameters, neither the return type, so only compare function name and length
80
+ emitIsType(comp) {
81
+ const minLength = this.parameterRunTypes.totalRequiredParams(comp);
82
+ const totalParams = this.parameterRunTypes.getParamRunTypes(comp).length;
83
+ const hasOptional = totalParams > minLength;
84
+ const maxLength = this.parameterRunTypes.hasRestParameter(comp) || !hasOptional ? "" : ` && ${comp.vλl}.length <= ${totalParams}`;
85
+ return { code: `(typeof ${comp.vλl} === 'function' && ${comp.vλl}.length >= ${minLength} ${maxLength})`, type: "E" };
86
+ }
87
+ emitTypeErrors(comp) {
88
+ return { code: `if (!(${this.emitIsType(comp).code})) ${comp.callJitErr(this)};`, type: "S" };
89
+ }
90
+ /**
91
+ * json encode a function
92
+ */
93
+ emitPrepareForJson() {
94
+ throw new Error(`Compile function PrepareForJson not supported, call compileParams or compileReturn instead.`);
95
+ }
96
+ emitRestoreFromJson() {
97
+ throw new Error(`Compile function RestoreFromJson not supported, call compileParams or compileReturn instead.`);
98
+ }
99
+ emitHasUnknownKeys() {
100
+ return { code: "", type: "E" };
101
+ }
102
+ emitUnknownKeyErrors() {
103
+ return { code: "", type: "S" };
104
+ }
105
+ emitStripUnknownKeys() {
106
+ return { code: "", type: "S" };
107
+ }
108
+ emitUnknownKeysToUndefined() {
109
+ return { code: "", type: "S" };
110
+ }
111
+ // TODO: paramsSlice has been removed as options are not jet passed when building the run type. maybe we can pass it to the JitCompileOperation instead
112
+ // constructor() {
113
+ // const start = opts?.paramsSlice?.start;
114
+ // const end = opts?.paramsSlice?.end;
115
+ // parameterRunTypes = src.parameters.slice(start, end).map((p) => visitor(p, parents, opts)) as ParameterRunType[];
116
+ // }
117
+ getReturnType() {
118
+ return this.src.return._rt;
119
+ }
120
+ getParameters() {
121
+ return this.parameterRunTypes;
122
+ }
123
+ getParameterNames(opts) {
124
+ const start = opts?.paramsSlice?.start;
125
+ const end = opts?.paramsSlice?.end;
126
+ if (start || end) {
127
+ return this.src.parameters.slice(start, end).map(__assignType((p) => p.name, ["p", "", 'P"2!"/"']));
128
+ }
129
+ return this.src.parameters.map(__assignType((p) => p.name, ["p", "", 'P"2!"/"']));
130
+ }
131
+ hasReturnData() {
132
+ const returnKind = this.getReturnType().src.kind;
133
+ return returnKind !== type.ReflectionKind.void && returnKind !== type.ReflectionKind.never && returnKind !== type.ReflectionKind.undefined;
134
+ }
135
+ isAsync() {
136
+ const returnKind = this.getReturnType().src.kind;
137
+ return returnKind === type.ReflectionKind.promise || returnKind === type.ReflectionKind.any || returnKind === type.ReflectionKind.unknown;
138
+ }
139
+ returnIsPromise() {
140
+ return src_lib_guards.isPromiseRunType(this.getReturnType());
141
+ }
142
+ async mockReturn(ctx) {
143
+ await src_lib_jitFnsRegistry.registerJitFunctionCompiler(src_constants_functions.JitFunctions.mock);
144
+ return this.getReturnType().mockType(ctx);
145
+ }
146
+ async mockParams(ctx) {
147
+ await src_lib_jitFnsRegistry.registerJitFunctionCompiler(src_constants_functions.JitFunctions.mock);
148
+ return this.parameterRunTypes.mockType(ctx);
149
+ }
150
+ static __type = [() => type.__ΩTypeFunction, "CallType", () => src_lib_baseRunTypes.BaseRunType, () => src_nodes_collection_functionParams.FunctionParamsRunType, "parameterRunTypes", function() {
151
+ return new src_nodes_collection_functionParams.FunctionParamsRunType();
152
+ }, () => src_lib_jitFnCompiler.JitFnCompiler, "comp", "skipJit", "SrcType", "deepkitType", "onCreated", "F", "getFamily", "getFnName", "JitFn", "jitFn", "RunTypeOptions", "opts", "args", "", "createJitParamsFunction", () => core.__ΩJitCompiledFn, "createJitCompiledParamsFunction", "createJitReturnFunction", () => core.__ΩJitCompiledFn, "createJitCompiledReturnFunction", () => src_lib_jitFnCompiler.JitFnCompiler, "JitCode", "emitIsType", () => src_lib_jitFnCompiler.JitErrorsFnCompiler, "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "emitHasUnknownKeys", "emitUnknownKeyErrors", "emitStripUnknownKeys", "emitUnknownKeysToUndefined", () => src_lib_baseRunTypes.BaseRunType, "getReturnType", () => src_nodes_collection_functionParams.FunctionParamsRunType, "getParameters", "getParameterNames", "hasReturnData", "isAsync", "returnIsPromise", "ctx", "mockReturn", "mockParams", "FunctionRunType", 'n!c"Pe"!7#P7$3%>&PP7\'2()0)P"w*2+$0,P.-0.PP&\'J0/P"w021"w2238P"@24"/506P"w021"w2238n708P"w021P"@24"/509P"w021"w2238n:0;PP7<2("w=0>PP7?2("w=0@P"w=0AP"w=0BP"w=0CP"w=0DP"w=0EP"w=0FPP7G0HPP7I0JP"w2238&F0KP)0LP)0MP)0NP"w22O8"`0PP"w22O8"F`0Q5e!!6"wR'];
153
+ }
154
+ exports.FunctionRunType = FunctionRunType;
155
+ //# sourceMappingURL=function.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,33 @@
1
+ import { AnyFunction, SrcType, JitFn, JitCode, RunTypeOptions } from '../../types.ts';
2
+ import { TypeFunction } from '@deepkit/type';
3
+ import { BaseRunType } from '../../lib/baseRunTypes.ts';
4
+ import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
5
+ import { FunctionParamsRunType } from '../collection/functionParams.ts';
6
+ import { JitCompiledFn } from '@mionjs/core';
7
+ export declare class FunctionRunType<CallType extends AnyFunction = TypeFunction> extends BaseRunType<CallType> {
8
+ parameterRunTypes: FunctionParamsRunType;
9
+ skipJit(comp: JitFnCompiler): boolean;
10
+ onCreated(deepkitType: SrcType): void;
11
+ getFamily(): 'F';
12
+ getFnName(): string | number;
13
+ createJitParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): (...args: any[]) => any;
14
+ createJitCompiledParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn;
15
+ createJitReturnFunction(jitFn: JitFn): (...args: any[]) => any;
16
+ createJitCompiledReturnFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn;
17
+ emitIsType(comp: JitFnCompiler): JitCode;
18
+ emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
19
+ emitPrepareForJson(): JitCode;
20
+ emitRestoreFromJson(): JitCode;
21
+ emitHasUnknownKeys(): JitCode;
22
+ emitUnknownKeyErrors(): JitCode;
23
+ emitStripUnknownKeys(): JitCode;
24
+ emitUnknownKeysToUndefined(): JitCode;
25
+ getReturnType(): BaseRunType;
26
+ getParameters(): FunctionParamsRunType;
27
+ getParameterNames(opts?: RunTypeOptions): string[];
28
+ hasReturnData(): boolean;
29
+ isAsync(): boolean;
30
+ returnIsPromise(): boolean;
31
+ mockReturn(ctx?: RunTypeOptions): Promise<any>;
32
+ mockParams(ctx?: RunTypeOptions): Promise<any[]>;
33
+ }
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
4
+ const src_lib_utils = require("../../lib/utils.cjs");
5
+ class ArrayRunType extends src_lib_baseRunTypes.MemberRunType {
6
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
+ startIndex(comp) {
8
+ return 0;
9
+ }
10
+ getChildVarName(comp) {
11
+ return comp.getLocalVarName("i", this);
12
+ }
13
+ getChildLiteral(comp) {
14
+ return this.getChildVarName(comp);
15
+ }
16
+ useArrayAccessor() {
17
+ return true;
18
+ }
19
+ isOptional() {
20
+ return false;
21
+ }
22
+ // #### jit code ####
23
+ emitIsType(comp) {
24
+ this.checkNonSkipTypes(comp);
25
+ const resultVal = comp.getLocalVarName("res", this);
26
+ const index = this.getChildVarName(comp);
27
+ const child = this.getJitChild(comp);
28
+ const childJit = comp.compileIsType(child, "E");
29
+ if (!childJit?.code && comp.opts.noIsArrayCheck)
30
+ return { code: void 0, type: "E" };
31
+ if (!childJit?.code)
32
+ return { code: `Array.isArray(${comp.vλl})`, type: "E" };
33
+ const isArrayCheckCode = comp.opts.noIsArrayCheck ? "" : `if (!Array.isArray(${comp.vλl})) return false;`;
34
+ return {
35
+ code: `
36
+ ${isArrayCheckCode}
37
+ for (let ${index} = ${this.startIndex(comp)}; ${index} < ${comp.vλl}.length; ${index}++) {
38
+ const ${resultVal} = ${childJit.code};
39
+ if (!(${resultVal})) return false;
40
+ }
41
+ return true;
42
+ `,
43
+ type: "RB"
44
+ };
45
+ }
46
+ emitTypeErrors(comp) {
47
+ this.checkNonSkipTypes(comp);
48
+ const index = this.getChildVarName(comp);
49
+ const child = this.getJitChild(comp);
50
+ const childJit = comp.compileTypeErrors(child, "S");
51
+ if (!childJit?.code && comp.opts.noIsArrayCheck)
52
+ return { code: void 0, type: "E" };
53
+ if (!childJit?.code)
54
+ return { code: `if (!Array.isArray(${comp.vλl})) ${comp.callJitErr(this)};`, type: "S" };
55
+ const itemsCode = `for (let ${index} = ${this.startIndex(comp)}; ${index} < ${comp.vλl}.length; ${index}++) {${childJit.code}}`;
56
+ if (comp.opts.noIsArrayCheck)
57
+ return { code: itemsCode, type: "S" };
58
+ return {
59
+ code: `if (!Array.isArray(${comp.vλl})) {${comp.callJitErr(this)}} else {${itemsCode}}`,
60
+ type: "S"
61
+ };
62
+ }
63
+ emitPrepareForJson(comp) {
64
+ this.checkNonSkipTypes(comp);
65
+ const index = this.getChildVarName(comp);
66
+ const child = this.getJitChild(comp);
67
+ const childJit = comp.compilePrepareForJson(child, "S");
68
+ if (!childJit?.code || !child)
69
+ return { code: void 0, type: "S" };
70
+ const isExpression = src_lib_utils.childIsExpression(childJit, child);
71
+ const code = isExpression ? `${comp.getChildVλl()} = ${childJit.code};` : childJit.code || "";
72
+ return {
73
+ code: `for (let ${index} = ${this.startIndex(comp)}; ${index} < ${comp.vλl}.length; ${index}++) {${code}}`,
74
+ type: "S"
75
+ };
76
+ }
77
+ emitRestoreFromJson(comp) {
78
+ this.checkNonSkipTypes(comp);
79
+ const index = this.getChildVarName(comp);
80
+ const child = this.getJitChild(comp);
81
+ const childJit = comp.compileRestoreFromJson(child, "S");
82
+ if (!childJit?.code || !child)
83
+ return { code: void 0, type: "S" };
84
+ const isExpression = src_lib_utils.childIsExpression(childJit, child);
85
+ const code = isExpression ? `${comp.getChildVλl()} = ${childJit.code};` : childJit.code || "";
86
+ return {
87
+ code: `for (let ${index} = ${this.startIndex(comp)}; ${index} < ${comp.vλl}.length; ${index}++) {${code}}`,
88
+ type: "S"
89
+ };
90
+ }
91
+ emitHasUnknownKeys(comp) {
92
+ this.checkNonSkipTypes(comp);
93
+ if (this.getMemberType().getFamily() === "A")
94
+ return { code: void 0, type: "E" };
95
+ const child = this.getJitChild(comp);
96
+ const childJit = comp.compileHasUnknownKeys(child, "E");
97
+ if (!childJit?.code)
98
+ return { code: void 0, type: "E" };
99
+ const resultVal = comp.getLocalVarName("res", this);
100
+ const index = this.getChildVarName(comp);
101
+ return {
102
+ code: `
103
+ if (!Array.isArray(${comp.vλl})) return false;
104
+ for (let ${index} = ${this.startIndex(comp)}; ${index} < ${comp.vλl}.length; ${index}++) {
105
+ const ${resultVal} = ${childJit.code};
106
+ if (${resultVal}) return true;
107
+ }
108
+ return false;
109
+ `,
110
+ type: "RB"
111
+ };
112
+ }
113
+ emitUnknownKeyErrors(comp) {
114
+ this.checkNonSkipTypes(comp);
115
+ if (this.getMemberType().getFamily() === "A")
116
+ return { code: "", type: "E" };
117
+ const child = this.getJitChild(comp);
118
+ const childJit = comp.compileUnknownKeyErrors(child, "S");
119
+ return this.traverseCode(comp, childJit);
120
+ }
121
+ emitStripUnknownKeys(comp) {
122
+ this.checkNonSkipTypes(comp);
123
+ if (this.getMemberType().getFamily() === "A")
124
+ return { code: "", type: "E" };
125
+ const child = this.getJitChild(comp);
126
+ const childJit = comp.compileStripUnknownKeys(child, "S");
127
+ return this.traverseCode(comp, childJit);
128
+ }
129
+ emitUnknownKeysToUndefined(comp) {
130
+ this.checkNonSkipTypes(comp);
131
+ if (this.getMemberType().getFamily() === "A")
132
+ return { code: "", type: "E" };
133
+ const child = this.getJitChild(comp);
134
+ const childJit = comp.compileUnknownKeysToUndefined(child, "S");
135
+ return this.traverseCode(comp, childJit);
136
+ }
137
+ traverseCode(comp, childJit) {
138
+ if (!childJit?.code)
139
+ return { code: void 0, type: "S" };
140
+ const index = this.getChildVarName(comp);
141
+ return {
142
+ code: `for (let ${index} = ${this.startIndex(comp)}; ${index} < ${comp.vλl}.length; ${index}++) {${childJit.code}}`,
143
+ type: "S"
144
+ };
145
+ }
146
+ checkNonSkipTypes(comp) {
147
+ const child = this.getMemberType();
148
+ if (child.skipJit(comp))
149
+ throw new Error(`Arrays can not have non serializable types, ie: Symbol[], Function[], etc.`);
150
+ }
151
+ static __type = ["TypeArray", "T", () => src_lib_baseRunTypes.MemberRunType, "JitFnCompiler", "comp", "startIndex", "getChildVarName", "getChildLiteral", true, "useArrayAccessor", "isOptional", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "emitHasUnknownKeys", "emitUnknownKeyErrors", "emitStripUnknownKeys", "emitUnknownKeysToUndefined", "childJit", "code", "S", "type", "traverseCode", "checkNonSkipTypes", "ArrayRunType", `"w!c"Pe"!7#P"w$2%'0&P"w$2%&0'P"w$2%&0(P.)0*P)0+P"w$2%"w,0-P"w.2%"w,0/P"w$2%"w,00P"w$2%"w,01P"w$2%"w,02P"w.2%"w,03P"w$2%"w,04P"w$2%"w,05P"w$2%P"w,-J26PP&-J47.849M0:P"w$2%"0;5e!!6"w<`];
152
+ }
153
+ exports.ArrayRunType = ArrayRunType;
154
+ //# sourceMappingURL=array.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,24 @@
1
+ import { Type, TypeArray } from '@deepkit/type';
2
+ import { JitCode } from '../../types.ts';
3
+ import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
4
+ import { MemberRunType } from '../../lib/baseRunTypes.ts';
5
+ export declare class ArrayRunType<T extends Type = TypeArray> extends MemberRunType<T> {
6
+ startIndex(comp: JitFnCompiler): number;
7
+ getChildVarName(comp: JitFnCompiler): string;
8
+ getChildLiteral(comp: JitFnCompiler): string;
9
+ useArrayAccessor(): true;
10
+ isOptional(): boolean;
11
+ emitIsType(comp: JitFnCompiler): JitCode;
12
+ emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
13
+ emitPrepareForJson(comp: JitFnCompiler): JitCode;
14
+ emitRestoreFromJson(comp: JitFnCompiler): JitCode;
15
+ emitHasUnknownKeys(comp: JitFnCompiler): JitCode;
16
+ emitUnknownKeyErrors(comp: JitErrorsFnCompiler): JitCode;
17
+ emitStripUnknownKeys(comp: JitFnCompiler): JitCode;
18
+ emitUnknownKeysToUndefined(comp: JitFnCompiler): JitCode;
19
+ traverseCode(comp: JitFnCompiler, childJit: JitCode | undefined): {
20
+ code: string | undefined;
21
+ type: 'S';
22
+ };
23
+ checkNonSkipTypes(comp: JitFnCompiler): void;
24
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const type = require("@deepkit/type");
4
+ const src_types = require("../../types.cjs");
5
+ const src_lib_utils = require("../../lib/utils.cjs");
6
+ const src_nodes_function_function = require("../function/function.cjs");
7
+ function __assignType(fn, args) {
8
+ fn.__type = args;
9
+ return fn;
10
+ }
11
+ class CallSignatureRunType extends src_nodes_function_function.FunctionRunType {
12
+ getChildIndex = __assignType((comp) => {
13
+ const start = comp?.opts?.paramsSlice?.start;
14
+ if (start)
15
+ return src_lib_utils.getPropIndex(this.src) - start;
16
+ return src_lib_utils.getPropIndex(this.src);
17
+ }, ["JitFnCompiler", "comp", "", 'P"w!2""/#']);
18
+ getChildVarName = () => "";
19
+ getChildLiteral = () => '""';
20
+ useArrayAccessor = () => false;
21
+ isOptional = () => false;
22
+ static __type = [() => type.__ΩTypeCallSignature, () => src_nodes_function_function.FunctionRunType, "getChildIndex", function() {
23
+ return __assignType((comp) => {
24
+ const start = comp?.opts?.paramsSlice?.start;
25
+ if (start)
26
+ return src_lib_utils.getPropIndex(this.src) - start;
27
+ return src_lib_utils.getPropIndex(this.src);
28
+ }, ["JitFnCompiler", "comp", "", 'P"w!2""/#']);
29
+ }, "getChildVarName", function() {
30
+ return () => "";
31
+ }, "getChildLiteral", function() {
32
+ return () => '""';
33
+ }, "useArrayAccessor", function() {
34
+ return () => false;
35
+ }, "isOptional", function() {
36
+ return () => false;
37
+ }, () => type.__ΩTypeCallSignature, () => src_types.__ΩRunTypeChildAccessor, "CallSignatureRunType", `Pn!7"!3#>$!3%>&!3'>(!3)>*!3+>,5n-6"n.x"w/`];
38
+ }
39
+ exports.CallSignatureRunType = CallSignatureRunType;
40
+ //# sourceMappingURL=callSignature.cjs.map