@rezless/vm 0.4.0 → 0.6.0

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 (148) hide show
  1. package/dist/builtins/base64.d.ts.map +1 -1
  2. package/dist/builtins/base64.js +29 -2
  3. package/dist/builtins/base64.js.map +1 -1
  4. package/dist/builtins/chat.d.ts +7 -1
  5. package/dist/builtins/chat.d.ts.map +1 -1
  6. package/dist/builtins/chat.js +26 -29
  7. package/dist/builtins/chat.js.map +1 -1
  8. package/dist/builtins/dataserver.d.ts +2 -1
  9. package/dist/builtins/dataserver.d.ts.map +1 -1
  10. package/dist/builtins/dataserver.js +5 -4
  11. package/dist/builtins/dataserver.js.map +1 -1
  12. package/dist/builtins/debug.d.ts +4 -0
  13. package/dist/builtins/debug.d.ts.map +1 -0
  14. package/dist/builtins/debug.js +7 -0
  15. package/dist/builtins/debug.js.map +1 -0
  16. package/dist/builtins/http.d.ts +8 -1
  17. package/dist/builtins/http.d.ts.map +1 -1
  18. package/dist/builtins/http.js +87 -9
  19. package/dist/builtins/http.js.map +1 -1
  20. package/dist/builtins/identity.d.ts +2 -0
  21. package/dist/builtins/identity.d.ts.map +1 -1
  22. package/dist/builtins/identity.js +9 -1
  23. package/dist/builtins/identity.js.map +1 -1
  24. package/dist/builtins/index.d.ts.map +1 -1
  25. package/dist/builtins/index.js +37 -7
  26. package/dist/builtins/index.js.map +1 -1
  27. package/dist/builtins/inventory.d.ts +13 -2
  28. package/dist/builtins/inventory.d.ts.map +1 -1
  29. package/dist/builtins/inventory.js +82 -43
  30. package/dist/builtins/inventory.js.map +1 -1
  31. package/dist/builtins/json.d.ts.map +1 -1
  32. package/dist/builtins/json.js +11 -36
  33. package/dist/builtins/json.js.map +1 -1
  34. package/dist/builtins/link-info.d.ts +1 -1
  35. package/dist/builtins/link-info.d.ts.map +1 -1
  36. package/dist/builtins/link-info.js +2 -2
  37. package/dist/builtins/link-info.js.map +1 -1
  38. package/dist/builtins/linksetdata.d.ts.map +1 -1
  39. package/dist/builtins/linksetdata.js +298 -31
  40. package/dist/builtins/linksetdata.js.map +1 -1
  41. package/dist/builtins/listen.d.ts +3 -1
  42. package/dist/builtins/listen.d.ts.map +1 -1
  43. package/dist/builtins/listen.js +9 -1
  44. package/dist/builtins/listen.js.map +1 -1
  45. package/dist/builtins/lists.d.ts +21 -0
  46. package/dist/builtins/lists.d.ts.map +1 -1
  47. package/dist/builtins/lists.js +82 -38
  48. package/dist/builtins/lists.js.map +1 -1
  49. package/dist/builtins/math.d.ts +27 -4
  50. package/dist/builtins/math.d.ts.map +1 -1
  51. package/dist/builtins/math.js +118 -41
  52. package/dist/builtins/math.js.map +1 -1
  53. package/dist/builtins/memory.d.ts +11 -0
  54. package/dist/builtins/memory.d.ts.map +1 -0
  55. package/dist/builtins/memory.js +17 -0
  56. package/dist/builtins/memory.js.map +1 -0
  57. package/dist/builtins/permissions.d.ts +18 -0
  58. package/dist/builtins/permissions.d.ts.map +1 -0
  59. package/dist/builtins/permissions.js +17 -0
  60. package/dist/builtins/permissions.js.map +1 -0
  61. package/dist/builtins/prim-accessors.d.ts +1 -0
  62. package/dist/builtins/prim-accessors.d.ts.map +1 -1
  63. package/dist/builtins/prim-accessors.js +44 -42
  64. package/dist/builtins/prim-accessors.js.map +1 -1
  65. package/dist/builtins/prim-params.d.ts +1 -1
  66. package/dist/builtins/prim-params.d.ts.map +1 -1
  67. package/dist/builtins/prim-params.js +19 -11
  68. package/dist/builtins/prim-params.js.map +1 -1
  69. package/dist/builtins/strings.d.ts.map +1 -1
  70. package/dist/builtins/strings.js +37 -33
  71. package/dist/builtins/strings.js.map +1 -1
  72. package/dist/builtins/time.d.ts +2 -0
  73. package/dist/builtins/time.d.ts.map +1 -1
  74. package/dist/builtins/time.js +2 -0
  75. package/dist/builtins/time.js.map +1 -1
  76. package/dist/clock.d.ts +23 -9
  77. package/dist/clock.d.ts.map +1 -1
  78. package/dist/clock.js +40 -13
  79. package/dist/clock.js.map +1 -1
  80. package/dist/dispatch.d.ts.map +1 -1
  81. package/dist/dispatch.js +10 -3
  82. package/dist/dispatch.js.map +1 -1
  83. package/dist/env.d.ts +14 -3
  84. package/dist/env.d.ts.map +1 -1
  85. package/dist/env.js +50 -10
  86. package/dist/env.js.map +1 -1
  87. package/dist/index.d.ts +2 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +1 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/interpreter.d.ts.map +1 -1
  92. package/dist/interpreter.js +44 -23
  93. package/dist/interpreter.js.map +1 -1
  94. package/dist/inventory.d.ts +2 -0
  95. package/dist/inventory.d.ts.map +1 -1
  96. package/dist/inventory.js +4 -0
  97. package/dist/inventory.js.map +1 -1
  98. package/dist/keys.d.ts +6 -0
  99. package/dist/keys.d.ts.map +1 -0
  100. package/dist/keys.js +20 -0
  101. package/dist/keys.js.map +1 -0
  102. package/dist/linkset.d.ts +28 -3
  103. package/dist/linkset.d.ts.map +1 -1
  104. package/dist/linkset.js +66 -7
  105. package/dist/linkset.js.map +1 -1
  106. package/dist/memory.d.ts +55 -0
  107. package/dist/memory.d.ts.map +1 -0
  108. package/dist/memory.js +235 -0
  109. package/dist/memory.js.map +1 -0
  110. package/dist/prim-params.d.ts +5 -0
  111. package/dist/prim-params.d.ts.map +1 -1
  112. package/dist/prim-params.js +187 -107
  113. package/dist/prim-params.js.map +1 -1
  114. package/dist/prim.d.ts +6 -1
  115. package/dist/prim.d.ts.map +1 -1
  116. package/dist/prim.js +23 -3
  117. package/dist/prim.js.map +1 -1
  118. package/dist/runtime.d.ts +14 -1
  119. package/dist/runtime.d.ts.map +1 -1
  120. package/dist/script.d.ts +35 -2
  121. package/dist/script.d.ts.map +1 -1
  122. package/dist/script.js +127 -34
  123. package/dist/script.js.map +1 -1
  124. package/dist/values/coerce.d.ts +11 -0
  125. package/dist/values/coerce.d.ts.map +1 -1
  126. package/dist/values/coerce.js +65 -38
  127. package/dist/values/coerce.js.map +1 -1
  128. package/dist/values/format.d.ts +24 -16
  129. package/dist/values/format.d.ts.map +1 -1
  130. package/dist/values/format.js +42 -25
  131. package/dist/values/format.js.map +1 -1
  132. package/dist/values/list-types.d.ts +2 -0
  133. package/dist/values/list-types.d.ts.map +1 -1
  134. package/dist/values/list-types.js +4 -0
  135. package/dist/values/list-types.js.map +1 -1
  136. package/dist/values/ops.d.ts +2 -1
  137. package/dist/values/ops.d.ts.map +1 -1
  138. package/dist/values/ops.js +13 -5
  139. package/dist/values/ops.js.map +1 -1
  140. package/dist/values/utf8.d.ts +3 -0
  141. package/dist/values/utf8.d.ts.map +1 -0
  142. package/dist/values/utf8.js +14 -0
  143. package/dist/values/utf8.js.map +1 -0
  144. package/dist/world.d.ts +29 -0
  145. package/dist/world.d.ts.map +1 -0
  146. package/dist/world.js +29 -0
  147. package/dist/world.js.map +1 -0
  148. package/package.json +2 -2
