-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.d.ts
41 lines (36 loc) · 1.5 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// <reference types="node" />
declare module 'vue-entity-adapter-plus' {
export interface EntityState<T> {
ids: string[];
entities: T[];
}
export interface UpdateStr<T> {
id: string;
changes: Partial<T>;
}
export interface UpdateNum<T> {
id: number;
changes: Partial<T>;
}
export type Update<T> = UpdateStr<T> | UpdateNum<T>;
export class EntityAdapter<T> {
constructor(sortFn?: Function);
public getInitialState(): EntityState<T>;
public getOne(id: string, state: EntityState<T>): T;
public getAll(state: EntityState<T>): T[];
public getCount(state: EntityState<T>): number;
public getIds(state: EntityState<T>): number[];
public addOne(element: T, state: EntityState<T>): EntityState<T>;
public addMany(elements: T[], state: EntityState<T>): EntityState<T>;
public addAll(elements: T[], state: EntityState<T>): EntityState<T>;
public removeOne(id: string, state: EntityState<T>): EntityState<T>;
public removeOne(id: number, state: EntityState<T>): EntityState<T>;
public removeMany(ids: string[], state: EntityState<T>): EntityState<T>;
public removeMany(ids: number[], state: EntityState<T>): EntityState<T>;
public removeAll(state: EntityState<T>): EntityState<T>;
public updateOne(update: Update<T>, state: EntityState<T>): EntityState<T>;
public updateMany(updates: Update<T>[], state: EntityState<T>): EntityState<T>;
public upsertOne(element: T, state: EntityState<T>): EntityState<T>;
public upsertMany(elements: T[], state: EntityState<T>): EntityState<T>;
}
}