Documentation
    Preparing search index...

    Interface IJsonSchemaApplication<Version, App>

    JSON Schema application representing TypeScript functions.

    IJsonSchemaApplication represents a collection of TypeScript class methods or functions converted to JSON Schema format. Generated at compile time by typia.json.application<App>(), this is primarily used for OpenAPI document generation and as an intermediate format for LLM function calling schemas.

    Unlike ILlmApplication which is optimized for LLM consumption, this interface preserves full JSON Schema expressiveness including features that some LLM providers don't support (tuples, additionalProperties, etc.).

    The application contains:

    • functions: Array of function metadata with parameter/return schemas
    • components: Shared schema definitions for $ref references
    • __application: Phantom property for type inference

    Jeongho Nam - https://github.com/samchon

    interface IJsonSchemaApplication<
        Version extends "3.0"
        | "3.1" = "3.1",
        App extends any = object,
    > {
        __application?: App;
        components: IJsonSchemaApplication.IComponents<Schema<Version>>;
        functions: IJsonSchemaApplication.IFunction<Schema<Version>>[];
        version: Version;
    }

    Type Parameters

    • Version extends "3.0" | "3.1" = "3.1"

      OpenAPI version ("3.0" or "3.1")

    • App extends any = object

      Source class/interface type for type preservation

    Index

    Properties

    __application?: App

    Phantom property for TypeScript generic type preservation.

    This property exists only in the type system to preserve the App generic parameter at compile time. It is always undefined at runtime and should not be accessed or used in application code.

    Enables type inference to recover the original application type from an IJsonSchemaApplication instance.

    Shared schema definitions for $ref references.

    Contains named schemas that can be referenced by functions to avoid duplication and enable recursive type definitions.

    Array of function schemas.

    Each function includes parameter schemas, return type schema, and metadata extracted from JSDoc comments. Functions are derived from public methods of the source class/interface.

    version: Version

    OpenAPI specification version.

    Determines the JSON Schema dialect used for type definitions. Use "3.1" for modern JSON Schema features, "3.0" for broader compatibility with older OpenAPI consumers.