UNPKG

@kipper/target-js

Version:

The JavaScript target for the Kipper compiler 🦊

36 lines • 1.28 kB
"use strict"; 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