@kipper/target-js
Version:
The JavaScript target for the Kipper compiler 🦊
36 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeBraces = exports.indentLines = exports.createJSFunctionSignature = exports.getJSFunctionSignature = void 0;
function getJSFunctionSignature(funcSpec) {
if ("antlrRuleCtx" in funcSpec) {
const semanticData = funcSpec.getSemanticData();
return {
identifier: semanticData.identifier,
params: semanticData.params.map((param) => param.getSemanticData().identifier),
};
}
else {
return {
identifier: funcSpec.identifier,
params: funcSpec.params.map((arg) => arg.identifier),
};
}
}
exports.getJSFunctionSignature = getJSFunctionSignature;
function createJSFunctionSignature(signature) {
const { identifier, params } = signature;
return `function ${identifier}(${params.join(", ")})`;
}
exports.createJSFunctionSignature = createJSFunctionSignature;
function indentLines(arr, spaces = 2) {
return arr.map((line) => {
line[0] = `${" ".repeat(spaces)}${line[0]}`;
return line;
});
}
exports.indentLines = indentLines;
function removeBraces(arr) {
return arr.slice(1, arr.length - 1);
}
exports.removeBraces = removeBraces;
//# sourceMappingURL=tools.js.map