UNPKG

@helpscout/helix

Version:

A Faker-powered fixture generator for Javascript

43 lines (36 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); /** * Recursively renders faker methods. This function is used in the * faker.computed method. * * @param object $faker Faker class/object * @param object $props Faker values to render * @param number $seedValue Seed value for Faker * * @returns object */ var makeComposedProps = function makeComposedProps(faker) { return function (props, seedValue) { return (0, _lodash.mapValues)(props, function (value, key) { if ((0, _lodash.isPlainObject)(value)) { return makeComposedProps(faker)(value, seedValue); } if ((0, _lodash.isArray)(value)) { return value.map(function (val) { return makeComposedProps(faker)(val, seedValue); }); } if (seedValue) { faker.seed(seedValue); } return (0, _lodash.isFunction)(value) ? value() : value; }); }; }; var _default = makeComposedProps; exports.default = _default;