@scalar/openapi-parser 0.28.16 → 0.29.0
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 +10 -0
- package/dist/configuration/index.d.ts +6 -5307
- package/dist/configuration/index.d.ts.map +1 -1
- package/dist/configuration/index.js +2 -15
- package/dist/types/index.d.ts +3 -13
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/details.d.ts.map +1 -1
- package/dist/utils/details.js +8 -1
- package/dist/utils/openapi/openapi.d.ts +172 -172
- package/dist/utils/validate.d.ts +6 -1
- package/dist/utils/validate.d.ts.map +1 -1
- package/dist/utils/validate.js +75 -29
- package/package.json +7 -11
- package/dist/lib/Validator/Validator.d.ts +0 -22
- package/dist/lib/Validator/Validator.d.ts.map +0 -1
- package/dist/lib/Validator/Validator.js +0 -146
- package/dist/schemas/v2.0/schema.d.ts +0 -1407
- package/dist/schemas/v2.0/schema.d.ts.map +0 -1
- package/dist/schemas/v2.0/schema.js +0 -1466
- package/dist/schemas/v3.0/schema.d.ts +0 -1269
- package/dist/schemas/v3.0/schema.d.ts.map +0 -1
- package/dist/schemas/v3.0/schema.js +0 -1499
- package/dist/schemas/v3.1/schema.d.ts +0 -1225
- package/dist/schemas/v3.1/schema.d.ts.map +0 -1
- package/dist/schemas/v3.1/schema.js +0 -1292
- package/dist/schemas/v3.2/schema.d.ts +0 -1409
- package/dist/schemas/v3.2/schema.d.ts.map +0 -1
- package/dist/schemas/v3.2/schema.js +0 -1509
- package/dist/utils/betterAjvErrors/helpers.d.ts +0 -3
- package/dist/utils/betterAjvErrors/helpers.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/helpers.js +0 -159
- package/dist/utils/betterAjvErrors/index.d.ts +0 -17
- package/dist/utils/betterAjvErrors/index.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/index.js +0 -12
- package/dist/utils/betterAjvErrors/utils.d.ts +0 -13
- package/dist/utils/betterAjvErrors/utils.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/utils.js +0 -21
- package/dist/utils/betterAjvErrors/validation-errors/additional-prop.d.ts +0 -10
- package/dist/utils/betterAjvErrors/validation-errors/additional-prop.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/additional-prop.js +0 -15
- package/dist/utils/betterAjvErrors/validation-errors/base.d.ts +0 -23
- package/dist/utils/betterAjvErrors/validation-errors/base.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/base.js +0 -21
- package/dist/utils/betterAjvErrors/validation-errors/default.d.ts +0 -10
- package/dist/utils/betterAjvErrors/validation-errors/default.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/default.js +0 -15
- package/dist/utils/betterAjvErrors/validation-errors/enum.d.ts +0 -11
- package/dist/utils/betterAjvErrors/validation-errors/enum.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/enum.js +0 -36
- package/dist/utils/betterAjvErrors/validation-errors/format.d.ts +0 -27
- package/dist/utils/betterAjvErrors/validation-errors/format.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/format.js +0 -73
- package/dist/utils/betterAjvErrors/validation-errors/index.d.ts +0 -8
- package/dist/utils/betterAjvErrors/validation-errors/index.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/index.js +0 -7
- package/dist/utils/betterAjvErrors/validation-errors/pattern.d.ts +0 -10
- package/dist/utils/betterAjvErrors/validation-errors/pattern.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/pattern.js +0 -15
- package/dist/utils/betterAjvErrors/validation-errors/required.d.ts +0 -10
- package/dist/utils/betterAjvErrors/validation-errors/required.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/required.js +0 -14
- package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.d.ts +0 -10
- package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.d.ts.map +0 -1
- package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.js +0 -15
- package/dist/utils/transform-errors.d.ts +0 -6
- package/dist/utils/transform-errors.d.ts.map +0 -1
- package/dist/utils/transform-errors.js +0 -65
- package/dist/utils/validate-path-parameters.d.ts +0 -6
- package/dist/utils/validate-path-parameters.d.ts.map +0 -1
- package/dist/utils/validate-path-parameters.js +0 -94
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configuration/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configuration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAE1D,eAAO,MAAM,eAAe,EAAE,cAAc,EAAiC,CAAA;AAE7E;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;CAST,CAAA"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import OpenApi30 from '../schemas/v3.0/schema.js';
|
|
3
|
-
import OpenApi31 from '../schemas/v3.1/schema.js';
|
|
4
|
-
import OpenApi32 from '../schemas/v3.2/schema.js';
|
|
1
|
+
export const OpenApiVersions = ['2.0', '3.0', '3.1', '3.2'];
|
|
5
2
|
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
export const OpenApiSpecifications = {
|
|
9
|
-
'2.0': Swagger20,
|
|
10
|
-
'3.0': OpenApi30,
|
|
11
|
-
'3.1': OpenApi31,
|
|
12
|
-
'3.2': OpenApi32,
|
|
13
|
-
};
|
|
14
|
-
export const OpenApiVersions = Object.keys(OpenApiSpecifications);
|
|
15
|
-
/**
|
|
16
|
-
* List of error messages used in the Validator
|
|
3
|
+
* List of error messages used in the parser
|
|
17
4
|
*/
|
|
18
5
|
export const ERRORS = {
|
|
19
6
|
EMPTY_OR_INVALID: "Can't find JSON, YAML or filename in data.",
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,14 +7,14 @@ import type { ERRORS, OpenApiVersion } from '../configuration/index.js';
|
|
|
7
7
|
* Merge types with each other
|
|
8
8
|
*/
|
|
9
9
|
type Merge<A, B> = A & Omit<B, keyof A>;
|
|
10
|
-
export type AnyObject
|
|
10
|
+
export type { AnyObject } from '@scalar/types/utils';
|
|
11
11
|
export type UnknownObject = Record<string, unknown>;
|
|
12
12
|
/**
|
|
13
13
|
* JSON, YAML or object representation of an OpenAPI API definition
|
|
14
14
|
*/
|
|
15
15
|
export type AnyApiDefinitionFormat = string | UnknownObject | Filesystem;
|
|
16
16
|
export type StrictOpenApiDocument = OpenApiDocumentV2 | OpenApiDocumentV3 | OpenApiDocumentV3_1 | OpenApiDocumentV3_2;
|
|
17
|
-
|
|
17
|
+
type OpenApiDocument = StrictOpenApiDocument;
|
|
18
18
|
export type LoadResult = {
|
|
19
19
|
filesystem: Filesystem;
|
|
20
20
|
specification: UnknownObject | null;
|
|
@@ -33,15 +33,6 @@ export type ValidateResult = {
|
|
|
33
33
|
errors: ErrorObject[];
|
|
34
34
|
schema?: UnknownObject;
|
|
35
35
|
};
|
|
36
|
-
export type ValidationOutcome = {
|
|
37
|
-
valid: true;
|
|
38
|
-
errors?: ErrorObject[];
|
|
39
|
-
schema: StrictOpenApiDocument;
|
|
40
|
-
} | {
|
|
41
|
-
valid: false;
|
|
42
|
-
errors: ErrorObject[];
|
|
43
|
-
schema?: UnknownObject;
|
|
44
|
-
};
|
|
45
36
|
export type UpgradeResult<T extends OpenApiDocument = OpenApiDocument> = {
|
|
46
37
|
specification: T;
|
|
47
38
|
version: '3.1';
|
|
@@ -61,7 +52,7 @@ export type DereferenceResult = {
|
|
|
61
52
|
errors?: ErrorObject[];
|
|
62
53
|
};
|
|
63
54
|
export type ErrorObject = {
|
|
64
|
-
path?: string[];
|
|
55
|
+
path?: string | string[];
|
|
65
56
|
message: string;
|
|
66
57
|
code?: keyof typeof ERRORS | string;
|
|
67
58
|
};
|
|
@@ -145,5 +136,4 @@ type EmptyCommandChainResult = {
|
|
|
145
136
|
* the sequence of method calls in the fluent interface.
|
|
146
137
|
*/
|
|
147
138
|
export type CommandChain<T extends Task[]> = T extends [infer First, ...infer Rest] ? First extends Task ? Rest extends Task[] ? Merge<Commands[First['name']]['result'], CommandChain<Rest>> : never : never : EmptyCommandChainResult;
|
|
148
|
-
export {};
|
|
149
139
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,KAAK,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,KAAK,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,KAAK,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAG7D;;GAEG;AACH,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAEvC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/utils/details.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD;;GAEG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/utils/details.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD;;GAEG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,CAsC7D"}
|
package/dist/utils/details.js
CHANGED
|
@@ -15,7 +15,14 @@ export function details(specification) {
|
|
|
15
15
|
for (const version of new Set(OpenApiVersions)) {
|
|
16
16
|
const specificationType = version === '2.0' ? 'swagger' : 'openapi';
|
|
17
17
|
const value = specification[specificationType];
|
|
18
|
-
if (typeof value
|
|
18
|
+
if (typeof value !== 'string') {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
// Match on major.minor exactly, mirroring `@scalar/openapi-validator`'s
|
|
22
|
+
// version detection. A `startsWith` check would mistake a future "3.10.0"
|
|
23
|
+
// for "3.1", so the parser and the validator would disagree on the version.
|
|
24
|
+
const [major, minor] = value.split('.');
|
|
25
|
+
if (`${major}.${minor}` === version) {
|
|
19
26
|
return {
|
|
20
27
|
version: version,
|
|
21
28
|
specificationType,
|