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 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.2-blue.svg" alt="Version"></a>
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>
@@ -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(j) {
1950
- j = j != null ? j : i;
1949
+ endImplicitObject = function(j2) {
1950
+ j2 = j2 != null ? j2 : i;
1951
1951
  stack.pop();
1952
- tokens.splice(j, 0, generate("}", "}", token, prevToken));
1952
+ tokens.splice(j2, 0, generate("}", "}", token, prevToken));
1953
1953
  return i += 1;
1954
1954
  };
1955
- implicitObjectContinues = (j) => {
1955
+ implicitObjectContinues = (j2) => {
1956
1956
  var nextTerminatorIdx;
1957
1957
  nextTerminatorIdx = null;
1958
- this.detectEnd(j, function(token2) {
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
- if (indexOf.call(IMPLICIT_END, tag) >= 0 || indexOf.call(CALL_CLOSERS, tag) >= 0 && newLine || (tag === ".." || tag === "...") && this.findTagsBackwards(i, ["INDEX_START"])) {
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.2";
7515
- var BUILD_DATE = "2026-02-04@07:57:52GMT";
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));