@daiso-tech/core 0.35.3 → 0.36.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 (143) hide show
  1. package/README.md +22 -54
  2. package/dist/async/backof-policies/_shared.d.ts +8 -2
  3. package/dist/async/backof-policies/_shared.js +0 -1
  4. package/dist/async/backof-policies/_shared.js.map +1 -1
  5. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +3 -3
  6. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +10 -4
  7. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -1
  8. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +3 -3
  9. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +10 -4
  10. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -1
  11. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +3 -3
  12. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +10 -4
  13. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -1
  14. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +3 -3
  15. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +10 -4
  16. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -1
  17. package/dist/async/middlewares/fallback/fallback.middleware.d.ts +2 -2
  18. package/dist/async/middlewares/fallback/fallback.middleware.js +2 -2
  19. package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
  20. package/dist/async/middlewares/hedging/_shared.d.ts +7 -7
  21. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +7 -7
  22. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -1
  23. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +6 -6
  24. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -1
  25. package/dist/async/middlewares/observe/observe.middleware.d.ts +4 -4
  26. package/dist/async/middlewares/retry/retry.middleware.d.ts +5 -4
  27. package/dist/async/middlewares/retry/retry.middleware.js +9 -9
  28. package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
  29. package/dist/async/middlewares/timeout/timeout.middleware.d.ts +4 -2
  30. package/dist/async/middlewares/timeout/timeout.middleware.js +3 -1
  31. package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -1
  32. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +1 -1
  33. package/dist/async/utilities/lazy-promise/lazy-promise.js +1 -1
  34. package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -1
  35. package/dist/cache/contracts/cache.errors.d.ts +3 -3
  36. package/dist/cache/contracts/cache.errors.js +1 -1
  37. package/dist/cache/contracts/cache.errors.js.map +1 -1
  38. package/dist/cache/contracts/cache.events.d.ts +2 -2
  39. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +14 -0
  40. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  41. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +3 -0
  42. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  43. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +11 -0
  44. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  45. package/dist/cache/implementations/derivables/cache/cache.d.ts +12 -8
  46. package/dist/cache/implementations/derivables/cache/cache.js +25 -34
  47. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  48. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -41
  49. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +10 -45
  50. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  51. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +4 -5
  52. package/dist/cache/implementations/test-utilities/cache.test-suite.js +11 -12
  53. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  54. package/dist/collection/contracts/async-collection.contract.d.ts +121 -121
  55. package/dist/collection/contracts/collection.contract.d.ts +120 -120
  56. package/dist/collection/contracts/collection.errors.d.ts +3 -3
  57. package/dist/collection/contracts/collection.errors.js +1 -1
  58. package/dist/collection/contracts/collection.errors.js.map +1 -1
  59. package/dist/collection/implementations/_shared.d.ts +4 -4
  60. package/dist/collection/implementations/_shared.js +2 -2
  61. package/dist/collection/implementations/_shared.js.map +1 -1
  62. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +13 -13
  63. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +15 -15
  64. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  65. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +12 -12
  66. package/dist/collection/implementations/iterable-collection/iterable-collection.js +12 -12
  67. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  68. package/dist/collection/implementations/list-collection/list-collection.d.ts +12 -12
  69. package/dist/collection/implementations/list-collection/list-collection.js +12 -12
  70. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  71. package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
  72. package/dist/event-bus/contracts/event-bus.contract.d.ts +2 -2
  73. package/dist/event-bus/contracts/event-bus.errors.d.ts +3 -3
  74. package/dist/event-bus/contracts/event-bus.errors.js +1 -1
  75. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  76. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
  77. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +1 -1
  78. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -6
  79. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +21 -19
  80. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  81. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +5 -36
  82. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -35
  83. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  84. package/dist/lock/contracts/lock.errors.d.ts +2 -2
  85. package/dist/lock/contracts/lock.errors.js.map +1 -1
  86. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +3 -3
  87. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -2
  88. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  89. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +3 -3
  90. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +2 -2
  91. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
  92. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +6 -3
  93. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +1 -1
  94. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  95. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +4 -4
  96. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +3 -3
  97. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
  98. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +22 -18
  99. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +20 -22
  100. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  101. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +3 -3
  102. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +12 -6
  103. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  104. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -2
  105. package/dist/lock/implementations/derivables/lock-provider/lock.js +16 -18
  106. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  107. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +6 -50
  108. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +10 -54
  109. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  110. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +1 -9
  111. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +1 -9
  112. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  113. package/dist/serde/contracts/flexible-serde.contract.d.ts +9 -2
  114. package/dist/utilities/classes/_module.d.ts +1 -1
  115. package/dist/utilities/classes/_module.js +1 -1
  116. package/dist/utilities/classes/_module.js.map +1 -1
  117. package/dist/utilities/classes/hooks/hooks.d.ts +2 -2
  118. package/dist/utilities/classes/hooks/hooks.js +2 -2
  119. package/dist/utilities/classes/namespace/_module.d.ts +1 -0
  120. package/dist/utilities/classes/namespace/_module.js +2 -0
  121. package/dist/utilities/classes/namespace/_module.js.map +1 -0
  122. package/dist/utilities/classes/{key-prefixer/key-prefixer.d.ts → namespace/namespace.d.ts} +38 -17
  123. package/dist/utilities/classes/{key-prefixer/key-prefixer.js → namespace/namespace.js} +51 -19
  124. package/dist/utilities/classes/namespace/namespace.js.map +1 -0
  125. package/dist/utilities/classes/time-span/time-span.d.ts +1 -2
  126. package/dist/utilities/classes/time-span/time-span.js +1 -4
  127. package/dist/utilities/classes/time-span/time-span.js.map +1 -1
  128. package/dist/utilities/functions/_module-exports.d.ts +1 -1
  129. package/dist/utilities/functions/_module-exports.js +1 -1
  130. package/dist/utilities/functions/_module-exports.js.map +1 -1
  131. package/dist/utilities/functions/result.d.ts +11 -0
  132. package/dist/utilities/functions/result.js +15 -0
  133. package/dist/utilities/functions/result.js.map +1 -0
  134. package/dist/utilities/types/factory.type.d.ts +13 -18
  135. package/dist/utilities/types/result.type.d.ts +11 -1
  136. package/package.json +3 -2
  137. package/dist/utilities/classes/key-prefixer/_module.d.ts +0 -1
  138. package/dist/utilities/classes/key-prefixer/_module.js +0 -2
  139. package/dist/utilities/classes/key-prefixer/_module.js.map +0 -1
  140. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +0 -1
  141. package/dist/utilities/functions/factory.d.ts +0 -44
  142. package/dist/utilities/functions/factory.js +0 -80
  143. package/dist/utilities/functions/factory.js.map +0 -1
