supabase-dataobject-core 1.2.0 → 1.4.0

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.
@@ -8,10 +8,12 @@ export interface DataObjectErrorHandler {
8
8
  export declare class DataObject {
9
9
  private supabase;
10
10
  private options;
11
- private data;
12
11
  private errorHandler?;
13
12
  private _isReady;
14
13
  private _readyPromise;
14
+ data: DataObjectRecord[];
15
+ private _originalData;
16
+ private _pendingChanges;
15
17
  private eventEmitter;
16
18
  readonly onDataChanged: (listener: (data: DataObjectRecord[]) => void) => () => void;
17
19
  private lifeCycleEvents;
@@ -25,6 +27,7 @@ export declare class DataObject {
25
27
  get currentRecord(): DataObjectRecord | undefined;
26
28
  get fields(): DataObjectField[];
27
29
  get isReady(): boolean;
30
+ get hasChanges(): boolean;
28
31
  constructor(supabaseConfig: SupabaseConfig, options: DataObjectOptions, errorHandler?: DataObjectErrorHandler);
29
32
  private initializeDataObject;
30
33
  waitForReady(): Promise<void>;
@@ -37,7 +40,8 @@ export declare class DataObject {
37
40
  insert(record: Partial<DataObjectRecord>): Promise<boolean>;
38
41
  update(id: any, updates: Partial<DataObjectRecord>): Promise<boolean>;
39
42
  delete(id: any): Promise<boolean>;
40
- dispose(): void;
43
+ saveChanges(): Promise<void>;
44
+ cancelChanges(): void;
41
45
  private setupMasterDataObjectBinding;
42
46
  private getMasterDataObjectFromManager;
43
47
  private validateBindingFields;
@@ -45,8 +49,10 @@ export declare class DataObject {
45
49
  private removeMasterBindingWhereClause;
46
50
  private setupMasterDataChangeListener;
47
51
  private onMasterDataChanged;
52
+ private createReactiveRecord;
48
53
  getOptions(): DataObjectOptions;
49
54
  private setDefaultOptions;
55
+ dispose(): void;
50
56
  getSupabaseClient(): SupabaseClient;
51
57
  }
52
58
  export declare function createDataObject(supabaseConfig: SupabaseConfig, options: DataObjectOptions, errorHandler?: DataObjectErrorHandler): Promise<DataObject>;
@@ -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,EAGhB,cAAc,EACd,gBAAgB,EAEhB,eAAe,EAElB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,YAAY,CAA0C;IAC9D,SAAgB,aAAa,+DAA2B;IAExD,OAAO,CAAC,eAAe,CAA6C;IACpE,SAAgB,EAAE,+GAAsD;IAExE,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,OAAO,CAAyB;IAGxC,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,wBAAwB,CAA6B;IAE7D,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,aAAa,IAAI,gBAAgB,GAAG,SAAS,CAEvD;IAED,IAAW,MAAM,IAAI,eAAe,EAAE,CAErC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;gBAGG,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,CAAC,EAAE,sBAAsB;YAQ3B,oBAAoB;IAUrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;YAQJ,QAAQ;IAsFf,OAAO,IAAI,gBAAgB,EAAE;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAcxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC3D,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CrE,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCvC,OAAO,IAAI,IAAI;YAUR,4BAA4B;YAoC5B,8BAA8B;IAW5C,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,2BAA2B;IAgCnC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,6BAA6B;YAYvB,mBAAmB;IAY1B,UAAU,IAAI,iBAAiB;IAItC,OAAO,CAAC,iBAAiB;IAUlB,iBAAiB,IAAI,cAAc;CAG7C;AAED,wBAAsB,gBAAgB,CAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,CAAC,EAAE,sBAAsB,GACtC,OAAO,CAAC,UAAU,CAAC,CAErB"}
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,EAGhB,cAAc,EACd,gBAAgB,EAEhB,eAAe,EAElB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa,CAAgB;IAE9B,IAAI,EAAE,gBAAgB,EAAE,CAAM;IACrC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,eAAe,CAAkD;IAEzE,OAAO,CAAC,YAAY,CAA0C;IAC9D,SAAgB,aAAa,+DAA2B;IAExD,OAAO,CAAC,eAAe,CAA6C;IACpE,SAAgB,EAAE,+GAAsD;IAExE,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,OAAO,CAAyB;IAGxC,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,wBAAwB,CAA6B;IAE7D,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,aAAa,IAAI,gBAAgB,GAAG,SAAS,CAEvD;IAED,IAAW,MAAM,IAAI,eAAe,EAAE,CAErC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;gBAGG,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,CAAC,EAAE,sBAAsB;YAQ3B,oBAAoB;IAQrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;YASJ,QAAQ;IAgGf,OAAO,IAAI,gBAAgB,EAAE;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAexB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC3D,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CrE,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCjC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBlC,aAAa,IAAI,IAAI;YAWd,4BAA4B;YAoC5B,8BAA8B;IAW5C,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,2BAA2B;IAgCnC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,6BAA6B;YAYvB,mBAAmB;IAajC,OAAO,CAAC,oBAAoB;IAyBrB,UAAU,IAAI,iBAAiB;IAItC,OAAO,CAAC,iBAAiB;IAUlB,OAAO,IAAI,IAAI;IAUf,iBAAiB,IAAI,cAAc;CAG7C;AAED,wBAAsB,gBAAgB,CAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,CAAC,EAAE,sBAAsB,GACtC,OAAO,CAAC,UAAU,CAAC,CAErB"}
@@ -51,9 +51,14 @@ class DataObject {
51
51
  get isReady() {
52
52
  return this._isReady;
53
53
  }
54
+ get hasChanges() {
55
+ return this._pendingChanges.size > 0;
56
+ }
54
57
  constructor(supabaseConfig, options, errorHandler) {
55
- this.data = [];
56
58
  this._isReady = false;
59
+ this.data = [];
60
+ this._originalData = [];
61
+ this._pendingChanges = new Map();
57
62
  this.eventEmitter = new eventEmitter_1.EventEmitter();
58
63
  this.onDataChanged = this.eventEmitter.event;
59
64
  this.lifeCycleEvents = new namedEventEmitter_1.NamedEventEmitter();
@@ -69,11 +74,9 @@ class DataObject {
69
74
  this._readyPromise = this.initializeDataObject();
70
75
  }
71
76
  async initializeDataObject() {
72
- // Set up master data object binding if specified
73
77
  if (this.options.masterDataObjectBinding) {
74
78
  await this.setupMasterDataObjectBinding(this.options.masterDataObjectBinding);
75
79
  }
76
- // Load data
77
80
  await this.loadData();
78
81
  }
79
82
  async waitForReady() {
@@ -103,6 +106,7 @@ class DataObject {
103
106
  console.info(message);
104
107
  }
105
108
  }
109
+ // #region Load Operations
106
110
  async loadData() {
107
111
  const cancelToken = {
108
112
  ...this.options,
@@ -160,7 +164,14 @@ class DataObject {
160
164
  this._isReady = true; // Mark as ready even if there's an error
161
165
  return;
162
166
  }
163
- this.data = data || [];
167
+ // assign raw data first
168
+ const rawData = data || [];
169
+ // create a deep clone of data
170
+ this._originalData = JSON.parse(JSON.stringify(rawData));
171
+ // clear any previous change tracking
172
+ this._pendingChanges.clear();
173
+ // wrap each record in a reactive Proxy
174
+ this.data = rawData.map((record) => this.createReactiveRecord(record));
164
175
  if (data.length > 0) {
165
176
  // Set currentRecord to first record
166
177
  this._currentRecord = this.data[0];
@@ -198,6 +209,7 @@ class DataObject {
198
209
  await this.loadData();
199
210
  this.lifeCycleEvents.emit('afterRefresh', this.data);
200
211
  }
212
+ // #region CRUD
201
213
  async insert(record) {
202
214
  if (!this.options.canInsert || !this.options.tableName) {
203
215
  this.handleWarning('Insert operation is not allowed for this data object');
@@ -311,14 +323,31 @@ class DataObject {
311
323
  return false;
312
324
  }
313
325
  }
314
- dispose() {
315
- // Clean up master data object binding
316
- if (this.masterDataChangeListener && this.masterDataObject) {
317
- this.masterDataObject.onDataChanged(this.masterDataChangeListener);
326
+ async saveChanges() {
327
+ if (this._pendingChanges.size === 0) {
328
+ this.handleInfo("No changes to save.");
329
+ return;
318
330
  }
319
- this.eventEmitter.dispose();
320
- this.lifeCycleEvents.clearAll();
331
+ if (!this.options.tableName) {
332
+ this.handleWarning("No tableName specified — cannot save changes.");
333
+ return;
334
+ }
335
+ for (const [id, updates] of this._pendingChanges.entries()) {
336
+ await this.update(id, updates);
337
+ }
338
+ this._pendingChanges.clear();
339
+ this._originalData = JSON.parse(JSON.stringify(this.data));
340
+ this.handleInfo("All changes saved successfully.");
341
+ }
342
+ cancelChanges() {
343
+ this.data = JSON.parse(JSON.stringify(this._originalData))
344
+ .map((record) => this.createReactiveRecord(record));
345
+ this._pendingChanges.clear();
346
+ this.eventEmitter.fire(this.data);
347
+ this.handleInfo("All changes reverted.");
321
348
  }
349
+ // #region Master Binding
350
+ // TODO: Move this to different file
322
351
  async setupMasterDataObjectBinding(binding) {
323
352
  try {
324
353
  // Get the master data object from the manager
@@ -423,6 +452,27 @@ class DataObject {
423
452
  // Refresh this data object with the new where clause
424
453
  await this.refresh();
425
454
  }
455
+ // #region Helpers
456
+ createReactiveRecord(record) {
457
+ const handler = {
458
+ set: (target, prop, value) => {
459
+ const key = prop;
460
+ // Only track if value actually changed
461
+ if (target[key] !== value) {
462
+ target[key] = value;
463
+ if (!this._pendingChanges.has(target.id)) {
464
+ this._pendingChanges.set(target.id, {});
465
+ }
466
+ const pending = this._pendingChanges.get(target.id);
467
+ pending[key] = value;
468
+ this.lifeCycleEvents.emit('fieldChanged', record, pending);
469
+ this.eventEmitter.fire(this.data);
470
+ }
471
+ return true;
472
+ }
473
+ };
474
+ return new Proxy(record, handler);
475
+ }
426
476
  getOptions() {
427
477
  return { ...this.options };
428
478
  }
@@ -435,6 +485,14 @@ class DataObject {
435
485
  canDelete: options.tableName ? (options.canDelete ?? false) : false,
436
486
  };
437
487
  }
488
+ dispose() {
489
+ // Clean up master data object binding
490
+ if (this.masterDataChangeListener && this.masterDataObject) {
491
+ this.masterDataObject.onDataChanged(this.masterDataChangeListener);
492
+ }
493
+ this.eventEmitter.dispose();
494
+ this.lifeCycleEvents.clearAll();
495
+ }
438
496
  getSupabaseClient() {
439
497
  return this.supabase;
440
498
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -14,15 +14,42 @@ export interface WhereClause {
14
14
  value: any;
15
15
  }
16
16
  export interface DataObjectOptions {
17
+ /** The name of the view to select data from. */
17
18
  viewName: string;
19
+ /** The table for which to perform CRUD operations on. */
18
20
  tableName?: string;
21
+ /** An array of fields from the view to get values from. Data will be returned for the specified fields only.
22
+ * Leave blank to include all fields.
23
+ */
19
24
  fields?: DataObjectField[];
25
+ /** Array of where clauses to be applied when retrieving data from the view. */
20
26
  whereClauses?: WhereClause[];
27
+ /** Sorting to be applied to the returned data based on specified field and direction. */
21
28
  sort?: SortConfig;
29
+ /** When specified, will only return the first x amount of records.
30
+ * Leave blank to return all records.
31
+ */
22
32
  recordLimit?: number;
33
+ /** Controls whether or not the data object can be inserted into.
34
+ * Will be overridden to false if no tableName defined, as cannnot insert into a view.
35
+ * Default is false.
36
+ */
23
37
  canInsert?: boolean;
38
+ /** Controls whether a data object can be updated.
39
+ * Will be overriden to false if no tableName defined, as cannot update records from a view.
40
+ * Default is false.
41
+ */
24
42
  canUpdate?: boolean;
43
+ /** Controls whether a data object can be updated.
44
+ * Will be overriden to false if no tableName defined, as cannot delete from a view.
45
+ * Default is false.
46
+ */
25
47
  canDelete?: boolean;
48
+ /** The binding to this data object's master data object.
49
+ * Use this when the currentRecord of one data object directly informs the returned data of the other.
50
+ * The master data object must be defined and initialized first, before adding a child data object.
51
+ * When defining thebinding fields, note that their values must match identically for this to work.
52
+ */
26
53
  masterDataObjectBinding?: MasterDataObjectBinding;
27
54
  }
28
55
  export interface SupabaseConfig {
@@ -54,6 +81,7 @@ export type DataObjectEvents = {
54
81
  afterUpdate: [record: DataObjectRecord, updates: Partial<DataObjectRecord>];
55
82
  beforeDelete: [options: DataObjectCancelableEvent & DataObjectOptions, record: DataObjectRecord];
56
83
  afterDelete: [id: string | number];
84
+ fieldChanged: [record: DataObjectRecord, updates: Partial<DataObjectRecord>];
57
85
  };
58
86
  export interface DataObjectCancelableEvent {
59
87
  cancelEvent?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supabase-dataobject-core",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Core library for creating reactive data objects from Supabase tables and views",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",