-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.js
57 lines (57 loc) · 2.04 KB
/
helpers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"use strict";
exports.__esModule = true;
var t = require("babel-types");
var lodash_1 = require("lodash");
function createInjectedNejParamAssignment(varName, index) {
var rightHandSide = t.objectExpression([]);
switch (index) {
case 2:
rightHandSide = t.functionExpression(undefined, [], t.blockStatement([]));
break;
case 3:
rightHandSide = t.arrayExpression([]);
break;
}
return t.expressionStatement(t.assignmentExpression('=', t.identifier(varName), rightHandSide));
}
exports.createInjectedNejParamAssignment = createInjectedNejParamAssignment;
function transformArrowFunctionToFunction(arrowFunction) {
var functionBody;
if (t.isFunctionExpression(arrowFunction)) {
return arrowFunction;
}
if (t.isExpression(arrowFunction.body)) {
functionBody = t.blockStatement([t.returnStatement(arrowFunction.body)]);
}
else {
functionBody = arrowFunction.body;
}
return t.functionExpression(undefined, arrowFunction.params, functionBody);
}
exports.transformArrowFunctionToFunction = transformArrowFunctionToFunction;
function isFunction(node) {
return t.isFunctionExpression(node) || t.isArrowFunctionExpression(node);
}
exports.isFunction = isFunction;
function transformDependencyWithNejAliases(dependencyDir, nejAliases) {
if (!nejAliases) {
return dependencyDir;
}
lodash_1.forOwn(nejAliases, function (mappedPath, alias) {
var aliasRE = new RegExp("({" + alias + "})|(^" + alias + ")(?:[\\/]+)");
dependencyDir = dependencyDir.replace(aliasRE, function (matched, p1, p2) {
if (p1) {
return matched.replace(p1, mappedPath);
}
else if (p2) {
return matched.replace(p2, mappedPath);
}
else {
return matched;
}
});
});
return dependencyDir.replace(/[\/\\]+/g, '/');
}
exports.transformDependencyWithNejAliases = transformDependencyWithNejAliases;
//# sourceMappingURL=helpers.js.map