Skip to content

Commit 9107f53

Browse files
committed
ember-inspector-support
1 parent 0715704 commit 9107f53

File tree

10 files changed

+910
-4
lines changed

10 files changed

+910
-4
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
"@babel/core": "^7.23.6",
7171
"@babel/preset-typescript": "^7.23.3",
7272
"@glimmer/syntax": "^0.87.1",
73+
"backburner.js": "^2.8.0",
7374
"content-tag": "^1.2.2"
7475
}
7576
}

pnpm-lock.yaml

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import '@glint/environment-glimmerx';
22
import '@glint/environment-ember-template-imports';
3+
import '@/utils/ember-inspector';
34

45
import './style.css';
56

src/utils/dom.ts

+26-1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ const $_className = 'className';
4343

4444
let ROOT: Component<any> | null = null;
4545

46+
export function getRoot() {
47+
return ROOT;
48+
}
49+
4650
type ModifierFn = (
4751
element: HTMLElement,
4852
...args: unknown[]
@@ -583,7 +587,28 @@ const ArgProxyHandler = {
583587
};
584588
export function $_args(args: Record<string, unknown>) {
585589
if (IS_GLIMMER_COMPAT_MODE) {
586-
return new Proxy(args, ArgProxyHandler);
590+
if (import.meta.env.DEV) {
591+
const newArgs: Record<string, () => unknown> = {};
592+
Object.keys(args).forEach((key) => {
593+
try {
594+
Object.defineProperty(newArgs, key, {
595+
get() {
596+
if (!isFn(args[key])) {
597+
return args[key];
598+
}
599+
// @ts-expect-error function signature
600+
return args[key]();
601+
},
602+
enumerable: true,
603+
});
604+
} catch(e) {
605+
console.error(e);
606+
}
607+
});
608+
return newArgs;
609+
} else {
610+
return new Proxy(args, ArgProxyHandler);
611+
}
587612
} else {
588613
return args;
589614
}

0 commit comments

Comments
 (0)