@daiso-tech/core 0.8.1 → 0.10.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 (30) hide show
  1. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js.map +1 -1
  2. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +19 -0
  3. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  4. package/dist/cjs/collection/implementations/iterable-collection/_shared/update-iterable.js.map +1 -1
  5. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +19 -0
  6. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  7. package/dist/cjs/collection/implementations/list-collection/list-collection.js +31 -2
  8. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  9. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js.map +1 -1
  10. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +19 -0
  11. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  12. package/dist/esm/collection/implementations/iterable-collection/_shared/update-iterable.js.map +1 -1
  13. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +19 -0
  14. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  15. package/dist/esm/collection/implementations/list-collection/list-collection.js +31 -2
  16. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  17. package/dist/types/collection/contracts/_shared.d.ts +0 -1
  18. package/dist/types/collection/contracts/async-collection.contract.d.ts +91 -37
  19. package/dist/types/collection/contracts/collection.contract.d.ts +56 -2
  20. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-update-iterable.d.ts +3 -3
  21. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -2
  22. package/dist/types/collection/implementations/iterable-collection/_shared/update-iterable.d.ts +3 -3
  23. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +5 -2
  24. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +5 -2
  25. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +9 -8
  26. package/dist/types/event-bus/implementations/event-bus/event-bus.d.ts +2 -2
  27. package/dist/types/serializer/contracts/serializer.contract.d.ts +2 -2
  28. package/dist/types/storage/contracts/storage.contract.d.ts +23 -22
  29. package/dist/types/storage/implementations/storage/storage.d.ts +6 -6
  30. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"iterable-collection.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/iterable-collection/iterable-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterable-collection.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/iterable-collection/iterable-collection.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,35 @@ export class ListCollection {
73
73
  return item;
74
74
  }));
75
75
  }
