oas 32.1.17 → 32.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/index.cjs +5 -5
- package/dist/analyzer/index.cjs.map +1 -1
- package/dist/analyzer/index.js +3 -3
- package/dist/{chunk-M57AO6I5.js → chunk-GZWQFGK3.js} +2 -2
- package/dist/{chunk-H4GRJXZS.js → chunk-MCWI63SO.js} +3 -3
- package/dist/{chunk-2O4EMOAQ.cjs → chunk-NWEIS3AG.cjs} +19 -19
- package/dist/{chunk-2O4EMOAQ.cjs.map → chunk-NWEIS3AG.cjs.map} +1 -1
- package/dist/{chunk-RG46B6WG.cjs → chunk-PQHJW3YY.cjs} +69 -69
- package/dist/{chunk-RG46B6WG.cjs.map → chunk-PQHJW3YY.cjs.map} +1 -1
- package/dist/{chunk-W6JNF2T7.cjs → chunk-SSHP7N5B.cjs} +37 -3
- package/dist/chunk-SSHP7N5B.cjs.map +1 -0
- package/dist/{chunk-DNT6647V.js → chunk-ZEPIAQ7U.js} +37 -3
- package/dist/chunk-ZEPIAQ7U.js.map +1 -0
- package/dist/index.cjs +4 -4
- package/dist/index.js +3 -3
- package/dist/operation/index.cjs +3 -3
- package/dist/operation/index.js +2 -2
- package/dist/reducer/index.cjs +7 -7
- package/dist/reducer/index.js +1 -1
- package/dist/utils.cjs +2 -2
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-DNT6647V.js.map +0 -1
- package/dist/chunk-W6JNF2T7.cjs.map +0 -1
- /package/dist/{chunk-M57AO6I5.js.map → chunk-GZWQFGK3.js.map} +0 -0
- /package/dist/{chunk-H4GRJXZS.js.map → chunk-MCWI63SO.js.map} +0 -0
package/dist/analyzer/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkNWEIS3AGcjs = require('../chunk-NWEIS3AG.cjs');
|
|
4
|
+
require('../chunk-PQHJW3YY.cjs');
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
var _chunkW6GBV2JTcjs = require('../chunk-W6GBV2JT.cjs');
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-W6JNF2T7.cjs');
|
|
9
|
+
require('../chunk-SSHP7N5B.cjs');
|
|
10
10
|
require('../chunk-AYA3UT4L.cjs');
|
|
11
11
|
require('../chunk-3MTU2ESP.cjs');
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ function callbacks(definition) {
|
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
22
|
async function circularRefs(definition) {
|
|
23
|
-
const oas = new (0,
|
|
23
|
+
const oas = new (0, _chunkNWEIS3AGcjs.Oas)(structuredClone(definition));
|
|
24
24
|
await oas.dereference();
|
|
25
25
|
const results = oas.getCircularReferences();
|
|
26
26
|
results.sort();
|
|
@@ -33,7 +33,7 @@ function discriminators(definition) {
|
|
|
33
33
|
return _chunkW6GBV2JTcjs.query.call(void 0, ["$..discriminator"], definition).map((res) => _chunkW6GBV2JTcjs.refizePointer.call(void 0, res.pointer));
|
|
34
34
|
}
|
|
35
35
|
async function fileSize(definition) {
|
|
36
|
-
const oas = new (0,
|
|
36
|
+
const oas = new (0, _chunkNWEIS3AGcjs.Oas)(structuredClone(definition));
|
|
37
37
|
const originalSizeInBytes = Buffer.from(JSON.stringify(oas.api)).length;
|
|
38
38
|
const raw = Number((originalSizeInBytes / (1024 * 1024)).toFixed(2));
|
|
39
39
|
await oas.dereference();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/erunion/code/readme/oas/packages/oas/dist/analyzer/index.cjs","../../src/analyzer/queries/openapi.ts","../../src/analyzer/index.ts"],"names":["additionalProperties","callbacks","circularRefs","commonParameters","discriminators","links","parameterSerialization","polymorphism","refNames","serverVariables","xmlSchemas","xmlRequests","xmlResponses","webhooks"],"mappings":"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","file":"/Users/erunion/code/readme/oas/packages/oas/dist/analyzer/index.cjs","sourcesContent":[null,"import type { OASDocument } from '../../types.js';\n\nimport Oas from '../../index.js';\nimport { query, refizePointer } from '../util.js';\n\n/**\n * Determine if a given API definition uses the `additionalProperties` schema property.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schema-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object}\n */\nexport function additionalProperties(definition: OASDocument): string[] {\n return query(['$..additionalProperties'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilizes `callbacks`.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callback-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#callback-object}\n */\nexport function callbacks(definition: OASDocument): string[] {\n return query(['$.components.callbacks', '$.paths.*[?(@.callbacks)].callbacks'], definition).map(res =>\n refizePointer(res.pointer),\n );\n}\n\n/**\n * Determine if a given API definition has circular refs.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schema-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object}\n */\nexport async function circularRefs(definition: OASDocument): Promise<string[]> {\n // Dereferencing will update the passed in variable, which we don't want to do, so we\n // instantiated `Oas` with a clone.\n const oas = new Oas(structuredClone(definition));\n await oas.dereference();\n\n const results = oas.getCircularReferences();\n\n results.sort();\n return results;\n}\n\n/**\n * Determine if a given API definition utilizes common parameters.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#path-item-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#path-item-object}\n */\nexport function commonParameters(definition: OASDocument): string[] {\n return query(['$..paths[*].parameters'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilizes discriminators.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#discriminator-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#discriminator-object}\n */\nexport function discriminators(definition: OASDocument): string[] {\n return query(['$..discriminator'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Calculate the size of the raw and dereferenced OpenAPI file in MB.\n *\n * If a dereferenced API definition is too large to be stringified the file size will be returned\n * as NaN.\n *\n */\nexport async function fileSize(definition: OASDocument): Promise<{ raw: number; dereferenced: number | typeof NaN }> {\n const oas = new Oas(structuredClone(definition));\n\n const originalSizeInBytes = Buffer.from(JSON.stringify(oas.api)).length;\n const raw = Number((originalSizeInBytes / (1024 * 1024)).toFixed(2));\n\n await oas.dereference();\n\n let dereferenced: number;\n try {\n const dereferencedSizeInBytes = Buffer.from(JSON.stringify(oas.api)).length;\n dereferenced = Number((dereferencedSizeInBytes / (1024 * 1024)).toFixed(2));\n } catch (err) {\n // If the dereferenced API definition is too large to be stringified then we don't have a safer\n // way to estimate its size that wouldn't sacrifice accuracy so we'll just return NaN.\n if (err instanceof RangeError) {\n dereferenced = NaN;\n } else {\n throw err;\n }\n }\n\n return { raw, dereferenced };\n}\n\n/**\n * Determine if a given API definition utilizes `links`.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#link-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#link-object}\n */\nexport function links(definition: OASDocument): string[] {\n return query(['$.components.links', '$.paths..responses.*.links'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine all of the available media types used within an API definition.\n *\n * @todo This query currently picks up false positives if there is an object named `content`.\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#request-body-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#request-body-object}\n */\nexport function mediaTypes(definition: OASDocument): string[] {\n const results = Array.from(\n new Set(\n query(['$..paths..content'], definition).flatMap(res => {\n // This'll transform `results`, which looks like `[['application/json'], ['text/xml']]`\n // into `['application/json', 'text/xml']`.\n return Object.keys(res.value);\n }),\n ),\n );\n\n results.sort();\n return results;\n}\n\n/**\n * Determine if a given API definition uses parameter serialization.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameter-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object}\n */\nexport function parameterSerialization(definition: OASDocument): string[] {\n return query(['$..parameters[*].style^'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilizes schema polymorphism and/of interitance.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schema-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object}\n */\nexport function polymorphism(definition: OASDocument): string[] {\n const results = Array.from(\n new Set(query(['$..allOf^', '$..anyOf^', '$..oneOf^'], definition).map(res => refizePointer(res.pointer))),\n );\n\n results.sort();\n return results;\n}\n\n/**\n * Determine if a given API definition previously had references by checking if we added the\n * `x-readme-ref-name` extension after dereferencing. This extension is added only during the\n * dereferencing process.\n *\n */\nexport function refNames(definition: OASDocument): string[] {\n return query([\"$..['x-readme-ref-name']\"], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine every kind of security type that a given API definition has documented.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#security-scheme-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#security-scheme-object}\n */\nexport function securityTypes(definition: OASDocument): string[] {\n return Array.from(new Set(query(['$.components.securitySchemes..type'], definition).map(res => res.value as string)));\n}\n\n/**\n * Determine if a given API definition utilizes server variables.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#server-variable-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#server-variable-object}\n */\nexport function serverVariables(definition: OASDocument): string[] {\n return query(['$.servers..variables^'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine how many operations are defined in a given API definition.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#operation-object}\n */\nexport function totalOperations(definition: OASDocument): number {\n return query(['$..paths[*]'], definition).flatMap(res => Object.keys(res.value)).length;\n}\n\n/**\n * Determine if a given API definition utilizes `webhooks` support in OpenAPI 3.1.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#oasWebhooks}\n */\nexport function webhooks(definition: OASDocument): string[] {\n return query(['$.webhooks[*]'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition uses XML in a request body payload.\n *\n * @todo detect `+xml` media types\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n */\nexport function xmlRequests(definition: OASDocument): string[] {\n return query(\n [\n \"$..requestBody..['application/xml']\",\n \"$..requestBody..['application/xml-external-parsed-entity']\",\n \"$..requestBody..['application/xml-dtd']\",\n \"$..requestBody..['text/xml']\",\n \"$..requestBody..['text/xml-external-parsed-entity']\",\n '$..requestBody.content[?(@property.match(/\\\\+xml$/i))]',\n ],\n definition,\n ).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition uses XML in a response body.\n *\n * @todo detect `+xml` media types\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n */\nexport function xmlResponses(definition: OASDocument): string[] {\n return query(\n [\n \"$..responses..['application/xml']\",\n \"$..responses..['application/xml-external-parsed-entity']\",\n \"$..responses..['application/xml-dtd']\",\n \"$..responses..['text/xml']\",\n \"$..responses..['text/xml-external-parsed-entity']\",\n '$..responses[*].content[?(@property.match(/\\\\+xml$/i))]',\n ],\n definition,\n ).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilises the XML object for defining XML schemas.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xml-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#xml-object}\n */\nexport function xmlSchemas(definition: OASDocument): string[] {\n return query(['$.components.schemas..xml^', '$..parameters..xml^', '$..requestBody..xml^'], definition).map(res =>\n refizePointer(res.pointer),\n );\n}\n","import type { OASDocument } from '../types.js';\nimport type { OASAnalysis } from './types.js';\n\nimport {\n additionalProperties as analyzeAdditionalProperties,\n callbacks as analyzeCallbacks,\n circularRefs as analyzeCircularRefs,\n commonParameters as analyzeCommonParameters,\n discriminators as analyzeDiscriminators,\n fileSize as analyzeFileSize,\n links as analyzeLinks,\n mediaTypes as analyzeMediaTypes,\n parameterSerialization as analyzeParameterSerialization,\n polymorphism as analyzePolymorphism,\n refNames as analyzeRefNames,\n securityTypes as analyzeSecurityTypes,\n serverVariables as analyzeServerVariables,\n totalOperations as analyzeTotalOperations,\n webhooks as analyzeWebhooks,\n xmlRequests as analyzeXMLRequests,\n xmlResponses as analyzeXMLResponses,\n xmlSchemas as analyzeXMLSchemas,\n} from './queries/openapi.js';\n\nexport {\n analyzeAdditionalProperties,\n analyzeCallbacks,\n analyzeCircularRefs,\n analyzeCommonParameters,\n analyzeDiscriminators,\n analyzeFileSize,\n analyzeLinks,\n analyzeMediaTypes,\n analyzeParameterSerialization,\n analyzePolymorphism,\n analyzeRefNames,\n analyzeSecurityTypes,\n analyzeServerVariables,\n analyzeTotalOperations,\n analyzeWebhooks,\n analyzeXMLRequests,\n analyzeXMLResponses,\n analyzeXMLSchemas,\n};\n\n/**\n * Analyze a given OpenAPI or Swagger definition for any OpenAPI or JSON Schema feature uses it\n * may contain or utilize.\n *\n */\nexport async function analyzer(definition: OASDocument): Promise<OASAnalysis> {\n const additionalProperties = analyzeAdditionalProperties(definition);\n const callbacks = analyzeCallbacks(definition);\n const circularRefs = await analyzeCircularRefs(definition);\n const commonParameters = analyzeCommonParameters(definition);\n const discriminators = analyzeDiscriminators(definition);\n const { raw: rawFileSize, dereferenced: dereferencedFileSize } = await analyzeFileSize(definition);\n const links = analyzeLinks(definition);\n const parameterSerialization = analyzeParameterSerialization(definition);\n const polymorphism = analyzePolymorphism(definition);\n const refNames = analyzeRefNames(definition);\n const serverVariables = analyzeServerVariables(definition);\n const xmlSchemas = analyzeXMLSchemas(definition);\n const xmlRequests = analyzeXMLRequests(definition);\n const xmlResponses = analyzeXMLResponses(definition);\n const webhooks = analyzeWebhooks(definition);\n\n const analysis: OASAnalysis = {\n general: {\n dereferencedFileSize: {\n name: 'Dereferenced File Size',\n found: dereferencedFileSize,\n },\n mediaTypes: {\n name: 'Media Type',\n found: analyzeMediaTypes(definition),\n },\n operationTotal: {\n name: 'Operation',\n found: analyzeTotalOperations(definition),\n },\n rawFileSize: {\n name: 'Raw File Size',\n found: rawFileSize,\n },\n securityTypes: {\n name: 'Security Type',\n found: analyzeSecurityTypes(definition),\n },\n },\n openapi: {\n additionalProperties: {\n present: !!additionalProperties.length,\n locations: additionalProperties,\n },\n callbacks: {\n present: !!callbacks.length,\n locations: callbacks,\n },\n circularRefs: {\n present: !!circularRefs.length,\n locations: circularRefs,\n },\n commonParameters: {\n present: !!commonParameters.length,\n locations: commonParameters,\n },\n discriminators: {\n present: !!discriminators.length,\n locations: discriminators,\n },\n links: {\n present: !!links.length,\n locations: links,\n },\n style: {\n present: !!parameterSerialization.length,\n locations: parameterSerialization,\n },\n polymorphism: {\n present: !!polymorphism.length,\n locations: polymorphism,\n },\n refNames: {\n present: !!refNames.length,\n locations: refNames,\n },\n serverVariables: {\n present: !!serverVariables.length,\n locations: serverVariables,\n },\n xmlRequests: {\n present: !!xmlRequests.length,\n locations: xmlRequests,\n },\n xmlResponses: {\n present: !!xmlResponses.length,\n locations: xmlResponses,\n },\n xmlSchemas: {\n present: !!xmlSchemas.length,\n locations: xmlSchemas,\n },\n webhooks: {\n present: !!webhooks.length,\n locations: webhooks,\n },\n },\n };\n\n return analysis;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/erunion/code/readme/oas/packages/oas/dist/analyzer/index.cjs","../../src/analyzer/queries/openapi.ts","../../src/analyzer/index.ts"],"names":["additionalProperties","callbacks","circularRefs","commonParameters","discriminators","links","parameterSerialization","polymorphism","refNames","serverVariables","xmlSchemas","xmlRequests","xmlResponses","webhooks"],"mappings":"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","file":"/Users/erunion/code/readme/oas/packages/oas/dist/analyzer/index.cjs","sourcesContent":[null,"import type { OASDocument } from '../../types.js';\n\nimport Oas from '../../index.js';\nimport { query, refizePointer } from '../util.js';\n\n/**\n * Determine if a given API definition uses the `additionalProperties` schema property.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schema-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object}\n */\nexport function additionalProperties(definition: OASDocument): string[] {\n return query(['$..additionalProperties'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilizes `callbacks`.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#callback-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#callback-object}\n */\nexport function callbacks(definition: OASDocument): string[] {\n return query(['$.components.callbacks', '$.paths.*[?(@.callbacks)].callbacks'], definition).map(res =>\n refizePointer(res.pointer),\n );\n}\n\n/**\n * Determine if a given API definition has circular refs.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schema-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object}\n */\nexport async function circularRefs(definition: OASDocument): Promise<string[]> {\n // Dereferencing will update the passed in variable, which we don't want to do, so we\n // instantiated `Oas` with a clone.\n const oas = new Oas(structuredClone(definition));\n await oas.dereference();\n\n const results = oas.getCircularReferences();\n\n results.sort();\n return results;\n}\n\n/**\n * Determine if a given API definition utilizes common parameters.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#path-item-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#path-item-object}\n */\nexport function commonParameters(definition: OASDocument): string[] {\n return query(['$..paths[*].parameters'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilizes discriminators.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#discriminator-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#discriminator-object}\n */\nexport function discriminators(definition: OASDocument): string[] {\n return query(['$..discriminator'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Calculate the size of the raw and dereferenced OpenAPI file in MB.\n *\n * If a dereferenced API definition is too large to be stringified the file size will be returned\n * as NaN.\n *\n */\nexport async function fileSize(definition: OASDocument): Promise<{ raw: number; dereferenced: number | typeof NaN }> {\n const oas = new Oas(structuredClone(definition));\n\n const originalSizeInBytes = Buffer.from(JSON.stringify(oas.api)).length;\n const raw = Number((originalSizeInBytes / (1024 * 1024)).toFixed(2));\n\n await oas.dereference();\n\n let dereferenced: number;\n try {\n const dereferencedSizeInBytes = Buffer.from(JSON.stringify(oas.api)).length;\n dereferenced = Number((dereferencedSizeInBytes / (1024 * 1024)).toFixed(2));\n } catch (err) {\n // If the dereferenced API definition is too large to be stringified then we don't have a safer\n // way to estimate its size that wouldn't sacrifice accuracy so we'll just return NaN.\n if (err instanceof RangeError) {\n dereferenced = NaN;\n } else {\n throw err;\n }\n }\n\n return { raw, dereferenced };\n}\n\n/**\n * Determine if a given API definition utilizes `links`.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#link-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#link-object}\n */\nexport function links(definition: OASDocument): string[] {\n return query(['$.components.links', '$.paths..responses.*.links'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine all of the available media types used within an API definition.\n *\n * @todo This query currently picks up false positives if there is an object named `content`.\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#request-body-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#request-body-object}\n */\nexport function mediaTypes(definition: OASDocument): string[] {\n const results = Array.from(\n new Set(\n query(['$..paths..content'], definition).flatMap(res => {\n // This'll transform `results`, which looks like `[['application/json'], ['text/xml']]`\n // into `['application/json', 'text/xml']`.\n return Object.keys(res.value);\n }),\n ),\n );\n\n results.sort();\n return results;\n}\n\n/**\n * Determine if a given API definition uses parameter serialization.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#parameter-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object}\n */\nexport function parameterSerialization(definition: OASDocument): string[] {\n return query(['$..parameters[*].style^'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilizes schema polymorphism and/of interitance.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schema-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object}\n */\nexport function polymorphism(definition: OASDocument): string[] {\n const results = Array.from(\n new Set(query(['$..allOf^', '$..anyOf^', '$..oneOf^'], definition).map(res => refizePointer(res.pointer))),\n );\n\n results.sort();\n return results;\n}\n\n/**\n * Determine if a given API definition previously had references by checking if we added the\n * `x-readme-ref-name` extension after dereferencing. This extension is added only during the\n * dereferencing process.\n *\n */\nexport function refNames(definition: OASDocument): string[] {\n return query([\"$..['x-readme-ref-name']\"], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine every kind of security type that a given API definition has documented.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#security-scheme-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#security-scheme-object}\n */\nexport function securityTypes(definition: OASDocument): string[] {\n return Array.from(new Set(query(['$.components.securitySchemes..type'], definition).map(res => res.value as string)));\n}\n\n/**\n * Determine if a given API definition utilizes server variables.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#server-variable-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#server-variable-object}\n */\nexport function serverVariables(definition: OASDocument): string[] {\n return query(['$.servers..variables^'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine how many operations are defined in a given API definition.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#operation-object}\n */\nexport function totalOperations(definition: OASDocument): number {\n return query(['$..paths[*]'], definition).flatMap(res => Object.keys(res.value)).length;\n}\n\n/**\n * Determine if a given API definition utilizes `webhooks` support in OpenAPI 3.1.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#oasWebhooks}\n */\nexport function webhooks(definition: OASDocument): string[] {\n return query(['$.webhooks[*]'], definition).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition uses XML in a request body payload.\n *\n * @todo detect `+xml` media types\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n */\nexport function xmlRequests(definition: OASDocument): string[] {\n return query(\n [\n \"$..requestBody..['application/xml']\",\n \"$..requestBody..['application/xml-external-parsed-entity']\",\n \"$..requestBody..['application/xml-dtd']\",\n \"$..requestBody..['text/xml']\",\n \"$..requestBody..['text/xml-external-parsed-entity']\",\n '$..requestBody.content[?(@property.match(/\\\\+xml$/i))]',\n ],\n definition,\n ).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition uses XML in a response body.\n *\n * @todo detect `+xml` media types\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object}\n */\nexport function xmlResponses(definition: OASDocument): string[] {\n return query(\n [\n \"$..responses..['application/xml']\",\n \"$..responses..['application/xml-external-parsed-entity']\",\n \"$..responses..['application/xml-dtd']\",\n \"$..responses..['text/xml']\",\n \"$..responses..['text/xml-external-parsed-entity']\",\n '$..responses[*].content[?(@property.match(/\\\\+xml$/i))]',\n ],\n definition,\n ).map(res => refizePointer(res.pointer));\n}\n\n/**\n * Determine if a given API definition utilises the XML object for defining XML schemas.\n *\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#xml-object}\n * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#xml-object}\n */\nexport function xmlSchemas(definition: OASDocument): string[] {\n return query(['$.components.schemas..xml^', '$..parameters..xml^', '$..requestBody..xml^'], definition).map(res =>\n refizePointer(res.pointer),\n );\n}\n","import type { OASDocument } from '../types.js';\nimport type { OASAnalysis } from './types.js';\n\nimport {\n additionalProperties as analyzeAdditionalProperties,\n callbacks as analyzeCallbacks,\n circularRefs as analyzeCircularRefs,\n commonParameters as analyzeCommonParameters,\n discriminators as analyzeDiscriminators,\n fileSize as analyzeFileSize,\n links as analyzeLinks,\n mediaTypes as analyzeMediaTypes,\n parameterSerialization as analyzeParameterSerialization,\n polymorphism as analyzePolymorphism,\n refNames as analyzeRefNames,\n securityTypes as analyzeSecurityTypes,\n serverVariables as analyzeServerVariables,\n totalOperations as analyzeTotalOperations,\n webhooks as analyzeWebhooks,\n xmlRequests as analyzeXMLRequests,\n xmlResponses as analyzeXMLResponses,\n xmlSchemas as analyzeXMLSchemas,\n} from './queries/openapi.js';\n\nexport {\n analyzeAdditionalProperties,\n analyzeCallbacks,\n analyzeCircularRefs,\n analyzeCommonParameters,\n analyzeDiscriminators,\n analyzeFileSize,\n analyzeLinks,\n analyzeMediaTypes,\n analyzeParameterSerialization,\n analyzePolymorphism,\n analyzeRefNames,\n analyzeSecurityTypes,\n analyzeServerVariables,\n analyzeTotalOperations,\n analyzeWebhooks,\n analyzeXMLRequests,\n analyzeXMLResponses,\n analyzeXMLSchemas,\n};\n\n/**\n * Analyze a given OpenAPI or Swagger definition for any OpenAPI or JSON Schema feature uses it\n * may contain or utilize.\n *\n */\nexport async function analyzer(definition: OASDocument): Promise<OASAnalysis> {\n const additionalProperties = analyzeAdditionalProperties(definition);\n const callbacks = analyzeCallbacks(definition);\n const circularRefs = await analyzeCircularRefs(definition);\n const commonParameters = analyzeCommonParameters(definition);\n const discriminators = analyzeDiscriminators(definition);\n const { raw: rawFileSize, dereferenced: dereferencedFileSize } = await analyzeFileSize(definition);\n const links = analyzeLinks(definition);\n const parameterSerialization = analyzeParameterSerialization(definition);\n const polymorphism = analyzePolymorphism(definition);\n const refNames = analyzeRefNames(definition);\n const serverVariables = analyzeServerVariables(definition);\n const xmlSchemas = analyzeXMLSchemas(definition);\n const xmlRequests = analyzeXMLRequests(definition);\n const xmlResponses = analyzeXMLResponses(definition);\n const webhooks = analyzeWebhooks(definition);\n\n const analysis: OASAnalysis = {\n general: {\n dereferencedFileSize: {\n name: 'Dereferenced File Size',\n found: dereferencedFileSize,\n },\n mediaTypes: {\n name: 'Media Type',\n found: analyzeMediaTypes(definition),\n },\n operationTotal: {\n name: 'Operation',\n found: analyzeTotalOperations(definition),\n },\n rawFileSize: {\n name: 'Raw File Size',\n found: rawFileSize,\n },\n securityTypes: {\n name: 'Security Type',\n found: analyzeSecurityTypes(definition),\n },\n },\n openapi: {\n additionalProperties: {\n present: !!additionalProperties.length,\n locations: additionalProperties,\n },\n callbacks: {\n present: !!callbacks.length,\n locations: callbacks,\n },\n circularRefs: {\n present: !!circularRefs.length,\n locations: circularRefs,\n },\n commonParameters: {\n present: !!commonParameters.length,\n locations: commonParameters,\n },\n discriminators: {\n present: !!discriminators.length,\n locations: discriminators,\n },\n links: {\n present: !!links.length,\n locations: links,\n },\n style: {\n present: !!parameterSerialization.length,\n locations: parameterSerialization,\n },\n polymorphism: {\n present: !!polymorphism.length,\n locations: polymorphism,\n },\n refNames: {\n present: !!refNames.length,\n locations: refNames,\n },\n serverVariables: {\n present: !!serverVariables.length,\n locations: serverVariables,\n },\n xmlRequests: {\n present: !!xmlRequests.length,\n locations: xmlRequests,\n },\n xmlResponses: {\n present: !!xmlResponses.length,\n locations: xmlResponses,\n },\n xmlSchemas: {\n present: !!xmlSchemas.length,\n locations: xmlSchemas,\n },\n webhooks: {\n present: !!webhooks.length,\n locations: webhooks,\n },\n },\n };\n\n return analysis;\n}\n"]}
|
package/dist/analyzer/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Oas
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-MCWI63SO.js";
|
|
4
|
+
import "../chunk-GZWQFGK3.js";
|
|
4
5
|
import {
|
|
5
6
|
query,
|
|
6
7
|
refizePointer
|
|
7
8
|
} from "../chunk-CKC36IL7.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-DNT6647V.js";
|
|
9
|
+
import "../chunk-ZEPIAQ7U.js";
|
|
10
10
|
import "../chunk-S27IGTVG.js";
|
|
11
11
|
import "../chunk-PSNTODZL.js";
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
mergeReferencedSchemasIntoRoot,
|
|
16
16
|
supportedMethods,
|
|
17
17
|
toJSONSchema
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ZEPIAQ7U.js";
|
|
19
19
|
import {
|
|
20
20
|
getExtension
|
|
21
21
|
} from "./chunk-S27IGTVG.js";
|
|
@@ -1882,4 +1882,4 @@ export {
|
|
|
1882
1882
|
* @license Apache-2.0
|
|
1883
1883
|
* @see {@link https://github.com/swagger-api/swagger-ui/blob/master/src/core/plugins/samples/fn.js}
|
|
1884
1884
|
*/
|
|
1885
|
-
//# sourceMappingURL=chunk-
|
|
1885
|
+
//# sourceMappingURL=chunk-GZWQFGK3.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Operation,
|
|
3
3
|
Webhook
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GZWQFGK3.js";
|
|
5
5
|
import {
|
|
6
6
|
SERVER_VARIABLE_REGEX,
|
|
7
7
|
decorateComponentSchemasWithRefName,
|
|
8
8
|
dereferenceRef,
|
|
9
9
|
getDereferencingOptions,
|
|
10
10
|
supportedMethods
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZEPIAQ7U.js";
|
|
12
12
|
import {
|
|
13
13
|
CODE_SAMPLES,
|
|
14
14
|
HEADERS,
|
|
@@ -856,4 +856,4 @@ var Oas = class _Oas {
|
|
|
856
856
|
export {
|
|
857
857
|
Oas
|
|
858
858
|
};
|
|
859
|
-
//# sourceMappingURL=chunk-
|
|
859
|
+
//# sourceMappingURL=chunk-MCWI63SO.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkPQHJW3YYcjs = require('./chunk-PQHJW3YY.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkSSHP7N5Bcjs = require('./chunk-SSHP7N5B.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -61,7 +61,7 @@ function getByScheme(user, scheme = {}, selectedApp) {
|
|
|
61
61
|
}
|
|
62
62
|
function getAuth(api, user, selectedApp) {
|
|
63
63
|
return Object.keys(_optionalChain([api, 'optionalAccess', _3 => _3.components, 'optionalAccess', _4 => _4.securitySchemes]) || {}).map((scheme) => {
|
|
64
|
-
const securityScheme =
|
|
64
|
+
const securityScheme = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, _optionalChain([api, 'access', _5 => _5.components, 'optionalAccess', _6 => _6.securitySchemes, 'optionalAccess', _7 => _7[scheme]]), api);
|
|
65
65
|
if (!securityScheme || _chunk3MTU2ESPcjs.isRef.call(void 0, securityScheme)) {
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
@@ -126,7 +126,7 @@ function normalizedURL(api, selected) {
|
|
|
126
126
|
return ensureProtocol(url);
|
|
127
127
|
}
|
|
128
128
|
function transformURLIntoRegex(url) {
|
|
129
|
-
return stripTrailingSlash(url.replace(
|
|
129
|
+
return stripTrailingSlash(url.replace(_chunkSSHP7N5Bcjs.SERVER_VARIABLE_REGEX, "([-_a-zA-Z0-9:.[\\]]+)"));
|
|
130
130
|
}
|
|
131
131
|
function normalizePath(path) {
|
|
132
132
|
return path.replace(/({?){(.*?)}(}?)/g, (str, ...args) => {
|
|
@@ -331,7 +331,7 @@ var Oas = (_class = class _Oas {
|
|
|
331
331
|
return false;
|
|
332
332
|
}
|
|
333
333
|
const variables = {};
|
|
334
|
-
Array.from(server.url.matchAll(
|
|
334
|
+
Array.from(server.url.matchAll(_chunkSSHP7N5Bcjs.SERVER_VARIABLE_REGEX)).forEach((variable, y) => {
|
|
335
335
|
variables[variable[1]] = found[y + 1];
|
|
336
336
|
});
|
|
337
337
|
return {
|
|
@@ -362,7 +362,7 @@ var Oas = (_class = class _Oas {
|
|
|
362
362
|
*/
|
|
363
363
|
replaceUrl(url, variables = {}) {
|
|
364
364
|
return stripTrailingSlash(
|
|
365
|
-
url.replace(
|
|
365
|
+
url.replace(_chunkSSHP7N5Bcjs.SERVER_VARIABLE_REGEX, (original, key) => {
|
|
366
366
|
if (key in variables) {
|
|
367
367
|
const data = variables[key];
|
|
368
368
|
if (typeof data === "object") {
|
|
@@ -393,22 +393,22 @@ var Oas = (_class = class _Oas {
|
|
|
393
393
|
};
|
|
394
394
|
if (opts.isWebhook) {
|
|
395
395
|
if (_chunk3MTU2ESPcjs.isOpenAPI31.call(void 0, this.api)) {
|
|
396
|
-
const webhookPath =
|
|
396
|
+
const webhookPath = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, _optionalChain([this, 'access', _19 => _19.api, 'optionalAccess', _20 => _20.webhooks, 'optionalAccess', _21 => _21[path]]), this.api);
|
|
397
397
|
if (webhookPath && !_chunk3MTU2ESPcjs.isRef.call(void 0, webhookPath)) {
|
|
398
398
|
if (_optionalChain([webhookPath, 'optionalAccess', _22 => _22[method]])) {
|
|
399
399
|
operation = webhookPath[method];
|
|
400
|
-
return new (0,
|
|
400
|
+
return new (0, _chunkPQHJW3YYcjs.Webhook)(this, path, method, operation);
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
405
|
if (_optionalChain([this, 'optionalAccess', _23 => _23.api, 'optionalAccess', _24 => _24.paths, 'optionalAccess', _25 => _25[path]])) {
|
|
406
|
-
const pathItem =
|
|
406
|
+
const pathItem = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, this.api.paths[path], this.api);
|
|
407
407
|
if (_optionalChain([pathItem, 'optionalAccess', _26 => _26[method]])) {
|
|
408
|
-
operation =
|
|
408
|
+
operation = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, pathItem[method], this.api);
|
|
409
409
|
}
|
|
410
410
|
}
|
|
411
|
-
return new (0,
|
|
411
|
+
return new (0, _chunkPQHJW3YYcjs.Operation)(this, path, method, operation);
|
|
412
412
|
}
|
|
413
413
|
findOperationMatches(url) {
|
|
414
414
|
const { origin, hostname } = new URL(url);
|
|
@@ -576,7 +576,7 @@ var Oas = (_class = class _Oas {
|
|
|
576
576
|
let scheme = _optionalChain([this, 'access', _34 => _34.api, 'optionalAccess', _35 => _35.components, 'optionalAccess', _36 => _36.securitySchemes, 'optionalAccess', _37 => _37[name]]);
|
|
577
577
|
if (!scheme) return void 0;
|
|
578
578
|
if (_chunk3MTU2ESPcjs.isRef.call(void 0, scheme)) {
|
|
579
|
-
scheme =
|
|
579
|
+
scheme = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, scheme, this.api);
|
|
580
580
|
if (!scheme || _chunk3MTU2ESPcjs.isRef.call(void 0, scheme)) return void 0;
|
|
581
581
|
}
|
|
582
582
|
return scheme;
|
|
@@ -602,14 +602,14 @@ var Oas = (_class = class _Oas {
|
|
|
602
602
|
if (!pathItem) {
|
|
603
603
|
return;
|
|
604
604
|
} else if (_chunk3MTU2ESPcjs.isRef.call(void 0, pathItem)) {
|
|
605
|
-
this.api.paths[path] =
|
|
605
|
+
this.api.paths[path] = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, pathItem, this.api);
|
|
606
606
|
pathItem = this.api.paths[path];
|
|
607
607
|
if (!pathItem || _chunk3MTU2ESPcjs.isRef.call(void 0, pathItem)) {
|
|
608
608
|
return;
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
611
|
Object.keys(pathItem).forEach((method) => {
|
|
612
|
-
if (!
|
|
612
|
+
if (!_chunkSSHP7N5Bcjs.supportedMethods.includes(method)) {
|
|
613
613
|
return;
|
|
614
614
|
}
|
|
615
615
|
paths[path][method] = this.operation(path, method);
|
|
@@ -631,10 +631,10 @@ var Oas = (_class = class _Oas {
|
|
|
631
631
|
}
|
|
632
632
|
Object.keys(this.api.webhooks).forEach((id) => {
|
|
633
633
|
webhooks[id] = {};
|
|
634
|
-
const webhookPath =
|
|
634
|
+
const webhookPath = _chunkSSHP7N5Bcjs.dereferenceRef.call(void 0, _optionalChain([this, 'access', _38 => _38.api, 'access', _39 => _39.webhooks, 'optionalAccess', _40 => _40[id]]), this.api);
|
|
635
635
|
if (webhookPath) {
|
|
636
636
|
Object.keys(webhookPath).forEach((method) => {
|
|
637
|
-
if (!
|
|
637
|
+
if (!_chunkSSHP7N5Bcjs.supportedMethods.includes(method)) {
|
|
638
638
|
return;
|
|
639
639
|
}
|
|
640
640
|
webhooks[id][method] = this.operation(id, method, {
|
|
@@ -804,12 +804,12 @@ var Oas = (_class = class _Oas {
|
|
|
804
804
|
}
|
|
805
805
|
this.dereferencing.processing = true;
|
|
806
806
|
if (!this.schemasDecorated) {
|
|
807
|
-
|
|
807
|
+
_chunkSSHP7N5Bcjs.decorateComponentSchemasWithRefName.call(void 0, this.api);
|
|
808
808
|
this.schemasDecorated = true;
|
|
809
809
|
}
|
|
810
810
|
const { api, promises } = this;
|
|
811
811
|
const circularRefs = /* @__PURE__ */ new Set();
|
|
812
|
-
const dereferencingOptions =
|
|
812
|
+
const dereferencingOptions = _chunkSSHP7N5Bcjs.getDereferencingOptions.call(void 0, circularRefs);
|
|
813
813
|
return _openapiparser.dereference.call(void 0, api, dereferencingOptions).then((dereferenced) => {
|
|
814
814
|
this.api = dereferenced;
|
|
815
815
|
this.promises = promises;
|
|
@@ -856,4 +856,4 @@ var Oas = (_class = class _Oas {
|
|
|
856
856
|
|
|
857
857
|
|
|
858
858
|
exports.Oas = Oas;
|
|
859
|
-
//# sourceMappingURL=chunk-
|
|
859
|
+
//# sourceMappingURL=chunk-NWEIS3AG.cjs.map
|