@helpscout/helix
Version:
A Faker-powered fixture generator for Javascript
52 lines (41 loc) • 1.71 kB
JavaScript
;
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;