UNPKG

bitbox-compiler

Version:

bitbox /unbox

27 lines (19 loc) 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = compile; var _parser = require("./parser"); var _parser2 = _interopRequireDefault(_parser); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function compile(source, options) { /** hacks */ source = source.replace(/(\()(<([a-z0-9-]+)(.*)=>([^\n</]+))(\))$/gm, "(<$3$4=>$5</$3>)"); source = source.replace(/<([a-z0-9-]+)(.*)=>([^\n</]+)$/gm, "<$1$2=>$3</$1>"); var result = new _parser2.default().transform(source, options); result.code = result.code.replace(/exportfunction/g, 'export function'); result.code = result.code.replace(/\;\)/g, '\)'); if (result.code.indexOf('$tree.push') === 0) result.code = result.code.substr(11, result.code.length - 13); return result.code; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUV3QixPQUFPOztBQUYvQixrQ0FBNkI7Ozs7OztBQUVkLFNBQVMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7O0FBRTdDLFVBQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDekYsVUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0NBQWtDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtBQUM3RSxRQUFJLE1BQU0sR0FBRyxzQkFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7O0FBRXBELFVBQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtBQUN2RSxVQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTs7QUFFaEQsUUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFBOztBQUVqRSxXQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7Q0FFdEIiLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXJzZXIgZnJvbSAnLi9wYXJzZXInXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXBpbGUoc291cmNlLCBvcHRpb25zKSB7XG4gICAgLyoqIGhhY2tzICovXG4gICAgc291cmNlID0gc291cmNlLnJlcGxhY2UoLyhcXCgpKDwoW2EtejAtOS1dKykoLiopPT4oW15cXG48L10rKSkoXFwpKSQvZ20sIFwiKDwkMyQ0PT4kNTwvJDM+KVwiKVxuICAgIHNvdXJjZSA9IHNvdXJjZS5yZXBsYWNlKC88KFthLXowLTktXSspKC4qKT0+KFteXFxuPC9dKykkL2dtLCBcIjwkMSQyPT4kMzwvJDE+XCIpXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBwYXJzZXIoKS50cmFuc2Zvcm0oc291cmNlLCBvcHRpb25zKVxuXG4gICAgcmVzdWx0LmNvZGUgPSByZXN1bHQuY29kZS5yZXBsYWNlKC9leHBvcnRmdW5jdGlvbi9nLCAnZXhwb3J0IGZ1bmN0aW9uJylcbiAgICByZXN1bHQuY29kZSA9IHJlc3VsdC5jb2RlLnJlcGxhY2UoL1xcO1xcKS9nLCAnXFwpJylcblxuICAgIGlmIChyZXN1bHQuY29kZS5pbmRleE9mKCckdHJlZS5wdXNoJykgPT09IDApXG4gICAgICAgIHJlc3VsdC5jb2RlID0gcmVzdWx0LmNvZGUuc3Vic3RyKDExLCByZXN1bHQuY29kZS5sZW5ndGggLSAxMylcblxuICAgIHJldHVybiByZXN1bHQuY29kZTtcblxufVxuIl19