rip-lang 3.4.5 → 3.4.6

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="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.4.3-blue.svg" alt="Version"></a>
12
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.4.6-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-1140%2F1140-brightgreen.svg" alt="Tests"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
@@ -1810,7 +1810,7 @@ class Lexer {
1810
1810
  let indent = null;
1811
1811
  let outdent = null;
1812
1812
  let condition = (token, i) => {
1813
- return token[1] !== ";" && SINGLE_CLOSERS.has(token[0]) && !(token[0] === "TERMINATOR" && EXPRESSION_CLOSE.has(this.tokens[i + 1]?.[0])) && !(token[0] === "ELSE" && starter !== "THEN") || token[0] === "INDENT" && !token.generated && (starter === "->" || starter === "=>") || token[0] === "," && (starter === "->" || starter === "=>") && !this.commaInImplicitCall(i) || CALL_CLOSERS.has(token[0]) && (this.tokens[i - 1]?.newLine || this.tokens[i - 1]?.[0] === "OUTDENT");
1813
+ return token[1] !== ";" && SINGLE_CLOSERS.has(token[0]) && !(token[0] === "TERMINATOR" && EXPRESSION_CLOSE.has(this.tokens[i + 1]?.[0])) && !(token[0] === "ELSE" && starter !== "THEN") || token[0] === "INDENT" && !token.generated && (starter === "->" || starter === "=>") || token[0] === "," && (starter === "->" || starter === "=>") && !this.commaInImplicitCall(i) && !this.commaInImplicitObject(i) || CALL_CLOSERS.has(token[0]) && (this.tokens[i - 1]?.newLine || this.tokens[i - 1]?.[0] === "OUTDENT");
1814
1814
  };
1815
1815
  let action = (token, i) => {
1816
1816
  let idx = this.tokens[i - 1]?.[0] === "," ? i - 1 : i;
@@ -2275,6 +2275,30 @@ class Lexer {
2275
2275
  }
2276
2276
  return false;
2277
2277
  }
2278
+ commaInImplicitObject(i) {
2279
+ let levels = 0;
2280
+ for (let j = i - 1;j >= 0; j--) {
2281
+ let tag = this.tokens[j][0];
2282
+ if (EXPRESSION_END.has(tag)) {
2283
+ levels++;
2284
+ continue;
2285
+ }
2286
+ if (EXPRESSION_START.has(tag)) {
2287
+ levels--;
2288
+ if (levels < 0)
2289
+ return false;
2290
+ continue;
2291
+ }
2292
+ if (levels > 0)
2293
+ continue;
2294
+ if (tag === ":" && j > 0 && this.tokens[j - 1][0] === "PROPERTY") {
2295
+ return this.looksObjectish(i + 1);
2296
+ }
2297
+ if (LINE_BREAK.has(tag))
2298
+ return false;
2299
+ }
2300
+ return false;
2301
+ }
2278
2302
  looksObjectish(j) {
2279
2303
  if (!this.tokens[j])
2280
2304
  return false;
@@ -7536,8 +7560,8 @@ function getComponentRuntime() {
7536
7560
  return new CodeGenerator({}).getComponentRuntime();
7537
7561
  }
7538
7562
  // src/browser.js
7539
- var VERSION = "3.4.5";
7540
- var BUILD_DATE = "2026-02-09@14:23:53GMT";
7563
+ var VERSION = "3.4.6";
7564
+ var BUILD_DATE = "2026-02-09@15:39:27GMT";
7541
7565
  var dedent = (s) => {
7542
7566
  const m = s.match(/^[ \t]*(?=\S)/gm);
7543
7567
  const i = Math.min(...(m || []).map((x) => x.length));