diff --git a/packages/model/addon/-private/record-state.ts b/packages/model/addon/-private/record-state.ts index 4527ba78524..f4de78a4d36 100644 --- a/packages/model/addon/-private/record-state.ts +++ b/packages/model/addon/-private/record-state.ts @@ -8,6 +8,7 @@ import { storeFor } from '@ember-data/store'; import { recordIdentifierFor } from '@ember-data/store/-private'; import type { NotificationType } from '@ember-data/store/-private/managers/record-notification-manager'; import type RequestCache from '@ember-data/store/-private/network/request-cache'; +import { addToTransaction, subscribe } from '@ember-data/tracking/-private'; import type { StableRecordIdentifier } from '@ember-data/types/q/identifier'; import type { RecordData } from '@ember-data/types/q/record-data'; @@ -41,15 +42,11 @@ class Tag { this.isDirty = true; this.value = undefined; } - @tracked _tracking = 0; - - subscribe() { - this._tracking; - } + @tracked ref = null; notify() { this.isDirty = true; - this._tracking = this.rev; + addToTransaction(this); this.rev++; } consume(v) { @@ -86,7 +83,7 @@ export function tagged(_target, key, desc) { const setter = desc.set; desc.get = function () { let tag = getTag(this, key); - tag.subscribe(); + subscribe(tag); if (tag.isDirty) { tag.consume(getter.call(this)); diff --git a/packages/model/index.js b/packages/model/index.js index 179b256456b..3ccf727026c 100644 --- a/packages/model/index.js +++ b/packages/model/index.js @@ -19,6 +19,7 @@ module.exports = Object.assign({}, addonBaseConfig, { '@embroider/macros', '@ember/string', '@embroider/macros/es-compat', + '@ember-data/tracking/-private', '@ember/object/proxy', '@ember/object/promise-proxy-mixin', diff --git a/packages/store/addon/-private/managers/record-array-manager.ts b/packages/store/addon/-private/managers/record-array-manager.ts index 1e82414d9c2..4c26006b435 100644 --- a/packages/store/addon/-private/managers/record-array-manager.ts +++ b/packages/store/addon/-private/managers/record-array-manager.ts @@ -1,7 +1,7 @@ /** @module @ember-data/store */ -import { addToTransaction } from '@ember-data/tracking'; +import { addToTransaction } from '@ember-data/tracking/-private'; import type { CollectionResourceDocument } from '@ember-data/types/q/ember-data-json-api'; import type { StableRecordIdentifier } from '@ember-data/types/q/identifier'; import type { Dict } from '@ember-data/types/q/utils'; diff --git a/packages/store/addon/-private/record-arrays/identifier-array.ts b/packages/store/addon/-private/record-arrays/identifier-array.ts index dda9c512b3b..a522b8927ab 100644 --- a/packages/store/addon/-private/record-arrays/identifier-array.ts +++ b/packages/store/addon/-private/record-arrays/identifier-array.ts @@ -15,7 +15,7 @@ import { DEPRECATE_PROMISE_PROXIES, DEPRECATE_SNAPSHOT_MODEL_CLASS_ACCESS, } from '@ember-data/private-build-infra/deprecations'; -import { addToTransaction, subscribe } from '@ember-data/tracking'; +import { addToTransaction, subscribe } from '@ember-data/tracking/-private'; import { Links, PaginationLinks } from '@ember-data/types/q/ember-data-json-api'; import type { StableRecordIdentifier } from '@ember-data/types/q/identifier'; import type { RecordInstance } from '@ember-data/types/q/record-instance'; diff --git a/packages/store/index.js b/packages/store/index.js index 9713c4926a1..2142e659df3 100644 --- a/packages/store/index.js +++ b/packages/store/index.js @@ -14,7 +14,7 @@ module.exports = Object.assign({}, addonBaseConfig, { '@ember-data/canary-features', '@ember-data/store/-debug', - '@ember-data/tracking', + '@ember-data/tracking/-private', '@ember/application', '@ember/array/proxy',