UNPKG

@sula/ruler

Version:

83 lines (64 loc) 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.matchNameList = matchNameList; exports.transObjToArr = transObjToArr; exports.transArrToObj = transArrToObj; exports.resetObj = resetObj; var _toArray = _interopRequireDefault(require("./toArray")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * 'a' ['a'] = true * ['a'] ['a', 'b'] = false */ function matchNameList(name, changedName) { var namePathArray = (0, _toArray.default)(name); var changedNamePathArray = (0, _toArray.default)(changedName); if (namePathArray.length !== changedNamePathArray.length) { return false; } return namePathArray.every(function (nameUnit, i) { return changedNamePathArray[i] === nameUnit; }); } /** * obj: { 0: [{name: 1}], 1: [{name: 2}], 2: undefined } * len: 2 * return: [{name:1}, {name:2}] */ function transObjToArr(obj, len) { var arr = []; for (var i = 0; i < len; i += 1) { arr.push(obj[i]); } return arr; } /** * arr: [{name: 1}] * len: 2 * return: {0: {name:1}, 1: undefined} */ function transArrToObj(arr, len) { var obj = Object.create(null); for (var i = 0; i < len; i += 1) { obj[i] = arr[i]; } return obj; } /** * obj: { 0: [{name: 1}], 1: [{name: 2}], 2: [{name: 3}] } * len: 2 * return: { 0: [{name: 1}], 1: [{name: 2}], 2: undefined } */ function resetObj(obj, len) { var keys = Object.keys(obj); var oLen = keys.length; if (oLen <= len) { return obj; } for (var i = len; i < oLen; i += 1) { obj[i] = undefined; } return obj; }