@apidevtools/swagger-parser
Advanced tools
Comparing version 10.0.0 to 10.0.1
import { OpenAPI } from "openapi-types"; | ||
export = SwaggerParser | ||
export = SwaggerParser; | ||
@@ -17,3 +17,3 @@ /** | ||
*/ | ||
api: OpenAPI.Document; | ||
public api: OpenAPI.Document; | ||
@@ -27,3 +27,3 @@ /** | ||
*/ | ||
$refs: SwaggerParser.$Refs; | ||
public $refs: SwaggerParser.$Refs; | ||
@@ -40,8 +40,8 @@ /** | ||
*/ | ||
validate(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
validate(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
validate(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
validate(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public validate(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public validate(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public validate(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public validate(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -58,8 +58,8 @@ /** | ||
*/ | ||
static validate(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
static validate(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static validate(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
static validate(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
static validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static validate(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public static validate(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static validate(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public static validate(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -77,8 +77,8 @@ /** | ||
*/ | ||
dereference(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
dereference(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public dereference(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public dereference(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -96,8 +96,8 @@ /** | ||
*/ | ||
static dereference(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
static dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static dereference(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
static dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
static dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static dereference(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public static dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static dereference(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public static dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -115,8 +115,8 @@ /** | ||
*/ | ||
bundle(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
bundle(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public bundle(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public bundle(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -134,8 +134,8 @@ /** | ||
*/ | ||
static bundle(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
static bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static bundle(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
static bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
static bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static bundle(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public static bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static bundle(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public static bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -153,8 +153,8 @@ /** | ||
*/ | ||
parse(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
parse(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
parse(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
parse(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public parse(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public parse(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public parse(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public parse(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -172,8 +172,8 @@ /** | ||
*/ | ||
static parse(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
static parse(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
static parse(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
static parse(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
static parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static parse(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; | ||
public static parse(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; | ||
public static parse(api: string | OpenAPI.Document): Promise<OpenAPI.Document>; | ||
public static parse(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
public static parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<OpenAPI.Document>; | ||
@@ -191,8 +191,8 @@ /** | ||
*/ | ||
resolve(api: string | OpenAPI.Document, callback: SwaggerParser.$RefsCallback): void; | ||
resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
resolve(api: string | OpenAPI.Document): Promise<SwaggerParser.$Refs>; | ||
resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
public resolve(api: string | OpenAPI.Document, callback: SwaggerParser.$RefsCallback): void; | ||
public resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
public resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
public resolve(api: string | OpenAPI.Document): Promise<SwaggerParser.$Refs>; | ||
public resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
public resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
@@ -210,10 +210,11 @@ /** | ||
*/ | ||
static resolve(api: string | OpenAPI.Document, callback: SwaggerParser.$RefsCallback): void; | ||
static resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
static resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
static resolve(api: string | OpenAPI.Document): Promise<SwaggerParser.$Refs>; | ||
static resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
static resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
public static resolve(api: string | OpenAPI.Document, callback: SwaggerParser.$RefsCallback): void; | ||
public static resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
public static resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; | ||
public static resolve(api: string | OpenAPI.Document): Promise<SwaggerParser.$Refs>; | ||
public static resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
public static resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise<SwaggerParser.$Refs>; | ||
} | ||
// eslint-disable-next-line no-redeclare | ||
declare namespace SwaggerParser { | ||
@@ -227,3 +228,3 @@ | ||
*/ | ||
export type Options = { | ||
export interface Options { | ||
@@ -236,7 +237,7 @@ /** | ||
parse?: { | ||
json?: ParserOptions | boolean | ||
yaml?: ParserOptions | boolean | ||
text?: (ParserOptions & { encoding?: string }) | boolean | ||
[key: string]: ParserOptions | boolean | undefined | ||
} | ||
json?: ParserOptions | boolean; | ||
yaml?: ParserOptions | boolean; | ||
text?: (ParserOptions & { encoding?: string }) | boolean; | ||
[key: string]: ParserOptions | boolean | undefined; | ||
}; | ||
@@ -253,6 +254,6 @@ /** | ||
*/ | ||
external?: boolean | ||
file?: Partial<ResolverOptions> | boolean | ||
http?: HTTPResolverOptions | boolean | ||
} | ||
external?: boolean; | ||
file?: Partial<ResolverOptions> | boolean; | ||
http?: HTTPResolverOptions | boolean; | ||
}; | ||
@@ -271,4 +272,4 @@ /** | ||
*/ | ||
circular?: boolean | 'ignore' | ||
} | ||
circular?: boolean | "ignore"; | ||
}; | ||
@@ -283,3 +284,3 @@ /** | ||
*/ | ||
schema?: boolean, | ||
schema?: boolean; | ||
@@ -289,4 +290,4 @@ /** | ||
*/ | ||
spec?: boolean, | ||
} | ||
spec?: boolean; | ||
}; | ||
} | ||
@@ -299,3 +300,3 @@ | ||
*/ | ||
headers?: object | ||
headers?: object; | ||
@@ -305,3 +306,3 @@ /** | ||
*/ | ||
timeout?: number | ||
timeout?: number; | ||
@@ -311,3 +312,3 @@ /** | ||
*/ | ||
redirects?: number | ||
redirects?: number; | ||
@@ -317,3 +318,3 @@ /** | ||
*/ | ||
withCredentials?: boolean | ||
withCredentials?: boolean; | ||
} | ||
@@ -333,3 +334,3 @@ | ||
*/ | ||
order?: number | ||
order?: number; | ||
@@ -339,3 +340,3 @@ /** | ||
*/ | ||
canRead: boolean | RegExp | string | string[] | ((file: FileInfo) => boolean) | ||
canRead: boolean | RegExp | string | string[] | ((file: FileInfo) => boolean); | ||
@@ -350,3 +351,3 @@ /** | ||
callback?: (error: Error | null, data: string | null) => any | ||
): string | Buffer | Promise<string | Buffer> | ||
): string | Buffer | Promise<string | Buffer>; | ||
} | ||
@@ -361,3 +362,3 @@ | ||
*/ | ||
order?: number | ||
order?: number; | ||
@@ -369,3 +370,3 @@ /** | ||
*/ | ||
allowEmpty?: boolean | ||
allowEmpty?: boolean; | ||
@@ -377,3 +378,3 @@ /** | ||
*/ | ||
canParse?: boolean | RegExp | string | string[] | ((file: FileInfo) => boolean) | ||
canParse?: boolean | RegExp | string | string[] | ((file: FileInfo) => boolean); | ||
} | ||
@@ -393,3 +394,3 @@ | ||
*/ | ||
url: string | ||
url: string; | ||
@@ -399,3 +400,3 @@ /** | ||
*/ | ||
extension: string | ||
extension: string; | ||
@@ -405,3 +406,3 @@ /** | ||
*/ | ||
data: string | Buffer | ||
data: string | Buffer; | ||
} | ||
@@ -422,3 +423,3 @@ | ||
*/ | ||
circular: boolean | ||
public circular: boolean; | ||
@@ -432,3 +433,3 @@ /** | ||
*/ | ||
paths(...types: string[]): string[] | ||
public paths(...types: string[]): string[] | ||
@@ -442,3 +443,3 @@ /** | ||
*/ | ||
values(...types: string[]): { [url: string]: any } | ||
public values(...types: string[]): { [url: string]: any } | ||
@@ -452,3 +453,3 @@ /** | ||
*/ | ||
exists($ref: string): boolean | ||
public exists($ref: string): boolean | ||
@@ -462,3 +463,3 @@ /** | ||
*/ | ||
get($ref: string): any | ||
public get($ref: string): any | ||
@@ -471,5 +472,5 @@ /** | ||
*/ | ||
set($ref: string, value: any): void | ||
public set($ref: string, value: any): void | ||
} | ||
} |
@@ -0,1 +1,2 @@ | ||
/* eslint-disable no-unused-vars */ | ||
"use strict"; | ||
@@ -2,0 +3,0 @@ |
@@ -13,7 +13,7 @@ "use strict"; | ||
* | ||
* @param {object|ParserOptions} [options] - Overridden options | ||
* @param {object|ParserOptions} [_options] - Overridden options | ||
* @constructor | ||
* @extends $RefParserOptions | ||
*/ | ||
function ParserOptions (options) { | ||
function ParserOptions (_options) { | ||
$RefParserOptions.call(this, ParserOptions.defaults); | ||
@@ -20,0 +20,0 @@ $RefParserOptions.apply(this, arguments); |
{ | ||
"name": "@apidevtools/swagger-parser", | ||
"version": "10.0.0", | ||
"version": "10.0.1", | ||
"description": "Swagger 2.0 and OpenAPI 3.0 parser and validator for Node and browsers", | ||
@@ -46,3 +46,3 @@ "keywords": [ | ||
"test:browser": "karma start --single-run", | ||
"test:typescript": "tsc --noEmit --strict --lib esnext test/specs/typescript-definition.spec.ts", | ||
"test:typescript": "tsc --noEmit --strict --lib esnext,dom test/specs/typescript-definition.spec.ts", | ||
"coverage": "npm run coverage:node && npm run coverage:browser", | ||
@@ -57,9 +57,9 @@ "coverage:node": "nyc node_modules/mocha/bin/mocha", | ||
"@babel/polyfill": "^7.10.4", | ||
"@jsdevtools/eslint-config-modular": "^8.0.3", | ||
"@jsdevtools/host-environment": "^2.0.3", | ||
"@jsdevtools/karma-config": "^3.1.4", | ||
"@jsdevtools/version-bump-prompt": "^6.0.3", | ||
"@types/node": "^14.0.20", | ||
"@jsdevtools/eslint-config": "^1.0.5", | ||
"@jsdevtools/host-environment": "^2.0.4", | ||
"@jsdevtools/karma-config": "^3.1.7", | ||
"@jsdevtools/version-bump-prompt": "^6.0.6", | ||
"@types/node": "^14.0.23", | ||
"chai": "^4.2.0", | ||
"eslint": "^7.4.0", | ||
"eslint": "^7.5.0", | ||
"karma": "^5.1.0", | ||
@@ -73,10 +73,10 @@ "karma-cli": "^2.0.0", | ||
"shx": "^0.3.2", | ||
"simplifyify": "^8.0.1", | ||
"typescript": "^3.9.6" | ||
"simplifyify": "^8.0.3", | ||
"typescript": "^3.9.7" | ||
}, | ||
"dependencies": { | ||
"@apidevtools/json-schema-ref-parser": "^9.0.2", | ||
"@apidevtools/openapi-schemas": "^2.0.3", | ||
"@apidevtools/swagger-methods": "^3.0.1", | ||
"@jsdevtools/ono": "^7.1.2", | ||
"@apidevtools/json-schema-ref-parser": "^9.0.5", | ||
"@apidevtools/openapi-schemas": "^2.0.4", | ||
"@apidevtools/swagger-methods": "^3.0.2", | ||
"@jsdevtools/ono": "^7.1.3", | ||
"call-me-maybe": "^1.0.1", | ||
@@ -83,0 +83,0 @@ "openapi-types": "^1.3.5", |
@@ -27,3 +27,3 @@ Swagger 2.0 and OpenAPI 3.0 parser/validator | ||
- **[Tested](https://github.com/APIDevTools/swagger-parser/actions)** in Node.js and all modern web browsers on Mac, Windows, and Linux | ||
- Tested on **[over 1,500 real-world APIs](https://apis.guru/browse-apis/)** from Google, Instagram, Spotify, etc. | ||
- Tested on **[over 1,500 real-world APIs](https://apis.guru/browse-apis/)** from Google, Microsoft, Facebook, Spotify, etc. | ||
- Supports [circular references](https://apitools.dev/swagger-parser/docs/#circular-refs), nested references, back-references, and cross-references | ||
@@ -30,0 +30,0 @@ - Maintains object reference equality — `$ref` pointers to the same value always resolve to the same object instance |
75071
977