Update with working working version (#12)

* Fix workflow

* Trigger

* [auto] Update compiled version

* [auto] Commit modules

* Push Windows changes

* Fix

* [auto] Update compiled version

* Try removing cwd

* [auto] Update compiled version

* Try with path module

* [auto] Update compiled version

* Fix path

* [auto] Update compiled version

* Use raw path

* [auto] Update compiled version

* Other path

* [auto] Update compiled version

* Avoid @action/exec

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* Try with shelljs

* [auto] Update compiled version

* Fix my stupidity

* Copy scripts to local dir

* [auto] Update compiled version

* Still use path

* [auto] Update compiled version

* Delete entrypoint.sh

* [auto] Update compiled version

* Make file executable

* [auto] Update compiled version

* Try using bash

* [auto] Update compiled version
This commit is contained in:
Federico Grandi
2019-12-14 21:47:13 +01:00
committed by GitHub
parent d81e04e96c
commit f118062594
4276 changed files with 1075004 additions and 40 deletions

View File

@@ -0,0 +1,60 @@
"use strict";
const Collapser = require("./collapser");
class ObjectCollapser extends Collapser {
isInitTypeValid(init) {
return init.isObjectExpression();
}
isExpressionTypeValid(expr) {
return expr.isAssignmentExpression();
}
getExpressionChecker(objName, checkReference) {
return expr => {
// checks expr is of form:
// foo.a = rval | foo[a] = rval
const left = expr.get("left");
if (!left.isMemberExpression()) {
return false;
}
const obj = left.get("object"),
prop = left.get("property");
if (!obj.isIdentifier() || obj.node.name !== objName) {
return false;
}
if (!prop.isIdentifier() && checkReference(prop)) {
return false;
}
if (left.node.computed && !(prop.isStringLiteral() || prop.isNumericLiteral())) {
return false;
}
const right = expr.get("right");
if (checkReference(right)) {
return false;
}
return true;
};
}
extractAssignment(expr) {
return [expr.node.left.property, expr.node.right];
}
addSuccessfully(t, [left, right], init) {
init.properties.push(t.objectProperty(left, right));
return true;
}
}
module.exports = ObjectCollapser;