@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.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/dist/array.d.ts +209 -0
  4. package/dist/array.js +41 -0
  5. package/dist/async/index.d.ts +48 -0
  6. package/dist/async/index.js +155 -0
  7. package/dist/bytes.d.ts +38 -0
  8. package/dist/bytes.js +35 -0
  9. package/dist/chunk-6F4PWJZI.js +0 -0
  10. package/dist/chunk-C2DS6YRJ.js +1664 -0
  11. package/dist/chunk-DO4NH5XG.js +523 -0
  12. package/dist/chunk-EWSJTMH2.js +68 -0
  13. package/dist/chunk-ILLWUQPY.js +139 -0
  14. package/dist/chunk-LJSF3QBT.js +122 -0
  15. package/dist/chunk-MG5VQSTV.js +89 -0
  16. package/dist/chunk-TMLWLR46.js +12 -0
  17. package/dist/chunk-WBSY6KRH.js +358 -0
  18. package/dist/cmath/index.d.ts +57 -0
  19. package/dist/cmath/index.js +187 -0
  20. package/dist/cmp.d.ts +11 -0
  21. package/dist/cmp.js +12 -0
  22. package/dist/csv.d.ts +3 -0
  23. package/dist/csv.js +16 -0
  24. package/dist/easing.d.ts +37 -0
  25. package/dist/easing.js +157 -0
  26. package/dist/events.d.ts +20 -0
  27. package/dist/events.js +67 -0
  28. package/dist/fn/index.d.ts +66 -0
  29. package/dist/fn/index.js +25 -0
  30. package/dist/gfx/index.d.ts +13 -0
  31. package/dist/gfx/index.js +68 -0
  32. package/dist/iter/index.d.ts +226 -0
  33. package/dist/iter/index.js +65 -0
  34. package/dist/math/index.d.ts +463 -0
  35. package/dist/math/index.js +129 -0
  36. package/dist/object.d.ts +72 -0
  37. package/dist/object.js +24 -0
  38. package/dist/random.d.ts +68 -0
  39. package/dist/random.js +22 -0
  40. package/dist/string/index.d.ts +62 -0
  41. package/dist/string/index.js +98 -0
  42. package/dist/structs/index.d.ts +184 -0
  43. package/dist/structs/index.js +24 -0
  44. package/dist/time/index.d.ts +35 -0
  45. package/dist/time/index.js +84 -0
  46. package/dist/types.d.ts +21 -0
  47. package/dist/types.js +1 -0
  48. package/dist/vec3-D7Wuy2AZ.d.ts +70 -0
  49. 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
+ };