package/dist/script.js CHANGED
@@ -1,5 +1,8 @@
1
+ import { truncateUtf8 } from './values/utf8.js';
1
2
  import { ResetScriptSignal } from './builtins/object.js';
3
+ import { ScriptRemovedSignal } from './builtins/inventory.js';
2
4
  import { Mulberry32 } from './random.js';
5
+ import { inventoryItemName } from './inventory.js';
3
6
  import { NULL_KEY } from './values/types.js';
4
7
  import { execHandler, StateChangeSignal } from './interpreter.js';
5
8
  import { buildCoveragePlan, CoverageCollector } from './coverage.js';
@@ -11,7 +14,10 @@ import { Linkset } from './linkset.js';
11
14
  import { Prim } from './prim.js';
12
15
  import { EVENT_SPECS } from './generated/events.js';
13
16
  import { CONSTANT_TABLE } from './generated/constants_table.js';
17
+ import { DEBUG_CHANNEL, HTTP_BODY_TRUNCATED } from './generated/constants.js';
14
18
  import { own } from './own.js';
19
+ import { deterministicKey } from './keys.js';
20
+ import { Memory, StackHeapCollision, codeBytes } from './memory.js';
15
21
  /**
16
22
  * Public handle for a loaded LSL script. Tests interact almost entirely
17
23
  * with this surface: drive events via fire(), inspect chat / calls,
@@ -26,6 +32,8 @@ export class Script {
26
32
  functions;
27
33
  handlersByState;
28
34
  started = false;
35
+ stubs;
36
+ warnedStubs = new Set();
29
37
  /** Per-script clock facade (timer state + time reference). */
