@unional/async-context 9.0.12 → 9.0.14
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/README.md +2 -2
- package/cjs/AsyncContext.d.ts.map +1 -1
- package/cjs/AsyncContext.js +2 -4
- package/cjs/AsyncContext.js.map +1 -1
- package/cjs/errors.d.ts.map +1 -1
- package/cjs/errors.js +1 -1
- package/cjs/errors.js.map +1 -1
- package/cjs/package.json +2 -2
- package/esm/AsyncContext.d.ts.map +1 -1
- package/esm/AsyncContext.js +2 -4
- package/esm/AsyncContext.js.map +1 -1
- package/esm/errors.d.ts.map +1 -1
- package/esm/errors.js +1 -1
- package/esm/errors.js.map +1 -1
- package/package.json +16 -25
- package/ts/AsyncContext.ts +9 -16
- package/ts/errors.ts +1 -5
package/README.md
CHANGED
|
@@ -210,8 +210,8 @@ configure({ ... })
|
|
|
210
210
|
|
|
211
211
|
[bundlephobia-image]: https://img.shields.io/bundlephobia/minzip/@unional/async-context.svg
|
|
212
212
|
[bundlephobia-url]: https://bundlephobia.com/result?p=@unional/async-context
|
|
213
|
-
[codecov-image]: https://codecov.io/gh/
|
|
214
|
-
[codecov-url]: https://codecov.io/gh/
|
|
213
|
+
[codecov-image]: https://codecov.io/gh/cyberuni/async-fp/branch/main/graph/badge.svg
|
|
214
|
+
[codecov-url]: https://codecov.io/gh/cyberuni/async-fp
|
|
215
215
|
[downloads-image]: https://img.shields.io/npm/dm/@unional/async-context.svg?style=flat
|
|
216
216
|
[downloads-url]: https://npmjs.org/package/@unional/async-context
|
|
217
217
|
[introduction_video]: https://youtu.be/9EnrSJdvP48
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncContext.d.ts","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGzC,qBAAa,YAAY,CACxB,IAAI,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EACzC,OAAO,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;;
|
|
1
|
+
{"version":3,"file":"AsyncContext.d.ts","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGzC,qBAAa,YAAY,CACxB,IAAI,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EACzC,OAAO,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;;IAOnD,YAAY,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAEvE;IACD,UAAU,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAMrG;IACD,MAAM,CACL,cAAc,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,EAC7D,iBAAiB,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAErF,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAC5G,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAejE;IACK,GAAG,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAInC;CAID;AACD,yBAAiB,YAAY,CAAC;IAC7B,KAAY,WAAW,CAAC,IAAI,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,KAAY,WAAW,CAAC,cAAc,EAAE,iBAAiB,IAAI,CAC5D,OAAO,EAAE,cAAc,KACnB,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACnD"}
|
package/cjs/AsyncContext.js
CHANGED
|
@@ -29,7 +29,7 @@ class AsyncContext {
|
|
|
29
29
|
throw new errors_js_1.ContextAlreadyInitialized({ ssf: this.initialize });
|
|
30
30
|
__classPrivateFieldSet(this, _AsyncContext_init, init, "f");
|
|
31
31
|
if (__classPrivateFieldGet(this, _AsyncContext_resolvers, "f").length > 0)
|
|
32
|
-
__classPrivateFieldGet(this, _AsyncContext_resolvers, "f").forEach(r => r(__classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this)));
|
|
32
|
+
__classPrivateFieldGet(this, _AsyncContext_resolvers, "f").forEach((r) => void r(__classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this)));
|
|
33
33
|
return this;
|
|
34
34
|
}
|
|
35
35
|
extend(context) {
|
|
@@ -54,9 +54,7 @@ class AsyncContext {
|
|
|
54
54
|
throw new errors_js_1.BlockingGetDetected({ ssf: this.get });
|
|
55
55
|
if (__classPrivateFieldGet(this, _AsyncContext_resolving, "f"))
|
|
56
56
|
return __classPrivateFieldGet(this, _AsyncContext_resolving, "f");
|
|
57
|
-
return (__classPrivateFieldSet(this, _AsyncContext_resolving, __classPrivateFieldGet(this, _AsyncContext_init, "f")
|
|
58
|
-
? __classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this)
|
|
59
|
-
: new Promise(a => __classPrivateFieldGet(this, _AsyncContext_resolvers, "f").push(a)), "f"));
|
|
57
|
+
return (__classPrivateFieldSet(this, _AsyncContext_resolving, __classPrivateFieldGet(this, _AsyncContext_init, "f") ? __classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this) : new Promise((a) => __classPrivateFieldGet(this, _AsyncContext_resolvers, "f").push(a)), "f"));
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
exports.AsyncContext = AsyncContext;
|
package/cjs/AsyncContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncContext.js","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAA4E;AAE5E
|
|
1
|
+
{"version":3,"file":"AsyncContext.js","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAA4E;AAE5E;IASC,YAAY,IAA4D;;QALxE,0CAAoC;QACpC,kCAAuD,EAAE,EAAA;QACzD,qCAAgB,KAAK,EAAA;QACrB,qCAAwE;QACxE,yCAA6C;QAE5C,uBAAA,IAAI,sBAAS,IAAI,MAAA,CAAA;IAClB,CAAC;IACD,UAAU,CAAwB,IAAkD;QACnF,IAAI,uBAAA,IAAI,0BAAM;YAAE,MAAM,IAAI,qCAAyB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7E,uBAAA,IAAI,sBAAS,IAAI,MAAA,CAAA;QAEjB,IAAI,uBAAA,IAAI,+BAAW,CAAC,MAAM,GAAG,CAAC;YAAE,uBAAA,IAAI,+BAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,uBAAA,IAAI,2DAAc,MAAlB,IAAI,CAAgB,CAAC,CAAC,CAAA;QAC5F,OAAO,IAA8B,CAAA;IACtC,CAAC;IACD,MAAM,CAIL,OAA8G;QAE9G,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC9B,uBAAA,MAAM,8BAAiB,IAAI,MAAA,CAAA;gBAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAW,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBACpF,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;YACjC,CAAC;oBAAS,CAAC;gBACV,uBAAA,MAAM,8BAAiB,KAAK,MAAA,CAAA;YAC7B,CAAC;QACF,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,uBAAA,IAAI,8BAAU,IAAI,IAAI,CAAA;QAClC,uBAAA,MAAM,0BAAa,GAAG,MAAA,CAAA;QACtB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAA;IACd,CAAC;IACD,KAAK,CAAC,GAAG;QACR,IAAI,uBAAA,IAAI,kCAAc;YAAE,MAAM,IAAI,+BAAmB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACxE,IAAI,uBAAA,IAAI,+BAAW;YAAE,OAAO,uBAAA,IAAI,+BAAW,CAAA;QAC3C,OAAO,CAAC,uBAAA,IAAI,2BAAc,uBAAA,IAAI,0BAAM,CAAC,CAAC,CAAC,uBAAA,IAAI,2DAAc,MAAlB,IAAI,CAAgB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAM,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAA,IAAI,+BAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,CAAC,CAAA;IAChH,CAAC;CAID;;gRAHA,KAAK;IACJ,OAAO,WAAW,CAAC,uBAAA,IAAI,0BAAO,CAA4B,CAAA;AAC3D,CAAC;AASF,KAAK,UAAU,WAAW,CACzB,IAA2D;IAE3D,OAAO,aAAa,CAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,SAAS,aAAa,CACrB,OAAgB;IAEhB,OAAO,OAAO,OAAO,KAAK,UAAU,CAAA;AACrC,CAAC;AAED,SAAS,aAAa,CAAI,OAAgB;IACzC,OAAO,OAAO,OAAO,KAAK,UAAU,CAAA;AACrC,CAAC"}
|
package/cjs/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,qBAAa,yBAA0B,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,qBAAa,yBAA0B,SAAQ,WAAW;IACzD,YAAY,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAExC;CACD;AAED,qBAAa,mBAAoB,SAAQ,WAAW;IACnD,YAAY,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAExC;CACD"}
|
package/cjs/errors.js
CHANGED
|
@@ -10,7 +10,7 @@ class ContextAlreadyInitialized extends iso_error_1.ModuleError {
|
|
|
10
10
|
exports.ContextAlreadyInitialized = ContextAlreadyInitialized;
|
|
11
11
|
class BlockingGetDetected extends iso_error_1.ModuleError {
|
|
12
12
|
constructor(options) {
|
|
13
|
-
super('@unional/async-context',
|
|
13
|
+
super('@unional/async-context', 'a blocking get() detected. Are you calling it within extend()?', options);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.BlockingGetDetected = BlockingGetDetected;
|
package/cjs/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAEvC,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAEvC,+BAAuC,SAAQ,uBAAW;IACzD,YAAY,OAA6B;QACxC,KAAK,CAAC,wBAAwB,EAAE,uCAAuC,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;CACD;;AAED,yBAAiC,SAAQ,uBAAW;IACnD,YAAY,OAA6B;QACxC,KAAK,CAAC,wBAAwB,EAAE,gEAAgE,EAAE,OAAO,CAAC,CAAA;IAC3G,CAAC;CACD"}
|
package/cjs/package.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
}
|
|
2
|
+
"type": "commonjs"
|
|
3
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncContext.d.ts","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGzC,qBAAa,YAAY,CACxB,IAAI,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EACzC,OAAO,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;;
|
|
1
|
+
{"version":3,"file":"AsyncContext.d.ts","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGzC,qBAAa,YAAY,CACxB,IAAI,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EACzC,OAAO,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;;IAOnD,YAAY,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAEvE;IACD,UAAU,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAMrG;IACD,MAAM,CACL,cAAc,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,EAC7D,iBAAiB,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAErF,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAC5G,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAejE;IACK,GAAG,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAInC;CAID;AACD,yBAAiB,YAAY,CAAC;IAC7B,KAAY,WAAW,CAAC,IAAI,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,KAAY,WAAW,CAAC,cAAc,EAAE,iBAAiB,IAAI,CAC5D,OAAO,EAAE,cAAc,KACnB,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACnD"}
|
package/esm/AsyncContext.js
CHANGED
|
@@ -26,7 +26,7 @@ export class AsyncContext {
|
|
|
26
26
|
throw new ContextAlreadyInitialized({ ssf: this.initialize });
|
|
27
27
|
__classPrivateFieldSet(this, _AsyncContext_init, init, "f");
|
|
28
28
|
if (__classPrivateFieldGet(this, _AsyncContext_resolvers, "f").length > 0)
|
|
29
|
-
__classPrivateFieldGet(this, _AsyncContext_resolvers, "f").forEach(r => r(__classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this)));
|
|
29
|
+
__classPrivateFieldGet(this, _AsyncContext_resolvers, "f").forEach((r) => void r(__classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this)));
|
|
30
30
|
return this;
|
|
31
31
|
}
|
|
32
32
|
extend(context) {
|
|
@@ -51,9 +51,7 @@ export class AsyncContext {
|
|
|
51
51
|
throw new BlockingGetDetected({ ssf: this.get });
|
|
52
52
|
if (__classPrivateFieldGet(this, _AsyncContext_resolving, "f"))
|
|
53
53
|
return __classPrivateFieldGet(this, _AsyncContext_resolving, "f");
|
|
54
|
-
return (__classPrivateFieldSet(this, _AsyncContext_resolving, __classPrivateFieldGet(this, _AsyncContext_init, "f")
|
|
55
|
-
? __classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this)
|
|
56
|
-
: new Promise(a => __classPrivateFieldGet(this, _AsyncContext_resolvers, "f").push(a)), "f"));
|
|
54
|
+
return (__classPrivateFieldSet(this, _AsyncContext_resolving, __classPrivateFieldGet(this, _AsyncContext_init, "f") ? __classPrivateFieldGet(this, _AsyncContext_instances, "m", _AsyncContext_buildContext).call(this) : new Promise((a) => __classPrivateFieldGet(this, _AsyncContext_resolvers, "f").push(a)), "f"));
|
|
57
55
|
}
|
|
58
56
|
}
|
|
59
57
|
_AsyncContext_resolving = new WeakMap(), _AsyncContext_resolvers = new WeakMap(), _AsyncContext_transforming = new WeakMap(), _AsyncContext_init = new WeakMap(), _AsyncContext_original = new WeakMap(), _AsyncContext_instances = new WeakSet(), _AsyncContext_buildContext = async function _AsyncContext_buildContext() {
|
package/esm/AsyncContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncContext.js","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5E,MAAM,OAAO,YAAY;IASxB,YAAY,IAA4D;;QALxE,0CAAoC;QACpC,kCAAuD,EAAE,EAAA;QACzD,qCAAgB,KAAK,EAAA;QACrB,qCAAwE;QACxE,yCAA6C;QAE5C,uBAAA,IAAI,sBAAS,IAAI,MAAA,CAAA;IAClB,CAAC;IACD,UAAU,
|
|
1
|
+
{"version":3,"file":"AsyncContext.js","sourceRoot":"","sources":["../ts/AsyncContext.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5E,MAAM,OAAO,YAAY;IASxB,YAAY,IAA4D;;QALxE,0CAAoC;QACpC,kCAAuD,EAAE,EAAA;QACzD,qCAAgB,KAAK,EAAA;QACrB,qCAAwE;QACxE,yCAA6C;QAE5C,uBAAA,IAAI,sBAAS,IAAI,MAAA,CAAA;IAClB,CAAC;IACD,UAAU,CAAwB,IAAkD;QACnF,IAAI,uBAAA,IAAI,0BAAM;YAAE,MAAM,IAAI,yBAAyB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7E,uBAAA,IAAI,sBAAS,IAAI,MAAA,CAAA;QAEjB,IAAI,uBAAA,IAAI,+BAAW,CAAC,MAAM,GAAG,CAAC;YAAE,uBAAA,IAAI,+BAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,uBAAA,IAAI,2DAAc,MAAlB,IAAI,CAAgB,CAAC,CAAC,CAAA;QAC5F,OAAO,IAA8B,CAAA;IACtC,CAAC;IACD,MAAM,CAIL,OAA8G;QAE9G,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC9B,uBAAA,MAAM,8BAAiB,IAAI,MAAA,CAAA;gBAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAW,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBACpF,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;YACjC,CAAC;oBAAS,CAAC;gBACV,uBAAA,MAAM,8BAAiB,KAAK,MAAA,CAAA;YAC7B,CAAC;QACF,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,uBAAA,IAAI,8BAAU,IAAI,IAAI,CAAA;QAClC,uBAAA,MAAM,0BAAa,GAAG,MAAA,CAAA;QACtB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAA;IACd,CAAC;IACD,KAAK,CAAC,GAAG;QACR,IAAI,uBAAA,IAAI,kCAAc;YAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACxE,IAAI,uBAAA,IAAI,+BAAW;YAAE,OAAO,uBAAA,IAAI,+BAAW,CAAA;QAC3C,OAAO,CAAC,uBAAA,IAAI,2BAAc,uBAAA,IAAI,0BAAM,CAAC,CAAC,CAAC,uBAAA,IAAI,2DAAc,MAAlB,IAAI,CAAgB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAM,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAA,IAAI,+BAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,CAAC,CAAA;IAChH,CAAC;CAID;gRAHA,KAAK;IACJ,OAAO,WAAW,CAAC,uBAAA,IAAI,0BAAO,CAA4B,CAAA;AAC3D,CAAC;AASF,KAAK,UAAU,WAAW,CACzB,IAA2D;IAE3D,OAAO,aAAa,CAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,SAAS,aAAa,CACrB,OAAgB;IAEhB,OAAO,OAAO,OAAO,KAAK,UAAU,CAAA;AACrC,CAAC;AAED,SAAS,aAAa,CAAI,OAAgB;IACzC,OAAO,OAAO,OAAO,KAAK,UAAU,CAAA;AACrC,CAAC"}
|
package/esm/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,qBAAa,yBAA0B,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,qBAAa,yBAA0B,SAAQ,WAAW;IACzD,YAAY,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAExC;CACD;AAED,qBAAa,mBAAoB,SAAQ,WAAW;IACnD,YAAY,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAExC;CACD"}
|
package/esm/errors.js
CHANGED
|
@@ -6,7 +6,7 @@ export class ContextAlreadyInitialized extends ModuleError {
|
|
|
6
6
|
}
|
|
7
7
|
export class BlockingGetDetected extends ModuleError {
|
|
8
8
|
constructor(options) {
|
|
9
|
-
super('@unional/async-context',
|
|
9
|
+
super('@unional/async-context', 'a blocking get() detected. Are you calling it within extend()?', options);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=errors.js.map
|
package/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACzD,YAAY,OAA6B;QACxC,KAAK,CAAC,wBAAwB,EAAE,uCAAuC,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IACnD,YAAY,OAA6B;QACxC,KAAK,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACzD,YAAY,OAA6B;QACxC,KAAK,CAAC,wBAAwB,EAAE,uCAAuC,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IACnD,YAAY,OAA6B;QACxC,KAAK,CAAC,wBAAwB,EAAE,gEAAgE,EAAE,OAAO,CAAC,CAAA;IAC3G,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unional/async-context",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.14",
|
|
4
4
|
"description": "Asynchronous context for functional style programming",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"async",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"functional",
|
|
10
10
|
"typescript"
|
|
11
11
|
],
|
|
12
|
-
"homepage": "https://github.com/
|
|
12
|
+
"homepage": "https://github.com/cyberuni/async-fp/tree/main/packages/async-context",
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/
|
|
14
|
+
"url": "https://github.com/cyberuni/async-fp/issues"
|
|
15
15
|
},
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "https://github.com/
|
|
18
|
+
"url": "https://github.com/cyberuni/async-fp.git",
|
|
19
19
|
"directory": "packages/async-context"
|
|
20
20
|
},
|
|
21
21
|
"license": "MIT",
|
|
@@ -49,28 +49,20 @@
|
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"iso-error": "^6.0.2",
|
|
52
|
-
"type-plus": "
|
|
52
|
+
"type-plus": "8.0.0-beta.8"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@repobuddy/
|
|
56
|
-
"@
|
|
57
|
-
"@size-limit/preset-small-lib": "^8.0.1",
|
|
55
|
+
"@repobuddy/typescript": "^2.0.0",
|
|
56
|
+
"@size-limit/preset-small-lib": "^13.0.0",
|
|
58
57
|
"@types/setimmediate": "^1.0.2",
|
|
58
|
+
"@vitest/coverage-v8": "^4.0.8",
|
|
59
59
|
"assertron": "^11.0.1",
|
|
60
|
-
"
|
|
61
|
-
"depcheck": "^1.4.3",
|
|
62
|
-
"jest": "^29.5.0",
|
|
63
|
-
"jest-esm-transformer-2": "^1.0.0",
|
|
64
|
-
"jest-watch-suspend": "^1.1.2",
|
|
65
|
-
"jest-watch-toggle-config-2": "^2.1.0",
|
|
66
|
-
"jest-watch-typeahead": "^2.2.2",
|
|
67
|
-
"npm-run-all": "^4.1.5",
|
|
60
|
+
"npm-run-all2": "^9.0.0",
|
|
68
61
|
"repobuddy": "^1.0.2",
|
|
69
|
-
"rimraf": "^
|
|
62
|
+
"rimraf": "^6.0.0",
|
|
70
63
|
"setimmediate": "^1.0.5",
|
|
71
|
-
"size-limit": "^
|
|
72
|
-
"
|
|
73
|
-
"typescript": "5.1.3"
|
|
64
|
+
"size-limit": "^13.0.0",
|
|
65
|
+
"vitest": "^4.0.8"
|
|
74
66
|
},
|
|
75
67
|
"engines": {
|
|
76
68
|
"node": ">= 14.16"
|
|
@@ -91,12 +83,11 @@
|
|
|
91
83
|
"build:cjs": "buddy ts build cjs",
|
|
92
84
|
"build:esm": "tsc",
|
|
93
85
|
"clean": "rimraf cjs esm coverage *.tsbuildinfo",
|
|
94
|
-
"coverage": "
|
|
95
|
-
"
|
|
96
|
-
"lint": "cross-env TIMING=1 eslint --ext=ts,js,cjs,mjs .",
|
|
86
|
+
"coverage": "vitest run --coverage",
|
|
87
|
+
"lint": "biome check .",
|
|
97
88
|
"nuke": "pnpm clean && rimraf node_modules",
|
|
98
89
|
"size": "size-limit",
|
|
99
|
-
"test": "
|
|
100
|
-
"verify": "npm-run-all -p lint build coverage
|
|
90
|
+
"test": "vitest run",
|
|
91
|
+
"verify": "npm-run-all -p lint build coverage size"
|
|
101
92
|
}
|
|
102
93
|
}
|
package/ts/AsyncContext.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { BlockingGetDetected, ContextAlreadyInitialized } from './errors.js'
|
|
|
3
3
|
|
|
4
4
|
export class AsyncContext<
|
|
5
5
|
Init extends Record<string | symbol, any>,
|
|
6
|
-
Context extends Record<string | symbol, any> = Init
|
|
6
|
+
Context extends Record<string | symbol, any> = Init,
|
|
7
7
|
> {
|
|
8
8
|
#resolving: Promise<any> | undefined
|
|
9
9
|
#resolvers: Array<(value: Promise<Context>) => void> = []
|
|
@@ -13,23 +13,18 @@ export class AsyncContext<
|
|
|
13
13
|
constructor(init?: Init | Promise<Init> | AsyncContext.Initializer<Init>) {
|
|
14
14
|
this.#init = init
|
|
15
15
|
}
|
|
16
|
-
initialize<I extends Init = Init>(
|
|
17
|
-
init: I | Promise<I> | AsyncContext.Initializer<I>
|
|
18
|
-
): AsyncContext<I> {
|
|
16
|
+
initialize<I extends Init = Init>(init: I | Promise<I> | AsyncContext.Initializer<I>): AsyncContext<I> {
|
|
19
17
|
if (this.#init) throw new ContextAlreadyInitialized({ ssf: this.initialize })
|
|
20
18
|
this.#init = init
|
|
21
19
|
|
|
22
|
-
if (this.#resolvers.length > 0) this.#resolvers.forEach(r => r(this.#buildContext()))
|
|
20
|
+
if (this.#resolvers.length > 0) this.#resolvers.forEach((r) => void r(this.#buildContext()))
|
|
23
21
|
return this as any as AsyncContext<I>
|
|
24
22
|
}
|
|
25
23
|
extend<
|
|
26
24
|
CurrentContext extends Record<string | symbol, any> = Context,
|
|
27
|
-
AdditionalContext extends Record<string | symbol, any> = Record<string | symbol, any
|
|
25
|
+
AdditionalContext extends Record<string | symbol, any> = Record<string | symbol, any>,
|
|
28
26
|
>(
|
|
29
|
-
context:
|
|
30
|
-
| AdditionalContext
|
|
31
|
-
| Promise<AdditionalContext>
|
|
32
|
-
| AsyncContext.Transformer<Context, AdditionalContext>
|
|
27
|
+
context: AdditionalContext | Promise<AdditionalContext> | AsyncContext.Transformer<Context, AdditionalContext>,
|
|
33
28
|
): AsyncContext<Init, LeftJoin<CurrentContext, AdditionalContext>> {
|
|
34
29
|
const newctx = new AsyncContext(async () => {
|
|
35
30
|
try {
|
|
@@ -49,9 +44,7 @@ export class AsyncContext<
|
|
|
49
44
|
async get<C = Context>(): Promise<C> {
|
|
50
45
|
if (this.#transforming) throw new BlockingGetDetected({ ssf: this.get })
|
|
51
46
|
if (this.#resolving) return this.#resolving
|
|
52
|
-
return (this.#resolving = this.#init
|
|
53
|
-
? this.#buildContext()
|
|
54
|
-
: new Promise<any>(a => this.#resolvers.push(a)))
|
|
47
|
+
return (this.#resolving = this.#init ? this.#buildContext() : new Promise<any>((a) => this.#resolvers.push(a)))
|
|
55
48
|
}
|
|
56
49
|
async #buildContext(): Promise<Context> {
|
|
57
50
|
return resolveInit(this.#init!) as any as Promise<Context>
|
|
@@ -60,18 +53,18 @@ export class AsyncContext<
|
|
|
60
53
|
export namespace AsyncContext {
|
|
61
54
|
export type Initializer<Init> = () => Init | Promise<Init>
|
|
62
55
|
export type Transformer<CurrentContext, AdditionalContext> = (
|
|
63
|
-
context: CurrentContext
|
|
56
|
+
context: CurrentContext,
|
|
64
57
|
) => AdditionalContext | Promise<AdditionalContext>
|
|
65
58
|
}
|
|
66
59
|
|
|
67
60
|
async function resolveInit<Init extends Record<string | symbol, any>>(
|
|
68
|
-
init: Init | Promise<Init> | AsyncContext.Initializer<Init
|
|
61
|
+
init: Init | Promise<Init> | AsyncContext.Initializer<Init>,
|
|
69
62
|
): Promise<Init> {
|
|
70
63
|
return isInitializer<Init>(init) ? init() : init
|
|
71
64
|
}
|
|
72
65
|
|
|
73
66
|
function isTransformer<CurrentContext, AdditionalContext>(
|
|
74
|
-
context: unknown
|
|
67
|
+
context: unknown,
|
|
75
68
|
): context is AsyncContext.Transformer<CurrentContext, AdditionalContext> {
|
|
76
69
|
return typeof context === 'function'
|
|
77
70
|
}
|
package/ts/errors.ts
CHANGED
|
@@ -8,10 +8,6 @@ export class ContextAlreadyInitialized extends ModuleError {
|
|
|
8
8
|
|
|
9
9
|
export class BlockingGetDetected extends ModuleError {
|
|
10
10
|
constructor(options?: ModuleError.Options) {
|
|
11
|
-
super(
|
|
12
|
-
'@unional/async-context',
|
|
13
|
-
`a blocking get() detected. Are you calling it within extend()?`,
|
|
14
|
-
options
|
|
15
|
-
)
|
|
11
|
+
super('@unional/async-context', 'a blocking get() detected. Are you calling it within extend()?', options)
|
|
16
12
|
}
|
|
17
13
|
}
|