UNPKG

@scalar/oas-utils

Version:

Open API spec and Yaml handling utilities

52 lines (51 loc) 1.71 kB
const migrate_v_2_3_0 = (data) => { console.info("Performing data migration v-2.2.0 to v-2.3.0"); const environments = data.environments; const workspaces = Object.values(data.workspaces).reduce((prev, w) => { const workspaceEnvironments = {}; Object.entries(environments).forEach(([envId, envData]) => { const parsedData = typeof envData.value === "string" ? JSON.parse(envData.value) : envData.value; if (envId === "default") { Object.assign(workspaceEnvironments, parsedData); } }); prev[w.uid] = { ...w, environments: workspaceEnvironments }; return prev; }, {}); const collections = Object.values(data.collections).reduce((prev, c) => { prev[c.uid] = { ...c, "x-scalar-environments": c["x-scalar-environments"] || {} }; return prev; }, {}); Object.values(workspaces).forEach((workspace) => { Object.entries(environments).forEach(([envKey, envData]) => { if (envKey !== "default") { const parsedData = typeof envData.value === "string" ? JSON.parse(envData.value) : envData.value; const envName = envData.name; Object.values(collections).forEach((collection) => { collection["x-scalar-environments"] = collection["x-scalar-environments"] || {}; collection["x-scalar-environments"][envName] = { variables: parsedData }; if (workspace.activeEnvironmentId === envKey) { collection["x-scalar-active-environment"] = envName ?? ""; } }); } }); }); return { ...data, collections, workspaces }; }; export { migrate_v_2_3_0 }; //# sourceMappingURL=migration.js.map