@scalar/openapi-parser 0.28.16 → 0.29.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.
Files changed (103) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/configuration/index.d.ts +6 -5307
  3. package/dist/configuration/index.d.ts.map +1 -1
  4. package/dist/configuration/index.js +2 -15
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/types/index.d.ts +3 -13
  8. package/dist/types/index.d.ts.map +1 -1
  9. package/dist/utils/details.d.ts.map +1 -1
  10. package/dist/utils/details.js +8 -1
  11. package/dist/utils/filter.d.ts +2 -1
  12. package/dist/utils/filter.d.ts.map +1 -1
  13. package/dist/utils/get-list-of-references.d.ts +1 -1
  14. package/dist/utils/get-list-of-references.d.ts.map +1 -1
  15. package/dist/utils/join/join.d.ts +1 -1
  16. package/dist/utils/join/join.d.ts.map +1 -1
  17. package/dist/utils/join/merge-objects.d.ts.map +1 -1
  18. package/dist/utils/join/merge-objects.js +7 -0
  19. package/dist/utils/make-filesystem.d.ts +2 -1
  20. package/dist/utils/make-filesystem.d.ts.map +1 -1
  21. package/dist/utils/openapi/openapi.d.ts +352 -352
  22. package/dist/utils/resolve-references.d.ts +2 -1
  23. package/dist/utils/resolve-references.d.ts.map +1 -1
  24. package/dist/utils/to-json.d.ts +1 -1
  25. package/dist/utils/to-json.d.ts.map +1 -1
  26. package/dist/utils/to-yaml.d.ts +1 -1
  27. package/dist/utils/to-yaml.d.ts.map +1 -1
  28. package/dist/utils/transform/sanitize.d.ts +1 -1
  29. package/dist/utils/transform/sanitize.d.ts.map +1 -1
  30. package/dist/utils/transform/utils/addInfoObject.d.ts +1 -1
  31. package/dist/utils/transform/utils/addInfoObject.d.ts.map +1 -1
  32. package/dist/utils/transform/utils/addLatestOpenApiVersion.d.ts +1 -1
  33. package/dist/utils/transform/utils/addLatestOpenApiVersion.d.ts.map +1 -1
  34. package/dist/utils/transform/utils/addMissingTags.d.ts +1 -1
  35. package/dist/utils/transform/utils/addMissingTags.d.ts.map +1 -1
  36. package/dist/utils/transform/utils/normalizeSecuritySchemes.d.ts +1 -1
  37. package/dist/utils/transform/utils/normalizeSecuritySchemes.d.ts.map +1 -1
  38. package/dist/utils/transform/utils/rejectSwaggerDocuments.d.ts +1 -1
  39. package/dist/utils/transform/utils/rejectSwaggerDocuments.d.ts.map +1 -1
  40. package/dist/utils/traverse.d.ts.map +1 -1
  41. package/dist/utils/upgrade.d.ts +2 -1
  42. package/dist/utils/upgrade.d.ts.map +1 -1
  43. package/dist/utils/validate.d.ts +8 -2
  44. package/dist/utils/validate.d.ts.map +1 -1
  45. package/dist/utils/validate.js +75 -29
  46. package/package.json +7 -11
  47. package/dist/lib/Validator/Validator.d.ts +0 -22
  48. package/dist/lib/Validator/Validator.d.ts.map +0 -1
  49. package/dist/lib/Validator/Validator.js +0 -146
  50. package/dist/schemas/v2.0/schema.d.ts +0 -1407
  51. package/dist/schemas/v2.0/schema.d.ts.map +0 -1
  52. package/dist/schemas/v2.0/schema.js +0 -1466
  53. package/dist/schemas/v3.0/schema.d.ts +0 -1269
  54. package/dist/schemas/v3.0/schema.d.ts.map +0 -1
  55. package/dist/schemas/v3.0/schema.js +0 -1499
  56. package/dist/schemas/v3.1/schema.d.ts +0 -1225
  57. package/dist/schemas/v3.1/schema.d.ts.map +0 -1
  58. package/dist/schemas/v3.1/schema.js +0 -1292
  59. package/dist/schemas/v3.2/schema.d.ts +0 -1409
  60. package/dist/schemas/v3.2/schema.d.ts.map +0 -1
  61. package/dist/schemas/v3.2/schema.js +0 -1509
  62. package/dist/utils/betterAjvErrors/helpers.d.ts +0 -3
  63. package/dist/utils/betterAjvErrors/helpers.d.ts.map +0 -1
  64. package/dist/utils/betterAjvErrors/helpers.js +0 -159
  65. package/dist/utils/betterAjvErrors/index.d.ts +0 -17
  66. package/dist/utils/betterAjvErrors/index.d.ts.map +0 -1
  67. package/dist/utils/betterAjvErrors/index.js +0 -12
  68. package/dist/utils/betterAjvErrors/utils.d.ts +0 -13
  69. package/dist/utils/betterAjvErrors/utils.d.ts.map +0 -1
  70. package/dist/utils/betterAjvErrors/utils.js +0 -21
  71. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.d.ts +0 -10
  72. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.d.ts.map +0 -1
  73. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.js +0 -15
  74. package/dist/utils/betterAjvErrors/validation-errors/base.d.ts +0 -23
  75. package/dist/utils/betterAjvErrors/validation-errors/base.d.ts.map +0 -1
  76. package/dist/utils/betterAjvErrors/validation-errors/base.js +0 -21
  77. package/dist/utils/betterAjvErrors/validation-errors/default.d.ts +0 -10
  78. package/dist/utils/betterAjvErrors/validation-errors/default.d.ts.map +0 -1
  79. package/dist/utils/betterAjvErrors/validation-errors/default.js +0 -15
  80. package/dist/utils/betterAjvErrors/validation-errors/enum.d.ts +0 -11
  81. package/dist/utils/betterAjvErrors/validation-errors/enum.d.ts.map +0 -1
  82. package/dist/utils/betterAjvErrors/validation-errors/enum.js +0 -36
  83. package/dist/utils/betterAjvErrors/validation-errors/format.d.ts +0 -27
  84. package/dist/utils/betterAjvErrors/validation-errors/format.d.ts.map +0 -1
  85. package/dist/utils/betterAjvErrors/validation-errors/format.js +0 -73
  86. package/dist/utils/betterAjvErrors/validation-errors/index.d.ts +0 -8
  87. package/dist/utils/betterAjvErrors/validation-errors/index.d.ts.map +0 -1
  88. package/dist/utils/betterAjvErrors/validation-errors/index.js +0 -7
  89. package/dist/utils/betterAjvErrors/validation-errors/pattern.d.ts +0 -10
  90. package/dist/utils/betterAjvErrors/validation-errors/pattern.d.ts.map +0 -1
  91. package/dist/utils/betterAjvErrors/validation-errors/pattern.js +0 -15
  92. package/dist/utils/betterAjvErrors/validation-errors/required.d.ts +0 -10
  93. package/dist/utils/betterAjvErrors/validation-errors/required.d.ts.map +0 -1
  94. package/dist/utils/betterAjvErrors/validation-errors/required.js +0 -14
  95. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.d.ts +0 -10
  96. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.d.ts.map +0 -1
  97. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.js +0 -15
  98. package/dist/utils/transform-errors.d.ts +0 -6
  99. package/dist/utils/transform-errors.d.ts.map +0 -1
  100. package/dist/utils/transform-errors.js +0 -65
  101. package/dist/utils/validate-path-parameters.d.ts +0 -6
  102. package/dist/utils/validate-path-parameters.d.ts.map +0 -1
  103. 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":"AAKA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,qBAAqB,CAAA;AAE/D,eAAO,MAAM,eAAe,EAAyC,cAAc,EAAE,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;CAST,CAAA"}
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
- import Swagger20 from '../schemas/v2.0/schema.js';
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
- * A list of the supported OpenAPI specifications
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/index.d.ts CHANGED
@@ -7,7 +7,7 @@ upgradeFromTwoToThree, } from '@scalar/openapi-upgrader/2.0-to-3.0';
7
7
  export {
8
8
  /** @deprecated Please import from @scalar/openapi-upgrader/3.0-to-3.1 instead */
9
9
  upgradeFromThreeToThreeOne, } from '@scalar/openapi-upgrader/3.0-to-3.1';
