diff --git a/source/demo/background.ts b/source/demo/background.ts index 2652d2a..cfd5042 100644 --- a/source/demo/background.ts +++ b/source/demo/background.ts @@ -12,17 +12,19 @@ oneEvent(chrome.tabs.onCreated).then(() => { console.log('Tab created'); }); -oneEvent(chrome.tabs.onMoved, (tabId, moveInfo) => { - console.log('Should handle event?', {tabId, moveInfo}); - return Boolean(tabId % 5); -}).then(() => { +oneEvent(chrome.tabs.onMoved, { + filter(tabId, moveInfo) { + console.log('Should handle event?', {tabId, moveInfo}); + return Boolean(tabId % 5); + }}).then(() => { console.log('Tab moved'); }); const httpsOnlyFilter = (tab: chrome.tabs.Tab) => Boolean(tab.pendingUrl?.startsWith('https')); oneEvent( - chrome.tabs.onCreated, - httpsOnlyFilter, + chrome.tabs.onCreated, { + filter: httpsOnlyFilter, + }, ).then(() => { console.log('HTTPS Tab created'); }); diff --git a/source/one-event.test.ts b/source/one-event.test.ts index d0377e8..6239d55 100644 --- a/source/one-event.test.ts +++ b/source/one-event.test.ts @@ -32,8 +32,9 @@ describe('oneEvent', () => { it('it should resolve when a specific event is received', async () => { expect(chrome.runtime.onMessage.hasListeners()).toBe(false); const eventPromise = oneEvent( - chrome.runtime.onMessage, - {filter: ({greeting}) => greeting === 'sup'}, + chrome.runtime.onMessage, { + filter: ({greeting}) => greeting === 'sup', + }, ); expect(chrome.runtime.onMessage.hasListeners()).toBe(true); @@ -47,22 +48,28 @@ describe('oneEvent', () => { }); it('it should resolve original event\'s parameters', () => { - void oneEvent(chrome.tabs.onMoved, {filter(tabId, moveInfo) { - expectTypeOf(tabId).toEqualTypeOf(); - expectTypeOf(moveInfo).toEqualTypeOf(); - return true; - }}); + void oneEvent(chrome.tabs.onMoved, { + filter(tabId, moveInfo) { + expectTypeOf(tabId).toEqualTypeOf(); + expectTypeOf(moveInfo).toEqualTypeOf(); + return true; + }, + }); - void oneEvent(chrome.runtime.onMessage, {filter(message, sender, sendResponse) { - expectTypeOf(message).toEqualTypeOf(); - expectTypeOf(sender).toEqualTypeOf(); - expectTypeOf(sendResponse).toEqualTypeOf<(response?: any) => void>(); - return true; - }}); + void oneEvent(chrome.runtime.onMessage, { + filter(message, sender, sendResponse) { + expectTypeOf(message).toEqualTypeOf(); + expectTypeOf(sender).toEqualTypeOf(); + expectTypeOf(sendResponse).toEqualTypeOf<(response?: any) => void>(); + return true; + }, + }); - void oneEvent(chrome.cookies.onChanged, {filter(changeInfo) { - expectTypeOf(changeInfo).toEqualTypeOf(); - return true; - }}); + void oneEvent(chrome.cookies.onChanged, { + filter(changeInfo) { + expectTypeOf(changeInfo).toEqualTypeOf(); + return true; + }, + }); }); });