effect 3.22.0 → 3.22.1
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/Context.js +1 -1
- package/dist/cjs/Mailbox.js +3 -2
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/ParseResult.js +18 -0
- package/dist/cjs/ParseResult.js.map +1 -1
- package/dist/cjs/internal/config.js +5 -1
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +14 -1
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +5 -4
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +11 -19
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/opCodes/config.js +3 -1
- package/dist/cjs/internal/opCodes/config.js.map +1 -1
- package/dist/cjs/internal/stream/emit.js +6 -34
- package/dist/cjs/internal/stream/emit.js.map +1 -1
- package/dist/cjs/internal/stream.js +26 -16
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Context.d.ts +1 -1
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/ParseResult.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Context.js +1 -1
- package/dist/esm/Mailbox.js +3 -2
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/ParseResult.js +18 -0
- package/dist/esm/ParseResult.js.map +1 -1
- package/dist/esm/internal/config.js +5 -1
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/configProvider.js +14 -1
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -4
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/mailbox.js +10 -17
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/opCodes/config.js +2 -0
- package/dist/esm/internal/opCodes/config.js.map +1 -1
- package/dist/esm/internal/stream/emit.js +6 -34
- package/dist/esm/internal/stream/emit.js.map +1 -1
- package/dist/esm/internal/stream.js +22 -13
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Context.ts +1 -1
- package/src/Mailbox.ts +3 -2
- package/src/ParseResult.ts +18 -0
- package/src/internal/config.ts +14 -1
- package/src/internal/configProvider.ts +24 -1
- package/src/internal/effect/circular.ts +5 -4
- package/src/internal/mailbox.ts +13 -52
- package/src/internal/opCodes/config.ts +6 -0
- package/src/internal/stream/emit.ts +7 -39
- package/src/internal/stream.ts +62 -24
- package/src/internal/version.ts +1 -1
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.fromEventListener = exports.fromEffectOption = exports.fromEffect = exports.fromChunks = exports.fromChunkQueue = exports.fromChunkPubSub = exports.fromChunk = exports.fromChannel = exports.fromAsyncIterable = exports.forever = exports.flattenTake = exports.flattenIterables = exports.flattenExitOption = exports.flattenEffect = exports.flattenChunks = exports.flatten = exports.flatMap = exports.findEffect = exports.find = exports.finalizer = exports.filterMapWhileEffect = exports.filterMapWhile = exports.filterMapEffect = exports.filterMap = exports.filterEffect = exports.filter = exports.failSync = exports.failCauseSync = exports.failCause = exports.fail = exports.execute = exports.ensuringWith = exports.ensuring = exports.encodeText = exports.empty = exports.either = exports.dropWhileEffect = exports.dropWhile = exports.dropUntilEffect = exports.dropUntil = exports.dropRight = exports.drop = exports.drainFork = exports.drain = exports.distributedWithDynamicCallback = exports.distributedWithDynamic = exports.distributedWith = exports.dieSync = exports.dieMessage = exports.die = exports.decodeText = exports.debounce = exports.crossWith = exports.crossRight = exports.crossLeft = exports.cross = exports.contextWithStream = exports.contextWithEffect = exports.contextWith = exports.context = exports.concatAll = exports.concat = exports.combineChunks = exports.combine = exports.chunksWith = exports.chunks = exports.channelToStream = exports.changesWithEffect = exports.changesWith = exports.changes = exports.catchTags = exports.catchTag = exports.catchSomeCause = exports.catchSome = exports.catchAllCause = exports.catchAll = exports.bufferChunks = exports.buffer = exports.broadcastedQueuesDynamic = exports.broadcastedQueues = exports.broadcastDynamic = exports.broadcast = exports.branchAfter = exports.bindTo = exports.bind = exports.asyncScoped = exports.asyncPush = exports.asyncEffect = exports.as = exports.aggregateWithinEither = exports.aggregateWithin = exports.aggregate = exports.acquireRelease = exports.accumulateChunks = exports.accumulate = exports._async = exports.StreamTypeId = exports.StreamImpl = exports.Do = exports.DefaultChunkSize = void 0;
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.zipWithPreviousAndNext = exports.zipWithPrevious = exports.zipWithNext = exports.zipWithIndex = exports.zipWithChunks = exports.zipWith = exports.zipRight = exports.zipLeft = exports.zipLatestWith = exports.zipLatestAll = exports.zipLatest = exports.zipFlatten = exports.zipAllWith = exports.zipAllSortedByKeyWith = exports.zipAllSortedByKeyRight = void 0;
|
|
7
|
+
exports.repeatEither = exports.repeatEffectWithSchedule = exports.repeatEffectOption = exports.repeatEffectChunkOption = exports.repeatEffectChunk = exports.repeatEffect = exports.repeat = exports.refineOrDieWith = exports.refineOrDie = exports.rechunk = exports.range = exports.raceAll = exports.race = exports.provideSomeLayer = exports.provideSomeContext = exports.provideServiceStream = exports.provideServiceEffect = exports.provideService = exports.provideLayer = exports.provideContext = exports.prepend = exports.pipeThroughChannelOrFail = exports.pipeThroughChannel = exports.pipeThrough = exports.peel = exports.partitionEither = exports.partition = exports.paginateEffect = exports.paginateChunkEffect = exports.paginateChunk = exports.paginate = exports.orElseSucceed = exports.orElseIfEmptyStream = exports.orElseIfEmptyChunk = exports.orElseIfEmpty = exports.orElseFail = exports.orElseEither = exports.orElse = exports.orDieWith = exports.orDie = exports.onStart = exports.onError = exports.onEnd = exports.onDone = exports.never = exports.mkString = exports.mergeWithTag = exports.mergeWith = exports.mergeRight = exports.mergeLeft = exports.mergeEither = exports.mergeAll = exports.merge = exports.matchConcurrency = exports.mapInputContext = exports.mapErrorCause = exports.mapError = exports.mapEffectSequential = exports.mapEffectPar = exports.mapConcatEffect = exports.mapConcatChunkEffect = exports.mapConcatChunk = exports.mapConcat = exports.mapChunksEffect = exports.mapChunks = exports.mapBoth = exports.mapAccumEffect = exports.mapAccum = exports.map = exports.make = exports.mailboxToStream = exports.mailboxFromStream = exports.let_ = exports.iterate = exports.isStream = exports.intersperseAffixes = exports.intersperse = exports.interruptWhenDeferred = exports.interruptWhen = exports.interruptAfter = exports.interleaveWith = exports.interleave = exports.identityStream = exports.haltWhenDeferred = exports.haltWhen = exports.haltAfter = exports.groupedWithin = exports.grouped = exports.groupAdjacentBy = exports.fromTQueue = exports.fromTPubSub = exports.fromSchedule = exports.fromReadableStreamByob = exports.fromReadableStream = exports.fromQueue = exports.fromPull = exports.fromPubSub = exports.fromIteratorSucceed = exports.fromIterableEffect = exports.fromIterable = void 0;
|
|
8
|
+
exports.zipAllRight = exports.zipAllLeft = exports.zipAll = exports.zip = exports.withSpan = exports.withExecutionPlan = exports.whenEffect = exports.whenCaseEffect = exports.whenCase = exports.when = exports.void = exports.updateService = exports.unwrapScopedWith = exports.unwrapScoped = exports.unwrap = exports.unfoldEffect = exports.unfoldChunkEffect = exports.unfoldChunk = exports.unfold = exports.transduce = exports.toReadableStreamRuntime = exports.toReadableStreamEffect = exports.toReadableStream = exports.toQueueOfElements = exports.toQueue = exports.toPull = exports.toPubSub = exports.toChannel = exports.toAsyncIterableRuntime = exports.toAsyncIterableEffect = exports.toAsyncIterable = exports.timeoutTo = exports.timeoutFailCause = exports.timeoutFail = exports.timeout = exports.tick = exports.throttleEffect = exports.throttle = exports.tapSink = exports.tapErrorCause = exports.tapError = exports.tapBoth = exports.tap = exports.takeWhile = exports.takeUntilEffect = exports.takeUntil = exports.takeRight = exports.take = exports.sync = exports.suspend = exports.succeed = exports.splitOnChunk = exports.splitLines = exports.split = exports.someOrFail = exports.someOrElse = exports.some = exports.slidingSize = exports.sliding = exports.share = exports.scopedWith = exports.scoped = exports.scheduleWith = exports.schedule = exports.scanReduceEffect = exports.scanReduce = exports.scanEffect = exports.scan = exports.runSum = exports.runScoped = exports.runLast = exports.runIntoQueueScoped = exports.runIntoQueueElementsScoped = exports.runIntoQueue = exports.runIntoPubSubScoped = exports.runIntoPubSub = exports.runHead = exports.runForEachWhileScoped = exports.runForEachWhile = exports.runForEachScoped = exports.runForEachChunkScoped = exports.runForEachChunk = exports.runForEach = exports.runFoldWhileScopedEffect = exports.runFoldWhileScoped = exports.runFoldWhileEffect = exports.runFoldWhile = exports.runFoldScopedEffect = exports.runFoldScoped = exports.runFoldEffect = exports.runFold = exports.runDrain = exports.runCount = exports.runCollect = exports.run = exports.retry = exports.repeatWith = exports.repeatValue = exports.repeatElementsWith = exports.repeatElements = void 0;
|
|
9
|
+
exports.zipWithPreviousAndNext = exports.zipWithPrevious = exports.zipWithNext = exports.zipWithIndex = exports.zipWithChunks = exports.zipWith = exports.zipRight = exports.zipLeft = exports.zipLatestWith = exports.zipLatestAll = exports.zipLatest = exports.zipFlatten = exports.zipAllWith = exports.zipAllSortedByKeyWith = exports.zipAllSortedByKeyRight = exports.zipAllSortedByKeyLeft = exports.zipAllSortedByKey = void 0;
|
|
10
10
|
var Cause = _interopRequireWildcard(require("../Cause.js"));
|
|
11
11
|
var Chunk = _interopRequireWildcard(require("../Chunk.js"));
|
|
12
12
|
var Clock = _interopRequireWildcard(require("../Clock.js"));
|
|
@@ -18,7 +18,6 @@ var Either = _interopRequireWildcard(require("../Either.js"));
|
|
|
18
18
|
var Equal = _interopRequireWildcard(require("../Equal.js"));
|
|
19
19
|
var Exit = _interopRequireWildcard(require("../Exit.js"));
|
|
20
20
|
var Fiber = _interopRequireWildcard(require("../Fiber.js"));
|
|
21
|
-
var FiberRef = _interopRequireWildcard(require("../FiberRef.js"));
|
|
22
21
|
var _Function = require("../Function.js");
|
|
23
22
|
var internalExecutionPlan = _interopRequireWildcard(require("../internal/executionPlan.js"));
|
|
24
23
|
var Layer = _interopRequireWildcard(require("../Layer.js"));
|
|
@@ -40,7 +39,11 @@ var channel = _interopRequireWildcard(require("./channel.js"));
|
|
|
40
39
|
var channelExecutor = _interopRequireWildcard(require("./channel/channelExecutor.js"));
|
|
41
40
|
var MergeStrategy = _interopRequireWildcard(require("./channel/mergeStrategy.js"));
|
|
42
41
|
var core = _interopRequireWildcard(require("./core-stream.js"));
|
|
42
|
+
var effectCore = _interopRequireWildcard(require("./core.js"));
|
|
43
43
|
var doNotation = _interopRequireWildcard(require("./doNotation.js"));
|
|
44
|
+
var circular = _interopRequireWildcard(require("./effect/circular.js"));
|
|
45
|
+
var fiberRuntime = _interopRequireWildcard(require("./fiberRuntime.js"));
|
|
46
|
+
var mailbox = _interopRequireWildcard(require("./mailbox.js"));
|
|
44
47
|
var _ringBuffer = require("./ringBuffer.js");
|
|
45
48
|
var InternalSchedule = _interopRequireWildcard(require("./schedule.js"));
|
|
46
49
|
var sink_ = _interopRequireWildcard(require("./sink.js"));
|
|
@@ -237,22 +240,17 @@ const asyncEffect = (register, bufferSize) => (0, _Function.pipe)(Effect.acquire
|
|
|
237
240
|
return loop;
|
|
238
241
|
}))))), channel.unwrapScoped, fromChannel);
|
|
239
242
|
exports.asyncEffect = asyncEffect;
|
|
240
|
-
const
|
|
243
|
+
const mailboxFromBufferOptionsPush = options => {
|
|
241
244
|
if (options?.bufferSize === "unbounded" || options?.bufferSize === undefined && options?.strategy === undefined) {
|
|
242
|
-
return
|
|
243
|
-
}
|
|
244
|
-
switch (options?.strategy) {
|
|
245
|
-
case "sliding":
|
|
246
|
-
return Queue.sliding(options.bufferSize ?? 16);
|
|
247
|
-
default:
|
|
248
|
-
return Queue.dropping(options?.bufferSize ?? 16);
|
|
245
|
+
return mailbox.make();
|
|
249
246
|
}
|
|
247
|
+
return mailbox.make({
|
|
248
|
+
capacity: options?.bufferSize ?? 16,
|
|
249
|
+
strategy: options?.strategy ?? "dropping"
|
|
250
|
+
});
|
|
250
251
|
};
|
|
251
252
|
/** @internal */
|
|
252
|
-
const asyncPush = (register, options) => Effect.acquireRelease(
|
|
253
|
-
const loop = core.flatMap(Queue.take(queue), item => Exit.isExit(item) ? Exit.isSuccess(item) ? core.void : core.failCause(item.cause) : channel.zipRight(core.write(Chunk.unsafeFromArray(item)), loop));
|
|
254
|
-
return loop;
|
|
255
|
-
}), channel.unwrapScoped, fromChannel);
|
|
253
|
+
const asyncPush = (register, options) => Effect.acquireRelease(mailboxFromBufferOptionsPush(options), mailbox => mailbox.shutdown).pipe(Effect.tap(mailbox => register(emit.makePush(mailbox))), Effect.map(mailboxToStream), unwrapScoped);
|
|
256
254
|
/** @internal */
|
|
257
255
|
exports.asyncPush = asyncPush;
|
|
258
256
|
const asyncScoped = (register, bufferSize) => (0, _Function.pipe)(Effect.acquireRelease(queueFromBufferOptions(bufferSize), queue => Queue.shutdown(queue)), Effect.flatMap(output => (0, _Function.pipe)(Effect.runtime(), Effect.flatMap(runtime => (0, _Function.pipe)(register(emit.make(k => (0, _Function.pipe)(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, Runtime.runPromiseExit(runtime)).then(exit => {
|
|
@@ -969,6 +967,18 @@ const toChannel = stream => {
|
|
|
969
967
|
};
|
|
970
968
|
/** @internal */
|
|
971
969
|
exports.toChannel = toChannel;
|
|
970
|
+
const mailboxToStream = self => fromChannel(mailbox.toChannel(self));
|
|
971
|
+
/** @internal */
|
|
972
|
+
exports.mailboxToStream = mailboxToStream;
|
|
973
|
+
const mailboxFromStream = exports.mailboxFromStream = /*#__PURE__*/(0, _Function.dual)(args => isStream(args[0]), (self, options) => effectCore.tap(fiberRuntime.acquireRelease(mailbox.make(options), mailbox => mailbox.shutdown), mailbox => {
|
|
974
|
+
const writer = core.readWithCause({
|
|
975
|
+
onInput: input => core.flatMap(mailbox.offerAll(input), () => writer),
|
|
976
|
+
onFailure: cause => mailbox.failCause(cause),
|
|
977
|
+
onDone: () => mailbox.end
|
|
978
|
+
});
|
|
979
|
+
return fiberRuntime.scopeWith(scope => toChannel(self).pipe(core.pipeTo(writer), channelExecutor.runIn(scope), circular.forkIn(scope)));
|
|
980
|
+
}));
|
|
981
|
+
/** @internal */
|
|
972
982
|
const fromChunk = chunk => new StreamImpl(Chunk.isEmpty(chunk) ? core.void : core.write(chunk));
|
|
973
983
|
/** @internal */
|
|
974
984
|
exports.fromChunk = fromChunk;
|