mirror of
https://github.com/LukeHagar/openapi-types.git
synced 2025-12-06 12:37:47 +00:00
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
/**
|
|
* -----
|
|
* Extension Type
|
|
* -----
|
|
*
|
|
* Vendor extensions allow adding custom properties to OpenAPI objects.
|
|
* All extension property names MUST begin with "x-" followed by any valid identifier.
|
|
* The value can be any valid JSON value (null, primitive, array, or object).
|
|
*
|
|
* | Version | Reference |
|
|
* |---|-----|
|
|
* | 3.0.4 | {@link https://spec.openapis.org/oas/v3.0.4#specification-extensions | OpenAPI 3.0.4 Extensions} |
|
|
* | 3.0.3 | {@link https://spec.openapis.org/oas/v3.0.3#specification-extensions | OpenAPI 3.0.3 Extensions} |
|
|
* | 3.0.2 | {@link https://spec.openapis.org/oas/v3.0.2#specification-extensions | OpenAPI 3.0.2 Extensions} |
|
|
* | 3.0.1 | {@link https://spec.openapis.org/oas/v3.0.1#specification-extensions | OpenAPI 3.0.1 Extensions} |
|
|
* | 3.0.0 | {@link https://spec.openapis.org/oas/v3.0.0#specification-extensions | OpenAPI 3.0.0 Extensions} |
|
|
*
|
|
* -----
|
|
* Fields
|
|
* -----
|
|
*
|
|
* @property `x-${string}` - Specification Extensions
|
|
*
|
|
* @note
|
|
* All extension property names MUST begin with "x-".
|
|
*
|
|
* -----
|
|
* Examples
|
|
* -----
|
|
*
|
|
* @example (simple extension):
|
|
* ```ts
|
|
* const extension: Extension = {
|
|
* "x-internal-id": "12345"
|
|
* };
|
|
* ```
|
|
*
|
|
* @example (complex extension):
|
|
* ```ts
|
|
* const extension: Extension = {
|
|
* "x-custom-feature": { enabled: true, version: "1.0" }
|
|
* };
|
|
* ```
|
|
*/
|
|
export type Extension = {
|
|
[K in `x-${string}`]: unknown;
|
|
};
|