@zuplo/openapi-tools 6.65.9 → 6.66.2

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.
Files changed (75) hide show
  1. package/dist/constants.d.ts +13 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +25 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/file-format.d.ts +59 -0
  6. package/dist/file-format.d.ts.map +1 -0
  7. package/dist/file-format.js +142 -0
  8. package/dist/file-format.js.map +1 -0
  9. package/dist/file-format.spec.d.ts +2 -0
  10. package/dist/file-format.spec.d.ts.map +1 -0
  11. package/dist/file-format.spec.js +289 -0
  12. package/dist/file-format.spec.js.map +1 -0
  13. package/dist/index.d.ts +10 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +10 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/interfaces.d.ts +32 -5
  18. package/dist/interfaces.d.ts.map +1 -1
  19. package/dist/interfaces.js +0 -1
  20. package/dist/interfaces.js.map +1 -1
  21. package/dist/merge-fixtures.spec.d.ts +2 -0
  22. package/dist/merge-fixtures.spec.d.ts.map +1 -0
  23. package/dist/merge-fixtures.spec.js +181 -0
  24. package/dist/merge-fixtures.spec.js.map +1 -0
  25. package/dist/{openapi-utils.d.ts → merge.d.ts} +2 -22
  26. package/dist/merge.d.ts.map +1 -0
  27. package/dist/{openapi-utils.js → merge.js} +6 -186
  28. package/dist/merge.js.map +1 -0
  29. package/dist/merge.spec.d.ts +2 -0
  30. package/dist/merge.spec.d.ts.map +1 -0
  31. package/dist/merge.spec.js +399 -0
  32. package/dist/merge.spec.js.map +1 -0
  33. package/dist/operation-utils.d.ts +29 -0
  34. package/dist/operation-utils.d.ts.map +1 -0
  35. package/dist/operation-utils.js +123 -0
  36. package/dist/operation-utils.js.map +1 -0
  37. package/dist/overlay.d.ts +78 -0
  38. package/dist/overlay.d.ts.map +1 -0
  39. package/dist/overlay.js +477 -0
  40. package/dist/overlay.js.map +1 -0
  41. package/dist/overlay.spec.d.ts +2 -0
  42. package/dist/overlay.spec.d.ts.map +1 -0
  43. package/dist/overlay.spec.js +697 -0
  44. package/dist/overlay.spec.js.map +1 -0
  45. package/dist/parsing.d.ts +17 -0
  46. package/dist/parsing.d.ts.map +1 -0
  47. package/dist/parsing.js +32 -0
  48. package/dist/parsing.js.map +1 -0
  49. package/dist/path-transform.d.ts +11 -0
  50. package/dist/path-transform.d.ts.map +1 -0
  51. package/dist/path-transform.js +51 -0
  52. package/dist/path-transform.js.map +1 -0
  53. package/dist/path-transform.spec.d.ts +2 -0
  54. package/dist/path-transform.spec.d.ts.map +1 -0
  55. package/dist/path-transform.spec.js +269 -0
  56. package/dist/path-transform.spec.js.map +1 -0
  57. package/dist/url-utils.d.ts +14 -0
  58. package/dist/url-utils.d.ts.map +1 -0
  59. package/dist/url-utils.js +40 -0
  60. package/dist/url-utils.js.map +1 -0
  61. package/dist/url-utils.spec.d.ts +2 -0
  62. package/dist/url-utils.spec.d.ts.map +1 -0
  63. package/dist/url-utils.spec.js +93 -0
  64. package/dist/url-utils.spec.js.map +1 -0
  65. package/dist/validation.d.ts +210 -0
  66. package/dist/validation.d.ts.map +1 -0
  67. package/dist/validation.js +119 -0
  68. package/dist/validation.js.map +1 -0
  69. package/package.json +9 -10
  70. package/dist/index.spec.d.ts +0 -2
  71. package/dist/index.spec.d.ts.map +0 -1
  72. package/dist/index.spec.js +0 -526
  73. package/dist/index.spec.js.map +0 -1
  74. package/dist/openapi-utils.d.ts.map +0 -1
  75. package/dist/openapi-utils.js.map +0 -1
