@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.
- package/LICENSE +21 -0
- package/README.md +112 -0
- package/dist/ast/declarations/classDeclaration.d.ts +4 -0
- package/dist/ast/declarations/classDeclaration.d.ts.map +1 -0
- package/dist/ast/declarations/classDeclaration.js +8 -0
- package/dist/ast/declarations/classDeclaration.js.map +1 -0
- package/dist/ast/declarations/functionDeclaration.d.ts +3 -0
- package/dist/ast/declarations/functionDeclaration.d.ts.map +1 -0
- package/dist/ast/declarations/functionDeclaration.js +49 -0
- package/dist/ast/declarations/functionDeclaration.js.map +1 -0
- package/dist/ast/declarations/index.d.ts +5 -0
- package/dist/ast/declarations/index.d.ts.map +1 -0
- package/dist/ast/declarations/index.js +5 -0
- package/dist/ast/declarations/index.js.map +1 -0
- package/dist/ast/declarations/variableDeclaration.d.ts +4 -0
- package/dist/ast/declarations/variableDeclaration.d.ts.map +1 -0
- package/dist/ast/declarations/variableDeclaration.js +3 -0
- package/dist/ast/declarations/variableDeclaration.js.map +1 -0
- package/dist/ast/declarations/variableDeclarator.d.ts +4 -0
- package/dist/ast/declarations/variableDeclarator.d.ts.map +1 -0
- package/dist/ast/declarations/variableDeclarator.js +13 -0
- package/dist/ast/declarations/variableDeclarator.js.map +1 -0
- package/dist/ast/expressions/arrayExpression.d.ts +4 -0
- package/dist/ast/expressions/arrayExpression.d.ts.map +1 -0
- package/dist/ast/expressions/arrayExpression.js +5 -0
- package/dist/ast/expressions/arrayExpression.js.map +1 -0
- package/dist/ast/expressions/arrowFunctionExpression.d.ts +4 -0
- package/dist/ast/expressions/arrowFunctionExpression.d.ts.map +1 -0
- package/dist/ast/expressions/arrowFunctionExpression.js +29 -0
- package/dist/ast/expressions/arrowFunctionExpression.js.map +1 -0
- package/dist/ast/expressions/assignmentExpression.d.ts +4 -0
- package/dist/ast/expressions/assignmentExpression.d.ts.map +1 -0
- package/dist/ast/expressions/assignmentExpression.js +7 -0
- package/dist/ast/expressions/assignmentExpression.js.map +1 -0
- package/dist/ast/expressions/binaryExpression.d.ts +4 -0
- package/dist/ast/expressions/binaryExpression.d.ts.map +1 -0
- package/dist/ast/expressions/binaryExpression.js +20 -0
- package/dist/ast/expressions/binaryExpression.js.map +1 -0
- package/dist/ast/expressions/callExpression.d.ts +4 -0
- package/dist/ast/expressions/callExpression.d.ts.map +1 -0
- package/dist/ast/expressions/callExpression.js +14 -0
- package/dist/ast/expressions/callExpression.js.map +1 -0
- package/dist/ast/expressions/classBody.d.ts +4 -0
- package/dist/ast/expressions/classBody.d.ts.map +1 -0
- package/dist/ast/expressions/classBody.js +5 -0
- package/dist/ast/expressions/classBody.js.map +1 -0
- package/dist/ast/expressions/conditionalExpression.d.ts +4 -0
- package/dist/ast/expressions/conditionalExpression.d.ts.map +1 -0
- package/dist/ast/expressions/conditionalExpression.js +8 -0
- package/dist/ast/expressions/conditionalExpression.js.map +1 -0
- package/dist/ast/expressions/functionExpression.d.ts +4 -0
- package/dist/ast/expressions/functionExpression.d.ts.map +1 -0
- package/dist/ast/expressions/functionExpression.js +17 -0
- package/dist/ast/expressions/functionExpression.js.map +1 -0
- package/dist/ast/expressions/identifier.d.ts +4 -0
- package/dist/ast/expressions/identifier.d.ts.map +1 -0
- package/dist/ast/expressions/identifier.js +11 -0
- package/dist/ast/expressions/identifier.js.map +1 -0
- package/dist/ast/expressions/index.d.ts +21 -0
- package/dist/ast/expressions/index.d.ts.map +1 -0
- package/dist/ast/expressions/index.js +21 -0
- package/dist/ast/expressions/index.js.map +1 -0
- package/dist/ast/expressions/literal.d.ts +4 -0
- package/dist/ast/expressions/literal.d.ts.map +1 -0
- package/dist/ast/expressions/literal.js +11 -0
- package/dist/ast/expressions/literal.js.map +1 -0
- package/dist/ast/expressions/logicalExpression.d.ts +4 -0
- package/dist/ast/expressions/logicalExpression.d.ts.map +1 -0
- package/dist/ast/expressions/logicalExpression.js +9 -0
- package/dist/ast/expressions/logicalExpression.js.map +1 -0
- package/dist/ast/expressions/memberExpression.d.ts +4 -0
- package/dist/ast/expressions/memberExpression.d.ts.map +1 -0
- package/dist/ast/expressions/memberExpression.js +4 -0
- package/dist/ast/expressions/memberExpression.js.map +1 -0
- package/dist/ast/expressions/methodDefinition.d.ts +4 -0
- package/dist/ast/expressions/methodDefinition.d.ts.map +1 -0
- package/dist/ast/expressions/methodDefinition.js +3 -0
- package/dist/ast/expressions/methodDefinition.js.map +1 -0
- package/dist/ast/expressions/newExpression.d.ts +4 -0
- package/dist/ast/expressions/newExpression.d.ts.map +1 -0
- package/dist/ast/expressions/newExpression.js +7 -0
- package/dist/ast/expressions/newExpression.js.map +1 -0
- package/dist/ast/expressions/objectExpression.d.ts +4 -0
- package/dist/ast/expressions/objectExpression.d.ts.map +1 -0
- package/dist/ast/expressions/objectExpression.js +5 -0
- package/dist/ast/expressions/objectExpression.js.map +1 -0
- package/dist/ast/expressions/property.d.ts +4 -0
- package/dist/ast/expressions/property.d.ts.map +1 -0
- package/dist/ast/expressions/property.js +8 -0
- package/dist/ast/expressions/property.js.map +1 -0
- package/dist/ast/expressions/sequenceExpression.d.ts +4 -0
- package/dist/ast/expressions/sequenceExpression.d.ts.map +1 -0
- package/dist/ast/expressions/sequenceExpression.js +3 -0
- package/dist/ast/expressions/sequenceExpression.js.map +1 -0
- package/dist/ast/expressions/thisExpression.d.ts +4 -0
- package/dist/ast/expressions/thisExpression.d.ts.map +1 -0
- package/dist/ast/expressions/thisExpression.js +3 -0
- package/dist/ast/expressions/thisExpression.js.map +1 -0
- package/dist/ast/expressions/unaryExpression.d.ts +4 -0
- package/dist/ast/expressions/unaryExpression.d.ts.map +1 -0
- package/dist/ast/expressions/unaryExpression.js +10 -0
- package/dist/ast/expressions/unaryExpression.js.map +1 -0
- package/dist/ast/expressions/updateExpression.d.ts +4 -0
- package/dist/ast/expressions/updateExpression.d.ts.map +1 -0
- package/dist/ast/expressions/updateExpression.js +6 -0
- package/dist/ast/expressions/updateExpression.js.map +1 -0
- package/dist/ast/index.d.ts +4 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +4 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/ast/statements/blockStatement.d.ts +4 -0
- package/dist/ast/statements/blockStatement.d.ts.map +1 -0
- package/dist/ast/statements/blockStatement.js +4 -0
- package/dist/ast/statements/blockStatement.js.map +1 -0
- package/dist/ast/statements/breakStatement.d.ts +4 -0
- package/dist/ast/statements/breakStatement.d.ts.map +1 -0
- package/dist/ast/statements/breakStatement.js +3 -0
- package/dist/ast/statements/breakStatement.js.map +1 -0
- package/dist/ast/statements/doWhileStatement.d.ts +4 -0
- package/dist/ast/statements/doWhileStatement.d.ts.map +1 -0
- package/dist/ast/statements/doWhileStatement.js +5 -0
- package/dist/ast/statements/doWhileStatement.js.map +1 -0
- package/dist/ast/statements/emptyStatement.d.ts +4 -0
- package/dist/ast/statements/emptyStatement.d.ts.map +1 -0
- package/dist/ast/statements/emptyStatement.js +3 -0
- package/dist/ast/statements/emptyStatement.js.map +1 -0
- package/dist/ast/statements/expressionStatement.d.ts +4 -0
- package/dist/ast/statements/expressionStatement.d.ts.map +1 -0
- package/dist/ast/statements/expressionStatement.js +6 -0
- package/dist/ast/statements/expressionStatement.js.map +1 -0
- package/dist/ast/statements/forStatement.d.ts +4 -0
- package/dist/ast/statements/forStatement.d.ts.map +1 -0
- package/dist/ast/statements/forStatement.js +7 -0
- package/dist/ast/statements/forStatement.js.map +1 -0
- package/dist/ast/statements/ifStatement.d.ts +5 -0
- package/dist/ast/statements/ifStatement.d.ts.map +1 -0
- package/dist/ast/statements/ifStatement.js +18 -0
- package/dist/ast/statements/ifStatement.js.map +1 -0
- package/dist/ast/statements/index.d.ts +13 -0
- package/dist/ast/statements/index.d.ts.map +1 -0
- package/dist/ast/statements/index.js +13 -0
- package/dist/ast/statements/index.js.map +1 -0
- package/dist/ast/statements/returnStatement.d.ts +4 -0
- package/dist/ast/statements/returnStatement.d.ts.map +1 -0
- package/dist/ast/statements/returnStatement.js +6 -0
- package/dist/ast/statements/returnStatement.js.map +1 -0
- package/dist/ast/statements/switchCase.d.ts +4 -0
- package/dist/ast/statements/switchCase.d.ts.map +1 -0
- package/dist/ast/statements/switchCase.js +15 -0
- package/dist/ast/statements/switchCase.js.map +1 -0
- package/dist/ast/statements/switchStatement.d.ts +4 -0
- package/dist/ast/statements/switchStatement.d.ts.map +1 -0
- package/dist/ast/statements/switchStatement.js +13 -0
- package/dist/ast/statements/switchStatement.js.map +1 -0
- package/dist/ast/statements/throwStatement.d.ts +4 -0
- package/dist/ast/statements/throwStatement.d.ts.map +1 -0
- package/dist/ast/statements/throwStatement.js +9 -0
- package/dist/ast/statements/throwStatement.js.map +1 -0
- package/dist/ast/statements/whileStatement.d.ts +4 -0
- package/dist/ast/statements/whileStatement.d.ts.map +1 -0
- package/dist/ast/statements/whileStatement.js +5 -0
- package/dist/ast/statements/whileStatement.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/jspicl.d.ts +3 -0
- package/dist/jspicl.d.ts.map +1 -0
- package/dist/jspicl.js +24 -0
- package/dist/jspicl.js.map +1 -0
- package/dist/polyfills/constants.d.ts +3 -0
- package/dist/polyfills/constants.d.ts.map +1 -0
- package/dist/polyfills/constants.js +34 -0
- package/dist/polyfills/constants.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_assign.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_assign.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_assign.js +14 -0
- package/dist/polyfills/defaultImplementations/_assign.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_filter.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_filter.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_filter.js +13 -0
- package/dist/polyfills/defaultImplementations/_filter.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_findindex.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_findindex.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_findindex.js +8 -0
- package/dist/polyfills/defaultImplementations/_findindex.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_includes.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_includes.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_includes.js +12 -0
- package/dist/polyfills/defaultImplementations/_includes.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_join.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_join.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_join.js +16 -0
- package/dist/polyfills/defaultImplementations/_join.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_map.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_map.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_map.js +11 -0
- package/dist/polyfills/defaultImplementations/_map.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_objmap.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_objmap.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_objmap.js +23 -0
- package/dist/polyfills/defaultImplementations/_objmap.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_pop.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_pop.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_pop.js +7 -0
- package/dist/polyfills/defaultImplementations/_pop.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_reduce.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_reduce.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_reduce.js +17 -0
- package/dist/polyfills/defaultImplementations/_reduce.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_sort.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_sort.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_sort.js +23 -0
- package/dist/polyfills/defaultImplementations/_sort.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_split.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_split.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_split.js +27 -0
- package/dist/polyfills/defaultImplementations/_split.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_substr.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_substr.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_substr.js +5 -0
- package/dist/polyfills/defaultImplementations/_substr.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_substring.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_substring.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_substring.js +5 -0
- package/dist/polyfills/defaultImplementations/_substring.js.map +1 -0
- package/dist/polyfills/defaultImplementations/_tostring.d.ts +2 -0
- package/dist/polyfills/defaultImplementations/_tostring.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/_tostring.js +32 -0
- package/dist/polyfills/defaultImplementations/_tostring.js.map +1 -0
- package/dist/polyfills/defaultImplementations/index.d.ts +15 -0
- package/dist/polyfills/defaultImplementations/index.d.ts.map +1 -0
- package/dist/polyfills/defaultImplementations/index.js +15 -0
- package/dist/polyfills/defaultImplementations/index.js.map +1 -0
- package/dist/polyfills/getPolyfilledCallExpression.d.ts +9 -0
- package/dist/polyfills/getPolyfilledCallExpression.d.ts.map +1 -0
- package/dist/polyfills/getPolyfilledCallExpression.js +17 -0
- package/dist/polyfills/getPolyfilledCallExpression.js.map +1 -0
- package/dist/polyfills/getPolyfilledMemberExpression.d.ts +10 -0
- package/dist/polyfills/getPolyfilledMemberExpression.d.ts.map +1 -0
- package/dist/polyfills/getPolyfilledMemberExpression.js +13 -0
- package/dist/polyfills/getPolyfilledMemberExpression.js.map +1 -0
- package/dist/polyfills/getRequiredPolyfills.d.ts +2 -0
- package/dist/polyfills/getRequiredPolyfills.d.ts.map +1 -0
- package/dist/polyfills/getRequiredPolyfills.js +15 -0
- package/dist/polyfills/getRequiredPolyfills.js.map +1 -0
- package/dist/prettify.d.ts +2 -0
- package/dist/prettify.d.ts.map +1 -0
- package/dist/prettify.js +42 -0
- package/dist/prettify.js.map +1 -0
- package/dist/transpile.d.ts +3 -0
- package/dist/transpile.d.ts.map +1 -0
- package/dist/transpile.js +12 -0
- package/dist/transpile.js.map +1 -0
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/assert.d.ts +2 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +6 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/declareVariable.d.ts +6 -0
- package/dist/utils/declareVariable.d.ts.map +1 -0
- package/dist/utils/declareVariable.js +33 -0
- package/dist/utils/declareVariable.js.map +1 -0
- package/dist/utils/normalizeName.d.ts +2 -0
- package/dist/utils/normalizeName.d.ts.map +1 -0
- package/dist/utils/normalizeName.js +4 -0
- package/dist/utils/normalizeName.js.map +1 -0
- package/dist/utils/wrapWithParantheses.d.ts +2 -0
- package/dist/utils/wrapWithParantheses.d.ts.map +1 -0
- package/dist/utils/wrapWithParantheses.js +4 -0
- package/dist/utils/wrapWithParantheses.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/literal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,GAAG,IAAI,KAAG,IAAI,IAAI,OAChC,CAAC;AAK3B,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,OAAO,CAM3C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const isLiteral = (node) => node?.type === "Literal";
|
|
2
|
+
const specialCases = {
|
|
3
|
+
null: "nil"
|
|
4
|
+
};
|
|
5
|
+
export const Literal = ({ value, raw }) => {
|
|
6
|
+
if (Number.isInteger(value)) {
|
|
7
|
+
return value.toString();
|
|
8
|
+
}
|
|
9
|
+
return specialCases[raw] || raw;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=literal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../src/ast/expressions/literal.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAmB,EAAE,CAClE,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;AAE3B,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,KAAK;CACZ,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAA4B,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,EAAE;IAC/D,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isLogicalExpression: (node?: ASTNode | null) => node is LogicalExpression;
|
|
3
|
+
export declare const LogicalExpression: AstNodeVisitor<LogicalExpression>;
|
|
4
|
+
//# sourceMappingURL=logicalExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logicalExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/logicalExpression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,mBAAmB,GAC9B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,iBAAuD,CAAC;AAEnE,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAgB/D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { wrapWithParantheses } from "../../utils/wrapWithParantheses.js";
|
|
2
|
+
export const isLogicalExpression = (node) => node?.type === "LogicalExpression";
|
|
3
|
+
export const LogicalExpression = ({ operator, left, right }, { transpile }) => {
|
|
4
|
+
const logicalOperator = operator === "||" ? "or" : "and";
|
|
5
|
+
const leftExpression = wrapWithParantheses(left.type === "LogicalExpression" && logicalOperator === "and", transpile(left));
|
|
6
|
+
const rightExpression = wrapWithParantheses(right.type === "LogicalExpression" && logicalOperator === "and", transpile(right));
|
|
7
|
+
return `${leftExpression} ${logicalOperator} ${rightExpression}`;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=logicalExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logicalExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/logicalExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAGvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAqB,EACM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,mBAAmB,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAsC,CAClE,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,EACvB,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,eAAe,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,eAAe,KAAK,KAAK,EAC9D,SAAS,CAAC,IAAI,CAAC,CAChB,CAAC;IAEF,MAAM,eAAe,GAAG,mBAAmB,CACzC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,eAAe,KAAK,KAAK,EAC/D,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;IAEF,OAAO,GAAG,cAAc,IAAI,eAAe,IAAI,eAAe,EAAE,CAAC;AACnE,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isMemberExpression: (node?: ASTNode | null) => node is MemberExpression;
|
|
3
|
+
export declare const MemberExpression: AstNodeVisitor<MemberExpression>;
|
|
4
|
+
//# sourceMappingURL=memberExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memberExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/memberExpression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,gBAAqD,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAGa,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { getPolyfilledMemberExpression } from "../../polyfills/getPolyfilledMemberExpression.js";
|
|
2
|
+
export const isMemberExpression = (node) => node?.type === "MemberExpression";
|
|
3
|
+
export const MemberExpression = ({ computed, object, property }, { transpile }) => getPolyfilledMemberExpression({ transpile, computed, object, property });
|
|
4
|
+
//# sourceMappingURL=memberExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memberExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/memberExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,kDAAkD,CAAC;AAG/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAqB,EACK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAChE,EAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC,EAC5B,EAAC,SAAS,EAAC,EACX,EAAE,CAAC,6BAA6B,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isMethodDefinition: (node?: ASTNode | null) => node is MethodDefinition;
|
|
3
|
+
export declare const MethodDefinition: AstNodeVisitor<MethodDefinition>;
|
|
4
|
+
//# sourceMappingURL=methodDefinition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methodDefinition.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/methodDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,gBAAqD,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAGhB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methodDefinition.js","sourceRoot":"","sources":["../../../src/ast/expressions/methodDefinition.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAqB,EACK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAChE,EAAC,GAAG,EAAE,KAAK,EAAC,EACZ,EAAC,SAAS,EAAC,EACX,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/newExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,aAA+C,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,aAAa,CAQvD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const isNewExpression = (node) => node?.type === "NewExpression";
|
|
2
|
+
export const NewExpression = ({ arguments: args, callee }, { transpile }) => {
|
|
3
|
+
const className = `class_${transpile(callee)}`;
|
|
4
|
+
const classArguments = transpile(args, { arraySeparator: "," });
|
|
5
|
+
return `${className}(${classArguments})`;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=newExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/newExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAqB,EACE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,eAAe,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAkC,CAC1D,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAC,EACzB,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,SAAS,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,EAAC,cAAc,EAAE,GAAG,EAAC,CAAC,CAAC;IAE9D,OAAO,GAAG,SAAS,IAAI,cAAc,GAAG,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isObjectExpression: (node?: ASTNode | null) => node is ObjectExpression;
|
|
3
|
+
export declare const ObjectExpression: AstNodeVisitor<ObjectExpression>;
|
|
4
|
+
//# sourceMappingURL=objectExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/objectExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,gBAAqD,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAM1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/objectExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAqB,EACK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAChE,EAAC,UAAU,EAAC,EACZ,EAAC,SAAS,EAAC,EACX,EAAE,CACF;MACI,SAAS,CAAC,UAAU,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC;IAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/property.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,GAAG,IAAI,KAAG,IAAI,IAAI,QAChC,CAAC;AAE5B,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAQ7C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { normalizeName } from "../../utils/normalizeName.js";
|
|
2
|
+
export const isProperty = (node) => node?.type === "Property";
|
|
3
|
+
export const Property = ({ key, value }, { transpile }) => {
|
|
4
|
+
// const {name} = key as Identifier;
|
|
5
|
+
const name = transpile(key).replace(/"/g, "");
|
|
6
|
+
return `${normalizeName(name)} = ${transpile(value)}`;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.js","sourceRoot":"","sources":["../../../src/ast/expressions/property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAG3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAoB,EAAE,CACpE,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC;AAE5B,MAAM,CAAC,MAAM,QAAQ,GAA6B,CAChD,EAAC,GAAG,EAAE,KAAK,EAAC,EACZ,EAAC,SAAS,EAAC,EACX,EAAE;IACF,oCAAoC;IACpC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE9C,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isSequenceExpression: (node?: ASTNode | null) => node is SequenceExpression;
|
|
3
|
+
export declare const SequenceExpression: AstNodeVisitor<SequenceExpression>;
|
|
4
|
+
//# sourceMappingURL=sequenceExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequenceExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/sequenceExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,oBAAoB,GAC/B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,kBAAyD,CAAC;AAErE,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,CAGf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequenceExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/sequenceExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAqB,EACO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,oBAAoB,CAAC;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAuC,CACpE,EAAC,WAAW,EAAC,EACb,EAAC,SAAS,EAAC,EACX,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thisExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/thisExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,cAAiD,CAAC;AAE7D,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,cAAc,CAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thisExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/thisExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAqB,EACG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAmC,GAAG,EAAE,CAAC,MAAM,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isUnaryExpression: (node?: ASTNode | null) => node is UnaryExpression;
|
|
3
|
+
export declare const UnaryExpression: AstNodeVisitor<UnaryExpression>;
|
|
4
|
+
//# sourceMappingURL=unaryExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unaryExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/unaryExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,eAAmD,CAAC;AAE/D,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,eAAe,CAY3D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const isUnaryExpression = (node) => node?.type === "UnaryExpression";
|
|
2
|
+
export const UnaryExpression = ({ operator, argument }, { transpile }) => {
|
|
3
|
+
const value = transpile(argument);
|
|
4
|
+
if (operator === "~") {
|
|
5
|
+
throw new Error("Unary operator ~ is not supported.");
|
|
6
|
+
}
|
|
7
|
+
const luaOperator = operator === "!" ? "not " : operator;
|
|
8
|
+
return operator === "void" ? "nil" : `${luaOperator}${value}`;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=unaryExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unaryExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/unaryExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAqB,EACI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,iBAAiB,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAoC,CAC9D,EAAC,QAAQ,EAAE,QAAQ,EAAC,EACpB,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,KAAK,EAAE,CAAC;AAChE,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isUpdateExpression: (node?: ASTNode | null) => node is UpdateExpression;
|
|
3
|
+
export declare const UpdateExpression: AstNodeVisitor<UpdateExpression>;
|
|
4
|
+
//# sourceMappingURL=updateExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateExpression.d.ts","sourceRoot":"","sources":["../../../src/ast/expressions/updateExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,gBAAqD,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAO7D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const isUpdateExpression = (node) => node?.type === "UpdateExpression";
|
|
2
|
+
export const UpdateExpression = ({ argument, operator }, { transpile }) => {
|
|
3
|
+
const identifier = transpile(argument);
|
|
4
|
+
return `${identifier}${operator[0]}=1`;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=updateExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateExpression.js","sourceRoot":"","sources":["../../../src/ast/expressions/updateExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAqB,EACK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAChE,EAAC,QAAQ,EAAE,QAAQ,EAAC,EACpB,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/blockStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,cAAiD,CAAC;AAE7D,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,cAAc,CAGtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/blockStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAqB,EACG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAmC,CAC5D,EAAC,IAAI,EAAC,EACN,EAAC,SAAS,EAAC,EACX,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAErB,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breakStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/breakStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,cAAiD,CAAC;AAE7D,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,cAAc,CAGtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breakStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/breakStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAqB,EACG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAmC,CAC5D,CAAC,EACD,EAAC,KAAK,EAAE,EAAC,cAAc,EAAC,EAAC,EACzB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isDoWhileStatement: (node?: ASTNode | null) => node is DoWhileStatement;
|
|
3
|
+
export declare const DoWhileStatement: AstNodeVisitor<DoWhileStatement>;
|
|
4
|
+
//# sourceMappingURL=doWhileStatement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doWhileStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/doWhileStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,gBAAqD,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAM7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doWhileStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/doWhileStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAqB,EACK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAChE,EAAC,IAAI,EAAE,IAAI,EAAC,EACZ,EAAC,SAAS,EAAC,EACX,EAAE,CACF;MACI,SAAS,CAAC,IAAI,CAAC;eACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emptyStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/emptyStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,cAAiD,CAAC;AAE7D,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,cAAc,CAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emptyStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/emptyStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAqB,EACG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAmC,GAAG,EAAE,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isExpressionStatement: (node?: ASTNode | null) => node is ExpressionStatement;
|
|
3
|
+
export declare const ExpressionStatement: AstNodeVisitor<ExpressionStatement>;
|
|
4
|
+
//# sourceMappingURL=expressionStatement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressionStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/expressionStatement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,qBAAqB,GAChC,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,mBAA2D,CAAC;AAEvE,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,mBAAmB,CAS5D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { wrapWithParantheses } from "../../utils/wrapWithParantheses.js";
|
|
2
|
+
export const isExpressionStatement = (node) => node?.type === "ExpressionStatement";
|
|
3
|
+
export const ExpressionStatement = ({ expression, directive }, { transpile }) => !directive
|
|
4
|
+
? wrapWithParantheses(expression.type === "FunctionExpression", transpile(expression))
|
|
5
|
+
: "";
|
|
6
|
+
//# sourceMappingURL=expressionStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressionStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/expressionStatement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAGvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAqB,EACQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,qBAAqB,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAwC,CACtE,EAAC,UAAU,EAAE,SAAS,EAAC,EACvB,EAAC,SAAS,EAAC,EACX,EAAE,CACF,CAAC,SAAS;IACR,CAAC,CAAC,mBAAmB,CACjB,UAAU,CAAC,IAAI,KAAK,oBAAoB,EACxC,SAAS,CAAC,UAAU,CAAC,CACtB;IACH,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/forStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,cAAc,GACzB,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,YAA6C,CAAC;AAEzD,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,YAAY,CAQhD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const isForStatement = (node) => node?.type === "ForStatement";
|
|
2
|
+
export const ForStatement = ({ body, init, test, update }, { transpile }) => `${transpile(init)}
|
|
3
|
+
while ${transpile(test)} do
|
|
4
|
+
${transpile(body)}
|
|
5
|
+
${transpile(update, { arraySeparator: "\n" })}
|
|
6
|
+
end`;
|
|
7
|
+
//# sourceMappingURL=forStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/forStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAqB,EACC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAiC,CACxD,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,EAC1B,EAAC,SAAS,EAAC,EACX,EAAE,CACF,GAAG,SAAS,CAAC,IAAI,CAAC;UACV,SAAS,CAAC,IAAI,CAAC;MACnB,SAAS,CAAC,IAAI,CAAC;MACf,SAAS,CAAC,MAAM,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC;MACzC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isIfStatement: (node?: ASTNode | null) => node is IfStatement;
|
|
3
|
+
declare const IfStatement: AstNodeVisitor<IfStatement>;
|
|
4
|
+
export { IfStatement };
|
|
5
|
+
//# sourceMappingURL=ifStatement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/ifStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,WAA2C,CAAC;AAEvD,QAAA,MAAM,WAAW,EAAE,cAAc,CAAC,WAAW,CAoB5C,CAAC;AAEF,OAAO,EAAC,WAAW,EAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const isIfStatement = (node) => node?.type === "IfStatement";
|
|
2
|
+
const IfStatement = ({ test, consequent, alternate }, { transpile }) => {
|
|
3
|
+
const testExpression = transpile(test);
|
|
4
|
+
const statementBody = transpile(consequent);
|
|
5
|
+
const alternateStatement = transpile(alternate);
|
|
6
|
+
const alternateIsIfStatement = alternate && alternate.type === "IfStatement";
|
|
7
|
+
let closingStatement = "end";
|
|
8
|
+
if (alternateStatement) {
|
|
9
|
+
closingStatement = alternateIsIfStatement
|
|
10
|
+
? `else${alternateStatement}`
|
|
11
|
+
: `else ${alternateStatement} end`;
|
|
12
|
+
}
|
|
13
|
+
return `if ${testExpression} then
|
|
14
|
+
${statementBody}
|
|
15
|
+
${closingStatement}`;
|
|
16
|
+
};
|
|
17
|
+
export { IfStatement };
|
|
18
|
+
//# sourceMappingURL=ifStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/ifStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAqB,EACA,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC;AAEvD,MAAM,WAAW,GAAgC,CAC/C,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAC,EAC7B,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEhD,MAAM,sBAAsB,GAAG,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC;IAE7E,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,kBAAkB,EAAE,CAAC;QACvB,gBAAgB,GAAG,sBAAsB;YACvC,CAAC,CAAC,OAAO,kBAAkB,EAAE;YAC7B,CAAC,CAAC,QAAQ,kBAAkB,MAAM,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,cAAc;MACvB,aAAa;IACf,gBAAgB,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,OAAO,EAAC,WAAW,EAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./blockStatement.js";
|
|
2
|
+
export * from "./breakStatement.js";
|
|
3
|
+
export * from "./doWhileStatement.js";
|
|
4
|
+
export * from "./emptyStatement.js";
|
|
5
|
+
export * from "./expressionStatement.js";
|
|
6
|
+
export * from "./ifStatement.js";
|
|
7
|
+
export * from "./forStatement.js";
|
|
8
|
+
export * from "./returnStatement.js";
|
|
9
|
+
export * from "./switchCase.js";
|
|
10
|
+
export * from "./switchStatement.js";
|
|
11
|
+
export * from "./throwStatement.js";
|
|
12
|
+
export * from "./whileStatement.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./blockStatement.js";
|
|
2
|
+
export * from "./breakStatement.js";
|
|
3
|
+
export * from "./doWhileStatement.js";
|
|
4
|
+
export * from "./emptyStatement.js";
|
|
5
|
+
export * from "./expressionStatement.js";
|
|
6
|
+
export * from "./ifStatement.js";
|
|
7
|
+
export * from "./forStatement.js";
|
|
8
|
+
export * from "./returnStatement.js";
|
|
9
|
+
export * from "./switchCase.js";
|
|
10
|
+
export * from "./switchStatement.js";
|
|
11
|
+
export * from "./throwStatement.js";
|
|
12
|
+
export * from "./whileStatement.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/statements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isReturnStatement: (node?: ASTNode | null) => node is ReturnStatement;
|
|
3
|
+
export declare const ReturnStatement: AstNodeVisitor<ReturnStatement>;
|
|
4
|
+
//# sourceMappingURL=returnStatement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"returnStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/returnStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,eAAmD,CAAC;AAE/D,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,eAAe,CAO3D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const isReturnStatement = (node) => node?.type === "ReturnStatement";
|
|
2
|
+
export const ReturnStatement = ({ argument }, { transpile }) => {
|
|
3
|
+
const value = transpile(argument);
|
|
4
|
+
return value ? `return ${value}` : "do return end";
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=returnStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"returnStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/returnStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAqB,EACI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,iBAAiB,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAoC,CAC9D,EAAC,QAAQ,EAAC,EACV,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchCase.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/switchCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,GAAG,IAAI,KAAG,IAAI,IAAI,UAChC,CAAC;AAE9B,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,UAAU,CAiBjD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const isSwitchCase = (node) => node?.type === "SwitchCase";
|
|
2
|
+
export const SwitchCase = ({ test, consequent }, { transpile }) => {
|
|
3
|
+
if (consequent.length === 0) {
|
|
4
|
+
throw new Error("Switch case fallthroughs are not supported.");
|
|
5
|
+
}
|
|
6
|
+
const statements = transpile(consequent, { arraySeparator: "\n" });
|
|
7
|
+
if (!test) {
|
|
8
|
+
return `\n${statements}`; // Default case
|
|
9
|
+
}
|
|
10
|
+
const testValue = transpile(test);
|
|
11
|
+
return `if ${testValue} == switchCase then
|
|
12
|
+
${statements}
|
|
13
|
+
`;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=switchCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchCase.js","sourceRoot":"","sources":["../../../src/ast/statements/switchCase.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAsB,EAAE,CACxE,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC;AAE9B,MAAM,CAAC,MAAM,UAAU,GAA+B,CACpD,EAAC,IAAI,EAAE,UAAU,EAAC,EAClB,EAAC,SAAS,EAAC,EACX,EAAE;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC,eAAe;IAC3C,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,MAAM,SAAS;MAClB,UAAU;GACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ASTNode, AstNodeVisitor } from "../../types.js";
|
|
2
|
+
export declare const isSwitchStatement: (node?: ASTNode | null) => node is SwitchStatement;
|
|
3
|
+
export declare const SwitchStatement: AstNodeVisitor<SwitchStatement>;
|
|
4
|
+
//# sourceMappingURL=switchStatement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/switchStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,eAAmD,CAAC;AAE/D,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,eAAe,CAgB3D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const isSwitchStatement = (node) => node?.type === "SwitchStatement";
|
|
2
|
+
export const SwitchStatement = ({ discriminant, cases }, { scope, transpile }) => {
|
|
3
|
+
const condition = `local switchCase = ${transpile(discriminant)}`;
|
|
4
|
+
scope.isInsideSwitch = true;
|
|
5
|
+
// sort the cases so the default case ends up at the end
|
|
6
|
+
const sortedCases = cases.sort((switchCase) => !switchCase.test ? 1 : 0);
|
|
7
|
+
return `
|
|
8
|
+
${condition}
|
|
9
|
+
${transpile(sortedCases, { arraySeparator: "else" })}
|
|
10
|
+
end`;
|
|
11
|
+
};
|
|
12
|
+
SwitchStatement.scopeBoundary = true;
|
|
13
|
+
//# sourceMappingURL=switchStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/switchStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAqB,EACI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,iBAAiB,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAoC,CAC9D,EAAC,YAAY,EAAE,KAAK,EAAC,EACrB,EAAC,KAAK,EAAE,SAAS,EAAC,EAClB,EAAE;IACF,MAAM,SAAS,GAAG,sBAAsB,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;IAElE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,wDAAwD;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,UAAsB,EAAE,EAAE,CACxD,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzB,CAAC;IAEF,OAAO;MACH,SAAS;MACT,SAAS,CAAC,WAAW,EAAE,EAAC,cAAc,EAAE,MAAM,EAAC,CAAC;QAC9C,CAAC;AACT,CAAC,CAAC;AAEF,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throwStatement.d.ts","sourceRoot":"","sources":["../../../src/ast/statements/throwStatement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,GAAG,IAAI,KACpB,IAAI,IAAI,cAAiD,CAAC;AAG7D,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,cAAc,CASzD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const isThrowStatement = (node) => node?.type === "ThrowStatement";
|
|
2
|
+
// https://esprima.readthedocs.io/en/latest/syntax-tree-format.html#throw-statement
|
|
3
|
+
export const ThrowStatement = ({ argument }, { transpile }) => {
|
|
4
|
+
const transpiledArgument = transpile(argument)
|
|
5
|
+
.replace(/\n/g, "\\n")
|
|
6
|
+
.replace(/"/g, '\\"');
|
|
7
|
+
return `assert(false, "${transpiledArgument}")`;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=throwStatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throwStatement.js","sourceRoot":"","sources":["../../../src/ast/statements/throwStatement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAqB,EACG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAE7D,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAmC,CAC5D,EAAC,QAAQ,EAAC,EACV,EAAC,SAAS,EAAC,EACX,EAAE;IACF,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC;SAC3C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAExB,OAAO,kBAAkB,kBAAkB,IAAI,CAAC;AAClD,CAAC,CAAC"}
|