rip-lang 3.13.56 → 3.13.58
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.js +27 -3
- package/docs/dist/rip.min.js +84 -84
- package/docs/dist/rip.min.js.br +0 -0
- package/package.json +1 -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.13.
|
|
12
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.13.58-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%2C300%2F1%2C300-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
|
@@ -6037,6 +6037,16 @@ function _setDataSection() {
|
|
|
6037
6037
|
generateAssignment(head, rest, context, sexpr) {
|
|
6038
6038
|
let [target, value] = rest;
|
|
6039
6039
|
let op = head === "?=" ? "??=" : head;
|
|
6040
|
+
let optInfo = this._findOptionalInTarget(target);
|
|
6041
|
+
if (optInfo) {
|
|
6042
|
+
let guardCode = this.generate(optInfo.guard, "value");
|
|
6043
|
+
let targetCode2 = this.generate(optInfo.rewritten, "value");
|
|
6044
|
+
let valueCode2 = this.generate(value, "value");
|
|
6045
|
+
if (context === "value") {
|
|
6046
|
+
return `(${guardCode} != null ? (${targetCode2} ${op} ${valueCode2}) : undefined)`;
|
|
6047
|
+
}
|
|
6048
|
+
return `if (${guardCode} != null) ${targetCode2} ${op} ${valueCode2}`;
|
|
6049
|
+
}
|
|
6040
6050
|
let isFnValue = this.is(value, "->") || this.is(value, "=>") || this.is(value, "def");
|
|
6041
6051
|
if (target instanceof String && meta(target, "await") !== undefined && !isFnValue) {
|
|
6042
6052
|
let sigil = meta(target, "await") === true ? "!" : "&";
|
|
@@ -8046,6 +8056,20 @@ ${this.indent()}}`;
|
|
|
8046
8056
|
}
|
|
8047
8057
|
return code;
|
|
8048
8058
|
}
|
|
8059
|
+
_findOptionalInTarget(node) {
|
|
8060
|
+
if (!Array.isArray(node))
|
|
8061
|
+
return null;
|
|
8062
|
+
if (node[0] === "?.")
|
|
8063
|
+
return { guard: node[1], rewritten: [".", node[1], node[2]] };
|
|
8064
|
+
if (node[0] === "optindex")
|
|
8065
|
+
return { guard: node[1], rewritten: ["[]", node[1], node[2]] };
|
|
8066
|
+
if (node[0] === "." || node[0] === "[]") {
|
|
8067
|
+
let inner = this._findOptionalInTarget(node[1]);
|
|
8068
|
+
if (inner)
|
|
8069
|
+
return { guard: inner.guard, rewritten: [node[0], inner.rewritten, node[2]] };
|
|
8070
|
+
}
|
|
8071
|
+
return null;
|
|
8072
|
+
}
|
|
8049
8073
|
unwrapLogical(code) {
|
|
8050
8074
|
if (typeof code !== "string")
|
|
8051
8075
|
return code;
|
|
@@ -8679,8 +8703,8 @@ globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
|
8679
8703
|
return new CodeGenerator({}).getComponentRuntime();
|
|
8680
8704
|
}
|
|
8681
8705
|
// src/browser.js
|
|
8682
|
-
var VERSION = "3.13.
|
|
8683
|
-
var BUILD_DATE = "2026-
|
|
8706
|
+
var VERSION = "3.13.56";
|
|
8707
|
+
var BUILD_DATE = "2026-03-01@02:18:54GMT";
|
|
8684
8708
|
if (typeof globalThis !== "undefined") {
|
|
8685
8709
|
if (!globalThis.__rip)
|
|
8686
8710
|
new Function(getReactiveRuntime())();
|
|
@@ -9005,7 +9029,7 @@ ${indented}`);
|
|
|
9005
9029
|
let sig;
|
|
9006
9030
|
delete target2[prop];
|
|
9007
9031
|
sig = target2[SIGNALS]?.get(prop);
|
|
9008
|
-
if (sig)
|
|
9032
|
+
if (sig != null)
|
|
9009
9033
|
sig.value = undefined;
|
|
9010
9034
|
keysSignal(target2).value = ++_keysVersion;
|
|
9011
9035
|
return true;
|