@lincode/events 1.0.28 → 1.0.29
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/lib/event.d.ts +2 -11
- package/lib/event.js +1 -14
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib-commonjs/event.js +1 -14
- package/lib-commonjs/index.js +2 -1
- package/package.json +1 -1
- package/src/event.ts +2 -23
- package/src/index.ts +1 -1
package/lib/event.d.ts
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import { Cancellable } from "@lincode/promiselikes";
|
|
2
2
|
export declare class Event<Payload = void> {
|
|
3
3
|
private cbs;
|
|
4
|
-
private state?;
|
|
5
4
|
on(cb: (val: Payload) => void): Cancellable;
|
|
6
5
|
once(cb: (val: Payload) => void): Cancellable;
|
|
7
6
|
emit(value: Payload): void;
|
|
8
|
-
setState(value: Payload): void;
|
|
9
|
-
getState(): Payload | undefined;
|
|
10
7
|
}
|
|
11
8
|
type Emit<T> = (val: T, isState?: boolean) => void;
|
|
12
9
|
type On<T> = (cb: (val: T) => void, once?: boolean) => Cancellable;
|
|
13
|
-
type
|
|
14
|
-
|
|
15
|
-
Emit<void>,
|
|
16
|
-
On<void>,
|
|
17
|
-
Emit<void>,
|
|
18
|
-
GetState<void>
|
|
19
|
-
];
|
|
20
|
-
declare const _default: <T = void>() => readonly [Emit<T>, On<T>, Emit<T>, GetState<T>];
|
|
10
|
+
export type EventFunctions = readonly [Emit<void>, On<void>];
|
|
11
|
+
declare const _default: <T = void>() => readonly [Emit<T>, On<T>];
|
|
21
12
|
export default _default;
|
package/lib/event.js
CHANGED
|
@@ -4,8 +4,6 @@ export class Event {
|
|
|
4
4
|
this.cbs = new Set();
|
|
5
5
|
}
|
|
6
6
|
on(cb) {
|
|
7
|
-
if ("state" in this)
|
|
8
|
-
cb(this.state);
|
|
9
7
|
this.cbs.add(cb);
|
|
10
8
|
return new Cancellable(() => this.cbs.delete(cb));
|
|
11
9
|
}
|
|
@@ -21,21 +19,10 @@ export class Event {
|
|
|
21
19
|
for (const cb of this.cbs)
|
|
22
20
|
cb(value);
|
|
23
21
|
}
|
|
24
|
-
setState(value) {
|
|
25
|
-
if ("state" in this && this.state === value)
|
|
26
|
-
return;
|
|
27
|
-
this.state = value;
|
|
28
|
-
this.emit(value);
|
|
29
|
-
}
|
|
30
|
-
getState() {
|
|
31
|
-
return this.state;
|
|
32
|
-
}
|
|
33
22
|
}
|
|
34
23
|
export default () => {
|
|
35
24
|
const event = new Event();
|
|
36
25
|
const emit = (val) => event.emit(val);
|
|
37
26
|
const on = (cb, once) => once ? event.once(cb) : event.on(cb);
|
|
38
|
-
|
|
39
|
-
const getState = () => event.getState();
|
|
40
|
-
return [emit, on, emitState, getState];
|
|
27
|
+
return [emit, on];
|
|
41
28
|
};
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default, default as Events } from "./Events";
|
|
2
|
-
export { default as event, EventFunctions } from "./event";
|
|
2
|
+
export { default as event, EventFunctions, Event } from "./event";
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default, default as Events } from "./Events";
|
|
2
|
-
export { default as event } from "./event";
|
|
2
|
+
export { default as event, Event } from "./event";
|
package/lib-commonjs/event.js
CHANGED
|
@@ -7,8 +7,6 @@ class Event {
|
|
|
7
7
|
this.cbs = new Set();
|
|
8
8
|
}
|
|
9
9
|
on(cb) {
|
|
10
|
-
if ("state" in this)
|
|
11
|
-
cb(this.state);
|
|
12
10
|
this.cbs.add(cb);
|
|
13
11
|
return new promiselikes_1.Cancellable(() => this.cbs.delete(cb));
|
|
14
12
|
}
|
|
@@ -24,22 +22,11 @@ class Event {
|
|
|
24
22
|
for (const cb of this.cbs)
|
|
25
23
|
cb(value);
|
|
26
24
|
}
|
|
27
|
-
setState(value) {
|
|
28
|
-
if ("state" in this && this.state === value)
|
|
29
|
-
return;
|
|
30
|
-
this.state = value;
|
|
31
|
-
this.emit(value);
|
|
32
|
-
}
|
|
33
|
-
getState() {
|
|
34
|
-
return this.state;
|
|
35
|
-
}
|
|
36
25
|
}
|
|
37
26
|
exports.Event = Event;
|
|
38
27
|
exports.default = () => {
|
|
39
28
|
const event = new Event();
|
|
40
29
|
const emit = (val) => event.emit(val);
|
|
41
30
|
const on = (cb, once) => once ? event.once(cb) : event.on(cb);
|
|
42
|
-
|
|
43
|
-
const getState = () => event.getState();
|
|
44
|
-
return [emit, on, emitState, getState];
|
|
31
|
+
return [emit, on];
|
|
45
32
|
};
|
package/lib-commonjs/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.event = exports.Events = exports.default = void 0;
|
|
3
|
+
exports.Event = exports.event = exports.Events = exports.default = void 0;
|
|
4
4
|
var Events_1 = require("./Events");
|
|
5
5
|
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return Events_1.default; } });
|
|
6
6
|
Object.defineProperty(exports, "Events", { enumerable: true, get: function () { return Events_1.default; } });
|
|
7
7
|
var event_1 = require("./event");
|
|
8
8
|
Object.defineProperty(exports, "event", { enumerable: true, get: function () { return event_1.default; } });
|
|
9
|
+
Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return event_1.Event; } });
|
package/package.json
CHANGED
package/src/event.ts
CHANGED
|
@@ -2,11 +2,8 @@ import { Cancellable } from "@lincode/promiselikes"
|
|
|
2
2
|
|
|
3
3
|
export class Event<Payload = void> {
|
|
4
4
|
private cbs = new Set<(val: Payload) => void>()
|
|
5
|
-
private state?: Payload
|
|
6
5
|
|
|
7
6
|
public on(cb: (val: Payload) => void): Cancellable {
|
|
8
|
-
if ("state" in this) cb(this.state!)
|
|
9
|
-
|
|
10
7
|
this.cbs.add(cb)
|
|
11
8
|
return new Cancellable(() => this.cbs.delete(cb))
|
|
12
9
|
}
|
|
@@ -25,35 +22,17 @@ export class Event<Payload = void> {
|
|
|
25
22
|
public emit(value: Payload): void {
|
|
26
23
|
for (const cb of this.cbs) cb(value)
|
|
27
24
|
}
|
|
28
|
-
|
|
29
|
-
public setState(value: Payload): void {
|
|
30
|
-
if ("state" in this && this.state === value) return
|
|
31
|
-
this.state = value
|
|
32
|
-
this.emit(value)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public getState(): Payload | undefined {
|
|
36
|
-
return this.state
|
|
37
|
-
}
|
|
38
25
|
}
|
|
39
26
|
|
|
40
27
|
type Emit<T> = (val: T, isState?: boolean) => void
|
|
41
28
|
type On<T> = (cb: (val: T) => void, once?: boolean) => Cancellable
|
|
42
|
-
type GetState<T> = () => T | undefined
|
|
43
29
|
|
|
44
|
-
export type EventFunctions = readonly [
|
|
45
|
-
Emit<void>,
|
|
46
|
-
On<void>,
|
|
47
|
-
Emit<void>,
|
|
48
|
-
GetState<void>
|
|
49
|
-
]
|
|
30
|
+
export type EventFunctions = readonly [Emit<void>, On<void>]
|
|
50
31
|
|
|
51
32
|
export default <T = void>() => {
|
|
52
33
|
const event = new Event<T>()
|
|
53
34
|
const emit: Emit<T> = (val: T) => event.emit(val)
|
|
54
35
|
const on: On<T> = (cb: (val: T) => void, once?: boolean) =>
|
|
55
36
|
once ? event.once(cb) : event.on(cb)
|
|
56
|
-
|
|
57
|
-
const getState: GetState<T> = () => event.getState()
|
|
58
|
-
return <const>[emit, on, emitState, getState]
|
|
37
|
+
return <const>[emit, on]
|
|
59
38
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default, default as Events } from "./Events"
|
|
2
|
-
export { default as event, EventFunctions } from "./event"
|
|
2
|
+
export { default as event, EventFunctions, Event } from "./event"
|