UNPKG

36.2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack:///bundle.js","webpack:///webpack/bootstrap a62c7fca1c8132699a5f","webpack:///./src/index.js","webpack:///./src/lib/util.js","webpack:///./src/match/config.js","webpack:///./src/match/match.js","webpack:///./src/match/stack.js","webpack:///./src/match/auto-complete.js","webpack:///./src/match/filter.js","webpack:///./src/match/parse.js"],"names":["define","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_match","_match2","_typeof","Symbol","iterator","constructor","prototype","isObj","Array","isFun","isArray","isStr","str","typeCharge","trim","stringReg","test","match","pop","num","parseFloat","boo","e","objToArray","data","key","arr","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","next","done","i","concat","err","return","extendConfig","_util","config","filterUndefined","filterNull","autoComplete","assign","console","log","matchArray","matchObject","_parse","_stack","_filter","_filter2","_autoComplete","_autoComplete2","_config","exp","result","parse","parseToData","length","combineData","keyData","register","name","pushStack","update","updateStack","remove","removeStack","removeAll","cleanStack","stack","has","push","splice","_config2","hasOwnProperty","filter","_stack2","getData","strArr","token","parseResult","tokenReg","split","that","apply","par","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2"],"mappings":"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","file":"bundle.js","sourcesContent":["define(\"match\", [], function() { return /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _match = __webpack_require__(3);\n\t\n\tvar _match2 = _interopRequireDefault(_match);\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\texports.default = _match2.default;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar isObj = exports.isObj = function isObj(obj) {\n\t return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && !(obj instanceof Array);\n\t};\n\t\n\tvar isFun = exports.isFun = function isFun(obj) {\n\t return typeof obj === 'function';\n\t};\n\t\n\tvar isArray = exports.isArray = function isArray(obj) {\n\t return !isObj(obj) && obj instanceof Array;\n\t};\n\t\n\tvar isStr = exports.isStr = function isStr(str) {\n\t return typeof str === 'string';\n\t};\n\t\n\t/**\r\n\t * @description 类型转换\r\n\t **/\n\tvar typeCharge = exports.typeCharge = function typeCharge(str) {\n\t try {\n\t str = str.trim();\n\t var stringReg = /^(['\"])(.*)\\1$/;\n\t\n\t // 若果是以''包住 或者\"\"包住\n\t if (stringReg.test(str)) {\n\t // 返回字符串\n\t str = str.match(stringReg).pop();\n\t return str;\n\t } else {\n\t // 说明不是字符串类型的值\n\t var num = parseFloat(str);\n\t var boo = str === 'false' ? false : str === 'true' ? true : '';\n\t str = num || boo !== '' ? num || boo : str;\n\t return str;\n\t }\n\t } catch (e) {\n\t return str;\n\t }\n\t};\n\t\n\tvar objToArray = exports.objToArray = function objToArray(data, // 转换的对象数组\n\tkey // 转化你的值\n\t) {\n\t try {\n\t var arr = [];\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var i = _step.value;\n\t\n\t arr = arr.concat(i[key]);\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t\n\t return arr;\n\t } catch (e) {\n\t return [];\n\t };\n\t};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.extendConfig = undefined;\n\t\n\tvar _util = __webpack_require__(1);\n\t\n\t// 全局配置项\n\tvar config = {\n\t filterUndefined: true, // 过滤undefined\n\t filterNull: true, // 过滤null\n\t autoComplete: false // 自动补全\n\t}; /**\r\n\t * @descrption 增加全局配置项\r\n\t */\n\texports.default = config;\n\tvar extendConfig = exports.extendConfig = function extendConfig(obj) {\n\t\n\t if (!(0, _util.isObj)(obj)) {\n\t console.log('error config type');\n\t return;\n\t }\n\t\n\t Object.assign(config, obj);\n\t};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.matchArray = exports.matchObject = undefined;\n\t\n\tvar _parse = __webpack_require__(7);\n\t\n\tvar _util = __webpack_require__(1);\n\t\n\tvar _stack = __webpack_require__(4);\n\t\n\tvar _filter = __webpack_require__(6);\n\t\n\tvar _filter2 = _interopRequireDefault(_filter);\n\t\n\tvar _autoComplete = __webpack_require__(5);\n\t\n\tvar _autoComplete2 = _interopRequireDefault(_autoComplete);\n\t\n\tvar _config = __webpack_require__(2);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * 对象映射\r\n\t */\n\tvar matchObject = exports.matchObject = function matchObject(data, obj) {\n\t var exp = void 0;\n\t var result = {};\n\t\n\t for (var i in obj) {\n\t exp = (0, _parse.parse)(obj[i]);\n\t result[i] = (0, _parse.parseToData)(exp, data, result);\n\t (0, _filter2.default)(i, result);\n\t }\n\t (0, _autoComplete2.default)(result, data);\n\t\n\t return result;\n\t};\n\t\n\t/**\r\n\t * 数组映射\r\n\t */\n\tvar matchArray = exports.matchArray = function matchArray(data, arr) {\n\t var exp = void 0;\n\t var result = {};\n\t\n\t if (arr.length === 1) {\n\t // 直接映射 data\n\t for (var i = 0; i < data.length; i++) {\n\t result[i] = matchObject(data[i], arr[0]);\n\t }\n\t }\n\t\n\t if (arr.length === 2) {\n\t // 映射data的对象\n\t data = data[arr[0]];\n\t for (var _i = 0; _i < data.length; _i++) {\n\t result[_i] = matchObject(data[_i], arr[1]);\n\t }\n\t }\n\t\n\t return result;\n\t};\n\t\n\tvar match = {\n\t parse: function parse(combineData, keyData) {\n\t var matchData = {};\n\t var result = void 0;\n\t\n\t if ((0, _util.isObj)(keyData)) {\n\t result = matchObject(combineData, keyData);\n\t }\n\t\n\t if ((0, _util.isArray)(keyData)) {\n\t result = matchArray(combineData, keyData);\n\t }\n\t\n\t return result;\n\t },\n\t register: function register(obj, name) {\n\t (0, _stack.pushStack)({\n\t value: obj,\n\t name: name\n\t });\n\t },\n\t update: function update(obj, name) {\n\t (0, _stack.updateStack)(obj, name);\n\t },\n\t // 移除register的内容\n\t remove: function remove(name) {\n\t (0, _stack.removeStack)(name);\n\t },\n\t removeAll: function removeAll() {\n\t (0, _stack.cleanStack)();\n\t },\n\t config: function config(obj) {\n\t (0, _config.extendConfig)(obj);\n\t }\n\t};\n\t\n\texports.default = match;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.cleanStack = exports.removeStack = exports.updateStack = exports.pushStack = undefined;\n\t\n\tvar _util = __webpack_require__(1);\n\t\n\tvar stack = []; /**\r\n\t * @description 存储公共内容\r\n\t */\n\texports.default = stack;\n\tvar pushStack = exports.pushStack = function pushStack(key) {\n\t var has = false;\n\t for (var i = 0; i < stack.length; i++) {\n\t if (stack[i].name === key.name) {\n\t stack[i] = key;\n\t has = true;\n\t }\n\t }\n\t\n\t if (!has) stack.push(key);\n\t};\n\t\n\tvar updateStack = exports.updateStack = function updateStack(key, name) {\n\t try {\n\t for (var i = 0; i < stack.length; i++) {\n\t if (stack[i].name === name) {\n\t stack[i].value = key;\n\t }\n\t }\n\t } catch (e) {\n\t console.log(e);\n\t }\n\t};\n\t\n\tvar removeStack = exports.removeStack = function removeStack(name) {\n\t for (var i = 0; i < stack.length;) {\n\t if (stack[i].name === name) {\n\t stack.splice(i, 1);\n\t } else {\n\t i++;\n\t }\n\t }\n\t};\n\t\n\tvar cleanStack = exports.cleanStack = function cleanStack() {\n\t stack = [];\n\t};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _config = __webpack_require__(2);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar autoComplete = function autoComplete(result, data) {\n\t\n\t if (!_config2.default.autoComplete) return;\n\t\n\t for (var i in data) {\n\t if (!result.hasOwnProperty(i)) {\n\t result[i] = data[i];\n\t }\n\t }\n\t}; /**\r\n\t * @description match的自动补全\r\n\t */\n\texports.default = autoComplete;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _config = __webpack_require__(2);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar filter = function filter(key, result) {\n\t if (_config2.default.filterUndefined && result[key] === undefined) {\n\t delete result[key];\n\t }\n\t\n\t if (_config2.default.filterNull && result[key] === null) {\n\t delete result[key];\n\t }\n\t}; /**\r\n\t * @descprtion 过滤函数 过滤一些undefined等特殊情况\r\n\t */\n\texports.default = filter;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.parseToData = exports.parse = undefined;\n\t\n\tvar _util = __webpack_require__(1);\n\t\n\tvar _match = __webpack_require__(3);\n\t\n\tvar _stack = __webpack_require__(4);\n\t\n\tvar _stack2 = _interopRequireDefault(_stack);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar parse = exports.parse = function parse(str) {\n\t var strArr = void 0;\n\t var i = void 0;\n\t var token = void 0;\n\t var parseResult = {};\n\t var tokenReg = /\\$\\$\\{\\{(.*)\\}\\}/;\n\t\n\t if ((0, _util.isObj)(str)) {\n\t // 递归映射\n\t parseResult['matchObject'] = str;\n\t return parseResult;\n\t }\n\t\n\t if ((0, _util.isArray)(str)) {\n\t // 数组递归映射\n\t parseResult['matchArray'] = str;\n\t return parseResult;\n\t }\n\t\n\t if ((0, _util.isFun)(str)) {\n\t // 执行函数\n\t parseResult['matchFun'] = str;\n\t return parseResult;\n\t }\n\t\n\t if (!(0, _util.isStr)(str) || !tokenReg.test(str)) {\n\t // 不是字符串 直接返回\n\t parseResult['noMatch'] = str;\n\t return parseResult;\n\t }\n\t\n\t strArr = str.split('||');\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = strArr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t i = _step.value;\n\t\n\t\n\t token = i.trim().match(tokenReg);\n\t\n\t if (token && token.length && token.length >= 1) {\n\t parseResult['matchParam'] = token[1];\n\t continue;\n\t }\n\t\n\t if (!token) {\n\t //if (i.indexOf('{{') !== -1) {\n\t // parseResult['defaultParam'] = 'return b';\n\t //} else {\n\t parseResult['default'] = i.trim();\n\t //}\n\t }\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t\n\t return parseResult;\n\t};\n\t\n\t/**\r\n\t * @description 把exp解析的内容反装回真是值\r\n\t */\n\t/**\r\n\t * @description 字符串解析内容\r\n\t */\n\tvar parseToData = exports.parseToData = function parseToData(exp, // parse 返回值\n\tdata, // 映射的params数组\n\tthat // 返回对象指针\n\t) {\n\t try {\n\t var result = void 0;\n\t\n\t if (exp['matchObject']) {\n\t result = (0, _match.matchObject)(data, exp['matchObject']);\n\t return result;\n\t }\n\t\n\t if (exp['matchArray']) {\n\t result = (0, _match.matchArray)(data, exp['matchArray']);\n\t return result;\n\t }\n\t\n\t if (exp['noMatch']) {\n\t result = exp['noMatch'];\n\t return result;\n\t }\n\t\n\t //if (exp['defaultParam']) {\n\t // result = getData(data, exp['matchParam']) || getParams(exp['defaultParam'], obj);\n\t // return result;\n\t //}\n\t\n\t if (exp['matchParam']) {\n\t result = getData(data, exp['matchParam']) || (0, _util.typeCharge)(exp['default']);\n\t return result;\n\t }\n\t\n\t if (exp['matchFun']) {\n\t result = exp['matchFun'].apply(that, [data].concat((0, _util.objToArray)(_stack2.default, 'value')));\n\t return result;\n\t }\n\t } catch (e) {\n\t console.log(e);\n\t }\n\t};\n\t\n\tvar getParams = function getParams(str, obj) {\n\t var createFun = function createFun() {\n\t return new Function(str);\n\t };\n\t obj.title = createFun();\n\t};\n\t\n\tvar getData = function getData(data, exp // 对应的对象字面量字符串 xx.xxx\n\t) {\n\t var par = data;\n\t var token = exp.split('.');\n\t // 递归获取\n\t var _iteratorNormalCompletion2 = true;\n\t var _didIteratorError2 = false;\n\t var _iteratorError2 = undefined;\n\t\n\t try {\n\t for (var _iterator2 = token[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t var i = _step2.value;\n\t\n\t par = par[i];\n\t }\n\t } catch (err) {\n\t _didIteratorError2 = true;\n\t _iteratorError2 = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t _iterator2.return();\n\t }\n\t } finally {\n\t if (_didIteratorError2) {\n\t throw _iteratorError2;\n\t }\n\t }\n\t }\n\t\n\t return par;\n\t};\n\n/***/ })\n/******/ ])});;\n\n\n// WEBPACK FOOTER //\n// bundle.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a62c7fca1c8132699a5f","import match from 'MATCH/match';\n\nexport default match;\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","export const isObj = function (obj) {\r\n return typeof obj === 'object' && !(obj instanceof Array);\r\n};\r\n\r\nexport const isFun = function (obj) {\r\n return typeof obj === 'function';\r\n};\r\n\r\nexport const isArray = function (obj) {\r\n return !isObj(obj) && (obj instanceof Array);\r\n};\r\n\r\nexport const isStr = function (str) {\r\n return typeof str === 'string';\r\n};\r\n\r\n\r\n/**\r\n * @description 类型转换\r\n **/\r\nexport const typeCharge = function (\r\n str: string\r\n) {\r\n try {\r\n str = str.trim();\r\n const stringReg = /^(['\"])(.*)\\1$/;\r\n\r\n // 若果是以''包住 或者\"\"包住\r\n if (stringReg.test(str)) {\r\n // 返回字符串\r\n str = str.match(stringReg).pop(); \r\n return str;\r\n } else {\r\n // 说明不是字符串类型的值\r\n let num = parseFloat(str);\r\n let boo = str === 'false' ? false : (str === 'true' ? true: '');\r\n str = num || boo !== '' ? num || boo : str;\r\n return str;\r\n }\r\n } catch (e) {\r\n return str;\r\n }\r\n};\r\n\r\nexport const objToArray = function (\r\n data: Array, // 转换的对象数组\r\n key: string // 转化你的值\r\n) {\r\n try {\r\n let arr = [];\r\n for (let i of data) {\r\n arr = arr.concat(i[key]);\r\n }\r\n\r\n return arr;\r\n } catch (e) {\r\n return [];\r\n };\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/util.js","/**\r\n * @descrption 增加全局配置项\r\n */\r\nimport { isObj } from 'LIB/util';\r\n// 全局配置项\r\nlet config = {\r\n filterUndefined: true, // 过滤undefined\r\n filterNull: true, // 过滤null\r\n autoComplete: false // 自动补全\r\n};\r\n\r\nexport default config;\r\n\r\nexport const extendConfig = (\r\n obj: object\r\n) => {\r\n\r\n if (!isObj(obj)) {\r\n console.log('error config type');\r\n return;\r\n }\r\n\r\n Object.assign(config, obj);\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/match/config.js","import { parse , parseToData } from 'MATCH/parse';\r\nimport {\r\n isFun,\r\n isObj,\r\n isArray\r\n} from 'LIB/util';\r\nimport { pushStack, removeStack, cleanStack, updateStack } from 'MATCH/stack';\r\nimport filter from 'MATCH/filter';\r\nimport autoComplete from 'MATCH/auto-complete';\r\nimport config , { extendConfig } from 'MATCH/config';\r\n\r\n\r\n/**\r\n * 对象映射\r\n */\r\nexport const matchObject = function (\r\n data: any,\r\n obj: object\r\n) {\r\n let exp;\r\n let result = {};\r\n\r\n for (let i in obj) {\r\n exp = parse(obj[i]);\r\n result[i] = parseToData(exp, data, result);\r\n filter(i, result);\r\n }\r\n autoComplete(result, data);\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * 数组映射\r\n */\r\nexport const matchArray = function (\r\n data: any,\r\n arr: Array\r\n) {\r\n let exp;\r\n let result = {};\r\n\r\n if (arr.length === 1) {\r\n // 直接映射 data\r\n for (let i = 0; i < data.length; i++) {\r\n result[i] = matchObject(data[i], arr[0]);\r\n }\r\n }\r\n\r\n if (arr.length === 2) {\r\n // 映射data的对象\r\n data= data[arr[0]];\r\n for (let i = 0; i < data.length; i++) {\r\n result[i] = matchObject(data[i], arr[1]);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\nconst match = {\r\n parse: (\r\n combineData: object | Array,\r\n keyData: object | Array\r\n ) => {\r\n let matchData = {};\r\n let result;\r\n\r\n if (isObj(keyData)) {\r\n result = matchObject(combineData, keyData);\r\n }\r\n\r\n if (isArray(keyData)) {\r\n result = matchArray(combineData, keyData);\r\n }\r\n\r\n return result;\r\n },\r\n register: (\r\n obj: object | Array,\r\n name: string\r\n ) => {\r\n pushStack({\r\n value: obj,\r\n name: name\r\n });\r\n },\r\n update: (\r\n obj: object | Array,\r\n name: string\r\n ) => {\r\n updateStack(obj, name);\r\n },\r\n // 移除register的内容\r\n remove: (\r\n name: string\r\n ) => {\r\n removeStack(name);\r\n },\r\n removeAll: (\r\n ) => {\r\n cleanStack();\r\n },\r\n config: (\r\n obj: object\r\n ) => {\r\n extendConfig(obj);\r\n }\r\n};\r\n\r\nexport default match;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/match/match.js","/**\r\n * @description 存储公共内容\r\n */\r\nimport {\r\n isFun,\r\n isObj,\r\n isStr,\r\n isArray\r\n} from 'LIB/util';\r\n\r\nlet stack = [];\r\n\r\nexport default stack;\r\n\r\nexport const pushStack = function (\r\n key: object\r\n) {\r\n let has = false;\r\n for (let i = 0; i < stack.length; i++) {\r\n if (stack[i].name === key.name) {\r\n stack[i] = key;\r\n has = true;\r\n }\r\n }\r\n\r\n if (!has) stack.push(key);\r\n};\r\n\r\nexport const updateStack = function (\r\n key: object | Array,\r\n name: string\r\n) {\r\n try {\r\n for (let i = 0; i < stack.length; i++) {\r\n if (stack[i].name === name) {\r\n stack[i].value = key;\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n};\r\n\r\nexport const removeStack = function (\r\n name: string\r\n) {\r\n for (let i = 0; i < stack.length;) {\r\n if (stack[i].name === name) {\r\n stack.splice(i, 1);\r\n } else {\r\n i++;\r\n }\r\n }\r\n};\r\n\r\nexport const cleanStack = function () {\r\n stack = [];\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/match/stack.js","/**\r\n * @description match的自动补全\r\n */\r\nimport config from 'MATCH/config';\r\n\r\nconst autoComplete = (\r\n result: object,\r\n data: object\r\n) => {\r\n\r\n if (!config.autoComplete) return;\r\n\r\n for (let i in data) {\r\n if (!result.hasOwnProperty(i)) {\r\n result[i] = data[i];\r\n }\r\n }\r\n};\r\n\r\nexport default autoComplete;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/match/auto-complete.js","/**\r\n * @descprtion 过滤函数 过滤一些undefined等特殊情况\r\n */\r\nimport config from 'MATCH/config';\r\n\r\nconst filter = (\r\n key: string,\r\n result: ojbect \r\n) => {\r\n if (config.filterUndefined && result[key] === undefined) {\r\n delete result[key];\r\n }\r\n\r\n if (config.filterNull && result[key] === null) {\r\n delete result[key];\r\n }\r\n};\r\n\r\nexport default filter;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/match/filter.js","/**\r\n * @description 字符串解析内容\r\n */\r\nimport {\r\n isFun,\r\n isObj,\r\n isStr,\r\n isArray,\r\n typeCharge,\r\n objToArray\r\n} from 'LIB/util';\r\n\r\nimport {\r\n matchObject,\r\n matchArray\r\n} from 'MATCH/match';\r\n\r\nimport stack from 'MATCH/stack';\r\n\r\nexport const parse = function (\r\n str: any\r\n) {\r\n let strArr;\r\n let i;\r\n let token;\r\n let parseResult = {\r\n };\r\n const tokenReg = /\\$\\$\\{\\{(.*)\\}\\}/;\r\n\r\n if (isObj(str)) {\r\n // 递归映射\r\n parseResult['matchObject'] = str;\r\n return parseResult;\r\n }\r\n\r\n if (isArray(str)) {\r\n // 数组递归映射\r\n parseResult['matchArray'] = str;\r\n return parseResult;\r\n }\r\n\r\n if (isFun(str)) {\r\n // 执行函数\r\n parseResult['matchFun'] = str;\r\n return parseResult;\r\n }\r\n\r\n if (!isStr(str) || !tokenReg.test(str)) {\r\n // 不是字符串 直接返回\r\n parseResult['noMatch'] = str;\r\n return parseResult;\r\n }\r\n\r\n strArr = str.split('||');\r\n for (i of strArr) {\r\n\r\n token = i.trim().match(tokenReg);\r\n\r\n if (token && token.length && token.length >= 1) {\r\n parseResult['matchParam'] = token[1];\r\n continue;\r\n }\r\n\r\n if (!token) {\r\n //if (i.indexOf('{{') !== -1) {\r\n // parseResult['defaultParam'] = 'return b';\r\n //} else {\r\n parseResult['default'] = i.trim();\r\n //}\r\n }\r\n }\r\n\r\n return parseResult;\r\n};\r\n\r\n/**\r\n * @description 把exp解析的内容反装回真是值\r\n */\r\nexport const parseToData = function (\r\n exp: object, // parse 返回值\r\n data: object, // 映射的params数组\r\n that: object // 返回对象指针\r\n) {\r\n try {\r\n let result;\r\n\r\n\r\n if (exp['matchObject']) {\r\n result = matchObject(data, exp['matchObject']);\r\n return result;\r\n }\r\n\r\n if (exp['matchArray']) {\r\n result = matchArray(data, exp['matchArray']);\r\n return result;\r\n }\r\n\r\n if (exp['noMatch']) {\r\n result = exp['noMatch'];\r\n return result;\r\n }\r\n\r\n //if (exp['defaultParam']) {\r\n // result = getData(data, exp['matchParam']) || getParams(exp['defaultParam'], obj);\r\n // return result;\r\n //}\r\n\r\n if (exp['matchParam']) {\r\n result = getData(data, exp['matchParam']) || typeCharge(exp['default']);\r\n return result;\r\n }\r\n\r\n if (exp['matchFun']) {\r\n result = exp['matchFun'].apply(that, [data].concat(objToArray(stack, 'value')));\r\n return result;\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n};\r\n\r\nconst getParams = function (str, obj) {\r\n let createFun = function () {\r\n return new Function (str);\r\n }\r\n obj.title = createFun();\r\n};\r\n\r\nconst getData = function (\r\n data: object,\r\n exp: str // 对应的对象字面量字符串 xx.xxx\r\n) {\r\n let par = data;\r\n let token = exp.split('.');\r\n // 递归获取\r\n for (let i of token) {\r\n par = par[i];\r\n }\r\n\r\n return par;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/match/parse.js"],"sourceRoot":""}
\No newline at end of file