effect-app 2.19.2 → 2.19.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 2.19.4
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: return type
8
+
9
+ ## 2.19.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 750b46a: update packages
14
+
3
15
  ## 2.19.2
4
16
 
5
17
  ### Patch Changes
package/_cjs/Array.cjs CHANGED
@@ -8,7 +8,6 @@ var _exportNames = {
8
8
  isArray: true,
9
9
  NEAFromArray: true,
10
10
  NEROArrayFromArray: true,
11
- sortByO: true,
12
11
  groupByT: true,
13
12
  randomElement: true,
14
13
  filterWith: true,
@@ -24,7 +23,6 @@ exports.filterWith = filterWith;
24
23
  exports.forEachEffectNA = forEachEffectNA;
25
24
  exports.isArray = exports.groupByT = void 0;
26
25
  exports.randomElement = randomElement;
27
- exports.sortByO = sortByO;
28
26
  exports.toNonEmptyArray = void 0;
29
27
  var _effect = require("effect");
30
28
  var Array = _interopRequireWildcard(require("effect/Array"));
@@ -44,44 +42,14 @@ var _Function = require("./Function.cjs");
44
42
  var Option = _interopRequireWildcard(require("./Option.cjs"));
45
43
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
46
44
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
47
- /**
48
- * @tsplus getter ReadonlyArray toNonEmpty
49
- * @tsplus getter Array toNonEmpty
50
- * @tsplus getter effect/data/ReadonlyArray toNonEmpty
51
- */
52
- const toNonEmptyArray = a => a.length ? Option.some(a) : Option.none();
53
- exports.toNonEmptyArray = toNonEmptyArray;
45
+ const toNonEmptyArray = exports.toNonEmptyArray = Option.liftPredicate(Array.isNonEmptyReadonlyArray);
54
46
  const isArray = exports.isArray = Array.isArray;
55
- /**
56
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
57
- */
58
47
  function NEAFromArray(ar) {
59
48
  return ar.length ? Option.some(ar) : Option.none();
60
49
  }
61
- /**
62
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
63
- */
64
50
  function NEROArrayFromArray(ar) {
65
51
  return ar.length ? Option.some(ar) : Option.none();
66
52
  }
67
- /**
68
- * @tsplus pipeable Array sortByO
69
- * @tsplus pipeable ReadonlyArray sortByO
70
- * @tsplus pipeable NonEmptyArray sortByO
71
- * @tsplus pipeable NonEmptyArrayReadonlyArray sortByO
72
- */
73
- function sortByO(ords) {
74
- return Option.match(ords, {
75
- onNone: () => _Function.identity,
76
- onSome: _ => Array.sortBy(..._)
77
- });
78
- }
79
- /**
80
- * @tsplus fluent ReadonlyArray groupByT
81
- * @tsplus fluent Array groupByT
82
- * @tsplus fluent NonEmptyArray groupByT
83
- * @tsplus fluent NonEmptyArrayReadonlyArray groupByT
84
- */
85
53
  const groupByT = exports.groupByT = (0, _Function.dual)(2, (as, f) => {
86
54
  const r = {};
87
55
  for (const a of as) {
@@ -98,9 +66,6 @@ const groupByT = exports.groupByT = (0, _Function.dual)(2, (as, f) => {
98
66
  function randomElement(a) {
99
67
  return a[Math.floor(Math.random() * a.length)];
100
68
  }
101
- /**
102
- * @tsplus fluent ReadonlyArray filterWith
103
- */
104
69
  function filterWith(self, predicates) {
105
70
  return self.filter(_ => predicates.every(f => f(_)));
106
71
  }
@@ -115,17 +80,10 @@ function* _chunk_(items_, size) {
115
80
  }
116
81
  /**
117
82
  * Split the `items` array into multiple, smaller chunks of the given `size`.
118
- * @tsplus fluent Array chunk
119
- * @tsplus fluent ReadonlyArray chunk
120
- * @tsplus fluent effect/data/Chunk chunk
121
- * @tsplus fluent Iterable chunk
122
83
  */
123
84
  function chunk_(items_, size) {
124
85
  return _effect.Chunk.fromIterable(_chunk_(items_, size));
125
86
  }
126
- /**
127
- * @tsplus fluent effect/data/ReadonlyArray/NonEmptyReadonlyArray forEachEffect
128
- */
129
87
  function forEachEffectNA(as, f) {
130
88
  return _effect.Effect.map(T.forEach(as, f), _ => Option.getOrNull(toNonEmptyArray(_)));
131
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Array.cjs","names":["_effect","require","Array","_interopRequireWildcard","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","T","_Function","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","toNonEmptyArray","length","some","none","isArray","NEAFromArray","ar","NEROArrayFromArray","sortByO","ords","match","onNone","identity","onSome","_","sortBy","groupByT","dual","as","f","k","push","entries","map","items","tuple","randomElement","Math","floor","random","filterWith","self","predicates","filter","every","_chunk_","items_","size","splice","chunk_","Chunk","fromIterable","forEachEffectNA","Effect","getOrNull"],"sources":["../src/Array.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Array.cjs","names":["_effect","require","Array","_interopRequireWildcard","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","T","_Function","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","toNonEmptyArray","liftPredicate","isNonEmptyReadonlyArray","isArray","NEAFromArray","ar","length","some","none","NEROArrayFromArray","groupByT","dual","as","f","k","push","entries","map","items","tuple","randomElement","Math","floor","random","filterWith","self","predicates","filter","_","every","_chunk_","items_","size","splice","chunk_","Chunk","fromIterable","forEachEffectNA","Effect","getOrNull"],"sources":["../src/Array.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/Array.d.ts CHANGED
@@ -1,48 +1,17 @@
1
- import type { Order } from "effect";
2
1
  import { Chunk, Effect } from "effect";
3
- import type { NonEmptyReadonlyArray } from "effect/Array";
2
+ import type { NonEmptyArray, NonEmptyReadonlyArray } from "effect/Array";
4
3
  import type { Predicate } from "./Function.js";
5
4
  import * as Option from "./Option.js";
6
- /**
7
- * @tsplus getter ReadonlyArray toNonEmpty
8
- * @tsplus getter Array toNonEmpty
9
- * @tsplus getter effect/data/ReadonlyArray toNonEmpty
10
- */
11
- export declare const toNonEmptyArray: <A>(a: ReadonlyArray<A>) => Option.Option<NonEmptyReadonlyArray<A>>;
5
+ export declare const toNonEmptyArray: <A>(a: readonly A[]) => Option.Option<readonly [A, ...A[]]>;
12
6
  export declare const isArray: {
13
7
  (self: unknown): self is ReadonlyArray<unknown>;
14
8
  <T>(self: T): self is Extract<T, ReadonlyArray<any>>;
15
9
  };
16
- /**
17
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
18
- */
19
10
  export declare function NEAFromArray<T>(ar: Array<T>): Option.None<[T, ...T[]]> | Option.Some<[T, ...T[]]>;
20
- /**
21
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
22
- */
23
11
  export declare function NEROArrayFromArray<T>(ar: ReadonlyArray<T>): Option.None<readonly [T, ...T[]]> | Option.Some<readonly [T, ...T[]]>;
24
- /**
25
- * @tsplus pipeable Array sortByO
26
- * @tsplus pipeable ReadonlyArray sortByO
27
- * @tsplus pipeable NonEmptyArray sortByO
28
- * @tsplus pipeable NonEmptyArrayReadonlyArray sortByO
29
- */
30
- export declare function sortByO<A>(ords: Option.Option<NonEmptyReadonlyArray<Order.Order<A>>>): (a: ReadonlyArray<A>) => ReadonlyArray<A>;
31
- /**
32
- * @tsplus fluent ReadonlyArray groupByT
33
- * @tsplus fluent Array groupByT
34
- * @tsplus fluent NonEmptyArray groupByT
35
- * @tsplus fluent NonEmptyArrayReadonlyArray groupByT
36
- */
37
- export declare const groupByT: (<A, Key extends PropertyKey>(f: (a: NoInfer<A>) => Key) => (as: ReadonlyArray<A>) => ReadonlyArray<readonly [Key, NonEmptyReadonlyArray<A>]>) & (<A, Key extends PropertyKey>(as: ReadonlyArray<A>, f: (a: A) => Key) => ReadonlyArray<readonly [Key, NonEmptyReadonlyArray<A>]>);
38
- /**
39
- * @tsplus fluent ReadonlyArray randomElement 2
40
- */
12
+ export declare const groupByT: (<A, Key extends PropertyKey>(f: (a: NoInfer<A>) => Key) => (as: ReadonlyArray<A>) => Array<readonly [Key, NonEmptyArray<A>]>) & (<A, Key extends PropertyKey>(as: ReadonlyArray<A>, f: (a: A) => Key) => Array<readonly [Key, NonEmptyArray<A>]>);
41
13
  export declare function randomElement<A>(a: NonEmptyReadonlyArray<A>): A;
42
14
  export declare function randomElement<A>(a: ReadonlyArray<A>): A | undefined;
43
- /**
44
- * @tsplus fluent ReadonlyArray filterWith
45
- */
46
15
  export declare function filterWith<A>(self: ReadonlyArray<A>, predicates: ReadonlyArray<Predicate<A>>): A[];
47
16
  /**
48
17
  * Split the `items` array into multiple, smaller chunks of the given `size`.
@@ -50,15 +19,8 @@ export declare function filterWith<A>(self: ReadonlyArray<A>, predicates: Readon
50
19
  export declare function _chunk_<T>(items_: Iterable<T>, size: number): Generator<T[], void, unknown>;
51
20
  /**
52
21
  * Split the `items` array into multiple, smaller chunks of the given `size`.
53
- * @tsplus fluent Array chunk
54
- * @tsplus fluent ReadonlyArray chunk
55
- * @tsplus fluent effect/data/Chunk chunk
56
- * @tsplus fluent Iterable chunk
57
22
  */
58
23
  export declare function chunk_<T>(items_: Iterable<T>, size: number): Chunk.Chunk<T[]>;
59
- /**
60
- * @tsplus fluent effect/data/ReadonlyArray/NonEmptyReadonlyArray forEachEffect
61
- */
62
24
  export declare function forEachEffectNA<A, R, E, B>(as: NonEmptyReadonlyArray<A>, f: (a: A) => Effect.Effect<B, E, R>): Effect.Effect<readonly [B, ...B[]] | null, E, R>;
63
25
  export * from "effect/Array";
64
26
  //# sourceMappingURL=Array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../src/Array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../src/Array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,eAAO,MAAM,eAAe,6DAAsD,CAAA;AAElF,eAAO,MAAM,OAAO,EAAE;IAEpB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;CACrC,CAAA;AAEjB,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,uDAE3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,yEAEzD;AAED,eAAO,MAAM,QAAQ,IAClB,CAAC,EAAE,GAAG,SAAS,WAAW,KACtB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,KACtB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MACrE,CAAC,EAAE,GAAG,SAAS,WAAW,MACrB,aAAa,CAAC,CAAC,CAAC,KACjB,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,KACb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAgB5C,CAAA;AAEF,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAChE,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;AAKpE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAE5F;AAED;;GAEG;AACH,wBAAiB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,iCAM5D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,oBAE1D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oDAE5G;AAED,cAAc,cAAc,CAAA"}
package/dist/Array.js CHANGED
@@ -1,42 +1,16 @@
1
1
  import { Chunk, Effect } from "effect";
2
2
  import * as Array from "effect/Array";
3
3
  import * as T from "effect/Effect";
4
- import { dual, identity, tuple } from "./Function.js";
4
+ import { dual, tuple } from "./Function.js";
5
5
  import * as Option from "./Option.js";
6
- /**
7
- * @tsplus getter ReadonlyArray toNonEmpty
8
- * @tsplus getter Array toNonEmpty
9
- * @tsplus getter effect/data/ReadonlyArray toNonEmpty
10
- */
11
- export const toNonEmptyArray = (a) => a.length ? Option.some(a) : Option.none();
6
+ export const toNonEmptyArray = Option.liftPredicate(Array.isNonEmptyReadonlyArray);
12
7
  export const isArray = Array.isArray;
13
- /**
14
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
15
- */
16
8
  export function NEAFromArray(ar) {
17
9
  return ar.length ? Option.some(ar) : Option.none();
18
10
  }
19
- /**
20
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
21
- */
22
11
  export function NEROArrayFromArray(ar) {
23
12
  return ar.length ? Option.some(ar) : Option.none();
24
13
  }
25
- /**
26
- * @tsplus pipeable Array sortByO
27
- * @tsplus pipeable ReadonlyArray sortByO
28
- * @tsplus pipeable NonEmptyArray sortByO
29
- * @tsplus pipeable NonEmptyArrayReadonlyArray sortByO
30
- */
31
- export function sortByO(ords) {
32
- return Option.match(ords, { onNone: () => identity, onSome: (_) => Array.sortBy(..._) });
33
- }
34
- /**
35
- * @tsplus fluent ReadonlyArray groupByT
36
- * @tsplus fluent Array groupByT
37
- * @tsplus fluent NonEmptyArray groupByT
38
- * @tsplus fluent NonEmptyArrayReadonlyArray groupByT
39
- */
40
14
  export const groupByT = dual(2, (as, f) => {
41
15
  const r = {};
42
16
  for (const a of as) {
@@ -54,9 +28,6 @@ export const groupByT = dual(2, (as, f) => {
54
28
  export function randomElement(a) {
55
29
  return a[Math.floor(Math.random() * a.length)];
56
30
  }
57
- /**
58
- * @tsplus fluent ReadonlyArray filterWith
59
- */
60
31
  export function filterWith(self, predicates) {
61
32
  return self.filter((_) => predicates.every((f) => f(_)));
62
33
  }
@@ -71,19 +42,12 @@ export function* _chunk_(items_, size) {
71
42
  }
72
43
  /**
73
44
  * Split the `items` array into multiple, smaller chunks of the given `size`.
74
- * @tsplus fluent Array chunk
75
- * @tsplus fluent ReadonlyArray chunk
76
- * @tsplus fluent effect/data/Chunk chunk
77
- * @tsplus fluent Iterable chunk
78
45
  */
79
46
  export function chunk_(items_, size) {
80
47
  return Chunk.fromIterable(_chunk_(items_, size));
81
48
  }
82
- /**
83
- * @tsplus fluent effect/data/ReadonlyArray/NonEmptyReadonlyArray forEachEffect
84
- */
85
49
  export function forEachEffectNA(as, f) {
86
50
  return Effect.map(T.forEach(as, f), (_) => Option.getOrNull(toNonEmptyArray(_)));
87
51
  }
88
52
  export * from "effect/Array";
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBRXJDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBSSxDQUFtQixFQUEyQyxFQUFFLENBQ2pHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7QUFFdkUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUloQixLQUFLLENBQUMsT0FBTyxDQUFBO0FBRWpCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBSSxFQUFZO0lBQzFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUN4RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUksRUFBb0I7SUFDeEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQThCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ2hGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0s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
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFFbEYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUloQixLQUFLLENBQUMsT0FBTyxDQUFBO0FBRWpCLE1BQU0sVUFBVSxZQUFZLENBQUksRUFBWTtJQUMxQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDeEUsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxFQUFvQjtJQUN4RCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDaEYsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBUTFCLENBQUMsRUFBRSxDQUNILEVBQW9CLEVBQ3BCLENBQWdCLEVBQ3lCLEVBQUU7SUFDM0MsTUFBTSxDQUFDLEdBQXFDLEVBQVMsQ0FBQTtJQUNyRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNkLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNaLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBbUIsRUFBRSxLQUF5QixDQUFDLENBQUMsQ0FBQTtBQUNyRyxDQUFDLENBQUMsQ0FBQTtBQUlGLE1BQU0sVUFBVSxhQUFhLENBQUksQ0FBbUI7SUFDbEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUksSUFBc0IsRUFBRSxVQUF1QztJQUMzRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDMUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUksTUFBbUIsRUFBRSxJQUFZO0lBQzNELE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtJQUV6QixPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdCLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLE1BQW1CLEVBQUUsSUFBWTtJQUN6RCxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFhLEVBQTRCLEVBQUUsQ0FBbUM7SUFDM0csT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDbEYsQ0FBQztBQUVELGNBQWMsY0FBYyxDQUFBIn0=
package/dist/Chunk.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare const fromIterable: <A>(self: Iterable<A>) => Chunk.Chunk<A>;
14
14
  /**
15
15
  * @tsplus fluent effect/data/Chunk groupByT
16
16
  */
17
- export declare function groupByTChunk_<A, Key extends PropertyKey>(c: Chunk.Chunk<A>, f: (a: A) => Key): Chunk.Chunk<readonly [Key, readonly [A, ...A[]]]>;
17
+ export declare function groupByTChunk_<A, Key extends PropertyKey>(c: Chunk.Chunk<A>, f: (a: A) => Key): Chunk.Chunk<readonly [Key, [A, ...A[]]]>;
18
18
  /**
19
19
  * Returns the first element that satisfies the predicate.
20
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Chunk.d.ts","sourceRoot":"","sources":["../src/Chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,cAAc,cAAc,CAAA;AAE5B;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,0CAAqB,CAAA;AAE9C;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,SAAS,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,qDAE7F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAEjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,yCAW3B;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,UACzB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAU9C;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UACnC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,OAAO,CAQvC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAAkB,CAAA;AAE7C;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE;IAC5B,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACnD,CAAA;AAEnB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACpD,CAAA"}
1
+ {"version":3,"file":"Chunk.d.ts","sourceRoot":"","sources":["../src/Chunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,cAAc,cAAc,CAAA;AAE5B;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,0CAAqB,CAAA;AAE9C;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,SAAS,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,4CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAEjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,yCAW3B;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,UACzB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAU9C;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UACnC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,OAAO,CAQvC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAAkB,CAAA;AAE7C;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE;IAC5B,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACnD,CAAA;AAEnB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACpD,CAAA"}
package/dist/Context.d.ts CHANGED
@@ -35,7 +35,7 @@ export declare function TagId<const Key extends string>(key: Key): <Id, ServiceI
35
35
  toLayer: <E, R>(eff: Effect.Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<Id, E, R>;
36
36
  toLayerScoped: <E, R_1>(eff: Effect.Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R_1>) => Layer.Layer<Id, E, Exclude<R_1, Scope.Scope>>;
37
37
  of: (service: Omit<Id, keyof Context.TagClassShape<any, any>>) => Id;
38
- } & Context.Tag<Id, Id> & (ServiceImpl extends Record<PropertyKey, any> ? { [k in keyof ServiceImpl as ServiceImpl[k] extends (...args: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends ServiceImpl[k] ? k : never : k]: ServiceImpl[k] extends (...args: infer Args) => Effect.Effect<infer A, infer E, infer R_2> ? (...args: Readonly<Args>) => Effect.Effect<A, E, R_2 | Id> : ServiceImpl[k] extends (...args: infer Args) => infer A ? (...args: Readonly<Args>) => Effect.Effect<A, never, Id> : ServiceImpl[k] extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, R_2 | Id> : Effect.Effect<ServiceImpl[k], never, Id>; } : {}) & {
38
+ } & Context.Tag<Id, Id> & (ServiceImpl extends Record<PropertyKey, any> ? { [k in keyof ServiceImpl as ServiceImpl[k] extends (...args: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends ServiceImpl[k] ? k : never : k]: ServiceImpl[k] extends (...args: infer Args) => Effect.Effect<infer A, infer E, infer R_2> ? (...args: Readonly<Args>) => Effect.Effect<A, E, Id | R_2> : ServiceImpl[k] extends (...args: infer Args) => infer A ? (...args: Readonly<Args>) => Effect.Effect<A, never, Id> : ServiceImpl[k] extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, Id | R_2> : Effect.Effect<ServiceImpl[k], never, Id>; } : {}) & {
39
39
  use: <X>(body: (_: ServiceImpl) => X) => X extends Effect.Effect<infer A_1, infer E_1, infer R_3> ? Effect.Effect<A_1, E_1, R_3 | Id> : Effect.Effect<X, never, Id>;
40
40
  };
41
41
  export declare const TagMakeId: <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect.Effect<ServiceImpl, E, R>) => <Id>() => (abstract new (service: ServiceImpl) => Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>) & {
@@ -28,7 +28,7 @@ declare class Wrapper<A> {
28
28
  map: <A_1>(f: (x: A_1) => A_1) => (set: NonEmptySet<A_1>) => NonEmptySet<A_1>;
29
29
  map_: <A_1>(set: NonEmptySet<A_1>, f: (x: A_1) => A_1) => NonEmptySet<A_1>;
30
30
  filterMap: (f: (a: A) => Option.Option<A>) => (fa: Set<A>) => Option.None<NonEmptySet<A>> | Option.Some<NonEmptySet<A>>;
31
- filterMap_: <A_1>(fa: Set<A_1>, f: (a: A_1) => Option.Option<A_2>) => Option.None<NonEmptySet<A_2>> | Option.Some<NonEmptySet<A_2>>;
31
+ filterMap_: <A_1>(fa: Set<A_1>, f: (a: A_1) => Option.Option<A>) => Option.None<NonEmptySet<A>> | Option.Some<NonEmptySet<A>>;
32
32
  };
33
33
  }
34
34
  export interface NonEmptySetSchemaExtensions<A> extends ReturnType<Wrapper<A>["wrapped"]> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "2.19.2",
3
+ "version": "2.19.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
package/src/Array.ts CHANGED
@@ -1,19 +1,12 @@
1
- import type { Order } from "effect"
2
1
  import { Chunk, Effect } from "effect"
3
2
  import type { NonEmptyArray, NonEmptyReadonlyArray } from "effect/Array"
4
3
  import * as Array from "effect/Array"
5
4
  import * as T from "effect/Effect"
6
5
  import type { Predicate } from "./Function.js"
7
- import { dual, identity, tuple } from "./Function.js"
6
+ import { dual, tuple } from "./Function.js"
8
7
  import * as Option from "./Option.js"
9
8
 
10
- /**
11
- * @tsplus getter ReadonlyArray toNonEmpty
12
- * @tsplus getter Array toNonEmpty
13
- * @tsplus getter effect/data/ReadonlyArray toNonEmpty
14
- */
15
- export const toNonEmptyArray = <A>(a: ReadonlyArray<A>): Option.Option<NonEmptyReadonlyArray<A>> =>
16
- a.length ? Option.some(a as NonEmptyReadonlyArray<A>) : Option.none()
9
+ export const toNonEmptyArray = Option.liftPredicate(Array.isNonEmptyReadonlyArray)
17
10
 
18
11
  export const isArray: {
19
12
  // uses ReadonlyArray here because otherwise the second overload don't work when ROA is involved.
@@ -21,50 +14,26 @@ export const isArray: {
21
14
  <T>(self: T): self is Extract<T, ReadonlyArray<any>>
22
15
  } = Array.isArray
23
16
 
24
- /**
25
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
26
- */
27
17
  export function NEAFromArray<T>(ar: Array<T>) {
28
18
  return ar.length ? Option.some(ar as NonEmptyArray<T>) : Option.none()
29
19
  }
30
20
 
31
- /**
32
- * @tsplus static effect/data/ReadonlyArray/NonEmptyArray.Ops fromArray
33
- */
34
21
  export function NEROArrayFromArray<T>(ar: ReadonlyArray<T>) {
35
22
  return ar.length ? Option.some(ar as NonEmptyReadonlyArray<T>) : Option.none()
36
23
  }
37
24
 
38
- /**
39
- * @tsplus pipeable Array sortByO
40
- * @tsplus pipeable ReadonlyArray sortByO
41
- * @tsplus pipeable NonEmptyArray sortByO
42
- * @tsplus pipeable NonEmptyArrayReadonlyArray sortByO
43
- */
44
- export function sortByO<A>(
45
- ords: Option.Option<NonEmptyReadonlyArray<Order.Order<A>>>
46
- ): (a: ReadonlyArray<A>) => ReadonlyArray<A> {
47
- return Option.match(ords, { onNone: () => identity, onSome: (_) => Array.sortBy(..._) })
48
- }
49
-
50
- /**
51
- * @tsplus fluent ReadonlyArray groupByT
52
- * @tsplus fluent Array groupByT
53
- * @tsplus fluent NonEmptyArray groupByT
54
- * @tsplus fluent NonEmptyArrayReadonlyArray groupByT
55
- */
56
25
  export const groupByT = dual<
57
26
  <A, Key extends PropertyKey>(
58
27
  f: (a: NoInfer<A>) => Key
59
- ) => (as: ReadonlyArray<A>) => ReadonlyArray<readonly [Key, NonEmptyReadonlyArray<A>]>,
28
+ ) => (as: ReadonlyArray<A>) => Array<readonly [Key, NonEmptyArray<A>]>,
60
29
  <A, Key extends PropertyKey>(
61
30
  as: ReadonlyArray<A>,
62
31
  f: (a: A) => Key
63
- ) => ReadonlyArray<readonly [Key, NonEmptyReadonlyArray<A>]>
32
+ ) => Array<readonly [Key, NonEmptyArray<A>]>
64
33
  >(2, <A, Key extends PropertyKey>(
65
34
  as: ReadonlyArray<A>,
66
35
  f: (a: A) => Key
67
- ): ReadonlyArray<readonly [Key, NonEmptyReadonlyArray<A>]> => {
36
+ ): Array<readonly [Key, NonEmptyArray<A>]> => {
68
37
  const r: Record<Key, Array<A> & { 0: A }> = {} as any
69
38
  for (const a of as) {
70
39
  const k = f(a)
@@ -75,22 +44,15 @@ export const groupByT = dual<
75
44
  r[k] = [a]
76
45
  }
77
46
  }
78
- return Object.entries(r).map(([k, items]) => tuple(k as unknown as Key, items as NonEmptyReadonlyArray<A>))
47
+ return Object.entries(r).map(([k, items]) => tuple(k as unknown as Key, items as NonEmptyArray<A>))
79
48
  })
80
49
 
81
- // A getter would be nice, but we need it fluent to manage the priority vs nonEmpty etc
82
- /**
83
- * @tsplus fluent ReadonlyArray randomElement 2
84
- */
85
50
  export function randomElement<A>(a: NonEmptyReadonlyArray<A>): A
86
51
  export function randomElement<A>(a: ReadonlyArray<A>): A | undefined
87
52
  export function randomElement<A>(a: ReadonlyArray<A>): A | undefined {
88
53
  return a[Math.floor(Math.random() * a.length)]
89
54
  }
90
55
 
91
- /**
92
- * @tsplus fluent ReadonlyArray filterWith
93
- */
94
56
  export function filterWith<A>(self: ReadonlyArray<A>, predicates: ReadonlyArray<Predicate<A>>) {
95
57
  return self.filter((_) => predicates.every((f) => f(_)))
96
58
  }
@@ -108,18 +70,11 @@ export function* _chunk_<T>(items_: Iterable<T>, size: number) {
108
70
 
109
71
  /**
110
72
  * Split the `items` array into multiple, smaller chunks of the given `size`.
111
- * @tsplus fluent Array chunk
112
- * @tsplus fluent ReadonlyArray chunk
113
- * @tsplus fluent effect/data/Chunk chunk
114
- * @tsplus fluent Iterable chunk
115
73
  */
116
74
  export function chunk_<T>(items_: Iterable<T>, size: number) {
117
75
  return Chunk.fromIterable(_chunk_(items_, size))
118
76
  }
119
77
 
120
- /**
121
- * @tsplus fluent effect/data/ReadonlyArray/NonEmptyReadonlyArray forEachEffect
122
- */
123
78
  export function forEachEffectNA<A, R, E, B>(as: NonEmptyReadonlyArray<A>, f: (a: A) => Effect.Effect<B, E, R>) {
124
79
  return Effect.map(T.forEach(as, f), (_) => Option.getOrNull(toNonEmptyArray(_)))
125
80
  }