effect 3.2.8 → 3.3.0

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 (155) hide show
  1. package/Redacted/package.json +6 -0
  2. package/dist/cjs/Config.js +9 -1
  3. package/dist/cjs/Config.js.map +1 -1
  4. package/dist/cjs/Either.js +2 -1
  5. package/dist/cjs/Either.js.map +1 -1
  6. package/dist/cjs/Iterable.js +15 -2
  7. package/dist/cjs/Iterable.js.map +1 -1
  8. package/dist/cjs/Layer.js +11 -1
  9. package/dist/cjs/Layer.js.map +1 -1
  10. package/dist/cjs/Option.js +7 -1
  11. package/dist/cjs/Option.js.map +1 -1
  12. package/dist/cjs/Pool.js +26 -0
  13. package/dist/cjs/Pool.js.map +1 -1
  14. package/dist/cjs/Predicate.js +51 -1
  15. package/dist/cjs/Predicate.js.map +1 -1
  16. package/dist/cjs/Redacted.js +65 -0
  17. package/dist/cjs/Redacted.js.map +1 -0
  18. package/dist/cjs/STM.js.map +1 -1
  19. package/dist/cjs/Secret.js +7 -0
  20. package/dist/cjs/Secret.js.map +1 -1
  21. package/dist/cjs/Stream.js +32 -1
  22. package/dist/cjs/Stream.js.map +1 -1
  23. package/dist/cjs/Tuple.js +15 -1
  24. package/dist/cjs/Tuple.js.map +1 -1
  25. package/dist/cjs/Utils.js.map +1 -1
  26. package/dist/cjs/index.js +4 -2
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/internal/cause.js +14 -18
  29. package/dist/cjs/internal/cause.js.map +1 -1
  30. package/dist/cjs/internal/clock.js +1 -1
  31. package/dist/cjs/internal/clock.js.map +1 -1
  32. package/dist/cjs/internal/config.js +8 -1
  33. package/dist/cjs/internal/config.js.map +1 -1
  34. package/dist/cjs/internal/layer.js +14 -2
  35. package/dist/cjs/internal/layer.js.map +1 -1
  36. package/dist/cjs/internal/pool.js +206 -235
  37. package/dist/cjs/internal/pool.js.map +1 -1
  38. package/dist/cjs/internal/redacted.js +87 -0
  39. package/dist/cjs/internal/redacted.js.map +1 -0
  40. package/dist/cjs/internal/secret.js +40 -23
  41. package/dist/cjs/internal/secret.js.map +1 -1
  42. package/dist/cjs/internal/stm/stm.js +2 -1
  43. package/dist/cjs/internal/stm/stm.js.map +1 -1
  44. package/dist/cjs/internal/stream.js +15 -7
  45. package/dist/cjs/internal/stream.js.map +1 -1
  46. package/dist/cjs/internal/version.js +1 -1
  47. package/dist/dts/Config.d.ts +13 -6
  48. package/dist/dts/Config.d.ts.map +1 -1
  49. package/dist/dts/Context.d.ts +1 -1
  50. package/dist/dts/Context.d.ts.map +1 -1
  51. package/dist/dts/Either.d.ts.map +1 -1
  52. package/dist/dts/Iterable.d.ts +7 -0
  53. package/dist/dts/Iterable.d.ts.map +1 -1
  54. package/dist/dts/Layer.d.ts +20 -0
  55. package/dist/dts/Layer.d.ts.map +1 -1
  56. package/dist/dts/Option.d.ts.map +1 -1
  57. package/dist/dts/Pool.d.ts +31 -0
  58. package/dist/dts/Pool.d.ts.map +1 -1
  59. package/dist/dts/Predicate.d.ts +57 -0
  60. package/dist/dts/Predicate.d.ts.map +1 -1
  61. package/dist/dts/Redacted.d.ts +68 -0
  62. package/dist/dts/Redacted.d.ts.map +1 -0
  63. package/dist/dts/STM.d.ts +4 -1
  64. package/dist/dts/STM.d.ts.map +1 -1
  65. package/dist/dts/Secret.d.ts +14 -1
  66. package/dist/dts/Secret.d.ts.map +1 -1
  67. package/dist/dts/Stream.d.ts +61 -4
  68. package/dist/dts/Stream.d.ts.map +1 -1
  69. package/dist/dts/Tuple.d.ts +51 -0
  70. package/dist/dts/Tuple.d.ts.map +1 -1
  71. package/dist/dts/Types.d.ts +46 -0
  72. package/dist/dts/Types.d.ts.map +1 -1
  73. package/dist/dts/Utils.d.ts +6 -5
  74. package/dist/dts/Utils.d.ts.map +1 -1
  75. package/dist/dts/index.d.ts +5 -0
  76. package/dist/dts/index.d.ts.map +1 -1
  77. package/dist/dts/internal/layer.d.ts +15 -1
  78. package/dist/dts/internal/layer.d.ts.map +1 -1
  79. package/dist/dts/internal/redacted.d.ts +2 -0
  80. package/dist/dts/internal/redacted.d.ts.map +1 -0
  81. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  82. package/dist/dts/internal/stream.d.ts +1 -0
  83. package/dist/dts/internal/stream.d.ts.map +1 -1
  84. package/dist/esm/Config.js +8 -0
  85. package/dist/esm/Config.js.map +1 -1
  86. package/dist/esm/Either.js +2 -1
  87. package/dist/esm/Either.js.map +1 -1
  88. package/dist/esm/Iterable.js +12 -0
  89. package/dist/esm/Iterable.js.map +1 -1
  90. package/dist/esm/Layer.js +10 -0
  91. package/dist/esm/Layer.js.map +1 -1
  92. package/dist/esm/Option.js +7 -1
  93. package/dist/esm/Option.js.map +1 -1
  94. package/dist/esm/Pool.js +26 -0
  95. package/dist/esm/Pool.js.map +1 -1
  96. package/dist/esm/Predicate.js +50 -0
  97. package/dist/esm/Predicate.js.map +1 -1
  98. package/dist/esm/Redacted.js +33 -0
  99. package/dist/esm/Redacted.js.map +1 -0
  100. package/dist/esm/STM.js.map +1 -1
  101. package/dist/esm/Secret.js +7 -0
  102. package/dist/esm/Secret.js.map +1 -1
  103. package/dist/esm/Stream.js +31 -0
  104. package/dist/esm/Stream.js.map +1 -1
  105. package/dist/esm/Tuple.js +51 -0
  106. package/dist/esm/Tuple.js.map +1 -1
  107. package/dist/esm/Utils.js.map +1 -1
  108. package/dist/esm/index.js +5 -0
  109. package/dist/esm/index.js.map +1 -1
  110. package/dist/esm/internal/cause.js +14 -18
  111. package/dist/esm/internal/cause.js.map +1 -1
  112. package/dist/esm/internal/clock.js +1 -1
  113. package/dist/esm/internal/clock.js.map +1 -1
  114. package/dist/esm/internal/config.js +6 -0
  115. package/dist/esm/internal/config.js.map +1 -1
  116. package/dist/esm/internal/layer.js +12 -0
  117. package/dist/esm/internal/layer.js.map +1 -1
  118. package/dist/esm/internal/pool.js +205 -235
  119. package/dist/esm/internal/pool.js.map +1 -1
  120. package/dist/esm/internal/redacted.js +52 -0
  121. package/dist/esm/internal/redacted.js.map +1 -0
  122. package/dist/esm/internal/secret.js +39 -22
  123. package/dist/esm/internal/secret.js.map +1 -1
  124. package/dist/esm/internal/stm/stm.js +2 -1
  125. package/dist/esm/internal/stm/stm.js.map +1 -1
  126. package/dist/esm/internal/stream.js +13 -4
  127. package/dist/esm/internal/stream.js.map +1 -1
  128. package/dist/esm/internal/version.js +1 -1
  129. package/package.json +9 -1
  130. package/src/Config.ts +15 -7
  131. package/src/Context.ts +1 -1
  132. package/src/Either.ts +4 -1
  133. package/src/Iterable.ts +13 -0
  134. package/src/Layer.ts +22 -0
  135. package/src/Option.ts +7 -1
  136. package/src/Pool.ts +39 -6
  137. package/src/Predicate.ts +59 -0
  138. package/src/Redacted.ts +79 -0
  139. package/src/STM.ts +7 -2
  140. package/src/Secret.ts +14 -1
  141. package/src/Stream.ts +67 -7
  142. package/src/Tuple.ts +53 -0
  143. package/src/Types.ts +48 -0
  144. package/src/Utils.ts +9 -6
  145. package/src/index.ts +6 -0
  146. package/src/internal/cause.ts +14 -17
  147. package/src/internal/clock.ts +1 -6
  148. package/src/internal/config.ts +11 -0
  149. package/src/internal/layer.ts +63 -0
  150. package/src/internal/pool.ts +320 -447
  151. package/src/internal/redacted.ts +69 -0
  152. package/src/internal/secret.ts +39 -28
  153. package/src/internal/stm/stm.ts +4 -1
  154. package/src/internal/stream.ts +111 -50
  155. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"layer.js","names":["Cause","Clock","Context","Duration","FiberRefsPatch","dual","pipe","pipeArguments","hasProperty","ScheduleDecision","Intervals","Scope","effect","core","circular","fiberRuntime","EffectOpCodes","OpCodes","ref","runtime","runtimeFlags","synchronized","tracer","LayerSymbolKey","LayerTypeId","Symbol","for","layerVariance","_RIn","_","_E","_ROut","proto","arguments","MemoMapTypeIdKey","MemoMapTypeId","isLayer","u","isFresh","self","_tag","OP_FRESH","MemoMapImpl","constructor","getOrElseMemoize","layer","scope","modifyEffect","map","inMap","get","undefined","acquire","release","cached","flatMap","patch","b","patchFiberRefs","as","onExit","exitMatch","onFailure","void","onSuccess","scopeAddFinalizerExit","succeed","make","observers","deferredMake","deferred","finalizerRef","resource","uninterruptibleMask","restore","scopeMake","innerScope","makeBuilder","f","diffFiberRefs","exit","OP_FAILURE","deferredFailCause","effect_instruction_i0","zipRight","scopeClose","failCause","OP_SUCCESS","set","whenEffect","modify","n","asVoid","update","sync","delete","finalizer","deferredSucceed","memoized","deferredAwait","exitMatchEffect","flatten","makeMemoMap","suspend","makeSynchronized","Map","unsafeMakeMemoMap","unsafeMakeSynchronized","build","scopeWith","buildWithScope","memoMap","run","buildWithMemoMap","inMemoMap","op","matchCauseEffect","cause","failureK","value","successK","first","env","second","provideContext","scopeExtend","evaluate","zipWith","zipK","zipWithOptions","concurrent","catchAll","match","succeedContext","catchAllCause","matchCause","die","defect","dieSync","failCauseSync","discard","empty","context","fromEffectContext","extendScope","Object","create","OP_EXTEND_SCOPE","fail","error","failSync","tag","fresh","fromEffect","a","tagFirst","isTag","service","fromEffectDiscard","OP_FROM_EFFECT","fiberRefLocally","locallyEffect","locally","fiberRefLocallyWith","fiberRefLocallyScoped","scopedDiscard","fiberRefLocallyScopedWith","fromFunction","tagA","tagB","launch","scopedEffect","never","mapError","fold","OP_FOLD","failureOrCause","left","right","memoize","merge","that","mergeAll","layers","final","i","length","orDie","orElse","passthrough","project","unsafeGet","retry","schedule","stateTag","GenericTag","state","initial","retryLoop","retryUpdate","currentTimeMillis","now","step","decision","isDone","sleep","millis","start","intervals","scoped","scopedContext","OP_SCOPED","acquireRelease","close","OP_SUSPEND","syncContext","tap","tapError","e","tapErrorCause","toRuntime","toRuntimeWithMemoMap","provide","provideTo","OP_PROVIDE","OP_PROVIDE_MERGE","enumerable","provideMerge","OP_ZIP_WITH","unwrapEffect","unwrapScoped","withSpan","dataFirst","name","options","addSpanStackTrace","onEnd","makeSpanScoped","span","addFinalizer","withParentSpan","spanTag","provideSomeLayer","acquireUseRelease","provideSomeContext","provideSomeRuntime","rt","patchRefs","diff","defaultRuntime","fiberRefs","patchFlags","withFiberRuntime","fiber","oldContext","getFiberRef","currentContext","oldRefs","getFiberRefs","newRefs","id","oldFlags","_runtimeFlags","newFlags","rollbackRefs","rollbackFlags","setFiberRefs","ensuring","effect_provide","source","isContext"],"sources":["../../../src/internal/layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"layer.js","names":["Cause","Clock","Context","Duration","FiberRefsPatch","dual","pipe","HashMap","pipeArguments","hasProperty","ScheduleDecision","Intervals","Scope","effect","core","circular","fiberRuntime","EffectOpCodes","OpCodes","ref","runtime","runtimeFlags","synchronized","tracer","LayerSymbolKey","LayerTypeId","Symbol","for","layerVariance","_RIn","_","_E","_ROut","proto","arguments","MemoMapTypeIdKey","MemoMapTypeId","isLayer","u","isFresh","self","_tag","OP_FRESH","MemoMapImpl","constructor","getOrElseMemoize","layer","scope","modifyEffect","map","inMap","get","undefined","acquire","release","cached","flatMap","patch","b","patchFiberRefs","as","onExit","exitMatch","onFailure","void","onSuccess","scopeAddFinalizerExit","succeed","make","observers","deferredMake","deferred","finalizerRef","resource","uninterruptibleMask","restore","scopeMake","innerScope","makeBuilder","f","diffFiberRefs","exit","OP_FAILURE","deferredFailCause","effect_instruction_i0","zipRight","scopeClose","failCause","OP_SUCCESS","set","whenEffect","modify","n","asVoid","update","sync","delete","finalizer","deferredSucceed","memoized","deferredAwait","exitMatchEffect","flatten","makeMemoMap","suspend","makeSynchronized","Map","unsafeMakeMemoMap","unsafeMakeSynchronized","build","scopeWith","buildWithScope","memoMap","run","buildWithMemoMap","inMemoMap","op","matchCauseEffect","cause","failureK","value","successK","first","env","second","provideContext","scopeExtend","evaluate","zipWith","zipK","zipWithOptions","concurrent","catchAll","match","succeedContext","catchAllCause","matchCause","die","defect","dieSync","failCauseSync","discard","empty","context","fromEffectContext","extendScope","Object","create","OP_EXTEND_SCOPE","fail","error","failSync","tag","fresh","fromEffect","a","tagFirst","isTag","service","fromEffectDiscard","OP_FROM_EFFECT","fiberRefLocally","locallyEffect","locally","fiberRefLocallyWith","fiberRefLocallyScoped","scopedDiscard","fiberRefLocallyScopedWith","fromFunction","tagA","tagB","launch","scopedEffect","never","mapError","fold","OP_FOLD","failureOrCause","left","right","memoize","merge","that","mergeAll","layers","final","i","length","orDie","orElse","passthrough","project","unsafeGet","retry","schedule","stateTag","GenericTag","state","initial","retryLoop","retryUpdate","currentTimeMillis","now","step","decision","isDone","sleep","millis","start","intervals","scoped","scopedContext","OP_SCOPED","acquireRelease","close","OP_SUSPEND","syncContext","tap","tapError","e","tapErrorCause","toRuntime","toRuntimeWithMemoMap","provide","provideTo","OP_PROVIDE","OP_PROVIDE_MERGE","enumerable","provideMerge","OP_ZIP_WITH","unwrapEffect","unwrapScoped","annotateLogs","args","currentLogAnnotations","annotations","entries","reduce","acc","key","annotateSpans","currentTracerSpanAnnotations","withSpan","dataFirst","name","options","addSpanStackTrace","onEnd","makeSpanScoped","span","addFinalizer","withParentSpan","spanTag","provideSomeLayer","acquireUseRelease","provideSomeContext","provideSomeRuntime","rt","patchRefs","diff","defaultRuntime","fiberRefs","patchFlags","withFiberRuntime","fiber","oldContext","getFiberRef","currentContext","oldRefs","getFiberRefs","newRefs","id","oldFlags","_runtimeFlags","newFlags","rollbackRefs","rollbackFlags","setFiberRefs","ensuring","effect_provide","source","isContext"],"sources":["../../../src/internal/layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,261 +1,231 @@
1
1
  import * as Context from "../Context.js";
2
2
  import * as Duration from "../Duration.js";
3
- import * as Equal from "../Equal.js";
4
- import { dual, pipe } from "../Function.js";
5
- import * as Hash from "../Hash.js";
6
- import * as HashSet from "../HashSet.js";
3
+ import { dual, identity } from "../Function.js";
4
+ import * as Iterable from "../Iterable.js";
7
5
  import { pipeArguments } from "../Pipeable.js";
8
6
  import { hasProperty } from "../Predicate.js";
9
- import * as effect from "./core-effect.js";
7
+ import * as coreEffect from "./core-effect.js";
10
8
  import * as core from "./core.js";
9
+ import * as defaultServices from "./defaultServices.js";
10
+ import * as circular from "./effect/circular.js";
11
11
  import * as fiberRuntime from "./fiberRuntime.js";
12
- import * as queue from "./queue.js";
13
- import * as ref from "./ref.js";
12
+ import * as internalQueue from "./queue.js";
14
13
  /** @internal */
15
- const PoolSymbolKey = "effect/Pool";
16
- /** @internal */
17
- export const PoolTypeId = /*#__PURE__*/Symbol.for(PoolSymbolKey);
14
+ export const PoolTypeId = /*#__PURE__*/Symbol.for("effect/Pool");
18
15
  const poolVariance = {
19
16
  /* c8 ignore next */
20
17
  _E: _ => _,
21
18
  /* c8 ignore next */
22
19
  _A: _ => _
23
20
  };
24
- /**
25
- * A strategy that does nothing to shrink excess items. This is useful when
26
- * the minimum size of the pool is equal to its maximum size and so there is
27
- * nothing to do.
28
- */
29
- class NoneStrategy {
30
- initial() {
31
- return core.void;
32
- }
33
- track() {
34
- return core.void;
35
- }
36
- run() {
37
- return core.void;
38
- }
39
- }
40
- /**
41
- * A strategy that shrinks the pool down to its minimum size if items in the
42
- * pool have not been used for the specified duration.
43
- */
44
- class TimeToLiveStrategy {
45
- timeToLive;
46
- constructor(timeToLive) {
47
- this.timeToLive = timeToLive;
48
- }
49
- initial() {
50
- return core.flatMap(effect.clock, clock => core.flatMap(clock.currentTimeMillis, now => core.map(ref.make(now), ref => [clock, ref])));
51
- }
52
- track(state) {
53
- return core.asVoid(core.flatMap(state[0].currentTimeMillis, now => ref.set(state[1], now)));
54
- }
55
- run(state, getExcess, shrink) {
56
- return core.flatMap(getExcess, excess => excess <= 0 ? core.zipRight(state[0].sleep(this.timeToLive), this.run(state, getExcess, shrink)) : pipe(core.zipWith(ref.get(state[1]), state[0].currentTimeMillis, (start, end) => end - start), core.flatMap(duration => {
57
- if (duration >= Duration.toMillis(this.timeToLive)) {
58
- return core.zipRight(shrink, this.run(state, getExcess, shrink));
59
- } else {
60
- return core.zipRight(state[0].sleep(this.timeToLive), this.run(state, getExcess, shrink));
61
- }
62
- })));
63
- }
64
- }
21
+ /** @internal */
22
+ export const isPool = u => hasProperty(u, PoolTypeId);
23
+ /** @internal */
24
+ export const makeWith = options => core.uninterruptibleMask(restore => core.flatMap(core.context(), context => {
25
+ const scope = Context.get(context, fiberRuntime.scopeTag);
26
+ const acquire = core.mapInputContext(options.acquire, input => Context.merge(context, input));
27
+ const pool = new PoolImpl(acquire, options.concurrency ?? 1, options.min, options.max, options.strategy, Math.min(Math.max(options.targetUtilization ?? 1, 0.1), 1));
28
+ const initialize = core.tap(fiberRuntime.forkDaemon(restore(pool.resize)), fiber => scope.addFinalizer(() => core.interruptFiber(fiber)));
29
+ const runStrategy = core.tap(fiberRuntime.forkDaemon(restore(options.strategy.run(pool))), fiber => scope.addFinalizer(() => core.interruptFiber(fiber)));
30
+ return core.succeed(pool).pipe(core.zipLeft(scope.addFinalizer(() => pool.shutdown)), core.zipLeft(initialize), core.zipLeft(runStrategy));
31
+ }));
32
+ /** @internal */
33
+ export const make = options => makeWith({
34
+ ...options,
35
+ min: options.size,
36
+ max: options.size,
37
+ strategy: strategyNoop()
38
+ });
39
+ /** @internal */
40
+ export const makeWithTTL = options => core.flatMap(options.timeToLiveStrategy === "creation" ? strategyCreationTTL(options.timeToLive) : strategyUsageTTL(options.timeToLive), strategy => makeWith({
41
+ ...options,
42
+ strategy
43
+ }));
44
+ /** @internal */
45
+ export const get = self => self.get;
46
+ /** @internal */
47
+ export const invalidate = /*#__PURE__*/dual(2, (self, item) => self.invalidate(item));
65
48
  class PoolImpl {
66
- creator;
67
- min;
68
- max;
69
- isShuttingDown;
70
- state;
71
- items;
72
- invalidated;
73
- track;
74
- [PoolTypeId] = poolVariance;
75
- constructor(creator, min, max, isShuttingDown, state, items, invalidated, track) {
76
- this.creator = creator;
77
- this.min = min;
78
- this.max = max;
79
- this.isShuttingDown = isShuttingDown;
80
- this.state = state;
81
- this.items = items;
82
- this.invalidated = invalidated;
83
- this.track = track;
84
- }
85
- [Hash.symbol]() {
86
- return pipe(Hash.hash(this.creator), Hash.combine(Hash.number(this.min)), Hash.combine(Hash.number(this.max)), Hash.combine(Hash.hash(this.isShuttingDown)), Hash.combine(Hash.hash(this.state)), Hash.combine(Hash.hash(this.items)), Hash.combine(Hash.hash(this.invalidated)), Hash.combine(Hash.hash(this.track)), Hash.cached(this));
87
- }
88
- [Equal.symbol](that) {
89
- return isPool(that) && Equal.equals(this.creator, that.creator) && this.min === that.min && this.max === that.max && Equal.equals(this.isShuttingDown, that.isShuttingDown) && Equal.equals(this.state, that.state) && Equal.equals(this.items, that.items) && Equal.equals(this.invalidated, that.invalidated) && Equal.equals(this.track, that.track);
90
- }
91
- pipe() {
92
- return pipeArguments(this, arguments);
93
- }
94
- get get() {
95
- const acquire = restore => core.flatMap(ref.get(this.isShuttingDown), down => down ? core.interrupt : core.flatten(ref.modify(this.state, state => {
96
- if (state.free > 0 || state.size >= this.max) {
97
- return [core.flatMap(queue.take(this.items), attempted => core.exitMatch(attempted.result, {
98
- onFailure: () => core.succeed(attempted),
99
- onSuccess: item => core.flatMap(ref.get(this.invalidated), set => {
100
- if (pipe(set, HashSet.has(item))) {
101
- return core.zipRight(finalizeInvalid(this, attempted), acquire(restore));
102
- }
103
- return core.succeed(attempted);
104
- })
105
- })), {
106
- ...state,
107
- free: state.free - 1
108
- }];
109
- }
110
- if (state.size >= 0) {
111
- return [core.zipRight(allocate(this, restore), acquire(restore)), {
112
- size: state.size + 1,
113
- free: state.free + 1
114
- }];
49
+ acquire;
50
+ concurrency;
51
+ minSize;
52
+ maxSize;
53
+ strategy;
54
+ targetUtilization;
55
+ [PoolTypeId];
56
+ isShuttingDown = false;
57
+ semaphore;
58
+ items = new Set();
59
+ available = new Set();
60
+ invalidated = new Set();
61
+ waiters = 0;
62
+ constructor(acquire, concurrency, minSize, maxSize, strategy, targetUtilization) {
63
+ this.acquire = acquire;
64
+ this.concurrency = concurrency;
65
+ this.minSize = minSize;
66
+ this.maxSize = maxSize;
67
+ this.strategy = strategy;
68
+ this.targetUtilization = targetUtilization;
69
+ this[PoolTypeId] = poolVariance;
70
+ this.semaphore = circular.unsafeMakeSemaphore(concurrency * maxSize);
71
+ }
72
+ allocate = core.acquireUseRelease(fiberRuntime.scopeMake(), scope => this.acquire.pipe(fiberRuntime.scopeExtend(scope), core.exit, core.flatMap(exit => {
73
+ const item = {
74
+ exit,
75
+ finalizer: core.catchAllCause(scope.close(exit), reportUnhandledError),
76
+ refCount: 0
77
+ };
78
+ this.items.add(item);
79
+ this.available.add(item);
80
+ return core.as(exit._tag === "Success" ? this.strategy.onAcquire(item) : core.zipRight(item.finalizer, this.strategy.onAcquire(item)), item);
81
+ })), (scope, exit) => exit._tag === "Failure" ? scope.close(exit) : core.void);
82
+ get currentUsage() {
83
+ let count = this.waiters;
84
+ for (const item of this.items) {
85
+ count += item.refCount;
86
+ }
87
+ return count;
88
+ }
89
+ get targetSize() {
90
+ if (this.isShuttingDown) return 0;
91
+ const utilization = this.currentUsage / this.targetUtilization;
92
+ const target = Math.ceil(utilization / this.concurrency);
93
+ return Math.min(Math.max(this.minSize, target), this.maxSize);
94
+ }
95
+ get activeSize() {
96
+ return this.items.size - this.invalidated.size;
97
+ }
98
+ resizeLoop = core.suspend(() => {
99
+ if (this.activeSize >= this.targetSize) {
100
+ return core.void;
101
+ }
102
+ return core.zipRight(this.allocate, this.resizeLoop);
103
+ });
104
+ resizeSemaphore = circular.unsafeMakeSemaphore(1);
105
+ resize = this.resizeSemaphore.withPermits(1)(this.resizeLoop);
106
+ getPoolItem = core.uninterruptibleMask(restore => restore(this.semaphore.take(1)).pipe(core.zipRight(fiberRuntime.scopeTag), core.flatMap(scope => core.suspend(() => {
107
+ this.waiters++;
108
+ if (this.isShuttingDown) {
109
+ return core.interrupt;
110
+ } else if (this.targetSize > this.activeSize) {
111
+ return core.zipRight(restore(this.resize), core.sync(() => Iterable.unsafeHead(this.available)));
112
+ }
113
+ return core.succeed(Iterable.unsafeHead(this.available));
114
+ }).pipe(fiberRuntime.ensuring(core.sync(() => this.waiters--)), core.tap(item => {
115
+ if (item.exit._tag === "Failure") {
116
+ this.items.delete(item);
117
+ this.invalidated.delete(item);
118
+ this.available.delete(item);
119
+ return this.semaphore.release(1);
120
+ }
121
+ item.refCount++;
122
+ this.available.delete(item);
123
+ if (item.refCount < this.concurrency) {
124
+ this.available.add(item);
125
+ }
126
+ return scope.addFinalizer(() => core.zipRight(core.suspend(() => {
127
+ item.refCount--;
128
+ if (this.invalidated.has(item)) {
129
+ return this.invalidatePoolItem(item);
115
130
  }
116
- return [core.interrupt, state];
117
- })));
118
- const release = attempted => core.exitMatch(attempted.result, {
119
- onFailure: () => core.zipRight(attempted.finalizer, core.flatten(ref.modify(this.state, state => {
120
- if (state.size <= this.min) {
121
- return [allocateUinterruptible(this), {
122
- ...state,
123
- free: state.free + 1
124
- }];
125
- }
126
- return [core.void, {
127
- ...state,
128
- size: state.size - 1
129
- }];
130
- }))),
131
- onSuccess: item => core.flatMap(ref.get(this.invalidated), set => {
132
- if (pipe(set, HashSet.has(item))) {
133
- return finalizeInvalid(this, attempted);
131
+ this.available.add(item);
132
+ return core.void;
133
+ }), this.semaphore.release(1)));
134
+ }), core.onInterrupt(() => this.semaphore.release(1))))));
135
+ get = core.flatMap(core.suspend(() => this.isShuttingDown ? core.interrupt : this.getPoolItem), _ => _.exit);
136
+ invalidate(item) {
137
+ return core.suspend(() => {
138
+ if (this.isShuttingDown) return core.void;
139
+ for (const poolItem of this.items) {
140
+ if (poolItem.exit._tag === "Success" && poolItem.exit.value === item) {
141
+ return core.uninterruptible(this.invalidatePoolItem(poolItem));
134
142
  }
135
- return pipe(ref.update(this.state, state => ({
136
- ...state,
137
- free: state.free + 1
138
- })), core.zipRight(queue.offer(this.items, attempted)), core.zipRight(this.track(attempted.result)), core.zipRight(core.whenEffect(getAndShutdown(this), ref.get(this.isShuttingDown))));
139
- })
143
+ }
144
+ return core.void;
140
145
  });
141
- return pipe(core.uninterruptibleMask(restore => core.tap(acquire(restore), a => fiberRuntime.addFinalizer(_exit => release(a)))), fiberRuntime.withEarlyRelease, fiberRuntime.disconnect, core.flatMap(([release, attempted]) => pipe(effect.when(release, () => isFailure(attempted)), core.zipRight(toEffect(attempted)))));
142
- }
143
- invalidate(item) {
144
- return ref.update(this.invalidated, HashSet.add(item));
145
146
  }
146
- }
147
- const allocate = (self, restore) => core.flatMap(fiberRuntime.scopeMake(), scope => core.flatMap(core.exit(restore(fiberRuntime.scopeExtend(self.creator, scope))), exit => core.flatMap(core.succeed({
148
- result: exit,
149
- finalizer: core.scopeClose(scope, core.exitSucceed(void 0))
150
- }), attempted => pipe(queue.offer(self.items, attempted), core.zipRight(self.track(attempted.result)), core.zipRight(core.whenEffect(getAndShutdown(self), ref.get(self.isShuttingDown))), core.as(attempted)))));
151
- const allocateUinterruptible = self => core.uninterruptibleMask(restore => allocate(self, restore));
152
- /**
153
- * Returns the number of items in the pool in excess of the minimum size.
154
- */
155
- const excess = self => core.map(ref.get(self.state), state => state.size - Math.min(self.min, state.free));
156
- const finalizeInvalid = (self, attempted) => pipe(forEach(attempted, a => ref.update(self.invalidated, HashSet.remove(a))), core.zipRight(attempted.finalizer), core.zipRight(core.flatten(ref.modify(self.state, state => {
157
- if (state.size <= self.min) {
158
- return [allocateUinterruptible(self), {
159
- ...state,
160
- free: state.free + 1
161
- }];
147
+ invalidatePoolItem(poolItem) {
148
+ return core.suspend(() => {
149
+ if (!this.items.has(poolItem)) {
150
+ return core.void;
151
+ } else if (poolItem.refCount === 0) {
152
+ this.items.delete(poolItem);
153
+ this.available.delete(poolItem);
154
+ this.invalidated.delete(poolItem);
155
+ return core.zipRight(poolItem.finalizer, this.resize);
156
+ }
157
+ this.invalidated.add(poolItem);
158
+ this.available.delete(poolItem);
159
+ return core.void;
160
+ });
162
161
  }
163
- return [core.void, {
164
- ...state,
165
- size: state.size - 1
166
- }];
167
- }))));
168
- /**
169
- * Gets items from the pool and shuts them down as long as there are items
170
- * free, signalling shutdown of the pool if the pool is empty.
171
- */
172
- const getAndShutdown = self => core.flatten(ref.modify(self.state, state => {
173
- if (state.free > 0) {
174
- return [core.matchCauseEffect(queue.take(self.items), {
175
- onFailure: () => core.void,
176
- onSuccess: attempted => pipe(forEach(attempted, a => ref.update(self.invalidated, HashSet.remove(a))), core.zipRight(attempted.finalizer), core.zipRight(ref.update(self.state, state => ({
177
- ...state,
178
- size: state.size - 1
179
- }))), core.flatMap(() => getAndShutdown(self)))
180
- }), {
181
- ...state,
182
- free: state.free - 1
183
- }];
162
+ get shutdown() {
163
+ return core.suspend(() => {
164
+ if (this.isShuttingDown) return core.void;
165
+ this.isShuttingDown = true;
166
+ const size = this.items.size;
167
+ const semaphore = circular.unsafeMakeSemaphore(size);
168
+ return core.forEachSequentialDiscard(this.items, item => {
169
+ if (item.refCount > 0) {
170
+ item.finalizer = core.zipLeft(item.finalizer, semaphore.release(1));
171
+ this.invalidated.add(item);
172
+ return semaphore.take(1);
173
+ }
174
+ this.items.delete(item);
175
+ this.available.delete(item);
176
+ this.invalidated.delete(item);
177
+ return item.finalizer;
178
+ }).pipe(core.zipRight(this.semaphore.releaseAll), core.zipRight(semaphore.take(size)));
179
+ });
184
180
  }
185
- if (state.size > 0) {
186
- return [core.void, state];
181
+ pipe() {
182
+ return pipeArguments(this, arguments);
187
183
  }
188
- return [queue.shutdown(self.items), {
189
- ...state,
190
- size: state.size - 1
191
- }];
184
+ }
185
+ const strategyNoop = () => ({
186
+ run: _ => core.void,
187
+ onAcquire: _ => core.void
188
+ });
189
+ const strategyCreationTTL = ttl => defaultServices.clockWith(clock => core.map(internalQueue.unbounded(), queue => {
190
+ const ttlMillis = Duration.toMillis(ttl);
191
+ const creationTimes = new WeakMap();
192
+ return identity({
193
+ run: pool => {
194
+ const process = item => core.suspend(() => {
195
+ if (!pool.items.has(item) || pool.invalidated.has(item)) {
196
+ return core.void;
197
+ }
198
+ const now = clock.unsafeCurrentTimeMillis();
199
+ const created = creationTimes.get(item);
200
+ const remaining = ttlMillis - (now - created);
201
+ return remaining > 0 ? coreEffect.delay(process(item), remaining) : pool.invalidatePoolItem(item);
202
+ });
203
+ return queue.take.pipe(core.tap(process), coreEffect.forever);
204
+ },
205
+ onAcquire: item => core.suspend(() => {
206
+ creationTimes.set(item, clock.unsafeCurrentTimeMillis());
207
+ return queue.offer(item);
208
+ })
209
+ });
192
210
  }));
193
- /**
194
- * Begins pre-allocating pool entries based on minimum pool size.
195
- */
196
- const initialize = self => fiberRuntime.replicateEffect(core.uninterruptibleMask(restore => core.flatten(ref.modify(self.state, state => {
197
- if (state.size < self.min && state.size >= 0) {
198
- return [allocate(self, restore), {
199
- size: state.size + 1,
200
- free: state.free + 1
201
- }];
202
- }
203
- return [core.void, state];
204
- }))), self.min, {
205
- discard: true
211
+ const strategyUsageTTL = ttl => core.map(internalQueue.unbounded(), queue => {
212
+ return identity({
213
+ run: pool => {
214
+ const process = core.suspend(() => {
215
+ const excess = pool.activeSize - pool.targetSize;
216
+ if (excess <= 0) return core.void;
217
+ return queue.take.pipe(core.tap(item => pool.invalidatePoolItem(item)), core.zipRight(process));
218
+ });
219
+ return process.pipe(coreEffect.delay(ttl), coreEffect.forever);
220
+ },
221
+ onAcquire: item => queue.offer(item)
222
+ });
206
223
  });
207
- /**
208
- * Shrinks the pool down, but never to less than the minimum size.
209
- */
210
- const shrink = self => core.uninterruptible(core.flatten(ref.modify(self.state, state => {
211
- if (state.size > self.min && state.free > 0) {
212
- return [pipe(queue.take(self.items), core.flatMap(attempted => pipe(forEach(attempted, a => ref.update(self.invalidated, HashSet.remove(a))), core.zipRight(attempted.finalizer), core.zipRight(ref.update(self.state, state => ({
213
- ...state,
214
- size: state.size - 1
215
- })))))), {
216
- ...state,
217
- free: state.free - 1
218
- }];
224
+ const reportUnhandledError = cause => core.withFiberRuntime(fiber => {
225
+ const unhandledLogLevel = fiber.getFiberRef(core.currentUnhandledErrorLogLevel);
226
+ if (unhandledLogLevel._tag === "Some") {
227
+ fiber.log("Unhandled error in pool finalizer", cause, unhandledLogLevel);
219
228
  }
220
- return [core.void, state];
221
- })));
222
- const shutdown = self => core.flatten(ref.modify(self.isShuttingDown, down => down ? [queue.awaitShutdown(self.items), true] : [core.zipRight(getAndShutdown(self), queue.awaitShutdown(self.items)), true]));
223
- const isFailure = self => core.exitIsFailure(self.result);
224
- const forEach = (self, f) => core.exitMatch(self.result, {
225
- onFailure: () => core.void,
226
- onSuccess: f
229
+ return core.void;
227
230
  });
228
- const toEffect = self => self.result;
229
- /**
230
- * A more powerful variant of `make` that allows specifying a `Strategy` that
231
- * describes how a pool whose excess items are not being used will be shrunk
232
- * down to the minimum size.
233
- */
234
- const makeWith = options => core.uninterruptibleMask(restore => pipe(fiberRuntime.all([core.context(), ref.make(false), ref.make({
235
- size: 0,
236
- free: 0
237
- }), queue.bounded(options.max), ref.make(HashSet.empty()), options.strategy.initial()]), core.flatMap(([context, down, state, items, inv, initial]) => {
238
- const pool = new PoolImpl(core.mapInputContext(options.acquire, old => Context.merge(old)(context)), options.min, options.max, down, state, items, inv, exit => options.strategy.track(initial, exit));
239
- return pipe(fiberRuntime.forkDaemon(restore(initialize(pool))), core.flatMap(fiber => core.flatMap(fiberRuntime.forkDaemon(restore(options.strategy.run(initial, excess(pool), shrink(pool)))), shrink => fiberRuntime.addFinalizer(() => pipe(shutdown(pool), core.zipRight(core.interruptFiber(fiber)), core.zipRight(core.interruptFiber(shrink)))))), core.as(pool));
240
- })));
241
- /** @internal */
242
- export const isPool = u => hasProperty(u, PoolTypeId);
243
- /** @internal */
244
- export const make = options => makeWith({
245
- acquire: options.acquire,
246
- min: options.size,
247
- max: options.size,
248
- strategy: new NoneStrategy()
249
- });
250
- /** @internal */
251
- export const makeWithTTL = options => makeWith({
252
- acquire: options.acquire,
253
- min: options.min,
254
- max: options.max,
255
- strategy: new TimeToLiveStrategy(Duration.decode(options.timeToLive))
256
- });
257
- /** @internal */
258
- export const get = self => self.get;
259
- /** @internal */
260
- export const invalidate = /*#__PURE__*/dual(2, (self, value) => self.invalidate(value));
261
231
  //# sourceMappingURL=pool.js.map