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 +1 -1
- package/docs/dist/rip.browser.js +27 -3
- package/docs/dist/rip.browser.min.js +131 -131
- package/docs/dist/rip.browser.min.js.br +0 -0
- package/docs/index.html +9 -9
- package/package.json +1 -1
- package/scripts/serve.js +1 -2
- package/src/lexer.js +21 -1
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.
|
|
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>
|
package/docs/dist/rip.browser.js
CHANGED
|
@@ -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.
|
|
7540
|
-
var BUILD_DATE = "2026-02-09@
|
|
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));
|