UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

56 lines (50 loc) 1.81 kB
import { OpenApi } from "../../OpenApi"; import { ILlamaSchema } from "../../structures/ILlamaSchema"; import { ILlmFunction } from "../../structures/ILlmFunction"; import { IOpenApiSchemaError } from "../../structures/IOpenApiSchemaError"; import { IResult } from "../../structures/IResult"; import { LlmSchemaV3_1Composer } from "./LlmSchemaV3_1Composer"; export namespace LlamaSchemaComposer { /** * @internal */ export const IS_DEFS = true; export const parameters = (props: { config: ILlamaSchema.IConfig; components: OpenApi.IComponents; schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference; }): IResult<ILlamaSchema.IParameters, IOpenApiSchemaError> => LlmSchemaV3_1Composer.parameters({ ...props, config: { reference: props.config.reference, constraint: true, }, }); export const schema = (props: { config: ILlamaSchema.IConfig; components: OpenApi.IComponents; $defs: Record<string, ILlamaSchema>; schema: OpenApi.IJsonSchema; }): IResult<ILlamaSchema, IOpenApiSchemaError> => LlmSchemaV3_1Composer.schema({ ...props, config: { reference: props.config.reference, constraint: true, }, }); export const separateParameters = (props: { parameters: ILlamaSchema.IParameters; predicate: (schema: ILlamaSchema) => boolean; convention?: (key: string, type: "llm" | "human") => string; }): ILlmFunction.ISeparated<"llama"> => LlmSchemaV3_1Composer.separateParameters( props, ) as any as ILlmFunction.ISeparated<"llama">; export const invert = (props: { components: OpenApi.IComponents; schema: ILlamaSchema; $defs: Record<string, ILlamaSchema>; }): OpenApi.IJsonSchema => LlmSchemaV3_1Composer.invert(props); }