@vxrn/emitter 1.1.368 → 1.1.370
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/cjs/index.cjs +14 -2
- package/dist/cjs/index.js +14 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +16 -7
- package/dist/cjs/index.native.js.map +2 -2
- package/dist/esm/index.js +15 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +15 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +17 -8
- package/dist/esm/index.native.js.map +2 -2
- package/package.json +5 -6
- package/src/index.ts +20 -3
- package/types/index.d.ts +0 -8
- package/types/index.d.ts.map +0 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -26,6 +26,9 @@ __export(src_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(src_exports);
|
|
27
27
|
var import_react = require("react");
|
|
28
28
|
class Emitter {
|
|
29
|
+
constructor(defaultValue) {
|
|
30
|
+
this.defaultValue = defaultValue;
|
|
31
|
+
}
|
|
29
32
|
disposables = /* @__PURE__ */new Set();
|
|
30
33
|
listen = disposable => (this.disposables.add(disposable), () => {
|
|
31
34
|
this.disposables.delete(disposable);
|
|
@@ -36,7 +39,16 @@ class Emitter {
|
|
|
36
39
|
use = (cb, args) => {
|
|
37
40
|
(0, import_react.useEffect)(() => this.listen(cb), args ?? []);
|
|
38
41
|
};
|
|
42
|
+
useValue = () => {
|
|
43
|
+
const [state, setState] = (0, import_react.useState)(this.defaultValue);
|
|
44
|
+
return this.use(setState), state;
|
|
45
|
+
};
|
|
46
|
+
nextValue = () => new Promise(res => {
|
|
47
|
+
const dispose = this.listen(val => {
|
|
48
|
+
dispose(), res(val);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
39
51
|
}
|
|
40
|
-
function createEmitter() {
|
|
41
|
-
return new Emitter();
|
|
52
|
+
function createEmitter(defaultValue) {
|
|
53
|
+
return new Emitter(defaultValue);
|
|
42
54
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -20,6 +20,9 @@ __export(src_exports, {
|
|
|
20
20
|
module.exports = __toCommonJS(src_exports);
|
|
21
21
|
var import_react = require("react");
|
|
22
22
|
class Emitter {
|
|
23
|
+
constructor(defaultValue) {
|
|
24
|
+
this.defaultValue = defaultValue;
|
|
25
|
+
}
|
|
23
26
|
disposables = /* @__PURE__ */ new Set();
|
|
24
27
|
listen = (disposable) => (this.disposables.add(disposable), () => {
|
|
25
28
|
this.disposables.delete(disposable);
|
|
@@ -30,8 +33,17 @@ class Emitter {
|
|
|
30
33
|
use = (cb, args) => {
|
|
31
34
|
(0, import_react.useEffect)(() => this.listen(cb), args ?? []);
|
|
32
35
|
};
|
|
36
|
+
useValue = () => {
|
|
37
|
+
const [state, setState] = (0, import_react.useState)(this.defaultValue);
|
|
38
|
+
return this.use(setState), state;
|
|
39
|
+
};
|
|
40
|
+
nextValue = () => new Promise((res) => {
|
|
41
|
+
const dispose = this.listen((val) => {
|
|
42
|
+
dispose(), res(val);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
33
45
|
}
|
|
34
|
-
function createEmitter() {
|
|
35
|
-
return new Emitter();
|
|
46
|
+
function createEmitter(defaultValue) {
|
|
47
|
+
return new Emitter(defaultValue);
|
|
36
48
|
}
|
|
37
49
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AAE7B,MAAM,QAAiB;AAAA,EAG5B,YAAmB,cAAkB;AAAlB;AAAA,EAAmB;AAAA,EAF9B,cAAc,oBAAI,IAAuB;AAAA,EAIjD,SAAS,CAAC,gBACR,KAAK,YAAY,IAAI,UAAU,GACxB,MAAM;AACX,SAAK,YAAY,OAAO,UAAU;AAAA,EACpC;AAAA,EAGF,OAAO,CAAC,SAAY;AAClB,SAAK,YAAY,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAAA,EAC3C;AAAA,EAEA,MAAM,CAAC,IAAqB,SAAiB;AAC3C,gCAAU,MACD,KAAK,OAAO,EAAE,GACpB,QAAQ,CAAC,CAAC;AAAA,EACf;AAAA,EAEA,WAAW,MAAM;AACf,UAAM,CAAC,OAAO,QAAQ,QAAI,uBAAwB,KAAK,YAAY;AACnE,gBAAK,IAAI,QAAQ,GACV;AAAA,EACT;AAAA,EAEA,YAAY,MACH,IAAI,QAAW,CAAC,QAAQ;AAC7B,UAAM,UAAU,KAAK,OAAO,CAAC,QAAQ;AACnC,cAAQ,GACR,IAAI,GAAG;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAEL;AAEO,SAAS,cAAiB,cAAkB;AACjD,SAAO,IAAI,QAAW,YAAY;AACpC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -32,25 +32,34 @@ function _define_property(obj, key, value) {
|
|
|
32
32
|
writable: !0
|
|
33
33
|
}) : obj[key] = value, obj;
|
|
34
34
|
}
|
|
35
|
-
var Emitter = function Emitter2() {
|
|
35
|
+
var Emitter = function Emitter2(defaultValue) {
|
|
36
36
|
"use strict";
|
|
37
37
|
var _this = this;
|
|
38
|
-
_class_call_check(this, Emitter2), _define_property(this, "disposables",
|
|
38
|
+
_class_call_check(this, Emitter2), _define_property(this, "defaultValue", void 0), _define_property(this, "disposables", void 0), _define_property(this, "listen", void 0), _define_property(this, "emit", void 0), _define_property(this, "use", void 0), _define_property(this, "useValue", void 0), _define_property(this, "nextValue", void 0), this.defaultValue = defaultValue, this.disposables = /* @__PURE__ */ new Set(), this.listen = function(disposable) {
|
|
39
39
|
return _this.disposables.add(disposable), function() {
|
|
40
40
|
_this.disposables.delete(disposable);
|
|
41
41
|
};
|
|
42
|
-
}
|
|
42
|
+
}, this.emit = function(next) {
|
|
43
43
|
_this.disposables.forEach(function(cb) {
|
|
44
44
|
return cb(next);
|
|
45
45
|
});
|
|
46
|
-
}
|
|
46
|
+
}, this.use = function(cb, args) {
|
|
47
47
|
(0, import_react.useEffect)(function() {
|
|
48
48
|
return _this.listen(cb);
|
|
49
49
|
}, args ?? []);
|
|
50
|
-
})
|
|
50
|
+
}, this.useValue = function() {
|
|
51
|
+
var [state, setState] = (0, import_react.useState)(_this.defaultValue);
|
|
52
|
+
return _this.use(setState), state;
|
|
53
|
+
}, this.nextValue = function() {
|
|
54
|
+
return new Promise(function(res) {
|
|
55
|
+
var dispose = _this.listen(function(val) {
|
|
56
|
+
dispose(), res(val);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
};
|
|
51
60
|
};
|
|
52
|
-
function createEmitter() {
|
|
53
|
-
return new Emitter();
|
|
61
|
+
function createEmitter(defaultValue) {
|
|
62
|
+
return new Emitter(defaultValue);
|
|
54
63
|
}
|
|
55
64
|
// Annotate the CommonJS export names for ESM import in node:
|
|
56
65
|
0 && (module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/one/packages/emitter/src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
5
|
-
"names": ["Emitter", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA,mBAAoC;;;;;;;;;;;;;AAE7B,IAAMA,UAAN,SAAMA,SAGQC,cAAgB;;;0BAHxBD,QAAAA,mDACX,iBAAA,MAAQE,eAAR,MAAA,GAIAC,iBAAAA,MAAAA,UAAAA,MAAAA,GAOAC,iBAAAA,MAAAA,QAAAA,MAAAA,GAIAC,iBAAAA,MAAAA,OAAAA,MAAAA,GAMAC,iBAAAA,MAAAA,YAAAA,MAAAA,GAMAC,iBAAAA,MAAAA,aAAAA,MAAAA,QAzBmBN,eAAAA,mBAFXC,cAAc,oBAAIM,IAAAA,QAI1BL,SAAS,SAACM,YAAAA;AACR,iBAAKP,YAAYQ,IAAID,UAAAA,GACd,WAAA;AACL,YAAKP,YAAYS,OAAOF,UAAAA;IAC1B;EACF,QAEAL,OAAO,SAACQ,MAAAA;AACN,UAAKV,YAAYW,QAAQ,SAACC,IAAAA;aAAOA,GAAGF,IAAAA;;EACtC,QAEAP,MAAM,SAACS,IAAqBC,MAAAA;AAC1BC,gCAAU,WAAA;AACR,aAAO,MAAKb,OAAOW,EAAAA;IACrB,GAAGC,QAAQ,CAAA,CAAE;EACf,QAEAT,WAAW,WAAA;AACT,QAAM,CAACW,OAAOC,QAAAA,QAAYC,uBAAwB,MAAKlB,YAAY;AACnE,iBAAKI,IAAIa,QAAAA,GACFD;EACT,QAEAV,YAAY,WAAA;AACV,WAAO,IAAIa,QAAW,SAACC,KAAAA;AACrB,UAAMC,UAAU,MAAKnB,OAAO,SAACoB,KAAAA;AAC3BD,gBAAAA,GACAD,IAAIE,GAAAA;MACN,CAAA;IACF,CAAA;EACF;;AAGK,SAASC,cAAiBvB,cAAgB;AAC/C,SAAO,IAAID,QAAWC,YAAAA;AACxB;",
|
|
5
|
+
"names": ["Emitter", "defaultValue", "disposables", "listen", "emit", "use", "useValue", "nextValue", "Set", "disposable", "add", "delete", "next", "forEach", "cb", "args", "useEffect", "state", "setState", "useState", "Promise", "res", "dispose", "val", "createEmitter"]
|
|
6
6
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
2
|
class Emitter {
|
|
3
|
+
constructor(defaultValue) {
|
|
4
|
+
this.defaultValue = defaultValue;
|
|
5
|
+
}
|
|
3
6
|
disposables = /* @__PURE__ */ new Set();
|
|
4
7
|
listen = (disposable) => (this.disposables.add(disposable), () => {
|
|
5
8
|
this.disposables.delete(disposable);
|
|
@@ -10,9 +13,18 @@ class Emitter {
|
|
|
10
13
|
use = (cb, args) => {
|
|
11
14
|
useEffect(() => this.listen(cb), args ?? []);
|
|
12
15
|
};
|
|
16
|
+
useValue = () => {
|
|
17
|
+
const [state, setState] = useState(this.defaultValue);
|
|
18
|
+
return this.use(setState), state;
|
|
19
|
+
};
|
|
20
|
+
nextValue = () => new Promise((res) => {
|
|
21
|
+
const dispose = this.listen((val) => {
|
|
22
|
+
dispose(), res(val);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
13
25
|
}
|
|
14
|
-
function createEmitter() {
|
|
15
|
-
return new Emitter();
|
|
26
|
+
function createEmitter(defaultValue) {
|
|
27
|
+
return new Emitter(defaultValue);
|
|
16
28
|
}
|
|
17
29
|
export {
|
|
18
30
|
Emitter,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,
|
|
4
|
+
"mappings": "AAAA,SAAS,WAAW,gBAAgB;AAE7B,MAAM,QAAiB;AAAA,EAG5B,YAAmB,cAAkB;AAAlB;AAAA,EAAmB;AAAA,EAF9B,cAAc,oBAAI,IAAuB;AAAA,EAIjD,SAAS,CAAC,gBACR,KAAK,YAAY,IAAI,UAAU,GACxB,MAAM;AACX,SAAK,YAAY,OAAO,UAAU;AAAA,EACpC;AAAA,EAGF,OAAO,CAAC,SAAY;AAClB,SAAK,YAAY,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAAA,EAC3C;AAAA,EAEA,MAAM,CAAC,IAAqB,SAAiB;AAC3C,cAAU,MACD,KAAK,OAAO,EAAE,GACpB,QAAQ,CAAC,CAAC;AAAA,EACf;AAAA,EAEA,WAAW,MAAM;AACf,UAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,KAAK,YAAY;AACnE,gBAAK,IAAI,QAAQ,GACV;AAAA,EACT;AAAA,EAEA,YAAY,MACH,IAAI,QAAW,CAAC,QAAQ;AAC7B,UAAM,UAAU,KAAK,OAAO,CAAC,QAAQ;AACnC,cAAQ,GACR,IAAI,GAAG;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAEL;AAEO,SAAS,cAAiB,cAAkB;AACjD,SAAO,IAAI,QAAW,YAAY;AACpC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
2
|
class Emitter {
|
|
3
|
+
constructor(defaultValue) {
|
|
4
|
+
this.defaultValue = defaultValue;
|
|
5
|
+
}
|
|
3
6
|
disposables = /* @__PURE__ */new Set();
|
|
4
7
|
listen = disposable => (this.disposables.add(disposable), () => {
|
|
5
8
|
this.disposables.delete(disposable);
|
|
@@ -10,9 +13,18 @@ class Emitter {
|
|
|
10
13
|
use = (cb, args) => {
|
|
11
14
|
useEffect(() => this.listen(cb), args ?? []);
|
|
12
15
|
};
|
|
16
|
+
useValue = () => {
|
|
17
|
+
const [state, setState] = useState(this.defaultValue);
|
|
18
|
+
return this.use(setState), state;
|
|
19
|
+
};
|
|
20
|
+
nextValue = () => new Promise(res => {
|
|
21
|
+
const dispose = this.listen(val => {
|
|
22
|
+
dispose(), res(val);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
13
25
|
}
|
|
14
|
-
function createEmitter() {
|
|
15
|
-
return new Emitter();
|
|
26
|
+
function createEmitter(defaultValue) {
|
|
27
|
+
return new Emitter(defaultValue);
|
|
16
28
|
}
|
|
17
29
|
export { Emitter, createEmitter };
|
|
18
30
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Emitter","disposables","Set","listen","disposable","add","delete","emit","next","forEach","cb","use","args","createEmitter"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,
|
|
1
|
+
{"version":3,"names":["useEffect","useState","Emitter","constructor","defaultValue","disposables","Set","listen","disposable","add","delete","emit","next","forEach","cb","use","args","useValue","state","setState","nextValue","Promise","res","dispose","val","createEmitter"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,QAAgB;AAE7B,MAAMC,OAAA,CAAiB;EAG5BC,YAAmBC,YAAA,EAAkB;IAAlB,KAAAA,YAAA,GAAAA,YAAA;EAAmB;EAF9BC,WAAA,GAAc,mBAAIC,GAAA,CAAuB;EAIjDC,MAAA,GAAUC,UAAA,KACR,KAAKH,WAAA,CAAYI,GAAA,CAAID,UAAU,GACxB,MAAM;IACX,KAAKH,WAAA,CAAYK,MAAA,CAAOF,UAAU;EACpC;EAGFG,IAAA,GAAQC,IAAA,IAAY;IAClB,KAAKP,WAAA,CAAYQ,OAAA,CAASC,EAAA,IAAOA,EAAA,CAAGF,IAAI,CAAC;EAC3C;EAEAG,GAAA,GAAMA,CAACD,EAAA,EAAqBE,IAAA,KAAiB;IAC3ChB,SAAA,CAAU,MACD,KAAKO,MAAA,CAAOO,EAAE,GACpBE,IAAA,IAAQ,EAAE;EACf;EAEAC,QAAA,GAAWA,CAAA,KAAM;IACf,MAAM,CAACC,KAAA,EAAOC,QAAQ,IAAIlB,QAAA,CAAwB,KAAKG,YAAY;IACnE,YAAKW,GAAA,CAAII,QAAQ,GACVD,KAAA;EACT;EAEAE,SAAA,GAAYA,CAAA,KACH,IAAIC,OAAA,CAAYC,GAAA,IAAQ;IAC7B,MAAMC,OAAA,GAAU,KAAKhB,MAAA,CAAQiB,GAAA,IAAQ;MACnCD,OAAA,CAAQ,GACRD,GAAA,CAAIE,GAAG;IACT,CAAC;EACH,CAAC;AAEL;AAEO,SAASC,cAAiBrB,YAAA,EAAkB;EACjD,OAAO,IAAIF,OAAA,CAAWE,YAAY;AACpC","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
2
|
function _class_call_check(instance, Constructor) {
|
|
3
3
|
if (!(instance instanceof Constructor))
|
|
4
4
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -11,25 +11,34 @@ function _define_property(obj, key, value) {
|
|
|
11
11
|
writable: !0
|
|
12
12
|
}) : obj[key] = value, obj;
|
|
13
13
|
}
|
|
14
|
-
var Emitter = function Emitter2() {
|
|
14
|
+
var Emitter = function Emitter2(defaultValue) {
|
|
15
15
|
"use strict";
|
|
16
16
|
var _this = this;
|
|
17
|
-
_class_call_check(this, Emitter2), _define_property(this, "disposables",
|
|
17
|
+
_class_call_check(this, Emitter2), _define_property(this, "defaultValue", void 0), _define_property(this, "disposables", void 0), _define_property(this, "listen", void 0), _define_property(this, "emit", void 0), _define_property(this, "use", void 0), _define_property(this, "useValue", void 0), _define_property(this, "nextValue", void 0), this.defaultValue = defaultValue, this.disposables = /* @__PURE__ */ new Set(), this.listen = function(disposable) {
|
|
18
18
|
return _this.disposables.add(disposable), function() {
|
|
19
19
|
_this.disposables.delete(disposable);
|
|
20
20
|
};
|
|
21
|
-
}
|
|
21
|
+
}, this.emit = function(next) {
|
|
22
22
|
_this.disposables.forEach(function(cb) {
|
|
23
23
|
return cb(next);
|
|
24
24
|
});
|
|
25
|
-
}
|
|
25
|
+
}, this.use = function(cb, args) {
|
|
26
26
|
useEffect(function() {
|
|
27
27
|
return _this.listen(cb);
|
|
28
28
|
}, args ?? []);
|
|
29
|
-
})
|
|
29
|
+
}, this.useValue = function() {
|
|
30
|
+
var [state, setState] = useState(_this.defaultValue);
|
|
31
|
+
return _this.use(setState), state;
|
|
32
|
+
}, this.nextValue = function() {
|
|
33
|
+
return new Promise(function(res) {
|
|
34
|
+
var dispose = _this.listen(function(val) {
|
|
35
|
+
dispose(), res(val);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
};
|
|
30
39
|
};
|
|
31
|
-
function createEmitter() {
|
|
32
|
-
return new Emitter();
|
|
40
|
+
function createEmitter(defaultValue) {
|
|
41
|
+
return new Emitter(defaultValue);
|
|
33
42
|
}
|
|
34
43
|
export {
|
|
35
44
|
Emitter,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/one/packages/emitter/src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,
|
|
5
|
-
"names": ["useEffect", "Emitter", "
|
|
4
|
+
"mappings": "AAAA,SAASA,WAAWC,gBAAgB;;;;;;;;;;;;;AAE7B,IAAMC,UAAN,SAAMA,SAGQC,cAAgB;;;0BAHxBD,QAAAA,mDACX,iBAAA,MAAQE,eAAR,MAAA,GAIAC,iBAAAA,MAAAA,UAAAA,MAAAA,GAOAC,iBAAAA,MAAAA,QAAAA,MAAAA,GAIAC,iBAAAA,MAAAA,OAAAA,MAAAA,GAMAC,iBAAAA,MAAAA,YAAAA,MAAAA,GAMAC,iBAAAA,MAAAA,aAAAA,MAAAA,QAzBmBN,eAAAA,mBAFXC,cAAc,oBAAIM,IAAAA,QAI1BL,SAAS,SAACM,YAAAA;AACR,iBAAKP,YAAYQ,IAAID,UAAAA,GACd,WAAA;AACL,YAAKP,YAAYS,OAAOF,UAAAA;IAC1B;EACF,QAEAL,OAAO,SAACQ,MAAAA;AACN,UAAKV,YAAYW,QAAQ,SAACC,IAAAA;aAAOA,GAAGF,IAAAA;;EACtC,QAEAP,MAAM,SAACS,IAAqBC,MAAAA;AAC1BjB,cAAU,WAAA;AACR,aAAO,MAAKK,OAAOW,EAAAA;IACrB,GAAGC,QAAQ,CAAA,CAAE;EACf,QAEAT,WAAW,WAAA;AACT,QAAM,CAACU,OAAOC,QAAAA,IAAYlB,SAAwB,MAAKE,YAAY;AACnE,iBAAKI,IAAIY,QAAAA,GACFD;EACT,QAEAT,YAAY,WAAA;AACV,WAAO,IAAIW,QAAW,SAACC,KAAAA;AACrB,UAAMC,UAAU,MAAKjB,OAAO,SAACkB,KAAAA;AAC3BD,gBAAAA,GACAD,IAAIE,GAAAA;MACN,CAAA;IACF,CAAA;EACF;;AAGK,SAASC,cAAiBrB,cAAgB;AAC/C,SAAO,IAAID,QAAWC,YAAAA;AACxB;",
|
|
5
|
+
"names": ["useEffect", "useState", "Emitter", "defaultValue", "disposables", "listen", "emit", "use", "useValue", "nextValue", "Set", "disposable", "add", "delete", "next", "forEach", "cb", "args", "state", "setState", "Promise", "res", "dispose", "val", "createEmitter"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/emitter",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.370",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"source": "src/index.ts",
|
|
6
|
-
"types": "./
|
|
6
|
+
"types": "./src/index.ts",
|
|
7
7
|
"main": "dist/cjs",
|
|
8
8
|
"module": "dist/esm",
|
|
9
9
|
"exports": {
|
|
10
10
|
"./package.json": "./package.json",
|
|
11
11
|
".": {
|
|
12
|
-
"types": "./
|
|
12
|
+
"types": "./src/index.ts",
|
|
13
13
|
"import": "./dist/esm/index.mjs",
|
|
14
14
|
"require": "./dist/cjs/index.js"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"src",
|
|
19
|
-
"types",
|
|
20
19
|
"dist"
|
|
21
20
|
],
|
|
22
21
|
"scripts": {
|
|
23
|
-
"build": "tamagui-build",
|
|
24
|
-
"watch": "tamagui-build --watch",
|
|
22
|
+
"build": "tamagui-build --skip-types",
|
|
23
|
+
"watch": "tamagui-build --skip-types --watch",
|
|
25
24
|
"lint:fix": "../../node_modules/.bin/biome check --apply-unsafe src",
|
|
26
25
|
"clean": "tamagui-build clean",
|
|
27
26
|
"clean:build": "tamagui-build clean:build"
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { useEffect } from 'react'
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
2
|
|
|
3
3
|
export class Emitter<const T> {
|
|
4
4
|
private disposables = new Set<(cb: any) => void>()
|
|
5
5
|
|
|
6
|
+
constructor(public defaultValue?: T) {}
|
|
7
|
+
|
|
6
8
|
listen = (disposable: (cb: T) => void) => {
|
|
7
9
|
this.disposables.add(disposable)
|
|
8
10
|
return () => {
|
|
@@ -19,8 +21,23 @@ export class Emitter<const T> {
|
|
|
19
21
|
return this.listen(cb)
|
|
20
22
|
}, args ?? [])
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
useValue = () => {
|
|
26
|
+
const [state, setState] = useState<T | undefined>(this.defaultValue)
|
|
27
|
+
this.use(setState)
|
|
28
|
+
return state
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
nextValue = () => {
|
|
32
|
+
return new Promise<T>((res) => {
|
|
33
|
+
const dispose = this.listen((val) => {
|
|
34
|
+
dispose()
|
|
35
|
+
res(val)
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
}
|
|
22
39
|
}
|
|
23
40
|
|
|
24
|
-
export function createEmitter<T>() {
|
|
25
|
-
return new Emitter<T>()
|
|
41
|
+
export function createEmitter<T>(defaultValue?: T) {
|
|
42
|
+
return new Emitter<T>(defaultValue)
|
|
26
43
|
}
|
package/types/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare class Emitter<const T> {
|
|
2
|
-
private disposables;
|
|
3
|
-
listen: (disposable: (cb: T) => void) => () => void;
|
|
4
|
-
emit: (next: T) => void;
|
|
5
|
-
use: (cb: (cb: T) => void, args?: any[]) => void;
|
|
6
|
-
}
|
|
7
|
-
export declare function createEmitter<T>(): Emitter<T>;
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,qBAAa,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,WAAW,CAA+B;IAElD,MAAM,eAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,gBAKpC;IAED,IAAI,SAAU,CAAC,UAEd;IAED,GAAG,OAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,SAAS,GAAG,EAAE,UAIvC;CACF;AAED,wBAAgB,aAAa,CAAC,CAAC,gBAE9B"}
|