effect 2.3.6 → 2.3.8

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 (208) hide show
  1. package/ModuleVersion/package.json +6 -0
  2. package/dist/cjs/BigDecimal.js +1 -1
  3. package/dist/cjs/BigDecimal.js.map +1 -1
  4. package/dist/cjs/Chunk.js +1 -1
  5. package/dist/cjs/Chunk.js.map +1 -1
  6. package/dist/cjs/Cron.js +1 -1
  7. package/dist/cjs/Cron.js.map +1 -1
  8. package/dist/cjs/Duration.js +1 -1
  9. package/dist/cjs/Duration.js.map +1 -1
  10. package/dist/cjs/FiberMap.js.map +1 -1
  11. package/dist/cjs/GlobalValue.js +27 -2
  12. package/dist/cjs/GlobalValue.js.map +1 -1
  13. package/dist/cjs/Hash.js +29 -1
  14. package/dist/cjs/Hash.js.map +1 -1
  15. package/dist/cjs/List.js +3 -2
  16. package/dist/cjs/List.js.map +1 -1
  17. package/dist/cjs/ModuleVersion.js +49 -0
  18. package/dist/cjs/ModuleVersion.js.map +1 -0
  19. package/dist/cjs/SortedMap.js +1 -1
  20. package/dist/cjs/SortedMap.js.map +1 -1
  21. package/dist/cjs/SortedSet.js +1 -1
  22. package/dist/cjs/SortedSet.js.map +1 -1
  23. package/dist/cjs/TestAnnotation.js +1 -1
  24. package/dist/cjs/TestAnnotation.js.map +1 -1
  25. package/dist/cjs/index.js +4 -2
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/internal/cache.js +2 -2
  28. package/dist/cjs/internal/cache.js.map +1 -1
  29. package/dist/cjs/internal/cause.js +1 -1
  30. package/dist/cjs/internal/cause.js.map +1 -1
  31. package/dist/cjs/internal/context.js +1 -1
  32. package/dist/cjs/internal/context.js.map +1 -1
  33. package/dist/cjs/internal/core.js +4 -4
  34. package/dist/cjs/internal/core.js.map +1 -1
  35. package/dist/cjs/internal/data.js +1 -1
  36. package/dist/cjs/internal/data.js.map +1 -1
  37. package/dist/cjs/internal/effect/circular.js +1 -1
  38. package/dist/cjs/internal/effect/circular.js.map +1 -1
  39. package/dist/cjs/internal/effectable.js +4 -4
  40. package/dist/cjs/internal/effectable.js.map +1 -1
  41. package/dist/cjs/internal/either.js +2 -2
  42. package/dist/cjs/internal/either.js.map +1 -1
  43. package/dist/cjs/internal/fiberId.js +2 -9
  44. package/dist/cjs/internal/fiberId.js.map +1 -1
  45. package/dist/cjs/internal/fiberRuntime.js +3 -3
  46. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  47. package/dist/cjs/internal/fiberStatus.js +4 -3
  48. package/dist/cjs/internal/fiberStatus.js.map +1 -1
  49. package/dist/cjs/internal/hashMap.js +1 -1
  50. package/dist/cjs/internal/hashMap.js.map +1 -1
  51. package/dist/cjs/internal/hashSet.js +1 -1
  52. package/dist/cjs/internal/hashSet.js.map +1 -1
  53. package/dist/cjs/internal/keyedPool.js +2 -2
  54. package/dist/cjs/internal/keyedPool.js.map +1 -1
  55. package/dist/cjs/internal/metric/keyType.js +4 -4
  56. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  57. package/dist/cjs/internal/metric/state.js +5 -9
  58. package/dist/cjs/internal/metric/state.js.map +1 -1
  59. package/dist/cjs/internal/option.js +3 -2
  60. package/dist/cjs/internal/option.js.map +1 -1
  61. package/dist/cjs/internal/pool.js +1 -1
  62. package/dist/cjs/internal/pool.js.map +1 -1
  63. package/dist/cjs/internal/redBlackTree.js +1 -1
  64. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  65. package/dist/cjs/internal/secret.js +1 -1
  66. package/dist/cjs/internal/secret.js.map +1 -1
  67. package/dist/cjs/internal/stm/core.js +1 -1
  68. package/dist/cjs/internal/stm/core.js.map +1 -1
  69. package/dist/cjs/internal/stm/stm/stmState.js +6 -4
  70. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  71. package/dist/cjs/internal/stm/stm/tExit.js +7 -6
  72. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  73. package/dist/cjs/internal/trie.js +1 -1
  74. package/dist/cjs/internal/trie.js.map +1 -1
  75. package/dist/cjs/internal/version.js +8 -2
  76. package/dist/cjs/internal/version.js.map +1 -1
  77. package/dist/dts/BigDecimal.d.ts.map +1 -1
  78. package/dist/dts/Cron.d.ts.map +1 -1
  79. package/dist/dts/FiberMap.d.ts +4 -5
  80. package/dist/dts/FiberMap.d.ts.map +1 -1
  81. package/dist/dts/Hash.d.ts +8 -0
  82. package/dist/dts/Hash.d.ts.map +1 -1
  83. package/dist/dts/List.d.ts.map +1 -1
  84. package/dist/dts/ModuleVersion.d.ts +11 -0
  85. package/dist/dts/ModuleVersion.d.ts.map +1 -0
  86. package/dist/dts/SortedMap.d.ts.map +1 -1
  87. package/dist/dts/SortedSet.d.ts.map +1 -1
  88. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  89. package/dist/dts/index.d.ts +6 -0
  90. package/dist/dts/index.d.ts.map +1 -1
  91. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  92. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  93. package/dist/dts/internal/version.d.ts +2 -1
  94. package/dist/dts/internal/version.d.ts.map +1 -1
  95. package/dist/esm/BigDecimal.js +1 -1
  96. package/dist/esm/BigDecimal.js.map +1 -1
  97. package/dist/esm/Chunk.js +1 -1
  98. package/dist/esm/Chunk.js.map +1 -1
  99. package/dist/esm/Cron.js +1 -1
  100. package/dist/esm/Cron.js.map +1 -1
  101. package/dist/esm/Duration.js +1 -1
  102. package/dist/esm/Duration.js.map +1 -1
  103. package/dist/esm/FiberMap.js.map +1 -1
  104. package/dist/esm/GlobalValue.js +2 -2
  105. package/dist/esm/GlobalValue.js.map +1 -1
  106. package/dist/esm/Hash.js +27 -0
  107. package/dist/esm/Hash.js.map +1 -1
  108. package/dist/esm/List.js +3 -2
  109. package/dist/esm/List.js.map +1 -1
  110. package/dist/esm/ModuleVersion.js +17 -0
  111. package/dist/esm/ModuleVersion.js.map +1 -0
  112. package/dist/esm/SortedMap.js +1 -1
  113. package/dist/esm/SortedMap.js.map +1 -1
  114. package/dist/esm/SortedSet.js +1 -1
  115. package/dist/esm/SortedSet.js.map +1 -1
  116. package/dist/esm/TestAnnotation.js +1 -1
  117. package/dist/esm/TestAnnotation.js.map +1 -1
  118. package/dist/esm/index.js +6 -0
  119. package/dist/esm/index.js.map +1 -1
  120. package/dist/esm/internal/cache.js +2 -2
  121. package/dist/esm/internal/cache.js.map +1 -1
  122. package/dist/esm/internal/cause.js +1 -1
  123. package/dist/esm/internal/cause.js.map +1 -1
  124. package/dist/esm/internal/context.js +1 -1
  125. package/dist/esm/internal/context.js.map +1 -1
  126. package/dist/esm/internal/core.js +4 -4
  127. package/dist/esm/internal/core.js.map +1 -1
  128. package/dist/esm/internal/data.js +1 -1
  129. package/dist/esm/internal/data.js.map +1 -1
  130. package/dist/esm/internal/effect/circular.js +1 -1
  131. package/dist/esm/internal/effect/circular.js.map +1 -1
  132. package/dist/esm/internal/effectable.js +4 -4
  133. package/dist/esm/internal/effectable.js.map +1 -1
  134. package/dist/esm/internal/either.js +2 -2
  135. package/dist/esm/internal/either.js.map +1 -1
  136. package/dist/esm/internal/fiberId.js +2 -9
  137. package/dist/esm/internal/fiberId.js.map +1 -1
  138. package/dist/esm/internal/fiberRuntime.js +3 -3
  139. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  140. package/dist/esm/internal/fiberStatus.js +4 -3
  141. package/dist/esm/internal/fiberStatus.js.map +1 -1
  142. package/dist/esm/internal/hashMap.js +1 -1
  143. package/dist/esm/internal/hashMap.js.map +1 -1
  144. package/dist/esm/internal/hashSet.js +1 -1
  145. package/dist/esm/internal/hashSet.js.map +1 -1
  146. package/dist/esm/internal/keyedPool.js +2 -2
  147. package/dist/esm/internal/keyedPool.js.map +1 -1
  148. package/dist/esm/internal/metric/keyType.js +4 -4
  149. package/dist/esm/internal/metric/keyType.js.map +1 -1
  150. package/dist/esm/internal/metric/state.js +5 -9
  151. package/dist/esm/internal/metric/state.js.map +1 -1
  152. package/dist/esm/internal/option.js +3 -2
  153. package/dist/esm/internal/option.js.map +1 -1
  154. package/dist/esm/internal/pool.js +1 -1
  155. package/dist/esm/internal/pool.js.map +1 -1
  156. package/dist/esm/internal/redBlackTree.js +1 -1
  157. package/dist/esm/internal/redBlackTree.js.map +1 -1
  158. package/dist/esm/internal/secret.js +1 -1
  159. package/dist/esm/internal/secret.js.map +1 -1
  160. package/dist/esm/internal/stm/core.js +1 -1
  161. package/dist/esm/internal/stm/core.js.map +1 -1
  162. package/dist/esm/internal/stm/stm/stmState.js +5 -3
  163. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  164. package/dist/esm/internal/stm/stm/tExit.js +6 -5
  165. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  166. package/dist/esm/internal/trie.js +1 -1
  167. package/dist/esm/internal/trie.js.map +1 -1
  168. package/dist/esm/internal/version.js +5 -1
  169. package/dist/esm/internal/version.js.map +1 -1
  170. package/package.json +11 -2
  171. package/src/BigDecimal.ts +2 -1
  172. package/src/Chunk.ts +1 -1
  173. package/src/Cron.ts +2 -1
  174. package/src/Duration.ts +2 -2
  175. package/src/FiberMap.ts +0 -1
  176. package/src/GlobalValue.ts +2 -2
  177. package/src/Hash.ts +31 -0
  178. package/src/List.ts +3 -2
  179. package/src/ModuleVersion.ts +18 -0
  180. package/src/SortedMap.ts +5 -1
  181. package/src/SortedSet.ts +5 -1
  182. package/src/TestAnnotation.ts +2 -1
  183. package/src/index.ts +7 -0
  184. package/src/internal/cache.ts +3 -2
  185. package/src/internal/cause.ts +2 -1
  186. package/src/internal/context.ts +1 -1
  187. package/src/internal/core.ts +4 -4
  188. package/src/internal/data.ts +1 -1
  189. package/src/internal/effect/circular.ts +1 -1
  190. package/src/internal/effectable.ts +5 -5
  191. package/src/internal/either.ts +2 -2
  192. package/src/internal/fiberId.ts +7 -13
  193. package/src/internal/fiberRuntime.ts +3 -3
  194. package/src/internal/fiberStatus.ts +7 -6
  195. package/src/internal/hashMap.ts +2 -2
  196. package/src/internal/hashSet.ts +4 -1
  197. package/src/internal/keyedPool.ts +4 -2
  198. package/src/internal/metric/keyType.ts +7 -5
  199. package/src/internal/metric/state.ts +11 -10
  200. package/src/internal/option.ts +3 -2
  201. package/src/internal/pool.ts +2 -1
  202. package/src/internal/redBlackTree.ts +2 -2
  203. package/src/internal/secret.ts +2 -1
  204. package/src/internal/stm/core.ts +1 -1
  205. package/src/internal/stm/stm/stmState.ts +16 -11
  206. package/src/internal/stm/stm/tExit.ts +15 -9
  207. package/src/internal/trie.ts +2 -2
  208. package/src/internal/version.ts +7 -1
