UNPKG

@helpscout/helix

Version:

A Faker-powered fixture generator for Javascript

52 lines (41 loc) 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); var _makeComposedProps = _interopRequireDefault(require("./makeComposedProps")); var _log = require("../utils/log"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Creates a function that HelixSpec.generate can use to render computed * values. This function takes in the props (object), renders them using Faker, * then passes the remapped props to the callback function. * * @param object $faker Faker class/object * @param object $props Faker values to render * @param number $seedValue Seed value for Faker * @param function $computedCallback Callback to execute to render value * * @returns function */ var computed = function computed(faker) { return function (props, seedValue) { return function (computedCallback) { (0, _log.warn)('Helix: faker.computed has been deprecated. Please use derived() instead.'); if (!(0, _lodash.isPlainObject)(props)) { throw new _log.Exception('faker.computed', 'First argument must be a valid object.'); } if (seedValue !== undefined && !(0, _lodash.isNumber)(seedValue)) { throw new _log.Exception('faker.computed', 'faker.seed value must be a valid number.'); } var generator = function generator(seedValue) { return computedCallback((0, _makeComposedProps.default)(faker)(props, seedValue)); }; generator.fakerComputedValue = true; return generator; }; }; }; var _default = computed; exports.default = _default;