@gitbook/react-openapi 0.7.1 → 1.0.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/CHANGELOG.md +49 -0
- package/dist/InteractiveSection.d.ts +4 -8
- package/dist/InteractiveSection.jsx +60 -0
- package/dist/Markdown.d.ts +1 -2
- package/dist/Markdown.jsx +5 -0
- package/dist/OpenAPICodeSample.d.ts +2 -4
- package/dist/OpenAPICodeSample.jsx +141 -0
- package/dist/OpenAPIDisclosure.d.ts +12 -0
- package/dist/OpenAPIDisclosure.jsx +32 -0
- package/dist/OpenAPIDisclosureGroup.d.ts +19 -0
- package/dist/OpenAPIDisclosureGroup.jsx +81 -0
- package/dist/OpenAPIOperation.d.ts +2 -4
- package/dist/OpenAPIOperation.jsx +51 -0
- package/dist/OpenAPIOperationContext.d.ts +16 -0
- package/dist/OpenAPIOperationContext.jsx +26 -0
- package/dist/OpenAPIPath.d.ts +8 -0
- package/dist/OpenAPIPath.jsx +54 -0
- package/dist/OpenAPIRequestBody.d.ts +4 -5
- package/dist/OpenAPIRequestBody.jsx +22 -0
- package/dist/OpenAPIResponse.d.ts +4 -4
- package/dist/OpenAPIResponse.jsx +39 -0
- package/dist/OpenAPIResponseExample.d.ts +2 -4
- package/dist/OpenAPIResponseExample.jsx +108 -0
- package/dist/OpenAPIResponses.d.ts +3 -4
- package/dist/OpenAPIResponses.jsx +35 -0
- package/dist/OpenAPISchema.d.ts +11 -8
- package/dist/OpenAPISchema.jsx +285 -0
- package/dist/OpenAPISchemaName.d.ts +12 -0
- package/dist/OpenAPISchemaName.jsx +15 -0
- package/dist/OpenAPISecurities.d.ts +2 -4
- package/dist/OpenAPISecurities.jsx +55 -0
- package/dist/OpenAPIServerURL.d.ts +2 -3
- package/dist/OpenAPIServerURL.jsx +67 -0
- package/dist/OpenAPIServerURLVariable.d.ts +2 -3
- package/dist/OpenAPIServerURLVariable.jsx +8 -0
- package/dist/OpenAPISpec.d.ts +3 -4
- package/dist/OpenAPISpec.jsx +91 -0
- package/dist/OpenAPITabs.d.ts +26 -0
- package/dist/OpenAPITabs.jsx +103 -0
- package/dist/ScalarApiButton.d.ts +3 -3
- package/dist/ScalarApiButton.jsx +51 -0
- package/dist/code-samples.d.ts +4 -0
- package/dist/code-samples.js +103 -38
- package/dist/generateSchemaExample.d.ts +2 -2
- package/dist/generateSchemaExample.js +29 -102
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -1
- package/dist/resolveOpenAPIOperation.d.ts +11 -0
- package/dist/resolveOpenAPIOperation.js +194 -0
- package/dist/stringifyOpenAPI.d.ts +4 -0
- package/dist/stringifyOpenAPI.js +6 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types.d.ts +11 -12
- package/dist/useSyncedTabsGlobalState.d.ts +1 -0
- package/dist/useSyncedTabsGlobalState.js +16 -0
- package/dist/utils.d.ts +6 -2
- package/dist/utils.js +13 -6
- package/package.json +12 -10
- package/src/InteractiveSection.tsx +90 -86
- package/src/Markdown.tsx +2 -3
- package/src/OpenAPICodeSample.tsx +43 -31
- package/src/OpenAPIDisclosure.tsx +50 -0
- package/src/OpenAPIDisclosureGroup.tsx +136 -0
- package/src/OpenAPIOperation.tsx +36 -42
- package/src/OpenAPIOperationContext.tsx +45 -0
- package/src/OpenAPIPath.tsx +65 -0
- package/src/OpenAPIRequestBody.tsx +10 -17
- package/src/OpenAPIResponse.tsx +27 -45
- package/src/OpenAPIResponseExample.tsx +89 -31
- package/src/OpenAPIResponses.tsx +48 -17
- package/src/OpenAPISchema.test.ts +1 -1
- package/src/OpenAPISchema.tsx +129 -108
- package/src/OpenAPISchemaName.tsx +27 -0
- package/src/OpenAPISecurities.tsx +45 -24
- package/src/OpenAPIServerURL.tsx +17 -10
- package/src/OpenAPIServerURLVariable.tsx +2 -4
- package/src/OpenAPISpec.tsx +58 -58
- package/src/OpenAPITabs.tsx +153 -0
- package/src/ScalarApiButton.tsx +84 -7
- package/src/code-samples.test.ts +51 -0
- package/src/code-samples.ts +95 -31
- package/src/generateSchemaExample.ts +26 -153
- package/src/index.ts +3 -2
- package/src/resolveOpenAPIOperation.test.ts +177 -0
- package/src/resolveOpenAPIOperation.ts +164 -0
- package/src/stringifyOpenAPI.ts +6 -0
- package/src/types.ts +17 -10
- package/src/useSyncedTabsGlobalState.ts +23 -0
- package/src/utils.ts +14 -7
- package/dist/InteractiveSection.js +0 -47
- package/dist/Markdown.js +0 -6
- package/dist/OpenAPICodeSample.js +0 -110
- package/dist/OpenAPIOperation.js +0 -38
- package/dist/OpenAPIRequestBody.js +0 -18
- package/dist/OpenAPIResponse.js +0 -32
- package/dist/OpenAPIResponseExample.js +0 -54
- package/dist/OpenAPIResponses.js +0 -18
- package/dist/OpenAPISchema.js +0 -235
- package/dist/OpenAPISchema.test.d.ts +0 -1
- package/dist/OpenAPISchema.test.js +0 -91
- package/dist/OpenAPISecurities.js +0 -42
- package/dist/OpenAPIServerURL.js +0 -51
- package/dist/OpenAPIServerURLVariable.js +0 -10
- package/dist/OpenAPISpec.js +0 -70
- package/dist/ScalarApiButton.js +0 -14
- package/dist/fetchOpenAPIOperation.d.ts +0 -72
- package/dist/fetchOpenAPIOperation.js +0 -124
- package/dist/fetchOpenAPIOperation.test.d.ts +0 -1
- package/dist/fetchOpenAPIOperation.test.js +0 -152
- package/dist/resolveOpenAPIPath.d.ts +0 -7
- package/dist/resolveOpenAPIPath.js +0 -112
- package/dist/resolveOpenAPIPath.test.d.ts +0 -1
- package/dist/resolveOpenAPIPath.test.js +0 -39
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/fetchOpenAPIOperation.test.ts +0 -185
- package/src/fetchOpenAPIOperation.ts +0 -230
- package/src/resolveOpenAPIPath.test.ts +0 -60
- package/src/resolveOpenAPIPath.ts +0 -145
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { it, expect } from 'bun:test';
|
|
2
|
-
import { resolveOpenAPIPath } from './resolveOpenAPIPath';
|
|
3
|
-
const createFetcherForSchema = (schema) => {
|
|
4
|
-
return {
|
|
5
|
-
fetch: async (url) => {
|
|
6
|
-
return schema;
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
it('should resolve a simple path through objects', async () => {
|
|
11
|
-
const resolved = await resolveOpenAPIPath('https://test.com', ['a', 'b', 'c'], createFetcherForSchema({
|
|
12
|
-
a: {
|
|
13
|
-
b: {
|
|
14
|
-
c: 'hello',
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
}));
|
|
18
|
-
expect(resolved).toBe('hello');
|
|
19
|
-
});
|
|
20
|
-
it('should return undefined if the last part of the path does not exists', async () => {
|
|
21
|
-
const resolved = await resolveOpenAPIPath('https://test.com', ['a', 'b', 'c'], createFetcherForSchema({
|
|
22
|
-
a: {
|
|
23
|
-
b: {
|
|
24
|
-
d: 'hello',
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
}));
|
|
28
|
-
expect(resolved).toBe(undefined);
|
|
29
|
-
});
|
|
30
|
-
it('should return undefined if a middle part of the path does not exists', async () => {
|
|
31
|
-
const resolved = await resolveOpenAPIPath('https://test.com', ['a', 'x', 'c'], createFetcherForSchema({
|
|
32
|
-
a: {
|
|
33
|
-
b: {
|
|
34
|
-
c: 'hello',
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
}));
|
|
38
|
-
expect(resolved).toBe(undefined);
|
|
39
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/classnames/index.d.ts","../../../node_modules/openapi-types/dist/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/recoil/index.d.ts","../src/InteractiveSection.tsx","../src/Markdown.tsx","../src/types.ts","../src/resolveOpenAPIPath.ts","../src/utils.ts","../src/OpenAPISchema.tsx","../src/OpenAPISchema.test.ts","../src/code-samples.ts","../../../node_modules/flatted/types/index.d.ts","../../../node_modules/yaml/types.d.ts","../../../node_modules/yaml/util.d.ts","../../../node_modules/yaml/parse-cst.d.ts","../../../node_modules/yaml/index.d.ts","../../../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/ts5.6/index.d.ts","../../../node_modules/@types/swagger2openapi/index.d.ts","../src/fetchOpenAPIOperation.ts","../src/fetchOpenAPIOperation.test.ts","../src/generateSchemaExample.ts","../../../node_modules/@vue/shared/dist/shared.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@vue/compiler-core/dist/compiler-core.d.ts","../../../node_modules/@vue/compiler-dom/dist/compiler-dom.d.ts","../../../node_modules/@vue/reactivity/dist/reactivity.d.ts","../../../node_modules/@vue/runtime-core/dist/runtime-core.d.ts","../../../node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts","../../../node_modules/vue/dist/vue.d.mts","../../../node_modules/@scalar/api-client/dist/hooks/useDarkModeState.d.ts","../../../node_modules/@scalar/api-client/dist/hooks/useClipboard.d.ts","../../../node_modules/@scalar/api-client/dist/hooks/useKeyMap.d.ts","../../../node_modules/@scalar/api-client/dist/hooks/useFileDialog.d.ts","../../../node_modules/@scalar/api-client/dist/hooks/useSidebar.d.ts","../../../node_modules/@scalar/api-client/dist/hooks/useLayout.d.ts","../../../node_modules/@scalar/api-client/dist/hooks/index.d.ts","../../../node_modules/zod/lib/helpers/typeAliases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/ZodError.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseUtil.d.ts","../../../node_modules/zod/lib/helpers/enumUtil.d.ts","../../../node_modules/zod/lib/helpers/errorUtil.d.ts","../../../node_modules/zod/lib/helpers/partialUtil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/collection.d.ts","../../../node_modules/@scalar/openapi-types/dist/openapi-types.d.ts","../../../node_modules/@scalar/openapi-types/dist/index.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/server.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/parameters.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/request-examples.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/requests.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/spec-objects.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/security.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/spec/index.d.ts","../../../node_modules/@scalar/object-utils/dist/nested/common.d.ts","../../../node_modules/@scalar/object-utils/dist/nested/nested.d.ts","../../../node_modules/@scalar/object-utils/dist/nested/index.d.ts","../../../node_modules/vue-router/dist/vue-router.d.ts","../../../node_modules/@scalar/api-client/dist/components/CommandPalette/TheCommandPalette.vue.d.ts","../../../node_modules/hookable/dist/index.d.ts","../../../node_modules/zhead/dist/shared/zhead.177ad851.d.ts","../../../node_modules/zhead/dist/index.d.ts","../../../node_modules/@unhead/schema/dist/index.d.ts","../../../node_modules/@scalar/types/dist/external/httpsnippet-lite.d.ts","../../../node_modules/@scalar/types/dist/external/index.d.ts","../../../node_modules/@scalar/types/dist/legacy/reference-config.d.ts","../../../node_modules/@scalar/types/dist/legacy/index.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/workspace/workspace.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/workspace/index.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/index.d.ts","../../../node_modules/@scalar/api-client/dist/store/store.d.ts","../../../node_modules/@scalar/api-client/dist/store/index.d.ts","../../../node_modules/type-fest/source/basic.d.ts","../../../node_modules/type-fest/source/except.d.ts","../../../node_modules/type-fest/source/mutable.d.ts","../../../node_modules/type-fest/source/merge.d.ts","../../../node_modules/type-fest/source/merge-exclusive.d.ts","../../../node_modules/type-fest/source/require-at-least-one.d.ts","../../../node_modules/type-fest/source/require-exactly-one.d.ts","../../../node_modules/type-fest/source/partial-deep.d.ts","../../../node_modules/type-fest/source/readonly-deep.d.ts","../../../node_modules/type-fest/source/literal-union.d.ts","../../../node_modules/type-fest/source/promisable.d.ts","../../../node_modules/type-fest/source/opaque.d.ts","../../../node_modules/type-fest/source/set-optional.d.ts","../../../node_modules/type-fest/source/set-required.d.ts","../../../node_modules/type-fest/source/value-of.d.ts","../../../node_modules/type-fest/source/promise-value.d.ts","../../../node_modules/type-fest/source/async-return-type.d.ts","../../../node_modules/type-fest/source/conditional-keys.d.ts","../../../node_modules/type-fest/source/conditional-except.d.ts","../../../node_modules/type-fest/source/conditional-pick.d.ts","../../../node_modules/type-fest/source/union-to-intersection.d.ts","../../../node_modules/type-fest/source/stringified.d.ts","../../../node_modules/type-fest/source/fixed-length-array.d.ts","../../../node_modules/type-fest/source/iterable-element.d.ts","../../../node_modules/type-fest/source/entry.d.ts","../../../node_modules/type-fest/source/entries.d.ts","../../../node_modules/type-fest/source/set-return-type.d.ts","../../../node_modules/type-fest/source/asyncify.d.ts","../../../node_modules/type-fest/source/package-json.d.ts","../../../node_modules/type-fest/source/tsconfig-json.d.ts","../../../node_modules/type-fest/base.d.ts","../../../node_modules/type-fest/source/utilities.d.ts","../../../node_modules/type-fest/ts41/camel-case.d.ts","../../../node_modules/type-fest/ts41/delimiter-case.d.ts","../../../node_modules/type-fest/ts41/kebab-case.d.ts","../../../node_modules/type-fest/ts41/pascal-case.d.ts","../../../node_modules/type-fest/ts41/snake-case.d.ts","../../../node_modules/type-fest/ts41/index.d.ts","../../../node_modules/@scalar/api-client/dist/libs/event-bus.d.ts","../../../node_modules/@scalar/api-client/dist/libs/errors.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/cookie/cookie.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/cookie/index.d.ts","../../../node_modules/@scalar/api-client/dist/libs/send-request.d.ts","../../../node_modules/@scalar/api-client/dist/libs/create-client.d.ts","../../../node_modules/@scalar/api-client/dist/libs/formatters.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/hotkeys/hotkeys.d.ts","../../../node_modules/@scalar/oas-utils/dist/entities/hotkeys/index.d.ts","../../../node_modules/@scalar/api-client/dist/libs/hot-keys.d.ts","../../../node_modules/@scalar/api-client/dist/libs/normalize-headers.d.ts","../../../node_modules/@scalar/api-client/dist/libs/local-storage.d.ts","../../../node_modules/@scalar/api-client/dist/libs/environment-parser.d.ts","../../../node_modules/@scalar/api-client/dist/libs/isUrl.d.ts","../../../node_modules/@scalar/api-client/dist/libs/getOpenApiDocumentDetails.d.ts","../../../node_modules/@scalar/api-client/dist/libs/parse-curl.d.ts","../../../node_modules/@scalar/api-client/dist/libs/index.d.ts","../../../node_modules/@scalar/api-client-react/dist/index.d.ts","../src/OpenAPIServerURLVariable.tsx","../src/OpenAPIServerURL.tsx","../src/ScalarApiButton.tsx","../src/OpenAPICodeSample.tsx","../src/OpenAPIResponseExample.tsx","../src/OpenAPIRequestBody.tsx","../src/OpenAPIResponse.tsx","../src/OpenAPIResponses.tsx","../src/OpenAPISecurities.tsx","../src/OpenAPISpec.tsx","../src/OpenAPIOperation.tsx","../src/index.ts","../src/resolveOpenAPIPath.test.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/ws/index.d.mts","../../../node_modules/bun-types/fetch.d.ts","../../../node_modules/bun-types/globals.d.ts","../../../node_modules/bun-types/bun.d.ts","../../../node_modules/bun-types/overrides.d.ts","../../../node_modules/bun-types/ffi.d.ts","../../../node_modules/bun-types/test.d.ts","../../../node_modules/bun-types/html-rewriter.d.ts","../../../node_modules/bun-types/jsc.d.ts","../../../node_modules/bun-types/sqlite.d.ts","../../../node_modules/bun-types/wasm.d.ts","../../../node_modules/bun-types/deprecated.d.ts","../../../node_modules/bun-types/index.d.ts"],"fileIdsList":[[96,139,195,324,332],[96,139,324,332],[80,96,139,202,225,232,235,236,245,248,305,324,332],[96,139,202,236,324,332],[96,139,203,204,205,206,207,208,324,332],[96,139,202,209,225,232,235,236,237,245,248,250,288,289,290,293,324,332],[96,139,247,297,305,324,332],[96,139,289,290,293,294,295,298,299,300,301,302,303,304,324,332],[96,139,250,324,332],[96,139,232,324,332],[96,139,232,289,290,292,324,332],[96,139,249,324,332],[96,139,202,225,232,235,236,237,245,248,305,324,332],[96,139,222,324,332],[96,139,291,324,332],[96,139,296,324,332],[96,139,247,324,332],[96,139,223,226,227,228,229,230,231,324,332],[96,139,222,226,227,229,324,332],[96,139,222,228,324,332],[96,139,222,225,324,332],[96,139,246,324,332],[96,139,234,324,332],[96,139,233,324,332],[96,139,224,324,332],[96,139,242,324,332],[96,139,244,324,332],[96,139,225,241,243,324,332],[96,97,139,324,332],[96,138,139,324,332],[96,139,144,173,324,332],[96,139,140,145,151,152,159,170,181,324,332],[96,139,140,141,151,159,324,332],[96,139,142,182,324,332],[96,139,143,144,152,160,324,332],[96,139,144,170,178,324,332],[96,139,145,147,151,159,324,332],[96,138,139,146,324,332],[96,139,147,148,324,332],[96,139,151,324,332],[96,139,149,151,324,332],[96,138,139,151,324,332],[96,139,151,152,153,170,181,324,332],[96,139,151,152,153,166,170,173,324,325,332],[96,136,139,186,324,332],[96,139,147,151,154,159,170,181,324,332],[96,139,151,152,154,155,159,170,178,181,324,332],[96,139,154,156,170,178,181,324,332],[96,139,151,157,324,332],[96,139,158,181,186,324,332],[96,139,147,151,159,170,324,332],[96,139,160,324,332],[96,139,161,324,332],[96,138,139,162,324,332],[96,97,98,138,139,140,141,142,143,144,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,324,325,332],[96,139,164,324,332],[96,139,165,324,332],[96,139,151,166,167,324,332],[96,139,166,168,182,184,324,332],[96,139,151,170,171,172,173,324,332],[96,139,170,172,324,332],[96,139,170,171,324,332],[96,139,173,324,332],[96,139,174,324,332],[96,97,139,170,324,332],[96,139,151,176,177,324,332],[96,139,176,177,324,332],[96,139,144,159,170,178,324,325,332],[96,139,179,324,332],[139,324,332],[95,96,97,98,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,324,332],[96,139,159,180,324,332],[96,139,154,165,181,324,332],[96,139,144,182,324,332],[96,139,170,183,324,332],[96,139,158,184,324,332],[96,139,185,324,332],[96,139,144,151,153,162,170,181,184,186,324,332],[96,139,170,187,324,332],[77,78,79,96,139,324,332],[76,96,139,170,189,324,332],[96,139,320,324,332],[96,139,151,154,156,170,178,181,187,189,324,325,332],[96,139,238,240,324,332],[96,139,194,195,196,324,332],[96,139,197,324,332],[96,139,194,324,332],[96,139,194,199,200,201,324,332],[78,96,139,199,200,201,324,332],[96,139,144,178,182,325,332],[96,139,324],[96,136,139,324,332],[96,136,139,144,162,170,173,182,186,321,322,324,332],[96,139,189,320,322,323,324,325,326,327,328,329,330,331,332],[96,139,153,178,324,332],[96,139,324,327,332],[80,96,139,324,332],[96,139,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,324,332],[96,139,266,324,332],[96,139,266,277,324,332],[96,139,252,268,324,332],[96,139,268,324,332],[96,139,275,324,332],[96,139,251,324,332],[96,139,252,324,332],[96,139,260,324,332],[96,139,282,324,332],[96,139,281,283,284,285,286,287,324,332],[96,139,284,324,332],[96,139,283,324,332],[96,108,112,139,181,324,332],[96,108,139,170,181,324,332],[96,103,139,324,332],[96,105,108,139,178,181,324,325,332],[96,139,159,178,324,325,332],[96,139,189,324,332],[96,103,139,189,324,332],[96,105,108,139,159,181,324,332],[96,100,101,104,107,139,151,170,181,324,332],[96,108,115,139,324,332],[96,100,106,139,324,332],[96,108,129,130,139,324,332],[96,104,108,139,173,181,189,324,332],[96,129,139,189,324,332],[96,102,103,139,189,324,332],[96,108,139,324,332],[96,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,139,324,332],[96,108,123,139,324,332],[96,108,115,116,139,324,332],[96,106,108,116,117,139,324,332],[96,107,139,324,332],[96,100,103,108,139,324,332],[96,108,112,116,117,139,324,332],[96,112,139,324,332],[96,106,108,111,139,181,324,332],[96,100,105,108,115,139,324,332],[96,139,170,324,332],[96,103,108,129,139,186,189,324,332],[96,139,198,201,324,332],[91,92,93,96,139,324,332],[92,96,139,324,332],[92,93,94,96,139,324,332],[91,93,94,96,139,324,332],[96,139,239,324,332],[96,139,221,324,332],[96,139,210,211,221,324,332],[96,139,212,213,324,332],[96,139,210,211,212,214,215,219,324,332],[96,139,211,212,324,332],[96,139,220,324,332],[96,139,212,324,332],[96,139,210,211,212,215,216,217,218,324,332],[75,80,81,96,139,324,332],[75,80,96,139,324,332],[80,82,84,86,89,96,139,191,193,308,309,324,332],[75,80,83,84,96,139,191,306,308,310,311,316,324,332],[76,80,82,83,84,86,87,96,139,324,332],[75,76,80,82,83,84,86,87,96,139,324,332],[80,82,84,86,96,139,191,193,324,332],[75,76,80,82,84,86,96,139,313,324,332],[76,87,96,139,324,327,332],[75,76,80,82,83,84,85,86,96,139,324,332],[76,80,82,83,84,96,139,191,324,332],[76,80,96,139,307,324,332],[75,76,80,96,139,324,332],[76,80,82,84,86,87,96,139,191,312,314,315,324,332],[80,96,139,306,324,332],[84,96,139,191,324,327,332],[76,84,85,90,94,96,139,190,324,332],[76,86,96,139,324,332],[84,96,139,191,317,324,332],[84,85,96,139,324,327,332],[84,96,139,324,332],[76,96,139,324,332]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"abee51ebffafd50c07d76be5848a34abfe4d791b5745ef1e5648718722fab924","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1dfdec0ec9c299625d20c5cb8f96e2a801c81d91669c6245f520e8734a92fb3d","impliedFormat":1},{"version":"2df62cd6db7d86f765cfc05606bbd27b38ed7bae502b5c4d927996bcf3638d64","impliedFormat":1},{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"ed6b820c54de95b2510bb673490d61c7f2187f532a339d8d04981645a918961f","impliedFormat":1},{"version":"aa17748c522bd586f8712b1a308ea23af59c309b2fd278f6d4f406647c72e659","affectsGlobalScope":true,"impliedFormat":1},{"version":"5afe15da9773876a76bbae4b33aff03c51345ea27cf258b6fc2748df433cf0bb","impliedFormat":1},{"version":"1d134dfe0bbeb1e5eb54e457fd28cab390795e18f20e9f10c54f6978fc139abe","signature":"aaf69891088958eb7ff2ac4a2a74608218e8cfe5037d1170139bee582817eace"},{"version":"36d5de441fcbdeb2b516301bdd4970361fa19d92d5fb8977624f348d6b139fea","signature":"93c126174320621e3431c4ee51d37484a6e7abfe46ae49c7b6050d17cfa09033"},{"version":"7774019b6370bd26d665d31ea21d42ba8a42245be8e134c340363c77b7be4e15","signature":"28aac101c8a8935ab42c0d83ba44bf78cdfda84d8624b17d6b878df237a065ea"},{"version":"9f2dd946d2e72676e28ca06486d34467ac0934c84526a92b54f41746f769f08f","signature":"fc24fe56e663f26b782cb078ba401e9d635f51bcc19257f278f6c7ebe12fafad"},{"version":"737a752cf20ec50df0a0a7870bff1522abbc93423b13c92316895be80e7e94fa","signature":"7df78f7b32e76998bfb2eae8436628adf39a8b537359f140949f9ec636fc6769"},{"version":"f51245887d707f25ee628a207a6538fd25a0b6c5fbe69f551b1132ea8128ed37","signature":"d4f7655871f1c2e0feb9fd79e50891c2b4663d3e8ae7b5931ad455ffe008e944"},{"version":"0590007e5184de69968830590715bc73e833edf504bd37c385613046b6a92103","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d4ca2b650bc7830a981c6102dcda3088b8098b6b4560ea26e46ecca16b958fd5","signature":"30e9d6c18c0cfd4be157b012e16a0105d5bfb2115ef22a3ce9d38f7d6c9ffebd"},{"version":"24da2e4b182bef027ff5cd1ec413667feb332d91ec6a22479cba15867f40c049","impliedFormat":99},{"version":"c3a8e97bce8330542633139409885c529c46ff9bcf8fda0dc28a7c8fdda41e24","impliedFormat":1},{"version":"4d99772cffbb09646a934867ca42d77337dc3cfd591b648b78fc0b6e09e2d88d","impliedFormat":1},{"version":"b10413a27f0fa373997ebf631da8af501d6b36bdfe627475b3ec5ef98e9bc80d","impliedFormat":1},{"version":"b3280c01b5c948bb27e60a94076b4ed23e34db4044d687ef628a5831c09c9811","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"4eedea23b8a843ec0fd51a384fb6b9fe1bc89198f713d0465c2c8392a9d51271","affectsGlobalScope":true,"impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"c521f961c1606c94dc831992e659f426b6def6e2e6e327ee25d3c642eb393f95","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0de0233242682db9ac13efa0ddbb456a41abe6f291211b40ba3aa766b03e9b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"596572d40c1f13d8b57920d6d1a77c5ec6fe4952dc157f416f04a801cd3e2678","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"a55fd4d49da86d2cc19de575beb1515184e55f5f3165e1482ff02fd99f900b5c","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"d1b1295af3667779be43eb6d4fbaa342e656aa2c4b77a4ad3cf42ec55baeea00","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"dd9492e12a57068f08d70cb5eb5ceb39fa5bcf23be01af574270aeee95b982af","impliedFormat":1},{"version":"e432b0e3761ca9ba734bdd41e19a75fec1454ca8e9769bfdf8b31011854cf06a","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"78955c9259da94920609be3e589fc9253268b3fffa822e1e31d28ee2ce0b8a74","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"73aa178e8fb1449ef3666093d8dca25f96302a80ee45f8ff027df8e4792bf9fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"710ad93f8de29dc15e5892aa735e72348b62f40a6d1220f2849837d332f92885","affectsGlobalScope":true,"impliedFormat":1},{"version":"1f1da5d682cdb628890e4a8578fb9e8ab332e6a1a4b3a13fce08b7b4d45d192a","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"b718a94332858862943630649a310d6f8e9a09f86ae7215d8554e75bbbfd7817","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"483bb10b755f3572526fd76d9481221e8dc30568edcc1a9cc73479d8874bd16d","impliedFormat":1},{"version":"805323dc5c4c6f2598b709bcc2be2c11002c0817e00791afc0c639cd2399961e","impliedFormat":1},{"version":"dc3d746d1918d8ed4cc6b9253c59b582b2881e7540fd33d97b8847f495030d50","signature":"81473f7e6b554d98698f71cc5478d3b4025b21763ed22cdfc3e6b9fa423cfb8b"},{"version":"faa32bb42f99b9aeade178ae58ece4539351ee6293d1c511ba9bca74618668dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8290062ba584dc584eaf20097de3e7ce76a84a0f96d388c4d876ff7bf59bc654","signature":"95adddc10196c327841560e36d97f5c0e0e11e0466626ce21b7965768fde7fd8"},{"version":"a7e9e5bb507146e1c06aae94b548c9227d41f2c773da5fbb152388558710bae2","impliedFormat":1},{"version":"7983487d0fbefb9b6ccc94390e8c826328d87e21cd4a62ea5b4c6b8f99f32550","impliedFormat":1},{"version":"9d16476349353974716bd2ad745830d0542c18c9edad4566d77ccd9d61c6cfb2","impliedFormat":1},{"version":"54649e43b17e9530fc8bb7810aaf55c52808e84343f2f320a0f35012ac636b5a","impliedFormat":1},{"version":"cf76e2f59b26aea7c923015783083b4820d6c0d85cda2fec3a0f232aabfc56c3","impliedFormat":1},{"version":"ae4b6f723332eb8a17ae180b46c94779969a8f4851607601137c2cc511799d1c","impliedFormat":1},{"version":"cc369af003d2b21a6702b674a244dd0ddf25cd6863592b29b0bf321200d53876","affectsGlobalScope":true,"impliedFormat":1},{"version":"a9b8b44f5fc33c3590dbd01e3523cc150e53fb4785e5523707c82fd745000cdb","impliedFormat":1},{"version":"c0191592be8eb7906f99ac4b8798d80a585b94001ea1a5f50d6ce5b0d13a5c62","impliedFormat":99},{"version":"8eab6c0801c1c1faec8e9bdd42a4058d7402c71a49f275ab94cf42c4ca1312f4","impliedFormat":99},{"version":"12c98e59a78c12d5c3ca1e136b32663b4d06b374ceae2349de5e1c73bbb0305d","impliedFormat":99},{"version":"0d3077a89e4a5999cbd0493b2919c41ce2691df58042a503316e9aa1f95e36b1","impliedFormat":99},{"version":"49aa61ab47df604612ca09c966d677eefebff840d70c0937af91210862b84845","impliedFormat":99},{"version":"daae8b5f982ab5f5ee26a33e0449346e6ecf6b4d6a6822cc18f34d093f7de7d5","impliedFormat":99},{"version":"74f9e88aab3e842c6fc7388294e8a0911548efb04d8cf872966a22d958d0fc5d","impliedFormat":99},{"version":"6420f401825e7f2a7f4f53a03b4011d75bed78c4a1997c8e8b47e94c63bfd756","impliedFormat":99},{"version":"5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","impliedFormat":1},{"version":"c2869c4f2f79fd2d03278a68ce7c061a5a8f4aed59efb655e25fe502e3e471d5","impliedFormat":1},{"version":"b8fe42dbf4b0efba2eb4dbfb2b95a3712676717ff8469767dc439e75d0c1a3b6","impliedFormat":1},{"version":"8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","impliedFormat":1},{"version":"ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","impliedFormat":1},{"version":"83306c97a4643d78420f082547ea0d488a0d134c922c8e65fc0b4f08ef66d92b","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","impliedFormat":1},{"version":"c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","impliedFormat":1},{"version":"dccd26a5c85325a011aff40f401e0892bd0688d44132ba79e803c67e68fffea5","impliedFormat":1},{"version":"f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","impliedFormat":1},{"version":"b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","impliedFormat":1},{"version":"5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","impliedFormat":1},{"version":"b14d2df96c7919fb34c9387195be9abf6b8d478e98b919eda4addf87ff40c668","impliedFormat":99},{"version":"c4c9a3664df7891f6e44896fabed76b8d87a2108fb05300e26980112e2b225d9","impliedFormat":99},{"version":"775024159878d7c12458e7bb6be8237e480af873e6fcc70b09efe513e4691656","impliedFormat":99},{"version":"69e69b7c94633c16f07a3f8e4ce192d973947f924cbe01f2d15b2eb931b4a403","impliedFormat":99},{"version":"622616b02bcf3019e64c86dafd227049f317ca9e9e13762dd54b53cabae04afc","impliedFormat":99},{"version":"92d870015ce87d4e83cb6af725afb0a1a6e152922cae4c928c39ed31e44ee67d","impliedFormat":99},{"version":"71422727c17f50254038a5667f5707d6112c7d811e87e3cbad454c09c33b0ccd","impliedFormat":99},{"version":"70ad1ddc15593f187e5735196819c901a9b449064b3f8a8071fbe0a6187939ca","impliedFormat":99},{"version":"61d83603ea67f4347d36dc84db9d517d6034e954627c8d11c32d80b90e478200","impliedFormat":99},{"version":"3472597d21541e2a06ca3dd9cce29d9d43d76105c7c14f20d3745ff74d6f2aa5","impliedFormat":99},{"version":"4ab33a77b08ce0f0204c5ee2c406f13d2309d1b7dbe19b4fd975d997a3bf59b0","impliedFormat":99},{"version":"4a40357a2184edc71fcdb81d0ff1dc62f2a796f9ee59a4642f3e3b3d67f2e837","impliedFormat":99},{"version":"343b1fa9e65fcb047d374695dd12754084b8616bf67d8a2f8828a11889b384ea","impliedFormat":99},{"version":"408a4b5fba2c3c09ccdd76d58f695321be1c0dab3cdf30069be42f1e80c267bc","impliedFormat":1},{"version":"3a00189ddf97041a972fa946cecd2b716dabf87d25667d712fd11bb94f04f8e5","impliedFormat":99},{"version":"34ee177ae1ed59981d82ee459acf0407d6a679f47fe698c201b49a44e3011f87","impliedFormat":1},{"version":"9437440774d787ac40867784629281c1892e745172692d7c15cab1c02da4a9d2","impliedFormat":99},{"version":"47c4c780f1902bbe46db247b85f8f3d2cc16fa8aa484298834ede118234517d1","impliedFormat":99},{"version":"97e886af883a57a2d99c3a465cabef2fb2d4196795a910284355458d0242e3a3","impliedFormat":99},{"version":"487b35790ff2d0874fd852046304d5ef2f0e4ff5d3b6801824723f97d8d25859","impliedFormat":99},{"version":"c04ce3edf9a76de2a53a2b4ace2a1fa8ffda3472a987c4ce6c73a839bafe9eec","impliedFormat":99},{"version":"cb7b0a61cf702988fb1e9416984e277f123975fb60755965dd87997a87f2374a","impliedFormat":99},{"version":"0035cffe5015cf5e736355e461048ca2ebdd6d306c9a327275f7b5b439a8455c","impliedFormat":99},{"version":"0fcd5fc66fe9897b43b245231492e7a4351454a45012c5f949bc20d9d675299c","impliedFormat":99},{"version":"301bb76837843180d0c1fb86f61f71c9bc3fc0e1f52137c980cb7fd152e45e03","impliedFormat":99},{"version":"a83796e257f8362aa0e89f4af26a32b1078007278ed7d74e68646995635ba161","impliedFormat":99},{"version":"33326f9befc251b8c08798da6231c9c33df2a6dc5236555236b43b8d11e4d5ef","affectsGlobalScope":true,"impliedFormat":99},{"version":"2e586bae8bf734901ceb75fe46e1151724f09b754e8a06a536c6843f105088da","impliedFormat":99},{"version":"f20c9c09c8a0fea4784952305a937bdb092417908bad669dc789d3e54d8a5386","affectsGlobalScope":true,"impliedFormat":1},{"version":"c58be3e560989a877531d3ff7c9e5db41c5dd9282480ccf197abfcc708a95b8d","impliedFormat":1},{"version":"91f23ddc3971b1c8938c638fb55601a339483953e1eb800675fa5b5e8113db72","impliedFormat":1},{"version":"50d22844db90a0dcd359afeb59dd1e9a384d977b4b363c880b4e65047237a29e","impliedFormat":1},{"version":"d33782b82eea0ee17b99ca563bd19b38259a3aaf096d306ceaf59cd4422629be","impliedFormat":1},{"version":"55a84db1ca921c86709117fabae152ab802511dd395c26d6049e6d4fb1e78112","impliedFormat":1},{"version":"2d14198b25428b7b8010a895085add8edfaae476ab863c0c15fe2867fc214fe4","impliedFormat":1},{"version":"61046f12c3cfafd353d2d03febc96b441c1a0e3bb82a5a88de78cc1be9e10520","impliedFormat":1},{"version":"f4e7f5824ac7b35539efc3bef36b3e6be89603b88224cb5c0ad3526a454fc895","impliedFormat":1},{"version":"b29ef0a32e75e0d2a08762d6af502c0ffcd7a83fec07ed7a153e95329b89d761","impliedFormat":1},{"version":"537aff717746703d2157ec563b5de4f6393ce9f69a84ae62b49e9b6c80b6e587","impliedFormat":1},{"version":"d4220a16027ddf0cc7d105d80cbb01f5070ca7ddd8b2d007cfb024b27e22b912","impliedFormat":1},{"version":"fb3aa3fb5f4fcd0d57d389a566c962e92dbfdaea3c38e3eaf27d466e168871c6","impliedFormat":1},{"version":"0af1485d84516c1a080c1f4569fea672caac8051e29f33733bf8d01df718d213","impliedFormat":1},{"version":"69630ad0e50189fb7a6b8f138c5492450394cb45424a903c8b53b2d5dd1dbce2","impliedFormat":1},{"version":"c585e44fdf120eba5f6b12c874966f152792af727115570b21cb23574f465ce1","impliedFormat":1},{"version":"8e067d3c170e56dfe3502fc8ebd092ae76a5235baad6f825726f3bbcc8a3836a","impliedFormat":1},{"version":"ae7f57067310d6c4acbc4862b91b5799e88831f4ab77f865443a9bc5057b540a","impliedFormat":1},{"version":"955d0c60502897e9735fcd08d2c1ad484b6166786328b89386074aebcd735776","impliedFormat":1},{"version":"2fa69d202a513f2a6553f263d473cba85d598ce250261715d78e8aab42df6b93","impliedFormat":1},{"version":"55480aa69f3984607fa60b3862b5cd24c2ee7bdd4edaed1eef6a8b46554e947f","impliedFormat":1},{"version":"3c19e77a05c092cab5f4fd57f6864aa2657f3ad524882f917a05fdb025905199","impliedFormat":1},{"version":"708350608d7483a4c585233b95d2dc86d992d36e7da312d5802e9a8837b5829d","impliedFormat":1},{"version":"41ceb13974711a87f182145196a641ad804125baf1fca181595f1be8cb0a2cc1","impliedFormat":1},{"version":"13897f9cb8ddf535e2cc6448942410f18298c1540338c1276a17880362b1eb45","impliedFormat":1},{"version":"4d2f7644abb97ec0d681d89b455170cf2bd0e72ee2a3e52d396074d0def264c4","impliedFormat":1},{"version":"671da85fc40086ce6f7309c428511bd77aebc0405b88700a26590a75cf37ff10","impliedFormat":1},{"version":"6e95aab5b3ba30cdbc9d4ad350ae7cbeb519a1eda30a214d2b1ec1f53eecdf9c","impliedFormat":1},{"version":"e11ff96a6e720e91e52ac54c53ee5bea99929bf096ae6b34bca2276e2b277ef8","impliedFormat":1},{"version":"08ce78e8c4c047bb08ccadc6587f6b45f025d85829854199db891cf1de7b209e","impliedFormat":1},{"version":"3afed5176dbb8e33d3366dff69f6fb0948b6849e0d2b53f6d61f41357cd617a3","impliedFormat":1},{"version":"51f8343ee830b7003a644ac90122bd092413344f957f9f9bec64d5945f179927","impliedFormat":1},{"version":"15eb363cdbe0004d3db00bce07892a5f5eb55d281761f768ee0545df54b04a0c","impliedFormat":1},{"version":"9b83354a819146569dfe74a2468b7c11e287286d58b5654555ed1fec10688649","impliedFormat":1},{"version":"e90e58ad52b0d25a238f6a794be594bf647280a6e8478b2337ff729dce62a63c","impliedFormat":1},{"version":"ea1393c82a0cd229de6915d3682db9571c9b65803b971a04f6042bd3b3826b60","impliedFormat":1},{"version":"d4978c3f743921aefd2609c001cf4a6baf74dd5e67337b5088bb29cb6d832ebb","impliedFormat":1},{"version":"973aa2a5bc9b967d9c2ada4edc050ffe2832b09860bfa0ba0cb79b8253e81dd6","impliedFormat":1},{"version":"ec58c0c380bdfbd14776c052cdd94f1b7baf2370d3f5b322fe5878126aae4a86","impliedFormat":99},{"version":"6793a58529b61cea5bee02e79d3c5ee9855082e32e568c321d62d24e77faf84e","impliedFormat":99},{"version":"e4c754734f9d7eb255c13e88bb2362fec6536b66646a40c17ba02ea9e692c213","impliedFormat":99},{"version":"59a40e21742d46699745ed4f5302154e862e9129068774c1d25b8b609ba574f4","impliedFormat":99},{"version":"dbba1d6eebea04aa5452a160360e51110a4bd1532be971b6b4820f6b4aa2f642","impliedFormat":99},{"version":"38f5a341e78552639dee68d2d01f76549c8894e91b47000842240c9dd05d277b","impliedFormat":99},{"version":"eed5c9ba9c8f4a45dc658bb18657499f37187948160e8f46965b2d733dfd5285","impliedFormat":99},{"version":"65ca9d6e2fc192cf8ce57c31b1546a9025ebb825ede0b5aa7279de60dc137379","impliedFormat":99},{"version":"66a0cc3fe9291cb26a93c566e1f1101ad837931178f1f339ddf7eb2001a2ba32","impliedFormat":99},{"version":"d51ccefc11f9e185cb7920a3d7bbeef61cf7b7f5636bf2d30615b92b894e0585","impliedFormat":99},{"version":"5a4eecc771216d56304b52cab5f93c37d8da55d43aeab6303622224383e0440d","impliedFormat":99},{"version":"42dc85a811d473e8ceec46a8e2c89af9ac250aa078cade6db3b84b67a28634e3","impliedFormat":99},{"version":"73a055ff999988b5c2e44e05c78bf10b89523aa11389940c0ff7cba4b863a0ac","impliedFormat":99},{"version":"4fc49f838e49e7918917f1d22f75fbd19071048f8a5cabcb793c53639082676f","impliedFormat":99},{"version":"cdd9bc7642c67304c8477d57cdc6b075770851bc0880021bab032a3caf7cee8f","impliedFormat":99},{"version":"6bdd4d9d10f8b494019909dd7be52d7593aa8bb7d0c4cd1c157e7b764863527e","impliedFormat":99},{"version":"299fc70aa006a6eabce3934fc75c4680ae65b1197fe20954c363f5349064f3eb","impliedFormat":99},{"version":"7aa7d669ca6844f8fc4a0e141f616f971fc40757c618dcbf531290c99c9349d3","impliedFormat":99},{"version":"fa69f255fbd9a5e6dab4deb078e9de0e3368119c4d67bbec36f52bc3362265dd","signature":"6b8402a1e4268af0cf8d154e29f91c32352dc93460f6769d211e10556727c49b"},{"version":"2d484f6aa5f3c375ce3d930e8d157467ddb9efce1386a6ebd6413fa20492f20b","signature":"350f651fe4b88b7eb6c83e337a558cb4945de2eea5245494ff48b893044fcb88"},{"version":"4ffe2a7617248514ca17387c7c66fd0da41e1461d026e5617a3d06e7ddb5beca","signature":"46d2c2f98c40430dd0c5ccd263371d83ce409d8415f2c59cf5d10b18003a403d"},{"version":"38d2c813ec6e740c69dda77e66d4854a3ef8a1997fcd8df0d478e4c1538cd733","signature":"ee7aab65b4737e77763ac0324bc613f050bf5d611d5954e09db067f9abaf1a59"},{"version":"c18df6fe01a0e01177b9d4a8804a66999b1ca0748f0eaf4dcb617b94a69fd8da","signature":"409576127818edebd8552c86b664a70ad55e8f34d5585bfcea569c4366f0dbb6"},{"version":"b8163d015cc861a3507ecb044c5492796e9f676ecaed84ecca16f3a89de7078c","signature":"4db38bb85fba8a1335f07f94838dc2e3609269a3a51eac5baa50082c1e78bf19"},{"version":"31398864e6efa920bdc04851436426b71670bc867203f2a11170a9f545c50870","signature":"54a6b19a91ef93ab3fd179e48a66b4b209e9a183b051a24b73c7896c11fef807"},{"version":"1dc18e2669f9346be38998da8c3989a3c6401e7752d111a1fbf8d95d3d4b1071","signature":"abee11c420135c0ce70bbbca59fe2df944adf86fcc34b16332d1a02944100ff0"},{"version":"df78b117d97de3ae78f5c52c51c06f9ef137fe1133442b715c83c05ab5da2b73","signature":"5883e963cee83c0c788b831ff165f0df656abb0a10ec6848a34e0c72f7c475fd"},{"version":"531434114532a157128b8292f14c2d9d32007625d103d5845d1e7b92cb641f73","signature":"e240c40a53983271bce80fa8e8177e0c76a9e2989ceab8d8bac4e43aca37202b"},{"version":"78c54514f98804afd1f6d76e3f543de35f281c8c4f98529f35bb61a3c431f5e6","signature":"3ff353108d717c28aab2065f99915d96fe972e9985b5745efb892f7dc0d4dade"},"19372ad8c45a854a80c60467abf71b5af813b807a8e9869d7acf94de1b6f591f",{"version":"feed7d35e728dd51a616ed35c4da8d6f9eb1c0ff8f4b55e075615272887f6676","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9a2eaab4e54953c6b2ba21f7ac4c2593859da03917011c10a2acd8864e38e7b2","impliedFormat":1},{"version":"a3b563e1c55f84097b8cb1f1f479f7a4a2a0330a0db15b9faebc8333d0022445","impliedFormat":99},{"version":"720f5d028d71bc22ed4a5311a6ea884329db475d994f805ea86470111eccc1a1","impliedFormat":1},{"version":"b73ccd89cc59bd39ff723ad779cd353b4b5c8d1a24d2afa15b00c0c2e38dec85","affectsGlobalScope":true,"impliedFormat":1},{"version":"f8afc704019b043619b871c58cf664e16ffa2bc252ee036e63a397d1d376fa85","affectsGlobalScope":true,"impliedFormat":1},{"version":"3de9f829f53966384023e023185c0515d18b747f0001924a1919751e6ac5308d","affectsGlobalScope":true,"impliedFormat":1},{"version":"75e5eba775a6a65a949380d689933849e190fef8a12867eb6fe884141af09d30","impliedFormat":1},{"version":"43a495a494b76a0a752f6926e571976c6e7bb1d5c29c84c2a57d4e75ea934bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b8af6e8cf44313406800b820bffc49e83a8ec4598772db25954d03a86c96818","affectsGlobalScope":true,"impliedFormat":1},{"version":"95d4d18508a76d6a7036029d974d27e5ffddd742650f967dca22cf035518ca28","impliedFormat":1},{"version":"c0745e81d1d3574a559ae6ef39808a6783f01081536c1a45fbb9954158154df7","impliedFormat":1},{"version":"d2e66d9477edaa0e4dea79d699f0855a5a7419915da740e28fbfdb322c6a60a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"ca69bbf884a17e7a485bb4fcd129386874050916b275e414af14b2170b4ea728","affectsGlobalScope":true,"impliedFormat":1},{"version":"b52c121cd491cfdbea04c3a77d23e193c23cb411e7598a04ba13a4592842fe2f","impliedFormat":1}],"root":[[82,89],[191,193],[307,319]],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":2,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"referencedMap":[[196,1],[195,2],[306,3],[237,4],[209,5],[204,2],[203,4],[206,4],[205,2],[208,2],[207,2],[294,6],[301,2],[290,2],[289,2],[295,2],[303,2],[298,7],[305,8],[302,2],[300,9],[299,2],[304,10],[293,11],[250,12],[249,13],[291,14],[292,15],[296,2],[297,16],[248,17],[223,14],[232,18],[227,14],[228,19],[229,20],[231,14],[226,21],[230,14],[247,22],[246,14],[233,2],[235,23],[234,24],[225,25],[224,2],[242,2],[243,26],[245,27],[244,28],[97,29],[98,29],[138,30],[139,31],[140,32],[141,33],[142,34],[143,35],[144,36],[145,37],[146,38],[147,39],[148,39],[150,40],[149,41],[151,42],[152,43],[153,44],[137,45],[188,2],[154,46],[155,47],[156,48],[157,49],[158,50],[159,51],[160,52],[161,53],[162,54],[163,55],[164,56],[165,57],[166,58],[167,58],[168,59],[169,2],[170,60],[172,61],[171,62],[173,63],[174,64],[175,65],[176,66],[177,67],[178,68],[179,69],[96,70],[95,2],[189,71],[180,72],[181,73],[182,74],[183,75],[184,76],[185,77],[186,78],[187,79],[79,2],[77,2],[80,80],[190,81],[321,82],[320,83],[241,84],[197,85],[198,86],[199,87],[200,88],[201,89],[194,2],[99,2],[324,90],[332,91],[322,92],[326,2],[323,93],[328,2],[333,94],[329,2],[325,95],[330,2],[327,96],[331,2],[75,2],[78,2],[90,2],[238,2],[76,2],[81,97],[281,98],[267,99],[278,100],[251,2],[269,101],[268,2],[270,102],[276,103],[275,2],[252,2],[273,2],[274,2],[260,104],[255,2],[254,105],[253,2],[262,2],[279,106],[258,104],[261,2],[266,2],[259,104],[256,105],[257,2],[263,105],[264,105],[277,2],[272,2],[280,2],[271,2],[282,2],[265,2],[283,107],[284,107],[288,108],[285,109],[286,110],[287,109],[73,2],[74,2],[12,2],[13,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[24,2],[4,2],[25,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[61,2],[10,2],[62,2],[1,2],[63,2],[64,2],[11,2],[69,2],[66,2],[65,2],[72,2],[70,2],[68,2],[71,2],[67,2],[115,111],[125,112],[114,111],[135,113],[106,114],[105,115],[134,116],[128,117],[133,118],[108,119],[122,120],[107,121],[131,122],[103,123],[102,116],[132,124],[104,125],[109,126],[110,2],[113,126],[100,2],[136,127],[126,128],[117,129],[118,130],[120,131],[116,132],[119,133],[129,116],[111,134],[112,135],[121,136],[101,137],[124,128],[123,126],[127,2],[130,138],[236,4],[202,139],[94,140],[93,141],[91,142],[92,143],[240,144],[239,2],[222,145],[212,146],[214,147],[220,148],[216,2],[217,2],[215,149],[218,145],[210,2],[211,2],[221,150],[213,151],[219,152],[82,153],[83,154],[310,155],[317,156],[312,157],[313,158],[311,159],[314,160],[88,161],[87,162],[315,163],[308,164],[307,165],[316,166],[309,167],[89,2],[192,168],[191,169],[193,170],[318,171],[319,172],[85,173],[84,2],[86,174]],"version":"5.6.3"}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { it, expect } from 'bun:test';
|
|
2
|
-
|
|
3
|
-
import { fetchOpenAPIOperation, parseOpenAPIV3 } from './fetchOpenAPIOperation';
|
|
4
|
-
import { OpenAPIFetcher } from './types';
|
|
5
|
-
|
|
6
|
-
const fetcher: OpenAPIFetcher = {
|
|
7
|
-
fetch: async (url) => {
|
|
8
|
-
const response = await fetch(url);
|
|
9
|
-
return parseOpenAPIV3(url, await response.text());
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
it('should resolve refs', async () => {
|
|
14
|
-
const resolved = await fetchOpenAPIOperation(
|
|
15
|
-
{
|
|
16
|
-
url: 'https://petstore3.swagger.io/api/v3/openapi.json',
|
|
17
|
-
method: 'put',
|
|
18
|
-
path: '/pet',
|
|
19
|
-
},
|
|
20
|
-
fetcher,
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
expect(resolved).toMatchObject({
|
|
24
|
-
servers: [
|
|
25
|
-
{
|
|
26
|
-
url: '/api/v3',
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
operation: {
|
|
30
|
-
tags: ['pet'],
|
|
31
|
-
summary: 'Update an existing pet',
|
|
32
|
-
description: 'Update an existing pet by Id',
|
|
33
|
-
requestBody: {
|
|
34
|
-
content: {
|
|
35
|
-
'application/json': {
|
|
36
|
-
schema: {
|
|
37
|
-
type: 'object',
|
|
38
|
-
required: ['name', 'photoUrls'],
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
it('should support yaml', async () => {
|
|
48
|
-
const resolved = await fetchOpenAPIOperation(
|
|
49
|
-
{
|
|
50
|
-
url: 'https://petstore3.swagger.io/api/v3/openapi.yaml',
|
|
51
|
-
method: 'put',
|
|
52
|
-
path: '/pet',
|
|
53
|
-
},
|
|
54
|
-
fetcher,
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
expect(resolved).toMatchObject({
|
|
58
|
-
servers: [
|
|
59
|
-
{
|
|
60
|
-
url: '/api/v3',
|
|
61
|
-
},
|
|
62
|
-
],
|
|
63
|
-
operation: {
|
|
64
|
-
tags: ['pet'],
|
|
65
|
-
summary: 'Update an existing pet',
|
|
66
|
-
description: 'Update an existing pet by Id',
|
|
67
|
-
requestBody: {
|
|
68
|
-
content: {
|
|
69
|
-
'application/json': {
|
|
70
|
-
schema: {
|
|
71
|
-
type: 'object',
|
|
72
|
-
required: ['name', 'photoUrls'],
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it('should resolve circular refs', async () => {
|
|
82
|
-
const resolved = await fetchOpenAPIOperation(
|
|
83
|
-
{
|
|
84
|
-
url: 'https://api.gitbook.com/openapi.json',
|
|
85
|
-
method: 'post',
|
|
86
|
-
path: '/search/ask',
|
|
87
|
-
},
|
|
88
|
-
fetcher,
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
expect(resolved).toMatchObject({
|
|
92
|
-
servers: [
|
|
93
|
-
{
|
|
94
|
-
url: '{host}/v1',
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
operation: {
|
|
98
|
-
operationId: 'askQuery',
|
|
99
|
-
},
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it('should resolve to null if the method is not supported', async () => {
|
|
104
|
-
const resolved = await fetchOpenAPIOperation(
|
|
105
|
-
{
|
|
106
|
-
url: 'https://petstore3.swagger.io/api/v3/openapi.json',
|
|
107
|
-
method: 'dontexist',
|
|
108
|
-
path: '/pet',
|
|
109
|
-
},
|
|
110
|
-
fetcher,
|
|
111
|
-
);
|
|
112
|
-
|
|
113
|
-
expect(resolved).toBe(null);
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
it('should parse Swagger 2.0', async () => {
|
|
117
|
-
const resolved = await fetchOpenAPIOperation(
|
|
118
|
-
{
|
|
119
|
-
url: 'https://petstore.swagger.io/v2/swagger.json',
|
|
120
|
-
method: 'put',
|
|
121
|
-
path: '/pet',
|
|
122
|
-
},
|
|
123
|
-
fetcher,
|
|
124
|
-
);
|
|
125
|
-
|
|
126
|
-
expect(resolved).toMatchObject({
|
|
127
|
-
servers: [
|
|
128
|
-
{
|
|
129
|
-
url: 'https://petstore.swagger.io/v2',
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
url: 'http://petstore.swagger.io/v2',
|
|
133
|
-
},
|
|
134
|
-
],
|
|
135
|
-
operation: {
|
|
136
|
-
tags: ['pet'],
|
|
137
|
-
summary: 'Update an existing pet',
|
|
138
|
-
description: '',
|
|
139
|
-
requestBody: {
|
|
140
|
-
content: {
|
|
141
|
-
'application/json': {
|
|
142
|
-
schema: {
|
|
143
|
-
type: 'object',
|
|
144
|
-
required: ['name', 'photoUrls'],
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
it('should resolve a ref with whitespace', async () => {
|
|
154
|
-
const resolved = await fetchOpenAPIOperation(
|
|
155
|
-
{
|
|
156
|
-
url: ' https://petstore3.swagger.io/api/v3/openapi.json',
|
|
157
|
-
method: 'put',
|
|
158
|
-
path: '/pet',
|
|
159
|
-
},
|
|
160
|
-
fetcher,
|
|
161
|
-
);
|
|
162
|
-
|
|
163
|
-
expect(resolved).toMatchObject({
|
|
164
|
-
servers: [
|
|
165
|
-
{
|
|
166
|
-
url: '/api/v3',
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
operation: {
|
|
170
|
-
tags: ['pet'],
|
|
171
|
-
summary: 'Update an existing pet',
|
|
172
|
-
description: 'Update an existing pet by Id',
|
|
173
|
-
requestBody: {
|
|
174
|
-
content: {
|
|
175
|
-
'application/json': {
|
|
176
|
-
schema: {
|
|
177
|
-
type: 'object',
|
|
178
|
-
required: ['name', 'photoUrls'],
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
});
|
|
185
|
-
});
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { toJSON, fromJSON } from 'flatted';
|
|
2
|
-
import { OpenAPIV3 } from 'openapi-types';
|
|
3
|
-
import YAML from 'yaml';
|
|
4
|
-
import swagger2openapi, { ConvertOutputOptions } from 'swagger2openapi';
|
|
5
|
-
|
|
6
|
-
import { resolveOpenAPIPath } from './resolveOpenAPIPath';
|
|
7
|
-
import { OpenAPIFetcher } from './types';
|
|
8
|
-
|
|
9
|
-
export interface OpenAPIOperationData extends OpenAPICustomSpecProperties {
|
|
10
|
-
path: string;
|
|
11
|
-
method: string;
|
|
12
|
-
|
|
13
|
-
/** Servers to be used for this operation */
|
|
14
|
-
servers: OpenAPIV3.ServerObject[];
|
|
15
|
-
|
|
16
|
-
/** Spec of the operation */
|
|
17
|
-
operation: OpenAPIV3.OperationObject & OpenAPICustomOperationProperties;
|
|
18
|
-
|
|
19
|
-
/** Securities that should be used for this operation */
|
|
20
|
-
securities: [string, OpenAPIV3.SecuritySchemeObject][];
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Custom properties that can be defined at the entire spec level.
|
|
25
|
-
*/
|
|
26
|
-
export interface OpenAPICustomSpecProperties {
|
|
27
|
-
/**
|
|
28
|
-
* If `true`, code samples will not be displayed.
|
|
29
|
-
* This option can be used to hide code samples for the entire spec.
|
|
30
|
-
*/
|
|
31
|
-
'x-codeSamples'?: boolean;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* If `true`, the "Try it" button will not be displayed.
|
|
35
|
-
* This option can be used to hide code samples for the entire spec.
|
|
36
|
-
*/
|
|
37
|
-
'x-hideTryItPanel'?: boolean;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Custom properties that can be defined at the operation level.
|
|
42
|
-
* These properties are not part of the OpenAPI spec.
|
|
43
|
-
*/
|
|
44
|
-
export interface OpenAPICustomOperationProperties {
|
|
45
|
-
'x-code-samples'?: OpenAPICustomCodeSample[];
|
|
46
|
-
'x-codeSamples'?: OpenAPICustomCodeSample[] | false;
|
|
47
|
-
'x-custom-examples'?: OpenAPICustomCodeSample[];
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* If `true`, the "Try it" button will not be displayed.
|
|
51
|
-
* https://redocly.com/docs/api-reference-docs/specification-extensions/x-hidetryitpanel/
|
|
52
|
-
*/
|
|
53
|
-
'x-hideTryItPanel'?: boolean;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Custom code samples that can be defined at the operation level.
|
|
58
|
-
* It follows the spec defined by Redocly.
|
|
59
|
-
* https://redocly.com/docs/api-reference-docs/specification-extensions/x-code-samples/
|
|
60
|
-
*/
|
|
61
|
-
export interface OpenAPICustomCodeSample {
|
|
62
|
-
lang: string;
|
|
63
|
-
label: string;
|
|
64
|
-
source: string;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export { toJSON, fromJSON };
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Resolve an OpenAPI operation in a file and compile it to a more usable format.
|
|
71
|
-
*/
|
|
72
|
-
export async function fetchOpenAPIOperation(
|
|
73
|
-
input: {
|
|
74
|
-
url: string;
|
|
75
|
-
path: string;
|
|
76
|
-
method: string;
|
|
77
|
-
},
|
|
78
|
-
rawFetcher: OpenAPIFetcher,
|
|
79
|
-
): Promise<OpenAPIOperationData | null> {
|
|
80
|
-
const fetcher = cacheFetcher(rawFetcher);
|
|
81
|
-
|
|
82
|
-
let operation = await resolveOpenAPIPath<OpenAPIV3.OperationObject>(
|
|
83
|
-
input.url,
|
|
84
|
-
['paths', input.path, input.method],
|
|
85
|
-
fetcher,
|
|
86
|
-
);
|
|
87
|
-
|
|
88
|
-
if (!operation) {
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const specData = await fetcher.fetch(input.url);
|
|
93
|
-
|
|
94
|
-
// Resolve common parameters
|
|
95
|
-
const commonParameters = await resolveOpenAPIPath<OpenAPIV3.ParameterObject[]>(
|
|
96
|
-
input.url,
|
|
97
|
-
['paths', input.path, 'parameters'],
|
|
98
|
-
fetcher,
|
|
99
|
-
);
|
|
100
|
-
if (commonParameters) {
|
|
101
|
-
operation = {
|
|
102
|
-
...operation,
|
|
103
|
-
parameters: [...commonParameters, ...(operation.parameters ?? [])],
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Resolve servers
|
|
108
|
-
const servers = await resolveOpenAPIPath<OpenAPIV3.ServerObject[]>(
|
|
109
|
-
input.url,
|
|
110
|
-
['servers'],
|
|
111
|
-
fetcher,
|
|
112
|
-
);
|
|
113
|
-
|
|
114
|
-
// Resolve securities
|
|
115
|
-
const securities: OpenAPIOperationData['securities'] = [];
|
|
116
|
-
for (const security of operation.security ?? []) {
|
|
117
|
-
const securityKey = Object.keys(security)[0];
|
|
118
|
-
|
|
119
|
-
const securityScheme = await resolveOpenAPIPath<OpenAPIV3.SecuritySchemeObject>(
|
|
120
|
-
input.url,
|
|
121
|
-
['components', 'securitySchemes', securityKey],
|
|
122
|
-
fetcher,
|
|
123
|
-
);
|
|
124
|
-
|
|
125
|
-
if (securityScheme) {
|
|
126
|
-
securities.push([securityKey, securityScheme]);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return {
|
|
131
|
-
servers: servers ?? [],
|
|
132
|
-
operation,
|
|
133
|
-
method: input.method,
|
|
134
|
-
path: input.path,
|
|
135
|
-
securities,
|
|
136
|
-
'x-codeSamples':
|
|
137
|
-
typeof specData['x-codeSamples'] === 'boolean' ? specData['x-codeSamples'] : undefined,
|
|
138
|
-
'x-hideTryItPanel':
|
|
139
|
-
typeof specData['x-hideTryItPanel'] === 'boolean'
|
|
140
|
-
? specData['x-hideTryItPanel']
|
|
141
|
-
: undefined,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function cacheFetcher(fetcher: OpenAPIFetcher): OpenAPIFetcher {
|
|
146
|
-
const cache = new Map<string, Promise<any>>();
|
|
147
|
-
|
|
148
|
-
return {
|
|
149
|
-
async fetch(url) {
|
|
150
|
-
if (cache.has(url)) {
|
|
151
|
-
return cache.get(url);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
const promise = fetcher.fetch(url);
|
|
155
|
-
cache.set(url, promise);
|
|
156
|
-
return promise;
|
|
157
|
-
},
|
|
158
|
-
parseMarkdown: fetcher.parseMarkdown,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Parse a raw string into an OpenAPI document.
|
|
164
|
-
* It will also convert Swagger 2.0 to OpenAPI 3.0.
|
|
165
|
-
* It can throw an `OpenAPIFetchError` if the document is invalid.
|
|
166
|
-
*/
|
|
167
|
-
export async function parseOpenAPIV3(url: string, text: string): Promise<OpenAPIV3.Document> {
|
|
168
|
-
// Parse the JSON or YAML
|
|
169
|
-
let data: unknown;
|
|
170
|
-
|
|
171
|
-
// Try with JSON
|
|
172
|
-
try {
|
|
173
|
-
data = JSON.parse(text);
|
|
174
|
-
} catch (jsonError) {
|
|
175
|
-
try {
|
|
176
|
-
// Try with YAML
|
|
177
|
-
data = YAML.parse(text);
|
|
178
|
-
} catch (yamlError) {
|
|
179
|
-
if (yamlError instanceof Error && yamlError.name.startsWith('YAML')) {
|
|
180
|
-
throw new OpenAPIFetchError('Failed to parse YAML: ' + yamlError.message, url);
|
|
181
|
-
} else {
|
|
182
|
-
throw yamlError;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// Convert Swagger 2.0 to OpenAPI 3.0
|
|
188
|
-
// @ts-ignore
|
|
189
|
-
if (data && data.swagger) {
|
|
190
|
-
try {
|
|
191
|
-
// Convert Swagger 2.0 to OpenAPI 3.0
|
|
192
|
-
// @ts-ignore
|
|
193
|
-
const result = (await swagger2openapi.convertObj(data, {
|
|
194
|
-
resolve: false,
|
|
195
|
-
resolveInternal: false,
|
|
196
|
-
laxDefaults: true,
|
|
197
|
-
laxurls: true,
|
|
198
|
-
lint: false,
|
|
199
|
-
prevalidate: false,
|
|
200
|
-
anchors: true,
|
|
201
|
-
patch: true,
|
|
202
|
-
})) as ConvertOutputOptions;
|
|
203
|
-
|
|
204
|
-
data = result.openapi;
|
|
205
|
-
} catch (error) {
|
|
206
|
-
if ((error as Error).name === 'S2OError') {
|
|
207
|
-
throw new OpenAPIFetchError(
|
|
208
|
-
'Failed to convert Swagger 2.0 to OpenAPI 3.0: ' + (error as Error).message,
|
|
209
|
-
url,
|
|
210
|
-
);
|
|
211
|
-
} else {
|
|
212
|
-
throw error;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// @ts-ignore
|
|
218
|
-
return data;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
export class OpenAPIFetchError extends Error {
|
|
222
|
-
public name = 'OpenAPIFetchError';
|
|
223
|
-
|
|
224
|
-
constructor(
|
|
225
|
-
message: string,
|
|
226
|
-
public readonly url: string,
|
|
227
|
-
) {
|
|
228
|
-
super(message);
|
|
229
|
-
}
|
|
230
|
-
}
|