@@ -31,14 +31,14 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
31
31
  */
32
32
  keys(): IAsyncCollection<number>;
33
33
  /**
34
- * The `values` method returns a copy of the collection.
34
+ * The `copy` method returns a copy of the collection.
35
35
  */
36
- values(): IAsyncCollection<TInput>;
36
+ copy(): IAsyncCollection<TInput>;
37
37
  /**
38
38
  * The `filter` method filters the collection using `predicateFn`, keeping only those items that pass `predicateFn`.
39
39
  * @example
40
40
  * ```ts
41
- * import type { IAsyncCollection } from "@daiso-tech/core";
41
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
42
42
  *
43
43
  * // Asume the inputed collection is empty.
44
44
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -55,7 +55,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
55
55
  * The `reject` method filters the collection using `predicateFn`, keeping only those items that not pass `predicateFn`.
56
56
  * @example
57
57
  * ```ts
58
- * import type { IAsyncCollection } from "@daiso-tech/core";
58
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
59
59
  *
60
60
  * // Asume the inputed collection is empty.
61
61
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -73,7 +73,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
73
73
  * The `mapFn` is free to modify the item and return it, thus forming a new collection of modified items.
74
74
  * @example
75
75
  * ```ts
76
- * import type { IAsyncCollection } from "@daiso-tech/core";
76
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
77
77
  *
78
78
  * // Asume the inputed collection is empty.
79
79
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -91,7 +91,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
91
91
  * The final result of running the reducer across all items of the array is a single value.
92
92
  * @example
93
93
  * ```ts
94
- * import type { IAsyncCollection } from "@daiso-tech/core";
94
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
95
95
  *
96
96
  * // Asume the inputed collection is empty.
97
97
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -103,7 +103,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
103
103
  * ```
104
104
  * @example
105
105
  * ```ts
106
- * import type { IAsyncCollection } from "@daiso-tech/core";
106
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
107
107
  *
108
108
  * // Asume the inputed collection is empty.
109
109
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -129,7 +129,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
129
129
  * @throws {TypeCollectionError}
130
130
  * @example
131
131
  * ```ts
132
- * import type { IAsyncCollection } from "@daiso-tech/core";
132
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
133
133
  *
134
134
  * // Asume the inputed collection is empty.
135
135
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -142,7 +142,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
142
142
  * ```
143
143
  * @example
144
144
  * ```ts
145
- * import type { IAsyncCollection } from "@daiso-tech/core";
145
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
146
146
  *
147
147
  * // Asume the inputed collection is empty.
148
148
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -159,7 +159,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
159
159
  * The `collapse` method collapses a collection of iterables into a single, flat collection.
160
160
  * @example
161
161
  * ```ts
162
- * import type { IAsyncCollection } from "@daiso-tech/core";
162
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
163
163
  *
164
164
  * // Asume the inputed collection is empty.
165
165
  * async function main(collection: IAsyncCollection<number[]>): Promise<void> {
@@ -177,7 +177,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
177
177
  * It is identical to a `map` method followed by a `collapse` method.
178
178
  * @example
179
179
  * ```ts
180
- * import type { IAsyncCollection } from "@daiso-tech/core";
180
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
181
181
  *
182
182
  * // Asume the inputed collection is empty.
183
183
  * async function main(collection: IAsyncCollection<string[]>): Promise<void> {
@@ -194,7 +194,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
194
194
  * The `change` method changes only the items that passes `predicateFn` using `mapFn`.
195
195
  * @example
196
196
  * ```ts
197
- * import type { IAsyncCollection } from "@daiso-tech/core";
197
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
198
198
  *
199
199
  * // Asume the inputed collection is empty.
200
200
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -211,7 +211,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
211
211
  * The `set` method changes a item by i>index` using `value`.
212
212
  * @example
213
213
  * ```ts
214
- * import type { IAsyncCollection } from "@daiso-tech/core";
214
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
215
215
  *
216
216
  * // Asume the inputed collection is empty.
217
217
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -224,7 +224,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
224
224
  * ```
225
225
  * @example
226
226
  * ```ts
227
- * import type { IAsyncCollection } from "@daiso-tech/core";
227
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
228
228
  *
229
229
  * // Asume the inputed collection is empty.
230
230
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -241,7 +241,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
241
241
  * The `get` method returns the item by index. If the item is not found null will returned.
242
242
  * @example
243
243
  * ```ts
244
- * import type { IAsyncCollection } from "@daiso-tech/core";
244
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
245
245
  *
246
246
  * // Asume the inputed collection is empty.
247
247
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -261,7 +261,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
261
261
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
262
262
  * @example
263
263
  * ```ts
264
- * import type { IAsyncCollection } from "@daiso-tech/core";
264
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
265
265
  *
266
266
  * // Asume the inputed collection is empty.
267
267
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -280,7 +280,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
280
280
  * The `page` method returns a new collection containing the items that would be present on ` page ` with custom ` pageSize `.
281
281
  * @example
282
282
  * ```ts
283
- * import type { IAsyncCollection } from "@daiso-tech/core";
283
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
284
284
  *
285
285
  * // Asume the inputed collection is empty.
286
286
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -299,7 +299,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
299
299
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
300
300
  * @example
301
301
  * ```ts
302
- * import type { IAsyncCollection } from "@daiso-tech/core";
302
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
303
303
  *
304
304
  * // Asume the inputed collection is empty.
305
305
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -317,7 +317,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
317
317
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
318
318
  * @example
319
319
  * ```ts
320
- * import type { IAsyncCollection } from "@daiso-tech/core";
320
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
321
321
  *
322
322
  * // Asume the inputed collection is empty.
323
323
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -335,7 +335,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
335
335
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
336
336
  * @example
337
337
  * ```ts
338
- * import type { IAsyncCollection } from "@daiso-tech/core";
338
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
339
339
  *
340
340
  * // Asume the inputed collection is empty.
341
341
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -353,7 +353,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
353
353
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
354
354
  * @example
355
355
  * ```ts
356
- * import type { IAsyncCollection } from "@daiso-tech/core";
356
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
357
357
  *
358
358
  * // Asume the inputed collection is empty.
359
359
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -371,7 +371,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
371
371
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
372
372
  * @example
373
373
  * ```ts
374
- * import type { IAsyncCollection } from "@daiso-tech/core";
374
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
375
375
  *
376
376
  * // Asume the inputed collection is empty.
377
377
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -388,7 +388,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
388
388
  * @throws {EmptyCollectionError} {@link EmptyCollectionError}
389
389
  * @example
390
390
  * ```ts
391
- * import type { IAsyncCollection } from "@daiso-tech/core";
391
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
392
392
  *
393
393
  * // Asume the inputed collection is empty.
394
394
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -404,7 +404,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
404
404
  * The `some` method determines whether at least one item in the collection matches `predicateFn`.
405
405
  * @example
406
406
  * ```ts
407
- * import type { IAsyncCollection } from "@daiso-tech/core";
407
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
408
408
  *
409
409
  * // Asume the inputed collection is empty.
410
410
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -420,7 +420,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
420
420
  * The `every` method determines whether all items in the collection matches `predicateFn`.
421
421
  * @example
422
422
  * ```ts
423
- * import type { IAsyncCollection } from "@daiso-tech/core";
423
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
424
424
  *
425
425
  * // Asume the inputed collection is empty.
426
426
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -436,7 +436,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
436
436
  * The `take` method takes the first `limit` items.
437
437
  * @example
438
438
  * ```ts
439
- * import type { IAsyncCollection } from "@daiso-tech/core";
439
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
440
440
  *
441
441
  * // Asume the inputed collection is empty.
442
442
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -449,7 +449,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
449
449
  * ```
450
450
  * @example
451
451
  * ```ts
452
- * import type { IAsyncCollection } from "@daiso-tech/core";
452
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
453
453
  *
454
454
  * // Asume the inputed collection is empty.
455
455
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -466,7 +466,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
466
466
  * The `takeUntil` method takes items until `predicateFn` returns true.
467
467
  * @example
468
468
  * ```ts
469
- * import type { IAsyncCollection } from "@daiso-tech/core";
469
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
470
470
  *
471
471
  * // Asume the inputed collection is empty.
472
472
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -483,7 +483,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
483
483
  * The `takeWhile` method takes items until `predicateFn` returns false.
484
484
  * @example
485
485
  * ```ts
486
- * import type { IAsyncCollection } from "@daiso-tech/core";
486
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
487
487
  *
488
488
  * // Asume the inputed collection is empty.
489
489
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -500,7 +500,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
500
500
  * The `skip` method skips the first `offset` items.
501
501
  * @example
502
502
  * ```ts
503
- * import type { IAsyncCollection } from "@daiso-tech/core";
503
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
504
504
  *
505
505
  * // Asume the inputed collection is empty.
506
506
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -517,7 +517,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
517
517
  * The `skipUntil` method skips items until `predicateFn` returns true.
518
518
  * @example
519
519
  * ```ts
520
- * import type { IAsyncCollection } from "@daiso-tech/core";
520
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
521
521
  *
522
522
  * // Asume the inputed collection is empty.
523
523
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -534,7 +534,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
534
534
  * The `skipWhile` method skips items until `predicateFn` returns false.
535
535
  * @example
536
536
  * ```ts
537
- * import type { IAsyncCollection } from "@daiso-tech/core";
537
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
538
538
  *
539
539
  * // Asume the inputed collection is empty.
540
540
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -551,7 +551,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
551
551
  * The `when` method will execute `callback` when `condition` evaluates to true.
552
552
  * @example
553
553
  * ```ts
554
- * import type { IAsyncCollection } from "@daiso-tech/core";
554
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
555
555
  *
556
556
  * // Asume the inputed collection is empty.
557
557
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -569,7 +569,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
569
569
  * The `whenEmpty` method will execute `callback` when the collection is empty.
570
570
  * @example
571
571
  * ```ts
572
- * import type { IAsyncCollection } from "@daiso-tech/core";
572
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
573
573
  *
574
574
  * // Asume the inputed collection is empty.
575
575
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -582,7 +582,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
582
582
  * ```
583
583
  * @example
584
584
  * ```ts
585
- * import type { IAsyncCollection } from "@daiso-tech/core";
585
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
586
586
  *
587
587
  * // Asume the inputed collection is empty.
588
588
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -599,7 +599,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
599
599
  * The `whenNot` method will execute `callback` when `condition` evaluates to false.
600
600
  * @example
601
601
  * ```ts
602
- * import type { IAsyncCollection } from "@daiso-tech/core";
602
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
603
603
  *
604
604
  * // Asume the inputed collection is empty.
605
605
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -617,7 +617,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
617
617
  * The `whenNotEmpty` method will execute `callback` when the collection is not empty.
618
618
  * @example
619
619
  * ```ts
620
- * import type { IAsyncCollection } from "@daiso-tech/core";
620
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
621
621
  *
622
622
  * // Asume the inputed collection is empty.
623
623
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -629,7 +629,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
629
629
  * ```
630
630
  * @example
631
631
  * ```ts
632
- * import type { IAsyncCollection } from "@daiso-tech/core";
632
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
633
633
  *
634
634
  * // Asume the inputed collection is empty.
635
635
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -647,7 +647,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
647
647
  * This method is useful when you want compose multiple smaller functions.
648
648
  * @example
649
649
  * ```ts
650
- * import type { IAsyncCollection } from "@daiso-tech/core";
650
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
651
651
  *
652
652
  * // Asume the inputed collection is empty.
653
653
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -674,7 +674,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
674
674
  * The `tap` method passes a copy of the original collection to `callback`, allowing you to do something with the items while not affecting the original collection.
675
675
  * @example
676
676
  * ```ts
677
- * import type { IAsyncCollection } from "@daiso-tech/core";
677
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
678
678
  *
679
679
  * // Asume the inputed collection is empty.
680
680
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -696,7 +696,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
696
696
  * If `chunkSize` is not divisible with total number of items then the last chunk will contain the remaining items.
697
697
  * @example
698
698
  * ```ts
699
- * import type { IAsyncCollection } from "@daiso-tech/core";
699
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
700
700
  *
701
701
  * // Asume the inputed collection is empty.
702
702
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -715,7 +715,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
715
715
  * The chunk variable passed to the `predicateFn` may be used to inspect the previous item.
716
716
  * @example
717
717
  * ```ts
718
- * import type { IAsyncCollection } from "@daiso-tech/core";
718
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
719
719
  *
720
720
  * // Asume the inputed collection is empty.
721
721
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -735,7 +735,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
735
735
  * The `split` method breaks a collection evenly into `chunkAmount` of chunks.
736
736
  * @example
737
737
  * ```ts
738
- * import type { IAsyncCollection } from "@daiso-tech/core";
738
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
739
739
  *
740
740
  * // Asume the inputed collection is empty.
741
741
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -749,7 +749,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
749
749
  * ```
750
750
  * @example
751
751
  * ```ts
752
- * import type { IAsyncCollection } from "@daiso-tech/core";
752
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
753
753
  *
754
754
  * // Asume the inputed collection is empty.
755
755
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -763,7 +763,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
763
763
  * ```
764
764
  * @example
765
765
  * ```ts
766
- * import type { IAsyncCollection } from "@daiso-tech/core";
766
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
767
767
  *
768
768
  * // Asume the inputed collection is empty.
769
769
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -780,7 +780,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
780
780
  * The `partition` method is used to separate items that pass `predicateFn` from those that do not.
781
781
  * @example
782
782
  * ```ts
783
- * import type { IAsyncCollection } from "@daiso-tech/core";
783
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
784
784
  *
785
785
  * // Asume the inputed collection is empty.
786
786
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -798,7 +798,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
798
798
  * The `sliding` method returns a new collection of chunks representing a "sliding window" view of the items in the collection.
799
799
  * @example
800
800
  * ```ts
801
- * import type { IAsyncCollection } from "@daiso-tech/core";
801
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
802
802
  *
803
803
  * // Asume the inputed collection is empty.
804
804
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -817,7 +817,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
817
817
  * By default the equality check occurs on the item.
818
818
  * @example
819
819
  * ```ts
820
- * import type { IAsyncCollection } from "@daiso-tech/core";
820
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
821
821
  *
822
822
  * // Asume the inputed collection is empty.
823
823
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -844,7 +844,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
844
844
  * ```
845
845
  * @example
846
846
  * ```ts
847
- * import type { IAsyncCollection } from "@daiso-tech/core";
847
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
848
848
  *
849
849
  * // Asume the inputed collection is empty.
850
850
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -872,7 +872,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
872
872
  * By default the equality check occurs on the item.
873
873
  * @example
874
874
  * ```ts
875
- * import type { IAsyncCollection } from "@daiso-tech/core";
875
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
876
876
  *
877
877
  * // Asume the inputed collection is empty.
878
878
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -890,7 +890,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
890
890
  * ```
891
891
  * @example
892
892
  * ```ts
893
- * import type { IAsyncCollection } from "@daiso-tech/core";
893
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
894
894
  *
895
895
  * // Asume the inputed collection is empty.
896
896
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -911,7 +911,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
911
911
  * By default the equality check occurs on the item.
912
912
  * @example
913
913
  * ```ts
914
- * import type { IAsyncCollection } from "@daiso-tech/core";
914
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
915
915
  *
916
916
  * type Phone = {
917
917
  * name: string;
@@ -930,7 +930,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
930
930
  * ```
931
931
  * @example
932
932
  * ```ts
933
- * import type { IAsyncCollection } from "@daiso-tech/core";
933
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
934
934
  *
935
935
  * // Asume the inputed collection is empty.
936
936
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -957,7 +957,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
957
957
  * By default the equality check occurs on the item.
958
958
  * @example
959
959
  * ```ts
960
- * import type { IAsyncCollection } from "@daiso-tech/core";
960
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
961
961
  *
962
962
  * // Asume the inputed collection is empty.
963
963
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -970,7 +970,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
970
970
  * ```
971
971
  * @example
972
972
  * ```ts
973
- * import type { IAsyncCollection } from "@daiso-tech/core";
973
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
974
974
  *
975
975
  * type Phone = {
976
976
  * name: string;
@@ -1008,7 +1008,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1008
1008
  * The `repeat` method will repeat the original collection `amount` times.
1009
1009
  * @example
1010
1010
  * ```ts
1011
- * import type { IAsyncCollection } from "@daiso-tech/core";
1011
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1012
1012
  *
1013
1013
  * // Asume the inputed collection is empty.
1014
1014
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1026,7 +1026,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1026
1026
  * The padding is applied from the start of this collection.
1027
1027
  * @example
1028
1028
  * ```ts
1029
- * import type { IAsyncCollection } from "@daiso-tech/core";
1029
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1030
1030
  *
1031
1031
  * // Asume the inputed collection is empty.
1032
1032
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1074,7 +1074,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1074
1074
  * The padding is applied from the end of this collection.
1075
1075
  * @example
1076
1076
  * ```ts
1077
- * import type { IAsyncCollection } from "@daiso-tech/core";
1077
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1078
1078
  *
1079
1079
  * // Asume the inputed collection is empty.
1080
1080
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1122,7 +1122,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1122
1122
  * where `start` and `end` (end not included) represent the index of items in the collection.
1123
1123
  * @example
1124
1124
  * ```ts
1125
- * import type { IAsyncCollection } from "@daiso-tech/core";
1125
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1126
1126
  *
1127
1127
  * // Asume the inputed collection is empty.
1128
1128
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1135,7 +1135,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1135
1135
  * ```
1136
1136
  * @example
1137
1137
  * ```ts
1138
- * import type { IAsyncCollection } from "@daiso-tech/core";
1138
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1139
1139
  *
1140
1140
  * // Asume the inputed collection is empty.
1141
1141
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1148,7 +1148,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1148
1148
  * ```
1149
1149
  * @example
1150
1150
  * ```ts
1151
- * import type { IAsyncCollection } from "@daiso-tech/core";
1151
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1152
1152
  *
1153
1153
  * // Asume the inputed collection is empty.
1154
1154
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1161,7 +1161,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1161
1161
  * ```
1162
1162
  * @example
1163
1163
  * ```ts
1164
- * import type { IAsyncCollection } from "@daiso-tech/core";
1164
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1165
1165
  *
1166
1166
  * // Asume the inputed collection is empty.
1167
1167
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1174,7 +1174,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1174
1174
  * ```
1175
1175
  * @example
1176
1176
  * ```ts
1177
- * import type { IAsyncCollection } from "@daiso-tech/core";
1177
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1178
1178
  *
1179
1179
  * // Asume the inputed collection is empty.
1180
1180
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1187,7 +1187,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1187
1187
  * ```
1188
1188
  * @example
1189
1189
  * ```ts
1190
- * import type { IAsyncCollection } from "@daiso-tech/core";
1190
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1191
1191
  *
1192
1192
  * // Asume the inputed collection is empty.
1193
1193
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1204,7 +1204,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1204
1204
  * The `prepend` method adds `iterable` to the beginning of the collection.
1205
1205
  * @example
1206
1206
  * ```ts
1207
- * import type { IAsyncCollection } from "@daiso-tech/core";
1207
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1208
1208
  *
1209
1209
  * // Asume the inputed collection is empty.
1210
1210
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1221,7 +1221,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1221
1221
  * The `append` method adds `iterable` to the end of the collection.
1222
1222
  * @example
1223
1223
  * ```ts
1224
- * import type { IAsyncCollection } from "@daiso-tech/core";
1224
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1225
1225
  *
1226
1226
  * // Asume the inputed collection is empty.
1227
1227
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1238,7 +1238,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1238
1238
  * The `insertBefore` method adds `iterable` before the first item that matches `predicateFn`.
1239
1239
  * @example
1240
1240
  * ```ts
1241
- * import type { IAsyncCollection } from "@daiso-tech/core";
1241
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1242
1242
  *
1243
1243
  * // Asume the inputed collection is empty.
1244
1244
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1255,7 +1255,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1255
1255
  * The `insertAfter` method adds `iterable` after the first item that matches `predicateFn`.
1256
1256
  * @example
1257
1257
  * ```ts
1258
- * import type { IAsyncCollection } from "@daiso-tech/core";
1258
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1259
1259
  *
1260
1260
  * // Asume the inputed collection is empty.
1261
1261
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1272,7 +1272,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1272
1272
  * The `crossJoin` method cross joins the collection's values among `iterables`, returning a Cartesian product with all possible permutations.
1273
1273
  * @example
1274
1274
  * ```ts
1275
- * import { ICollection } from "@daiso-tech/core";;
1275
+ * import { ICollection } from "@daiso-tech/core/collection/contracts";
1276
1276
  *
1277
1277
  * async function(): Promise<void> {
1278
1278
  * await collection
@@ -1289,7 +1289,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1289
1289
  * ```
1290
1290
  * @example
1291
1291
  * ```ts
1292
- * import { ICollection } from "@daiso-tech/core";;
1292
+ * import { ICollection } from "@daiso-tech/core/collection/contracts";
1293
1293
  *
1294
1294
  * async function(): Promise<void> {
1295
1295
  * await collection
@@ -1316,7 +1316,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1316
1316
  * The returned collection has size of the shortest collection.
1317
1317
  * @example
1318
1318
  * ```ts
1319
- * import type { IAsyncCollection } from "@daiso-tech/core";
1319
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1320
1320
  *
1321
1321
  * // Asume the inputed collection is empty.
1322
1322
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1329,7 +1329,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1329
1329
  * ```
1330
1330
  * @example
1331
1331
  * ```ts
1332
- * import type { IAsyncCollection } from "@daiso-tech/core";
1332
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1333
1333
  *
1334
1334
  * // Asume the inputed collection is empty.
1335
1335
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1342,7 +1342,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1342
1342
  * ```
1343
1343
  * @example
1344
1344
  * ```ts
1345
- * import type { IAsyncCollection } from "@daiso-tech/core";
1345
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1346
1346
  *
1347
1347
  * // Asume the inputed collection is empty.
1348
1348
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -1359,7 +1359,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1359
1359
  * The `sort` method sorts the collection. You can provide a `comparator` function.
1360
1360
  * @example
1361
1361
  * ```ts
1362
- * import type { IAsyncCollection } from "@daiso-tech/core";
1362
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1363
1363
  *
1364
1364
  * type Person = {
1365
1365
  * name: string;
@@ -1377,7 +1377,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1377
1377
  * ```
1378
1378
  * @example
1379
1379
  * ```ts
1380
- * import type { IAsyncCollection } from "@daiso-tech/core";
1380
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1381
1381
  *
1382
1382
  * // Asume the inputed collection is empty.
1383
1383
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1405,7 +1405,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1405
1405
  * The reversing of the collection will be applied in chunks that are the size of ` chunkSize `.
1406
1406
  * @example
1407
1407
  * ```ts
1408
- * import type { IAsyncCollection } from "@daiso-tech/core";
1408
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1409
1409
  *
1410
1410
  * // Asume the inputed collection is empty.
1411
1411
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1427,7 +1427,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1427
1427
  * By default it will get the first item. If the collection is empty or no items passes ` predicateFn ` than null i returned.
1428
1428
  * @example
1429
1429
  * ```ts
1430
- * import type { IAsyncCollection } from "@daiso-tech/core";
1430
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1431
1431
  *
1432
1432
  * // Asume the inputed collection is empty.
1433
1433
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1439,7 +1439,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1439
1439
  * ```
1440
1440
  * @example
1441
1441
  * ```ts
1442
- * import type { IAsyncCollection } from "@daiso-tech/core";
1442
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1443
1443
  *
1444
1444
  * // Asume the inputed collection is empty.
1445
1445
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1451,7 +1451,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1451
1451
  * ```
1452
1452
  * @example
1453
1453
  * ```ts
1454
- * import type { IAsyncCollection } from "@daiso-tech/core";
1454
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1455
1455
  *
1456
1456
  * // Asume the inputed collection is empty.
1457
1457
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1468,7 +1468,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1468
1468
  * By default it will get the first item. If the collection is empty or no items passes ` predicateFn ` than ` defaultValue `.
1469
1469
  * @example
1470
1470
  * ```ts
1471
- * import type { IAsyncCollection } from "@daiso-tech/core";
1471
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1472
1472
  *
1473
1473
  * // Asume the inputed collection is empty.
1474
1474
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1480,7 +1480,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1480
1480
  * ```
1481
1481
  * @example
1482
1482
  * ```ts
1483
- * import type { IAsyncCollection } from "@daiso-tech/core";
1483
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1484
1484
  *
1485
1485
  * // Asume the inputed collection is empty.
1486
1486
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1493,7 +1493,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1493
1493
  * You can pass a function as default value.
1494
1494
  * @example
1495
1495
  * ```ts
1496
- * import type { IAsyncCollection } from "@daiso-tech/core";
1496
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1497
1497
  *
1498
1498
  * // Asume the inputed collection is empty.
1499
1499
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1506,7 +1506,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1506
1506
  * You can pass an async function as default value.
1507
1507
  * @example
1508
1508
  * ```ts
1509
- * import type { IAsyncCollection } from "@daiso-tech/core";
1509
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1510
1510
  *
1511
1511
  * // Asume the inputed collection is empty.
1512
1512
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1519,7 +1519,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1519
1519
  * You can pass a {@link LazyPromise| `LazyPromise`} as default value.
1520
1520
  * @example
1521
1521
  * ```ts
1522
- * import type { IAsyncCollection, ICache } from "@daiso-tech/core";
1522
+ * import type { IAsyncCollection, ICache } from "@daiso-tech/core/collection/contracts";
1523
1523
  *
1524
1524
  * // Asume the inputed collection is empty.
1525
1525
  * async function main(collection: IAsyncCollection<number>, cache: ICache<number>): Promise<void> {
@@ -1537,7 +1537,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1537
1537
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1538
1538
  * @example
1539
1539
  * ```ts
1540
- * import type { IAsyncCollection } from "@daiso-tech/core";
1540
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1541
1541
  *
1542
1542
  * // Asume the inputed collection is empty.
1543
1543
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1549,7 +1549,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1549
1549
  * ```
1550
1550
  * @example
1551
1551
  * ```ts
1552
- * import type { IAsyncCollection } from "@daiso-tech/core";
1552
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1553
1553
  *
1554
1554
  * // Asume the inputed collection is empty.
1555
1555
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1561,7 +1561,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1561
1561
  * ```
1562
1562
  * @example
1563
1563
  * ```ts
1564
- * import type { IAsyncCollection } from "@daiso-tech/core";
1564
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1565
1565
  *
1566
1566
  * // Asume the inputed collection is empty.
1567
1567
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1578,7 +1578,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1578
1578
  * By default it will get the last item. If the collection is empty or no items passes ` predicateFn ` than null i returned.
1579
1579
  * @example
1580
1580
  * ```ts
1581
- * import type { IAsyncCollection } from "@daiso-tech/core";
1581
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1582
1582
  *
1583
1583
  * // Asume the inputed collection is empty.
1584
1584
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1590,7 +1590,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1590
1590
  * ```
1591
1591
  * @example
1592
1592
  * ```ts
1593
- * import type { IAsyncCollection } from "@daiso-tech/core";
1593
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1594
1594
  *
1595
1595
  * // Asume the inputed collection is empty.
1596
1596
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1602,7 +1602,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1602
1602
  * ```
1603
1603
  * @example
1604
1604
  * ```ts
1605
- * import type { IAsyncCollection } from "@daiso-tech/core";
1605
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1606
1606
  *
1607
1607
  * // Asume the inputed collection is empty.
1608
1608
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1619,7 +1619,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1619
1619
  * By default it will get the last item. If the collection is empty or no items passes ` predicateFn ` than ` defaultValue `.
1620
1620
  * @example
1621
1621
  * ```ts
1622
- * import type { IAsyncCollection } from "@daiso-tech/core";
1622
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1623
1623
  *
1624
1624
  * // Asume the inputed collection is empty.
1625
1625
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1631,7 +1631,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1631
1631
  * ```
1632
1632
  * @example
1633
1633
  * ```ts
1634
- * import type { IAsyncCollection } from "@daiso-tech/core";
1634
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1635
1635
  *
1636
1636
  * // Asume the inputed collection is empty.
1637
1637
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1644,7 +1644,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1644
1644
  * You can pass a function as default value.
1645
1645
  * @example
1646
1646
  * ```ts
1647
- * import type { IAsyncCollection } from "@daiso-tech/core";
1647
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1648
1648
  *
1649
1649
  * // Asume the inputed collection is empty.
1650
1650
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1657,7 +1657,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1657
1657
  * You can pass an async function as default value.
1658
1658
  * @example
1659
1659
  * ```ts
1660
- * import type { IAsyncCollection } from "@daiso-tech/core";
1660
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1661
1661
  *
1662
1662
  * // Asume the inputed collection is empty.
1663
1663
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1670,7 +1670,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1670
1670
  * You can pass a {@link LazyPromise| `LazyPromise`} as default value.
1671
1671
  * @example
1672
1672
  * ```ts
1673
- * import type { IAsyncCollection, ICache } from "@daiso-tech/core";
1673
+ * import type { IAsyncCollection, ICache } from "@daiso-tech/core/collection/contracts";
1674
1674
  *
1675
1675
  * // Asume the inputed collection is empty.
1676
1676
  * async function main(collection: IAsyncCollection<number>, cache: ICache<number>): Promise<void> {
@@ -1688,7 +1688,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1688
1688
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1689
1689
  * @example
1690
1690
  * ```ts
1691
- * import type { IAsyncCollection } from "@daiso-tech/core";
1691
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1692
1692
  *
1693
1693
  * // Asume the inputed collection is empty.
1694
1694
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1700,7 +1700,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1700
1700
  * ```
1701
1701
  * @example
1702
1702
  * ```ts
1703
- * import type { IAsyncCollection } from "@daiso-tech/core";
1703
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1704
1704
  *
1705
1705
  * // Asume the inputed collection is empty.
1706
1706
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1712,7 +1712,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1712
1712
  * ```
1713
1713
  * @example
1714
1714
  * ```ts
1715
- * import type { IAsyncCollection } from "@daiso-tech/core";
1715
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1716
1716
  *
1717
1717
  * // Asume the inputed collection is empty.
1718
1718
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1729,7 +1729,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1729
1729
  * If the `predicateFn` does not match or matches the first item then null is returned.
1730
1730
  * @example
1731
1731
  * ```ts
1732
- * import type { IAsyncCollection } from "@daiso-tech/core";
1732
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1733
1733
  *
1734
1734
  * // Asume the inputed collection is empty.
1735
1735
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1741,7 +1741,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1741
1741
  * ```
1742
1742
  * @example
1743
1743
  * ```ts
1744
- * import type { IAsyncCollection } from "@daiso-tech/core";
1744
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1745
1745
  *
1746
1746
  * // Asume the inputed collection is empty.
1747
1747
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1758,7 +1758,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1758
1758
  * If the collection is empty or the `predicateFn` does not match or matches the first item then `defaultValue` is returned.
1759
1759
  * @example
1760
1760
  * ```ts
1761
- * import type { IAsyncCollection } from "@daiso-tech/core";
1761
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1762
1762
  *
1763
1763
  * // Asume the inputed collection is empty.
1764
1764
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1771,7 +1771,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1771
1771
  * You can pass a function as default value.
1772
1772
  * @example
1773
1773
  * ```ts
1774
- * import type { IAsyncCollection } from "@daiso-tech/core";
1774
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1775
1775
  *
1776
1776
  * // Asume the inputed collection is empty.
1777
1777
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1784,7 +1784,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1784
1784
  * You can pass an async function as default value.
1785
1785
  * @example
1786
1786
  * ```ts
1787
- * import type { IAsyncCollection } from "@daiso-tech/core";
1787
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1788
1788
  *
1789
1789
  * // Asume the inputed collection is empty.
1790
1790
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1797,7 +1797,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1797
1797
  * You can pass a {@link LazyPromise| `LazyPromise`} as default value.
1798
1798
  * @example
1799
1799
  * ```ts
1800
- * import type { IAsyncCollection, ICache } from "@daiso-tech/core";
1800
+ * import type { IAsyncCollection, ICache } from "@daiso-tech/core/collection/contracts";
1801
1801
  *
1802
1802
  * // Asume the inputed collection is empty.
1803
1803
  * async function main(collection: IAsyncCollection<number>, cache: ICache<number>): Promise<void> {
@@ -1815,7 +1815,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1815
1815
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1816
1816
  * @example
1817
1817
  * ```ts
1818
- * import type { IAsyncCollection } from "@daiso-tech/core";
1818
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1819
1819
  *
1820
1820
  * // Asume the inputed collection is empty.
1821
1821
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1827,7 +1827,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1827
1827
  * ```
1828
1828
  * @example
1829
1829
  * ```ts
1830
- * import type { IAsyncCollection } from "@daiso-tech/core";
1830
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1831
1831
  *
1832
1832
  * // Asume the inputed collection is empty.
1833
1833
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1844,7 +1844,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1844
1844
  * If the collection is empty or the `predicateFn` does not match or matches the last item then null is returned.
1845
1845
  * @example
1846
1846
  * ```ts
1847
- * import type { IAsyncCollection } from "@daiso-tech/core";
1847
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1848
1848
  *
1849
1849
  * // Asume the inputed collection is empty.
1850
1850
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1856,7 +1856,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1856
1856
  * ```
1857
1857
  * @example
1858
1858
  * ```ts
1859
- * import type { IAsyncCollection } from "@daiso-tech/core";
1859
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1860
1860
  *
1861
1861
  * // Asume the inputed collection is empty.
1862
1862
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1873,7 +1873,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1873
1873
  * If the collection is empty or the `predicateFn` does not match or matches the last item then `defaultValue` is returned.
1874
1874
  * @example
1875
1875
  * ```ts
1876
- * import type { IAsyncCollection } from "@daiso-tech/core";
1876
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1877
1877
  *
1878
1878
  * // Asume the inputed collection is empty.
1879
1879
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1886,7 +1886,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1886
1886
  * You can pass a function as default value.
1887
1887
  * @example
1888
1888
  * ```ts
1889
- * import type { IAsyncCollection } from "@daiso-tech/core";
1889
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1890
1890
  *
1891
1891
  * // Asume the inputed collection is empty.
1892
1892
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1899,7 +1899,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1899
1899
  * You can pass an async function as default value.
1900
1900
  * @example
1901
1901
  * ```ts
1902
- * import type { IAsyncCollection } from "@daiso-tech/core";
1902
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1903
1903
  *
1904
1904
  * // Asume the inputed collection is empty.
1905
1905
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1912,7 +1912,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1912
1912
  * You can pass a {@link LazyPromise| `LazyPromise`} as default value.
1913
1913
  * @example
1914
1914
  * ```ts
1915
- * import type { IAsyncCollection, ICache } from "@daiso-tech/core";
1915
+ * import type { IAsyncCollection, ICache } from "@daiso-tech/core/collection/contracts";
1916
1916
  *
1917
1917
  * // Asume the inputed collection is empty.
1918
1918
  * async function main(collection: IAsyncCollection<number>, cache: ICache<number>): Promise<void> {
@@ -1930,7 +1930,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1930
1930
  * @throws {ItemNotFoundCollectionError} {@link ItemNotFoundCollectionError}
1931
1931
  * @example
1932
1932
  * ```ts
1933
- * import type { IAsyncCollection } from "@daiso-tech/core";
1933
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1934
1934
  *
1935
1935
  * // Asume the inputed collection is empty.
1936
1936
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1942,7 +1942,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1942
1942
  * ```
1943
1943
  * @example
1944
1944
  * ```ts
1945
- * import type { IAsyncCollection } from "@daiso-tech/core";
1945
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1946
1946
  *
1947
1947
  * // Asume the inputed collection is empty.
1948
1948
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1961,7 +1961,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1961
1961
  * @throws {MultipleItemsFoundCollectionError} {@link MultipleItemsFoundCollectionError}
1962
1962
  * @example
1963
1963
  * ```ts
1964
- * import type { IAsyncCollection } from "@daiso-tech/core";
1964
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1965
1965
  *
1966
1966
  * // Asume the inputed collection is empty.
1967
1967
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1973,7 +1973,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1973
1973
  * ```
1974
1974
  * @example
1975
1975
  * ```ts
1976
- * import type { IAsyncCollection } from "@daiso-tech/core";
1976
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1977
1977
  *
1978
1978
  * // Asume the inputed collection is empty.
1979
1979
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -1985,7 +1985,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
1985
1985
  * ```
1986
1986
  * @example
1987
1987
  * ```ts
1988
- * import type { IAsyncCollection } from "@daiso-tech/core";
1988
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
1989
1989
  *
1990
1990
  * // Asume the inputed collection is empty.
1991
1991
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -2001,7 +2001,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
2001
2001
  * The `nth` method creates a new collection consisting of every n-th item.
2002
2002
  * @example
2003
2003
  * ```ts
2004
- * import type { IAsyncCollection } from "@daiso-tech/core";
2004
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
2005
2005
  *
2006
2006
  * // Asume the inputed collection is empty.
2007
2007
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -2017,7 +2017,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
2017
2017
  * The `count` method returns the total number of items in the collection that passes `predicateFn`.
2018
2018
  * @example
2019
2019
  * ```ts
2020
- * import type { IAsyncCollection } from "@daiso-tech/core";
2020
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
2021
2021
  *
2022
2022
  * // Asume the inputed collection is empty.
2023
2023
  * async function main(collection: IAsyncCollection<number>): Promise<void> {
@@ -2045,7 +2045,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
2045
2045
  * The `searchFirst` return the index of the first item that matches `predicateFn`.
2046
2046
  * @example
2047
2047
  * ```ts
2048
- * import type { IAsyncCollection } from "@daiso-tech/core";
2048
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
2049
2049
  *
2050
2050
  * // Asume the inputed collection is empty.
2051
2051
  * async function main(collection: IAsyncCollection<string>): Promise<void> {
@@ -2061,7 +2061,7 @@ export type IAsyncCollection<TInput = unknown> = AsyncIterable<TInput> & {
2061
2061
  * The `searchLast` return the index of the last item that matches `predicateFn`.
2062
2062
  * @example
2063
2063
  * ```ts
2064
- * import type { IAsyncCollection } from "@daiso-tech/core";
2064
+ * import type { IAsyncCollection } from "@daiso-tech/core/collection/contracts";
2065
2065
  *
2066
2066
  * // Asume the inputed collection is empty.
2067
2067
  * async function main(collection: IAsyncCollection<string>): Promise<void> {