30
38
  clockView;
31
39
  host;
@@ -57,7 +65,7 @@ export class Script {
57
65
  throw new Error('Script host prim must belong to a Linkset');
58
66
  }
59
67
  this.linkset = host.linkset;
60
- this.scriptName = options.scriptName ?? deriveScriptName(options.filename);
68
+ this.scriptName = inventoryItemName(options.scriptName ?? deriveScriptName(options.filename));
61
69
  this.clockView = new ScriptClockView(this.linkset.clock, () => this);
62
70
  const linkset = this.linkset;
63
71
  const prim = host;
@@ -101,31 +109,34 @@ export class Script {
101
109
  detectedStack: [],
102
110
  linksetData: this.linkset.linksetData,
103
111
  appearance: this.host.appearance,
112
+ permissions: { granted: 0, agent: NULL_KEY, requests: [] },
104
113
  lifecycle: {
105
114
  dead: false,
106
115
  },
107
116
  filename,
108
117
  source,
109
118
  coverage,
119
+ memory: new Memory(codeBytes(ast), options.memoryLimit ?? false),
110
120
  };
111
121
  if (coverage)
112
122
  coverage.hitState('default');
113
- // Register this script with the prim if it isn't already there.
114
- if (!host.scripts.includes(this)) {
115
- host.addScript(this);
116
- }
117
123
  // Build a parent scope holding every LSL constant (PI, TRUE, HTTP_METHOD,
118
124
  // …). Script globals get their own scope below; typecheck() rejects
119
125
  // globals named after constants, as SL does.
120
- const constants = buildConstantsEnv();
121
- this.globals = constants.push();
126
+ this.globals = new Env(buildConstantsEnv(), this.state.memory);
122
127
  initGlobals(this.globals, ast.globals);
