supabase-dataobject-core 1.8.0 → 2.1.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,5 +1,5 @@
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
5
  import { DataObjectStorage } from './dataObjectStorage';
@@ -8,47 +8,46 @@ export interface DataObjectErrorHandler {
8
8
  onWarning?: (warning: string) => void;
9
9
  onInfo?: (info: string) => void;
10
10
  }
11
- export declare class DataObject {
11
+ export declare class DataObject<T extends DataRecordKey = DataRecordKey> {
12
12
  private supabase;
13
13
  private _options;
14
14
  private errorHandler?;
15
15
  private _name;
16
16
  private _readyPromise;
17
- data: DataObjectRecord[];
18
- private _originalData;
19
- private _pendingChanges;
17
+ data: DataObjectRecord<T>[];
20
18
  private eventEmitter;
21
- readonly onDataChanged: (listener: (data: DataObjectRecord[]) => void) => () => void;
19
+ readonly onDataChanged: (listener: (data: DataObjectRecord<T>[]) => void) => () => void;
22
20
  private lifeCycleEvents;
23
- readonly on: <K extends keyof DataObjectEvents>(event: K, listener: (...args: DataObjectEvents[K]) => void) => () => void;
24
- readonly off: <K extends keyof DataObjectEvents>(event: K, listener: (...args: DataObjectEvents[K]) => void) => void;
25
- 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;
26
24
  private _currentRecord;
27
25
  private _fields;
28
26
  state: DataObjectState;
29
- masterBinding: MasterBinding | undefined;
27
+ masterBinding: MasterBinding<any, T> | undefined;
30
28
  storage: DataObjectStorage;
31
29
  private _childDataObjects;
32
30
  private _groupedData;
33
31
  get name(): string;
34
32
  get recordCount(): number;
35
- get currentRecord(): DataObjectRecord | undefined;
36
- set currentRecord(record: DataObjectRecord | undefined);
37
- get fields(): DataObjectField[];
33
+ get currentRecord(): DataObjectRecord<T> | undefined;
34
+ set currentRecord(record: DataObjectRecord<T> | undefined);
35
+ get fields(): DataObjectField<T>[];
38
36
  get isReady(): boolean;
37
+ get changedRecords(): DataObjectRecord<T>[];
39
38
  get hasChanges(): boolean;
40
- get whereClauses(): WhereClause[];
41
- set whereClauses(whereClauses: WhereClause[]);
39
+ get whereClauses(): WhereClause<T>[];
40
+ set whereClauses(whereClauses: WhereClause<T>[]);
42
41
  get masterDataObject(): DataObject | undefined;
43
42
  get childDataObjects(): ReadonlyArray<DataObject>;
44
- get options(): DataObjectOptions;
43
+ get options(): DataObjectOptions<T>;
45
44
  get groupedData(): {
46
45
  groupValue: any;
47
- records: DataObjectRecord[];
46
+ records: DataObjectRecord<T>[];
48
47
  aggregates: Record<string, number>;
49
48
  additionalFields: Record<string, any>;
50
49
  }[];
51
- constructor(supabaseConfig: SupabaseConfig, options: DataObjectOptions, name: string, errorHandler?: DataObjectErrorHandler);
50
+ constructor(supabaseConfig: SupabaseConfig, options: DataObjectOptions<T>, name: string, errorHandler?: DataObjectErrorHandler);
52
51
  private initializeDataObject;
53
52
  waitForReady(): Promise<void>;
54
53
  private handleError;
@@ -62,7 +61,7 @@ export declare class DataObject {
62
61
  * Fetches data created in loadData() method.
63
62
  * @returns an array of DataObjectRecords
64
63
  */
65
- getData(): DataObjectRecord[];
64
+ getData(): DataObjectRecord<T>[];
66
65
  /**
67
66
  * Refresh data to get the latest state.
68
67
  */
@@ -73,7 +72,7 @@ export declare class DataObject {
73
72
  * @param record - Partial record to insert.
74
73
  * @returns The newly created DataObjectRecord, or null if insert fails.
75
74
  */
76
- insert(record: Partial<DataObjectRecord>, setAsCurrent?: boolean): Promise<DataObjectRecord | null>;
75
+ insert(record: Partial<T>, setAsCurrent?: boolean): Promise<DataObjectRecord<T> | null>;
77
76
  /**
78
77
  * Updates a record in Supabase with the updates supplied.
79
78
  * Can only be called if a tableName is provided and canUpdate is set to true.
@@ -82,14 +81,14 @@ export declare class DataObject {
82
81
  * @param skipRefresh - When set to true, the data object will not refresh after updating. Default is false
83
82
  * @returns true if update was successful, false otherwise.
84
83
  */
85
- update(id: any, updates: Partial<DataObjectRecord>, skipRefresh?: boolean): Promise<boolean>;
84
+ update(id: T["id"], updates: Partial<T>, skipRefresh?: boolean): Promise<boolean>;
86
85
  /**
87
86
  * Method for deleting a record from Supabase.
88
87
  * Can only be called if a tableName is provided and canDelete is set to true.
89
88
  * @param id - The id of the record to delete
90
89
  * @returns true if delete was successful, false otherwise.
91
90
  */
92
- delete(id: any): Promise<boolean>;
91
+ delete(id: T["id"]): Promise<boolean>;
93
92
  /**
94
93
  * Saves all pending changes in parallel to Supabase using the update() method, then refreshes data object.
95
94
  * Can only be done if a tableName is specified and canUpdate is true.
@@ -108,17 +107,17 @@ export declare class DataObject {
108
107
  /**
109
108
  * Gets the options defined for the created data object.
110
109
  */
111
- getOptions(): DataObjectOptions;
110
+ getOptions(): DataObjectOptions<T>;
112
111
  /**
113
112
  * Adds a new data object to this data object's childDataObjects array.
114
113
  * @param child - The data object to add as a child to this one.
115
114
  */
116
- registerChildDataObject(child: DataObject): void;
115
+ registerChildDataObject(child: DataObject<any>): void;
117
116
  /**
118
117
  * Removes a data object from this data object's childDataObjects array.
119
118
  * @param child - The data object to remove.
120
119
  */
121
- unregisterChildDataObject(child: DataObject): void;
120
+ unregisterChildDataObject(child: DataObject<any>): void;
122
121
  /**
123
122
  * Infers data objects fields to be added to fields array.
124
123
  * If no fields have been provided in DataObjectOptions then all fields from the provided table will be used.
@@ -134,9 +133,15 @@ export declare class DataObject {
134
133
  * Update the sort applied to the data. When set, will trigger a refresh.
135
134
  * @param sort - The new sort to be applied to the data object.
136
135
  */
137
- updateSort(sort: SortConfig): void;
136
+ updateSort(sort: SortConfig<T>): void;
138
137
  /** Set a new groupBy config on the dataObject to update groupedData. */
139
- setGroupBy(config: GroupByConfig): void;
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;
140
145
  /**
141
146
  * Helper method to dispose of a data object in order to prevent memory leaks.
142
147
  * Disposes of all child data objects and resets state to default.
@@ -147,5 +152,5 @@ export declare class DataObject {
147
152
  */
148
153
  getSupabaseClient(): SupabaseClient;
149
154
  }
150
- 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>>;
151
156
  //# sourceMappingURL=dataObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
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,EACb,aAAa,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,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,CACrB,CAAC,SAAS,aAAa,GAAG,aAAa;IAErC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAE9B,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAM;IAExC,OAAO,CAAC,YAAY,CAA6C;IACjE,SAAgB,aAAa,kEAA2B;IAExD,OAAO,CAAC,eAAe,CAAgD;IACvE,SAAgB,EAAE,qHAAsD;IACxE,SAAgB,GAAG,+GAAuD;IAC1E,SAAgB,IAAI,+GAAwD;IAE5E,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,OAAO,CAA4B;IAEpC,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IACjD,OAAO,EAAE,iBAAiB,CAAC;IAElC,OAAO,CAAC,iBAAiB,CAAyB;IAElD,OAAO,CAAC,YAAY,CAKX;IAET,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAE1D;IAED,IAAW,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,EAgB/D;IAED,IAAW,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAExC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,cAAc,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAEjD;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAE1C;IAED,IAAW,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,EAGrD;IAED,IAAW,gBAAgB,IAAI,UAAU,GAAG,SAAS,CAEpD;IAED,IAAW,gBAAgB,IAAI,aAAa,CAAC,UAAU,CAAC,CAEvD;IAED,IAAW,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAEzC;IAED,IAAW,WAAW;oBAzEN,GAAG;iBACN,gBAAgB,CAAC,CAAC,CAAC,EAAE;oBAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;0BAChB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAwExC;gBAGG,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,sBAAsB;YAgB3B,oBAAoB;IAgBrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;IAUlB;;OAEG;YACW,QAAQ;IA6GtB;;;OAGG;IACI,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;IAIvC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBrC,OAAO,CAAC,aAAa;IAiErB;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IA6CjG;;;;;;;OAOG;IACU,MAAM,CACf,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EACX,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,WAAW,GAAE,OAAe,GAC7B,OAAO,CAAC,OAAO,CAAC;IAiDnB;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwClD;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BzC;;OAEG;IACI,aAAa,IAAI,IAAI;IAkB5B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACI,UAAU,IAAI,iBAAiB,CAAC,CAAC,CAAC;IAIzC;;;OAGG;IACI,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI;IAM5D;;;OAGG;IACI,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI;IAI9D;;;OAGG;YACW,WAAW;IAWzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAKrC,wEAAwE;IACjE,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAK1C;;;;OAIG;IACI,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS;IAIlE;;;OAGG;IACI,OAAO,IAAI,IAAI;IA0BtB;;OAEG;IACI,iBAAiB,IAAI,cAAc;CAG7C;AAED,wBAAsB,gBAAgB,CACpC,CAAC,SAAS,aAAa,GAAG,aAAa,EAErC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,sBAAsB,GACtC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAExB"}
@@ -4,6 +4,7 @@ import { NamedEventEmitter } from './namedEventEmitter';
4
4
  import { DataObjectState } from './dataObjectState';
5
5
  import { MasterBinding } from './masterBinding';
6
6
  import { DataObjectStorage } from './dataObjectStorage';
7
+ import { DataRecord } from './dataRecord';
7
8
  export class DataObject {
8
9
  get name() {
9
10
  return this._name;
@@ -33,8 +34,11 @@ export class DataObject {
33
34
  get isReady() {
34
35
  return this.state.isReady;
35
36
  }
37
+ get changedRecords() {
38
+ return this.data.filter(r => r.hasChanges);
39
+ }
36
40
  get hasChanges() {
37
- return this._pendingChanges.size > 0;
41
+ return this.data.some(r => r.hasChanges);
38
42
  }
39
43
  get whereClauses() {
40
44
  return this._options.whereClauses || [];
@@ -57,8 +61,6 @@ export class DataObject {
57
61
  }
58
62
  constructor(supabaseConfig, options, name, errorHandler) {
59
63
  this.data = [];
60
- this._originalData = [];
61
- this._pendingChanges = new Map();
62
64
  this.eventEmitter = new EventEmitter();
63
65
  this.onDataChanged = this.eventEmitter.event;
64
66
  this.lifeCycleEvents = new NamedEventEmitter();
@@ -176,8 +178,6 @@ export class DataObject {
176
178
  const bindingWhereClause = this.masterBinding.bindingWhereClause;
177
179
  if (!bindingWhereClause || bindingWhereClause.value === undefined || bindingWhereClause.value === null) {
178
180
  this.data = [];
179
- this._originalData = [];
180
- this._pendingChanges.clear();
181
181
  this.currentRecord = undefined;
182
182
  this.state.isReady = true;
183
183
  this.lifeCycleEvents.emit('afterLoad', this.data);
@@ -203,10 +203,6 @@ export class DataObject {
203
203
  }
204
204
  // assign raw data first
205
205
  const rawData = data || [];
206
- // create a deep clone of data
207
- this._originalData = JSON.parse(JSON.stringify(rawData));
208
- // clear any previous change tracking
209
- this._pendingChanges.clear();
210
206
  // wrap each record in a reactive Proxy
211
207
  this.data = rawData.map((record) => this.createReactiveRecord(record));
212
208
  this.applyGrouping();
@@ -267,7 +263,8 @@ export class DataObject {
267
263
  // TODO: Add handling for field not existing
268
264
  const groups = {};
269
265
  for (const record of this.data) {
270
- const key = record[groupBy.field];
266
+ const rawKey = record[groupBy.field];
267
+ const key = String(rawKey);
271
268
  if (!groups[key])
272
269
  groups[key] = [];
273
270
  groups[key].push(record);
@@ -276,7 +273,9 @@ export class DataObject {
276
273
  const aggregates = {};
277
274
  if (groupBy.aggregates) {
278
275
  for (const [alias, { op, field }] of Object.entries(groupBy.aggregates)) {
279
- const values = field ? records.map(r => Number(r[field])) : [];
276
+ const values = field
277
+ ? records.map(r => Number(r[field]))
278
+ : [];
280
279
  switch (op) {
281
280
  case 'sum':
282
281
  aggregates[alias] = values.reduce((a, b) => a + (b || 0), 0);
@@ -389,7 +388,10 @@ export class DataObject {
389
388
  this.handleError(`Error updating record: ${error.message}`);
390
389
  return false;
391
390
  }
392
- if (!skipRefresh) {
391
+ if (skipRefresh) {
392
+ record.applyServerUpdates(updates);
393
+ }
394
+ else {
393
395
  await this.refresh();
394
396
  }
395
397
  const updatedRecord = this.data.find(x => x.id === id);
@@ -456,7 +458,7 @@ export class DataObject {
456
458
  * Can only be done if a tableName is specified and canUpdate is true.
457
459
  */
458
460
  async saveChanges() {
459
- if (this._pendingChanges.size === 0) {
461
+ if (this.changedRecords.length == 0) {
460
462
  this.handleInfo("No changes to save.");
461
463
  return;
462
464
  }
@@ -464,13 +466,11 @@ export class DataObject {
464
466
  this.handleWarning('Update operation is not allowed for this data object.');
465
467
  return;
466
468
  }
467
- const pendingEntries = Array.from(this._pendingChanges.entries());
469
+ const changed = this.changedRecords;
468
470
  try {
469
471
  this.state.isSaving = true;
470
- await Promise.all(pendingEntries.map(([id, updates]) => this.update(id, updates, true)));
472
+ await Promise.all(changed.map(r => r.save()));
471
473
  await this.refresh();
472
- this._pendingChanges.clear();
473
- this._originalData = JSON.parse(JSON.stringify(this.data));
474
474
  this.handleInfo("All changes saved successfully.");
475
475
  }
476
476
  catch (error) {
@@ -484,13 +484,15 @@ export class DataObject {
484
484
  * Clears all pending changes and returns the data object to its original state.
485
485
  */
486
486
  cancelChanges() {
487
- if (this._pendingChanges.size === 0) {
487
+ if (this.changedRecords.length === 0) {
488
488
  this.handleInfo("No changes to revert.");
489
489
  return;
490
490
  }
491
- this.data = JSON.parse(JSON.stringify(this._originalData))
492
- .map((record) => this.createReactiveRecord(record));
493
- this._pendingChanges.clear();
491
+ for (const record of this.data) {
492
+ if (record.hasChanges) {
493
+ record.revert();
494
+ }
495
+ }
494
496
  this.eventEmitter.fire(this.data);
495
497
  this.handleInfo("All changes reverted.");
496
498
  }
@@ -501,26 +503,13 @@ export class DataObject {
501
503
  * @param record - DataObjectRecord to create proxy for
502
504
  * @returns Proxy of DataObjectRecord passed through
503
505
  */
504
- createReactiveRecord(record) {
505
- const handler = {
506
- set: (target, prop, value) => {
507
- const key = prop;
508
- // Only track if value actually changed
509
- if (target[key] !== value) {
510
- target[key] = value;
511
- if (!this._pendingChanges.has(target.id)) {
512
- this._pendingChanges.set(target.id, {});
513
- }
514
- const pending = this._pendingChanges.get(target.id);
515
- pending[key] = value;
516
- this.lifeCycleEvents.emit('fieldChanged', record, pending);
517
- this.currentRecord = record;
518
- this.eventEmitter.fire(this.data);
519
- }
520
- return true;
521
- }
522
- };
523
- 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;
524
513
  }
525
514
  /**
526
515
  * Gets the options defined for the created data object.
@@ -588,6 +577,14 @@ export class DataObject {
588
577
  this.options.groupBy = config;
589
578
  this.applyGrouping();
590
579
  }
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);
587
+ }
591
588
  /**
592
589
  * Helper method to dispose of a data object in order to prevent memory leaks.
593
590
  * Disposes of all child data objects and resets state to default.
@@ -610,8 +607,6 @@ export class DataObject {
610
607
  this.eventEmitter.dispose();
611
608
  this.lifeCycleEvents.clearAll();
612
609
  this.data = [];
613
- this._originalData = [];
614
- this._pendingChanges.clear();
615
610
  this._currentRecord = undefined;
616
611
  this.state.reset();
617
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());
@@ -1 +1 @@
1
- {"version":3,"file":"dataObjectManager.js","sourceRoot":"","sources":["../src/dataObjectManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataObjectManager.js","sourceRoot":"","sources":["../src/dataObjectManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { DataObject } from "./dataObject";
2
+ import { DataObjectField } from "./types";
3
+ export declare class DataRecord<T extends {
4
+ id: unknown;
5
+ }> {
6
+ readonly index: number;
7
+ readonly fields: DataObjectField<T>[];
8
+ private _dataObject;
9
+ private _state;
10
+ private _onFieldChanged?;
11
+ private _original;
12
+ private _pendingChanges;
13
+ private _record;
14
+ get id(): T["id"];
15
+ get hasChanges(): boolean;
16
+ get changes(): Readonly<Partial<T>>;
17
+ get isCurrent(): boolean;
18
+ constructor(index: number, fields: DataObjectField<T>[], rawRecord: T, dataObject: DataObject<T>, onFieldChanged?: (record: DataRecord<T>, field: keyof T) => void);
19
+ /** Saves all current changes and commits them to Supabase. */
20
+ save(): Promise<void>;
21
+ /** Attempts to delete the specified record. */
22
+ delete(): Promise<void>;
23
+ /** Cancels all current changes and reverts the record back to its original state. */
24
+ revert(): void;
25
+ private clearChanges;
26
+ /**
27
+ * Called by DataObject after saving, or when DataObject.update() is called and refresh is skipped, to ensure
28
+ * server updates to records are synced.
29
+ */
30
+ applyServerUpdates(updates: Partial<T>): void;
31
+ }
32
+ export declare class DataRecordState {
33
+ private _isRefreshing;
34
+ private _isUpdating;
35
+ private _isSaving;
36
+ private _isDeleting;
37
+ get isRefreshing(): boolean;
38
+ set isRefreshing(value: boolean);
39
+ get isUpdating(): boolean;
40
+ set isUpdating(value: boolean);
41
+ get isSaving(): boolean;
42
+ set isSaving(value: boolean);
43
+ get isDeleting(): boolean;
44
+ set isDeleting(value: boolean);
45
+ reset(): void;
46
+ }
47
+ //# sourceMappingURL=dataRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRecord.d.ts","sourceRoot":"","sources":["../src/dataRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,UAAU,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE;IAC7C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7C,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkD;IAE1E,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,OAAO,CAAI;IAEnB,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAEhB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAElC;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;gBAGG,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC5B,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;IAqDpE,8DAA8D;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,+CAA+C;IAClC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,qFAAqF;IAC9E,MAAM,IAAI,IAAI;IAarB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;CAQhD;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAkB;IAErC,IAAI,YAAY,IACQ,OAAO,CADkB;IACjD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAiC;IAEhE,IAAI,UAAU,IACQ,OAAO,CADgB;IAC7C,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAA+B;IAE5D,IAAI,QAAQ,IACQ,OAAO,CADc;IACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAA6B;IAExD,IAAI,UAAU,IACQ,OAAO,CADgB;IAC7C,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAA+B;IAErD,KAAK;CAMf"}
@@ -0,0 +1,134 @@
1
+ export class DataRecord {
2
+ get id() {
3
+ return this._record.id;
4
+ }
5
+ get hasChanges() {
6
+ return Object.keys(this._pendingChanges).length > 0;
7
+ }
8
+ get changes() {
9
+ return this._pendingChanges;
10
+ }
11
+ get isCurrent() {
12
+ return this._record.id === this._dataObject.currentRecord?.id;
13
+ }
14
+ constructor(index, fields, rawRecord, dataObject, onFieldChanged) {
15
+ this._state = new DataRecordState();
16
+ this._pendingChanges = {};
17
+ this._record = rawRecord;
18
+ this.index = index;
19
+ this.fields = fields;
20
+ this._onFieldChanged = onFieldChanged;
21
+ this._dataObject = dataObject;
22
+ this._original = structuredClone(rawRecord);
23
+ const handler = {
24
+ get: (target, prop, receiver) => {
25
+ if (Reflect.has(target, prop)) {
26
+ return Reflect.get(target, prop, receiver);
27
+ }
28
+ if (typeof prop === "string") {
29
+ return target._record[prop];
30
+ }
31
+ return undefined;
32
+ },
33
+ set: (target, prop, value, receiver) => {
34
+ if (Reflect.has(target, prop)) {
35
+ return Reflect.set(target, prop, value, receiver);
36
+ }
37
+ if (typeof prop === "string") {
38
+ const key = prop;
39
+ if (target._record[key] !== value) {
40
+ target._record[key] = value;
41
+ if (value === target._original[key]) {
42
+ delete target._pendingChanges[key];
43
+ }
44
+ else {
45
+ target._pendingChanges[key] = value;
46
+ }
47
+ target._onFieldChanged?.(target, key);
48
+ }
49
+ return true;
50
+ }
51
+ return false;
52
+ }
53
+ };
54
+ return new Proxy(this, handler);
55
+ }
56
+ /** Saves all current changes and commits them to Supabase. */
57
+ async save() {
58
+ if (!this.hasChanges)
59
+ return;
60
+ if (this._state.isSaving) {
61
+ return;
62
+ }
63
+ this._state.isSaving = true;
64
+ try {
65
+ await this._dataObject.update(this.id, this._pendingChanges, true);
66
+ // this._original = structuredClone(this._record);
67
+ // this.clearChanges();
68
+ }
69
+ finally {
70
+ this._state.isSaving = false;
71
+ }
72
+ }
73
+ /** Attempts to delete the specified record. */
74
+ async delete() {
75
+ if (this._state.isDeleting) {
76
+ return;
77
+ }
78
+ this._state.isDeleting = true;
79
+ try {
80
+ await this._dataObject.delete(this.id);
81
+ }
82
+ finally {
83
+ this._state.isDeleting = false;
84
+ }
85
+ }
86
+ /** Cancels all current changes and reverts the record back to its original state. */
87
+ revert() {
88
+ const original = structuredClone(this._original);
89
+ for (const key of Object.keys(original)) {
90
+ if (this._record[key] !== original[key]) {
91
+ this._record[key] = original[key];
92
+ this._onFieldChanged?.(this, key);
93
+ }
94
+ }
95
+ this.clearChanges();
96
+ }
97
+ clearChanges() {
98
+ this._pendingChanges = {};
99
+ }
100
+ /**
101
+ * Called by DataObject after saving, or when DataObject.update() is called and refresh is skipped, to ensure
102
+ * server updates to records are synced.
103
+ */
104
+ applyServerUpdates(updates) {
105
+ for (const key of Object.keys(updates)) {
106
+ this._record[key] = updates[key];
107
+ }
108
+ this._original = structuredClone(this._record);
109
+ this.clearChanges();
110
+ }
111
+ }
112
+ export class DataRecordState {
113
+ constructor() {
114
+ this._isRefreshing = false;
115
+ this._isUpdating = false;
116
+ this._isSaving = false;
117
+ this._isDeleting = false;
118
+ }
119
+ get isRefreshing() { return this._isRefreshing; }
120
+ set isRefreshing(value) { this._isRefreshing = value; }
121
+ get isUpdating() { return this._isUpdating; }
122
+ set isUpdating(value) { this._isUpdating = value; }
123
+ get isSaving() { return this._isSaving; }
124
+ set isSaving(value) { this._isSaving = value; }
125
+ get isDeleting() { return this._isDeleting; }
126
+ set isDeleting(value) { this._isDeleting = value; }
127
+ reset() {
128
+ this.isRefreshing = false;
129
+ this.isUpdating = false;
130
+ this.isSaving = false;
131
+ this.isDeleting = false;
132
+ }
133
+ }
134
+ //# sourceMappingURL=dataRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRecord.js","sourceRoot":"","sources":["../src/dataRecord.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare class DataRecordState {
2
+ private _isRefreshing;
3
+ private _isUpdating;
4
+ private _isSaving;
5
+ private _isDeleting;
6
+ get isRefreshing(): boolean;
7
+ set isRefreshing(value: boolean);
8
+ get isUpdating(): boolean;
9
+ set isUpdating(value: boolean);
10
+ get isSaving(): boolean;
11
+ set isSaving(value: boolean);
12
+ get isDeleting(): boolean;
13
+ set isDeleting(value: boolean);
14
+ reset(): void;
15
+ }
16
+ //# sourceMappingURL=dataRecordState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRecordState.d.ts","sourceRoot":"","sources":["../src/dataRecordState.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IACxB,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAkB;IAErC,IAAI,YAAY,IACQ,OAAO,CADkB;IACjD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAiC;IAEhE,IAAI,UAAU,IACQ,OAAO,CADgB;IAC7C,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAA+B;IAE5D,IAAI,QAAQ,IACQ,OAAO,CADc;IACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAA6B;IAExD,IAAI,UAAU,IACQ,OAAO,CADgB;IAC7C,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAA+B;IAErD,KAAK;CAMf"}
@@ -0,0 +1,23 @@
1
+ export class DataRecordState {
2
+ constructor() {
3
+ this._isRefreshing = false;
4
+ this._isUpdating = false;
5
+ this._isSaving = false;
6
+ this._isDeleting = false;
7
+ }
8
+ get isRefreshing() { return this._isRefreshing; }
9
+ set isRefreshing(value) { this._isRefreshing = value; }
10
+ get isUpdating() { return this._isUpdating; }
11
+ set isUpdating(value) { this._isUpdating = value; }
12
+ get isSaving() { return this._isSaving; }
13
+ set isSaving(value) { this._isSaving = value; }
14
+ get isDeleting() { return this._isDeleting; }
15
+ set isDeleting(value) { this._isDeleting = value; }
16
+ reset() {
17
+ this.isRefreshing = false;
18
+ this.isUpdating = false;
19
+ this.isSaving = false;
20
+ this.isDeleting = false;
21
+ }
22
+ }
23
+ //# sourceMappingURL=dataRecordState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRecordState.js","sourceRoot":"","sources":["../src/dataRecordState.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAA5B;QACY,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAY,KAAK,CAAC;QAC7B,cAAS,GAAY,KAAK,CAAC;QAC3B,gBAAW,GAAY,KAAK,CAAC;IAoBzC,CAAC;IAlBG,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACjD,IAAI,YAAY,CAAC,KAAc,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC;IAEhE,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,KAAc,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAE5D,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,KAAc,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;IAExD,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,KAAc,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;CACJ"}
@@ -1,16 +1,16 @@
1
1
  import { DataObject, DataObjectErrorHandler } from "./dataObject";
2
- import type { MasterDataObjectBinding, WhereClause } from "./types";
3
- export declare class MasterBinding {
2
+ import type { MasterDataObjectBinding, WhereClause, DataRecordKey } from "./types";
3
+ export declare class MasterBinding<TMaster extends DataRecordKey, TChild extends DataRecordKey> {
4
4
  private _masterDataObject;
5
5
  private _childDataObject;
6
6
  private _bindingDef;
7
7
  private _masterDataChangeListener;
8
- private _bindingWhereClause;
8
+ private _bindingWhereClause?;
9
9
  private _errorHandler?;
10
- get bindingDefinition(): MasterDataObjectBinding;
11
- get bindingWhereClause(): WhereClause | undefined;
12
- get masterDataObject(): DataObject;
13
- constructor(child: DataObject, bindingDef: MasterDataObjectBinding, errorHandler?: DataObjectErrorHandler);
10
+ get bindingDefinition(): MasterDataObjectBinding<TChild>;
11
+ get bindingWhereClause(): WhereClause<TChild> | undefined;
12
+ get masterDataObject(): DataObject<TMaster>;
13
+ constructor(child: DataObject<TChild>, bindingDef: MasterDataObjectBinding<TChild>, errorHandler?: DataObjectErrorHandler);
14
14
  initialize(): Promise<void>;
15
15
  private getMasterDataObjectFromManager;
16
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"masterBinding.d.ts","sourceRoot":"","sources":["../src/masterBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpE,qBAAa,aAAa;IACtB,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,yBAAyB,CAAgB;IACjD,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,aAAa,CAAC,CAAyB;IAE/C,IAAW,iBAAiB,IAAI,uBAAuB,CAEtD;IAED,IAAW,kBAAkB,IAAI,WAAW,GAAG,SAAS,CAEvD;IAED,IAAW,gBAAgB,IAAI,UAAU,CAExC;gBAGG,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,uBAAuB,EACnC,YAAY,CAAC,EAAE,sBAAsB;IAOnC,UAAU;YAsCF,8BAA8B;IAW5C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAwBnC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,6BAA6B;IAiBrC;;;OAGG;YACW,mBAAmB;IAI1B,OAAO,IAAI,IAAI;CAQzB"}
1
+ {"version":3,"file":"masterBinding.d.ts","sourceRoot":"","sources":["../src/masterBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnF,qBAAa,aAAa,CACtB,OAAO,SAAS,aAAa,EAC7B,MAAM,SAAS,aAAa;IAE5B,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,yBAAyB,CAAgB;IACjD,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAE/C,IAAW,iBAAiB,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAE9D;IAED,IAAW,kBAAkB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAE/D;IAED,IAAW,gBAAgB,IAAI,UAAU,CAAC,OAAO,CAAC,CAEjD;gBAGG,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAC3C,YAAY,CAAC,EAAE,sBAAsB;IAOnC,UAAU;YAwCF,8BAA8B;IAW5C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAwBnC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,6BAA6B;IAiBrC;;;OAGG;YACW,mBAAmB;IAI1B,OAAO,IAAI,IAAI;CAQzB"}
@@ -9,7 +9,6 @@ export class MasterBinding {
9
9
  return this._masterDataObject;
10
10
  }
11
11
  constructor(child, bindingDef, errorHandler) {
12
- this._bindingWhereClause = undefined;
13
12
  this._childDataObject = child;
14
13
  this._bindingDef = bindingDef;
15
14
  this._errorHandler = errorHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"masterBinding.js","sourceRoot":"","sources":["../src/masterBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"masterBinding.js","sourceRoot":"","sources":["../src/masterBinding.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,35 +1,45 @@
1
- export type DataObjectFieldType = 'string' | 'bit' | 'Date' | 'number';
2
- export type SupportedOperator = 'equals' | 'notequals' | 'greaterthan' | 'lessthan' | 'isnull' | 'isnotnull' | 'like' | 'ilike';
3
- export interface DataObjectField {
4
- name: string;
1
+ import { DataRecord } from "./dataRecord";
2
+ export interface DataRecordKey {
3
+ id: unknown;
4
+ [key: string]: unknown;
5
+ }
6
+ export type DataObjectRecord<T extends DataRecordKey> = T & DataRecord<T>;
7
+ export type DataObjectFieldType = "string" | "bit" | "Date" | "number";
8
+ export type SupportedOperator = "equals" | "notequals" | "greaterthan" | "lessthan" | "isnull" | "isnotnull" | "like" | "ilike";
9
+ export interface DataObjectField<T extends DataRecordKey> {
10
+ name: keyof T;
5
11
  type?: DataObjectFieldType;
6
12
  }
7
- export interface SortConfig {
8
- field: string;
9
- direction: 'asc' | 'desc';
13
+ export interface SortConfig<T extends DataRecordKey> {
14
+ field: keyof T;
15
+ direction: "asc" | "desc";
10
16
  }
11
- export interface WhereClause {
12
- field: string;
17
+ export interface WhereClause<T extends DataRecordKey> {
18
+ field: keyof T;
13
19
  operator: SupportedOperator;
14
- value?: any;
20
+ value?: T[keyof T];
15
21
  }
16
- export interface MasterDataObjectBinding {
22
+ export interface MasterDataObjectBinding<TChild extends DataRecordKey> {
17
23
  masterDataObjectId: string;
18
- childBindingField: string;
19
24
  masterBindingField: string;
25
+ childBindingField: keyof TChild;
20
26
  }
21
- export interface GroupByConfig {
22
- field: string;
27
+ export interface GroupByConfig<T extends DataRecordKey> {
28
+ field: keyof T;
23
29
  aggregates?: {
24
30
  [alias: string]: {
25
- op: 'sum' | 'avg' | 'count' | 'min' | 'max';
26
- field?: string;
31
+ op: "sum" | "avg" | "count" | "min" | "max";
32
+ field?: keyof T;
27
33
  };
28
34
  };
29
35
  /** Fields which will also be taken from the first record found when grouping. */
30
- additionalFields?: string[];
36
+ additionalFields?: (keyof T)[];
31
37
  }
32
- export interface DataObjectOptions {
38
+ export interface DataObjectField<T extends DataRecordKey = DataRecordKey> {
39
+ name: keyof T;
40
+ type?: DataObjectFieldType;
41
+ }
42
+ export interface DataObjectOptions<T extends DataRecordKey> {
33
43
  /** The name of the view to select data from. */
34
44
  viewName: string;
35
45
  /** The table for which to perform CRUD operations on. */
@@ -37,11 +47,11 @@ export interface DataObjectOptions {
37
47
  /** An array of fields from the view to get values from. Data will be returned for the specified fields only.
38
48
  * Leave blank to include all fields.
39
49
  */
40
- fields?: DataObjectField[];
50
+ fields?: DataObjectField<T>[];
41
51
  /** Array of where clauses to be applied when retrieving data from the view. */
42
- whereClauses?: WhereClause[];
52
+ whereClauses?: WhereClause<T>[];
43
53
  /** Sorting to be applied to the returned data based on specified field and direction. */
44
- sort?: SortConfig;
54
+ sort?: SortConfig<T>;
45
55
  /** When specified, will only return the first x amount of records.
46
56
  * Leave blank to return all records.
47
57
  */
@@ -64,9 +74,9 @@ export interface DataObjectOptions {
64
74
  /** The binding to this data object's master data object.
65
75
  * Use this when the currentRecord of one data object directly informs the returned data of the other.
66
76
  * The master data object must be defined and initialized first, before adding a child data object.
67
- * When defining thebinding fields, note that their values must match identically for this to work.
77
+ * When defining the binding fields, note that their values must match identically for this to work.
68
78
  */
69
- masterDataObjectBinding?: MasterDataObjectBinding;
79
+ masterDataObjectBinding?: MasterDataObjectBinding<T>;
70
80
  /** Controls whether the data object should refresh without prompt.
71
81
  * If false, the data object will not refresh unless explicitly called.
72
82
  * If true, the data object will refresh on initialization, and when its master data object refreshes.
@@ -74,7 +84,7 @@ export interface DataObjectOptions {
74
84
  */
75
85
  autoRefresh?: boolean;
76
86
  /** Configuration for grouping to be applied to the data object. */
77
- groupBy?: GroupByConfig;
87
+ groupBy?: GroupByConfig<T>;
78
88
  /** Array of bucket names which are allowed to be uploaded to. Leave empty to allow upload to all buckets. */
79
89
  allowedBuckets?: string[];
80
90
  }
@@ -83,32 +93,29 @@ export interface SupabaseConfig {
83
93
  anonKey: string;
84
94
  projectName?: string;
85
95
  }
86
- export interface DataObjectRecord {
87
- [key: string]: any;
88
- }
89
- export interface NamedDataObjectOptions extends DataObjectOptions {
96
+ export interface NamedDataObjectOptions<T extends DataRecordKey> extends DataObjectOptions<T> {
90
97
  name: string;
91
98
  }
92
- export interface StoredDataObject {
99
+ export interface StoredDataObject<T extends DataRecordKey> {
93
100
  id: string;
94
101
  name: string;
95
- options: DataObjectOptions;
102
+ options: DataObjectOptions<T>;
96
103
  dataObject: any;
97
104
  createdAt: Date;
98
105
  }
99
- export type DataObjectEvents = {
100
- beforeLoad: [options: DataObjectCancelableEvent & DataObjectOptions];
101
- afterLoad: [data: DataObjectRecord[]];
102
- beforeRefresh: [options: DataObjectCancelableEvent & DataObjectOptions];
103
- afterRefresh: [data: DataObjectRecord[]];
104
- beforeInsert: [options: DataObjectCancelableEvent & DataObjectOptions, record: Partial<DataObjectRecord>];
105
- afterInsert: [record: DataObjectRecord];
106
- beforeUpdate: [options: DataObjectCancelableEvent & DataObjectOptions, record: DataObjectRecord, updates: Partial<DataObjectRecord>];
107
- afterUpdate: [record: DataObjectRecord, updates: Partial<DataObjectRecord>];
108
- beforeDelete: [options: DataObjectCancelableEvent & DataObjectOptions, record: DataObjectRecord];
109
- afterDelete: [id: string | number];
110
- fieldChanged: [record: DataObjectRecord, updates: Partial<DataObjectRecord>];
111
- currentRecordChanged: [previousRecord: DataObjectRecord | undefined, newRecord: DataObjectRecord | undefined];
106
+ export type DataObjectEvents<T extends DataRecordKey> = {
107
+ beforeLoad: [options: DataObjectCancelableEvent & DataObjectOptions<T>];
108
+ afterLoad: [data: DataObjectRecord<T>[]];
109
+ beforeRefresh: [options: DataObjectCancelableEvent & DataObjectOptions<T>];
110
+ afterRefresh: [data: DataObjectRecord<T>[]];
111
+ beforeInsert: [options: DataObjectCancelableEvent & DataObjectOptions<T>, record: Partial<T>];
112
+ afterInsert: [record: DataObjectRecord<T>];
113
+ beforeUpdate: [options: DataObjectCancelableEvent & DataObjectOptions<T>, record: DataObjectRecord<T>, updates: Partial<T>];
114
+ afterUpdate: [record: DataObjectRecord<T>, updates: Partial<T>];
115
+ beforeDelete: [options: DataObjectCancelableEvent & DataObjectOptions<T>, record: DataObjectRecord<T>];
116
+ afterDelete: [id: T["id"]];
117
+ fieldChanged: [record: DataObjectRecord<T>, updates: Partial<T>];
118
+ currentRecordChanged: [previousRecord: DataObjectRecord<T> | undefined, newRecord: DataObjectRecord<T> | undefined];
112
119
  };
113
120
  export interface DataObjectCancelableEvent {
114
121
  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.8.0",
3
+ "version": "2.1.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",