Interface TypefusionDbScript<T>

The type of a Typefusion script export (TypefusionScriptExport) when the result of the run function contains both the 'schema' and return data you want to use your existing PgType or MySqlType or ClickhouseType schema.

interface TypefusionDbScript<T extends Record<string, DbType<unknown>>> {
    name: string;
    resultDatabase: TypefusionSupportedDatabases;
    run: () => PromiseLike<
        TypefusionScriptResult<
            {
                [key in string
                | number
                | symbol]: T[key] extends DbType<U> ? U : never
            },
        >,
    >;
    runEffect?: <R extends TypefusionContextEffect>() => Effect<
        TypefusionScriptResult<unknown>,
        any,
        R,
    >;
    schema: T;
}

Type Parameters

  • T extends Record<string, DbType<unknown>>

Hierarchy (View Summary)

Properties

name: string
run: () => PromiseLike<
    TypefusionScriptResult<
        {
            [key in string
            | number
            | symbol]: T[key] extends DbType<U> ? U : never
        },
    >,
>
runEffect?: <R extends TypefusionContextEffect>() => Effect<
    TypefusionScriptResult<unknown>,
    any,
    R,
>
schema: T