@@ -31,7 +31,7 @@ const SomeProto = Object.assign(Object.create(CommonProto), {
31
31
  return isOption(that) && isSome(that) && Equal.equals(that.value, this.value)
32
32
  },
33
33
  [Hash.symbol]<A>(this: Option.Some<A>) {
34
- return Hash.combine(Hash.hash(this._tag))(Hash.hash(this.value))
34
+ return Hash.cached(this, Hash.combine(Hash.hash(this._tag))(Hash.hash(this.value)))
35
35
  },
36
36
  toJSON<A>(this: Option.Some<A>) {
37
37
  return {
@@ -42,6 +42,7 @@ const SomeProto = Object.assign(Object.create(CommonProto), {
42
42
  }
43
43
  })
44
44
 
45
+ const NoneHash = Hash.hash("None")
45
46
  const NoneProto = Object.assign(Object.create(CommonProto), {
46
47
  _tag: "None",
47
48
  _op: "None",
@@ -49,7 +50,7 @@ const NoneProto = Object.assign(Object.create(CommonProto), {
49
50
  return isOption(that) && isNone(that)
50
51
  },
51
52
  [Hash.symbol]<A>(this: Option.None<A>) {
52
- return Hash.combine(Hash.hash(this._tag))
53
+ return NoneHash
53
54
  },
54
55
  toJSON<A>(this: Option.None<A>) {
55
56
  return {
@@ -155,7 +155,8 @@ class PoolImpl<in out A, in out E> implements Pool.Pool<A, E> {
155
155
  Hash.combine(Hash.hash(this.state)),
156
156
  Hash.combine(Hash.hash(this.items)),
157
157
  Hash.combine(Hash.hash(this.invalidated)),
158
- Hash.combine(Hash.hash(this.track))
158
+ Hash.combine(Hash.hash(this.track)),
159
+ Hash.cached(this)
159
160
  )
160
161
  }
161
162
 
@@ -33,12 +33,12 @@ const redBlackTreeVariance = {
33
33
 
34
34
  const RedBlackTreeProto: RBT.RedBlackTree<unknown, unknown> = {
35
35
  [RedBlackTreeTypeId]: redBlackTreeVariance,
36
- [Hash.symbol](): number {
36
+ [Hash.symbol](this: RBT.RedBlackTree<unknown, unknown>): number {
37
37
  let hash = Hash.hash(RedBlackTreeSymbolKey)
38
38
  for (const item of this) {
39
39
  hash ^= pipe(Hash.hash(item[0]), Hash.combine(Hash.hash(item[1])))
40
40
  }
41
- return hash
41
+ return Hash.cached(this, hash)
42
42
  },
43
43
  [Equal.symbol]<K, V>(this: RedBlackTreeImpl<K, V>, that: unknown): boolean {
44
44
  if (isRedBlackTree(that)) {
@@ -19,7 +19,8 @@ export const proto = {
19
19
  [Hash.symbol](this: Secret.Secret): number {
20
20
  return pipe(
21
21
  Hash.hash(SecretSymbolKey),
22
- Hash.combine(Hash.array(this.raw))
22
+ Hash.combine(Hash.array(this.raw)),
23
+ Hash.cached(this)
23
24
  )
24
25
  },
25
26
  [Equal.symbol](this: Secret.Secret, that: unknown): boolean {
@@ -168,7 +168,7 @@ class STMPrimitive implements STM.STM<any, any, any> {
168
168
  return this === that
169
169
  }
170
170
  [Hash.symbol](this: {}) {
171
- return Hash.random(this)
171
+ return Hash.cached(this, Hash.random(this))
172
172
  }
173
173
  commit(this: STM.STM<any, any, any>): Effect.Effect<any, any, any> {
174
174
  return unsafeAtomically(this, constVoid, constVoid)
@@ -66,7 +66,8 @@ export const done = <A, E>(exit: Exit.Exit<A, E>): STMState<A, E> => {
66
66
  return pipe(
67
67
  Hash.hash(STMStateSymbolKey),
68
68
  Hash.combine(Hash.hash(OpCodes.OP_DONE)),
69
- Hash.combine(Hash.hash(exit))
69
+ Hash.combine(Hash.hash(exit)),
70
+ Hash.cached(this)
70
71
  )
71
72
  },
72
73
  [Equal.symbol](that: unknown): boolean {
@@ -75,32 +76,36 @@ export const done = <A, E>(exit: Exit.Exit<A, E>): STMState<A, E> => {
75
76
  }
76
77
  }
77
78
 
79
+ const interruptedHash = pipe(
80
+ Hash.hash(STMStateSymbolKey),
81
+ Hash.combine(Hash.hash(OpCodes.OP_INTERRUPTED)),
82
+ Hash.combine(Hash.hash("interrupted"))
83
+ )
84
+
78
85
  /** @internal */
79
86
  export const interrupted: STMState<never> = {
80
87
  [STMStateTypeId]: STMStateTypeId,
81
88
  _tag: OpCodes.OP_INTERRUPTED,
82
89
  [Hash.symbol](): number {
83
- return pipe(
84
- Hash.hash(STMStateSymbolKey),
85
- Hash.combine(Hash.hash(OpCodes.OP_INTERRUPTED)),
86
- Hash.combine(Hash.hash("interrupted"))
87
- )
90
+ return interruptedHash
88
91
  },
89
92
  [Equal.symbol](that: unknown): boolean {
90
93
  return isSTMState(that) && that._tag === OpCodes.OP_INTERRUPTED
91
94
  }
92
95
  }
93
96
 
97
+ const runningHash = pipe(
98
+ Hash.hash(STMStateSymbolKey),
99
+ Hash.combine(Hash.hash(OpCodes.OP_RUNNING)),
100
+ Hash.combine(Hash.hash("running"))
101
+ )
102
+
94
103
  /** @internal */
95
104
  export const running: STMState<never> = {
96
105
  [STMStateTypeId]: STMStateTypeId,
97
106
  _tag: OpCodes.OP_RUNNING,
98
107
  [Hash.symbol](): number {
99
- return pipe(
100
- Hash.hash(STMStateSymbolKey),
101
- Hash.combine(Hash.hash(OpCodes.OP_RUNNING)),
102
- Hash.combine(Hash.hash("running"))
103
- )
108
+ return runningHash
104
109
  },
105
110
  [Equal.symbol](that: unknown): boolean {
106
111
  return isSTMState(that) && that._tag === OpCodes.OP_RUNNING
@@ -102,7 +102,8 @@ export const fail = <E>(error: E): TExit<never, E> => ({
102
102
  return pipe(
103
103
  Hash.hash(TExitSymbolKey),
104
104
  Hash.combine(Hash.hash(OpCodes.OP_FAIL)),
105
- Hash.combine(Hash.hash(error))
105
+ Hash.combine(Hash.hash(error)),
106
+ Hash.cached(this)
106
107
  )
107
108
  },
108
109
  [Equal.symbol](that: unknown): boolean {
@@ -119,7 +120,8 @@ export const die = (defect: unknown): TExit<never> => ({
119
120
  return pipe(
120
121
  Hash.hash(TExitSymbolKey),
121
122
  Hash.combine(Hash.hash(OpCodes.OP_DIE)),
122
- Hash.combine(Hash.hash(defect))
123
+ Hash.combine(Hash.hash(defect)),
124
+ Hash.cached(this)
123
125
  )
124
126
  },
125
127
  [Equal.symbol](that: unknown): boolean {
@@ -136,7 +138,8 @@ export const interrupt = (fiberId: FiberId.FiberId): TExit<never> => ({
136
138
  return pipe(
137
139
  Hash.hash(TExitSymbolKey),
138
140
  Hash.combine(Hash.hash(OpCodes.OP_INTERRUPT)),
139
- Hash.combine(Hash.hash(fiberId))
141
+ Hash.combine(Hash.hash(fiberId)),
142
+ Hash.cached(this)
140
143
  )
141
144
  },
142
145
  [Equal.symbol](that: unknown): boolean {
@@ -153,7 +156,8 @@ export const succeed = <A>(value: A): TExit<A> => ({
153
156
  return pipe(
154
157
  Hash.hash(TExitSymbolKey),
155
158
  Hash.combine(Hash.hash(OpCodes.OP_SUCCEED)),
156
- Hash.combine(Hash.hash(value))
159
+ Hash.combine(Hash.hash(value)),
160
+ Hash.cached(this)
157
161
  )
158
162
  },
159
163
  [Equal.symbol](that: unknown): boolean {
@@ -161,16 +165,18 @@ export const succeed = <A>(value: A): TExit<A> => ({
161
165
  }
162
166
  })
163
167
 
168
+ const retryHash = pipe(
169
+ Hash.hash(TExitSymbolKey),
170
+ Hash.combine(Hash.hash(OpCodes.OP_RETRY)),
171
+ Hash.combine(Hash.hash("retry"))
172
+ )
173
+
164
174
  /** @internal */
165
175
  export const retry: TExit<never> = {
166
176
  [TExitTypeId]: variance,
167
177
  _tag: OpCodes.OP_RETRY,
168
178
  [Hash.symbol](): number {
169
- return pipe(
170
- Hash.hash(TExitSymbolKey),
171
- Hash.combine(Hash.hash(OpCodes.OP_RETRY)),
172
- Hash.combine(Hash.hash("retry"))
173
- )
179
+ return retryHash
174
180
  },
175
181
  [Equal.symbol](that: unknown): boolean {
176
182
  return isExit(that) && isRetry(that)
@@ -34,12 +34,12 @@ const TrieProto: TR.Trie<unknown> = {
34
34
  [Symbol.iterator]<V>(this: TrieImpl<V>): Iterator<[string, V]> {
35
35
  return new TrieIterator(this, (k, v) => [k, v], () => true)
36
36
  },
37
- [Hash.symbol](): number {
37
+ [Hash.symbol](this: TR.Trie<unknown>): number {
38
38
  let hash = Hash.hash(TrieSymbolKey)
39
39
  for (const item of this) {
40
40
  hash ^= pipe(Hash.hash(item[0]), Hash.combine(Hash.hash(item[1])))
41
41
  }
42
- return hash
42
+ return Hash.cached(this, hash)
43
43
  },
44
44
  [Equal.symbol]<V>(this: TrieImpl<V>, that: unknown): boolean {
45
45
  if (isTrie(that)) {
@@ -1 +1,7 @@
1
- export const moduleVersion = "2.3.6"
1
+ let moduleVersion = "2.3.8"
2
+
3
+ export const getCurrentVersion = () => moduleVersion
4
+
5
+ export const setCurrentVersion = (version: string) => {
6
+ moduleVersion = version
7
+ }