@jspicl/core 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +112 -0
  3. package/dist/ast/declarations/classDeclaration.d.ts +4 -0
  4. package/dist/ast/declarations/classDeclaration.d.ts.map +1 -0
  5. package/dist/ast/declarations/classDeclaration.js +8 -0
  6. package/dist/ast/declarations/classDeclaration.js.map +1 -0
  7. package/dist/ast/declarations/functionDeclaration.d.ts +3 -0
  8. package/dist/ast/declarations/functionDeclaration.d.ts.map +1 -0
  9. package/dist/ast/declarations/functionDeclaration.js +49 -0
  10. package/dist/ast/declarations/functionDeclaration.js.map +1 -0
  11. package/dist/ast/declarations/index.d.ts +5 -0
  12. package/dist/ast/declarations/index.d.ts.map +1 -0
  13. package/dist/ast/declarations/index.js +5 -0
  14. package/dist/ast/declarations/index.js.map +1 -0
  15. package/dist/ast/declarations/variableDeclaration.d.ts +4 -0
  16. package/dist/ast/declarations/variableDeclaration.d.ts.map +1 -0
  17. package/dist/ast/declarations/variableDeclaration.js +3 -0
  18. package/dist/ast/declarations/variableDeclaration.js.map +1 -0
  19. package/dist/ast/declarations/variableDeclarator.d.ts +4 -0
  20. package/dist/ast/declarations/variableDeclarator.d.ts.map +1 -0
  21. package/dist/ast/declarations/variableDeclarator.js +13 -0
  22. package/dist/ast/declarations/variableDeclarator.js.map +1 -0
  23. package/dist/ast/expressions/arrayExpression.d.ts +4 -0
  24. package/dist/ast/expressions/arrayExpression.d.ts.map +1 -0
  25. package/dist/ast/expressions/arrayExpression.js +5 -0
  26. package/dist/ast/expressions/arrayExpression.js.map +1 -0
  27. package/dist/ast/expressions/arrowFunctionExpression.d.ts +4 -0
  28. package/dist/ast/expressions/arrowFunctionExpression.d.ts.map +1 -0
  29. package/dist/ast/expressions/arrowFunctionExpression.js +29 -0
  30. package/dist/ast/expressions/arrowFunctionExpression.js.map +1 -0
  31. package/dist/ast/expressions/assignmentExpression.d.ts +4 -0
  32. package/dist/ast/expressions/assignmentExpression.d.ts.map +1 -0
  33. package/dist/ast/expressions/assignmentExpression.js +7 -0
  34. package/dist/ast/expressions/assignmentExpression.js.map +1 -0
  35. package/dist/ast/expressions/binaryExpression.d.ts +4 -0
  36. package/dist/ast/expressions/binaryExpression.d.ts.map +1 -0
  37. package/dist/ast/expressions/binaryExpression.js +20 -0
  38. package/dist/ast/expressions/binaryExpression.js.map +1 -0
  39. package/dist/ast/expressions/callExpression.d.ts +4 -0
  40. package/dist/ast/expressions/callExpression.d.ts.map +1 -0
  41. package/dist/ast/expressions/callExpression.js +14 -0
  42. package/dist/ast/expressions/callExpression.js.map +1 -0
  43. package/dist/ast/expressions/classBody.d.ts +4 -0
  44. package/dist/ast/expressions/classBody.d.ts.map +1 -0
  45. package/dist/ast/expressions/classBody.js +5 -0
  46. package/dist/ast/expressions/classBody.js.map +1 -0
  47. package/dist/ast/expressions/conditionalExpression.d.ts +4 -0
  48. package/dist/ast/expressions/conditionalExpression.d.ts.map +1 -0
  49. package/dist/ast/expressions/conditionalExpression.js +8 -0
  50. package/dist/ast/expressions/conditionalExpression.js.map +1 -0
  51. package/dist/ast/expressions/functionExpression.d.ts +4 -0
  52. package/dist/ast/expressions/functionExpression.d.ts.map +1 -0
  53. package/dist/ast/expressions/functionExpression.js +17 -0
  54. package/dist/ast/expressions/functionExpression.js.map +1 -0
  55. package/dist/ast/expressions/identifier.d.ts +4 -0
  56. package/dist/ast/expressions/identifier.d.ts.map +1 -0
  57. package/dist/ast/expressions/identifier.js +11 -0
  58. package/dist/ast/expressions/identifier.js.map +1 -0
  59. package/dist/ast/expressions/index.d.ts +21 -0
  60. package/dist/ast/expressions/index.d.ts.map +1 -0
  61. package/dist/ast/expressions/index.js +21 -0
  62. package/dist/ast/expressions/index.js.map +1 -0
  63. package/dist/ast/expressions/literal.d.ts +4 -0
  64. package/dist/ast/expressions/literal.d.ts.map +1 -0
  65. package/dist/ast/expressions/literal.js +11 -0
  66. package/dist/ast/expressions/literal.js.map +1 -0
  67. package/dist/ast/expressions/logicalExpression.d.ts +4 -0
  68. package/dist/ast/expressions/logicalExpression.d.ts.map +1 -0
  69. package/dist/ast/expressions/logicalExpression.js +9 -0
  70. package/dist/ast/expressions/logicalExpression.js.map +1 -0
  71. package/dist/ast/expressions/memberExpression.d.ts +4 -0
  72. package/dist/ast/expressions/memberExpression.d.ts.map +1 -0
  73. package/dist/ast/expressions/memberExpression.js +4 -0
  74. package/dist/ast/expressions/memberExpression.js.map +1 -0
  75. package/dist/ast/expressions/methodDefinition.d.ts +4 -0
  76. package/dist/ast/expressions/methodDefinition.d.ts.map +1 -0
  77. package/dist/ast/expressions/methodDefinition.js +3 -0
  78. package/dist/ast/expressions/methodDefinition.js.map +1 -0
  79. package/dist/ast/expressions/newExpression.d.ts +4 -0
  80. package/dist/ast/expressions/newExpression.d.ts.map +1 -0
  81. package/dist/ast/expressions/newExpression.js +7 -0
  82. package/dist/ast/expressions/newExpression.js.map +1 -0
  83. package/dist/ast/expressions/objectExpression.d.ts +4 -0
  84. package/dist/ast/expressions/objectExpression.d.ts.map +1 -0
  85. package/dist/ast/expressions/objectExpression.js +5 -0
  86. package/dist/ast/expressions/objectExpression.js.map +1 -0
  87. package/dist/ast/expressions/property.d.ts +4 -0
  88. package/dist/ast/expressions/property.d.ts.map +1 -0
  89. package/dist/ast/expressions/property.js +8 -0
  90. package/dist/ast/expressions/property.js.map +1 -0
  91. package/dist/ast/expressions/sequenceExpression.d.ts +4 -0
  92. package/dist/ast/expressions/sequenceExpression.d.ts.map +1 -0
  93. package/dist/ast/expressions/sequenceExpression.js +3 -0
  94. package/dist/ast/expressions/sequenceExpression.js.map +1 -0
  95. package/dist/ast/expressions/thisExpression.d.ts +4 -0
  96. package/dist/ast/expressions/thisExpression.d.ts.map +1 -0
  97. package/dist/ast/expressions/thisExpression.js +3 -0
  98. package/dist/ast/expressions/thisExpression.js.map +1 -0
  99. package/dist/ast/expressions/unaryExpression.d.ts +4 -0
  100. package/dist/ast/expressions/unaryExpression.d.ts.map +1 -0
  101. package/dist/ast/expressions/unaryExpression.js +10 -0
  102. package/dist/ast/expressions/unaryExpression.js.map +1 -0
  103. package/dist/ast/expressions/updateExpression.d.ts +4 -0
  104. package/dist/ast/expressions/updateExpression.d.ts.map +1 -0
  105. package/dist/ast/expressions/updateExpression.js +6 -0
  106. package/dist/ast/expressions/updateExpression.js.map +1 -0
  107. package/dist/ast/index.d.ts +4 -0
  108. package/dist/ast/index.d.ts.map +1 -0
  109. package/dist/ast/index.js +4 -0
  110. package/dist/ast/index.js.map +1 -0
  111. package/dist/ast/statements/blockStatement.d.ts +4 -0
  112. package/dist/ast/statements/blockStatement.d.ts.map +1 -0
  113. package/dist/ast/statements/blockStatement.js +4 -0
  114. package/dist/ast/statements/blockStatement.js.map +1 -0
  115. package/dist/ast/statements/breakStatement.d.ts +4 -0
  116. package/dist/ast/statements/breakStatement.d.ts.map +1 -0
  117. package/dist/ast/statements/breakStatement.js +3 -0
  118. package/dist/ast/statements/breakStatement.js.map +1 -0
  119. package/dist/ast/statements/doWhileStatement.d.ts +4 -0
  120. package/dist/ast/statements/doWhileStatement.d.ts.map +1 -0
  121. package/dist/ast/statements/doWhileStatement.js +5 -0
  122. package/dist/ast/statements/doWhileStatement.js.map +1 -0
  123. package/dist/ast/statements/emptyStatement.d.ts +4 -0
  124. package/dist/ast/statements/emptyStatement.d.ts.map +1 -0
  125. package/dist/ast/statements/emptyStatement.js +3 -0
  126. package/dist/ast/statements/emptyStatement.js.map +1 -0
  127. package/dist/ast/statements/expressionStatement.d.ts +4 -0
  128. package/dist/ast/statements/expressionStatement.d.ts.map +1 -0
  129. package/dist/ast/statements/expressionStatement.js +6 -0
  130. package/dist/ast/statements/expressionStatement.js.map +1 -0
  131. package/dist/ast/statements/forStatement.d.ts +4 -0
  132. package/dist/ast/statements/forStatement.d.ts.map +1 -0
  133. package/dist/ast/statements/forStatement.js +7 -0
  134. package/dist/ast/statements/forStatement.js.map +1 -0
  135. package/dist/ast/statements/ifStatement.d.ts +5 -0
  136. package/dist/ast/statements/ifStatement.d.ts.map +1 -0
  137. package/dist/ast/statements/ifStatement.js +18 -0
  138. package/dist/ast/statements/ifStatement.js.map +1 -0
  139. package/dist/ast/statements/index.d.ts +13 -0
  140. package/dist/ast/statements/index.d.ts.map +1 -0
  141. package/dist/ast/statements/index.js +13 -0
  142. package/dist/ast/statements/index.js.map +1 -0
  143. package/dist/ast/statements/returnStatement.d.ts +4 -0
  144. package/dist/ast/statements/returnStatement.d.ts.map +1 -0
  145. package/dist/ast/statements/returnStatement.js +6 -0
  146. package/dist/ast/statements/returnStatement.js.map +1 -0
  147. package/dist/ast/statements/switchCase.d.ts +4 -0
  148. package/dist/ast/statements/switchCase.d.ts.map +1 -0
  149. package/dist/ast/statements/switchCase.js +15 -0
  150. package/dist/ast/statements/switchCase.js.map +1 -0
  151. package/dist/ast/statements/switchStatement.d.ts +4 -0
  152. package/dist/ast/statements/switchStatement.d.ts.map +1 -0
  153. package/dist/ast/statements/switchStatement.js +13 -0
  154. package/dist/ast/statements/switchStatement.js.map +1 -0
  155. package/dist/ast/statements/throwStatement.d.ts +4 -0
  156. package/dist/ast/statements/throwStatement.d.ts.map +1 -0
  157. package/dist/ast/statements/throwStatement.js +9 -0
  158. package/dist/ast/statements/throwStatement.js.map +1 -0
  159. package/dist/ast/statements/whileStatement.d.ts +4 -0
  160. package/dist/ast/statements/whileStatement.d.ts.map +1 -0
  161. package/dist/ast/statements/whileStatement.js +5 -0
  162. package/dist/ast/statements/whileStatement.js.map +1 -0
  163. package/dist/index.d.ts +2 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +2 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/jspicl.d.ts +3 -0
  168. package/dist/jspicl.d.ts.map +1 -0
  169. package/dist/jspicl.js +24 -0
  170. package/dist/jspicl.js.map +1 -0
  171. package/dist/polyfills/constants.d.ts +3 -0
  172. package/dist/polyfills/constants.d.ts.map +1 -0
  173. package/dist/polyfills/constants.js +34 -0
  174. package/dist/polyfills/constants.js.map +1 -0
  175. package/dist/polyfills/defaultImplementations/_assign.d.ts +2 -0
  176. package/dist/polyfills/defaultImplementations/_assign.d.ts.map +1 -0
  177. package/dist/polyfills/defaultImplementations/_assign.js +14 -0
  178. package/dist/polyfills/defaultImplementations/_assign.js.map +1 -0
  179. package/dist/polyfills/defaultImplementations/_filter.d.ts +2 -0
  180. package/dist/polyfills/defaultImplementations/_filter.d.ts.map +1 -0
  181. package/dist/polyfills/defaultImplementations/_filter.js +13 -0
  182. package/dist/polyfills/defaultImplementations/_filter.js.map +1 -0
  183. package/dist/polyfills/defaultImplementations/_findindex.d.ts +2 -0
  184. package/dist/polyfills/defaultImplementations/_findindex.d.ts.map +1 -0
  185. package/dist/polyfills/defaultImplementations/_findindex.js +8 -0
  186. package/dist/polyfills/defaultImplementations/_findindex.js.map +1 -0
  187. package/dist/polyfills/defaultImplementations/_includes.d.ts +2 -0
  188. package/dist/polyfills/defaultImplementations/_includes.d.ts.map +1 -0
  189. package/dist/polyfills/defaultImplementations/_includes.js +12 -0
  190. package/dist/polyfills/defaultImplementations/_includes.js.map +1 -0
  191. package/dist/polyfills/defaultImplementations/_join.d.ts +2 -0
  192. package/dist/polyfills/defaultImplementations/_join.d.ts.map +1 -0
  193. package/dist/polyfills/defaultImplementations/_join.js +16 -0
  194. package/dist/polyfills/defaultImplementations/_join.js.map +1 -0
  195. package/dist/polyfills/defaultImplementations/_map.d.ts +2 -0
  196. package/dist/polyfills/defaultImplementations/_map.d.ts.map +1 -0
  197. package/dist/polyfills/defaultImplementations/_map.js +11 -0
  198. package/dist/polyfills/defaultImplementations/_map.js.map +1 -0
  199. package/dist/polyfills/defaultImplementations/_objmap.d.ts +2 -0
  200. package/dist/polyfills/defaultImplementations/_objmap.d.ts.map +1 -0
  201. package/dist/polyfills/defaultImplementations/_objmap.js +23 -0
  202. package/dist/polyfills/defaultImplementations/_objmap.js.map +1 -0
  203. package/dist/polyfills/defaultImplementations/_pop.d.ts +2 -0
  204. package/dist/polyfills/defaultImplementations/_pop.d.ts.map +1 -0
  205. package/dist/polyfills/defaultImplementations/_pop.js +7 -0
  206. package/dist/polyfills/defaultImplementations/_pop.js.map +1 -0
  207. package/dist/polyfills/defaultImplementations/_reduce.d.ts +2 -0
  208. package/dist/polyfills/defaultImplementations/_reduce.d.ts.map +1 -0
  209. package/dist/polyfills/defaultImplementations/_reduce.js +17 -0
  210. package/dist/polyfills/defaultImplementations/_reduce.js.map +1 -0
  211. package/dist/polyfills/defaultImplementations/_sort.d.ts +2 -0
  212. package/dist/polyfills/defaultImplementations/_sort.d.ts.map +1 -0
  213. package/dist/polyfills/defaultImplementations/_sort.js +23 -0
  214. package/dist/polyfills/defaultImplementations/_sort.js.map +1 -0
  215. package/dist/polyfills/defaultImplementations/_split.d.ts +2 -0
  216. package/dist/polyfills/defaultImplementations/_split.d.ts.map +1 -0
  217. package/dist/polyfills/defaultImplementations/_split.js +27 -0
  218. package/dist/polyfills/defaultImplementations/_split.js.map +1 -0
  219. package/dist/polyfills/defaultImplementations/_substr.d.ts +2 -0
  220. package/dist/polyfills/defaultImplementations/_substr.d.ts.map +1 -0
  221. package/dist/polyfills/defaultImplementations/_substr.js +5 -0
  222. package/dist/polyfills/defaultImplementations/_substr.js.map +1 -0
  223. package/dist/polyfills/defaultImplementations/_substring.d.ts +2 -0
  224. package/dist/polyfills/defaultImplementations/_substring.d.ts.map +1 -0
  225. package/dist/polyfills/defaultImplementations/_substring.js +5 -0
  226. package/dist/polyfills/defaultImplementations/_substring.js.map +1 -0
  227. package/dist/polyfills/defaultImplementations/_tostring.d.ts +2 -0
  228. package/dist/polyfills/defaultImplementations/_tostring.d.ts.map +1 -0
  229. package/dist/polyfills/defaultImplementations/_tostring.js +32 -0
  230. package/dist/polyfills/defaultImplementations/_tostring.js.map +1 -0
  231. package/dist/polyfills/defaultImplementations/index.d.ts +15 -0
  232. package/dist/polyfills/defaultImplementations/index.d.ts.map +1 -0
  233. package/dist/polyfills/defaultImplementations/index.js +15 -0
  234. package/dist/polyfills/defaultImplementations/index.js.map +1 -0
  235. package/dist/polyfills/getPolyfilledCallExpression.d.ts +9 -0
  236. package/dist/polyfills/getPolyfilledCallExpression.d.ts.map +1 -0
  237. package/dist/polyfills/getPolyfilledCallExpression.js +17 -0
  238. package/dist/polyfills/getPolyfilledCallExpression.js.map +1 -0
  239. package/dist/polyfills/getPolyfilledMemberExpression.d.ts +10 -0
  240. package/dist/polyfills/getPolyfilledMemberExpression.d.ts.map +1 -0
  241. package/dist/polyfills/getPolyfilledMemberExpression.js +13 -0
  242. package/dist/polyfills/getPolyfilledMemberExpression.js.map +1 -0
  243. package/dist/polyfills/getRequiredPolyfills.d.ts +2 -0
  244. package/dist/polyfills/getRequiredPolyfills.d.ts.map +1 -0
  245. package/dist/polyfills/getRequiredPolyfills.js +15 -0
  246. package/dist/polyfills/getRequiredPolyfills.js.map +1 -0
  247. package/dist/prettify.d.ts +2 -0
  248. package/dist/prettify.d.ts.map +1 -0
  249. package/dist/prettify.js +42 -0
  250. package/dist/prettify.js.map +1 -0
  251. package/dist/transpile.d.ts +3 -0
  252. package/dist/transpile.d.ts.map +1 -0
  253. package/dist/transpile.js +12 -0
  254. package/dist/transpile.js.map +1 -0
  255. package/dist/types.d.ts +22 -0
  256. package/dist/types.d.ts.map +1 -0
  257. package/dist/types.js +2 -0
  258. package/dist/types.js.map +1 -0
  259. package/dist/utils/assert.d.ts +2 -0
  260. package/dist/utils/assert.d.ts.map +1 -0
  261. package/dist/utils/assert.js +6 -0
  262. package/dist/utils/assert.js.map +1 -0
  263. package/dist/utils/declareVariable.d.ts +6 -0
  264. package/dist/utils/declareVariable.d.ts.map +1 -0
  265. package/dist/utils/declareVariable.js +33 -0
  266. package/dist/utils/declareVariable.js.map +1 -0
  267. package/dist/utils/normalizeName.d.ts +2 -0
  268. package/dist/utils/normalizeName.d.ts.map +1 -0
  269. package/dist/utils/normalizeName.js +4 -0
  270. package/dist/utils/normalizeName.js.map +1 -0
  271. package/dist/utils/wrapWithParantheses.d.ts +2 -0
  272. package/dist/utils/wrapWithParantheses.d.ts.map +1 -0
  273. package/dist/utils/wrapWithParantheses.js +4 -0
  274. package/dist/utils/wrapWithParantheses.js.map +1 -0
  275. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPolyfilledCallExpression.js","sourceRoot":"","sources":["../../src/polyfills/getPolyfilledCallExpression.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAQpE,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACvE,MAAM,EAAC,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC;IAEpD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;QACtD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,IACE,OAAO;QACP,YAAY;QACZ,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,EAC7C,CAAC;QACD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,GAAG,cAAc,IAAI,YAAY,GAAG,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { TranspileFunction } from "trastpiler";
