functional-models
    Preparing search index...

    Interface OrmModelExtensions<TModelExtensions, TModelInstanceExtensions>

    Extensions to the Model type

    interface OrmModelExtensions<
        TModelExtensions extends object = object,
        TModelInstanceExtensions extends object = object,
    > {
        bulkInsert: <TData extends Readonly<{ [s: string]: any }>>(
            instances: readonly OrmModelInstance<
                TData,
                TModelExtensions,
                TModelInstanceExtensions,
            >[],
        ) => Promise<void>;
        count: () => Promise<number>;
        createAndSave: <TData extends Readonly<{ [s: string]: any }>>(
            data: OrmModelInstance<
                TData,
                TModelExtensions,
                TModelInstanceExtensions,
            >,
        ) => Promise<
            OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
        >;
        delete: (id: PrimaryKeyType) => Promise<void>;
        retrieve: <TData extends Readonly<{ [s: string]: any }>>(
            primaryKey: PrimaryKeyType,
        ) => Promise<
            Maybe<
                OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
            >,
        >;
        save: <TData extends Readonly<{ [s: string]: any }>>(
            instance: OrmModelInstance<
                TData,
                TModelExtensions,
                TModelInstanceExtensions,
            >,
        ) => Promise<
            OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
        >;
        search: <TData extends Readonly<{ [s: string]: any }>>(
            query: OrmSearch,
        ) => Promise<
            Readonly<
                {
                    instances: readonly OrmModelInstance<
                        TData,
                        OrmModel<TData, TModelExtensions, TModelInstanceExtensions>,
                        object,
                    >[];
                    page?: any;
                },
            >,
        >;
        searchOne: <TData extends Readonly<{ [s: string]: any }>>(
            query: Omit<OrmSearch, "take">,
        ) => Promise<
            | undefined
            | OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
        >;
    }

    Type Parameters

    • TModelExtensions extends object = object
    • TModelInstanceExtensions extends object = object
    Index

    Properties

    bulkInsert: <TData extends Readonly<{ [s: string]: any }>>(
        instances: readonly OrmModelInstance<
            TData,
            TModelExtensions,
            TModelInstanceExtensions,
        >[],
    ) => Promise<void>

    Inserts multiple objects at once. Can often see great optimizations in some databases.

    count: () => Promise<number>

    Counts the number of models saved in the database.

    createAndSave: <TData extends Readonly<{ [s: string]: any }>>(
        data: OrmModelInstance<
            TData,
            TModelExtensions,
            TModelInstanceExtensions,
        >,
    ) => Promise<
        OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
    >

    Creates and saves an instance. An optimization in some databases

    delete: (id: PrimaryKeyType) => Promise<void>

    Deletes an instance by its id.

    Type declaration

    retrieve: <TData extends Readonly<{ [s: string]: any }>>(
        primaryKey: PrimaryKeyType,
    ) => Promise<
        Maybe<
            OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
        >,
    >

    Attempts to get an instance by its id

    save: <TData extends Readonly<{ [s: string]: any }>>(
        instance: OrmModelInstance<
            TData,
            TModelExtensions,
            TModelInstanceExtensions,
        >,
    ) => Promise<
        OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
    >

    Save the model

    Type declaration

    search: <TData extends Readonly<{ [s: string]: any }>>(
        query: OrmSearch,
    ) => Promise<
        Readonly<
            {
                instances: readonly OrmModelInstance<
                    TData,
                    OrmModel<TData, TModelExtensions, TModelInstanceExtensions>,
                    object,
                >[];
                page?: any;
            },
        >,
    >

    Searches instances by the provided search query

    searchOne: <TData extends Readonly<{ [s: string]: any }>>(
        query: Omit<OrmSearch, "take">,
    ) => Promise<
        | undefined
        | OrmModelInstance<TData, TModelExtensions, TModelInstanceExtensions>,
    >

    Searches for a single instance with the given query.