@jalvin/runtime 2.0.1 → 2.0.3

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 (61) hide show
  1. package/dist/bibi.d.ts +9 -0
  2. package/dist/bibi.d.ts.map +1 -1
  3. package/dist/bibi.js +42 -25
  4. package/dist/bibi.js.map +1 -1
  5. package/dist/index.d.ts +14 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +174 -177
  8. package/dist/index.js.map +1 -1
  9. package/dist/stdlib/collections.d.ts +73 -0
  10. package/dist/stdlib/collections.d.ts.map +1 -0
  11. package/dist/stdlib/collections.js +414 -0
  12. package/dist/stdlib/collections.js.map +1 -0
  13. package/dist/stdlib/conversions.d.ts +48 -0
  14. package/dist/stdlib/conversions.d.ts.map +1 -0
  15. package/dist/stdlib/conversions.js +153 -0
  16. package/dist/stdlib/conversions.js.map +1 -0
  17. package/dist/stdlib/delegates.d.ts +41 -0
  18. package/dist/stdlib/delegates.d.ts.map +1 -0
  19. package/dist/stdlib/delegates.js +116 -0
  20. package/dist/stdlib/delegates.js.map +1 -0
  21. package/dist/stdlib/equality.d.ts +9 -0
  22. package/dist/stdlib/equality.d.ts.map +1 -0
  23. package/dist/stdlib/equality.js +29 -0
  24. package/dist/stdlib/equality.js.map +1 -0
  25. package/dist/stdlib/index.d.ts +13 -0
  26. package/dist/stdlib/index.d.ts.map +1 -0
  27. package/dist/stdlib/index.js +74 -0
  28. package/dist/stdlib/index.js.map +1 -0
  29. package/dist/stdlib/io.d.ts +3 -0
  30. package/dist/stdlib/io.d.ts.map +1 -0
  31. package/dist/stdlib/io.js +14 -0
  32. package/dist/stdlib/io.js.map +1 -0
  33. package/dist/stdlib/math.d.ts +38 -0
  34. package/dist/stdlib/math.d.ts.map +1 -0
  35. package/dist/stdlib/math.js +68 -0
  36. package/dist/stdlib/math.js.map +1 -0
  37. package/dist/stdlib/random.d.ts +23 -0
  38. package/dist/stdlib/random.d.ts.map +1 -0
  39. package/dist/stdlib/random.js +41 -0
  40. package/dist/stdlib/random.js.map +1 -0
  41. package/dist/stdlib/regex.d.ts +30 -0
  42. package/dist/stdlib/regex.d.ts.map +1 -0
  43. package/dist/stdlib/regex.js +80 -0
  44. package/dist/stdlib/regex.js.map +1 -0
  45. package/dist/stdlib/result.d.ts +29 -0
  46. package/dist/stdlib/result.d.ts.map +1 -0
  47. package/dist/stdlib/result.js +96 -0
  48. package/dist/stdlib/result.js.map +1 -0
  49. package/dist/stdlib/strings.d.ts +35 -0
  50. package/dist/stdlib/strings.d.ts.map +1 -0
  51. package/dist/stdlib/strings.js +161 -0
  52. package/dist/stdlib/strings.js.map +1 -0
  53. package/dist/stdlib/timing.d.ts +12 -0
  54. package/dist/stdlib/timing.d.ts.map +1 -0
  55. package/dist/stdlib/timing.js +27 -0
  56. package/dist/stdlib/timing.js.map +1 -0
  57. package/dist/stdlib/types.d.ts +34 -0
  58. package/dist/stdlib/types.d.ts.map +1 -0
  59. package/dist/stdlib/types.js +82 -0
  60. package/dist/stdlib/types.js.map +1 -0
  61. package/package.json +7 -3
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────────────
3
+ // stdlib/collections.ts — Collection constructors, operators, and builders
4
+ // ─────────────────────────────────────────────────────────────────────────────
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.listOf = listOf;
7
+ exports.mutableListOf = mutableListOf;
8
+ exports.setOf = setOf;
9
+ exports.mutableSetOf = mutableSetOf;
10
+ exports.mapOf = mapOf;
11
+ exports.mutableMapOf = mutableMapOf;
12
+ exports.pairOf = pairOf;
13
+ exports.tripleOf = tripleOf;
14
+ exports.map = map;
15
+ exports.filter = filter;
16
+ exports.filterNotNull = filterNotNull;
17
+ exports.forEach = forEach;
18
+ exports.fold = fold;
19
+ exports.reduce = reduce;
20
+ exports.flatMap = flatMap;
21
+ exports.flatten = flatten;
22
+ exports.groupBy = groupBy;
23
+ exports.associate = associate;
24
+ exports.zip = zip;
25
+ exports.sumOf = sumOf;
26
+ exports.any = any;
27
+ exports.all = all;
28
+ exports.none = none;
29
+ exports.count = count;
30
+ exports.minOf = minOf;
31
+ exports.maxOf = maxOf;
32
+ exports.minOrNull = minOrNull;
33
+ exports.maxOrNull = maxOrNull;
34
+ exports.joinToString = joinToString;
35
+ exports.first = first;
36
+ exports.firstOrNull = firstOrNull;
37
+ exports.last = last;
38
+ exports.lastOrNull = lastOrNull;
39
+ exports.find = find;
40
+ exports.findLast = findLast;
41
+ exports.distinct = distinct;
42
+ exports.distinctBy = distinctBy;
43
+ exports.sortedBy = sortedBy;
44
+ exports.sortedByDescending = sortedByDescending;
45
+ exports.reversed = reversed;
46
+ exports.take = take;
47
+ exports.takeWhile = takeWhile;
48
+ exports.drop = drop;
49
+ exports.dropWhile = dropWhile;
50
+ exports.chunked = chunked;
51
+ exports.windowed = windowed;
52
+ exports.partition = partition;
53
+ exports.withIndex = withIndex;
54
+ exports.buildList = buildList;
55
+ exports.buildSet = buildSet;
56
+ exports.buildMap = buildMap;
57
+ const types_js_1 = require("./types.js");
58
+ // ─────────────────────────────────────────────────────────────────────────────
59
+ // Immutable and mutable factory functions
60
+ // ─────────────────────────────────────────────────────────────────────────────
61
+ function listOf(...items) {
62
+ return Object.freeze([...items]);
63
+ }
64
+ function mutableListOf(...items) {
65
+ return [...items];
66
+ }
67
+ function setOf(...items) {
68
+ return Object.freeze(new Set(items));
69
+ }
70
+ function mutableSetOf(...items) {
71
+ return new Set(items);
72
+ }
73
+ function mapOf(...entries) {
74
+ return Object.freeze(new Map(entries));
75
+ }
76
+ function mutableMapOf(...entries) {
77
+ return new Map(entries);
78
+ }
79
+ /** Creates a 2-element tuple. Use `Pair` from `conversions.ts` for the class form. */
80
+ function pairOf(first, second) {
81
+ return [first, second];
82
+ }
83
+ /** Creates a 3-element tuple. Use `Triple` from `conversions.ts` for the class form. */
84
+ function tripleOf(first, second, third) {
85
+ return [first, second, third];
86
+ }
87
+ // ─────────────────────────────────────────────────────────────────────────────
88
+ // Transformation operators
89
+ // ─────────────────────────────────────────────────────────────────────────────
90
+ function map(iterable, transform) {
91
+ const result = [];
92
+ for (const item of iterable)
93
+ result.push(transform(item));
94
+ return result;
95
+ }
96
+ function filter(iterable, predicate) {
97
+ const result = [];
98
+ for (const item of iterable)
99
+ if (predicate(item))
100
+ result.push(item);
101
+ return result;
102
+ }
103
+ function filterNotNull(iterable) {
104
+ const result = [];
105
+ for (const item of iterable)
106
+ if (item != null)
107
+ result.push(item);
108
+ return result;
109
+ }
110
+ function forEach(iterable, action) {
111
+ for (const item of iterable)
112
+ action(item);
113
+ }
114
+ function fold(iterable, initial, operation) {
115
+ let acc = initial;
116
+ for (const item of iterable)
117
+ acc = operation(acc, item);
118
+ return acc;
119
+ }
120
+ function reduce(iterable, operation) {
121
+ let first = true;
122
+ let acc;
123
+ for (const item of iterable) {
124
+ if (first) {
125
+ acc = item;
126
+ first = false;
127
+ }
128
+ else
129
+ acc = operation(acc, item);
130
+ }
131
+ if (first)
132
+ throw new types_js_1.NoSuchElementException("Collection is empty");
133
+ return acc;
134
+ }
135
+ function flatMap(iterable, transform) {
136
+ const result = [];
137
+ for (const item of iterable)
138
+ for (const inner of transform(item))
139
+ result.push(inner);
140
+ return result;
141
+ }
142
+ function flatten(iterable) {
143
+ const result = [];
144
+ for (const inner of iterable)
145
+ for (const item of inner)
146
+ result.push(item);
147
+ return result;
148
+ }
149
+ function groupBy(iterable, keySelector) {
150
+ const result = new Map();
151
+ for (const item of iterable) {
152
+ const key = keySelector(item);
153
+ const group = result.get(key);
154
+ if (group)
155
+ group.push(item);
156
+ else
157
+ result.set(key, [item]);
158
+ }
159
+ return result;
160
+ }
161
+ function associate(iterable, transform) {
162
+ const result = new Map();
163
+ for (const item of iterable) {
164
+ const [k, v] = transform(item);
165
+ result.set(k, v);
166
+ }
167
+ return result;
168
+ }
169
+ function zip(a, b) {
170
+ const len = Math.min(a.length, b.length);
171
+ const result = [];
172
+ for (let i = 0; i < len; i++)
173
+ result.push([a[i], b[i]]);
174
+ return result;
175
+ }
176
+ // ─────────────────────────────────────────────────────────────────────────────
177
+ // Aggregation operators
178
+ // ─────────────────────────────────────────────────────────────────────────────
179
+ function sumOf(iterable, selector) {
180
+ let sum = 0;
181
+ for (const item of iterable)
182
+ sum += selector(item);
183
+ return sum;
184
+ }
185
+ function any(iterable, predicate) {
186
+ for (const item of iterable)
187
+ if (predicate(item))
188
+ return true;
189
+ return false;
190
+ }
191
+ function all(iterable, predicate) {
192
+ for (const item of iterable)
193
+ if (!predicate(item))
194
+ return false;
195
+ return true;
196
+ }
197
+ function none(iterable, predicate) {
198
+ for (const item of iterable)
199
+ if (predicate(item))
200
+ return false;
201
+ return true;
202
+ }
203
+ function count(iterable, predicate) {
204
+ let n = 0;
205
+ for (const item of iterable)
206
+ if (!predicate || predicate(item))
207
+ n++;
208
+ return n;
209
+ }
210
+ function minOf(iterable, selector) {
211
+ let min = Infinity;
212
+ for (const item of iterable) {
213
+ const v = selector(item);
214
+ if (v < min)
215
+ min = v;
216
+ }
217
+ return min;
218
+ }
219
+ function maxOf(iterable, selector) {
220
+ let max = -Infinity;
221
+ for (const item of iterable) {
222
+ const v = selector(item);
223
+ if (v > max)
224
+ max = v;
225
+ }
226
+ return max;
227
+ }
228
+ function minOrNull(arr, selector) {
229
+ if (arr.length === 0)
230
+ return null;
231
+ let minItem = arr[0];
232
+ let minVal = selector(minItem);
233
+ for (let i = 1; i < arr.length; i++) {
234
+ const v = selector(arr[i]);
235
+ if (v < minVal) {
236
+ minVal = v;
237
+ minItem = arr[i];
238
+ }
239
+ }
240
+ return minItem;
241
+ }
242
+ function maxOrNull(arr, selector) {
243
+ if (arr.length === 0)
244
+ return null;
245
+ let maxItem = arr[0];
246
+ let maxVal = selector(maxItem);
247
+ for (let i = 1; i < arr.length; i++) {
248
+ const v = selector(arr[i]);
249
+ if (v > maxVal) {
250
+ maxVal = v;
251
+ maxItem = arr[i];
252
+ }
253
+ }
254
+ return maxItem;
255
+ }
256
+ function joinToString(iterable, separator = ", ", prefix = "", suffix = "", transform) {
257
+ const parts = [];
258
+ for (const item of iterable)
259
+ parts.push(transform ? transform(item) : String(item));
260
+ return prefix + parts.join(separator) + suffix;
261
+ }
262
+ // ─────────────────────────────────────────────────────────────────────────────
263
+ // Search operators
264
+ // ─────────────────────────────────────────────────────────────────────────────
265
+ function first(iterable, predicate) {
266
+ for (const item of iterable)
267
+ if (!predicate || predicate(item))
268
+ return item;
269
+ throw new types_js_1.NoSuchElementException("No element matching predicate");
270
+ }
271
+ function firstOrNull(iterable, predicate) {
272
+ for (const item of iterable)
273
+ if (!predicate || predicate(item))
274
+ return item;
275
+ return null;
276
+ }
277
+ function last(arr, predicate) {
278
+ for (let i = arr.length - 1; i >= 0; i--) {
279
+ if (!predicate || predicate(arr[i]))
280
+ return arr[i];
281
+ }
282
+ throw new types_js_1.NoSuchElementException("No element matching predicate");
283
+ }
284
+ function lastOrNull(arr, predicate) {
285
+ for (let i = arr.length - 1; i >= 0; i--) {
286
+ if (!predicate || predicate(arr[i]))
287
+ return arr[i];
288
+ }
289
+ return null;
290
+ }
291
+ function find(iterable, predicate) {
292
+ return firstOrNull(iterable, predicate);
293
+ }
294
+ function findLast(arr, predicate) {
295
+ return lastOrNull(arr, predicate);
296
+ }
297
+ // ─────────────────────────────────────────────────────────────────────────────
298
+ // Ordering and deduplication
299
+ // ─────────────────────────────────────────────────────────────────────────────
300
+ function distinct(iterable) {
301
+ return [...new Set(iterable)];
302
+ }
303
+ function distinctBy(iterable, selector) {
304
+ const seen = new Set();
305
+ const result = [];
306
+ for (const item of iterable) {
307
+ const key = selector(item);
308
+ if (!seen.has(key)) {
309
+ seen.add(key);
310
+ result.push(item);
311
+ }
312
+ }
313
+ return result;
314
+ }
315
+ function sortedBy(arr, selector) {
316
+ return [...arr].sort((a, b) => {
317
+ const ka = selector(a), kb = selector(b);
318
+ return ka < kb ? -1 : ka > kb ? 1 : 0;
319
+ });
320
+ }
321
+ function sortedByDescending(arr, selector) {
322
+ return [...arr].sort((a, b) => {
323
+ const ka = selector(a), kb = selector(b);
324
+ return ka > kb ? -1 : ka < kb ? 1 : 0;
325
+ });
326
+ }
327
+ function reversed(arr) {
328
+ return [...arr].reverse();
329
+ }
330
+ // ─────────────────────────────────────────────────────────────────────────────
331
+ // Slicing and windowing
332
+ // ─────────────────────────────────────────────────────────────────────────────
333
+ function take(arr, n) {
334
+ return arr.slice(0, n);
335
+ }
336
+ function takeWhile(iterable, predicate) {
337
+ const result = [];
338
+ for (const item of iterable) {
339
+ if (!predicate(item))
340
+ break;
341
+ result.push(item);
342
+ }
343
+ return result;
344
+ }
345
+ function drop(arr, n) {
346
+ return arr.slice(n);
347
+ }
348
+ function dropWhile(iterable, predicate) {
349
+ const result = [];
350
+ let dropping = true;
351
+ for (const item of iterable) {
352
+ if (dropping && predicate(item))
353
+ continue;
354
+ dropping = false;
355
+ result.push(item);
356
+ }
357
+ return result;
358
+ }
359
+ function chunked(arr, size) {
360
+ const result = [];
361
+ for (let i = 0; i < arr.length; i += size)
362
+ result.push(arr.slice(i, i + size));
363
+ return result;
364
+ }
365
+ function windowed(arr, size, step = 1) {
366
+ const result = [];
367
+ for (let i = 0; i <= arr.length - size; i += step)
368
+ result.push(arr.slice(i, i + size));
369
+ return result;
370
+ }
371
+ function partition(iterable, predicate) {
372
+ const yes = [], no = [];
373
+ for (const item of iterable)
374
+ (predicate(item) ? yes : no).push(item);
375
+ return [yes, no];
376
+ }
377
+ function withIndex(iterable) {
378
+ const result = [];
379
+ let i = 0;
380
+ for (const value of iterable)
381
+ result.push({ index: i++, value });
382
+ return result;
383
+ }
384
+ function buildList(fn) {
385
+ const arr = [];
386
+ fn({
387
+ add(item) { arr.push(item); },
388
+ addAll(items) { for (const i of items)
389
+ arr.push(i); },
390
+ get size() { return arr.length; },
391
+ });
392
+ return arr;
393
+ }
394
+ function buildSet(fn) {
395
+ const s = new Set();
396
+ fn({
397
+ add(item) { s.add(item); },
398
+ addAll(items) { for (const i of items)
399
+ s.add(i); },
400
+ get size() { return s.size; },
401
+ });
402
+ return s;
403
+ }
404
+ function buildMap(fn) {
405
+ const m = new Map();
406
+ fn({
407
+ put(key, value) { m.set(key, value); },
408
+ putAll(entries) { for (const [k, v] of entries)
409
+ m.set(k, v); },
410
+ get size() { return m.size; },
411
+ });
412
+ return m;
413
+ }
414
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/stdlib/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export declare function toInt(v: string | number | boolean): number;
2
+ export declare function toLong(v: string | number | boolean): number;
3
+ export declare function toFloat(v: string | number | boolean): number;
4
+ export declare function toDouble(v: string | number | boolean): number;
5
+ export declare function toChar(code: number): string;
6
+ export declare function charCodeOf(ch: string): number;
7
+ export declare function toString(v: unknown): string;
8
+ export declare class Pair<A, B> {
9
+ readonly first: A;
10
+ readonly second: B;
11
+ constructor(first: A, second: B);
12
+ toList(): [A, B];
13
+ [Symbol.iterator](): Iterator<A | B>;
14
+ copy(first?: A, second?: B): Pair<A, B>;
15
+ toString(): string;
16
+ }
17
+ export declare class Triple<A, B, C> {
18
+ readonly first: A;
19
+ readonly second: B;
20
+ readonly third: C;
21
+ constructor(first: A, second: B, third: C);
22
+ [Symbol.iterator](): Iterator<A | B | C>;
23
+ toString(): string;
24
+ }
25
+ /**
26
+ * `range(from, to, inclusive)` — emitted for `..` and `..<` range operators.
27
+ * Returns an iterable of numbers.
28
+ */
29
+ export declare function range(from: number, to: number, inclusive: boolean): Iterable<number>;
30
+ export declare class IntRange implements Iterable<number> {
31
+ readonly start: number;
32
+ readonly endInclusive: number;
33
+ readonly stepSize: number;
34
+ constructor(start: number, endInclusive: number, stepSize?: number);
35
+ get isEmpty(): boolean;
36
+ contains(n: number): boolean;
37
+ [Symbol.iterator](): Iterator<number>;
38
+ toList(): number[];
39
+ count(): number;
40
+ first(): number;
41
+ last(): number;
42
+ toString(): string;
43
+ }
44
+ /** `5 downTo 1` — desugars `5.downTo(1)` into a descending IntRange. */
45
+ export declare function downTo(start: number, end: number): IntRange;
46
+ /** `(1..10).step(2)` — creates an IntRange with a custom step. */
47
+ export declare function step(range_: IntRange, stepVal: number): IntRange;
48
+ //# sourceMappingURL=conversions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../src/stdlib/conversions.ts"],"names":[],"mappings":"AAQA,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAE1D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAE3D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAE7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE3C;AAMD,qBAAa,IAAI,CAAC,CAAC,EAAE,CAAC;IACR,QAAQ,CAAC,KAAK,EAAE,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAA5B,KAAK,EAAE,CAAC,EAAW,MAAM,EAAE,CAAC;IAEjD,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IAUpC,IAAI,CAAC,KAAK,IAAa,EAAE,MAAM,IAAc,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAI1D,QAAQ,IAAI,MAAM;CACnB;AAED,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAA/C,KAAK,EAAE,CAAC,EAAW,MAAM,EAAE,CAAC,EAAW,KAAK,EAAE,CAAC;IAEpE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAUxC,QAAQ,IAAI,MAAM;CACnB;AAMD;;;GAGG;AACH,wBAAiB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAIrF;AAED,qBAAa,QAAS,YAAW,QAAQ,CAAC,MAAM,CAAC;IAE7C,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAFhB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,MAAU;IAG/B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAK5B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IAiBrC,MAAM,IAAM,MAAM,EAAE;IACpB,KAAK,IAAO,MAAM;IAClB,KAAK,IAAO,MAAM;IAClB,IAAI,IAAQ,MAAM;IAKlB,QAAQ,IAAI,MAAM;CACnB;AAED,wEAAwE;AACxE,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAE3D;AAED,kEAAkE;AAClE,wBAAgB,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAEhE"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────────────
3
+ // stdlib/conversions.ts — Type conversions, Pair/Triple, and range types
4
+ // ─────────────────────────────────────────────────────────────────────────────
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IntRange = exports.Triple = exports.Pair = void 0;
7
+ exports.toInt = toInt;
8
+ exports.toLong = toLong;
9
+ exports.toFloat = toFloat;
10
+ exports.toDouble = toDouble;
11
+ exports.toChar = toChar;
12
+ exports.charCodeOf = charCodeOf;
13
+ exports.toString = toString;
14
+ exports.range = range;
15
+ exports.downTo = downTo;
16
+ exports.step = step;
17
+ // ─────────────────────────────────────────────────────────────────────────────
18
+ // Primitive type conversions
19
+ // ─────────────────────────────────────────────────────────────────────────────
20
+ function toInt(v) {
21
+ return typeof v === "boolean" ? (v ? 1 : 0) : Math.trunc(Number(v));
22
+ }
23
+ function toLong(v) {
24
+ return toInt(v);
25
+ }
26
+ function toFloat(v) {
27
+ return Number(v);
28
+ }
29
+ function toDouble(v) {
30
+ return Number(v);
31
+ }
32
+ function toChar(code) {
33
+ return String.fromCharCode(code);
34
+ }
35
+ function charCodeOf(ch) {
36
+ return ch.charCodeAt(0);
37
+ }
38
+ function toString(v) {
39
+ return String(v);
40
+ }
41
+ // ─────────────────────────────────────────────────────────────────────────────
42
+ // Pair and Triple — structured 2- and 3-element tuples
43
+ // ─────────────────────────────────────────────────────────────────────────────
44
+ class Pair {
45
+ first;
46
+ second;
47
+ constructor(first, second) {
48
+ this.first = first;
49
+ this.second = second;
50
+ }
51
+ toList() { return [this.first, this.second]; }
52
+ [Symbol.iterator]() {
53
+ let i = 0;
54
+ const vals = [this.first, this.second];
55
+ return {
56
+ next: () => i < vals.length
57
+ ? { value: vals[i++], done: false }
58
+ : { value: undefined, done: true },
59
+ };
60
+ }
61
+ copy(first = this.first, second = this.second) {
62
+ return new Pair(first, second);
63
+ }
64
+ toString() { return `(${this.first}, ${this.second})`; }
65
+ }
66
+ exports.Pair = Pair;
67
+ class Triple {
68
+ first;
69
+ second;
70
+ third;
71
+ constructor(first, second, third) {
72
+ this.first = first;
73
+ this.second = second;
74
+ this.third = third;
75
+ }
76
+ [Symbol.iterator]() {
77
+ let i = 0;
78
+ const vals = [this.first, this.second, this.third];
79
+ return {
80
+ next: () => i < vals.length
81
+ ? { value: vals[i++], done: false }
82
+ : { value: undefined, done: true },
83
+ };
84
+ }
85
+ toString() { return `(${this.first}, ${this.second}, ${this.third})`; }
86
+ }
87
+ exports.Triple = Triple;
88
+ // ─────────────────────────────────────────────────────────────────────────────
89
+ // Range types — back the `..`, `..<`, `downTo`, and `step` operators
90
+ // ─────────────────────────────────────────────────────────────────────────────
91
+ /**
92
+ * `range(from, to, inclusive)` — emitted for `..` and `..<` range operators.
93
+ * Returns an iterable of numbers.
94
+ */
95
+ function* range(from, to, inclusive) {
96
+ for (let i = from; inclusive ? i <= to : i < to; i++) {
97
+ yield i;
98
+ }
99
+ }
100
+ class IntRange {
101
+ start;
102
+ endInclusive;
103
+ stepSize;
104
+ constructor(start, endInclusive, stepSize = 1) {
105
+ this.start = start;
106
+ this.endInclusive = endInclusive;
107
+ this.stepSize = stepSize;
108
+ }
109
+ get isEmpty() {
110
+ return this.stepSize > 0 ? this.start > this.endInclusive : this.start < this.endInclusive;
111
+ }
112
+ contains(n) {
113
+ if (this.stepSize > 0)
114
+ return n >= this.start && n <= this.endInclusive;
115
+ return n <= this.start && n >= this.endInclusive;
116
+ }
117
+ [Symbol.iterator]() {
118
+ let current = this.start;
119
+ const end = this.endInclusive;
120
+ const stepSize = this.stepSize;
121
+ return {
122
+ next() {
123
+ const inRange = stepSize > 0 ? current <= end : current >= end;
124
+ if (inRange) {
125
+ const value = current;
126
+ current += stepSize;
127
+ return { value, done: false };
128
+ }
129
+ return { value: 0, done: true };
130
+ },
131
+ };
132
+ }
133
+ toList() { return [...this]; }
134
+ count() { return Math.max(0, Math.floor((this.endInclusive - this.start) / this.stepSize) + 1); }
135
+ first() { return this.start; }
136
+ last() {
137
+ if (this.stepSize === 0)
138
+ return this.start;
139
+ const n = Math.floor((this.endInclusive - this.start) / this.stepSize);
140
+ return this.start + n * this.stepSize;
141
+ }
142
+ toString() { return `${this.start}..${this.endInclusive} step ${this.stepSize}`; }
143
+ }
144
+ exports.IntRange = IntRange;
145
+ /** `5 downTo 1` — desugars `5.downTo(1)` into a descending IntRange. */
146
+ function downTo(start, end) {
147
+ return new IntRange(start, end, -1);
148
+ }
149
+ /** `(1..10).step(2)` — creates an IntRange with a custom step. */
150
+ function step(range_, stepVal) {
151
+ return new IntRange(range_.start, range_.endInclusive, stepVal);
152
+ }
153
+ //# sourceMappingURL=conversions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../src/stdlib/conversions.ts"],"names":[],"mappings":"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"}