UNPKG

@bemedev/types

Version:

Type definitions for Bemedev projects

75 lines (71 loc) 2.24 kB
'use strict'; var utils = require('../utils.cjs'); const arrays = utils.expandFn((...values) => values, { low: (...values) => values, is: (value) => { return Array.isArray(value); }, indexes: (...array) => { const out = array.map((_, index) => index); return utils._unknown(out); }, lengthOf: (...array) => { const out = array.length; return utils._unknown(out); }, tupleOf: utils.expandFn((...args) => { const out = args; return utils._unknown(out); }, { number: utils.expandFn((data, times) => { const out = Array.from({ length: times }, () => data); return utils._unknown(out); }, { is: (fn) => { const _out = (value, length) => { const isArray = Array.isArray(value); const out = isArray && value.length === length && value.every(fn); return out; }; return _out; }, }), is: (fn) => { const _out = (value) => { return Array.isArray(value) && value.every(fn); }; return _out; }, }), reduce: (value) => { const out = Array.isArray(value) ? value[0] : value; return utils._unknown(out); }, toArray: (value) => { const checkArray = Array.isArray(value); const out = checkArray ? value : [value]; return utils._unknown(out); }, reverse: (...args) => { const out = args.slice().reverse(); return utils._unknown(out); }, freeze: (...args) => Object.freeze(arrays.tupleOf(...args)), extract: (array, ...extractors) => { const out = array.filter(item => extractors.includes(item)); return utils._unknown(out); }, exclude: (array, ...excludes) => { const out = array.filter(item => !excludes.includes(item)); return utils._unknown(out); }, forceCast: (value) => { return utils._unknown(value); }, dynamic: (value) => { return utils._unknown(value); }, type: Array, }); exports.arrays = arrays; //# sourceMappingURL=arrays.cjs.map