@limitlesspc/std 0.20.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/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/array.d.ts +209 -0
- package/dist/array.js +41 -0
- package/dist/async/index.d.ts +48 -0
- package/dist/async/index.js +155 -0
- package/dist/bytes.d.ts +38 -0
- package/dist/bytes.js +35 -0
- package/dist/chunk-6F4PWJZI.js +0 -0
- package/dist/chunk-C2DS6YRJ.js +1664 -0
- package/dist/chunk-DO4NH5XG.js +523 -0
- package/dist/chunk-EWSJTMH2.js +68 -0
- package/dist/chunk-ILLWUQPY.js +139 -0
- package/dist/chunk-LJSF3QBT.js +122 -0
- package/dist/chunk-MG5VQSTV.js +89 -0
- package/dist/chunk-TMLWLR46.js +12 -0
- package/dist/chunk-WBSY6KRH.js +358 -0
- package/dist/cmath/index.d.ts +57 -0
- package/dist/cmath/index.js +187 -0
- package/dist/cmp.d.ts +11 -0
- package/dist/cmp.js +12 -0
- package/dist/csv.d.ts +3 -0
- package/dist/csv.js +16 -0
- package/dist/easing.d.ts +37 -0
- package/dist/easing.js +157 -0
- package/dist/events.d.ts +20 -0
- package/dist/events.js +67 -0
- package/dist/fn/index.d.ts +66 -0
- package/dist/fn/index.js +25 -0
- package/dist/gfx/index.d.ts +13 -0
- package/dist/gfx/index.js +68 -0
- package/dist/iter/index.d.ts +226 -0
- package/dist/iter/index.js +65 -0
- package/dist/math/index.d.ts +463 -0
- package/dist/math/index.js +129 -0
- package/dist/object.d.ts +72 -0
- package/dist/object.js +24 -0
- package/dist/random.d.ts +68 -0
- package/dist/random.js +22 -0
- package/dist/string/index.d.ts +62 -0
- package/dist/string/index.js +98 -0
- package/dist/structs/index.d.ts +184 -0
- package/dist/structs/index.js +24 -0
- package/dist/time/index.d.ts +35 -0
- package/dist/time/index.js +84 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.js +1 -0
- package/dist/vec3-D7Wuy2AZ.d.ts +70 -0
- package/package.json +111 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { AnyRecord, uint, Repeat, NonFalsy, int } from '../types.js';
|
|
2
|
+
|
|
3
|
+
declare const associateBy: {
|
|
4
|
+
<T extends AnyRecord, K extends keyof T>(first: Iterable<T>, key: K): Map<T[K], T>;
|
|
5
|
+
<T extends AnyRecord, K extends keyof T>(key: K): (first: Iterable<T>) => Map<T[K], T>;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Runs through all the iterables in order, yielding each value in turn
|
|
10
|
+
* @param iterables
|
|
11
|
+
*/
|
|
12
|
+
declare function chain<T>(...iterables: Array<Iterable<T>>): Iterator<T>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Splits an iterable into equally-sized sub arrays
|
|
16
|
+
* @param iter
|
|
17
|
+
* @param size the length of each chunk
|
|
18
|
+
* @returns the chunks
|
|
19
|
+
*/
|
|
20
|
+
declare const chunk: {
|
|
21
|
+
<T, N extends uint>(first: Iterable<T>, size: N): Generator<Repeat<T, N>>;
|
|
22
|
+
<T, N extends uint>(size: N): (first: Iterable<T>) => Generator<Repeat<T, N>>;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Collects the items in an iterable into an array
|
|
27
|
+
* @param iter
|
|
28
|
+
* @returns an array of the items in the iterable
|
|
29
|
+
*/
|
|
30
|
+
declare function collect<T>(iter: Iterable<T>): T[];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Counts the number of values from an iterable
|
|
34
|
+
* @param iter
|
|
35
|
+
*/
|
|
36
|
+
declare function count<T>(iter: Iterable<T>): uint;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Loops an iterable infinitely
|
|
40
|
+
* @param iter
|
|
41
|
+
*/
|
|
42
|
+
declare function cycle<T>(iter: Iterable<T>): Iterator<T>;
|
|
43
|
+
|
|
44
|
+
declare function enumerate<T>(iter: Iterable<T>): Generator<[number, T]>;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Checks if every item in an iterable passes a `predicate`
|
|
48
|
+
* @param iter
|
|
49
|
+
* @param predicate a function to test each item
|
|
50
|
+
*/
|
|
51
|
+
declare const every: {
|
|
52
|
+
<T>(iter: Iterable<T>, predicate: (item: T) => unknown): boolean;
|
|
53
|
+
<T>(predicate: (item: T) => unknown): (iter: Iterable<T>) => boolean;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Allows values from an iterable based on a predicate function
|
|
58
|
+
* @param iter
|
|
59
|
+
* @param predicate a function that filters based on the truthiness of the return value
|
|
60
|
+
*/
|
|
61
|
+
declare const filter: {
|
|
62
|
+
<T>(iter: Iterable<T>, predicate: BooleanConstructor): Generator<NonFalsy<T>>;
|
|
63
|
+
<T>(predicate: BooleanConstructor): (iter: Iterable<T>) => Generator<NonFalsy<T>>;
|
|
64
|
+
<T, S extends T>(iter: Iterable<T>, predicate: (value: T) => value is S): Generator<S>;
|
|
65
|
+
<T, S extends T>(predicate: (value: T) => value is S): (iter: Iterable<T>) => Generator<S>;
|
|
66
|
+
<T>(iter: Iterable<T>, predicate: (value: T) => unknown): Generator<T>;
|
|
67
|
+
<T>(predicate: (value: T) => unknown): (iter: Iterable<T>) => Generator<T>;
|
|
68
|
+
};
|
|
69
|
+
declare const filterByKey: {
|
|
70
|
+
<T extends AnyRecord>(iter: Iterable<T>, key: keyof T): Generator<T>;
|
|
71
|
+
<T extends AnyRecord>(key: keyof T): (iter: Iterable<T>) => Generator<T>;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Returns the first value of an iterable
|
|
76
|
+
* @param iter
|
|
77
|
+
*/
|
|
78
|
+
declare function first<T>(iter: Iterable<T>): T | undefined;
|
|
79
|
+
|
|
80
|
+
declare const groupBy: {
|
|
81
|
+
<T extends AnyRecord, K extends keyof T>(first: Iterable<T>, key: K): Map<T[K], T[]>;
|
|
82
|
+
<T extends AnyRecord, K extends keyof T>(key: K): (first: Iterable<T>) => Map<T[K], T[]>;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Inserts a `separator` value between each value of the iterable
|
|
87
|
+
* @param iter
|
|
88
|
+
* @param separator the value to insert between each value of the iterable
|
|
89
|
+
*/
|
|
90
|
+
declare const intersperse: {
|
|
91
|
+
<T, U>(first: Iterable<T>, separator: U): Generator<T | U>;
|
|
92
|
+
<T, U>(separator: U): (first: Iterable<T>) => Generator<T | U>;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Gets the last value of an iterable
|
|
97
|
+
* @param iter
|
|
98
|
+
*/
|
|
99
|
+
declare function last<T>(iter: Iterable<T>): T | undefined;
|
|
100
|
+
|
|
101
|
+
declare const map: {
|
|
102
|
+
<T, U>(iter: Iterable<T>, fn: (value: T) => U): Generator<U>;
|
|
103
|
+
<T, U>(fn: (value: T) => U): (iter: Iterable<T>) => Generator<U>;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Gets a certain value from an iterable based on sequence number
|
|
108
|
+
* @param iter
|
|
109
|
+
* @param n a zero-based index
|
|
110
|
+
*/
|
|
111
|
+
declare const nth: {
|
|
112
|
+
<T>(iter: Iterable<T>, n: uint): T;
|
|
113
|
+
<T>(n: uint): (iter: Iterable<T>) => T;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Splits an iterable into two halves based on a condition
|
|
118
|
+
* @param iter
|
|
119
|
+
* @param predicate a function to test each item
|
|
120
|
+
* @returns a tuple with items that either pass or fail the `predicate`
|
|
121
|
+
*/
|
|
122
|
+
declare const partition: {
|
|
123
|
+
<T>(iter: Iterable<T>, predicate: BooleanConstructor): [pass: Array<NonFalsy<T>>, fail: T[]];
|
|
124
|
+
<T>(predicate: BooleanConstructor): (iter: Iterable<T>) => [pass: Array<NonFalsy<T>>, fail: T[]];
|
|
125
|
+
<T, S extends T>(iter: Iterable<T>, predicate: (value: T) => value is S): [pass: S[], fail: T[]];
|
|
126
|
+
<T, S extends T>(predicate: (value: T) => value is S): (iter: Iterable<T>) => [pass: S[], fail: T[]];
|
|
127
|
+
<T>(iter: Iterable<T>, predicate: (value: T) => unknown): [pass: T[], fail: T[]];
|
|
128
|
+
<T>(predicate: (value: T) => unknown): (iter: Iterable<T>) => [pass: T[], fail: T[]];
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Using an iterable of objects, extract part of each object
|
|
133
|
+
* @param iter
|
|
134
|
+
* @param keys an array of keys in each object or a single key
|
|
135
|
+
* @returns the iterator of object only containing the keys specified
|
|
136
|
+
*/
|
|
137
|
+
declare const pick: {
|
|
138
|
+
<T extends AnyRecord, K extends keyof T>(iter: Iterable<T>, key: K): Generator<T[K]>;
|
|
139
|
+
<T extends AnyRecord, K extends keyof T>(key: K): (iter: Iterable<T>) => Generator<T[K]>;
|
|
140
|
+
<T extends AnyRecord, K extends keyof T>(iter: Iterable<T>, keys: K[]): Generator<Pick<T, K>>;
|
|
141
|
+
<T extends AnyRecord, K extends keyof T>(keys: K[]): (iter: Iterable<T>) => Generator<Pick<T, K>>;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
declare function range(max: int): Generator<int>;
|
|
145
|
+
declare function range(min: number, max: number, step?: number): Generator<number>;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Skips over the first `n` values of an iterable
|
|
149
|
+
* @param iter
|
|
150
|
+
* @param n number of values to skip over
|
|
151
|
+
*/
|
|
152
|
+
declare const skip: {
|
|
153
|
+
<T>(iter: Iterable<T>, n: uint): Generator<T>;
|
|
154
|
+
<T>(n: uint): (iter: Iterable<T>) => Generator<T>;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
declare const slidingWindow: {
|
|
158
|
+
<T>(iter: Iterable<T>, { size, partial }: {
|
|
159
|
+
size: uint;
|
|
160
|
+
partial?: boolean;
|
|
161
|
+
}): Generator<T[]>;
|
|
162
|
+
<T>({ size, partial, }: {
|
|
163
|
+
size: uint;
|
|
164
|
+
partial?: boolean;
|
|
165
|
+
}): (iter: Iterable<T>) => Generator<T[]>;
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Checks if one of the items in an iterable passes a `predicate`
|
|
170
|
+
* @param iter
|
|
171
|
+
* @param predicate a function to test each item
|
|
172
|
+
*/
|
|
173
|
+
declare const some: {
|
|
174
|
+
<T>(iter: Iterable<T>, predicate: (item: T) => unknown): boolean;
|
|
175
|
+
<T>(predicate: (item: T) => unknown): (iter: Iterable<T>) => boolean;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Take the first n values from an iterable
|
|
180
|
+
* @param iter
|
|
181
|
+
* @param n number of values to take
|
|
182
|
+
*/
|
|
183
|
+
declare const take: {
|
|
184
|
+
<T>(iter: Iterable<T>, n: uint): Generator<T>;
|
|
185
|
+
<T>(n: uint): (iter: Iterable<T>) => Generator<T>;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Calls a function on each value of an iterable without modifying
|
|
190
|
+
* @param iter
|
|
191
|
+
* @param fn a function to call on each value
|
|
192
|
+
*/
|
|
193
|
+
declare const tap: {
|
|
194
|
+
<T>(iter: Iterable<T>, fn: (value: T) => unknown): Generator<T>;
|
|
195
|
+
<T>(fn: (value: T) => unknown): (iter: Iterable<T>) => Generator<T>;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Returns a tuple of iterables, which all yield the same items as the original iterable
|
|
200
|
+
* @param iter
|
|
201
|
+
*/
|
|
202
|
+
declare const tee: {
|
|
203
|
+
<T, N extends number = 2>(first: Iterable<T>, n?: N): Repeat<IterableIterator<T>, N>;
|
|
204
|
+
<T, N extends number = 2>(n?: N): (first: Iterable<T>) => Repeat<IterableIterator<T>, N>;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
declare const unique: {
|
|
208
|
+
<T>(iter: Iterable<T>): Generator<T>;
|
|
209
|
+
<T>(): (iter: Iterable<T>) => Generator<T>;
|
|
210
|
+
};
|
|
211
|
+
declare const uniqueBy: {
|
|
212
|
+
<T, U>(iter: Iterable<T>, keyFn: (value: T) => U): Generator<T>;
|
|
213
|
+
<T, U>(keyFn: (value: T) => U): (iter: Iterable<T>) => Generator<T>;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
declare const unzip: {
|
|
217
|
+
<T, U>(iterable: Iterable<readonly [T, U]>): [T[], U[]];
|
|
218
|
+
<T, U>(): (iterable: Iterable<readonly [T, U]>) => [T[], U[]];
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
declare const zip: {
|
|
222
|
+
<T, U>(iterable1: Iterable<T>, iterable2: Iterable<U>): Generator<[T, U]>;
|
|
223
|
+
<T, U>(iterable2: Iterable<U>): (iterable1: Iterable<T>) => Generator<[T, U]>;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export { associateBy, chain, chunk, collect, count, cycle, enumerate, every, filter, filterByKey, first, groupBy, intersperse, last, map, nth, partition, pick, range, skip, slidingWindow, some, take, tap, tee, unique, uniqueBy, unzip, zip };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
associateBy,
|
|
3
|
+
chain,
|
|
4
|
+
chunk,
|
|
5
|
+
collect,
|
|
6
|
+
count,
|
|
7
|
+
cycle,
|
|
8
|
+
enumerate,
|
|
9
|
+
every,
|
|
10
|
+
filter,
|
|
11
|
+
filterByKey,
|
|
12
|
+
first,
|
|
13
|
+
groupBy,
|
|
14
|
+
intersperse,
|
|
15
|
+
last,
|
|
16
|
+
map,
|
|
17
|
+
nth,
|
|
18
|
+
partition,
|
|
19
|
+
pick,
|
|
20
|
+
range,
|
|
21
|
+
skip,
|
|
22
|
+
slidingWindow,
|
|
23
|
+
some,
|
|
24
|
+
take,
|
|
25
|
+
tap,
|
|
26
|
+
tee,
|
|
27
|
+
unique,
|
|
28
|
+
uniqueBy,
|
|
29
|
+
unzip,
|
|
30
|
+
zip
|
|
31
|
+
} from "../chunk-WBSY6KRH.js";
|
|
32
|
+
import "../chunk-MG5VQSTV.js";
|
|
33
|
+
import "../chunk-6F4PWJZI.js";
|
|
34
|
+
import "../chunk-LJSF3QBT.js";
|
|
35
|
+
export {
|
|
36
|
+
associateBy,
|
|
37
|
+
chain,
|
|
38
|
+
chunk,
|
|
39
|
+
collect,
|
|
40
|
+
count,
|
|
41
|
+
cycle,
|
|
42
|
+
enumerate,
|
|
43
|
+
every,
|
|
44
|
+
filter,
|
|
45
|
+
filterByKey,
|
|
46
|
+
first,
|
|
47
|
+
groupBy,
|
|
48
|
+
intersperse,
|
|
49
|
+
last,
|
|
50
|
+
map,
|
|
51
|
+
nth,
|
|
52
|
+
partition,
|
|
53
|
+
pick,
|
|
54
|
+
range,
|
|
55
|
+
skip,
|
|
56
|
+
slidingWindow,
|
|
57
|
+
some,
|
|
58
|
+
take,
|
|
59
|
+
tap,
|
|
60
|
+
tee,
|
|
61
|
+
unique,
|
|
62
|
+
uniqueBy,
|
|
63
|
+
unzip,
|
|
64
|
+
zip
|
|
65
|
+
};
|