Skip to content
This repository was archived by the owner on Jan 6, 2026. It is now read-only.

Commit 6e7aaaf

Browse files
committed
replacing another fake "tracked" with the real one that works here
1 parent cefd80c commit 6e7aaaf

File tree

2 files changed

+3
-30
lines changed

2 files changed

+3
-30
lines changed

packages/@glimmer/reference/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
},
4242
"devDependencies": {
4343
"@glimmer/debug-util": "workspace:*",
44+
"@glimmer/tracking": "workspace:*",
4445
"eslint": "^9.20.1",
4546
"publint": "^0.3.2",
4647
"rollup": "^4.34.8",
Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,2 @@
1-
import { trackedData } from '@glimmer/validator';
2-
3-
export function tracked<T extends object, K extends keyof T>(
4-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
5-
obj: T | { new (...args: any[]): T },
6-
key: K
7-
): void {
8-
let target: T;
9-
let initializer: (() => T[K]) | undefined;
10-
11-
if (typeof obj === 'function') {
12-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
13-
target = obj.prototype;
14-
} else {
15-
target = obj;
16-
let initialValue = target[key];
17-
initializer = () => initialValue;
18-
}
19-
20-
let { getter, setter } = trackedData<T, K>(key, initializer);
21-
22-
Object.defineProperty(target, key, {
23-
get(this: T) {
24-
return getter(this);
25-
},
26-
set(this: T, value: T[K]) {
27-
setter(this, value);
28-
},
29-
});
30-
}
1+
// TODO: lets point everybody who uses this directly at glimmer/tracking
2+
export { tracked } from '@glimmer/tracking';

0 commit comments

Comments
 (0)