@mionjs/run-types 0.8.10 → 0.13.2

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 (1093) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +22 -24
  3. package/bin/skills.mjs +111 -0
  4. package/dist/builders/atomic.d.ts +13 -0
  5. package/dist/builders/atomic.js +32 -0
  6. package/dist/builders/atomic.js.map +1 -0
  7. package/dist/builders/compose.d.ts +61 -0
  8. package/dist/builders/compose.js +103 -0
  9. package/dist/builders/compose.js.map +1 -0
  10. package/dist/builders/index.d.ts +6 -0
  11. package/dist/builders/index.js +5 -0
  12. package/dist/builders/index.js.map +1 -0
  13. package/dist/builders/static.d.ts +138 -0
  14. package/dist/builders/static.js +2 -0
  15. package/dist/builders/static.js.map +1 -0
  16. package/dist/builders/utility.d.ts +13 -0
  17. package/dist/builders/utility.js +32 -0
  18. package/dist/builders/utility.js.map +1 -0
  19. package/dist/cjs/builders/atomic.d.ts +12 -0
  20. package/dist/cjs/builders/atomic.js +43 -0
  21. package/dist/cjs/builders/compose.d.ts +60 -0
  22. package/dist/cjs/builders/compose.js +122 -0
  23. package/dist/cjs/builders/index.d.ts +5 -0
  24. package/dist/cjs/builders/index.js +48 -0
  25. package/dist/cjs/builders/static.d.ts +137 -0
  26. package/dist/cjs/builders/static.js +2 -0
  27. package/dist/cjs/builders/utility.d.ts +12 -0
  28. package/dist/cjs/builders/utility.js +43 -0
  29. package/dist/cjs/createRTFunctions.d.ts +90 -0
  30. package/dist/cjs/createRTFunctions.js +38 -0
  31. package/dist/cjs/enrich/createFriendlyText.d.ts +25 -0
  32. package/dist/cjs/enrich/createFriendlyText.js +275 -0
  33. package/dist/cjs/enrich/friendlyText.d.ts +56 -0
  34. package/dist/cjs/enrich/friendlyText.js +2 -0
  35. package/dist/cjs/enrich/mockData.d.ts +53 -0
  36. package/dist/cjs/enrich/mockData.js +2 -0
  37. package/dist/cjs/fnHash.d.ts +8 -0
  38. package/dist/cjs/fnHash.js +41 -0
  39. package/dist/cjs/formats/bigintFormats.d.ts +41 -0
  40. package/dist/cjs/formats/bigintFormats.js +10 -0
  41. package/dist/cjs/formats/datetime/dateFormats.d.ts +10 -0
  42. package/dist/cjs/formats/datetime/dateFormats.js +2 -0
  43. package/dist/cjs/formats/datetime/dateTime-pure-fns.d.ts +21 -0
  44. package/dist/cjs/formats/datetime/dateTime-pure-fns.js +405 -0
  45. package/dist/cjs/formats/datetime/dateTimeParams.d.ts +14 -0
  46. package/dist/cjs/formats/datetime/dateTimeParams.js +2 -0
  47. package/dist/cjs/formats/datetime/stringDateTimeFormats.d.ts +33 -0
  48. package/dist/cjs/formats/datetime/stringDateTimeFormats.js +2 -0
  49. package/dist/cjs/formats/datetime/temporalFormats.d.ts +84 -0
  50. package/dist/cjs/formats/datetime/temporalFormats.js +23 -0
  51. package/dist/cjs/formats/index.d.ts +18 -0
  52. package/dist/cjs/formats/index.js +88 -0
  53. package/dist/cjs/formats/numberFormats.d.ts +82 -0
  54. package/dist/cjs/formats/numberFormats.js +16 -0
  55. package/dist/cjs/formats/refineFormat.d.ts +24 -0
  56. package/dist/cjs/formats/refineFormat.js +2 -0
  57. package/dist/cjs/formats/scalars.d.ts +32 -0
  58. package/dist/cjs/formats/scalars.js +30 -0
  59. package/dist/cjs/formats/string/credit-card-pure-fns.d.ts +26 -0
  60. package/dist/cjs/formats/string/credit-card-pure-fns.js +151 -0
  61. package/dist/cjs/formats/string/string-formats-pure-fns.d.ts +12 -0
  62. package/dist/cjs/formats/string/string-formats-pure-fns.js +517 -0
  63. package/dist/cjs/formats/string/string-patterns.d.ts +111 -0
  64. package/dist/cjs/formats/string/string-patterns.js +115 -0
  65. package/dist/cjs/formats/string/stringFormats.d.ts +489 -0
  66. package/dist/cjs/formats/string/stringFormats.js +84 -0
  67. package/dist/cjs/formats/structural.d.ts +105 -0
  68. package/dist/cjs/formats/structural.js +7 -0
  69. package/dist/cjs/getRunType.d.ts +4 -0
  70. package/dist/cjs/getRunType.js +20 -0
  71. package/dist/cjs/go-generated/fnHashes.generated.d.ts +196 -0
  72. package/dist/cjs/go-generated/fnHashes.generated.js +78 -0
  73. package/dist/cjs/go-generated/formatErrorKeys.generated.d.ts +78 -0
  74. package/dist/cjs/go-generated/formatErrorKeys.generated.js +40 -0
  75. package/dist/cjs/go-generated/runTypeKind.generated.d.ts +62 -0
  76. package/dist/cjs/go-generated/runTypeKind.generated.js +61 -0
  77. package/dist/cjs/go-generated/typeFormats.generated.d.ts +104 -0
  78. package/dist/cjs/go-generated/typeFormats.generated.js +30 -0
  79. package/dist/cjs/index.d.ts +28 -0
  80. package/dist/cjs/index.js +47 -0
  81. package/dist/cjs/markers.d.ts +33 -0
  82. package/dist/cjs/markers.js +14 -0
  83. package/dist/cjs/mocking/childMatch.d.ts +3 -0
  84. package/dist/cjs/mocking/childMatch.js +357 -0
  85. package/dist/cjs/mocking/constants.mock.d.ts +7 -0
  86. package/dist/cjs/mocking/constants.mock.js +87 -0
  87. package/dist/cjs/mocking/createMockData.d.ts +8 -0
  88. package/dist/cjs/mocking/createMockData.js +53 -0
  89. package/dist/cjs/mocking/index.d.ts +4 -0
  90. package/dist/cjs/mocking/index.js +9 -0
  91. package/dist/cjs/mocking/isMultipleOf.d.ts +2 -0
  92. package/dist/cjs/mocking/isMultipleOf.js +11 -0
  93. package/dist/cjs/mocking/mockBigIntFormat.d.ts +1 -0
  94. package/dist/cjs/mocking/mockBigIntFormat.js +38 -0
  95. package/dist/cjs/mocking/mockDateTimeBounds.d.ts +13 -0
  96. package/dist/cjs/mocking/mockDateTimeBounds.js +277 -0
  97. package/dist/cjs/mocking/mockInvalid.d.ts +15 -0
  98. package/dist/cjs/mocking/mockInvalid.js +233 -0
  99. package/dist/cjs/mocking/mockNumberFormat.d.ts +1 -0
  100. package/dist/cjs/mocking/mockNumberFormat.js +56 -0
  101. package/dist/cjs/mocking/mockRandom.d.ts +20 -0
  102. package/dist/cjs/mocking/mockRandom.js +106 -0
  103. package/dist/cjs/mocking/mockRegistry.d.ts +7 -0
  104. package/dist/cjs/mocking/mockRegistry.js +11 -0
  105. package/dist/cjs/mocking/mockStringFormat.d.ts +5 -0
  106. package/dist/cjs/mocking/mockStringFormat.js +238 -0
  107. package/dist/cjs/mocking/mockTemporal.d.ts +13 -0
  108. package/dist/cjs/mocking/mockTemporal.js +233 -0
  109. package/dist/cjs/mocking/mockType.d.ts +3 -0
  110. package/dist/cjs/mocking/mockType.js +810 -0
  111. package/dist/cjs/mocking/mockTypes.d.ts +54 -0
  112. package/dist/cjs/mocking/mockTypes.js +2 -0
  113. package/dist/cjs/mocking/structuralFormat.d.ts +5 -0
  114. package/dist/cjs/mocking/structuralFormat.js +82 -0
  115. package/dist/cjs/modelTypes.d.ts +11 -0
  116. package/dist/cjs/modelTypes.js +2 -0
  117. package/dist/cjs/overrideRTFunctions.d.ts +9 -0
  118. package/dist/cjs/overrideRTFunctions.js +20 -0
  119. package/dist/cjs/package.json +3 -0
  120. package/dist/cjs/runtime/index.d.ts +10 -0
  121. package/dist/cjs/runtime/index.js +25 -0
  122. package/dist/cjs/runtypes/builderCore.d.ts +7 -0
  123. package/dist/cjs/runtypes/builderCore.js +39 -0
  124. package/dist/cjs/runtypes/builderTypes.d.ts +51 -0
  125. package/dist/cjs/runtypes/builderTypes.js +2 -0
  126. package/dist/cjs/runtypes/circular-pure-fns.d.ts +11 -0
  127. package/dist/cjs/runtypes/circular-pure-fns.js +117 -0
  128. package/dist/cjs/runtypes/circular.d.ts +6 -0
  129. package/dist/cjs/runtypes/circular.js +25 -0
  130. package/dist/cjs/runtypes/classSerializerRegistry.d.ts +28 -0
  131. package/dist/cjs/runtypes/classSerializerRegistry.js +141 -0
  132. package/dist/cjs/runtypes/dataOnly.d.ts +29 -0
  133. package/dist/cjs/runtypes/dataOnly.js +2 -0
  134. package/dist/cjs/runtypes/entryTuple.d.ts +101 -0
  135. package/dist/cjs/runtypes/entryTuple.js +395 -0
  136. package/dist/cjs/runtypes/formatAnnotation.d.ts +4 -0
  137. package/dist/cjs/runtypes/formatAnnotation.js +2 -0
  138. package/dist/cjs/runtypes/formatErrors.d.ts +18 -0
  139. package/dist/cjs/runtypes/formatErrors.js +2 -0
  140. package/dist/cjs/runtypes/formatPattern.d.ts +20 -0
  141. package/dist/cjs/runtypes/formatPattern.js +17 -0
  142. package/dist/cjs/runtypes/jsonShape.d.ts +22 -0
  143. package/dist/cjs/runtypes/jsonShape.js +2 -0
  144. package/dist/cjs/runtypes/pure-fn-ids.generated.d.ts +47 -0
  145. package/dist/cjs/runtypes/pure-fn-ids.generated.js +50 -0
  146. package/dist/cjs/runtypes/pure-fns-utils.d.ts +8 -0
  147. package/dist/cjs/runtypes/pure-fns-utils.js +147 -0
  148. package/dist/cjs/runtypes/pureFn.d.ts +7 -0
  149. package/dist/cjs/runtypes/pureFn.js +52 -0
  150. package/dist/cjs/runtypes/rtUtils.d.ts +45 -0
  151. package/dist/cjs/runtypes/rtUtils.js +218 -0
  152. package/dist/cjs/runtypes/sentinelKeys.d.ts +7 -0
  153. package/dist/cjs/runtypes/sentinelKeys.js +2 -0
  154. package/dist/cjs/runtypes/stripRunTypeMeta.d.ts +53 -0
  155. package/dist/cjs/runtypes/stripRunTypeMeta.js +2 -0
  156. package/dist/cjs/runtypes/typeFormat.d.ts +14 -0
  157. package/dist/cjs/runtypes/typeFormat.js +2 -0
  158. package/dist/cjs/runtypes/types.d.ts +114 -0
  159. package/dist/cjs/runtypes/types.js +2 -0
  160. package/dist/cjs/standard/createJsonSchemaFn.d.ts +8 -0
  161. package/dist/cjs/standard/createJsonSchemaFn.js +16 -0
  162. package/dist/cjs/standard/createStandardSchema.d.ts +18 -0
  163. package/dist/cjs/standard/createStandardSchema.js +30 -0
  164. package/dist/cjs/standard/issueMapping.d.ts +12 -0
  165. package/dist/cjs/standard/issueMapping.js +36 -0
  166. package/dist/cjs/standard/jsonSchemaDoc.d.ts +7 -0
  167. package/dist/cjs/standard/jsonSchemaDoc.js +95 -0
  168. package/dist/cjs/standard/spec.d.ts +47 -0
  169. package/dist/cjs/standard/spec.js +2 -0
  170. package/dist/createRTFunctions.d.ts +91 -0
  171. package/dist/createRTFunctions.js +33 -0
  172. package/dist/createRTFunctions.js.map +1 -0
  173. package/dist/enrich/createFriendlyText.d.ts +26 -0
  174. package/dist/enrich/createFriendlyText.js +271 -0
  175. package/dist/enrich/createFriendlyText.js.map +1 -0
  176. package/dist/enrich/friendlyText.d.ts +57 -0
  177. package/dist/enrich/friendlyText.js +2 -0
  178. package/dist/enrich/friendlyText.js.map +1 -0
  179. package/dist/enrich/mockData.d.ts +54 -0
  180. package/dist/enrich/mockData.js +2 -0
  181. package/dist/enrich/mockData.js.map +1 -0
  182. package/dist/fnHash.d.ts +9 -0
  183. package/dist/fnHash.js +39 -0
  184. package/dist/fnHash.js.map +1 -0
  185. package/dist/formats/bigintFormats.d.ts +42 -0
  186. package/dist/formats/bigintFormats.js +8 -0
  187. package/dist/formats/bigintFormats.js.map +1 -0
  188. package/dist/formats/datetime/dateFormats.d.ts +11 -0
  189. package/dist/formats/datetime/dateFormats.js +2 -0
  190. package/dist/formats/datetime/dateFormats.js.map +1 -0
  191. package/dist/formats/datetime/dateTime-pure-fns.d.ts +22 -0
  192. package/dist/formats/datetime/dateTime-pure-fns.js +403 -0
  193. package/dist/formats/datetime/dateTime-pure-fns.js.map +1 -0
  194. package/dist/formats/datetime/dateTimeParams.d.ts +15 -0
  195. package/dist/formats/datetime/dateTimeParams.js +2 -0
  196. package/dist/formats/datetime/dateTimeParams.js.map +1 -0
  197. package/dist/formats/datetime/stringDateTimeFormats.d.ts +34 -0
  198. package/dist/formats/datetime/stringDateTimeFormats.js +2 -0
  199. package/dist/formats/datetime/stringDateTimeFormats.js.map +1 -0
  200. package/dist/formats/datetime/temporalFormats.d.ts +85 -0
  201. package/dist/formats/datetime/temporalFormats.js +21 -0
  202. package/dist/formats/datetime/temporalFormats.js.map +1 -0
  203. package/dist/formats/index.d.ts +19 -0
  204. package/dist/formats/index.js +9 -0
  205. package/dist/formats/index.js.map +1 -0
  206. package/dist/formats/numberFormats.d.ts +83 -0
  207. package/dist/formats/numberFormats.js +14 -0
  208. package/dist/formats/numberFormats.js.map +1 -0
  209. package/dist/formats/refineFormat.d.ts +25 -0
  210. package/dist/formats/refineFormat.js +2 -0
  211. package/dist/formats/refineFormat.js.map +1 -0
  212. package/dist/formats/scalars.d.ts +33 -0
  213. package/dist/formats/scalars.js +23 -0
  214. package/dist/formats/scalars.js.map +1 -0
  215. package/dist/formats/string/credit-card-pure-fns.d.ts +27 -0
  216. package/dist/formats/string/credit-card-pure-fns.js +147 -0
  217. package/dist/formats/string/credit-card-pure-fns.js.map +1 -0
  218. package/dist/formats/string/string-formats-pure-fns.d.ts +13 -0
  219. package/dist/formats/string/string-formats-pure-fns.js +515 -0
  220. package/dist/formats/string/string-formats-pure-fns.js.map +1 -0
  221. package/dist/formats/string/string-patterns.d.ts +112 -0
  222. package/dist/formats/string/string-patterns.js +113 -0
  223. package/dist/formats/string/string-patterns.js.map +1 -0
  224. package/dist/formats/string/stringFormats.d.ts +490 -0
  225. package/dist/formats/string/stringFormats.js +76 -0
  226. package/dist/formats/string/stringFormats.js.map +1 -0
  227. package/dist/formats/structural.d.ts +106 -0
  228. package/dist/formats/structural.js +5 -0
  229. package/dist/formats/structural.js.map +1 -0
  230. package/dist/getRunType.d.ts +5 -0
  231. package/dist/getRunType.js +18 -0
  232. package/dist/getRunType.js.map +1 -0
  233. package/dist/go-generated/fnHashes.generated.d.ts +197 -0
  234. package/dist/go-generated/fnHashes.generated.js +76 -0
  235. package/dist/go-generated/fnHashes.generated.js.map +1 -0
  236. package/dist/go-generated/formatErrorKeys.generated.d.ts +79 -0
  237. package/dist/go-generated/formatErrorKeys.generated.js +38 -0
  238. package/dist/go-generated/formatErrorKeys.generated.js.map +1 -0
  239. package/dist/go-generated/runTypeKind.generated.d.ts +63 -0
  240. package/dist/go-generated/runTypeKind.generated.js +59 -0
  241. package/dist/go-generated/runTypeKind.generated.js.map +1 -0
  242. package/dist/go-generated/typeFormats.generated.d.ts +105 -0
  243. package/dist/go-generated/typeFormats.generated.js +28 -0
  244. package/dist/go-generated/typeFormats.generated.js.map +1 -0
  245. package/dist/index.d.ts +29 -0
  246. package/dist/index.js +15 -0
  247. package/dist/index.js.map +1 -0
  248. package/dist/markers.d.ts +34 -0
  249. package/dist/markers.js +12 -0
  250. package/dist/markers.js.map +1 -0
  251. package/dist/mion-pure-fns/@mionjs/run-types/-y__pOnrgnvRMz.js +2 -0
  252. package/dist/mion-pure-fns/@mionjs/run-types/0ofEnb55W0BDIY.js +2 -0
  253. package/dist/mion-pure-fns/@mionjs/run-types/18wDCH5CXZoQKV.js +2 -0
  254. package/dist/mion-pure-fns/@mionjs/run-types/2xtQHAMu-yOBo6.js +1 -0
  255. package/dist/mion-pure-fns/@mionjs/run-types/5oCqd7YyfA9rEw.js +1 -0
  256. package/dist/mion-pure-fns/@mionjs/run-types/6E7qWsIwaFRGn6.js +1 -0
  257. package/dist/mion-pure-fns/@mionjs/run-types/6xkN1Qfs9nqO79.js +1 -0
  258. package/dist/mion-pure-fns/@mionjs/run-types/8Mj42N3ytEEn67.js +1 -0
  259. package/dist/mion-pure-fns/@mionjs/run-types/A3KjzpjelkcBST.js +2 -0
  260. package/dist/mion-pure-fns/@mionjs/run-types/AgOXcprpjsrTKk.js +1 -0
  261. package/dist/mion-pure-fns/@mionjs/run-types/E29ul2pUOyD_Ay.js +1 -0
  262. package/dist/mion-pure-fns/@mionjs/run-types/EG8OkOOSnT9bZn.js +1 -0
  263. package/dist/mion-pure-fns/@mionjs/run-types/EYsxRHRDgAykA_.js +3 -0
  264. package/dist/mion-pure-fns/@mionjs/run-types/Eube1z0GFHuqlM.js +2 -0
  265. package/dist/mion-pure-fns/@mionjs/run-types/GA20s6bj41GC1A.js +1 -0
  266. package/dist/mion-pure-fns/@mionjs/run-types/GfQK19ktpvibuZ.js +2 -0
  267. package/dist/mion-pure-fns/@mionjs/run-types/IyjvBbz0zSlgCJ.js +1 -0
  268. package/dist/mion-pure-fns/@mionjs/run-types/LqTR2O-h6MYq9J.js +4 -0
  269. package/dist/mion-pure-fns/@mionjs/run-types/MnJ72PqkyXHiSP.js +1 -0
  270. package/dist/mion-pure-fns/@mionjs/run-types/NJ9TCGDnkv_9Mn.js +2 -0
  271. package/dist/mion-pure-fns/@mionjs/run-types/OCJ1B0-ZCAwagS.js +1 -0
  272. package/dist/mion-pure-fns/@mionjs/run-types/PQVLEBllZckw8I.js +2 -0
  273. package/dist/mion-pure-fns/@mionjs/run-types/Qd_9GJQlOCVqDe.js +1 -0
  274. package/dist/mion-pure-fns/@mionjs/run-types/R0IFkkw4SM2gvv.js +2 -0
  275. package/dist/mion-pure-fns/@mionjs/run-types/THkAA-KNR1HeAe.js +1 -0
  276. package/dist/mion-pure-fns/@mionjs/run-types/VJiknJ2exR2oMF.js +1 -0
  277. package/dist/mion-pure-fns/@mionjs/run-types/XYGjy-tcgDROBw.js +2 -0
  278. package/dist/mion-pure-fns/@mionjs/run-types/Z2sc5xQPKB0oav.js +1 -0
  279. package/dist/mion-pure-fns/@mionjs/run-types/_3Pmrr5aNmyNi4.js +2 -0
  280. package/dist/mion-pure-fns/@mionjs/run-types/cgwpjq6rGsI8jb.js +1 -0
  281. package/dist/mion-pure-fns/@mionjs/run-types/d8U9HjmMsNFd6Z.js +1 -0
  282. package/dist/mion-pure-fns/@mionjs/run-types/fL3v1v6aVZwJ7-.js +1 -0
  283. package/dist/mion-pure-fns/@mionjs/run-types/gFl-yXbCxJqWgQ.js +2 -0
  284. package/dist/mion-pure-fns/@mionjs/run-types/hiotRbfSKFAuK4.js +1 -0
  285. package/dist/mion-pure-fns/@mionjs/run-types/lFYcgG5ZSI-8em.js +1 -0
  286. package/dist/mion-pure-fns/@mionjs/run-types/n_ZOWff4X3qBMQ.js +1 -0
  287. package/dist/mion-pure-fns/@mionjs/run-types/ndkQPoji6DFHx2.js +2 -0
  288. package/dist/mion-pure-fns/@mionjs/run-types/nsU8QeJCuCF8Kr.js +1 -0
  289. package/dist/mion-pure-fns/@mionjs/run-types/qMsNYN8hy_sC8i.js +1 -0
  290. package/dist/mion-pure-fns/@mionjs/run-types/rXVwGkGDX08BsQ.js +1 -0
  291. package/dist/mion-pure-fns/@mionjs/run-types/rgWveqNi_HeFF8.js +5 -0
  292. package/dist/mion-pure-fns/@mionjs/run-types/s-tZDRlQfCG5m2.js +1 -0
  293. package/dist/mion-pure-fns/@mionjs/run-types/t-ntJ9S0FuxkC2.js +1 -0
  294. package/dist/mion-pure-fns/@mionjs/run-types/tfRjnFZVF8lqI_.js +1 -0
  295. package/dist/mion-pure-fns/@mionjs/run-types/vLId7t0J8HNWlN.js +1 -0
  296. package/dist/mion-pure-fns/@mionjs/run-types/zXMPEMyjGR4ZRc.js +1 -0
  297. package/dist/mion-pure-fns/index.json +236 -0
  298. package/dist/mocking/childMatch.d.ts +4 -0
  299. package/dist/mocking/childMatch.js +354 -0
  300. package/dist/mocking/childMatch.js.map +1 -0
  301. package/dist/mocking/constants.mock.d.ts +8 -0
  302. package/dist/mocking/constants.mock.js +85 -0
  303. package/dist/mocking/constants.mock.js.map +1 -0
  304. package/dist/mocking/createMockData.d.ts +9 -0
  305. package/dist/mocking/createMockData.js +51 -0
  306. package/dist/mocking/createMockData.js.map +1 -0
  307. package/dist/mocking/index.d.ts +5 -0
  308. package/dist/mocking/index.js +4 -0
  309. package/dist/mocking/index.js.map +1 -0
  310. package/dist/mocking/isMultipleOf.d.ts +3 -0
  311. package/dist/mocking/isMultipleOf.js +8 -0
  312. package/dist/mocking/isMultipleOf.js.map +1 -0
  313. package/dist/mocking/mockBigIntFormat.d.ts +2 -0
  314. package/dist/mocking/mockBigIntFormat.js +37 -0
  315. package/dist/mocking/mockBigIntFormat.js.map +1 -0
  316. package/dist/mocking/mockDateTimeBounds.d.ts +14 -0
  317. package/dist/mocking/mockDateTimeBounds.js +272 -0
  318. package/dist/mocking/mockDateTimeBounds.js.map +1 -0
  319. package/dist/mocking/mockInvalid.d.ts +16 -0
  320. package/dist/mocking/mockInvalid.js +228 -0
  321. package/dist/mocking/mockInvalid.js.map +1 -0
  322. package/dist/mocking/mockNumberFormat.d.ts +2 -0
  323. package/dist/mocking/mockNumberFormat.js +55 -0
  324. package/dist/mocking/mockNumberFormat.js.map +1 -0
  325. package/dist/mocking/mockRandom.d.ts +21 -0
  326. package/dist/mocking/mockRandom.js +102 -0
  327. package/dist/mocking/mockRandom.js.map +1 -0
  328. package/dist/mocking/mockRegistry.d.ts +8 -0
  329. package/dist/mocking/mockRegistry.js +8 -0
  330. package/dist/mocking/mockRegistry.js.map +1 -0
  331. package/dist/mocking/mockStringFormat.d.ts +6 -0
  332. package/dist/mocking/mockStringFormat.js +234 -0
  333. package/dist/mocking/mockStringFormat.js.map +1 -0
  334. package/dist/mocking/mockTemporal.d.ts +14 -0
  335. package/dist/mocking/mockTemporal.js +229 -0
  336. package/dist/mocking/mockTemporal.js.map +1 -0
  337. package/dist/mocking/mockType.d.ts +4 -0
  338. package/dist/mocking/mockType.js +808 -0
  339. package/dist/mocking/mockType.js.map +1 -0
  340. package/dist/mocking/mockTypes.d.ts +55 -0
  341. package/dist/mocking/mockTypes.js +2 -0
  342. package/dist/mocking/mockTypes.js.map +1 -0
  343. package/dist/mocking/structuralFormat.d.ts +6 -0
  344. package/dist/mocking/structuralFormat.js +77 -0
  345. package/dist/mocking/structuralFormat.js.map +1 -0
  346. package/dist/modelTypes.d.ts +12 -0
  347. package/dist/modelTypes.js +2 -0
  348. package/dist/modelTypes.js.map +1 -0
  349. package/dist/overrideRTFunctions.d.ts +10 -0
  350. package/dist/overrideRTFunctions.js +18 -0
  351. package/dist/overrideRTFunctions.js.map +1 -0
  352. package/dist/runtime/index.d.ts +11 -0
  353. package/dist/runtime/index.js +10 -0
  354. package/dist/runtime/index.js.map +1 -0
  355. package/dist/runtypes/builderCore.d.ts +8 -0
  356. package/dist/runtypes/builderCore.js +34 -0
  357. package/dist/runtypes/builderCore.js.map +1 -0
  358. package/dist/runtypes/builderTypes.d.ts +52 -0
  359. package/dist/runtypes/builderTypes.js +2 -0
  360. package/dist/runtypes/builderTypes.js.map +1 -0
  361. package/dist/runtypes/circular-pure-fns.d.ts +12 -0
  362. package/dist/runtypes/circular-pure-fns.js +115 -0
  363. package/dist/runtypes/circular-pure-fns.js.map +1 -0
  364. package/dist/runtypes/circular.d.ts +7 -0
  365. package/dist/runtypes/circular.js +21 -0
  366. package/dist/runtypes/circular.js.map +1 -0
  367. package/dist/runtypes/classSerializerRegistry.d.ts +29 -0
  368. package/dist/runtypes/classSerializerRegistry.js +133 -0
  369. package/dist/runtypes/classSerializerRegistry.js.map +1 -0
  370. package/dist/runtypes/dataOnly.d.ts +30 -0
  371. package/dist/runtypes/dataOnly.js +2 -0
  372. package/dist/runtypes/dataOnly.js.map +1 -0
  373. package/dist/runtypes/entryTuple.d.ts +102 -0
  374. package/dist/runtypes/entryTuple.js +387 -0
  375. package/dist/runtypes/entryTuple.js.map +1 -0
  376. package/dist/runtypes/formatAnnotation.d.ts +5 -0
  377. package/dist/runtypes/formatAnnotation.js +2 -0
  378. package/dist/runtypes/formatAnnotation.js.map +1 -0
  379. package/dist/runtypes/formatErrors.d.ts +19 -0
  380. package/dist/runtypes/formatErrors.js +2 -0
  381. package/dist/runtypes/formatErrors.js.map +1 -0
  382. package/dist/runtypes/formatPattern.d.ts +21 -0
  383. package/dist/runtypes/formatPattern.js +15 -0
  384. package/dist/runtypes/formatPattern.js.map +1 -0
  385. package/dist/runtypes/jsonShape.d.ts +23 -0
  386. package/dist/runtypes/jsonShape.js +2 -0
  387. package/dist/runtypes/jsonShape.js.map +1 -0
  388. package/dist/runtypes/pure-fn-ids.generated.d.ts +48 -0
  389. package/dist/runtypes/pure-fn-ids.generated.js +48 -0
  390. package/dist/runtypes/pure-fn-ids.generated.js.map +1 -0
  391. package/dist/runtypes/pure-fns-utils.d.ts +9 -0
  392. package/dist/runtypes/pure-fns-utils.js +145 -0
  393. package/dist/runtypes/pure-fns-utils.js.map +1 -0
  394. package/dist/runtypes/pureFn.d.ts +8 -0
  395. package/dist/runtypes/pureFn.js +49 -0
  396. package/dist/runtypes/pureFn.js.map +1 -0
  397. package/dist/runtypes/rtUtils.d.ts +46 -0
  398. package/dist/runtypes/rtUtils.js +211 -0
  399. package/dist/runtypes/rtUtils.js.map +1 -0
  400. package/dist/runtypes/sentinelKeys.d.ts +8 -0
  401. package/dist/runtypes/sentinelKeys.js +2 -0
  402. package/dist/runtypes/sentinelKeys.js.map +1 -0
  403. package/dist/runtypes/stripRunTypeMeta.d.ts +54 -0
  404. package/dist/runtypes/stripRunTypeMeta.js +2 -0
  405. package/dist/runtypes/stripRunTypeMeta.js.map +1 -0
  406. package/dist/runtypes/typeFormat.d.ts +15 -0
  407. package/dist/runtypes/typeFormat.js +2 -0
  408. package/dist/runtypes/typeFormat.js.map +1 -0
  409. package/dist/runtypes/types.d.ts +115 -0
  410. package/dist/runtypes/types.js +2 -0
  411. package/dist/runtypes/types.js.map +1 -0
  412. package/dist/standard/createJsonSchemaFn.d.ts +9 -0
  413. package/dist/standard/createJsonSchemaFn.js +12 -0
  414. package/dist/standard/createJsonSchemaFn.js.map +1 -0
  415. package/dist/standard/createStandardSchema.d.ts +19 -0
  416. package/dist/standard/createStandardSchema.js +28 -0
  417. package/dist/standard/createStandardSchema.js.map +1 -0
  418. package/dist/standard/issueMapping.d.ts +13 -0
  419. package/dist/standard/issueMapping.js +34 -0
  420. package/dist/standard/issueMapping.js.map +1 -0
  421. package/dist/standard/jsonSchemaDoc.d.ts +8 -0
  422. package/dist/standard/jsonSchemaDoc.js +90 -0
  423. package/dist/standard/jsonSchemaDoc.js.map +1 -0
  424. package/dist/standard/spec.d.ts +48 -0
  425. package/dist/standard/spec.js +2 -0
  426. package/dist/standard/spec.js.map +1 -0
  427. package/package.json +101 -53
  428. package/skills/rt-enrich-types/SKILL.md +83 -0
  429. package/skills/rt-enrich-types/mirror.md +58 -0
  430. package/skills/rt-enrich-types/translations.md +77 -0
  431. package/skills/runtypes-friendly-text/SKILL.md +94 -0
  432. package/skills/runtypes-friendly-text/references/checks.md +37 -0
  433. package/skills/runtypes-friendly-text/references/error-templates.md +94 -0
  434. package/skills/runtypes-friendly-text/references/example.md +80 -0
  435. package/skills/runtypes-friendly-text/references/rendering.md +77 -0
  436. package/skills/runtypes-friendly-text/references/translations.md +38 -0
  437. package/skills/runtypes-mock-data/SKILL.md +95 -0
  438. package/skills/runtypes-mock-data/example.md +54 -0
  439. package/.dist/cjs/index.cjs +0 -209
  440. package/.dist/cjs/index.cjs.map +0 -1
  441. package/.dist/cjs/index.d.ts +0 -61
  442. package/.dist/cjs/index.d.ts.map +0 -1
  443. package/.dist/cjs/package.json +0 -1
  444. package/.dist/cjs/src/constants.cjs +0 -79
  445. package/.dist/cjs/src/constants.cjs.map +0 -1
  446. package/.dist/cjs/src/constants.d.ts +0 -8
  447. package/.dist/cjs/src/constants.d.ts.map +0 -1
  448. package/.dist/cjs/src/constants.functions.cjs +0 -181
  449. package/.dist/cjs/src/constants.functions.cjs.map +0 -1
  450. package/.dist/cjs/src/constants.functions.d.ts +0 -386
  451. package/.dist/cjs/src/constants.functions.d.ts.map +0 -1
  452. package/.dist/cjs/src/constants.kind.cjs +0 -74
  453. package/.dist/cjs/src/constants.kind.cjs.map +0 -1
  454. package/.dist/cjs/src/constants.kind.d.ts +0 -22
  455. package/.dist/cjs/src/constants.kind.d.ts.map +0 -1
  456. package/.dist/cjs/src/createRunType.cjs +0 -286
  457. package/.dist/cjs/src/createRunType.cjs.map +0 -1
  458. package/.dist/cjs/src/createRunType.d.ts +0 -6
  459. package/.dist/cjs/src/createRunType.d.ts.map +0 -1
  460. package/.dist/cjs/src/createRunTypeFunctions.cjs +0 -78
  461. package/.dist/cjs/src/createRunTypeFunctions.cjs.map +0 -1
  462. package/.dist/cjs/src/createRunTypeFunctions.d.ts +0 -13
  463. package/.dist/cjs/src/createRunTypeFunctions.d.ts.map +0 -1
  464. package/.dist/cjs/src/formats.runtype.cjs +0 -7
  465. package/.dist/cjs/src/formats.runtype.cjs.map +0 -1
  466. package/.dist/cjs/src/formats.runtype.d.ts +0 -7
  467. package/.dist/cjs/src/formats.runtype.d.ts.map +0 -1
  468. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs +0 -109
  469. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs.map +0 -1
  470. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
  471. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
  472. package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs +0 -383
  473. package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs.map +0 -1
  474. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +0 -8
  475. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
  476. package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs +0 -338
  477. package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs.map +0 -1
  478. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +0 -8
  479. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
  480. package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs +0 -37
  481. package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs.map +0 -1
  482. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +0 -5
  483. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
  484. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs +0 -56
  485. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs.map +0 -1
  486. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
  487. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
  488. package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs +0 -399
  489. package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs.map +0 -1
  490. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +0 -11
  491. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
  492. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs +0 -51
  493. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs.map +0 -1
  494. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
  495. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
  496. package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs +0 -131
  497. package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs.map +0 -1
  498. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +0 -6
  499. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
  500. package/.dist/cjs/src/lib/baseRunTypeFormat.cjs +0 -200
  501. package/.dist/cjs/src/lib/baseRunTypeFormat.cjs.map +0 -1
  502. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +0 -51
  503. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts.map +0 -1
  504. package/.dist/cjs/src/lib/baseRunTypes.cjs +0 -277
  505. package/.dist/cjs/src/lib/baseRunTypes.cjs.map +0 -1
  506. package/.dist/cjs/src/lib/baseRunTypes.d.ts +0 -74
  507. package/.dist/cjs/src/lib/baseRunTypes.d.ts.map +0 -1
  508. package/.dist/cjs/src/lib/createJitFunction.cjs +0 -60
  509. package/.dist/cjs/src/lib/createJitFunction.cjs.map +0 -1
  510. package/.dist/cjs/src/lib/createJitFunction.d.ts +0 -6
  511. package/.dist/cjs/src/lib/createJitFunction.d.ts.map +0 -1
  512. package/.dist/cjs/src/lib/dkProxy.cjs +0 -23
  513. package/.dist/cjs/src/lib/dkProxy.cjs.map +0 -1
  514. package/.dist/cjs/src/lib/dkProxy.d.ts +0 -5
  515. package/.dist/cjs/src/lib/dkProxy.d.ts.map +0 -1
  516. package/.dist/cjs/src/lib/formats.cjs +0 -89
  517. package/.dist/cjs/src/lib/formats.cjs.map +0 -1
  518. package/.dist/cjs/src/lib/formats.d.ts +0 -19
  519. package/.dist/cjs/src/lib/formats.d.ts.map +0 -1
  520. package/.dist/cjs/src/lib/guards.cjs +0 -243
  521. package/.dist/cjs/src/lib/guards.cjs.map +0 -1
  522. package/.dist/cjs/src/lib/guards.d.ts +0 -121
  523. package/.dist/cjs/src/lib/guards.d.ts.map +0 -1
  524. package/.dist/cjs/src/lib/jitFnCompiler.cjs +0 -650
  525. package/.dist/cjs/src/lib/jitFnCompiler.cjs.map +0 -1
  526. package/.dist/cjs/src/lib/jitFnCompiler.d.ts +0 -110
  527. package/.dist/cjs/src/lib/jitFnCompiler.d.ts.map +0 -1
  528. package/.dist/cjs/src/lib/jitFnsRegistry.cjs +0 -41
  529. package/.dist/cjs/src/lib/jitFnsRegistry.cjs.map +0 -1
  530. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +0 -7
  531. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts.map +0 -1
  532. package/.dist/cjs/src/lib/typeId.cjs +0 -205
  533. package/.dist/cjs/src/lib/typeId.cjs.map +0 -1
  534. package/.dist/cjs/src/lib/typeId.d.ts +0 -7
  535. package/.dist/cjs/src/lib/typeId.d.ts.map +0 -1
  536. package/.dist/cjs/src/lib/utils.cjs +0 -325
  537. package/.dist/cjs/src/lib/utils.cjs.map +0 -1
  538. package/.dist/cjs/src/lib/utils.d.ts +0 -33
  539. package/.dist/cjs/src/lib/utils.d.ts.map +0 -1
  540. package/.dist/cjs/src/mocking/constants.mock.cjs +0 -108
  541. package/.dist/cjs/src/mocking/constants.mock.cjs.map +0 -1
  542. package/.dist/cjs/src/mocking/constants.mock.d.ts +0 -86
  543. package/.dist/cjs/src/mocking/constants.mock.d.ts.map +0 -1
  544. package/.dist/cjs/src/mocking/mockRegistry.cjs +0 -12
  545. package/.dist/cjs/src/mocking/mockRegistry.cjs.map +0 -1
  546. package/.dist/cjs/src/mocking/mockRegistry.d.ts +0 -4
  547. package/.dist/cjs/src/mocking/mockRegistry.d.ts.map +0 -1
  548. package/.dist/cjs/src/mocking/mockType.cjs +0 -355
  549. package/.dist/cjs/src/mocking/mockType.cjs.map +0 -1
  550. package/.dist/cjs/src/mocking/mockType.d.ts +0 -4
  551. package/.dist/cjs/src/mocking/mockType.d.ts.map +0 -1
  552. package/.dist/cjs/src/mocking/mockUtils.cjs +0 -62
  553. package/.dist/cjs/src/mocking/mockUtils.cjs.map +0 -1
  554. package/.dist/cjs/src/mocking/mockUtils.d.ts +0 -16
  555. package/.dist/cjs/src/mocking/mockUtils.d.ts.map +0 -1
  556. package/.dist/cjs/src/nodes/atomic/any.cjs +0 -18
  557. package/.dist/cjs/src/nodes/atomic/any.cjs.map +0 -1
  558. package/.dist/cjs/src/nodes/atomic/any.d.ts +0 -9
  559. package/.dist/cjs/src/nodes/atomic/any.d.ts.map +0 -1
  560. package/.dist/cjs/src/nodes/atomic/bigInt.cjs +0 -20
  561. package/.dist/cjs/src/nodes/atomic/bigInt.cjs.map +0 -1
  562. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +0 -11
  563. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts.map +0 -1
  564. package/.dist/cjs/src/nodes/atomic/boolean.cjs +0 -20
  565. package/.dist/cjs/src/nodes/atomic/boolean.cjs.map +0 -1
  566. package/.dist/cjs/src/nodes/atomic/boolean.d.ts +0 -11
  567. package/.dist/cjs/src/nodes/atomic/boolean.d.ts.map +0 -1
  568. package/.dist/cjs/src/nodes/atomic/date.cjs +0 -20
  569. package/.dist/cjs/src/nodes/atomic/date.cjs.map +0 -1
  570. package/.dist/cjs/src/nodes/atomic/date.d.ts +0 -11
  571. package/.dist/cjs/src/nodes/atomic/date.d.ts.map +0 -1
  572. package/.dist/cjs/src/nodes/atomic/enum.cjs +0 -22
  573. package/.dist/cjs/src/nodes/atomic/enum.cjs.map +0 -1
  574. package/.dist/cjs/src/nodes/atomic/enum.d.ts +0 -9
  575. package/.dist/cjs/src/nodes/atomic/enum.d.ts.map +0 -1
  576. package/.dist/cjs/src/nodes/atomic/enumMember.cjs +0 -24
  577. package/.dist/cjs/src/nodes/atomic/enumMember.cjs.map +0 -1
  578. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +0 -11
  579. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts.map +0 -1
  580. package/.dist/cjs/src/nodes/atomic/literal.cjs +0 -126
  581. package/.dist/cjs/src/nodes/atomic/literal.cjs.map +0 -1
  582. package/.dist/cjs/src/nodes/atomic/literal.d.ts +0 -21
  583. package/.dist/cjs/src/nodes/atomic/literal.d.ts.map +0 -1
  584. package/.dist/cjs/src/nodes/atomic/never.cjs +0 -22
  585. package/.dist/cjs/src/nodes/atomic/never.cjs.map +0 -1
  586. package/.dist/cjs/src/nodes/atomic/never.d.ts +0 -11
  587. package/.dist/cjs/src/nodes/atomic/never.d.ts.map +0 -1
  588. package/.dist/cjs/src/nodes/atomic/null.cjs +0 -20
  589. package/.dist/cjs/src/nodes/atomic/null.cjs.map +0 -1
  590. package/.dist/cjs/src/nodes/atomic/null.d.ts +0 -11
  591. package/.dist/cjs/src/nodes/atomic/null.d.ts.map +0 -1
  592. package/.dist/cjs/src/nodes/atomic/number.cjs +0 -20
  593. package/.dist/cjs/src/nodes/atomic/number.cjs.map +0 -1
  594. package/.dist/cjs/src/nodes/atomic/number.d.ts +0 -11
  595. package/.dist/cjs/src/nodes/atomic/number.d.ts.map +0 -1
  596. package/.dist/cjs/src/nodes/atomic/object.cjs +0 -14
  597. package/.dist/cjs/src/nodes/atomic/object.cjs.map +0 -1
  598. package/.dist/cjs/src/nodes/atomic/object.d.ts +0 -9
  599. package/.dist/cjs/src/nodes/atomic/object.d.ts.map +0 -1
  600. package/.dist/cjs/src/nodes/atomic/regexp.cjs +0 -23
  601. package/.dist/cjs/src/nodes/atomic/regexp.cjs.map +0 -1
  602. package/.dist/cjs/src/nodes/atomic/regexp.d.ts +0 -11
  603. package/.dist/cjs/src/nodes/atomic/regexp.d.ts.map +0 -1
  604. package/.dist/cjs/src/nodes/atomic/string.cjs +0 -14
  605. package/.dist/cjs/src/nodes/atomic/string.cjs.map +0 -1
  606. package/.dist/cjs/src/nodes/atomic/string.d.ts +0 -9
  607. package/.dist/cjs/src/nodes/atomic/string.d.ts.map +0 -1
  608. package/.dist/cjs/src/nodes/atomic/symbol.cjs +0 -26
  609. package/.dist/cjs/src/nodes/atomic/symbol.cjs.map +0 -1
  610. package/.dist/cjs/src/nodes/atomic/symbol.d.ts +0 -12
  611. package/.dist/cjs/src/nodes/atomic/symbol.d.ts.map +0 -1
  612. package/.dist/cjs/src/nodes/atomic/undefined.cjs +0 -17
  613. package/.dist/cjs/src/nodes/atomic/undefined.cjs.map +0 -1
  614. package/.dist/cjs/src/nodes/atomic/undefined.d.ts +0 -10
  615. package/.dist/cjs/src/nodes/atomic/undefined.d.ts.map +0 -1
  616. package/.dist/cjs/src/nodes/atomic/unknown.cjs +0 -8
  617. package/.dist/cjs/src/nodes/atomic/unknown.cjs.map +0 -1
  618. package/.dist/cjs/src/nodes/atomic/unknown.d.ts +0 -4
  619. package/.dist/cjs/src/nodes/atomic/unknown.d.ts.map +0 -1
  620. package/.dist/cjs/src/nodes/atomic/void.cjs +0 -20
  621. package/.dist/cjs/src/nodes/atomic/void.cjs.map +0 -1
  622. package/.dist/cjs/src/nodes/atomic/void.d.ts +0 -11
  623. package/.dist/cjs/src/nodes/atomic/void.d.ts.map +0 -1
  624. package/.dist/cjs/src/nodes/collection/class.cjs +0 -38
  625. package/.dist/cjs/src/nodes/collection/class.cjs.map +0 -1
  626. package/.dist/cjs/src/nodes/collection/class.d.ts +0 -10
  627. package/.dist/cjs/src/nodes/collection/class.d.ts.map +0 -1
  628. package/.dist/cjs/src/nodes/collection/functionParams.cjs +0 -33
  629. package/.dist/cjs/src/nodes/collection/functionParams.cjs.map +0 -1
  630. package/.dist/cjs/src/nodes/collection/functionParams.d.ts +0 -10
  631. package/.dist/cjs/src/nodes/collection/functionParams.d.ts.map +0 -1
  632. package/.dist/cjs/src/nodes/collection/interface.cjs +0 -241
  633. package/.dist/cjs/src/nodes/collection/interface.cjs.map +0 -1
  634. package/.dist/cjs/src/nodes/collection/interface.d.ts +0 -44
  635. package/.dist/cjs/src/nodes/collection/interface.d.ts.map +0 -1
  636. package/.dist/cjs/src/nodes/collection/intersection.cjs +0 -21
  637. package/.dist/cjs/src/nodes/collection/intersection.cjs.map +0 -1
  638. package/.dist/cjs/src/nodes/collection/intersection.d.ts +0 -10
  639. package/.dist/cjs/src/nodes/collection/intersection.d.ts.map +0 -1
  640. package/.dist/cjs/src/nodes/collection/templateLiteral.cjs +0 -73
  641. package/.dist/cjs/src/nodes/collection/templateLiteral.cjs.map +0 -1
  642. package/.dist/cjs/src/nodes/collection/templateLiteral.d.ts +0 -16
  643. package/.dist/cjs/src/nodes/collection/templateLiteral.d.ts.map +0 -1
  644. package/.dist/cjs/src/nodes/collection/tuple.cjs +0 -74
  645. package/.dist/cjs/src/nodes/collection/tuple.cjs.map +0 -1
  646. package/.dist/cjs/src/nodes/collection/tuple.d.ts +0 -19
  647. package/.dist/cjs/src/nodes/collection/tuple.d.ts.map +0 -1
  648. package/.dist/cjs/src/nodes/collection/union.cjs +0 -162
  649. package/.dist/cjs/src/nodes/collection/union.cjs.map +0 -1
  650. package/.dist/cjs/src/nodes/collection/union.d.ts +0 -20
  651. package/.dist/cjs/src/nodes/collection/union.d.ts.map +0 -1
  652. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs +0 -198
  653. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs.map +0 -1
  654. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +0 -22
  655. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
  656. package/.dist/cjs/src/nodes/function/function.cjs +0 -159
  657. package/.dist/cjs/src/nodes/function/function.cjs.map +0 -1
  658. package/.dist/cjs/src/nodes/function/function.d.ts +0 -35
  659. package/.dist/cjs/src/nodes/function/function.d.ts.map +0 -1
  660. package/.dist/cjs/src/nodes/member/array.cjs +0 -154
  661. package/.dist/cjs/src/nodes/member/array.cjs.map +0 -1
  662. package/.dist/cjs/src/nodes/member/array.d.ts +0 -25
  663. package/.dist/cjs/src/nodes/member/array.d.ts.map +0 -1
  664. package/.dist/cjs/src/nodes/member/callSignature.cjs +0 -40
  665. package/.dist/cjs/src/nodes/member/callSignature.cjs.map +0 -1
  666. package/.dist/cjs/src/nodes/member/callSignature.d.ts +0 -12
  667. package/.dist/cjs/src/nodes/member/callSignature.d.ts.map +0 -1
  668. package/.dist/cjs/src/nodes/member/genericMember.cjs +0 -68
  669. package/.dist/cjs/src/nodes/member/genericMember.cjs.map +0 -1
  670. package/.dist/cjs/src/nodes/member/genericMember.d.ts +0 -16
  671. package/.dist/cjs/src/nodes/member/genericMember.d.ts.map +0 -1
  672. package/.dist/cjs/src/nodes/member/indexProperty.cjs +0 -177
  673. package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +0 -1
  674. package/.dist/cjs/src/nodes/member/indexProperty.d.ts +0 -23
  675. package/.dist/cjs/src/nodes/member/indexProperty.d.ts.map +0 -1
  676. package/.dist/cjs/src/nodes/member/method.cjs +0 -41
  677. package/.dist/cjs/src/nodes/member/method.cjs.map +0 -1
  678. package/.dist/cjs/src/nodes/member/method.d.ts +0 -12
  679. package/.dist/cjs/src/nodes/member/method.d.ts.map +0 -1
  680. package/.dist/cjs/src/nodes/member/methodSignature.cjs +0 -44
  681. package/.dist/cjs/src/nodes/member/methodSignature.cjs.map +0 -1
  682. package/.dist/cjs/src/nodes/member/methodSignature.d.ts +0 -13
  683. package/.dist/cjs/src/nodes/member/methodSignature.d.ts.map +0 -1
  684. package/.dist/cjs/src/nodes/member/param.cjs +0 -17
  685. package/.dist/cjs/src/nodes/member/param.cjs.map +0 -1
  686. package/.dist/cjs/src/nodes/member/param.d.ts +0 -9
  687. package/.dist/cjs/src/nodes/member/param.d.ts.map +0 -1
  688. package/.dist/cjs/src/nodes/member/property.cjs +0 -85
  689. package/.dist/cjs/src/nodes/member/property.cjs.map +0 -1
  690. package/.dist/cjs/src/nodes/member/property.d.ts +0 -20
  691. package/.dist/cjs/src/nodes/member/property.d.ts.map +0 -1
  692. package/.dist/cjs/src/nodes/member/restParams.cjs +0 -15
  693. package/.dist/cjs/src/nodes/member/restParams.cjs.map +0 -1
  694. package/.dist/cjs/src/nodes/member/restParams.d.ts +0 -8
  695. package/.dist/cjs/src/nodes/member/restParams.d.ts.map +0 -1
  696. package/.dist/cjs/src/nodes/member/tupleMember.cjs +0 -93
  697. package/.dist/cjs/src/nodes/member/tupleMember.cjs.map +0 -1
  698. package/.dist/cjs/src/nodes/member/tupleMember.d.ts +0 -21
  699. package/.dist/cjs/src/nodes/member/tupleMember.d.ts.map +0 -1
  700. package/.dist/cjs/src/nodes/native/Iterable.cjs +0 -135
  701. package/.dist/cjs/src/nodes/native/Iterable.cjs.map +0 -1
  702. package/.dist/cjs/src/nodes/native/Iterable.d.ts +0 -19
  703. package/.dist/cjs/src/nodes/native/Iterable.d.ts.map +0 -1
  704. package/.dist/cjs/src/nodes/native/map.cjs +0 -96
  705. package/.dist/cjs/src/nodes/native/map.cjs.map +0 -1
  706. package/.dist/cjs/src/nodes/native/map.d.ts +0 -43
  707. package/.dist/cjs/src/nodes/native/map.d.ts.map +0 -1
  708. package/.dist/cjs/src/nodes/native/nonSerializable.cjs +0 -36
  709. package/.dist/cjs/src/nodes/native/nonSerializable.cjs.map +0 -1
  710. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +0 -15
  711. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts.map +0 -1
  712. package/.dist/cjs/src/nodes/native/promise.cjs +0 -38
  713. package/.dist/cjs/src/nodes/native/promise.cjs.map +0 -1
  714. package/.dist/cjs/src/nodes/native/promise.d.ts +0 -16
  715. package/.dist/cjs/src/nodes/native/promise.d.ts.map +0 -1
  716. package/.dist/cjs/src/nodes/native/set.cjs +0 -60
  717. package/.dist/cjs/src/nodes/native/set.cjs.map +0 -1
  718. package/.dist/cjs/src/nodes/native/set.d.ts +0 -31
  719. package/.dist/cjs/src/nodes/native/set.d.ts.map +0 -1
  720. package/.dist/cjs/src/run-types-pure-fns.cjs +0 -112
  721. package/.dist/cjs/src/run-types-pure-fns.cjs.map +0 -1
  722. package/.dist/cjs/src/run-types-pure-fns.d.ts +0 -8
  723. package/.dist/cjs/src/run-types-pure-fns.d.ts.map +0 -1
  724. package/.dist/cjs/src/types.cjs +0 -59
  725. package/.dist/cjs/src/types.cjs.map +0 -1
  726. package/.dist/cjs/src/types.d.ts +0 -154
  727. package/.dist/cjs/src/types.d.ts.map +0 -1
  728. package/.dist/esm/index.d.ts +0 -61
  729. package/.dist/esm/index.d.ts.map +0 -1
  730. package/.dist/esm/index.js +0 -209
  731. package/.dist/esm/index.js.map +0 -1
  732. package/.dist/esm/src/constants.d.ts +0 -8
  733. package/.dist/esm/src/constants.d.ts.map +0 -1
  734. package/.dist/esm/src/constants.functions.d.ts +0 -386
  735. package/.dist/esm/src/constants.functions.d.ts.map +0 -1
  736. package/.dist/esm/src/constants.functions.js +0 -181
  737. package/.dist/esm/src/constants.functions.js.map +0 -1
  738. package/.dist/esm/src/constants.js +0 -79
  739. package/.dist/esm/src/constants.js.map +0 -1
  740. package/.dist/esm/src/constants.kind.d.ts +0 -22
  741. package/.dist/esm/src/constants.kind.d.ts.map +0 -1
  742. package/.dist/esm/src/constants.kind.js +0 -74
  743. package/.dist/esm/src/constants.kind.js.map +0 -1
  744. package/.dist/esm/src/createRunType.d.ts +0 -6
  745. package/.dist/esm/src/createRunType.d.ts.map +0 -1
  746. package/.dist/esm/src/createRunType.js +0 -286
  747. package/.dist/esm/src/createRunType.js.map +0 -1
  748. package/.dist/esm/src/createRunTypeFunctions.d.ts +0 -13
  749. package/.dist/esm/src/createRunTypeFunctions.d.ts.map +0 -1
  750. package/.dist/esm/src/createRunTypeFunctions.js +0 -78
  751. package/.dist/esm/src/createRunTypeFunctions.js.map +0 -1
  752. package/.dist/esm/src/formats.runtype.d.ts +0 -7
  753. package/.dist/esm/src/formats.runtype.d.ts.map +0 -1
  754. package/.dist/esm/src/formats.runtype.js +0 -7
  755. package/.dist/esm/src/formats.runtype.js.map +0 -1
  756. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
  757. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
  758. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js +0 -109
  759. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js.map +0 -1
  760. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +0 -8
  761. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
  762. package/.dist/esm/src/jitCompilers/binary/fromBinary.js +0 -383
  763. package/.dist/esm/src/jitCompilers/binary/fromBinary.js.map +0 -1
  764. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +0 -8
  765. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
  766. package/.dist/esm/src/jitCompilers/binary/toBinary.js +0 -338
  767. package/.dist/esm/src/jitCompilers/binary/toBinary.js.map +0 -1
  768. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +0 -5
  769. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
  770. package/.dist/esm/src/jitCompilers/equalsHelpers.js +0 -37
  771. package/.dist/esm/src/jitCompilers/equalsHelpers.js.map +0 -1
  772. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
  773. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
  774. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js +0 -56
  775. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js.map +0 -1
  776. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +0 -11
  777. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
  778. package/.dist/esm/src/jitCompilers/json/stringifyJson.js +0 -399
  779. package/.dist/esm/src/jitCompilers/json/stringifyJson.js.map +0 -1
  780. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
  781. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
  782. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js +0 -51
  783. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js.map +0 -1
  784. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +0 -6
  785. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
  786. package/.dist/esm/src/jitCompilers/json/toJsCode.js +0 -131
  787. package/.dist/esm/src/jitCompilers/json/toJsCode.js.map +0 -1
  788. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +0 -51
  789. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts.map +0 -1
  790. package/.dist/esm/src/lib/baseRunTypeFormat.js +0 -200
  791. package/.dist/esm/src/lib/baseRunTypeFormat.js.map +0 -1
  792. package/.dist/esm/src/lib/baseRunTypes.d.ts +0 -74
  793. package/.dist/esm/src/lib/baseRunTypes.d.ts.map +0 -1
  794. package/.dist/esm/src/lib/baseRunTypes.js +0 -277
  795. package/.dist/esm/src/lib/baseRunTypes.js.map +0 -1
  796. package/.dist/esm/src/lib/createJitFunction.d.ts +0 -6
  797. package/.dist/esm/src/lib/createJitFunction.d.ts.map +0 -1
  798. package/.dist/esm/src/lib/createJitFunction.js +0 -60
  799. package/.dist/esm/src/lib/createJitFunction.js.map +0 -1
  800. package/.dist/esm/src/lib/dkProxy.d.ts +0 -5
  801. package/.dist/esm/src/lib/dkProxy.d.ts.map +0 -1
  802. package/.dist/esm/src/lib/dkProxy.js +0 -23
  803. package/.dist/esm/src/lib/dkProxy.js.map +0 -1
  804. package/.dist/esm/src/lib/formats.d.ts +0 -19
  805. package/.dist/esm/src/lib/formats.d.ts.map +0 -1
  806. package/.dist/esm/src/lib/formats.js +0 -89
  807. package/.dist/esm/src/lib/formats.js.map +0 -1
  808. package/.dist/esm/src/lib/guards.d.ts +0 -121
  809. package/.dist/esm/src/lib/guards.d.ts.map +0 -1
  810. package/.dist/esm/src/lib/guards.js +0 -243
  811. package/.dist/esm/src/lib/guards.js.map +0 -1
  812. package/.dist/esm/src/lib/jitFnCompiler.d.ts +0 -110
  813. package/.dist/esm/src/lib/jitFnCompiler.d.ts.map +0 -1
  814. package/.dist/esm/src/lib/jitFnCompiler.js +0 -650
  815. package/.dist/esm/src/lib/jitFnCompiler.js.map +0 -1
  816. package/.dist/esm/src/lib/jitFnsRegistry.d.ts +0 -7
  817. package/.dist/esm/src/lib/jitFnsRegistry.d.ts.map +0 -1
  818. package/.dist/esm/src/lib/jitFnsRegistry.js +0 -41
  819. package/.dist/esm/src/lib/jitFnsRegistry.js.map +0 -1
  820. package/.dist/esm/src/lib/typeId.d.ts +0 -7
  821. package/.dist/esm/src/lib/typeId.d.ts.map +0 -1
  822. package/.dist/esm/src/lib/typeId.js +0 -205
  823. package/.dist/esm/src/lib/typeId.js.map +0 -1
  824. package/.dist/esm/src/lib/utils.d.ts +0 -33
  825. package/.dist/esm/src/lib/utils.d.ts.map +0 -1
  826. package/.dist/esm/src/lib/utils.js +0 -325
  827. package/.dist/esm/src/lib/utils.js.map +0 -1
  828. package/.dist/esm/src/mocking/constants.mock.d.ts +0 -86
  829. package/.dist/esm/src/mocking/constants.mock.d.ts.map +0 -1
  830. package/.dist/esm/src/mocking/constants.mock.js +0 -108
  831. package/.dist/esm/src/mocking/constants.mock.js.map +0 -1
  832. package/.dist/esm/src/mocking/mockRegistry.d.ts +0 -4
  833. package/.dist/esm/src/mocking/mockRegistry.d.ts.map +0 -1
  834. package/.dist/esm/src/mocking/mockRegistry.js +0 -12
  835. package/.dist/esm/src/mocking/mockRegistry.js.map +0 -1
  836. package/.dist/esm/src/mocking/mockType.d.ts +0 -4
  837. package/.dist/esm/src/mocking/mockType.d.ts.map +0 -1
  838. package/.dist/esm/src/mocking/mockType.js +0 -355
  839. package/.dist/esm/src/mocking/mockType.js.map +0 -1
  840. package/.dist/esm/src/mocking/mockUtils.d.ts +0 -16
  841. package/.dist/esm/src/mocking/mockUtils.d.ts.map +0 -1
  842. package/.dist/esm/src/mocking/mockUtils.js +0 -62
  843. package/.dist/esm/src/mocking/mockUtils.js.map +0 -1
  844. package/.dist/esm/src/nodes/atomic/any.d.ts +0 -9
  845. package/.dist/esm/src/nodes/atomic/any.d.ts.map +0 -1
  846. package/.dist/esm/src/nodes/atomic/any.js +0 -18
  847. package/.dist/esm/src/nodes/atomic/any.js.map +0 -1
  848. package/.dist/esm/src/nodes/atomic/bigInt.d.ts +0 -11
  849. package/.dist/esm/src/nodes/atomic/bigInt.d.ts.map +0 -1
  850. package/.dist/esm/src/nodes/atomic/bigInt.js +0 -20
  851. package/.dist/esm/src/nodes/atomic/bigInt.js.map +0 -1
  852. package/.dist/esm/src/nodes/atomic/boolean.d.ts +0 -11
  853. package/.dist/esm/src/nodes/atomic/boolean.d.ts.map +0 -1
  854. package/.dist/esm/src/nodes/atomic/boolean.js +0 -20
  855. package/.dist/esm/src/nodes/atomic/boolean.js.map +0 -1
  856. package/.dist/esm/src/nodes/atomic/date.d.ts +0 -11
  857. package/.dist/esm/src/nodes/atomic/date.d.ts.map +0 -1
  858. package/.dist/esm/src/nodes/atomic/date.js +0 -20
  859. package/.dist/esm/src/nodes/atomic/date.js.map +0 -1
  860. package/.dist/esm/src/nodes/atomic/enum.d.ts +0 -9
  861. package/.dist/esm/src/nodes/atomic/enum.d.ts.map +0 -1
  862. package/.dist/esm/src/nodes/atomic/enum.js +0 -22
  863. package/.dist/esm/src/nodes/atomic/enum.js.map +0 -1
  864. package/.dist/esm/src/nodes/atomic/enumMember.d.ts +0 -11
  865. package/.dist/esm/src/nodes/atomic/enumMember.d.ts.map +0 -1
  866. package/.dist/esm/src/nodes/atomic/enumMember.js +0 -24
  867. package/.dist/esm/src/nodes/atomic/enumMember.js.map +0 -1
  868. package/.dist/esm/src/nodes/atomic/literal.d.ts +0 -21
  869. package/.dist/esm/src/nodes/atomic/literal.d.ts.map +0 -1
  870. package/.dist/esm/src/nodes/atomic/literal.js +0 -126
  871. package/.dist/esm/src/nodes/atomic/literal.js.map +0 -1
  872. package/.dist/esm/src/nodes/atomic/never.d.ts +0 -11
  873. package/.dist/esm/src/nodes/atomic/never.d.ts.map +0 -1
  874. package/.dist/esm/src/nodes/atomic/never.js +0 -22
  875. package/.dist/esm/src/nodes/atomic/never.js.map +0 -1
  876. package/.dist/esm/src/nodes/atomic/null.d.ts +0 -11
  877. package/.dist/esm/src/nodes/atomic/null.d.ts.map +0 -1
  878. package/.dist/esm/src/nodes/atomic/null.js +0 -20
  879. package/.dist/esm/src/nodes/atomic/null.js.map +0 -1
  880. package/.dist/esm/src/nodes/atomic/number.d.ts +0 -11
  881. package/.dist/esm/src/nodes/atomic/number.d.ts.map +0 -1
  882. package/.dist/esm/src/nodes/atomic/number.js +0 -20
  883. package/.dist/esm/src/nodes/atomic/number.js.map +0 -1
  884. package/.dist/esm/src/nodes/atomic/object.d.ts +0 -9
  885. package/.dist/esm/src/nodes/atomic/object.d.ts.map +0 -1
  886. package/.dist/esm/src/nodes/atomic/object.js +0 -14
  887. package/.dist/esm/src/nodes/atomic/object.js.map +0 -1
  888. package/.dist/esm/src/nodes/atomic/regexp.d.ts +0 -11
  889. package/.dist/esm/src/nodes/atomic/regexp.d.ts.map +0 -1
  890. package/.dist/esm/src/nodes/atomic/regexp.js +0 -23
  891. package/.dist/esm/src/nodes/atomic/regexp.js.map +0 -1
  892. package/.dist/esm/src/nodes/atomic/string.d.ts +0 -9
  893. package/.dist/esm/src/nodes/atomic/string.d.ts.map +0 -1
  894. package/.dist/esm/src/nodes/atomic/string.js +0 -14
  895. package/.dist/esm/src/nodes/atomic/string.js.map +0 -1
  896. package/.dist/esm/src/nodes/atomic/symbol.d.ts +0 -12
  897. package/.dist/esm/src/nodes/atomic/symbol.d.ts.map +0 -1
  898. package/.dist/esm/src/nodes/atomic/symbol.js +0 -26
  899. package/.dist/esm/src/nodes/atomic/symbol.js.map +0 -1
  900. package/.dist/esm/src/nodes/atomic/undefined.d.ts +0 -10
  901. package/.dist/esm/src/nodes/atomic/undefined.d.ts.map +0 -1
  902. package/.dist/esm/src/nodes/atomic/undefined.js +0 -17
  903. package/.dist/esm/src/nodes/atomic/undefined.js.map +0 -1
  904. package/.dist/esm/src/nodes/atomic/unknown.d.ts +0 -4
  905. package/.dist/esm/src/nodes/atomic/unknown.d.ts.map +0 -1
  906. package/.dist/esm/src/nodes/atomic/unknown.js +0 -8
  907. package/.dist/esm/src/nodes/atomic/unknown.js.map +0 -1
  908. package/.dist/esm/src/nodes/atomic/void.d.ts +0 -11
  909. package/.dist/esm/src/nodes/atomic/void.d.ts.map +0 -1
  910. package/.dist/esm/src/nodes/atomic/void.js +0 -20
  911. package/.dist/esm/src/nodes/atomic/void.js.map +0 -1
  912. package/.dist/esm/src/nodes/collection/class.d.ts +0 -10
  913. package/.dist/esm/src/nodes/collection/class.d.ts.map +0 -1
  914. package/.dist/esm/src/nodes/collection/class.js +0 -38
  915. package/.dist/esm/src/nodes/collection/class.js.map +0 -1
  916. package/.dist/esm/src/nodes/collection/functionParams.d.ts +0 -10
  917. package/.dist/esm/src/nodes/collection/functionParams.d.ts.map +0 -1
  918. package/.dist/esm/src/nodes/collection/functionParams.js +0 -33
  919. package/.dist/esm/src/nodes/collection/functionParams.js.map +0 -1
  920. package/.dist/esm/src/nodes/collection/interface.d.ts +0 -44
  921. package/.dist/esm/src/nodes/collection/interface.d.ts.map +0 -1
  922. package/.dist/esm/src/nodes/collection/interface.js +0 -241
  923. package/.dist/esm/src/nodes/collection/interface.js.map +0 -1
  924. package/.dist/esm/src/nodes/collection/intersection.d.ts +0 -10
  925. package/.dist/esm/src/nodes/collection/intersection.d.ts.map +0 -1
  926. package/.dist/esm/src/nodes/collection/intersection.js +0 -21
  927. package/.dist/esm/src/nodes/collection/intersection.js.map +0 -1
  928. package/.dist/esm/src/nodes/collection/templateLiteral.d.ts +0 -16
  929. package/.dist/esm/src/nodes/collection/templateLiteral.d.ts.map +0 -1
  930. package/.dist/esm/src/nodes/collection/templateLiteral.js +0 -73
  931. package/.dist/esm/src/nodes/collection/templateLiteral.js.map +0 -1
  932. package/.dist/esm/src/nodes/collection/tuple.d.ts +0 -19
  933. package/.dist/esm/src/nodes/collection/tuple.d.ts.map +0 -1
  934. package/.dist/esm/src/nodes/collection/tuple.js +0 -74
  935. package/.dist/esm/src/nodes/collection/tuple.js.map +0 -1
  936. package/.dist/esm/src/nodes/collection/union.d.ts +0 -20
  937. package/.dist/esm/src/nodes/collection/union.d.ts.map +0 -1
  938. package/.dist/esm/src/nodes/collection/union.js +0 -162
  939. package/.dist/esm/src/nodes/collection/union.js.map +0 -1
  940. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +0 -22
  941. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
  942. package/.dist/esm/src/nodes/collection/unionDiscriminator.js +0 -198
  943. package/.dist/esm/src/nodes/collection/unionDiscriminator.js.map +0 -1
  944. package/.dist/esm/src/nodes/function/function.d.ts +0 -35
  945. package/.dist/esm/src/nodes/function/function.d.ts.map +0 -1
  946. package/.dist/esm/src/nodes/function/function.js +0 -159
  947. package/.dist/esm/src/nodes/function/function.js.map +0 -1
  948. package/.dist/esm/src/nodes/member/array.d.ts +0 -25
  949. package/.dist/esm/src/nodes/member/array.d.ts.map +0 -1
  950. package/.dist/esm/src/nodes/member/array.js +0 -154
  951. package/.dist/esm/src/nodes/member/array.js.map +0 -1
  952. package/.dist/esm/src/nodes/member/callSignature.d.ts +0 -12
  953. package/.dist/esm/src/nodes/member/callSignature.d.ts.map +0 -1
  954. package/.dist/esm/src/nodes/member/callSignature.js +0 -40
  955. package/.dist/esm/src/nodes/member/callSignature.js.map +0 -1
  956. package/.dist/esm/src/nodes/member/genericMember.d.ts +0 -16
  957. package/.dist/esm/src/nodes/member/genericMember.d.ts.map +0 -1
  958. package/.dist/esm/src/nodes/member/genericMember.js +0 -68
  959. package/.dist/esm/src/nodes/member/genericMember.js.map +0 -1
  960. package/.dist/esm/src/nodes/member/indexProperty.d.ts +0 -23
  961. package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +0 -1
  962. package/.dist/esm/src/nodes/member/indexProperty.js +0 -177
  963. package/.dist/esm/src/nodes/member/indexProperty.js.map +0 -1
  964. package/.dist/esm/src/nodes/member/method.d.ts +0 -12
  965. package/.dist/esm/src/nodes/member/method.d.ts.map +0 -1
  966. package/.dist/esm/src/nodes/member/method.js +0 -41
  967. package/.dist/esm/src/nodes/member/method.js.map +0 -1
  968. package/.dist/esm/src/nodes/member/methodSignature.d.ts +0 -13
  969. package/.dist/esm/src/nodes/member/methodSignature.d.ts.map +0 -1
  970. package/.dist/esm/src/nodes/member/methodSignature.js +0 -44
  971. package/.dist/esm/src/nodes/member/methodSignature.js.map +0 -1
  972. package/.dist/esm/src/nodes/member/param.d.ts +0 -9
  973. package/.dist/esm/src/nodes/member/param.d.ts.map +0 -1
  974. package/.dist/esm/src/nodes/member/param.js +0 -17
  975. package/.dist/esm/src/nodes/member/param.js.map +0 -1
  976. package/.dist/esm/src/nodes/member/property.d.ts +0 -20
  977. package/.dist/esm/src/nodes/member/property.d.ts.map +0 -1
  978. package/.dist/esm/src/nodes/member/property.js +0 -85
  979. package/.dist/esm/src/nodes/member/property.js.map +0 -1
  980. package/.dist/esm/src/nodes/member/restParams.d.ts +0 -8
  981. package/.dist/esm/src/nodes/member/restParams.d.ts.map +0 -1
  982. package/.dist/esm/src/nodes/member/restParams.js +0 -15
  983. package/.dist/esm/src/nodes/member/restParams.js.map +0 -1
  984. package/.dist/esm/src/nodes/member/tupleMember.d.ts +0 -21
  985. package/.dist/esm/src/nodes/member/tupleMember.d.ts.map +0 -1
  986. package/.dist/esm/src/nodes/member/tupleMember.js +0 -93
  987. package/.dist/esm/src/nodes/member/tupleMember.js.map +0 -1
  988. package/.dist/esm/src/nodes/native/Iterable.d.ts +0 -19
  989. package/.dist/esm/src/nodes/native/Iterable.d.ts.map +0 -1
  990. package/.dist/esm/src/nodes/native/Iterable.js +0 -135
  991. package/.dist/esm/src/nodes/native/Iterable.js.map +0 -1
  992. package/.dist/esm/src/nodes/native/map.d.ts +0 -43
  993. package/.dist/esm/src/nodes/native/map.d.ts.map +0 -1
  994. package/.dist/esm/src/nodes/native/map.js +0 -96
  995. package/.dist/esm/src/nodes/native/map.js.map +0 -1
  996. package/.dist/esm/src/nodes/native/nonSerializable.d.ts +0 -15
  997. package/.dist/esm/src/nodes/native/nonSerializable.d.ts.map +0 -1
  998. package/.dist/esm/src/nodes/native/nonSerializable.js +0 -36
  999. package/.dist/esm/src/nodes/native/nonSerializable.js.map +0 -1
  1000. package/.dist/esm/src/nodes/native/promise.d.ts +0 -16
  1001. package/.dist/esm/src/nodes/native/promise.d.ts.map +0 -1
  1002. package/.dist/esm/src/nodes/native/promise.js +0 -38
  1003. package/.dist/esm/src/nodes/native/promise.js.map +0 -1
  1004. package/.dist/esm/src/nodes/native/set.d.ts +0 -31
  1005. package/.dist/esm/src/nodes/native/set.d.ts.map +0 -1
  1006. package/.dist/esm/src/nodes/native/set.js +0 -60
  1007. package/.dist/esm/src/nodes/native/set.js.map +0 -1
  1008. package/.dist/esm/src/run-types-pure-fns.d.ts +0 -8
  1009. package/.dist/esm/src/run-types-pure-fns.d.ts.map +0 -1
  1010. package/.dist/esm/src/run-types-pure-fns.js +0 -112
  1011. package/.dist/esm/src/run-types-pure-fns.js.map +0 -1
  1012. package/.dist/esm/src/types.d.ts +0 -154
  1013. package/.dist/esm/src/types.d.ts.map +0 -1
  1014. package/.dist/esm/src/types.js +0 -59
  1015. package/.dist/esm/src/types.js.map +0 -1
  1016. package/index.ts +0 -70
  1017. package/src/constants.functions.ts +0 -196
  1018. package/src/constants.kind.ts +0 -76
  1019. package/src/constants.ts +0 -85
  1020. package/src/createRunType.ts +0 -322
  1021. package/src/createRunTypeFunctions.ts +0 -93
  1022. package/src/formats.runtype.ts +0 -35
  1023. package/src/jitCompilers/binary/binarySPEC.md +0 -138
  1024. package/src/jitCompilers/binary/binarySpec/binaryHelpers.ts +0 -118
  1025. package/src/jitCompilers/binary/fromBinary.ts +0 -493
  1026. package/src/jitCompilers/binary/toBinary.ts +0 -436
  1027. package/src/jitCompilers/equalsHelpers.ts +0 -62
  1028. package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +0 -64
  1029. package/src/jitCompilers/json/stringifyJson.ts +0 -476
  1030. package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +0 -59
  1031. package/src/jitCompilers/json/toJsCode.ts +0 -182
  1032. package/src/jitCompilers/serialization-suite.ts +0 -1689
  1033. package/src/jitCompilers/xyz-Template/fromXYZ.ts +0 -212
  1034. package/src/jitCompilers/xyz-Template/toXYZ.ts +0 -217
  1035. package/src/jitCompilers/xyz-Template/xyzReadme.md +0 -6
  1036. package/src/jitCompilers/xyz-Template/xyzSpec/xyzHelpers.ts +0 -66
  1037. package/src/lib/baseRunTypeFormat.ts +0 -320
  1038. package/src/lib/baseRunTypes.ts +0 -367
  1039. package/src/lib/createJitFunction.ts +0 -87
  1040. package/src/lib/dkProxy.ts +0 -47
  1041. package/src/lib/formats.ts +0 -144
  1042. package/src/lib/guards.ts +0 -290
  1043. package/src/lib/jitFnCompiler.ts +0 -783
  1044. package/src/lib/jitFnsRegistry.ts +0 -53
  1045. package/src/lib/typeId.ts +0 -225
  1046. package/src/lib/utils.ts +0 -402
  1047. package/src/mocking/constants.mock.ts +0 -87
  1048. package/src/mocking/mockRegistry.ts +0 -20
  1049. package/src/mocking/mockType.ts +0 -409
  1050. package/src/mocking/mockUtils.ts +0 -82
  1051. package/src/nodes/atomic/any.ts +0 -22
  1052. package/src/nodes/atomic/bigInt.ts +0 -26
  1053. package/src/nodes/atomic/boolean.ts +0 -26
  1054. package/src/nodes/atomic/date.ts +0 -26
  1055. package/src/nodes/atomic/enum.ts +0 -23
  1056. package/src/nodes/atomic/enumMember.ts +0 -29
  1057. package/src/nodes/atomic/literal.ts +0 -125
  1058. package/src/nodes/atomic/never.ts +0 -26
  1059. package/src/nodes/atomic/null.ts +0 -26
  1060. package/src/nodes/atomic/number.ts +0 -26
  1061. package/src/nodes/atomic/object.ts +0 -20
  1062. package/src/nodes/atomic/regexp.ts +0 -29
  1063. package/src/nodes/atomic/string.ts +0 -20
  1064. package/src/nodes/atomic/symbol.ts +0 -31
  1065. package/src/nodes/atomic/undefined.ts +0 -23
  1066. package/src/nodes/atomic/unknown.ts +0 -10
  1067. package/src/nodes/atomic/void.ts +0 -26
  1068. package/src/nodes/collection/class.ts +0 -36
  1069. package/src/nodes/collection/functionParams.ts +0 -42
  1070. package/src/nodes/collection/interface.ts +0 -300
  1071. package/src/nodes/collection/intersection.ts +0 -30
  1072. package/src/nodes/collection/templateLiteral.ts +0 -87
  1073. package/src/nodes/collection/tuple.ts +0 -80
  1074. package/src/nodes/collection/union.ts +0 -205
  1075. package/src/nodes/collection/unionDiscriminator.ts +0 -259
  1076. package/src/nodes/function/function.ts +0 -166
  1077. package/src/nodes/member/array.ts +0 -150
  1078. package/src/nodes/member/callSignature.ts +0 -34
  1079. package/src/nodes/member/genericMember.ts +0 -63
  1080. package/src/nodes/member/indexProperty.ts +0 -174
  1081. package/src/nodes/member/method.ts +0 -30
  1082. package/src/nodes/member/methodSignature.ts +0 -31
  1083. package/src/nodes/member/param.ts +0 -22
  1084. package/src/nodes/member/property.ts +0 -75
  1085. package/src/nodes/member/restParams.ts +0 -22
  1086. package/src/nodes/member/tupleMember.ts +0 -93
  1087. package/src/nodes/native/Iterable.ts +0 -153
  1088. package/src/nodes/native/map.ts +0 -91
  1089. package/src/nodes/native/nonSerializable.ts +0 -42
  1090. package/src/nodes/native/promise.ts +0 -43
  1091. package/src/nodes/native/set.ts +0 -56
  1092. package/src/run-types-pure-fns.ts +0 -116
  1093. package/src/types.ts +0 -206
