Skip to content

Commit 3376e33

Browse files
committed
Merge branch 'master' of github.com:storeon/angular
2 parents e281304 + ab64c00 commit 3376e33

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

projects/ng-storeon/src/lib/storeon.decorator.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ export function UseStoreon<State, Events extends StoreonEvents<State> = any>(con
1313
dispatcher?: string
1414
}) {
1515
return (cmpType) => {
16-
const originalFactory = cmpType.ngComponentDef.factory;
17-
cmpType.ngComponentDef.factory = () => {
18-
const cmp = originalFactory(cmpType.ngComponentDef.type);
19-
16+
const isNg11 = !!cmpType.ɵfac;
17+
const originalFactory = isNg11 ? cmpType.ɵfac : cmpType.ngComponentDef.factory;
18+
const newFactory = () => {
19+
const ngCompType = isNg11 ? cmpType.ɵcmp.type : cmpType.ngComponentDef.type;
20+
const cmp = originalFactory(ngCompType);
2021
const storeon = directiveInject<StoreonService<State, Events>>(StoreonService);
2122

2223
config.keys.forEach(key => cmp[key] = storeon.useStoreon(key));
@@ -28,5 +29,6 @@ export function UseStoreon<State, Events extends StoreonEvents<State> = any>(con
2829
return cmp;
2930
};
3031

32+
cmpType.ɵfac = newFactory;
3133
};
3234
}

0 commit comments

Comments
 (0)