@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 +1 -1
- package/listen.d.ts +2 -2
- package/off.d.ts +1 -1
- package/on.cjs.js +1 -1
- package/on.d.ts +4 -2
- package/on.esm.js +1 -1
- package/once.d.ts +2 -2
- package/package.json +2 -2
- package/types.d.ts +6 -5
- package/unlisten.cjs.js +1 -1
- package/unlisten.d.ts +2 -2
- package/unlisten.esm.js +1 -1
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<
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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.
|
|
295
|
+
"version": "2.0.0-beta.186"
|
|
296
296
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { AnythingFalsy
|
|
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
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
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=
|
|
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,
|
|
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
|
|
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=
|
|
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 };
|