UNPKG

@elgervb/mock-data

Version:

Mock data made easy, while maintaining type safety

42 lines 1.45 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generate = void 0; var transform_1 = require("./transform"); /** * Generate a mock from a blueprint */ function generate(blueprint, withDefaults) { var mock = Object.create(null); var allKeys = Array.from(new Set(Object.keys(blueprint).concat(Object.keys(__assign({}, withDefaults))))); allKeys.forEach(function (key) { var _a; var value; if (withDefaults) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore value = withDefaults[key]; } // otherwise, use the generator if (value === undefined) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore var generator = blueprint[key]; value = generator(); } Object.assign(mock, (_a = {}, _a[key] = value, _a)); }); return (0, transform_1.transform)(mock); } exports.generate = generate; //# sourceMappingURL=mock.js.map