@scalar/api-client
Version:
the open source API testing client
56 lines (55 loc) • 1.27 kB
JavaScript
const c = (a, t, o, {
context: n,
defaultParameters: i = 0,
globalParameters: l = 0
}) => {
const p = i + l;
return {
delete: (e) => {
const r = n[e.index]?.originalParameter;
r && t.emit(
"operation:delete:parameter",
{
originalParameter: r,
meta: o
},
{
skipUnpackProxy: !0
}
);
},
deleteAll: () => t.emit("operation:delete-all:parameters", {
type: a,
meta: o
}),
upsert: (e, r) => {
const s = n[e];
if (e < i + l) {
const m = e < i ? "default" : "global";
return t.emit("operation:update:extra-parameters", {
type: m,
in: a,
meta: { ...o, name: s?.name?.toLowerCase?.() ?? "NON_VALID" },
payload: { isDisabled: r.isDisabled ?? !1 }
});
}
if (e >= p)
return t.emit(
"operation:upsert:parameter",
{
type: a,
payload: r,
originalParameter: s?.originalParameter ?? null,
meta: o
},
{
skipUnpackProxy: !0,
debounceKey: `update:parameter-${a}-${e - p}`
}
);
}
};
};
export {
c as createParameterHandlers
};