2
+ type MemberExpressionArgument = {
3
+ transpile: TranspileFunction;
4
+ computed: boolean;
5
+ object: any;
6
+ property: any;
7
+ };
8
+ export declare function getPolyfilledMemberExpression({ transpile, computed, object, property }: MemberExpressionArgument): string;
9
+ export {};
10
+ //# sourceMappingURL=getPolyfilledMemberExpression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPolyfilledMemberExpression.d.ts","sourceRoot":"","sources":["../../src/polyfills/getPolyfilledMemberExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAGlD,KAAK,wBAAwB,GAAG;IAC9B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,EAC5C,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACT,EAAE,wBAAwB,UAY1B"}
@@ -0,0 +1,13 @@
1
+ import { arrayPolyfillMap } from "./constants.js";
2
+ export function getPolyfilledMemberExpression({ transpile, computed, object, property }) {
3
+ const objectName = transpile(object);
4
+ const propertyName = transpile(property);
5
+ // TODO: Check metadata to determine where to look for the polyfill
6
+ if (arrayPolyfillMap.hasOwnProperty(propertyName)) {
7
+ return arrayPolyfillMap[propertyName](objectName, "");
8
+ }
9
+ return computed
10
+ ? `${objectName}[${propertyName}]`
11
+ : `${objectName}.${propertyName}`;
12
+ }
13
+ //# sourceMappingURL=getPolyfilledMemberExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPolyfilledMemberExpression.js","sourceRoot":"","sources":["../../src/polyfills/getPolyfilledMemberExpression.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAShD,MAAM,UAAU,6BAA6B,CAAC,EAC5C,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACiB;IACzB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEzC,mEAAmE;IACnE,IAAI,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,QAAQ;QACb,CAAC,CAAC,GAAG,UAAU,IAAI,YAAY,GAAG;QAClC,CAAC,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getRequiredPolyfills(luaCode: string): Record<string, string>;
2
+ //# sourceMappingURL=getRequiredPolyfills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRequiredPolyfills.d.ts","sourceRoot":"","sources":["../../src/polyfills/getRequiredPolyfills.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,0BAenD"}
@@ -0,0 +1,15 @@
1
+ import * as defaultPolyfillImplementations from "./defaultImplementations/index.js";
2
+ const polyfillMatcher = /(?<!\.)\b_\w+\(/g;
3
+ export function getRequiredPolyfills(luaCode) {
4
+ // Scan through the code to find polyfilled methods that are prefixed
5
+ // in a particular way(e.g._filter())
6
+ const detectedPolyfills = new Set(luaCode.match(polyfillMatcher));
7
+ const implementations = defaultPolyfillImplementations;
8
+ return Array.from(detectedPolyfills).reduce((result, match) => {
9
+ // Remove the '(' character from the match
10
+ const polyfillId = match.substr(0, match.length - 1);
11
+ result[polyfillId] = implementations[polyfillId];
12
+ return result;
13
+ }, {});
14
+ }
15
+ //# sourceMappingURL=getRequiredPolyfills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRequiredPolyfills.js","sourceRoot":"","sources":["../../src/polyfills/getRequiredPolyfills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,8BAA8B,MAAM,mCAAmC,CAAC;AACpF,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,qEAAqE;IACrE,qCAAqC;IACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,8BAGvB,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC5D,0CAA0C;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAA4B,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function prettify(luaCode: string): string;
2
+ //# sourceMappingURL=prettify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettify.d.ts","sourceRoot":"","sources":["../src/prettify.ts"],"names":[],"mappings":"AAqBA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,UAkCvC"}
@@ -0,0 +1,42 @@
1
+ const indentIncrease = [
2
+ (line) => /^\bfor\b\s/.test(line),
3
+ (line) => /^\bforeach\b/.test(line) && !/\)$/.test(line),
4
+ (line) => /\bfunction\b/.test(line),
5
+ (line) => /^\bif\b\s/.test(line) && /\bthen\b$/.test(line),
6
+ (line) => /^while\s/.test(line),
7
+ (line) => /^repeat\s/.test(line),
8
+ (line) => /{$/.test(line),
9
+ (line) => /\bthen\b$/.test(line)
10
+ ];
11
+ const indentDecrease = [
12
+ (line) => /^end[)]?/.test(line),
13
+ (line) => /end$/.test(line),
14
+ (line) => /^else/.test(line),
15
+ // line => /^{/.test(line),
16
+ (line) => /^}/.test(line)
17
+ ];
18
+ export function prettify(luaCode) {
19
+ const lines = luaCode.split("\n").map((line) => line.trim());
20
+ const { code } = lines.reduce((result, line) => {
21
+ const { code, indentation } = result;
22
+ let currentIndentation = indentation;
23
+ let nextLineIndentation = indentation;
24
+ if (indentIncrease.some((entry) => entry(line))) {
25
+ nextLineIndentation++;
26
+ }
27
+ if (indentDecrease.some((entry) => entry(line))) {
28
+ currentIndentation--;
29
+ nextLineIndentation--;
30
+ }
31
+ code.push((line && line.padStart(line.length + currentIndentation * 2)) || line);
32
+ return {
33
+ code,
34
+ indentation: Math.max(0, nextLineIndentation)
35
+ };
36
+ }, {
37
+ code: [],
38
+ indentation: 0
39
+ });
40
+ return code.join("\n");
41
+ }
42
+ //# sourceMappingURL=prettify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettify.js","sourceRoot":"","sources":["../src/prettify.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAqB;IACvC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACxD,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1D,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,cAAc,GAAqB;IACvC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,2BAA2B;IAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,MAAM,CACzB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACf,MAAM,EAAC,IAAI,EAAE,WAAW,EAAC,GAAG,MAAM,CAAC;QACnC,IAAI,kBAAkB,GAAG,WAAW,CAAC;QACrC,IAAI,mBAAmB,GAAG,WAAW,CAAC;QAEtC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAChD,mBAAmB,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAChD,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,IAAI,CACP,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CACtE,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;SAC9C,CAAC;IACJ,CAAC,EACD;QACE,IAAI,EAAE,EAAc;QACpB,WAAW,EAAE,CAAC;KACf,CACF,CAAC;IAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Handlers } from "trastpiler";
2
+ export declare function createJspiclTranspiler(customMappers?: Handlers, initialScopeData?: Record<string, any>): import("trastpiler").TranspileFunction;
3
+ //# sourceMappingURL=transpile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,QAAQ,EAAC,MAAM,YAAY,CAAC;AAG3D,wBAAgB,sBAAsB,CACpC,aAAa,CAAC,EAAE,QAAQ,EACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,0CASvC"}
@@ -0,0 +1,12 @@
1
+ import { createTranspiler } from "trastpiler";
2
+ import * as defaultMappers from "./ast/index.js";
3
+ export function createJspiclTranspiler(customMappers, initialScopeData) {
4
+ return createTranspiler({
5
+ initialScopeData,
6
+ handlers: {
7
+ ...defaultMappers,
8
+ ...customMappers
9
+ }
10
+ });
11
+ }
12
+ //# sourceMappingURL=transpile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../src/transpile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,sBAAsB,CACpC,aAAwB,EACxB,gBAAsC;IAEtC,OAAO,gBAAgB,CAAC;QACtB,gBAAgB;QAChB,QAAQ,EAAE;YACR,GAAI,cAAsC;YAC1C,GAAG,aAAa;SACjB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { ASTNode as GenericASTNode, TranspileFunction } from "trastpiler";
2
+ export type ASTNode = Expression | Statement | Declaration | BindingPattern | GenericASTNode;
3
+ export type Options = {
4
+ prettify?: boolean;
5
+ customMappers?: Record<string, AstNodeVisitor>;
6
+ };
7
+ export type Output = {
8
+ code: string;
9
+ polyfills: Record<string, string>;
10
+ };
11
+ export type AstNodeVisitorOptions = {
12
+ transpile: TranspileFunction;
13
+ scope: {
14
+ variables: Record<string, any>;
15
+ [key: string]: any;
16
+ };
17
+ };
18
+ export type AstNodeVisitor<T extends ASTNode = GenericASTNode> = {
19
+ (node: T, options: AstNodeVisitorOptions): string;
20
+ scopeBoundary?: boolean;
21
+ };
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,IAAI,cAAc,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAE7E,MAAM,MAAM,OAAO,GACf,UAAU,GACV,SAAS,GACT,WAAW,GACX,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,cAAc,IAAI;IAC/D,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function assert(condition: boolean, message?: string): void;
2
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/utils/assert.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,SAAqB,QAItE"}
@@ -0,0 +1,6 @@
1
+ export function assert(condition, message = "Assertion failed") {
2
+ if (!condition) {
3
+ throw new Error(message);
4
+ }
5
+ }
6
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/utils/assert.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,OAAO,GAAG,kBAAkB;IACrE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { TranspileFunction } from "trastpiler";
2
+ import type { AstNodeVisitorOptions } from "../types.js";
3
+ export declare function declareVariable(name: string, value: string, scope: AstNodeVisitorOptions["scope"]): string;
4
+ export declare function declareLocalVariablesForObjectPattern(node: ObjectPattern, parent: string, scope: AstNodeVisitorOptions["scope"], transpile: TranspileFunction): string;
5
+ export declare function declareLocalVariablesForArrayPattern(node: ArrayPattern, parent: string, scope: AstNodeVisitorOptions["scope"], transpile: TranspileFunction): string;
6
+ //# sourceMappingURL=declareVariable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declareVariable.d.ts","sourceRoot":"","sources":["../../src/utils/declareVariable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAGvD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACpC,MAAM,CAIR;AAED,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACrC,SAAS,EAAE,iBAAiB,GAC3B,MAAM,CAqBR;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACrC,SAAS,EAAE,iBAAiB,GAC3B,MAAM,CAuBR"}
@@ -0,0 +1,33 @@
1
+ import { normalizeName } from "./normalizeName.js";
2
+ export function declareVariable(name, value, scope) {
3
+ const normalizedName = normalizeName(name);
4
+ scope.variables[name] = { name: normalizedName };
5
+ return `local ${normalizedName} = ${value}`;
6
+ }
7
+ export function declareLocalVariablesForObjectPattern(node, parent, scope, transpile) {
8
+ return node.properties
9
+ .map((property) => {
10
+ const originalName = normalizeName(transpile(property.key));
11
+ const { value } = property;
12
+ if (value?.type === "AssignmentPattern") {
13
+ return declareVariable(transpile(value.left), `${parent}.${originalName} or ${transpile(value.right)}`, scope);
14
+ }
15
+ return declareVariable(transpile(value), `${parent}.${originalName}`, scope);
16
+ })
17
+ .join("\n");
18
+ }
19
+ export function declareLocalVariablesForArrayPattern(node, parent, scope, transpile) {
20
+ return node.elements
21
+ .map((element, index) => {
22
+ if (!element) {
23
+ return null;
24
+ }
25
+ if (element.type === "AssignmentPattern") {
26
+ return declareVariable(transpile(element.left), `${parent}[${index + 1}] or ${transpile(element.right)}`, scope);
27
+ }
28
+ return declareVariable(transpile(element), `${parent}[${index + 1}]`, scope);
29
+ })
30
+ .filter(Boolean)
31
+ .join("\n");
32
+ }
33
+ //# sourceMappingURL=declareVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declareVariable.js","sourceRoot":"","sources":["../../src/utils/declareVariable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,KAAa,EACb,KAAqC;IAErC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC;IAC/C,OAAO,SAAS,cAAc,MAAM,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,IAAmB,EACnB,MAAc,EACd,KAAqC,EACrC,SAA4B;IAE5B,OAAO,IAAI,CAAC,UAAU;SACnB,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE;QAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,CAAC;QAEzB,IAAI,KAAK,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,OAAO,eAAe,CACpB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EACrB,GAAG,MAAM,IAAI,YAAY,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EACxD,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CACpB,SAAS,CAAC,KAAK,CAAC,EAChB,GAAG,MAAM,IAAI,YAAY,EAAE,EAC3B,KAAK,CACN,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,IAAkB,EAClB,MAAc,EACd,KAAqC,EACrC,SAA4B;IAE5B,OAAO,IAAI,CAAC,QAAQ;SACjB,GAAG,CAAC,CAAC,OAA4B,EAAE,KAAa,EAAE,EAAE;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACzC,OAAO,eAAe,CACpB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EACvB,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC,QAAQ,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EACxD,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CACpB,SAAS,CAAC,OAAO,CAAC,EAClB,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,EACzB,KAAK,CACN,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function normalizeName(name: string): string;
2
+ //# sourceMappingURL=normalizeName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeName.d.ts","sourceRoot":"","sources":["../../src/utils/normalizeName.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,UAEzC"}
@@ -0,0 +1,4 @@
1
+ export function normalizeName(name) {
2
+ return name.toLowerCase().replace(/\$/g, "_");
3
+ }
4
+ //# sourceMappingURL=normalizeName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeName.js","sourceRoot":"","sources":["../../src/utils/normalizeName.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function wrapWithParantheses(condition: boolean, expression: string): string;
2
+ //# sourceMappingURL=wrapWithParantheses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapWithParantheses.d.ts","sourceRoot":"","sources":["../../src/utils/wrapWithParantheses.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAEzE"}
@@ -0,0 +1,4 @@
1
+ export function wrapWithParantheses(condition, expression) {
2
+ return condition ? `(${expression})` : expression;
3
+ }
4
+ //# sourceMappingURL=wrapWithParantheses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapWithParantheses.js","sourceRoot":"","sources":["../../src/utils/wrapWithParantheses.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,SAAkB,EAAE,UAAkB;IACxE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AACpD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@jspicl/core",
3
+ "version": "4.0.0-alpha.0",
4
+ "description": "A javascript to PICO-8 LUA converter",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./types": {
13
+ "types": "./dist/types.d.ts"
14
+ },
15
+ "./pic8-api.d.ts": {
16
+ "types": "./dist/pico8-api.d.ts"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist"
21
+ ],
22
+ "publishConfig": {
23
+ "access": "public"
24
+ },
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "clean": "rm -rf dist",
28
+ "test": "vitest run",
29
+ "test:watch": "vitest",
30
+ "prepublishOnly": "yarn clean && yarn test && yarn build"
31
+ },
32
+ "prettier": {
33
+ "arrowParens": "always",
34
+ "bracketSpacing": false,
35
+ "endOfLine": "lf",
36
+ "printWidth": 80,
37
+ "semi": true,
38
+ "singleQuote": false,
39
+ "tabWidth": 2,
40
+ "trailingComma": "none",
41
+ "useTabs": false
42
+ },
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/AgronKabashi/jspicl"
46
+ },
47
+ "keywords": [
48
+ "pico-8",
49
+ "cli",
50
+ "build-tool",
51
+ "buildtool",
52
+ "javascript",
53
+ "lua",
54
+ "ast",
55
+ "transpile",
56
+ "transpiler",
57
+ "game-development"
58
+ ],
59
+ "author": "Agron Kabashi",
60
+ "devDependencies": {
61
+ "@types/esprima": "^4.0.6",
62
+ "@types/node": "^22.0.0",
63
+ "typescript": "^5.7.0"
64
+ },
65
+ "dependencies": {
66
+ "esprima": "^4.0.1",
67
+ "trastpiler": "^2.0.0"
68
+ },
69
+ "engines": {
70
+ "node": ">=22"
71
+ }
72
+ }