123
128
  this.userFunctions = new Map(ast.functions.map((f) => [f.name, f]));
124
129
  this.functions = options.functions ?? {};
130
+ this.stubs = options.stubs ?? 'allow';
125
131
  this.handlersByState = indexHandlers(ast);
126
132
  if (!this.handlersByState.has('default')) {
127
133
  throw new Error('LSL script has no default state');
128
134
  }
135
+ // Register with the prim only once the script is fully built, so a failed
136
+ // construction (e.g. a Stack-Heap Collision in a global) leaves no trace.
137
+ if (!host.scripts.includes(this)) {
138
+ host.addScript(this);
139
+ }
129
140
  }
130
141
  /** Current virtual time in milliseconds since linkset construction. */
131
142
  get now() {
@@ -176,19 +187,27 @@ export class Script {
176
187
  }
177
188
  /**
178
189
  * Feed a response to a previously captured HTTP request. Schedules an
179
- * `http_response` event for immediate delivery.
190
+ * `http_response` event for immediate delivery on every script in the
191
+ * prim. A body longer than the request's max length is cut, and the
192
+ * metadata becomes `[HTTP_BODY_TRUNCATED, max]`.
180
193
  */
181
194
  respondToHttp(key, response) {
182
195
  const req = this.state.httpRequests.find((r) => r.key === key);
183
196
  if (!req)
184
197
  throw new Error(`unknown HTTP request key: ${key}`);
185
198
  req.fulfilled = true;
186
- this.clockView.schedule(this.now, 'http_response', {
199
+ const body = response.body ?? '';
200
+ const cut = truncateUtf8(body, req.bodyMaxLength);
201
+ const payload = {
187
202
  request_id: key,
188
203
  status: response.status,
189
- metadata: response.metadata ?? [],
190
- body: response.body ?? '',
191
- });
204
+ metadata: cut === body
205
+ ? (response.metadata ?? [])
206
+ : typedList([HTTP_BODY_TRUNCATED, req.bodyMaxLength], ['integer', 'integer']),
207
+ body: cut,
208
+ };
209
+ for (const s of this.host.scripts)
210
+ this.clockView.scheduleOn(s, this.now, 'http_response', payload);
192
211
  this.linkset.drainQueue();
193
212
  }
194
213
  /** Convenience: respond to the most recent HTTP request. */
@@ -216,17 +235,17 @@ export class Script {
216
235
  }
217
236
  /**
218
237
  * Feed a value back to a pending dataserver request. Schedules a
219
- * `dataserver` event with the request key and a string value.
238
+ * `dataserver` event with the request key and a string value on every
239
+ * script in the prim.
220
240
  */
221
241
  respondToDataserver(key, value) {
222
242
  const req = this.state.dataserverRequests.find((r) => r.key === key);
223
243
  if (!req)
224
244
  throw new Error(`unknown dataserver request key: ${key}`);
225
245
  req.fulfilled = true;
226
- this.clockView.schedule(this.now, 'dataserver', {
227
- queryid: key,
228
- data: value,
229
- });
246
+ const payload = { queryid: key, data: value };
247
+ for (const s of this.host.scripts)
248
+ this.clockView.scheduleOn(s, this.now, 'dataserver', payload);
230
249
  this.linkset.drainQueue();
231
250
  }
232
251
  /** Convenience: respond to the most recent dataserver request. */
@@ -236,6 +255,30 @@ export class Script {
236
255
  throw new Error('no dataserver request to respond to');
237
256
  this.respondToDataserver(req.key, value);
238
257
  }
258
+ /** Permission requests made with llRequestPermissions, oldest first. */
259
+ get permissionRequests() {
260
+ return this.state.permissions.requests;
261
+ }
262
+ /**
263
+ * Answer the most recent unanswered permission request, granting the
264
+ * requested bits that are also in `permissions` (all of them by default).
265
+ * Fires `run_time_permissions` on this script.
266
+ */
267
+ grantPermissions(permissions) {
268
+ const req = [...this.state.permissions.requests].reverse().find((r) => !r.answered);
269
+ if (!req)
270
+ throw new Error('no pending permission request');
271
+ req.answered = true;
272
+ const granted = req.permissions & (permissions ?? req.permissions);
273
+ this.state.permissions.granted = granted;
274
+ this.state.permissions.agent = req.agent;
275
+ this.clockView.schedule(this.now, 'run_time_permissions', { perm: granted });
276
+ this.linkset.drainQueue();
277
+ }
278
+ /** Answer the most recent unanswered permission request with No. */
279
+ denyPermissions() {
280
+ this.grantPermissions(0);
281
+ }
239
282
  /** Currently displayed floating text (from llSetText). null if unset. */
240
283
  get text() {
241
284
  return this.state.appearance.text;
@@ -304,6 +347,16 @@ export class Script {
304
347
  mock(name, impl) {
305
348
  this.mocks[name] = impl;
306
349
  }
350
+ /** Internal: called by the dispatcher when the script calls a stubbed function. */
351
+ reportStub(name) {
352
+ const message = `${name} is a stub in rezless and returns its type's default value; give it a value with script.mock`;
353
+ if (this.stubs === 'throw')
354
+ throw new Error(message);
355
+ if (this.stubs === 'warn' && !this.warnedStubs.has(name)) {
356
+ this.warnedStubs.add(name);
357
+ console.warn(message);
358
+ }
359
+ }
307
360
  /** Read a global variable's current value. White-box hook for tests. */
308
361
  global(name) {
309
362
  return this.globals.get(name).value;
@@ -330,6 +383,10 @@ export class Script {
330
383
  fire(eventName, payload = {}) {
331
384
  if (this.state.lifecycle.dead)
332
385
  return;
386
+ if (!this.running) {
387
+ this.parkedEvents.push({ at: this.now, event: eventName, payload });
388
+ return;
389
+ }
333
390
  if (!this.started) {
334
391
  this.started = true;
335
392
  const entry = this.handlersByState.get(this.state.currentState)?.get('state_entry');
@@ -368,11 +425,25 @@ export class Script {
368
425
  * is invoked from inside a handler; tests can also call it directly.
369
426
  */
370
427
  reset() {
428
+ this.state.memory.releaseStack();
371
429
  this.globals.clear();
372
- initGlobals(this.globals, this.ast.globals);
430
+ try {
431
+ initGlobals(this.globals, this.ast.globals);
432
+ }
433
+ catch (e) {
434
+ if (e instanceof StackHeapCollision)
435
+ this.crash(e);
436
+ throw e;
437
+ }
373
438
  this.state.currentState = 'default';
374
439
  this.state.lifecycle.dead = false;
440
+ this.state.listens.length = 0;
441
+ this.state.permissions.granted = 0;
442
+ this.state.permissions.agent = NULL_KEY;
443
+ for (const r of this.state.permissions.requests)
444
+ r.answered = true;
375
445
  this.clockView.cancelTimer();
446
+ this.clockView.resetReference();
376
447
  this.linkset.clock.purgeTarget(this);
377
448
  this.parkedEvents.length = 0;
378
449
  this.started = false;
@@ -435,6 +506,24 @@ export class Script {
435
506
  * does `state foo;` continues the chain correctly.
436
507
  */
437
508
  runHandler(handler, args) {
509
+ if (this.state.lifecycle.dead)
510
+ return;
511
+ const startedAt = this.now;
512
+ try {
513
+ this.state.memory.startEvent();
514
+ this.runHandlerChain(handler, args);
515
+ }
516
+ catch (e) {
517
+ if (e instanceof StackHeapCollision)
518
+ this.crash(e);
519
+ throw e;
520
+ }
521
+ finally {
522
+ if (this.now > startedAt)
523
+ this.clockView.busyUntilMs = this.now;
524
+ }
525
+ }
526
+ runHandlerChain(handler, args) {
438
527
  const ctx = {
439
528
  state: this.state,
440
529
  mocks: this.mocks,
@@ -449,7 +538,7 @@ export class Script {
449
538
  handler,
450
539
  args,
451
540
  };
452
- while (pending) {
541
+ while (pending && !this.state.lifecycle.dead) {
453
542
  const { handler: h, args: a } = pending;
454
543
  pending = null;
455
544
  try {
@@ -460,15 +549,21 @@ export class Script {
460
549
  this.reset();
461
550
  return;
462
551
  }
552
+ if (e instanceof ScriptRemovedSignal)
553
+ return;
463
554
  if (!(e instanceof StateChangeSignal))
464
555
  throw e;
465
556
  const target = e.target;
557
+ if (target === this.state.currentState || this.state.lifecycle.dead)
558
+ continue;
466
559
  const exit = this.handlersByState.get(this.state.currentState)?.get('state_exit');
467
560
  if (exit) {
468
561
  try {
469
562
  execHandler(ctx, exit, []);
470
563
  }
471
564
  catch (e2) {
565
+ if (e2 instanceof ScriptRemovedSignal)
566
+ return;
472
567
  if (e2 instanceof StateChangeSignal) {
473
568
  // Discard further changes inside state_exit per LSL convention.
474
569
  }
@@ -480,6 +575,8 @@ export class Script {
480
575
  if (!this.handlersByState.has(target)) {
481
576
  throw new Error(`unknown state '${target}' in state change`);
482
577
  }
578
+ this.state.listens.length = 0;
579
+ this.linkset.clock.purgeTarget(this, this.now, '__reset');
483
580
  this.state.currentState = target;
484
581
  if (this.state.coverage)
485
582
  this.state.coverage.hitState(target);
@@ -490,6 +587,17 @@ export class Script {
490
587
  }
491
588
  }
492
589
  }
590
+ /** Stop the script after a fatal run-time error, reporting it on DEBUG_CHANNEL. */
591
+ crash(error) {
592
+ if (error.reported)
593
+ return;
594
+ error.reported = true;
595
+ for (const text of ['Script run-time error', error.message]) {
596
+ this.state.chat.push({ channel: DEBUG_CHANNEL, text, type: 'say' });
597
+ this.linkset.routeChat(this.host, 'say', DEBUG_CHANNEL, text);
598
+ }
599
+ this.running = false;
600
+ }
493
601
  /**
494
602
  * Mark this script as dead and cancel its timer. Used by llDie to bring
495
603
  * down every script in the linkset. Idempotent.
@@ -633,21 +741,6 @@ function lookupGlobal(env, name) {
633
741
  return undefined;
634
742
  }
635
743
  }
636
- /** A stable, UUID-shaped string derived from `seed`. */
637
- function deterministicKey(seed) {
638
- let h1 = 0x811c9dc5;
639
- for (let i = 0; i < seed.length; i++) {
640
- h1 ^= seed.charCodeAt(i);
641
- h1 = Math.imul(h1, 0x01000193) >>> 0;
642
- }
643
- let h2 = (h1 ^ 0xdeadbeef) >>> 0;
644
- for (let i = 0; i < seed.length; i++) {
645
- h2 ^= seed.charCodeAt(i) << (i & 31);
646
- h2 = Math.imul(h2, 0x01000193) >>> 0;
647
- }
648
- const hex = (h1.toString(16).padStart(8, '0') + h2.toString(16).padStart(8, '0')).repeat(2);
649
- return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
650
- }
651
744
  function deriveScriptName(filename) {
652
745
  if (!filename)
653
746
  return 'script';
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,17 @@ import { NULL_KEY } from './types.js';
17
17
  export declare function coerce(from: EvalResult, target: LslType): EvalResult;
18
18
  /** Render a value as LSL's `(string)` form. */
19
19
  export declare function stringify(r: EvalResult): string;
20
+ /** LSL `(integer)float`: truncate; out of range, NaN and infinity give -2147483648. */
21
+ export declare function floatToInteger(n: number): number;
22
+ /**
23
+ * LSL `(integer)str` parsing.
24
+ * - Skip leading whitespace
25
+ * - Optional + or - sign
26
+ * - Optional `0x` for hex
27
+ * - Read decimal digits (or hex digits) until the first non-matching character
28
+ * - Empty / no-digits → 0
29
+ */
30
+ export declare function parseLslInteger(s: string): number;
20
31
  /** Sentinel re-exports for callers that want defaults inline. */
21
32
  export { NULL_KEY };
22
33
  //# sourceMappingURL=coerce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../../src/values/coerce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAY,MAAM,YAAY,CAAA;AAC/D,OAAO,EAA8B,QAAQ,EAA4C,MAAM,YAAY,CAAA;AAI3G;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAuCpE;AAMD,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAoB/C;AAmFD,iEAAiE;AACjE,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../../src/values/coerce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAY,MAAM,YAAY,CAAA;AAC/D,OAAO,EAA8B,QAAQ,EAA4C,MAAM,YAAY,CAAA;AAI3G;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAuCpE;AAMD,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAoB/C;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BjD;AAqED,iEAAiE;AACjE,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -22,7 +22,7 @@ export function coerce(from, target) {
22
22
  switch (target) {
23
23
  case 'integer': {
24
24
  if (typeof v === 'number')
25
- return { type: 'integer', value: toInt32(Math.trunc(v)) };
25
+ return { type: 'integer', value: floatToInteger(v) };
26
26
  if (typeof v === 'string')
27
27
  return { type: 'integer', value: parseLslInteger(v) };
28
28
  throw typeError(from, target);
@@ -91,6 +91,11 @@ export function stringify(r) {
91
91
  return '';
92
92
  }
93
93
  }
94
+ /** LSL `(integer)float`: truncate; out of range, NaN and infinity give -2147483648. */
95
+ export function floatToInteger(n) {
96
+ const t = Math.trunc(n);
97
+ return t >= -2147483648 && t <= 2147483647 ? t : -2147483648;
98
+ }
94
99
  /**
95
100
  * LSL `(integer)str` parsing.
96
101
  * - Skip leading whitespace
@@ -99,7 +104,7 @@ export function stringify(r) {
99
104
  * - Read decimal digits (or hex digits) until the first non-matching character
100
105
  * - Empty / no-digits → 0
101
106
  */
102
- function parseLslInteger(s) {
107
+ export function parseLslInteger(s) {
103
108
  let i = 0;
104
109
  while (i < s.length && /\s/.test(s[i]))
105
110
  i++;
@@ -130,56 +135,78 @@ function parseLslInteger(s) {
130
135
  return 0;
131
136
  return toInt32(sign * Number.parseInt(dec, 10));
132
137
  }
133
- /** LSL `(float)str` — accepts decimal, exponent, optional sign, leading whitespace. */
138
+ /** LSL `(float)str`: leading whitespace, then a C `strtod` number; 0 if none. */
134
139
  function parseLslFloat(s) {
135
140
  let i = 0;
136
141
  while (i < s.length && /\s/.test(s[i]))
137
142
  i++;
138
- const start = i;
139
- if (s[i] === '+' || s[i] === '-')
140
- i++;
141
- while (i < s.length && /[0-9]/.test(s[i]))
142
- i++;
143
- if (s[i] === '.') {
144
- i++;
145
- while (i < s.length && /[0-9]/.test(s[i]))
146
- i++;
143
+ return scanFloat(s, i)?.value ?? 0;
144
+ }
145
+ /**
146
+ * Read a C `strtod` number at `start`: decimal with optional exponent, hex
147
+ * (`0x1p4`), `inf`, `infinity` or `nan`, each with an optional sign.
148
+ */
149
+ function scanFloat(s, start) {
150
+ const m = /^[+-]?(?:(0x)([0-9a-f]*)(?:\.([0-9a-f]*))?(?:p([+-]?\d+))?|infinity|inf|nan|(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)/i.exec(s.slice(start));
151
+ if (!m)
152
+ return null;
153
+ const text = m[0];
154
+ const sign = text.startsWith('-') ? -1 : 1;
155
+ const body = text.replace(/^[+-]/, '').toLowerCase();
156
+ let value;
157
+ if (body.startsWith('inf'))
158
+ value = Infinity;
159
+ else if (body === 'nan')
160
+ value = NaN;
161
+ else if (m[1]) {
162
+ const int = m[2] ?? '';
163
+ const frac = m[3] ?? '';
164
+ if (!int && !frac)
165
+ return { value: 0, end: start + text.toLowerCase().indexOf('x') };
166
+ const mantissa = Number.parseInt(int + frac || '0', 16) / 16 ** frac.length;
167
+ value = mantissa * 2 ** Number(m[4] ?? 0);
147
168
  }
148
- if (s[i] === 'e' || s[i] === 'E') {
149
- i++;
150
- if (s[i] === '+' || s[i] === '-')
169
+ else
170
+ value = Number.parseFloat(body);
171
+ return { value: toFloat32(sign * value), end: start + text.length };
172
+ }
173
+ /**
174
+ * LSL `(vector)str` / `(rotation)str`, like C `sscanf("<%f,%f,%f")`: the
175
+ * string must start with `<`, each comma must follow its number directly,
176
+ * and anything after the last number is ignored.
177
+ */
178
+ function scanComponents(s, count) {
179
+ if (s[0] !== '<')
180
+ return null;
181
+ const out = [];
182
+ let i = 1;
183
+ while (out.length < count) {
184
+ if (out.length > 0) {
185
+ if (s[i] !== ',')
186
+ return null;
151
187
  i++;
152
- while (i < s.length && /[0-9]/.test(s[i]))
188
+ }
189
+ while (/\s/.test(s[i] ?? ''))
153
190
  i++;
191
+ const f = scanFloat(s, i);
192
+ if (!f)
193
+ return null;
194
+ out.push(f.value);
195
+ i = f.end;
154
196
  }
155
- if (i === start)
156
- return 0;
157
- const n = Number.parseFloat(s.slice(start, i));
158
- // A value too large for a 32-bit float rounds to infinity, as in Mono.
159
- return Number.isFinite(n) ? toFloat32(n) : 0;
197
+ return out;
160
198
  }
161
199
  function parseLslVector(s) {
162
- const m = s.match(/^\s*<\s*([^,]+),\s*([^,]+),\s*([^>]+)\s*>\s*$/);
163
- if (!m)
200
+ const c = scanComponents(s, 3);
201
+ if (!c)
164
202
  return ZERO_VECTOR;
165
- const [, xs, ys, zs] = m;
166
- return {
167
- x: parseLslFloat(xs),
168
- y: parseLslFloat(ys),
169
- z: parseLslFloat(zs),
170
- };
203
+ return { x: c[0], y: c[1], z: c[2] };
171
204
  }
172
205
  function parseLslRotation(s) {
173
- const m = s.match(/^\s*<\s*([^,]+),\s*([^,]+),\s*([^,]+),\s*([^>]+)\s*>\s*$/);
174
- if (!m)
206
+ const c = scanComponents(s, 4);
207
+ if (!c)
175
208
  return ZERO_ROTATION;
176
- const [, xs, ys, zs, ss] = m;
177
- return {
178
- x: parseLslFloat(xs),
179
- y: parseLslFloat(ys),
180
- z: parseLslFloat(zs),
181
- s: parseLslFloat(ss),
182
- };
209
+ return { x: c[0], y: c[1], z: c[2], s: c[3] };
183
210
  }
184
211
  /** Sentinel re-exports for callers that want defaults inline. */
185
212
  export { NULL_KEY };
@@ -1 +1 @@
1
- {"version":3,"file":"coerce.js","sourceRoot":"","sources":["../../src/values/coerce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coerce.js","sourceRoot":"","sources":["../../src/values/coerce.ts"],"names":[],"mappings":"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"}