diff --git a/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.spec.ts b/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.spec.ts index 8f04ee8..d4dc91e 100644 --- a/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.spec.ts +++ b/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.spec.ts @@ -2,7 +2,7 @@ import { Object3D, Object3DEventMap } from 'three'; import { createLazyObject3DProxy, LazyObject3DProxy } from './LazyObject3dProxy'; describe('LazyObj3DProxy', () => { - let proxy: LazyObject3DProxy; + let proxy: LazyObject3DProxy<{ click: { customAttr: string } } & Object3DEventMap>; beforeEach(async () => { proxy = createLazyObject3DProxy(); @@ -89,7 +89,7 @@ describe('LazyObj3DProxy', () => { }); it('should remove event listeners of the real object3D when it is applied', () => { - const obj = new Object3D(); + const obj = new Object3D<{ click: { customAttr: string } } & Object3DEventMap>(); expect(obj.children.length).toBe(0); const listener = () => {}; diff --git a/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.ts b/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.ts index 4fa8ee5..455e77e 100644 --- a/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.ts +++ b/projects/ngx-three/src/lib/loaders/LazyObject3dProxy.ts @@ -147,16 +147,18 @@ class Object3DProxyHandler implements ProxyHandler { }; } -export interface LazyObject3DProxy extends Object3D { +export interface LazyObject3DProxy extends Object3D { // eslint-disable-next-line @typescript-eslint/naming-convention readonly __isProxy?: boolean; objRef?: Object3D; applyToObject3D(real: Object3D): void; } -export function createLazyObject3DProxy(target = new Object3D()): LazyObject3DProxy { +export function createLazyObject3DProxy( + target = new Object3D(), +): LazyObject3DProxy { const handler = new Object3DProxyHandler(target); - return new Proxy(handler as unknown as LazyObject3DProxy, handler); + return new Proxy>(handler as unknown as LazyObject3DProxy, handler); } export function isLazyObject3dProxy(object: Object3D | LazyObject3DProxy): object is LazyObject3DProxy {