UNPKG

@dbs-portal/tool-mock

Version:

API mocking toolkit using MSW for DBS Portal development workflows

184 lines (183 loc) 3.69 kB
function l(t, r = {}) { return (e) => (r.seed !== void 0 && y(r.seed), t(e)); } function d(t, r = 10) { return (e, n) => { const a = e ?? r, o = []; for (let c = 0; c < a; c++) o.push(t(n)); return o; }; } function w(t) { return l(t); } function h(...t) { return (r) => { let e = {}; for (const n of t) { const a = n(); e = { ...e, ...a }; } return r && (e = { ...e, ...r }), e; }; } function p(t, r) { return (e) => { const n = t(); return r(n, e); }; } function g(t, r, e) { return (n) => (t() ? r : e)(n); } function F(t) { return (r) => { const e = t.reduce((o, c) => o + c.weight, 0), n = Math.random() * e; let a = 0; for (const o of t) if (a += o.weight, n <= a) return o.factory(r); return t[0]?.factory(r) || {}; }; } function T(t, r = 0) { let e = r; return () => { if (t.length === 0) throw new Error("Cannot create sequence from empty array"); const n = t[e % t.length]; return e++, n; }; } function P(t, r = (n) => JSON.stringify(n), e = 100) { const n = /* @__PURE__ */ new Set(); return (a) => { for (let o = 0; o < e; o++) { const c = t(a), i = r(c); if (!n.has(i)) return n.add(i), c; } return console.warn("Could not generate unique value after", e, "attempts"), t(a); }; } function k(t, r = 100) { const e = /* @__PURE__ */ new Map(), n = []; return (a) => { const o = JSON.stringify(a || {}); if (e.has(o)) return e.get(o); const c = t(a); if (e.size >= r) { const i = n.shift(); i && e.delete(i); } return e.set(o, c), n.push(o), c; }; } function D(t, r, e = 10) { return (n) => { for (let a = 0; a < e; a++) { const o = t(n); if (r(o)) return o; } return console.warn("Factory validation failed after", e, "attempts"), t(n); }; } function M(t, r) { let e = 0, n = 0; return (a) => { const o = performance.now(), c = t(a), i = performance.now(); return e++, n += i - o, r && r(c, { count: e, totalTime: n }), c; }; } let u = 1; function y(t) { u = t; } function m() { const t = Math.sin(u++) * 1e4; return t - Math.floor(t); } function f() { return u > 1 ? m() : Math.random(); } function S() { u = 1; } async function s(t) { if (t === 0) return; let r; if (Array.isArray(t)) { const [e, n] = t; r = e + f() * (n - e); } else r = t; r > 0 && await new Promise((e) => setTimeout(e, r)); } function b(t) { return async (r) => { await s(r ?? t); }; } async function q(t, r = 1.5, e = 5e3) { let n; if (Array.isArray(t)) { const [a, o] = t; n = a + f() * (o - a); } else n = t; n = Math.min(n * r, e), n > 0 && await new Promise((a) => setTimeout(a, n)); } async function x(t, r = 0.1) { const e = t * r, n = t + (f() - 0.5) * 2 * e; n > 0 && await new Promise((a) => setTimeout(a, n)); } async function C(t = "fast") { switch (t) { case "fast": await s([10, 50]); break; case "slow": await s([2e3, 5e3]); break; case "unstable": await s([100, 3e3]); break; case "offline": throw new Error("Network offline"); default: await s([100, 300]); } } async function R(t, r) { const e = s(t), n = new Promise((a, o) => { setTimeout(() => o(new Error("Delay timeout")), r); }); await Promise.race([e, n]); } export { d as a, w as b, l as c, h as d, p as e, g as f, k as g, f as h, M as i, s as j, b as k, q as l, x as m, C as n, R as o, S as r, T as s, P as u, D as v, F as w }; //# sourceMappingURL=delay-C3BTE-53.js.map