UNPKG

@scalar/api-client

Version:

the open source API testing client

48 lines (47 loc) 1.29 kB
import { createExampleFromRequest as c } from "@scalar/oas-utils/entities/spec"; import { LS_KEYS as x } from "@scalar/helpers/object/local-storage"; import { iterateTitle as u } from "@scalar/helpers/string/iterate-title"; import { mutationFactory as E } from "@scalar/object-utils/mutator-record"; import { reactive as n } from "vue"; function T(o) { const t = n({}), m = E( t, n({}), o && x.REQUEST_EXAMPLE ); return { requestExamples: t, requestExampleMutators: m }; } function _({ requestExamples: o, requestExampleMutators: t, requestMutators: m, requests: p }) { return { addRequestExample: (e, a) => { const r = a ?? u( (e.summary ?? "Example") + " #1", (l) => e.examples.some((s) => { var d; return ((d = o[s]) == null ? void 0 : d.name) === l; }) ), i = c(e, r); return t.add(i), m.edit(e.uid, "examples", [...e.examples, i.uid]), i; }, deleteRequestExample: (e) => { var a; e.requestUid && (m.edit( e.requestUid, "examples", ((a = p[e.requestUid]) == null ? void 0 : a.examples.filter((r) => r !== e.uid)) || [] ), t.delete(e.uid)); } }; } export { T as createStoreRequestExamples, _ as extendedExampleDataFactory };