effect 3.22.0 → 3.22.2

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.
Files changed (66) hide show
  1. package/dist/cjs/Context.js +1 -1
  2. package/dist/cjs/Mailbox.js +3 -2
  3. package/dist/cjs/Mailbox.js.map +1 -1
  4. package/dist/cjs/ParseResult.js +18 -0
  5. package/dist/cjs/ParseResult.js.map +1 -1
  6. package/dist/cjs/Schema.js +1 -1
  7. package/dist/cjs/Schema.js.map +1 -1
  8. package/dist/cjs/internal/config.js +5 -1
  9. package/dist/cjs/internal/config.js.map +1 -1
  10. package/dist/cjs/internal/configProvider.js +14 -1
  11. package/dist/cjs/internal/configProvider.js.map +1 -1
  12. package/dist/cjs/internal/effect/circular.js +5 -4
  13. package/dist/cjs/internal/effect/circular.js.map +1 -1
  14. package/dist/cjs/internal/mailbox.js +11 -19
  15. package/dist/cjs/internal/mailbox.js.map +1 -1
  16. package/dist/cjs/internal/opCodes/config.js +3 -1
  17. package/dist/cjs/internal/opCodes/config.js.map +1 -1
  18. package/dist/cjs/internal/stm/tMap.js +2 -2
  19. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  20. package/dist/cjs/internal/stream/emit.js +6 -34
  21. package/dist/cjs/internal/stream/emit.js.map +1 -1
  22. package/dist/cjs/internal/stream.js +26 -16
  23. package/dist/cjs/internal/stream.js.map +1 -1
  24. package/dist/cjs/internal/version.js +1 -1
  25. package/dist/dts/Context.d.ts +1 -1
  26. package/dist/dts/Mailbox.d.ts.map +1 -1
  27. package/dist/dts/ParseResult.d.ts.map +1 -1
  28. package/dist/dts/internal/stream.d.ts.map +1 -1
  29. package/dist/esm/Context.js +1 -1
  30. package/dist/esm/Mailbox.js +3 -2
  31. package/dist/esm/Mailbox.js.map +1 -1
  32. package/dist/esm/ParseResult.js +18 -0
  33. package/dist/esm/ParseResult.js.map +1 -1
  34. package/dist/esm/Schema.js +1 -1
  35. package/dist/esm/Schema.js.map +1 -1
  36. package/dist/esm/internal/config.js +5 -1
  37. package/dist/esm/internal/config.js.map +1 -1
  38. package/dist/esm/internal/configProvider.js +14 -1
  39. package/dist/esm/internal/configProvider.js.map +1 -1
  40. package/dist/esm/internal/effect/circular.js +5 -4
  41. package/dist/esm/internal/effect/circular.js.map +1 -1
  42. package/dist/esm/internal/mailbox.js +10 -17
  43. package/dist/esm/internal/mailbox.js.map +1 -1
  44. package/dist/esm/internal/opCodes/config.js +2 -0
  45. package/dist/esm/internal/opCodes/config.js.map +1 -1
  46. package/dist/esm/internal/stm/tMap.js +2 -2
  47. package/dist/esm/internal/stm/tMap.js.map +1 -1
  48. package/dist/esm/internal/stream/emit.js +6 -34
  49. package/dist/esm/internal/stream/emit.js.map +1 -1
  50. package/dist/esm/internal/stream.js +22 -13
  51. package/dist/esm/internal/stream.js.map +1 -1
  52. package/dist/esm/internal/version.js +1 -1
  53. package/package.json +1 -1
  54. package/src/Context.ts +1 -1
  55. package/src/Mailbox.ts +3 -2
  56. package/src/ParseResult.ts +18 -0
  57. package/src/Schema.ts +1 -1
  58. package/src/internal/config.ts +14 -1
  59. package/src/internal/configProvider.ts +24 -1
  60. package/src/internal/effect/circular.ts +5 -4
  61. package/src/internal/mailbox.ts +13 -52
  62. package/src/internal/opCodes/config.ts +6 -0
  63. package/src/internal/stm/tMap.ts +2 -2
  64. package/src/internal/stream/emit.ts +7 -39
  65. package/src/internal/stream.ts +62 -24
  66. package/src/internal/version.ts +1 -1