@@ -1,526 +0,0 @@
1
- import { assert } from "chai";
2
- import { ZUPLO_OPEN_API_ROUTE_KEY, } from "./interfaces.js";
3
- import { extractServerPathname, getOperationKey, mergeOpenApiDocumentOnOperationId, mergeOpenApiDocuments, transformPathsWithServerPathname, } from "./openapi-utils.js";
4
- const emptyOpenApi = {
5
- openapi: "3.0.0",
6
- info: {
7
- title: "Test",
8
- version: "1.0.0",
9
- },
10
- paths: {},
11
- };
12
- const basicOpenApi = {
13
- openapi: "3.0.0",
14
- info: {
15
- title: "Test",
16
- version: "1.0.0",
17
- },
18
- paths: {
19
- "/test": {
20
- get: {
21
- operationId: "getTest",
22
- },
23
- },
24
- },
25
- };
26
- const openApiWithOperationIdsMissing = {
27
- openapi: "3.0.0",
28
- info: {
29
- title: "Test",
30
- version: "1.0.0",
31
- },
32
- components: {},
33
- paths: {
34
- "/test": {
35
- get: {
36
- responses: {
37
- "200": {
38
- description: "OK",
39
- },
40
- },
41
- },
42
- },
43
- },
44
- };
45
- const openApiWithMatchingPathMethodButDifferentOperationId = {
46
- openapi: "3.0.0",
47
- info: {
48
- title: "Test",
49
- version: "1.0.0",
50
- },
51
- paths: {
52
- "/test": {
53
- get: {
54
- operationId: "get_test",
55
- },
56
- },
57
- },
58
- };
59
- const openApiWithSomePathsAndMethods = {
60
- openapi: "3.0.0",
61
- info: {
62
- title: "Test",
63
- version: "1.0.0",
64
- },
65
- paths: {
66
- "/test": {
67
- get: {
68
- operationId: "getTest",
69
- deprecated: true,
70
- "x-zuplo-route": {
71
- corsPolicy: "none",
72
- handler: {
73
- export: "urlForwardHandler",
74
- module: "$import(@zuplo/runtime)",
75
- options: {
76
- baseUrl: "https://echo.zuplo.io",
77
- },
78
- },
79
- },
80
- },
81
- delete: {
82
- operationId: "deleteTest",
83
- "x-zuplo-route": {
84
- corsPolicy: "none",
85
- handler: {
86
- export: "urlForwardHandler",
87
- module: "$import(@zuplo/runtime)",
88
- options: {
89
- baseUrl: "https://echo.zuplo.io",
90
- },
91
- },
92
- },
93
- },
94
- post: {
95
- operationId: "postTest",
96
- "x-zuplo-route": {
97
- corsPolicy: "none",
98
- handler: {
99
- export: "urlForwardHandler",
100
- module: "$import(@zuplo/runtime)",
101
- options: {
102
- baseUrl: "https://echo.zuplo.io",
103
- },
104
- },
105
- },
106
- },
107
- },
108
- "/humans": {
109
- delete: {
110
- operationId: "deleteHuman",
111
- "x-zuplo-route": {
112
- corsPolicy: "none",
113
- handler: {
114
- export: "urlForwardHandler",
115
- module: "$import(@zuplo/runtime)",
116
- options: {
117
- baseUrl: "https://echo.zuplo.io",
118
- },
119
- },
120
- },
121
- },
122
- },
123
- "/humans/{id}": {
124
- parameters: [
125
- {
126
- name: "id",
127
- in: "path",
128
- required: true,
129
- schema: {
130
- type: "string",
131
- },
132
- },
133
- ],
134
- get: {
135
- operationId: "getHuman",
136
- "x-zuplo-route": {
137
- corsPolicy: "none",
138
- handler: {
139
- export: "urlForwardHandler",
140
- module: "$import(@zuplo/runtime)",
141
- options: {
142
- baseUrl: "https://echo.zuplo.io",
143
- },
144
- },
145
- },
146
- },
147
- },
148
- },
149
- };
150
- const newOpenApiWithSomePathsAndMethods = {
151
- openapi: "3.0.0",
152
- info: {
153
- title: "Test",
154
- version: "1.0.0",
155
- },
156
- paths: {
157
- "/test": {
158
- get: {
159
- operationId: "getTest",
160
- deprecated: false, // Changed deprecated to false
161
- },
162
- post: {
163
- operationId: "postTest",
164
- summary: "Create a new test", // Added summary
165
- // route definition is missing
166
- },
167
- },
168
- "/humans": {
169
- post: {
170
- operationId: "createHuman",
171
- },
172
- delete: {
173
- operationId: "deleteHuman",
174
- },
175
- },
176
- "/humans/{humanId}": {
177
- // Changed path parameter name
178
- parameters: [
179
- {
180
- name: "humanId",
181
- in: "path",
182
- required: true,
183
- schema: {
184
- type: "string",
185
- },
186
- },
187
- ],
188
- get: {
189
- operationId: "getHuman",
190
- },
191
- },
192
- },
193
- };
194
- describe("OpenAPI OperationID Merge Tests", function () {
195
- it("Doesn't change the original document when merging two empty OpenAPI files", async function () {
196
- const { mergedDocument, created, merged, retained } = mergeOpenApiDocumentOnOperationId(emptyOpenApi, emptyOpenApi);
197
- assert.isEmpty(created, "No operations should be created");
198
- assert.isEmpty(merged, "No operations should be merged");
199
- assert.isEmpty(retained, "No operations should be retained");
200
- assert.deepEqual(mergedDocument, emptyOpenApi, "The original document should not be changed");
201
- });
202
- it("Retains existing operations when merging in an empty OpenAPI file", async function () {
203
- const { mergedDocument, created, merged, retained } = mergeOpenApiDocumentOnOperationId(basicOpenApi, emptyOpenApi);
204
- assert.isEmpty(created, "No operations should be created");
205
- assert.isEmpty(merged, "No operations should be merged");
206
- assert.deepEqual(retained, new Set(["getTest"]), "The existing operation should be retained");
207
- assert.deepEqual(mergedDocument, basicOpenApi, "The original document should not be changed");
208
- });
209
- it("Creates new operations when merging into an empty OpenAPI file", async function () {
210
- const { mergedDocument, created, merged, retained } = mergeOpenApiDocumentOnOperationId(emptyOpenApi, basicOpenApi);
211
- assert.isEmpty(merged, "No operations should be merged");
212
- assert.isEmpty(retained, "No operations should be retained");
213
- assert.deepEqual(created, new Set(["getTest"]), "The new operation should be created");
214
- assert.deepEqual(mergedDocument, basicOpenApi, "The merged document should match the new document");
215
- });
216
- it("Throws when operations are missing operationId", async function () {
217
- assert.throws(() => {
218
- mergeOpenApiDocumentOnOperationId(basicOpenApi, openApiWithOperationIdsMissing);
219
- }, `OperationId is required for all operations. OperationId missing on ${getOperationKey("get", "/test")}. Please add an operationId to all operations before merging.`);
220
- });
221
- it("Throws when operation already exists at path+method and operationIds do not match", async function () {
222
- assert.throws(() => {
223
- mergeOpenApiDocumentOnOperationId(basicOpenApi, openApiWithMatchingPathMethodButDifferentOperationId);
224
- }, `Operation 'get_test' has a matching path/method to an existing operation at ${getOperationKey("get", "/test")}, but a different operationId. Either update the operationId on the existing operation or remove it entirely.`);
225
- });
226
- it("Creates new operations when merging into an OpenAPI file with operations", async function () {
227
- const { mergedDocument, created } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
228
- assert.deepEqual(created, new Set(["createHuman"]), "The new operations should be created");
229
- assert.deepEqual(mergedDocument?.paths?.["/humans"]?.post, { operationId: "createHuman" }, "The new operation should be created");
230
- });
231
- it("Retains old operations when new document does not include those operations", async function () {
232
- const { mergedDocument, retained } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
233
- assert.deepEqual(retained, new Set(["deleteTest"]), "The existing operations should be retained");
234
- assert.deepEqual(mergedDocument?.paths?.["/test"]?.delete, openApiWithSomePathsAndMethods?.paths?.["/test"]?.delete, "The existing operation should be retained");
235
- });
236
- it("Merges operations and updates properties", async function () {
237
- const { mergedDocument, merged } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
238
- assert.deepEqual(merged, new Set(["getTest", "postTest", "deleteHuman", "getHuman"]), "The operations should be merged");
239
- assert.isFalse(mergedDocument?.paths?.["/test"]?.get?.deprecated, "The operation's 'deprecated' property should be updated");
240
- assert.deepEqual(mergedDocument?.paths?.["/test"]?.post?.summary, "Create a new test", "The operation's 'summary' property should be updated");
241
- assert.deepEqual(mergedDocument?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], "Merged operation with no changes should be the same");
242
- assert.notExists(mergedDocument?.paths?.["/humans/{id}"]?.get, "The old operation should not exist in the merged document");
243
- // NOTE: Parameters at the path level are not merged since operationId
244
- // merging implies only operations are merged
245
- assert.deepEqual(mergedDocument?.paths?.["/humans/{humanId}"], {
246
- get: {
247
- operationId: "getHuman",
248
- "x-zuplo-route": {
249
- corsPolicy: "none",
250
- handler: {
251
- export: "urlForwardHandler",
252
- module: "$import(@zuplo/runtime)",
253
- options: {
254
- baseUrl: "https://echo.zuplo.io",
255
- },
256
- },
257
- },
258
- },
259
- }, "The new operation should exist in the merged document");
260
- });
261
- it("Retains zuplo config when merging operations", async function () {
262
- const { mergedDocument, merged } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
263
- assert.deepEqual(merged, new Set(["getTest", "postTest", "deleteHuman", "getHuman"]), "The operations should be merged");
264
- assert.deepEqual(mergedDocument?.paths?.["/test"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/test"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
265
- assert.deepEqual(mergedDocument?.paths?.["/test"]?.post?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/test"]?.post?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
266
- assert.deepEqual(mergedDocument?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
267
- assert.deepEqual(mergedDocument?.paths?.["/humans/{humanId}"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/humans/{id}"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
268
- });
269
- });
270
- describe("Path Transformation", () => {
271
- describe("extractServerPathname", () => {
272
- it("should extract pathname from server URL with path", () => {
273
- const doc = {
274
- ...emptyOpenApi,
275
- servers: [{ url: "https://api.example.com/v1" }],
276
- };
277
- assert.strictEqual(extractServerPathname(doc), "/v1");
278
- });
279
- it("should extract pathname from server URL with nested path", () => {
280
- const doc = {
281
- ...emptyOpenApi,
282
- servers: [{ url: "https://api.example.com/api/v2" }],
283
- };
284
- assert.strictEqual(extractServerPathname(doc), "/api/v2");
285
- });
286
- it("should return empty string for server URL without path", () => {
287
- const doc = {
288
- ...emptyOpenApi,
289
- servers: [{ url: "https://api.example.com" }],
290
- };
291
- assert.strictEqual(extractServerPathname(doc), "");
292
- });
293
- it("should return empty string for server URL with root path", () => {
294
- const doc = {
295
- ...emptyOpenApi,
296
- servers: [{ url: "https://api.example.com/" }],
297
- };
298
- assert.strictEqual(extractServerPathname(doc), "");
299
- });
300
- it("should handle relative server URLs", () => {
301
- const doc = {
302
- ...emptyOpenApi,
303
- servers: [{ url: "/api/v1" }],
304
- };
305
- assert.strictEqual(extractServerPathname(doc), "/api/v1");
306
- });
307
- it("should handle server URLs without leading slash", () => {
308
- const doc = {
309
- ...emptyOpenApi,
310
- servers: [{ url: "api/v1" }],
311
- };
312
- assert.strictEqual(extractServerPathname(doc), "/api/v1");
313
- });
314
- it("should return empty string when no servers defined", () => {
315
- const doc = { ...emptyOpenApi };
316
- assert.strictEqual(extractServerPathname(doc), "");
317
- });
318
- it("should return empty string when servers array is empty", () => {
319
- const doc = {
320
- ...emptyOpenApi,
321
- servers: [],
322
- };
323
- assert.strictEqual(extractServerPathname(doc), "");
324
- });
325
- it("should ignore query parameters in server URL", () => {
326
- const doc = {
327
- ...emptyOpenApi,
328
- servers: [{ url: "https://api.example.com/v1?foo=bar" }],
329
- };
330
- assert.strictEqual(extractServerPathname(doc), "/v1");
331
- });
332
- it("should ignore fragments in server URL", () => {
333
- const doc = {
334
- ...emptyOpenApi,
335
- servers: [{ url: "https://api.example.com/v1#section" }],
336
- };
337
- assert.strictEqual(extractServerPathname(doc), "/v1");
338
- });
339
- });
340
- describe("transformPathsWithServerPathname", () => {
341
- it("should prepend pathname to all paths", () => {
342
- const doc = {
343
- ...emptyOpenApi,
344
- paths: {
345
- "/users": { get: { operationId: "getUsers" } },
346
- "/products": { get: { operationId: "getProducts" } },
347
- },
348
- };
349
- const transformed = transformPathsWithServerPathname(doc, "/v1");
350
- assert.property(transformed.paths, "/v1/users");
351
- assert.property(transformed.paths, "/v1/products");
352
- assert.notProperty(transformed.paths, "/users");
353
- assert.notProperty(transformed.paths, "/products");
354
- });
355
- it("should handle pathname with trailing slash", () => {
356
- const doc = {
357
- ...emptyOpenApi,
358
- paths: {
359
- "/users": { get: { operationId: "getUsers" } },
360
- },
361
- };
362
- const transformed = transformPathsWithServerPathname(doc, "/v1/");
363
- assert.property(transformed.paths, "/v1/users");
364
- assert.notProperty(transformed.paths, "/v1//users");
365
- });
366
- it("should handle pathname without leading slash", () => {
367
- const doc = {
368
- ...emptyOpenApi,
369
- paths: {
370
- "/users": { get: { operationId: "getUsers" } },
371
- },
372
- };
373
- const transformed = transformPathsWithServerPathname(doc, "v1");
374
- assert.property(transformed.paths, "/v1/users");
375
- });
376
- it("should return unchanged document when pathname is empty", () => {
377
- const doc = {
378
- ...emptyOpenApi,
379
- paths: {
380
- "/users": { get: { operationId: "getUsers" } },
381
- },
382
- };
383
- const transformed = transformPathsWithServerPathname(doc, "");
384
- assert.property(transformed.paths, "/users");
385
- });
386
- it("should return unchanged document when pathname is just slash", () => {
387
- const doc = {
388
- ...emptyOpenApi,
389
- paths: {
390
- "/users": { get: { operationId: "getUsers" } },
391
- },
392
- };
393
- const transformed = transformPathsWithServerPathname(doc, "/");
394
- assert.property(transformed.paths, "/users");
395
- });
396
- it("should handle nested pathnames", () => {
397
- const doc = {
398
- ...emptyOpenApi,
399
- paths: {
400
- "/users": { get: { operationId: "getUsers" } },
401
- },
402
- };
403
- const transformed = transformPathsWithServerPathname(doc, "/api/v2");
404
- assert.property(transformed.paths, "/api/v2/users");
405
- });
406
- it("should preserve all path item properties", () => {
407
- const doc = {
408
- ...emptyOpenApi,
409
- paths: {
410
- "/users": {
411
- get: { operationId: "getUsers", summary: "Get users" },
412
- post: { operationId: "createUser", summary: "Create user" },
413
- },
414
- },
415
- };
416
- const transformed = transformPathsWithServerPathname(doc, "/v1");
417
- assert.strictEqual(transformed.paths["/v1/users"].get.summary, "Get users");
418
- assert.strictEqual(transformed.paths["/v1/users"].post.summary, "Create user");
419
- });
420
- });
421
- describe("mergeOpenApiDocuments with path options", () => {
422
- it("should apply prependServerPath when enabled", () => {
423
- const original = { ...emptyOpenApi };
424
- const newDoc = {
425
- ...emptyOpenApi,
426
- servers: [{ url: "https://api.example.com/v1" }],
427
- paths: {
428
- "/users": { get: { operationId: "getUsers" } },
429
- },
430
- };
431
- const { mergedDocument } = mergeOpenApiDocuments(original, newDoc, {
432
- mergeMode: "path-method",
433
- prependServerPath: true,
434
- });
435
- assert.property(mergedDocument.paths, "/v1/users");
436
- assert.notProperty(mergedDocument.paths, "/users");
437
- });
438
- it("should not apply prependServerPath when disabled", () => {
439
- const original = { ...emptyOpenApi };
440
- const newDoc = {
441
- ...emptyOpenApi,
442
- servers: [{ url: "https://api.example.com/v1" }],
443
- paths: {
444
- "/users": { get: { operationId: "getUsers" } },
445
- },
446
- };
447
- const { mergedDocument } = mergeOpenApiDocuments(original, newDoc, {
448
- mergeMode: "path-method",
449
- prependServerPath: false,
450
- });
451
- // Original path should exist
452
- assert.property(mergedDocument.paths, "/users");
453
- assert.strictEqual(mergedDocument.paths?.["/users"]?.get?.operationId, "getUsers");
454
- });
455
- it("should apply prependPath when provided", () => {
456
- const original = { ...emptyOpenApi };
457
- const newDoc = {
458
- ...emptyOpenApi,
459
- paths: {
460
- "/users": { get: { operationId: "getUsers" } },
461
- },
462
- };
463
- const { mergedDocument } = mergeOpenApiDocuments(original, newDoc, {
464
- mergeMode: "path-method",
465
- prependPath: "/custom/path",
466
- });
467
- // Transformed path should exist with correct operation
468
- assert.property(mergedDocument.paths, "/custom/path/users");
469
- assert.strictEqual(mergedDocument.paths?.["/custom/path/users"]?.get?.operationId, "getUsers");
470
- });
471
- it("should prioritize prependPath over prependServerPath", () => {
472
- const original = { ...emptyOpenApi };
473
- const newDoc = {
474
- ...emptyOpenApi,
475
- servers: [{ url: "https://api.example.com/v1" }],
476
- paths: {
477
- "/users": { get: { operationId: "getUsers" } },
478
- },
479
- };
480
- const { mergedDocument } = mergeOpenApiDocuments(original, newDoc, {
481
- mergeMode: "path-method",
482
- prependServerPath: true,
483
- prependPath: "/custom",
484
- });
485
- // Custom prepend path should be used
486
- assert.property(mergedDocument.paths, "/custom/users");
487
- assert.strictEqual(mergedDocument.paths?.["/custom/users"]?.get?.operationId, "getUsers");
488
- });
489
- it("should work with operation-id merge mode", () => {
490
- const original = {
491
- ...emptyOpenApi,
492
- paths: {
493
- "/old-path": { get: { operationId: "getUsers" } },
494
- },
495
- };
496
- const newDoc = {
497
- ...emptyOpenApi,
498
- servers: [{ url: "https://api.example.com/v2" }],
499
- paths: {
500
- "/users": { get: { operationId: "getUsers" } },
501
- },
502
- };
503
- const { mergedDocument } = mergeOpenApiDocuments(original, newDoc, {
504
- mergeMode: "operation-id",
505
- prependServerPath: true,
506
- });
507
- assert.property(mergedDocument.paths, "/v2/users");
508
- // Old path operation should be removed since the operation was updated
509
- assert.isUndefined(mergedDocument.paths?.["/old-path"]?.get);
510
- // Original untransformed path should not exist
511
- assert.isUndefined(mergedDocument.paths?.["/users"]?.get);
512
- });
513
- it("should support backward compatible API with string merge mode", () => {
514
- const original = { ...emptyOpenApi };
515
- const newDoc = {
516
- ...emptyOpenApi,
517
- paths: {
518
- "/users": { get: { operationId: "getUsers" } },
519
- },
520
- };
521
- const { mergedDocument } = mergeOpenApiDocuments(original, newDoc, "path-method");
522
- assert.property(mergedDocument.paths, "/users");
523
- });
524
- });
525
- });
526
- //# sourceMappingURL=index.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"openapi-utils.d.ts","sourceRoot":"","sources":["../src/openapi-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAIL,oBAAoB,EAKrB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqBD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,gBAAgB,GAAU,MAAM,IAAI,6DAOhD,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,CAAC,QAAQ,GAAG,oBAAoB,GACpD,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,CAAC,SAAS,WAAW,CAAC,QAAQ,GAAG,oBAAoB,EACrD,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CA0BxC;AAED,eAAO,MAAM,qBAAqB,GAChC,kBAAkB,oBAAoB,EACtC,aAAa,WAAW,CAAC,QAAQ,GAAG,oBAAoB,EACxD,SAAS,SAAS,GAAG,YAAY;oBAyCjB,oBAAoB;aAC3B,GAAG,CAAC,MAAM,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC;cACT,GAAG,CAAC,MAAM,CAAC;CATtB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,kBAAkB,oBAAoB,EACtC,aAAa,oBAAoB,GAAG,WAAW,CAAC,QAAQ,KACvD;IACD,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAsKvB,CAAC;AAwDF,eAAO,MAAM,gCAAgC,GAC3C,kBAAkB,oBAAoB,EACtC,aAAa,oBAAoB,GAAG,WAAW,CAAC,QAAQ,KACvD;IACD,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAwEvB,CAAC;AA4MF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,WACP,CAAC;AAyCtD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,WAAW,CAAC,QAAQ,GAAG,oBAAoB,KACnD,oBA4BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,WAAW,CAAC,QAAQ,GAAG,oBAAoB,KACnD,oBAmBF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"openapi-utils.js","sourceRoot":"","sources":["../src/openapi-utils.ts"],"names":[],"mappings":"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"}