prostgles-client 1.5.135 → 1.5.138
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SyncedTable.d.ts +7 -7
- package/dist/SyncedTable.d.ts.map +1 -1
- package/lib/SyncedTable.ts +9 -9
- package/package.json +1 -1
package/dist/SyncedTable.d.ts
CHANGED
|
@@ -35,18 +35,18 @@ export declare type ItemUpdated = ItemUpdate & {
|
|
|
35
35
|
status: "inserted" | "updated" | "deleted";
|
|
36
36
|
from_server: boolean;
|
|
37
37
|
};
|
|
38
|
-
export declare type CloneSync<T> = (onChange: SingleChangeListener
|
|
38
|
+
export declare type CloneSync<T, Full extends boolean> = (onChange: SingleChangeListener<T>, onError?: (error: any) => void) => SingleSyncHandles<T, Full>;
|
|
39
39
|
export declare type CloneMultiSync<T> = (onChange: MultiChangeListener, onError?: (error: any) => void) => MultiSyncHandles<T>;
|
|
40
40
|
declare type $UpdateOpts = {
|
|
41
41
|
deepMerge: boolean;
|
|
42
42
|
};
|
|
43
|
-
declare type DeepPartial<T> = {
|
|
43
|
+
declare type DeepPartial<T> = T extends Array<any> ? T : T extends object ? {
|
|
44
44
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
45
|
-
};
|
|
45
|
+
} : T;
|
|
46
46
|
/**
|
|
47
47
|
* CRUD handles added if initialised with handlesOnData = true
|
|
48
48
|
*/
|
|
49
|
-
export declare type SingleSyncHandles<T = POJO> = {
|
|
49
|
+
export declare type SingleSyncHandles<T = POJO, Full extends boolean = false> = {
|
|
50
50
|
$get: () => T;
|
|
51
51
|
$find: (idObj: Partial<T>) => (T | undefined);
|
|
52
52
|
$unsync: () => any;
|
|
@@ -54,10 +54,10 @@ export declare type SingleSyncHandles<T = POJO> = {
|
|
|
54
54
|
$update: <OPTS extends $UpdateOpts>(newData: OPTS extends {
|
|
55
55
|
deepMerge: true;
|
|
56
56
|
} ? DeepPartial<T> : Partial<T>, opts?: OPTS) => any;
|
|
57
|
-
$cloneSync: CloneSync<T>;
|
|
57
|
+
$cloneSync: CloneSync<T, Full>;
|
|
58
58
|
$cloneMultiSync: CloneMultiSync<T>;
|
|
59
59
|
};
|
|
60
|
-
export declare type SyncDataItem<T = POJO, Full extends boolean = false> = T & (Full extends true ? SingleSyncHandles<T> : Partial<SingleSyncHandles<T>>);
|
|
60
|
+
export declare type SyncDataItem<T = POJO, Full extends boolean = false> = T & (Full extends true ? SingleSyncHandles<T, true> : Partial<SingleSyncHandles<T>>);
|
|
61
61
|
export declare type MultiSyncHandles<T = POJO> = {
|
|
62
62
|
$unsync: () => void;
|
|
63
63
|
$upsert: (newData: T[]) => any;
|
|
@@ -82,7 +82,7 @@ declare const STORAGE_TYPES: {
|
|
|
82
82
|
readonly object: "object";
|
|
83
83
|
};
|
|
84
84
|
export declare type MultiChangeListener<T = POJO> = (items: SyncDataItem<T>[], delta: DeepPartial<T>[]) => any;
|
|
85
|
-
export declare type SingleChangeListener<T = POJO> = (item: SyncDataItem<T>, delta: DeepPartial<T>) => any;
|
|
85
|
+
export declare type SingleChangeListener<T = POJO, Full extends boolean = false> = (item: SyncDataItem<T, Full>, delta: DeepPartial<T>) => any;
|
|
86
86
|
export declare type SyncedTableOptions = {
|
|
87
87
|
name: string;
|
|
88
88
|
filter?: POJO;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncedTable.d.ts","sourceRoot":"","sources":["../lib/SyncedTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,GAAG,EAAW,SAAS,EAAqB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClI,oBAAY,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAI1C,eAAO,MAAM,KAAK,EAAE,GAInB,CAAC;AAMF,oBAAY,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAA;AACD,oBAAY,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAA;AAED;;GAEG;AACH,oBAAY,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1M;;GAEG;AACH,oBAAY,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7M,oBAAY,gBAAgB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,oBAAY,UAAU,GAAG;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB,CAAA;AACD,oBAAY,WAAW,GAAG,UAAU,GAAG;IACnC,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,WAAW,EAAE,OAAO,CAAC;CACxB,CAAA;AAED,oBAAY,SAAS,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"SyncedTable.d.ts","sourceRoot":"","sources":["../lib/SyncedTable.ts"],"names":[],"mappings":"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"}
|
package/lib/SyncedTable.ts
CHANGED
|
@@ -50,10 +50,10 @@ export type ItemUpdated = ItemUpdate & {
|
|
|
50
50
|
from_server: boolean;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
export type CloneSync<T> = (
|
|
54
|
-
onChange: SingleChangeListener
|
|
53
|
+
export type CloneSync<T, Full extends boolean> = (
|
|
54
|
+
onChange: SingleChangeListener<T>,
|
|
55
55
|
onError?: (error: any) => void
|
|
56
|
-
) => SingleSyncHandles<T>;
|
|
56
|
+
) => SingleSyncHandles<T, Full>;
|
|
57
57
|
|
|
58
58
|
export type CloneMultiSync<T> = (
|
|
59
59
|
onChange: MultiChangeListener,
|
|
@@ -63,24 +63,24 @@ export type CloneMultiSync<T> = (
|
|
|
63
63
|
type $UpdateOpts = {
|
|
64
64
|
deepMerge: boolean
|
|
65
65
|
}
|
|
66
|
-
type DeepPartial<T> = {
|
|
66
|
+
type DeepPartial<T> = T extends Array<any> ? T : T extends object ? {
|
|
67
67
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
68
|
-
};
|
|
68
|
+
} : T;
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
71
|
* CRUD handles added if initialised with handlesOnData = true
|
|
72
72
|
*/
|
|
73
|
-
export type SingleSyncHandles<T = POJO> = {
|
|
73
|
+
export type SingleSyncHandles<T = POJO, Full extends boolean = false> = {
|
|
74
74
|
$get: () => T;
|
|
75
75
|
$find: (idObj: Partial<T>) => (T | undefined);
|
|
76
76
|
$unsync: () => any;
|
|
77
77
|
$delete: () => void;
|
|
78
78
|
$update: <OPTS extends $UpdateOpts>(newData: OPTS extends { deepMerge: true }? DeepPartial<T> : Partial<T>, opts?: OPTS) => any;
|
|
79
|
-
$cloneSync: CloneSync<T>;
|
|
79
|
+
$cloneSync: CloneSync<T, Full>;
|
|
80
80
|
$cloneMultiSync: CloneMultiSync<T>;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
export type SyncDataItem<T = POJO, Full extends boolean = false> = T & (Full extends true? SingleSyncHandles<T> : Partial<SingleSyncHandles<T>>);
|
|
83
|
+
export type SyncDataItem<T = POJO, Full extends boolean = false> = T & (Full extends true? SingleSyncHandles<T, true> : Partial<SingleSyncHandles<T>>);
|
|
84
84
|
|
|
85
85
|
export type MultiSyncHandles<T = POJO> = {
|
|
86
86
|
$unsync: () => void;
|
|
@@ -109,7 +109,7 @@ const STORAGE_TYPES = {
|
|
|
109
109
|
} as const;
|
|
110
110
|
|
|
111
111
|
export type MultiChangeListener<T = POJO> = (items: SyncDataItem<T>[], delta: DeepPartial<T>[]) => any;
|
|
112
|
-
export type SingleChangeListener<T = POJO> = (item: SyncDataItem<T>, delta: DeepPartial<T>) => any;
|
|
112
|
+
export type SingleChangeListener<T = POJO, Full extends boolean = false> = (item: SyncDataItem<T, Full>, delta: DeepPartial<T>) => any;
|
|
113
113
|
|
|
114
114
|
export type SyncedTableOptions = {
|
|
115
115
|
name: string;
|