summaryrefslogtreecommitdiff
path: root/node_modules/delegate-it/one-event.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/delegate-it/one-event.js')
-rw-r--r--node_modules/delegate-it/one-event.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/node_modules/delegate-it/one-event.js b/node_modules/delegate-it/one-event.js
new file mode 100644
index 00000000..57de2b0a
--- /dev/null
+++ b/node_modules/delegate-it/one-event.js
@@ -0,0 +1,15 @@
+import delegate from './delegate.js';
+// This type isn't exported as a declaration, so it needs to be duplicated above
+async function oneEvent(selector, type, options = {}) {
+ return new Promise(resolve => {
+ options.once = true;
+ if (options.signal?.aborted) {
+ resolve(undefined);
+ }
+ options.signal?.addEventListener('abort', () => {
+ resolve(undefined);
+ });
+ delegate(selector, type, resolve, options);
+ });
+}
+export default oneEvent;