UNPKG

doublescore

Version:

Utility functions for managing data structures and measurement.

72 lines 2.16 kB
'use strict'; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var clone_1 = __importDefault(require("./clone")); var types = __importStar(require("./types")); function iterate() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args.length < 2) { return; } var indexStack = []; var iterator = args[args.length - 1]; var eachArr = function (arr) { arr.forEach(function (value, index) { each(value, index); }); }; var eachObj = function (obj) { for (var index in obj) { if (obj.hasOwnProperty(index)) { each(obj[index], index); } } }; var each = function (value, index) { indexStack.push(index); if (types.isArray(value)) { eachArr(value); } else if (types.isObject(value)) { eachObj(value); } else { iterator(value, clone_1.default(indexStack)); } indexStack.pop(); }; for (var i = 0; i < args.length - 1; i++) { var arg = args[i]; each(arg, i); } } (function (iterate) { function flatten() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var output = []; // add a callback to the args of inputs to handle all the iterations args.push(function (value) { output.push(value); }); iterate.apply(module.exports, args); return output; } iterate.flatten = flatten; })(iterate || (iterate = {})); exports.default = iterate; //# sourceMappingURL=iterate.js.map