Options
All
  • Public
  • Public/Protected
  • All
Menu

Class AbstractCategoryCollection<T, AdditionalParameters, AdditionalSingleParameters>

Type parameters

Hierarchy

  • ClientCollection<{ getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }>

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Optional Readonly annotated

busy

busy: boolean = false

entries

entries: Map<T["model"]["key"], T["model"]> = new Map<T["model"]["key"], T["model"]>()

get

get: (data?: { clear?: boolean; params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"]; request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"] }) => CancellablePromise<void> = flow(function* (this: ClientCollection<any>, data) {const { request, params, clear = false } = data || {};this.busy = true;try {const { path, namespace } = this.annotated;const response: T["response"] = yield this.annotated.request<T["getParameters"],T["getParameters"],T["response"]>({location: {path,method: ERouteHttpVerb.GET,namespace},request,params});// Save cookies as modelsclear && this.entries.clear();for (const row of response) {const instance = this.instance(row) as T["model"];const existing = this.entries.get(instance.key);if (!existing) {this.entries.set(instance.key, instance);} else {// Update stale dataexisting.data = instance.data;}}} catch (e) {console.log(e);throw e;} finally {this.busy = false;}})

Type declaration

    • (data?: { clear?: boolean; params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"]; request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"] }): CancellablePromise<void>
    • Parameters

      • Optional data: { clear?: boolean; params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"]; request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"] }
        • Optional clear?: boolean
        • Optional params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"]
        • Optional request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getParameters"]

      Returns CancellablePromise<void>

getSingle

getSingle: (data?: { params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"]; request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"] }) => CancellablePromise<void> = flow(function* (this: ClientCollection<any>, data) {if (!this.annotated.singlePath) {throw new Error("There is no getSingle method allowed");}const { request, params } = data || {};this.busy = true;try {const { singlePath, namespace } = this.annotated;const row: T["response"] = yield this.annotated.request<T["getSingleParameters"],T["getSingleParameters"],T["response"]>({location: {path: singlePath,method: ERouteHttpVerb.GET,namespace},request,params});// Save cookie as modelconst instance = this.instance(row) as T["model"];this.entries.set(instance.key, instance);} catch (e) {console.log(e);throw e;} finally {this.busy = false;}})

Type declaration

    • (data?: { params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"]; request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"] }): CancellablePromise<void>
    • Parameters

      • Optional data: { params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"]; request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"] }
        • Optional params?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"]
        • Optional request?: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["getSingleParameters"]

      Returns CancellablePromise<void>

Methods

Abstract instance

  • instance(response: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["response"]): { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["model"]
  • Parameters

    • response: { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["response"]

    Returns { getParameters: { context?: "view" | "embed" | "edit"; exclude?: number[]; hide_empty?: boolean; include?: number[]; order?: "asc" | "desc"; orderby?: "id" | "include" | "name" | "slug" | "include_slugs" | "term_group" | "description" | "count" | string; page?: number; parent?: number; per_page?: number; post?: number; search?: string; slug?: string | string[] } & AdditionalParameters; getSingleParameters: { context?: "view" | "embed" | "edit"; id: number } & AdditionalSingleParameters; model: T }["model"]

Static Optional annotate

  • Type parameters

    • T: { constructor: any }

    Parameters

    Returns (Anonymous function)

Generated using TypeDoc