UNPKG

@kitmi/config

Version:

JavaScript env-aware config system

72 lines (71 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ES6_TEMPLATE_TOKEN: function() { return ES6_TEMPLATE_TOKEN; }, FN_TOKEN: function() { return FN_TOKEN; }, JS_SWIG_TOKEN: function() { return JS_SWIG_TOKEN; }, JS_VALUE_TOKEN: function() { return JS_VALUE_TOKEN; }, PROCESSOR_PREFIX: function() { return PROCESSOR_PREFIX; }, default: function() { return _default; } }); const _utils = require("@kitmi/utils"); const PROCESSOR_PREFIX = '#!'; const JS_VALUE_TOKEN = 'jsv'; const ES6_TEMPLATE_TOKEN = 'es6'; const JS_SWIG_TOKEN = 'swig'; const FN_TOKEN = 'fn'; const esTemplateSetting = { interpolate: /\$\{([\s\S]+?)\}/g }; const swigTemplateSetting = { interpolate: /{{([\s\S]+?)}}/g }; const processors = { [JS_VALUE_TOKEN]: (str, variables)=>{ // eslint-disable-next-line no-new-func return new Function('v', 'with (v) { return (' + str + ')}')(variables); }, [ES6_TEMPLATE_TOKEN]: (str, variables)=>{ str = str.trim(); if (str) { return _utils._.template(str, esTemplateSetting)(variables); } return str; }, [JS_SWIG_TOKEN]: (str, variables)=>{ str = str.trim(); if (str) { return _utils._.template(str, swigTemplateSetting)(variables); } return str; }, [FN_TOKEN]: (str)=>{ // eslint-disable-next-line no-new-func return new Function('v', `with (v) { ${str} }`); } }; const _default = { prefix: PROCESSOR_PREFIX, processors }; //# sourceMappingURL=defaultSyntax.js.map