supabase-dataobject-core 1.7.0 → 2.0.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.
@@ -1,52 +1,53 @@
1
1
  import { SupabaseClient } from '@supabase/supabase-js';
2
- import { DataObjectOptions, DataObjectRecord, WhereClause, SupabaseConfig, DataObjectEvents, DataObjectField, SortConfig, GroupByConfig } from './types';
2
+ import { DataObjectOptions, DataObjectRecord, WhereClause, SupabaseConfig, DataObjectEvents, DataObjectField, SortConfig, GroupByConfig, DataRecordKey } from './types';
3
3
  import { DataObjectState } from './dataObjectState';
4
4
  import { MasterBinding } from './masterBinding';
5
+ import { DataObjectStorage } from './dataObjectStorage';
5
6
  export interface DataObjectErrorHandler {
6
7
  onError?: (error: string) => void;
7
8
  onWarning?: (warning: string) => void;
8
9
  onInfo?: (info: string) => void;
9
10
  }
10
- export declare class DataObject {
11
+ export declare class DataObject<T extends DataRecordKey = DataRecordKey> {
11
12
  private supabase;
12
13
  private _options;
13
14
  private errorHandler?;
14
15
  private _name;
15
16
  private _readyPromise;
16
- data: DataObjectRecord[];
17
- private _originalData;
18
- private _pendingChanges;
17
+ data: DataObjectRecord<T>[];
19
18
  private eventEmitter;
20
- readonly onDataChanged: (listener: (data: DataObjectRecord[]) => void) => () => void;
19
+ readonly onDataChanged: (listener: (data: DataObjectRecord<T>[]) => void) => () => void;
21
20
  private lifeCycleEvents;
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
+ readonly on: <K extends keyof DataObjectEvents<T>>(event: K, listener: (...args: DataObjectEvents<T>[K]) => void) => () => void;
22
+ readonly off: <K extends keyof DataObjectEvents<T>>(event: K, listener: (...args: DataObjectEvents<T>[K]) => void) => void;
23
+ readonly once: <K extends keyof DataObjectEvents<T>>(event: K, listener: (...args: DataObjectEvents<T>[K]) => void) => void;
25
24
  private _currentRecord;
26
25
  private _fields;
27
26
  state: DataObjectState;
28
- masterBinding: MasterBinding | undefined;
27
+ masterBinding: MasterBinding<any, T> | undefined;
28
+ storage: DataObjectStorage;
29
29
  private _childDataObjects;
30
30
  private _groupedData;
31
31
  get name(): string;
32
32
  get recordCount(): number;
33
- get currentRecord(): DataObjectRecord | undefined;
34
- set currentRecord(record: DataObjectRecord | undefined);
35
- get fields(): DataObjectField[];
33
+ get currentRecord(): DataObjectRecord<T> | undefined;
34
+ set currentRecord(record: DataObjectRecord<T> | undefined);
35
+ get fields(): DataObjectField<T>[];
36
36
  get isReady(): boolean;
37
+ get changedRecords(): DataObjectRecord<T>[];
37
38
  get hasChanges(): boolean;
38
- get whereClauses(): WhereClause[];
39
- set whereClauses(whereClauses: WhereClause[]);
39
+ get whereClauses(): WhereClause<T>[];
40
+ set whereClauses(whereClauses: WhereClause<T>[]);
40
41
  get masterDataObject(): DataObject | undefined;
41
42
  get childDataObjects(): ReadonlyArray<DataObject>;
42
- get options(): DataObjectOptions;
43
+ get options(): DataObjectOptions<T>;
43
44
  get groupedData(): {
44
45
  groupValue: any;
45
- records: DataObjectRecord[];
46
+ records: DataObjectRecord<T>[];
46
47
  aggregates: Record<string, number>;
47
48
  additionalFields: Record<string, any>;
48
49
  }[];
49
- constructor(supabaseConfig: SupabaseConfig, options: DataObjectOptions, name: string, errorHandler?: DataObjectErrorHandler);
50
+ constructor(supabaseConfig: SupabaseConfig, options: DataObjectOptions<T>, name: string, errorHandler?: DataObjectErrorHandler);
50
51
  private initializeDataObject;
51
52
  waitForReady(): Promise<void>;
52
53
  private handleError;
@@ -60,19 +61,18 @@ export declare class DataObject {
60
61
  * Fetches data created in loadData() method.
61
62
  * @returns an array of DataObjectRecords
62
63
  */
63
- getData(): DataObjectRecord[];
64
+ getData(): DataObjectRecord<T>[];
64
65
  /**
65
66
  * Refresh data to get the latest state.
66
67
  */
67
68
  refresh(): Promise<void>;
68
69
  private applyGrouping;
69
70
  /**
70
- * Creates a new record in Supabase from the record informaton specified.
71
- * Can only be called if a tableName is specified and canInsert is set to true.
72
- * @param record - An object of fields and values for the new record.
73
- * @returns true if insert is successful, false otherwise.
71
+ * Creates a new record in Supabase.
72
+ * @param record - Partial record to insert.
73
+ * @returns The newly created DataObjectRecord, or null if insert fails.
74
74
  */
75
- insert(record: Partial<DataObjectRecord>): Promise<boolean>;
75
+ insert(record: Partial<T>, setAsCurrent?: boolean): Promise<DataObjectRecord<T> | null>;
76
76
  /**
77
77
  * Updates a record in Supabase with the updates supplied.
78
78
  * Can only be called if a tableName is provided and canUpdate is set to true.
@@ -81,14 +81,14 @@ export declare class DataObject {
81
81
  * @param skipRefresh - When set to true, the data object will not refresh after updating. Default is false
82
82
  * @returns true if update was successful, false otherwise.
83
83
  */
84
- update(id: any, updates: Partial<DataObjectRecord>, skipRefresh?: boolean): Promise<boolean>;
84
+ update(id: T["id"], updates: Partial<T>, skipRefresh?: boolean): Promise<boolean>;
85
85
  /**
86
86
  * Method for deleting a record from Supabase.
87
87
  * Can only be called if a tableName is provided and canDelete is set to true.
88
88
  * @param id - The id of the record to delete
89
89
  * @returns true if delete was successful, false otherwise.
90
90
  */
91
- delete(id: any): Promise<boolean>;
91
+ delete(id: T["id"]): Promise<boolean>;
92
92
  /**
93
93
  * Saves all pending changes in parallel to Supabase using the update() method, then refreshes data object.
94
94
  * Can only be done if a tableName is specified and canUpdate is true.
@@ -98,10 +98,6 @@ export declare class DataObject {
98
98
  * Clears all pending changes and returns the data object to its original state.
99
99
  */
100
100
  cancelChanges(): void;
101
- uploadToBucket(bucket: string, filePath: string, file: Blob | File, options?: {
102
- contentType?: string;
103
- upsert?: boolean;
104
- }): Promise<void>;
105
101
  /**
106
102
  * Helper function to wrap data object records in a reactive proxy and listen for changes.
107
103
  * @param record - DataObjectRecord to create proxy for
@@ -111,17 +107,17 @@ export declare class DataObject {
111
107
  /**
112
108
  * Gets the options defined for the created data object.
113
109
  */
114
- getOptions(): DataObjectOptions;
110
+ getOptions(): DataObjectOptions<T>;
115
111
  /**
116
112
  * Adds a new data object to this data object's childDataObjects array.
117
113
  * @param child - The data object to add as a child to this one.
118
114
  */
119
- registerChildDataObject(child: DataObject): void;
115
+ registerChildDataObject(child: DataObject<any>): void;
120
116
  /**
121
117
  * Removes a data object from this data object's childDataObjects array.
122
118
  * @param child - The data object to remove.
123
119
  */
124
- unregisterChildDataObject(child: DataObject): void;
120
+ unregisterChildDataObject(child: DataObject<any>): void;
125
121
  /**
126
122
  * Infers data objects fields to be added to fields array.
127
123
  * If no fields have been provided in DataObjectOptions then all fields from the provided table will be used.
@@ -137,10 +133,15 @@ export declare class DataObject {
137
133
  * Update the sort applied to the data. When set, will trigger a refresh.
138
134
  * @param sort - The new sort to be applied to the data object.
139
135
  */
140
- updateSort(sort: SortConfig): void;
136
+ updateSort(sort: SortConfig<T>): void;
141
137
  /** Set a new groupBy config on the dataObject to update groupedData. */
142
- setGroupBy(config: GroupByConfig): void;
143
- private assertBucketAllowed;
138
+ setGroupBy(config: GroupByConfig<T>): void;
139
+ /**
140
+ * Gets a record from DataObject's data array.
141
+ * @param id - The id of the record to fetch.
142
+ * @returns A DataObjectRecord if found, undefined if not.
143
+ */
144
+ getRecordById(id: T["id"]): DataObjectRecord<T> | undefined;
144
145
  /**
145
146
  * Helper method to dispose of a data object in order to prevent memory leaks.
146
147
  * Disposes of all child data objects and resets state to default.
@@ -151,5 +152,5 @@ export declare class DataObject {
151
152
  */
152
153
  getSupabaseClient(): SupabaseClient;
153
154
  }
154
- export declare function createDataObject(supabaseConfig: SupabaseConfig, options: DataObjectOptions, name: string, errorHandler?: DataObjectErrorHandler): Promise<DataObject>;
155
+ export declare function createDataObject<T extends DataRecordKey = DataRecordKey>(supabaseConfig: SupabaseConfig, options: DataObjectOptions<T>, name: string, errorHandler?: DataObjectErrorHandler): Promise<DataObject<T>>;
155
156
  //# sourceMappingURL=dataObject.d.ts.map
@@ -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,EAEhB,WAAW,EACX,cAAc,EACd,gBAAgB,EAEhB,eAAe,EAEf,UAAU,EACV,aAAa,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,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,QAAQ,CAAoB;IACpC,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,KAAK,CAAS;IACtB,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;IACxE,SAAgB,GAAG,yGAAuD;IAC1E,SAAgB,IAAI,yGAAwD;IAE5E,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,OAAO,CAAyB;IAEjC,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAEhD,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAKX;IAET,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,aAAa,IAAI,gBAAgB,GAAG,SAAS,CAEvD;IAED,IAAW,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EAgB5D;IAED,IAAW,MAAM,IAAI,eAAe,EAAE,CAErC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,YAAY,IAAI,WAAW,EAAE,CAEvC;IAED,IAAW,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,EAGlD;IAED,IAAW,gBAAgB,IAAI,UAAU,GAAG,SAAS,CAEpD;IAED,IAAW,gBAAgB,IAAI,aAAa,CAAC,UAAU,CAAC,CAEvD;IAED,IAAW,OAAO,IAAI,iBAAiB,CAEtC;IAED,IAAW,WAAW;oBArEN,GAAG;iBACN,gBAAgB,EAAE;oBACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;0BAChB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAoExC;gBAGG,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,sBAAsB;YAU3B,oBAAoB;IAgBrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;IAUlB;;OAEG;YACW,QAAQ;IAqHtB;;;OAGG;IACI,OAAO,IAAI,gBAAgB,EAAE;IAIpC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBrC,OAAO,CAAC,aAAa;IA+DrB;;;;;OAKG;IACU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCxE;;;;;;;OAOG;IACU,MAAM,CACf,EAAE,EAAE,GAAG,EACP,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,WAAW,GAAE,OAAe,GAC7B,OAAO,CAAC,OAAO,CAAC;IA+CnB;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAwC9C;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCzC;;OAEG;IACI,aAAa,IAAI,IAAI;IAaf,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,GACF,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;OAEG;IACI,UAAU,IAAI,iBAAiB;IAItC;;;OAGG;IACI,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMvD;;;OAGG;IACI,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIzD;;;OAGG;YACW,WAAW;IAWzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,UAAU;IAKlC,wEAAwE;IACjE,UAAU,CAAC,MAAM,EAAE,aAAa;IAKvC,OAAO,CAAC,mBAAmB;IAM3B;;;OAGG;IACI,OAAO,IAAI,IAAI;IA4BtB;;OAEG;IACI,iBAAiB,IAAI,cAAc;CAG7C;AAED,wBAAsB,gBAAgB,CAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,sBAAsB,GACtC,OAAO,CAAC,UAAU,CAAC,CAErB"}
1
+ {"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { EventEmitter } from './eventEmitter';
3
3
  import { NamedEventEmitter } from './namedEventEmitter';
4
4
  import { DataObjectState } from './dataObjectState';
5
5
  import { MasterBinding } from './masterBinding';
6
+ import { DataObjectStorage } from './dataObjectStorage';
7
+ import { DataRecord } from './dataRecord';
6
8
  export class DataObject {
7
9
  get name() {
8
10
  return this._name;
@@ -32,8 +34,11 @@ export class DataObject {
32
34
  get isReady() {
33
35
  return this.state.isReady;
34
36
  }
37
+ get changedRecords() {
38
+ return this.data.filter(r => r.hasChanges);
39
+ }
35
40
  get hasChanges() {
36
- return this._pendingChanges.size > 0;
41
+ return this.data.some(r => r.hasChanges);
37
42
  }
38
43
  get whereClauses() {
39
44
  return this._options.whereClauses || [];
@@ -56,8 +61,6 @@ export class DataObject {
56
61
  }
57
62
  constructor(supabaseConfig, options, name, errorHandler) {
58
63
  this.data = [];
59
- this._originalData = [];
60
- this._pendingChanges = new Map();
61
64
  this.eventEmitter = new EventEmitter();
62
65
  this.onDataChanged = this.eventEmitter.event;
63
66
  this.lifeCycleEvents = new NamedEventEmitter();
@@ -72,6 +75,7 @@ export class DataObject {
72
75
  this.errorHandler = errorHandler;
73
76
  this._name = name;
74
77
  this.state = new DataObjectState();
78
+ this.storage = new DataObjectStorage(name, this.supabase.storage, options.allowedBuckets, errorHandler);
75
79
  this._readyPromise = this.initializeDataObject();
76
80
  }
77
81
  async initializeDataObject() {
@@ -174,8 +178,6 @@ export class DataObject {
174
178
  const bindingWhereClause = this.masterBinding.bindingWhereClause;
175
179
  if (!bindingWhereClause || bindingWhereClause.value === undefined || bindingWhereClause.value === null) {
176
180
  this.data = [];
177
- this._originalData = [];
178
- this._pendingChanges.clear();
179
181
  this.currentRecord = undefined;
180
182
  this.state.isReady = true;
181
183
  this.lifeCycleEvents.emit('afterLoad', this.data);
@@ -201,10 +203,6 @@ export class DataObject {
201
203
  }
202
204
  // assign raw data first
203
205
  const rawData = data || [];
204
- // create a deep clone of data
205
- this._originalData = JSON.parse(JSON.stringify(rawData));
206
- // clear any previous change tracking
207
- this._pendingChanges.clear();
208
206
  // wrap each record in a reactive Proxy
209
207
  this.data = rawData.map((record) => this.createReactiveRecord(record));
210
208
  this.applyGrouping();
@@ -265,7 +263,8 @@ export class DataObject {
265
263
  // TODO: Add handling for field not existing
266
264
  const groups = {};
267
265
  for (const record of this.data) {
268
- const key = record[groupBy.field];
266
+ const rawKey = record[groupBy.field];
267
+ const key = String(rawKey);
269
268
  if (!groups[key])
270
269
  groups[key] = [];
271
270
  groups[key].push(record);
@@ -274,7 +273,9 @@ export class DataObject {
274
273
  const aggregates = {};
275
274
  if (groupBy.aggregates) {
276
275
  for (const [alias, { op, field }] of Object.entries(groupBy.aggregates)) {
277
- const values = field ? records.map(r => Number(r[field])) : [];
276
+ const values = field
277
+ ? records.map(r => Number(r[field]))
278
+ : [];
278
279
  switch (op) {
279
280
  case 'sum':
280
281
  aggregates[alias] = values.reduce((a, b) => a + (b || 0), 0);
@@ -311,15 +312,14 @@ export class DataObject {
311
312
  }
312
313
  // #region CRUD
313
314
  /**
314
- * Creates a new record in Supabase from the record informaton specified.
315
- * Can only be called if a tableName is specified and canInsert is set to true.
316
- * @param record - An object of fields and values for the new record.
317
- * @returns true if insert is successful, false otherwise.
315
+ * Creates a new record in Supabase.
316
+ * @param record - Partial record to insert.
317
+ * @returns The newly created DataObjectRecord, or null if insert fails.
318
318
  */
319
- async insert(record) {
319
+ async insert(record, setAsCurrent = true) {
320
320
  if (!this.options.canInsert || !this.options.tableName) {
321
321
  this.handleWarning('Insert operation is not allowed for this data object');
322
- return false;
322
+ return null;
323
323
  }
324
324
  const insertToken = {
325
325
  ...this.options,
@@ -327,27 +327,29 @@ export class DataObject {
327
327
  cancelEvent: false,
328
328
  };
329
329
  this.lifeCycleEvents.emit('beforeInsert', insertToken, record);
330
- if (insertToken.cancelEvent) {
331
- return false;
332
- }
330
+ if (insertToken.cancelEvent)
331
+ return null;
333
332
  try {
334
333
  const { data, error } = await this.supabase
335
334
  .from(this.options.tableName)
336
335
  .insert(record)
337
336
  .select();
338
- if (error) {
339
- this.handleError(`Error inserting record: ${error.message}`);
340
- return false;
337
+ if (error || !data?.length) {
338
+ this.handleError(`Error inserting record: ${error?.message ?? 'No data returned'}`);
339
+ return null;
340
+ }
341
+ const newRecord = data[0];
342
+ if (setAsCurrent) {
343
+ this._currentRecord = newRecord;
341
344
  }
342
- // TODO: option to set newly created record as currentRecord
343
- this.lifeCycleEvents.emit('afterInsert', data[0]);
345
+ this.lifeCycleEvents.emit('afterInsert', newRecord);
344
346
  await this.refresh();
345
347
  this.handleInfo('Record inserted successfully');
346
- return true;
348
+ return newRecord;
347
349
  }
348
- catch (error) {
349
- this.handleError(`Error inserting record: ${error}`);
350
- return false;
350
+ catch (err) {
351
+ this.handleError(`Error inserting record: ${err}`);
352
+ return null;
351
353
  }
352
354
  }
353
355
  /**
@@ -386,7 +388,10 @@ export class DataObject {
386
388
  this.handleError(`Error updating record: ${error.message}`);
387
389
  return false;
388
390
  }
389
- if (!skipRefresh) {
391
+ if (skipRefresh) {
392
+ record.applyServerUpdates(updates);
393
+ }
394
+ else {
390
395
  await this.refresh();
391
396
  }
392
397
  const updatedRecord = this.data.find(x => x.id === id);
@@ -453,7 +458,7 @@ export class DataObject {
453
458
  * Can only be done if a tableName is specified and canUpdate is true.
454
459
  */
455
460
  async saveChanges() {
456
- if (this._pendingChanges.size === 0) {
461
+ if (this.changedRecords.length == 0) {
457
462
  this.handleInfo("No changes to save.");
458
463
  return;
459
464
  }
@@ -461,13 +466,11 @@ export class DataObject {
461
466
  this.handleWarning('Update operation is not allowed for this data object.');
462
467
  return;
463
468
  }
464
- const pendingEntries = Array.from(this._pendingChanges.entries());
469
+ const changed = this.changedRecords;
465
470
  try {
466
471
  this.state.isSaving = true;
467
- await Promise.all(pendingEntries.map(([id, updates]) => this.update(id, updates, true)));
472
+ await Promise.all(changed.map(r => r.save()));
468
473
  await this.refresh();
469
- this._pendingChanges.clear();
470
- this._originalData = JSON.parse(JSON.stringify(this.data));
471
474
  this.handleInfo("All changes saved successfully.");
472
475
  }
473
476
  catch (error) {
@@ -481,29 +484,18 @@ export class DataObject {
481
484
  * Clears all pending changes and returns the data object to its original state.
482
485
  */
483
486
  cancelChanges() {
484
- if (this._pendingChanges.size === 0) {
487
+ if (this.changedRecords.length === 0) {
485
488
  this.handleInfo("No changes to revert.");
486
489
  return;
487
490
  }
488
- this.data = JSON.parse(JSON.stringify(this._originalData))
489
- .map((record) => this.createReactiveRecord(record));
490
- this._pendingChanges.clear();
491
+ for (const record of this.data) {
492
+ if (record.hasChanges) {
493
+ record.revert();
494
+ }
495
+ }
491
496
  this.eventEmitter.fire(this.data);
492
497
  this.handleInfo("All changes reverted.");
493
498
  }
494
- async uploadToBucket(bucket, filePath, file, options) {
495
- this.assertBucketAllowed(bucket);
496
- const { error } = await this.supabase.storage
497
- .from(bucket)
498
- .upload(filePath, file, {
499
- contentType: options?.contentType,
500
- upsert: options?.upsert ?? true
501
- });
502
- if (error) {
503
- this.errorHandler?.onError?.(error.message);
504
- throw error;
505
- }
506
- }
507
499
  // #end region
508
500
  // #region Helpers
509
501
  /**
@@ -511,26 +503,13 @@ export class DataObject {
511
503
  * @param record - DataObjectRecord to create proxy for
512
504
  * @returns Proxy of DataObjectRecord passed through
513
505
  */
514
- createReactiveRecord(record) {
515
- const handler = {
516
- set: (target, prop, value) => {
517
- const key = prop;
518
- // Only track if value actually changed
519
- if (target[key] !== value) {
520
- target[key] = value;
521
- if (!this._pendingChanges.has(target.id)) {
522
- this._pendingChanges.set(target.id, {});
523
- }
524
- const pending = this._pendingChanges.get(target.id);
525
- pending[key] = value;
526
- this.lifeCycleEvents.emit('fieldChanged', record, pending);
527
- this.currentRecord = record;
528
- this.eventEmitter.fire(this.data);
529
- }
530
- return true;
531
- }
532
- };
533
- return new Proxy(record, handler);
506
+ createReactiveRecord(raw) {
507
+ const record = new DataRecord(this.data.length, this._fields, raw, this, (rec, field) => {
508
+ this.lifeCycleEvents.emit('fieldChanged', record, rec.changes);
509
+ this.currentRecord = record;
510
+ this.eventEmitter.fire(this.data);
511
+ });
512
+ return record;
534
513
  }
535
514
  /**
536
515
  * Gets the options defined for the created data object.
@@ -598,10 +577,13 @@ export class DataObject {
598
577
  this.options.groupBy = config;
599
578
  this.applyGrouping();
600
579
  }
601
- assertBucketAllowed(bucket) {
602
- if (!this._options.buckets?.includes(bucket)) {
603
- this.handleError(`Bucket "${bucket}" is not registered on DataObject "${this._name}".`);
604
- }
580
+ /**
581
+ * Gets a record from DataObject's data array.
582
+ * @param id - The id of the record to fetch.
583
+ * @returns A DataObjectRecord if found, undefined if not.
584
+ */
585
+ getRecordById(id) {
586
+ return this.data.find(x => x.id === id);
605
587
  }
606
588
  /**
607
589
  * Helper method to dispose of a data object in order to prevent memory leaks.
@@ -625,8 +607,6 @@ export class DataObject {
625
607
  this.eventEmitter.dispose();
626
608
  this.lifeCycleEvents.clearAll();
627
609
  this.data = [];
628
- this._originalData = [];
629
- this._pendingChanges.clear();
630
610
  this._currentRecord = undefined;
631
611
  this.state.reset();
632
612
  }
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { DataObject, DataObjectErrorHandler } from './dataObject';
2
- import { DataObjectOptions, SupabaseConfig, StoredDataObject } from './types';
2
+ import type { DataObjectOptions, SupabaseConfig, StoredDataObject, DataRecordKey } from './types';
3
3
  export interface DataObjectManagerConfig {
4
4
  supabaseConfig: SupabaseConfig;
5
5
  errorHandler?: DataObjectErrorHandler;
@@ -9,13 +9,13 @@ export declare class DataObjectManager {
9
9
  private dataObjects;
10
10
  private config;
11
11
  private eventEmitter;
12
- readonly onDataObjectsChanged: (listener: (data: StoredDataObject[]) => void) => () => void;
12
+ readonly onDataObjectsChanged: (listener: (data: StoredDataObject<any>[]) => void) => () => void;
13
13
  private constructor();
14
14
  static getInstance(config?: DataObjectManagerConfig): DataObjectManager;
15
15
  static setConfig(config: DataObjectManagerConfig): void;
16
- createDataObject(name: string, options: DataObjectOptions): Promise<DataObject | null>;
17
- getDataObjectById(id: string): DataObject | null;
18
- getAllDataObjects(): StoredDataObject[];
16
+ createDataObject<T extends DataRecordKey>(name: string, options: DataObjectOptions<T>): Promise<DataObject<T> | null>;
17
+ getDataObjectById<T extends DataRecordKey>(id: string): DataObject<T> | null;
18
+ getAllDataObjects(): StoredDataObject<DataRecordKey>[];
19
19
  removeDataObject(id: string): boolean;
20
20
  refreshDataObject(id: string): Promise<boolean>;
21
21
  clearAllDataObjects(): void;
@@ -23,9 +23,9 @@ export declare class DataObjectManager {
23
23
  updateConfig(config: DataObjectManagerConfig): void;
24
24
  getConfig(): DataObjectManagerConfig;
25
25
  }
26
- export declare function getDataObjectById(id: string): DataObject | null;
27
- export declare function createDataObject(name: string, options: DataObjectOptions): Promise<DataObject | null>;
28
- export declare function getAllDataObjects(): StoredDataObject[];
26
+ export declare function getDataObjectById<T extends DataRecordKey>(id: string): DataObject<T> | null;
27
+ export declare function createDataObject<T extends DataRecordKey>(name: string, options: DataObjectOptions<T>): Promise<DataObject<T> | null>;
28
+ export declare function getAllDataObjects(): StoredDataObject<DataRecordKey>[];
29
29
  export declare function removeDataObject(id: string): boolean;
30
30
  export declare function refreshDataObject(id: string): Promise<boolean>;
31
31
  //# sourceMappingURL=dataObjectManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataObjectManager.d.ts","sourceRoot":"","sources":["../src/dataObjectManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG9E,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAA0C;IAE9D,SAAgB,oBAAoB,+DAA2B;IAE/D,OAAO;WAIO,WAAW,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,iBAAiB;WAUhE,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAMjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAoE5F,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKhD,iBAAiB,IAAI,gBAAgB,EAAE;IAIvC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAkB/B,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrD,mBAAmB,IAAI,IAAI;IAQ3B,OAAO,IAAI,IAAI;IAKf,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAInD,SAAS,IAAI,uBAAuB;CAG9C;AAGD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAQ/D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ3G;AAED,wBAAgB,iBAAiB,IAAI,gBAAgB,EAAE,CAQtD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpE"}
1
+ {"version":3,"file":"dataObjectManager.d.ts","sourceRoot":"","sources":["../src/dataObjectManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGlG,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAA+C;IAEnE,SAAgB,oBAAoB,oEAA2B;IAE/D,OAAO;WAIO,WAAW,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,iBAAiB;WAUhE,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAMjD,gBAAgB,CAAC,CAAC,SAAS,aAAa,EACjD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAoEzB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAC5C,EAAE,EAAE,MAAM,GACX,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;IAIhB,iBAAiB,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE;IAItD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAkB/B,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrD,mBAAmB,IAAI,IAAI;IAQ3B,OAAO,IAAI,IAAI;IAKf,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAInD,SAAS,IAAI,uBAAuB;CAG9C;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EACrD,EAAE,EAAE,MAAM,GACX,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAQtB;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,aAAa,EAC1D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAQ/B;AAED,wBAAgB,iBAAiB,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAQrE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpE"}
@@ -82,8 +82,7 @@ export class DataObjectManager {
82
82
  }
83
83
  }
84
84
  getDataObjectById(id) {
85
- const storedDataObject = this.dataObjects.get(id);
86
- return storedDataObject ? storedDataObject.dataObject : null;
85
+ return this.dataObjects.get(id)?.dataObject;
87
86
  }
88
87
  getAllDataObjects() {
89
88
  return Array.from(this.dataObjects.values());