@oddo/lang 0.0.16 → 0.0.17
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/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3841,6 +3841,13 @@ var MODIFIER_TRANSFORMATIONS = {
|
|
|
3841
3841
|
const leftName = (_c = stmt.expression.left) == null ? void 0 : _c.name;
|
|
3842
3842
|
if (!leftName && ((_d = stmt.expression.left) == null ? void 0 : _d.type) === "memberAccess") {
|
|
3843
3843
|
hasMutation = true;
|
|
3844
|
+
const rootName = extractMemberRoot(stmt.expression.left);
|
|
3845
|
+
if (rootName && stateSetterMap.has(rootName)) {
|
|
3846
|
+
stateAssignmentsMap.set(rootName, {
|
|
3847
|
+
kind: "state",
|
|
3848
|
+
setter: stateSetterMap.get(rootName)
|
|
3849
|
+
});
|
|
3850
|
+
}
|
|
3844
3851
|
let rightOddo2 = stmt.expression.right;
|
|
3845
3852
|
const op2 = stmt.expression.operator;
|
|
3846
3853
|
if (op2 !== ":=") {
|
|
@@ -3963,6 +3970,7 @@ var MODIFIER_TRANSFORMATIONS = {
|
|
|
3963
3970
|
for (const processed of processedStatements) {
|
|
3964
3971
|
const nodesToScan = [];
|
|
3965
3972
|
if (processed.rightOddo) nodesToScan.push(processed.rightOddo);
|
|
3973
|
+
if (processed.leftOddo) nodesToScan.push(processed.leftOddo);
|
|
3966
3974
|
if ((_h = processed.sliceOddo) == null ? void 0 : _h.start) nodesToScan.push(processed.sliceOddo.start);
|
|
3967
3975
|
if ((_i = processed.sliceOddo) == null ? void 0 : _i.end) nodesToScan.push(processed.sliceOddo.end);
|
|
3968
3976
|
if (processed.stmtOddo) nodesToScan.push(processed.stmtOddo);
|
|
@@ -4066,11 +4074,13 @@ var MODIFIER_TRANSFORMATIONS = {
|
|
|
4066
4074
|
mutateBodyStmts.push(t.expressionStatement(wrappedSliceExpr));
|
|
4067
4075
|
} else if (processed.kind === "member") {
|
|
4068
4076
|
const leftBabel = convertExpression2(processed.leftOddo);
|
|
4077
|
+
const rootNode = findBabelMemberRoot(leftBabel);
|
|
4078
|
+
const wrappedLeftBabel = wrapCallableIds(leftBabel, rootNode);
|
|
4069
4079
|
const rightBabel = convertExpression2(processed.rightOddo);
|
|
4070
4080
|
const wrappedRightExpr = wrapCallableIds(rightBabel);
|
|
4071
4081
|
mutateBodyStmts.push(
|
|
4072
4082
|
t.expressionStatement(
|
|
4073
|
-
t.assignmentExpression("=",
|
|
4083
|
+
t.assignmentExpression("=", wrappedLeftBabel, wrappedRightExpr)
|
|
4074
4084
|
)
|
|
4075
4085
|
);
|
|
4076
4086
|
} else if (processed.kind === "regular") {
|
|
@@ -4283,6 +4293,17 @@ function extractBoundNames(pattern, names = []) {
|
|
|
4283
4293
|
}
|
|
4284
4294
|
return names;
|
|
4285
4295
|
}
|
|
4296
|
+
function extractMemberRoot(node) {
|
|
4297
|
+
if (node.type === "identifier") return node.name;
|
|
4298
|
+
if (node.type === "memberAccess") return extractMemberRoot(node.object);
|
|
4299
|
+
return null;
|
|
4300
|
+
}
|
|
4301
|
+
function findBabelMemberRoot(node) {
|
|
4302
|
+
if (t.isMemberExpression(node) || t.isOptionalMemberExpression(node)) {
|
|
4303
|
+
return findBabelMemberRoot(node.object);
|
|
4304
|
+
}
|
|
4305
|
+
return node;
|
|
4306
|
+
}
|
|
4286
4307
|
function generateUniqueId(baseName) {
|
|
4287
4308
|
let candidate = baseName;
|
|
4288
4309
|
let i = 2;
|