effect 2.0.3 → 2.0.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.
Files changed (112) hide show
  1. package/FiberMap/package.json +6 -0
  2. package/FiberSet/package.json +6 -0
  3. package/Trie/package.json +6 -0
  4. package/dist/cjs/FiberMap.js +190 -0
  5. package/dist/cjs/FiberMap.js.map +1 -0
  6. package/dist/cjs/FiberSet.js +150 -0
  7. package/dist/cjs/FiberSet.js.map +1 -0
  8. package/dist/cjs/MutableHashMap.js +11 -1
  9. package/dist/cjs/MutableHashMap.js.map +1 -1
  10. package/dist/cjs/MutableHashSet.js +7 -1
  11. package/dist/cjs/MutableHashSet.js.map +1 -1
  12. package/dist/cjs/MutableList.js +8 -11
  13. package/dist/cjs/MutableList.js.map +1 -1
  14. package/dist/cjs/Schedule.js.map +1 -1
  15. package/dist/cjs/Struct.js +16 -1
  16. package/dist/cjs/Struct.js.map +1 -1
  17. package/dist/cjs/Trie.js +680 -0
  18. package/dist/cjs/Trie.js.map +1 -0
  19. package/dist/cjs/index.js +8 -2
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/internal/hashMap/node.js +2 -2
  22. package/dist/cjs/internal/hashMap/node.js.map +1 -1
  23. package/dist/cjs/internal/pubsub.js +11 -17
  24. package/dist/cjs/internal/pubsub.js.map +1 -1
  25. package/dist/cjs/internal/redBlackTree/node.js +35 -30
  26. package/dist/cjs/internal/redBlackTree/node.js.map +1 -1
  27. package/dist/cjs/internal/redBlackTree.js +69 -13
  28. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  29. package/dist/cjs/internal/schedule.js +1 -1
  30. package/dist/cjs/internal/schedule.js.map +1 -1
  31. package/dist/cjs/internal/stack.js +6 -11
  32. package/dist/cjs/internal/stack.js.map +1 -1
  33. package/dist/cjs/internal/trie.js +588 -0
  34. package/dist/cjs/internal/trie.js.map +1 -0
  35. package/dist/cjs/internal/version.js +1 -1
  36. package/dist/dts/FiberMap.d.ts +135 -0
  37. package/dist/dts/FiberMap.d.ts.map +1 -0
  38. package/dist/dts/FiberSet.d.ts +99 -0
  39. package/dist/dts/FiberSet.d.ts.map +1 -0
  40. package/dist/dts/MutableHashMap.d.ts +4 -0
  41. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  42. package/dist/dts/MutableHashSet.d.ts +5 -0
  43. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  44. package/dist/dts/MutableList.d.ts.map +1 -1
  45. package/dist/dts/Schedule.d.ts +2 -1
  46. package/dist/dts/Schedule.d.ts.map +1 -1
  47. package/dist/dts/Struct.d.ts +17 -3
  48. package/dist/dts/Struct.d.ts.map +1 -1
  49. package/dist/dts/Trie.d.ts +740 -0
  50. package/dist/dts/Trie.d.ts.map +1 -0
  51. package/dist/dts/Types.d.ts +4 -0
  52. package/dist/dts/Types.d.ts.map +1 -1
  53. package/dist/dts/index.d.ts +26 -0
  54. package/dist/dts/index.d.ts.map +1 -1
  55. package/dist/dts/internal/redBlackTree/node.d.ts +8 -0
  56. package/dist/dts/internal/redBlackTree/node.d.ts.map +1 -1
  57. package/dist/dts/internal/stack.d.ts +1 -1
  58. package/dist/dts/internal/stack.d.ts.map +1 -1
  59. package/dist/dts/internal/trie.d.ts +2 -0
  60. package/dist/dts/internal/trie.d.ts.map +1 -0
  61. package/dist/dts/internal/version.d.ts +1 -1
  62. package/dist/esm/FiberMap.js +154 -0
  63. package/dist/esm/FiberMap.js.map +1 -0
  64. package/dist/esm/FiberSet.js +114 -0
  65. package/dist/esm/FiberSet.js.map +1 -0
  66. package/dist/esm/MutableHashMap.js +9 -0
  67. package/dist/esm/MutableHashMap.js.map +1 -1
  68. package/dist/esm/MutableHashSet.js +5 -0
  69. package/dist/esm/MutableHashSet.js.map +1 -1
  70. package/dist/esm/MutableList.js +8 -11
  71. package/dist/esm/MutableList.js.map +1 -1
  72. package/dist/esm/Schedule.js.map +1 -1
  73. package/dist/esm/Struct.js +14 -0
  74. package/dist/esm/Struct.js.map +1 -1
  75. package/dist/esm/Trie.js +648 -0
  76. package/dist/esm/Trie.js.map +1 -0
  77. package/dist/esm/index.js +26 -0
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/internal/hashMap/node.js +2 -2
  80. package/dist/esm/internal/hashMap/node.js.map +1 -1
  81. package/dist/esm/internal/pubsub.js +11 -17
  82. package/dist/esm/internal/pubsub.js.map +1 -1
  83. package/dist/esm/internal/redBlackTree/node.js +31 -25
  84. package/dist/esm/internal/redBlackTree/node.js.map +1 -1
  85. package/dist/esm/internal/redBlackTree.js +69 -13
  86. package/dist/esm/internal/redBlackTree.js.map +1 -1
  87. package/dist/esm/internal/schedule.js +1 -1
  88. package/dist/esm/internal/schedule.js.map +1 -1
  89. package/dist/esm/internal/stack.js +4 -9
  90. package/dist/esm/internal/stack.js.map +1 -1
  91. package/dist/esm/internal/trie.js +547 -0
  92. package/dist/esm/internal/trie.js.map +1 -0
  93. package/dist/esm/internal/version.js +1 -1
  94. package/package.json +25 -1
  95. package/src/FiberMap.ts +296 -0
  96. package/src/FiberSet.ts +194 -0
  97. package/src/MutableHashMap.ts +10 -0
  98. package/src/MutableHashSet.ts +6 -0
  99. package/src/MutableList.ts +15 -7
  100. package/src/Schedule.ts +2 -1
  101. package/src/Struct.ts +24 -6
  102. package/src/Trie.ts +772 -0
  103. package/src/Types.ts +5 -0
  104. package/src/index.ts +29 -0
  105. package/src/internal/hashMap/node.ts +3 -3
  106. package/src/internal/pubsub.ts +15 -14
  107. package/src/internal/redBlackTree/node.ts +37 -17
  108. package/src/internal/redBlackTree.ts +73 -38
  109. package/src/internal/schedule.ts +2 -2
  110. package/src/internal/stack.ts +8 -2
  111. package/src/internal/trie.ts +721 -0
  112. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["absurd","flow","hole","identity","pipe","unsafeCoerce","BigDecimal","BigInt","Boolean","Brand","Cache","Cause","Channel","ChildExecutorDecision","Chunk","Clock","Config","ConfigError","ConfigProvider","ConfigProviderPathPatch","Console","Context","Cron","Data","DefaultServices","Deferred","Differ","Duration","Effect","Effectable","Either","Encoding","Equal","Equivalence","ExecutionStrategy","Exit","Fiber","FiberId","FiberRef","FiberRefs","FiberRefsPatch","FiberStatus","Function","GlobalValue","GroupBy","HKT","Hash","HashMap","HashSet","Inspectable","KeyedPool","Layer","List","LogLevel","LogSpan","Logger","Match","MergeDecision","MergeState","MergeStrategy","Metric","MetricBoundaries","MetricHook","MetricKey","MetricKeyType","MetricLabel","MetricPair","MetricPolling","MetricRegistry","MetricState","MutableHashMap","MutableHashSet","MutableList","MutableQueue","MutableRef","NonEmptyIterable","Number","Option","Order","Ordering","Pipeable","Pool","Predicate","PrimaryKey","PubSub","Queue","Random","ReadonlyArray","ReadonlyRecord","RedBlackTree","Ref","Reloadable","Request","RequestBlock","RequestResolver","Resource","Runtime","RuntimeFlags","RuntimeFlagsPatch","STM","Schedule","ScheduleDecision","ScheduleInterval","ScheduleIntervals","Scheduler","Scope","ScopedCache","ScopedRef","Secret","SingleProducerAsyncInput","Sink","SortedMap","SortedSet","Stream","StreamEmit","StreamHaltStrategy","Streamable","String","Struct","SubscriptionRef","Supervisor","Symbol","SynchronizedRef","TArray","TDeferred","TMap","TPriorityQueue","TPubSub","TQueue","TRandom","TReentrantLock","TRef","TSemaphore","TSet","Take","TestAnnotation","TestAnnotationMap","TestAnnotations","TestClock","TestConfig","TestContext","TestLive","TestServices","TestSized","Tracer","Tuple","Types","Unify","UpstreamPullRequest","UpstreamPullStrategy","Utils"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["absurd","flow","hole","identity","pipe","unsafeCoerce","BigDecimal","BigInt","Boolean","Brand","Cache","Cause","Channel","ChildExecutorDecision","Chunk","Clock","Config","ConfigError","ConfigProvider","ConfigProviderPathPatch","Console","Context","Cron","Data","DefaultServices","Deferred","Differ","Duration","Effect","Effectable","Either","Encoding","Equal","Equivalence","ExecutionStrategy","Exit","Fiber","FiberId","FiberMap","FiberRef","FiberRefs","FiberRefsPatch","FiberSet","FiberStatus","Function","GlobalValue","GroupBy","HKT","Hash","HashMap","HashSet","Inspectable","KeyedPool","Layer","List","LogLevel","LogSpan","Logger","Match","MergeDecision","MergeState","MergeStrategy","Metric","MetricBoundaries","MetricHook","MetricKey","MetricKeyType","MetricLabel","MetricPair","MetricPolling","MetricRegistry","MetricState","MutableHashMap","MutableHashSet","MutableList","MutableQueue","MutableRef","NonEmptyIterable","Number","Option","Order","Ordering","Pipeable","Pool","Predicate","PrimaryKey","PubSub","Queue","Random","ReadonlyArray","ReadonlyRecord","RedBlackTree","Ref","Reloadable","Request","RequestBlock","RequestResolver","Resource","Runtime","RuntimeFlags","RuntimeFlagsPatch","STM","Schedule","ScheduleDecision","ScheduleInterval","ScheduleIntervals","Scheduler","Scope","ScopedCache","ScopedRef","Secret","SingleProducerAsyncInput","Sink","SortedMap","SortedSet","Stream","StreamEmit","StreamHaltStrategy","Streamable","String","Struct","SubscriptionRef","Supervisor","Symbol","SynchronizedRef","TArray","TDeferred","TMap","TPriorityQueue","TPubSub","TQueue","TRandom","TReentrantLock","TRef","TSemaphore","TSet","Take","TestAnnotation","TestAnnotationMap","TestAnnotations","TestClock","TestConfig","TestContext","TestLive","TestServices","TestSized","Tracer","Trie","Tuple","Types","Unify","UpstreamPullRequest","UpstreamPullStrategy","Utils"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { equals } from "../../Equal.js";
2
2
  import * as O from "../../Option.js";
3
3
  import { isTagged } from "../../Predicate.js";
4
- import { Stack } from "../stack.js";
4
+ import * as Stack from "../stack.js";
5
5
  import { arraySpliceIn, arraySpliceOut, arrayUpdate } from "./array.js";
6
6
  import { fromBitmap, hashFragment, toBitmap } from "./bitwise.js";
7
7
  import { MAX_INDEX_NODE, MIN_ARRAY_NODE, SIZE } from "./config.js";
@@ -243,7 +243,7 @@ function mergeLeaves(edit, shift, h1, n1, h2, n2) {
243
243
  while (true) {
244
244
  const res = mergeLeavesInner(edit, currentShift, h1, n1, h2, n2);
245
245
  if (typeof res === "function") {
246
- stack = new Stack(res, stack);
246
+ stack = Stack.make(res, stack);
247
247
  currentShift = currentShift + SIZE;
248
248
  } else {
249
249
  let final = res;
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","names":["equals","O","isTagged","Stack","arraySpliceIn","arraySpliceOut","arrayUpdate","fromBitmap","hashFragment","toBitmap","MAX_INDEX_NODE","MIN_ARRAY_NODE","SIZE","EmptyNode","_tag","modify","edit","_shift","f","hash","key","size","v","none","isNone","value","LeafNode","isEmptyNode","a","isLeafNode","node","canEditNode","constructor","shift","mergeLeaves","CollisionNode","children","canEdit","list","updateCollisionList","length","mutate","len","i","child","newValue","IndexedNode","mask","frag","bit","indx","exists","_newChild","expand","current","bitmap","newChildren","ArrayNode","count","newChild","pack","removed","elements","Array","g","elem","subNodes","arr","mergeLeavesInner","h1","n1","h2","n2","subH1","subH2","stack","undefined","currentShift","res","final","previous"],"sources":["../../../../src/internal/hashMap/node.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"node.js","names":["equals","O","isTagged","Stack","arraySpliceIn","arraySpliceOut","arrayUpdate","fromBitmap","hashFragment","toBitmap","MAX_INDEX_NODE","MIN_ARRAY_NODE","SIZE","EmptyNode","_tag","modify","edit","_shift","f","hash","key","size","v","none","isNone","value","LeafNode","isEmptyNode","a","isLeafNode","node","canEditNode","constructor","shift","mergeLeaves","CollisionNode","children","canEdit","list","updateCollisionList","length","mutate","len","i","child","newValue","IndexedNode","mask","frag","bit","indx","exists","_newChild","expand","current","bitmap","newChildren","ArrayNode","count","newChild","pack","removed","elements","Array","g","elem","subNodes","arr","mergeLeavesInner","h1","n1","h2","n2","subH1","subH2","stack","undefined","currentShift","res","make","final","previous"],"sources":["../../../../src/internal/hashMap/node.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -482,26 +482,16 @@ class BoundedPubSubSingleSubscription {
482
482
  }
483
483
  }
484
484
  /** @internal */
485
- class Node {
486
- value;
487
- subscribers;
488
- next;
489
- constructor(value, subscribers, next) {
490
- this.value = value;
491
- this.subscribers = subscribers;
492
- this.next = next;
493
- }
494
- }
495
- /** @internal */
496
485
  class UnboundedPubSub {
497
- publisherHead = new Node(AbsentValue, 0, null);
486
+ publisherHead = {
487
+ value: AbsentValue,
488
+ subscribers: 0,
489
+ next: null
490
+ };
491
+ publisherTail = this.publisherHead;
498
492
  publisherIndex = 0;
499
- publisherTail;
500
493
  subscribersIndex = 0;
501
494
  capacity = Number.MAX_SAFE_INTEGER;
502
- constructor() {
503
- this.publisherTail = this.publisherHead;
504
- }
505
495
  isEmpty() {
506
496
  return this.publisherHead === this.publisherTail;
507
497
  }
@@ -514,7 +504,11 @@ class UnboundedPubSub {
514
504
  publish(value) {
515
505
  const subscribers = this.publisherTail.subscribers;
516
506
  if (subscribers !== 0) {
517
- this.publisherTail.next = new Node(value, subscribers, null);
507
+ this.publisherTail.next = {
508
+ value,
509
+ subscribers,
510
+ next: null
511
+ };
518
512
  this.publisherTail = this.publisherTail.next;
519
513
  this.publisherIndex += 1;
520
514
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.js","names":["Chunk","dual","pipe","MutableQueue","MutableRef","Option","pipeArguments","core","executionStrategy","fiberRuntime","queue","AbsentValue","Symbol","for","addSubscribers","subscription","pollers","subscribers","has","set","Set","get","add","removeSubscribers","delete","size","bounded","requestedCapacity","sync","makeBoundedPubSub","flatMap","atomicPubSub","makePubSub","BackPressureStrategy","dropping","DroppingStrategy","sliding","SlidingStrategy","unbounded","makeUnboundedPubSub","capacity","self","isFull","isEmpty","shutdown","isShutdown","awaitShutdown","publish","value","publishAll","elements","subscribe","ensureCapacity","BoundedPubSubSingle","nextPow2","BoundedPubSubPow2","BoundedPubSubArb","UnboundedPubSub","makeSubscription","pubsub","strategy","map","deferredMake","deferred","unsafeMakeSubscription","make","shutdownHook","shutdownFlag","SubscriptionImpl","array","publisherIndex","subscriberCount","subscribersIndex","constructor","Array","from","length","index","chunk","fromIterable","n","available","forPubSub","Math","min","iteratorIndex","publishAllIndex","a","unsafeGet","drop","slide","BoundedPubSubArbSubscription","subscriberIndex","unsubscribed","max","poll","default_","elem","pollUpTo","empty","toPoll","builder","pollUpToIndex","push","unsubscribe","mask","BoundedPubSubPow2Subscription","arguments","unsafeHead","BoundedPubSubSingleSubscription","of","Node","next","publisherHead","publisherTail","Number","MAX_SAFE_INTEGER","UnboundedPubSubSubscription","subscriberHead","loop","polled","i","DequeueTypeId","dequeueVariance","isActive","suspend","interrupt","succeed","unsafeSize","none","some","uninterruptible","withFiberRuntime","state","forEachParUnbounded","unsafePollAllQueue","d","deferredInterruptWith","id","zipRight","unsafeOnPubSubEmptySpace","whenEffect","deferredSucceed","asUnit","deferredAwait","take","message","EmptyMutableQueue","deferredUnsafeMake","offer","unsafeCompletePollers","onInterrupt","unsafeRemove","takeAll","as","unsafePollAllSubscription","takeUpTo","unsafePollN","takeBetween","takeRemainderLoop","acc","bs","remaining","b","appendAll","append","PubSubImpl","scope","EnqueueTypeId","enqueueVariance","close","exitInterrupt","unsafeCompleteSubscribers","handleSurplus","unsafeOffer","surplus","unsafePublishAll","acquire","tap","all","fork","sequential","tuple","addFinalizer","acquireRelease","exit","offerAll","scopeMake","unsafeMakePubSub","Map","nextPow","ceil","log","pow","InvalidPubSubCapacityException","unsafeCompleteDeferred","deferredUnsafeDone","unsafeOfferAll","POSITIVE_INFINITY","filter","publishers","fiberId","forEachConcurrentDiscard","_","last","unit","keepPolling","publisher","published","prepend","unsafeStrategyCompletePollers","unsafeStrategyCompleteSubscribers","iterator","done","_pubsub","_subscribers","_elements","_isShutdown","unsafeSlidingPublish","it","pub","poller","pollResult","pollersSet"],"sources":["../../../src/internal/pubsub.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"pubsub.js","names":["Chunk","dual","pipe","MutableQueue","MutableRef","Option","pipeArguments","core","executionStrategy","fiberRuntime","queue","AbsentValue","Symbol","for","addSubscribers","subscription","pollers","subscribers","has","set","Set","get","add","removeSubscribers","delete","size","bounded","requestedCapacity","sync","makeBoundedPubSub","flatMap","atomicPubSub","makePubSub","BackPressureStrategy","dropping","DroppingStrategy","sliding","SlidingStrategy","unbounded","makeUnboundedPubSub","capacity","self","isFull","isEmpty","shutdown","isShutdown","awaitShutdown","publish","value","publishAll","elements","subscribe","ensureCapacity","BoundedPubSubSingle","nextPow2","BoundedPubSubPow2","BoundedPubSubArb","UnboundedPubSub","makeSubscription","pubsub","strategy","map","deferredMake","deferred","unsafeMakeSubscription","make","shutdownHook","shutdownFlag","SubscriptionImpl","array","publisherIndex","subscriberCount","subscribersIndex","constructor","Array","from","length","index","chunk","fromIterable","n","available","forPubSub","Math","min","iteratorIndex","publishAllIndex","a","unsafeGet","drop","slide","BoundedPubSubArbSubscription","subscriberIndex","unsubscribed","max","poll","default_","elem","pollUpTo","empty","toPoll","builder","pollUpToIndex","push","unsubscribe","mask","BoundedPubSubPow2Subscription","arguments","unsafeHead","BoundedPubSubSingleSubscription","of","publisherHead","next","publisherTail","Number","MAX_SAFE_INTEGER","UnboundedPubSubSubscription","subscriberHead","loop","polled","i","DequeueTypeId","dequeueVariance","isActive","suspend","interrupt","succeed","unsafeSize","none","some","uninterruptible","withFiberRuntime","state","forEachParUnbounded","unsafePollAllQueue","d","deferredInterruptWith","id","zipRight","unsafeOnPubSubEmptySpace","whenEffect","deferredSucceed","asUnit","deferredAwait","take","message","EmptyMutableQueue","deferredUnsafeMake","offer","unsafeCompletePollers","onInterrupt","unsafeRemove","takeAll","as","unsafePollAllSubscription","takeUpTo","unsafePollN","takeBetween","takeRemainderLoop","acc","bs","remaining","b","appendAll","append","PubSubImpl","scope","EnqueueTypeId","enqueueVariance","close","exitInterrupt","unsafeCompleteSubscribers","handleSurplus","unsafeOffer","surplus","unsafePublishAll","acquire","tap","all","fork","sequential","tuple","addFinalizer","acquireRelease","exit","offerAll","scopeMake","unsafeMakePubSub","Map","nextPow","ceil","log","pow","InvalidPubSubCapacityException","unsafeCompleteDeferred","deferredUnsafeDone","unsafeOfferAll","POSITIVE_INFINITY","filter","publishers","fiberId","forEachConcurrentDiscard","_","last","unit","keepPolling","publisher","published","prepend","unsafeStrategyCompletePollers","unsafeStrategyCompleteSubscribers","iterator","done","_pubsub","_subscribers","_elements","_isShutdown","unsafeSlidingPublish","it","pub","poller","pollResult","pollersSet"],"sources":["../../../src/internal/pubsub.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -4,26 +4,21 @@ export const Color = {
4
4
  Black: 1 << 0
5
5
  };
6
6
  /** @internal */
7
- export class Node {
8
- color;
9
- key;
10
- value;
11
- left;
12
- right;
13
- count;
14
- constructor(color, key, value, left, right, count) {
15
- this.color = color;
16
- this.key = key;
17
- this.value = value;
18
- this.left = left;
19
- this.right = right;
20
- this.count = count;
21
- }
22
- }
23
- /** @internal */
24
- export function clone(node) {
25
- return new Node(node.color, node.key, node.value, node.left, node.right, node.count);
26
- }
7
+ export const clone = ({
8
+ color,
9
+ count,
10
+ key,
11
+ left,
12
+ right,
13
+ value
14
+ }) => ({
15
+ color,
16
+ key,
17
+ value,
18
+ left,
19
+ right,
20
+ count
21
+ });
27
22
  /** @internal */
28
23
  export function swap(n, v) {
29
24
  n.key = v.key;
@@ -34,11 +29,22 @@ export function swap(n, v) {
34
29
  n.count = v.count;
35
30
  }
36
31
  /** @internal */
37
- export function repaint(node, color) {
38
- return new Node(color, node.key, node.value, node.left, node.right, node.count);
39
- }
32
+ export const repaint = ({
33
+ count,
34
+ key,
35
+ left,
36
+ right,
37
+ value
38
+ }, color) => ({
39
+ color,
40
+ key,
41
+ value,
42
+ left,
43
+ right,
44
+ count
45
+ });
40
46
  /** @internal */
41
- export function recount(node) {
47
+ export const recount = node => {
42
48
  node.count = 1 + (node.left?.count ?? 0) + (node.right?.count ?? 0);
43
- }
49
+ };
44
50
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","names":["Color","Red","Black","Node","color","key","value","left","right","count","constructor","clone","node","swap","n","v","repaint","recount"],"sources":["../../../../src/internal/redBlackTree/node.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,OAAO,MAAMA,KAAK,GAAG;EACnBC,GAAG,EAAE,CAAe;EACpBC,KAAK,EAAE,CAAC,IAAI;CACJ;AAQV;AACA,OAAM,MAAOC,IAAI;EAENC,KAAA;EACAC,GAAA;EACAC,KAAA;EACAC,IAAA;EACAC,KAAA;EACAC,KAAA;EANTC,YACSN,KAAiB,EACjBC,GAAM,EACNC,KAAQ,EACRC,IAA4B,EAC5BC,KAA6B,EAC7BC,KAAa;IALb,KAAAL,KAAK,GAALA,KAAK;IACL,KAAAC,GAAG,GAAHA,GAAG;IACH,KAAAC,KAAK,GAALA,KAAK;IACL,KAAAC,IAAI,GAAJA,IAAI;IACJ,KAAAC,KAAK,GAALA,KAAK;IACL,KAAAC,KAAK,GAALA,KAAK;EACX;;AAGL;AACA,OAAM,SAAUE,KAAKA,CAAOC,IAAgB;EAC1C,OAAO,IAAIT,IAAI,CAACS,IAAI,CAACR,KAAK,EAAEQ,IAAI,CAACP,GAAG,EAAEO,IAAI,CAACN,KAAK,EAAEM,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACJ,KAAK,EAAEI,IAAI,CAACH,KAAK,CAAC;AACtF;AAEA;AACA,OAAM,SAAUI,IAAIA,CAAOC,CAAa,EAAEC,CAAa;EACrDD,CAAC,CAACT,GAAG,GAAGU,CAAC,CAACV,GAAG;EACbS,CAAC,CAACR,KAAK,GAAGS,CAAC,CAACT,KAAK;EACjBQ,CAAC,CAACP,IAAI,GAAGQ,CAAC,CAACR,IAAI;EACfO,CAAC,CAACN,KAAK,GAAGO,CAAC,CAACP,KAAK;EACjBM,CAAC,CAACV,KAAK,GAAGW,CAAC,CAACX,KAAK;EACjBU,CAAC,CAACL,KAAK,GAAGM,CAAC,CAACN,KAAK;AACnB;AAEA;AACA,OAAM,SAAUO,OAAOA,CAAOJ,IAAgB,EAAER,KAAiB;EAC/D,OAAO,IAAID,IAAI,CAACC,KAAK,EAAEQ,IAAI,CAACP,GAAG,EAAEO,IAAI,CAACN,KAAK,EAAEM,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACJ,KAAK,EAAEI,IAAI,CAACH,KAAK,CAAC;AACjF;AAEA;AACA,OAAM,SAAUQ,OAAOA,CAAOL,IAAgB;EAC5CA,IAAI,CAACH,KAAK,GAAG,CAAC,IAAIG,IAAI,CAACL,IAAI,EAAEE,KAAK,IAAI,CAAC,CAAC,IAAIG,IAAI,CAACJ,KAAK,EAAEC,KAAK,IAAI,CAAC,CAAC;AACrE"}
1
+ {"version":3,"file":"node.js","names":["Color","Red","Black","clone","color","count","key","left","right","value","swap","n","v","repaint","recount","node"],"sources":["../../../../src/internal/redBlackTree/node.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,OAAO,MAAMA,KAAK,GAAG;EACnBC,GAAG,EAAE,CAAe;EACpBC,KAAK,EAAE,CAAC,IAAI;CACJ;AAiBV;AACA,OAAO,MAAMC,KAAK,GAAGA,CAAO;EAC1BC,KAAK;EACLC,KAAK;EACLC,GAAG;EACHC,IAAI;EACJC,KAAK;EACLC;AAAK,CACM,MAAM;EACjBL,KAAK;EACLE,GAAG;EACHG,KAAK;EACLF,IAAI;EACJC,KAAK;EACLH;CACD,CAAC;AAEF;AACA,OAAM,SAAUK,IAAIA,CAAOC,CAAa,EAAEC,CAAa;EACrDD,CAAC,CAACL,GAAG,GAAGM,CAAC,CAACN,GAAG;EACbK,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;EACjBE,CAAC,CAACJ,IAAI,GAAGK,CAAC,CAACL,IAAI;EACfI,CAAC,CAACH,KAAK,GAAGI,CAAC,CAACJ,KAAK;EACjBG,CAAC,CAACP,KAAK,GAAGQ,CAAC,CAACR,KAAK;EACjBO,CAAC,CAACN,KAAK,GAAGO,CAAC,CAACP,KAAK;AACnB;AAEA;AACA,OAAO,MAAMQ,OAAO,GAAGA,CAAO;EAC5BR,KAAK;EACLC,GAAG;EACHC,IAAI;EACJC,KAAK;EACLC;AAAK,CACM,EAAEL,KAAiB,MAAM;EACpCA,KAAK;EACLE,GAAG;EACHG,KAAK;EACLF,IAAI;EACJC,KAAK;EACLH;CACD,CAAC;AAEF;AACA,OAAO,MAAMS,OAAO,GAAUC,IAAgB,IAAI;EAChDA,IAAI,CAACV,KAAK,GAAG,CAAC,IAAIU,IAAI,CAACR,IAAI,EAAEF,KAAK,IAAI,CAAC,CAAC,IAAIU,IAAI,CAACP,KAAK,EAAEH,KAAK,IAAI,CAAC,CAAC;AACrE,CAAC"}
@@ -8,7 +8,7 @@ import { pipeArguments } from "../Pipeable.js";
8
8
  import { hasProperty } from "../Predicate.js";
9
9
  import { Direction, RedBlackTreeIterator } from "./redBlackTree/iterator.js";
10
10
  import * as Node from "./redBlackTree/node.js";
11
- import { Stack } from "./stack.js";
11
+ import * as Stack from "./stack.js";
12
12
  const RedBlackTreeSymbolKey = "effect/RedBlackTree";
13
13
  /** @internal */
14
14
  export const RedBlackTreeTypeId = /*#__PURE__*/Symbol.for(RedBlackTreeSymbolKey);
@@ -224,13 +224,34 @@ export const insert = /*#__PURE__*/dual(3, (self, key, value) => {
224
224
  }
225
225
  }
226
226
  // Rebuild path to leaf node
227
- n_stack.push(new Node.Node(Node.Color.Red, key, value, undefined, undefined, 1));
227
+ n_stack.push({
228
+ color: Node.Color.Red,
229
+ key,
230
+ value,
231
+ left: undefined,
232
+ right: undefined,
233
+ count: 1
234
+ });
228
235
  for (let s = n_stack.length - 2; s >= 0; --s) {
229
236
  const n2 = n_stack[s];
230
237
  if (d_stack[s] <= 0) {
231
- n_stack[s] = new Node.Node(n2.color, n2.key, n2.value, n_stack[s + 1], n2.right, n2.count + 1);
238
+ n_stack[s] = {
239
+ color: n2.color,
240
+ key: n2.key,
241
+ value: n2.value,
242
+ left: n_stack[s + 1],
243
+ right: n2.right,
244
+ count: n2.count + 1
245
+ };
232
246
  } else {
233
- n_stack[s] = new Node.Node(n2.color, n2.key, n2.value, n2.left, n_stack[s + 1], n2.count + 1);
247
+ n_stack[s] = {
248
+ color: n2.color,
249
+ key: n2.key,
250
+ value: n2.value,
251
+ left: n2.left,
252
+ right: n_stack[s + 1],
253
+ count: n2.count + 1
254
+ };
234
255
  }
235
256
  }
236
257
  // Rebalance tree using rotations
@@ -613,13 +634,34 @@ export const removeFirst = /*#__PURE__*/dual(2, (self, key) => {
613
634
  }
614
635
  const cstack = new Array(stack.length);
615
636
  let n = stack[stack.length - 1];
616
- cstack[cstack.length - 1] = new Node.Node(n.color, n.key, n.value, n.left, n.right, n.count);
637
+ cstack[cstack.length - 1] = {
638
+ color: n.color,
639
+ key: n.key,
640
+ value: n.value,
641
+ left: n.left,
642
+ right: n.right,
643
+ count: n.count
644
+ };
617
645
  for (let i = stack.length - 2; i >= 0; --i) {
618
646
  n = stack[i];
619
647
  if (n.left === stack[i + 1]) {
620
- cstack[i] = new Node.Node(n.color, n.key, n.value, cstack[i + 1], n.right, n.count);
648
+ cstack[i] = {
649
+ color: n.color,
650
+ key: n.key,
651
+ value: n.value,
652
+ left: cstack[i + 1],
653
+ right: n.right,
654
+ count: n.count
655
+ };
621
656
  } else {
622
- cstack[i] = new Node.Node(n.color, n.key, n.value, n.left, cstack[i + 1], n.count);
657
+ cstack[i] = {
658
+ color: n.color,
659
+ key: n.key,
660
+ value: n.value,
661
+ left: n.left,
662
+ right: cstack[i + 1],
663
+ count: n.count
664
+ };
623
665
  }
624
666
  }
625
667
  // Get node
@@ -635,13 +677,27 @@ export const removeFirst = /*#__PURE__*/dual(2, (self, key) => {
635
677
  }
636
678
  // Copy path to leaf
637
679
  const v = cstack[split - 1];
638
- cstack.push(new Node.Node(n.color, v.key, v.value, n.left, n.right, n.count));
680
+ cstack.push({
681
+ color: n.color,
682
+ key: v.key,
683
+ value: v.value,
684
+ left: n.left,
685
+ right: n.right,
686
+ count: n.count
687
+ });
639
688
  cstack[split - 1].key = n.key;
640
689
  cstack[split - 1].value = n.value;
641
690
  // Fix up stack
642
691
  for (let i = cstack.length - 2; i >= split; --i) {
643
692
  n = cstack[i];
644
- cstack[i] = new Node.Node(n.color, n.key, n.value, n.left, cstack[i + 1], n.count);
693
+ cstack[i] = {
694
+ color: n.color,
695
+ key: n.key,
696
+ value: n.value,
697
+ left: n.left,
698
+ right: cstack[i + 1],
699
+ count: n.count
700
+ };
645
701
  }
646
702
  cstack[split - 1].left = cstack[split];
647
703
  }
@@ -739,7 +795,7 @@ const visitFull = (node, visit) => {
739
795
  let done = false;
740
796
  while (!done) {
741
797
  if (current != null) {
742
- stack = new Stack(current, stack);
798
+ stack = Stack.make(current, stack);
743
799
  current = current.left;
744
800
  } else if (stack != null) {
745
801
  const value = visit(stack.value.key, stack.value.value);
@@ -760,7 +816,7 @@ const visitGreaterThanEqual = (node, min, ord, visit) => {
760
816
  let done = false;
761
817
  while (!done) {
762
818
  if (current !== undefined) {
763
- stack = new Stack(current, stack);
819
+ stack = Stack.make(current, stack);
764
820
  if (ord(min, current.key) <= 0) {
765
821
  current = current.left;
766
822
  } else {
@@ -787,7 +843,7 @@ const visitLessThan = (node, max, ord, visit) => {
787
843
  let done = false;
788
844
  while (!done) {
789
845
  if (current !== undefined) {
790
- stack = new Stack(current, stack);
846
+ stack = Stack.make(current, stack);
791
847
  current = current.left;
792
848
  } else if (stack !== undefined && ord(max, stack.value.key) > 0) {
793
849
  const value = visit(stack.value.key, stack.value.value);
@@ -808,7 +864,7 @@ const visitBetween = (node, min, max, ord, visit) => {
808
864
  let done = false;
809
865
  while (!done) {
810
866
  if (current !== undefined) {
811
- stack = new Stack(current, stack);
867
+ stack = Stack.make(current, stack);
812
868
  if (ord(min, current.key) <= 0) {
813
869
  current = current.left;
814
870
  } else {