@effect/platform 0.62.3 → 0.62.5

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.
@@ -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
@@ -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;AAEA,IAAAC,IAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAmC,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AALnC;;;;AAeA;;;;AAIO,MAAMW,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACvB,IAAI,CAACwB,SAAS,CAACF,IAAI,CAAC,IAAI,CAACzB,KAAK,CAAC4B,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAAAC,OAAA,CAAAN,eAAA,GAAAA,eAAA","ignoreList":[]}
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":[]}
@@ -1,5 +1,6 @@
1
- import type * as Effect from "effect/Effect";
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 teardown?: Teardown;
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,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC;;;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,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,CAAA;QACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAC7B,GACA,IAAI,CAAA;CACR"}
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"}
@@ -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
@@ -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;AAErC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAUnC;;;;AAIA,OAAO,MAAMC,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACH,IAAI,CAACI,SAAS,CAACF,IAAI,CAAC,IAAI,CAACH,KAAK,CAACM,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC","ignoreList":[]}
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",
3
+ "version": "0.62.5",
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.2",
18
- "effect": "^3.6.6"
17
+ "@effect/schema": "^0.71.4",
18
+ "effect": "^3.6.8"
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 type * as Effect from "effect/Effect"
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 teardown?: Teardown
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
+ })