10
- export type { AnyObject, ErrorObject, Filesystem, LoadResult, UnknownObject } from './types/index.js';
10
+ export type { ErrorObject, Filesystem, LoadResult } from './types/index.js';
11
11
  export { type DereferenceOptions, dereference } from './utils/dereference.js';
12
12
  export { filter } from './utils/filter.js';
13
13
  export { isJson } from './utils/is-json.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,4FAA4F;AAC5F,iBAAiB,GAClB,MAAM,gDAAgD,CAAA;AACvD,OAAO;AACL,iFAAiF;AACjF,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO;AACL,iFAAiF;AACjF,0BAA0B,GAC3B,MAAM,qCAAqC,CAAA;AAE5C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5F,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,4FAA4F;AAC5F,iBAAiB,GAClB,MAAM,gDAAgD,CAAA;AACvD,OAAO;AACL,iFAAiF;AACjF,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO;AACL,iFAAiF;AACjF,0BAA0B,GAC3B,MAAM,qCAAqC,CAAA;AAE5C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClE,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA"}
@@ -2,19 +2,18 @@ import type { Document as OpenApiDocumentV2 } from '@scalar/openapi-types/2.0';
2
2
  import type { Document as OpenApiDocumentV3 } from '@scalar/openapi-types/3.0';
