UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

49 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseJsonSafe = exports.serializeRegExp = exports.buildCounter = exports.flattenArrayed = exports.cast = exports.wait = void 0; const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); exports.wait = wait; const cast = (payload) => payload; exports.cast = cast; const flattenArrayed = (payload) => { if (payload?.every?.(Array.isArray)) { return payload.reduce((acc, nestedPayload) => acc.concat((0, exports.flattenArrayed)(nestedPayload)), []); } return Array.isArray(payload) ? [payload] : [[payload]]; }; exports.flattenArrayed = flattenArrayed; /** * @example * ```ts * const counter = buildCounter(5); * * counter() // 6 * counter() // 7 * counter(2) // 9 * ``` */ const buildCounter = (initial = 0, step = 1) => (value = step) => (initial += value); exports.buildCounter = buildCounter; const serializeRegExp = (exp) => ({ source: exp.source, flags: exp.flags, }); exports.serializeRegExp = serializeRegExp; const parseJsonSafe = (serializedJson) => { try { return { status: 'OK', result: JSON.parse(serializedJson), }; } catch (error) { return { status: 'ERROR', error: error instanceof Error ? error : new Error('Unknown'), }; } }; exports.parseJsonSafe = parseJsonSafe; //# sourceMappingURL=index.js.map