@jalvin/runtime 2.0.42 → 2.0.43

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 (53) hide show
  1. package/dist/bibi.d.ts +0 -4
  2. package/dist/bibi.d.ts.map +1 -1
  3. package/dist/bibi.js +9 -11
  4. package/dist/bibi.js.map +1 -1
  5. package/dist/coroutines.js +47 -22
  6. package/dist/coroutines.js.map +1 -1
  7. package/dist/index.d.ts +2 -5
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +224 -20
  10. package/dist/index.js.map +1 -1
  11. package/dist/stateflow.js +19 -8
  12. package/dist/stateflow.js.map +1 -1
  13. package/dist/stdlib/collections.js +108 -55
  14. package/dist/stdlib/collections.js.map +1 -1
  15. package/dist/stdlib/conversions.d.ts +0 -2
  16. package/dist/stdlib/conversions.d.ts.map +1 -1
  17. package/dist/stdlib/conversions.js +29 -17
  18. package/dist/stdlib/conversions.js.map +1 -1
  19. package/dist/stdlib/delegates.js +28 -14
  20. package/dist/stdlib/delegates.js.map +1 -1
  21. package/dist/stdlib/equality.js +4 -1
  22. package/dist/stdlib/equality.js.map +1 -1
  23. package/dist/stdlib/index.js +28 -12
  24. package/dist/stdlib/index.js.map +1 -1
  25. package/dist/stdlib/io.js +6 -2
  26. package/dist/stdlib/io.js.map +1 -1
  27. package/dist/stdlib/math.js +37 -29
  28. package/dist/stdlib/math.js.map +1 -1
  29. package/dist/stdlib/random.js +8 -3
  30. package/dist/stdlib/random.js.map +1 -1
  31. package/dist/stdlib/regex.js +8 -4
  32. package/dist/stdlib/regex.js.map +1 -1
  33. package/dist/stdlib/result.js +9 -3
  34. package/dist/stdlib/result.js.map +1 -1
  35. package/dist/stdlib/strings.js +51 -24
  36. package/dist/stdlib/strings.js.map +1 -1
  37. package/dist/stdlib/timing.js +8 -3
  38. package/dist/stdlib/timing.js.map +1 -1
  39. package/dist/stdlib/types.js +29 -13
  40. package/dist/stdlib/types.js.map +1 -1
  41. package/dist/ui.d.ts +69 -12
  42. package/dist/ui.d.ts.map +1 -1
  43. package/dist/ui.js +228 -127
  44. package/dist/ui.js.map +1 -1
  45. package/package.json +1 -1
  46. package/dist/dom.d.ts +0 -15
  47. package/dist/dom.d.ts.map +0 -1
  48. package/dist/dom.js +0 -212
  49. package/dist/dom.js.map +0 -1
  50. package/dist/nav.d.ts +0 -48
  51. package/dist/nav.d.ts.map +0 -1
  52. package/dist/nav.js +0 -136
  53. package/dist/nav.js.map +0 -1
@@ -1,30 +1,56 @@
1
+ "use strict";
1
2
  // ─────────────────────────────────────────────────────────────────────────────
2
3
  // stdlib/strings.ts — String utilities and StringBuilder
3
4
  // ─────────────────────────────────────────────────────────────────────────────
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StringBuilder = void 0;
7
+ exports.isBlank = isBlank;
8
+ exports.isNotBlank = isNotBlank;
9
+ exports.isNullOrBlank = isNullOrBlank;
10
+ exports.toIntOrNull = toIntOrNull;
11
+ exports.toDoubleOrNull = toDoubleOrNull;
12
+ exports.toBooleanOrNull = toBooleanOrNull;
13
+ exports.padStart = padStart;
14
+ exports.padEnd = padEnd;
15
+ exports.repeat_ = repeat_;
16
+ exports.capitalize = capitalize;
17
+ exports.decapitalize = decapitalize;
18
+ exports.substringBefore = substringBefore;
19
+ exports.substringAfter = substringAfter;
20
+ exports.substringBeforeLast = substringBeforeLast;
21
+ exports.substringAfterLast = substringAfterLast;
22
+ exports.removePrefix = removePrefix;
23
+ exports.removeSuffix = removeSuffix;
24
+ exports.lines = lines;
25
+ exports.lineSequence = lineSequence;
26
+ exports.ifEmpty = ifEmpty;
27
+ exports.ifBlank = ifBlank;
28
+ exports.trimIndent = trimIndent;
29
+ exports.buildString = buildString;
4
30
  // ─────────────────────────────────────────────────────────────────────────────
