Skip to content

Commit e77caef

Browse files
committed
fix: update in angular 19
may affect any previous version
1 parent 3b517a7 commit e77caef

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/core.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { createCustomElement } from '@angular/elements';
44

55
import { NgElement, NodeProps, Position, RenderSignal } from './types'
66
import { RenderPreset } from './presets/types';
7+
import { reflect } from './reflect';
78

89
type Item = { key: string, ngElement: NgElement }
910

@@ -39,9 +40,8 @@ function getRenderer(): Renderer {
3940
},
4041
update({ ngElement }, props) {
4142
Object.keys(props).forEach(key => {
42-
ngElement.ngElementStrategy.setInputValue(key, props[key])
43+
ngElement.ngElementStrategy.setInputValue(key, reflect(props[key]))
4344
})
44-
ngElement.ngElementStrategy.setInputValue('seed', Math.random())
4545
},
4646
unmount(element) {
4747
const existing = elements.get(element)

src/reflect.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
export function reflect(obj: unknown) {
2+
if (typeof obj !== 'object' || obj === null) {
3+
return obj;
4+
}
5+
6+
return new Proxy(obj, {
7+
get(target, prop) {
8+
return target[prop];
9+
},
10+
set(target, prop, value) {
11+
target[prop] = value;
12+
return true;
13+
},
14+
has: (target, prop) => prop in target,
15+
deleteProperty: (target, prop) => delete target[prop],
16+
ownKeys: target => Reflect.ownKeys(target)
17+
});
18+
}

0 commit comments

Comments
 (0)