Membrane SDK - v0.29.2
    Preparing search index...

    Interface JSONSchemaGeneratorParams

    interface JSONSchemaGeneratorParams {
        processors: Record<string, Processor>;
        metadata?: $ZodRegistry<
            Record<string, any>,
            $ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>,
        >;
        target?:
            | "draft-04"
            | "draft-07"
            | "draft-2020-12"
            | "openapi-3.0"
            | {} & string;
        unrepresentable?: "any"
        | "throw";
        override?: (
            ctx: {
                zodSchema: $ZodTypes;
                jsonSchema: JSONSchema;
                path: (string | number)[];
            },
        ) => void;
        io?: "input"
        | "output";
        cycles?: "ref" | "throw";
        reused?: "inline" | "ref";
        external?: {
            registry: $ZodRegistry<{ id?: string }>;
            uri?: (id: string) => string;
            defs: Record<string, BaseSchema>;
        };
    }
    Index

    Properties

    processors: Record<string, Processor>
    metadata?: $ZodRegistry<
        Record<string, any>,
        $ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>,
    >

    A registry used to look up metadata for each schema. Any schema with an id property will be extracted as a $def.

    globalRegistry
    
    target?: "draft-04" | "draft-07" | "draft-2020-12" | "openapi-3.0" | {} & string

    The JSON Schema version to target.

    • "draft-2020-12" — Default. JSON Schema Draft 2020-12
    • "draft-07" — JSON Schema Draft 7
    • "draft-04" — JSON Schema Draft 4
    • "openapi-3.0" — OpenAPI 3.0 Schema Object
    unrepresentable?: "any" | "throw"

    How to handle unrepresentable types.

    • "throw" — Default. Unrepresentable types throw an error
    • "any" — Unrepresentable types become {}
    override?: (
        ctx: {
            zodSchema: $ZodTypes;
            jsonSchema: JSONSchema;
            path: (string | number)[];
        },
    ) => void

    Arbitrary custom logic that can be used to modify the generated JSON Schema.

    io?: "input" | "output"

    Whether to extract the "input" or "output" type. Relevant to transforms, defaults, coerced primitives, etc.

    • "output" — Default. Convert the output schema.
    • "input" — Convert the input schema.
    cycles?: "ref" | "throw"
    reused?: "inline" | "ref"
    external?: {
        registry: $ZodRegistry<{ id?: string }>;
        uri?: (id: string) => string;
        defs: Record<string, BaseSchema>;
    }