@effect/platform 0.62.3 → 0.62.4
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/Runtime.js +40 -1
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/dts/Runtime.d.ts +18 -3
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/esm/Runtime.js +38 -0
- package/dist/esm/Runtime.js.map +1 -1
- package/package.json +3 -3
- package/src/Runtime.ts +69 -3
package/dist/cjs/Runtime.js
CHANGED
|
@@ -3,9 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.defaultTeardown = void 0;
|
|
6
|
+
exports.makeRunMain = exports.defaultTeardown = void 0;
|
|
7
7
|
var Cause = _interopRequireWildcard(require("effect/Cause"));
|
|
8
|
+
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
8
9
|
var Exit = _interopRequireWildcard(require("effect/Exit"));
|
|
10
|
+
var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
|
|
11
|
+
var FiberRefs = _interopRequireWildcard(require("effect/FiberRefs"));
|
|
12
|
+
var _Function = require("effect/Function");
|
|
13
|
+
var HashSet = _interopRequireWildcard(require("effect/HashSet"));
|
|
14
|
+
var Logger = _interopRequireWildcard(require("effect/Logger"));
|
|
9
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
17
|
/**
|
|
@@ -20,4 +26,37 @@ const defaultTeardown = (exit, onExit) => {
|
|
|
20
26
|
onExit(Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause) ? 1 : 0);
|
|
21
27
|
};
|
|
22
28
|
exports.defaultTeardown = defaultTeardown;
|
|
29
|
+
const addPrettyLogger = (refs, fiberId) => {
|
|
30
|
+
const loggers = FiberRefs.getOrDefault(refs, FiberRef.currentLoggers);
|
|
31
|
+
if (!HashSet.has(loggers, Logger.defaultLogger)) {
|
|
32
|
+
return refs;
|
|
33
|
+
}
|
|
34
|
+
return FiberRefs.updateAs(refs, {
|
|
35
|
+
fiberId,
|
|
36
|
+
fiberRef: FiberRef.currentLoggers,
|
|
37
|
+
value: loggers.pipe(HashSet.remove(Logger.defaultLogger), HashSet.add(Logger.prettyLogger()))
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* @category constructors
|
|
42
|
+
* @since 1.0.0
|
|
43
|
+
*/
|
|
44
|
+
const makeRunMain = f => (0, _Function.dual)(args => Effect.isEffect(args[0]), (effect, options) => {
|
|
45
|
+
const fiber = options?.disableErrorReporting === true ? Effect.runFork(effect, {
|
|
46
|
+
updateRefs: options?.disablePrettyLogger === true ? undefined : addPrettyLogger
|
|
47
|
+
}) : Effect.runFork(Effect.tapErrorCause(effect, cause => {
|
|
48
|
+
if (Cause.isInterruptedOnly(cause)) {
|
|
49
|
+
return Effect.void;
|
|
50
|
+
}
|
|
51
|
+
return Effect.logError(cause);
|
|
52
|
+
}), {
|
|
53
|
+
updateRefs: options?.disablePrettyLogger === true ? undefined : addPrettyLogger
|
|
54
|
+
});
|
|
55
|
+
const teardown = options?.teardown ?? defaultTeardown;
|
|
56
|
+
return f({
|
|
57
|
+
fiber,
|
|
58
|
+
teardown
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
exports.makeRunMain = makeRunMain;
|
|
23
62
|
//# sourceMappingURL=Runtime.js.map
|
package/dist/cjs/Runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.js","names":["Cause","_interopRequireWildcard","require","Exit","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","exports"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"Runtime.js","names":["Cause","_interopRequireWildcard","require","Effect","Exit","FiberRef","FiberRefs","_Function","HashSet","Logger","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","exports","addPrettyLogger","refs","fiberId","loggers","getOrDefault","currentLoggers","defaultLogger","updateAs","fiberRef","value","pipe","remove","add","prettyLogger","makeRunMain","f","dual","args","isEffect","effect","options","fiber","disableErrorReporting","runFork","updateRefs","disablePrettyLogger","undefined","tapErrorCause","void","logError","teardown"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Runtime.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Exit from "effect/Exit";
|
|
3
|
+
import type * as Fiber from "effect/Fiber";
|
|
3
4
|
/**
|
|
4
5
|
* @category model
|
|
5
6
|
* @since 1.0.0
|
|
@@ -17,9 +18,23 @@ export declare const defaultTeardown: Teardown;
|
|
|
17
18
|
* @since 1.0.0
|
|
18
19
|
*/
|
|
19
20
|
export interface RunMain {
|
|
21
|
+
(options?: {
|
|
22
|
+
readonly disableErrorReporting?: boolean | undefined;
|
|
23
|
+
readonly disablePrettyLogger?: boolean | undefined;
|
|
24
|
+
readonly teardown?: Teardown | undefined;
|
|
25
|
+
}): <E, A>(effect: Effect.Effect<A, E>) => void;
|
|
20
26
|
<E, A>(effect: Effect.Effect<A, E>, options?: {
|
|
21
|
-
readonly disableErrorReporting?: boolean;
|
|
22
|
-
readonly
|
|
27
|
+
readonly disableErrorReporting?: boolean | undefined;
|
|
28
|
+
readonly disablePrettyLogger?: boolean | undefined;
|
|
29
|
+
readonly teardown?: Teardown | undefined;
|
|
23
30
|
}): void;
|
|
24
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @category constructors
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
*/
|
|
36
|
+
export declare const makeRunMain: (f: <E, A>(options: {
|
|
37
|
+
readonly fiber: Fiber.RuntimeFiber<A, E>;
|
|
38
|
+
readonly teardown: Teardown;
|
|
39
|
+
}) => void) => RunMain;
|
|
25
40
|
//# sourceMappingURL=Runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../src/Runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../src/Runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAQ1C;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;CACpE;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,QAK7B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IAC9C,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,IAAI,CAAA;CACR;AAiBD;;;GAGG;AACH,eAAO,MAAM,WAAW,MACnB,CAAC,CAAC,EAAE,CAAC,EACN,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC5B,KACE,IAAI,KACR,OAuBC,CAAA"}
|
package/dist/esm/Runtime.js
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Cause from "effect/Cause";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
5
6
|
import * as Exit from "effect/Exit";
|
|
7
|
+
import * as FiberRef from "effect/FiberRef";
|
|
8
|
+
import * as FiberRefs from "effect/FiberRefs";
|
|
9
|
+
import { dual } from "effect/Function";
|
|
10
|
+
import * as HashSet from "effect/HashSet";
|
|
11
|
+
import * as Logger from "effect/Logger";
|
|
6
12
|
/**
|
|
7
13
|
* @category teardown
|
|
8
14
|
* @since 1.0.0
|
|
@@ -10,4 +16,36 @@ import * as Exit from "effect/Exit";
|
|
|
10
16
|
export const defaultTeardown = (exit, onExit) => {
|
|
11
17
|
onExit(Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause) ? 1 : 0);
|
|
12
18
|
};
|
|
19
|
+
const addPrettyLogger = (refs, fiberId) => {
|
|
20
|
+
const loggers = FiberRefs.getOrDefault(refs, FiberRef.currentLoggers);
|
|
21
|
+
if (!HashSet.has(loggers, Logger.defaultLogger)) {
|
|
22
|
+
return refs;
|
|
23
|
+
}
|
|
24
|
+
return FiberRefs.updateAs(refs, {
|
|
25
|
+
fiberId,
|
|
26
|
+
fiberRef: FiberRef.currentLoggers,
|
|
27
|
+
value: loggers.pipe(HashSet.remove(Logger.defaultLogger), HashSet.add(Logger.prettyLogger()))
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @category constructors
|
|
32
|
+
* @since 1.0.0
|
|
33
|
+
*/
|
|
34
|
+
export const makeRunMain = f => dual(args => Effect.isEffect(args[0]), (effect, options) => {
|
|
35
|
+
const fiber = options?.disableErrorReporting === true ? Effect.runFork(effect, {
|
|
36
|
+
updateRefs: options?.disablePrettyLogger === true ? undefined : addPrettyLogger
|
|
37
|
+
}) : Effect.runFork(Effect.tapErrorCause(effect, cause => {
|
|
38
|
+
if (Cause.isInterruptedOnly(cause)) {
|
|
39
|
+
return Effect.void;
|
|
40
|
+
}
|
|
41
|
+
return Effect.logError(cause);
|
|
42
|
+
}), {
|
|
43
|
+
updateRefs: options?.disablePrettyLogger === true ? undefined : addPrettyLogger
|
|
44
|
+
});
|
|
45
|
+
const teardown = options?.teardown ?? defaultTeardown;
|
|
46
|
+
return f({
|
|
47
|
+
fiber,
|
|
48
|
+
teardown
|
|
49
|
+
});
|
|
50
|
+
});
|
|
13
51
|
//# sourceMappingURL=Runtime.js.map
|
package/dist/esm/Runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.js","names":["Cause","Exit","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;
|
|
1
|
+
{"version":3,"file":"Runtime.js","names":["Cause","Effect","Exit","FiberRef","FiberRefs","dual","HashSet","Logger","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","addPrettyLogger","refs","fiberId","loggers","getOrDefault","currentLoggers","has","defaultLogger","updateAs","fiberRef","value","pipe","remove","add","prettyLogger","makeRunMain","f","args","isEffect","effect","options","fiber","disableErrorReporting","runFork","updateRefs","disablePrettyLogger","undefined","tapErrorCause","void","logError","teardown"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAUvC;;;;AAIA,OAAO,MAAMC,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACR,IAAI,CAACS,SAAS,CAACF,IAAI,CAAC,IAAI,CAACT,KAAK,CAACY,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAwBD,MAAMC,eAAe,GAAGA,CAACC,IAAyB,EAAEC,OAAwB,KAAI;EAC9E,MAAMC,OAAO,GAAGb,SAAS,CAACc,YAAY,CAACH,IAAI,EAAEZ,QAAQ,CAACgB,cAAc,CAAC;EACrE,IAAI,CAACb,OAAO,CAACc,GAAG,CAACH,OAAO,EAAEV,MAAM,CAACc,aAAa,CAAC,EAAE;IAC/C,OAAON,IAAI;EACb;EACA,OAAOX,SAAS,CAACkB,QAAQ,CAACP,IAAI,EAAE;IAC9BC,OAAO;IACPO,QAAQ,EAAEpB,QAAQ,CAACgB,cAAc;IACjCK,KAAK,EAAEP,OAAO,CAACQ,IAAI,CACjBnB,OAAO,CAACoB,MAAM,CAACnB,MAAM,CAACc,aAAa,CAAC,EACpCf,OAAO,CAACqB,GAAG,CAACpB,MAAM,CAACqB,YAAY,EAAE,CAAC;GAErC,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GACtBC,CAKS,IAETzB,IAAI,CAAE0B,IAAI,IAAK9B,MAAM,CAAC+B,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACE,MAA+B,EAAEC,OAI1E,KAAI;EACH,MAAMC,KAAK,GAAGD,OAAO,EAAEE,qBAAqB,KAAK,IAAI,GACjDnC,MAAM,CAACoC,OAAO,CAACJ,MAAM,EAAE;IACvBK,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CAAC,GACAb,MAAM,CAACoC,OAAO,CACdpC,MAAM,CAACwC,aAAa,CAACR,MAAM,EAAGpB,KAAK,IAAI;IACrC,IAAIb,KAAK,CAACY,iBAAiB,CAACC,KAAK,CAAC,EAAE;MAClC,OAAOZ,MAAM,CAACyC,IAAI;IACpB;IACA,OAAOzC,MAAM,CAAC0C,QAAQ,CAAC9B,KAAK,CAAC;EAC/B,CAAC,CAAC,EACF;IACEyB,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CACF;EACH,MAAM8B,QAAQ,GAAGV,OAAO,EAAEU,QAAQ,IAAIpC,eAAe;EACrD,OAAOsB,CAAC,CAAC;IAAEK,KAAK;IAAES;EAAQ,CAAE,CAAC;AAC/B,CAAC,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.62.
|
|
3
|
+
"version": "0.62.4",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"multipasta": "^0.2.5"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@effect/schema": "^0.71.
|
|
18
|
-
"effect": "^3.6.
|
|
17
|
+
"@effect/schema": "^0.71.3",
|
|
18
|
+
"effect": "^3.6.7"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"provenance": true
|
package/src/Runtime.ts
CHANGED
|
@@ -2,8 +2,15 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Cause from "effect/Cause"
|
|
5
|
-
import
|
|
5
|
+
import * as Effect from "effect/Effect"
|
|
6
6
|
import * as Exit from "effect/Exit"
|
|
7
|
+
import type * as Fiber from "effect/Fiber"
|
|
8
|
+
import type * as FiberId from "effect/FiberId"
|
|
9
|
+
import * as FiberRef from "effect/FiberRef"
|
|
10
|
+
import * as FiberRefs from "effect/FiberRefs"
|
|
11
|
+
import { dual } from "effect/Function"
|
|
12
|
+
import * as HashSet from "effect/HashSet"
|
|
13
|
+
import * as Logger from "effect/Logger"
|
|
7
14
|
|
|
8
15
|
/**
|
|
9
16
|
* @category model
|
|
@@ -29,11 +36,70 @@ export const defaultTeardown: Teardown = <E, A>(
|
|
|
29
36
|
* @since 1.0.0
|
|
30
37
|
*/
|
|
31
38
|
export interface RunMain {
|
|
39
|
+
(
|
|
40
|
+
options?: {
|
|
41
|
+
readonly disableErrorReporting?: boolean | undefined
|
|
42
|
+
readonly disablePrettyLogger?: boolean | undefined
|
|
43
|
+
readonly teardown?: Teardown | undefined
|
|
44
|
+
}
|
|
45
|
+
): <E, A>(effect: Effect.Effect<A, E>) => void
|
|
32
46
|
<E, A>(
|
|
33
47
|
effect: Effect.Effect<A, E>,
|
|
34
48
|
options?: {
|
|
35
|
-
readonly disableErrorReporting?: boolean
|
|
36
|
-
readonly
|
|
49
|
+
readonly disableErrorReporting?: boolean | undefined
|
|
50
|
+
readonly disablePrettyLogger?: boolean | undefined
|
|
51
|
+
readonly teardown?: Teardown | undefined
|
|
37
52
|
}
|
|
38
53
|
): void
|
|
39
54
|
}
|
|
55
|
+
|
|
56
|
+
const addPrettyLogger = (refs: FiberRefs.FiberRefs, fiberId: FiberId.Runtime) => {
|
|
57
|
+
const loggers = FiberRefs.getOrDefault(refs, FiberRef.currentLoggers)
|
|
58
|
+
if (!HashSet.has(loggers, Logger.defaultLogger)) {
|
|
59
|
+
return refs
|
|
60
|
+
}
|
|
61
|
+
return FiberRefs.updateAs(refs, {
|
|
62
|
+
fiberId,
|
|
63
|
+
fiberRef: FiberRef.currentLoggers,
|
|
64
|
+
value: loggers.pipe(
|
|
65
|
+
HashSet.remove(Logger.defaultLogger),
|
|
66
|
+
HashSet.add(Logger.prettyLogger())
|
|
67
|
+
)
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @category constructors
|
|
73
|
+
* @since 1.0.0
|
|
74
|
+
*/
|
|
75
|
+
export const makeRunMain = (
|
|
76
|
+
f: <E, A>(
|
|
77
|
+
options: {
|
|
78
|
+
readonly fiber: Fiber.RuntimeFiber<A, E>
|
|
79
|
+
readonly teardown: Teardown
|
|
80
|
+
}
|
|
81
|
+
) => void
|
|
82
|
+
): RunMain =>
|
|
83
|
+
dual((args) => Effect.isEffect(args[0]), (effect: Effect.Effect<any, any>, options?: {
|
|
84
|
+
readonly disableErrorReporting?: boolean | undefined
|
|
85
|
+
readonly disablePrettyLogger?: boolean | undefined
|
|
86
|
+
readonly teardown?: Teardown | undefined
|
|
87
|
+
}) => {
|
|
88
|
+
const fiber = options?.disableErrorReporting === true
|
|
89
|
+
? Effect.runFork(effect, {
|
|
90
|
+
updateRefs: options?.disablePrettyLogger === true ? undefined : addPrettyLogger
|
|
91
|
+
})
|
|
92
|
+
: Effect.runFork(
|
|
93
|
+
Effect.tapErrorCause(effect, (cause) => {
|
|
94
|
+
if (Cause.isInterruptedOnly(cause)) {
|
|
95
|
+
return Effect.void
|
|
96
|
+
}
|
|
97
|
+
return Effect.logError(cause)
|
|
98
|
+
}),
|
|
99
|
+
{
|
|
100
|
+
updateRefs: options?.disablePrettyLogger === true ? undefined : addPrettyLogger
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
const teardown = options?.teardown ?? defaultTeardown
|
|
104
|
+
return f({ fiber, teardown })
|
|
105
|
+
})
|