@@ -148,7 +148,7 @@ export const remove = /*#__PURE__*/dual(2, (self, key) => core.effect(journal =>
148
148
  const buckets = tRef.unsafeGet(self.tBuckets, journal);
149
149
  const index = indexOf(key, buckets.chunk.length);
150
150
  const bucket = tRef.unsafeGet(buckets.chunk[index], journal);
151
- const [toRemove, toRetain] = Chunk.partition(bucket, entry => Equal.equals(entry[1], key));
151
+ const [toRetain, toRemove] = Chunk.partition(bucket, entry => Equal.equals(entry[0], key));
152
152
  if (Chunk.isNonEmpty(toRemove)) {
153
153
  const currentSize = tRef.unsafeGet(self.tSize, journal);
154
154
  tRef.unsafeSet(buckets.chunk[index], toRetain, journal);
@@ -163,7 +163,7 @@ export const removeAll = /*#__PURE__*/dual(2, (self, keys) => core.effect(journa
163
163
  const buckets = tRef.unsafeGet(self.tBuckets, journal);
164
164
  const index = indexOf(next.value, buckets.chunk.length);
165
165
  const bucket = tRef.unsafeGet(buckets.chunk[index], journal);
166
- const [toRemove, toRetain] = Chunk.partition(bucket, entry => Equal.equals(next.value)(entry[0]));
166
+ const [toRetain, toRemove] = Chunk.partition(bucket, entry => Equal.equals(next.value)(entry[0]));
167
167
  if (Chunk.isNonEmpty(toRemove)) {
168
168
  const currentSize = tRef.unsafeGet(self.tSize, journal);
169
169
  tRef.unsafeSet(buckets.chunk[index], toRetain, journal);
@@ -1 +1 @@
1
- {"version":3,"file":"tMap.js","names":["RA","Chunk","Equal","dual","pipe","Hash","HashMap","Option","hasProperty","STM","core","stm","tArray","tRef","TMapSymbolKey","TMapTypeId","Symbol","for","tMapVariance","_K","_","_V","TMapImpl","tBuckets","tSize","constructor","isTMap","u","InitialCapacity","LoadFactor","nextPowerOfTwo","size","n","Math","clz32","hash","key","h","indexOf","k","capacity","allocate","data","buckets","Array","from","length","empty","distinct","Map","entry","index","prepend","fromIterable","flatMap","make","map","find","self","pf","findSTM","value","option","isSome","succeed","fail","none","f","reduceSTM","acc","isNone","matchSTM","onFailure","match","onNone","succeedNone","onSome","onSuccess","succeedSome","findAll","findAllSTM","a","append","forEach","asVoid","iterable","suspend","get","effect","journal","unsafeGet","chunk","bucket","findFirst","equals","getOrElse","fallback","has","isEmpty","keys","toReadonlyArray","entries","merge","as","set","v0","v1","reduce","zero","result","items","remove","toRemove","toRetain","partition","isNonEmpty","currentSize","unsafeSet","removeAll","iterator","next","done","removeIf","args","predicate","options","discard","removed","newSize","newBucket","v","push","retainIf","resize","newCapacity","newBuckets","pairs","newIndex","newArray","TRefImpl","newTArray","TArrayImpl","shouldUpdate","some","setIfAbsent","void","takeFirst","recreate","collect","takeFirstSTM","takeSome","builder","takeSomeSTM","isNonEmptyArray","toChunk","toHashMap","toArray","unshift","toMap","transform","newPair","transformSTM","newData","transformValues","transformValuesSTM","updateWith","values"],"sources":["../../../../src/internal/stm/tMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tMap.js","names":["RA","Chunk","Equal","dual","pipe","Hash","HashMap","Option","hasProperty","STM","core","stm","tArray","tRef","TMapSymbolKey","TMapTypeId","Symbol","for","tMapVariance","_K","_","_V","TMapImpl","tBuckets","tSize","constructor","isTMap","u","InitialCapacity","LoadFactor","nextPowerOfTwo","size","n","Math","clz32","hash","key","h","indexOf","k","capacity","allocate","data","buckets","Array","from","length","empty","distinct","Map","entry","index","prepend","fromIterable","flatMap","make","map","find","self","pf","findSTM","value","option","isSome","succeed","fail","none","f","reduceSTM","acc","isNone","matchSTM","onFailure","match","onNone","succeedNone","onSome","onSuccess","succeedSome","findAll","findAllSTM","a","append","forEach","asVoid","iterable","suspend","get","effect","journal","unsafeGet","chunk","bucket","findFirst","equals","getOrElse","fallback","has","isEmpty","keys","toReadonlyArray","entries","merge","as","set","v0","v1","reduce","zero","result","items","remove","toRetain","toRemove","partition","isNonEmpty","currentSize","unsafeSet","removeAll","iterator","next","done","removeIf","args","predicate","options","discard","removed","newSize","newBucket","v","push","retainIf","resize","newCapacity","newBuckets","pairs","newIndex","newArray","TRefImpl","newTArray","TArrayImpl","shouldUpdate","some","setIfAbsent","void","takeFirst","recreate","collect","takeFirstSTM","takeSome","builder","takeSomeSTM","isNonEmptyArray","toChunk","toHashMap","toArray","unshift","toMap","transform","newPair","transformSTM","newData","transformValues","transformValuesSTM","updateWith","values"],"sources":["../../../../src/internal/stm/tMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -47,50 +47,23 @@ export const make = emit => {
47
47
  return Object.assign(emit, ops);
48
48
  };
49
49
  /** @internal */
50
- export const makePush = (queue, scheduler) => {
50
+ export const makePush = mailbox => {
51
51
  let finished = false;
52
- let buffer = [];
53
- let running = false;
54
52
  function array(items) {
55
53
  if (finished) return false;
56
- if (items.length <= 50_000) {
57
- buffer.push.apply(buffer, items);
58
- } else {
59
- for (let i = 0; i < items.length; i++) {
60
- buffer.push(items[0]);
61
- }
62
- }
63
- if (!running) {
64
- running = true;
65
- scheduler.scheduleTask(flush, 0);
66
- }
67
- return true;
68
- }
69
- function flush() {
70
- running = false;
71
- if (buffer.length > 0) {
72
- queue.unsafeOffer(buffer);
73
- buffer = [];
74
- }
54
+ return Chunk.isEmpty(mailbox.unsafeOfferAll(items));
75
55
  }
76
56
  function done(exit) {
77
57
  if (finished) return;
78
58
  finished = true;
79
59
  if (exit._tag === "Success") {
80
- buffer.push(exit.value);
60
+ mailbox.unsafeOffer(exit.value);
81
61
  }
82
- flush();
83
- queue.unsafeOffer(exit._tag === "Success" ? Exit.void : exit);
62
+ mailbox.unsafeDone(exit._tag === "Success" ? Exit.void : exit);
84
63
  }
85
64
  return {
86
65
  single(value) {
87
- if (finished) return false;
88
- buffer.push(value);
89
- if (!running) {
90
- running = true;
91
- scheduler.scheduleTask(flush, 0);
92
- }
93
- return true;
66
+ return finished ? false : mailbox.unsafeOffer(value);
94
67
  },
95
68
  array,
96
69
  chunk(chunk) {
@@ -100,8 +73,7 @@ export const makePush = (queue, scheduler) => {
100
73
  end() {
101
74
  if (finished) return;
102
75
  finished = true;
103
- flush();
104
- queue.unsafeOffer(Exit.void);
76
+ mailbox.unsafeDone(Exit.void);
105
77
  },
106
78
  halt(cause) {
107
79
  return done(Exit.failCause(cause));
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","names":["Cause","Chunk","Effect","Exit","pipe","Option","make","emit","ops","chunk","as","succeed","die","defect","dieMessage","message","done","exit","suspend","mapBoth","onFailure","some","onSuccess","of","end","fail","none","e","fromEffect","effect","fromEffectChunk","mapError","halt","cause","failCause","map","single","value","Object","assign","makePush","queue","scheduler","finished","buffer","running","array","items","length","push","apply","i","scheduleTask","flush","unsafeOffer","_tag","void","toReadonlyArray","error","Error"],"sources":["../../../../src/internal/stream/emit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"emit.js","names":["Cause","Chunk","Effect","Exit","pipe","Option","make","emit","ops","chunk","as","succeed","die","defect","dieMessage","message","done","exit","suspend","mapBoth","onFailure","some","onSuccess","of","end","fail","none","e","fromEffect","effect","fromEffectChunk","mapError","halt","cause","failCause","map","single","value","Object","assign","makePush","mailbox","finished","array","items","isEmpty","unsafeOfferAll","_tag","unsafeOffer","unsafeDone","void","toReadonlyArray","error","Error"],"sources":["../../../../src/internal/stream/emit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,6 @@ import * as Either from "../Either.js";
9
9
  import * as Equal from "../Equal.js";
10
10
  import * as Exit from "../Exit.js";
11
11
  import * as Fiber from "../Fiber.js";
12
- import * as FiberRef from "../FiberRef.js";
13
12
  import { constTrue, dual, identity, pipe } from "../Function.js";
14
13
  import * as internalExecutionPlan from "../internal/executionPlan.js";
15
14
  import * as Layer from "../Layer.js";
@@ -31,7 +30,11 @@ import * as channel from "./channel.js";
31
30
  import * as channelExecutor from "./channel/channelExecutor.js";
32
31
  import * as MergeStrategy from "./channel/mergeStrategy.js";
33
32
  import * as core from "./core-stream.js";
33
+ import * as effectCore from "./core.js";
34
34
  import * as doNotation from "./doNotation.js";
35
+ import * as circular from "./effect/circular.js";
36
+ import * as fiberRuntime from "./fiberRuntime.js";
37
+ import * as mailbox from "./mailbox.js";
35
38
  import { RingBuffer } from "./ringBuffer.js";
36
39
  import * as InternalSchedule from "./schedule.js";
37
40
  import * as sink_ from "./sink.js";
@@ -220,22 +223,17 @@ export const asyncEffect = (register, bufferSize) => pipe(Effect.acquireRelease(
220
223
  }), channel.unwrap);
221
224
  return loop;
222
225
  }))))), channel.unwrapScoped, fromChannel);
223
- const queueFromBufferOptionsPush = options => {
226
+ const mailboxFromBufferOptionsPush = options => {
224
227
  if (options?.bufferSize === "unbounded" || options?.bufferSize === undefined && options?.strategy === undefined) {
225
- return Queue.unbounded();
226
- }
227
- switch (options?.strategy) {
228
- case "sliding":
229
- return Queue.sliding(options.bufferSize ?? 16);
230
- default:
231
- return Queue.dropping(options?.bufferSize ?? 16);
228
+ return mailbox.make();
232
229
  }
230
+ return mailbox.make({
231
+ capacity: options?.bufferSize ?? 16,
232
+ strategy: options?.strategy ?? "dropping"
233
+ });
233
234
  };
234
235
  /** @internal */
235
- export const asyncPush = (register, options) => Effect.acquireRelease(queueFromBufferOptionsPush(options), Queue.shutdown).pipe(Effect.tap(queue => FiberRef.getWith(FiberRef.currentScheduler, scheduler => register(emit.makePush(queue, scheduler)))), Effect.map(queue => {
236
- 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));
237
- return loop;
238
- }), channel.unwrapScoped, fromChannel);
236
+ export const asyncPush = (register, options) => Effect.acquireRelease(mailboxFromBufferOptionsPush(options), mailbox => mailbox.shutdown).pipe(Effect.tap(mailbox => register(emit.makePush(mailbox))), Effect.map(mailboxToStream), unwrapScoped);
239
237
  /** @internal */
240
238
  export const asyncScoped = (register, bufferSize) => pipe(Effect.acquireRelease(queueFromBufferOptions(bufferSize), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, Runtime.runPromiseExit(runtime)).then(exit => {
241
239
  if (Exit.isFailure(exit)) {
@@ -923,6 +921,17 @@ export const toChannel = stream => {
923
921
  }
924
922
  };
925
923
  /** @internal */
924
+ export const mailboxToStream = self => fromChannel(mailbox.toChannel(self));
925
+ /** @internal */
926
+ export const mailboxFromStream = /*#__PURE__*/dual(args => isStream(args[0]), (self, options) => effectCore.tap(fiberRuntime.acquireRelease(mailbox.make(options), mailbox => mailbox.shutdown), mailbox => {
927
+ const writer = core.readWithCause({
928
+ onInput: input => core.flatMap(mailbox.offerAll(input), () => writer),
929
+ onFailure: cause => mailbox.failCause(cause),
930
+ onDone: () => mailbox.end
931
+ });
932
+ return fiberRuntime.scopeWith(scope => toChannel(self).pipe(core.pipeTo(writer), channelExecutor.runIn(scope), circular.forkIn(scope)));
933
+ }));
934
+ /** @internal */
926
935
  export const fromChunk = chunk => new StreamImpl(Chunk.isEmpty(chunk) ? core.void : core.write(chunk));
927
936
  /** @internal */
928
937
  export const fromChunkPubSub = (pubsub, options) => {