efate
Version:
javascript test fixture generator. Autofixturejs 2.0
23 lines (22 loc) • 1.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const field_1 = __importDefault(require("../field"));
const lorem_ipsum_1 = require("./lorem-ipsum");
const defaultOptions = {
maxLength: 25,
minLength: 10,
};
const generateText = ({ minLength, maxLength }) => {
const constrainedMaxLength = lorem_ipsum_1.loremIpsumText.length - maxLength;
const startPosition = Math.floor(Math.random() * constrainedMaxLength);
const length = Math.floor(Math.random() * (maxLength - minLength + 1)) + minLength;
return lorem_ipsum_1.loremIpsumText.substr(startPosition, length);
};
const loremIpsumBuilder = (fieldName, [options]) => (increment) => {
const optionsWithDefaults = { ...defaultOptions, ...options };
return new field_1.default(fieldName, generateText(optionsWithDefaults));
};
exports.default = loremIpsumBuilder;