5
31
  // String predicates
6
32
  // ─────────────────────────────────────────────────────────────────────────────
7
- export function isBlank(s) {
33
+ function isBlank(s) {
8
34
  return s.trim().length === 0;
9
35
  }
10
- export function isNotBlank(s) {
36
+ function isNotBlank(s) {
11
37
  return s.trim().length > 0;
12
38
  }
13
- export function isNullOrBlank(s) {
39
+ function isNullOrBlank(s) {
14
40
  return s == null || s.trim().length === 0;
15
41
  }
16
42
  // ─────────────────────────────────────────────────────────────────────────────
17
43
  // Parsing with fallback
18
44
  // ─────────────────────────────────────────────────────────────────────────────
19
- export function toIntOrNull(s) {
45
+ function toIntOrNull(s) {
20
46
  const n = parseInt(s, 10);
21
47
  return isNaN(n) ? null : n;
22
48
  }
23
- export function toDoubleOrNull(s) {
49
+ function toDoubleOrNull(s) {
24
50
  const n = parseFloat(s);
25
51
  return isNaN(n) ? null : n;
26
52
  }
27
- export function toBooleanOrNull(s) {
53
+ function toBooleanOrNull(s) {
28
54
  if (s.toLowerCase() === "true")
29
55
  return true;
30
56
  if (s.toLowerCase() === "false")
@@ -34,71 +60,71 @@ export function toBooleanOrNull(s) {
34
60
  // ─────────────────────────────────────────────────────────────────────────────
35
61
  // Padding and repetition
36
62
  // ─────────────────────────────────────────────────────────────────────────────
37
- export function padStart(s, length, padChar = " ") {
63
+ function padStart(s, length, padChar = " ") {
38
64
  return s.padStart(length, padChar);
39
65
  }
40
- export function padEnd(s, length, padChar = " ") {
66
+ function padEnd(s, length, padChar = " ") {
41
67
  return s.padEnd(length, padChar);
42
68
  }
43
- export function repeat_(s, n) {
69
+ function repeat_(s, n) {
44
70
  return s.repeat(n);
45
71
  }
46
72
  // ─────────────────────────────────────────────────────────────────────────────
47
73
  // Case and casing helpers
48
74
  // ─────────────────────────────────────────────────────────────────────────────
49
- export function capitalize(s) {
75
+ function capitalize(s) {
50
76
  return s.length === 0 ? s : s[0].toUpperCase() + s.slice(1);
51
77
  }
52
- export function decapitalize(s) {
78
+ function decapitalize(s) {
53
79
  return s.length === 0 ? s : s[0].toLowerCase() + s.slice(1);
54
80
  }
55
81
  // ─────────────────────────────────────────────────────────────────────────────
56
82
  // Substring extraction
57
83
  // ─────────────────────────────────────────────────────────────────────────────
58
- export function substringBefore(s, delimiter) {
84
+ function substringBefore(s, delimiter) {
59
85
  const idx = s.indexOf(delimiter);
60
86
  return idx === -1 ? s : s.slice(0, idx);
61
87
  }
62
- export function substringAfter(s, delimiter) {
88
+ function substringAfter(s, delimiter) {
63
89
  const idx = s.indexOf(delimiter);
64
90
  return idx === -1 ? "" : s.slice(idx + delimiter.length);
65
91
  }
66
- export function substringBeforeLast(s, delimiter) {
92
+ function substringBeforeLast(s, delimiter) {
67
93
  const idx = s.lastIndexOf(delimiter);
68
94
  return idx === -1 ? s : s.slice(0, idx);
69
95
  }
70
- export function substringAfterLast(s, delimiter) {
96
+ function substringAfterLast(s, delimiter) {
71
97
  const idx = s.lastIndexOf(delimiter);
72
98
  return idx === -1 ? "" : s.slice(idx + delimiter.length);
73
99
  }
74
- export function removePrefix(s, prefix) {
100
+ function removePrefix(s, prefix) {
75
101
  return s.startsWith(prefix) ? s.slice(prefix.length) : s;
76
102
  }
77
- export function removeSuffix(s, suffix) {
103
+ function removeSuffix(s, suffix) {
78
104
  return s.endsWith(suffix) ? s.slice(0, s.length - suffix.length) : s;
79
105
  }
80
106
  // ─────────────────────────────────────────────────────────────────────────────
81
107
  // Line splitting
82
108
  // ─────────────────────────────────────────────────────────────────────────────
83
- export function lines(s) {
109
+ function lines(s) {
84
110
  return s.split(/\r?\n/);
85
111
  }
86
- export function lineSequence(s) {
112
+ function lineSequence(s) {
87
113
  return lines(s);
88
114
  }
89
115
  // ─────────────────────────────────────────────────────────────────────────────
90
116
  // Default-if-empty helpers
91
117
  // ─────────────────────────────────────────────────────────────────────────────
92
- export function ifEmpty(value, default_) {
118
+ function ifEmpty(value, default_) {
93
119
  return (value == null || value.length === 0) ? default_() : value;
94
120
  }
95
- export function ifBlank(value, default_) {
121
+ function ifBlank(value, default_) {
96
122
  return (value == null || value.trim().length === 0) ? default_() : value;
97
123
  }
98
124
  // ─────────────────────────────────────────────────────────────────────────────
99
125
  // Indent trimming — strips the common leading whitespace from all lines
100
126
  // ─────────────────────────────────────────────────────────────────────────────
101
- export function trimIndent(s) {
127
+ function trimIndent(s) {
102
128
  const allLines = s.split("\n");
103
129
  const nonEmpty = allLines.filter((l) => l.trim().length > 0);
104
130
  const minIndent = nonEmpty.reduce((min, l) => {
@@ -115,7 +141,7 @@ export function trimIndent(s) {
115
141
  // ─────────────────────────────────────────────────────────────────────────────
116
142
  // StringBuilder — mutable string builder for efficient concatenation
117
143
  // ─────────────────────────────────────────────────────────────────────────────
118
- export class StringBuilder {
144
+ class StringBuilder {
119
145
  _parts = [];
120
146
  append(s) { this._parts.push(String(s ?? "")); return this; }
121
147
  appendLine(s = "") { this._parts.push(String(s), "\n"); return this; }
@@ -126,7 +152,8 @@ export class StringBuilder {
126
152
  isNotEmpty() { return this.length > 0; }
127
153
  toString() { return this._parts.join(""); }
128
154
  }
129
- export function buildString(fn) {
155
+ exports.StringBuilder = StringBuilder;
156
+ function buildString(fn) {
130
157
  const sb = new StringBuilder();
131
158
  fn(sb);
132
159
  return sb.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/stdlib/strings.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yDAAyD;AACzD,gFAAgF;AAEhF,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAA4B;IACxD,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;QAAG,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,MAAc,EAAE,OAAO,GAAG,GAAG;IAC/D,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAS,EAAE,MAAc,EAAE,OAAO,GAAG,GAAG;IAC7D,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,SAAiB;IAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,SAAiB;IACzD,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,SAAiB;IAC9D,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAS,EAAE,SAAiB;IAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,MAAc;IACpD,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,MAAc;IACpD,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,UAAU,KAAK,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,MAAM,UAAU,OAAO,CAAsC,KAAQ,EAAE,QAAiB;IACtF,OAAO,CAAC,KAAK,IAAI,IAAI,IAAK,KAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,OAAO,CAAsC,KAAQ,EAAE,QAAiB;IACtF,OAAO,CAAC,KAAK,IAAI,IAAI,IAAK,KAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACvF,CAAC;AAED,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAEhF,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,MAAM,QAAQ,GAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,QAAQ,CAAC,CAAC;IACb,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAClC,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,qEAAqE;AACrE,gFAAgF;AAEhF,MAAM,OAAO,aAAa;IACP,MAAM,GAAa,EAAE,CAAC;IAEvC,MAAM,CAAC,CAAU,IAAc,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAChF,UAAU,CAAC,IAAa,EAAE,IAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,CAAU,IAAa,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACnF,KAAK,KAA0B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAErE,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,KAAkB,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,UAAU,KAAe,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,QAAQ,KAAiB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,UAAU,WAAW,CAAC,EAA+B;IACzD,MAAM,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;IAC/B,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/stdlib/strings.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,25 @@
1
+ "use strict";
1
2
  // ─────────────────────────────────────────────────────────────────────────────
2
3
  // stdlib/timing.ts — Performance measurement utilities
3
4
  // ─────────────────────────────────────────────────────────────────────────────
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.measureTimeMillis = measureTimeMillis;
7
+ exports.measureTimeMillisAsync = measureTimeMillisAsync;
8
+ exports.measureTimedValue = measureTimedValue;
4
9
  /** Measures how long a synchronous block takes in milliseconds. */
5
- export function measureTimeMillis(fn) {
10
+ function measureTimeMillis(fn) {
6
11
  const start = performance.now();
7
12
  fn();
8
13
  return Math.round(performance.now() - start);
9
14
  }
10
15
  /** Measures how long an async block takes in milliseconds. */
11
- export async function measureTimeMillisAsync(fn) {
16
+ async function measureTimeMillisAsync(fn) {
12
17
  const start = performance.now();
13
18
  await fn();
14
19
  return Math.round(performance.now() - start);
15
20
  }
16
21
  /** Runs a block and returns both its result and the elapsed time. */
17
- export function measureTimedValue(fn) {
22
+ function measureTimedValue(fn) {
18
23
  const start = performance.now();
19
24
  const value = fn();
20
25
  return { value, duration: Math.round(performance.now() - start) };
@@ -1 +1 @@
1
- {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/stdlib/timing.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAQhF,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,EAAc;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,EAAE,EAAE,CAAC;IACL,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAuB;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,iBAAiB,CAAI,EAAW;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/stdlib/timing.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;;AAShF,8CAIC;AAGD,wDAIC;AAGD,8CAIC;AAnBD,mEAAmE;AACnE,SAAgB,iBAAiB,CAAC,EAAc;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,EAAE,EAAE,CAAC;IACL,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,8DAA8D;AACvD,KAAK,UAAU,sBAAsB,CAAC,EAAuB;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,SAAgB,iBAAiB,CAAI,EAAW;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACpE,CAAC"}
@@ -1,66 +1,82 @@
1
+ "use strict";
1
2
  // ─────────────────────────────────────────────────────────────────────────────
2
3
  // stdlib/types.ts — Null safety, preconditions, and exception classes
3
4
  // ─────────────────────────────────────────────────────────────────────────────
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NoSuchElementException = exports.IndexOutOfBoundsException = exports.UnsupportedOperationException = exports.IllegalStateException = exports.IllegalArgumentException = exports.NullPointerException = void 0;
7
+ exports.notNull = notNull;
8
+ exports.safeCast = safeCast;
9
+ exports.checkNotNull = checkNotNull;
10
+ exports.requireNotNull = requireNotNull;
11
+ exports.requireCondition = requireCondition;
12
+ exports.check = check;
13
+ exports.error = error;
4
14
  /**
5
15
  * `notNull(value)` — emitted for Jalvin's `!!` operator.
6
16
  * Throws if value is null/undefined, otherwise returns the value.
7
17
  */
8
- export function notNull(value) {
18
+ function notNull(value) {
9
19
  if (value === null || value === undefined) {
10
20
  throw new NullPointerException("!! operator invoked on null or undefined value");
11
21
  }
12
22
  return value;
13
23
  }
14
- export class NullPointerException extends Error {
24
+ class NullPointerException extends Error {
15
25
  constructor(message = "Value was null") {
16
26
  super(message);
17
27
  this.name = "NullPointerException";
18
28
  }
19
29
  }
30
+ exports.NullPointerException = NullPointerException;
20
31
  /**
21
32
  * `safeCast<T>(value, Type)` — emitted for Jalvin's `as?` operator.
22
33
  * Returns the value if it's an instanceof Type, otherwise returns null.
23
34
  */
24
- export function safeCast(value,
35
+ function safeCast(value,
25
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
37
  Type) {
27
38
  return value instanceof Type ? value : null;
28
39
  }
29
- export function checkNotNull(value, message = "Value must not be null") {
40
+ function checkNotNull(value, message = "Value must not be null") {
30
41
  return notNull(value) ?? (() => { throw new NullPointerException(message); })();
31
42
  }
32
- export function requireNotNull(value, message = "Required value was null") {
43
+ function requireNotNull(value, message = "Required value was null") {
33
44
  return notNull(value);
34
45
  }
35
- export function requireCondition(condition, message = "Requirement failed") {
46
+ function requireCondition(condition, message = "Requirement failed") {
36
47
  if (!condition) {
37
48
  throw new IllegalArgumentException(typeof message === "function" ? message() : message);
38
49
  }
39
50
  }
40
- export function check(condition, message = "Check failed") {
51
+ function check(condition, message = "Check failed") {
41
52
  if (!condition) {
42
53
  throw new IllegalStateException(typeof message === "function" ? message() : message);
43
54
  }
44
55
  }
45
- export function error(message) {
56
+ function error(message) {
46
57
  throw new IllegalStateException(message);
47
58
  }
48
59
  // ─────────────────────────────────────────────────────────────────────────────
49
60
  // Standard exception hierarchy
50
61
  // ─────────────────────────────────────────────────────────────────────────────
51
- export class IllegalArgumentException extends Error {
62
+ class IllegalArgumentException extends Error {
52
63
  constructor(message) { super(message); this.name = "IllegalArgumentException"; }
53
64
  }
54
- export class IllegalStateException extends Error {
65
+ exports.IllegalArgumentException = IllegalArgumentException;
66
+ class IllegalStateException extends Error {
55
67
  constructor(message) { super(message); this.name = "IllegalStateException"; }
56
68
  }
57
- export class UnsupportedOperationException extends Error {
69
+ exports.IllegalStateException = IllegalStateException;
70
+ class UnsupportedOperationException extends Error {
58
71
  constructor(message = "Operation is not supported") { super(message); this.name = "UnsupportedOperationException"; }
59
72
  }
60
- export class IndexOutOfBoundsException extends Error {
73
+ exports.UnsupportedOperationException = UnsupportedOperationException;
74
+ class IndexOutOfBoundsException extends Error {
61
75
  constructor(message = "Index out of bounds") { super(message); this.name = "IndexOutOfBoundsException"; }
62
76
  }
63
- export class NoSuchElementException extends Error {
77
+ exports.IndexOutOfBoundsException = IndexOutOfBoundsException;
78
+ class NoSuchElementException extends Error {
64
79
  constructor(message = "No such element") { super(message); this.name = "NoSuchElementException"; }
65
80
  }
81
+ exports.NoSuchElementException = NoSuchElementException;
66
82
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stdlib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stdlib/types.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts CHANGED
@@ -1,44 +1,101 @@
1
1
  import type { StateFlow } from "./stateflow.js";
2
+ import { ViewModel } from "./stateflow.js";
2
3
  export interface MutableState<T> {
3
4
  value: T;
4
5
  }
5
6
  /**
6
- * Returns a reactive state holder.
7
+ * Hoisted `mutableStateOf(initial)` inside a `component fun`.
8
+ * Returns a mutable object whose `.value` setter triggers a re-render.
9
+ *
10
+ * Compiled output:
11
+ * val count = mutableStateOf(0)
12
+ * → const count = mutableStateOf(0);
13
+ * // count.value to read; count.value = x to update
7
14
  */
8
15
  export declare function mutableStateOf<T>(initial: T): MutableState<T>;
9
16
  /**
10
- * Persists a value across re-renders.
17
+ * Compute an expensive value once and remember it.
18
+ *
19
+ * val scope = remember { CoroutineScope() }
11
20
  */
12
21
  export declare function remember<T>(compute: () => T, deps?: readonly unknown[]): T;
13
22
  /**
14
- * Convenience wrapper.
23
+ * `remember { mutableStateOf(0) }` — convenience wrapper.
15
24
  */
16
25
  export declare function rememberMutableStateOf<T>(initial: T): MutableState<T>;
17
26
  /**
18
- * Collects a StateFlow into reactive state, persisting the subscription across renders.
27
+ * Collects a StateFlow into React state. The component re-renders when
28
+ * the flow emits a new value.
29
+ *
30
+ * val currentName by viewModel.name.collectAsState()
19
31
  */
20
32
  export declare function collectAsState<T>(flow: StateFlow<T>): T;
21
33
  /**
22
- * Runs an effect tied to "component" execution.
34
+ * Returns a shared ViewModel instance for the given key.
35
+ *
36
+ * val vm = useViewModel("CounterVm") { CounterViewModel() }
37
+ */
38
+ export declare function useViewModel<T extends ViewModel>(key: string, factory: () => T): T;
39
+ /**
40
+ * Runs a suspend block when deps change. Cancels on unmount.
41
+ *
42
+ * LaunchedEffect(Unit) {
43
+ * repeat(10) { delay(1_000) }
44
+ * }
23
45
  */
24
46
  export declare function LaunchedEffect(deps: readonly unknown[], fn: () => Promise<void>): void;
25
47
  export declare function DisposableEffect(deps: readonly unknown[], fn: () => (() => void)): void;
26
48
  export declare function SideEffect(fn: () => void): void;
27
49
  export type WindowSizeClass = "Compact" | "Medium" | "Expanded";
50
+ /** @internal — exported for testing */
28
51
  export declare function widthToSizeClass(widthPx: number): WindowSizeClass;
52
+ /** @internal — exported for testing */
29
53
  export declare function heightToSizeClass(heightPx: number): WindowSizeClass;
30
54
  export interface WindowSizeClassState {
31
55
  widthSizeClass: WindowSizeClass;
32
56
  heightSizeClass: WindowSizeClass;
33
57
  }
34
- export declare function calculateWindowSizeClass(): WindowSizeClassState;
58
+ /**
59
+ * Mount once at the app root. Registers a single `resize` listener and
60
+ * distributes the current {@link WindowSizeClassState} to all descendants
61
+ * that call {@link calculateWindowSizeClass}.
62
+ *
63
+ * The vite-plugin entry module wraps the root component in this provider
64
+ * automatically when the `entry` option is used.
65
+ *
66
+ * @example
67
+ * ```jalvin
68
+ * // main entry
69
+ * root.render(
70
+ * WindowSizeClassProvider { MyApp() }
71
+ * )
72
+ * ```
73
+ */
35
74
  export declare function WindowSizeClassProvider({ children }: {
36
- children?: any;
37
- }): any;
38
- export { viewModel as useViewModel } from "./stateflow.js";
39
- import type { VNode } from "./dom.js";
75
+ children?: import("react").ReactNode;
76
+ }): import("react").ReactElement;
40
77
  /**
41
- * Mounts a Jalvin component to the DOM and sets up the re-render loop.
78
+ * Returns the current {@link WindowSizeClassState}. Re-renders only when the
79
+ * window crosses a breakpoint boundary.
80
+ *
81
+ * Requires {@link WindowSizeClassProvider} to be mounted somewhere above this
82
+ * component in the tree (the vite-plugin does this automatically). If no
83
+ * provider is found the hook falls back to "Expanded/Medium" and logs a
84
+ * warning in development.
85
+ *
86
+ * Mirrors `calculateWindowSizeClass()` from Compose Material3 Adaptive.
87
+ *
88
+ * @example
89
+ * ```jalvin
90
+ * component fun AdaptiveLayout() {
91
+ * val windowSize = calculateWindowSizeClass()
92
+ * if (windowSize.widthSizeClass == "Compact") {
93
+ * MobileLayout()
94
+ * } else {
95
+ * DesktopLayout()
96
+ * }
97
+ * }
98
+ * ```
42
99
  */
43
- export declare function render(rootComponent: () => VNode, container: HTMLElement): void;
100
+ export declare function calculateWindowSizeClass(): WindowSizeClassState;
44
101
  //# sourceMappingURL=ui.d.ts.map
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoDhD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAmB9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAKN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE/C;AAID,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAgBD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,GAAG,CAE7E;AAID,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAkC/E"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAyC,MAAM,gBAAgB,CAAC;AAMlF,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CA0B7D;AAMD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAG9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAIrE;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CASvD;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAC9C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,GACf,CAAC,CASH;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,IAAI,CAWN;AAMD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAON;AAMD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAG/C;AAWD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAA;CAAE,GACrD,OAAO,OAAO,EAAE,YAAY,CA2B9B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,IAAI,oBAAoB,CAG/D"}