76
+ set(index, value) {
77
+ if (index < 0) {
78
+ return this;
79
+ }
80
+ if (index >= this.array.length) {
81
+ return this;
82
+ }
83
+ const item = this.array[index];
84
+ if (item === undefined) {
85
+ throw new UnexpectedCollectionError("!!__message__!!");
86
+ }
87
+ if (typeof value === "function") {
88
+ const fn = value;
89
+ value = fn(item, index, this);
90
+ }
91
+ const newArray = [...this.array];
92
+ newArray[index] = value;
93
+ return new ListCollection(newArray);
94
+ }
95
+ get(index) {
96
+ return this.array[index] ?? null;
97
+ }
98
+ getOrFail(index) {
99
+ const item = this.get(index);
100
+ if (item === null) {
101
+ throw new ItemNotFoundCollectionError("Item was not found");
102
+ }
103
+ return item;
104
+ }
76
105
  page(page, pageSize) {
77
106
  if (page < 0) {
78
107
  return this.skip(page * pageSize).take(pageSize);
@@ -221,8 +250,8 @@ export class ListCollection {
221
250
  return callback(this);
222
251
  }
223
252
  tap(callback) {
224
- callback(this);
225
- return new ListCollection(this);
253
+ callback(new ListCollection(this));
254
+ return this;
226
255
  }
227
256
  chunk(chunkSize) {
228
257
  const chunks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"list-collection.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/list-collection/list-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-collection.js","sourceRoot":"","sources":["../../../../../src/collection/implementations/list-collection/list-collection.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,6 @@ export declare class TypeCollectionError extends CollectionError {
37
37
  export declare class EmptyCollectionError extends CollectionError {
38
38
  constructor(message: string, cause?: unknown);
39
39
  }
40
- export type ChangendItem<TInput, TFilterOutput, TMapOutput> = TInput | TFilterOutput | TMapOutput;
41
40
  export type Comparator<TItem> = (itemA: TItem, itemB: TItem) => number;
42
41
  export type Predicate_<TInput, TCollection> = (item: TInput, index: number, collection: TCollection) => boolean;
43
42
  export type PredicateGuard<TInput, TCollection, TOutput extends TInput = TInput> = (item: TInput, index: number, collection: TCollection) => item is TOutput;
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @module Collection
3
3
  */
4
- import type { AsyncReduce, CrossJoinResult, AsyncPredicate, AsyncForEach, AsyncMap, AsyncModifier, AsyncTap, AsyncTransform, Comparator, ChangendItem } from "../../collection/contracts/_shared";
4
+ import type { AsyncReduce, CrossJoinResult, AsyncPredicate, AsyncForEach, AsyncMap, AsyncModifier, AsyncTap, AsyncTransform, Comparator } from "../../collection/contracts/_shared";
5
5
  import type { RecordItem, AsyncLazyable, AsyncIterableValue } from "../../_shared/types";
6
- import type { TimeSpan } from "../../utilities/_module";
6
+ import type { LazyPromise, TimeSpan } from "../../utilities/_module";
7
7
  export type AsyncCollapse<TValue> = TValue extends Array<infer TItem> | Iterable<infer TItem> | IAsyncCollection<infer TItem> ? TItem : TValue;
8
8
  /**
9
9
  * The <i>IAsyncCollection</i> contract offers a fluent and efficient approach to working with {@link AsyncIterable} objects.
@@ -93,9 +93,9 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
93
93
  * // { 0: "a", 1: "b", 2: "c" }
94
94
  * ```
95
95
  */
96
- reduce(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>): PromiseLike<TInput>;
97
- reduce(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>, initialValue: TInput): PromiseLike<TInput>;
98
- reduce<TOutput>(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TOutput>, initialValue: TOutput): PromiseLike<TOutput>;
96
+ reduce(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>): LazyPromise<TInput>;
97
+ reduce(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TInput>, initialValue: TInput): LazyPromise<TInput>;
98
+ reduce<TOutput>(reduceFn: AsyncReduce<TInput, IAsyncCollection<TInput>, TOutput>, initialValue: TOutput): LazyPromise<TOutput>;
99
99
  /**
100
100
  * The <i>join</i> method joins the collection's items with <i> separator </i>. An error will be thrown when if a none string item is encounterd.
101
101
  * @throws {TypeCollectionError}
@@ -116,7 +116,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
116
116
  * // "1_2_3_4"
117
117
  * ```
118
118
  */
119
- join(separator?: string): PromiseLike<Extract<TInput, string>>;
119
+ join(separator?: string): LazyPromise<Extract<TInput, string>>;
120
120
  /**
121
121
  * The <i>collapse</i> method collapses a collection of iterables into a single, flat collection.
122
122
  * @example
@@ -155,7 +155,61 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
155
155
  * // [1, 4, 3, 8, 5]
156
156
  * ```
157
157
  */
158
- change<TFilterOutput extends TInput, TMapOutput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TFilterOutput>, mapFn: AsyncMap<TFilterOutput, IAsyncCollection<TInput>, TMapOutput>): IAsyncCollection<ChangendItem<TInput, TFilterOutput, TMapOutput>>;
158
+ change<TFilterOutput extends TInput, TMapOutput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TFilterOutput>, mapFn: AsyncMap<TFilterOutput, IAsyncCollection<TInput>, TMapOutput>): IAsyncCollection<TInput | TFilterOutput | TMapOutput>;
159
+ /**
160
+ * The <i>set</i> method changes a item by i>index</i> using <i>value</i>.
161
+ * @example
162
+ * ```ts
163
+ * import { AsyncIterableCollection } from "@daiso-tech/core";;
164
+ *
165
+ * const collection = new AsyncIterableCollection([1, 2, 3, 4, 5]);
166
+ * const newCollection = collection.set(1, -1);
167
+ * await newCollection.toArray();
168
+ * // [1, -1, 3, 4, 5]
169
+ * ```
170
+ * @example
171
+ * ```ts
172
+ * import { AsyncIterableCollection } from "@daiso-tech/core";;
173
+ *
174
+ * const collection = new AsyncIterableCollection([1, 2, 3, 4, 5]);
175
+ * const newCollection = collection.set(1, (prevValue) => prevValue - 2);
176
+ * await newCollection.toArray();
177
+ * // [1, 0, 3, 4, 5]
178
+ * ```
179
+ */
180
+ set(index: number, value: TInput | AsyncMap<TInput, IAsyncCollection<TInput>, TInput>): IAsyncCollection<TInput>;
181
+ /**
182
+ * The <i>get</i> method returns the item by index. If the item is not found null will returned.
183
+ * @example
184
+ * ```ts
185
+ * import { AsyncIterableCollection } from "@daiso-tech/core";;
186
+ *
187
+ * const collection = new AsyncIterableCollection([1, 4, 2, 8, -2]);
188
+ * // Will be 2
189
+ * await collection.get(2);
190
+ *
191
+ * // Will be null
192
+ * await collection.get(5);
193
+ * ```
194
+ */
195
+ get(index: number): LazyPromise<TInput | null>;
196
+ /**
197
+ * The <i>getOrFail</i> method returns the item by index. If the item is not found an error will be thrown.
198
+ * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
199
+ * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
200
+ * @example
201
+ * ```ts
202
+ * import { AsyncIterableCollection } from "@daiso-tech/core";;
203
+ *
204
+ * const collection = new AsyncIterableCollection([1, 4, 2, 8, -2]);
205
+ * // Will be 2
206
+ * await collection.getOrFail(2);
207
+ *
208
+ * // An error will thrown
209
+ * await collection.getOrFail(5);
210
+ * ```
211
+ */
212
+ getOrFail(index: number): LazyPromise<TInput>;
159
213
  /**
160
214
  * The <i>page</i> method returns a new collection containing the items that would be present on <i> page </i> with custom <i> pageSize </i>.
161
215
  * @example
@@ -183,7 +237,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
183
237
  * @throws {TypeCollectionError} {@link TypeCollectionError}
184
238
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
185
239
  */
186
- sum(): PromiseLike<Extract<TInput, number>>;
240
+ sum(): LazyPromise<Extract<TInput, number>>;
187
241
  /**
188
242
  * The <i>average</i> method returns the average of all items in the collection. If the collection includes other than number items an error will be thrown.
189
243
  * @example
@@ -198,7 +252,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
198
252
  * @throws {TypeCollectionError} {@link TypeCollectionError}
199
253
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
200
254
  */
201
- average(): PromiseLike<Extract<TInput, number>>;
255
+ average(): LazyPromise<Extract<TInput, number>>;
202
256
  /**
203
257
  * The <i>median</i> method returns the median of all items in the collection. If the collection includes other than number items an error will be thrown.
204
258
  * @example
@@ -213,7 +267,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
213
267
  * @throws {TypeCollectionError} {@link TypeCollectionError}
214
268
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
215
269
  */
216
- median(): PromiseLike<Extract<TInput, number>>;
270
+ median(): LazyPromise<Extract<TInput, number>>;
217
271
  /**
218
272
  * The <i>min</i> method returns the min of all items in the collection. If the collection includes other than number items an error will be thrown.
219
273
  * @example
@@ -228,7 +282,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
228
282
  * @throws {TypeCollectionError} {@link TypeCollectionError}
229
283
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
230
284
  */
231
- min(): PromiseLike<Extract<TInput, number>>;
285
+ min(): LazyPromise<Extract<TInput, number>>;
232
286
  /**
233
287
  * The <i>max</i> method returns the max of all items in the collection. If the collection includes other than number items an error will be thrown.
234
288
  * @example
@@ -243,7 +297,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
243
297
  * @throws {TypeCollectionError} {@link TypeCollectionError}
244
298
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
245
299
  */
246
- max(): PromiseLike<Extract<TInput, number>>;
300
+ max(): LazyPromise<Extract<TInput, number>>;
247
301
  /**
248
302
  * The <i>percentage</i> method may be used to quickly determine the percentage of items in the collection that pass <i>predicateFn</i>.
249
303
  * @example
@@ -257,7 +311,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
257
311
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
258
312
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
259
313
  */
260
- percentage(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<number>;
314
+ percentage(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<number>;
261
315
  /**
262
316
  * The <i>some</i> method determines whether at least one item in the collection matches <i>predicateFn</i>.
263
317
  * @example
@@ -270,7 +324,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
270
324
  * ```
271
325
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
272
326
  */
273
- some<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<boolean>;
327
+ some<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<boolean>;
274
328
  /**
275
329
  * The <i>every</i> method determines whether all items in the collection matches <i>predicateFn</i>.
276
330
  * @example
@@ -283,7 +337,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
283
337
  * ```
284
338
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
285
339
  */
286
- every<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<boolean>;
340
+ every<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<boolean>;
287
341
  /**
288
342
  * The <i>take</i> method takes the first <i>limit</i> items.
289
343
  * @example
@@ -463,7 +517,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
463
517
  * // [ 1, 2, 1, 3 ]
464
518
  * ```
465
519
  */
466
- pipe<TOutput = TInput>(callback: AsyncTransform<IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput>;
520
+ pipe<TOutput = TInput>(callback: AsyncTransform<IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput>;
467
521
  /**
468
522
  * The <i>tap</i> method passes a copy of the original collection to <i>callback</i>, allowing you to do something with the items while not affecting the original collection.
469
523
  * @example
@@ -1020,7 +1074,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1020
1074
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1021
1075
  * // 3
1022
1076
  */
1023
- first<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput | null>;
1077
+ first<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput | null>;
1024
1078
  /**
1025
1079
  * The <i>firstOr</i> method returns the first item in the collection that passes <i> predicateFn </i>
1026
1080
  * By default it will get the first item. If the collection is empty or no items passes <i> predicateFn </i> than <i> defaultValue </i>.
@@ -1058,7 +1112,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1058
1112
  * ```
1059
1113
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1060
1114
  */
1061
- firstOr<TOutput extends TInput, TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput | TExtended>;
1115
+ firstOr<TOutput extends TInput, TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput | TExtended>;
1062
1116
  /**
1063
1117
  * The <i>firstOrFail</i> method returns the first item in the collection that passes <i> predicateFn </i>.
1064
1118
  * By default it will get the first item. If the collection is empty or no items passes <i> predicateFn </i> than error is thrown.
@@ -1089,7 +1143,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1089
1143
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1090
1144
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1091
1145
  */
1092
- firstOrFail<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput>;
1146
+ firstOrFail<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput>;
1093
1147
  /**
1094
1148
  * The <i>last</i> method returns the last item in the collection that passes <i> predicateFn </i>.
1095
1149
  * By default it will get the last item. If the collection is empty or no items passes <i> predicateFn </i> than null i returned.
@@ -1120,7 +1174,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1120
1174
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1121
1175
  * // 3
1122
1176
  */
1123
- last<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput | null>;
1177
+ last<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput | null>;
1124
1178
  /**
1125
1179
  * The <i>lastOr</i> method returns the last item in the collection that passes <i> predicateFn </i>.
1126
1180
  * By default it will get the last item. If the collection is empty or no items passes <i> predicateFn </i> than <i> defaultValue </i>.
@@ -1158,7 +1212,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1158
1212
  * ```
1159
1213
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1160
1214
  */
1161
- lastOr<TOutput extends TInput, TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput | TExtended>;
1215
+ lastOr<TOutput extends TInput, TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput | TExtended>;
1162
1216
  /**
1163
1217
  * The <i>lastOrFail</i> method returns the last item in the collection that passes <i> predicateFn </i>.
1164
1218
  * By default it will get the last item. If the collection is empty or no items passes <i> predicateFn </i> than error is thrown.
@@ -1189,7 +1243,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1189
1243
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1190
1244
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1191
1245
  */
1192
- lastOrFail<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput>;
1246
+ lastOrFail<TOutput extends TInput>(predicateFn?: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput>;
1193
1247
  /**
1194
1248
  * The <i>before</i> method returns the item that comes before the first item that matches <i>predicateFn</i>.
1195
1249
  * If the <i>predicateFn</i> does not match or matches the first item then null is returned.
@@ -1211,7 +1265,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1211
1265
  * ```
1212
1266
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1213
1267
  */
1214
- before(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<TInput | null>;
1268
+ before(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<TInput | null>;
1215
1269
  /**
1216
1270
  * The <i>beforeOr</i> method returns the item that comes before the first item that matches <i>predicateFn</i>.
1217
1271
  * If the collection is empty or the <i>predicateFn</i> does not match or matches the first item then <i>defaultValue</i> is returned.
@@ -1241,7 +1295,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1241
1295
  * ```
1242
1296
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1243
1297
  */
1244
- beforeOr<TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<TInput | TExtended>;
1298
+ beforeOr<TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<TInput | TExtended>;
1245
1299
  /**
1246
1300
  * The <i>beforeOrFail</i> method returns the item that comes before the first item that matches <i>predicateFn</i>.
1247
1301
  * If the collection is empty or the <i>predicateFn</i> does not match or matches the first item then an error is thrown.
@@ -1264,7 +1318,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1264
1318
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1265
1319
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1266
1320
  */
1267
- beforeOrFail(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<TInput>;
1321
+ beforeOrFail(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<TInput>;
1268
1322
  /**
1269
1323
  * The <i>after</i> method returns the item that comes after the first item that matches <i>predicateFn</i>.
1270
1324
  * If the collection is empty or the <i>predicateFn</i> does not match or matches the last item then null is returned.
@@ -1286,7 +1340,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1286
1340
  * ```
1287
1341
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1288
1342
  */
1289
- after(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<TInput | null>;
1343
+ after(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<TInput | null>;
1290
1344
  /**
1291
1345
  * The <i>afterOr</i> method returns the item that comes after the first item that matches <i>predicateFn</i>.
1292
1346
  * If the collection is empty or the <i>predicateFn</i> does not match or matches the last item then <i>defaultValue</i> is returned.
@@ -1316,7 +1370,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1316
1370
  * ```
1317
1371
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1318
1372
  */
1319
- afterOr<TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<TInput | TExtended>;
1373
+ afterOr<TExtended = TInput>(defaultValue: AsyncLazyable<TExtended>, predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<TInput | TExtended>;
1320
1374
  /**
1321
1375
  * The <i>afterOrFail</i> method returns the item that comes after the first item that matches <i>predicateFn</i>.
1322
1376
  * If the collection is empty or the <i>predicateFn</i> does not match or matches the last item then an error is thrown.
@@ -1339,7 +1393,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1339
1393
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1340
1394
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1341
1395
  */
1342
- afterOrFail(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<TInput>;
1396
+ afterOrFail(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<TInput>;
1343
1397
  /**
1344
1398
  * The <i>sole</i> method returns the first item in the collection that passes <i>predicateFn</i>, but only if <i>predicateFn</i> matches exactly one item.
1345
1399
  * If no items matches or multiple items are found an error will be thrown.
@@ -1371,7 +1425,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1371
1425
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1372
1426
  * @throws {MultipleItemsFoundCollectionError} {@link MultipleItemsFoundCollectionError}
1373
1427
  */
1374
- sole<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): PromiseLike<TOutput>;
1428
+ sole<TOutput extends TInput>(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>, TOutput>): LazyPromise<TOutput>;
1375
1429
  /**
1376
1430
  * The <i>nth</i> method creates a new collection consisting of every n-th item.
1377
1431
  * @example
@@ -1396,22 +1450,22 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1396
1450
  * ```
1397
1451
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1398
1452
  */
1399
- count(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<number>;
1453
+ count(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<number>;
1400
1454
  /**
1401
1455
  * The <i>size</i> returns the size of the collection.
1402
1456
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1403
1457
  */
1404
- size(): PromiseLike<number>;
1458
+ size(): LazyPromise<number>;
1405
1459
  /**
1406
1460
  * The <i>isEmpty</i> returns true if the collection is empty.
1407
1461
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1408
1462
  */
1409
- isEmpty(): PromiseLike<boolean>;
1463
+ isEmpty(): LazyPromise<boolean>;
1410
1464
  /**
1411
1465
  * The <i>isNotEmpty</i> returns true if the collection is not empty.
1412
1466
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1413
1467
  */
1414
- isNotEmpty(): PromiseLike<boolean>;
1468
+ isNotEmpty(): LazyPromise<boolean>;
1415
1469
  /**
1416
1470
  * The <i>searchFirst</i> return the index of the first item that matches <i>predicateFn</i>.
1417
1471
  * @example
@@ -1424,7 +1478,7 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1424
1478
  * ```
1425
1479
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1426
1480
  */
1427
- searchFirst(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<number>;
1481
+ searchFirst(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<number>;
1428
1482
  /**
1429
1483
  * The <i>searchLast</i> return the index of the last item that matches <i>predicateFn</i>.
1430
1484
  * @example
@@ -1437,17 +1491,17 @@ export type IAsyncCollection<TInput> = AsyncIterable<TInput> & {
1437
1491
  * ```
1438
1492
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1439
1493
  */
1440
- searchLast(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): PromiseLike<number>;
1494
+ searchLast(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<number>;
1441
1495
  /**
1442
1496
  * The <i>forEach</i> method iterates through all items in the collection.
1443
1497
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1444
1498
  */
1445
- forEach(callback: AsyncForEach<TInput, IAsyncCollection<TInput>>): PromiseLike<void>;
1499
+ forEach(callback: AsyncForEach<TInput, IAsyncCollection<TInput>>): LazyPromise<void>;
1446
1500
  /**
1447
1501
  * The <i>toArray</i> method converts the collection to a new array.
1448
1502
  * @throws {UnexpectedCollectionError} {@link UnexpectedCollectionError}
1449
1503
  */
1450
- toArray(): PromiseLike<TInput[]>;
1504
+ toArray(): LazyPromise<TInput[]>;
1451
1505
  /**
1452
1506
  * The <i>delay</i> method will add delay between each iteration.
1453
1507
  * This method is especially useful for situations where you may be interacting with external APIs that rate limit incoming requests: