@harmoniclabs/pebble 0.1.0-dev0

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 (769) hide show
  1. package/dist/IR/IRHash.d.ts +8 -0
  2. package/dist/IR/IRHash.js +78 -0
  3. package/dist/IR/IRNodeKind.d.ts +17 -0
  4. package/dist/IR/IRNodeKind.js +19 -0
  5. package/dist/IR/IRNodes/BaseIRMetadata.d.ts +3 -0
  6. package/dist/IR/IRNodes/BaseIRMetadata.js +1 -0
  7. package/dist/IR/IRNodes/IRApp.d.ts +36 -0
  8. package/dist/IR/IRNodes/IRApp.js +91 -0
  9. package/dist/IR/IRNodes/IRCase.d.ts +32 -0
  10. package/dist/IR/IRNodes/IRCase.js +91 -0
  11. package/dist/IR/IRNodes/IRConst.d.ts +49 -0
  12. package/dist/IR/IRNodes/IRConst.js +273 -0
  13. package/dist/IR/IRNodes/IRConstr.d.ts +30 -0
  14. package/dist/IR/IRNodes/IRConstr.js +87 -0
  15. package/dist/IR/IRNodes/IRDelayed.d.ts +31 -0
  16. package/dist/IR/IRNodes/IRDelayed.js +68 -0
  17. package/dist/IR/IRNodes/IRError.d.ts +32 -0
  18. package/dist/IR/IRNodes/IRError.js +44 -0
  19. package/dist/IR/IRNodes/IRForced.d.ts +31 -0
  20. package/dist/IR/IRNodes/IRForced.js +69 -0
  21. package/dist/IR/IRNodes/IRFunc.d.ts +33 -0
  22. package/dist/IR/IRNodes/IRFunc.js +91 -0
  23. package/dist/IR/IRNodes/IRHoisted.d.ts +55 -0
  24. package/dist/IR/IRNodes/IRHoisted.js +212 -0
  25. package/dist/IR/IRNodes/IRLetted.d.ts +108 -0
  26. package/dist/IR/IRNodes/IRLetted.js +444 -0
  27. package/dist/IR/IRNodes/IRNative/IRNativeTag.d.ts +138 -0
  28. package/dist/IR/IRNodes/IRNative/IRNativeTag.js +204 -0
  29. package/dist/IR/IRNodes/IRNative/index.d.ts +165 -0
  30. package/dist/IR/IRNodes/IRNative/index.js +240 -0
  31. package/dist/IR/IRNodes/IRNative/isForcedNative.d.ts +3 -0
  32. package/dist/IR/IRNodes/IRNative/isForcedNative.js +18 -0
  33. package/dist/IR/IRNodes/IRRecursive.d.ts +29 -0
  34. package/dist/IR/IRNodes/IRRecursive.js +90 -0
  35. package/dist/IR/IRNodes/IRSelfCall.d.ts +46 -0
  36. package/dist/IR/IRNodes/IRSelfCall.js +127 -0
  37. package/dist/IR/IRNodes/IRVar.d.ts +41 -0
  38. package/dist/IR/IRNodes/IRVar.js +93 -0
  39. package/dist/IR/IRNodes/index.d.ts +12 -0
  40. package/dist/IR/IRNodes/index.js +12 -0
  41. package/dist/IR/IRNodes/utils/dependsByDbns.d.ts +5 -0
  42. package/dist/IR/IRNodes/utils/dependsByDbns.js +29 -0
  43. package/dist/IR/IRNodes/utils/isClosedAtDbn.d.ts +2 -0
  44. package/dist/IR/IRNodes/utils/isClosedAtDbn.js +22 -0
  45. package/dist/IR/IRNodes/utils/makeArrayLikeProxy.d.ts +1 -0
  46. package/dist/IR/IRNodes/utils/makeArrayLikeProxy.js +34 -0
  47. package/dist/IR/IRNodes/utils/mapArrayLike.d.ts +1 -0
  48. package/dist/IR/IRNodes/utils/mapArrayLike.js +8 -0
  49. package/dist/IR/IRTerm.d.ts +15 -0
  50. package/dist/IR/IRTerm.js +1 -0
  51. package/dist/IR/index.d.ts +5 -0
  52. package/dist/IR/index.js +5 -0
  53. package/dist/IR/interfaces/IHash.d.ts +6 -0
  54. package/dist/IR/interfaces/IHash.js +1 -0
  55. package/dist/IR/interfaces/IIRParent.d.ts +4 -0
  56. package/dist/IR/interfaces/IIRParent.js +1 -0
  57. package/dist/IR/interfaces/IRMetadata.d.ts +3 -0
  58. package/dist/IR/interfaces/IRMetadata.js +2 -0
  59. package/dist/IR/interfaces/ToIR.d.ts +5 -0
  60. package/dist/IR/interfaces/ToIR.js +1 -0
  61. package/dist/IR/interfaces/index.d.ts +4 -0
  62. package/dist/IR/interfaces/index.js +4 -0
  63. package/dist/IR/toUPLC/CompilerOptions.d.ts +80 -0
  64. package/dist/IR/toUPLC/CompilerOptions.js +98 -0
  65. package/dist/IR/toUPLC/_internal/_addDepth.d.ts +2 -0
  66. package/dist/IR/toUPLC/_internal/_addDepth.js +58 -0
  67. package/dist/IR/toUPLC/_internal/_irToUplc.d.ts +9 -0
  68. package/dist/IR/toUPLC/_internal/_irToUplc.js +156 -0
  69. package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.d.ts +2 -0
  70. package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.js +12 -0
  71. package/dist/IR/toUPLC/_internal/_modifyChildFromTo.d.ts +10 -0
  72. package/dist/IR/toUPLC/_internal/_modifyChildFromTo.js +141 -0
  73. package/dist/IR/toUPLC/_internal/depth.d.ts +5 -0
  74. package/dist/IR/toUPLC/_internal/depth.js +8 -0
  75. package/dist/IR/toUPLC/_internal/findAll.d.ts +3 -0
  76. package/dist/IR/toUPLC/_internal/findAll.js +99 -0
  77. package/dist/IR/toUPLC/_internal/getDebruijnInTerm.d.ts +2 -0
  78. package/dist/IR/toUPLC/_internal/getDebruijnInTerm.js +51 -0
  79. package/dist/IR/toUPLC/_internal/getDiffDbn.d.ts +2 -0
  80. package/dist/IR/toUPLC/_internal/getDiffDbn.js +55 -0
  81. package/dist/IR/toUPLC/_internal/includesLettedTerms.d.ts +2 -0
  82. package/dist/IR/toUPLC/_internal/includesLettedTerms.js +50 -0
  83. package/dist/IR/toUPLC/_internal/includesNode.d.ts +2 -0
  84. package/dist/IR/toUPLC/_internal/includesNode.js +54 -0
  85. package/dist/IR/toUPLC/_internal/iterTree.d.ts +2 -0
  86. package/dist/IR/toUPLC/_internal/iterTree.js +93 -0
  87. package/dist/IR/toUPLC/_internal/lowestCommonAncestor.d.ts +3 -0
  88. package/dist/IR/toUPLC/_internal/lowestCommonAncestor.js +41 -0
  89. package/dist/IR/toUPLC/compileIRToUPLC.d.ts +4 -0
  90. package/dist/IR/toUPLC/compileIRToUPLC.js +118 -0
  91. package/dist/IR/toUPLC/index.d.ts +1 -0
  92. package/dist/IR/toUPLC/index.js +1 -0
  93. package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.d.ts +2 -0
  94. package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.js +161 -0
  95. package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.d.ts +5 -0
  96. package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.js +14 -0
  97. package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.d.ts +20 -0
  98. package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.js +107 -0
  99. package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.d.ts +9 -0
  100. package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.js +73 -0
  101. package/dist/IR/toUPLC/subRoutines/handleLetted/index.d.ts +2 -0
  102. package/dist/IR/toUPLC/subRoutines/handleLetted/index.js +304 -0
  103. package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.d.ts +3 -0
  104. package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.js +32 -0
  105. package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.d.ts +2 -0
  106. package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.js +58 -0
  107. package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.d.ts +1 -0
  108. package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.js +12 -0
  109. package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.d.ts +2 -0
  110. package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.js +82 -0
  111. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.d.ts +4 -0
  112. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.js +68 -0
  113. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.d.ts +5 -0
  114. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.js +227 -0
  115. package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.d.ts +2 -0
  116. package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.js +13 -0
  117. package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.d.ts +2 -0
  118. package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.js +11 -0
  119. package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.d.ts +2 -0
  120. package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.js +16 -0
  121. package/dist/IR/toUPLC/subRoutines/replaceNatives/index.d.ts +2 -0
  122. package/dist/IR/toUPLC/subRoutines/replaceNatives/index.js +16 -0
  123. package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.d.ts +3 -0
  124. package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.js +520 -0
  125. package/dist/IR/toUPLC/subRoutines/sanifyTree.d.ts +5 -0
  126. package/dist/IR/toUPLC/subRoutines/sanifyTree.js +84 -0
  127. package/dist/IR/tree_utils/_ir_apps.d.ts +3 -0
  128. package/dist/IR/tree_utils/_ir_apps.js +8 -0
  129. package/dist/IR/tree_utils/_ir_lazyChooseList.d.ts +3 -0
  130. package/dist/IR/tree_utils/_ir_lazyChooseList.js +5 -0
  131. package/dist/IR/tree_utils/_ir_lazyIfThenElse.d.ts +3 -0
  132. package/dist/IR/tree_utils/_ir_lazyIfThenElse.js +5 -0
  133. package/dist/IR/tree_utils/_ir_let.d.ts +3 -0
  134. package/dist/IR/tree_utils/_ir_let.js +4 -0
  135. package/dist/IR/tree_utils/getChildren.d.ts +2 -0
  136. package/dist/IR/tree_utils/getChildren.js +33 -0
  137. package/dist/IR/tree_utils/getRoot.d.ts +2 -0
  138. package/dist/IR/tree_utils/getRoot.js +6 -0
  139. package/dist/IR/utils/MutArrayLike.d.ts +5 -0
  140. package/dist/IR/utils/MutArrayLike.js +1 -0
  141. package/dist/IR/utils/concatUint8Arr.d.ts +1 -0
  142. package/dist/IR/utils/concatUint8Arr.js +11 -0
  143. package/dist/IR/utils/equalIRTerm.d.ts +12 -0
  144. package/dist/IR/utils/equalIRTerm.js +19 -0
  145. package/dist/IR/utils/index.d.ts +3 -0
  146. package/dist/IR/utils/index.js +3 -0
  147. package/dist/IR/utils/isClosedIRTerm.d.ts +2 -0
  148. package/dist/IR/utils/isClosedIRTerm.js +58 -0
  149. package/dist/IR/utils/isIRParentTerm.d.ts +12 -0
  150. package/dist/IR/utils/isIRParentTerm.js +26 -0
  151. package/dist/IR/utils/isIRTerm.d.ts +2 -0
  152. package/dist/IR/utils/isIRTerm.js +30 -0
  153. package/dist/IR/utils/positiveIntAsBytes.d.ts +5 -0
  154. package/dist/IR/utils/positiveIntAsBytes.js +27 -0
  155. package/dist/IR/utils/showIR.d.ts +43 -0
  156. package/dist/IR/utils/showIR.js +372 -0
  157. package/dist/ast/PebbleAst.d.ts +8 -0
  158. package/dist/ast/PebbleAst.js +15 -0
  159. package/dist/ast/Source/Source.d.ts +47 -0
  160. package/dist/ast/Source/Source.js +89 -0
  161. package/dist/ast/Source/SourceRange.d.ts +16 -0
  162. package/dist/ast/Source/SourceRange.js +49 -0
  163. package/dist/ast/nodes/HasSourceRange.d.ts +5 -0
  164. package/dist/ast/nodes/HasSourceRange.js +6 -0
  165. package/dist/ast/nodes/common/Identifier.d.ts +13 -0
  166. package/dist/ast/nodes/common/Identifier.js +20 -0
  167. package/dist/ast/nodes/expr/CaseExpr.d.ts +22 -0
  168. package/dist/ast/nodes/expr/CaseExpr.js +30 -0
  169. package/dist/ast/nodes/expr/ElemAccessExpr.d.ts +12 -0
  170. package/dist/ast/nodes/expr/ElemAccessExpr.js +13 -0
  171. package/dist/ast/nodes/expr/IsExpr.d.ts +1 -0
  172. package/dist/ast/nodes/expr/IsExpr.js +14 -0
  173. package/dist/ast/nodes/expr/ParentesizedExpr.d.ts +8 -0
  174. package/dist/ast/nodes/expr/ParentesizedExpr.js +8 -0
  175. package/dist/ast/nodes/expr/PebbleExpr.d.ts +18 -0
  176. package/dist/ast/nodes/expr/PebbleExpr.js +31 -0
  177. package/dist/ast/nodes/expr/PropAccessExpr.d.ts +28 -0
  178. package/dist/ast/nodes/expr/PropAccessExpr.js +46 -0
  179. package/dist/ast/nodes/expr/TernaryExpr.d.ts +10 -0
  180. package/dist/ast/nodes/expr/TernaryExpr.js +12 -0
  181. package/dist/ast/nodes/expr/TypeConversionExpr.d.ts +10 -0
  182. package/dist/ast/nodes/expr/TypeConversionExpr.js +11 -0
  183. package/dist/ast/nodes/expr/binary/BinaryExpr.d.ts +133 -0
  184. package/dist/ast/nodes/expr/binary/BinaryExpr.js +253 -0
  185. package/dist/ast/nodes/expr/functions/ArrowKind.d.ts +9 -0
  186. package/dist/ast/nodes/expr/functions/ArrowKind.js +11 -0
  187. package/dist/ast/nodes/expr/functions/CallExpr.d.ts +17 -0
  188. package/dist/ast/nodes/expr/functions/CallExpr.js +16 -0
  189. package/dist/ast/nodes/expr/functions/FuncExpr.d.ts +21 -0
  190. package/dist/ast/nodes/expr/functions/FuncExpr.js +21 -0
  191. package/dist/ast/nodes/expr/litteral/LitArrExpr.d.ts +8 -0
  192. package/dist/ast/nodes/expr/litteral/LitArrExpr.js +8 -0
  193. package/dist/ast/nodes/expr/litteral/LitFalseExpr.d.ts +6 -0
  194. package/dist/ast/nodes/expr/litteral/LitFalseExpr.js +6 -0
  195. package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.d.ts +7 -0
  196. package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.js +8 -0
  197. package/dist/ast/nodes/expr/litteral/LitIntExpr.d.ts +7 -0
  198. package/dist/ast/nodes/expr/litteral/LitIntExpr.js +8 -0
  199. package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.d.ts +12 -0
  200. package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.js +12 -0
  201. package/dist/ast/nodes/expr/litteral/LitObjExpr.d.ts +14 -0
  202. package/dist/ast/nodes/expr/litteral/LitObjExpr.js +10 -0
  203. package/dist/ast/nodes/expr/litteral/LitStrExpr.d.ts +7 -0
  204. package/dist/ast/nodes/expr/litteral/LitStrExpr.js +8 -0
  205. package/dist/ast/nodes/expr/litteral/LitThisExpr.d.ts +6 -0
  206. package/dist/ast/nodes/expr/litteral/LitThisExpr.js +6 -0
  207. package/dist/ast/nodes/expr/litteral/LitTrueExpr.d.ts +6 -0
  208. package/dist/ast/nodes/expr/litteral/LitTrueExpr.js +6 -0
  209. package/dist/ast/nodes/expr/litteral/LitUndefExpr.d.ts +6 -0
  210. package/dist/ast/nodes/expr/litteral/LitUndefExpr.js +6 -0
  211. package/dist/ast/nodes/expr/litteral/LitVoidExpr.d.ts +6 -0
  212. package/dist/ast/nodes/expr/litteral/LitVoidExpr.js +6 -0
  213. package/dist/ast/nodes/expr/litteral/LitteralExpr.d.ts +13 -0
  214. package/dist/ast/nodes/expr/litteral/LitteralExpr.js +24 -0
  215. package/dist/ast/nodes/expr/unary/IUnaryExpression.d.ts +4 -0
  216. package/dist/ast/nodes/expr/unary/IUnaryExpression.js +1 -0
  217. package/dist/ast/nodes/expr/unary/NonNullExpr.d.ts +8 -0
  218. package/dist/ast/nodes/expr/unary/NonNullExpr.js +8 -0
  219. package/dist/ast/nodes/expr/unary/UnaryExclamation.d.ts +9 -0
  220. package/dist/ast/nodes/expr/unary/UnaryExclamation.js +8 -0
  221. package/dist/ast/nodes/expr/unary/UnaryMinus.d.ts +9 -0
  222. package/dist/ast/nodes/expr/unary/UnaryMinus.js +8 -0
  223. package/dist/ast/nodes/expr/unary/UnaryPlus.d.ts +9 -0
  224. package/dist/ast/nodes/expr/unary/UnaryPlus.js +8 -0
  225. package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.d.ts +14 -0
  226. package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.js +27 -0
  227. package/dist/ast/nodes/expr/unary/UnaryTilde.d.ts +9 -0
  228. package/dist/ast/nodes/expr/unary/UnaryTilde.js +8 -0
  229. package/dist/ast/nodes/statements/AssertStmt.d.ts +15 -0
  230. package/dist/ast/nodes/statements/AssertStmt.js +14 -0
  231. package/dist/ast/nodes/statements/AssignmentStmt.d.ts +105 -0
  232. package/dist/ast/nodes/statements/AssignmentStmt.js +211 -0
  233. package/dist/ast/nodes/statements/BlockStmt.d.ts +8 -0
  234. package/dist/ast/nodes/statements/BlockStmt.js +8 -0
  235. package/dist/ast/nodes/statements/BreakStmt.d.ts +6 -0
  236. package/dist/ast/nodes/statements/BreakStmt.js +6 -0
  237. package/dist/ast/nodes/statements/ContinueStmt.d.ts +6 -0
  238. package/dist/ast/nodes/statements/ContinueStmt.js +6 -0
  239. package/dist/ast/nodes/statements/DecrStmt.d.ts +11 -0
  240. package/dist/ast/nodes/statements/DecrStmt.js +11 -0
  241. package/dist/ast/nodes/statements/DoWhileStmt.d.ts +10 -0
  242. package/dist/ast/nodes/statements/DoWhileStmt.js +10 -0
  243. package/dist/ast/nodes/statements/EmptyStmt.d.ts +6 -0
  244. package/dist/ast/nodes/statements/EmptyStmt.js +6 -0
  245. package/dist/ast/nodes/statements/ExportImportStmt.d.ts +15 -0
  246. package/dist/ast/nodes/statements/ExportImportStmt.js +15 -0
  247. package/dist/ast/nodes/statements/ExportStarStmt.d.ts +8 -0
  248. package/dist/ast/nodes/statements/ExportStarStmt.js +8 -0
  249. package/dist/ast/nodes/statements/ExportStmt.d.ts +13 -0
  250. package/dist/ast/nodes/statements/ExportStmt.js +13 -0
  251. package/dist/ast/nodes/statements/ExprStmt.d.ts +8 -0
  252. package/dist/ast/nodes/statements/ExprStmt.js +18 -0
  253. package/dist/ast/nodes/statements/FailStmt.d.ts +11 -0
  254. package/dist/ast/nodes/statements/FailStmt.js +10 -0
  255. package/dist/ast/nodes/statements/ForOfStmt.d.ts +16 -0
  256. package/dist/ast/nodes/statements/ForOfStmt.js +15 -0
  257. package/dist/ast/nodes/statements/ForStmt.d.ts +19 -0
  258. package/dist/ast/nodes/statements/ForStmt.js +19 -0
  259. package/dist/ast/nodes/statements/IfStmt.d.ts +11 -0
  260. package/dist/ast/nodes/statements/IfStmt.js +12 -0
  261. package/dist/ast/nodes/statements/ImportStarStmt.d.ts +15 -0
  262. package/dist/ast/nodes/statements/ImportStarStmt.js +15 -0
  263. package/dist/ast/nodes/statements/ImportStmt.d.ts +21 -0
  264. package/dist/ast/nodes/statements/ImportStmt.js +25 -0
  265. package/dist/ast/nodes/statements/IncrStmt.d.ts +8 -0
  266. package/dist/ast/nodes/statements/IncrStmt.js +8 -0
  267. package/dist/ast/nodes/statements/MatchStmt.d.ts +17 -0
  268. package/dist/ast/nodes/statements/MatchStmt.js +20 -0
  269. package/dist/ast/nodes/statements/PebbleStmt.d.ts +29 -0
  270. package/dist/ast/nodes/statements/PebbleStmt.js +62 -0
  271. package/dist/ast/nodes/statements/ReturnStmt.d.ts +8 -0
  272. package/dist/ast/nodes/statements/ReturnStmt.js +8 -0
  273. package/dist/ast/nodes/statements/TestStmt.d.ts +10 -0
  274. package/dist/ast/nodes/statements/TestStmt.js +10 -0
  275. package/dist/ast/nodes/statements/TypeImplementsStmt.d.ts +21 -0
  276. package/dist/ast/nodes/statements/TypeImplementsStmt.js +26 -0
  277. package/dist/ast/nodes/statements/UsingStmt.d.ts +16 -0
  278. package/dist/ast/nodes/statements/UsingStmt.js +20 -0
  279. package/dist/ast/nodes/statements/VarStmt.d.ts +10 -0
  280. package/dist/ast/nodes/statements/VarStmt.js +11 -0
  281. package/dist/ast/nodes/statements/WhileStmt.d.ts +10 -0
  282. package/dist/ast/nodes/statements/WhileStmt.js +10 -0
  283. package/dist/ast/nodes/statements/declarations/EnumDecl.d.ts +18 -0
  284. package/dist/ast/nodes/statements/declarations/EnumDecl.js +22 -0
  285. package/dist/ast/nodes/statements/declarations/FuncDecl.d.ts +8 -0
  286. package/dist/ast/nodes/statements/declarations/FuncDecl.js +9 -0
  287. package/dist/ast/nodes/statements/declarations/InterfaceDecl.d.ts +19 -0
  288. package/dist/ast/nodes/statements/declarations/InterfaceDecl.js +26 -0
  289. package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.d.ts +5 -0
  290. package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.js +8 -0
  291. package/dist/ast/nodes/statements/declarations/StructDecl.d.ts +25 -0
  292. package/dist/ast/nodes/statements/declarations/StructDecl.js +36 -0
  293. package/dist/ast/nodes/statements/declarations/TypeAliasDecl.d.ts +11 -0
  294. package/dist/ast/nodes/statements/declarations/TypeAliasDecl.js +12 -0
  295. package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.d.ts +19 -0
  296. package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.js +19 -0
  297. package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.d.ts +5 -0
  298. package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.js +7 -0
  299. package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.d.ts +24 -0
  300. package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.js +30 -0
  301. package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.d.ts +17 -0
  302. package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.js +21 -0
  303. package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.d.ts +24 -0
  304. package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.js +20 -0
  305. package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.d.ts +8 -0
  306. package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.js +13 -0
  307. package/dist/ast/nodes/types/AstNamedTypeExpr.d.ts +14 -0
  308. package/dist/ast/nodes/types/AstNamedTypeExpr.js +14 -0
  309. package/dist/ast/nodes/types/AstNativeTypeExpr.d.ts +52 -0
  310. package/dist/ast/nodes/types/AstNativeTypeExpr.js +82 -0
  311. package/dist/ast/nodes/types/AstTypeExpr.d.ts +4 -0
  312. package/dist/ast/nodes/types/AstTypeExpr.js +7 -0
  313. package/dist/common.d.ts +194 -0
  314. package/dist/common.js +224 -0
  315. package/dist/compiler/AstCompiler/AstCompilationCtx.d.ts +35 -0
  316. package/dist/compiler/AstCompiler/AstCompilationCtx.js +43 -0
  317. package/dist/compiler/AstCompiler/AstCompiler.d.ts +73 -0
  318. package/dist/compiler/AstCompiler/AstCompiler.js +532 -0
  319. package/dist/compiler/AstCompiler/compileAst.d.ts +0 -0
  320. package/dist/compiler/AstCompiler/compileAst.js +0 -0
  321. package/dist/compiler/AstCompiler/index.d.ts +1 -0
  322. package/dist/compiler/AstCompiler/index.js +1 -0
  323. package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.d.ts +5 -0
  324. package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.js +66 -0
  325. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.d.ts +5 -0
  326. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.js +36 -0
  327. package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.d.ts +6 -0
  328. package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.js +47 -0
  329. package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.d.ts +5 -0
  330. package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.js +23 -0
  331. package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.d.ts +22 -0
  332. package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.js +77 -0
  333. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.d.ts +26 -0
  334. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.js +163 -0
  335. package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.d.ts +1 -0
  336. package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.js +43 -0
  337. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.d.ts +19 -0
  338. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.js +202 -0
  339. package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.d.ts +5 -0
  340. package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.js +43 -0
  341. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.d.ts +9 -0
  342. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.js +102 -0
  343. package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.d.ts +5 -0
  344. package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.js +22 -0
  345. package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.d.ts +5 -0
  346. package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.js +25 -0
  347. package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.d.ts +5 -0
  348. package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.js +54 -0
  349. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.d.ts +5 -0
  350. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.js +9 -0
  351. package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.d.ts +3 -0
  352. package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.js +13 -0
  353. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.d.ts +5 -0
  354. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.js +20 -0
  355. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.d.ts +5 -0
  356. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.js +20 -0
  357. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.d.ts +5 -0
  358. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.js +20 -0
  359. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.d.ts +5 -0
  360. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.js +20 -0
  361. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.d.ts +5 -0
  362. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.js +20 -0
  363. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.d.ts +5 -0
  364. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.js +18 -0
  365. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.d.ts +5 -0
  366. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.js +20 -0
  367. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.d.ts +5 -0
  368. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.js +27 -0
  369. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.d.ts +5 -0
  370. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.js +26 -0
  371. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.d.ts +5 -0
  372. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.js +25 -0
  373. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.d.ts +5 -0
  374. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.js +26 -0
  375. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.d.ts +5 -0
  376. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.js +22 -0
  377. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.d.ts +5 -0
  378. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.js +22 -0
  379. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.d.ts +5 -0
  380. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.js +20 -0
  381. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.d.ts +5 -0
  382. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.js +20 -0
  383. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.d.ts +5 -0
  384. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.js +18 -0
  385. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.d.ts +5 -0
  386. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.js +60 -0
  387. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.d.ts +5 -0
  388. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.js +21 -0
  389. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.d.ts +5 -0
  390. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.js +21 -0
  391. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.d.ts +5 -0
  392. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.js +20 -0
  393. package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.d.ts +4 -0
  394. package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.js +30 -0
  395. package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.d.ts +8 -0
  396. package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.js +154 -0
  397. package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.d.ts +4 -0
  398. package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.js +14 -0
  399. package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.d.ts +4 -0
  400. package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.js +7 -0
  401. package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.d.ts +4 -0
  402. package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.js +7 -0
  403. package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.d.ts +1 -0
  404. package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.js +12 -0
  405. package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.d.ts +4 -0
  406. package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.js +18 -0
  407. package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.d.ts +4 -0
  408. package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.js +30 -0
  409. package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.d.ts +7 -0
  410. package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.js +46 -0
  411. package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.d.ts +4 -0
  412. package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.js +27 -0
  413. package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.d.ts +6 -0
  414. package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.js +182 -0
  415. package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.d.ts +4 -0
  416. package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.js +17 -0
  417. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.d.ts +11 -0
  418. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.js +73 -0
  419. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.d.ts +1 -0
  420. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.js +32 -0
  421. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.d.ts +11 -0
  422. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.js +41 -0
  423. package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.d.ts +34 -0
  424. package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.js +207 -0
  425. package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.d.ts +4 -0
  426. package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.js +19 -0
  427. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.d.ts +4 -0
  428. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.js +61 -0
  429. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.d.ts +4 -0
  430. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.js +59 -0
  431. package/dist/compiler/AstCompiler/scope/AstScope.d.ts +102 -0
  432. package/dist/compiler/AstCompiler/scope/AstScope.js +195 -0
  433. package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.d.ts +14 -0
  434. package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.js +36 -0
  435. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.d.ts +4 -0
  436. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.js +121 -0
  437. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.d.ts +39 -0
  438. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.js +129 -0
  439. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.d.ts +4 -0
  440. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.js +49 -0
  441. package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.d.ts +3 -0
  442. package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.js +12 -0
  443. package/dist/compiler/Compiler.d.ts +10 -0
  444. package/dist/compiler/Compiler.js +39 -0
  445. package/dist/compiler/TirCompiler/TirCompilerCtx.d.ts +7 -0
  446. package/dist/compiler/TirCompiler/TirCompilerCtx.js +8 -0
  447. package/dist/compiler/TirCompiler/compileTirProgram.d.ts +9 -0
  448. package/dist/compiler/TirCompiler/compileTirProgram.js +18 -0
  449. package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.d.ts +72 -0
  450. package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.js +282 -0
  451. package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.d.ts +27 -0
  452. package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.js +248 -0
  453. package/dist/compiler/TirCompiler/expressify/expressify.d.ts +15 -0
  454. package/dist/compiler/TirCompiler/expressify/expressify.js +403 -0
  455. package/dist/compiler/TirCompiler/expressify/expressifyForStmt.d.ts +8 -0
  456. package/dist/compiler/TirCompiler/expressify/expressifyForStmt.js +115 -0
  457. package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.d.ts +6 -0
  458. package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.js +105 -0
  459. package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.d.ts +5 -0
  460. package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.js +15 -0
  461. package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.d.ts +4 -0
  462. package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.js +20 -0
  463. package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.d.ts +3 -0
  464. package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.js +34 -0
  465. package/dist/compiler/TirCompiler/expressify/expressifyVars.d.ts +10 -0
  466. package/dist/compiler/TirCompiler/expressify/expressifyVars.js +320 -0
  467. package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.d.ts +9 -0
  468. package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.js +59 -0
  469. package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.d.ts +3 -0
  470. package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.js +9 -0
  471. package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.d.ts +3 -0
  472. package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.js +15 -0
  473. package/dist/compiler/TirCompiler/index.d.ts +2 -0
  474. package/dist/compiler/TirCompiler/index.js +2 -0
  475. package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.d.ts +5 -0
  476. package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.js +37 -0
  477. package/dist/compiler/TirCompiler/internal/deps/DepsNode.d.ts +13 -0
  478. package/dist/compiler/TirCompiler/internal/deps/DepsNode.js +36 -0
  479. package/dist/compiler/index.d.ts +4 -0
  480. package/dist/compiler/index.js +4 -0
  481. package/dist/compiler/internalVar.d.ts +19 -0
  482. package/dist/compiler/internalVar.js +56 -0
  483. package/dist/compiler/io/CompilerIoApi.d.ts +36 -0
  484. package/dist/compiler/io/CompilerIoApi.js +62 -0
  485. package/dist/compiler/io/IOutputStream.d.ts +28 -0
  486. package/dist/compiler/io/IOutputStream.js +45 -0
  487. package/dist/compiler/io/index.d.ts +2 -0
  488. package/dist/compiler/io/index.js +2 -0
  489. package/dist/compiler/path/getAbsolutePath.d.ts +12 -0
  490. package/dist/compiler/path/getAbsolutePath.js +114 -0
  491. package/dist/compiler/path/path.d.ts +5 -0
  492. package/dist/compiler/path/path.js +160 -0
  493. package/dist/compiler/tir/expressions/ITirExpr.d.ts +11 -0
  494. package/dist/compiler/tir/expressions/ITirExpr.js +1 -0
  495. package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.d.ts +19 -0
  496. package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.js +41 -0
  497. package/dist/compiler/tir/expressions/TirCallExpr.d.ts +17 -0
  498. package/dist/compiler/tir/expressions/TirCallExpr.js +28 -0
  499. package/dist/compiler/tir/expressions/TirCaseExpr.d.ts +36 -0
  500. package/dist/compiler/tir/expressions/TirCaseExpr.js +257 -0
  501. package/dist/compiler/tir/expressions/TirElemAccessExpr.d.ts +20 -0
  502. package/dist/compiler/tir/expressions/TirElemAccessExpr.js +43 -0
  503. package/dist/compiler/tir/expressions/TirExpr.d.ts +23 -0
  504. package/dist/compiler/tir/expressions/TirExpr.js +46 -0
  505. package/dist/compiler/tir/expressions/TirFailExpr.d.ts +19 -0
  506. package/dist/compiler/tir/expressions/TirFailExpr.js +28 -0
  507. package/dist/compiler/tir/expressions/TirFromDataExpr.d.ts +22 -0
  508. package/dist/compiler/tir/expressions/TirFromDataExpr.js +196 -0
  509. package/dist/compiler/tir/expressions/TirFuncExpr.d.ts +37 -0
  510. package/dist/compiler/tir/expressions/TirFuncExpr.js +92 -0
  511. package/dist/compiler/tir/expressions/TirHoistedExpr.d.ts +18 -0
  512. package/dist/compiler/tir/expressions/TirHoistedExpr.js +28 -0
  513. package/dist/compiler/tir/expressions/TirInlineClosedIR.d.ts +16 -0
  514. package/dist/compiler/tir/expressions/TirInlineClosedIR.js +25 -0
  515. package/dist/compiler/tir/expressions/TirLettedExpr.d.ts +18 -0
  516. package/dist/compiler/tir/expressions/TirLettedExpr.js +28 -0
  517. package/dist/compiler/tir/expressions/TirNativeFunc.d.ts +104 -0
  518. package/dist/compiler/tir/expressions/TirNativeFunc.js +805 -0
  519. package/dist/compiler/tir/expressions/TirParentesizedExpr.d.ts +17 -0
  520. package/dist/compiler/tir/expressions/TirParentesizedExpr.js +20 -0
  521. package/dist/compiler/tir/expressions/TirPropAccessExpr.d.ts +18 -0
  522. package/dist/compiler/tir/expressions/TirPropAccessExpr.js +29 -0
  523. package/dist/compiler/tir/expressions/TirTernaryExpr.d.ts +18 -0
  524. package/dist/compiler/tir/expressions/TirTernaryExpr.js +36 -0
  525. package/dist/compiler/tir/expressions/TirToDataExpr.d.ts +28 -0
  526. package/dist/compiler/tir/expressions/TirToDataExpr.js +172 -0
  527. package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.d.ts +23 -0
  528. package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.js +32 -0
  529. package/dist/compiler/tir/expressions/TirTypeConversionExpr.d.ts +16 -0
  530. package/dist/compiler/tir/expressions/TirTypeConversionExpr.js +66 -0
  531. package/dist/compiler/tir/expressions/TirVariableAccessExpr.d.ts +18 -0
  532. package/dist/compiler/tir/expressions/TirVariableAccessExpr.js +30 -0
  533. package/dist/compiler/tir/expressions/ToIRTermCtx.d.ts +29 -0
  534. package/dist/compiler/tir/expressions/ToIRTermCtx.js +77 -0
  535. package/dist/compiler/tir/expressions/binary/TirBinaryExpr.d.ts +221 -0
  536. package/dist/compiler/tir/expressions/binary/TirBinaryExpr.js +532 -0
  537. package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.d.ts +16 -0
  538. package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.js +60 -0
  539. package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.d.ts +14 -0
  540. package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.js +17 -0
  541. package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.d.ts +15 -0
  542. package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.js +19 -0
  543. package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.d.ts +15 -0
  544. package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.js +19 -0
  545. package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.d.ts +22 -0
  546. package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.js +105 -0
  547. package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.d.ts +22 -0
  548. package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.js +102 -0
  549. package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.d.ts +15 -0
  550. package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.js +20 -0
  551. package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.d.ts +14 -0
  552. package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.js +20 -0
  553. package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.d.ts +14 -0
  554. package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.js +17 -0
  555. package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.d.ts +18 -0
  556. package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.js +23 -0
  557. package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.d.ts +14 -0
  558. package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.js +17 -0
  559. package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.d.ts +13 -0
  560. package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.js +24 -0
  561. package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.d.ts +4 -0
  562. package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.js +1 -0
  563. package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.d.ts +17 -0
  564. package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.js +23 -0
  565. package/dist/compiler/tir/expressions/unary/TirUnaryMinus.d.ts +17 -0
  566. package/dist/compiler/tir/expressions/unary/TirUnaryMinus.js +22 -0
  567. package/dist/compiler/tir/expressions/unary/TirUnaryPlus.d.ts +15 -0
  568. package/dist/compiler/tir/expressions/unary/TirUnaryPlus.js +20 -0
  569. package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.d.ts +6 -0
  570. package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.js +10 -0
  571. package/dist/compiler/tir/expressions/unary/TirUnaryTilde.d.ts +17 -0
  572. package/dist/compiler/tir/expressions/unary/TirUnaryTilde.js +22 -0
  573. package/dist/compiler/tir/expressions/utils/NamedExpr.d.ts +5 -0
  574. package/dist/compiler/tir/expressions/utils/NamedExpr.js +1 -0
  575. package/dist/compiler/tir/program/TypedProgram.d.ts +44 -0
  576. package/dist/compiler/tir/program/TypedProgram.js +126 -0
  577. package/dist/compiler/tir/program/stdScope/StdTypes.d.ts +34 -0
  578. package/dist/compiler/tir/program/stdScope/StdTypes.js +40 -0
  579. package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.d.ts +0 -0
  580. package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.js +288 -0
  581. package/dist/compiler/tir/program/stdScope/stdScope.d.ts +15 -0
  582. package/dist/compiler/tir/program/stdScope/stdScope.js +730 -0
  583. package/dist/compiler/tir/statements/TirAssertStmt.d.ts +18 -0
  584. package/dist/compiler/tir/statements/TirAssertStmt.js +29 -0
  585. package/dist/compiler/tir/statements/TirAssignmentStmt.d.ts +12 -0
  586. package/dist/compiler/tir/statements/TirAssignmentStmt.js +14 -0
  587. package/dist/compiler/tir/statements/TirBlockStmt.d.ts +9 -0
  588. package/dist/compiler/tir/statements/TirBlockStmt.js +25 -0
  589. package/dist/compiler/tir/statements/TirBreakStmt.d.ts +8 -0
  590. package/dist/compiler/tir/statements/TirBreakStmt.js +11 -0
  591. package/dist/compiler/tir/statements/TirContinueStmt.d.ts +8 -0
  592. package/dist/compiler/tir/statements/TirContinueStmt.js +13 -0
  593. package/dist/compiler/tir/statements/TirFailStmt.d.ts +13 -0
  594. package/dist/compiler/tir/statements/TirFailStmt.js +14 -0
  595. package/dist/compiler/tir/statements/TirForOfStmt.d.ts +16 -0
  596. package/dist/compiler/tir/statements/TirForOfStmt.js +25 -0
  597. package/dist/compiler/tir/statements/TirForStmt.d.ts +19 -0
  598. package/dist/compiler/tir/statements/TirForStmt.js +39 -0
  599. package/dist/compiler/tir/statements/TirIfStmt.d.ts +12 -0
  600. package/dist/compiler/tir/statements/TirIfStmt.js +23 -0
  601. package/dist/compiler/tir/statements/TirMatchStmt.d.ts +27 -0
  602. package/dist/compiler/tir/statements/TirMatchStmt.js +51 -0
  603. package/dist/compiler/tir/statements/TirReturnStmt.d.ts +10 -0
  604. package/dist/compiler/tir/statements/TirReturnStmt.js +12 -0
  605. package/dist/compiler/tir/statements/TirStmt.d.ts +32 -0
  606. package/dist/compiler/tir/statements/TirStmt.js +40 -0
  607. package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.d.ts +17 -0
  608. package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.js +30 -0
  609. package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.d.ts +21 -0
  610. package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js +34 -0
  611. package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.d.ts +17 -0
  612. package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.js +22 -0
  613. package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.d.ts +17 -0
  614. package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js +30 -0
  615. package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.d.ts +10 -0
  616. package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.js +11 -0
  617. package/dist/compiler/tir/statements/TirWhileStmt.d.ts +11 -0
  618. package/dist/compiler/tir/statements/TirWhileStmt.js +19 -0
  619. package/dist/compiler/tir/statements/utils/definitelyFails.d.ts +3 -0
  620. package/dist/compiler/tir/statements/utils/definitelyFails.js +52 -0
  621. package/dist/compiler/tir/types/TirAliasType.d.ts +32 -0
  622. package/dist/compiler/tir/types/TirAliasType.js +49 -0
  623. package/dist/compiler/tir/types/TirInterfaceImpl.d.ts +44 -0
  624. package/dist/compiler/tir/types/TirInterfaceImpl.js +32 -0
  625. package/dist/compiler/tir/types/TirInterfaceType.d.ts +28 -0
  626. package/dist/compiler/tir/types/TirInterfaceType.js +36 -0
  627. package/dist/compiler/tir/types/TirNativeType/TirNativeType.d.ts +41 -0
  628. package/dist/compiler/tir/types/TirNativeType/TirNativeType.js +86 -0
  629. package/dist/compiler/tir/types/TirNativeType/index.d.ts +2 -0
  630. package/dist/compiler/tir/types/TirNativeType/index.js +2 -0
  631. package/dist/compiler/tir/types/TirNativeType/native/Optional/data.d.ts +17 -0
  632. package/dist/compiler/tir/types/TirNativeType/native/Optional/data.js +47 -0
  633. package/dist/compiler/tir/types/TirNativeType/native/Optional/index.d.ts +3 -0
  634. package/dist/compiler/tir/types/TirNativeType/native/Optional/index.js +3 -0
  635. package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.d.ts +4 -0
  636. package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.js +6 -0
  637. package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.d.ts +17 -0
  638. package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.js +48 -0
  639. package/dist/compiler/tir/types/TirNativeType/native/bool.d.ts +13 -0
  640. package/dist/compiler/tir/types/TirNativeType/native/bool.js +12 -0
  641. package/dist/compiler/tir/types/TirNativeType/native/bytes.d.ts +13 -0
  642. package/dist/compiler/tir/types/TirNativeType/native/bytes.js +12 -0
  643. package/dist/compiler/tir/types/TirNativeType/native/data.d.ts +13 -0
  644. package/dist/compiler/tir/types/TirNativeType/native/data.js +12 -0
  645. package/dist/compiler/tir/types/TirNativeType/native/function.d.ts +16 -0
  646. package/dist/compiler/tir/types/TirNativeType/native/function.js +38 -0
  647. package/dist/compiler/tir/types/TirNativeType/native/index.d.ts +10 -0
  648. package/dist/compiler/tir/types/TirNativeType/native/index.js +10 -0
  649. package/dist/compiler/tir/types/TirNativeType/native/int.d.ts +13 -0
  650. package/dist/compiler/tir/types/TirNativeType/native/int.js +12 -0
  651. package/dist/compiler/tir/types/TirNativeType/native/linearMap.d.ts +17 -0
  652. package/dist/compiler/tir/types/TirNativeType/native/linearMap.js +44 -0
  653. package/dist/compiler/tir/types/TirNativeType/native/list.d.ts +16 -0
  654. package/dist/compiler/tir/types/TirNativeType/native/list.js +38 -0
  655. package/dist/compiler/tir/types/TirNativeType/native/string.d.ts +13 -0
  656. package/dist/compiler/tir/types/TirNativeType/native/string.js +12 -0
  657. package/dist/compiler/tir/types/TirNativeType/native/void.d.ts +13 -0
  658. package/dist/compiler/tir/types/TirNativeType/native/void.js +12 -0
  659. package/dist/compiler/tir/types/TirStructType.d.ts +68 -0
  660. package/dist/compiler/tir/types/TirStructType.js +128 -0
  661. package/dist/compiler/tir/types/TirType.d.ts +34 -0
  662. package/dist/compiler/tir/types/TirType.js +16 -0
  663. package/dist/compiler/tir/types/TirTypeParam.d.ts +18 -0
  664. package/dist/compiler/tir/types/TirTypeParam.js +39 -0
  665. package/dist/compiler/tir/types/utils/canAssignTo.d.ts +24 -0
  666. package/dist/compiler/tir/types/utils/canAssignTo.js +337 -0
  667. package/dist/compiler/tir/types/utils/canCastTo.d.ts +9 -0
  668. package/dist/compiler/tir/types/utils/canCastTo.js +155 -0
  669. package/dist/compiler/tir/types/utils/getDeconstructableType.d.ts +9 -0
  670. package/dist/compiler/tir/types/utils/getDeconstructableType.js +20 -0
  671. package/dist/compiler/tir/types/utils/getListTypeArg.d.ts +2 -0
  672. package/dist/compiler/tir/types/utils/getListTypeArg.js +9 -0
  673. package/dist/compiler/tir/types/utils/getOptTypeArg.d.ts +2 -0
  674. package/dist/compiler/tir/types/utils/getOptTypeArg.js +14 -0
  675. package/dist/compiler/tir/types/utils/getUnaliased.d.ts +3 -0
  676. package/dist/compiler/tir/types/utils/getUnaliased.js +9 -0
  677. package/dist/diagnostics/DiagnosticCategory.d.ts +16 -0
  678. package/dist/diagnostics/DiagnosticCategory.js +39 -0
  679. package/dist/diagnostics/DiagnosticEmitter.d.ts +32 -0
  680. package/dist/diagnostics/DiagnosticEmitter.js +95 -0
  681. package/dist/diagnostics/DiagnosticMessage.d.ts +37 -0
  682. package/dist/diagnostics/DiagnosticMessage.js +229 -0
  683. package/dist/diagnostics/diagnosticMessages.generated.d.ts +275 -0
  684. package/dist/diagnostics/diagnosticMessages.generated.js +551 -0
  685. package/dist/diagnostics/utils/types.d.ts +5 -0
  686. package/dist/diagnostics/utils/types.js +1 -0
  687. package/dist/index.d.ts +12 -0
  688. package/dist/index.js +13 -0
  689. package/dist/parser/Parser.d.ts +150 -0
  690. package/dist/parser/Parser.js +2416 -0
  691. package/dist/parser/Precedence.d.ts +38 -0
  692. package/dist/parser/Precedence.js +98 -0
  693. package/dist/parser/hoistStatementsInplace.d.ts +14 -0
  694. package/dist/parser/hoistStatementsInplace.js +94 -0
  695. package/dist/parser/index.d.ts +1 -0
  696. package/dist/parser/index.js +1 -0
  697. package/dist/parser/parseFile.d.ts +3 -0
  698. package/dist/parser/parseFile.js +8 -0
  699. package/dist/tokenizer/IdentifierHandling.d.ts +5 -0
  700. package/dist/tokenizer/IdentifierHandling.js +6 -0
  701. package/dist/tokenizer/OnNewLine.d.ts +6 -0
  702. package/dist/tokenizer/OnNewLine.js +8 -0
  703. package/dist/tokenizer/Token.d.ts +160 -0
  704. package/dist/tokenizer/Token.js +213 -0
  705. package/dist/tokenizer/Tokenizer.d.ts +129 -0
  706. package/dist/tokenizer/Tokenizer.js +1323 -0
  707. package/dist/tokenizer/TokenizerState.d.ts +17 -0
  708. package/dist/tokenizer/TokenizerState.js +17 -0
  709. package/dist/tokenizer/index.d.ts +2 -0
  710. package/dist/tokenizer/index.js +2 -0
  711. package/dist/tokenizer/utils/isIllegalVariableIdentifier.d.ts +1 -0
  712. package/dist/tokenizer/utils/isIllegalVariableIdentifier.js +12 -0
  713. package/dist/tokenizer/utils/operatorTokenToString.d.ts +2 -0
  714. package/dist/tokenizer/utils/operatorTokenToString.js +57 -0
  715. package/dist/tokenizer/utils/tokenFromKeyword.d.ts +2 -0
  716. package/dist/tokenizer/utils/tokenFromKeyword.js +222 -0
  717. package/dist/tokenizer/utils/tokenIsAlsoIdentifier.d.ts +2 -0
  718. package/dist/tokenizer/utils/tokenIsAlsoIdentifier.js +24 -0
  719. package/dist/utils/BasePlutsError.d.ts +2 -0
  720. package/dist/utils/BasePlutsError.js +2 -0
  721. package/dist/utils/BitUtils/index.d.ts +30 -0
  722. package/dist/utils/BitUtils/index.js +60 -0
  723. package/dist/utils/CharCode.d.ts +125 -0
  724. package/dist/utils/CharCode.js +1 -0
  725. package/dist/utils/Cloneable.d.ts +6 -0
  726. package/dist/utils/Cloneable.js +4 -0
  727. package/dist/utils/InvalidCborFormatError.d.ts +3 -0
  728. package/dist/utils/InvalidCborFormatError.js +5 -0
  729. package/dist/utils/IsSingleKey.d.ts +7 -0
  730. package/dist/utils/IsSingleKey.js +1 -0
  731. package/dist/utils/MaybePromise.d.ts +2 -0
  732. package/dist/utils/MaybePromise.js +4 -0
  733. package/dist/utils/PlutusScriptType.d.ts +12 -0
  734. package/dist/utils/PlutusScriptType.js +1 -0
  735. package/dist/utils/ToJson.d.ts +4 -0
  736. package/dist/utils/ToJson.js +5 -0
  737. package/dist/utils/UPLCFlatUtils/index.d.ts +46 -0
  738. package/dist/utils/UPLCFlatUtils/index.js +124 -0
  739. package/dist/utils/array/filterSortedStrArrInplace.d.ts +7 -0
  740. package/dist/utils/array/filterSortedStrArrInplace.js +46 -0
  741. package/dist/utils/array/keepSortedArrInplace.d.ts +7 -0
  742. package/dist/utils/array/keepSortedArrInplace.js +49 -0
  743. package/dist/utils/array/mergeSortedStrArrInplace.d.ts +6 -0
  744. package/dist/utils/array/mergeSortedStrArrInplace.js +52 -0
  745. package/dist/utils/assert.d.ts +1 -0
  746. package/dist/utils/assert.js +5 -0
  747. package/dist/utils/capitalize.d.ts +1 -0
  748. package/dist/utils/capitalize.js +5 -0
  749. package/dist/utils/combinators.d.ts +37 -0
  750. package/dist/utils/combinators.js +76 -0
  751. package/dist/utils/getCallStackAt/index.d.ts +43 -0
  752. package/dist/utils/getCallStackAt/index.js +295 -0
  753. package/dist/utils/hex.d.ts +1 -0
  754. package/dist/utils/hex.js +6 -0
  755. package/dist/utils/ints.d.ts +4 -0
  756. package/dist/utils/ints.js +19 -0
  757. package/dist/utils/isNonEmpty.d.ts +1 -0
  758. package/dist/utils/isNonEmpty.js +3 -0
  759. package/dist/utils/maybeData.d.ts +4 -0
  760. package/dist/utils/maybeData.js +10 -0
  761. package/dist/utils/stringify.d.ts +2 -0
  762. package/dist/utils/stringify.js +31 -0
  763. package/dist/utils/terminal.d.ts +28 -0
  764. package/dist/utils/terminal.js +38 -0
  765. package/dist/utils/text.d.ts +172 -0
  766. package/dist/utils/text.js +672 -0
  767. package/dist/utils/types.d.ts +12 -0
  768. package/dist/utils/types.js +1 -0
  769. package/package.json +75 -0
