• Preparing search index...
  • The search index is not available
lib.reviews
  • lib.reviews
  • dal/lib/filter-where
  • createFilterWhereMethod

Function createFilterWhereMethod

  • createFilterWhereMethod<
        TData extends JsonObject,
        TVirtual extends JsonObject,
        TInstance extends JsonObject & ModelInstanceCore<TData, TVirtual>,
        TRelations extends string,
    >(
        hasRevisions: boolean,
    ): (
        this: ModelConstructor<TData, TVirtual, TInstance, TRelations> & ModelConstructor<
            TData,
            TVirtual,
            ModelInstance<TData, TVirtual>,
            string,
        > & typeof Model & {
            _fieldMappings: Map<string, string>;
            _relations: Map<string, NormalizedRelationConfig>;
            _revisionHandlers?: Partial<
                Record<
                    RevisionHandlerName,
                    (this: Model, ...args: unknown[]) => unknown,
                >,
            >;
            _views: Map<
                string,
                ModelViewDefinition<ModelInstance<JsonObject, JsonObject>, JsonObject>,
            >;
            dal: DataAccessLayer;
            options?: JsonObject;
            schema: ModelSchema<TData, TVirtual>;
            tableName: string;
        },
        literal: Partial<
            {
                [K in string
                | number
                | symbol]:
                    | TData[K]
                    | OperatorResultForKey<FilterWhereOperators<TData>, K>
            },
        >,
    ) => FilterWhereBuilder<TData, TVirtual, TInstance, TRelations>

    Produces the concrete filterWhere static bound to a manifest-derived constructor. This stays lightweight so every model gets the same behaviour without bespoke wiring inside the manifest definition itself.

    Type Parameters

    • TData extends JsonObject
    • TVirtual extends JsonObject
    • TInstance extends JsonObject & ModelInstanceCore<TData, TVirtual>
    • TRelations extends string

    Parameters

    • hasRevisions: boolean

      Whether the model uses revision tracking

    Returns (
        this: ModelConstructor<TData, TVirtual, TInstance, TRelations> & ModelConstructor<
            TData,
            TVirtual,
            ModelInstance<TData, TVirtual>,
            string,
        > & typeof Model & {
            _fieldMappings: Map<string, string>;
            _relations: Map<string, NormalizedRelationConfig>;
            _revisionHandlers?: Partial<
                Record<
                    RevisionHandlerName,
                    (this: Model, ...args: unknown[]) => unknown,
                >,
            >;
            _views: Map<
                string,
                ModelViewDefinition<ModelInstance<JsonObject, JsonObject>, JsonObject>,
            >;
            dal: DataAccessLayer;
            options?: JsonObject;
            schema: ModelSchema<TData, TVirtual>;
            tableName: string;
        },
        literal: Partial<
            {
                [K in string
                | number
                | symbol]:
                    | TData[K]
                    | OperatorResultForKey<FilterWhereOperators<TData>, K>
            },
        >,
    ) => FilterWhereBuilder<TData, TVirtual, TInstance, TRelations>

    A filterWhere method bound to the model type

      • (
            this: ModelConstructor<TData, TVirtual, TInstance, TRelations> & ModelConstructor<
                TData,
                TVirtual,
                ModelInstance<TData, TVirtual>,
                string,
            > & typeof Model & {
                _fieldMappings: Map<string, string>;
                _relations: Map<string, NormalizedRelationConfig>;
                _revisionHandlers?: Partial<
                    Record<
                        RevisionHandlerName,
                        (this: Model, ...args: unknown[]) => unknown,
                    >,
                >;
                _views: Map<
                    string,
                    ModelViewDefinition<ModelInstance<JsonObject, JsonObject>, JsonObject>,
                >;
                dal: DataAccessLayer;
                options?: JsonObject;
                schema: ModelSchema<TData, TVirtual>;
                tableName: string;
            },
            literal: Partial<
                {
                    [K in string
                    | number
                    | symbol]:
                        | TData[K]
                        | OperatorResultForKey<FilterWhereOperators<TData>, K>
                },
            >,
        ): FilterWhereBuilder<TData, TVirtual, TInstance, TRelations>
      • Typed entry point for building a filterWhere query.

        Parameters

        • this: ModelConstructor<TData, TVirtual, TInstance, TRelations> & ModelConstructor<
              TData,
              TVirtual,
              ModelInstance<TData, TVirtual>,
              string,
          > & typeof Model & {
              _fieldMappings: Map<string, string>;
              _relations: Map<string, NormalizedRelationConfig>;
              _revisionHandlers?: Partial<
                  Record<
                      RevisionHandlerName,
                      (this: Model, ...args: unknown[]) => unknown,
                  >,
              >;
              _views: Map<
                  string,
                  ModelViewDefinition<ModelInstance<JsonObject, JsonObject>, JsonObject>,
              >;
              dal: DataAccessLayer;
              options?: JsonObject;
              schema: ModelSchema<TData, TVirtual>;
              tableName: string;
          }

          Model constructor the query should operate on.

        • literal: Partial<
              {
                  [K in string
                  | number
                  | symbol]: TData[K] | OperatorResultForKey<FilterWhereOperators<TData>, K>
              },
          >

          Initial predicate literal applied to the builder.

        Returns FilterWhereBuilder<TData, TVirtual, TInstance, TRelations>

    • Defined in dal/lib/filter-where.ts:812

Settings

Member Visibility
lib.reviews
  • Loading...

Generated using TypeDoc