3
3
  import type { Document as OpenApiDocumentV3_1 } from '@scalar/openapi-types/3.1';
4
4
  import type { Document as OpenApiDocumentV3_2 } from '@scalar/openapi-types/3.2';
5
+ import type { UnknownObject } from '@scalar/types/utils';
5
6
  import type { ERRORS, OpenApiVersion } from '../configuration/index.js';
6
7
  /**
7
8
  * Merge types with each other
8
9
  */
9
10
  type Merge<A, B> = A & Omit<B, keyof A>;
10
- export type AnyObject = Record<string, any>;
11
- export type UnknownObject = Record<string, unknown>;
12
11
  /**
13
12
  * JSON, YAML or object representation of an OpenAPI API definition
14
13
  */
15
14
  export type AnyApiDefinitionFormat = string | UnknownObject | Filesystem;
16
15
  export type StrictOpenApiDocument = OpenApiDocumentV2 | OpenApiDocumentV3 | OpenApiDocumentV3_1 | OpenApiDocumentV3_2;
17
- export type OpenApiDocument = StrictOpenApiDocument;
16
+ type OpenApiDocument = StrictOpenApiDocument;
18
17
  export type LoadResult = {
19
18
  filesystem: Filesystem;
20
19
  specification: UnknownObject | null;
@@ -33,15 +32,6 @@ export type ValidateResult = {
33
32
  errors: ErrorObject[];
34
33
  schema?: UnknownObject;
35
34
  };
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
35
  export type UpgradeResult<T extends OpenApiDocument = OpenApiDocument> = {
46
36
  specification: T;
47
37
  version: '3.1';
@@ -61,7 +51,7 @@ export type DereferenceResult = {
61
51
  errors?: ErrorObject[];
62
52
  };
63
53
  export type ErrorObject = {
64
- path?: string[];
54
+ path?: string | string[];
65
55
  message: string;
66
56
  code?: keyof typeof ERRORS | string;
67
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
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,CA6B7D"}
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"}
@@ -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 === 'string' && value.startsWith(version)) {
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,
@@ -1,4 +1,5 @@
1
- import type { AnyApiDefinitionFormat, UnknownObject, FilterResult } from '../types/index.js';
1
+ import type { UnknownObject } from '@scalar/types/utils';
2
+ import type { AnyApiDefinitionFormat, FilterResult } from '../types/index.js';
2
3
  export type FilterCallback = (schema: UnknownObject) => boolean;
3
4
  /**
4
5
  * Filter the specification based on the callback
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKxF,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAA;AAE/D;;GAEG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,cAAc,GAAG,YAAY,CAQpG"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAMzE,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAA;AAE/D;;GAEG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,cAAc,GAAG,YAAY,CAQpG"}
@@ -1,4 +1,4 @@
1
- import type { AnyObject } from '../types/index.js';
1
+ import type { AnyObject } from '@scalar/types/utils';
2
2
  /**
3
3
  * Walks through the specification and returns all references as an array.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"get-list-of-references.d.ts","sourceRoot":"","sources":["../../src/utils/get-list-of-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,SAAS,YAmB3D"}
1
+ {"version":3,"file":"get-list-of-references.d.ts","sourceRoot":"","sources":["../../src/utils/get-list-of-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIpD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,SAAS,YAmB3D"}
@@ -1,5 +1,5 @@
1
1
  import type { Document as OpenApiDocumentV3_1 } from '@scalar/openapi-types/3.1';
2
- import type { UnknownObject } from '../../types/index.js';
2
+ import type { UnknownObject } from '@scalar/types/utils';
3
3
  type Conflicts = {
4
4
  type: 'path';
5
5
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/utils/join/join.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,QAAQ,IAAI,mBAAmB,EAKhC,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAyO5C,KAAK,SAAS,GACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAC9D,KAAK,UAAU,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAMrG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,IAAI,GAAU,QAAQ,aAAa,EAAE,EAAE,SAAS;IAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,OAAO,CAAC,UAAU,CAkE/G,CAAA"}
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/utils/join/join.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,QAAQ,IAAI,mBAAmB,EAKhC,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA0OxD,KAAK,SAAS,GACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAC9D,KAAK,UAAU,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAMrG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,IAAI,GAAU,QAAQ,aAAa,EAAE,EAAE,SAAS;IAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,OAAO,CAAC,UAAU,CAkE/G,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-objects.d.ts","sourceRoot":"","sources":["../../../src/utils/join/merge-objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,CAiBxF,CAAA"}
1
+ {"version":3,"file":"merge-objects.d.ts","sourceRoot":"","sources":["../../../src/utils/join/merge-objects.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,CAwBxF,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { isPollutionKey } from '@scalar/helpers/object/prevent-pollution';
1
2
  /**
2
3
  * Deep merges two objects, combining their properties recursively.
3
4
  *
@@ -19,6 +20,12 @@
19
20
  */
20
21
  export const mergeObjects = (a, b) => {
21
22
  for (const key in b) {
23
+ // Skip inherited keys and prototype pollution vectors such as an own `__proto__` key that
24
+ // survives JSON.parse. Without this guard the recursive merge below would walk into
25
+ // Object.prototype and pollute it for the whole process.
26
+ if (!Object.hasOwn(b, key) || isPollutionKey(key)) {
27
+ continue;
28
+ }
22
29
  if (!(key in a)) {
23
30
  a[key] = b[key];
24
31
  }
@@ -1,3 +1,4 @@
1
- import type { Filesystem, FilesystemEntry, UnknownObject } from '../types/index.js';
1
+ import type { UnknownObject } from '@scalar/types/utils';
2
+ import type { Filesystem, FilesystemEntry } from '../types/index.js';
2
3
  export declare function makeFilesystem(value: string | UnknownObject | Filesystem, overwrites?: Partial<FilesystemEntry>): Filesystem;
3
4
  //# sourceMappingURL=make-filesystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"make-filesystem.d.ts","sourceRoot":"","sources":["../../src/utils/make-filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK/E,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,EAC1C,UAAU,GAAE,OAAO,CAAC,eAAe,CAAM,GACxC,UAAU,CAwBZ"}
1
+ {"version":3,"file":"make-filesystem.d.ts","sourceRoot":"","sources":["../../src/utils/make-filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAMhE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,EAC1C,UAAU,GAAE,OAAO,CAAC,eAAe,CAAM,GACxC,UAAU,CAwBZ"}