typia
Version:
Superfast runtime validators with only one line
27 lines (26 loc) • 943 B
TypeScript
import { OpenApi, OpenApiV3 } from "@samchon/openapi";
/**
* Unit of JSON schema.
*
* `IJsonSchemaUnit` is a type that represents a single JSON schema unit
* containing the schema and components.
*
* @template Version Version of the OpenAPI specification
* @template Type Original TypeScript type used in the JSON schema
* @author Jeongho Nam - https://github.com/samchon
*/
export type IJsonSchemaUnit<Version extends "3.0" | "3.1" = "3.1", Type = unknown> = Version extends "3.0" ? IJsonSchemaUnit.IV3_0<Type> : IJsonSchemaUnit.IV3_1<Type>;
export declare namespace IJsonSchemaUnit {
interface IV3_0<Type> {
version: "3.0";
schema: OpenApiV3.IJsonSchema;
components: OpenApiV3.IComponents;
__type?: Type | undefined;
}
interface IV3_1<Type> {
version: "3.1";
schema: OpenApi.IJsonSchema;
components: OpenApi.IComponents;
__type?: Type | undefined;
}
}