rip-lang 3.17.1 → 3.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <a href="https://github.com/shreeve/rip-lang/commits/main"><img src="https://img.shields.io/badge/version-3.17.1-blue.svg" alt="Version"></a>
12
+ <a href="https://github.com/shreeve/rip-lang/commits/main"><img src="https://img.shields.io/badge/version-3.17.2-blue.svg" alt="Version"></a>
13
13
  <a href="#zero-dependencies"><img src="https://img.shields.io/badge/dependencies-ZERO-brightgreen.svg" alt="Dependencies"></a>
14
14
  <a href="#"><img src="https://img.shields.io/badge/tests-1%2C436%2F1%2C436-brightgreen.svg" alt="Tests"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
package/docs/dist/rip.js CHANGED
@@ -5359,11 +5359,22 @@ Expecting ${expected.join(", ")}, got '${this.tokenNames[symbol] || symbol}'`;
5359
5359
  function isCompleteTypeExpr(tokens, a, b) {
5360
5360
  if (b <= a)
5361
5361
  return false;
5362
- const SEP = new Set(["|", "&", ",", ":", "?", ".", "...", "=>"]);
5362
+ const SEP = new Set(["|", "&", ",", ":", "?", ".", "..."]);
5363
5363
  let par = 0, brk = 0, brc = 0, gen = 0, atomEnd = false;
5364
+ const parInfo = [];
5365
+ let lastClosedParen = null;
5364
5366
  for (let j = a;j < b; j++) {
5365
5367
  const t = tokens[j][0], v = tokens[j][1];
5368
+ if (t === "=>") {
5369
+ const p = j > a ? tokens[j - 1][0] : null;
5370
+ if ((p === ")" || p === "PARAM_END") && lastClosedParen && (lastClosedParen.colon || lastClosedParen.empty)) {
5371
+ atomEnd = false;
5372
+ continue;
5373
+ }
5374
+ return false;
5375
+ }
5366
5376
  if (t === "(" || t === "PARAM_START") {
5377
+ parInfo.push({ colon: false, open: j });
5367
5378
  par++;
5368
5379
  atomEnd = false;
5369
5380
  continue;
@@ -5371,6 +5382,8 @@ Expecting ${expected.join(", ")}, got '${this.tokenNames[symbol] || symbol}'`;
5371
5382
  if (t === ")" || t === "PARAM_END") {
5372
5383
  if (--par < 0)
5373
5384
  return false;
5385
+ const pi = parInfo.pop();
5386
+ lastClosedParen = pi ? { colon: pi.colon, empty: j === pi.open + 1 } : null;
5374
5387
  atomEnd = true;
5375
5388
  continue;
5376
5389
  }
@@ -5429,6 +5442,8 @@ Expecting ${expected.join(", ")}, got '${this.tokenNames[symbol] || symbol}'`;
5429
5442
  return false;
5430
5443
  }
5431
5444
  if (SEP.has(t)) {
5445
+ if (t === ":" && parInfo.length)
5446
+ parInfo[parInfo.length - 1].colon = true;
5432
5447
  atomEnd = false;
5433
5448
  continue;
5434
5449
  }
@@ -16923,8 +16938,8 @@ if (typeof globalThis !== 'undefined') {
16923
16938
  return new CodeEmitter({}).getComponentRuntime();
16924
16939
  }
16925
16940
  // src/browser.js
16926
- var VERSION = "3.17.1";
16927
- var BUILD_DATE = "2026-06-28@00:08:17GMT";
16941
+ var VERSION = "3.17.2";
16942
+ var BUILD_DATE = "2026-06-28@03:29:47GMT";
16928
16943
  if (typeof globalThis !== "undefined") {
16929
16944
  if (!globalThis.__rip)
16930
16945
  new Function(getReactiveRuntime())();