danholibraryjs 1.11.0 → 2.0.0
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/dist/Classes/DanhoLogger.d.ts +23 -0
- package/dist/Classes/DanhoLogger.js +65 -0
- package/dist/Classes/Events/Event.d.ts +66 -66
- package/dist/Classes/Events/Event.js +114 -114
- package/dist/Classes/Events/EventCollection.d.ts +57 -57
- package/dist/Classes/Events/EventCollection.js +109 -109
- package/dist/Classes/Events/EventEmitter.d.ts +74 -74
- package/dist/Classes/Events/EventEmitter.js +97 -97
- package/dist/Classes/Events/index.d.ts +3 -3
- package/dist/Classes/Events/index.js +19 -19
- package/dist/Classes/Time/Date.d.ts +148 -147
- package/dist/Classes/Time/Date.js +241 -238
- package/dist/Classes/Time/Time.d.ts +66 -65
- package/dist/Classes/Time/Time.js +120 -117
- package/dist/Classes/Time/TimeProperties.d.ts +3 -3
- package/dist/Classes/Time/TimeProperties.js +2 -2
- package/dist/Classes/Time/TimeSpan.d.ts +123 -123
- package/dist/Classes/Time/TimeSpan.js +179 -179
- package/dist/Classes/Time/index.d.ts +4 -4
- package/dist/Classes/Time/index.js +20 -20
- package/dist/Classes/index.d.ts +4 -3
- package/dist/Classes/index.js +20 -19
- package/dist/Classes/store.d.ts +75 -75
- package/dist/Classes/store.js +84 -84
- package/dist/Extensions/Array/array.extension.d.ts +42 -0
- package/dist/Extensions/Array/array.extension.js +57 -0
- package/dist/Extensions/Array/crud.extension.d.ts +24 -0
- package/dist/Extensions/Array/crud.extension.js +28 -0
- package/dist/Extensions/Array/index.d.ts +20 -0
- package/dist/Extensions/Array/index.js +40 -0
- package/dist/Extensions/Array/loop.extension.d.ts +18 -0
- package/dist/Extensions/Array/loop.extension.js +23 -0
- package/dist/Extensions/Array/random.extension.d.ts +23 -0
- package/dist/Extensions/Array/random.extension.js +35 -0
- package/dist/Extensions/Array/sort.extension.d.ts +27 -0
- package/dist/Extensions/Array/sort.extension.js +31 -0
- package/dist/Extensions/Array/string.extension.d.ts +13 -0
- package/dist/Extensions/Array/string.extension.js +14 -0
- package/dist/Extensions/Array.d.ts +52 -52
- package/dist/Extensions/Array.js +51 -51
- package/dist/Extensions/Document.d.ts +27 -27
- package/dist/Extensions/Document.js +32 -32
- package/dist/Extensions/Function.d.ts +29 -14
- package/dist/Extensions/Function.js +23 -10
- package/dist/Extensions/Map.d.ts +54 -54
- package/dist/Extensions/Map.js +42 -42
- package/dist/Extensions/Number.d.ts +13 -0
- package/dist/Extensions/Number.js +40 -0
- package/dist/Extensions/Object/arrays.extension.d.ts +17 -0
- package/dist/Extensions/Object/arrays.extension.js +13 -0
- package/dist/Extensions/Object/booleans.extension.d.ts +18 -0
- package/dist/Extensions/Object/booleans.extension.js +37 -0
- package/dist/Extensions/Object/extracts.extension.d.ts +38 -0
- package/dist/Extensions/Object/extracts.extension.js +72 -0
- package/dist/Extensions/Object/index.d.ts +10 -49
- package/dist/Extensions/Object/index.js +36 -38
- package/dist/Extensions/Object/properties.d.ts +28 -28
- package/dist/Extensions/Object/properties.extension.d.ts +6 -0
- package/dist/Extensions/Object/properties.extension.js +4 -0
- package/dist/Extensions/Object/properties.js +19 -20
- package/dist/Extensions/String/case.extension.d.ts +12 -0
- package/dist/Extensions/String/case.extension.js +55 -0
- package/dist/Extensions/String/index.d.ts +4 -0
- package/dist/Extensions/String/index.js +30 -0
- package/dist/Extensions/String.d.ts +36 -36
- package/dist/Extensions/String.js +25 -25
- package/dist/Extensions/index.d.ts +6 -17
- package/dist/Extensions/index.js +22 -30
- package/dist/Functions/CopyToClipboard.d.ts +7 -7
- package/dist/Functions/CopyToClipboard.js +15 -15
- package/dist/Functions/GetCSSProperty.d.ts +15 -15
- package/dist/Functions/GetCSSProperty.js +26 -26
- package/dist/Functions/GetNestedProperty.d.ts +9 -9
- package/dist/Functions/GetNestedProperty.js +23 -23
- package/dist/Functions/HTMLEvent.d.ts +11 -11
- package/dist/Functions/HTMLEvent.js +14 -14
- package/dist/Functions/SetNavigationSelected.d.ts +9 -9
- package/dist/Functions/SetNavigationSelected.js +25 -25
- package/dist/Functions/index.d.ts +5 -5
- package/dist/Functions/index.js +21 -21
- package/dist/Interfaces/ElementOptions.d.ts +15 -15
- package/dist/Interfaces/ElementOptions.js +2 -2
- package/dist/Interfaces/IReplacement.d.ts +12 -12
- package/dist/Interfaces/IReplacement.js +2 -2
- package/dist/Interfaces/index.d.ts +2 -2
- package/dist/Interfaces/index.js +18 -18
- package/dist/Types/Able.d.ts +16 -0
- package/dist/Types/Able.js +2 -0
- package/dist/Types/Array.d.ts +6 -0
- package/dist/Types/Array.js +2 -0
- package/dist/Types/BetterTypes.d.ts +9 -9
- package/dist/Types/BetterTypes.js +2 -2
- package/dist/Types/C#.d.ts +8 -0
- package/dist/Types/C#.js +2 -0
- package/dist/Types/Date.d.ts +6 -6
- package/dist/Types/Date.js +2 -2
- package/dist/Types/Events.d.ts +10 -10
- package/dist/Types/Events.js +2 -2
- package/dist/Types/Function.d.ts +5 -0
- package/dist/Types/Function.js +2 -0
- package/dist/Types/Object.d.ts +4 -0
- package/dist/Types/Object.js +2 -0
- package/dist/Types/PropertiesWith.d.ts +34 -13
- package/dist/Types/PropertiesWith.js +2 -2
- package/dist/Types/String.d.ts +1 -0
- package/dist/Types/String.js +2 -0
- package/dist/Types/TransformTypes.d.ts +22 -16
- package/dist/Types/TransformTypes.js +2 -2
- package/dist/Types/index.d.ts +24 -65
- package/dist/Types/index.js +27 -21
- package/dist/Utils/ApiUtil/ApiTypes.d.ts +15 -15
- package/dist/Utils/ApiUtil/ApiTypes.js +15 -15
- package/dist/Utils/ApiUtil/RequestUtil.d.ts +19 -19
- package/dist/Utils/ApiUtil/RequestUtil.js +73 -73
- package/dist/Utils/ApiUtil/index.d.ts +20 -20
- package/dist/Utils/ApiUtil/index.js +33 -33
- package/dist/Utils/ApiUtils/ApiTypes.d.ts +15 -0
- package/dist/Utils/ApiUtils/ApiTypes.js +15 -0
- package/dist/Utils/ApiUtils/RequestUtil.d.ts +19 -0
- package/dist/Utils/ApiUtils/RequestUtil.js +73 -0
- package/dist/Utils/ApiUtils/index.d.ts +20 -0
- package/dist/Utils/ApiUtils/index.js +33 -0
- package/dist/Utils/ColorUtils.d.ts +11 -0
- package/dist/Utils/ColorUtils.js +93 -0
- package/dist/Utils/FormUtil.d.ts +6 -6
- package/dist/Utils/FormUtil.js +35 -35
- package/dist/Utils/FormUtils.d.ts +6 -0
- package/dist/Utils/FormUtils.js +35 -0
- package/dist/Utils/NumberUtils.d.ts +1 -0
- package/dist/Utils/NumberUtils.js +7 -0
- package/dist/Utils/PatcherUtils.d.ts +6 -0
- package/dist/Utils/PatcherUtils.js +80 -0
- package/dist/Utils/StringUtils.d.ts +3 -0
- package/dist/Utils/StringUtils.js +47 -0
- package/dist/Utils/TimeUtils/debounce.util.d.ts +22 -0
- package/dist/Utils/TimeUtils/debounce.util.js +78 -0
- package/dist/Utils/TimeUtils/functions.util.d.ts +4 -0
- package/dist/Utils/TimeUtils/functions.util.js +21 -0
- package/dist/Utils/TimeUtils/index.d.ts +15 -0
- package/dist/Utils/TimeUtils/index.js +34 -0
- package/dist/Utils/TimeUtils/throttle.util.d.ts +15 -0
- package/dist/Utils/TimeUtils/throttle.util.js +43 -0
- package/dist/Utils/index.d.ts +7 -2
- package/dist/Utils/index.js +23 -18
- package/dist/index.d.ts +5 -5
- package/dist/index.js +21 -21
- package/package.json +4 -2
- package/src/Classes/DanhoLogger.ts +78 -0
- package/src/Classes/Events/Event.ts +96 -96
- package/src/Classes/Events/EventCollection.ts +90 -90
- package/src/Classes/Events/EventEmitter.ts +68 -68
- package/src/Classes/Time/Date.ts +219 -216
- package/src/Classes/Time/Time.ts +109 -104
- package/src/Classes/Time/TimeSpan.ts +171 -171
- package/src/Classes/index.ts +1 -0
- package/src/Classes/store.ts +22 -22
- package/src/Extensions/Array/array.extension.ts +103 -0
- package/src/Extensions/Array/crud.extension.ts +46 -0
- package/src/Extensions/Array/index.ts +15 -0
- package/src/Extensions/Array/loop.extension.ts +38 -0
- package/src/Extensions/Array/random.extension.ts +56 -0
- package/src/Extensions/Array/sort.extension.ts +52 -0
- package/src/Extensions/Array/string.extension.ts +22 -0
- package/src/Extensions/Document.ts +39 -39
- package/src/Extensions/Function.ts +37 -10
- package/src/Extensions/Map.ts +56 -56
- package/src/Extensions/Number.ts +50 -0
- package/src/Extensions/Object/arrays.extension.ts +27 -0
- package/src/Extensions/Object/booleans.extension.ts +46 -0
- package/src/Extensions/Object/extracts.extension.ts +102 -0
- package/src/Extensions/Object/index.ts +9 -80
- package/src/Extensions/Object/properties.extension.ts +11 -0
- package/src/Extensions/Object/properties.ts +35 -36
- package/src/Extensions/String/case.extension.ts +95 -0
- package/src/Extensions/String/index.ts +5 -0
- package/src/Extensions/index.ts +2 -20
- package/src/Interfaces/ElementOptions.ts +7 -7
- package/src/Interfaces/IReplacement.ts +2 -2
- package/src/Types/Able.ts +22 -0
- package/src/Types/Array.ts +7 -0
- package/src/Types/C#.ts +9 -0
- package/src/Types/Date.ts +1 -1
- package/src/Types/Events.ts +12 -12
- package/src/Types/Function.ts +10 -0
- package/src/Types/Object.ts +4 -0
- package/src/Types/PropertiesWith.ts +35 -4
- package/src/Types/String.ts +1 -0
- package/src/Types/TransformTypes.ts +21 -13
- package/src/Types/index.ts +7 -69
- package/src/Utils/{ApiUtil → ApiUtils}/ApiTypes.ts +2 -1
- package/src/Utils/{ApiUtil → ApiUtils}/index.ts +1 -1
- package/src/Utils/ColorUtils.ts +102 -0
- package/src/Utils/{FormUtil.ts → FormUtils.ts} +2 -2
- package/src/Utils/NumberUtils.ts +3 -0
- package/src/Utils/PatcherUtils.ts +111 -0
- package/src/Utils/StringUtils.ts +44 -0
- package/src/Utils/TimeUtils/debounce.util.ts +85 -0
- package/src/Utils/TimeUtils/functions.util.ts +18 -0
- package/src/Utils/TimeUtils/index.ts +9 -0
- package/src/Utils/TimeUtils/throttle.util.ts +44 -0
- package/src/Utils/index.ts +8 -2
- package/src/Extensions/Array.ts +0 -95
- package/src/Extensions/String.ts +0 -54
- /package/src/Utils/{ApiUtil → ApiUtils}/RequestUtil.ts +0 -0
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EventCollection = void 0;
|
|
7
|
-
const Event_1 = __importDefault(require("./Event"));
|
|
8
|
-
/**
|
|
9
|
-
* Collection of Events from @see EventEmitter
|
|
10
|
-
* @borrows EventHandler
|
|
11
|
-
* @borrows Event
|
|
12
|
-
* @borrows BaseEvent
|
|
13
|
-
*/
|
|
14
|
-
class EventCollection {
|
|
15
|
-
constructor(events) {
|
|
16
|
-
this._events = !events ?
|
|
17
|
-
new Map() :
|
|
18
|
-
events.array().reduce((result, [event, handlers]) => result.set(event, new Event_1.default(event, handlers)), new Map());
|
|
19
|
-
}
|
|
20
|
-
/**Amount of events stored*/
|
|
21
|
-
get size() {
|
|
22
|
-
return this._events.size;
|
|
23
|
-
}
|
|
24
|
-
/**@private Internal event collection*/
|
|
25
|
-
_events = new Map();
|
|
26
|
-
/**@private limit of events*/
|
|
27
|
-
_limit = 0;
|
|
28
|
-
/**
|
|
29
|
-
* Returns true if event is in collection
|
|
30
|
-
* @param event Event name
|
|
31
|
-
* @returns true if event is in collection
|
|
32
|
-
*/
|
|
33
|
-
has(event) {
|
|
34
|
-
return this._events.has(event);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Returns event matching event parameter
|
|
38
|
-
* @param event Event name
|
|
39
|
-
* @returns Event
|
|
40
|
-
*/
|
|
41
|
-
get(event) {
|
|
42
|
-
return this._events.get(event);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Adds handler to event collection with name as key
|
|
46
|
-
* @param name Event name
|
|
47
|
-
* @param handler Handler for event
|
|
48
|
-
* @returns this
|
|
49
|
-
*/
|
|
50
|
-
add(name, handler, once = false) {
|
|
51
|
-
if (this._limit > 0 && this._limit + 1 > this._events.size) {
|
|
52
|
-
throw new Error(`Listener limit, ${this._limit}, reached!`);
|
|
53
|
-
}
|
|
54
|
-
const event = (this.has(name) && this.get(name)) || new Event_1.default(name);
|
|
55
|
-
this._events.set(name, event.on(handler, once));
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* @summary clear(): Clears all events
|
|
60
|
-
* @summary clear("all", myEventHandler): Removes myEventHandler from all events that have it
|
|
61
|
-
* @summary clear("myEvent"): Clears all handlers tied to "myEvent"
|
|
62
|
-
* @summary clear("myEvent", myEventHandler): Removes myEventHandler from "myEvent"
|
|
63
|
-
*
|
|
64
|
-
* @param name Event name | "all"
|
|
65
|
-
* @param handler Specific handler to remove. If left blank, all handlers in name will be removed
|
|
66
|
-
* @returns this
|
|
67
|
-
*/
|
|
68
|
-
clear(name = 'all', handler) {
|
|
69
|
-
const _name = name;
|
|
70
|
-
if (_name.toLowerCase() == 'all' && handler == null)
|
|
71
|
-
this._events.clear(); //clear(): Clears all events
|
|
72
|
-
else if (_name.toLowerCase() == 'all' && handler)
|
|
73
|
-
this._events = (() => {
|
|
74
|
-
this._events.forEach(e => e.off(handler));
|
|
75
|
-
return this._events;
|
|
76
|
-
})();
|
|
77
|
-
else if (_name.toLowerCase() != "all" && handler == null)
|
|
78
|
-
this._events.delete(name); //clear("myEvent"): Clears All handlers tied to "myEvent"
|
|
79
|
-
else if (_name.toLowerCase() != 'all' && handler)
|
|
80
|
-
this._events.set(name, this._events.get(name).off(handler)); //clear("myEvent", myEventHandler): Removes the "myEventsHandler" handler from "myEvent"
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
emit(name, ...args) {
|
|
84
|
-
return this.get(name)?.emit(...args);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Limits how many events to accept using EventEmitter#on or EventEmitter#once
|
|
88
|
-
* @param limit Limit of events to keep
|
|
89
|
-
* @returns this with the new limit
|
|
90
|
-
*
|
|
91
|
-
* @throws Unknown event, if event name isn't recognized
|
|
92
|
-
*/
|
|
93
|
-
limit(eventName, limit) {
|
|
94
|
-
if (limit <= 0)
|
|
95
|
-
return;
|
|
96
|
-
if (eventName == 'all') {
|
|
97
|
-
this._limit = limit;
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
const event = this.get(eventName);
|
|
101
|
-
if (!event)
|
|
102
|
-
throw new Error(`Unknown event, ${eventName.toString()}!`);
|
|
103
|
-
event.limit = limit;
|
|
104
|
-
this._events.set(eventName, event);
|
|
105
|
-
return this;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.EventCollection = EventCollection;
|
|
109
|
-
exports.default = EventCollection;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventCollection = void 0;
|
|
7
|
+
const Event_1 = __importDefault(require("./Event"));
|
|
8
|
+
/**
|
|
9
|
+
* Collection of Events from @see EventEmitter
|
|
10
|
+
* @borrows EventHandler
|
|
11
|
+
* @borrows Event
|
|
12
|
+
* @borrows BaseEvent
|
|
13
|
+
*/
|
|
14
|
+
class EventCollection {
|
|
15
|
+
constructor(events) {
|
|
16
|
+
this._events = !events ?
|
|
17
|
+
new Map() :
|
|
18
|
+
events.array().reduce((result, [event, handlers]) => result.set(event, new Event_1.default(event, handlers)), new Map());
|
|
19
|
+
}
|
|
20
|
+
/**Amount of events stored*/
|
|
21
|
+
get size() {
|
|
22
|
+
return this._events.size;
|
|
23
|
+
}
|
|
24
|
+
/**@private Internal event collection*/
|
|
25
|
+
_events = new Map();
|
|
26
|
+
/**@private limit of events*/
|
|
27
|
+
_limit = 0;
|
|
28
|
+
/**
|
|
29
|
+
* Returns true if event is in collection
|
|
30
|
+
* @param event Event name
|
|
31
|
+
* @returns true if event is in collection
|
|
32
|
+
*/
|
|
33
|
+
has(event) {
|
|
34
|
+
return this._events.has(event);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns event matching event parameter
|
|
38
|
+
* @param event Event name
|
|
39
|
+
* @returns Event
|
|
40
|
+
*/
|
|
41
|
+
get(event) {
|
|
42
|
+
return this._events.get(event);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Adds handler to event collection with name as key
|
|
46
|
+
* @param name Event name
|
|
47
|
+
* @param handler Handler for event
|
|
48
|
+
* @returns this
|
|
49
|
+
*/
|
|
50
|
+
add(name, handler, once = false) {
|
|
51
|
+
if (this._limit > 0 && this._limit + 1 > this._events.size) {
|
|
52
|
+
throw new Error(`Listener limit, ${this._limit}, reached!`);
|
|
53
|
+
}
|
|
54
|
+
const event = (this.has(name) && this.get(name)) || new Event_1.default(name);
|
|
55
|
+
this._events.set(name, event.on(handler, once));
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @summary clear(): Clears all events
|
|
60
|
+
* @summary clear("all", myEventHandler): Removes myEventHandler from all events that have it
|
|
61
|
+
* @summary clear("myEvent"): Clears all handlers tied to "myEvent"
|
|
62
|
+
* @summary clear("myEvent", myEventHandler): Removes myEventHandler from "myEvent"
|
|
63
|
+
*
|
|
64
|
+
* @param name Event name | "all"
|
|
65
|
+
* @param handler Specific handler to remove. If left blank, all handlers in name will be removed
|
|
66
|
+
* @returns this
|
|
67
|
+
*/
|
|
68
|
+
clear(name = 'all', handler) {
|
|
69
|
+
const _name = name;
|
|
70
|
+
if (_name.toLowerCase() == 'all' && handler == null)
|
|
71
|
+
this._events.clear(); //clear(): Clears all events
|
|
72
|
+
else if (_name.toLowerCase() == 'all' && handler)
|
|
73
|
+
this._events = (() => {
|
|
74
|
+
this._events.forEach(e => e.off(handler));
|
|
75
|
+
return this._events;
|
|
76
|
+
})();
|
|
77
|
+
else if (_name.toLowerCase() != "all" && handler == null)
|
|
78
|
+
this._events.delete(name); //clear("myEvent"): Clears All handlers tied to "myEvent"
|
|
79
|
+
else if (_name.toLowerCase() != 'all' && handler)
|
|
80
|
+
this._events.set(name, this._events.get(name).off(handler)); //clear("myEvent", myEventHandler): Removes the "myEventsHandler" handler from "myEvent"
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
emit(name, ...args) {
|
|
84
|
+
return this.get(name)?.emit(...args);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Limits how many events to accept using EventEmitter#on or EventEmitter#once
|
|
88
|
+
* @param limit Limit of events to keep
|
|
89
|
+
* @returns this with the new limit
|
|
90
|
+
*
|
|
91
|
+
* @throws Unknown event, if event name isn't recognized
|
|
92
|
+
*/
|
|
93
|
+
limit(eventName, limit) {
|
|
94
|
+
if (limit <= 0)
|
|
95
|
+
return;
|
|
96
|
+
if (eventName == 'all') {
|
|
97
|
+
this._limit = limit;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
const event = this.get(eventName);
|
|
101
|
+
if (!event)
|
|
102
|
+
throw new Error(`Unknown event, ${eventName.toString()}!`);
|
|
103
|
+
event.limit = limit;
|
|
104
|
+
this._events.set(eventName, event);
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.EventCollection = EventCollection;
|
|
109
|
+
exports.default = EventCollection;
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { BaseEvent, EventHandler } from '../../Types';
|
|
2
|
-
/**
|
|
3
|
-
* Traditional Node.js EventEmitter for vanilla JavaScript
|
|
4
|
-
* @borrows EventCollection
|
|
5
|
-
* @borrows BaseEvent
|
|
6
|
-
* @borrows EventHandler
|
|
7
|
-
*
|
|
8
|
-
* @example ```ts
|
|
9
|
-
* import { EventEmitter } from 'danholibraryjs';
|
|
10
|
-
*
|
|
11
|
-
* type EventTypes = {
|
|
12
|
-
* create: [username: string, password: string],
|
|
13
|
-
* update: [id: string, user: User],
|
|
14
|
-
* delete: [id: string, reason?: string],
|
|
15
|
-
* }
|
|
16
|
-
*
|
|
17
|
-
* const emitter = new EventEmitter<EventTypes>(new Map([
|
|
18
|
-
* ['create', (username, password) => {
|
|
19
|
-
* return { username, password };
|
|
20
|
-
* }],
|
|
21
|
-
* ['update', (id, user) => {
|
|
22
|
-
* return { id, ...user };
|
|
23
|
-
* }]
|
|
24
|
-
* ]));
|
|
25
|
-
*
|
|
26
|
-
* const onDelete = (id: string, reason?: string) => console.log(`User ${id} was deleted because ${reason}`);
|
|
27
|
-
* emitter.on('delete', onDelete);
|
|
28
|
-
* emitter.emit('delete', '1', 'No longer needed');
|
|
29
|
-
* emitter.off('delete', onDelete);
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare class EventEmitter<Events extends BaseEvent<string, Array<any>>> {
|
|
33
|
-
/**@param events Map<name: string, handlers: EventHandler[]>*/
|
|
34
|
-
constructor(events?: Map<keyof Events, EventHandler<Events>>);
|
|
35
|
-
/**@private Internal event collection*/
|
|
36
|
-
private _events;
|
|
37
|
-
/**
|
|
38
|
-
* Adds listener to event collection, and runs listener when event is emitted
|
|
39
|
-
* @param event Event to handle
|
|
40
|
-
* @param listener Callback function to run, when event occurs
|
|
41
|
-
* @returns this
|
|
42
|
-
*/
|
|
43
|
-
on<Return extends any, Event extends keyof Events>(event: Event, listener: EventHandler<Events, Event, Return>): EventEmitter<Events>;
|
|
44
|
-
/**
|
|
45
|
-
* Adds listener to event collection, and runs listener once when event is emitted
|
|
46
|
-
* @param event Event to handle
|
|
47
|
-
* @param listener Callback function to run, when event occurs
|
|
48
|
-
* @returns this
|
|
49
|
-
*/
|
|
50
|
-
once<Return extends any, Event extends keyof Events>(event: Event, listener: EventHandler<Events, Event, Return>): EventEmitter<Events>;
|
|
51
|
-
/**
|
|
52
|
-
* Removes listener(s) from event
|
|
53
|
-
* @param event Event to get collection of listeners | "all"
|
|
54
|
-
* @param listener If left null, removes all listeners tied to event, else only removes listener from event
|
|
55
|
-
* @returns this
|
|
56
|
-
*/
|
|
57
|
-
off<Return extends any, Event extends keyof Events>(event?: Event | 'all', listener?: EventHandler<Events, Event, Return>): EventEmitter<Events>;
|
|
58
|
-
/**
|
|
59
|
-
* Emits event and runs all listeners tied to event
|
|
60
|
-
* @param event Event to emit
|
|
61
|
-
* @param args Arguments for the event
|
|
62
|
-
* @fires event
|
|
63
|
-
* @returns Array of listeners'
|
|
64
|
-
*/
|
|
65
|
-
emit<Return extends any, Event extends keyof Events>(event: Event, ...args: Events[Event]): Array<Return>;
|
|
66
|
-
/**
|
|
67
|
-
* Limits how many events to accept using EventEmitter#on or EventEmitter#once
|
|
68
|
-
* @param event: Specific event to limit, or by default, 'all'
|
|
69
|
-
* @param limit Limit of events to keep. If you want to limit amount of events saved, use 'all'.
|
|
70
|
-
* @returns this with the new limit
|
|
71
|
-
*/
|
|
72
|
-
limit<Event extends keyof Events>(event: 'all' | Event, limit: number): EventEmitter<Events>;
|
|
73
|
-
}
|
|
74
|
-
export default EventEmitter;
|
|
1
|
+
import { BaseEvent, EventHandler } from '../../Types';
|
|
2
|
+
/**
|
|
3
|
+
* Traditional Node.js EventEmitter for vanilla JavaScript
|
|
4
|
+
* @borrows EventCollection
|
|
5
|
+
* @borrows BaseEvent
|
|
6
|
+
* @borrows EventHandler
|
|
7
|
+
*
|
|
8
|
+
* @example ```ts
|
|
9
|
+
* import { EventEmitter } from 'danholibraryjs';
|
|
10
|
+
*
|
|
11
|
+
* type EventTypes = {
|
|
12
|
+
* create: [username: string, password: string],
|
|
13
|
+
* update: [id: string, user: User],
|
|
14
|
+
* delete: [id: string, reason?: string],
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* const emitter = new EventEmitter<EventTypes>(new Map([
|
|
18
|
+
* ['create', (username, password) => {
|
|
19
|
+
* return { username, password };
|
|
20
|
+
* }],
|
|
21
|
+
* ['update', (id, user) => {
|
|
22
|
+
* return { id, ...user };
|
|
23
|
+
* }]
|
|
24
|
+
* ]));
|
|
25
|
+
*
|
|
26
|
+
* const onDelete = (id: string, reason?: string) => console.log(`User ${id} was deleted because ${reason}`);
|
|
27
|
+
* emitter.on('delete', onDelete);
|
|
28
|
+
* emitter.emit('delete', '1', 'No longer needed');
|
|
29
|
+
* emitter.off('delete', onDelete);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class EventEmitter<Events extends BaseEvent<string, Array<any>>> {
|
|
33
|
+
/**@param events Map<name: string, handlers: EventHandler[]>*/
|
|
34
|
+
constructor(events?: Map<keyof Events, EventHandler<Events>>);
|
|
35
|
+
/**@private Internal event collection*/
|
|
36
|
+
private _events;
|
|
37
|
+
/**
|
|
38
|
+
* Adds listener to event collection, and runs listener when event is emitted
|
|
39
|
+
* @param event Event to handle
|
|
40
|
+
* @param listener Callback function to run, when event occurs
|
|
41
|
+
* @returns this
|
|
42
|
+
*/
|
|
43
|
+
on<Return extends any, Event extends keyof Events>(event: Event, listener: EventHandler<Events, Event, Return>): EventEmitter<Events>;
|
|
44
|
+
/**
|
|
45
|
+
* Adds listener to event collection, and runs listener once when event is emitted
|
|
46
|
+
* @param event Event to handle
|
|
47
|
+
* @param listener Callback function to run, when event occurs
|
|
48
|
+
* @returns this
|
|
49
|
+
*/
|
|
50
|
+
once<Return extends any, Event extends keyof Events>(event: Event, listener: EventHandler<Events, Event, Return>): EventEmitter<Events>;
|
|
51
|
+
/**
|
|
52
|
+
* Removes listener(s) from event
|
|
53
|
+
* @param event Event to get collection of listeners | "all"
|
|
54
|
+
* @param listener If left null, removes all listeners tied to event, else only removes listener from event
|
|
55
|
+
* @returns this
|
|
56
|
+
*/
|
|
57
|
+
off<Return extends any, Event extends keyof Events>(event?: Event | 'all', listener?: EventHandler<Events, Event, Return>): EventEmitter<Events>;
|
|
58
|
+
/**
|
|
59
|
+
* Emits event and runs all listeners tied to event
|
|
60
|
+
* @param event Event to emit
|
|
61
|
+
* @param args Arguments for the event
|
|
62
|
+
* @fires event
|
|
63
|
+
* @returns Array of listeners' responses
|
|
64
|
+
*/
|
|
65
|
+
emit<Return extends any, Event extends keyof Events>(event: Event, ...args: Events[Event]): Array<Return>;
|
|
66
|
+
/**
|
|
67
|
+
* Limits how many events to accept using EventEmitter#on or EventEmitter#once
|
|
68
|
+
* @param event: Specific event to limit, or by default, 'all'
|
|
69
|
+
* @param limit Limit of events to keep. If you want to limit amount of events saved, use 'all'.
|
|
70
|
+
* @returns this with the new limit
|
|
71
|
+
*/
|
|
72
|
+
limit<Event extends keyof Events>(event: 'all' | Event, limit: number): EventEmitter<Events>;
|
|
73
|
+
}
|
|
74
|
+
export default EventEmitter;
|
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EventEmitter = void 0;
|
|
7
|
-
const EventCollection_1 = __importDefault(require("./EventCollection"));
|
|
8
|
-
/**
|
|
9
|
-
* Traditional Node.js EventEmitter for vanilla JavaScript
|
|
10
|
-
* @borrows EventCollection
|
|
11
|
-
* @borrows BaseEvent
|
|
12
|
-
* @borrows EventHandler
|
|
13
|
-
*
|
|
14
|
-
* @example ```ts
|
|
15
|
-
* import { EventEmitter } from 'danholibraryjs';
|
|
16
|
-
*
|
|
17
|
-
* type EventTypes = {
|
|
18
|
-
* create: [username: string, password: string],
|
|
19
|
-
* update: [id: string, user: User],
|
|
20
|
-
* delete: [id: string, reason?: string],
|
|
21
|
-
* }
|
|
22
|
-
*
|
|
23
|
-
* const emitter = new EventEmitter<EventTypes>(new Map([
|
|
24
|
-
* ['create', (username, password) => {
|
|
25
|
-
* return { username, password };
|
|
26
|
-
* }],
|
|
27
|
-
* ['update', (id, user) => {
|
|
28
|
-
* return { id, ...user };
|
|
29
|
-
* }]
|
|
30
|
-
* ]));
|
|
31
|
-
*
|
|
32
|
-
* const onDelete = (id: string, reason?: string) => console.log(`User ${id} was deleted because ${reason}`);
|
|
33
|
-
* emitter.on('delete', onDelete);
|
|
34
|
-
* emitter.emit('delete', '1', 'No longer needed');
|
|
35
|
-
* emitter.off('delete', onDelete);
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
class EventEmitter {
|
|
39
|
-
/**@param events Map<name: string, handlers: EventHandler[]>*/
|
|
40
|
-
constructor(events) {
|
|
41
|
-
this._events = new EventCollection_1.default(events);
|
|
42
|
-
}
|
|
43
|
-
/**@private Internal event collection*/
|
|
44
|
-
_events = new EventCollection_1.default();
|
|
45
|
-
/**
|
|
46
|
-
* Adds listener to event collection, and runs listener when event is emitted
|
|
47
|
-
* @param event Event to handle
|
|
48
|
-
* @param listener Callback function to run, when event occurs
|
|
49
|
-
* @returns this
|
|
50
|
-
*/
|
|
51
|
-
on(event, listener) {
|
|
52
|
-
this._events.add(event, listener);
|
|
53
|
-
return this;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Adds listener to event collection, and runs listener once when event is emitted
|
|
57
|
-
* @param event Event to handle
|
|
58
|
-
* @param listener Callback function to run, when event occurs
|
|
59
|
-
* @returns this
|
|
60
|
-
*/
|
|
61
|
-
once(event, listener) {
|
|
62
|
-
this._events.add(event, listener, true);
|
|
63
|
-
return this;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Removes listener(s) from event
|
|
67
|
-
* @param event Event to get collection of listeners | "all"
|
|
68
|
-
* @param listener If left null, removes all listeners tied to event, else only removes listener from event
|
|
69
|
-
* @returns this
|
|
70
|
-
*/
|
|
71
|
-
off(event = "all", listener) {
|
|
72
|
-
this._events.clear(event, listener);
|
|
73
|
-
return this;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Emits event and runs all listeners tied to event
|
|
77
|
-
* @param event Event to emit
|
|
78
|
-
* @param args Arguments for the event
|
|
79
|
-
* @fires event
|
|
80
|
-
* @returns Array of listeners'
|
|
81
|
-
*/
|
|
82
|
-
emit(event, ...args) {
|
|
83
|
-
return this._events.emit(event, ...args);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Limits how many events to accept using EventEmitter#on or EventEmitter#once
|
|
87
|
-
* @param event: Specific event to limit, or by default, 'all'
|
|
88
|
-
* @param limit Limit of events to keep. If you want to limit amount of events saved, use 'all'.
|
|
89
|
-
* @returns this with the new limit
|
|
90
|
-
*/
|
|
91
|
-
limit(event, limit) {
|
|
92
|
-
this._events.limit(event, limit);
|
|
93
|
-
return this;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.EventEmitter = EventEmitter;
|
|
97
|
-
exports.default = EventEmitter;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventEmitter = void 0;
|
|
7
|
+
const EventCollection_1 = __importDefault(require("./EventCollection"));
|
|
8
|
+
/**
|
|
9
|
+
* Traditional Node.js EventEmitter for vanilla JavaScript
|
|
10
|
+
* @borrows EventCollection
|
|
11
|
+
* @borrows BaseEvent
|
|
12
|
+
* @borrows EventHandler
|
|
13
|
+
*
|
|
14
|
+
* @example ```ts
|
|
15
|
+
* import { EventEmitter } from 'danholibraryjs';
|
|
16
|
+
*
|
|
17
|
+
* type EventTypes = {
|
|
18
|
+
* create: [username: string, password: string],
|
|
19
|
+
* update: [id: string, user: User],
|
|
20
|
+
* delete: [id: string, reason?: string],
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* const emitter = new EventEmitter<EventTypes>(new Map([
|
|
24
|
+
* ['create', (username, password) => {
|
|
25
|
+
* return { username, password };
|
|
26
|
+
* }],
|
|
27
|
+
* ['update', (id, user) => {
|
|
28
|
+
* return { id, ...user };
|
|
29
|
+
* }]
|
|
30
|
+
* ]));
|
|
31
|
+
*
|
|
32
|
+
* const onDelete = (id: string, reason?: string) => console.log(`User ${id} was deleted because ${reason}`);
|
|
33
|
+
* emitter.on('delete', onDelete);
|
|
34
|
+
* emitter.emit('delete', '1', 'No longer needed');
|
|
35
|
+
* emitter.off('delete', onDelete);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
class EventEmitter {
|
|
39
|
+
/**@param events Map<name: string, handlers: EventHandler[]>*/
|
|
40
|
+
constructor(events) {
|
|
41
|
+
this._events = new EventCollection_1.default(events);
|
|
42
|
+
}
|
|
43
|
+
/**@private Internal event collection*/
|
|
44
|
+
_events = new EventCollection_1.default();
|
|
45
|
+
/**
|
|
46
|
+
* Adds listener to event collection, and runs listener when event is emitted
|
|
47
|
+
* @param event Event to handle
|
|
48
|
+
* @param listener Callback function to run, when event occurs
|
|
49
|
+
* @returns this
|
|
50
|
+
*/
|
|
51
|
+
on(event, listener) {
|
|
52
|
+
this._events.add(event, listener);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Adds listener to event collection, and runs listener once when event is emitted
|
|
57
|
+
* @param event Event to handle
|
|
58
|
+
* @param listener Callback function to run, when event occurs
|
|
59
|
+
* @returns this
|
|
60
|
+
*/
|
|
61
|
+
once(event, listener) {
|
|
62
|
+
this._events.add(event, listener, true);
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Removes listener(s) from event
|
|
67
|
+
* @param event Event to get collection of listeners | "all"
|
|
68
|
+
* @param listener If left null, removes all listeners tied to event, else only removes listener from event
|
|
69
|
+
* @returns this
|
|
70
|
+
*/
|
|
71
|
+
off(event = "all", listener) {
|
|
72
|
+
this._events.clear(event, listener);
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Emits event and runs all listeners tied to event
|
|
77
|
+
* @param event Event to emit
|
|
78
|
+
* @param args Arguments for the event
|
|
79
|
+
* @fires event
|
|
80
|
+
* @returns Array of listeners' responses
|
|
81
|
+
*/
|
|
82
|
+
emit(event, ...args) {
|
|
83
|
+
return this._events.emit(event, ...args);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Limits how many events to accept using EventEmitter#on or EventEmitter#once
|
|
87
|
+
* @param event: Specific event to limit, or by default, 'all'
|
|
88
|
+
* @param limit Limit of events to keep. If you want to limit amount of events saved, use 'all'.
|
|
89
|
+
* @returns this with the new limit
|
|
90
|
+
*/
|
|
91
|
+
limit(event, limit) {
|
|
92
|
+
this._events.limit(event, limit);
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.EventEmitter = EventEmitter;
|
|
97
|
+
exports.default = EventEmitter;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './Event';
|
|
2
|
-
export * from './EventCollection';
|
|
3
|
-
export * from './EventEmitter';
|
|
1
|
+
export * from './Event';
|
|
2
|
+
export * from './EventCollection';
|
|
3
|
+
export * from './EventEmitter';
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./Event"), exports);
|
|
18
|
-
__exportStar(require("./EventCollection"), exports);
|
|
19
|
-
__exportStar(require("./EventEmitter"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Event"), exports);
|
|
18
|
+
__exportStar(require("./EventCollection"), exports);
|
|
19
|
+
__exportStar(require("./EventEmitter"), exports);
|