diff --git a/README.md b/README.md index 18e972e..a1d5fca 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ npm install xevt Then: ```typescript -import { Xemitter } from "xevt"; +import { Xevt } from "xevt"; ``` ## Usage @@ -27,7 +27,7 @@ import { Xemitter } from "xevt"; ### Basic usage ```typescript -const emitter = new Xemitter(); +const emitter = new Xevt(); let result = 0; emitter.on("event", () => { @@ -39,7 +39,7 @@ emitter.emit("event"); ### Async event ```typescript -const emitter = new Xemitter(); +const emitter = new Xevt(); let result = 0; emitter.onAsync("event", async () => { @@ -50,8 +50,10 @@ await emitter.emit("event"); ### Conjoined event +IMPORTANT: conjoined events are not supported any arguments in handlers. + ```typescript -const emitter = new Xemitter(); +const emitter = new Xevt(); let count = 0; emitter.on(["event1", "event2"], () => { @@ -59,12 +61,14 @@ emitter.on(["event1", "event2"], () => { }); emitter.emit("event1"); emitter.emit("event2"); + +console.log(count); // 1 ``` ### Mixed async/sync handlers ```typescript -const emitter = new Xemitter(); +const emitter = new Xevt(); const result: number[] = []; emitter.on("event", (data) => { result.push(data); @@ -83,10 +87,12 @@ emitter.onAsync( for (let i = 0; i < 5; i++) { emitter.emit("event", i); } + +// [0, 0, 1, 1, 2, 2, 3, 3, 4, 4] ``` ```typescript -const emitter = new Xemitter(); +const emitter = new Xevt(); const result: number[] = []; emitter.conjoin(["event1", "event2"], async () => { result.push(1); @@ -99,4 +105,6 @@ for (let i = 0; i < 5; i++) { emitter.emit("event1"); emitter.emit("event2"); } + +// [1, 2, 1, 2, 1, 2, 1, 2, 1, 2] ``` diff --git a/deno.json b/deno.json index 445d34b..7b4fe00 100644 --- a/deno.json +++ b/deno.json @@ -15,5 +15,5 @@ "@deno/dnt": "jsr:@deno/dnt@^0.41.1", "modules/": "./modules/" }, - "exports": "./modules/xemitter.ts" + "exports": "./modules/xevt.ts" } diff --git a/examples/node/async-event-example.mjs b/examples/node/async-event-example.mjs index b97e4f8..d6d10f4 100644 --- a/examples/node/async-event-example.mjs +++ b/examples/node/async-event-example.mjs @@ -1,6 +1,6 @@ -import { Xemitter } from "xevt"; +import { Xevt } from "xevt"; -const emitter = new Xemitter(); +const emitter = new Xevt(); emitter.onAsync( "event", async (data) => diff --git a/examples/node/conjoined-event-example.mjs b/examples/node/conjoined-event-example.mjs index d6a159d..3ab2f70 100644 --- a/examples/node/conjoined-event-example.mjs +++ b/examples/node/conjoined-event-example.mjs @@ -1,6 +1,6 @@ -import { Xemitter } from "xevt"; +import { Xevt } from "xevt"; -const emitter = new Xemitter(); +const emitter = new Xevt(); emitter.on("event1", (data) => { console.log("Event1:", data); }); diff --git a/examples/node/mixed-handlers-example.mjs b/examples/node/mixed-handlers-example.mjs index ba45377..021d7c3 100644 --- a/examples/node/mixed-handlers-example.mjs +++ b/examples/node/mixed-handlers-example.mjs @@ -1,6 +1,6 @@ -import { Xemitter } from "xevt"; +import { Xevt } from "xevt"; -const emitter = new Xemitter(); +const emitter = new Xevt(); emitter.on("event", (data) => { console.log("sync hanlder:", data); }); diff --git a/examples/node/sync-event-example.mjs b/examples/node/sync-event-example.mjs index 14872ab..45098a2 100644 --- a/examples/node/sync-event-example.mjs +++ b/examples/node/sync-event-example.mjs @@ -1,6 +1,6 @@ -import { Xemitter } from "xevt"; +import { Xevt } from "xevt"; -const emitter = new Xemitter(); +const emitter = new Xevt(); emitter.on("event", (data) => { console.log("Event:", data); }); diff --git a/modules/xemitter.ts b/modules/xevt.ts similarity index 97% rename from modules/xemitter.ts rename to modules/xevt.ts index 3603d12..930f547 100644 --- a/modules/xemitter.ts +++ b/modules/xevt.ts @@ -16,7 +16,7 @@ import { EmitDone, Emitter } from "./emitter.ts"; export type XeventName = EventName | ConjoinEvents; -export class Xemitter extends CoreEmitter +export class Xevt extends CoreEmitter implements XevtEmitter, XConjoinEmitter { private emitter: Emitter; private conjoinEmitter: ConjoinEmitter; diff --git a/scripts/build_npm.ts b/scripts/build_npm.ts index eb703cf..ea95216 100644 --- a/scripts/build_npm.ts +++ b/scripts/build_npm.ts @@ -13,7 +13,7 @@ await emptyDir(output); await build({ test: false, typeCheck: "both", - entryPoints: ["./modules/xemitter.ts"], + entryPoints: ["./modules/xevt.ts"], outDir: output, shims: { deno: false, diff --git a/tests/deno/general_test.ts b/tests/deno/general_test.ts index 5d8546e..3ca11de 100644 --- a/tests/deno/general_test.ts +++ b/tests/deno/general_test.ts @@ -1,10 +1,10 @@ import { assert, assertEquals, assertIsError } from "jsr:@std/assert"; import { describe, it } from "jsr:@std/testing/bdd"; -import { Xemitter } from "modules/xemitter.ts"; +import { Xevt } from "modules/xevt.ts"; it("list all events", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); assertEquals(emitter.eventNames(), []); emitter.on("foo", () => {}); @@ -21,7 +21,7 @@ it("list all events", () => { }); it("catch error", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; emitter.on("error", (error) => { assertIsError(error); @@ -40,7 +40,7 @@ it("catch error", () => { }); it("remove event handlers", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; const handler = () => { count += 1; @@ -53,7 +53,7 @@ it("remove event handlers", () => { }); it("remove conjoined event handlers", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; const handler = () => { count += 1; diff --git a/tests/deno/multiple_events_test.ts b/tests/deno/multiple_events_test.ts index 1056048..866834d 100644 --- a/tests/deno/multiple_events_test.ts +++ b/tests/deno/multiple_events_test.ts @@ -1,15 +1,15 @@ import { assert, assertEquals } from "jsr:@std/assert"; import { describe, it } from "jsr:@std/testing/bdd"; -import { Xemitter } from "modules/xemitter.ts"; +import { Xevt } from "modules/xevt.ts"; function delay(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)); } -describe("Xemitter - multiple events", () => { +describe("Xevt - multiple events", () => { it("should listen multiple events", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; emitter.on(["event1", "event2"], () => { @@ -24,7 +24,7 @@ describe("Xemitter - multiple events", () => { }); it("should listen multiple handlers", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); const result: number[] = []; emitter.on(["event1", "event2"], () => { result.push(1); @@ -41,7 +41,7 @@ describe("Xemitter - multiple events", () => { }); it("should listen multiple async handlers", async () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); const result: number[] = []; emitter.conjoinAsync(["event1", "event2"], async () => { result.push(1); @@ -58,7 +58,7 @@ describe("Xemitter - multiple events", () => { }); it("should listen multiple events with addEventListener", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; emitter.addEventListener(["event1", "event2"], () => { count++; @@ -71,7 +71,7 @@ describe("Xemitter - multiple events", () => { }); it('should listen multiple events with "conjoin"', () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; emitter.conjoin(["event1", "event2"], () => { count++; @@ -84,7 +84,7 @@ describe("Xemitter - multiple events", () => { }); it("should remove multiple events", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; const handler = () => { count++; @@ -102,7 +102,7 @@ describe("Xemitter - multiple events", () => { }); it("should listen multiple events once", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; emitter.on( ["event1", "event2"], @@ -119,14 +119,14 @@ describe("Xemitter - multiple events", () => { }); it("should take every async events", async () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let result: number = 0; emitter.conjoinAsync(["event1", "event2"], async () => { await new Promise((resolve) => setTimeout(() => { result++; resolve(true); - }, 10), + }, 10) ); }); emitter.emit("event1"); @@ -142,7 +142,7 @@ describe("Xemitter - multiple events", () => { }); it("mix handlers", async () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); const result: number[] = []; emitter.conjoin(["event1", "event2"], () => { result.push(1); diff --git a/tests/deno/single_event_test.ts b/tests/deno/single_event_test.ts index b3e5966..c895460 100644 --- a/tests/deno/single_event_test.ts +++ b/tests/deno/single_event_test.ts @@ -1,15 +1,15 @@ import { assert, assertEquals } from "jsr:@std/assert"; import { describe, it } from "jsr:@std/testing/bdd"; -import { Xemitter } from "modules/xemitter.ts"; +import { Xevt } from "modules/xevt.ts"; function delay(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)); } -describe("Xemitter - single event", () => { +describe("Xevt - single event", () => { it("should listen event", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let result = 0; emitter.on("event", () => { @@ -21,7 +21,7 @@ describe("Xemitter - single event", () => { }); it("should listen event multiple times", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let result = 0; emitter.on("event", () => { @@ -33,7 +33,7 @@ describe("Xemitter - single event", () => { }); it('should listen event with "addEventListener"', () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let result = 0; emitter.addEventListener("event", () => { result++; @@ -43,7 +43,7 @@ describe("Xemitter - single event", () => { }); it("should remove event", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let result = 0; const handler = () => { result++; @@ -57,7 +57,7 @@ describe("Xemitter - single event", () => { }); it("should listen event once", () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let count = 0; emitter.on( "event", @@ -74,7 +74,7 @@ describe("Xemitter - single event", () => { }); it('should listen event with "addEventListener"', () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); let result = 0; emitter.addEventListener("event", () => { result++; @@ -84,14 +84,14 @@ describe("Xemitter - single event", () => { }); it("should listen every async events", async () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); const result: number[] = []; emitter.onAsync("event", async (arg) => { await new Promise((resolve) => setTimeout(() => { result.push(arg); resolve(true); - }, 10), + }, 10) ); }); emitter.emit("event", 1); @@ -107,7 +107,7 @@ describe("Xemitter - single event", () => { }); it("mix handlers", async () => { - const emitter = new Xemitter(); + const emitter = new Xevt(); const result: number[] = []; emitter.on("event", (data) => { result.push(data);