@scalar/api-reference
Version:
Generate beautiful API references from OpenAPI documents
62 lines (61 loc) • 2.55 kB
JavaScript
import { onCustomEvent as a } from "@scalar/workspace-store/events";
const y = (p, S, b, s) => {
const { servers: u, serverMutators: d, requestMutators: m, collectionMutators: o, securitySchemeMutators: n } = S, { activeCollection: i, activeServer: v } = b;
a(s, "scalar-replace-servers", ({ detail: { servers: e, options: t } }) => {
if (t?.disableOldStoreUpdate === !0)
return;
const r = i.value;
if (!r)
return console.warn("No active collection found");
r.servers.forEach((l) => {
d.delete(l, r.uid);
}), e.forEach((l) => {
const f = Object.values(u).find((h) => h.url === l.url);
f && d.add(f, r.uid);
});
const c = Object.values(u).find((l) => l.url === e.at(-1)?.url);
o.edit(r.uid, "selectedServerUid", c?.uid);
}), a(s, "scalar-update-selected-server", ({ detail: { value: e, options: t } }) => {
if (t?.disableOldStoreUpdate === !0)
return;
const r = i.value;
if (!r)
return;
const c = Object.values(u).find((l) => l.url === e);
c && o.edit(r.uid, "selectedServerUid", c.uid);
}), a(s, "store-update-selected-server-properties", ({ detail: { key: e, value: t, options: r } }) => {
if (r?.disableOldStoreUpdate)
return;
const c = v.value;
c && d.edit(c.uid, e, t);
}), a(s, "scalar-update-selected-server-variables", ({ detail: { key: e, value: t, options: r } }) => {
if (r?.disableOldStoreUpdate === !0)
return;
const c = v.value;
if (!c || c.url !== p.workspace.activeDocument?.["x-scalar-active-server"])
return;
const l = c.variables || {};
l[e] = { ...l[e], default: t }, d.edit(c.uid, "variables", l);
}), a(s, "scalar-select-security-schemes", ({ detail: { uids: e } }) => {
const t = i.value;
if (!t)
return console.warn("No active collection found");
o.edit(t.uid, "selectedSecuritySchemeUids", e);
}), a(s, "scalar-select-operation-security-schemes", ({ detail: { operationUid: e, uids: t } }) => {
m.edit(e, "selectedSecuritySchemeUids", t);
}), a(s, "scalar-edit-security-scheme", ({ detail: { uid: e, path: t, value: r } }) => {
n.edit(e, t, r);
}), a(s, "scalar-add-auth-option", ({ detail: { payload: e } }) => {
const t = i.value;
if (!t)
return console.warn("No active collection found");
n.add(e, t.uid);
}), a(s, "scalar-delete-security-scheme", ({ detail: { uid: e } }) => {
if (!i.value)
return console.warn("No active collection found");
n.delete(e);
});
};
export {
y as useLegacyStoreEvents
};