Entity

    Interface IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>

    An interface to pass in constructor (class) of an Entity as a function argument.

    interface IEntityClass<
        TFields extends Record<string, any>,
        TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
        TViewerContext extends ViewerContext,
        TEntity extends
            ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>,
        TPrivacyPolicy extends
            EntityPrivacyPolicy<
                TFields,
                TIDField,
                TViewerContext,
                TEntity,
                TSelectedFields,
            >,
        TSelectedFields extends keyof TFields = keyof TFields,
    > {
        new IEntityClass(
            constructorParam: {
                databaseFields: Readonly<TFields>;
                id: TFields[TIDField];
                selectedFields: Readonly<Pick<TFields, TSelectedFields>>;
                viewerContext: TViewerContext;
            },
        ): TEntity;
        defineCompanionDefinition(): EntityCompanionDefinition<
            TFields,
            TIDField,
            TViewerContext,
            TEntity,
            TPrivacyPolicy,
            TSelectedFields,
        >;
    }

    Type Parameters

    Index

    Constructors

    Methods

    MMNEPVFCICPMFPCPTTAAATR