mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 21:52:19 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
72
web/node_modules/@babel/helper-remap-async-to-generator/lib/index.js
generated
vendored
Normal file
72
web/node_modules/@babel/helper-remap-async-to-generator/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = _default;
|
||||
|
||||
var _helperWrapFunction = require("@babel/helper-wrap-function");
|
||||
|
||||
var _helperAnnotateAsPure = require("@babel/helper-annotate-as-pure");
|
||||
|
||||
var t = require("@babel/types");
|
||||
|
||||
const awaitVisitor = {
|
||||
Function(path) {
|
||||
path.skip();
|
||||
},
|
||||
|
||||
AwaitExpression(path, {
|
||||
wrapAwait
|
||||
}) {
|
||||
const argument = path.get("argument");
|
||||
|
||||
if (path.parentPath.isYieldExpression()) {
|
||||
path.replaceWith(argument.node);
|
||||
return;
|
||||
}
|
||||
|
||||
path.replaceWith(t.yieldExpression(wrapAwait ? t.callExpression(t.cloneNode(wrapAwait), [argument.node]) : argument.node));
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
function _default(path, helpers, noNewArrows) {
|
||||
path.traverse(awaitVisitor, {
|
||||
wrapAwait: helpers.wrapAwait
|
||||
});
|
||||
const isIIFE = checkIsIIFE(path);
|
||||
path.node.async = false;
|
||||
path.node.generator = true;
|
||||
(0, _helperWrapFunction.default)(path, t.cloneNode(helpers.wrapAsync), noNewArrows);
|
||||
const isProperty = path.isObjectMethod() || path.isClassMethod() || path.parentPath.isObjectProperty() || path.parentPath.isClassProperty();
|
||||
|
||||
if (!isProperty && !isIIFE && path.isExpression()) {
|
||||
(0, _helperAnnotateAsPure.default)(path);
|
||||
}
|
||||
|
||||
function checkIsIIFE(path) {
|
||||
if (path.parentPath.isCallExpression({
|
||||
callee: path.node
|
||||
})) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const {
|
||||
parentPath
|
||||
} = path;
|
||||
|
||||
if (parentPath.isMemberExpression() && t.isIdentifier(parentPath.node.property, {
|
||||
name: "bind"
|
||||
})) {
|
||||
const {
|
||||
parentPath: bindCall
|
||||
} = parentPath;
|
||||
return bindCall.isCallExpression() && bindCall.node.arguments.length === 1 && t.isThisExpression(bindCall.node.arguments[0]) && bindCall.parentPath.isCallExpression({
|
||||
callee: bindCall.node
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue