UNPKG

cooky-cutter

Version:

Object factories for testing in TypeScript

26 lines (25 loc) 908 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.array = exports.ARRAY_FACTORY_KEY = void 0; exports.ARRAY_FACTORY_KEY = "arrayFactory"; /** * Define a new array factory function. The return value is a function that can be * invoked as many times as needed to create an array of object of given type. * * @param factory An existing factory object. * @param size Size of target array can be a static value. */ function array(factory, size = 5) { const arrayFactory = (override) => { const arr = []; for (let i = 0; i < size; i++) { arr.push(factory(override)); } return arr; }; // Define a property to differentiate this function during the evaluation // phase when the factory is later invoked. arrayFactory.__cooky_cutter = exports.ARRAY_FACTORY_KEY; return arrayFactory; } exports.array = array;