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,52 @@
"use strict";
const Collapser = require("./collapser");
class ArrayCollapser extends Collapser {
isInitTypeValid(init) {
return init.isArrayExpression();
}
isExpressionTypeValid(expr) {
return expr.isCallExpression();
}
getExpressionChecker(objName, checkReference) {
return expr => {
// checks expr is of form:
// foo.push(rval1, ...nrvals)
const callee = expr.get("callee");
if (!callee.isMemberExpression()) {
return false;
}
const obj = callee.get("object"),
prop = callee.get("property");
if (!obj.isIdentifier() || obj.node.name !== objName || !prop.isIdentifier() || prop.node.name !== "push") {
return false;
}
const args = expr.get("arguments");
if (args.some(checkReference)) {
return false;
}
return true;
};
}
extractAssignment(expr) {
return expr.node.arguments;
}
addSuccessfully(t, args, init) {
args.map(a => init.elements.push(a));
return true;
}
}
module.exports = ArrayCollapser;