Class AbstractPost<Collection, Meta, Data, UnionProperties>Abstract

Type Parameters

  • Collection = object
  • Meta = object
  • Data = object
  • UnionProperties = PostProperties & Data & {
        meta: Meta;
    }

Hierarchy (view full)

  • ClientModel<{
        collection: Collection;
        delete: {
            parameters: {
                force?: boolean;
                id?: number;
            };
            response: UnionProperties | {
                deleted: true;
                previous: UnionProperties;
            };
        };
        key: number;
        patch: {
            parameters: {
                id?: number;
            };
        };
        properties: UnionProperties;
    }>
    • AbstractPost

Constructors

Properties

annotated?: AnnotateDefinition
busy: boolean = false
collection: Collection
data: UnionProperties = {}
delete: ((params?, settings?) => CancellablePromise<UnionProperties | {
    deleted: true;
    previous: UnionProperties;
}>) = ...

Type declaration

    • (params?, settings?): CancellablePromise<UnionProperties | {
          deleted: true;
          previous: UnionProperties;
      }>
    • Parameters

      • Optional params: {
            force?: boolean;
            id?: number;
        }
        • Optional force?: boolean
        • Optional id?: number
      • Optional settings: Pick<{
            allowBatchRequest?: boolean | Pick<{
                restNamespace: string;
                restNonce?: string;
                restPathObfuscateOffset?: string;
                restQuery?: object;
                restRecreateNonceEndpoint?: string;
                restRoot: string;
            } & {
                onQueueItemFinished?: ((state) => void);
                signal?: AbortSignal;
                waitForPromise?: Promise<void>;
            }, "onQueueItemFinished" | "waitForPromise">;
            multipart?: boolean | MultiPartOptions;
            params?: IRouteParamsInterface;
            replayReason?: ReplayReason;
            request?: IRouteRequestInterface;
            sendReferer?: boolean;
            sendRestNonce?: boolean;
            settings?: Partial<{
                body: ReadableStream<Uint8Array>;
                bodyUsed: boolean;
                cache: RequestCache;
                credentials: RequestCredentials;
                destination: RequestDestination;
                headers: Headers;
                integrity: string;
                keepalive: boolean;
                method: string;
                mode: RequestMode;
                redirect: RequestRedirect;
                referrer: string;
                referrerPolicy: ReferrerPolicy;
                signal: AbortSignal;
                url: string;
                arrayBuffer(): Promise<ArrayBuffer>;
                blob(): Promise<Blob>;
                clone(): Request;
                formData(): Promise<FormData>;
                json(): Promise<any>;
                text(): Promise<string>;
            }>;
        } & UrlBuilderArgs, "settings" | "allowBatchRequest">

        When you pass allowBatchRequest, the afterDelete is not called due to performance reasons. Please call afterDelete and this.collection.entries.delete manually!

      Returns CancellablePromise<UnionProperties | {
          deleted: true;
          previous: UnionProperties;
      }>

patch: ((params?) => CancellablePromise<void>) = ...

Type declaration

    • (params?): CancellablePromise<void>
    • Parameters

      • Optional params: {
            id?: number;
        }
        • Optional id?: number

      Returns CancellablePromise<void>

persist: ((params?, settings?) => CancellablePromise<void>) = ...

Type declaration

    • (params?, settings?): CancellablePromise<void>
    • Parameters

      • Optional params: unknown
      • Optional settings: Pick<{
            allowBatchRequest?: boolean | Pick<{
                restNamespace: string;
                restNonce?: string;
                restPathObfuscateOffset?: string;
                restQuery?: object;
                restRecreateNonceEndpoint?: string;
                restRoot: string;
            } & {
                onQueueItemFinished?: ((state) => void);
                signal?: AbortSignal;
                waitForPromise?: Promise<void>;
            }, "onQueueItemFinished" | "waitForPromise">;
            multipart?: boolean | MultiPartOptions;
            params?: IRouteParamsInterface;
            replayReason?: ReplayReason;
            request?: IRouteRequestInterface;
            sendReferer?: boolean;
            sendRestNonce?: boolean;
            settings?: Partial<{
                body: ReadableStream<Uint8Array>;
                bodyUsed: boolean;
                cache: RequestCache;
                credentials: RequestCredentials;
                destination: RequestDestination;
                headers: Headers;
                integrity: string;
                keepalive: boolean;
                method: string;
                mode: RequestMode;
                redirect: RequestRedirect;
                referrer: string;
                referrerPolicy: ReferrerPolicy;
                signal: AbortSignal;
                url: string;
                arrayBuffer(): Promise<ArrayBuffer>;
                blob(): Promise<Blob>;
                clone(): Request;
                formData(): Promise<FormData>;
                json(): Promise<any>;
                text(): Promise<string>;
            }>;
        } & UrlBuilderArgs, "settings" | "allowBatchRequest">

        When you pass allowBatchRequest, the afterPersist is not called due to performance reasons. Please call afterPersist and this.collection.entries.set manually!

      Returns CancellablePromise<void>

Accessors

  • get key(): T["key"]
  • Returns T["key"]

Methods

  • Returns void

  • Returns void

  • Returns void

  • Create your conditionals here and return only changed values.

    Returns any

  • Transform the class-hold data to POSTable data. This can be useful if e. g. one property differs from the response property schema.

    Returns any

  • Type Parameters

    • T extends (new (...args) => any)

    Parameters

    • annotate: AnnotateDefinition

    Returns ((constructor) => {
        prototype: __type<any, any>;
        new (...args): __type<T, T>;
    } & T)

      • (constructor): {
            prototype: __type<any, any>;
            new (...args): __type<T, T>;
        } & T
      • Parameters

        • constructor: T

        Returns {
            prototype: __type<any, any>;
            new (...args): __type<T, T>;
        } & T