@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
49 lines • 1.46 kB
JavaScript
;
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