zudoku 0.40.0 → 0.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/validators/BuildSchema.d.ts +1 -0
- package/dist/config/validators/BuildSchema.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeExtensions.d.ts +3 -2
- package/dist/lib/plugins/openapi/processors/removeExtensions.js +1 -1
- package/dist/lib/plugins/openapi/processors/removeExtensions.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +26 -6
- package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeParameters.d.ts +3 -1
- package/dist/lib/plugins/openapi/processors/removeParameters.js +1 -1
- package/dist/lib/plugins/openapi/processors/removeParameters.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeParameters.test.js +53 -25
- package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removePaths.d.ts +3 -1
- package/dist/lib/plugins/openapi/processors/removePaths.js +1 -1
- package/dist/lib/plugins/openapi/processors/removePaths.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removePaths.test.js +75 -35
- package/dist/lib/plugins/openapi/processors/removePaths.test.js.map +1 -1
- package/dist/vite/plugin-api.js +3 -9
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/zuplo/enrich-with-zuplo.d.ts +3 -3
- package/dist/zuplo/enrich-with-zuplo.js +18 -17
- package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
- package/dist/zuplo/with-zuplo-processors.d.ts +2 -2
- package/dist/zuplo/with-zuplo-processors.js +3 -3
- package/dist/zuplo/with-zuplo-processors.js.map +1 -1
- package/lib/processors/removeExtensions.js +1 -1
- package/lib/processors/removeExtensions.js.map +1 -1
- package/lib/processors/removeParameters.js +1 -1
- package/lib/processors/removeParameters.js.map +1 -1
- package/lib/processors/removePaths.js +1 -1
- package/lib/processors/removePaths.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +29 -9
- package/src/lib/plugins/openapi/processors/removeExtensions.ts +5 -3
- package/src/lib/plugins/openapi/processors/removeParameters.test.ts +67 -33
- package/src/lib/plugins/openapi/processors/removeParameters.ts +5 -3
- package/src/lib/plugins/openapi/processors/removePaths.test.ts +85 -44
- package/src/lib/plugins/openapi/processors/removePaths.ts +5 -3
|
@@ -14,6 +14,7 @@ export declare const BuildProcessorSchema: z.ZodFunction<z.ZodTuple<[z.ZodObject
|
|
|
14
14
|
dereference: (args_0: OpenAPIDocument, ...args: unknown[]) => Promise<OpenAPIDocument>;
|
|
15
15
|
}>], z.ZodUnknown>, z.ZodUnion<[z.ZodType<OpenAPIDocument, z.ZodTypeDef, OpenAPIDocument>, z.ZodPromise<z.ZodType<OpenAPIDocument, z.ZodTypeDef, OpenAPIDocument>>]>>;
|
|
16
16
|
export type Processor = z.infer<typeof BuildProcessorSchema>;
|
|
17
|
+
export type ProcessorArg = Parameters<Processor>[0];
|
|
17
18
|
export declare const BuildConfigSchema: z.ZodObject<{
|
|
18
19
|
processors: z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
|
|
19
20
|
file: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildSchema.js","sourceRoot":"","sources":["../../../src/config/validators/BuildSchema.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,QAAQ,EAAE;KACV,IAAI,CACH,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAmB;IACnC,WAAW,EAAE,CAAC;SACX,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC;SACjC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC,CAAC;CACnD,CAAC,CACH;KACA,OAAO,CACN,CAAC,CAAC,MAAM,EAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC,CAAC,CACvE,CAAC;
|
|
1
|
+
{"version":3,"file":"BuildSchema.js","sourceRoot":"","sources":["../../../src/config/validators/BuildSchema.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,QAAQ,EAAE;KACV,IAAI,CACH,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAmB;IACnC,WAAW,EAAE,CAAC;SACX,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC;SACjC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC,CAAC;CACnD,CAAC,CACH;KACA,OAAO,CACN,CAAC,CAAC,MAAM,EAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC,CAAC,CACvE,CAAC;AAKJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACpD,aAAa,EAAE,CAAC,CAAC,MAAM,EAA+B,CAAC,QAAQ,EAAE;IACjE,aAAa,EAAE,CAAC,CAAC,MAAM,EAA+B,CAAC,QAAQ,EAAE;CAClE,CAAC,CAAC;AAIH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ProcessorArg } from "../../../../config/validators/BuildSchema.js";
|
|
2
|
+
import type { OpenAPIDocument } from "../../../oas/parser/index.js";
|
|
2
3
|
interface RemoveExtensionsOptions {
|
|
3
4
|
keys?: string[];
|
|
4
5
|
shouldRemove?: (key: string) => boolean;
|
|
5
6
|
}
|
|
6
|
-
export declare const removeExtensions: ({ keys, shouldRemove }?: RemoveExtensionsOptions) => (
|
|
7
|
+
export declare const removeExtensions: ({ keys, shouldRemove }?: RemoveExtensionsOptions) => ({ schema }: ProcessorArg) => OpenAPIDocument;
|
|
7
8
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { traverse } from "./traverse.js";
|
|
2
2
|
// Remove all `x-` prefixed key/value pairs, or filter by names if provided
|
|
3
|
-
export const removeExtensions = ({ keys, shouldRemove } = {}) => (
|
|
3
|
+
export const removeExtensions = ({ keys, shouldRemove } = {}) => ({ schema }) => traverse(schema, (spec) => {
|
|
4
4
|
const result = {};
|
|
5
5
|
for (const [key, value] of Object.entries(spec)) {
|
|
6
6
|
const isExtension = key.startsWith("x-");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeExtensions.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeExtensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removeExtensions.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeExtensions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,EAAE,IAAI,EAAE,YAAY,KAA8B,EAAE,EAAE,EAAE,CACzD,CAAC,EAAE,MAAM,EAAgB,EAAE,EAAE,CAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;IACxB,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,eAAe,GACnB,WAAW;YACX,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAI,eAAe;YAAE,SAAS;QAE9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAoB,CAAC"}
|
|
@@ -66,7 +66,11 @@ const baseDoc = {
|
|
|
66
66
|
};
|
|
67
67
|
describe("removeExtensions", () => {
|
|
68
68
|
it("removes all x- extensions by default", () => {
|
|
69
|
-
const processed = removeExtensions()(
|
|
69
|
+
const processed = removeExtensions()({
|
|
70
|
+
schema: baseDoc,
|
|
71
|
+
file: "/file.json",
|
|
72
|
+
dereference: async (id) => id,
|
|
73
|
+
});
|
|
70
74
|
const removedExtensions = [
|
|
71
75
|
"x-root-ext",
|
|
72
76
|
"info.x-info-ext",
|
|
@@ -85,7 +89,7 @@ describe("removeExtensions", () => {
|
|
|
85
89
|
expect(processed.openapi).toBe("3.1.0");
|
|
86
90
|
expect(processed.info.title).toBe("Test API");
|
|
87
91
|
expect(processed).toHaveProperty(["paths", "/test", "get", "responses", "200", "description"], "OK");
|
|
88
|
-
expect(processed.tags[0]
|
|
92
|
+
expect(processed.tags?.[0]?.name).toBe("example");
|
|
89
93
|
});
|
|
90
94
|
it("removes only specified x- extensions when names are provided", () => {
|
|
91
95
|
const docWithExtraExtensions = {
|
|
@@ -94,7 +98,11 @@ describe("removeExtensions", () => {
|
|
|
94
98
|
};
|
|
95
99
|
const processed = removeExtensions({
|
|
96
100
|
keys: ["x-path-ext", "x-param-ext"],
|
|
97
|
-
})(
|
|
101
|
+
})({
|
|
102
|
+
schema: docWithExtraExtensions,
|
|
103
|
+
file: "/file.json",
|
|
104
|
+
dereference: async (id) => id,
|
|
105
|
+
});
|
|
98
106
|
// Assert specified extensions are removed
|
|
99
107
|
expect(processed.paths["/test"]["x-path-ext"]).toBeUndefined();
|
|
100
108
|
expect(processed.paths["/test"].parameters[0]["x-param-ext"]).toBeUndefined();
|
|
@@ -117,7 +125,11 @@ describe("removeExtensions", () => {
|
|
|
117
125
|
},
|
|
118
126
|
},
|
|
119
127
|
};
|
|
120
|
-
const processed = removeExtensions()(
|
|
128
|
+
const processed = removeExtensions()({
|
|
129
|
+
schema: deeplyNested,
|
|
130
|
+
file: "/file.json",
|
|
131
|
+
dereference: async (id) => id,
|
|
132
|
+
});
|
|
121
133
|
expect(processed.a.b.c["x-deep-ext"]).toBeUndefined();
|
|
122
134
|
expect(processed.a.b.c.d["x-another-ext"]).toBeUndefined();
|
|
123
135
|
expect(processed.a.b.c.d.e).toBe("value");
|
|
@@ -127,13 +139,21 @@ describe("removeExtensions", () => {
|
|
|
127
139
|
openapi: "3.1.0",
|
|
128
140
|
info: { title: "API without extensions" },
|
|
129
141
|
};
|
|
130
|
-
const processed = removeExtensions()(
|
|
142
|
+
const processed = removeExtensions()({
|
|
143
|
+
schema: docWithoutExtensions,
|
|
144
|
+
file: "/file.json",
|
|
145
|
+
dereference: async (id) => id,
|
|
146
|
+
});
|
|
131
147
|
expect(processed).toEqual(docWithoutExtensions);
|
|
132
148
|
});
|
|
133
149
|
it("removes extensions based on shouldRemove callback", () => {
|
|
134
150
|
const processed = removeExtensions({
|
|
135
151
|
shouldRemove: (key) => key.startsWith("x-zuplo"),
|
|
136
|
-
})(
|
|
152
|
+
})({
|
|
153
|
+
schema: baseDoc,
|
|
154
|
+
file: "/file.json",
|
|
155
|
+
dereference: async (id) => id,
|
|
156
|
+
});
|
|
137
157
|
// Should remove x-zuplo extensions
|
|
138
158
|
const removedExtensions = [
|
|
139
159
|
"x-zuplo-ext",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeExtensions.test.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeExtensions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,GAAG;IACd,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,WAAW;IACzB,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE;QACJ,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,eAAe;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,WAAW;YACzB,cAAc,EAAE,eAAe;YAC/B,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,aAAa,EAAE,WAAW;oBAC1B,eAAe,EAAE,eAAe;iBACjC;aACF;YACD,GAAG,EAAE;gBACH,iBAAiB,EAAE,WAAW;gBAC9B,eAAe,EAAE,eAAe;gBAChC,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,IAAI;wBACjB,gBAAgB,EAAE,WAAW;wBAC7B,kBAAkB,EAAE,eAAe;qBACpC;iBACF;gBACD,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,QAAQ;wBACZ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,gBAAgB,EAAE,WAAW;wBAC7B,eAAe,EAAE,eAAe;qBACjC;iBACF;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,eAAe;SAC/B;KACF;IACD,UAAU,EAAE;QACV,eAAe,EAAE;YACf,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,QAAQ;gBACZ,gBAAgB,EAAE,WAAW;gBAC7B,kBAAkB,EAAE,eAAe;aACpC;SACF;KACF;
|
|
1
|
+
{"version":3,"file":"removeExtensions.test.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeExtensions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,GAAG;IACd,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,WAAW;IACzB,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE;QACJ,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,eAAe;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,WAAW;YACzB,cAAc,EAAE,eAAe;YAC/B,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,aAAa,EAAE,WAAW;oBAC1B,eAAe,EAAE,eAAe;iBACjC;aACF;YACD,GAAG,EAAE;gBACH,iBAAiB,EAAE,WAAW;gBAC9B,eAAe,EAAE,eAAe;gBAChC,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,IAAI;wBACjB,gBAAgB,EAAE,WAAW;wBAC7B,kBAAkB,EAAE,eAAe;qBACpC;iBACF;gBACD,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,QAAQ;wBACZ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,gBAAgB,EAAE,WAAW;wBAC7B,eAAe,EAAE,eAAe;qBACjC;iBACF;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,eAAe;SAC/B;KACF;IACD,UAAU,EAAE;QACV,eAAe,EAAE;YACf,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,QAAQ;gBACZ,gBAAgB,EAAE,WAAW;gBAC7B,kBAAkB,EAAE,eAAe;aACpC;SACF;KACF;CACK,CAAC;AAET,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACnC,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG;YACxB,YAAY;YACZ,iBAAiB;YACjB,wBAAwB;YACxB,uCAAuC;YACvC,iCAAiC;YACjC,8CAA8C;YAC9C,8CAA8C;YAC9C,mBAAmB;YACnB,sDAAsD;SACvD,CAAC;QAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAC9B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,EAC5D,IAAI,CACL,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,sBAAsB,GAAG;YAC7B,GAAG,OAAO;YACV,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;SACpD,CAAC;QAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC;YACjC,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;SACpC,CAAC,CAAC;YACD,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SAC9B,CAAQ,CAAC;QAEV,0CAA0C;QAC1C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/D,MAAM,CACJ,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CACtD,CAAC,aAAa,EAAE,CAAC;QAElB,gCAAgC;QAChC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG;YACnB,CAAC,EAAE;gBACD,CAAC,EAAE;oBACD,CAAC,EAAE;wBACD,YAAY,EAAE,WAAW;wBACzB,CAAC,EAAE;4BACD,CAAC,EAAE,OAAO;4BACV,eAAe,EAAE,WAAW;yBAC7B;qBACF;iBACF;aACF;SACK,CAAC;QAET,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACnC,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SAC9B,CAAQ,CAAC;QAEV,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,oBAAoB,GAAG;YAC3B,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;SACnC,CAAC;QAET,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACnC,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC;YACjC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;SACjD,CAAC,CAAC;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;SAC9B,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,iBAAiB,GAAG;YACxB,aAAa;YACb,mBAAmB;YACnB,0BAA0B;YAC1B,wCAAwC;YACxC,+BAA+B;YAC/B,gDAAgD;YAChD,4CAA4C;YAC5C,oBAAoB;YACpB,wDAAwD;SACzD,CAAC;QAEF,kCAAkC;QAClC,MAAM,cAAc,GAAG;YACrB,YAAY;YACZ,iBAAiB;YACjB,wBAAwB;YACxB,sCAAsC;YACtC,iCAAiC;YACjC,8CAA8C;YAC9C,6CAA6C;YAC7C,kBAAkB;YAClB,sDAAsD;SACvD,CAAC;QAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAC9B,2CAA2C,EAC3C,IAAI,CACL,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ProcessorArg } from "../../../../config/validators/BuildSchema.js";
|
|
2
|
+
import type { OpenAPIDocument } from "../../../oas/parser/index.js";
|
|
1
3
|
import { type RecordAny } from "./traverse.js";
|
|
2
4
|
interface RemoveParametersOptions {
|
|
3
5
|
names?: string[];
|
|
@@ -6,5 +8,5 @@ interface RemoveParametersOptions {
|
|
|
6
8
|
parameter: RecordAny;
|
|
7
9
|
}) => boolean;
|
|
8
10
|
}
|
|
9
|
-
export declare const removeParameters: ({ names, in: locations, shouldRemove }?: RemoveParametersOptions) => (
|
|
11
|
+
export declare const removeParameters: ({ names, in: locations, shouldRemove }?: RemoveParametersOptions) => ({ schema }: ProcessorArg) => OpenAPIDocument;
|
|
10
12
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { traverse } from "./traverse.js";
|
|
2
|
-
export const removeParameters = ({ names, in: locations, shouldRemove } = {}) => (
|
|
2
|
+
export const removeParameters = ({ names, in: locations, shouldRemove } = {}) => ({ schema }) => traverse(schema, (spec) => {
|
|
3
3
|
// Helper function to filter parameters
|
|
4
4
|
const filterParameters = (parameters) => parameters.filter((p) => {
|
|
5
5
|
if (names?.includes(p.name))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeParameters.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeParameters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removeParameters.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeParameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,37 +64,53 @@ describe("removeParameters", () => {
|
|
|
64
64
|
it("removes parameters by name", () => {
|
|
65
65
|
const processed = removeParameters({
|
|
66
66
|
names: ["pathParam", "opParam"],
|
|
67
|
-
})(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
})({
|
|
68
|
+
schema: baseDoc,
|
|
69
|
+
file: "/file.json",
|
|
70
|
+
dereference: async (id) => id,
|
|
71
|
+
});
|
|
72
|
+
expect(processed.paths?.["/test"]?.parameters).toHaveLength(1);
|
|
73
|
+
expect(processed.paths?.["/test"]?.parameters?.[0]?.name).toBe("pathHeader");
|
|
74
|
+
expect(processed.paths?.["/test"]?.get?.parameters).toHaveLength(1);
|
|
75
|
+
expect(processed.paths?.["/test"]?.get?.parameters?.[0]?.name).toBe("opHeader");
|
|
72
76
|
});
|
|
73
77
|
it("removes parameters by location", () => {
|
|
74
78
|
const processed = removeParameters({
|
|
75
79
|
in: ["header"],
|
|
76
|
-
})(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
})({
|
|
81
|
+
schema: baseDoc,
|
|
82
|
+
file: "/file.json",
|
|
83
|
+
dereference: async (id) => id,
|
|
84
|
+
});
|
|
85
|
+
expect(processed.paths?.["/test"]?.parameters).toHaveLength(1);
|
|
86
|
+
expect(processed.paths?.["/test"]?.parameters?.[0]?.in).toBe("path");
|
|
87
|
+
expect(processed.paths?.["/test"]?.get?.parameters).toHaveLength(1);
|
|
88
|
+
expect(processed.paths?.["/test"]?.get?.parameters?.[0]?.in).toBe("query");
|
|
81
89
|
});
|
|
82
90
|
it("removes parameters using shouldRemove callback", () => {
|
|
83
91
|
const processed = removeParameters({
|
|
84
92
|
shouldRemove: ({ parameter }) => parameter.in === "header" && parameter.name.includes("op"),
|
|
85
|
-
})(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
})({
|
|
94
|
+
schema: baseDoc,
|
|
95
|
+
file: "/file.json",
|
|
96
|
+
dereference: async (id) => id,
|
|
97
|
+
});
|
|
98
|
+
expect(processed.paths?.["/test"]?.parameters).toHaveLength(2);
|
|
99
|
+
expect(processed.paths?.["/test"]?.get?.parameters).toHaveLength(1);
|
|
100
|
+
expect(processed.paths?.["/test"]?.get?.parameters?.[0]?.name).toBe("opParam");
|
|
89
101
|
});
|
|
90
102
|
it("combines multiple removal criteria", () => {
|
|
91
103
|
const processed = removeParameters({
|
|
92
104
|
in: ["query", "header"],
|
|
93
105
|
shouldRemove: ({ parameter }) => parameter.name === "pathHeader",
|
|
94
|
-
})(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
106
|
+
})({
|
|
107
|
+
schema: baseDoc,
|
|
108
|
+
file: "/file.json",
|
|
109
|
+
dereference: async (id) => id,
|
|
110
|
+
});
|
|
111
|
+
expect(processed.paths?.["/test"]?.parameters).toHaveLength(1);
|
|
112
|
+
expect(processed.paths?.["/test"]?.parameters?.[0]?.name).toBe("pathParam");
|
|
113
|
+
expect(processed.paths?.["/test"]?.get?.parameters).toHaveLength(0);
|
|
98
114
|
});
|
|
99
115
|
it("handles missing parameters arrays", () => {
|
|
100
116
|
const docWithoutParams = {
|
|
@@ -109,23 +125,35 @@ describe("removeParameters", () => {
|
|
|
109
125
|
};
|
|
110
126
|
const processed = removeParameters({
|
|
111
127
|
names: ["someParam"],
|
|
112
|
-
})(
|
|
128
|
+
})({
|
|
129
|
+
schema: docWithoutParams,
|
|
130
|
+
file: "/file.json",
|
|
131
|
+
dereference: async (id) => id,
|
|
132
|
+
});
|
|
113
133
|
expect(processed).toEqual(docWithoutParams);
|
|
114
134
|
});
|
|
115
135
|
it("preserves non-parameter properties", () => {
|
|
116
136
|
const processed = removeParameters({
|
|
117
137
|
names: ["globalParam"],
|
|
118
|
-
})(
|
|
138
|
+
})({
|
|
139
|
+
schema: baseDoc,
|
|
140
|
+
file: "/file.json",
|
|
141
|
+
dereference: async (id) => id,
|
|
142
|
+
});
|
|
119
143
|
expect(processed.openapi).toBe("3.1.0");
|
|
120
|
-
expect(processed.paths["/test"]
|
|
144
|
+
expect(processed.paths?.["/test"]?.get).toBeDefined();
|
|
121
145
|
});
|
|
122
146
|
it("removes parameters from components", () => {
|
|
123
147
|
const processed = removeParameters({
|
|
124
148
|
in: ["header"],
|
|
125
|
-
})(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
149
|
+
})({
|
|
150
|
+
schema: baseDoc,
|
|
151
|
+
file: "/file.json",
|
|
152
|
+
dereference: async (id) => id,
|
|
153
|
+
});
|
|
154
|
+
expect(Object.keys(processed.components?.parameters ?? {})).toHaveLength(1);
|
|
155
|
+
expect(processed.components?.parameters?.commonParam).toBeDefined();
|
|
156
|
+
expect(processed.components?.parameters?.headerParam).toBeUndefined();
|
|
129
157
|
});
|
|
130
158
|
});
|
|
131
159
|
//# sourceMappingURL=removeParameters.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeParameters.test.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeParameters.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removeParameters.test.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removeParameters.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ProcessorArg } from "../../../../config/validators/BuildSchema.js";
|
|
2
|
+
import type { OpenAPIDocument } from "../../../oas/parser/index.js";
|
|
1
3
|
import { type RecordAny } from "./traverse.js";
|
|
2
4
|
interface RemovePathsOptions {
|
|
3
5
|
paths?: Record<string, true | string[]>;
|
|
@@ -7,5 +9,5 @@ interface RemovePathsOptions {
|
|
|
7
9
|
operation: RecordAny;
|
|
8
10
|
}) => boolean;
|
|
9
11
|
}
|
|
10
|
-
export declare const removePaths: ({ paths, shouldRemove }: RemovePathsOptions) => (
|
|
12
|
+
export declare const removePaths: ({ paths, shouldRemove }: RemovePathsOptions) => ({ schema }: ProcessorArg) => OpenAPIDocument;
|
|
11
13
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { traverse } from "./traverse.js";
|
|
2
|
-
export const removePaths = ({ paths = {}, shouldRemove }) => (
|
|
2
|
+
export const removePaths = ({ paths = {}, shouldRemove }) => ({ schema }) => traverse(schema, (spec) => {
|
|
3
3
|
if (!spec.paths)
|
|
4
4
|
return spec;
|
|
5
5
|
const updatedPaths = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removePaths.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removePaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removePaths.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removePaths.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAYzD,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,YAAY,EAAsB,EAAE,EAAE,CACrD,CAAC,EAAE,MAAM,EAAgB,EAAE,EAAE,CAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;IACxB,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,YAAY,GAAc,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,0DAA0D;QAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAEnC,mDAAmD;QACnD,IAAI,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YAC/D,SAAS;QAEX,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,gBAAgB,GACpB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAE7D,MAAM,gBAAgB,GAAG,YAAY,EAAE,CAAC;oBACtC,IAAI;oBACJ,MAAM;oBACN,SAAS,EAAE,UAAU;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC;YAChD,CAAC,CAAC,CACH,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC1C,CAAC,CAAoB,CAAC"}
|
|
@@ -21,20 +21,28 @@ describe("removePaths", () => {
|
|
|
21
21
|
paths: {
|
|
22
22
|
"/remove-me": true,
|
|
23
23
|
},
|
|
24
|
-
})(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
})({
|
|
25
|
+
schema: baseDoc,
|
|
26
|
+
file: "/file.json",
|
|
27
|
+
dereference: async (id) => id,
|
|
28
|
+
});
|
|
29
|
+
expect(processed.paths?.["/remove-me"]).toBeUndefined();
|
|
30
|
+
expect(processed.paths?.["/example"]).toBeDefined();
|
|
31
|
+
expect(processed.paths?.["/another"]).toBeDefined();
|
|
28
32
|
});
|
|
29
33
|
it("removes specific methods in the paths option", () => {
|
|
30
34
|
const processed = removePaths({
|
|
31
35
|
paths: {
|
|
32
36
|
"/example": ["get"],
|
|
33
37
|
},
|
|
34
|
-
})(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
})({
|
|
39
|
+
schema: baseDoc,
|
|
40
|
+
file: "/file.json",
|
|
41
|
+
dereference: async (id) => id,
|
|
42
|
+
});
|
|
43
|
+
expect(processed.paths?.["/example"]?.get).toBeUndefined();
|
|
44
|
+
expect(processed.paths?.["/example"]?.post).toBeDefined();
|
|
45
|
+
expect(processed.paths?.["/remove-me"]).toBeDefined();
|
|
38
46
|
});
|
|
39
47
|
it("removes paths and methods using paths and shouldRemove together", () => {
|
|
40
48
|
const processed = removePaths({
|
|
@@ -42,63 +50,95 @@ describe("removePaths", () => {
|
|
|
42
50
|
"/example": ["post"],
|
|
43
51
|
},
|
|
44
52
|
shouldRemove: ({ path }) => path.startsWith("/remove"),
|
|
45
|
-
})(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
})({
|
|
54
|
+
schema: baseDoc,
|
|
55
|
+
file: "/file.json",
|
|
56
|
+
dereference: async (id) => id,
|
|
57
|
+
});
|
|
58
|
+
expect(processed.paths?.["/remove-me"]).toBeUndefined();
|
|
59
|
+
expect(processed.paths?.["/example"]?.get).toBeDefined();
|
|
60
|
+
expect(processed.paths?.["/example"]?.post).toBeUndefined();
|
|
61
|
+
expect(processed.paths?.["/another"]).toBeDefined();
|
|
50
62
|
});
|
|
51
63
|
it("removes paths based on shouldRemove callback", () => {
|
|
52
64
|
const processed = removePaths({
|
|
53
65
|
shouldRemove: ({ path }) => path.startsWith("/remove"),
|
|
54
|
-
})(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
66
|
+
})({
|
|
67
|
+
schema: baseDoc,
|
|
68
|
+
file: "/file.json",
|
|
69
|
+
dereference: async (id) => id,
|
|
70
|
+
});
|
|
71
|
+
expect(processed.paths?.["/remove-me"]).toBeUndefined();
|
|
72
|
+
expect(processed.paths?.["/example"]).toBeDefined();
|
|
73
|
+
expect(processed.paths?.["/another"]).toBeDefined();
|
|
58
74
|
});
|
|
59
75
|
it("removes methods based on shouldRemove callback", () => {
|
|
60
76
|
const processed = removePaths({
|
|
61
77
|
shouldRemove: ({ method }) => method === "post",
|
|
62
|
-
})(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
78
|
+
})({
|
|
79
|
+
schema: baseDoc,
|
|
80
|
+
file: "/file.json",
|
|
81
|
+
dereference: async (id) => id,
|
|
82
|
+
});
|
|
83
|
+
expect(processed.paths?.["/example"]?.post).toBeUndefined();
|
|
84
|
+
expect(processed.paths?.["/example"]?.get).toBeDefined();
|
|
85
|
+
expect(processed.paths?.["/remove-me"]).toBeDefined();
|
|
66
86
|
});
|
|
67
87
|
it("removes both paths and methods based on shouldRemove callback", () => {
|
|
68
88
|
const processed = removePaths({
|
|
69
89
|
shouldRemove: ({ path, method }) => path.startsWith("/remove") || method === "post",
|
|
70
|
-
})(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
90
|
+
})({
|
|
91
|
+
schema: baseDoc,
|
|
92
|
+
file: "/file.json",
|
|
93
|
+
dereference: async (id) => id,
|
|
94
|
+
});
|
|
95
|
+
expect(processed.paths?.["/remove-me"]).toBeUndefined();
|
|
96
|
+
expect(processed.paths?.["/example"]?.post).toBeUndefined();
|
|
97
|
+
expect(processed.paths?.["/example"]?.get).toBeDefined();
|
|
98
|
+
expect(processed.paths?.["/another"]).toBeDefined();
|
|
75
99
|
});
|
|
76
100
|
it("does nothing if shouldRemove always returns false", () => {
|
|
77
101
|
const processed = removePaths({
|
|
78
102
|
shouldRemove: () => false,
|
|
79
|
-
})(
|
|
103
|
+
})({
|
|
104
|
+
schema: baseDoc,
|
|
105
|
+
file: "/file.json",
|
|
106
|
+
dereference: async (id) => id,
|
|
107
|
+
});
|
|
80
108
|
expect(processed).toEqual(baseDoc);
|
|
81
109
|
});
|
|
82
110
|
it("removes everything if shouldRemove always returns true", () => {
|
|
83
111
|
const processed = removePaths({
|
|
84
112
|
shouldRemove: () => true,
|
|
85
|
-
})(
|
|
113
|
+
})({
|
|
114
|
+
schema: baseDoc,
|
|
115
|
+
file: "/file.json",
|
|
116
|
+
dereference: async (id) => id,
|
|
117
|
+
});
|
|
86
118
|
expect(processed.paths).toEqual({});
|
|
87
119
|
});
|
|
88
120
|
it("removes entire paths via shouldRemove callback", () => {
|
|
89
121
|
const processed = removePaths({
|
|
90
122
|
shouldRemove: ({ path, method }) => method === true && path === "/remove-me",
|
|
91
|
-
})(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
123
|
+
})({
|
|
124
|
+
schema: baseDoc,
|
|
125
|
+
file: "/file.json",
|
|
126
|
+
dereference: async (id) => id,
|
|
127
|
+
});
|
|
128
|
+
expect(processed.paths?.["/remove-me"]).toBeUndefined();
|
|
129
|
+
expect(processed.paths?.["/example"]).toBeDefined();
|
|
130
|
+
expect(processed.paths?.["/another"]).toBeDefined();
|
|
95
131
|
});
|
|
96
132
|
it("removes specific methods while keeping paths", () => {
|
|
97
133
|
const processed = removePaths({
|
|
98
134
|
shouldRemove: ({ method }) => method === "delete",
|
|
99
|
-
})(
|
|
100
|
-
|
|
101
|
-
|
|
135
|
+
})({
|
|
136
|
+
schema: baseDoc,
|
|
137
|
+
file: "/file.json",
|
|
138
|
+
dereference: async (id) => id,
|
|
139
|
+
});
|
|
140
|
+
expect(processed.paths?.["/remove-me"]).toBeDefined();
|
|
141
|
+
expect(processed.paths?.["/remove-me"]?.delete).toBeUndefined();
|
|
102
142
|
});
|
|
103
143
|
});
|
|
104
144
|
//# sourceMappingURL=removePaths.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removePaths.test.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removePaths.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"removePaths.test.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/processors/removePaths.test.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/plugin-api.js
CHANGED
|
@@ -80,13 +80,7 @@ const viteApiPlugin = async (getConfig) => {
|
|
|
80
80
|
const initialConfig = getConfig();
|
|
81
81
|
// Load Zuplo-specific processors if in Zuplo environment
|
|
82
82
|
const zuploProcessors = initialConfig.isZuplo
|
|
83
|
-
? await runnerImport("../zuplo/with-zuplo-processors.js")
|
|
84
|
-
.then((m) => m.module.default(initialConfig.__meta.rootDir))
|
|
85
|
-
.catch((e) => {
|
|
86
|
-
// eslint-disable-next-line no-console
|
|
87
|
-
console.warn("Failed to load Zuplo processors", e);
|
|
88
|
-
return [];
|
|
89
|
-
})
|
|
83
|
+
? await runnerImport(path.resolve(import.meta.dirname, "../zuplo/with-zuplo-processors.js")).then((m) => m.module.default(initialConfig.__meta.rootDir))
|
|
90
84
|
: [];
|
|
91
85
|
const buildFilePath = path.join(initialConfig.__meta.rootDir, "zudoku.build.ts");
|
|
92
86
|
const buildFileExists = await fileExists(buildFilePath);
|
|
@@ -105,8 +99,8 @@ const viteApiPlugin = async (getConfig) => {
|
|
|
105
99
|
await fs.rm(tmpDir, { recursive: true, force: true });
|
|
106
100
|
await fs.mkdir(tmpDir, { recursive: true });
|
|
107
101
|
processedSchemas = await processSchemas(tmpDir, getConfig(), [
|
|
108
|
-
...zuploProcessors,
|
|
109
102
|
...buildProcessors,
|
|
103
|
+
...zuploProcessors,
|
|
110
104
|
]);
|
|
111
105
|
// Potential files outside of the root dir are not watched by default, so we add all schemas just to be sure
|
|
112
106
|
allSchemaFiles.forEach((file) => this.addWatchFile(file));
|
|
@@ -116,8 +110,8 @@ const viteApiPlugin = async (getConfig) => {
|
|
|
116
110
|
if (!allSchemaFiles.has(id))
|
|
117
111
|
return;
|
|
118
112
|
processedSchemas = await processSchemas(tmpDir, getConfig(), [
|
|
119
|
-
...zuploProcessors,
|
|
120
113
|
...buildProcessors,
|
|
114
|
+
...zuploProcessors,
|
|
121
115
|
]);
|
|
122
116
|
allSchemaFiles.forEach((file) => server.watcher.add(file));
|
|
123
117
|
reload(server);
|