UNPKG

proc_macro

Version:
29 lines 1.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var token_stream_1 = __importDefault(require("./token_stream")); /** * Wrapper function to create the proc_macro tagged template function. * @param parsingFunction Function used to parse input. */ function proc_macro(parsingFunction) { return function (strings) { var keys = []; for (var _i = 1; _i < arguments.length; _i++) { keys[_i - 1] = arguments[_i]; } var tokenString = strings.map(function (str, i) { return str + (keys[i] || ''); }).join(''); try { var tokenStream = token_stream_1.default.tokenize(tokenString); var parseOutput = parsingFunction(tokenStream); return (typeof parseOutput === 'string') ? parseOutput : parseOutput.toJavaScript(); } catch (e) { throw e; } }; } exports.default = proc_macro; //# sourceMappingURL=proc_macro.js.map