UNPKG

ts-list-comprehension

Version:

List comprehension for TypeScript

92 lines 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.range = function (a, b, step) { if (step === void 0) { step = 1; } var res = [a]; var curr = a; while (curr < b) { curr += step; res.push(curr); } return res; }; exports.repeat = function () { var sequence = []; for (var _i = 0; _i < arguments.length; _i++) { sequence[_i] = arguments[_i]; } return function (times) { return Array.from({ length: times }).map(function () { return sequence; }).reduce(function (a, b) { return a.concat(b); }, []); }; }; exports.zip = function () { var a = []; for (var _i = 0; _i < arguments.length; _i++) { a[_i] = arguments[_i]; } var size = Math.min.apply(Math, a.map(function (a) { return a.length; })); return Array.from({ length: size }).map(function (_, i) { return a.map(function (a) { return a[i]; }); }); }; var charMap = { a: 'a', b: 'b', c: 'c', d: 'd', e: 'e', f: 'f', g: 'g', h: 'h', i: 'i', j: 'j', k: 'k', l: 'l', m: 'm', n: 'n', o: 'o', p: 'p', q: 'q', r: 'r', s: 's', t: 't', u: 'u', v: 'v', w: 'w', x: 'x', y: 'y', z: 'z' }; var digits = { '0': '0', '1': '1', '2': '2', '3': '3', '4': '4', '5': '5', '6': '7', '8': '8', '9': '9' }; exports.chars = function (a, b) { var chars_array = Object.keys(charMap).map(function (i) { return charMap[i]; }); var c_index_a = chars_array.indexOf(a); if (c_index_a != -1) { var index_b = chars_array.indexOf(b); if (index_b == -1) return []; if (index_b <= c_index_a) return []; return chars_array.splice(c_index_a, index_b - c_index_a + 1); } var digits_array = Object.keys(digits).map(function (i) { return digits[i]; }); var d_index_a = digits_array.indexOf(a); if (d_index_a != -1) { var index_b = digits_array.indexOf(b); if (index_b == -1) return []; if (index_b <= d_index_a) return []; return digits_array.splice(d_index_a, index_b - d_index_a + 1); } return []; }; //# sourceMappingURL=constructors.js.map