supabase-dataobject-core 1.4.1 → 1.5.1
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/dataObject.d.ts +90 -15
- package/dist/dataObject.d.ts.map +1 -1
- package/dist/dataObject.js +225 -194
- package/dist/dataObject.js.map +1 -1
- package/dist/dataObjectManager.d.ts.map +1 -1
- package/dist/dataObjectManager.js +10 -19
- package/dist/dataObjectManager.js.map +1 -1
- package/dist/dataObjectState.d.ts +19 -0
- package/dist/dataObjectState.d.ts.map +1 -0
- package/dist/dataObjectState.js +30 -0
- package/dist/dataObjectState.js.map +1 -0
- package/dist/eventEmitter.js +1 -5
- package/dist/eventEmitter.js.map +1 -1
- package/dist/index.js +9 -23
- package/dist/index.js.map +1 -1
- package/dist/masterBinding.d.ts +37 -0
- package/dist/masterBinding.d.ts.map +1 -0
- package/dist/masterBinding.js +135 -0
- package/dist/masterBinding.js.map +1 -0
- package/dist/namedEventEmitter.d.ts +5 -0
- package/dist/namedEventEmitter.d.ts.map +1 -1
- package/dist/namedEventEmitter.js +19 -5
- package/dist/namedEventEmitter.js.map +1 -1
- package/dist/types.d.ts +10 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/package.json +1 -1
package/dist/dataObject.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SupabaseClient } from '@supabase/supabase-js';
|
|
2
|
-
import { DataObjectOptions, DataObjectRecord, SupabaseConfig, DataObjectEvents, DataObjectField } from './types';
|
|
2
|
+
import { DataObjectOptions, DataObjectRecord, WhereClause, SupabaseConfig, DataObjectEvents, DataObjectField } from './types';
|
|
3
|
+
import { DataObjectState } from './dataObjectState';
|
|
4
|
+
import { MasterBinding } from './masterBinding';
|
|
3
5
|
export interface DataObjectErrorHandler {
|
|
4
6
|
onError?: (error: string) => void;
|
|
5
7
|
onWarning?: (warning: string) => void;
|
|
@@ -7,9 +9,9 @@ export interface DataObjectErrorHandler {
|
|
|
7
9
|
}
|
|
8
10
|
export declare class DataObject {
|
|
9
11
|
private supabase;
|
|
10
|
-
private
|
|
12
|
+
private _options;
|
|
11
13
|
private errorHandler?;
|
|
12
|
-
private
|
|
14
|
+
private _name;
|
|
13
15
|
private _readyPromise;
|
|
14
16
|
data: DataObjectRecord[];
|
|
15
17
|
private _originalData;
|
|
@@ -18,42 +20,115 @@ export declare class DataObject {
|
|
|
18
20
|
readonly onDataChanged: (listener: (data: DataObjectRecord[]) => void) => () => void;
|
|
19
21
|
private lifeCycleEvents;
|
|
20
22
|
readonly on: <K extends keyof DataObjectEvents>(event: K, listener: (...args: DataObjectEvents[K]) => void) => () => void;
|
|
23
|
+
readonly off: <K extends keyof DataObjectEvents>(event: K, listener: (...args: DataObjectEvents[K]) => void) => void;
|
|
24
|
+
readonly once: <K extends keyof DataObjectEvents>(event: K, listener: (...args: DataObjectEvents[K]) => void) => void;
|
|
21
25
|
private _currentRecord;
|
|
22
26
|
private _fields;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
private
|
|
27
|
+
state: DataObjectState;
|
|
28
|
+
masterBinding: MasterBinding | undefined;
|
|
29
|
+
private _childDataObjects;
|
|
30
|
+
get name(): string;
|
|
26
31
|
get recordCount(): number;
|
|
27
32
|
get currentRecord(): DataObjectRecord | undefined;
|
|
33
|
+
set currentRecord(record: DataObjectRecord | undefined);
|
|
28
34
|
get fields(): DataObjectField[];
|
|
29
35
|
get isReady(): boolean;
|
|
30
36
|
get hasChanges(): boolean;
|
|
31
|
-
|
|
37
|
+
get whereClauses(): WhereClause[];
|
|
38
|
+
get masterDataObject(): DataObject | undefined;
|
|
39
|
+
get childDataObjects(): ReadonlyArray<DataObject>;
|
|
40
|
+
get options(): DataObjectOptions;
|
|
41
|
+
constructor(supabaseConfig: SupabaseConfig, options: DataObjectOptions, name: string, errorHandler?: DataObjectErrorHandler);
|
|
32
42
|
private initializeDataObject;
|
|
33
43
|
waitForReady(): Promise<void>;
|
|
34
44
|
private handleError;
|
|
35
45
|
private handleWarning;
|
|
36
46
|
private handleInfo;
|
|
47
|
+
/**
|
|
48
|
+
* Loads data from Supabase with the given parameters defined when creating data object.
|
|
49
|
+
*/
|
|
37
50
|
private loadData;
|
|
51
|
+
/**
|
|
52
|
+
* Fetches data created in loadData() method.
|
|
53
|
+
* @returns an array of DataObjectRecords
|
|
54
|
+
*/
|
|
38
55
|
getData(): DataObjectRecord[];
|
|
56
|
+
/**
|
|
57
|
+
* Refresh data to get the latest state.
|
|
58
|
+
*/
|
|
39
59
|
refresh(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new record in Supabase from the record informaton specified.
|
|
62
|
+
* Can only be called if a tableName is specified and canInsert is set to true.
|
|
63
|
+
* @param record - An object of fields and values for the new record.
|
|
64
|
+
* @returns true if insert is successful, false otherwise.
|
|
65
|
+
*/
|
|
40
66
|
insert(record: Partial<DataObjectRecord>): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Updates a record in Supabase with the updates supplied.
|
|
69
|
+
* Can only be called if a tableName is provided and canUpdate is set to true.
|
|
70
|
+
* @param id - The id of the record to update
|
|
71
|
+
* @param updates - An object of fields and subsequent values to update
|
|
72
|
+
* @param skipRefresh - When set to true, the data object will not refresh after updating. Default is false
|
|
73
|
+
* @returns true if update was successful, false otherwise.
|
|
74
|
+
*/
|
|
41
75
|
update(id: any, updates: Partial<DataObjectRecord>, skipRefresh?: boolean): Promise<boolean>;
|
|
76
|
+
/**
|
|
77
|
+
* Method for deleting a record from Supabase.
|
|
78
|
+
* Can only be called if a tableName is provided and canDelete is set to true.
|
|
79
|
+
* @param id - The id of the record to delete
|
|
80
|
+
* @returns true if delete was successful, false otherwise.
|
|
81
|
+
*/
|
|
42
82
|
delete(id: any): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* Saves all pending changes in parallel to Supabase using the update() method, then refreshes data object.
|
|
85
|
+
* Can only be done if a tableName is specified and canUpdate is true.
|
|
86
|
+
*/
|
|
43
87
|
saveChanges(): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Clears all pending changes and returns the data object to its original state.
|
|
90
|
+
*/
|
|
44
91
|
cancelChanges(): void;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
private setupMasterDataChangeListener;
|
|
51
|
-
private onMasterDataChanged;
|
|
92
|
+
/**
|
|
93
|
+
* Helper function to wrap data object records in a reactive proxy and listen for changes.
|
|
94
|
+
* @param record - DataObjectRecord to create proxy for
|
|
95
|
+
* @returns Proxy of DataObjectRecord passed through
|
|
96
|
+
*/
|
|
52
97
|
private createReactiveRecord;
|
|
98
|
+
/**
|
|
99
|
+
* Gets the options defined for the created data object.
|
|
100
|
+
*/
|
|
53
101
|
getOptions(): DataObjectOptions;
|
|
102
|
+
/**
|
|
103
|
+
* Adds a new data object to this data object's childDataObjects array.
|
|
104
|
+
* @param child - The data object to add as a child to this one.
|
|
105
|
+
*/
|
|
106
|
+
registerChildDataObject(child: DataObject): void;
|
|
107
|
+
/**
|
|
108
|
+
* Removes a data object from this data object's childDataObjects array.
|
|
109
|
+
* @param child - The data object to remove.
|
|
110
|
+
*/
|
|
111
|
+
unregisterChildDataObject(child: DataObject): void;
|
|
112
|
+
/**
|
|
113
|
+
* Infers data objects fields to be added to fields array.
|
|
114
|
+
* If no fields have been provided in DataObjectOptions then all fields from the provided table will be used.
|
|
115
|
+
*/
|
|
116
|
+
private inferFields;
|
|
117
|
+
/**
|
|
118
|
+
* Sets defaults for DataObjectOptions based on other options defined.
|
|
119
|
+
* @param options - The DataObjectOptions for which to perform the operation on
|
|
120
|
+
* @returns DataObjectOptions with potential changes based on other option values
|
|
121
|
+
*/
|
|
54
122
|
private setDefaultOptions;
|
|
123
|
+
/**
|
|
124
|
+
* Helper method to dispose of a data object in order to prevent memory leaks.
|
|
125
|
+
* Disposes of all child data objects and resets state to default.
|
|
126
|
+
*/
|
|
55
127
|
dispose(): void;
|
|
128
|
+
/**
|
|
129
|
+
* Fetches the SupabaseClient defined for the data object.
|
|
130
|
+
*/
|
|
56
131
|
getSupabaseClient(): SupabaseClient;
|
|
57
132
|
}
|
|
58
|
-
export declare function createDataObject(supabaseConfig: SupabaseConfig, options: DataObjectOptions, errorHandler?: DataObjectErrorHandler): Promise<DataObject>;
|
|
133
|
+
export declare function createDataObject(supabaseConfig: SupabaseConfig, options: DataObjectOptions, name: string, errorHandler?: DataObjectErrorHandler): Promise<DataObject>;
|
|
59
134
|
//# sourceMappingURL=dataObject.d.ts.map
|
package/dist/dataObject.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACH,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
|