@koine/dom 2.0.0-beta.185 → 2.0.0-beta.186

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/getListeners.d.ts CHANGED
@@ -5,5 +5,5 @@
5
5
  *
6
6
  * @return Active event listeners
7
7
  */
8
- export declare let getListeners: () => Partial<Record<import("./types").AnyDOMEventType, import("./_listen-delegation").ListenEvent[]>>;
8
+ export declare let getListeners: () => Partial<Record<keyof WindowEventMap, import("./_listen-delegation").ListenEvent[]>>;
9
9
  export default getListeners;
package/listen.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type EventCallback } from "./_listen-delegation";
2
- import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
2
+ import type { AnyDOMEventTarget, AnyWindowEventType } from "./types";
3
3
  /**
4
4
  * Listen an event
5
5
  *
@@ -9,5 +9,5 @@ import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
9
9
  * @param selector The selector to run the event on
10
10
  * @param callback The function to run when the event fires
11
11
  */
12
- export declare let listen: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
12
+ export declare let listen: <TTypes extends AnyWindowEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
13
13
  export default listen;
package/off.d.ts CHANGED
@@ -2,5 +2,5 @@ import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./typ
2
2
  /**
3
3
  * Shortcut for `removeEventListener`
4
4
  */
5
- export declare let off: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: EventListenerOptions | boolean) => void;
5
+ export declare let off: <TTarget extends AnyDOMEventTargetLoose, TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TTarget, TType>) => void, options?: EventListenerOptions | boolean) => void;
6
6
  export default off;
package/on.cjs.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var utils = require('@koine/utils');
6
6
  var off = require('./off.cjs.js');
7
7
 
8
- let on=(n,t,r,i=!1)=>("development"!==process.env.NODE_ENV||n||console.warn("[@koine/dom:on] unexisting DOM element"),n)?(n.addEventListener(t,r,i),()=>off.off(n,t,r)):utils.noop;
8
+ function on(n,t,r,i=!1){return ("development"!==process.env.NODE_ENV||n||console.warn("[@koine/dom:on] unexisting DOM element"),n)?(n.addEventListener(t,r,i),()=>off.off(n,t,r)):utils.noop}
9
9
 
10
10
  exports.default = on;
11
11
  exports.on = on;
package/on.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
1
+ import type { AnyWindowEventType, AnyDocumentEventType, AnyGlobalEventType, AnyDOMEvent, AnyDOMEventTargetLoose } from "./types";
2
2
  /**
3
3
  * Shortcut for `addEventListener`
4
4
  *
5
5
  * @returns An automatic unbinding function to run to deregister the listener upon call
6
6
  */
7
- export declare let on: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: AddEventListenerOptions | boolean) => () => void;
7
+ export declare function on<TTarget extends Exclude<AnyDOMEventTargetLoose, Window | Document>, TType extends AnyGlobalEventType>(el: TTarget, type: TType, handler: (event: AnyDOMEvent<TTarget, TType>) => void, options?: AddEventListenerOptions | boolean): () => void;
8
+ export declare function on<TTarget extends Exclude<AnyDOMEventTargetLoose, Window | HTMLElement | Element>, TType extends AnyDocumentEventType>(el: TTarget, type: TType, handler: (event: AnyDOMEvent<TTarget, TType>) => void, options?: AddEventListenerOptions | boolean): () => void;
9
+ export declare function on<TTarget extends Exclude<AnyDOMEventTargetLoose, Document | HTMLElement | Element>, TType extends AnyWindowEventType>(el: TTarget, type: TType, handler: (event: AnyDOMEvent<TTarget, TType>) => void, options?: AddEventListenerOptions | boolean): () => void;
8
10
  export default on;
package/on.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { noop } from '@koine/utils';
2
2
  import { off } from './off.esm.js';
3
3
 
4
- let on=(n,t,r,i=!1)=>("development"!==process.env.NODE_ENV||n||console.warn("[@koine/dom:on] unexisting DOM element"),n)?(n.addEventListener(t,r,i),()=>off(n,t,r)):noop;
4
+ function on(n,t,r,i=!1){return ("development"!==process.env.NODE_ENV||n||console.warn("[@koine/dom:on] unexisting DOM element"),n)?(n.addEventListener(t,r,i),()=>off(n,t,r)):noop}
5
5
 
6
6
  export { on as default, on };
