@ember-data/store 4.4.0-alpha.8 → 4.4.0-alpha.9

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.
@@ -174,6 +174,12 @@ export interface CreateRecordProperties {
174
174
 
175
175
  abstract class CoreStore extends Service {
176
176
  /**
177
+ * Ember Data uses several specialized micro-queues for organizing
178
+ and coalescing similar async work.
179
+
180
+ These queues are currently controlled by a flush scheduled into
181
+ ember-data's custom backburner instance.
182
+ *
177
183
  * EmberData specific backburner instance
178
184
  * @property _backburner
179
185
  * @private
@@ -186,17 +192,6 @@ abstract class CoreStore extends Service {
186
192
  declare _adapterCache: Dict<MinimumAdapterInterface & { store: CoreStore }>;
187
193
  declare _serializerCache: Dict<MinimumSerializerInterface & { store: CoreStore }>;
188
194
  declare _storeWrapper: RecordDataStoreWrapper;
189
-
190
- /*
191
- Ember Data uses several specialized micro-queues for organizing
192
- and coalescing similar async work.
193
-
194
- These queues are currently controlled by a flush scheduled into
195
- ember-data's custom backburner instance.
196
- */
197
- // used for coalescing internal model updates
198
- declare _updatedInternalModels: InternalModel[];
199
-
200
195
  declare _fetchManager: FetchManager;
201
196
  declare _schemaDefinitionService: SchemaDefinitionService;
202
197
 
@@ -259,7 +254,6 @@ abstract class CoreStore extends Service {
259
254
  this._storeWrapper = new RecordDataStoreWrapper(this);
260
255
  this._backburner = edBackburner;
261
256
  this.recordArrayManager = new RecordArrayManager({ store: this });
262
- this._updatedInternalModels = [];
263
257
 
264
258
  RECORD_REFERENCES._generator = (identifier) => {
265
259
  return new RecordReference(this, identifier);
@@ -3220,24 +3214,6 @@ abstract class CoreStore extends Service {
3220
3214
  }
3221
3215
  }
3222
3216
  }
3223
-
3224
- _updateInternalModel(internalModel: InternalModel) {
3225
- if (this._updatedInternalModels.push(internalModel) !== 1) {
3226
- return;
3227
- }
3228
-
3229
- emberBackburner.schedule('actions', this, this._flushUpdatedInternalModels);
3230
- }
3231
-
3232
- _flushUpdatedInternalModels() {
3233
- let updated = this._updatedInternalModels;
3234
-
3235
- for (let i = 0, l = updated.length; i < l; i++) {
3236
- updated[i]._triggerDeferredTriggers();
3237
- }
3238
-
3239
- updated.length = 0;
3240
- }
3241
3217
  }
3242
3218
 
3243
3219
  export default CoreStore;
@@ -137,7 +137,6 @@ export default class InternalModel {
137
137
  declare _record: RecordInstance | null;
138
138
  declare _scheduledDestroy: any;
139
139
  declare _modelClass: any;
140
- declare _deferredTriggers: any;
141
140
  declare __recordArrays: any;
142
141
  declare references: any;
143
142
  declare _recordReference: RecordReference;
@@ -195,7 +194,6 @@ export default class InternalModel {
195
194
  this._relationshipPromisesCache = Object.create(null);
196
195
  this._relationshipProxyCache = Object.create(null);
197
196
  this.references = Object.create(null);
198
- this._deferredTriggers = [];
199
197
  this.currentState = RootState.empty;
200
198
  }
201
199
 
@@ -306,7 +304,6 @@ export default class InternalModel {
306
304
  this.identifier,
307
305
  properties
308
306
  );
309
- this._triggerDeferredTriggers();
310
307
  }
311
308
 
312
309
  return record;
@@ -362,7 +359,6 @@ export default class InternalModel {
362
359
  // destroyRecord follows up deleteRecord with save(). This prevents an unecessary save for a new record
363
360
  this._deletedRecordWasNew = true;
364
361
  this.send('deleteRecord');
365
- this._triggerDeferredTriggers();
366
362
  this.unloadRecord();
367
363
  } else {
368
364
  this.send('deleteRecord');
@@ -959,35 +955,6 @@ export default class InternalModel {
959
955
  throw new EmberError(errorMessage);
960
956
  }
961
957
 
962
- triggerLater(...args) {
963
- if (this._deferredTriggers.push(args) !== 1) {
964
- return;
965
- }
966
-
967
- this.store._updateInternalModel(this);
968
- }
969
-
970
- _triggerDeferredTriggers() {
971
- //TODO: Before 1.0 we want to remove all the events that happen on the pre materialized record,
972
- //but for now, we queue up all the events triggered before the record was materialized, and flush
973
- //them once we have the record
974
- if (!this.hasRecord) {
975
- return;
976
- }
977
- let triggers = this._deferredTriggers;
978
- let record = this._record as DSModel;
979
- let trigger = record.trigger;
980
- // TODO Igor make nicer check
981
- if (trigger && typeof trigger === 'function') {
982
- for (let i = 0, l = triggers.length; i < l; i++) {
983
- let eventName = triggers[i];
984
- trigger.apply(record, eventName);
985
- }
986
- }
987
-
988
- triggers.length = 0;
989
- }
990
-
991
958
  removeFromInverseRelationships() {
992
959
  if (this.__recordData) {
993
960
  this.store._backburner.join(() => {
@@ -262,7 +262,6 @@ const DirtyState = {
262
262
 
263
263
  rolledBack(internalModel) {
264
264
  internalModel.transitionTo('loaded.saved');
265
- internalModel.triggerLater('rolledBack');
266
265
  },
267
266
 
268
267
  becameInvalid(internalModel) {
@@ -271,7 +270,6 @@ const DirtyState = {
271
270
 
272
271
  rollback(internalModel) {
273
272
  internalModel.rollbackAttributes();
274
- internalModel.triggerLater('ready');
275
273
  },
276
274
  },
277
275
 
@@ -297,9 +295,7 @@ const DirtyState = {
297
295
  internalModel.send('invokeLifecycleCallbacks', this.dirtyType);
298
296
  },
299
297
 
300
- rolledBack(internalModel) {
301
- internalModel.triggerLater('rolledBack');
302
- },
298
+ rolledBack() {},
303
299
 
304
300
  becameInvalid(internalModel) {
305
301
  internalModel.transitionTo('invalid');
@@ -308,7 +304,6 @@ const DirtyState = {
308
304
 
309
305
  becameError(internalModel) {
310
306
  internalModel.transitionTo('uncommitted');
311
- internalModel.triggerLater('becameError', internalModel);
312
307
  },
313
308
  },
314
309
 
@@ -345,16 +340,13 @@ const DirtyState = {
345
340
  rolledBack(internalModel) {
346
341
  clearErrorMessages(internalModel);
347
342
  internalModel.transitionTo('loaded.saved');
348
- internalModel.triggerLater('ready');
349
343
  },
350
344
 
351
345
  becameValid(internalModel) {
352
346
  internalModel.transitionTo('uncommitted');
353
347
  },
354
348
 
355
- invokeLifecycleCallbacks(internalModel) {
356
- internalModel.triggerLater('becameInvalid', internalModel);
357
- },
349
+ invokeLifecycleCallbacks() {},
358
350
  },
359
351
  };
360
352
 
@@ -403,12 +395,10 @@ const createdState = dirtyState({
403
395
 
404
396
  createdState.invalid.rolledBack = function (internalModel) {
405
397
  internalModel.transitionTo('deleted.saved');
406
- internalModel.triggerLater('rolledBack');
407
398
  };
408
399
 
409
400
  createdState.uncommitted.rolledBack = function (internalModel) {
410
401
  internalModel.transitionTo('deleted.saved');
411
- internalModel.triggerLater('rolledBack');
412
402
  };
413
403
 
414
404
  const updatedState = dirtyState({
@@ -433,7 +423,6 @@ createdState.uncommitted.pushedData = function (internalModel) {
433
423
  // TODO @runspired consider where to do this once we kill off state machine
434
424
  internalModel.store._notificationManager.notify(internalModel.identifier, 'identity');
435
425
  internalModel.transitionTo('loaded.updated.uncommitted');
436
- internalModel.triggerLater('didLoad');
437
426
  };
438
427
 
439
428
  createdState.uncommitted.propertyWasReset = function () {};
@@ -458,7 +447,6 @@ updatedState.uncommitted.deleteRecord = function (internalModel) {
458
447
  updatedState.invalid.rolledBack = function (internalModel) {
459
448
  clearErrorMessages(internalModel);
460
449
  internalModel.transitionTo('loaded.saved');
461
- internalModel.triggerLater('rolledBack');
462
450
  };
463
451
 
464
452
  const RootState = {
@@ -500,13 +488,10 @@ const RootState = {
500
488
 
501
489
  loadedData(internalModel) {
502
490
  internalModel.transitionTo('loaded.created.uncommitted');
503
- internalModel.triggerLater('ready');
504
491
  },
505
492
 
506
493
  pushedData(internalModel) {
507
494
  internalModel.transitionTo('loaded.saved');
508
- internalModel.triggerLater('didLoad');
509
- internalModel.triggerLater('ready');
510
495
  },
511
496
 
512
497
  // Record is already in an empty state, triggering transition to empty here
@@ -533,15 +518,11 @@ const RootState = {
533
518
  // EVENTS
534
519
  pushedData(internalModel) {
535
520
  internalModel.transitionTo('loaded.saved');
536
- internalModel.triggerLater('didLoad');
537
- internalModel.triggerLater('ready');
538
521
  //TODO this seems out of place here
539
522
  internalModel.didCleanError();
540
523
  },
541
524
 
542
- becameError(internalModel) {
543
- internalModel.triggerLater('becameError', internalModel);
544
- },
525
+ becameError() {},
545
526
 
546
527
  notFound(internalModel) {
547
528
  internalModel.transitionTo('empty');
@@ -640,7 +621,6 @@ const RootState = {
640
621
 
641
622
  rollback(internalModel) {
642
623
  internalModel.rollbackAttributes();
643
- internalModel.triggerLater('ready');
644
624
  },
645
625
 
646
626
  pushedData() {},
@@ -649,8 +629,6 @@ const RootState = {
649
629
 
650
630
  rolledBack(internalModel) {
651
631
  internalModel.transitionTo('loaded.saved');
652
- internalModel.triggerLater('ready');
653
- internalModel.triggerLater('rolledBack');
654
632
  },
655
633
  },
656
634
 
@@ -676,12 +654,10 @@ const RootState = {
676
654
 
677
655
  becameError(internalModel) {
678
656
  internalModel.transitionTo('uncommitted');
679
- internalModel.triggerLater('becameError', internalModel);
680
657
  },
681
658
 
682
659
  becameInvalid(internalModel) {
683
660
  internalModel.transitionTo('invalid');
684
- internalModel.triggerLater('becameInvalid', internalModel);
685
661
  },
686
662
  },
687
663
 
@@ -696,10 +672,7 @@ const RootState = {
696
672
  internalModel.removeFromInverseRelationships();
697
673
  },
698
674
 
699
- invokeLifecycleCallbacks(internalModel) {
700
- internalModel.triggerLater('didDelete', internalModel);
701
- internalModel.triggerLater('didCommit', internalModel);
702
- },
675
+ invokeLifecycleCallbacks() {},
703
676
 
704
677
  willCommit() {},
705
678
  didCommit() {},
@@ -727,7 +700,6 @@ const RootState = {
727
700
  rolledBack(internalModel) {
728
701
  clearErrorMessages(internalModel);
729
702
  internalModel.transitionTo('loaded.saved');
730
- internalModel.triggerLater('ready');
731
703
  },
732
704
 
733
705
  becameValid(internalModel) {
@@ -736,15 +708,7 @@ const RootState = {
736
708
  },
737
709
  },
738
710
 
739
- invokeLifecycleCallbacks(internalModel, dirtyType) {
740
- if (dirtyType === 'created') {
741
- internalModel.triggerLater('didCreate', internalModel);
742
- } else {
743
- internalModel.triggerLater('didUpdate', internalModel);
744
- }
745
-
746
- internalModel.triggerLater('didCommit', internalModel);
747
- },
711
+ invokeLifecycleCallbacks() {},
748
712
  };
749
713
 
750
714
  function wireState(object, parent, name) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-data/store",
3
- "version": "4.4.0-alpha.8",
3
+ "version": "4.4.0-alpha.9",
4
4
  "description": "The default blueprint for ember-cli addons.",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -17,8 +17,8 @@
17
17
  "start": "ember serve"
18
18
  },
19
19
  "dependencies": {
20
- "@ember-data/canary-features": "4.4.0-alpha.8",
21
- "@ember-data/private-build-infra": "4.4.0-alpha.8",
20
+ "@ember-data/canary-features": "4.4.0-alpha.9",
21
+ "@ember-data/private-build-infra": "4.4.0-alpha.9",
22
22
  "@ember/string": "^3.0.0",
23
23
  "@embroider/macros": "^1.2.0",
24
24
  "@glimmer/tracking": "^1.0.4",
@@ -29,14 +29,14 @@
29
29
  "ember-cli-typescript": "^5.0.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@ember-data/unpublished-test-infra": "4.4.0-alpha.8",
32
+ "@ember-data/unpublished-test-infra": "4.4.0-alpha.9",
33
33
  "@ember/optional-features": "^2.0.0",
34
34
  "@ember/test-helpers": "^2.6.0",
35
35
  "@types/ember": "^4.0.0",
36
36
  "@types/rsvp": "^4.0.4",
37
37
  "broccoli-asset-rev": "^3.0.0",
38
- "ember-cli": "~4.2.0",
39
- "ember-cli-dependency-checker": "^3.2.0",
38
+ "ember-cli": "~4.3.0",
39
+ "ember-cli-dependency-checker": "^3.3.1",
40
40
  "ember-cli-htmlbars": "^6.0.1",
41
41
  "ember-cli-inject-live-reload": "^2.0.2",
42
42
  "ember-cli-sri": "^2.1.1",