@mionjs/run-types 0.8.6 → 0.8.8

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 (362) hide show
  1. package/.dist/cjs/index.d.ts +1 -0
  2. package/.dist/cjs/index.d.ts.map +1 -0
  3. package/.dist/cjs/src/constants.d.ts +1 -0
  4. package/.dist/cjs/src/constants.d.ts.map +1 -0
  5. package/.dist/cjs/src/constants.functions.d.ts +1 -0
  6. package/.dist/cjs/src/constants.functions.d.ts.map +1 -0
  7. package/.dist/cjs/src/constants.kind.d.ts +1 -0
  8. package/.dist/cjs/src/constants.kind.d.ts.map +1 -0
  9. package/.dist/cjs/src/createRunType.d.ts +1 -0
  10. package/.dist/cjs/src/createRunType.d.ts.map +1 -0
  11. package/.dist/cjs/src/createRunTypeFunctions.d.ts +1 -0
  12. package/.dist/cjs/src/createRunTypeFunctions.d.ts.map +1 -0
  13. package/.dist/cjs/src/formats.runtype.d.ts +1 -0
  14. package/.dist/cjs/src/formats.runtype.d.ts.map +1 -0
  15. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +1 -0
  16. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +1 -0
  17. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +1 -0
  18. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts.map +1 -0
  19. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +1 -0
  20. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts.map +1 -0
  21. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +1 -0
  22. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts.map +1 -0
  23. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +1 -0
  24. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +1 -0
  25. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +1 -0
  26. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts.map +1 -0
  27. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +1 -0
  28. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +1 -0
  29. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +1 -0
  30. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts.map +1 -0
  31. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +1 -0
  32. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts.map +1 -0
  33. package/.dist/cjs/src/lib/baseRunTypes.d.ts +1 -0
  34. package/.dist/cjs/src/lib/baseRunTypes.d.ts.map +1 -0
  35. package/.dist/cjs/src/lib/createJitFunction.d.ts +1 -0
  36. package/.dist/cjs/src/lib/createJitFunction.d.ts.map +1 -0
  37. package/.dist/cjs/src/lib/dkProxy.d.ts +1 -0
  38. package/.dist/cjs/src/lib/dkProxy.d.ts.map +1 -0
  39. package/.dist/cjs/src/lib/formats.d.ts +1 -0
  40. package/.dist/cjs/src/lib/formats.d.ts.map +1 -0
  41. package/.dist/cjs/src/lib/guards.d.ts +1 -0
  42. package/.dist/cjs/src/lib/guards.d.ts.map +1 -0
  43. package/.dist/cjs/src/lib/jitFnCompiler.d.ts +1 -0
  44. package/.dist/cjs/src/lib/jitFnCompiler.d.ts.map +1 -0
  45. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +1 -0
  46. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts.map +1 -0
  47. package/.dist/cjs/src/lib/typeId.d.ts +1 -0
  48. package/.dist/cjs/src/lib/typeId.d.ts.map +1 -0
  49. package/.dist/cjs/src/lib/utils.d.ts +1 -0
  50. package/.dist/cjs/src/lib/utils.d.ts.map +1 -0
  51. package/.dist/cjs/src/mocking/constants.mock.d.ts +1 -0
  52. package/.dist/cjs/src/mocking/constants.mock.d.ts.map +1 -0
  53. package/.dist/cjs/src/mocking/mockRegistry.d.ts +1 -0
  54. package/.dist/cjs/src/mocking/mockRegistry.d.ts.map +1 -0
  55. package/.dist/cjs/src/mocking/mockType.d.ts +1 -0
  56. package/.dist/cjs/src/mocking/mockType.d.ts.map +1 -0
  57. package/.dist/cjs/src/mocking/mockUtils.d.ts +1 -0
  58. package/.dist/cjs/src/mocking/mockUtils.d.ts.map +1 -0
  59. package/.dist/cjs/src/nodes/atomic/any.d.ts +1 -0
  60. package/.dist/cjs/src/nodes/atomic/any.d.ts.map +1 -0
  61. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +1 -0
  62. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts.map +1 -0
  63. package/.dist/cjs/src/nodes/atomic/boolean.d.ts +1 -0
  64. package/.dist/cjs/src/nodes/atomic/boolean.d.ts.map +1 -0
  65. package/.dist/cjs/src/nodes/atomic/date.d.ts +1 -0
  66. package/.dist/cjs/src/nodes/atomic/date.d.ts.map +1 -0
  67. package/.dist/cjs/src/nodes/atomic/enum.d.ts +1 -0
  68. package/.dist/cjs/src/nodes/atomic/enum.d.ts.map +1 -0
  69. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +1 -0
  70. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts.map +1 -0
  71. package/.dist/cjs/src/nodes/atomic/literal.d.ts +1 -0
  72. package/.dist/cjs/src/nodes/atomic/literal.d.ts.map +1 -0
  73. package/.dist/cjs/src/nodes/atomic/never.d.ts +1 -0
  74. package/.dist/cjs/src/nodes/atomic/never.d.ts.map +1 -0
  75. package/.dist/cjs/src/nodes/atomic/null.d.ts +1 -0
  76. package/.dist/cjs/src/nodes/atomic/null.d.ts.map +1 -0
  77. package/.dist/cjs/src/nodes/atomic/number.d.ts +1 -0
  78. package/.dist/cjs/src/nodes/atomic/number.d.ts.map +1 -0
  79. package/.dist/cjs/src/nodes/atomic/object.d.ts +1 -0
  80. package/.dist/cjs/src/nodes/atomic/object.d.ts.map +1 -0
  81. package/.dist/cjs/src/nodes/atomic/regexp.d.ts +1 -0
  82. package/.dist/cjs/src/nodes/atomic/regexp.d.ts.map +1 -0
  83. package/.dist/cjs/src/nodes/atomic/string.d.ts +1 -0
  84. package/.dist/cjs/src/nodes/atomic/string.d.ts.map +1 -0
  85. package/.dist/cjs/src/nodes/atomic/symbol.d.ts +1 -0
  86. package/.dist/cjs/src/nodes/atomic/symbol.d.ts.map +1 -0
  87. package/.dist/cjs/src/nodes/atomic/undefined.d.ts +1 -0
  88. package/.dist/cjs/src/nodes/atomic/undefined.d.ts.map +1 -0
  89. package/.dist/cjs/src/nodes/atomic/unknown.d.ts +1 -0
  90. package/.dist/cjs/src/nodes/atomic/unknown.d.ts.map +1 -0
  91. package/.dist/cjs/src/nodes/atomic/void.d.ts +1 -0
  92. package/.dist/cjs/src/nodes/atomic/void.d.ts.map +1 -0
  93. package/.dist/cjs/src/nodes/collection/class.d.ts +1 -0
  94. package/.dist/cjs/src/nodes/collection/class.d.ts.map +1 -0
  95. package/.dist/cjs/src/nodes/collection/functionParams.d.ts +1 -0
  96. package/.dist/cjs/src/nodes/collection/functionParams.d.ts.map +1 -0
  97. package/.dist/cjs/src/nodes/collection/interface.d.ts +1 -0
  98. package/.dist/cjs/src/nodes/collection/interface.d.ts.map +1 -0
  99. package/.dist/cjs/src/nodes/collection/intersection.d.ts +1 -0
  100. package/.dist/cjs/src/nodes/collection/intersection.d.ts.map +1 -0
  101. package/.dist/cjs/src/nodes/collection/tuple.d.ts +1 -0
  102. package/.dist/cjs/src/nodes/collection/tuple.d.ts.map +1 -0
  103. package/.dist/cjs/src/nodes/collection/union.d.ts +1 -0
  104. package/.dist/cjs/src/nodes/collection/union.d.ts.map +1 -0
  105. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +1 -0
  106. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts.map +1 -0
  107. package/.dist/cjs/src/nodes/function/function.d.ts +1 -0
  108. package/.dist/cjs/src/nodes/function/function.d.ts.map +1 -0
  109. package/.dist/cjs/src/nodes/member/array.d.ts +1 -0
  110. package/.dist/cjs/src/nodes/member/array.d.ts.map +1 -0
  111. package/.dist/cjs/src/nodes/member/callSignature.d.ts +1 -0
  112. package/.dist/cjs/src/nodes/member/callSignature.d.ts.map +1 -0
  113. package/.dist/cjs/src/nodes/member/genericMember.d.ts +1 -0
  114. package/.dist/cjs/src/nodes/member/genericMember.d.ts.map +1 -0
  115. package/.dist/cjs/src/nodes/member/indexProperty.d.ts +1 -0
  116. package/.dist/cjs/src/nodes/member/indexProperty.d.ts.map +1 -0
  117. package/.dist/cjs/src/nodes/member/method.d.ts +1 -0
  118. package/.dist/cjs/src/nodes/member/method.d.ts.map +1 -0
  119. package/.dist/cjs/src/nodes/member/methodSignature.d.ts +1 -0
  120. package/.dist/cjs/src/nodes/member/methodSignature.d.ts.map +1 -0
  121. package/.dist/cjs/src/nodes/member/param.d.ts +1 -0
  122. package/.dist/cjs/src/nodes/member/param.d.ts.map +1 -0
  123. package/.dist/cjs/src/nodes/member/property.d.ts +1 -0
  124. package/.dist/cjs/src/nodes/member/property.d.ts.map +1 -0
  125. package/.dist/cjs/src/nodes/member/restParams.d.ts +1 -0
  126. package/.dist/cjs/src/nodes/member/restParams.d.ts.map +1 -0
  127. package/.dist/cjs/src/nodes/member/tupleMember.d.ts +1 -0
  128. package/.dist/cjs/src/nodes/member/tupleMember.d.ts.map +1 -0
  129. package/.dist/cjs/src/nodes/native/Iterable.d.ts +1 -0
  130. package/.dist/cjs/src/nodes/native/Iterable.d.ts.map +1 -0
  131. package/.dist/cjs/src/nodes/native/map.d.ts +1 -0
  132. package/.dist/cjs/src/nodes/native/map.d.ts.map +1 -0
  133. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +1 -0
  134. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts.map +1 -0
  135. package/.dist/cjs/src/nodes/native/promise.d.ts +1 -0
  136. package/.dist/cjs/src/nodes/native/promise.d.ts.map +1 -0
  137. package/.dist/cjs/src/nodes/native/set.d.ts +1 -0
  138. package/.dist/cjs/src/nodes/native/set.d.ts.map +1 -0
  139. package/.dist/cjs/src/run-types-pure-fns.d.ts +1 -0
  140. package/.dist/cjs/src/run-types-pure-fns.d.ts.map +1 -0
  141. package/.dist/cjs/src/types.d.ts +1 -0
  142. package/.dist/cjs/src/types.d.ts.map +1 -0
  143. package/.dist/esm/index.d.ts +1 -0
  144. package/.dist/esm/index.d.ts.map +1 -0
  145. package/.dist/esm/src/constants.d.ts +1 -0
  146. package/.dist/esm/src/constants.d.ts.map +1 -0
  147. package/.dist/esm/src/constants.functions.d.ts +1 -0
  148. package/.dist/esm/src/constants.functions.d.ts.map +1 -0
  149. package/.dist/esm/src/constants.kind.d.ts +1 -0
  150. package/.dist/esm/src/constants.kind.d.ts.map +1 -0
  151. package/.dist/esm/src/createRunType.d.ts +1 -0
  152. package/.dist/esm/src/createRunType.d.ts.map +1 -0
  153. package/.dist/esm/src/createRunTypeFunctions.d.ts +1 -0
  154. package/.dist/esm/src/createRunTypeFunctions.d.ts.map +1 -0
  155. package/.dist/esm/src/formats.runtype.d.ts +1 -0
  156. package/.dist/esm/src/formats.runtype.d.ts.map +1 -0
  157. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +1 -0
  158. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +1 -0
  159. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +1 -0
  160. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts.map +1 -0
  161. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +1 -0
  162. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts.map +1 -0
  163. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +1 -0
  164. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts.map +1 -0
  165. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +1 -0
  166. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +1 -0
  167. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +1 -0
  168. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts.map +1 -0
  169. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +1 -0
  170. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +1 -0
  171. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +1 -0
  172. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts.map +1 -0
  173. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +1 -0
  174. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts.map +1 -0
  175. package/.dist/esm/src/lib/baseRunTypes.d.ts +1 -0
  176. package/.dist/esm/src/lib/baseRunTypes.d.ts.map +1 -0
  177. package/.dist/esm/src/lib/createJitFunction.d.ts +1 -0
  178. package/.dist/esm/src/lib/createJitFunction.d.ts.map +1 -0
  179. package/.dist/esm/src/lib/dkProxy.d.ts +1 -0
  180. package/.dist/esm/src/lib/dkProxy.d.ts.map +1 -0
  181. package/.dist/esm/src/lib/formats.d.ts +1 -0
  182. package/.dist/esm/src/lib/formats.d.ts.map +1 -0
  183. package/.dist/esm/src/lib/guards.d.ts +1 -0
  184. package/.dist/esm/src/lib/guards.d.ts.map +1 -0
  185. package/.dist/esm/src/lib/jitFnCompiler.d.ts +1 -0
  186. package/.dist/esm/src/lib/jitFnCompiler.d.ts.map +1 -0
  187. package/.dist/esm/src/lib/jitFnsRegistry.d.ts +1 -0
  188. package/.dist/esm/src/lib/jitFnsRegistry.d.ts.map +1 -0
  189. package/.dist/esm/src/lib/typeId.d.ts +1 -0
  190. package/.dist/esm/src/lib/typeId.d.ts.map +1 -0
  191. package/.dist/esm/src/lib/utils.d.ts +1 -0
  192. package/.dist/esm/src/lib/utils.d.ts.map +1 -0
  193. package/.dist/esm/src/mocking/constants.mock.d.ts +1 -0
  194. package/.dist/esm/src/mocking/constants.mock.d.ts.map +1 -0
  195. package/.dist/esm/src/mocking/mockRegistry.d.ts +1 -0
  196. package/.dist/esm/src/mocking/mockRegistry.d.ts.map +1 -0
  197. package/.dist/esm/src/mocking/mockType.d.ts +1 -0
  198. package/.dist/esm/src/mocking/mockType.d.ts.map +1 -0
  199. package/.dist/esm/src/mocking/mockUtils.d.ts +1 -0
  200. package/.dist/esm/src/mocking/mockUtils.d.ts.map +1 -0
  201. package/.dist/esm/src/nodes/atomic/any.d.ts +1 -0
  202. package/.dist/esm/src/nodes/atomic/any.d.ts.map +1 -0
  203. package/.dist/esm/src/nodes/atomic/bigInt.d.ts +1 -0
  204. package/.dist/esm/src/nodes/atomic/bigInt.d.ts.map +1 -0
  205. package/.dist/esm/src/nodes/atomic/boolean.d.ts +1 -0
  206. package/.dist/esm/src/nodes/atomic/boolean.d.ts.map +1 -0
  207. package/.dist/esm/src/nodes/atomic/date.d.ts +1 -0
  208. package/.dist/esm/src/nodes/atomic/date.d.ts.map +1 -0
  209. package/.dist/esm/src/nodes/atomic/enum.d.ts +1 -0
  210. package/.dist/esm/src/nodes/atomic/enum.d.ts.map +1 -0
  211. package/.dist/esm/src/nodes/atomic/enumMember.d.ts +1 -0
  212. package/.dist/esm/src/nodes/atomic/enumMember.d.ts.map +1 -0
  213. package/.dist/esm/src/nodes/atomic/literal.d.ts +1 -0
  214. package/.dist/esm/src/nodes/atomic/literal.d.ts.map +1 -0
  215. package/.dist/esm/src/nodes/atomic/never.d.ts +1 -0
  216. package/.dist/esm/src/nodes/atomic/never.d.ts.map +1 -0
  217. package/.dist/esm/src/nodes/atomic/null.d.ts +1 -0
  218. package/.dist/esm/src/nodes/atomic/null.d.ts.map +1 -0
  219. package/.dist/esm/src/nodes/atomic/number.d.ts +1 -0
  220. package/.dist/esm/src/nodes/atomic/number.d.ts.map +1 -0
  221. package/.dist/esm/src/nodes/atomic/object.d.ts +1 -0
  222. package/.dist/esm/src/nodes/atomic/object.d.ts.map +1 -0
  223. package/.dist/esm/src/nodes/atomic/regexp.d.ts +1 -0
  224. package/.dist/esm/src/nodes/atomic/regexp.d.ts.map +1 -0
  225. package/.dist/esm/src/nodes/atomic/string.d.ts +1 -0
  226. package/.dist/esm/src/nodes/atomic/string.d.ts.map +1 -0
  227. package/.dist/esm/src/nodes/atomic/symbol.d.ts +1 -0
  228. package/.dist/esm/src/nodes/atomic/symbol.d.ts.map +1 -0
  229. package/.dist/esm/src/nodes/atomic/undefined.d.ts +1 -0
  230. package/.dist/esm/src/nodes/atomic/undefined.d.ts.map +1 -0
  231. package/.dist/esm/src/nodes/atomic/unknown.d.ts +1 -0
  232. package/.dist/esm/src/nodes/atomic/unknown.d.ts.map +1 -0
  233. package/.dist/esm/src/nodes/atomic/void.d.ts +1 -0
  234. package/.dist/esm/src/nodes/atomic/void.d.ts.map +1 -0
  235. package/.dist/esm/src/nodes/collection/class.d.ts +1 -0
  236. package/.dist/esm/src/nodes/collection/class.d.ts.map +1 -0
  237. package/.dist/esm/src/nodes/collection/functionParams.d.ts +1 -0
  238. package/.dist/esm/src/nodes/collection/functionParams.d.ts.map +1 -0
  239. package/.dist/esm/src/nodes/collection/interface.d.ts +1 -0
  240. package/.dist/esm/src/nodes/collection/interface.d.ts.map +1 -0
  241. package/.dist/esm/src/nodes/collection/intersection.d.ts +1 -0
  242. package/.dist/esm/src/nodes/collection/intersection.d.ts.map +1 -0
  243. package/.dist/esm/src/nodes/collection/tuple.d.ts +1 -0
  244. package/.dist/esm/src/nodes/collection/tuple.d.ts.map +1 -0
  245. package/.dist/esm/src/nodes/collection/union.d.ts +1 -0
  246. package/.dist/esm/src/nodes/collection/union.d.ts.map +1 -0
  247. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +1 -0
  248. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts.map +1 -0
  249. package/.dist/esm/src/nodes/function/function.d.ts +1 -0
  250. package/.dist/esm/src/nodes/function/function.d.ts.map +1 -0
  251. package/.dist/esm/src/nodes/member/array.d.ts +1 -0
  252. package/.dist/esm/src/nodes/member/array.d.ts.map +1 -0
  253. package/.dist/esm/src/nodes/member/callSignature.d.ts +1 -0
  254. package/.dist/esm/src/nodes/member/callSignature.d.ts.map +1 -0
  255. package/.dist/esm/src/nodes/member/genericMember.d.ts +1 -0
  256. package/.dist/esm/src/nodes/member/genericMember.d.ts.map +1 -0
  257. package/.dist/esm/src/nodes/member/indexProperty.d.ts +1 -0
  258. package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +1 -0
  259. package/.dist/esm/src/nodes/member/method.d.ts +1 -0
  260. package/.dist/esm/src/nodes/member/method.d.ts.map +1 -0
  261. package/.dist/esm/src/nodes/member/methodSignature.d.ts +1 -0
  262. package/.dist/esm/src/nodes/member/methodSignature.d.ts.map +1 -0
  263. package/.dist/esm/src/nodes/member/param.d.ts +1 -0
  264. package/.dist/esm/src/nodes/member/param.d.ts.map +1 -0
  265. package/.dist/esm/src/nodes/member/property.d.ts +1 -0
  266. package/.dist/esm/src/nodes/member/property.d.ts.map +1 -0
  267. package/.dist/esm/src/nodes/member/restParams.d.ts +1 -0
  268. package/.dist/esm/src/nodes/member/restParams.d.ts.map +1 -0
  269. package/.dist/esm/src/nodes/member/tupleMember.d.ts +1 -0
  270. package/.dist/esm/src/nodes/member/tupleMember.d.ts.map +1 -0
  271. package/.dist/esm/src/nodes/native/Iterable.d.ts +1 -0
  272. package/.dist/esm/src/nodes/native/Iterable.d.ts.map +1 -0
  273. package/.dist/esm/src/nodes/native/map.d.ts +1 -0
  274. package/.dist/esm/src/nodes/native/map.d.ts.map +1 -0
  275. package/.dist/esm/src/nodes/native/nonSerializable.d.ts +1 -0
  276. package/.dist/esm/src/nodes/native/nonSerializable.d.ts.map +1 -0
  277. package/.dist/esm/src/nodes/native/promise.d.ts +1 -0
  278. package/.dist/esm/src/nodes/native/promise.d.ts.map +1 -0
  279. package/.dist/esm/src/nodes/native/set.d.ts +1 -0
  280. package/.dist/esm/src/nodes/native/set.d.ts.map +1 -0
  281. package/.dist/esm/src/run-types-pure-fns.d.ts +1 -0
  282. package/.dist/esm/src/run-types-pure-fns.d.ts.map +1 -0
  283. package/.dist/esm/src/types.d.ts +1 -0
  284. package/.dist/esm/src/types.d.ts.map +1 -0
  285. package/index.ts +70 -0
  286. package/package.json +11 -4
  287. package/src/constants.functions.ts +196 -0
  288. package/src/constants.kind.ts +76 -0
  289. package/src/constants.ts +85 -0
  290. package/src/createRunType.ts +323 -0
  291. package/src/createRunTypeFunctions.ts +93 -0
  292. package/src/formats.runtype.ts +35 -0
  293. package/src/jitCompilers/binary/binarySPEC.md +138 -0
  294. package/src/jitCompilers/binary/binarySpec/binaryHelpers.ts +118 -0
  295. package/src/jitCompilers/binary/fromBinary.ts +492 -0
  296. package/src/jitCompilers/binary/toBinary.ts +435 -0
  297. package/src/jitCompilers/equalsHelpers.ts +62 -0
  298. package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +64 -0
  299. package/src/jitCompilers/json/stringifyJson.ts +475 -0
  300. package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +59 -0
  301. package/src/jitCompilers/json/toJsCode.ts +182 -0
  302. package/src/jitCompilers/serialization-suite.ts +1637 -0
  303. package/src/jitCompilers/xyz-Template/fromXYZ.ts +211 -0
  304. package/src/jitCompilers/xyz-Template/toXYZ.ts +216 -0
  305. package/src/jitCompilers/xyz-Template/xyzReadme.md +6 -0
  306. package/src/jitCompilers/xyz-Template/xyzSpec/xyzHelpers.ts +66 -0
  307. package/src/lib/baseRunTypeFormat.ts +320 -0
  308. package/src/lib/baseRunTypes.ts +367 -0
  309. package/src/lib/createJitFunction.ts +87 -0
  310. package/src/lib/dkProxy.ts +47 -0
  311. package/src/lib/formats.ts +144 -0
  312. package/src/lib/guards.ts +290 -0
  313. package/src/lib/jitFnCompiler.ts +783 -0
  314. package/src/lib/jitFnsRegistry.ts +53 -0
  315. package/src/lib/typeId.ts +225 -0
  316. package/src/lib/utils.ts +402 -0
  317. package/src/mocking/constants.mock.ts +87 -0
  318. package/src/mocking/mockRegistry.ts +20 -0
  319. package/src/mocking/mockType.ts +354 -0
  320. package/src/mocking/mockUtils.ts +82 -0
  321. package/src/nodes/atomic/any.ts +22 -0
  322. package/src/nodes/atomic/bigInt.ts +26 -0
  323. package/src/nodes/atomic/boolean.ts +26 -0
  324. package/src/nodes/atomic/date.ts +26 -0
  325. package/src/nodes/atomic/enum.ts +23 -0
  326. package/src/nodes/atomic/enumMember.ts +29 -0
  327. package/src/nodes/atomic/literal.ts +125 -0
  328. package/src/nodes/atomic/never.ts +26 -0
  329. package/src/nodes/atomic/null.ts +26 -0
  330. package/src/nodes/atomic/number.ts +26 -0
  331. package/src/nodes/atomic/object.ts +20 -0
  332. package/src/nodes/atomic/regexp.ts +29 -0
  333. package/src/nodes/atomic/string.ts +20 -0
  334. package/src/nodes/atomic/symbol.ts +31 -0
  335. package/src/nodes/atomic/undefined.ts +23 -0
  336. package/src/nodes/atomic/unknown.ts +10 -0
  337. package/src/nodes/atomic/void.ts +26 -0
  338. package/src/nodes/collection/class.ts +36 -0
  339. package/src/nodes/collection/functionParams.ts +42 -0
  340. package/src/nodes/collection/interface.ts +300 -0
  341. package/src/nodes/collection/intersection.ts +30 -0
  342. package/src/nodes/collection/tuple.ts +80 -0
  343. package/src/nodes/collection/union.ts +205 -0
  344. package/src/nodes/collection/unionDiscriminator.ts +259 -0
  345. package/src/nodes/function/function.ts +166 -0
  346. package/src/nodes/member/array.ts +150 -0
  347. package/src/nodes/member/callSignature.ts +34 -0
  348. package/src/nodes/member/genericMember.ts +63 -0
  349. package/src/nodes/member/indexProperty.ts +125 -0
  350. package/src/nodes/member/method.ts +30 -0
  351. package/src/nodes/member/methodSignature.ts +31 -0
  352. package/src/nodes/member/param.ts +22 -0
  353. package/src/nodes/member/property.ts +75 -0
  354. package/src/nodes/member/restParams.ts +22 -0
  355. package/src/nodes/member/tupleMember.ts +93 -0
  356. package/src/nodes/native/Iterable.ts +153 -0
  357. package/src/nodes/native/map.ts +91 -0
  358. package/src/nodes/native/nonSerializable.ts +42 -0
  359. package/src/nodes/native/promise.ts +43 -0
  360. package/src/nodes/native/set.ts +56 -0
  361. package/src/run-types-pure-fns.ts +116 -0
  362. package/src/types.ts +206 -0
