inqjs 1.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -12
- package/dist/Query.d.ts +45 -0
- package/dist/Query.d.ts.map +1 -0
- package/dist/Query.js +44 -3
- package/dist/Query.js.map +1 -0
- package/dist/async/AsyncQuery.d.ts +41 -0
- package/dist/async/AsyncQuery.d.ts.map +1 -0
- package/dist/async/AsyncQuery.js +181 -0
- package/dist/async/AsyncQuery.js.map +1 -0
- package/dist/async/operators/allAsync.d.ts +2 -0
- package/dist/async/operators/allAsync.d.ts.map +1 -0
- package/dist/async/operators/allAsync.js +12 -0
- package/dist/async/operators/allAsync.js.map +1 -0
- package/dist/async/operators/anyAsync.d.ts +2 -0
- package/dist/async/operators/anyAsync.d.ts.map +1 -0
- package/dist/async/operators/anyAsync.js +18 -0
- package/dist/async/operators/anyAsync.js.map +1 -0
- package/dist/async/operators/appendAsync.d.ts +2 -0
- package/dist/async/operators/appendAsync.d.ts.map +1 -0
- package/dist/async/operators/appendAsync.js +8 -0
- package/dist/async/operators/appendAsync.js.map +1 -0
- package/dist/async/operators/concatAsync.d.ts +2 -0
- package/dist/async/operators/concatAsync.d.ts.map +1 -0
- package/dist/async/operators/concatAsync.js +8 -0
- package/dist/async/operators/concatAsync.js.map +1 -0
- package/dist/async/operators/countAsync.d.ts +2 -0
- package/dist/async/operators/countAsync.d.ts.map +1 -0
- package/dist/async/operators/countAsync.js +13 -0
- package/dist/async/operators/countAsync.js.map +1 -0
- package/dist/async/operators/distinctAsync.d.ts +2 -0
- package/dist/async/operators/distinctAsync.d.ts.map +1 -0
- package/dist/async/operators/distinctAsync.js +14 -0
- package/dist/async/operators/distinctAsync.js.map +1 -0
- package/dist/async/operators/exceptAsync.d.ts +2 -0
- package/dist/async/operators/exceptAsync.d.ts.map +1 -0
- package/dist/async/operators/exceptAsync.js +18 -0
- package/dist/async/operators/exceptAsync.js.map +1 -0
- package/dist/async/operators/firstAsync.d.ts +2 -0
- package/dist/async/operators/firstAsync.d.ts.map +1 -0
- package/dist/async/operators/firstAsync.js +21 -0
- package/dist/async/operators/firstAsync.js.map +1 -0
- package/dist/async/operators/groupByAsync.d.ts +3 -0
- package/dist/async/operators/groupByAsync.d.ts.map +1 -0
- package/dist/async/operators/groupByAsync.js +22 -0
- package/dist/async/operators/groupByAsync.js.map +1 -0
- package/dist/async/operators/intersectAsync.d.ts +2 -0
- package/dist/async/operators/intersectAsync.d.ts.map +1 -0
- package/dist/async/operators/intersectAsync.js +18 -0
- package/dist/async/operators/intersectAsync.js.map +1 -0
- package/dist/async/operators/joinAsync.d.ts +2 -0
- package/dist/async/operators/joinAsync.d.ts.map +1 -0
- package/dist/async/operators/joinAsync.js +25 -0
- package/dist/async/operators/joinAsync.js.map +1 -0
- package/dist/async/operators/maxAsync.d.ts +2 -0
- package/dist/async/operators/maxAsync.d.ts.map +1 -0
- package/dist/async/operators/maxAsync.js +17 -0
- package/dist/async/operators/maxAsync.js.map +1 -0
- package/dist/async/operators/minAsync.d.ts +2 -0
- package/dist/async/operators/minAsync.d.ts.map +1 -0
- package/dist/async/operators/minAsync.js +17 -0
- package/dist/async/operators/minAsync.js.map +1 -0
- package/dist/async/operators/orderByAsync.d.ts +2 -0
- package/dist/async/operators/orderByAsync.d.ts.map +1 -0
- package/dist/async/operators/orderByAsync.js +19 -0
- package/dist/async/operators/orderByAsync.js.map +1 -0
- package/dist/async/operators/orderByManyAsync.d.ts +6 -0
- package/dist/async/operators/orderByManyAsync.d.ts.map +1 -0
- package/dist/async/operators/orderByManyAsync.js +25 -0
- package/dist/async/operators/orderByManyAsync.js.map +1 -0
- package/dist/async/operators/prependAsync.d.ts +2 -0
- package/dist/async/operators/prependAsync.d.ts.map +1 -0
- package/dist/async/operators/prependAsync.js +8 -0
- package/dist/async/operators/prependAsync.js.map +1 -0
- package/dist/async/operators/selectAsync.d.ts +2 -0
- package/dist/async/operators/selectAsync.d.ts.map +1 -0
- package/dist/async/operators/selectAsync.js +10 -0
- package/dist/async/operators/selectAsync.js.map +1 -0
- package/dist/async/operators/selectManyAsync.d.ts +2 -0
- package/dist/async/operators/selectManyAsync.d.ts.map +1 -0
- package/dist/async/operators/selectManyAsync.js +13 -0
- package/dist/async/operators/selectManyAsync.js.map +1 -0
- package/dist/async/operators/skipAsync.d.ts +2 -0
- package/dist/async/operators/skipAsync.d.ts.map +1 -0
- package/dist/async/operators/skipAsync.js +14 -0
- package/dist/async/operators/skipAsync.js.map +1 -0
- package/dist/async/operators/sumAsync.d.ts +2 -0
- package/dist/async/operators/sumAsync.d.ts.map +1 -0
- package/dist/async/operators/sumAsync.js +15 -0
- package/dist/async/operators/sumAsync.js.map +1 -0
- package/dist/async/operators/takeAsync.d.ts +2 -0
- package/dist/async/operators/takeAsync.d.ts.map +1 -0
- package/dist/async/operators/takeAsync.js +13 -0
- package/dist/async/operators/takeAsync.js.map +1 -0
- package/dist/async/operators/toArrayAsync.d.ts +2 -0
- package/dist/async/operators/toArrayAsync.d.ts.map +1 -0
- package/dist/async/operators/toArrayAsync.js +11 -0
- package/dist/async/operators/toArrayAsync.js.map +1 -0
- package/dist/async/operators/unionAsync.d.ts +2 -0
- package/dist/async/operators/unionAsync.d.ts.map +1 -0
- package/dist/async/operators/unionAsync.js +21 -0
- package/dist/async/operators/unionAsync.js.map +1 -0
- package/dist/async/operators/whereAsync.d.ts +2 -0
- package/dist/async/operators/whereAsync.d.ts.map +1 -0
- package/dist/async/operators/whereAsync.js +12 -0
- package/dist/async/operators/whereAsync.js.map +1 -0
- package/dist/json/fromJson.d.ts +20 -0
- package/dist/json/fromJson.d.ts.map +1 -0
- package/dist/json/fromJson.js +49 -0
- package/dist/json/fromJson.js.map +1 -0
- package/dist/operators/all.d.ts +2 -0
- package/dist/operators/all.d.ts.map +1 -0
- package/dist/operators/all.js +12 -0
- package/dist/operators/all.js.map +1 -0
- package/dist/operators/any.d.ts +2 -0
- package/dist/operators/any.d.ts.map +1 -0
- package/dist/operators/any.js +17 -0
- package/dist/operators/any.js.map +1 -0
- package/dist/operators/append.d.ts +2 -0
- package/dist/operators/append.d.ts.map +1 -0
- package/dist/operators/append.js +8 -0
- package/dist/operators/append.js.map +1 -0
- package/dist/operators/concat.d.ts +2 -0
- package/dist/operators/concat.d.ts.map +1 -0
- package/dist/operators/concat.js +8 -0
- package/dist/operators/concat.js.map +1 -0
- package/dist/operators/count.d.ts +2 -0
- package/dist/operators/count.d.ts.map +1 -0
- package/dist/operators/count.js +13 -0
- package/dist/operators/count.js.map +1 -0
- package/dist/operators/distinct.d.ts +2 -0
- package/dist/operators/distinct.d.ts.map +1 -0
- package/dist/operators/distinct.js +14 -0
- package/dist/operators/distinct.js.map +1 -0
- package/dist/operators/except.d.ts +2 -0
- package/dist/operators/except.d.ts.map +1 -0
- package/dist/operators/except.js +18 -0
- package/dist/operators/except.js.map +1 -0
- package/dist/operators/first.d.ts +2 -0
- package/dist/operators/first.d.ts.map +1 -0
- package/dist/operators/first.js +21 -0
- package/dist/operators/first.js.map +1 -0
- package/dist/operators/groupBy.d.ts +8 -0
- package/dist/operators/groupBy.d.ts.map +1 -0
- package/dist/operators/groupBy.js +31 -0
- package/dist/operators/groupBy.js.map +1 -0
- package/dist/operators/intersect.d.ts +2 -0
- package/dist/operators/intersect.d.ts.map +1 -0
- package/dist/operators/intersect.js +18 -0
- package/dist/operators/intersect.js.map +1 -0
- package/dist/operators/join.d.ts +2 -0
- package/dist/operators/join.d.ts.map +1 -0
- package/dist/operators/join.js +25 -0
- package/dist/operators/join.js.map +1 -0
- package/dist/operators/max.d.ts +2 -0
- package/dist/operators/max.d.ts.map +1 -0
- package/dist/operators/max.js +17 -0
- package/dist/operators/max.js.map +1 -0
- package/dist/operators/min.d.ts +2 -0
- package/dist/operators/min.d.ts.map +1 -0
- package/dist/operators/min.js +17 -0
- package/dist/operators/min.js.map +1 -0
- package/dist/operators/orderBy.d.ts +2 -0
- package/dist/operators/orderBy.d.ts.map +1 -0
- package/dist/operators/orderBy.js +15 -0
- package/dist/operators/orderBy.js.map +1 -0
- package/dist/operators/orderByMany.d.ts +6 -0
- package/dist/operators/orderByMany.d.ts.map +1 -0
- package/dist/operators/orderByMany.js +18 -0
- package/dist/operators/orderByMany.js.map +1 -0
- package/dist/operators/prepend.d.ts +2 -0
- package/dist/operators/prepend.d.ts.map +1 -0
- package/dist/operators/prepend.js +8 -0
- package/dist/operators/prepend.js.map +1 -0
- package/dist/operators/select.d.ts +2 -0
- package/dist/operators/select.d.ts.map +1 -0
- package/dist/operators/select.js +10 -0
- package/dist/operators/select.js.map +1 -0
- package/dist/operators/selectMany.d.ts +2 -0
- package/dist/operators/selectMany.d.ts.map +1 -0
- package/dist/operators/selectMany.js +12 -0
- package/dist/operators/selectMany.js.map +1 -0
- package/dist/operators/skip.d.ts +2 -0
- package/dist/operators/skip.d.ts.map +1 -0
- package/dist/operators/skip.js +14 -0
- package/dist/operators/skip.js.map +1 -0
- package/dist/operators/sum.d.ts +2 -0
- package/dist/operators/sum.d.ts.map +1 -0
- package/dist/operators/sum.js +15 -0
- package/dist/operators/sum.js.map +1 -0
- package/dist/operators/take.d.ts +2 -0
- package/dist/operators/take.d.ts.map +1 -0
- package/dist/operators/take.js +13 -0
- package/dist/operators/take.js.map +1 -0
- package/dist/operators/toArray.d.ts +2 -0
- package/dist/operators/toArray.d.ts.map +1 -0
- package/dist/operators/toArray.js +7 -0
- package/dist/operators/toArray.js.map +1 -0
- package/dist/operators/union.d.ts +2 -0
- package/dist/operators/union.d.ts.map +1 -0
- package/dist/operators/union.js +21 -0
- package/dist/operators/union.js.map +1 -0
- package/dist/operators/where.d.ts +2 -0
- package/dist/operators/where.d.ts.map +1 -0
- package/dist/operators/where.js +12 -0
- package/dist/operators/where.js.map +1 -0
- package/dist/utils/comparers.d.ts +3 -0
- package/dist/utils/comparers.d.ts.map +1 -0
- package/dist/utils/comparers.js +21 -0
- package/dist/utils/comparers.js.map +1 -0
- package/dist/utils/guards.d.ts +10 -0
- package/dist/utils/guards.d.ts.map +1 -0
- package/dist/utils/guards.js +49 -0
- package/dist/utils/guards.js.map +1 -0
- package/package.json +24 -4
package/README.md
CHANGED
|
@@ -12,14 +12,15 @@ A lightweight, dependency-free LINQ engine for TypeScript and JavaScript with co
|
|
|
12
12
|
|
|
13
13
|
✨ **Comprehensive LINQ Operations**
|
|
14
14
|
- Filtering: `where`, `distinct`
|
|
15
|
-
- Projection: `select`
|
|
16
|
-
- Ordering: `orderBy`
|
|
15
|
+
- Projection: `select`, `selectMany`
|
|
16
|
+
- Ordering: `orderBy`, `thenBy`
|
|
17
17
|
- Partitioning: `skip`, `take`
|
|
18
18
|
- Aggregation: `sum`, `min`, `max`, `count`
|
|
19
19
|
- Quantifiers: `any`, `all`
|
|
20
20
|
- Element: `first`
|
|
21
21
|
- Set Operations: `union`, `intersect`, `except`
|
|
22
22
|
- Sequence: `append`, `prepend`, `concat`
|
|
23
|
+
- Grouping & Joining: `groupBy`, `join`
|
|
23
24
|
|
|
24
25
|
🚀 **Lazy Evaluation**
|
|
25
26
|
- Operators are lazily evaluated using generators
|
|
@@ -27,7 +28,7 @@ A lightweight, dependency-free LINQ engine for TypeScript and JavaScript with co
|
|
|
27
28
|
|
|
28
29
|
⚡ **Async Support**
|
|
29
30
|
- Full async/await support with `AsyncQuery`
|
|
30
|
-
- Works with `AsyncIterable<T>`
|
|
31
|
+
- Works with `Iterable<T>` and `AsyncIterable<T>`
|
|
31
32
|
|
|
32
33
|
📦 **JSON Querying**
|
|
33
34
|
- Query JSON data directly with `fromJson`, `fromJsonArray`, `fromJsonObject`
|
|
@@ -46,6 +47,20 @@ A lightweight, dependency-free LINQ engine for TypeScript and JavaScript with co
|
|
|
46
47
|
npm install inqjs
|
|
47
48
|
```
|
|
48
49
|
|
|
50
|
+
## Imports
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
import { from, fromAsync, fromJsonArray } from 'inqjs';
|
|
54
|
+
import { fromAsync as fromAsyncOnly } from 'inqjs/async';
|
|
55
|
+
import { fromJson } from 'inqjs/json';
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
CommonJS is supported too:
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
const { from, fromAsync } = require('inqjs');
|
|
62
|
+
```
|
|
63
|
+
|
|
49
64
|
## Quick Start
|
|
50
65
|
|
|
51
66
|
### Basic Query (Sync)
|
|
@@ -122,7 +137,7 @@ from(list1).except(list2).toArray();
|
|
|
122
137
|
### Query Creation
|
|
123
138
|
|
|
124
139
|
- `from(iterable)` - Create query from any iterable
|
|
125
|
-
- `fromAsync(
|
|
140
|
+
- `fromAsync(iterableOrAsyncIterable)` - Create async query
|
|
126
141
|
- `fromJson(jsonString)` - Parse and query JSON
|
|
127
142
|
- `fromJsonArray(jsonString)` - Parse JSON array
|
|
128
143
|
- `fromJsonObject(jsonString)` - Parse JSON object
|
|
@@ -131,14 +146,21 @@ from(list1).except(list2).toArray();
|
|
|
131
146
|
|
|
132
147
|
- `where(predicate)` - Filter elements
|
|
133
148
|
- `select(selector)` - Transform elements
|
|
149
|
+
- `selectMany(collectionSelector, resultSelector?)` - Project and flatten nested sequences
|
|
134
150
|
- `distinct(keySelector?)` - Remove duplicates
|
|
135
151
|
|
|
136
152
|
### Ordering & Partitioning
|
|
137
153
|
|
|
138
154
|
- `orderBy(keySelector?, comparer?)` - Sort elements
|
|
155
|
+
- `thenBy(keySelector?, comparer?)` - Add a secondary sort after `orderBy`
|
|
139
156
|
- `skip(count)` - Skip first N elements
|
|
140
157
|
- `take(count)` - Take first N elements
|
|
141
158
|
|
|
159
|
+
### Grouping & Joining
|
|
160
|
+
|
|
161
|
+
- `groupBy(keySelector, elementSelector?)` - Group elements by key
|
|
162
|
+
- `join(inner, outerKeySelector, innerKeySelector, resultSelector)` - Inner join two sequences by matching keys
|
|
163
|
+
|
|
142
164
|
### Aggregation
|
|
143
165
|
|
|
144
166
|
- `sum(selector?)` - Sum numeric values
|
|
@@ -175,16 +197,14 @@ from(list1).except(list2).toArray();
|
|
|
175
197
|
## Testing
|
|
176
198
|
|
|
177
199
|
```bash
|
|
178
|
-
#
|
|
200
|
+
# Build, run TypeScript tests, and run JavaScript smoke tests
|
|
179
201
|
npm test
|
|
180
202
|
|
|
181
|
-
# Run JavaScript tests
|
|
182
|
-
|
|
203
|
+
# Run just the JavaScript smoke tests
|
|
204
|
+
npm run test:js
|
|
183
205
|
```
|
|
184
206
|
|
|
185
|
-
**Test Coverage**:
|
|
186
|
-
- 70 TypeScript tests (Vitest)
|
|
187
|
-
- 23 Pure JavaScript tests
|
|
207
|
+
**Test Coverage**: TypeScript unit/package smoke tests plus pure JavaScript consumer smoke tests.
|
|
188
208
|
|
|
189
209
|
## Examples
|
|
190
210
|
|
|
@@ -202,8 +222,10 @@ See the `examples/` directory for more usage examples:
|
|
|
202
222
|
## Limitations
|
|
203
223
|
|
|
204
224
|
- `orderBy` materializes the sequence (requires full iteration to sort)
|
|
205
|
-
-
|
|
206
|
-
-
|
|
225
|
+
- Set operations (`union`, `intersect`, `except`) store keys in memory; `intersect` and `except` read the second sequence before yielding results
|
|
226
|
+
- Equality uses JavaScript `Set` semantics on each value or selected key; object values compare by reference unless you provide a `keySelector`
|
|
227
|
+
- Generator-backed queries keep the source's natural behavior, so a one-shot generator can only be consumed once
|
|
228
|
+
- `groupBy` and `join` materialize lookup data before yielding results
|
|
207
229
|
|
|
208
230
|
## Development
|
|
209
231
|
|
package/dist/Query.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Grouping } from './operators/groupBy';
|
|
2
|
+
import { SortCriterion } from './operators/orderByMany';
|
|
3
|
+
import { AsyncQuery } from './async/AsyncQuery';
|
|
4
|
+
export declare class Query<T> implements Iterable<T> {
|
|
5
|
+
private readonly _source;
|
|
6
|
+
constructor(source: Iterable<T>);
|
|
7
|
+
[Symbol.iterator](): Iterator<T>;
|
|
8
|
+
static from<T>(source: Iterable<T>): Query<T>;
|
|
9
|
+
where(predicate: (item: T, index?: number) => boolean): Query<T>;
|
|
10
|
+
select<U>(selector: (item: T, index?: number) => U): Query<U>;
|
|
11
|
+
orderBy<TKey = T>(keySelector?: (item: T) => TKey, comparer?: (a: TKey, b: TKey) => number): OrderedQuery<T>;
|
|
12
|
+
groupBy<TKey, TElement = T>(keySelector: (item: T) => TKey, elementSelector?: (item: T) => TElement): Query<Grouping<TKey, TElement>>;
|
|
13
|
+
join<TInner, TKey, TResult>(inner: Iterable<TInner>, outerKeySelector: (item: T) => TKey, innerKeySelector: (item: TInner) => TKey, resultSelector: (outer: T, inner: TInner) => TResult): Query<TResult>;
|
|
14
|
+
selectMany<U>(collectionSelector: (item: T, index?: number) => Iterable<U>): Query<U>;
|
|
15
|
+
selectMany<U, R>(collectionSelector: (item: T, index?: number) => Iterable<U>, resultSelector: (item: T, collectionItem: U) => R): Query<R>;
|
|
16
|
+
skip(count: number): Query<T>;
|
|
17
|
+
distinct<TKey = T>(keySelector?: (item: T) => TKey): Query<T>;
|
|
18
|
+
any(predicate?: (item: T) => boolean): boolean;
|
|
19
|
+
all(predicate: (item: T) => boolean): boolean;
|
|
20
|
+
sum(selector?: (item: T) => number): number;
|
|
21
|
+
min(selector?: (item: T) => number): number | undefined;
|
|
22
|
+
max(selector?: (item: T) => number): number | undefined;
|
|
23
|
+
first(predicate?: (item: T) => boolean): T;
|
|
24
|
+
toArray(): T[];
|
|
25
|
+
take(count: number): Query<T>;
|
|
26
|
+
count(predicate?: (item: T) => boolean): number;
|
|
27
|
+
append(element: T): Query<T>;
|
|
28
|
+
prepend(element: T): Query<T>;
|
|
29
|
+
concat(other: Iterable<T>): Query<T>;
|
|
30
|
+
union<TKey = T>(other: Iterable<T>, keySelector?: (item: T) => TKey): Query<T>;
|
|
31
|
+
intersect<TKey = T>(other: Iterable<T>, keySelector?: (item: T) => TKey): Query<T>;
|
|
32
|
+
except<TKey = T>(other: Iterable<T>, keySelector?: (item: T) => TKey): Query<T>;
|
|
33
|
+
toAsync(): AsyncQuery<T>;
|
|
34
|
+
}
|
|
35
|
+
export declare class OrderedQuery<T> extends Query<T> {
|
|
36
|
+
private readonly _orderedSource;
|
|
37
|
+
private readonly _criteria;
|
|
38
|
+
constructor(_orderedSource: Iterable<T>, _criteria: ReadonlyArray<SortCriterion<T>>);
|
|
39
|
+
thenBy<TKey = T>(keySelector?: (item: T) => TKey, comparer?: (a: TKey, b: TKey) => number): OrderedQuery<T>;
|
|
40
|
+
}
|
|
41
|
+
export declare function from<T>(source: Iterable<T>): Query<T>;
|
|
42
|
+
export { fromJson, fromJsonArray, fromJsonObject } from './json/fromJson';
|
|
43
|
+
export { fromAsync } from './async/AsyncQuery';
|
|
44
|
+
export { Grouping } from './operators/groupBy';
|
|
45
|
+
//# sourceMappingURL=Query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
|
package/dist/Query.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fromJsonObject = exports.fromJsonArray = exports.fromJson = exports.Query = void 0;
|
|
3
|
+
exports.Grouping = exports.fromAsync = exports.fromJsonObject = exports.fromJsonArray = exports.fromJson = exports.OrderedQuery = exports.Query = void 0;
|
|
4
4
|
exports.from = from;
|
|
5
5
|
const guards_1 = require("./utils/guards");
|
|
6
6
|
const comparers_1 = require("./utils/comparers");
|
|
7
7
|
const where_1 = require("./operators/where");
|
|
8
8
|
const select_1 = require("./operators/select");
|
|
9
|
-
const orderBy_1 = require("./operators/orderBy");
|
|
10
9
|
const skip_1 = require("./operators/skip");
|
|
11
10
|
const distinct_1 = require("./operators/distinct");
|
|
12
11
|
const any_1 = require("./operators/any");
|
|
@@ -24,6 +23,10 @@ const concat_1 = require("./operators/concat");
|
|
|
24
23
|
const union_1 = require("./operators/union");
|
|
25
24
|
const intersect_1 = require("./operators/intersect");
|
|
26
25
|
const except_1 = require("./operators/except");
|
|
26
|
+
const groupBy_1 = require("./operators/groupBy");
|
|
27
|
+
const join_1 = require("./operators/join");
|
|
28
|
+
const selectMany_1 = require("./operators/selectMany");
|
|
29
|
+
const orderByMany_1 = require("./operators/orderByMany");
|
|
27
30
|
const AsyncQuery_1 = require("./async/AsyncQuery");
|
|
28
31
|
class Query {
|
|
29
32
|
constructor(source) {
|
|
@@ -52,7 +55,26 @@ class Query {
|
|
|
52
55
|
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
53
56
|
if (comparer !== undefined)
|
|
54
57
|
(0, guards_1.assertFunction)(comparer, 'comparer');
|
|
55
|
-
return new
|
|
58
|
+
return new OrderedQuery(this._source, [{ keySelector, comparer }]);
|
|
59
|
+
}
|
|
60
|
+
groupBy(keySelector, elementSelector = comparers_1.identity) {
|
|
61
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
62
|
+
if (elementSelector !== undefined)
|
|
63
|
+
(0, guards_1.assertFunction)(elementSelector, 'elementSelector');
|
|
64
|
+
return new Query((0, groupBy_1.groupBy)(this._source, keySelector, elementSelector));
|
|
65
|
+
}
|
|
66
|
+
join(inner, outerKeySelector, innerKeySelector, resultSelector) {
|
|
67
|
+
(0, guards_1.assertIterable)(inner, 'inner');
|
|
68
|
+
(0, guards_1.assertFunction)(outerKeySelector, 'outerKeySelector');
|
|
69
|
+
(0, guards_1.assertFunction)(innerKeySelector, 'innerKeySelector');
|
|
70
|
+
(0, guards_1.assertFunction)(resultSelector, 'resultSelector');
|
|
71
|
+
return new Query((0, join_1.join)(this._source, inner, outerKeySelector, innerKeySelector, resultSelector));
|
|
72
|
+
}
|
|
73
|
+
selectMany(collectionSelector, resultSelector) {
|
|
74
|
+
(0, guards_1.assertFunction)(collectionSelector, 'collectionSelector');
|
|
75
|
+
if (resultSelector !== undefined)
|
|
76
|
+
(0, guards_1.assertFunction)(resultSelector, 'resultSelector');
|
|
77
|
+
return new Query((0, selectMany_1.selectMany)(this._source, collectionSelector, resultSelector));
|
|
56
78
|
}
|
|
57
79
|
skip(count) {
|
|
58
80
|
(0, guards_1.assertInteger)(count, 'count');
|
|
@@ -139,6 +161,21 @@ class Query {
|
|
|
139
161
|
}
|
|
140
162
|
}
|
|
141
163
|
exports.Query = Query;
|
|
164
|
+
class OrderedQuery extends Query {
|
|
165
|
+
constructor(_orderedSource, _criteria) {
|
|
166
|
+
super((0, orderByMany_1.orderByMany)(_orderedSource, _criteria));
|
|
167
|
+
this._orderedSource = _orderedSource;
|
|
168
|
+
this._criteria = _criteria;
|
|
169
|
+
}
|
|
170
|
+
thenBy(keySelector = comparers_1.identity, comparer = comparers_1.defaultComparer) {
|
|
171
|
+
if (keySelector !== undefined)
|
|
172
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
173
|
+
if (comparer !== undefined)
|
|
174
|
+
(0, guards_1.assertFunction)(comparer, 'comparer');
|
|
175
|
+
return new OrderedQuery(this._orderedSource, [...this._criteria, { keySelector, comparer }]);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.OrderedQuery = OrderedQuery;
|
|
142
179
|
function from(source) {
|
|
143
180
|
return Query.from(source);
|
|
144
181
|
}
|
|
@@ -147,4 +184,8 @@ var fromJson_1 = require("./json/fromJson");
|
|
|
147
184
|
Object.defineProperty(exports, "fromJson", { enumerable: true, get: function () { return fromJson_1.fromJson; } });
|
|
148
185
|
Object.defineProperty(exports, "fromJsonArray", { enumerable: true, get: function () { return fromJson_1.fromJsonArray; } });
|
|
149
186
|
Object.defineProperty(exports, "fromJsonObject", { enumerable: true, get: function () { return fromJson_1.fromJsonObject; } });
|
|
187
|
+
var AsyncQuery_2 = require("./async/AsyncQuery");
|
|
188
|
+
Object.defineProperty(exports, "fromAsync", { enumerable: true, get: function () { return AsyncQuery_2.fromAsync; } });
|
|
189
|
+
var groupBy_2 = require("./operators/groupBy");
|
|
190
|
+
Object.defineProperty(exports, "Grouping", { enumerable: true, get: function () { return groupBy_2.Grouping; } });
|
|
150
191
|
//# sourceMappingURL=Query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AsyncSortCriterion } from './operators/orderByManyAsync';
|
|
2
|
+
import { Grouping } from '../operators/groupBy';
|
|
3
|
+
export declare class AsyncQuery<T> implements AsyncIterable<T> {
|
|
4
|
+
private readonly _source;
|
|
5
|
+
constructor(source: Iterable<T> | AsyncIterable<T>);
|
|
6
|
+
[Symbol.asyncIterator](): AsyncIterator<T>;
|
|
7
|
+
static from<T>(source: Iterable<T> | AsyncIterable<T>): AsyncQuery<T>;
|
|
8
|
+
private static wrap;
|
|
9
|
+
where(predicate: (item: T, index?: number) => boolean | Promise<boolean>): AsyncQuery<T>;
|
|
10
|
+
select<U>(selector: (item: T, index?: number) => U | Promise<U>): AsyncQuery<U>;
|
|
11
|
+
orderBy<TKey = T>(keySelector?: (item: T) => TKey | Promise<TKey>, comparer?: (a: TKey, b: TKey) => number): OrderedAsyncQuery<T>;
|
|
12
|
+
groupBy<TKey, TElement = T>(keySelector: (item: T) => TKey | Promise<TKey>, elementSelector?: (item: T) => TElement | Promise<TElement>): AsyncQuery<Grouping<TKey, TElement>>;
|
|
13
|
+
join<TInner, TKey, TResult>(inner: Iterable<TInner> | AsyncIterable<TInner>, outerKeySelector: (item: T) => TKey | Promise<TKey>, innerKeySelector: (item: TInner) => TKey | Promise<TKey>, resultSelector: (outer: T, inner: TInner) => TResult | Promise<TResult>): AsyncQuery<TResult>;
|
|
14
|
+
selectMany<U>(collectionSelector: (item: T, index?: number) => Iterable<U> | AsyncIterable<U> | Promise<Iterable<U> | AsyncIterable<U>>): AsyncQuery<U>;
|
|
15
|
+
selectMany<U, R>(collectionSelector: (item: T, index?: number) => Iterable<U> | AsyncIterable<U> | Promise<Iterable<U> | AsyncIterable<U>>, resultSelector: (item: T, collectionItem: U) => R | Promise<R>): AsyncQuery<R>;
|
|
16
|
+
skip(count: number): AsyncQuery<T>;
|
|
17
|
+
distinct<TKey = T>(keySelector?: (item: T) => TKey | Promise<TKey>): AsyncQuery<T>;
|
|
18
|
+
any(predicate?: (item: T) => boolean | Promise<boolean>): Promise<boolean>;
|
|
19
|
+
all(predicate: (item: T) => boolean | Promise<boolean>): Promise<boolean>;
|
|
20
|
+
sum(selector?: (item: T) => number | Promise<number>): Promise<number>;
|
|
21
|
+
min(selector?: (item: T) => number | Promise<number>): Promise<number | undefined>;
|
|
22
|
+
max(selector?: (item: T) => number | Promise<number>): Promise<number | undefined>;
|
|
23
|
+
first(predicate?: (item: T) => boolean | Promise<boolean>): Promise<T>;
|
|
24
|
+
toArray(): Promise<T[]>;
|
|
25
|
+
take(count: number): AsyncQuery<T>;
|
|
26
|
+
count(predicate?: (item: T) => boolean | Promise<boolean>): Promise<number>;
|
|
27
|
+
append(element: T): AsyncQuery<T>;
|
|
28
|
+
prepend(element: T): AsyncQuery<T>;
|
|
29
|
+
concat(other: Iterable<T> | AsyncIterable<T>): AsyncQuery<T>;
|
|
30
|
+
union<TKey = T>(other: Iterable<T> | AsyncIterable<T>, keySelector?: (item: T) => TKey | Promise<TKey>): AsyncQuery<T>;
|
|
31
|
+
intersect<TKey = T>(other: Iterable<T> | AsyncIterable<T>, keySelector?: (item: T) => TKey | Promise<TKey>): AsyncQuery<T>;
|
|
32
|
+
except<TKey = T>(other: Iterable<T> | AsyncIterable<T>, keySelector?: (item: T) => TKey | Promise<TKey>): AsyncQuery<T>;
|
|
33
|
+
}
|
|
34
|
+
export declare class OrderedAsyncQuery<T> extends AsyncQuery<T> {
|
|
35
|
+
private readonly _orderedSource;
|
|
36
|
+
private readonly _criteria;
|
|
37
|
+
constructor(_orderedSource: AsyncIterable<T>, _criteria: ReadonlyArray<AsyncSortCriterion<T>>);
|
|
38
|
+
thenBy<TKey = T>(keySelector?: (item: T) => TKey | Promise<TKey>, comparer?: (a: TKey, b: TKey) => number): OrderedAsyncQuery<T>;
|
|
39
|
+
}
|
|
40
|
+
export declare function fromAsync<T>(source: Iterable<T> | AsyncIterable<T>): AsyncQuery<T>;
|
|
41
|
+
//# sourceMappingURL=AsyncQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncQuery.d.ts","sourceRoot":"","sources":["../../src/async/AsyncQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrderedAsyncQuery = exports.AsyncQuery = void 0;
|
|
4
|
+
exports.fromAsync = fromAsync;
|
|
5
|
+
const guards_1 = require("../utils/guards");
|
|
6
|
+
const comparers_1 = require("../utils/comparers");
|
|
7
|
+
const whereAsync_1 = require("./operators/whereAsync");
|
|
8
|
+
const selectAsync_1 = require("./operators/selectAsync");
|
|
9
|
+
const skipAsync_1 = require("./operators/skipAsync");
|
|
10
|
+
const distinctAsync_1 = require("./operators/distinctAsync");
|
|
11
|
+
const anyAsync_1 = require("./operators/anyAsync");
|
|
12
|
+
const allAsync_1 = require("./operators/allAsync");
|
|
13
|
+
const sumAsync_1 = require("./operators/sumAsync");
|
|
14
|
+
const minAsync_1 = require("./operators/minAsync");
|
|
15
|
+
const maxAsync_1 = require("./operators/maxAsync");
|
|
16
|
+
const firstAsync_1 = require("./operators/firstAsync");
|
|
17
|
+
const toArrayAsync_1 = require("./operators/toArrayAsync");
|
|
18
|
+
const takeAsync_1 = require("./operators/takeAsync");
|
|
19
|
+
const countAsync_1 = require("./operators/countAsync");
|
|
20
|
+
const appendAsync_1 = require("./operators/appendAsync");
|
|
21
|
+
const prependAsync_1 = require("./operators/prependAsync");
|
|
22
|
+
const concatAsync_1 = require("./operators/concatAsync");
|
|
23
|
+
const unionAsync_1 = require("./operators/unionAsync");
|
|
24
|
+
const intersectAsync_1 = require("./operators/intersectAsync");
|
|
25
|
+
const exceptAsync_1 = require("./operators/exceptAsync");
|
|
26
|
+
const groupByAsync_1 = require("./operators/groupByAsync");
|
|
27
|
+
const joinAsync_1 = require("./operators/joinAsync");
|
|
28
|
+
const selectManyAsync_1 = require("./operators/selectManyAsync");
|
|
29
|
+
const orderByManyAsync_1 = require("./operators/orderByManyAsync");
|
|
30
|
+
class AsyncQuery {
|
|
31
|
+
constructor(source) {
|
|
32
|
+
(0, guards_1.assertIterableLike)(source, 'source');
|
|
33
|
+
this._source = AsyncQuery.wrap(source);
|
|
34
|
+
}
|
|
35
|
+
[Symbol.asyncIterator]() {
|
|
36
|
+
return this._source[Symbol.asyncIterator]();
|
|
37
|
+
}
|
|
38
|
+
static from(source) {
|
|
39
|
+
(0, guards_1.assertIterableLike)(source, 'source');
|
|
40
|
+
return new AsyncQuery(source);
|
|
41
|
+
}
|
|
42
|
+
static async *wrap(source) {
|
|
43
|
+
for await (const item of source) {
|
|
44
|
+
yield item;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
where(predicate) {
|
|
48
|
+
(0, guards_1.assertFunction)(predicate, 'predicate');
|
|
49
|
+
return new AsyncQuery((0, whereAsync_1.whereAsync)(this._source, predicate));
|
|
50
|
+
}
|
|
51
|
+
select(selector) {
|
|
52
|
+
(0, guards_1.assertFunction)(selector, 'selector');
|
|
53
|
+
return new AsyncQuery((0, selectAsync_1.selectAsync)(this._source, selector));
|
|
54
|
+
}
|
|
55
|
+
orderBy(keySelector = comparers_1.identity, comparer = comparers_1.defaultComparer) {
|
|
56
|
+
if (keySelector !== undefined)
|
|
57
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
58
|
+
if (comparer !== undefined)
|
|
59
|
+
(0, guards_1.assertFunction)(comparer, 'comparer');
|
|
60
|
+
return new OrderedAsyncQuery(this._source, [{ keySelector, comparer }]);
|
|
61
|
+
}
|
|
62
|
+
groupBy(keySelector, elementSelector = comparers_1.identity) {
|
|
63
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
64
|
+
if (elementSelector !== undefined)
|
|
65
|
+
(0, guards_1.assertFunction)(elementSelector, 'elementSelector');
|
|
66
|
+
return new AsyncQuery((0, groupByAsync_1.groupByAsync)(this._source, keySelector, elementSelector));
|
|
67
|
+
}
|
|
68
|
+
join(inner, outerKeySelector, innerKeySelector, resultSelector) {
|
|
69
|
+
(0, guards_1.assertIterableLike)(inner, 'inner');
|
|
70
|
+
(0, guards_1.assertFunction)(outerKeySelector, 'outerKeySelector');
|
|
71
|
+
(0, guards_1.assertFunction)(innerKeySelector, 'innerKeySelector');
|
|
72
|
+
(0, guards_1.assertFunction)(resultSelector, 'resultSelector');
|
|
73
|
+
return new AsyncQuery((0, joinAsync_1.joinAsync)(this._source, inner, outerKeySelector, innerKeySelector, resultSelector));
|
|
74
|
+
}
|
|
75
|
+
selectMany(collectionSelector, resultSelector) {
|
|
76
|
+
(0, guards_1.assertFunction)(collectionSelector, 'collectionSelector');
|
|
77
|
+
if (resultSelector !== undefined)
|
|
78
|
+
(0, guards_1.assertFunction)(resultSelector, 'resultSelector');
|
|
79
|
+
return new AsyncQuery((0, selectManyAsync_1.selectManyAsync)(this._source, collectionSelector, resultSelector));
|
|
80
|
+
}
|
|
81
|
+
skip(count) {
|
|
82
|
+
(0, guards_1.assertInteger)(count, 'count');
|
|
83
|
+
(0, guards_1.assertNonNegative)(count, 'count');
|
|
84
|
+
return new AsyncQuery((0, skipAsync_1.skipAsync)(this._source, count));
|
|
85
|
+
}
|
|
86
|
+
distinct(keySelector = comparers_1.identity) {
|
|
87
|
+
if (keySelector !== undefined)
|
|
88
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
89
|
+
return new AsyncQuery((0, distinctAsync_1.distinctAsync)(this._source, keySelector));
|
|
90
|
+
}
|
|
91
|
+
any(predicate) {
|
|
92
|
+
if (predicate !== undefined)
|
|
93
|
+
(0, guards_1.assertFunction)(predicate, 'predicate');
|
|
94
|
+
return (0, anyAsync_1.anyAsync)(this._source, predicate);
|
|
95
|
+
}
|
|
96
|
+
all(predicate) {
|
|
97
|
+
(0, guards_1.assertFunction)(predicate, 'predicate');
|
|
98
|
+
return (0, allAsync_1.allAsync)(this._source, predicate);
|
|
99
|
+
}
|
|
100
|
+
sum(selector = comparers_1.identity) {
|
|
101
|
+
if (selector !== undefined)
|
|
102
|
+
(0, guards_1.assertFunction)(selector, 'selector');
|
|
103
|
+
return (0, sumAsync_1.sumAsync)(this._source, selector);
|
|
104
|
+
}
|
|
105
|
+
min(selector = comparers_1.identity) {
|
|
106
|
+
if (selector !== undefined)
|
|
107
|
+
(0, guards_1.assertFunction)(selector, 'selector');
|
|
108
|
+
return (0, minAsync_1.minAsync)(this._source, selector);
|
|
109
|
+
}
|
|
110
|
+
max(selector = comparers_1.identity) {
|
|
111
|
+
if (selector !== undefined)
|
|
112
|
+
(0, guards_1.assertFunction)(selector, 'selector');
|
|
113
|
+
return (0, maxAsync_1.maxAsync)(this._source, selector);
|
|
114
|
+
}
|
|
115
|
+
first(predicate) {
|
|
116
|
+
if (predicate !== undefined)
|
|
117
|
+
(0, guards_1.assertFunction)(predicate, 'predicate');
|
|
118
|
+
return (0, firstAsync_1.firstAsync)(this._source, predicate);
|
|
119
|
+
}
|
|
120
|
+
toArray() {
|
|
121
|
+
return (0, toArrayAsync_1.toArrayAsync)(this._source);
|
|
122
|
+
}
|
|
123
|
+
take(count) {
|
|
124
|
+
(0, guards_1.assertInteger)(count, 'count');
|
|
125
|
+
(0, guards_1.assertNonNegative)(count, 'count');
|
|
126
|
+
return new AsyncQuery((0, takeAsync_1.takeAsync)(this._source, count));
|
|
127
|
+
}
|
|
128
|
+
count(predicate) {
|
|
129
|
+
if (predicate !== undefined)
|
|
130
|
+
(0, guards_1.assertFunction)(predicate, 'predicate');
|
|
131
|
+
return (0, countAsync_1.countAsync)(this._source, predicate);
|
|
132
|
+
}
|
|
133
|
+
append(element) {
|
|
134
|
+
return new AsyncQuery((0, appendAsync_1.appendAsync)(this._source, element));
|
|
135
|
+
}
|
|
136
|
+
prepend(element) {
|
|
137
|
+
return new AsyncQuery((0, prependAsync_1.prependAsync)(this._source, element));
|
|
138
|
+
}
|
|
139
|
+
concat(other) {
|
|
140
|
+
(0, guards_1.assertIterableLike)(other, 'other');
|
|
141
|
+
return new AsyncQuery((0, concatAsync_1.concatAsync)(this._source, other));
|
|
142
|
+
}
|
|
143
|
+
union(other, keySelector = comparers_1.identity) {
|
|
144
|
+
(0, guards_1.assertIterableLike)(other, 'other');
|
|
145
|
+
if (keySelector !== undefined)
|
|
146
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
147
|
+
return new AsyncQuery((0, unionAsync_1.unionAsync)(this._source, other, keySelector));
|
|
148
|
+
}
|
|
149
|
+
intersect(other, keySelector = comparers_1.identity) {
|
|
150
|
+
(0, guards_1.assertIterableLike)(other, 'other');
|
|
151
|
+
if (keySelector !== undefined)
|
|
152
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
153
|
+
return new AsyncQuery((0, intersectAsync_1.intersectAsync)(this._source, other, keySelector));
|
|
154
|
+
}
|
|
155
|
+
except(other, keySelector = comparers_1.identity) {
|
|
156
|
+
(0, guards_1.assertIterableLike)(other, 'other');
|
|
157
|
+
if (keySelector !== undefined)
|
|
158
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
159
|
+
return new AsyncQuery((0, exceptAsync_1.exceptAsync)(this._source, other, keySelector));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.AsyncQuery = AsyncQuery;
|
|
163
|
+
class OrderedAsyncQuery extends AsyncQuery {
|
|
164
|
+
constructor(_orderedSource, _criteria) {
|
|
165
|
+
super((0, orderByManyAsync_1.orderByManyAsync)(_orderedSource, _criteria));
|
|
166
|
+
this._orderedSource = _orderedSource;
|
|
167
|
+
this._criteria = _criteria;
|
|
168
|
+
}
|
|
169
|
+
thenBy(keySelector = comparers_1.identity, comparer = comparers_1.defaultComparer) {
|
|
170
|
+
if (keySelector !== undefined)
|
|
171
|
+
(0, guards_1.assertFunction)(keySelector, 'keySelector');
|
|
172
|
+
if (comparer !== undefined)
|
|
173
|
+
(0, guards_1.assertFunction)(comparer, 'comparer');
|
|
174
|
+
return new OrderedAsyncQuery(this._orderedSource, [...this._criteria, { keySelector, comparer }]);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.OrderedAsyncQuery = OrderedAsyncQuery;
|
|
178
|
+
function fromAsync(source) {
|
|
179
|
+
return AsyncQuery.from(source);
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=AsyncQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncQuery.js","sourceRoot":"","sources":["../../src/async/AsyncQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/allAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GACnD,OAAO,CAAC,OAAO,CAAC,CAOlB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allAsync = allAsync;
|
|
4
|
+
async function allAsync(source, predicate) {
|
|
5
|
+
for await (const item of source) {
|
|
6
|
+
if (!(await predicate(item))) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=allAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allAsync.js","sourceRoot":"","sources":["../../../src/async/operators/allAsync.ts"],"names":[],"mappings":";;AAAA,4BAUC;AAVM,KAAK,UAAU,QAAQ,CAC1B,MAAwB,EACxB,SAAkD;IAElD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anyAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/anyAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,CAclB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.anyAsync = anyAsync;
|
|
4
|
+
async function anyAsync(source, predicate) {
|
|
5
|
+
if (predicate) {
|
|
6
|
+
for await (const item of source) {
|
|
7
|
+
if (await predicate(item)) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
// If no predicate, check if source has any elements
|
|
14
|
+
const iterator = source[Symbol.asyncIterator]();
|
|
15
|
+
const result = await iterator.next();
|
|
16
|
+
return !result.done;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=anyAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anyAsync.js","sourceRoot":"","sources":["../../../src/async/operators/anyAsync.ts"],"names":[],"mappings":";;AAAA,4BAiBC;AAjBM,KAAK,UAAU,QAAQ,CAC1B,MAAwB,EACxB,SAAmD;IAEnD,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,oDAAoD;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/appendAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAG5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendAsync.js","sourceRoot":"","sources":["../../../src/async/operators/appendAsync.ts"],"names":[],"mappings":";;AAAA,kCAGC;AAHM,KAAK,SAAS,CAAC,CAAC,WAAW,CAAI,MAAwB,EAAE,OAAU;IACtE,KAAK,CAAC,CAAC,MAAM,CAAC;IACd,MAAM,OAAO,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concatAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/concatAsync.ts"],"names":[],"mappings":"AAAA,wBAAuB,WAAW,CAAC,CAAC,EAChC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GACtC,aAAa,CAAC,CAAC,CAAC,CAGlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concatAsync.js","sourceRoot":"","sources":["../../../src/async/operators/concatAsync.ts"],"names":[],"mappings":";;AAAA,kCAMC;AANM,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAwB,EACxB,KAAqC;IAErC,KAAK,CAAC,CAAC,MAAM,CAAC;IACd,KAAK,CAAC,CAAC,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countAsync.d.ts","sourceRoot":"","sources":["../../../src/async/operators/countAsync.ts"],"names":[],"mappings":"AAAA,wBAAsB,UAAU,CAAC,CAAC,EAC9B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GACpD,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|