@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,310 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const type = require("@deepkit/type");
4
+ const src_mocking_mockUtils = require("./mockUtils.cjs");
5
+ const src_mocking_constants_mock = require("./constants.mock.cjs");
6
+ const src_nodes_collection_class = require("../nodes/collection/class.cjs");
7
+ const src_constants_kind = require("../constants.kind.cjs");
8
+ const src_nodes_native_nonSerializable = require("../nodes/native/nonSerializable.cjs");
9
+ const src_nodes_member_indexProperty = require("../nodes/member/indexProperty.cjs");
10
+ const src_lib_formats = require("../lib/formats.cjs");
11
+ const src_constants = require("../constants.cjs");
12
+ const src_constants_functions = require("../constants.functions.cjs");
13
+ const core = require("@mionjs/core");
14
+ const src_lib_jitFnCompiler = require("../lib/jitFnCompiler.cjs");
15
+ function mockType(runType, comp, stack = []) {
16
+ stack.push(runType);
17
+ const mockNestLevel = stack.filter((rt) => rt === runType).length;
18
+ const rtOpts = comp.opts;
19
+ const updatedOps = mockNestLevel ? getMockOptionsForNestedElements(rtOpts, mockNestLevel) : comp.opts;
20
+ comp.opts = updatedOps;
21
+ const typeValidator = src_lib_formats.getRunTypeFormat(runType);
22
+ let mocked = typeValidator ? typeValidator.mock(updatedOps, runType) : _mockType(runType, comp, stack);
23
+ comp.opts = rtOpts;
24
+ const typeTransformer = src_lib_formats.getRunTypeTransformer(runType);
25
+ if (typeTransformer) {
26
+ const compiledFormatter = runType.createJitCompiledFunction(src_constants_functions.JitFunctions.format.id);
27
+ mocked = compiledFormatter.isNoop ? mocked : compiledFormatter.fn(mocked);
28
+ }
29
+ stack.pop();
30
+ return mocked;
31
+ }
32
+ function getMockOptionsForNestedElements(opts, nestLevel) {
33
+ const mOps = opts.mock;
34
+ const maxDepth = mOps.maxMockRecursion;
35
+ const divisor = nestLevel;
36
+ const { optionalProbability, maxRandomItemsLength: maxRandomArrayLength, optionalPropertyProbability, arrayLength } = mOps;
37
+ const newProv = nestLevel >= maxDepth ? 0 : optionalProbability / divisor;
38
+ const newMaxLength = nestLevel >= maxDepth ? 0 : Math.round(maxRandomArrayLength / divisor);
39
+ const ret = {
40
+ mock: {
41
+ ...mOps,
42
+ optionalProbability: newProv,
43
+ maxRandomItemsLength: newMaxLength
44
+ }
45
+ };
46
+ if (optionalPropertyProbability) {
47
+ const entries = Object.entries(optionalPropertyProbability).map(([key, value]) => {
48
+ const newProv2 = nestLevel > maxDepth ? 0 : value / divisor;
49
+ return [key, value / newProv2];
50
+ });
51
+ ret.mock.optionalPropertyProbability = Object.fromEntries(entries);
52
+ }
53
+ if (arrayLength) {
54
+ const newLength = nestLevel >= maxDepth ? 0 : Math.round(arrayLength / divisor);
55
+ ret.mock.arrayLength = newLength;
56
+ }
57
+ if (ret.mock.parentObj) ret.mock.parentObj = {};
58
+ return ret;
59
+ }
60
+ function _mockType(runType, comp, stack) {
61
+ const mOps = comp.opts.mock;
62
+ const recursionLevel = stack.filter((rt) => rt === runType).length;
63
+ const src = runType.src;
64
+ const kind = src.kind;
65
+ if (recursionLevel > mOps.maxMockRecursion) return void 0;
66
+ switch (kind) {
67
+ case type.ReflectionKind.never:
68
+ throw new Error("Cannot mock never type." + printStackTrace(comp, stack));
69
+ case type.ReflectionKind.any:
70
+ case type.ReflectionKind.unknown:
71
+ return src_mocking_mockUtils.mockAny(mOps.anyValuesList);
72
+ // Atomic types
73
+ case type.ReflectionKind.string:
74
+ return src_mocking_mockUtils.mockString(mOps.stringLength || src_mocking_mockUtils.random(1, mOps.maxRandomStringLength), mOps.stringCharSet || src_mocking_constants_mock.stringCharSet);
75
+ case type.ReflectionKind.number:
76
+ return src_mocking_mockUtils.mockNumber(mOps.minNumber, mOps.maxNumber);
77
+ case type.ReflectionKind.boolean:
78
+ return src_mocking_mockUtils.mockBoolean();
79
+ case type.ReflectionKind.bigint:
80
+ return src_mocking_mockUtils.mockBigInt(mOps.minNumber, mOps.maxNumber);
81
+ case type.ReflectionKind.null:
82
+ return null;
83
+ case type.ReflectionKind.undefined:
84
+ return void 0;
85
+ case type.ReflectionKind.void:
86
+ return void 0;
87
+ case type.ReflectionKind.regexp:
88
+ return src_mocking_mockUtils.mockRegExp(mOps.regexpList);
89
+ case type.ReflectionKind.symbol:
90
+ return src_mocking_mockUtils.mockSymbol(mOps.symbolName, mOps.symbolLength, mOps.symbolCharSet);
91
+ case type.ReflectionKind.literal:
92
+ return src.literal;
93
+ case type.ReflectionKind.object:
94
+ return mOps.objectList[src_mocking_mockUtils.random(0, mOps.objectList.length - 1)];
95
+ case type.ReflectionKind.enum: {
96
+ const rt = runType;
97
+ const i = mOps.enumIndex || src_mocking_mockUtils.random(0, rt.src.values.length - 1);
98
+ return rt.src.values[i];
99
+ }
100
+ case type.ReflectionKind.enumMember:
101
+ throw new Error("Mock enum member is not supported." + printStackTrace(comp, stack));
102
+ // Collection types
103
+ case type.ReflectionKind.array: {
104
+ const rt = runType;
105
+ const length = mOps.arrayLength ?? src_mocking_mockUtils.random(0, mOps.maxRandomItemsLength);
106
+ if (length === 0) return [];
107
+ return Array.from({ length }, () => mockType(rt.getMemberType(), comp, stack));
108
+ }
109
+ case type.ReflectionKind.tuple: {
110
+ const rt = runType;
111
+ const options = mOps.tupleOptions;
112
+ const params = rt.getChildRunTypes().map((p, i) => mockType(p, getChildOpts(comp, options?.[i]), stack));
113
+ if (rt.hasRestParameter(comp)) {
114
+ return [...params.slice(0, -1), ...params[params.length - 1]];
115
+ }
116
+ return params;
117
+ }
118
+ case type.ReflectionKind.intersection:
119
+ case type.ReflectionKind.objectLiteral: {
120
+ if (runType instanceof src_nodes_native_nonSerializable.NonSerializableRunType) {
121
+ throw new Error(`Mock is disabled for Non Serializable types.` + printStackTrace(comp, stack));
122
+ } else {
123
+ const rt = runType;
124
+ if (rt.isCallable()) return mockType(rt.getCallSignature(), comp, stack);
125
+ let obj = mOps.parentObj || {};
126
+ rt.getChildRunTypes().forEach((prop) => {
127
+ if (prop instanceof src_nodes_member_indexProperty.IndexSignatureRunType) {
128
+ obj = { ...obj, ...mockType(prop, comp, stack) };
129
+ return;
130
+ }
131
+ const name = prop.getChildVarName(comp);
132
+ const isMethod = prop.src.kind === type.ReflectionKind.method || prop.src.kind === type.ReflectionKind.methodSignature;
133
+ if (isMethod) return;
134
+ obj[name] = mockType(prop, comp, stack);
135
+ });
136
+ return obj;
137
+ }
138
+ }
139
+ case type.ReflectionKind.class:
140
+ return _mockClass(runType, comp, stack);
141
+ case type.ReflectionKind.union: {
142
+ const rt = runType;
143
+ if (mOps.unionIndex && (mOps.unionIndex < 0 || mOps.unionIndex >= rt.getChildRunTypes().length)) {
144
+ throw new Error(
145
+ "unionIndex must be between 0 and the number of types in the union." + printStackTrace(comp, stack)
146
+ );
147
+ }
148
+ const index = mOps?.unionIndex ?? src_mocking_mockUtils.random(0, rt.getChildRunTypes().length - 1);
149
+ return mockType(rt.getChildRunTypes()[index], comp, stack);
150
+ }
151
+ case type.ReflectionKind.function:
152
+ case type.ReflectionKind.callSignature:
153
+ case type.ReflectionKind.method:
154
+ case type.ReflectionKind.methodSignature:
155
+ if (runType.src.subKind === src_constants_kind.ReflectionSubKind.params) {
156
+ const rt = runType;
157
+ const options = mOps.tupleOptions;
158
+ const params = rt.getParamRunTypes(comp).map((p, i) => mockType(p, getChildOpts(comp, options?.[i]), stack));
159
+ if (rt.hasRestParameter(comp)) {
160
+ return [...params.slice(0, -1), ...params[params.length - 1]];
161
+ }
162
+ return params;
163
+ } else if (runType.src.kind === type.ReflectionKind.method || runType.src.kind === type.ReflectionKind.methodSignature) {
164
+ return void 0;
165
+ } else {
166
+ throw new Error("Mock is not allowed, call mockParams or mockReturn instead." + printStackTrace(comp, stack));
167
+ }
168
+ case type.ReflectionKind.promise: {
169
+ const rt = runType;
170
+ const timeOut = mOps.promiseTimeOut || 1;
171
+ return new Promise((resolve, reject) => {
172
+ if (timeOut > 0) {
173
+ setTimeout(() => {
174
+ if (mOps.promiseReject) reject(mOps.promiseReject);
175
+ else resolve(mockType(rt.getMemberType(), comp, stack));
176
+ }, timeOut);
177
+ return;
178
+ }
179
+ if (mOps.promiseReject) reject(mOps.promiseReject);
180
+ else resolve(mockType(rt.getMemberType(), comp, stack));
181
+ });
182
+ }
183
+ // Member types
184
+ case type.ReflectionKind.tupleMember:
185
+ case type.ReflectionKind.parameter: {
186
+ const rt = runType;
187
+ if (!rt.getJitChild(comp)) return void 0;
188
+ if (rt.isOptional() && !rt.isRest()) {
189
+ const probability = mOps.optionalProbability;
190
+ if (probability < 0 || probability > 1)
191
+ throw new Error("optionalProbability must be between 0 and 1" + printStackTrace(comp, stack));
192
+ if (Math.random() > probability) {
193
+ return void 0;
194
+ }
195
+ }
196
+ return mockType(rt.getMemberType(), comp, stack);
197
+ }
198
+ case type.ReflectionKind.propertySignature:
199
+ case type.ReflectionKind.property: {
200
+ const rt = runType;
201
+ const probability = mOps.optionalPropertyProbability?.[rt.getChildVarName(comp)] ?? mOps.optionalProbability;
202
+ if (probability < 0 || probability > 1)
203
+ throw new Error("optionalProbability must be between 0 and 1" + printStackTrace(comp, stack));
204
+ if (rt.src.optional && Math.random() > probability) return void 0;
205
+ return mockType(rt.getMemberType(), comp, stack);
206
+ }
207
+ case type.ReflectionKind.rest: {
208
+ const rt = runType;
209
+ const length = src_mocking_mockUtils.random(0, mOps.maxRandomItemsLength);
210
+ const items = [];
211
+ for (let i = 0; i < length; i++) {
212
+ items.push(mockType(rt.getMemberType(), comp, stack));
213
+ }
214
+ return items;
215
+ }
216
+ case type.ReflectionKind.indexSignature: {
217
+ const rt = runType;
218
+ const length = src_mocking_mockUtils.random(0, mOps.maxRandomItemsLength);
219
+ const parentObj = mOps.parentObj || {};
220
+ for (let i = 0; i < length; i++) {
221
+ let propName;
222
+ switch (true) {
223
+ case !!(rt.src.index.kind === type.ReflectionKind.number):
224
+ propName = i;
225
+ break;
226
+ case !!(rt.src.index.kind === type.ReflectionKind.string):
227
+ propName = `key${i}`;
228
+ break;
229
+ case !!(rt.src.index.kind === type.ReflectionKind.symbol):
230
+ propName = /* @__PURE__ */ Symbol.for(`key${i}`);
231
+ break;
232
+ default:
233
+ throw new Error("Invalid index signature type.");
234
+ }
235
+ parentObj[propName] = mockType(rt.getMemberType(), comp, stack);
236
+ }
237
+ return parentObj;
238
+ }
239
+ case type.ReflectionKind.infer:
240
+ case type.ReflectionKind.templateLiteral:
241
+ case type.ReflectionKind.typeParameter:
242
+ default:
243
+ throw new Error(`Cant mock Unsupported RunType: ${runType.getTypeName()}` + printStackTrace(comp, stack));
244
+ }
245
+ }
246
+ function _mockClass(runType, comp, stack) {
247
+ const mOps = comp.opts.mock;
248
+ switch (runType.src.subKind) {
249
+ case src_constants_kind.ReflectionSubKind.date:
250
+ return src_mocking_mockUtils.mockDate(mOps.minDate, mOps.maxDate);
251
+ case src_constants_kind.ReflectionSubKind.map: {
252
+ const rt = runType;
253
+ const mockMap = /* @__PURE__ */ new Map();
254
+ const length = mOps.arrayLength ?? src_mocking_mockUtils.random(0, mOps.maxRandomItemsLength);
255
+ for (let i = 0; i < length; i++) {
256
+ const keyType = mockType(rt.keyRT, comp, stack);
257
+ const valueType = mockType(rt.valueRT, comp, stack);
258
+ mockMap.set(keyType, valueType);
259
+ }
260
+ return mockMap;
261
+ }
262
+ case src_constants_kind.ReflectionSubKind.set: {
263
+ const rt = runType;
264
+ const mockSet = /* @__PURE__ */ new Set();
265
+ const length = mOps.arrayLength ?? src_mocking_mockUtils.random(0, mOps.maxRandomItemsLength);
266
+ for (let i = 0; i < length; i++) {
267
+ const value = mockType(rt.keyRT, comp, stack);
268
+ mockSet.add(value);
269
+ }
270
+ return mockSet;
271
+ }
272
+ case src_constants_kind.ReflectionSubKind.nonSerializable:
273
+ throw new Error(`Mock is disabled for Non Serializable types.` + printStackTrace(comp, stack));
274
+ default: {
275
+ if (!(runType instanceof src_nodes_collection_class.ClassRunType)) {
276
+ throw new Error(`Cant mock Unsupported RunType: ${runType.getTypeName()}` + printStackTrace(comp, stack));
277
+ }
278
+ const rt = runType;
279
+ const isSerializable = rt.isClassWithEmptyConstructor();
280
+ const deserializeFn = core.getJitUtils().getDeserializeFn(rt.getClassName());
281
+ if (!deserializeFn && !isSerializable) {
282
+ throw new Error(
283
+ `Class ${rt.getClassName()} can not be mocked. Be sure to register a deserialize function first with jiUtils.${core.getJitUtils().setDeserializeFn.name}` + printStackTrace(comp, stack)
284
+ );
285
+ }
286
+ const instance = deserializeFn ? {} : new rt.src.classType();
287
+ rt.getJitChildren(comp).forEach((prop) => {
288
+ const name = prop.getChildVarName(comp);
289
+ if (prop instanceof src_nodes_member_indexProperty.IndexSignatureRunType) mockType(prop, comp, stack);
290
+ const mocked = mockType(prop, comp, stack);
291
+ if (prop.src.optional && mocked === void 0) return;
292
+ instance[name] = mockType(prop, comp, stack);
293
+ });
294
+ if (deserializeFn) return deserializeFn(instance);
295
+ if (isSerializable) return instance;
296
+ throw new Error(`Class ${rt.getClassName()} can not be mocked.` + printStackTrace(comp, stack));
297
+ }
298
+ }
299
+ }
300
+ function getChildOpts(comp, mockOpts) {
301
+ if (!mockOpts) return comp;
302
+ const newOpts = { ...comp.opts, mock: mockOpts };
303
+ return new src_lib_jitFnCompiler.MockJitCompiler(comp.rootType, newOpts, comp, comp.jitFnHash, comp.typeID);
304
+ }
305
+ function printStackTrace(comp, stack) {
306
+ const separator = ".";
307
+ return src_constants.JIT_STACK_TRACE_MESSAGE + stack.map((rt) => comp.getTypeTraceInfo(rt)).join(separator);
308
+ }
309
+ exports.mockType = mockType;
310
+ //# sourceMappingURL=mockType.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockType.cjs","sources":["../../../../src/mocking/mockType.ts"],"sourcesContent":["/* ########\n * 2025 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {ReflectionKind} from '@deepkit/type';\nimport type {MockOptions, Mutable, RunTypeOptions} from '../types.ts';\nimport type {BaseRunType} from '../lib/baseRunTypes.ts';\nimport {mockString, mockNumber, mockBoolean, mockBigInt, mockDate, random, mockRegExp, mockSymbol, mockAny} from './mockUtils.ts';\nimport {stringCharSet} from './constants.mock.ts';\nimport {ClassRunType} from '../nodes/collection/class.ts';\nimport type {PropertyRunType} from '../nodes/member/property.ts';\nimport type {MapRunType} from '../nodes/native/map.ts';\nimport type {SetRunType} from '../nodes/native/set.ts';\nimport type {InterfaceRunType} from '../nodes/collection/interface.ts';\nimport type {TupleRunType} from '../nodes/collection/tuple.ts';\nimport type {FunctionParamsRunType} from '../nodes/collection/functionParams.ts';\nimport type {UnionRunType} from '../nodes/collection/union.ts';\nimport type {EnumRunType} from '../nodes/atomic/enum.ts';\nimport type {PromiseRunType} from '../nodes/native/promise.ts';\nimport type {ParameterRunType} from '../nodes/member/param.ts';\nimport type {RestParamsRunType} from '../nodes/member/restParams.ts';\nimport {ReflectionSubKind} from '../constants.kind.ts';\nimport {NonSerializableRunType} from '../nodes/native/nonSerializable.ts';\nimport {IndexSignatureRunType} from '../nodes/member/indexProperty.ts';\nimport {getRunTypeFormat, getRunTypeTransformer} from '../lib/formats.ts';\nimport {JIT_STACK_TRACE_MESSAGE} from '../constants.ts';\nimport {JitFunctions} from '../constants.functions.ts';\nimport type {ArrayRunType} from '../nodes/member/array.ts';\nimport {getJitUtils} from '@mionjs/core';\nimport {MockJitCompiler, type JitFnCompiler} from '../lib/jitFnCompiler.ts';\n\nexport function mockType(runType: BaseRunType, comp: JitFnCompiler, stack: BaseRunType[] = []): any {\n // TODO: we could use JitCompiler functionality here to controls the stack etc\n stack.push(runType);\n const mockNestLevel = stack.filter((rt) => rt === runType).length;\n const rtOpts = comp.opts;\n const updatedOps = mockNestLevel ? getMockOptionsForNestedElements(rtOpts, mockNestLevel) : comp.opts;\n (comp as Mutable<JitFnCompiler>).opts = updatedOps;\n // Just one type validator allowed per type, and is responsible to mock the value,\n // ie: email and uuid should contain the logic to generate a valid value\n const typeValidator = getRunTypeFormat(runType);\n let mocked = typeValidator ? typeValidator.mock(updatedOps, runType) : _mockType(runType, comp, stack);\n (comp as Mutable<JitFnCompiler>).opts = rtOpts;\n // once mocked multiple type transformers can be applied to the mocked value\n const typeTransformer = getRunTypeTransformer(runType);\n if (typeTransformer) {\n const compiledFormatter = runType.createJitCompiledFunction(JitFunctions.format.id);\n mocked = compiledFormatter.isNoop ? mocked : compiledFormatter.fn(mocked);\n }\n stack.pop();\n return mocked;\n}\n\n// reduces all probabilities within the MockOptions to prevent infinite loops\n// each time mocking is a level deeper, the probabilities to generate an optional property should be reduced\n// this does not prevent infinite loops on types with circular references that are non optional,\n// we probably should throw an error in this case but these kind of types are technically not possible in real world so we can ignore them for now\nfunction getMockOptionsForNestedElements(opts: RunTypeOptions, nestLevel: number): RunTypeOptions {\n const mOps = opts.mock as MockOptions;\n const maxDepth = mOps.maxMockRecursion;\n const divisor = nestLevel;\n const {optionalProbability, maxRandomItemsLength: maxRandomArrayLength, optionalPropertyProbability, arrayLength} = mOps;\n const newProv = nestLevel >= maxDepth ? 0 : optionalProbability / divisor;\n const newMaxLength = nestLevel >= maxDepth ? 0 : Math.round(maxRandomArrayLength / divisor);\n // console.log(`divisor: ${divisor} | newMaxLength: ${newMaxLength} | newProv: ${newProv}`);\n const ret = {\n mock: {\n ...mOps,\n optionalProbability: newProv,\n maxRandomItemsLength: newMaxLength,\n },\n } satisfies RunTypeOptions;\n if (optionalPropertyProbability) {\n const entries = Object.entries(optionalPropertyProbability).map(([key, value]) => {\n const newProv = nestLevel > maxDepth ? 0 : value / divisor;\n return [key, value / newProv];\n });\n ret.mock.optionalPropertyProbability = Object.fromEntries(entries);\n }\n if (arrayLength) {\n const newLength = nestLevel >= maxDepth ? 0 : Math.round(arrayLength / divisor);\n ret.mock.arrayLength = newLength;\n }\n if (ret.mock.parentObj) ret.mock.parentObj = {}; // prevents mocking objects with circular references\n return ret;\n}\n\n/**\n * Centralized mock function with a giant switch statement that handles all node types.\n * This function is similar to createRunType in runType.ts but for mocking.\n */\nfunction _mockType(runType: BaseRunType, comp: JitFnCompiler, stack: BaseRunType[]): any {\n // Handle circular references\n const mOps = comp.opts.mock as MockOptions;\n const recursionLevel = stack.filter((rt) => rt === runType).length;\n const src = runType.src;\n const kind = src.kind;\n if (recursionLevel > mOps.maxMockRecursion) return undefined;\n\n switch (kind) {\n case ReflectionKind.never:\n throw new Error('Cannot mock never type.' + printStackTrace(comp, stack));\n case ReflectionKind.any:\n case ReflectionKind.unknown:\n return mockAny(mOps.anyValuesList);\n // Atomic types\n case ReflectionKind.string:\n return mockString(mOps.stringLength || random(1, mOps.maxRandomStringLength), mOps.stringCharSet || stringCharSet);\n case ReflectionKind.number:\n return mockNumber(mOps.minNumber, mOps.maxNumber);\n case ReflectionKind.boolean:\n return mockBoolean();\n case ReflectionKind.bigint:\n return mockBigInt(mOps.minNumber, mOps.maxNumber);\n case ReflectionKind.null:\n return null;\n case ReflectionKind.undefined:\n return undefined;\n case ReflectionKind.void:\n return undefined;\n case ReflectionKind.regexp:\n return mockRegExp(mOps.regexpList);\n case ReflectionKind.symbol:\n return mockSymbol(mOps.symbolName, mOps.symbolLength, mOps.symbolCharSet);\n case ReflectionKind.literal:\n return src.literal;\n case ReflectionKind.object:\n return mOps.objectList[random(0, mOps.objectList.length - 1)];\n case ReflectionKind.enum: {\n const rt = runType as EnumRunType;\n const i = mOps.enumIndex || random(0, rt.src.values.length - 1);\n return rt.src.values[i];\n }\n case ReflectionKind.enumMember:\n throw new Error('Mock enum member is not supported.' + printStackTrace(comp, stack));\n // Collection types\n case ReflectionKind.array: {\n const rt = runType as ArrayRunType;\n const length = mOps.arrayLength ?? random(0, mOps.maxRandomItemsLength);\n if (length === 0) return [];\n return Array.from({length}, () => mockType(rt.getMemberType(), comp, stack));\n }\n\n case ReflectionKind.tuple: {\n const rt = runType as TupleRunType;\n const options = mOps.tupleOptions;\n const params = rt.getChildRunTypes().map((p, i) => mockType(p, getChildOpts(comp, options?.[i]), stack));\n if (rt.hasRestParameter(comp)) {\n return [...params.slice(0, -1), ...params[params.length - 1]];\n }\n return params;\n }\n case ReflectionKind.intersection:\n case ReflectionKind.objectLiteral: {\n if (runType instanceof NonSerializableRunType) {\n throw new Error(`Mock is disabled for Non Serializable types.` + printStackTrace(comp, stack));\n } else {\n const rt = runType as InterfaceRunType;\n if (rt.isCallable()) return mockType(rt.getCallSignature()!, comp, stack);\n let obj: Record<string | number, any> = mOps.parentObj || {};\n rt.getChildRunTypes().forEach((prop) => {\n if (prop instanceof IndexSignatureRunType) {\n obj = {...obj, ...mockType(prop, comp, stack)};\n return;\n }\n const name = (prop as PropertyRunType).getChildVarName(comp);\n const isMethod = prop.src.kind === ReflectionKind.method || prop.src.kind === ReflectionKind.methodSignature;\n if (isMethod) return; // skip mocking methods\n obj[name] = mockType(prop, comp, stack);\n });\n return obj;\n }\n }\n case ReflectionKind.class:\n return _mockClass(runType, comp, stack);\n case ReflectionKind.union: {\n const rt = runType as UnionRunType;\n if (mOps.unionIndex && (mOps.unionIndex < 0 || mOps.unionIndex >= rt.getChildRunTypes().length)) {\n throw new Error(\n 'unionIndex must be between 0 and the number of types in the union.' + printStackTrace(comp, stack)\n );\n }\n const index = mOps?.unionIndex ?? random(0, rt.getChildRunTypes().length - 1);\n return mockType(rt.getChildRunTypes()[index], comp, stack);\n }\n\n case ReflectionKind.function:\n case ReflectionKind.callSignature:\n case ReflectionKind.method:\n case ReflectionKind.methodSignature:\n if (runType.src.subKind === ReflectionSubKind.params) {\n const rt = runType as FunctionParamsRunType;\n const options = mOps.tupleOptions;\n const params = rt.getParamRunTypes(comp).map((p, i) => mockType(p, getChildOpts(comp, options?.[i]), stack));\n if (rt.hasRestParameter(comp)) {\n return [...params.slice(0, -1), ...params[params.length - 1]];\n }\n return params;\n } else if (runType.src.kind === ReflectionKind.method || runType.src.kind === ReflectionKind.methodSignature) {\n return undefined; // Skip methods silently\n } else {\n throw new Error('Mock is not allowed, call mockParams or mockReturn instead.' + printStackTrace(comp, stack));\n }\n case ReflectionKind.promise: {\n const rt = runType as PromiseRunType;\n const timeOut = mOps.promiseTimeOut || 1;\n return new Promise((resolve, reject) => {\n if (timeOut > 0) {\n setTimeout(() => {\n if (mOps.promiseReject) reject(mOps.promiseReject);\n else resolve(mockType(rt.getMemberType(), comp, stack));\n }, timeOut);\n return;\n }\n if (mOps.promiseReject) reject(mOps.promiseReject);\n else resolve(mockType(rt.getMemberType(), comp, stack));\n });\n }\n // Member types\n case ReflectionKind.tupleMember:\n case ReflectionKind.parameter: {\n const rt = runType as ParameterRunType;\n if (!rt.getJitChild(comp)) return undefined; // non serializable types are set to undefined\n if (rt.isOptional() && !rt.isRest()) {\n const probability = mOps.optionalProbability;\n if (probability < 0 || probability > 1)\n throw new Error('optionalProbability must be between 0 and 1' + printStackTrace(comp, stack));\n if (Math.random() > probability) {\n return undefined;\n }\n }\n return mockType(rt.getMemberType(), comp, stack);\n }\n case ReflectionKind.propertySignature:\n case ReflectionKind.property: {\n const rt = runType as PropertyRunType;\n const probability = mOps.optionalPropertyProbability?.[rt.getChildVarName(comp)] ?? mOps.optionalProbability;\n if (probability < 0 || probability > 1)\n throw new Error('optionalProbability must be between 0 and 1' + printStackTrace(comp, stack));\n if (rt.src.optional && Math.random() > probability) return undefined;\n return mockType(rt.getMemberType(), comp, stack);\n }\n\n case ReflectionKind.rest: {\n const rt = runType as RestParamsRunType;\n const length = random(0, mOps.maxRandomItemsLength);\n const items: any[] = [];\n for (let i = 0; i < length; i++) {\n items.push(mockType(rt.getMemberType(), comp, stack));\n }\n return items;\n }\n case ReflectionKind.indexSignature: {\n const rt = runType as IndexSignatureRunType;\n const length = random(0, mOps.maxRandomItemsLength);\n const parentObj = mOps.parentObj || {};\n for (let i = 0; i < length; i++) {\n let propName: number | string | symbol;\n switch (true) {\n case !!(rt.src.index.kind === ReflectionKind.number):\n propName = i;\n break;\n case !!(rt.src.index.kind === ReflectionKind.string):\n propName = `key${i}`;\n break;\n case !!(rt.src.index.kind === ReflectionKind.symbol):\n propName = Symbol.for(`key${i}`);\n break;\n default:\n throw new Error('Invalid index signature type.');\n }\n parentObj[propName] = mockType(rt.getMemberType(), comp, stack);\n }\n return parentObj;\n }\n\n case ReflectionKind.infer:\n case ReflectionKind.templateLiteral:\n case ReflectionKind.typeParameter:\n default:\n throw new Error(`Cant mock Unsupported RunType: ${runType.getTypeName()}` + printStackTrace(comp, stack));\n }\n}\n\nfunction _mockClass(runType: BaseRunType, comp: JitFnCompiler, stack: BaseRunType[]) {\n const mOps = comp.opts.mock as MockOptions;\n switch (runType.src.subKind) {\n case ReflectionSubKind.date:\n return mockDate(mOps.minDate, mOps.maxDate);\n case ReflectionSubKind.map: {\n const rt = runType as MapRunType;\n const mockMap = new Map();\n const length = mOps.arrayLength ?? random(0, mOps.maxRandomItemsLength);\n for (let i = 0; i < length; i++) {\n const keyType = mockType(rt.keyRT, comp, stack);\n const valueType = mockType(rt.valueRT, comp, stack);\n mockMap.set(keyType, valueType);\n }\n return mockMap;\n }\n case ReflectionSubKind.set: {\n const rt = runType as SetRunType;\n const mockSet = new Set();\n const length = mOps.arrayLength ?? random(0, mOps.maxRandomItemsLength);\n for (let i = 0; i < length; i++) {\n const value = mockType(rt.keyRT, comp, stack);\n mockSet.add(value);\n }\n return mockSet;\n }\n case ReflectionSubKind.nonSerializable:\n throw new Error(`Mock is disabled for Non Serializable types.` + printStackTrace(comp, stack));\n default: {\n if (!(runType instanceof ClassRunType)) {\n throw new Error(`Cant mock Unsupported RunType: ${runType.getTypeName()}` + printStackTrace(comp, stack));\n }\n const rt = runType as ClassRunType;\n const isSerializable = rt.isClassWithEmptyConstructor();\n const deserializeFn = getJitUtils().getDeserializeFn(rt.getClassName());\n if (!deserializeFn && !isSerializable) {\n throw new Error(\n `Class ${rt.getClassName()} can not be mocked. Be sure to register a deserialize function first with jiUtils.${getJitUtils().setDeserializeFn.name}` +\n printStackTrace(comp, stack)\n );\n }\n const instance = deserializeFn ? {} : new rt.src.classType();\n // only properties that are used in jit operations are mocked, there properties should be initialized in the constructor\n rt.getJitChildren(comp).forEach((prop) => {\n const name = (prop as PropertyRunType).getChildVarName(comp);\n if (prop instanceof IndexSignatureRunType) mockType(prop, comp, stack);\n const mocked = mockType(prop, comp, stack);\n if ((prop as PropertyRunType).src.optional && mocked === undefined) return;\n instance[name] = mockType(prop, comp, stack);\n });\n if (deserializeFn) return deserializeFn(instance);\n if (isSerializable) return instance;\n throw new Error(`Class ${rt.getClassName()} can not be mocked.` + printStackTrace(comp, stack));\n }\n }\n}\n\nfunction getChildOpts(comp: JitFnCompiler, mockOpts?: MockOptions): JitFnCompiler {\n if (!mockOpts) return comp;\n const newOpts = {...comp.opts, mock: mockOpts};\n return new MockJitCompiler(comp.rootType, newOpts, comp, comp.jitFnHash, comp.typeID);\n}\n\nfunction printStackTrace(comp: JitFnCompiler, stack: BaseRunType[]) {\n const separator = '.';\n return JIT_STACK_TRACE_MESSAGE + stack.map((rt) => comp.getTypeTraceInfo(rt)).join(separator);\n}\n"],"names":["getRunTypeFormat","getRunTypeTransformer","JitFunctions","newProv","ReflectionKind","mockAny","mockString","random","stringCharSet","mockNumber","mockBoolean","mockBigInt","mockRegExp","mockSymbol","NonSerializableRunType","IndexSignatureRunType","ReflectionSubKind","mockDate","ClassRunType","getJitUtils","MockJitCompiler","JIT_STACK_TRACE_MESSAGE"],"mappings":";;;;;;;;;;;;;;AAkCO,SAAS,SAAS,SAAsB,MAAqB,QAAuB,CAAA,GAAS;AAEhG,QAAM,KAAK,OAAO;AAClB,QAAM,gBAAgB,MAAM,OAAO,CAAC,OAAO,OAAO,OAAO,EAAE;AAC3D,QAAM,SAAS,KAAK;AACpB,QAAM,aAAa,gBAAgB,gCAAgC,QAAQ,aAAa,IAAI,KAAK;AAChG,OAAgC,OAAO;AAGxC,QAAM,gBAAgBA,gBAAAA,iBAAiB,OAAO;AAC9C,MAAI,SAAS,gBAAgB,cAAc,KAAK,YAAY,OAAO,IAAI,UAAU,SAAS,MAAM,KAAK;AACpG,OAAgC,OAAO;AAExC,QAAM,kBAAkBC,gBAAAA,sBAAsB,OAAO;AACrD,MAAI,iBAAiB;AACjB,UAAM,oBAAoB,QAAQ,0BAA0BC,wBAAAA,aAAa,OAAO,EAAE;AAClF,aAAS,kBAAkB,SAAS,SAAS,kBAAkB,GAAG,MAAM;AAAA,EAC5E;AACA,QAAM,IAAA;AACN,SAAO;AACX;AAMA,SAAS,gCAAgC,MAAsB,WAAmC;AAC9F,QAAM,OAAO,KAAK;AAClB,QAAM,WAAW,KAAK;AACtB,QAAM,UAAU;AAChB,QAAM,EAAC,qBAAqB,sBAAsB,sBAAsB,6BAA6B,gBAAe;AACpH,QAAM,UAAU,aAAa,WAAW,IAAI,sBAAsB;AAClE,QAAM,eAAe,aAAa,WAAW,IAAI,KAAK,MAAM,uBAAuB,OAAO;AAE1F,QAAM,MAAM;AAAA,IACR,MAAM;AAAA,MACF,GAAG;AAAA,MACH,qBAAqB;AAAA,MACrB,sBAAsB;AAAA,IAAA;AAAA,EAC1B;AAEJ,MAAI,6BAA6B;AAC7B,UAAM,UAAU,OAAO,QAAQ,2BAA2B,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAC9E,YAAMC,WAAU,YAAY,WAAW,IAAI,QAAQ;AACnD,aAAO,CAAC,KAAK,QAAQA,QAAO;AAAA,IAChC,CAAC;AACD,QAAI,KAAK,8BAA8B,OAAO,YAAY,OAAO;AAAA,EACrE;AACA,MAAI,aAAa;AACb,UAAM,YAAY,aAAa,WAAW,IAAI,KAAK,MAAM,cAAc,OAAO;AAC9E,QAAI,KAAK,cAAc;AAAA,EAC3B;AACA,MAAI,IAAI,KAAK,UAAW,KAAI,KAAK,YAAY,CAAA;AAC7C,SAAO;AACX;AAMA,SAAS,UAAU,SAAsB,MAAqB,OAA2B;AAErF,QAAM,OAAO,KAAK,KAAK;AACvB,QAAM,iBAAiB,MAAM,OAAO,CAAC,OAAO,OAAO,OAAO,EAAE;AAC5D,QAAM,MAAM,QAAQ;AACpB,QAAM,OAAO,IAAI;AACjB,MAAI,iBAAiB,KAAK,iBAAkB,QAAO;AAEnD,UAAQ,MAAA;AAAA,IACJ,KAAKC,KAAAA,eAAe;AAChB,YAAM,IAAI,MAAM,4BAA4B,gBAAgB,MAAM,KAAK,CAAC;AAAA,IAC5E,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe;AAChB,aAAOC,sBAAAA,QAAQ,KAAK,aAAa;AAAA;AAAA,IAErC,KAAKD,KAAAA,eAAe;AAChB,aAAOE,iCAAW,KAAK,gBAAgBC,6BAAO,GAAG,KAAK,qBAAqB,GAAG,KAAK,iBAAiBC,2BAAAA,aAAa;AAAA,IACrH,KAAKJ,KAAAA,eAAe;AAChB,aAAOK,sBAAAA,WAAW,KAAK,WAAW,KAAK,SAAS;AAAA,IACpD,KAAKL,KAAAA,eAAe;AAChB,aAAOM,kCAAA;AAAA,IACX,KAAKN,KAAAA,eAAe;AAChB,aAAOO,sBAAAA,WAAW,KAAK,WAAW,KAAK,SAAS;AAAA,IACpD,KAAKP,KAAAA,eAAe;AAChB,aAAO;AAAA,IACX,KAAKA,KAAAA,eAAe;AAChB,aAAO;AAAA,IACX,KAAKA,KAAAA,eAAe;AAChB,aAAO;AAAA,IACX,KAAKA,KAAAA,eAAe;AAChB,aAAOQ,sBAAAA,WAAW,KAAK,UAAU;AAAA,IACrC,KAAKR,KAAAA,eAAe;AAChB,aAAOS,sBAAAA,WAAW,KAAK,YAAY,KAAK,cAAc,KAAK,aAAa;AAAA,IAC5E,KAAKT,KAAAA,eAAe;AAChB,aAAO,IAAI;AAAA,IACf,KAAKA,KAAAA,eAAe;AAChB,aAAO,KAAK,WAAWG,6BAAO,GAAG,KAAK,WAAW,SAAS,CAAC,CAAC;AAAA,IAChE,KAAKH,KAAAA,eAAe,MAAM;AACtB,YAAM,KAAK;AACX,YAAM,IAAI,KAAK,aAAaG,6BAAO,GAAG,GAAG,IAAI,OAAO,SAAS,CAAC;AAC9D,aAAO,GAAG,IAAI,OAAO,CAAC;AAAA,IAC1B;AAAA,IACA,KAAKH,KAAAA,eAAe;AAChB,YAAM,IAAI,MAAM,uCAAuC,gBAAgB,MAAM,KAAK,CAAC;AAAA;AAAA,IAEvF,KAAKA,KAAAA,eAAe,OAAO;AACvB,YAAM,KAAK;AACX,YAAM,SAAS,KAAK,eAAeG,sBAAAA,OAAO,GAAG,KAAK,oBAAoB;AACtE,UAAI,WAAW,EAAG,QAAO,CAAA;AACzB,aAAO,MAAM,KAAK,EAAC,UAAS,MAAM,SAAS,GAAG,cAAA,GAAiB,MAAM,KAAK,CAAC;AAAA,IAC/E;AAAA,IAEA,KAAKH,KAAAA,eAAe,OAAO;AACvB,YAAM,KAAK;AACX,YAAM,UAAU,KAAK;AACrB,YAAM,SAAS,GAAG,iBAAA,EAAmB,IAAI,CAAC,GAAG,MAAM,SAAS,GAAG,aAAa,MAAM,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;AACvG,UAAI,GAAG,iBAAiB,IAAI,GAAG;AAC3B,eAAO,CAAC,GAAG,OAAO,MAAM,GAAG,EAAE,GAAG,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA,MAChE;AACA,aAAO;AAAA,IACX;AAAA,IACA,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe,eAAe;AAC/B,UAAI,mBAAmBU,iCAAAA,wBAAwB;AAC3C,cAAM,IAAI,MAAM,iDAAiD,gBAAgB,MAAM,KAAK,CAAC;AAAA,MACjG,OAAO;AACH,cAAM,KAAK;AACX,YAAI,GAAG,aAAc,QAAO,SAAS,GAAG,iBAAA,GAAqB,MAAM,KAAK;AACxE,YAAI,MAAoC,KAAK,aAAa,CAAA;AAC1D,WAAG,iBAAA,EAAmB,QAAQ,CAAC,SAAS;AACpC,cAAI,gBAAgBC,+BAAAA,uBAAuB;AACvC,kBAAM,EAAC,GAAG,KAAK,GAAG,SAAS,MAAM,MAAM,KAAK,EAAA;AAC5C;AAAA,UACJ;AACA,gBAAM,OAAQ,KAAyB,gBAAgB,IAAI;AAC3D,gBAAM,WAAW,KAAK,IAAI,SAASX,KAAAA,eAAe,UAAU,KAAK,IAAI,SAASA,KAAAA,eAAe;AAC7F,cAAI,SAAU;AACd,cAAI,IAAI,IAAI,SAAS,MAAM,MAAM,KAAK;AAAA,QAC1C,CAAC;AACD,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,IACA,KAAKA,KAAAA,eAAe;AAChB,aAAO,WAAW,SAAS,MAAM,KAAK;AAAA,IAC1C,KAAKA,KAAAA,eAAe,OAAO;AACvB,YAAM,KAAK;AACX,UAAI,KAAK,eAAe,KAAK,aAAa,KAAK,KAAK,cAAc,GAAG,iBAAA,EAAmB,SAAS;AAC7F,cAAM,IAAI;AAAA,UACN,uEAAuE,gBAAgB,MAAM,KAAK;AAAA,QAAA;AAAA,MAE1G;AACA,YAAM,QAAQ,MAAM,cAAcG,sBAAAA,OAAO,GAAG,GAAG,iBAAA,EAAmB,SAAS,CAAC;AAC5E,aAAO,SAAS,GAAG,iBAAA,EAAmB,KAAK,GAAG,MAAM,KAAK;AAAA,IAC7D;AAAA,IAEA,KAAKH,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe;AAChB,UAAI,QAAQ,IAAI,YAAYY,mBAAAA,kBAAkB,QAAQ;AAClD,cAAM,KAAK;AACX,cAAM,UAAU,KAAK;AACrB,cAAM,SAAS,GAAG,iBAAiB,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,SAAS,GAAG,aAAa,MAAM,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;AAC3G,YAAI,GAAG,iBAAiB,IAAI,GAAG;AAC3B,iBAAO,CAAC,GAAG,OAAO,MAAM,GAAG,EAAE,GAAG,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA,QAChE;AACA,eAAO;AAAA,MACX,WAAW,QAAQ,IAAI,SAASZ,KAAAA,eAAe,UAAU,QAAQ,IAAI,SAASA,KAAAA,eAAe,iBAAiB;AAC1G,eAAO;AAAA,MACX,OAAO;AACH,cAAM,IAAI,MAAM,gEAAgE,gBAAgB,MAAM,KAAK,CAAC;AAAA,MAChH;AAAA,IACJ,KAAKA,KAAAA,eAAe,SAAS;AACzB,YAAM,KAAK;AACX,YAAM,UAAU,KAAK,kBAAkB;AACvC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,YAAI,UAAU,GAAG;AACb,qBAAW,MAAM;AACb,gBAAI,KAAK,cAAe,QAAO,KAAK,aAAa;AAAA,yBACpC,SAAS,GAAG,iBAAiB,MAAM,KAAK,CAAC;AAAA,UAC1D,GAAG,OAAO;AACV;AAAA,QACJ;AACA,YAAI,KAAK,cAAe,QAAO,KAAK,aAAa;AAAA,qBACpC,SAAS,GAAG,iBAAiB,MAAM,KAAK,CAAC;AAAA,MAC1D,CAAC;AAAA,IACL;AAAA;AAAA,IAEA,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe,WAAW;AAC3B,YAAM,KAAK;AACX,UAAI,CAAC,GAAG,YAAY,IAAI,EAAG,QAAO;AAClC,UAAI,GAAG,WAAA,KAAgB,CAAC,GAAG,UAAU;AACjC,cAAM,cAAc,KAAK;AACzB,YAAI,cAAc,KAAK,cAAc;AACjC,gBAAM,IAAI,MAAM,gDAAgD,gBAAgB,MAAM,KAAK,CAAC;AAChG,YAAI,KAAK,OAAA,IAAW,aAAa;AAC7B,iBAAO;AAAA,QACX;AAAA,MACJ;AACA,aAAO,SAAS,GAAG,cAAA,GAAiB,MAAM,KAAK;AAAA,IACnD;AAAA,IACA,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe,UAAU;AAC1B,YAAM,KAAK;AACX,YAAM,cAAc,KAAK,8BAA8B,GAAG,gBAAgB,IAAI,CAAC,KAAK,KAAK;AACzF,UAAI,cAAc,KAAK,cAAc;AACjC,cAAM,IAAI,MAAM,gDAAgD,gBAAgB,MAAM,KAAK,CAAC;AAChG,UAAI,GAAG,IAAI,YAAY,KAAK,OAAA,IAAW,YAAa,QAAO;AAC3D,aAAO,SAAS,GAAG,cAAA,GAAiB,MAAM,KAAK;AAAA,IACnD;AAAA,IAEA,KAAKA,KAAAA,eAAe,MAAM;AACtB,YAAM,KAAK;AACX,YAAM,SAASG,sBAAAA,OAAO,GAAG,KAAK,oBAAoB;AAClD,YAAM,QAAe,CAAA;AACrB,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,cAAM,KAAK,SAAS,GAAG,iBAAiB,MAAM,KAAK,CAAC;AAAA,MACxD;AACA,aAAO;AAAA,IACX;AAAA,IACA,KAAKH,KAAAA,eAAe,gBAAgB;AAChC,YAAM,KAAK;AACX,YAAM,SAASG,sBAAAA,OAAO,GAAG,KAAK,oBAAoB;AAClD,YAAM,YAAY,KAAK,aAAa,CAAA;AACpC,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,YAAI;AACJ,gBAAQ,MAAA;AAAA,UACJ,KAAK,CAAC,EAAE,GAAG,IAAI,MAAM,SAASH,KAAAA,eAAe;AACzC,uBAAW;AACX;AAAA,UACJ,KAAK,CAAC,EAAE,GAAG,IAAI,MAAM,SAASA,KAAAA,eAAe;AACzC,uBAAW,MAAM,CAAC;AAClB;AAAA,UACJ,KAAK,CAAC,EAAE,GAAG,IAAI,MAAM,SAASA,KAAAA,eAAe;AACzC,uBAAW,uBAAO,IAAI,MAAM,CAAC,EAAE;AAC/B;AAAA,UACJ;AACI,kBAAM,IAAI,MAAM,+BAA+B;AAAA,QAAA;AAEvD,kBAAU,QAAQ,IAAI,SAAS,GAAG,cAAA,GAAiB,MAAM,KAAK;AAAA,MAClE;AACA,aAAO;AAAA,IACX;AAAA,IAEA,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe;AAAA,IACpB,KAAKA,KAAAA,eAAe;AAAA,IACpB;AACI,YAAM,IAAI,MAAM,kCAAkC,QAAQ,aAAa,KAAK,gBAAgB,MAAM,KAAK,CAAC;AAAA,EAAA;AAEpH;AAEA,SAAS,WAAW,SAAsB,MAAqB,OAAsB;AACjF,QAAM,OAAO,KAAK,KAAK;AACvB,UAAQ,QAAQ,IAAI,SAAA;AAAA,IAChB,KAAKY,mBAAAA,kBAAkB;AACnB,aAAOC,sBAAAA,SAAS,KAAK,SAAS,KAAK,OAAO;AAAA,IAC9C,KAAKD,mBAAAA,kBAAkB,KAAK;AACxB,YAAM,KAAK;AACX,YAAM,8BAAc,IAAA;AACpB,YAAM,SAAS,KAAK,eAAeT,sBAAAA,OAAO,GAAG,KAAK,oBAAoB;AACtE,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,cAAM,UAAU,SAAS,GAAG,OAAO,MAAM,KAAK;AAC9C,cAAM,YAAY,SAAS,GAAG,SAAS,MAAM,KAAK;AAClD,gBAAQ,IAAI,SAAS,SAAS;AAAA,MAClC;AACA,aAAO;AAAA,IACX;AAAA,IACA,KAAKS,mBAAAA,kBAAkB,KAAK;AACxB,YAAM,KAAK;AACX,YAAM,8BAAc,IAAA;AACpB,YAAM,SAAS,KAAK,eAAeT,sBAAAA,OAAO,GAAG,KAAK,oBAAoB;AACtE,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,cAAM,QAAQ,SAAS,GAAG,OAAO,MAAM,KAAK;AAC5C,gBAAQ,IAAI,KAAK;AAAA,MACrB;AACA,aAAO;AAAA,IACX;AAAA,IACA,KAAKS,mBAAAA,kBAAkB;AACnB,YAAM,IAAI,MAAM,iDAAiD,gBAAgB,MAAM,KAAK,CAAC;AAAA,IACjG,SAAS;AACL,UAAI,EAAE,mBAAmBE,2BAAAA,eAAe;AACpC,cAAM,IAAI,MAAM,kCAAkC,QAAQ,aAAa,KAAK,gBAAgB,MAAM,KAAK,CAAC;AAAA,MAC5G;AACA,YAAM,KAAK;AACX,YAAM,iBAAiB,GAAG,4BAAA;AAC1B,YAAM,gBAAgBC,KAAAA,YAAA,EAAc,iBAAiB,GAAG,cAAc;AACtE,UAAI,CAAC,iBAAiB,CAAC,gBAAgB;AACnC,cAAM,IAAI;AAAA,UACN,SAAS,GAAG,aAAA,CAAc,qFAAqFA,KAAAA,cAAc,iBAAiB,IAAI,KAC9I,gBAAgB,MAAM,KAAK;AAAA,QAAA;AAAA,MAEvC;AACA,YAAM,WAAW,gBAAgB,CAAA,IAAK,IAAI,GAAG,IAAI,UAAA;AAEjD,SAAG,eAAe,IAAI,EAAE,QAAQ,CAAC,SAAS;AACtC,cAAM,OAAQ,KAAyB,gBAAgB,IAAI;AAC3D,YAAI,gBAAgBJ,+BAAAA,sBAAuB,UAAS,MAAM,MAAM,KAAK;AACrE,cAAM,SAAS,SAAS,MAAM,MAAM,KAAK;AACzC,YAAK,KAAyB,IAAI,YAAY,WAAW,OAAW;AACpE,iBAAS,IAAI,IAAI,SAAS,MAAM,MAAM,KAAK;AAAA,MAC/C,CAAC;AACD,UAAI,cAAe,QAAO,cAAc,QAAQ;AAChD,UAAI,eAAgB,QAAO;AAC3B,YAAM,IAAI,MAAM,SAAS,GAAG,cAAc,wBAAwB,gBAAgB,MAAM,KAAK,CAAC;AAAA,IAClG;AAAA,EAAA;AAER;AAEA,SAAS,aAAa,MAAqB,UAAuC;AAC9E,MAAI,CAAC,SAAU,QAAO;AACtB,QAAM,UAAU,EAAC,GAAG,KAAK,MAAM,MAAM,SAAA;AACrC,SAAO,IAAIK,sBAAAA,gBAAgB,KAAK,UAAU,SAAS,MAAM,KAAK,WAAW,KAAK,MAAM;AACxF;AAEA,SAAS,gBAAgB,MAAqB,OAAsB;AAChE,QAAM,YAAY;AAClB,SAAOC,wCAA0B,MAAM,IAAI,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC,EAAE,KAAK,SAAS;AAChG;;"}
@@ -0,0 +1,3 @@
1
+ import { BaseRunType } from '../lib/baseRunTypes.ts';
2
+ import { JitFnCompiler } from '../lib/jitFnCompiler.ts';
3
+ export declare function mockType(runType: BaseRunType, comp: JitFnCompiler, stack?: BaseRunType[]): any;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_mocking_constants_mock = require("./constants.mock.cjs");
4
+ function mockBoolean() {
5
+ return Math.random() < 0.5;
6
+ }
7
+ function mockBigInt(min = 0, max = 1e4) {
8
+ return BigInt(random(min, max));
9
+ }
10
+ function mockString(length = random(0, 30), allowedChars = src_mocking_constants_mock.stringCharSet, disallowedChars = "") {
11
+ if (allowedChars.length === 0) throw new Error("Can not generate random string as allowedChars cannot be empty");
12
+ const allowedCharSet = allowedChars.split("").filter((char) => !disallowedChars.includes(char)).join("");
13
+ if (allowedCharSet.length === 0)
14
+ throw new Error("Can not generate random string as allowedChars and disallowedChars are mutually exclusive");
15
+ return Array.from({ length }, () => allowedCharSet[random(0, allowedCharSet.length - 1)]).join("");
16
+ }
17
+ function mockSymbol(name, length, charsSet) {
18
+ const symbolName = name ?? mockString(length, charsSet);
19
+ return Symbol(symbolName);
20
+ }
21
+ function mockRegExp(list = src_mocking_constants_mock.mockRegExpsList) {
22
+ return list[random(0, list.length - 1)];
23
+ }
24
+ function mockNumber(min = 0, max = 1e4) {
25
+ if (min > max) {
26
+ throw new Error("min cannot be greater than max");
27
+ }
28
+ return random(min, max);
29
+ }
30
+ function mockDate(minDate = /* @__PURE__ */ new Date(0), maxDate = /* @__PURE__ */ new Date()) {
31
+ const min = typeof minDate === "number" ? minDate : minDate.getTime();
32
+ const max = typeof maxDate === "number" ? maxDate : maxDate.getTime();
33
+ if (min > max) {
34
+ throw new Error("minDate cannot be greater than maxDate");
35
+ }
36
+ return new Date(random(min, max));
37
+ }
38
+ function mockAny(anyList = src_mocking_constants_mock.anyValuesList) {
39
+ return anyList[random(0, anyList.length - 1)];
40
+ }
41
+ function random(min = 0, max = 1e4) {
42
+ return Math.floor(Math.random() * (max - min + 1)) + min;
43
+ }
44
+ function randomItem(list) {
45
+ return list[random(0, list.length - 1)];
46
+ }
47
+ function mockRecursiveEmptyArray(depth, length) {
48
+ if (depth === 0) return [];
49
+ return Array.from({ length }, () => mockRecursiveEmptyArray(depth - 1, length));
50
+ }
51
+ exports.mockAny = mockAny;
52
+ exports.mockBigInt = mockBigInt;
53
+ exports.mockBoolean = mockBoolean;
54
+ exports.mockDate = mockDate;
55
+ exports.mockNumber = mockNumber;
56
+ exports.mockRecursiveEmptyArray = mockRecursiveEmptyArray;
57
+ exports.mockRegExp = mockRegExp;
58
+ exports.mockString = mockString;
59
+ exports.mockSymbol = mockSymbol;
60
+ exports.random = random;
61
+ exports.randomItem = randomItem;
62
+ //# sourceMappingURL=mockUtils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockUtils.cjs","sources":["../../../../src/mocking/mockUtils.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {anyValuesList, stringCharSet} from './constants.mock.ts';\nimport {mockRegExpsList} from './constants.mock.ts';\n\nexport function mockBoolean(): boolean {\n return Math.random() < 0.5;\n}\n\nexport function mockBigInt(min = 0, max = 10000): bigint {\n return BigInt(random(min, max));\n}\n\nexport function mockString(length = random(0, 30), allowedChars = stringCharSet, disallowedChars: string = ''): string {\n if (allowedChars.length === 0) throw new Error('Can not generate random string as allowedChars cannot be empty');\n const allowedCharSet = allowedChars\n .split('')\n .filter((char) => !disallowedChars.includes(char))\n .join('');\n if (allowedCharSet.length === 0)\n throw new Error('Can not generate random string as allowedChars and disallowedChars are mutually exclusive');\n return Array.from({length}, () => allowedCharSet[random(0, allowedCharSet.length - 1)]).join('');\n}\n\nexport function mockSymbol(name?: string, length?: number, charsSet?: string): symbol {\n const symbolName = name ?? mockString(length, charsSet);\n return Symbol(symbolName);\n}\n\nexport function mockRegExp(list = mockRegExpsList): RegExp {\n return list[random(0, list.length - 1)];\n}\n\n/**\n * Generates a random number between min and max, both inclusive.\n * @param min 0 by default\n * @param max 10000 by default\n * @returns random number\n */\nexport function mockNumber(min = 0, max = 10000): number {\n if (min > max) {\n throw new Error('min cannot be greater than max');\n }\n return random(min, max);\n}\n\n/**\n * Generates a random date between minDate and maxDate, both inclusive.\n * @param minDate 0 by default\n * @param maxDate Date.now() by default\n */\nexport function mockDate(minDate: Date | number = new Date(0), maxDate: Date | number = new Date()): Date {\n const min = typeof minDate === 'number' ? minDate : minDate.getTime();\n const max = typeof maxDate === 'number' ? maxDate : maxDate.getTime();\n if (min > max) {\n throw new Error('minDate cannot be greater than maxDate');\n }\n return new Date(random(min, max));\n}\n\nexport function mockAny(anyList = anyValuesList): any {\n return anyList[random(0, anyList.length - 1)];\n}\n\n/** Generates a random number between min and max, both inclusive */\nexport function random(min: number = 0, max = 10000): number {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport function randomItem<T>(list: T[]): T {\n return list[random(0, list.length - 1)];\n}\n\nexport function mockRecursiveEmptyArray(depth: number, length: number) {\n if (depth === 0) return [];\n return Array.from({length}, () => mockRecursiveEmptyArray(depth - 1, length));\n}\n"],"names":["stringCharSet","mockRegExpsList","anyValuesList"],"mappings":";;;AAUO,SAAS,cAAuB;AACnC,SAAO,KAAK,WAAW;AAC3B;AAEO,SAAS,WAAW,MAAM,GAAG,MAAM,KAAe;AACrD,SAAO,OAAO,OAAO,KAAK,GAAG,CAAC;AAClC;AAEO,SAAS,WAAW,SAAS,OAAO,GAAG,EAAE,GAAG,eAAeA,2BAAAA,eAAe,kBAA0B,IAAY;AACnH,MAAI,aAAa,WAAW,EAAG,OAAM,IAAI,MAAM,gEAAgE;AAC/G,QAAM,iBAAiB,aAClB,MAAM,EAAE,EACR,OAAO,CAAC,SAAS,CAAC,gBAAgB,SAAS,IAAI,CAAC,EAChD,KAAK,EAAE;AACZ,MAAI,eAAe,WAAW;AAC1B,UAAM,IAAI,MAAM,2FAA2F;AAC/G,SAAO,MAAM,KAAK,EAAC,OAAA,GAAS,MAAM,eAAe,OAAO,GAAG,eAAe,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;AACnG;AAEO,SAAS,WAAW,MAAe,QAAiB,UAA2B;AAClF,QAAM,aAAa,QAAQ,WAAW,QAAQ,QAAQ;AACtD,SAAO,OAAO,UAAU;AAC5B;AAEO,SAAS,WAAW,OAAOC,4CAAyB;AACvD,SAAO,KAAK,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC;AAC1C;AAQO,SAAS,WAAW,MAAM,GAAG,MAAM,KAAe;AACrD,MAAI,MAAM,KAAK;AACX,UAAM,IAAI,MAAM,gCAAgC;AAAA,EACpD;AACA,SAAO,OAAO,KAAK,GAAG;AAC1B;AAOO,SAAS,SAAS,UAAyB,oBAAI,KAAK,CAAC,GAAG,UAAyB,oBAAI,QAAc;AACtG,QAAM,MAAM,OAAO,YAAY,WAAW,UAAU,QAAQ,QAAA;AAC5D,QAAM,MAAM,OAAO,YAAY,WAAW,UAAU,QAAQ,QAAA;AAC5D,MAAI,MAAM,KAAK;AACX,UAAM,IAAI,MAAM,wCAAwC;AAAA,EAC5D;AACA,SAAO,IAAI,KAAK,OAAO,KAAK,GAAG,CAAC;AACpC;AAEO,SAAS,QAAQ,UAAUC,0CAAoB;AAClD,SAAO,QAAQ,OAAO,GAAG,QAAQ,SAAS,CAAC,CAAC;AAChD;AAGO,SAAS,OAAO,MAAc,GAAG,MAAM,KAAe;AACzD,SAAO,KAAK,MAAM,KAAK,OAAA,KAAY,MAAM,MAAM,EAAE,IAAI;AACzD;AAEO,SAAS,WAAc,MAAc;AACxC,SAAO,KAAK,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC;AAC1C;AAEO,SAAS,wBAAwB,OAAe,QAAgB;AACnE,MAAI,UAAU,EAAG,QAAO,CAAA;AACxB,SAAO,MAAM,KAAK,EAAC,OAAA,GAAS,MAAM,wBAAwB,QAAQ,GAAG,MAAM,CAAC;AAChF;;;;;;;;;;;;"}
@@ -0,0 +1,15 @@
1
+ export declare function mockBoolean(): boolean;
2
+ export declare function mockBigInt(min?: number, max?: number): bigint;
3
+ export declare function mockString(length?: number, allowedChars?: string, disallowedChars?: string): string;
4
+ export declare function mockSymbol(name?: string, length?: number, charsSet?: string): symbol;
5
+ export declare function mockRegExp(list?: RegExp[]): RegExp;
6
+ export declare function mockNumber(min?: number, max?: number): number;
7
+ export declare function mockDate(minDate?: Date | number, maxDate?: Date | number): Date;
8
+ export declare function mockAny(anyList?: (string | number | bigint | boolean | symbol | RegExp | (string | number)[] | Set<string | number> | Date | Map<string, number> | {
9
+ hello?: undefined;
10
+ } | {
11
+ hello: string;
12
+ } | null | undefined)[]): any;
13
+ export declare function random(min?: number, max?: number): number;
14
+ export declare function randomItem<T>(list: T[]): T;
15
+ export declare function mockRecursiveEmptyArray(depth: number, length: number): any;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
4
+ const src_lib_jitFnCompiler = require("../../lib/jitFnCompiler.cjs");
5
+ class AnyRunType extends src_lib_baseRunTypes.AtomicRunType {
6
+ emitIsType(comp) {
7
+ const isRoot = comp.getNestLevel(this) === 0;
8
+ if (isRoot)
9
+ return { code: void 0, type: "E" };
10
+ return { code: "true", type: "E" };
11
+ }
12
+ emitTypeErrors() {
13
+ return { code: void 0, type: "S" };
14
+ }
15
+ static __type = ["TypeAny", "TypeUnknown", () => src_lib_baseRunTypes.AtomicRunType, () => src_lib_jitFnCompiler.JitFnCompiler, "comp", "JitCode", "emitIsType", "emitTypeErrors", "AnyRunType", `PP"w!"w"J7#PP7$2%"w&0'P"w&0(5P"w!"w"J6"w)`];
16
+ }
17
+ exports.AnyRunType = AnyRunType;
18
+ //# sourceMappingURL=any.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import { TypeAny, TypeUnknown } from '@deepkit/type';
2
+ import { AtomicRunType } from '../../lib/baseRunTypes.ts';
3
+ import { JitCode } from '../../types.ts';
4
+ import { JitFnCompiler } from '../../lib/jitFnCompiler.ts';
5
+ export declare class AnyRunType extends AtomicRunType<TypeAny | TypeUnknown> {
6
+ emitIsType(comp: JitFnCompiler): JitCode;
7
+ emitTypeErrors(): JitCode;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
4
+ class BigIntRunType extends src_lib_baseRunTypes.AtomicRunType {
5
+ emitIsType(comp) {
6
+ return { code: `typeof ${comp.vλl} === 'bigint'`, type: "E" };
7
+ }
8
+ emitTypeErrors(comp) {
9
+ return { code: `if (typeof ${comp.vλl} !== 'bigint') ${comp.callJitErr(this)}`, type: "S" };
10
+ }
11
+ emitPrepareForJson(comp) {
12
+ return { code: `${comp.vλl}.toString()`, type: "E" };
13
+ }
14
+ emitRestoreFromJson(comp) {
15
+ return { code: `BigInt(${comp.vλl})`, type: "E" };
16
+ }
17
+ static __type = ["TypeBigInt", () => src_lib_baseRunTypes.AtomicRunType, "JitFnCompiler", "comp", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "BigIntRunType", `P"w!7"P"w#2$"w%0&P"w'2$"w%0(P"w#2$"w%0)P"w#2$"w%0*5"w!6"w+`];
18
+ }
19
+ exports.BigIntRunType = BigIntRunType;
20
+ //# sourceMappingURL=bigInt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bigInt.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { TypeBigInt } from '@deepkit/type';
2
+ import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
3
+ import { JitCode } from '../../types.ts';
4
+ import { AtomicRunType } from '../../lib/baseRunTypes.ts';
5
+ export declare class BigIntRunType extends AtomicRunType<TypeBigInt> {
6
+ emitIsType(comp: JitFnCompiler): JitCode;
7
+ emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
8
+ emitPrepareForJson(comp: JitFnCompiler): JitCode;
9
+ emitRestoreFromJson(comp: JitFnCompiler): JitCode;
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
4
+ class BooleanRunType extends src_lib_baseRunTypes.AtomicRunType {
5
+ emitIsType(comp) {
6
+ return { code: `typeof ${comp.vλl} === 'boolean'`, type: "E" };
7
+ }
8
+ emitTypeErrors(comp) {
9
+ return { code: `if (typeof ${comp.vλl} !== 'boolean') ${comp.callJitErr(this)}`, type: "S" };
10
+ }
11
+ emitPrepareForJson() {
12
+ return { code: void 0, type: "S" };
13
+ }
14
+ emitRestoreFromJson() {
15
+ return { code: void 0, type: "S" };
16
+ }
17
+ static __type = ["TypeBoolean", () => src_lib_baseRunTypes.AtomicRunType, "JitFnCompiler", "comp", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "BooleanRunType", `P"w!7"P"w#2$"w%0&P"w'2$"w%0(P"w%0)P"w%0*5"w!6"w+`];
18
+ }
19
+ exports.BooleanRunType = BooleanRunType;
20
+ //# sourceMappingURL=boolean.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { TypeBoolean } from '@deepkit/type';
2
+ import { JitCode } from '../../types.ts';
3
+ import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
4
+ import { AtomicRunType } from '../../lib/baseRunTypes.ts';
5
+ export declare class BooleanRunType extends AtomicRunType<TypeBoolean> {
6
+ emitIsType(comp: JitFnCompiler): JitCode;
7
+ emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
8
+ emitPrepareForJson(): JitCode;
9
+ emitRestoreFromJson(): JitCode;
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
4
+ class DateRunType extends src_lib_baseRunTypes.AtomicRunType {
5
+ emitIsType(comp) {
6
+ return { code: `(${comp.vλl} instanceof Date && !isNaN(${comp.vλl}.getTime()))`, type: "E" };
7
+ }
8
+ emitTypeErrors(comp) {
9
+ return { code: `if (!(${comp.vλl} instanceof Date && !isNaN(${comp.vλl}.getTime()))) ${comp.callJitErr(this)}`, type: "S" };
10
+ }
11
+ emitPrepareForJson() {
12
+ return { code: void 0, type: "S" };
13
+ }
14
+ emitRestoreFromJson(comp) {
15
+ return { code: `new Date(${comp.vλl})`, type: "E" };
16
+ }
17
+ static __type = ["TypeClass", () => src_lib_baseRunTypes.AtomicRunType, "JitFnCompiler", "comp", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "DateRunType", `P"w!7"P"w#2$"w%0&P"w'2$"w%0(P"w%0)P"w#2$"w%0*5"w!6"w+`];
18
+ }
19
+ exports.DateRunType = DateRunType;
20
+ //# sourceMappingURL=date.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { TypeClass } from '@deepkit/type';
2
+ import { JitCode } from '../../types.ts';
3
+ import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
4
+ import { AtomicRunType } from '../../lib/baseRunTypes.ts';
5
+ export declare class DateRunType extends AtomicRunType<TypeClass> {
6
+ emitIsType(comp: JitFnCompiler): JitCode;
7
+ emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
8
+ emitPrepareForJson(): JitCode;
9
+ emitRestoreFromJson(comp: JitFnCompiler): JitCode;
10
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const type = require("@deepkit/type");
4
+ const src_lib_utils = require("../../lib/utils.cjs");
5
+ const src_lib_baseRunTypes = require("../../lib/baseRunTypes.cjs");
6
+ function __assignType(fn, args) {
7
+ fn.__type = args;
8
+ return fn;
9
+ }
10
+ class EnumRunType extends src_lib_baseRunTypes.AtomicRunType {
11
+ emitIsType(comp) {
12
+ const items = this.src.values.map(__assignType((v) => `${comp.vλl} === ${src_lib_utils.toLiteral(v)}`, ["v", "", 'P"2!"/"']));
13
+ return { code: `(${items.join(" || ")})`, type: "E" };
14
+ }
15
+ emitTypeErrors(comp) {
16
+ const items = this.src.values.map(__assignType((v) => `${comp.vλl} === ${src_lib_utils.toLiteral(v)}`, ["v", "", 'P"2!"/"']));
17
+ return { code: `if (!(${items.join(" || ")})) ${comp.callJitErr(this)}`, type: "S" };
18
+ }
19
+ static __type = [() => type.__ΩTypeEnum, () => src_lib_baseRunTypes.AtomicRunType, "JitFnCompiler", "comp", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", () => type.__ΩTypeEnum, "EnumRunType", `Pn!7"P"w#2$"w%0&P"w'2$"w%0(5n)6"w*`];
20
+ }
21
+ exports.EnumRunType = EnumRunType;
22
+ //# sourceMappingURL=enum.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}