From 023f667be39d0329d05141ce9f7b0f2bc3bba4cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cchrisshank=E2=80=9D?= Date: Thu, 19 Dec 2024 00:49:51 -0800 Subject: [PATCH] fix type error --- lib/folk-observer.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/folk-observer.ts b/lib/folk-observer.ts index a89f0e7..93bcf8f 100644 --- a/lib/folk-observer.ts +++ b/lib/folk-observer.ts @@ -2,17 +2,18 @@ import { FolkShape } from '../labs/folk-shape'; import { ClientRectObserver, ClientRectObserverEntry, - type ClientRectObserverEntryCallback, } from './client-rect-observer'; import { TransformEvent } from './TransformEvent'; +export type FolkObserverEntry = (entry: ClientRectObserverEntry) => void; + export type FolkObserverOptions = { iframeSelector?: string; }; interface IframeChild { rect: DOMRectReadOnly | null; - callbacks: Set; + callbacks: Set; } type PostMessageSendEvent = @@ -38,7 +39,7 @@ class IframeObserver { window.addEventListener('message', this.#onPostmessage); } - observeChild(selector: string, callback: ClientRectObserverEntryCallback) { + observeChild(selector: string, callback: FolkObserverEntry) { let child = this.#iframeChildren.get(selector); if (child === undefined) { @@ -55,7 +56,7 @@ class IframeObserver { child.callbacks.add(callback); } - unobserveChild(selector: string, callback: ClientRectObserverEntryCallback) { + unobserveChild(selector: string, callback: FolkObserverEntry) { let child = this.#iframeChildren.get(selector); if (child === undefined) return; @@ -141,7 +142,7 @@ export class FolkObserver { return FolkObserver.#instance; } - #elementMap = new WeakMap>(); + #elementMap = new WeakMap>(); #iframeMap = new WeakMap(); #vo = new ClientRectObserver((entries) => { @@ -164,7 +165,7 @@ export class FolkObserver { observe( target: Element, - callback: ClientRectObserverEntryCallback, + callback: FolkObserverEntry, { iframeSelector }: FolkObserverOptions = {}, ): void { if (target instanceof HTMLIFrameElement && iframeSelector) { @@ -201,7 +202,7 @@ export class FolkObserver { unobserve( target: Element, - callback: ClientRectObserverEntryCallback, + callback: FolkObserverEntry, { iframeSelector }: FolkObserverOptions = {}, ): void { if (target instanceof HTMLIFrameElement && iframeSelector) {