Interface TypefusionDbScriptEffect<T>

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

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

Type Parameters

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

Hierarchy (View Summary)

Properties

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