package/once.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { AnyDOMEventTargetLoose } from "./types";
1
+ import type { AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
2
2
  /**
3
3
  * One shot listener, it `addEventListener` and removes it first time is called
4
4
  * with `removeEventListener`
5
5
  */
6
- export declare let once: (el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean) => () => void;
6
+ export declare let once: (el: AnyDOMEventTargetLoose, type: AnyDOMEventType, handler: EventListener, options?: EventListenerOptions | boolean) => () => void;
7
7
  export default once;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@koine/dom",
3
3
  "sideEffects": false,
4
4
  "dependencies": {
5
- "@koine/utils": "2.0.0-beta.185"
5
+ "@koine/utils": "2.0.0-beta.186"
6
6
  },
7
7
  "exports": {
8
8
  "./package.json": "./package.json",
@@ -292,5 +292,5 @@
292
292
  "module": "./index.esm.js",
293
293
  "main": "./index.cjs.js",
294
294
  "types": "./index.esm.d.ts",
295
- "version": "2.0.0-beta.185"
295
+ "version": "2.0.0-beta.186"
296
296
  }
package/types.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- import type { AnythingFalsy, LiteralUnion } from "@koine/utils";
1
+ import type { AnythingFalsy } from "@koine/utils";
2
2
  export type AnyDOMEventTarget = Window | Document | HTMLElement | Element;
3
3
  /**
4
4
  * We use it either throwing an error on unexisting element or falling back
5
5
  * to `window` in case of _scroll_ or _resize_ events
6
6
  */
7
7
  export type AnyDOMEventTargetLoose = AnyDOMEventTarget | AnythingFalsy;
8
- type StandardDOMEventTypes = keyof GlobalEventHandlersEventMap;
9
- export type AnyDOMEventType = LiteralUnion<StandardDOMEventTypes | "storage" | "popstate", string>;
10
- export type AnyDOMEvent<TType extends AnyDOMEventType> = TType extends StandardDOMEventTypes ? GlobalEventHandlersEventMap[TType] : TType extends "storage" ? StorageEvent : TType extends "popstate" ? PopStateEvent : Event;
11
- export {};
8
+ export type AnyWindowEventType = keyof WindowEventMap;
9
+ export type AnyDocumentEventType = keyof DocumentEventMap;
10
+ export type AnyGlobalEventType = keyof GlobalEventHandlersEventMap;
11
+ export type AnyDOMEventType<TTarget extends AnyDOMEventTargetLoose = AnyDOMEventTargetLoose> = TTarget extends Window ? AnyWindowEventType : TTarget extends Document ? AnyDocumentEventType : AnyGlobalEventType;
12
+ export type AnyDOMEvent<TTarget extends AnyDOMEventTargetLoose, TType extends AnyWindowEventType | AnyDocumentEventType | AnyGlobalEventType> = TTarget extends Window ? TType extends keyof WindowEventMap ? WindowEventMap[TType] : Event : TTarget extends Document ? TType extends keyof DocumentEventMap ? DocumentEventMap[TType] : Event : TType extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[TType] : Event;
package/unlisten.cjs.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _listenDelegation = require('./_listen-delegation.cjs.js');
6
6
  var off = require('./off.cjs.js');
7
7
 
8
- let unlisten=(r,n,o)=>{r.split(",").forEach(r=>{let f=_listenDelegation.activeEvents[r=r.trim()];if(!f)return;if(f.length<2||!n){delete _listenDelegation.activeEvents[r],off.off(window,r,_listenDelegation.eventHandler,!0);return}let p=_listenDelegation.getIndex(f,n,o);p<0||_listenDelegation.activeEvents[r].splice(p,1);});};
8
+ let unlisten=(r,n,o)=>{r.split(",").forEach(r=>{let f=r.trim(),p=_listenDelegation.activeEvents[f];if(!p)return;if(p.length<2||!n){delete _listenDelegation.activeEvents[f],off.off(window,f,_listenDelegation.eventHandler,!0);return}let m=_listenDelegation.getIndex(p,n,o);m<0||_listenDelegation.activeEvents[f].splice(m,1);});};
9
9
 
10
10
  exports.default = unlisten;
11
11
  exports.unlisten = unlisten;
package/unlisten.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type EventCallback } from "./_listen-delegation";
2
- import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
2
+ import type { AnyDOMEventTarget, AnyWindowEventType } from "./types";
3
3
  /**
4
4
  * Stop listening for an event
5
5
  *
@@ -9,5 +9,5 @@ import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
9
9
  * @param selector The selector to remove the event from
10
10
  * @param callback The function to remove
11
11
  */
12
- export declare let unlisten: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
12
+ export declare let unlisten: <TTypes extends AnyWindowEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
13
13
  export default unlisten;
package/unlisten.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { activeEvents, eventHandler, getIndex } from './_listen-delegation.esm.js';
2
2
  import { off } from './off.esm.js';
3
3
 
4
- let unlisten=(r,n,o)=>{r.split(",").forEach(r=>{let f=activeEvents[r=r.trim()];if(!f)return;if(f.length<2||!n){delete activeEvents[r],off(window,r,eventHandler,!0);return}let p=getIndex(f,n,o);p<0||activeEvents[r].splice(p,1);});};
4
+ let unlisten=(r,n,o)=>{r.split(",").forEach(r=>{let f=r.trim(),p=activeEvents[f];if(!p)return;if(p.length<2||!n){delete activeEvents[f],off(window,f,eventHandler,!0);return}let m=getIndex(p,n,o);m<0||activeEvents[f].splice(m,1);});};
5
5
 
6
6
  export { unlisten as default, unlisten };