@@ -1,205 +0,0 @@
1
- /* ########
2
- * 2024 mion
3
- * Author: Ma-jerez
4
- * License: MIT
5
- * The software is provided "as is", without warranty of any kind.
6
- * ######## */
7
-
8
- import {ReflectionKind, type TypeUnion} from '@deepkit/type';
9
- import type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';
10
- import type {JitCode} from '../../types.ts';
11
- import {BaseRunType, CollectionRunType} from '../../lib/baseRunTypes.ts';
12
- import {childIsExpression, createIfElseFn, toLiteral} from '../../lib/utils.ts';
13
- import {isClassRunType, isInterfaceRunType, isIntersectionRunType, isObjectLiteralRunType} from '../../lib/guards.ts';
14
- import {markDiscriminators, splitUnionItems, SplitUnionResult} from './unionDiscriminator.ts';
15
- import type {PropertyRunType} from '../member/property.ts';
16
-
17
- /**
18
- * Unions get encoded into an array where arr[0] is the discriminator and arr[1] is the value.
19
- * this is because some times we can't distinguish the type of an union.
20
- * ie: bigint gets encoded into an string, so if we have an union 'type U = string | bigint' we can't distinguish between the when encoding/decoding the json.
21
- * to solve this issue the index of the type is used as a discriminator.
22
- * So [0, "123n"] is interpreted as a string and [1, "123n"] is interpreted as a bigint.
23
- * */
24
- export class UnionRunType extends CollectionRunType<TypeUnion> {
25
- hasDiscriminators: boolean | undefined = undefined;
26
- hasObjectTypes: boolean | undefined = undefined;
27
-
28
- isTypeWithProperties(rt: BaseRunType) {
29
- return (
30
- rt.getFamily() === 'C' &&
31
- (isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt))
32
- );
33
- }
34
-
35
- getUnionChildren(comp: JitFnCompiler): SplitUnionResult {
36
- const children = this.getJitChildren(comp);
37
- markDiscriminators(comp, this, children);
38
- return splitUnionItems(comp, this, children);
39
- }
40
-
41
- getUnionItemIndex(comp: JitFnCompiler, unionItem: BaseRunType): number {
42
- const children = this.getJitChildren(comp);
43
- const index = children.findIndex((child) => child === unionItem);
44
- if (index === -1) throw new Error(`Item ${unionItem.getTypeName()} not found in union ${this.getTypeName()}`);
45
- return index;
46
- }
47
-
48
- /**
49
- * Returns isType check for a union child with loose matching.
50
- * Uses first-match strategy: returns first matching type in declaration order.
51
- * For all-optional types (weak types), ensures at least one property matches or is empty object.
52
- * Note: Use ESLint rules @mionjs/no-unreachable-union-types and @mionjs/no-mixed-union-properties
53
- * to detect overlapping union types at compile time.
54
- * @see union.spec.ts 'Union Obj' and 'Union Mixed' test suites for examples.
55
- */
56
- getChildIsTypeWithLooseCheck(rt: BaseRunType, comp: JitFnCompiler): string {
57
- const isTypeCode = comp.compileIsType(rt, 'E').code || '';
58
- const isTypeWithProperties =
59
- isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt);
60
- if (!isTypeWithProperties || rt.getFamily() !== 'C') return isTypeCode;
61
- const props = rt.getJitChildren(comp);
62
- const hasIndexProperty = props.some((prop) => prop.src.kind === ReflectionKind.indexSignature);
63
- if (hasIndexProperty) return isTypeCode;
64
- const isAllOptional = rt.areAllChildrenOptional(props);
65
- // For all-optional types (weak types), TypeScript requires at least one matching property
66
- // or an empty object. This prevents {c: 'hello'} from matching {a?: string; b?: string}
67
- if (isAllOptional && props.length > 0) {
68
- // Must have at least one of this type's own props OR be empty
69
- const hasOwnPropCheck = props.map((p) => {
70
- const name = (p as PropertyRunType).getPropertyName();
71
- return `(${toLiteral(name)} in ${comp.vλl})`;
72
- });
73
- hasOwnPropCheck.push(`Object.keys(${comp.vλl}).length === 0`);
74
- const weakTypeCheck = `(${hasOwnPropCheck.join(' || ')})`;
75
- return `(${isTypeCode} && ${weakTypeCheck})`;
76
- }
77
- return isTypeCode;
78
- }
79
-
80
- /**
81
- * Loose union matching: returns first matching type in declaration order.
82
- * Objects with properties from multiple union types will match the first compatible type.
83
- * Use ESLint rules to detect overlapping types at compile time.
84
- */
85
- emitIsType(comp: JitFnCompiler): JitCode {
86
- this.checkAllowedChildren(comp);
87
- const {simpleItems, objectTypes, anyItem} = this.getUnionChildren(comp);
88
- // Simple items (atomic types) don't need null guard
89
- const simpleChecks = simpleItems.map((rt) => this.getChildIsTypeWithLooseCheck(rt, comp)).filter(Boolean);
90
- // Object types need null guard to prevent accessing properties on null
91
- const objChecks = objectTypes.map((rt) => this.getChildIsTypeWithLooseCheck(rt, comp)).filter(Boolean);
92
- const objCode = objChecks.length
93
- ? `(typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && (${objChecks.join(' || ')}))`
94
- : '';
95
- // any/unknown checked last as fallback
96
- const anyCheck = anyItem ? this.getChildIsTypeWithLooseCheck(anyItem, comp) : '';
97
- const allChecks = [...simpleChecks, objCode, anyCheck].filter(Boolean);
98
- return {code: `(${allChecks.join(' || ')})`, type: 'E'};
99
- }
100
-
101
- emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {
102
- this.checkAllowedChildren(comp);
103
- const isType = comp.compileIsType(this, 'E').code;
104
- const code = `if (!${isType}) ${comp.callJitErr(this)};`;
105
- return {code, type: 'S'};
106
- }
107
-
108
- /**
109
- * When a union is encodes to json is encode into and array with two elements: [unionDiscriminator, encoded Value]
110
- * the first element is the index of the type in the union.
111
- * the second element is the encoded value of the type.
112
- * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, "123n"]
113
- */
114
- emitPrepareForJson(comp: JitFnCompiler): JitCode {
115
- this.checkAllowedChildren(comp);
116
- const {simpleItems, objectTypes, anyItem} = this.getUnionChildren(comp);
117
- const errName = comp.getLocalVarName('uErr', this);
118
- const fail = `throw new Error(${errName});`;
119
- comp.setContextItem(errName, `const ${errName} = "Can not json encode union: item does not belong to the union"`);
120
-
121
- const ifElse = createIfElseFn();
122
-
123
- // Helper to generate encode code for a union item
124
- const getEncodeCode = (childRt: BaseRunType) => {
125
- const toJit = comp.compilePrepareForJson(childRt, 'S');
126
- const fromJit = comp.compileRestoreFromJson(childRt, 'S');
127
- const needsTupleEncoding = !!toJit.code || !!fromJit.code;
128
- const isExpression = childIsExpression(toJit, childRt);
129
- const encodeCode = isExpression && toJit.code ? `${comp.vλl} = ${toJit.code};` : toJit.code || '';
130
- const index = this.getUnionItemIndex(comp, childRt);
131
- const tupleEncode = needsTupleEncoding ? `${comp.vλl} = [${index}, ${comp.vλl}]` : '/*noop*/';
132
- return `${encodeCode} ${tupleEncode}`;
133
- };
134
-
135
- // Generate code for simple items (atomic types)
136
- const simpleCode = simpleItems.map((rt) => {
137
- const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);
138
- return `${ifElse()} (${isTypeCode}) {${getEncodeCode(rt)}}`;
139
- });
140
-
141
- // Generate code for object types (need null guard)
142
- const objCode = objectTypes.length
143
- ? objectTypes.map((rt) => {
144
- const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);
145
- return `${ifElse()} (typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && ${isTypeCode}) {${getEncodeCode(rt)}}`;
146
- })
147
- : [];
148
-
149
- // Generate code for anyItem (always matches, checked last as fallback)
150
- const anyCode = anyItem ? `${ifElse(true)} {${getEncodeCode(anyItem)}}` : `${ifElse(true)} {${fail}}`;
151
-
152
- return {code: [...simpleCode, ...objCode, anyCode].join(''), type: 'S'};
153
- }
154
-
155
- /**
156
- * When a union is decoded from json it expects de two elements array format: [unionDiscriminator, Value to decode]
157
- * the first element is the index of the type in the union.
158
- * the second element is the encoded value of the type.
159
- * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, "123n"]
160
- */
161
- emitRestoreFromJson(comp: JitFnCompiler): JitCode {
162
- this.checkAllowedChildren(comp);
163
- const decVar = comp.getLocalVarName('dec', this);
164
- const errVarName = comp.getLocalVarName('uErr', this);
165
- comp.setContextItem(errVarName, `const ${errVarName} = "Can not json decode union: invalid union index"`);
166
- const children = this.getJitChildren(comp);
167
- const ifElse = createIfElseFn();
168
- const itemsCode = children
169
- .map((unionItem) => {
170
- const childJit = comp.compileRestoreFromJson(unionItem, 'S');
171
- const isExpression = childIsExpression(childJit, unionItem);
172
- const code =
173
- isExpression && childJit.code && childJit.code !== comp.vλl
174
- ? `${comp.vλl} = ${childJit.code}`
175
- : childJit.code || '';
176
- // item is decoded before being extracted from the array
177
- const index = this.getUnionItemIndex(comp, unionItem);
178
- return `${ifElse()} (${decVar} === ${index}) {${code || '/*noop*/'}}`;
179
- })
180
- .filter(Boolean);
181
- const childrenCode = itemsCode.join('');
182
- const failCode = childrenCode ? `else {throw new Error(${errVarName})}` : '';
183
- const code = `
184
- if (${comp.vλl}?.length === 2 && Array.isArray(${comp.vλl}) && typeof ${comp.vλl}[0] === 'number') {
185
- const ${decVar} = ${comp.vλl}[0]; ${comp.vλl} = ${comp.vλl}[1];
186
- ${childrenCode}
187
- ${failCode}
188
- }
189
- `;
190
- return {code, type: 'S'};
191
- }
192
-
193
- getUnionTypeNames(): string {
194
- return this.getChildRunTypes()
195
- .map((rt) => rt.getTypeName())
196
- .join(' | ');
197
- }
198
-
199
- checkAllowedChildren(comp: JitFnCompiler) {
200
- const allChildren = this.getChildRunTypes();
201
- const toSkip = allChildren.filter((rt) => rt.skipJit(comp));
202
- if (toSkip.length)
203
- throw new Error(`Union can not have non serializable types, ie: Symbol, Function, etc. \nType: ${this.stringify()}`);
204
- }
205
- }
@@ -1,259 +0,0 @@
1
- import type {BaseRunType, CollectionRunType, MemberRunType} from '../../lib/baseRunTypes.ts';
2
- import type {JitFnCompiler} from '../../lib/jitFnCompiler.ts';
3
- import type {UnionRunType} from './union.ts';
4
- import type {PropertyRunType} from '../member/property.ts';
5
- import {getTotalComplexity, sortRunTypeByComplexity} from '../../lib/utils.ts';
6
- import {isAnyRunType, isUnknownRunType} from '../../lib/guards.ts';
7
-
8
- export type FlattenedProp = {
9
- /** union item, parent of the property */
10
- unionItem: CollectionRunType<any>;
11
- /** index of the union item in the union */
12
- unionIndex: string | number;
13
- /** one property of the union item */
14
- prop: PropertyRunType;
15
- /** typeID of the property */
16
- typeID: string | number;
17
- /** name of the property as it should be used in the code */
18
- compiledName: string;
19
- };
20
-
21
- export type SplitUnionResult = {
22
- simpleItems: BaseRunType[];
23
- objectTypes: CollectionRunType<any>[];
24
- /** any or unknown type if present in the union, should be checked last */
25
- anyItem?: BaseRunType;
26
- };
27
-
28
- /**
29
- * Split the union types in two groups: interface types and simple types
30
- * interface types are types that have properties, simple types are the rest (atomic types, tuples, etc)
31
- * If any or unknown types are present, they are extracted and returned separately as anyItem
32
- * so they can be checked last (any/unknown would match anything, so must be last resort)
33
- */
34
- export function splitUnionItems(comp: JitFnCompiler, urt: UnionRunType, unionChildren?: BaseRunType[]): SplitUnionResult {
35
- const unionItems = unionChildren || urt.getJitChildren(comp);
36
- const objectTypes: CollectionRunType<any>[] = [];
37
- const simpleItems: BaseRunType[] = [];
38
- let anyItem: BaseRunType | undefined;
39
-
40
- unionItems.forEach((unionItem) => {
41
- // Extract any/unknown types to be checked last
42
- if (isAnyRunType(unionItem) || isUnknownRunType(unionItem)) {
43
- // Only keep the first any/unknown type (having multiple is redundant)
44
- if (!anyItem) anyItem = unionItem;
45
- return;
46
- }
47
- const isObj = urt.isTypeWithProperties(unionItem);
48
- if (!isObj) return simpleItems.push(unionItem);
49
- return objectTypes.push(unionItem as CollectionRunType<any>);
50
- });
51
-
52
- // Sort object types to prevent unreachable types (objects with more props should come first when they share same prop types)
53
- const sortedObjectTypes = sortUnreachableTypes(comp, objectTypes);
54
-
55
- return {simpleItems, objectTypes: sortedObjectTypes, anyItem};
56
- }
57
-
58
- /**
59
- * Sorts object types to prevent unreachable union types.
60
- * When two objects share the same properties (by typeID), the one with more properties must come first.
61
- * This ensures that at runtime, the more specific type is checked before the less specific one.
62
- * Objects that don't share properties with others maintain their relative order.
63
- */
64
- export function sortUnreachableTypes(comp: JitFnCompiler, objectTypes: CollectionRunType<any>[]): CollectionRunType<any>[] {
65
- if (objectTypes.length <= 1) return objectTypes;
66
-
67
- // Get property typeIDs for each object type
68
- const typePropsMap = new Map<CollectionRunType<any>, Set<string | number>>();
69
- objectTypes.forEach((objType) => {
70
- const props = objType.getJitChildren(comp) as PropertyRunType[];
71
- const propTypeIDs = new Set<string | number>();
72
- props.forEach((prop) => propTypeIDs.add(prop.getTypeID()));
73
- typePropsMap.set(objType, propTypeIDs);
74
- });
75
-
76
- // Check if one object's props are a subset of another's (all props have same typeIDs)
77
- const isSubsetOf = (smaller: CollectionRunType<any>, larger: CollectionRunType<any>): boolean => {
78
- const smallerProps = typePropsMap.get(smaller)!;
79
- const largerProps = typePropsMap.get(larger)!;
80
- if (smallerProps.size >= largerProps.size) return false;
81
- for (const typeID of smallerProps) {
82
- if (!largerProps.has(typeID)) return false;
83
- }
84
- return true;
85
- };
86
-
87
- // Find groups of objects that share properties (one is subset of another)
88
- const processed = new Set<CollectionRunType<any>>();
89
- const result: CollectionRunType<any>[] = [];
90
-
91
- for (let i = 0; i < objectTypes.length; i++) {
92
- const current = objectTypes[i];
93
- if (processed.has(current)) continue;
94
-
95
- // Find all objects that are related (subset/superset) to current
96
- const relatedGroup: CollectionRunType<any>[] = [current];
97
- processed.add(current);
98
-
99
- for (let j = 0; j < objectTypes.length; j++) {
100
- if (i === j) continue;
101
- const other = objectTypes[j];
102
- if (processed.has(other)) continue;
103
-
104
- // Check if current and other are related (one is subset of the other)
105
- if (isSubsetOf(current, other) || isSubsetOf(other, current)) {
106
- relatedGroup.push(other);
107
- processed.add(other);
108
- }
109
- }
110
-
111
- // Sort related group by number of properties (more props first)
112
- if (relatedGroup.length > 1) {
113
- relatedGroup.sort((a, b) => {
114
- const aSize = typePropsMap.get(a)!.size;
115
- const bSize = typePropsMap.get(b)!.size;
116
- return bSize - aSize; // descending order (more props first)
117
- });
118
- }
119
-
120
- result.push(...relatedGroup);
121
- }
122
-
123
- return result;
124
- }
125
-
126
- /**
127
- * Mark discriminator properties so they can be sorted and validate union more efficiently.
128
- * @param comp
129
- * @param urt
130
- */
131
- export function markDiscriminators(comp: JitFnCompiler, urt: UnionRunType, unionItems: BaseRunType[]) {
132
- if (urt.hasDiscriminators !== undefined && urt.hasObjectTypes !== undefined) return;
133
- const objectTypes = unionItems.filter((item) => urt.isTypeWithProperties(item)) as CollectionRunType<any>[];
134
- const namedDiscriminators = getDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
135
- const uniqueDiscriminators = getUniqueDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
136
- urt.hasObjectTypes = !!objectTypes.length;
137
- urt.hasDiscriminators = !!namedDiscriminators.length || !!uniqueDiscriminators.length;
138
- }
139
-
140
- type PropUnionItemPair = {prop: PropertyRunType; unionItem: CollectionRunType<any>};
141
-
142
- /**
143
- * Find a property with the same name in all the types of the union and that has different types.
144
- * It also marks those properties as discriminator properties so can be sorted later
145
- */
146
- function getDiscriminatorProperties(
147
- comp: JitFnCompiler,
148
- urt: UnionRunType,
149
- unionTypes: CollectionRunType<any>[],
150
- getCompiledName: (comp: JitFnCompiler, urt: UnionRunType, propTypeID: string | number) => string
151
- ): FlattenedProp[] {
152
- if (!unionTypes.length) return [];
153
- const propByName = new Map<string | number, PropUnionItemPair[]>();
154
- unionTypes.forEach((unionItem) => {
155
- const props = unionItem.getJitChildren(comp) as PropertyRunType[];
156
- props.forEach((prop) => {
157
- const name = prop.getChildVarName(comp);
158
- const existing = propByName.get(name) || [];
159
- // index no needed now
160
- propByName.set(name, [...existing, {prop, unionItem}]);
161
- });
162
- });
163
- const propsOnAllTypes = Array.from(propByName.entries())
164
- // filter all properties that are in all types
165
- .filter(([, props]) => props.length === unionTypes.length)
166
- // calculate complexity and check if all types are different in all props
167
- .map(([key, props]) => ({
168
- name: key,
169
- props,
170
- complexity: props.reduce((acc, item) => acc + getTotalComplexity(comp, item.prop), 0),
171
- isUniqueType: props.every((item) => {
172
- const child = item;
173
- const typeID = child.prop.getTypeID();
174
- const isDiff = props.every((otherItem) => child.prop === otherItem.prop || otherItem.prop.getTypeID() !== typeID);
175
- return isDiff;
176
- }),
177
- }))
178
- .filter((item) => item.isUniqueType);
179
- const lessComplexProps = propsOnAllTypes.toSorted((a, b) => a.complexity - b.complexity);
180
- const lessComplex = lessComplexProps[0];
181
- if (!lessComplex) return [];
182
- // we need to marks the property as discriminator so they can be sorted and checked first later
183
- return lessComplex.props.map((item) => {
184
- item.prop.isUnionDiscriminator = true;
185
- const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
186
- const typeID = item.prop.getTypeID();
187
- return {
188
- unionItem: item.unionItem,
189
- unionIndex,
190
- prop: item.prop,
191
- typeID,
192
- compiledName: getCompiledName(comp, urt, typeID),
193
- };
194
- });
195
- }
196
-
197
- /**
198
- * Get unique properties in the union as discriminators.
199
- * These properties can be of different name but are unique in the union so can act as discriminators.
200
- * It also marks those properties as discriminator properties so can be sorted later.
201
- * */
202
- function getUniqueDiscriminatorProperties(
203
- comp: JitFnCompiler,
204
- urt: UnionRunType,
205
- unionTypes: CollectionRunType<any>[],
206
- getCompiledName: (comp: JitFnCompiler, urt: UnionRunType, propTypeID: string | number) => string
207
- ): FlattenedProp[] {
208
- if (!unionTypes.length) return [];
209
- const uniquePropByUnionItem = new Map<CollectionRunType<any>, PropUnionItemPair>();
210
- unionTypes.forEach((unionItem) => {
211
- const props = unionItem.getJitChildren(comp) as PropertyRunType[];
212
- props.forEach((prop) => {
213
- const typeID = prop.getTypeID();
214
- const isUnique = unionTypes.every((otherUnionItem) => {
215
- if (otherUnionItem === unionItem) return true;
216
- const otherProps = otherUnionItem.getJitChildren(comp) as MemberRunType<any>[];
217
- return otherProps.every((otherProp) => otherProp.getTypeID() !== typeID);
218
- });
219
- if (isUnique) {
220
- const existing = uniquePropByUnionItem.get(unionItem);
221
- if (!existing) {
222
- uniquePropByUnionItem.set(unionItem, {
223
- prop,
224
- unionItem,
225
- });
226
- return;
227
- }
228
- const newItem = {prop, unionItem};
229
- const lessComplex = [newItem, existing].toSorted((a, b) => sortRunTypeByComplexity(comp, a.prop, b.prop))[0];
230
- uniquePropByUnionItem.set(unionItem, lessComplex);
231
- }
232
- });
233
- });
234
- if (!uniquePropByUnionItem.size) return [];
235
- const uniqueProps = Array.from(uniquePropByUnionItem.values());
236
- return uniqueProps.map((item) => {
237
- item.prop.isUnionDiscriminator = true;
238
- const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
239
- const typeID = item.prop.getTypeID();
240
- return {
241
- unionItem: item.unionItem,
242
- unionIndex,
243
- prop: item.prop,
244
- typeID,
245
- compiledName: getCompiledName(comp, urt, typeID),
246
- };
247
- });
248
- }
249
-
250
- function initGetCompiledName() {
251
- const typeIDs = new Map<string | number, number>();
252
- return function getCompiledName(comp: JitFnCompiler, urt: UnionRunType, typeID: string | number): string {
253
- const existingIndex = typeIDs.get(typeID);
254
- if (existingIndex) return comp.getLocalVarName('prop', urt) + `_${existingIndex}`;
255
- const newIndex = typeIDs.size;
256
- typeIDs.set(typeID, newIndex);
257
- return comp.getLocalVarName('prop', urt) + `_${newIndex}`;
258
- };
259
- }
@@ -1,166 +0,0 @@
1
- /* ########
2
- * 2024 mion
3
- * Author: Ma-jerez
4
- * License: MIT
5
- * The software is provided "as is", without warranty of any kind.
6
- * ######## */
7
- import type {AnyFunction, SrcType, JitFn, JitCode, RunTypeOptions} from '../../types.ts';
8
- import {ReflectionKind, TypeFunction} from '@deepkit/type';
9
- import {BaseRunType} from '../../lib/baseRunTypes.ts';
10
- import {isAnyFunctionRunType, isFunctionRunType, isPromiseRunType} from '../../lib/guards.ts';
11
- import {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';
12
- import {PromiseRunType} from '../native/promise.ts';
13
- import {ReflectionSubKind} from '../../constants.kind.ts';
14
- import {FunctionParamsRunType} from '../collection/functionParams.ts';
15
- import {JitCompiledFn} from '@mionjs/core';
16
- import {registerJitFunctionCompiler} from '../../lib/jitFnsRegistry.ts';
17
- import {JitFunctions} from '../../constants.functions.ts';
18
-
19
- export class FunctionRunType<CallType extends AnyFunction = TypeFunction> extends BaseRunType<CallType> {
20
- // parameterRunTypes.src must be set after FunctionRunType creation
21
- parameterRunTypes: FunctionParamsRunType = new FunctionParamsRunType();
22
- skipJit(comp: JitFnCompiler): boolean {
23
- if (!comp) return true;
24
- return comp.fnID !== JitFunctions.toJSCode.id;
25
- }
26
- onCreated(deepkitType: SrcType): void {
27
- // here we are mapping parameters from TypeParameter[] to TypeTuple as TupleRunType() is the same functionality as ParameterRunType[]
28
- super.onCreated(deepkitType);
29
- // Create a synthetic type for parameters with its own subKind
30
- // Explicitly exclude _typeId and _formatId so the params type gets its own cached IDs
31
- const paramsType = {...deepkitType, subKind: ReflectionSubKind.params} as any;
32
- delete paramsType._typeId;
33
- delete paramsType._formatId;
34
- this.parameterRunTypes.onCreated(paramsType);
35
- }
36
- getFamily(): 'F' {
37
- return 'F';
38
- }
39
- getFnName(): string | number {
40
- const name = (this.src as TypeFunction).name;
41
- if (!name) return '';
42
- if (typeof name === 'symbol') return name.toString();
43
- return name;
44
- }
45
- createJitParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): (...args: any[]) => any {
46
- return this.createJitCompiledParamsFunction(jitFn, opts).fn;
47
- }
48
- createJitCompiledParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn {
49
- const start = opts?.paramsSlice?.start;
50
- const end = opts?.paramsSlice?.end;
51
- if (start && end) {
52
- if (start < 0 || end > this.parameterRunTypes.getChildRunTypes().length)
53
- throw new Error(`Invalid paramsSlice, start: ${start}, end: ${end}.`);
54
- if (end <= start) throw new Error(`Invalid paramsSlice, start: ${start}, end: ${end}`);
55
- }
56
- return this.parameterRunTypes.createJitCompiledFunction(jitFn.id, undefined, opts);
57
- }
58
- createJitReturnFunction(jitFn: JitFn): (...args: any[]) => any {
59
- return this.createJitCompiledReturnFunction(jitFn).fn;
60
- }
61
-
62
- createJitCompiledReturnFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn {
63
- return this.getResolvedReturnType().createJitCompiledFunction(jitFn.id, undefined, opts);
64
- }
65
-
66
- // ######## JIT functions (all throw error) ########
67
-
68
- // can't know the types of the run type function parameters, neither the return type, so only compare function name and length
69
- emitIsType(comp: JitFnCompiler): JitCode {
70
- const minLength = this.parameterRunTypes.totalRequiredParams(comp);
71
- const totalParams = this.parameterRunTypes.getParamRunTypes(comp).length;
72
- const hasOptional = totalParams > minLength;
73
- const maxLength =
74
- this.parameterRunTypes.hasRestParameter(comp) || !hasOptional ? '' : ` && ${comp.vλl}.length <= ${totalParams}`;
75
- return {code: `(typeof ${comp.vλl} === 'function' && ${comp.vλl}.length >= ${minLength} ${maxLength})`, type: 'E'};
76
- }
77
- emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {
78
- return {code: `if (!(${this.emitIsType(comp).code})) ${comp.callJitErr(this)};`, type: 'S'};
79
- }
80
- /**
81
- * json encode a function
82
- */
83
- emitPrepareForJson(): JitCode {
84
- throw new Error(`Compile function PrepareForJson not supported, call compileParams or compileReturn instead.`);
85
- }
86
- emitRestoreFromJson(): JitCode {
87
- throw new Error(`Compile function RestoreFromJson not supported, call compileParams or compileReturn instead.`);
88
- }
89
- emitHasUnknownKeys(): JitCode {
90
- return {code: '', type: 'E'};
91
- }
92
- emitUnknownKeyErrors(): JitCode {
93
- return {code: '', type: 'S'};
94
- }
95
- emitStripUnknownKeys(): JitCode {
96
- return {code: '', type: 'S'};
97
- }
98
- emitUnknownKeysToUndefined(): JitCode {
99
- return {code: '', type: 'S'};
100
- }
101
-
102
- // TODO: paramsSlice has been removed as options are not jet passed when building the run type. maybe we can pass it to the JitCompileOperation instead
103
- // constructor() {
104
- // const start = opts?.paramsSlice?.start;
105
- // const end = opts?.paramsSlice?.end;
106
- // parameterRunTypes = src.parameters.slice(start, end).map((p) => visitor(p, parents, opts)) as ParameterRunType[];
107
- // }
108
- getReturnType(): BaseRunType {
109
- return (this.src.return as SrcType)._rt as BaseRunType;
110
- }
111
- /** returns the inner run-type when the handler returns Promise<T> (or nested Promise/function-return chains), or the plain return type otherwise */
112
- getResolvedReturnType(): BaseRunType {
113
- let currentType: PromiseRunType | FunctionRunType<any> = this; // eslint-disable-line @typescript-eslint/no-this-alias
114
- // eslint-disable-next-line no-constant-condition
115
- while (true) {
116
- if (isAnyFunctionRunType(currentType)) {
117
- const returnType = currentType.getReturnType();
118
- if (isPromiseRunType(returnType) || isFunctionRunType(returnType)) {
119
- currentType = returnType;
120
- continue;
121
- }
122
- return returnType;
123
- }
124
- const memberType = currentType.getMemberType();
125
- if (isPromiseRunType(memberType) || isFunctionRunType(memberType)) {
126
- currentType = memberType;
127
- continue;
128
- }
129
- return memberType;
130
- }
131
- }
132
- getParameters(): FunctionParamsRunType {
133
- return this.parameterRunTypes;
134
- }
135
- getParameterNames(opts?: RunTypeOptions): string[] {
136
- const start = opts?.paramsSlice?.start;
137
- const end = opts?.paramsSlice?.end;
138
- if (start || end) {
139
- return this.src.parameters.slice(start, end).map((p) => p.name);
140
- }
141
- return this.src.parameters.map((p) => p.name);
142
- }
143
- hasReturnData(): boolean {
144
- const returnKind = this.getReturnType().src.kind;
145
- return (
146
- returnKind !== ReflectionKind.void && returnKind !== ReflectionKind.never && returnKind !== ReflectionKind.undefined
147
- );
148
- }
149
- isAsync(): boolean {
150
- const returnKind = this.getReturnType().src.kind;
151
- return (
152
- returnKind === ReflectionKind.promise || returnKind === ReflectionKind.any || returnKind === ReflectionKind.unknown
153
- );
154
- }
155
- returnIsPromise(): boolean {
156
- return isPromiseRunType(this.getReturnType());
157
- }
158
- async mockReturn(ctx?: RunTypeOptions): Promise<any> {
159
- await registerJitFunctionCompiler(JitFunctions.mock);
160
- return this.getReturnType().mockType(ctx);
161
- }
162
- async mockParams(ctx?: RunTypeOptions): Promise<any[]> {
163
- await registerJitFunctionCompiler(JitFunctions.mock);
164
- return this.parameterRunTypes.mockType(ctx);
165
- }
166
- }