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

Type Parameters

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

Hierarchy (view full)

Properties

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