semantic-typescript 0.3.1 → 0.3.2
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/dist/factory.js +2 -2
- package/dist/hook.js +2 -2
- package/package.json +1 -1
- package/readme.md +36 -5
package/dist/factory.js
CHANGED
package/dist/hook.js
CHANGED
|
@@ -86,7 +86,7 @@ export let useTraverse = (t, callback) => {
|
|
|
86
86
|
traverse(item);
|
|
87
87
|
}
|
|
88
88
|
else {
|
|
89
|
-
if (callback(index, item)) {
|
|
89
|
+
if (!callback(index, item)) {
|
|
90
90
|
stop = true;
|
|
91
91
|
break;
|
|
92
92
|
}
|
|
@@ -97,7 +97,7 @@ export let useTraverse = (t, callback) => {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
|
-
if (callback(property, value)) {
|
|
100
|
+
if (!callback(property, value)) {
|
|
101
101
|
stop = true;
|
|
102
102
|
break;
|
|
103
103
|
}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/eloyhere"
|
|
7
7
|
},
|
|
8
8
|
"description": "A modern type-safe stream processing library inspired by JavaScript Generator, Java Stream, and MySQL Index. Supports lazy evaluation, async streams, statistics, and IO-like operations.",
|
|
9
|
-
"version": "0.3.
|
|
9
|
+
"version": "0.3.2",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"readme": "readme.md",
|
|
12
12
|
"main": "dist/index.js",
|
package/readme.md
CHANGED
|
@@ -118,7 +118,26 @@ if(isIterable(value)){
|
|
|
118
118
|
let numbers: Array<number> = [3, 1, 4, 1, 5];
|
|
119
119
|
numbers.sort(useCompare); // [1, 1, 3, 4, 5]
|
|
120
120
|
|
|
121
|
-
let randomNum = useRandom(42); // Seed-based random number
|
|
121
|
+
let randomNum: number = useRandom(42); // Seed-based random number
|
|
122
|
+
|
|
123
|
+
let o = {
|
|
124
|
+
a: 1,
|
|
125
|
+
b: {
|
|
126
|
+
c: 2,
|
|
127
|
+
d: o
|
|
128
|
+
},
|
|
129
|
+
c: [1, 3, 5, o]
|
|
130
|
+
};
|
|
131
|
+
useTraverse(o, (value, key): boolean => {
|
|
132
|
+
console.log(key, value);
|
|
133
|
+
/*
|
|
134
|
+
a 1
|
|
135
|
+
c 2
|
|
136
|
+
1 3 5
|
|
137
|
+
Cyclic references are not traversed.
|
|
138
|
+
*/
|
|
139
|
+
return true; // Returns true to continue traversing.
|
|
140
|
+
});
|
|
122
141
|
```
|
|
123
142
|
|
|
124
143
|
## Factory Methods
|
|
@@ -210,9 +229,9 @@ find.collect(from([1,2,3,4,5])); // Finds the first element
|
|
|
210
229
|
find.collect([1,2,3,4,5]); // Finds the first element
|
|
211
230
|
|
|
212
231
|
// Calculates the sum of elements
|
|
213
|
-
let
|
|
214
|
-
|
|
215
|
-
|
|
232
|
+
let summate: Collector<number, number, number> = useSummate();
|
|
233
|
+
summate.collect(from([1,2,3,4,5])); // Sums from a stream
|
|
234
|
+
summate.collect([1,2,3,4,5]); // Sums from an iterable object
|
|
216
235
|
|
|
217
236
|
// Calculates the average of elements
|
|
218
237
|
let average: Collector<number, number, number> = useNumericAverage();
|
|
@@ -220,6 +239,17 @@ average.collect(from([1,2,3,4,5])); // Averages from a stream
|
|
|
220
239
|
average.collect([1,2,3,4,5]); // Averages from an iterable object
|
|
221
240
|
```
|
|
222
241
|
|
|
242
|
+
## Collector Class Methods
|
|
243
|
+
|
|
244
|
+
| Method | Description | Time Complexity | Space Complexity |
|
|
245
|
+
|------------|------------|------------|------------|
|
|
246
|
+
| `collect(stream)` | Collect elements from a stream | O(n) | O(1) |
|
|
247
|
+
| `collect(iterable)` | Collect elements from an iterable object | O(n) | O(1) |
|
|
248
|
+
| `collect(generator)` | Collect elements from a generator | O(n) | O(1) |
|
|
249
|
+
| `collect(semantic)` | Collect elements from a semantic stream | O(n) | O(1) |
|
|
250
|
+
| `collect(collectable)` | Collect elements from a collectable stream | O(n) | O(1) |
|
|
251
|
+
| `collect(start, endExelusive)` | Collect elements from a range | O(n) | O(1) |
|
|
252
|
+
|
|
223
253
|
### Semantic Factory Methods
|
|
224
254
|
|
|
225
255
|
| Method | Description | Time Complexity | Space Complexity |
|
|
@@ -283,7 +313,8 @@ websocket(ws)
|
|
|
283
313
|
|
|
284
314
|
| Method | Description | Time Complexity | Space Complexity |
|
|
285
315
|
|------|------|------------|------------|
|
|
286
|
-
| `concat(
|
|
316
|
+
| `concat(semantic)` | Concatenate two streams | O(n) | O(1) |
|
|
317
|
+
| `concat(iterable)` | Concatenate from an iterable object | O(n) | O(1) |
|
|
287
318
|
| `distinct()` | Remove duplicates | O(n) | O(n) |
|
|
288
319
|
| `distinct(comparator)` | Remove duplicates using a comparator | O(n²) | O(n) |
|
|
289
320
|
| `dropWhile(predicate)` | Discard elements satisfying condition | O(n) | O(1) |
|