effect
Version:
The missing standard library for TypeScript, for writing production-grade software.
81 lines (80 loc) • 7.22 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withMinimumLogLevel = exports.span = exports.setTracer = exports.setConfigProvider = exports.replaceLoggerScoped = exports.replaceLoggerEffect = exports.replaceLogger = exports.removeLogger = exports.parentSpan = exports.minimumLogLevel = exports.enableWindDown = exports.enableRuntimeMetrics = exports.enableOpSupervision = exports.enableInterruption = exports.enableCooperativeYielding = exports.disableWindDown = exports.disableRuntimeMetrics = exports.disableOpSupervision = exports.disableInterruption = exports.disableCooperativeYielding = exports.addSupervisor = exports.addLoggerScoped = exports.addLoggerEffect = exports.addLogger = void 0;
var Context = _interopRequireWildcard(require("../../Context.js"));
var _Function = require("../../Function.js");
var HashSet = _interopRequireWildcard(require("../../HashSet.js"));
var core = _interopRequireWildcard(require("../core.js"));
var fiberRuntime = _interopRequireWildcard(require("../fiberRuntime.js"));
var layer = _interopRequireWildcard(require("../layer.js"));
var runtimeFlags = _interopRequireWildcard(require("../runtimeFlags.js"));
var runtimeFlagsPatch = _interopRequireWildcard(require("../runtimeFlagsPatch.js"));
var supervisor_ = _interopRequireWildcard(require("../supervisor.js"));
var tracer = _interopRequireWildcard(require("../tracer.js"));
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); }
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; }
// circular with Logger
/** @internal */
const minimumLogLevel = level => layer.scopedDiscard(fiberRuntime.fiberRefLocallyScoped(fiberRuntime.currentMinimumLogLevel, level));
/** @internal */
exports.minimumLogLevel = minimumLogLevel;
const withMinimumLogLevel = exports.withMinimumLogLevel = /*#__PURE__*/(0, _Function.dual)(2, (self, level) => core.fiberRefLocally(fiberRuntime.currentMinimumLogLevel, level)(self));
/** @internal */
const addLogger = logger => layer.scopedDiscard(fiberRuntime.fiberRefLocallyScopedWith(fiberRuntime.currentLoggers, HashSet.add(logger)));
/** @internal */
exports.addLogger = addLogger;
const addLoggerEffect = effect => layer.unwrapEffect(core.map(effect, addLogger));
/** @internal */
exports.addLoggerEffect = addLoggerEffect;
const addLoggerScoped = effect => layer.unwrapScoped(core.map(effect, addLogger));
/** @internal */
exports.addLoggerScoped = addLoggerScoped;
const removeLogger = logger => layer.scopedDiscard(fiberRuntime.fiberRefLocallyScopedWith(fiberRuntime.currentLoggers, HashSet.remove(logger)));
/** @internal */
exports.removeLogger = removeLogger;
const replaceLogger = exports.replaceLogger = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => layer.flatMap(removeLogger(self), () => addLogger(that)));
/** @internal */
const replaceLoggerEffect = exports.replaceLoggerEffect = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => layer.flatMap(removeLogger(self), () => addLoggerEffect(that)));
/** @internal */
const replaceLoggerScoped = exports.replaceLoggerScoped = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => layer.flatMap(removeLogger(self), () => addLoggerScoped(that)));
/** @internal */
const addSupervisor = supervisor => layer.scopedDiscard(fiberRuntime.fiberRefLocallyScopedWith(fiberRuntime.currentSupervisor, current => new supervisor_.Zip(current, supervisor)));
/** @internal */
exports.addSupervisor = addSupervisor;
const enableCooperativeYielding = exports.enableCooperativeYielding = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.enable(runtimeFlags.CooperativeYielding)));
/** @internal */
const enableInterruption = exports.enableInterruption = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.enable(runtimeFlags.Interruption)));
/** @internal */
const enableOpSupervision = exports.enableOpSupervision = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.enable(runtimeFlags.OpSupervision)));
/** @internal */
const enableRuntimeMetrics = exports.enableRuntimeMetrics = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.enable(runtimeFlags.RuntimeMetrics)));
/** @internal */
const enableWindDown = exports.enableWindDown = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.enable(runtimeFlags.WindDown)));
/** @internal */
const disableCooperativeYielding = exports.disableCooperativeYielding = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.disable(runtimeFlags.CooperativeYielding)));
/** @internal */
const disableInterruption = exports.disableInterruption = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.disable(runtimeFlags.Interruption)));
/** @internal */
const disableOpSupervision = exports.disableOpSupervision = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.disable(runtimeFlags.OpSupervision)));
/** @internal */
const disableRuntimeMetrics = exports.disableRuntimeMetrics = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.disable(runtimeFlags.RuntimeMetrics)));
/** @internal */
const disableWindDown = exports.disableWindDown = /*#__PURE__*/layer.scopedDiscard( /*#__PURE__*/fiberRuntime.withRuntimeFlagsScoped( /*#__PURE__*/runtimeFlagsPatch.disable(runtimeFlags.WindDown)));
/** @internal */
const setConfigProvider = configProvider => layer.scopedDiscard(fiberRuntime.withConfigProviderScoped(configProvider));
/** @internal */
exports.setConfigProvider = setConfigProvider;
const parentSpan = span => layer.succeedContext(Context.make(tracer.spanTag, span));
/** @internal */
exports.parentSpan = parentSpan;
const span = (name, options) => {
options = tracer.addSpanStackTrace(options);
return layer.scoped(tracer.spanTag, options?.onEnd ? core.tap(fiberRuntime.makeSpanScoped(name, options), span => fiberRuntime.addFinalizer(exit => options.onEnd(span, exit))) : fiberRuntime.makeSpanScoped(name, options));
};
/** @internal */
exports.span = span;
const setTracer = tracer => layer.scopedDiscard(fiberRuntime.withTracerScoped(tracer));
exports.setTracer = setTracer;
//# sourceMappingURL=circular.js.map