effect 3.18.5 → 3.19.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.18.5",
3
+ "version": "3.19.0",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -287,6 +287,11 @@
287
287
  "import": "./dist/esm/HashMap.js",
288
288
  "default": "./dist/cjs/HashMap.js"
289
289
  },
290
+ "./HashRing": {
291
+ "types": "./dist/dts/HashRing.d.ts",
292
+ "import": "./dist/esm/HashRing.js",
293
+ "default": "./dist/cjs/HashRing.js"
294
+ },
290
295
  "./HashSet": {
291
296
  "types": "./dist/dts/HashSet.d.ts",
292
297
  "import": "./dist/esm/HashSet.js",
@@ -1061,6 +1066,9 @@
1061
1066
  "HashMap": [
1062
1067
  "./dist/dts/HashMap.d.ts"
1063
1068
  ],
1069
+ "HashRing": [
1070
+ "./dist/dts/HashRing.d.ts"
1071
+ ],
1064
1072
  "HashSet": [
1065
1073
  "./dist/dts/HashSet.d.ts"
1066
1074
  ],
package/src/Array.ts CHANGED
@@ -18,7 +18,7 @@ import * as Order from "./Order.js"
18
18
  import * as Predicate from "./Predicate.js"
19
19
  import * as Record from "./Record.js"
20
20
  import * as Tuple from "./Tuple.js"
21
- import type { NoInfer } from "./Types.js"
21
+ import type { NoInfer, TupleOf } from "./Types.js"
22
22
 
23
23
  /**
24
24
  * @category type lambdas
@@ -4259,7 +4259,7 @@ export const window: {
4259
4259
  * @category splitting
4260
4260
  * @since 3.13.2
4261
4261
  */
4262
- (n: number): <A>(self: Iterable<A>) => Array<Array<A>>
4262
+ <N extends number = number>(n: N): <A>(self: Iterable<A>) => Array<TupleOf<N, A>>
4263
4263
  /**
4264
4264
  * Creates sliding windows of size `n` from an `Iterable`.
4265
4265
  * If the number of elements is less than `n` or if `n` is not greater than zero,
@@ -4278,8 +4278,8 @@ export const window: {
4278
4278
  * @category splitting
4279
4279
  * @since 3.13.2
4280
4280
  */
4281
- <A>(self: Iterable<A>, n: number): Array<Array<A>>
4282
- } = dual(2, <A>(self: Iterable<A>, n: number): Array<Array<A>> => {
4281
+ <A, N extends number = number>(self: Iterable<A>, n: N): Array<TupleOf<N, A>>
4282
+ } = dual(2, <A, const N extends number>(self: Iterable<A>, n: N): Array<Array<A>> => {
4283
4283
  const input = fromIterable(self)
4284
4284
  if (n > 0 && isNonEmptyReadonlyArray(input)) {
4285
4285
  return Array.from(
package/src/Effect.ts CHANGED
@@ -28233,6 +28233,11 @@ export declare namespace Service {
28233
28233
  * @category Models
28234
28234
  */
28235
28235
  export namespace fn {
28236
+ /**
28237
+ * @since 3.19.0
28238
+ * @category Models
28239
+ */
28240
+ export type Return<A, E = never, R = never> = Generator<YieldWrap<Effect<any, E, R>>, A, any>
28236
28241
  /**
28237
28242
  * @since 3.11.0
28238
28243
  * @category Models