@@ -0,0 +1,5 @@
1
+ import { stringify } from "./stringify.js";
2
+ export function logJson(jsonLike, indent = 4) {
3
+ const obj = typeof jsonLike !== "undefined" && typeof jsonLike.toJson === "function" ? jsonLike.toJson() : jsonLike;
4
+ console.log(stringify(obj, undefined, indent), Error().stack?.split("\n")[2]);
5
+ }
@@ -0,0 +1,46 @@
1
+ import { BitStream } from "@harmoniclabs/bitstream";
2
+ export type InByteOffset = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
3
+ export declare function isInByteOffset(offset: InByteOffset): boolean;
4
+ export interface BitStreamPadToByteOptions {
5
+ onByteAllignedAddNewByte: boolean;
6
+ withOneAsEndPadding: boolean;
7
+ }
8
+ /**
9
+ * @static
10
+ */
11
+ export default class UPLCFlatUtils {
12
+ /**
13
+ * @deprecated this is a @static class, it is not supposed to have instances
14
+ */
15
+ private constructor();
16
+ static zigzagBigint(bigint: bigint): bigint;
17
+ static unzigzagBigint(bigint: bigint): bigint;
18
+ /**
19
+ * source: https://hydra.iohk.io/build/5988492/download/1/plutus-core-specification.pdf#Variable%20length%20data
20
+ *
21
+ * Non-empty lists are encoded by prefixing the element stored with ‘0’ if this is the last element
22
+ * or ‘1’ if there is more data following.
23
+ *
24
+ * We encode Integers as a non-empty list of chunks, 7 bits each, with the least significant chunk
25
+ * first and the most significant bit first in the chunk.
26
+ */
27
+ static encodeBigIntAsVariableLengthBitStream(integer: Readonly<bigint>): BitStream;
28
+ static getPadBitStream(n: InByteOffset): BitStream;
29
+ /**
30
+ * **_SIDE EFFECT_**: modifies the ```toPad``` ```BitStream``` passed as first argument
31
+ *
32
+ * @param toPad
33
+ * @param n
34
+ * @returns
35
+ */
36
+ static addPadTo(toPad: BitStream, n: InByteOffset): void;
37
+ static get padToByteDefaultOptions(): Readonly<BitStreamPadToByteOptions>;
38
+ /**
39
+ * **_SIDE EFFECT_**: modifies the ```toPad``` ```BitStream``` passed as first argument
40
+ *
41
+ * @param toPad
42
+ * @param options
43
+ * @returns
44
+ */
45
+ static padToByte(toPad: BitStream, options?: Partial<BitStreamPadToByteOptions>): void;
46
+ }
@@ -0,0 +1,124 @@
1
+ import { BitStream } from "@harmoniclabs/bitstream";
2
+ import BitUtils from "../BitUtils/index.js";
3
+ import { assert } from "../assert.js";
4
+ export function isInByteOffset(offset) {
5
+ return (offset === 0 ||
6
+ offset === 1 ||
7
+ offset === 2 ||
8
+ offset === 3 ||
9
+ offset === 4 ||
10
+ offset === 5 ||
11
+ offset === 6 ||
12
+ offset === 7);
13
+ }
14
+ /**
15
+ * @static
16
+ */
17
+ export default class UPLCFlatUtils {
18
+ /**
19
+ * @deprecated this is a @static class, it is not supposed to have instances
20
+ */
21
+ constructor() { }
22
+ ;
23
+ static zigzagBigint(bigint) {
24
+ return (bigint >>
25
+ (BigInt(BitUtils.getNOfUsedBits(bigint)))) ^ // XOR
26
+ (bigint << BigInt(1));
27
+ }
28
+ static unzigzagBigint(bigint) {
29
+ return (((bigint >> BigInt(1))) ^ // XOR
30
+ -(bigint & BigInt(1)));
31
+ }
32
+ /**
33
+ * source: https://hydra.iohk.io/build/5988492/download/1/plutus-core-specification.pdf#Variable%20length%20data
34
+ *
35
+ * Non-empty lists are encoded by prefixing the element stored with ‘0’ if this is the last element
36
+ * or ‘1’ if there is more data following.
37
+ *
38
+ * We encode Integers as a non-empty list of chunks, 7 bits each, with the least significant chunk
39
+ * first and the most significant bit first in the chunk.
40
+ */
41
+ static encodeBigIntAsVariableLengthBitStream(integer) {
42
+ assert(typeof integer === "bigint", "expected a bigint as input; got instance of type: " + typeof integer);
43
+ if (integer === BigInt(0))
44
+ return BitStream.fromBinStr("00000000");
45
+ assert(integer > BigInt(0), "'UPLCFlatUtils.encodeBigIntAsVariableLengthBitStream' can only encode non-negative integers; the given input was: " + integer.toString());
46
+ // store binary string for easy BitStream creation
47
+ const chunks = [];
48
+ let mask = BigInt(127);
49
+ // 1. Converting to binary
50
+ const nBits = BitUtils.getNOfUsedBits(integer);
51
+ for (let nAddedBits = 0; nAddedBits < nBits; nAddedBits += 7) {
52
+ // 3. Reorder chunks (least significant chunk first)
53
+ //
54
+ // push at the end because the mask starts from the last signigficat chunk first
55
+ // so chunk[1] is the second least significant and so on
56
+ chunks.push(
57
+ // 2. Split into 7 bit chunks
58
+ // take 7 bits
59
+ ((integer & mask)
60
+ // allign to the start
61
+ >> BigInt(nAddedBits))
62
+ // translate to biinary
63
+ .toString(2)
64
+ // make sure the bits are 7 in total
65
+ .padStart(7, '0'));
66
+ mask = mask << BigInt(7);
67
+ }
68
+ // 4. Add list constructor tags
69
+ for (let i = 0; i < chunks.length; i++) {
70
+ chunks[i] = (i === chunks.length - 1 ? '0' : '1') + chunks[i];
71
+ }
72
+ return BitStream.fromBinStr(chunks.join(''));
73
+ }
74
+ static getPadBitStream(n) {
75
+ assert(isInByteOffset(n), "addPadTo only works for pads from 0 inclusive to 7 inclusive");
76
+ if (n === 0) {
77
+ return BitStream.fromBinStr("1".padStart(8, '0'));
78
+ }
79
+ return BitStream.fromBinStr("1".padStart(n, '0'));
80
+ }
81
+ /**
82
+ * **_SIDE EFFECT_**: modifies the ```toPad``` ```BitStream``` passed as first argument
83
+ *
84
+ * @param toPad
85
+ * @param n
86
+ * @returns
87
+ */
88
+ static addPadTo(toPad, n) {
89
+ assert(BitStream.isStrictInstance(toPad), "BitStream strict instance expected as first argument in 'UPLCFlatUtils.addPadTo'");
90
+ toPad.append(UPLCFlatUtils.getPadBitStream(n));
91
+ return;
92
+ }
93
+ static get padToByteDefaultOptions() {
94
+ return Object.freeze({
95
+ onByteAllignedAddNewByte: true,
96
+ withOneAsEndPadding: true
97
+ });
98
+ }
99
+ /**
100
+ * **_SIDE EFFECT_**: modifies the ```toPad``` ```BitStream``` passed as first argument
101
+ *
102
+ * @param toPad
103
+ * @param options
104
+ * @returns
105
+ */
106
+ static padToByte(toPad, options) {
107
+ const opts = {
108
+ ...UPLCFlatUtils.padToByteDefaultOptions,
109
+ ...(options === undefined ? {} : options)
110
+ };
111
+ const nBitsMissingToByte = toPad.getNBitsMissingToByte();
112
+ if (nBitsMissingToByte === 0) {
113
+ if (opts.onByteAllignedAddNewByte) {
114
+ toPad.append(BitStream.fromBinStr((opts.withOneAsEndPadding ? "1" : "0").padStart(8, '0')));
115
+ }
116
+ else {
117
+ // do nothing, already alligned
118
+ }
119
+ return;
120
+ }
121
+ toPad.append(BitStream.fromBinStr((opts.withOneAsEndPadding ? "1" : "0").padStart(nBitsMissingToByte, '0')));
122
+ return;
123
+ }
124
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Removes elements from target that exist in source array.
3
+ * Assumes BOTH arrays are sorted in ascending order.
4
+ *
5
+ * @returns {string[]} reference to the **same** target array.
6
+ */
7
+ export declare function filterSortedStrArrInplace(target: string[], source: string[]): string[];
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Removes elements from target that exist in source array.
3
+ * Assumes BOTH arrays are sorted in ascending order.
4
+ *
5
+ * @returns {string[]} reference to the **same** target array.
6
+ */
7
+ export function filterSortedStrArrInplace(target, source) {
8
+ if (source.length === 0 || target.length === 0)
9
+ return target;
10
+ source = source.slice(); // copy to avoid modifying the original array
11
+ let elem;
12
+ let start = 0;
13
+ while (elem = source.shift()) {
14
+ // Early return if element is greater than last element in target
15
+ if (elem > target[target.length - 1])
16
+ return target;
17
+ const index = findElementIndex(target, elem, start);
18
+ if (index !== -1) {
19
+ target.splice(index, 1);
20
+ if (target.length === 0
21
+ || index >= target.length)
22
+ return target; // if target is empty, no need to continue
23
+ start = index; // reset start to the found index
24
+ }
25
+ }
26
+ return target;
27
+ }
28
+ /**
29
+ * Binary search to find the exact index of an element
30
+ * @returns the index of the element if found, -1 otherwise
31
+ */
32
+ function findElementIndex(target, elem, start = 0, end = target.length) {
33
+ if (start >= end)
34
+ return -1;
35
+ let mid;
36
+ while (start < end) {
37
+ mid = (start + end) >> 1;
38
+ if (target[mid] === elem)
39
+ return mid; // found exact match
40
+ if (target[mid] < elem)
41
+ start = mid + 1;
42
+ else
43
+ end = mid;
44
+ }
45
+ return -1; // not found
46
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * only keeps elements from target that exist in source array.
3
+ * Assumes BOTH arrays are sorted in ascending order.
4
+ *
5
+ * @returns {string[]} reference to the **same** target array.
6
+ */
7
+ export declare function keepSortedStrArrInplace(target: string[], source: string[]): string[];
@@ -0,0 +1,49 @@
1
+ /**
2
+ * only keeps elements from target that exist in source array.
3
+ * Assumes BOTH arrays are sorted in ascending order.
4
+ *
5
+ * @returns {string[]} reference to the **same** target array.
6
+ */
7
+ export function keepSortedStrArrInplace(target, source) {
8
+ if (source.length === 0) {
9
+ target.length = 0; // clear target if source is empty
10
+ return target;
11
+ }
12
+ if (target.length === 0)
13
+ return target; // nothing to keep if target is empty
14
+ source = source.slice(); // copy to avoid modifying the original array
15
+ let fstSrc = source.shift(); // get first element from source
16
+ for (let i = 0; i < target.length; i++) {
17
+ const elem = target[i];
18
+ if (elem === fstSrc) {
19
+ fstSrc = source.shift(); // get next element from source
20
+ if (!fstSrc) {
21
+ target.length = i + 1; // truncate target to current index
22
+ return target; // no more elements to keep
23
+ }
24
+ }
25
+ // not equal, remove the element
26
+ target.splice(i, 1);
27
+ i--; // adjust index since we removed an element
28
+ }
29
+ return target; // return the modified target array
30
+ }
31
+ /**
32
+ * Binary search to find the exact index of an element
33
+ * @returns the index of the element if found, -1 otherwise
34
+ */
35
+ function findElementIndex(target, elem, start = 0, end = target.length) {
36
+ if (start >= end)
37
+ return -1;
38
+ let mid;
39
+ while (start < end) {
40
+ mid = (start + end) >> 1;
41
+ if (target[mid] === elem)
42
+ return mid; // found exact match
43
+ if (target[mid] < elem)
44
+ start = mid + 1;
45
+ else
46
+ end = mid;
47
+ }
48
+ return -1; // not found
49
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * assumes BOTH arrays are sorted in ascending order
3
+ *
4
+ * @returns {string[]} reference to the **same** target array.
5
+ */
6
+ export declare function mergeSortedStrArrInplace(target: string[], source: string[]): string[];
@@ -0,0 +1,52 @@
1
+ /**
2
+ * assumes BOTH arrays are sorted in ascending order
3
+ *
4
+ * @returns {string[]} reference to the **same** target array.
5
+ */
6
+ export function mergeSortedStrArrInplace(target, source) {
7
+ if (source.length === 0)
8
+ return target;
9
+ if (target.length === 0) {
10
+ target.push(...source);
11
+ return target;
12
+ }
13
+ source = source.slice(); // copy to avoid modifying the original array
14
+ let start = 0;
15
+ let elem;
16
+ while (elem = source.shift())
17
+ start = insertUniqueSortedInpalce(target, elem, start) + 1;
18
+ return target;
19
+ }
20
+ /**
21
+ *
22
+ * @returns the position where the element was inserted (or where it was already present)
23
+ */
24
+ function insertUniqueSortedInpalce(target, elem, start = 0, end = target.length) {
25
+ if (start >= end) {
26
+ target.splice(end, 0, elem);
27
+ return end;
28
+ }
29
+ let mid;
30
+ while (start < end) {
31
+ mid = (start + end) >> 1;
32
+ if (target[mid] === elem)
33
+ return mid; // already exists, do nothing
34
+ if (target[mid] < elem) {
35
+ start = mid + 1;
36
+ if (target[start] > elem) {
37
+ target.splice(start, 0, elem);
38
+ return start;
39
+ }
40
+ }
41
+ else if (target[mid] > elem)
42
+ end = mid;
43
+ }
44
+ if (start === target.length) {
45
+ target.push(elem);
46
+ return start;
47
+ }
48
+ else {
49
+ target.unshift(elem);
50
+ return 0;
51
+ }
52
+ }
@@ -0,0 +1 @@
1
+ export declare function assert<T>(thing: T, message?: string): NonNullable<T>;
@@ -0,0 +1,5 @@
1
+ export function assert(thing, message = "TypeAssertion failed") {
2
+ if (!thing)
3
+ throw new Error(message);
4
+ return thing;
5
+ }
@@ -0,0 +1 @@
1
+ export declare function capitalize<str extends string>(s: str): Capitalize<str>;
@@ -0,0 +1,5 @@
1
+ export function capitalize(s) {
2
+ if (s.length === 0)
3
+ return s;
4
+ return (s[0].toUpperCase() + s.slice(1));
5
+ }
@@ -0,0 +1,37 @@
1
+ import { Head, Tail } from "./types.js";
2
+ export type CurriedFn<Args extends any[], Output> = Args extends [] ? () => Output : Args extends [infer Arg] ? (arg: Arg) => Output : Args extends [infer Arg1, infer Arg2, ...infer RestArgs] ? (arg: Arg1) => CurriedFn<[Arg2, ...RestArgs], Output> : Args extends [...infer Tys] ? (...args: Tys) => Output : never;
3
+ /**
4
+ * parametrized functions will have TypeParameters automatically substituted with ```any```
5
+ *
6
+ * > example:
7
+ * > ```ts
8
+ * > function ifThenElse<T>( cond: boolean, a: T, b: T ): T
9
+ * > {
10
+ * > return cond ? a : b;
11
+ * > }
12
+ * >
13
+ * > const cuffiedIf = curry( ifThenElse );
14
+ * > // type:
15
+ * > // ( arg: boolean ) => ( arg: any ) => ( arg: any ) => any
16
+ * > ```
17
+ *
18
+ * a workaround is to define a wrapper function ( ofthe translating to identity at runtime )
19
+ * with the fixed types:
20
+ * > ```ts
21
+ * > const ifNum = ( cond: boolean, a: number, b: number ) => ifThenElse( cond, a, b );
22
+ * >
23
+ * > const cuffiedIfNum = curry( ifNum );
24
+ * > // type:
25
+ * > // ( arg: boolean ) => ( arg: number ) => ( arg: number ) => number
26
+ * > ```
27
+ *
28
+ * but at this point it would be probably faster and easier to directly vrite the curried version:
29
+ * > ```ts
30
+ * > const curriedIfNumFaster = ( cond: boolean ) => ( a: number ) => ( b: number ) => ifThenElse( cond, a, b );
31
+ * > // type:
32
+ * > // ( arg: boolean ) => ( arg: number ) => ( arg: number ) => number
33
+ * > ```
34
+ *
35
+ */
36
+ export declare function curry<Args extends any[], Output>(fn: (...args: Args) => Output): CurriedFn<Args, Output>;
37
+ export declare function curryFirst<Args extends [any, ...any[]], Output>(fn: (arg1: Head<Args>, ...args: Tail<Args>) => Output): (arg1: Head<Args>) => (...args: Tail<Args>) => Output;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * parametrized functions will have TypeParameters automatically substituted with ```any```
3
+ *
4
+ * > example:
5
+ * > ```ts
6
+ * > function ifThenElse<T>( cond: boolean, a: T, b: T ): T
7
+ * > {
8
+ * > return cond ? a : b;
9
+ * > }
10
+ * >
11
+ * > const cuffiedIf = curry( ifThenElse );
12
+ * > // type:
13
+ * > // ( arg: boolean ) => ( arg: any ) => ( arg: any ) => any
14
+ * > ```
15
+ *
16
+ * a workaround is to define a wrapper function ( ofthe translating to identity at runtime )
17
+ * with the fixed types:
18
+ * > ```ts
19
+ * > const ifNum = ( cond: boolean, a: number, b: number ) => ifThenElse( cond, a, b );
20
+ * >
21
+ * > const cuffiedIfNum = curry( ifNum );
22
+ * > // type:
23
+ * > // ( arg: boolean ) => ( arg: number ) => ( arg: number ) => number
24
+ * > ```
25
+ *
26
+ * but at this point it would be probably faster and easier to directly vrite the curried version:
27
+ * > ```ts
28
+ * > const curriedIfNumFaster = ( cond: boolean ) => ( a: number ) => ( b: number ) => ifThenElse( cond, a, b );
29
+ * > // type:
30
+ * > // ( arg: boolean ) => ( arg: number ) => ( arg: number ) => number
31
+ * > ```
32
+ *
33
+ */
34
+ export function curry(fn) {
35
+ if (fn.length === 0)
36
+ return ((...restArgs) => fn(...restArgs));
37
+ function curryMem(uncurried, argsMem, lastCallRest) {
38
+ if (argsMem.length === uncurried.length) {
39
+ return uncurried(...argsMem, ...lastCallRest);
40
+ }
41
+ return (arg, ...rest) => curryMem(uncurried, [...argsMem, arg], rest);
42
+ }
43
+ return curryMem(fn, [], []);
44
+ }
45
+ export function curryFirst(fn) {
46
+ if (fn.length === 0)
47
+ return (() => fn());
48
+ if (fn.length === 1)
49
+ return ((arg) => fn(arg));
50
+ /*
51
+ !!! IMPORTANT !!!
52
+
53
+ return ( arg: Head<Args> ) => ( ...args: Tail<Args> ) => fn( arg, ...args )
54
+
55
+ doesn't work because ```( ...args: Tail<Args> ) => ...``` has ```length``` of ```0```
56
+ */
57
+ if (fn.length === 2)
58
+ return (arg) => ((args_0) => fn(arg, ...[args_0]));
59
+ if (fn.length === 3)
60
+ return (arg) => ((args_0, args_1) => fn(arg, ...[args_0, args_1]));
61
+ if (fn.length === 4)
62
+ return (arg) => ((args_0, args_1, args_2) => fn(arg, ...[args_0, args_1, args_2]));
63
+ if (fn.length === 5)
64
+ return (arg) => ((args_0, args_1, args_2, args_3) => fn(arg, ...[args_0, args_1, args_2, args_3]));
65
+ if (fn.length === 6)
66
+ return (arg) => ((args_0, args_1, args_2, args_3, args_4) => fn(arg, ...[args_0, args_1, args_2, args_3, args_4]));
67
+ if (fn.length === 7)
68
+ return (arg) => ((args_0, args_1, args_2, args_3, args_4, args_5) => fn(arg, ...[args_0, args_1, args_2, args_3, args_4, args_5]));
69
+ if (fn.length === 8)
70
+ return (arg) => ((args_0, args_1, args_2, args_3, args_4, args_5, args_6) => fn(arg, ...[args_0, args_1, args_2, args_3, args_4, args_5, args_6]));
71
+ if (fn.length === 9)
72
+ return (arg) => ((args_0, args_1, args_2, args_3, args_4, args_5, args_6, args_7) => fn(arg, ...[args_0, args_1, args_2, args_3, args_4, args_5, args_6, args_7]));
73
+ if (fn.length === 10)
74
+ return (arg) => ((args_0, args_1, args_2, args_3, args_4, args_5, args_6, args_7, args_8) => fn(arg, ...[args_0, args_1, args_2, args_3, args_4, args_5, args_6, args_7, args_8]));
75
+ throw new Error("functions with more thatn 10 parameters not supported for conversion; try gruping paramters in structured types");
76
+ }
@@ -0,0 +1,43 @@
1
+ export type CallStackSiteInfos = {
2
+ /** raw call stack line as it is reported in `new Error().stack */
3
+ __line__: string;
4
+ inferredName?: string | undefined;
5
+ path: string;
6
+ line: number | undefined;
7
+ column: number | undefined;
8
+ once: (evt: "inferredName", listener: (inferredName: string) => any) => void;
9
+ dispatchEvent: (evt: "inferredName", inferredName: string) => void;
10
+ };
11
+ export interface GetCallStackAtOptions {
12
+ /**
13
+ * if `inferredName` was not already present in the stack trace
14
+ * tries to parse the file (using `fetch`) indicated by the stack trace
15
+ *
16
+ * **if found**, `inferredName` will be modified i the reference present in the object returned
17
+ *
18
+ * @default false
19
+ **/
20
+ tryGetNameAsync?: boolean;
21
+ /**
22
+ * automatically add callback once the name is inferred
23
+ **/
24
+ onNameInferred?: (inferredName: string) => void;
25
+ }
26
+ export declare const defaultGetCallStackAtOptions: GetCallStackAtOptions;
27
+ /**
28
+ *
29
+ * @param n index of an array tha looks like this
30
+ * ```ts
31
+ * [
32
+ * "Error: ",
33
+ * " at getCallStackAt path/to/this/file.ts 10:17",
34
+ * " at someCallerFunction path/to/caller/file.ts line:column",
35
+ * " at callerCallerFunction path/to/callerCaller/file.ts line:column",
36
+ * " at just/some/path/to/some/caller.ts line:column",
37
+ * " at someOtherFunction path/to/something.ts line:column",
38
+ * ...rest_of_call_stack
39
+ * ]
40
+ * ```
41
+ * @returns
42
+ */
43
+ export declare function getCallStackAt(n?: number, opts?: GetCallStackAtOptions): CallStackSiteInfos | undefined;