Skip to content

Commit b9efeb6

Browse files
author
nicosammito
committed
refactor: enhance Ctor type checking in useReactiveArrayService
1 parent 93885b2 commit b9efeb6

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/utils/reactiveArrayService.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,12 @@ export function useReactiveArrayService<K, S extends ArrayService<K>>(
8282
const getState = React.useCallback(() => ref.current, []);
8383

8484
const service = React.useMemo(() =>
85-
typeof Ctor === "function" ? (
85+
(
86+
typeof Ctor === "function"
87+
&& Ctor.prototype
88+
&& Object.getOwnPropertyNames(Ctor.prototype).some((n) => n !== "constructor"
89+
)
90+
) ? (
8691
(Ctor as ((store: ReactiveArrayStore<K>) => S))({getState, setState})
8792
) : new (Ctor as ArrayServiceCtor<K, S>)({getState, setState}), [Ctor, getState, setState]);
8893

0 commit comments

Comments
 (0)