Skip to content

Commit a5497fe

Browse files
committed
improvements
1 parent 6c4a454 commit a5497fe

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

app/assets/javascripts/discourse/app/components/plugin-connector.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export default class PluginConnector extends Component {
2727
defineProperty(
2828
this,
2929
key,
30-
computed("args", function () {
30+
computed(`args.${key}`, function () {
3131
return this.args[key];
3232
})
3333
);

app/assets/javascripts/discourse/app/helpers/lazy-hash.js

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,33 @@
11
import { setInternalHelperManager } from "@glimmer/manager";
2-
import { createConstRef } from "@glimmer/reference";
2+
import { createConstRef, valueForRef } from "@glimmer/reference";
33

44
// Like ember's builtin hash helper, but instead of returning a reified object
55
// every time its referenced, it returns a static proxy object with auto-trackable keys.
66
export default setInternalHelperManager(({ named }) => {
77
const proxy = new Proxy(named, {
88
get(target, prop) {
9-
return target[prop]?.compute();
9+
if (target[prop]) {
10+
return valueForRef(target[prop]);
11+
}
12+
},
13+
isExtensible() {
14+
return false;
15+
},
16+
getOwnPropertyDescriptor(target, key) {
17+
if (key in target) {
18+
return {
19+
enumerable: true,
20+
configurable: true,
21+
get() {
22+
if (target[key]) {
23+
return valueForRef(target[key]);
24+
}
25+
},
26+
};
27+
}
28+
},
29+
set() {
30+
return false;
1031
},
1132
});
1233

0 commit comments

Comments
 (0)