rip-lang 2.8.2 → 2.8.3
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 +32 -9
- package/docs/dist/rip.browser.min.js +213 -213
- package/docs/dist/rip.browser.min.js.br +0 -0
- package/package.json +1 -1
- package/src/lexer.js +32 -2
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-2.8.
|
|
12
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-2.8.3-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-1021%2F1021-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
|
@@ -1946,16 +1946,16 @@ Rewriter = function() {
|
|
|
1946
1946
|
val.generated = true;
|
|
1947
1947
|
return tokens.splice(idx, 0, generate("{", val, token, prevToken));
|
|
1948
1948
|
};
|
|
1949
|
-
endImplicitObject = function(
|
|
1950
|
-
|
|
1949
|
+
endImplicitObject = function(j2) {
|
|
1950
|
+
j2 = j2 != null ? j2 : i;
|
|
1951
1951
|
stack.pop();
|
|
1952
|
-
tokens.splice(
|
|
1952
|
+
tokens.splice(j2, 0, generate("}", "}", token, prevToken));
|
|
1953
1953
|
return i += 1;
|
|
1954
1954
|
};
|
|
1955
|
-
implicitObjectContinues = (
|
|
1955
|
+
implicitObjectContinues = (j2) => {
|
|
1956
1956
|
var nextTerminatorIdx;
|
|
1957
1957
|
nextTerminatorIdx = null;
|
|
1958
|
-
this.detectEnd(
|
|
1958
|
+
this.detectEnd(j2, function(token2) {
|
|
1959
1959
|
return token2[0] === "TERMINATOR";
|
|
1960
1960
|
}, function(token2, i2) {
|
|
1961
1961
|
return nextTerminatorIdx = i2;
|
|
@@ -2100,12 +2100,35 @@ Rewriter = function() {
|
|
|
2100
2100
|
}
|
|
2101
2101
|
}
|
|
2102
2102
|
newLine = prevTag === "OUTDENT" || prevToken.newLine;
|
|
2103
|
-
|
|
2103
|
+
var isLogicalOp = tag === "||" || tag === "&&";
|
|
2104
|
+
var logicalOpHasMoreArgs = false;
|
|
2105
|
+
if (isLogicalOp && i + 1 < tokens.length) {
|
|
2106
|
+
var nextTok = tokens[i + 1][0];
|
|
2107
|
+
var j = i + 1;
|
|
2108
|
+
if (nextTok === "(" || nextTok === "[" || nextTok === "{") {
|
|
2109
|
+
var depth = 1;
|
|
2110
|
+
j++;
|
|
2111
|
+
while (j < tokens.length && depth > 0) {
|
|
2112
|
+
var lt = tokens[j][0];
|
|
2113
|
+
if (lt === "(" || lt === "[" || lt === "{")
|
|
2114
|
+
depth++;
|
|
2115
|
+
else if (lt === ")" || lt === "]" || lt === "}")
|
|
2116
|
+
depth--;
|
|
2117
|
+
j++;
|
|
2118
|
+
}
|
|
2119
|
+
} else if (nextTok !== "TERMINATOR" && nextTok !== "OUTDENT" && nextTok !== ",") {
|
|
2120
|
+
j++;
|
|
2121
|
+
}
|
|
2122
|
+
if (j < tokens.length && tokens[j][0] === ",") {
|
|
2123
|
+
logicalOpHasMoreArgs = true;
|
|
2124
|
+
}
|
|
2125
|
+
}
|
|
2126
|
+
if (indexOf.call(IMPLICIT_END, tag) >= 0 && !(isLogicalOp && logicalOpHasMoreArgs) || indexOf.call(CALL_CLOSERS, tag) >= 0 && newLine || (tag === ".." || tag === "...") && this.findTagsBackwards(i, ["INDEX_START"])) {
|
|
2104
2127
|
while (inImplicit()) {
|
|
2105
2128
|
[stackTag, stackIdx, { sameLine, startsLine }] = stackTop();
|
|
2106
2129
|
if (inImplicitCall() && prevTag !== "," || prevTag === "," && tag === "TERMINATOR" && nextTag == null) {
|
|
2107
2130
|
endImplicitCall();
|
|
2108
|
-
} else if (inImplicitObject() && sameLine && tag !== "TERMINATOR" && prevTag !== ":" && !((tag === "POST_IF" || tag === "FOR" || tag === "WHILE" || tag === "UNTIL") && startsLine && implicitObjectContinues(i + 1))) {
|
|
2131
|
+
} else if (inImplicitObject() && !isLogicalOp && sameLine && tag !== "TERMINATOR" && prevTag !== ":" && !((tag === "POST_IF" || tag === "FOR" || tag === "WHILE" || tag === "UNTIL") && startsLine && implicitObjectContinues(i + 1))) {
|
|
2109
2132
|
endImplicitObject();
|
|
2110
2133
|
} else if (inImplicitObject() && tag === "TERMINATOR" && prevTag !== "," && !(startsLine && this.looksObjectish(i + 1))) {
|
|
2111
2134
|
endImplicitObject();
|
|
@@ -7511,8 +7534,8 @@ function compileToJS(source, options = {}) {
|
|
|
7511
7534
|
return new Compiler(options).compileToJS(source);
|
|
7512
7535
|
}
|
|
7513
7536
|
// src/browser.js
|
|
7514
|
-
var VERSION = "2.8.
|
|
7515
|
-
var BUILD_DATE = "2026-02-04@
|
|
7537
|
+
var VERSION = "2.8.3";
|
|
7538
|
+
var BUILD_DATE = "2026-02-04@08:25:13GMT";
|
|
7516
7539
|
var dedent = (s) => {
|
|
7517
7540
|
const m = s.match(/^[ \t]*(?=\S)/gm);
|
|
7518
7541
|
const i = Math.min(...(m || []).map((x) => x.length));
|