UNPKG

@apicart/brackets

Version:

Small, flexible, easy to use, component-oriented javascript template engine.

30 lines (22 loc) 654 B
import {utils} from '../../../shared/utils'; import {getMacros} from '../../runtime/macros'; /** * @param {[]} tokenMatchArray * @return {string} */ export function processMacro(tokenMatchArray) { var macroName = tokenMatchArray[0], macros = getMacros(), parsedToken; tokenMatchArray.shift(); if (typeof macros[macroName] === 'string') { parsedToken = macros[macroName]; utils.each(tokenMatchArray, function (tokenMatchPartKey, tokenMatchPart) { parsedToken = parsedToken.replace(new RegExp('#' + tokenMatchPartKey), tokenMatchPart); }); } else { parsedToken = macros[macroName](tokenMatchArray); } return parsedToken; }