UNPKG

@scalar/api-client

Version:

the open source API testing client

56 lines (55 loc) 1.57 kB
import { securitySchemeSchema as m } from "@scalar/oas-utils/entities/spec"; import { LS_KEYS as d } from "@scalar/helpers/object/local-storage"; import { mutationFactory as a } from "@scalar/object-utils/mutator-record"; import { reactive as y } from "vue"; function l(u) { const c = y({}), i = a( c, y({}), u && d.SECURITY_SCHEME ); return { securitySchemes: c, securitySchemeMutators: i }; } function b({ securitySchemeMutators: u, collectionMutators: c, collections: i, requests: S, requestMutators: s }) { return { addSecurityScheme: (r, e) => { const t = m.parse(r); return u.add(t), e && i[e] && c.edit(e, "securitySchemes", [ ...i[e].securitySchemes, t.uid ]), t; }, deleteSecurityScheme: (r) => { Object.values(i).forEach((e) => { e.securitySchemes.includes(r) && c.edit( e.uid, "securitySchemes", e.securitySchemes.filter((t) => t !== r) ); }), Object.values(S).forEach((e) => { e.security?.some((t) => Object.keys(t).includes(r)) && s.edit( e.uid, "security", S[e.uid]?.security?.filter((t) => !Object.keys(t).includes(r)) ), e.selectedSecuritySchemeUids.flat().includes(r) && s.edit( e.uid, "selectedSecuritySchemeUids", e.selectedSecuritySchemeUids?.filter((t) => Array.isArray(t) ? !t.includes(r) : t !== r) ); }), u.delete(r); } }; } export { l as createStoreSecuritySchemes, b as extendedSecurityDataFactory };