@@ -0,0 +1,182 @@
1
+ /* ########
2
+ * 2025 mion
3
+ * Author: Ma-jerez
4
+ * License: MIT
5
+ * The software is provided "as is", without warranty of any kind.
6
+ * ######## */
7
+
8
+ import type {JitCode} from '../../types.ts';
9
+ import type {BaseRunType} from '../../lib/baseRunTypes.ts';
10
+ import type {ClassRunType} from '../../nodes/collection/class.ts';
11
+ import type {MethodSignatureRunType} from '../../nodes/member/methodSignature.ts';
12
+ import type {IterableRunType} from '../../nodes/native/Iterable.ts';
13
+ import {ReflectionKind, type TypeMethodSignature, type TypeObjectLiteral, type TypePropertySignature} from '@deepkit/type';
14
+ import {ReflectionSubKind} from '../../constants.kind.ts';
15
+ import {JitFunctions} from '../../constants.functions.ts';
16
+ import {JitFnCompiler} from '../../lib/jitFnCompiler.ts';
17
+ import {isSafePropName} from '../../lib/utils.ts';
18
+ import {createStringifyCompiler, createStringifyIterable} from './stringifyJson.ts';
19
+ import {cpf_sanitizeCompiledFn} from '../../run-types-pure-fns.ts';
20
+
21
+ export function createToCodeCompiler() {
22
+ const fnID = JitFunctions.toJSCode.id;
23
+ const visitJsonStringify = createStringifyCompiler(fnID);
24
+ const visitJsonStringifyIterable = createStringifyIterable(fnID);
25
+
26
+ /**
27
+ * Compiles jit code to generate JavaScript code from data structures that match a Type.
28
+ * Process is similar to transform JS to JSON, but with few differences.
29
+ *
30
+ * 1 - jitFunctions and pureFunctions are emitted as src code
31
+ * 2 - Some native classes are supported and initialized using the new operator, ie: new Map(<data>), new Set(<data>), new Date(<data>), etc...
32
+ *
33
+ * THIS IS MOSTLY USED INTERNALLY FOR AOT CODE GENERATION AND A VERY BASIC IMPLEMENTATION.
34
+ * !!! NOT INTENDED FOR PUBLIC USE !!!
35
+ */
36
+ function compileToCode(runType: BaseRunType, comp: JitFnCompiler): JitCode {
37
+ const src = runType.src;
38
+ const kind = src.kind;
39
+
40
+ switch (kind) {
41
+ // ###################### ATOMIC RUNTYPES ######################
42
+ case ReflectionKind.undefined:
43
+ return {code: `'undefined'`, type: 'E'};
44
+ case ReflectionKind.symbol:
45
+ return {code: `'Symbol('+'"'+${comp.vλl}.description+'"'+')'`, type: 'E'};
46
+ // ###################### MEMBER RUNTYPES ######################
47
+ case ReflectionKind.methodSignature: {
48
+ const rt = runType as MethodSignatureRunType;
49
+ const srcMS = src as TypeMethodSignature;
50
+ const accessor = srcMS.name;
51
+ const name = String(accessor);
52
+ const isSafe = isSafePropName(accessor);
53
+ const safeName = isSafe ? name : JSON.stringify(name);
54
+ const sep = rt.skipCommas ? '' : '+","';
55
+ if (isCompilingFnProp(rt, comp)) {
56
+ // special case for JitFunctions/PureFunctions that we know should return undefined for fn param
57
+ return {code: `'undefined'`, type: 'E'};
58
+ } else if (isCompilingClosureFn(rt, comp)) {
59
+ // special case for JitFunctions/PureFunctions where we generate the fn from the data instead of fn.toString()
60
+ // When using Pick/Omit, deepkit wraps methodSignature in a propertySignature,
61
+ // so comp.vλl points to the fn value instead of the parent object. Use getParentObjRef to get the right ref.
62
+ const parentRef = getParentObjRef(srcMS, comp);
63
+ const isPureFn = rt.getChildVarName(comp) === 'createPureFn';
64
+ const fnName = isPureFn ? `${parentRef}.fnName` : `${parentRef}.jitFnHash`;
65
+ const fnCode = `${parentRef}.code`;
66
+ const paramList = isPureFn ? `${parentRef}.paramNames.join(',')` : `'utl'`;
67
+ const closureCode = `'function get_'+${fnName}+'('+${paramList}+'){'+${fnCode}+'}'`;
68
+ // When wrapped in a propertySignature (Pick/Omit types), the outer handler already emits the property name
69
+ const isWrapped = parentRef !== comp.vλl;
70
+ if (isWrapped) return {code: closureCode, type: 'E'};
71
+ return {code: `'${safeName}:'+${closureCode}${sep}`, type: 'E'};
72
+ } else if (rt.src.subKind === ReflectionSubKind.params) {
73
+ const paramsCode = visitJsonStringify(rt, comp);
74
+ if (rt.isOptional())
75
+ return {
76
+ code: `(${comp.getChildVλl()} === undefined ? "" : '${safeName}:'+${paramsCode?.code}${sep})`,
77
+ type: 'E',
78
+ };
79
+ return {code: `'${safeName}:'+${paramsCode?.code}${sep}`, type: 'E'};
80
+ } else {
81
+ const fnName = comp.addPureFunction(cpf_sanitizeCompiledFn);
82
+ const parent = srcMS.parent as any as TypePropertySignature;
83
+
84
+ // in some scenarios the parent is a propertySignature instead the Expected TypeObjectLiteral so we have to handle that
85
+ // this seems to be a deepkit bug when using omit and then redefining the property @see SrcCodeJitCompiledFn type
86
+ const isDuplicatedChild = parent?.kind === ReflectionKind.propertySignature && parent?.name === srcMS.name;
87
+ if (isDuplicatedChild) return {code: `${fnName}(${comp.vλl}.toString())`, type: 'E'};
88
+ const accessorCode = isSafe ? `.${safeName}` : `[${safeName}]`;
89
+ const fnCode = `${fnName}(${comp.vλl}${accessorCode}.toString())`;
90
+ if (rt.isOptional())
91
+ return {code: `(${comp.getChildVλl()} === undefined ? "" : '${safeName}:'+${fnCode}${sep})`, type: 'E'};
92
+ return {code: `'${safeName}:'+${fnCode}${sep}`, type: 'E'};
93
+ }
94
+ }
95
+ case ReflectionKind.function:
96
+ case ReflectionKind.method:
97
+ case ReflectionKind.callSignature:
98
+ if (runType.src.subKind === ReflectionSubKind.params) {
99
+ return visitJsonStringify(runType, comp);
100
+ } else {
101
+ // TODO: we are relying in fn.toString() to generate code, this might not work properly in all js engines
102
+ return {code: `${comp.vλl}.toString()`, type: 'E'};
103
+ }
104
+ // ###################### COLLECTION RUNTYPES ######################
105
+ case ReflectionKind.class: {
106
+ switch (runType.src.subKind) {
107
+ case ReflectionSubKind.date:
108
+ return {code: `'new Date('+${visitJsonStringify(runType, comp).code}+')'`, type: 'E'};
109
+ case ReflectionSubKind.map: {
110
+ return visitJsonStringifyIterable(runType as unknown as IterableRunType, comp, 'new Map(', ')');
111
+ }
112
+ case ReflectionSubKind.set: {
113
+ return visitJsonStringifyIterable(runType as unknown as IterableRunType, comp, 'new Set(', ')');
114
+ }
115
+ case ReflectionSubKind.nonSerializable:
116
+ throw new Error(`Can not generate code for Non Serializable types.`);
117
+ default: {
118
+ const rt = runType as unknown as ClassRunType;
119
+ throw new Error(`Can not generate code for classes. Class: ${rt.getClassName()}`);
120
+ }
121
+ }
122
+ }
123
+ default:
124
+ return visitJsonStringify(runType, comp);
125
+ }
126
+ }
127
+
128
+ return compileToCode;
129
+ }
130
+
131
+ // lazy loading as this function wont be used often just for (AOT)
132
+ // TODO move to async code loading (but this would need a big refactor of the router)
133
+ let lazyFn: undefined | ((runType: BaseRunType, comp: JitFnCompiler) => JitCode) = undefined;
134
+ export function emitToCode(runType: BaseRunType, comp: JitFnCompiler): JitCode {
135
+ if (!lazyFn) lazyFn = createToCodeCompiler();
136
+ return lazyFn(runType, comp);
137
+ }
138
+
139
+ /** Gets sibling property/method names from a MethodSignature's parent ObjectLiteral */
140
+ function getParentSiblingNames(srcMS: TypeMethodSignature): Set<string | number | symbol> | undefined {
141
+ let parent = srcMS.parent as any;
142
+ // Handle deepkit bug where parent can be TypePropertySignature instead of TypeObjectLiteral
143
+ if (parent?.kind === ReflectionKind.propertySignature) parent = parent.parent;
144
+ if (parent?.kind !== ReflectionKind.objectLiteral) return undefined;
145
+ const types = (parent as TypeObjectLiteral).types;
146
+ if (!types) return undefined;
147
+ return new Set(types.map((t: any) => t.name).filter((n: any) => n !== undefined));
148
+ }
149
+
150
+ /** Detects if we're compiling a createJitFn or createPureFn closure by checking sibling properties */
151
+ function isCompilingClosureFn(runType: MethodSignatureRunType, comp: JitFnCompiler): boolean {
152
+ const childName = runType.getChildVarName(comp);
153
+ if (childName !== 'createJitFn' && childName !== 'createPureFn') return false;
154
+ const siblings = getParentSiblingNames(runType.src as TypeMethodSignature);
155
+ if (!siblings) return false;
156
+ if (childName === 'createJitFn') return siblings.has('jitFnHash');
157
+ return siblings.has('bodyHash'); // createPureFn
158
+ }
159
+
160
+ /** Detects if we're compiling the fn property of a JitCompiledFn or CompiledPureFunction */
161
+ function isCompilingFnProp(runType: MethodSignatureRunType, comp: JitFnCompiler): boolean {
162
+ if (runType.getChildVarName(comp) !== 'fn') return false;
163
+ const siblings = getParentSiblingNames(runType.src as TypeMethodSignature);
164
+ if (!siblings) return false;
165
+ return (
166
+ (siblings.has('createJitFn') && siblings.has('jitFnHash')) || (siblings.has('createPureFn') && siblings.has('bodyHash'))
167
+ );
168
+ }
169
+
170
+ /**
171
+ * Gets the runtime reference to the parent object that contains the methodSignature.
172
+ * When using Pick/Omit, deepkit wraps methodSignature in a propertySignature,
173
+ * causing comp.vλl to point to the fn value (e.g. `obj.createJitFn`) instead of the parent object (`obj`).
174
+ * Detects this by comparing the current vλl with the previous stack item's vλl.
175
+ * If they differ, we are inside a propertySignature wrapper and use the parent stack item's vλl.
176
+ */
177
+ function getParentObjRef(_srcMS: TypeMethodSignature, comp: JitFnCompiler): string {
178
+ const stack = comp.stack;
179
+ const parentItem = stack[stack.length - 2];
180
+ if (parentItem && parentItem.vλl !== comp.vλl) return parentItem.vλl;
181
+ return comp.vλl;
182
+ }