From 17db20b02805bd6a6768749db06103e8e3d48867 Mon Sep 17 00:00:00 2001 From: Nikolas Savvidis Date: Mon, 10 Jan 2022 03:09:09 +0100 Subject: [PATCH 1/3] add type declaration --- index.d.ts | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..150d7ae --- /dev/null +++ b/index.d.ts @@ -0,0 +1,52 @@ +/** + * EvEmitter + * + * Adds publish/subscribe pattern to a browser class. It's a smaller + * version of [olical/EventEmitter](https://github.com/Olical/EventEmitter). + * That EventEmitter is full featured, widely used, and great. + * This EvEmitter has just the base event functionality to power the event API + * in libraries like [isotope](https://isotope.metafizzy.co/), + * [flickity](https://flickity.metafizzy.co/), [masonry](https://masonry.desandro.com/), + * and [imagesLoaded](https://imagesloaded.desandro.com/). + */ +declare module "ev-emitter" { + /** + * EvEmitter + * + * Lil' event emitter — Add a little pub/sub + */ + export default class EvEmitter { + /** + * Add an event listener. + * + * @param {eventName} eventName Name of the event + * @param {listener} listener Function to trigger + */ + on(eventName: string, listener: Function): this; + /** + * Add an event listener to be triggered only once. + * + * @param {eventName} eventName Name of the event + * @param {listener} listener Function to trigger + */ + once(eventName: string, listener: Function): this; + /** + * Remove an event listener. + * + * @param {eventName} eventName Name of the event + * @param {listener} listener Function to trigger + */ + off(eventName: string, listener: Function): this; + /** + * Trigger an event. + * + * @param {eventName} eventName Name of the event + * @param {args} args Arguments passed to listeners + */ + emitEvent(eventName: string, args: any[]): this; + /** + * Removes all event listeners. + */ + allOff(): this; + } +} From 713f1a28aee304f5c90a5fb7d40bfa463befc092 Mon Sep 17 00:00:00 2001 From: Nikolas Savvidis Date: Mon, 10 Jan 2022 03:09:31 +0100 Subject: [PATCH 2/3] add package.json ref --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 3ed9ed3..65c406a 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "2.1.2", "description": "lil' event emitter", "main": "ev-emitter.js", + "types": "index.d.ts", "devDependencies": { "ava": "^3.15.0", "eslint": "^7.30.0", From 4f6944f0d2abdb39f9298c8515f5b542b96cbcb5 Mon Sep 17 00:00:00 2001 From: Nikolas Savvidis Date: Mon, 10 Jan 2022 04:57:31 +0100 Subject: [PATCH 3/3] optional args --- index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 150d7ae..b43d40b 100644 --- a/index.d.ts +++ b/index.d.ts @@ -43,7 +43,7 @@ declare module "ev-emitter" { * @param {eventName} eventName Name of the event * @param {args} args Arguments passed to listeners */ - emitEvent(eventName: string, args: any[]): this; + emitEvent(eventName: string, args?: any[]): this; /** * Removes all event listeners. */