mirror of
https://github.com/shivammathur/setup-php.git
synced 2024-11-22 20:01:06 +07:00
Optimize installation scripts
This commit is contained in:
parent
585f7a1fd2
commit
9cfe4e665e
@ -65,13 +65,13 @@ describe('Features tests', () => {
|
|||||||
'win32'
|
'win32'
|
||||||
);
|
);
|
||||||
expect(win32).toContain(
|
expect(win32).toContain(
|
||||||
'Add-Content C:\\tools\\php$version\\php.ini "post_max_size=256M"'
|
'Add-Content C:\\tools\\php\\php.ini "post_max_size=256M"'
|
||||||
);
|
);
|
||||||
expect(win32).toContain(
|
expect(win32).toContain(
|
||||||
'Add-Content C:\\tools\\php$version\\php.ini "short_open_tag=On"'
|
'Add-Content C:\\tools\\php\\php.ini "short_open_tag=On"'
|
||||||
);
|
);
|
||||||
expect(win32).toContain(
|
expect(win32).toContain(
|
||||||
'Add-Content C:\\tools\\php$version\\php.ini "date.timezone=Asia/Kolkata"'
|
'Add-Content C:\\tools\\php\\php.ini "date.timezone=Asia/Kolkata"'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ function enableExtensionWindows(extension) {
|
|||||||
$exist = Test-Path -Path $ext_dir\\php_${extension}.dll
|
$exist = Test-Path -Path $ext_dir\\php_${extension}.dll
|
||||||
$enabled = php -r "if (in_array('${extension}', get_loaded_extensions())) {echo 'yes';} else {echo 'no';}"
|
$enabled = php -r "if (in_array('${extension}', get_loaded_extensions())) {echo 'yes';} else {echo 'no';}"
|
||||||
if($enabled -eq 'no' -and $exist) {
|
if($enabled -eq 'no' -and $exist) {
|
||||||
Enable-PhpExtension ${extension} C:\\tools\\php$version
|
Enable-PhpExtension ${extension} C:\\tools\\php
|
||||||
$${extension}_found = 1
|
$${extension}_found = 1
|
||||||
}
|
}
|
||||||
} catch [Exception] {
|
} catch [Exception] {
|
||||||
@ -208,7 +208,7 @@ function addINIValuesWindows(ini_values_csv) {
|
|||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
// add script to set ini value
|
// add script to set ini value
|
||||||
script +=
|
script +=
|
||||||
'Add-Content C:\\tools\\php$version\\php.ini "' + ini_value + '"\n';
|
'Add-Content C:\\tools\\php\\php.ini "' + ini_value + '"\n';
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return script;
|
return script;
|
||||||
|
15
node_modules/.bin/browserslist
generated
vendored
15
node_modules/.bin/browserslist
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../browserslist/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../browserslist/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/browserslist.cmd
generated
vendored
7
node_modules/.bin/browserslist.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\browserslist\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\browserslist\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/jsesc
generated
vendored
15
node_modules/.bin/jsesc
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../jsesc/bin/jsesc" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/jsesc.cmd
generated
vendored
7
node_modules/.bin/jsesc.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\jsesc\bin\jsesc" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\jsesc\bin\jsesc" %*
|
|
||||||
)
|
|
15
node_modules/.bin/loose-envify
generated
vendored
15
node_modules/.bin/loose-envify
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../loose-envify/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../loose-envify/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/loose-envify.cmd
generated
vendored
7
node_modules/.bin/loose-envify.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\loose-envify\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\loose-envify\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/parser
generated
vendored
15
node_modules/.bin/parser
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/parser.cmd
generated
vendored
7
node_modules/.bin/parser.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/regexp-tree
generated
vendored
15
node_modules/.bin/regexp-tree
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../regexp-tree/bin/regexp-tree" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../regexp-tree/bin/regexp-tree" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/regexp-tree.cmd
generated
vendored
7
node_modules/.bin/regexp-tree.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\regexp-tree\bin\regexp-tree" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\regexp-tree\bin\regexp-tree" %*
|
|
||||||
)
|
|
15
node_modules/.bin/regjsparser
generated
vendored
15
node_modules/.bin/regjsparser
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../regjsparser/bin/parser" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../regjsparser/bin/parser" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/regjsparser.cmd
generated
vendored
7
node_modules/.bin/regjsparser.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\regjsparser\bin\parser" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\regjsparser\bin\parser" %*
|
|
||||||
)
|
|
22
node_modules/@babel/code-frame/LICENSE
generated
vendored
22
node_modules/@babel/code-frame/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/code-frame/README.md
generated
vendored
19
node_modules/@babel/code-frame/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/code-frame
|
|
||||||
|
|
||||||
> Generate errors that contain a code frame that point to source locations.
|
|
||||||
|
|
||||||
See our website [@babel/code-frame](https://babeljs.io/docs/en/next/babel-code-frame.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/code-frame
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/code-frame --dev
|
|
||||||
```
|
|
173
node_modules/@babel/code-frame/lib/index.js
generated
vendored
173
node_modules/@babel/code-frame/lib/index.js
generated
vendored
@ -1,173 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.codeFrameColumns = codeFrameColumns;
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function _highlight() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/highlight"));
|
|
||||||
|
|
||||||
_highlight = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
let deprecationWarningShown = false;
|
|
||||||
|
|
||||||
function getDefs(chalk) {
|
|
||||||
return {
|
|
||||||
gutter: chalk.grey,
|
|
||||||
marker: chalk.red.bold,
|
|
||||||
message: chalk.red.bold
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
|
|
||||||
|
|
||||||
function getMarkerLines(loc, source, opts) {
|
|
||||||
const startLoc = Object.assign({
|
|
||||||
column: 0,
|
|
||||||
line: -1
|
|
||||||
}, loc.start);
|
|
||||||
const endLoc = Object.assign({}, startLoc, loc.end);
|
|
||||||
const {
|
|
||||||
linesAbove = 2,
|
|
||||||
linesBelow = 3
|
|
||||||
} = opts || {};
|
|
||||||
const startLine = startLoc.line;
|
|
||||||
const startColumn = startLoc.column;
|
|
||||||
const endLine = endLoc.line;
|
|
||||||
const endColumn = endLoc.column;
|
|
||||||
let start = Math.max(startLine - (linesAbove + 1), 0);
|
|
||||||
let end = Math.min(source.length, endLine + linesBelow);
|
|
||||||
|
|
||||||
if (startLine === -1) {
|
|
||||||
start = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (endLine === -1) {
|
|
||||||
end = source.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
const lineDiff = endLine - startLine;
|
|
||||||
const markerLines = {};
|
|
||||||
|
|
||||||
if (lineDiff) {
|
|
||||||
for (let i = 0; i <= lineDiff; i++) {
|
|
||||||
const lineNumber = i + startLine;
|
|
||||||
|
|
||||||
if (!startColumn) {
|
|
||||||
markerLines[lineNumber] = true;
|
|
||||||
} else if (i === 0) {
|
|
||||||
const sourceLength = source[lineNumber - 1].length;
|
|
||||||
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
|
|
||||||
} else if (i === lineDiff) {
|
|
||||||
markerLines[lineNumber] = [0, endColumn];
|
|
||||||
} else {
|
|
||||||
const sourceLength = source[lineNumber - i].length;
|
|
||||||
markerLines[lineNumber] = [0, sourceLength];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (startColumn === endColumn) {
|
|
||||||
if (startColumn) {
|
|
||||||
markerLines[startLine] = [startColumn, 0];
|
|
||||||
} else {
|
|
||||||
markerLines[startLine] = true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
markerLines[startLine] = [startColumn, endColumn - startColumn];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
start,
|
|
||||||
end,
|
|
||||||
markerLines
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function codeFrameColumns(rawLines, loc, opts = {}) {
|
|
||||||
const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight().shouldHighlight)(opts);
|
|
||||||
const chalk = (0, _highlight().getChalk)(opts);
|
|
||||||
const defs = getDefs(chalk);
|
|
||||||
|
|
||||||
const maybeHighlight = (chalkFn, string) => {
|
|
||||||
return highlighted ? chalkFn(string) : string;
|
|
||||||
};
|
|
||||||
|
|
||||||
const lines = rawLines.split(NEWLINE);
|
|
||||||
const {
|
|
||||||
start,
|
|
||||||
end,
|
|
||||||
markerLines
|
|
||||||
} = getMarkerLines(loc, lines, opts);
|
|
||||||
const hasColumns = loc.start && typeof loc.start.column === "number";
|
|
||||||
const numberMaxWidth = String(end).length;
|
|
||||||
const highlightedLines = highlighted ? (0, _highlight().default)(rawLines, opts) : rawLines;
|
|
||||||
let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => {
|
|
||||||
const number = start + 1 + index;
|
|
||||||
const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
|
|
||||||
const gutter = ` ${paddedNumber} | `;
|
|
||||||
const hasMarker = markerLines[number];
|
|
||||||
const lastMarkerLine = !markerLines[number + 1];
|
|
||||||
|
|
||||||
if (hasMarker) {
|
|
||||||
let markerLine = "";
|
|
||||||
|
|
||||||
if (Array.isArray(hasMarker)) {
|
|
||||||
const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
|
|
||||||
const numberOfMarkers = hasMarker[1] || 1;
|
|
||||||
markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");
|
|
||||||
|
|
||||||
if (lastMarkerLine && opts.message) {
|
|
||||||
markerLine += " " + maybeHighlight(defs.message, opts.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join("");
|
|
||||||
} else {
|
|
||||||
return ` ${maybeHighlight(defs.gutter, gutter)}${line}`;
|
|
||||||
}
|
|
||||||
}).join("\n");
|
|
||||||
|
|
||||||
if (opts.message && !hasColumns) {
|
|
||||||
frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (highlighted) {
|
|
||||||
return chalk.reset(frame);
|
|
||||||
} else {
|
|
||||||
return frame;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function _default(rawLines, lineNumber, colNumber, opts = {}) {
|
|
||||||
if (!deprecationWarningShown) {
|
|
||||||
deprecationWarningShown = true;
|
|
||||||
const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
|
|
||||||
|
|
||||||
if (process.emitWarning) {
|
|
||||||
process.emitWarning(message, "DeprecationWarning");
|
|
||||||
} else {
|
|
||||||
const deprecationError = new Error(message);
|
|
||||||
deprecationError.name = "DeprecationWarning";
|
|
||||||
console.warn(new Error(message));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
colNumber = Math.max(colNumber, 0);
|
|
||||||
const location = {
|
|
||||||
start: {
|
|
||||||
column: colNumber,
|
|
||||||
line: lineNumber
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return codeFrameColumns(rawLines, location, opts);
|
|
||||||
}
|
|
60
node_modules/@babel/code-frame/package.json
generated
vendored
60
node_modules/@babel/code-frame/package.json
generated
vendored
@ -1,60 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/code-frame@7.5.5",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/code-frame@7.5.5",
|
|
||||||
"_id": "@babel/code-frame@7.5.5",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
|
|
||||||
"_location": "/@babel/code-frame",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/code-frame@7.5.5",
|
|
||||||
"name": "@babel/code-frame",
|
|
||||||
"escapedName": "@babel%2fcode-frame",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.5.5",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.5.5"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/core",
|
|
||||||
"/@babel/template",
|
|
||||||
"/@babel/traverse",
|
|
||||||
"/jest-message-util",
|
|
||||||
"/read-pkg/parse-json"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
|
|
||||||
"_spec": "7.5.5",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"author": {
|
|
||||||
"name": "Sebastian McKenzie",
|
|
||||||
"email": "sebmck@gmail.com"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/highlight": "^7.0.0"
|
|
||||||
},
|
|
||||||
"description": "Generate errors that contain a code frame that point to source locations.",
|
|
||||||
"devDependencies": {
|
|
||||||
"chalk": "^2.0.0",
|
|
||||||
"strip-ansi": "^4.0.0"
|
|
||||||
},
|
|
||||||
"gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43",
|
|
||||||
"homepage": "https://babeljs.io/",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/code-frame",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-code-frame"
|
|
||||||
},
|
|
||||||
"version": "7.5.5"
|
|
||||||
}
|
|
22
node_modules/@babel/generator/LICENSE
generated
vendored
22
node_modules/@babel/generator/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/generator/README.md
generated
vendored
19
node_modules/@babel/generator/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/generator
|
|
||||||
|
|
||||||
> Turns an AST into code.
|
|
||||||
|
|
||||||
See our website [@babel/generator](https://babeljs.io/docs/en/next/babel-generator.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen) associated with this package.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/generator
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/generator --dev
|
|
||||||
```
|
|
257
node_modules/@babel/generator/lib/buffer.js
generated
vendored
257
node_modules/@babel/generator/lib/buffer.js
generated
vendored
@ -1,257 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _trimRight() {
|
|
||||||
const data = _interopRequireDefault(require("trim-right"));
|
|
||||||
|
|
||||||
_trimRight = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
const SPACES_RE = /^[ \t]+$/;
|
|
||||||
|
|
||||||
class Buffer {
|
|
||||||
constructor(map) {
|
|
||||||
this._map = null;
|
|
||||||
this._buf = [];
|
|
||||||
this._last = "";
|
|
||||||
this._queue = [];
|
|
||||||
this._position = {
|
|
||||||
line: 1,
|
|
||||||
column: 0
|
|
||||||
};
|
|
||||||
this._sourcePosition = {
|
|
||||||
identifierName: null,
|
|
||||||
line: null,
|
|
||||||
column: null,
|
|
||||||
filename: null
|
|
||||||
};
|
|
||||||
this._disallowedPop = null;
|
|
||||||
this._map = map;
|
|
||||||
}
|
|
||||||
|
|
||||||
get() {
|
|
||||||
this._flush();
|
|
||||||
|
|
||||||
const map = this._map;
|
|
||||||
const result = {
|
|
||||||
code: (0, _trimRight().default)(this._buf.join("")),
|
|
||||||
map: null,
|
|
||||||
rawMappings: map && map.getRawMappings()
|
|
||||||
};
|
|
||||||
|
|
||||||
if (map) {
|
|
||||||
Object.defineProperty(result, "map", {
|
|
||||||
configurable: true,
|
|
||||||
enumerable: true,
|
|
||||||
|
|
||||||
get() {
|
|
||||||
return this.map = map.get();
|
|
||||||
},
|
|
||||||
|
|
||||||
set(value) {
|
|
||||||
Object.defineProperty(this, "map", {
|
|
||||||
value,
|
|
||||||
writable: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
append(str) {
|
|
||||||
this._flush();
|
|
||||||
|
|
||||||
const {
|
|
||||||
line,
|
|
||||||
column,
|
|
||||||
filename,
|
|
||||||
identifierName,
|
|
||||||
force
|
|
||||||
} = this._sourcePosition;
|
|
||||||
|
|
||||||
this._append(str, line, column, identifierName, filename, force);
|
|
||||||
}
|
|
||||||
|
|
||||||
queue(str) {
|
|
||||||
if (str === "\n") {
|
|
||||||
while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) {
|
|
||||||
this._queue.shift();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const {
|
|
||||||
line,
|
|
||||||
column,
|
|
||||||
filename,
|
|
||||||
identifierName,
|
|
||||||
force
|
|
||||||
} = this._sourcePosition;
|
|
||||||
|
|
||||||
this._queue.unshift([str, line, column, identifierName, filename, force]);
|
|
||||||
}
|
|
||||||
|
|
||||||
_flush() {
|
|
||||||
let item;
|
|
||||||
|
|
||||||
while (item = this._queue.pop()) this._append(...item);
|
|
||||||
}
|
|
||||||
|
|
||||||
_append(str, line, column, identifierName, filename, force) {
|
|
||||||
if (this._map && str[0] !== "\n") {
|
|
||||||
this._map.mark(this._position.line, this._position.column, line, column, identifierName, filename, force);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._buf.push(str);
|
|
||||||
|
|
||||||
this._last = str[str.length - 1];
|
|
||||||
|
|
||||||
for (let i = 0; i < str.length; i++) {
|
|
||||||
if (str[i] === "\n") {
|
|
||||||
this._position.line++;
|
|
||||||
this._position.column = 0;
|
|
||||||
} else {
|
|
||||||
this._position.column++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
removeTrailingNewline() {
|
|
||||||
if (this._queue.length > 0 && this._queue[0][0] === "\n") {
|
|
||||||
this._queue.shift();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
removeLastSemicolon() {
|
|
||||||
if (this._queue.length > 0 && this._queue[0][0] === ";") {
|
|
||||||
this._queue.shift();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
endsWith(suffix) {
|
|
||||||
if (suffix.length === 1) {
|
|
||||||
let last;
|
|
||||||
|
|
||||||
if (this._queue.length > 0) {
|
|
||||||
const str = this._queue[0][0];
|
|
||||||
last = str[str.length - 1];
|
|
||||||
} else {
|
|
||||||
last = this._last;
|
|
||||||
}
|
|
||||||
|
|
||||||
return last === suffix;
|
|
||||||
}
|
|
||||||
|
|
||||||
const end = this._last + this._queue.reduce((acc, item) => item[0] + acc, "");
|
|
||||||
|
|
||||||
if (suffix.length <= end.length) {
|
|
||||||
return end.slice(-suffix.length) === suffix;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
hasContent() {
|
|
||||||
return this._queue.length > 0 || !!this._last;
|
|
||||||
}
|
|
||||||
|
|
||||||
exactSource(loc, cb) {
|
|
||||||
this.source("start", loc, true);
|
|
||||||
cb();
|
|
||||||
this.source("end", loc);
|
|
||||||
|
|
||||||
this._disallowPop("start", loc);
|
|
||||||
}
|
|
||||||
|
|
||||||
source(prop, loc, force) {
|
|
||||||
if (prop && !loc) return;
|
|
||||||
|
|
||||||
this._normalizePosition(prop, loc, this._sourcePosition, force);
|
|
||||||
}
|
|
||||||
|
|
||||||
withSource(prop, loc, cb) {
|
|
||||||
if (!this._map) return cb();
|
|
||||||
const originalLine = this._sourcePosition.line;
|
|
||||||
const originalColumn = this._sourcePosition.column;
|
|
||||||
const originalFilename = this._sourcePosition.filename;
|
|
||||||
const originalIdentifierName = this._sourcePosition.identifierName;
|
|
||||||
this.source(prop, loc);
|
|
||||||
cb();
|
|
||||||
|
|
||||||
if ((!this._sourcePosition.force || this._sourcePosition.line !== originalLine || this._sourcePosition.column !== originalColumn || this._sourcePosition.filename !== originalFilename) && (!this._disallowedPop || this._disallowedPop.line !== originalLine || this._disallowedPop.column !== originalColumn || this._disallowedPop.filename !== originalFilename)) {
|
|
||||||
this._sourcePosition.line = originalLine;
|
|
||||||
this._sourcePosition.column = originalColumn;
|
|
||||||
this._sourcePosition.filename = originalFilename;
|
|
||||||
this._sourcePosition.identifierName = originalIdentifierName;
|
|
||||||
this._sourcePosition.force = false;
|
|
||||||
this._disallowedPop = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_disallowPop(prop, loc) {
|
|
||||||
if (prop && !loc) return;
|
|
||||||
this._disallowedPop = this._normalizePosition(prop, loc);
|
|
||||||
}
|
|
||||||
|
|
||||||
_normalizePosition(prop, loc, targetObj, force) {
|
|
||||||
const pos = loc ? loc[prop] : null;
|
|
||||||
|
|
||||||
if (targetObj === undefined) {
|
|
||||||
targetObj = {
|
|
||||||
identifierName: null,
|
|
||||||
line: null,
|
|
||||||
column: null,
|
|
||||||
filename: null,
|
|
||||||
force: false
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const origLine = targetObj.line;
|
|
||||||
const origColumn = targetObj.column;
|
|
||||||
const origFilename = targetObj.filename;
|
|
||||||
targetObj.identifierName = prop === "start" && loc && loc.identifierName || null;
|
|
||||||
targetObj.line = pos ? pos.line : null;
|
|
||||||
targetObj.column = pos ? pos.column : null;
|
|
||||||
targetObj.filename = loc && loc.filename || null;
|
|
||||||
|
|
||||||
if (force || targetObj.line !== origLine || targetObj.column !== origColumn || targetObj.filename !== origFilename) {
|
|
||||||
targetObj.force = force;
|
|
||||||
}
|
|
||||||
|
|
||||||
return targetObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
getCurrentColumn() {
|
|
||||||
const extra = this._queue.reduce((acc, item) => item[0] + acc, "");
|
|
||||||
|
|
||||||
const lastIndex = extra.lastIndexOf("\n");
|
|
||||||
return lastIndex === -1 ? this._position.column + extra.length : extra.length - 1 - lastIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
getCurrentLine() {
|
|
||||||
const extra = this._queue.reduce((acc, item) => item[0] + acc, "");
|
|
||||||
|
|
||||||
let count = 0;
|
|
||||||
|
|
||||||
for (let i = 0; i < extra.length; i++) {
|
|
||||||
if (extra[i] === "\n") count++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this._position.line + count;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.default = Buffer;
|
|
97
node_modules/@babel/generator/lib/generators/base.js
generated
vendored
97
node_modules/@babel/generator/lib/generators/base.js
generated
vendored
@ -1,97 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.File = File;
|
|
||||||
exports.Program = Program;
|
|
||||||
exports.BlockStatement = BlockStatement;
|
|
||||||
exports.Noop = Noop;
|
|
||||||
exports.Directive = Directive;
|
|
||||||
exports.DirectiveLiteral = DirectiveLiteral;
|
|
||||||
exports.InterpreterDirective = InterpreterDirective;
|
|
||||||
exports.Placeholder = Placeholder;
|
|
||||||
|
|
||||||
function File(node) {
|
|
||||||
if (node.program) {
|
|
||||||
this.print(node.program.interpreter, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.program, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function Program(node) {
|
|
||||||
this.printInnerComments(node, false);
|
|
||||||
this.printSequence(node.directives, node);
|
|
||||||
if (node.directives && node.directives.length) this.newline();
|
|
||||||
this.printSequence(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function BlockStatement(node) {
|
|
||||||
this.token("{");
|
|
||||||
this.printInnerComments(node);
|
|
||||||
const hasDirectives = node.directives && node.directives.length;
|
|
||||||
|
|
||||||
if (node.body.length || hasDirectives) {
|
|
||||||
this.newline();
|
|
||||||
this.printSequence(node.directives, node, {
|
|
||||||
indent: true
|
|
||||||
});
|
|
||||||
if (hasDirectives) this.newline();
|
|
||||||
this.printSequence(node.body, node, {
|
|
||||||
indent: true
|
|
||||||
});
|
|
||||||
this.removeTrailingNewline();
|
|
||||||
this.source("end", node.loc);
|
|
||||||
if (!this.endsWith("\n")) this.newline();
|
|
||||||
this.rightBrace();
|
|
||||||
} else {
|
|
||||||
this.source("end", node.loc);
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Noop() {}
|
|
||||||
|
|
||||||
function Directive(node) {
|
|
||||||
this.print(node.value, node);
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
const unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/;
|
|
||||||
const unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/;
|
|
||||||
|
|
||||||
function DirectiveLiteral(node) {
|
|
||||||
const raw = this.getPossibleRaw(node);
|
|
||||||
|
|
||||||
if (raw != null) {
|
|
||||||
this.token(raw);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const {
|
|
||||||
value
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (!unescapedDoubleQuoteRE.test(value)) {
|
|
||||||
this.token(`"${value}"`);
|
|
||||||
} else if (!unescapedSingleQuoteRE.test(value)) {
|
|
||||||
this.token(`'${value}'`);
|
|
||||||
} else {
|
|
||||||
throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function InterpreterDirective(node) {
|
|
||||||
this.token(`#!${node.value}\n`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function Placeholder(node) {
|
|
||||||
this.token("%%");
|
|
||||||
this.print(node.name);
|
|
||||||
this.token("%%");
|
|
||||||
|
|
||||||
if (node.expectedNode === "Statement") {
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
}
|
|
190
node_modules/@babel/generator/lib/generators/classes.js
generated
vendored
190
node_modules/@babel/generator/lib/generators/classes.js
generated
vendored
@ -1,190 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration;
|
|
||||||
exports.ClassBody = ClassBody;
|
|
||||||
exports.ClassProperty = ClassProperty;
|
|
||||||
exports.ClassPrivateProperty = ClassPrivateProperty;
|
|
||||||
exports.ClassMethod = ClassMethod;
|
|
||||||
exports.ClassPrivateMethod = ClassPrivateMethod;
|
|
||||||
exports._classMethodHead = _classMethodHead;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function ClassDeclaration(node, parent) {
|
|
||||||
if (!this.format.decoratorsBeforeExport || !t().isExportDefaultDeclaration(parent) && !t().isExportNamedDeclaration(parent)) {
|
|
||||||
this.printJoin(node.decorators, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.abstract) {
|
|
||||||
this.word("abstract");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("class");
|
|
||||||
|
|
||||||
if (node.id) {
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
|
|
||||||
if (node.superClass) {
|
|
||||||
this.space();
|
|
||||||
this.word("extends");
|
|
||||||
this.space();
|
|
||||||
this.print(node.superClass, node);
|
|
||||||
this.print(node.superTypeParameters, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.implements) {
|
|
||||||
this.space();
|
|
||||||
this.word("implements");
|
|
||||||
this.space();
|
|
||||||
this.printList(node.implements, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClassBody(node) {
|
|
||||||
this.token("{");
|
|
||||||
this.printInnerComments(node);
|
|
||||||
|
|
||||||
if (node.body.length === 0) {
|
|
||||||
this.token("}");
|
|
||||||
} else {
|
|
||||||
this.newline();
|
|
||||||
this.indent();
|
|
||||||
this.printSequence(node.body, node);
|
|
||||||
this.dedent();
|
|
||||||
if (!this.endsWith("\n")) this.newline();
|
|
||||||
this.rightBrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClassProperty(node) {
|
|
||||||
this.printJoin(node.decorators, node);
|
|
||||||
|
|
||||||
if (node.accessibility) {
|
|
||||||
this.word(node.accessibility);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.abstract) {
|
|
||||||
this.word("abstract");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.readonly) {
|
|
||||||
this.word("readonly");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.computed) {
|
|
||||||
this.token("[");
|
|
||||||
this.print(node.key, node);
|
|
||||||
this.token("]");
|
|
||||||
} else {
|
|
||||||
this._variance(node);
|
|
||||||
|
|
||||||
this.print(node.key, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.optional) {
|
|
||||||
this.token("?");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.definite) {
|
|
||||||
this.token("!");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
|
|
||||||
if (node.value) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClassPrivateProperty(node) {
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.key, node);
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
|
|
||||||
if (node.value) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClassMethod(node) {
|
|
||||||
this._classMethodHead(node);
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClassPrivateMethod(node) {
|
|
||||||
this._classMethodHead(node);
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _classMethodHead(node) {
|
|
||||||
this.printJoin(node.decorators, node);
|
|
||||||
|
|
||||||
if (node.accessibility) {
|
|
||||||
this.word(node.accessibility);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.abstract) {
|
|
||||||
this.word("abstract");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._methodHead(node);
|
|
||||||
}
|
|
292
node_modules/@babel/generator/lib/generators/expressions.js
generated
vendored
292
node_modules/@babel/generator/lib/generators/expressions.js
generated
vendored
@ -1,292 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.UnaryExpression = UnaryExpression;
|
|
||||||
exports.DoExpression = DoExpression;
|
|
||||||
exports.ParenthesizedExpression = ParenthesizedExpression;
|
|
||||||
exports.UpdateExpression = UpdateExpression;
|
|
||||||
exports.ConditionalExpression = ConditionalExpression;
|
|
||||||
exports.NewExpression = NewExpression;
|
|
||||||
exports.SequenceExpression = SequenceExpression;
|
|
||||||
exports.ThisExpression = ThisExpression;
|
|
||||||
exports.Super = Super;
|
|
||||||
exports.Decorator = Decorator;
|
|
||||||
exports.OptionalMemberExpression = OptionalMemberExpression;
|
|
||||||
exports.OptionalCallExpression = OptionalCallExpression;
|
|
||||||
exports.CallExpression = CallExpression;
|
|
||||||
exports.Import = Import;
|
|
||||||
exports.EmptyStatement = EmptyStatement;
|
|
||||||
exports.ExpressionStatement = ExpressionStatement;
|
|
||||||
exports.AssignmentPattern = AssignmentPattern;
|
|
||||||
exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression;
|
|
||||||
exports.BindExpression = BindExpression;
|
|
||||||
exports.MemberExpression = MemberExpression;
|
|
||||||
exports.MetaProperty = MetaProperty;
|
|
||||||
exports.PrivateName = PrivateName;
|
|
||||||
exports.AwaitExpression = exports.YieldExpression = void 0;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var n = _interopRequireWildcard(require("../node"));
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function UnaryExpression(node) {
|
|
||||||
if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") {
|
|
||||||
this.word(node.operator);
|
|
||||||
this.space();
|
|
||||||
} else {
|
|
||||||
this.token(node.operator);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.argument, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DoExpression(node) {
|
|
||||||
this.word("do");
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ParenthesizedExpression(node) {
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function UpdateExpression(node) {
|
|
||||||
if (node.prefix) {
|
|
||||||
this.token(node.operator);
|
|
||||||
this.print(node.argument, node);
|
|
||||||
} else {
|
|
||||||
this.startTerminatorless(true);
|
|
||||||
this.print(node.argument, node);
|
|
||||||
this.endTerminatorless();
|
|
||||||
this.token(node.operator);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ConditionalExpression(node) {
|
|
||||||
this.print(node.test, node);
|
|
||||||
this.space();
|
|
||||||
this.token("?");
|
|
||||||
this.space();
|
|
||||||
this.print(node.consequent, node);
|
|
||||||
this.space();
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.alternate, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function NewExpression(node, parent) {
|
|
||||||
this.word("new");
|
|
||||||
this.space();
|
|
||||||
this.print(node.callee, node);
|
|
||||||
|
|
||||||
if (this.format.minified && node.arguments.length === 0 && !node.optional && !t().isCallExpression(parent, {
|
|
||||||
callee: node
|
|
||||||
}) && !t().isMemberExpression(parent) && !t().isNewExpression(parent)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.typeArguments, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
|
|
||||||
if (node.optional) {
|
|
||||||
this.token("?.");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("(");
|
|
||||||
this.printList(node.arguments, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function SequenceExpression(node) {
|
|
||||||
this.printList(node.expressions, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ThisExpression() {
|
|
||||||
this.word("this");
|
|
||||||
}
|
|
||||||
|
|
||||||
function Super() {
|
|
||||||
this.word("super");
|
|
||||||
}
|
|
||||||
|
|
||||||
function Decorator(node) {
|
|
||||||
this.token("@");
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.newline();
|
|
||||||
}
|
|
||||||
|
|
||||||
function OptionalMemberExpression(node) {
|
|
||||||
this.print(node.object, node);
|
|
||||||
|
|
||||||
if (!node.computed && t().isMemberExpression(node.property)) {
|
|
||||||
throw new TypeError("Got a MemberExpression for MemberExpression property");
|
|
||||||
}
|
|
||||||
|
|
||||||
let computed = node.computed;
|
|
||||||
|
|
||||||
if (t().isLiteral(node.property) && typeof node.property.value === "number") {
|
|
||||||
computed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.optional) {
|
|
||||||
this.token("?.");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (computed) {
|
|
||||||
this.token("[");
|
|
||||||
this.print(node.property, node);
|
|
||||||
this.token("]");
|
|
||||||
} else {
|
|
||||||
if (!node.optional) {
|
|
||||||
this.token(".");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.property, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function OptionalCallExpression(node) {
|
|
||||||
this.print(node.callee, node);
|
|
||||||
this.print(node.typeArguments, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
|
|
||||||
if (node.optional) {
|
|
||||||
this.token("?.");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("(");
|
|
||||||
this.printList(node.arguments, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function CallExpression(node) {
|
|
||||||
this.print(node.callee, node);
|
|
||||||
this.print(node.typeArguments, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
this.token("(");
|
|
||||||
this.printList(node.arguments, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function Import() {
|
|
||||||
this.word("import");
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildYieldAwait(keyword) {
|
|
||||||
return function (node) {
|
|
||||||
this.word(keyword);
|
|
||||||
|
|
||||||
if (node.delegate) {
|
|
||||||
this.token("*");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.argument) {
|
|
||||||
this.space();
|
|
||||||
const terminatorState = this.startTerminatorless();
|
|
||||||
this.print(node.argument, node);
|
|
||||||
this.endTerminatorless(terminatorState);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const YieldExpression = buildYieldAwait("yield");
|
|
||||||
exports.YieldExpression = YieldExpression;
|
|
||||||
const AwaitExpression = buildYieldAwait("await");
|
|
||||||
exports.AwaitExpression = AwaitExpression;
|
|
||||||
|
|
||||||
function EmptyStatement() {
|
|
||||||
this.semicolon(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExpressionStatement(node) {
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function AssignmentPattern(node) {
|
|
||||||
this.print(node.left, node);
|
|
||||||
if (node.left.optional) this.token("?");
|
|
||||||
this.print(node.left.typeAnnotation, node);
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.right, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function AssignmentExpression(node, parent) {
|
|
||||||
const parens = this.inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent);
|
|
||||||
|
|
||||||
if (parens) {
|
|
||||||
this.token("(");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.left, node);
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.operator === "in" || node.operator === "instanceof") {
|
|
||||||
this.word(node.operator);
|
|
||||||
} else {
|
|
||||||
this.token(node.operator);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.right, node);
|
|
||||||
|
|
||||||
if (parens) {
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function BindExpression(node) {
|
|
||||||
this.print(node.object, node);
|
|
||||||
this.token("::");
|
|
||||||
this.print(node.callee, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function MemberExpression(node) {
|
|
||||||
this.print(node.object, node);
|
|
||||||
|
|
||||||
if (!node.computed && t().isMemberExpression(node.property)) {
|
|
||||||
throw new TypeError("Got a MemberExpression for MemberExpression property");
|
|
||||||
}
|
|
||||||
|
|
||||||
let computed = node.computed;
|
|
||||||
|
|
||||||
if (t().isLiteral(node.property) && typeof node.property.value === "number") {
|
|
||||||
computed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (computed) {
|
|
||||||
this.token("[");
|
|
||||||
this.print(node.property, node);
|
|
||||||
this.token("]");
|
|
||||||
} else {
|
|
||||||
this.token(".");
|
|
||||||
this.print(node.property, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function MetaProperty(node) {
|
|
||||||
this.print(node.meta, node);
|
|
||||||
this.token(".");
|
|
||||||
this.print(node.property, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function PrivateName(node) {
|
|
||||||
this.token("#");
|
|
||||||
this.print(node.id, node);
|
|
||||||
}
|
|
639
node_modules/@babel/generator/lib/generators/flow.js
generated
vendored
639
node_modules/@babel/generator/lib/generators/flow.js
generated
vendored
@ -1,639 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.AnyTypeAnnotation = AnyTypeAnnotation;
|
|
||||||
exports.ArrayTypeAnnotation = ArrayTypeAnnotation;
|
|
||||||
exports.BooleanTypeAnnotation = BooleanTypeAnnotation;
|
|
||||||
exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation;
|
|
||||||
exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation;
|
|
||||||
exports.DeclareClass = DeclareClass;
|
|
||||||
exports.DeclareFunction = DeclareFunction;
|
|
||||||
exports.InferredPredicate = InferredPredicate;
|
|
||||||
exports.DeclaredPredicate = DeclaredPredicate;
|
|
||||||
exports.DeclareInterface = DeclareInterface;
|
|
||||||
exports.DeclareModule = DeclareModule;
|
|
||||||
exports.DeclareModuleExports = DeclareModuleExports;
|
|
||||||
exports.DeclareTypeAlias = DeclareTypeAlias;
|
|
||||||
exports.DeclareOpaqueType = DeclareOpaqueType;
|
|
||||||
exports.DeclareVariable = DeclareVariable;
|
|
||||||
exports.DeclareExportDeclaration = DeclareExportDeclaration;
|
|
||||||
exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration;
|
|
||||||
exports.ExistsTypeAnnotation = ExistsTypeAnnotation;
|
|
||||||
exports.FunctionTypeAnnotation = FunctionTypeAnnotation;
|
|
||||||
exports.FunctionTypeParam = FunctionTypeParam;
|
|
||||||
exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends;
|
|
||||||
exports._interfaceish = _interfaceish;
|
|
||||||
exports._variance = _variance;
|
|
||||||
exports.InterfaceDeclaration = InterfaceDeclaration;
|
|
||||||
exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation;
|
|
||||||
exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation;
|
|
||||||
exports.MixedTypeAnnotation = MixedTypeAnnotation;
|
|
||||||
exports.EmptyTypeAnnotation = EmptyTypeAnnotation;
|
|
||||||
exports.NullableTypeAnnotation = NullableTypeAnnotation;
|
|
||||||
exports.NumberTypeAnnotation = NumberTypeAnnotation;
|
|
||||||
exports.StringTypeAnnotation = StringTypeAnnotation;
|
|
||||||
exports.ThisTypeAnnotation = ThisTypeAnnotation;
|
|
||||||
exports.TupleTypeAnnotation = TupleTypeAnnotation;
|
|
||||||
exports.TypeofTypeAnnotation = TypeofTypeAnnotation;
|
|
||||||
exports.TypeAlias = TypeAlias;
|
|
||||||
exports.TypeAnnotation = TypeAnnotation;
|
|
||||||
exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation;
|
|
||||||
exports.TypeParameter = TypeParameter;
|
|
||||||
exports.OpaqueType = OpaqueType;
|
|
||||||
exports.ObjectTypeAnnotation = ObjectTypeAnnotation;
|
|
||||||
exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot;
|
|
||||||
exports.ObjectTypeCallProperty = ObjectTypeCallProperty;
|
|
||||||
exports.ObjectTypeIndexer = ObjectTypeIndexer;
|
|
||||||
exports.ObjectTypeProperty = ObjectTypeProperty;
|
|
||||||
exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty;
|
|
||||||
exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier;
|
|
||||||
exports.UnionTypeAnnotation = UnionTypeAnnotation;
|
|
||||||
exports.TypeCastExpression = TypeCastExpression;
|
|
||||||
exports.Variance = Variance;
|
|
||||||
exports.VoidTypeAnnotation = VoidTypeAnnotation;
|
|
||||||
Object.defineProperty(exports, "NumberLiteralTypeAnnotation", {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _types2.NumericLiteral;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, "StringLiteralTypeAnnotation", {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _types2.StringLiteral;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _modules = require("./modules");
|
|
||||||
|
|
||||||
var _types2 = require("./types");
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function AnyTypeAnnotation() {
|
|
||||||
this.word("any");
|
|
||||||
}
|
|
||||||
|
|
||||||
function ArrayTypeAnnotation(node) {
|
|
||||||
this.print(node.elementType, node);
|
|
||||||
this.token("[");
|
|
||||||
this.token("]");
|
|
||||||
}
|
|
||||||
|
|
||||||
function BooleanTypeAnnotation() {
|
|
||||||
this.word("boolean");
|
|
||||||
}
|
|
||||||
|
|
||||||
function BooleanLiteralTypeAnnotation(node) {
|
|
||||||
this.word(node.value ? "true" : "false");
|
|
||||||
}
|
|
||||||
|
|
||||||
function NullLiteralTypeAnnotation() {
|
|
||||||
this.word("null");
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareClass(node, parent) {
|
|
||||||
if (!t().isDeclareExportDeclaration(parent)) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("class");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
this._interfaceish(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareFunction(node, parent) {
|
|
||||||
if (!t().isDeclareExportDeclaration(parent)) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("function");
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.print(node.id.typeAnnotation.typeAnnotation, node);
|
|
||||||
|
|
||||||
if (node.predicate) {
|
|
||||||
this.space();
|
|
||||||
this.print(node.predicate, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function InferredPredicate() {
|
|
||||||
this.token("%");
|
|
||||||
this.word("checks");
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclaredPredicate(node) {
|
|
||||||
this.token("%");
|
|
||||||
this.word("checks");
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.value, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareInterface(node) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
this.InterfaceDeclaration(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareModule(node) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
this.word("module");
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareModuleExports(node) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
this.word("module");
|
|
||||||
this.token(".");
|
|
||||||
this.word("exports");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareTypeAlias(node) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
this.TypeAlias(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareOpaqueType(node, parent) {
|
|
||||||
if (!t().isDeclareExportDeclaration(parent)) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.OpaqueType(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareVariable(node, parent) {
|
|
||||||
if (!t().isDeclareExportDeclaration(parent)) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("var");
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.print(node.id.typeAnnotation, node);
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareExportDeclaration(node) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.default) {
|
|
||||||
this.word("default");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
FlowExportDeclaration.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeclareExportAllDeclaration() {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
_modules.ExportAllDeclaration.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
function FlowExportDeclaration(node) {
|
|
||||||
if (node.declaration) {
|
|
||||||
const declar = node.declaration;
|
|
||||||
this.print(declar, node);
|
|
||||||
if (!t().isStatement(declar)) this.semicolon();
|
|
||||||
} else {
|
|
||||||
this.token("{");
|
|
||||||
|
|
||||||
if (node.specifiers.length) {
|
|
||||||
this.space();
|
|
||||||
this.printList(node.specifiers, node);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("}");
|
|
||||||
|
|
||||||
if (node.source) {
|
|
||||||
this.space();
|
|
||||||
this.word("from");
|
|
||||||
this.space();
|
|
||||||
this.print(node.source, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExistsTypeAnnotation() {
|
|
||||||
this.token("*");
|
|
||||||
}
|
|
||||||
|
|
||||||
function FunctionTypeAnnotation(node, parent) {
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
this.token("(");
|
|
||||||
this.printList(node.params, node);
|
|
||||||
|
|
||||||
if (node.rest) {
|
|
||||||
if (node.params.length) {
|
|
||||||
this.token(",");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("...");
|
|
||||||
this.print(node.rest, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(")");
|
|
||||||
|
|
||||||
if (parent.type === "ObjectTypeCallProperty" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method) {
|
|
||||||
this.token(":");
|
|
||||||
} else {
|
|
||||||
this.space();
|
|
||||||
this.token("=>");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.returnType, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function FunctionTypeParam(node) {
|
|
||||||
this.print(node.name, node);
|
|
||||||
if (node.optional) this.token("?");
|
|
||||||
|
|
||||||
if (node.name) {
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function InterfaceExtends(node) {
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interfaceish(node) {
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
|
|
||||||
if (node.extends.length) {
|
|
||||||
this.space();
|
|
||||||
this.word("extends");
|
|
||||||
this.space();
|
|
||||||
this.printList(node.extends, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.mixins && node.mixins.length) {
|
|
||||||
this.space();
|
|
||||||
this.word("mixins");
|
|
||||||
this.space();
|
|
||||||
this.printList(node.mixins, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.implements && node.implements.length) {
|
|
||||||
this.space();
|
|
||||||
this.word("implements");
|
|
||||||
this.space();
|
|
||||||
this.printList(node.implements, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _variance(node) {
|
|
||||||
if (node.variance) {
|
|
||||||
if (node.variance.kind === "plus") {
|
|
||||||
this.token("+");
|
|
||||||
} else if (node.variance.kind === "minus") {
|
|
||||||
this.token("-");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function InterfaceDeclaration(node) {
|
|
||||||
this.word("interface");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
this._interfaceish(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function andSeparator() {
|
|
||||||
this.space();
|
|
||||||
this.token("&");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
function InterfaceTypeAnnotation(node) {
|
|
||||||
this.word("interface");
|
|
||||||
|
|
||||||
if (node.extends && node.extends.length) {
|
|
||||||
this.space();
|
|
||||||
this.word("extends");
|
|
||||||
this.space();
|
|
||||||
this.printList(node.extends, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function IntersectionTypeAnnotation(node) {
|
|
||||||
this.printJoin(node.types, node, {
|
|
||||||
separator: andSeparator
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function MixedTypeAnnotation() {
|
|
||||||
this.word("mixed");
|
|
||||||
}
|
|
||||||
|
|
||||||
function EmptyTypeAnnotation() {
|
|
||||||
this.word("empty");
|
|
||||||
}
|
|
||||||
|
|
||||||
function NullableTypeAnnotation(node) {
|
|
||||||
this.token("?");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function NumberTypeAnnotation() {
|
|
||||||
this.word("number");
|
|
||||||
}
|
|
||||||
|
|
||||||
function StringTypeAnnotation() {
|
|
||||||
this.word("string");
|
|
||||||
}
|
|
||||||
|
|
||||||
function ThisTypeAnnotation() {
|
|
||||||
this.word("this");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TupleTypeAnnotation(node) {
|
|
||||||
this.token("[");
|
|
||||||
this.printList(node.types, node);
|
|
||||||
this.token("]");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TypeofTypeAnnotation(node) {
|
|
||||||
this.word("typeof");
|
|
||||||
this.space();
|
|
||||||
this.print(node.argument, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TypeAlias(node) {
|
|
||||||
this.word("type");
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.right, node);
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function TypeAnnotation(node) {
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
if (node.optional) this.token("?");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TypeParameterInstantiation(node) {
|
|
||||||
this.token("<");
|
|
||||||
this.printList(node.params, node, {});
|
|
||||||
this.token(">");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TypeParameter(node) {
|
|
||||||
this._variance(node);
|
|
||||||
|
|
||||||
this.word(node.name);
|
|
||||||
|
|
||||||
if (node.bound) {
|
|
||||||
this.print(node.bound, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.default) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.default, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function OpaqueType(node) {
|
|
||||||
this.word("opaque");
|
|
||||||
this.space();
|
|
||||||
this.word("type");
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
|
|
||||||
if (node.supertype) {
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.supertype, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.impltype) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.impltype, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectTypeAnnotation(node) {
|
|
||||||
if (node.exact) {
|
|
||||||
this.token("{|");
|
|
||||||
} else {
|
|
||||||
this.token("{");
|
|
||||||
}
|
|
||||||
|
|
||||||
const props = node.properties.concat(node.callProperties || [], node.indexers || [], node.internalSlots || []);
|
|
||||||
|
|
||||||
if (props.length) {
|
|
||||||
this.space();
|
|
||||||
this.printJoin(props, node, {
|
|
||||||
addNewlines(leading) {
|
|
||||||
if (leading && !props[0]) return 1;
|
|
||||||
},
|
|
||||||
|
|
||||||
indent: true,
|
|
||||||
statement: true,
|
|
||||||
iterator: () => {
|
|
||||||
if (props.length !== 1 || node.inexact) {
|
|
||||||
this.token(",");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.inexact) {
|
|
||||||
this.indent();
|
|
||||||
this.token("...");
|
|
||||||
|
|
||||||
if (props.length) {
|
|
||||||
this.newline();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.dedent();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.exact) {
|
|
||||||
this.token("|}");
|
|
||||||
} else {
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectTypeInternalSlot(node) {
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("[");
|
|
||||||
this.token("[");
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.token("]");
|
|
||||||
this.token("]");
|
|
||||||
if (node.optional) this.token("?");
|
|
||||||
|
|
||||||
if (!node.method) {
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectTypeCallProperty(node) {
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectTypeIndexer(node) {
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._variance(node);
|
|
||||||
|
|
||||||
this.token("[");
|
|
||||||
|
|
||||||
if (node.id) {
|
|
||||||
this.print(node.id, node);
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.key, node);
|
|
||||||
this.token("]");
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectTypeProperty(node) {
|
|
||||||
if (node.proto) {
|
|
||||||
this.word("proto");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.static) {
|
|
||||||
this.word("static");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._variance(node);
|
|
||||||
|
|
||||||
this.print(node.key, node);
|
|
||||||
if (node.optional) this.token("?");
|
|
||||||
|
|
||||||
if (!node.method) {
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectTypeSpreadProperty(node) {
|
|
||||||
this.token("...");
|
|
||||||
this.print(node.argument, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function QualifiedTypeIdentifier(node) {
|
|
||||||
this.print(node.qualification, node);
|
|
||||||
this.token(".");
|
|
||||||
this.print(node.id, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function orSeparator() {
|
|
||||||
this.space();
|
|
||||||
this.token("|");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
function UnionTypeAnnotation(node) {
|
|
||||||
this.printJoin(node.types, node, {
|
|
||||||
separator: orSeparator
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function TypeCastExpression(node) {
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function Variance(node) {
|
|
||||||
if (node.kind === "plus") {
|
|
||||||
this.token("+");
|
|
||||||
} else {
|
|
||||||
this.token("-");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function VoidTypeAnnotation() {
|
|
||||||
this.word("void");
|
|
||||||
}
|
|
137
node_modules/@babel/generator/lib/generators/index.js
generated
vendored
137
node_modules/@babel/generator/lib/generators/index.js
generated
vendored
@ -1,137 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
|
|
||||||
var _templateLiterals = require("./template-literals");
|
|
||||||
|
|
||||||
Object.keys(_templateLiterals).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _templateLiterals[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _expressions = require("./expressions");
|
|
||||||
|
|
||||||
Object.keys(_expressions).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _expressions[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _statements = require("./statements");
|
|
||||||
|
|
||||||
Object.keys(_statements).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _statements[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _classes = require("./classes");
|
|
||||||
|
|
||||||
Object.keys(_classes).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _classes[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _methods = require("./methods");
|
|
||||||
|
|
||||||
Object.keys(_methods).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _methods[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _modules = require("./modules");
|
|
||||||
|
|
||||||
Object.keys(_modules).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _modules[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _types = require("./types");
|
|
||||||
|
|
||||||
Object.keys(_types).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _types[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _flow = require("./flow");
|
|
||||||
|
|
||||||
Object.keys(_flow).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _flow[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _base = require("./base");
|
|
||||||
|
|
||||||
Object.keys(_base).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _base[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _jsx = require("./jsx");
|
|
||||||
|
|
||||||
Object.keys(_jsx).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _jsx[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var _typescript = require("./typescript");
|
|
||||||
|
|
||||||
Object.keys(_typescript).forEach(function (key) {
|
|
||||||
if (key === "default" || key === "__esModule") return;
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _typescript[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
145
node_modules/@babel/generator/lib/generators/jsx.js
generated
vendored
145
node_modules/@babel/generator/lib/generators/jsx.js
generated
vendored
@ -1,145 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.JSXAttribute = JSXAttribute;
|
|
||||||
exports.JSXIdentifier = JSXIdentifier;
|
|
||||||
exports.JSXNamespacedName = JSXNamespacedName;
|
|
||||||
exports.JSXMemberExpression = JSXMemberExpression;
|
|
||||||
exports.JSXSpreadAttribute = JSXSpreadAttribute;
|
|
||||||
exports.JSXExpressionContainer = JSXExpressionContainer;
|
|
||||||
exports.JSXSpreadChild = JSXSpreadChild;
|
|
||||||
exports.JSXText = JSXText;
|
|
||||||
exports.JSXElement = JSXElement;
|
|
||||||
exports.JSXOpeningElement = JSXOpeningElement;
|
|
||||||
exports.JSXClosingElement = JSXClosingElement;
|
|
||||||
exports.JSXEmptyExpression = JSXEmptyExpression;
|
|
||||||
exports.JSXFragment = JSXFragment;
|
|
||||||
exports.JSXOpeningFragment = JSXOpeningFragment;
|
|
||||||
exports.JSXClosingFragment = JSXClosingFragment;
|
|
||||||
|
|
||||||
function JSXAttribute(node) {
|
|
||||||
this.print(node.name, node);
|
|
||||||
|
|
||||||
if (node.value) {
|
|
||||||
this.token("=");
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXIdentifier(node) {
|
|
||||||
this.word(node.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXNamespacedName(node) {
|
|
||||||
this.print(node.namespace, node);
|
|
||||||
this.token(":");
|
|
||||||
this.print(node.name, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXMemberExpression(node) {
|
|
||||||
this.print(node.object, node);
|
|
||||||
this.token(".");
|
|
||||||
this.print(node.property, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXSpreadAttribute(node) {
|
|
||||||
this.token("{");
|
|
||||||
this.token("...");
|
|
||||||
this.print(node.argument, node);
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXExpressionContainer(node) {
|
|
||||||
this.token("{");
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXSpreadChild(node) {
|
|
||||||
this.token("{");
|
|
||||||
this.token("...");
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXText(node) {
|
|
||||||
const raw = this.getPossibleRaw(node);
|
|
||||||
|
|
||||||
if (raw != null) {
|
|
||||||
this.token(raw);
|
|
||||||
} else {
|
|
||||||
this.token(node.value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXElement(node) {
|
|
||||||
const open = node.openingElement;
|
|
||||||
this.print(open, node);
|
|
||||||
if (open.selfClosing) return;
|
|
||||||
this.indent();
|
|
||||||
|
|
||||||
for (const child of node.children) {
|
|
||||||
this.print(child, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.dedent();
|
|
||||||
this.print(node.closingElement, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function spaceSeparator() {
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXOpeningElement(node) {
|
|
||||||
this.token("<");
|
|
||||||
this.print(node.name, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
|
|
||||||
if (node.attributes.length > 0) {
|
|
||||||
this.space();
|
|
||||||
this.printJoin(node.attributes, node, {
|
|
||||||
separator: spaceSeparator
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.selfClosing) {
|
|
||||||
this.space();
|
|
||||||
this.token("/>");
|
|
||||||
} else {
|
|
||||||
this.token(">");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXClosingElement(node) {
|
|
||||||
this.token("</");
|
|
||||||
this.print(node.name, node);
|
|
||||||
this.token(">");
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXEmptyExpression(node) {
|
|
||||||
this.printInnerComments(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXFragment(node) {
|
|
||||||
this.print(node.openingFragment, node);
|
|
||||||
this.indent();
|
|
||||||
|
|
||||||
for (const child of node.children) {
|
|
||||||
this.print(child, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.dedent();
|
|
||||||
this.print(node.closingFragment, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXOpeningFragment() {
|
|
||||||
this.token("<");
|
|
||||||
this.token(">");
|
|
||||||
}
|
|
||||||
|
|
||||||
function JSXClosingFragment() {
|
|
||||||
this.token("</");
|
|
||||||
this.token(">");
|
|
||||||
}
|
|
167
node_modules/@babel/generator/lib/generators/methods.js
generated
vendored
167
node_modules/@babel/generator/lib/generators/methods.js
generated
vendored
@ -1,167 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports._params = _params;
|
|
||||||
exports._parameters = _parameters;
|
|
||||||
exports._param = _param;
|
|
||||||
exports._methodHead = _methodHead;
|
|
||||||
exports._predicate = _predicate;
|
|
||||||
exports._functionHead = _functionHead;
|
|
||||||
exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression;
|
|
||||||
exports.ArrowFunctionExpression = ArrowFunctionExpression;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _params(node) {
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
this.token("(");
|
|
||||||
|
|
||||||
this._parameters(node.params, node);
|
|
||||||
|
|
||||||
this.token(")");
|
|
||||||
this.print(node.returnType, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _parameters(parameters, parent) {
|
|
||||||
for (let i = 0; i < parameters.length; i++) {
|
|
||||||
this._param(parameters[i], parent);
|
|
||||||
|
|
||||||
if (i < parameters.length - 1) {
|
|
||||||
this.token(",");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function _param(parameter, parent) {
|
|
||||||
this.printJoin(parameter.decorators, parameter);
|
|
||||||
this.print(parameter, parent);
|
|
||||||
if (parameter.optional) this.token("?");
|
|
||||||
this.print(parameter.typeAnnotation, parameter);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _methodHead(node) {
|
|
||||||
const kind = node.kind;
|
|
||||||
const key = node.key;
|
|
||||||
|
|
||||||
if (kind === "get" || kind === "set") {
|
|
||||||
this.word(kind);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.async) {
|
|
||||||
this.word("async");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (kind === "method" || kind === "init") {
|
|
||||||
if (node.generator) {
|
|
||||||
this.token("*");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.computed) {
|
|
||||||
this.token("[");
|
|
||||||
this.print(key, node);
|
|
||||||
this.token("]");
|
|
||||||
} else {
|
|
||||||
this.print(key, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.optional) {
|
|
||||||
this.token("?");
|
|
||||||
}
|
|
||||||
|
|
||||||
this._params(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _predicate(node) {
|
|
||||||
if (node.predicate) {
|
|
||||||
if (!node.returnType) {
|
|
||||||
this.token(":");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.predicate, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function _functionHead(node) {
|
|
||||||
if (node.async) {
|
|
||||||
this.word("async");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("function");
|
|
||||||
if (node.generator) this.token("*");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.id) {
|
|
||||||
this.print(node.id, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._params(node);
|
|
||||||
|
|
||||||
this._predicate(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function FunctionExpression(node) {
|
|
||||||
this._functionHead(node);
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ArrowFunctionExpression(node) {
|
|
||||||
if (node.async) {
|
|
||||||
this.word("async");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
const firstParam = node.params[0];
|
|
||||||
|
|
||||||
if (node.params.length === 1 && t().isIdentifier(firstParam) && !hasTypes(node, firstParam)) {
|
|
||||||
if (this.format.retainLines && node.loc && node.body.loc && node.loc.start.line < node.body.loc.start.line) {
|
|
||||||
this.token("(");
|
|
||||||
|
|
||||||
if (firstParam.loc && firstParam.loc.start.line > node.loc.start.line) {
|
|
||||||
this.indent();
|
|
||||||
this.print(firstParam, node);
|
|
||||||
this.dedent();
|
|
||||||
|
|
||||||
this._catchUp("start", node.body.loc);
|
|
||||||
} else {
|
|
||||||
this.print(firstParam, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(")");
|
|
||||||
} else {
|
|
||||||
this.print(firstParam, node);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this._params(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._predicate(node);
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.token("=>");
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function hasTypes(node, param) {
|
|
||||||
return node.typeParameters || node.returnType || param.typeAnnotation || param.optional || param.trailingComments;
|
|
||||||
}
|
|
214
node_modules/@babel/generator/lib/generators/modules.js
generated
vendored
214
node_modules/@babel/generator/lib/generators/modules.js
generated
vendored
@ -1,214 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.ImportSpecifier = ImportSpecifier;
|
|
||||||
exports.ImportDefaultSpecifier = ImportDefaultSpecifier;
|
|
||||||
exports.ExportDefaultSpecifier = ExportDefaultSpecifier;
|
|
||||||
exports.ExportSpecifier = ExportSpecifier;
|
|
||||||
exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier;
|
|
||||||
exports.ExportAllDeclaration = ExportAllDeclaration;
|
|
||||||
exports.ExportNamedDeclaration = ExportNamedDeclaration;
|
|
||||||
exports.ExportDefaultDeclaration = ExportDefaultDeclaration;
|
|
||||||
exports.ImportDeclaration = ImportDeclaration;
|
|
||||||
exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function ImportSpecifier(node) {
|
|
||||||
if (node.importKind === "type" || node.importKind === "typeof") {
|
|
||||||
this.word(node.importKind);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.imported, node);
|
|
||||||
|
|
||||||
if (node.local && node.local.name !== node.imported.name) {
|
|
||||||
this.space();
|
|
||||||
this.word("as");
|
|
||||||
this.space();
|
|
||||||
this.print(node.local, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ImportDefaultSpecifier(node) {
|
|
||||||
this.print(node.local, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportDefaultSpecifier(node) {
|
|
||||||
this.print(node.exported, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportSpecifier(node) {
|
|
||||||
this.print(node.local, node);
|
|
||||||
|
|
||||||
if (node.exported && node.local.name !== node.exported.name) {
|
|
||||||
this.space();
|
|
||||||
this.word("as");
|
|
||||||
this.space();
|
|
||||||
this.print(node.exported, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportNamespaceSpecifier(node) {
|
|
||||||
this.token("*");
|
|
||||||
this.space();
|
|
||||||
this.word("as");
|
|
||||||
this.space();
|
|
||||||
this.print(node.exported, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportAllDeclaration(node) {
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.exportKind === "type") {
|
|
||||||
this.word("type");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("*");
|
|
||||||
this.space();
|
|
||||||
this.word("from");
|
|
||||||
this.space();
|
|
||||||
this.print(node.source, node);
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportNamedDeclaration(node) {
|
|
||||||
if (this.format.decoratorsBeforeExport && t().isClassDeclaration(node.declaration)) {
|
|
||||||
this.printJoin(node.declaration.decorators, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
ExportDeclaration.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportDefaultDeclaration(node) {
|
|
||||||
if (this.format.decoratorsBeforeExport && t().isClassDeclaration(node.declaration)) {
|
|
||||||
this.printJoin(node.declaration.decorators, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
this.word("default");
|
|
||||||
this.space();
|
|
||||||
ExportDeclaration.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ExportDeclaration(node) {
|
|
||||||
if (node.declaration) {
|
|
||||||
const declar = node.declaration;
|
|
||||||
this.print(declar, node);
|
|
||||||
if (!t().isStatement(declar)) this.semicolon();
|
|
||||||
} else {
|
|
||||||
if (node.exportKind === "type") {
|
|
||||||
this.word("type");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
const specifiers = node.specifiers.slice(0);
|
|
||||||
let hasSpecial = false;
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
const first = specifiers[0];
|
|
||||||
|
|
||||||
if (t().isExportDefaultSpecifier(first) || t().isExportNamespaceSpecifier(first)) {
|
|
||||||
hasSpecial = true;
|
|
||||||
this.print(specifiers.shift(), node);
|
|
||||||
|
|
||||||
if (specifiers.length) {
|
|
||||||
this.token(",");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (specifiers.length || !specifiers.length && !hasSpecial) {
|
|
||||||
this.token("{");
|
|
||||||
|
|
||||||
if (specifiers.length) {
|
|
||||||
this.space();
|
|
||||||
this.printList(specifiers, node);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.source) {
|
|
||||||
this.space();
|
|
||||||
this.word("from");
|
|
||||||
this.space();
|
|
||||||
this.print(node.source, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ImportDeclaration(node) {
|
|
||||||
this.word("import");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.importKind === "type" || node.importKind === "typeof") {
|
|
||||||
this.word(node.importKind);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
const specifiers = node.specifiers.slice(0);
|
|
||||||
|
|
||||||
if (specifiers && specifiers.length) {
|
|
||||||
while (true) {
|
|
||||||
const first = specifiers[0];
|
|
||||||
|
|
||||||
if (t().isImportDefaultSpecifier(first) || t().isImportNamespaceSpecifier(first)) {
|
|
||||||
this.print(specifiers.shift(), node);
|
|
||||||
|
|
||||||
if (specifiers.length) {
|
|
||||||
this.token(",");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (specifiers.length) {
|
|
||||||
this.token("{");
|
|
||||||
this.space();
|
|
||||||
this.printList(specifiers, node);
|
|
||||||
this.space();
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.word("from");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.source, node);
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ImportNamespaceSpecifier(node) {
|
|
||||||
this.token("*");
|
|
||||||
this.space();
|
|
||||||
this.word("as");
|
|
||||||
this.space();
|
|
||||||
this.print(node.local, node);
|
|
||||||
}
|
|
319
node_modules/@babel/generator/lib/generators/statements.js
generated
vendored
319
node_modules/@babel/generator/lib/generators/statements.js
generated
vendored
@ -1,319 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.WithStatement = WithStatement;
|
|
||||||
exports.IfStatement = IfStatement;
|
|
||||||
exports.ForStatement = ForStatement;
|
|
||||||
exports.WhileStatement = WhileStatement;
|
|
||||||
exports.DoWhileStatement = DoWhileStatement;
|
|
||||||
exports.LabeledStatement = LabeledStatement;
|
|
||||||
exports.TryStatement = TryStatement;
|
|
||||||
exports.CatchClause = CatchClause;
|
|
||||||
exports.SwitchStatement = SwitchStatement;
|
|
||||||
exports.SwitchCase = SwitchCase;
|
|
||||||
exports.DebuggerStatement = DebuggerStatement;
|
|
||||||
exports.VariableDeclaration = VariableDeclaration;
|
|
||||||
exports.VariableDeclarator = VariableDeclarator;
|
|
||||||
exports.ThrowStatement = exports.BreakStatement = exports.ReturnStatement = exports.ContinueStatement = exports.ForOfStatement = exports.ForInStatement = void 0;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function WithStatement(node) {
|
|
||||||
this.word("with");
|
|
||||||
this.space();
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.object, node);
|
|
||||||
this.token(")");
|
|
||||||
this.printBlock(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function IfStatement(node) {
|
|
||||||
this.word("if");
|
|
||||||
this.space();
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.test, node);
|
|
||||||
this.token(")");
|
|
||||||
this.space();
|
|
||||||
const needsBlock = node.alternate && t().isIfStatement(getLastStatement(node.consequent));
|
|
||||||
|
|
||||||
if (needsBlock) {
|
|
||||||
this.token("{");
|
|
||||||
this.newline();
|
|
||||||
this.indent();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.printAndIndentOnComments(node.consequent, node);
|
|
||||||
|
|
||||||
if (needsBlock) {
|
|
||||||
this.dedent();
|
|
||||||
this.newline();
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.alternate) {
|
|
||||||
if (this.endsWith("}")) this.space();
|
|
||||||
this.word("else");
|
|
||||||
this.space();
|
|
||||||
this.printAndIndentOnComments(node.alternate, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLastStatement(statement) {
|
|
||||||
if (!t().isStatement(statement.body)) return statement;
|
|
||||||
return getLastStatement(statement.body);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ForStatement(node) {
|
|
||||||
this.word("for");
|
|
||||||
this.space();
|
|
||||||
this.token("(");
|
|
||||||
this.inForStatementInitCounter++;
|
|
||||||
this.print(node.init, node);
|
|
||||||
this.inForStatementInitCounter--;
|
|
||||||
this.token(";");
|
|
||||||
|
|
||||||
if (node.test) {
|
|
||||||
this.space();
|
|
||||||
this.print(node.test, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(";");
|
|
||||||
|
|
||||||
if (node.update) {
|
|
||||||
this.space();
|
|
||||||
this.print(node.update, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(")");
|
|
||||||
this.printBlock(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function WhileStatement(node) {
|
|
||||||
this.word("while");
|
|
||||||
this.space();
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.test, node);
|
|
||||||
this.token(")");
|
|
||||||
this.printBlock(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
const buildForXStatement = function (op) {
|
|
||||||
return function (node) {
|
|
||||||
this.word("for");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (op === "of" && node.await) {
|
|
||||||
this.word("await");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.left, node);
|
|
||||||
this.space();
|
|
||||||
this.word(op);
|
|
||||||
this.space();
|
|
||||||
this.print(node.right, node);
|
|
||||||
this.token(")");
|
|
||||||
this.printBlock(node);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
const ForInStatement = buildForXStatement("in");
|
|
||||||
exports.ForInStatement = ForInStatement;
|
|
||||||
const ForOfStatement = buildForXStatement("of");
|
|
||||||
exports.ForOfStatement = ForOfStatement;
|
|
||||||
|
|
||||||
function DoWhileStatement(node) {
|
|
||||||
this.word("do");
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
this.space();
|
|
||||||
this.word("while");
|
|
||||||
this.space();
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.test, node);
|
|
||||||
this.token(")");
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildLabelStatement(prefix, key = "label") {
|
|
||||||
return function (node) {
|
|
||||||
this.word(prefix);
|
|
||||||
const label = node[key];
|
|
||||||
|
|
||||||
if (label) {
|
|
||||||
this.space();
|
|
||||||
const isLabel = key == "label";
|
|
||||||
const terminatorState = this.startTerminatorless(isLabel);
|
|
||||||
this.print(label, node);
|
|
||||||
this.endTerminatorless(terminatorState);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const ContinueStatement = buildLabelStatement("continue");
|
|
||||||
exports.ContinueStatement = ContinueStatement;
|
|
||||||
const ReturnStatement = buildLabelStatement("return", "argument");
|
|
||||||
exports.ReturnStatement = ReturnStatement;
|
|
||||||
const BreakStatement = buildLabelStatement("break");
|
|
||||||
exports.BreakStatement = BreakStatement;
|
|
||||||
const ThrowStatement = buildLabelStatement("throw", "argument");
|
|
||||||
exports.ThrowStatement = ThrowStatement;
|
|
||||||
|
|
||||||
function LabeledStatement(node) {
|
|
||||||
this.print(node.label, node);
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TryStatement(node) {
|
|
||||||
this.word("try");
|
|
||||||
this.space();
|
|
||||||
this.print(node.block, node);
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.handlers) {
|
|
||||||
this.print(node.handlers[0], node);
|
|
||||||
} else {
|
|
||||||
this.print(node.handler, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.finalizer) {
|
|
||||||
this.space();
|
|
||||||
this.word("finally");
|
|
||||||
this.space();
|
|
||||||
this.print(node.finalizer, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function CatchClause(node) {
|
|
||||||
this.word("catch");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (node.param) {
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.param, node);
|
|
||||||
this.token(")");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function SwitchStatement(node) {
|
|
||||||
this.word("switch");
|
|
||||||
this.space();
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.discriminant, node);
|
|
||||||
this.token(")");
|
|
||||||
this.space();
|
|
||||||
this.token("{");
|
|
||||||
this.printSequence(node.cases, node, {
|
|
||||||
indent: true,
|
|
||||||
|
|
||||||
addNewlines(leading, cas) {
|
|
||||||
if (!leading && node.cases[node.cases.length - 1] === cas) return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
function SwitchCase(node) {
|
|
||||||
if (node.test) {
|
|
||||||
this.word("case");
|
|
||||||
this.space();
|
|
||||||
this.print(node.test, node);
|
|
||||||
this.token(":");
|
|
||||||
} else {
|
|
||||||
this.word("default");
|
|
||||||
this.token(":");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.consequent.length) {
|
|
||||||
this.newline();
|
|
||||||
this.printSequence(node.consequent, node, {
|
|
||||||
indent: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function DebuggerStatement() {
|
|
||||||
this.word("debugger");
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function variableDeclarationIndent() {
|
|
||||||
this.token(",");
|
|
||||||
this.newline();
|
|
||||||
if (this.endsWith("\n")) for (let i = 0; i < 4; i++) this.space(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function constDeclarationIndent() {
|
|
||||||
this.token(",");
|
|
||||||
this.newline();
|
|
||||||
if (this.endsWith("\n")) for (let i = 0; i < 6; i++) this.space(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function VariableDeclaration(node, parent) {
|
|
||||||
if (node.declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word(node.kind);
|
|
||||||
this.space();
|
|
||||||
let hasInits = false;
|
|
||||||
|
|
||||||
if (!t().isFor(parent)) {
|
|
||||||
for (const declar of node.declarations) {
|
|
||||||
if (declar.init) {
|
|
||||||
hasInits = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let separator;
|
|
||||||
|
|
||||||
if (hasInits) {
|
|
||||||
separator = node.kind === "const" ? constDeclarationIndent : variableDeclarationIndent;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.printList(node.declarations, node, {
|
|
||||||
separator
|
|
||||||
});
|
|
||||||
|
|
||||||
if (t().isFor(parent)) {
|
|
||||||
if (parent.left === node || parent.init === node) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.semicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
function VariableDeclarator(node) {
|
|
||||||
this.print(node.id, node);
|
|
||||||
if (node.definite) this.token("!");
|
|
||||||
this.print(node.id.typeAnnotation, node);
|
|
||||||
|
|
||||||
if (node.init) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.init, node);
|
|
||||||
}
|
|
||||||
}
|
|
33
node_modules/@babel/generator/lib/generators/template-literals.js
generated
vendored
33
node_modules/@babel/generator/lib/generators/template-literals.js
generated
vendored
@ -1,33 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.TaggedTemplateExpression = TaggedTemplateExpression;
|
|
||||||
exports.TemplateElement = TemplateElement;
|
|
||||||
exports.TemplateLiteral = TemplateLiteral;
|
|
||||||
|
|
||||||
function TaggedTemplateExpression(node) {
|
|
||||||
this.print(node.tag, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
this.print(node.quasi, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TemplateElement(node, parent) {
|
|
||||||
const isFirst = parent.quasis[0] === node;
|
|
||||||
const isLast = parent.quasis[parent.quasis.length - 1] === node;
|
|
||||||
const value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${");
|
|
||||||
this.token(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TemplateLiteral(node) {
|
|
||||||
const quasis = node.quasis;
|
|
||||||
|
|
||||||
for (let i = 0; i < quasis.length; i++) {
|
|
||||||
this.print(quasis[i], node);
|
|
||||||
|
|
||||||
if (i + 1 < quasis.length) {
|
|
||||||
this.print(node.expressions[i], node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
198
node_modules/@babel/generator/lib/generators/types.js
generated
vendored
198
node_modules/@babel/generator/lib/generators/types.js
generated
vendored
@ -1,198 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.Identifier = Identifier;
|
|
||||||
exports.ArgumentPlaceholder = ArgumentPlaceholder;
|
|
||||||
exports.SpreadElement = exports.RestElement = RestElement;
|
|
||||||
exports.ObjectPattern = exports.ObjectExpression = ObjectExpression;
|
|
||||||
exports.ObjectMethod = ObjectMethod;
|
|
||||||
exports.ObjectProperty = ObjectProperty;
|
|
||||||
exports.ArrayPattern = exports.ArrayExpression = ArrayExpression;
|
|
||||||
exports.RegExpLiteral = RegExpLiteral;
|
|
||||||
exports.BooleanLiteral = BooleanLiteral;
|
|
||||||
exports.NullLiteral = NullLiteral;
|
|
||||||
exports.NumericLiteral = NumericLiteral;
|
|
||||||
exports.StringLiteral = StringLiteral;
|
|
||||||
exports.BigIntLiteral = BigIntLiteral;
|
|
||||||
exports.PipelineTopicExpression = PipelineTopicExpression;
|
|
||||||
exports.PipelineBareFunction = PipelineBareFunction;
|
|
||||||
exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _jsesc() {
|
|
||||||
const data = _interopRequireDefault(require("jsesc"));
|
|
||||||
|
|
||||||
_jsesc = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function Identifier(node) {
|
|
||||||
this.exactSource(node.loc, () => {
|
|
||||||
this.word(node.name);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function ArgumentPlaceholder() {
|
|
||||||
this.token("?");
|
|
||||||
}
|
|
||||||
|
|
||||||
function RestElement(node) {
|
|
||||||
this.token("...");
|
|
||||||
this.print(node.argument, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectExpression(node) {
|
|
||||||
const props = node.properties;
|
|
||||||
this.token("{");
|
|
||||||
this.printInnerComments(node);
|
|
||||||
|
|
||||||
if (props.length) {
|
|
||||||
this.space();
|
|
||||||
this.printList(props, node, {
|
|
||||||
indent: true,
|
|
||||||
statement: true
|
|
||||||
});
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectMethod(node) {
|
|
||||||
this.printJoin(node.decorators, node);
|
|
||||||
|
|
||||||
this._methodHead(node);
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectProperty(node) {
|
|
||||||
this.printJoin(node.decorators, node);
|
|
||||||
|
|
||||||
if (node.computed) {
|
|
||||||
this.token("[");
|
|
||||||
this.print(node.key, node);
|
|
||||||
this.token("]");
|
|
||||||
} else {
|
|
||||||
if (t().isAssignmentPattern(node.value) && t().isIdentifier(node.key) && node.key.name === node.value.left.name) {
|
|
||||||
this.print(node.value, node);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.key, node);
|
|
||||||
|
|
||||||
if (node.shorthand && t().isIdentifier(node.key) && t().isIdentifier(node.value) && node.key.name === node.value.name) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.value, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ArrayExpression(node) {
|
|
||||||
const elems = node.elements;
|
|
||||||
const len = elems.length;
|
|
||||||
this.token("[");
|
|
||||||
this.printInnerComments(node);
|
|
||||||
|
|
||||||
for (let i = 0; i < elems.length; i++) {
|
|
||||||
const elem = elems[i];
|
|
||||||
|
|
||||||
if (elem) {
|
|
||||||
if (i > 0) this.space();
|
|
||||||
this.print(elem, node);
|
|
||||||
if (i < len - 1) this.token(",");
|
|
||||||
} else {
|
|
||||||
this.token(",");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("]");
|
|
||||||
}
|
|
||||||
|
|
||||||
function RegExpLiteral(node) {
|
|
||||||
this.word(`/${node.pattern}/${node.flags}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
function BooleanLiteral(node) {
|
|
||||||
this.word(node.value ? "true" : "false");
|
|
||||||
}
|
|
||||||
|
|
||||||
function NullLiteral() {
|
|
||||||
this.word("null");
|
|
||||||
}
|
|
||||||
|
|
||||||
function NumericLiteral(node) {
|
|
||||||
const raw = this.getPossibleRaw(node);
|
|
||||||
const value = node.value + "";
|
|
||||||
|
|
||||||
if (raw == null) {
|
|
||||||
this.number(value);
|
|
||||||
} else if (this.format.minified) {
|
|
||||||
this.number(raw.length < value.length ? raw : value);
|
|
||||||
} else {
|
|
||||||
this.number(raw);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function StringLiteral(node) {
|
|
||||||
const raw = this.getPossibleRaw(node);
|
|
||||||
|
|
||||||
if (!this.format.minified && raw != null) {
|
|
||||||
this.token(raw);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const opts = this.format.jsescOption;
|
|
||||||
|
|
||||||
if (this.format.jsonCompatibleStrings) {
|
|
||||||
opts.json = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const val = (0, _jsesc().default)(node.value, opts);
|
|
||||||
return this.token(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
function BigIntLiteral(node) {
|
|
||||||
const raw = this.getPossibleRaw(node);
|
|
||||||
|
|
||||||
if (!this.format.minified && raw != null) {
|
|
||||||
this.token(raw);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(node.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
function PipelineTopicExpression(node) {
|
|
||||||
this.print(node.expression, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function PipelineBareFunction(node) {
|
|
||||||
this.print(node.callee, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function PipelinePrimaryTopicReference() {
|
|
||||||
this.token("#");
|
|
||||||
}
|
|
715
node_modules/@babel/generator/lib/generators/typescript.js
generated
vendored
715
node_modules/@babel/generator/lib/generators/typescript.js
generated
vendored
@ -1,715 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.TSTypeAnnotation = TSTypeAnnotation;
|
|
||||||
exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation;
|
|
||||||
exports.TSTypeParameter = TSTypeParameter;
|
|
||||||
exports.TSParameterProperty = TSParameterProperty;
|
|
||||||
exports.TSDeclareFunction = TSDeclareFunction;
|
|
||||||
exports.TSDeclareMethod = TSDeclareMethod;
|
|
||||||
exports.TSQualifiedName = TSQualifiedName;
|
|
||||||
exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration;
|
|
||||||
exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration;
|
|
||||||
exports.TSPropertySignature = TSPropertySignature;
|
|
||||||
exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName;
|
|
||||||
exports.TSMethodSignature = TSMethodSignature;
|
|
||||||
exports.TSIndexSignature = TSIndexSignature;
|
|
||||||
exports.TSAnyKeyword = TSAnyKeyword;
|
|
||||||
exports.TSUnknownKeyword = TSUnknownKeyword;
|
|
||||||
exports.TSNumberKeyword = TSNumberKeyword;
|
|
||||||
exports.TSObjectKeyword = TSObjectKeyword;
|
|
||||||
exports.TSBooleanKeyword = TSBooleanKeyword;
|
|
||||||
exports.TSStringKeyword = TSStringKeyword;
|
|
||||||
exports.TSSymbolKeyword = TSSymbolKeyword;
|
|
||||||
exports.TSVoidKeyword = TSVoidKeyword;
|
|
||||||
exports.TSUndefinedKeyword = TSUndefinedKeyword;
|
|
||||||
exports.TSNullKeyword = TSNullKeyword;
|
|
||||||
exports.TSNeverKeyword = TSNeverKeyword;
|
|
||||||
exports.TSThisType = TSThisType;
|
|
||||||
exports.TSFunctionType = TSFunctionType;
|
|
||||||
exports.TSConstructorType = TSConstructorType;
|
|
||||||
exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType;
|
|
||||||
exports.TSTypeReference = TSTypeReference;
|
|
||||||
exports.TSTypePredicate = TSTypePredicate;
|
|
||||||
exports.TSTypeQuery = TSTypeQuery;
|
|
||||||
exports.TSTypeLiteral = TSTypeLiteral;
|
|
||||||
exports.tsPrintTypeLiteralOrInterfaceBody = tsPrintTypeLiteralOrInterfaceBody;
|
|
||||||
exports.tsPrintBraced = tsPrintBraced;
|
|
||||||
exports.TSArrayType = TSArrayType;
|
|
||||||
exports.TSTupleType = TSTupleType;
|
|
||||||
exports.TSOptionalType = TSOptionalType;
|
|
||||||
exports.TSRestType = TSRestType;
|
|
||||||
exports.TSUnionType = TSUnionType;
|
|
||||||
exports.TSIntersectionType = TSIntersectionType;
|
|
||||||
exports.tsPrintUnionOrIntersectionType = tsPrintUnionOrIntersectionType;
|
|
||||||
exports.TSConditionalType = TSConditionalType;
|
|
||||||
exports.TSInferType = TSInferType;
|
|
||||||
exports.TSParenthesizedType = TSParenthesizedType;
|
|
||||||
exports.TSTypeOperator = TSTypeOperator;
|
|
||||||
exports.TSIndexedAccessType = TSIndexedAccessType;
|
|
||||||
exports.TSMappedType = TSMappedType;
|
|
||||||
exports.TSLiteralType = TSLiteralType;
|
|
||||||
exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments;
|
|
||||||
exports.TSInterfaceDeclaration = TSInterfaceDeclaration;
|
|
||||||
exports.TSInterfaceBody = TSInterfaceBody;
|
|
||||||
exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration;
|
|
||||||
exports.TSAsExpression = TSAsExpression;
|
|
||||||
exports.TSTypeAssertion = TSTypeAssertion;
|
|
||||||
exports.TSEnumDeclaration = TSEnumDeclaration;
|
|
||||||
exports.TSEnumMember = TSEnumMember;
|
|
||||||
exports.TSModuleDeclaration = TSModuleDeclaration;
|
|
||||||
exports.TSModuleBlock = TSModuleBlock;
|
|
||||||
exports.TSImportType = TSImportType;
|
|
||||||
exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration;
|
|
||||||
exports.TSExternalModuleReference = TSExternalModuleReference;
|
|
||||||
exports.TSNonNullExpression = TSNonNullExpression;
|
|
||||||
exports.TSExportAssignment = TSExportAssignment;
|
|
||||||
exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration;
|
|
||||||
exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase;
|
|
||||||
|
|
||||||
function TSTypeAnnotation(node) {
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
if (node.optional) this.token("?");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeParameterInstantiation(node) {
|
|
||||||
this.token("<");
|
|
||||||
this.printList(node.params, node, {});
|
|
||||||
this.token(">");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeParameter(node) {
|
|
||||||
this.word(node.name);
|
|
||||||
|
|
||||||
if (node.constraint) {
|
|
||||||
this.space();
|
|
||||||
this.word("extends");
|
|
||||||
this.space();
|
|
||||||
this.print(node.constraint, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.default) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.default, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSParameterProperty(node) {
|
|
||||||
if (node.accessibility) {
|
|
||||||
this.word(node.accessibility);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.readonly) {
|
|
||||||
this.word("readonly");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._param(node.parameter);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSDeclareFunction(node) {
|
|
||||||
if (node.declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._functionHead(node);
|
|
||||||
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSDeclareMethod(node) {
|
|
||||||
this._classMethodHead(node);
|
|
||||||
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSQualifiedName(node) {
|
|
||||||
this.print(node.left, node);
|
|
||||||
this.token(".");
|
|
||||||
this.print(node.right, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSCallSignatureDeclaration(node) {
|
|
||||||
this.tsPrintSignatureDeclarationBase(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSConstructSignatureDeclaration(node) {
|
|
||||||
this.word("new");
|
|
||||||
this.space();
|
|
||||||
this.tsPrintSignatureDeclarationBase(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSPropertySignature(node) {
|
|
||||||
const {
|
|
||||||
readonly,
|
|
||||||
initializer
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (readonly) {
|
|
||||||
this.word("readonly");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.tsPrintPropertyOrMethodName(node);
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
|
|
||||||
if (initializer) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(initializer, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function tsPrintPropertyOrMethodName(node) {
|
|
||||||
if (node.computed) {
|
|
||||||
this.token("[");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node.key, node);
|
|
||||||
|
|
||||||
if (node.computed) {
|
|
||||||
this.token("]");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.optional) {
|
|
||||||
this.token("?");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSMethodSignature(node) {
|
|
||||||
this.tsPrintPropertyOrMethodName(node);
|
|
||||||
this.tsPrintSignatureDeclarationBase(node);
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSIndexSignature(node) {
|
|
||||||
const {
|
|
||||||
readonly
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (readonly) {
|
|
||||||
this.word("readonly");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("[");
|
|
||||||
|
|
||||||
this._parameters(node.parameters, node);
|
|
||||||
|
|
||||||
this.token("]");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSAnyKeyword() {
|
|
||||||
this.word("any");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSUnknownKeyword() {
|
|
||||||
this.word("unknown");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSNumberKeyword() {
|
|
||||||
this.word("number");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSObjectKeyword() {
|
|
||||||
this.word("object");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSBooleanKeyword() {
|
|
||||||
this.word("boolean");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSStringKeyword() {
|
|
||||||
this.word("string");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSSymbolKeyword() {
|
|
||||||
this.word("symbol");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSVoidKeyword() {
|
|
||||||
this.word("void");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSUndefinedKeyword() {
|
|
||||||
this.word("undefined");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSNullKeyword() {
|
|
||||||
this.word("null");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSNeverKeyword() {
|
|
||||||
this.word("never");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSThisType() {
|
|
||||||
this.word("this");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSFunctionType(node) {
|
|
||||||
this.tsPrintFunctionOrConstructorType(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSConstructorType(node) {
|
|
||||||
this.word("new");
|
|
||||||
this.space();
|
|
||||||
this.tsPrintFunctionOrConstructorType(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function tsPrintFunctionOrConstructorType(node) {
|
|
||||||
const {
|
|
||||||
typeParameters,
|
|
||||||
parameters
|
|
||||||
} = node;
|
|
||||||
this.print(typeParameters, node);
|
|
||||||
this.token("(");
|
|
||||||
|
|
||||||
this._parameters(parameters, node);
|
|
||||||
|
|
||||||
this.token(")");
|
|
||||||
this.space();
|
|
||||||
this.token("=>");
|
|
||||||
this.space();
|
|
||||||
this.print(node.typeAnnotation.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeReference(node) {
|
|
||||||
this.print(node.typeName, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypePredicate(node) {
|
|
||||||
this.print(node.parameterName);
|
|
||||||
this.space();
|
|
||||||
this.word("is");
|
|
||||||
this.space();
|
|
||||||
this.print(node.typeAnnotation.typeAnnotation);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeQuery(node) {
|
|
||||||
this.word("typeof");
|
|
||||||
this.space();
|
|
||||||
this.print(node.exprName);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeLiteral(node) {
|
|
||||||
this.tsPrintTypeLiteralOrInterfaceBody(node.members, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function tsPrintTypeLiteralOrInterfaceBody(members, node) {
|
|
||||||
this.tsPrintBraced(members, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function tsPrintBraced(members, node) {
|
|
||||||
this.token("{");
|
|
||||||
|
|
||||||
if (members.length) {
|
|
||||||
this.indent();
|
|
||||||
this.newline();
|
|
||||||
|
|
||||||
for (const member of members) {
|
|
||||||
this.print(member, node);
|
|
||||||
this.newline();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.dedent();
|
|
||||||
this.rightBrace();
|
|
||||||
} else {
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSArrayType(node) {
|
|
||||||
this.print(node.elementType, node);
|
|
||||||
this.token("[]");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTupleType(node) {
|
|
||||||
this.token("[");
|
|
||||||
this.printList(node.elementTypes, node);
|
|
||||||
this.token("]");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSOptionalType(node) {
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
this.token("?");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSRestType(node) {
|
|
||||||
this.token("...");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSUnionType(node) {
|
|
||||||
this.tsPrintUnionOrIntersectionType(node, "|");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSIntersectionType(node) {
|
|
||||||
this.tsPrintUnionOrIntersectionType(node, "&");
|
|
||||||
}
|
|
||||||
|
|
||||||
function tsPrintUnionOrIntersectionType(node, sep) {
|
|
||||||
this.printJoin(node.types, node, {
|
|
||||||
separator() {
|
|
||||||
this.space();
|
|
||||||
this.token(sep);
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSConditionalType(node) {
|
|
||||||
this.print(node.checkType);
|
|
||||||
this.space();
|
|
||||||
this.word("extends");
|
|
||||||
this.space();
|
|
||||||
this.print(node.extendsType);
|
|
||||||
this.space();
|
|
||||||
this.token("?");
|
|
||||||
this.space();
|
|
||||||
this.print(node.trueType);
|
|
||||||
this.space();
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.falseType);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSInferType(node) {
|
|
||||||
this.token("infer");
|
|
||||||
this.space();
|
|
||||||
this.print(node.typeParameter);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSParenthesizedType(node) {
|
|
||||||
this.token("(");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeOperator(node) {
|
|
||||||
this.token(node.operator);
|
|
||||||
this.space();
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSIndexedAccessType(node) {
|
|
||||||
this.print(node.objectType, node);
|
|
||||||
this.token("[");
|
|
||||||
this.print(node.indexType, node);
|
|
||||||
this.token("]");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSMappedType(node) {
|
|
||||||
const {
|
|
||||||
readonly,
|
|
||||||
typeParameter,
|
|
||||||
optional
|
|
||||||
} = node;
|
|
||||||
this.token("{");
|
|
||||||
this.space();
|
|
||||||
|
|
||||||
if (readonly) {
|
|
||||||
tokenIfPlusMinus(this, readonly);
|
|
||||||
this.word("readonly");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("[");
|
|
||||||
this.word(typeParameter.name);
|
|
||||||
this.space();
|
|
||||||
this.word("in");
|
|
||||||
this.space();
|
|
||||||
this.print(typeParameter.constraint, typeParameter);
|
|
||||||
this.token("]");
|
|
||||||
|
|
||||||
if (optional) {
|
|
||||||
tokenIfPlusMinus(this, optional);
|
|
||||||
this.token("?");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(":");
|
|
||||||
this.space();
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
this.space();
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
function tokenIfPlusMinus(self, tok) {
|
|
||||||
if (tok !== true) {
|
|
||||||
self.token(tok);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSLiteralType(node) {
|
|
||||||
this.print(node.literal, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSExpressionWithTypeArguments(node) {
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.print(node.typeParameters, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSInterfaceDeclaration(node) {
|
|
||||||
const {
|
|
||||||
declare,
|
|
||||||
id,
|
|
||||||
typeParameters,
|
|
||||||
extends: extendz,
|
|
||||||
body
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("interface");
|
|
||||||
this.space();
|
|
||||||
this.print(id, node);
|
|
||||||
this.print(typeParameters, node);
|
|
||||||
|
|
||||||
if (extendz) {
|
|
||||||
this.space();
|
|
||||||
this.word("extends");
|
|
||||||
this.space();
|
|
||||||
this.printList(extendz, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSInterfaceBody(node) {
|
|
||||||
this.tsPrintTypeLiteralOrInterfaceBody(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeAliasDeclaration(node) {
|
|
||||||
const {
|
|
||||||
declare,
|
|
||||||
id,
|
|
||||||
typeParameters,
|
|
||||||
typeAnnotation
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("type");
|
|
||||||
this.space();
|
|
||||||
this.print(id, node);
|
|
||||||
this.print(typeParameters, node);
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(typeAnnotation, node);
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSAsExpression(node) {
|
|
||||||
const {
|
|
||||||
expression,
|
|
||||||
typeAnnotation
|
|
||||||
} = node;
|
|
||||||
this.print(expression, node);
|
|
||||||
this.space();
|
|
||||||
this.word("as");
|
|
||||||
this.space();
|
|
||||||
this.print(typeAnnotation, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeAssertion(node) {
|
|
||||||
const {
|
|
||||||
typeAnnotation,
|
|
||||||
expression
|
|
||||||
} = node;
|
|
||||||
this.token("<");
|
|
||||||
this.print(typeAnnotation, node);
|
|
||||||
this.token(">");
|
|
||||||
this.space();
|
|
||||||
this.print(expression, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSEnumDeclaration(node) {
|
|
||||||
const {
|
|
||||||
declare,
|
|
||||||
const: isConst,
|
|
||||||
id,
|
|
||||||
members
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isConst) {
|
|
||||||
this.word("const");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("enum");
|
|
||||||
this.space();
|
|
||||||
this.print(id, node);
|
|
||||||
this.space();
|
|
||||||
this.tsPrintBraced(members, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSEnumMember(node) {
|
|
||||||
const {
|
|
||||||
id,
|
|
||||||
initializer
|
|
||||||
} = node;
|
|
||||||
this.print(id, node);
|
|
||||||
|
|
||||||
if (initializer) {
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(initializer, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token(",");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSModuleDeclaration(node) {
|
|
||||||
const {
|
|
||||||
declare,
|
|
||||||
id
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (declare) {
|
|
||||||
this.word("declare");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!node.global) {
|
|
||||||
this.word(id.type === "Identifier" ? "namespace" : "module");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(id, node);
|
|
||||||
|
|
||||||
if (!node.body) {
|
|
||||||
this.token(";");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let body = node.body;
|
|
||||||
|
|
||||||
while (body.type === "TSModuleDeclaration") {
|
|
||||||
this.token(".");
|
|
||||||
this.print(body.id, body);
|
|
||||||
body = body.body;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.space();
|
|
||||||
this.print(body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSModuleBlock(node) {
|
|
||||||
this.tsPrintBraced(node.body, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSImportType(node) {
|
|
||||||
const {
|
|
||||||
argument,
|
|
||||||
qualifier,
|
|
||||||
typeParameters
|
|
||||||
} = node;
|
|
||||||
this.word("import");
|
|
||||||
this.token("(");
|
|
||||||
this.print(argument, node);
|
|
||||||
this.token(")");
|
|
||||||
|
|
||||||
if (qualifier) {
|
|
||||||
this.token(".");
|
|
||||||
this.print(qualifier, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeParameters) {
|
|
||||||
this.print(typeParameters, node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSImportEqualsDeclaration(node) {
|
|
||||||
const {
|
|
||||||
isExport,
|
|
||||||
id,
|
|
||||||
moduleReference
|
|
||||||
} = node;
|
|
||||||
|
|
||||||
if (isExport) {
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.word("import");
|
|
||||||
this.space();
|
|
||||||
this.print(id, node);
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(moduleReference, node);
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSExternalModuleReference(node) {
|
|
||||||
this.token("require(");
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSNonNullExpression(node) {
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.token("!");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSExportAssignment(node) {
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
this.token("=");
|
|
||||||
this.space();
|
|
||||||
this.print(node.expression, node);
|
|
||||||
this.token(";");
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSNamespaceExportDeclaration(node) {
|
|
||||||
this.word("export");
|
|
||||||
this.space();
|
|
||||||
this.word("as");
|
|
||||||
this.space();
|
|
||||||
this.word("namespace");
|
|
||||||
this.space();
|
|
||||||
this.print(node.id, node);
|
|
||||||
}
|
|
||||||
|
|
||||||
function tsPrintSignatureDeclarationBase(node) {
|
|
||||||
const {
|
|
||||||
typeParameters,
|
|
||||||
parameters
|
|
||||||
} = node;
|
|
||||||
this.print(typeParameters, node);
|
|
||||||
this.token("(");
|
|
||||||
|
|
||||||
this._parameters(parameters, node);
|
|
||||||
|
|
||||||
this.token(")");
|
|
||||||
this.print(node.typeAnnotation, node);
|
|
||||||
}
|
|
92
node_modules/@babel/generator/lib/index.js
generated
vendored
92
node_modules/@babel/generator/lib/index.js
generated
vendored
@ -1,92 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
exports.CodeGenerator = void 0;
|
|
||||||
|
|
||||||
var _sourceMap = _interopRequireDefault(require("./source-map"));
|
|
||||||
|
|
||||||
var _printer = _interopRequireDefault(require("./printer"));
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
class Generator extends _printer.default {
|
|
||||||
constructor(ast, opts = {}, code) {
|
|
||||||
const format = normalizeOptions(code, opts);
|
|
||||||
const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;
|
|
||||||
super(format, map);
|
|
||||||
this.ast = ast;
|
|
||||||
}
|
|
||||||
|
|
||||||
generate() {
|
|
||||||
return super.generate(this.ast);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function normalizeOptions(code, opts) {
|
|
||||||
const format = {
|
|
||||||
auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
|
|
||||||
auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
|
|
||||||
shouldPrintComment: opts.shouldPrintComment,
|
|
||||||
retainLines: opts.retainLines,
|
|
||||||
retainFunctionParens: opts.retainFunctionParens,
|
|
||||||
comments: opts.comments == null || opts.comments,
|
|
||||||
compact: opts.compact,
|
|
||||||
minified: opts.minified,
|
|
||||||
concise: opts.concise,
|
|
||||||
jsonCompatibleStrings: opts.jsonCompatibleStrings,
|
|
||||||
indent: {
|
|
||||||
adjustMultilineComment: true,
|
|
||||||
style: " ",
|
|
||||||
base: 0
|
|
||||||
},
|
|
||||||
decoratorsBeforeExport: !!opts.decoratorsBeforeExport,
|
|
||||||
jsescOption: Object.assign({
|
|
||||||
quotes: "double",
|
|
||||||
wrap: true
|
|
||||||
}, opts.jsescOption)
|
|
||||||
};
|
|
||||||
|
|
||||||
if (format.minified) {
|
|
||||||
format.compact = true;
|
|
||||||
|
|
||||||
format.shouldPrintComment = format.shouldPrintComment || (() => format.comments);
|
|
||||||
} else {
|
|
||||||
format.shouldPrintComment = format.shouldPrintComment || (value => format.comments || value.indexOf("@license") >= 0 || value.indexOf("@preserve") >= 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (format.compact === "auto") {
|
|
||||||
format.compact = code.length > 500000;
|
|
||||||
|
|
||||||
if (format.compact) {
|
|
||||||
console.error("[BABEL] Note: The code generator has deoptimised the styling of " + `${opts.filename} as it exceeds the max of ${"500KB"}.`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (format.compact) {
|
|
||||||
format.indent.adjustMultilineComment = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return format;
|
|
||||||
}
|
|
||||||
|
|
||||||
class CodeGenerator {
|
|
||||||
constructor(ast, opts, code) {
|
|
||||||
this._generator = new Generator(ast, opts, code);
|
|
||||||
}
|
|
||||||
|
|
||||||
generate() {
|
|
||||||
return this._generator.generate();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.CodeGenerator = CodeGenerator;
|
|
||||||
|
|
||||||
function _default(ast, opts, code) {
|
|
||||||
const gen = new Generator(ast, opts, code);
|
|
||||||
return gen.generate();
|
|
||||||
}
|
|
117
node_modules/@babel/generator/lib/node/index.js
generated
vendored
117
node_modules/@babel/generator/lib/node/index.js
generated
vendored
@ -1,117 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.needsWhitespace = needsWhitespace;
|
|
||||||
exports.needsWhitespaceBefore = needsWhitespaceBefore;
|
|
||||||
exports.needsWhitespaceAfter = needsWhitespaceAfter;
|
|
||||||
exports.needsParens = needsParens;
|
|
||||||
|
|
||||||
var whitespace = _interopRequireWildcard(require("./whitespace"));
|
|
||||||
|
|
||||||
var parens = _interopRequireWildcard(require("./parentheses"));
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function expandAliases(obj) {
|
|
||||||
const newObj = {};
|
|
||||||
|
|
||||||
function add(type, func) {
|
|
||||||
const fn = newObj[type];
|
|
||||||
newObj[type] = fn ? function (node, parent, stack) {
|
|
||||||
const result = fn(node, parent, stack);
|
|
||||||
return result == null ? func(node, parent, stack) : result;
|
|
||||||
} : func;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const type of Object.keys(obj)) {
|
|
||||||
const aliases = t().FLIPPED_ALIAS_KEYS[type];
|
|
||||||
|
|
||||||
if (aliases) {
|
|
||||||
for (const alias of aliases) {
|
|
||||||
add(alias, obj[type]);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
add(type, obj[type]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return newObj;
|
|
||||||
}
|
|
||||||
|
|
||||||
const expandedParens = expandAliases(parens);
|
|
||||||
const expandedWhitespaceNodes = expandAliases(whitespace.nodes);
|
|
||||||
const expandedWhitespaceList = expandAliases(whitespace.list);
|
|
||||||
|
|
||||||
function find(obj, node, parent, printStack) {
|
|
||||||
const fn = obj[node.type];
|
|
||||||
return fn ? fn(node, parent, printStack) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isOrHasCallExpression(node) {
|
|
||||||
if (t().isCallExpression(node)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t().isMemberExpression(node)) {
|
|
||||||
return isOrHasCallExpression(node.object) || !node.computed && isOrHasCallExpression(node.property);
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function needsWhitespace(node, parent, type) {
|
|
||||||
if (!node) return 0;
|
|
||||||
|
|
||||||
if (t().isExpressionStatement(node)) {
|
|
||||||
node = node.expression;
|
|
||||||
}
|
|
||||||
|
|
||||||
let linesInfo = find(expandedWhitespaceNodes, node, parent);
|
|
||||||
|
|
||||||
if (!linesInfo) {
|
|
||||||
const items = find(expandedWhitespaceList, node, parent);
|
|
||||||
|
|
||||||
if (items) {
|
|
||||||
for (let i = 0; i < items.length; i++) {
|
|
||||||
linesInfo = needsWhitespace(items[i], node, type);
|
|
||||||
if (linesInfo) break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof linesInfo === "object" && linesInfo !== null) {
|
|
||||||
return linesInfo[type] || 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
function needsWhitespaceBefore(node, parent) {
|
|
||||||
return needsWhitespace(node, parent, "before");
|
|
||||||
}
|
|
||||||
|
|
||||||
function needsWhitespaceAfter(node, parent) {
|
|
||||||
return needsWhitespace(node, parent, "after");
|
|
||||||
}
|
|
||||||
|
|
||||||
function needsParens(node, parent, printStack) {
|
|
||||||
if (!parent) return false;
|
|
||||||
|
|
||||||
if (t().isNewExpression(parent) && parent.callee === node) {
|
|
||||||
if (isOrHasCallExpression(node)) return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return find(expandedParens, node, parent, printStack);
|
|
||||||
}
|
|
253
node_modules/@babel/generator/lib/node/parentheses.js
generated
vendored
253
node_modules/@babel/generator/lib/node/parentheses.js
generated
vendored
@ -1,253 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.NullableTypeAnnotation = NullableTypeAnnotation;
|
|
||||||
exports.FunctionTypeAnnotation = FunctionTypeAnnotation;
|
|
||||||
exports.UpdateExpression = UpdateExpression;
|
|
||||||
exports.ObjectExpression = ObjectExpression;
|
|
||||||
exports.DoExpression = DoExpression;
|
|
||||||
exports.Binary = Binary;
|
|
||||||
exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation;
|
|
||||||
exports.TSAsExpression = TSAsExpression;
|
|
||||||
exports.TSTypeAssertion = TSTypeAssertion;
|
|
||||||
exports.TSIntersectionType = exports.TSUnionType = TSUnionType;
|
|
||||||
exports.BinaryExpression = BinaryExpression;
|
|
||||||
exports.SequenceExpression = SequenceExpression;
|
|
||||||
exports.AwaitExpression = exports.YieldExpression = YieldExpression;
|
|
||||||
exports.ClassExpression = ClassExpression;
|
|
||||||
exports.UnaryLike = UnaryLike;
|
|
||||||
exports.FunctionExpression = FunctionExpression;
|
|
||||||
exports.ArrowFunctionExpression = ArrowFunctionExpression;
|
|
||||||
exports.ConditionalExpression = ConditionalExpression;
|
|
||||||
exports.OptionalMemberExpression = OptionalMemberExpression;
|
|
||||||
exports.AssignmentExpression = AssignmentExpression;
|
|
||||||
exports.NewExpression = NewExpression;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
const PRECEDENCE = {
|
|
||||||
"||": 0,
|
|
||||||
"&&": 1,
|
|
||||||
"|": 2,
|
|
||||||
"^": 3,
|
|
||||||
"&": 4,
|
|
||||||
"==": 5,
|
|
||||||
"===": 5,
|
|
||||||
"!=": 5,
|
|
||||||
"!==": 5,
|
|
||||||
"<": 6,
|
|
||||||
">": 6,
|
|
||||||
"<=": 6,
|
|
||||||
">=": 6,
|
|
||||||
in: 6,
|
|
||||||
instanceof: 6,
|
|
||||||
">>": 7,
|
|
||||||
"<<": 7,
|
|
||||||
">>>": 7,
|
|
||||||
"+": 8,
|
|
||||||
"-": 8,
|
|
||||||
"*": 9,
|
|
||||||
"/": 9,
|
|
||||||
"%": 9,
|
|
||||||
"**": 10
|
|
||||||
};
|
|
||||||
|
|
||||||
const isClassExtendsClause = (node, parent) => (t().isClassDeclaration(parent) || t().isClassExpression(parent)) && parent.superClass === node;
|
|
||||||
|
|
||||||
function NullableTypeAnnotation(node, parent) {
|
|
||||||
return t().isArrayTypeAnnotation(parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function FunctionTypeAnnotation(node, parent) {
|
|
||||||
return t().isUnionTypeAnnotation(parent) || t().isIntersectionTypeAnnotation(parent) || t().isArrayTypeAnnotation(parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function UpdateExpression(node, parent) {
|
|
||||||
return t().isMemberExpression(parent, {
|
|
||||||
object: node
|
|
||||||
}) || t().isCallExpression(parent, {
|
|
||||||
callee: node
|
|
||||||
}) || t().isNewExpression(parent, {
|
|
||||||
callee: node
|
|
||||||
}) || isClassExtendsClause(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ObjectExpression(node, parent, printStack) {
|
|
||||||
return isFirstInStatement(printStack, {
|
|
||||||
considerArrow: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function DoExpression(node, parent, printStack) {
|
|
||||||
return isFirstInStatement(printStack);
|
|
||||||
}
|
|
||||||
|
|
||||||
function Binary(node, parent) {
|
|
||||||
if (node.operator === "**" && t().isBinaryExpression(parent, {
|
|
||||||
operator: "**"
|
|
||||||
})) {
|
|
||||||
return parent.left === node;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isClassExtendsClause(node, parent)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((t().isCallExpression(parent) || t().isNewExpression(parent)) && parent.callee === node || t().isUnaryLike(parent) || t().isMemberExpression(parent) && parent.object === node || t().isAwaitExpression(parent)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t().isBinary(parent)) {
|
|
||||||
const parentOp = parent.operator;
|
|
||||||
const parentPos = PRECEDENCE[parentOp];
|
|
||||||
const nodeOp = node.operator;
|
|
||||||
const nodePos = PRECEDENCE[nodeOp];
|
|
||||||
|
|
||||||
if (parentPos === nodePos && parent.right === node && !t().isLogicalExpression(parent) || parentPos > nodePos) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function UnionTypeAnnotation(node, parent) {
|
|
||||||
return t().isArrayTypeAnnotation(parent) || t().isNullableTypeAnnotation(parent) || t().isIntersectionTypeAnnotation(parent) || t().isUnionTypeAnnotation(parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSAsExpression() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSTypeAssertion() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function TSUnionType(node, parent) {
|
|
||||||
return t().isTSArrayType(parent) || t().isTSOptionalType(parent) || t().isTSIntersectionType(parent) || t().isTSUnionType(parent) || t().isTSRestType(parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function BinaryExpression(node, parent) {
|
|
||||||
return node.operator === "in" && (t().isVariableDeclarator(parent) || t().isFor(parent));
|
|
||||||
}
|
|
||||||
|
|
||||||
function SequenceExpression(node, parent) {
|
|
||||||
if (t().isForStatement(parent) || t().isThrowStatement(parent) || t().isReturnStatement(parent) || t().isIfStatement(parent) && parent.test === node || t().isWhileStatement(parent) && parent.test === node || t().isForInStatement(parent) && parent.right === node || t().isSwitchStatement(parent) && parent.discriminant === node || t().isExpressionStatement(parent) && parent.expression === node) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function YieldExpression(node, parent) {
|
|
||||||
return t().isBinary(parent) || t().isUnaryLike(parent) || t().isCallExpression(parent) || t().isMemberExpression(parent) || t().isNewExpression(parent) || t().isAwaitExpression(parent) && t().isYieldExpression(node) || t().isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClassExpression(node, parent, printStack) {
|
|
||||||
return isFirstInStatement(printStack, {
|
|
||||||
considerDefaultExports: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function UnaryLike(node, parent) {
|
|
||||||
return t().isMemberExpression(parent, {
|
|
||||||
object: node
|
|
||||||
}) || t().isCallExpression(parent, {
|
|
||||||
callee: node
|
|
||||||
}) || t().isNewExpression(parent, {
|
|
||||||
callee: node
|
|
||||||
}) || t().isBinaryExpression(parent, {
|
|
||||||
operator: "**",
|
|
||||||
left: node
|
|
||||||
}) || isClassExtendsClause(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function FunctionExpression(node, parent, printStack) {
|
|
||||||
return isFirstInStatement(printStack, {
|
|
||||||
considerDefaultExports: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function ArrowFunctionExpression(node, parent) {
|
|
||||||
return t().isExportDeclaration(parent) || ConditionalExpression(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ConditionalExpression(node, parent) {
|
|
||||||
if (t().isUnaryLike(parent) || t().isBinary(parent) || t().isConditionalExpression(parent, {
|
|
||||||
test: node
|
|
||||||
}) || t().isAwaitExpression(parent) || t().isOptionalMemberExpression(parent) || t().isTaggedTemplateExpression(parent) || t().isTSTypeAssertion(parent) || t().isTSAsExpression(parent)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return UnaryLike(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function OptionalMemberExpression(node, parent) {
|
|
||||||
return t().isCallExpression(parent) || t().isMemberExpression(parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function AssignmentExpression(node) {
|
|
||||||
if (t().isObjectPattern(node.left)) {
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return ConditionalExpression(...arguments);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function NewExpression(node, parent) {
|
|
||||||
return isClassExtendsClause(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
function isFirstInStatement(printStack, {
|
|
||||||
considerArrow = false,
|
|
||||||
considerDefaultExports = false
|
|
||||||
} = {}) {
|
|
||||||
let i = printStack.length - 1;
|
|
||||||
let node = printStack[i];
|
|
||||||
i--;
|
|
||||||
let parent = printStack[i];
|
|
||||||
|
|
||||||
while (i > 0) {
|
|
||||||
if (t().isExpressionStatement(parent, {
|
|
||||||
expression: node
|
|
||||||
}) || t().isTaggedTemplateExpression(parent) || considerDefaultExports && t().isExportDefaultDeclaration(parent, {
|
|
||||||
declaration: node
|
|
||||||
}) || considerArrow && t().isArrowFunctionExpression(parent, {
|
|
||||||
body: node
|
|
||||||
})) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t().isCallExpression(parent, {
|
|
||||||
callee: node
|
|
||||||
}) || t().isSequenceExpression(parent) && parent.expressions[0] === node || t().isMemberExpression(parent, {
|
|
||||||
object: node
|
|
||||||
}) || t().isConditional(parent, {
|
|
||||||
test: node
|
|
||||||
}) || t().isBinary(parent, {
|
|
||||||
left: node
|
|
||||||
}) || t().isAssignmentExpression(parent, {
|
|
||||||
left: node
|
|
||||||
})) {
|
|
||||||
node = parent;
|
|
||||||
i--;
|
|
||||||
parent = printStack[i];
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
192
node_modules/@babel/generator/lib/node/whitespace.js
generated
vendored
192
node_modules/@babel/generator/lib/node/whitespace.js
generated
vendored
@ -1,192 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.list = exports.nodes = void 0;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function crawl(node, state = {}) {
|
|
||||||
if (t().isMemberExpression(node)) {
|
|
||||||
crawl(node.object, state);
|
|
||||||
if (node.computed) crawl(node.property, state);
|
|
||||||
} else if (t().isBinary(node) || t().isAssignmentExpression(node)) {
|
|
||||||
crawl(node.left, state);
|
|
||||||
crawl(node.right, state);
|
|
||||||
} else if (t().isCallExpression(node)) {
|
|
||||||
state.hasCall = true;
|
|
||||||
crawl(node.callee, state);
|
|
||||||
} else if (t().isFunction(node)) {
|
|
||||||
state.hasFunction = true;
|
|
||||||
} else if (t().isIdentifier(node)) {
|
|
||||||
state.hasHelper = state.hasHelper || isHelper(node.callee);
|
|
||||||
}
|
|
||||||
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isHelper(node) {
|
|
||||||
if (t().isMemberExpression(node)) {
|
|
||||||
return isHelper(node.object) || isHelper(node.property);
|
|
||||||
} else if (t().isIdentifier(node)) {
|
|
||||||
return node.name === "require" || node.name[0] === "_";
|
|
||||||
} else if (t().isCallExpression(node)) {
|
|
||||||
return isHelper(node.callee);
|
|
||||||
} else if (t().isBinary(node) || t().isAssignmentExpression(node)) {
|
|
||||||
return t().isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right);
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function isType(node) {
|
|
||||||
return t().isLiteral(node) || t().isObjectExpression(node) || t().isArrayExpression(node) || t().isIdentifier(node) || t().isMemberExpression(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
const nodes = {
|
|
||||||
AssignmentExpression(node) {
|
|
||||||
const state = crawl(node.right);
|
|
||||||
|
|
||||||
if (state.hasCall && state.hasHelper || state.hasFunction) {
|
|
||||||
return {
|
|
||||||
before: state.hasFunction,
|
|
||||||
after: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
SwitchCase(node, parent) {
|
|
||||||
return {
|
|
||||||
before: node.consequent.length || parent.cases[0] === node,
|
|
||||||
after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
LogicalExpression(node) {
|
|
||||||
if (t().isFunction(node.left) || t().isFunction(node.right)) {
|
|
||||||
return {
|
|
||||||
after: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
Literal(node) {
|
|
||||||
if (node.value === "use strict") {
|
|
||||||
return {
|
|
||||||
after: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
CallExpression(node) {
|
|
||||||
if (t().isFunction(node.callee) || isHelper(node)) {
|
|
||||||
return {
|
|
||||||
before: true,
|
|
||||||
after: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
VariableDeclaration(node) {
|
|
||||||
for (let i = 0; i < node.declarations.length; i++) {
|
|
||||||
const declar = node.declarations[i];
|
|
||||||
let enabled = isHelper(declar.id) && !isType(declar.init);
|
|
||||||
|
|
||||||
if (!enabled) {
|
|
||||||
const state = crawl(declar.init);
|
|
||||||
enabled = isHelper(declar.init) && state.hasCall || state.hasFunction;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enabled) {
|
|
||||||
return {
|
|
||||||
before: true,
|
|
||||||
after: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
IfStatement(node) {
|
|
||||||
if (t().isBlockStatement(node.consequent)) {
|
|
||||||
return {
|
|
||||||
before: true,
|
|
||||||
after: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
exports.nodes = nodes;
|
|
||||||
|
|
||||||
nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) {
|
|
||||||
if (parent.properties[0] === node) {
|
|
||||||
return {
|
|
||||||
before: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
nodes.ObjectTypeCallProperty = function (node, parent) {
|
|
||||||
if (parent.callProperties[0] === node && (!parent.properties || !parent.properties.length)) {
|
|
||||||
return {
|
|
||||||
before: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
nodes.ObjectTypeIndexer = function (node, parent) {
|
|
||||||
if (parent.indexers[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length)) {
|
|
||||||
return {
|
|
||||||
before: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
nodes.ObjectTypeInternalSlot = function (node, parent) {
|
|
||||||
if (parent.internalSlots[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length) && (!parent.indexers || !parent.indexers.length)) {
|
|
||||||
return {
|
|
||||||
before: true
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const list = {
|
|
||||||
VariableDeclaration(node) {
|
|
||||||
return node.declarations.map(decl => decl.init);
|
|
||||||
},
|
|
||||||
|
|
||||||
ArrayExpression(node) {
|
|
||||||
return node.elements;
|
|
||||||
},
|
|
||||||
|
|
||||||
ObjectExpression(node) {
|
|
||||||
return node.properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
exports.list = list;
|
|
||||||
[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function ([type, amounts]) {
|
|
||||||
if (typeof amounts === "boolean") {
|
|
||||||
amounts = {
|
|
||||||
after: amounts,
|
|
||||||
before: amounts
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
[type].concat(t().FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {
|
|
||||||
nodes[type] = function () {
|
|
||||||
return amounts;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
});
|
|
501
node_modules/@babel/generator/lib/printer.js
generated
vendored
501
node_modules/@babel/generator/lib/printer.js
generated
vendored
@ -1,501 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _isInteger() {
|
|
||||||
const data = _interopRequireDefault(require("lodash/isInteger"));
|
|
||||||
|
|
||||||
_isInteger = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _repeat() {
|
|
||||||
const data = _interopRequireDefault(require("lodash/repeat"));
|
|
||||||
|
|
||||||
_repeat = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _buffer = _interopRequireDefault(require("./buffer"));
|
|
||||||
|
|
||||||
var n = _interopRequireWildcard(require("./node"));
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var generatorFunctions = _interopRequireWildcard(require("./generators"));
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
const SCIENTIFIC_NOTATION = /e/i;
|
|
||||||
const ZERO_DECIMAL_INTEGER = /\.0+$/;
|
|
||||||
const NON_DECIMAL_LITERAL = /^0[box]/;
|
|
||||||
|
|
||||||
class Printer {
|
|
||||||
constructor(format, map) {
|
|
||||||
this.inForStatementInitCounter = 0;
|
|
||||||
this._printStack = [];
|
|
||||||
this._indent = 0;
|
|
||||||
this._insideAux = false;
|
|
||||||
this._printedCommentStarts = {};
|
|
||||||
this._parenPushNewlineState = null;
|
|
||||||
this._noLineTerminator = false;
|
|
||||||
this._printAuxAfterOnNextUserNode = false;
|
|
||||||
this._printedComments = new WeakSet();
|
|
||||||
this._endsWithInteger = false;
|
|
||||||
this._endsWithWord = false;
|
|
||||||
this.format = format || {};
|
|
||||||
this._buf = new _buffer.default(map);
|
|
||||||
}
|
|
||||||
|
|
||||||
generate(ast) {
|
|
||||||
this.print(ast);
|
|
||||||
|
|
||||||
this._maybeAddAuxComment();
|
|
||||||
|
|
||||||
return this._buf.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
indent() {
|
|
||||||
if (this.format.compact || this.format.concise) return;
|
|
||||||
this._indent++;
|
|
||||||
}
|
|
||||||
|
|
||||||
dedent() {
|
|
||||||
if (this.format.compact || this.format.concise) return;
|
|
||||||
this._indent--;
|
|
||||||
}
|
|
||||||
|
|
||||||
semicolon(force = false) {
|
|
||||||
this._maybeAddAuxComment();
|
|
||||||
|
|
||||||
this._append(";", !force);
|
|
||||||
}
|
|
||||||
|
|
||||||
rightBrace() {
|
|
||||||
if (this.format.minified) {
|
|
||||||
this._buf.removeLastSemicolon();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("}");
|
|
||||||
}
|
|
||||||
|
|
||||||
space(force = false) {
|
|
||||||
if (this.format.compact) return;
|
|
||||||
|
|
||||||
if (this._buf.hasContent() && !this.endsWith(" ") && !this.endsWith("\n") || force) {
|
|
||||||
this._space();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
word(str) {
|
|
||||||
if (this._endsWithWord || this.endsWith("/") && str.indexOf("/") === 0) {
|
|
||||||
this._space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._maybeAddAuxComment();
|
|
||||||
|
|
||||||
this._append(str);
|
|
||||||
|
|
||||||
this._endsWithWord = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
number(str) {
|
|
||||||
this.word(str);
|
|
||||||
this._endsWithInteger = (0, _isInteger().default)(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str[str.length - 1] !== ".";
|
|
||||||
}
|
|
||||||
|
|
||||||
token(str) {
|
|
||||||
if (str === "--" && this.endsWith("!") || str[0] === "+" && this.endsWith("+") || str[0] === "-" && this.endsWith("-") || str[0] === "." && this._endsWithInteger) {
|
|
||||||
this._space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this._maybeAddAuxComment();
|
|
||||||
|
|
||||||
this._append(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
newline(i) {
|
|
||||||
if (this.format.retainLines || this.format.compact) return;
|
|
||||||
|
|
||||||
if (this.format.concise) {
|
|
||||||
this.space();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.endsWith("\n\n")) return;
|
|
||||||
if (typeof i !== "number") i = 1;
|
|
||||||
i = Math.min(2, i);
|
|
||||||
if (this.endsWith("{\n") || this.endsWith(":\n")) i--;
|
|
||||||
if (i <= 0) return;
|
|
||||||
|
|
||||||
for (let j = 0; j < i; j++) {
|
|
||||||
this._newline();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
endsWith(str) {
|
|
||||||
return this._buf.endsWith(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
removeTrailingNewline() {
|
|
||||||
this._buf.removeTrailingNewline();
|
|
||||||
}
|
|
||||||
|
|
||||||
exactSource(loc, cb) {
|
|
||||||
this._catchUp("start", loc);
|
|
||||||
|
|
||||||
this._buf.exactSource(loc, cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
source(prop, loc) {
|
|
||||||
this._catchUp(prop, loc);
|
|
||||||
|
|
||||||
this._buf.source(prop, loc);
|
|
||||||
}
|
|
||||||
|
|
||||||
withSource(prop, loc, cb) {
|
|
||||||
this._catchUp(prop, loc);
|
|
||||||
|
|
||||||
this._buf.withSource(prop, loc, cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
_space() {
|
|
||||||
this._append(" ", true);
|
|
||||||
}
|
|
||||||
|
|
||||||
_newline() {
|
|
||||||
this._append("\n", true);
|
|
||||||
}
|
|
||||||
|
|
||||||
_append(str, queue = false) {
|
|
||||||
this._maybeAddParen(str);
|
|
||||||
|
|
||||||
this._maybeIndent(str);
|
|
||||||
|
|
||||||
if (queue) this._buf.queue(str);else this._buf.append(str);
|
|
||||||
this._endsWithWord = false;
|
|
||||||
this._endsWithInteger = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
_maybeIndent(str) {
|
|
||||||
if (this._indent && this.endsWith("\n") && str[0] !== "\n") {
|
|
||||||
this._buf.queue(this._getIndent());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_maybeAddParen(str) {
|
|
||||||
const parenPushNewlineState = this._parenPushNewlineState;
|
|
||||||
if (!parenPushNewlineState) return;
|
|
||||||
this._parenPushNewlineState = null;
|
|
||||||
let i;
|
|
||||||
|
|
||||||
for (i = 0; i < str.length && str[i] === " "; i++) continue;
|
|
||||||
|
|
||||||
if (i === str.length) return;
|
|
||||||
const cha = str[i];
|
|
||||||
|
|
||||||
if (cha !== "\n") {
|
|
||||||
if (cha !== "/") return;
|
|
||||||
if (i + 1 === str.length) return;
|
|
||||||
const chaPost = str[i + 1];
|
|
||||||
if (chaPost !== "/" && chaPost !== "*") return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.token("(");
|
|
||||||
this.indent();
|
|
||||||
parenPushNewlineState.printed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
_catchUp(prop, loc) {
|
|
||||||
if (!this.format.retainLines) return;
|
|
||||||
const pos = loc ? loc[prop] : null;
|
|
||||||
|
|
||||||
if (pos && pos.line !== null) {
|
|
||||||
const count = pos.line - this._buf.getCurrentLine();
|
|
||||||
|
|
||||||
for (let i = 0; i < count; i++) {
|
|
||||||
this._newline();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_getIndent() {
|
|
||||||
return (0, _repeat().default)(this.format.indent.style, this._indent);
|
|
||||||
}
|
|
||||||
|
|
||||||
startTerminatorless(isLabel = false) {
|
|
||||||
if (isLabel) {
|
|
||||||
this._noLineTerminator = true;
|
|
||||||
return null;
|
|
||||||
} else {
|
|
||||||
return this._parenPushNewlineState = {
|
|
||||||
printed: false
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
endTerminatorless(state) {
|
|
||||||
this._noLineTerminator = false;
|
|
||||||
|
|
||||||
if (state && state.printed) {
|
|
||||||
this.dedent();
|
|
||||||
this.newline();
|
|
||||||
this.token(")");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print(node, parent) {
|
|
||||||
if (!node) return;
|
|
||||||
const oldConcise = this.format.concise;
|
|
||||||
|
|
||||||
if (node._compact) {
|
|
||||||
this.format.concise = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const printMethod = this[node.type];
|
|
||||||
|
|
||||||
if (!printMethod) {
|
|
||||||
throw new ReferenceError(`unknown node of type ${JSON.stringify(node.type)} with constructor ${JSON.stringify(node && node.constructor.name)}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._printStack.push(node);
|
|
||||||
|
|
||||||
const oldInAux = this._insideAux;
|
|
||||||
this._insideAux = !node.loc;
|
|
||||||
|
|
||||||
this._maybeAddAuxComment(this._insideAux && !oldInAux);
|
|
||||||
|
|
||||||
let needsParens = n.needsParens(node, parent, this._printStack);
|
|
||||||
|
|
||||||
if (this.format.retainFunctionParens && node.type === "FunctionExpression" && node.extra && node.extra.parenthesized) {
|
|
||||||
needsParens = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (needsParens) this.token("(");
|
|
||||||
|
|
||||||
this._printLeadingComments(node);
|
|
||||||
|
|
||||||
const loc = t().isProgram(node) || t().isFile(node) ? null : node.loc;
|
|
||||||
this.withSource("start", loc, () => {
|
|
||||||
printMethod.call(this, node, parent);
|
|
||||||
});
|
|
||||||
|
|
||||||
this._printTrailingComments(node);
|
|
||||||
|
|
||||||
if (needsParens) this.token(")");
|
|
||||||
|
|
||||||
this._printStack.pop();
|
|
||||||
|
|
||||||
this.format.concise = oldConcise;
|
|
||||||
this._insideAux = oldInAux;
|
|
||||||
}
|
|
||||||
|
|
||||||
_maybeAddAuxComment(enteredPositionlessNode) {
|
|
||||||
if (enteredPositionlessNode) this._printAuxBeforeComment();
|
|
||||||
if (!this._insideAux) this._printAuxAfterComment();
|
|
||||||
}
|
|
||||||
|
|
||||||
_printAuxBeforeComment() {
|
|
||||||
if (this._printAuxAfterOnNextUserNode) return;
|
|
||||||
this._printAuxAfterOnNextUserNode = true;
|
|
||||||
const comment = this.format.auxiliaryCommentBefore;
|
|
||||||
|
|
||||||
if (comment) {
|
|
||||||
this._printComment({
|
|
||||||
type: "CommentBlock",
|
|
||||||
value: comment
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_printAuxAfterComment() {
|
|
||||||
if (!this._printAuxAfterOnNextUserNode) return;
|
|
||||||
this._printAuxAfterOnNextUserNode = false;
|
|
||||||
const comment = this.format.auxiliaryCommentAfter;
|
|
||||||
|
|
||||||
if (comment) {
|
|
||||||
this._printComment({
|
|
||||||
type: "CommentBlock",
|
|
||||||
value: comment
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getPossibleRaw(node) {
|
|
||||||
const extra = node.extra;
|
|
||||||
|
|
||||||
if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) {
|
|
||||||
return extra.raw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printJoin(nodes, parent, opts = {}) {
|
|
||||||
if (!nodes || !nodes.length) return;
|
|
||||||
if (opts.indent) this.indent();
|
|
||||||
const newlineOpts = {
|
|
||||||
addNewlines: opts.addNewlines
|
|
||||||
};
|
|
||||||
|
|
||||||
for (let i = 0; i < nodes.length; i++) {
|
|
||||||
const node = nodes[i];
|
|
||||||
if (!node) continue;
|
|
||||||
if (opts.statement) this._printNewline(true, node, parent, newlineOpts);
|
|
||||||
this.print(node, parent);
|
|
||||||
|
|
||||||
if (opts.iterator) {
|
|
||||||
opts.iterator(node, i);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opts.separator && i < nodes.length - 1) {
|
|
||||||
opts.separator.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opts.statement) this._printNewline(false, node, parent, newlineOpts);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opts.indent) this.dedent();
|
|
||||||
}
|
|
||||||
|
|
||||||
printAndIndentOnComments(node, parent) {
|
|
||||||
const indent = node.leadingComments && node.leadingComments.length > 0;
|
|
||||||
if (indent) this.indent();
|
|
||||||
this.print(node, parent);
|
|
||||||
if (indent) this.dedent();
|
|
||||||
}
|
|
||||||
|
|
||||||
printBlock(parent) {
|
|
||||||
const node = parent.body;
|
|
||||||
|
|
||||||
if (!t().isEmptyStatement(node)) {
|
|
||||||
this.space();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.print(node, parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
_printTrailingComments(node) {
|
|
||||||
this._printComments(this._getComments(false, node));
|
|
||||||
}
|
|
||||||
|
|
||||||
_printLeadingComments(node) {
|
|
||||||
this._printComments(this._getComments(true, node));
|
|
||||||
}
|
|
||||||
|
|
||||||
printInnerComments(node, indent = true) {
|
|
||||||
if (!node.innerComments || !node.innerComments.length) return;
|
|
||||||
if (indent) this.indent();
|
|
||||||
|
|
||||||
this._printComments(node.innerComments);
|
|
||||||
|
|
||||||
if (indent) this.dedent();
|
|
||||||
}
|
|
||||||
|
|
||||||
printSequence(nodes, parent, opts = {}) {
|
|
||||||
opts.statement = true;
|
|
||||||
return this.printJoin(nodes, parent, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
printList(items, parent, opts = {}) {
|
|
||||||
if (opts.separator == null) {
|
|
||||||
opts.separator = commaSeparator;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.printJoin(items, parent, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
_printNewline(leading, node, parent, opts) {
|
|
||||||
if (this.format.retainLines || this.format.compact) return;
|
|
||||||
|
|
||||||
if (this.format.concise) {
|
|
||||||
this.space();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let lines = 0;
|
|
||||||
|
|
||||||
if (this._buf.hasContent()) {
|
|
||||||
if (!leading) lines++;
|
|
||||||
if (opts.addNewlines) lines += opts.addNewlines(leading, node) || 0;
|
|
||||||
const needs = leading ? n.needsWhitespaceBefore : n.needsWhitespaceAfter;
|
|
||||||
if (needs(node, parent)) lines++;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.newline(lines);
|
|
||||||
}
|
|
||||||
|
|
||||||
_getComments(leading, node) {
|
|
||||||
return node && (leading ? node.leadingComments : node.trailingComments) || [];
|
|
||||||
}
|
|
||||||
|
|
||||||
_printComment(comment) {
|
|
||||||
if (!this.format.shouldPrintComment(comment.value)) return;
|
|
||||||
if (comment.ignore) return;
|
|
||||||
if (this._printedComments.has(comment)) return;
|
|
||||||
|
|
||||||
this._printedComments.add(comment);
|
|
||||||
|
|
||||||
if (comment.start != null) {
|
|
||||||
if (this._printedCommentStarts[comment.start]) return;
|
|
||||||
this._printedCommentStarts[comment.start] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const isBlockComment = comment.type === "CommentBlock";
|
|
||||||
this.newline(this._buf.hasContent() && !this._noLineTerminator && isBlockComment ? 1 : 0);
|
|
||||||
if (!this.endsWith("[") && !this.endsWith("{")) this.space();
|
|
||||||
let val = !isBlockComment && !this._noLineTerminator ? `//${comment.value}\n` : `/*${comment.value}*/`;
|
|
||||||
|
|
||||||
if (isBlockComment && this.format.indent.adjustMultilineComment) {
|
|
||||||
const offset = comment.loc && comment.loc.start.column;
|
|
||||||
|
|
||||||
if (offset) {
|
|
||||||
const newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g");
|
|
||||||
val = val.replace(newlineRegex, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
const indentSize = Math.max(this._getIndent().length, this._buf.getCurrentColumn());
|
|
||||||
val = val.replace(/\n(?!$)/g, `\n${(0, _repeat().default)(" ", indentSize)}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.endsWith("/")) this._space();
|
|
||||||
this.withSource("start", comment.loc, () => {
|
|
||||||
this._append(val);
|
|
||||||
});
|
|
||||||
this.newline(isBlockComment && !this._noLineTerminator ? 1 : 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
_printComments(comments) {
|
|
||||||
if (!comments || !comments.length) return;
|
|
||||||
|
|
||||||
for (const comment of comments) {
|
|
||||||
this._printComment(comment);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.default = Printer;
|
|
||||||
Object.assign(Printer.prototype, generatorFunctions);
|
|
||||||
|
|
||||||
function commaSeparator() {
|
|
||||||
this.token(",");
|
|
||||||
this.space();
|
|
||||||
}
|
|
81
node_modules/@babel/generator/lib/source-map.js
generated
vendored
81
node_modules/@babel/generator/lib/source-map.js
generated
vendored
@ -1,81 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _sourceMap() {
|
|
||||||
const data = _interopRequireDefault(require("source-map"));
|
|
||||||
|
|
||||||
_sourceMap = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
class SourceMap {
|
|
||||||
constructor(opts, code) {
|
|
||||||
this._cachedMap = null;
|
|
||||||
this._code = code;
|
|
||||||
this._opts = opts;
|
|
||||||
this._rawMappings = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
get() {
|
|
||||||
if (!this._cachedMap) {
|
|
||||||
const map = this._cachedMap = new (_sourceMap().default.SourceMapGenerator)({
|
|
||||||
sourceRoot: this._opts.sourceRoot
|
|
||||||
});
|
|
||||||
const code = this._code;
|
|
||||||
|
|
||||||
if (typeof code === "string") {
|
|
||||||
map.setSourceContent(this._opts.sourceFileName, code);
|
|
||||||
} else if (typeof code === "object") {
|
|
||||||
Object.keys(code).forEach(sourceFileName => {
|
|
||||||
map.setSourceContent(sourceFileName, code[sourceFileName]);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
this._rawMappings.forEach(map.addMapping, map);
|
|
||||||
}
|
|
||||||
|
|
||||||
return this._cachedMap.toJSON();
|
|
||||||
}
|
|
||||||
|
|
||||||
getRawMappings() {
|
|
||||||
return this._rawMappings.slice();
|
|
||||||
}
|
|
||||||
|
|
||||||
mark(generatedLine, generatedColumn, line, column, identifierName, filename, force) {
|
|
||||||
if (this._lastGenLine !== generatedLine && line === null) return;
|
|
||||||
|
|
||||||
if (!force && this._lastGenLine === generatedLine && this._lastSourceLine === line && this._lastSourceColumn === column) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._cachedMap = null;
|
|
||||||
this._lastGenLine = generatedLine;
|
|
||||||
this._lastSourceLine = line;
|
|
||||||
this._lastSourceColumn = column;
|
|
||||||
|
|
||||||
this._rawMappings.push({
|
|
||||||
name: identifierName || undefined,
|
|
||||||
generated: {
|
|
||||||
line: generatedLine,
|
|
||||||
column: generatedColumn
|
|
||||||
},
|
|
||||||
source: line == null ? undefined : filename || this._opts.sourceFileName,
|
|
||||||
original: line == null ? undefined : {
|
|
||||||
line: line,
|
|
||||||
column: column
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.default = SourceMap;
|
|
301
node_modules/@babel/generator/node_modules/source-map/CHANGELOG.md
generated
vendored
301
node_modules/@babel/generator/node_modules/source-map/CHANGELOG.md
generated
vendored
@ -1,301 +0,0 @@
|
|||||||
# Change Log
|
|
||||||
|
|
||||||
## 0.5.6
|
|
||||||
|
|
||||||
* Fix for regression when people were using numbers as names in source maps. See
|
|
||||||
#236.
|
|
||||||
|
|
||||||
## 0.5.5
|
|
||||||
|
|
||||||
* Fix "regression" of unsupported, implementation behavior that half the world
|
|
||||||
happens to have come to depend on. See #235.
|
|
||||||
|
|
||||||
* Fix regression involving function hoisting in SpiderMonkey. See #233.
|
|
||||||
|
|
||||||
## 0.5.4
|
|
||||||
|
|
||||||
* Large performance improvements to source-map serialization. See #228 and #229.
|
|
||||||
|
|
||||||
## 0.5.3
|
|
||||||
|
|
||||||
* Do not include unnecessary distribution files. See
|
|
||||||
commit ef7006f8d1647e0a83fdc60f04f5a7ca54886f86.
|
|
||||||
|
|
||||||
## 0.5.2
|
|
||||||
|
|
||||||
* Include browser distributions of the library in package.json's `files`. See
|
|
||||||
issue #212.
|
|
||||||
|
|
||||||
## 0.5.1
|
|
||||||
|
|
||||||
* Fix latent bugs in IndexedSourceMapConsumer.prototype._parseMappings. See
|
|
||||||
ff05274becc9e6e1295ed60f3ea090d31d843379.
|
|
||||||
|
|
||||||
## 0.5.0
|
|
||||||
|
|
||||||
* Node 0.8 is no longer supported.
|
|
||||||
|
|
||||||
* Use webpack instead of dryice for bundling.
|
|
||||||
|
|
||||||
* Big speedups serializing source maps. See pull request #203.
|
|
||||||
|
|
||||||
* Fix a bug with `SourceMapConsumer.prototype.sourceContentFor` and sources that
|
|
||||||
explicitly start with the source root. See issue #199.
|
|
||||||
|
|
||||||
## 0.4.4
|
|
||||||
|
|
||||||
* Fix an issue where using a `SourceMapGenerator` after having created a
|
|
||||||
`SourceMapConsumer` from it via `SourceMapConsumer.fromSourceMap` failed. See
|
|
||||||
issue #191.
|
|
||||||
|
|
||||||
* Fix an issue with where `SourceMapGenerator` would mistakenly consider
|
|
||||||
different mappings as duplicates of each other and avoid generating them. See
|
|
||||||
issue #192.
|
|
||||||
|
|
||||||
## 0.4.3
|
|
||||||
|
|
||||||
* A very large number of performance improvements, particularly when parsing
|
|
||||||
source maps. Collectively about 75% of time shaved off of the source map
|
|
||||||
parsing benchmark!
|
|
||||||
|
|
||||||
* Fix a bug in `SourceMapConsumer.prototype.allGeneratedPositionsFor` and fuzzy
|
|
||||||
searching in the presence of a column option. See issue #177.
|
|
||||||
|
|
||||||
* Fix a bug with joining a source and its source root when the source is above
|
|
||||||
the root. See issue #182.
|
|
||||||
|
|
||||||
* Add the `SourceMapConsumer.prototype.hasContentsOfAllSources` method to
|
|
||||||
determine when all sources' contents are inlined into the source map. See
|
|
||||||
issue #190.
|
|
||||||
|
|
||||||
## 0.4.2
|
|
||||||
|
|
||||||
* Add an `.npmignore` file so that the benchmarks aren't pulled down by
|
|
||||||
dependent projects. Issue #169.
|
|
||||||
|
|
||||||
* Add an optional `column` argument to
|
|
||||||
`SourceMapConsumer.prototype.allGeneratedPositionsFor` and better handle lines
|
|
||||||
with no mappings. Issues #172 and #173.
|
|
||||||
|
|
||||||
## 0.4.1
|
|
||||||
|
|
||||||
* Fix accidentally defining a global variable. #170.
|
|
||||||
|
|
||||||
## 0.4.0
|
|
||||||
|
|
||||||
* The default direction for fuzzy searching was changed back to its original
|
|
||||||
direction. See #164.
|
|
||||||
|
|
||||||
* There is now a `bias` option you can supply to `SourceMapConsumer` to control
|
|
||||||
the fuzzy searching direction. See #167.
|
|
||||||
|
|
||||||
* About an 8% speed up in parsing source maps. See #159.
|
|
||||||
|
|
||||||
* Added a benchmark for parsing and generating source maps.
|
|
||||||
|
|
||||||
## 0.3.0
|
|
||||||
|
|
||||||
* Change the default direction that searching for positions fuzzes when there is
|
|
||||||
not an exact match. See #154.
|
|
||||||
|
|
||||||
* Support for environments using json2.js for JSON serialization. See #156.
|
|
||||||
|
|
||||||
## 0.2.0
|
|
||||||
|
|
||||||
* Support for consuming "indexed" source maps which do not have any remote
|
|
||||||
sections. See pull request #127. This introduces a minor backwards
|
|
||||||
incompatibility if you are monkey patching `SourceMapConsumer.prototype`
|
|
||||||
methods.
|
|
||||||
|
|
||||||
## 0.1.43
|
|
||||||
|
|
||||||
* Performance improvements for `SourceMapGenerator` and `SourceNode`. See issue
|
|
||||||
#148 for some discussion and issues #150, #151, and #152 for implementations.
|
|
||||||
|
|
||||||
## 0.1.42
|
|
||||||
|
|
||||||
* Fix an issue where `SourceNode`s from different versions of the source-map
|
|
||||||
library couldn't be used in conjunction with each other. See issue #142.
|
|
||||||
|
|
||||||
## 0.1.41
|
|
||||||
|
|
||||||
* Fix a bug with getting the source content of relative sources with a "./"
|
|
||||||
prefix. See issue #145 and [Bug 1090768](bugzil.la/1090768).
|
|
||||||
|
|
||||||
* Add the `SourceMapConsumer.prototype.computeColumnSpans` method to compute the
|
|
||||||
column span of each mapping.
|
|
||||||
|
|
||||||
* Add the `SourceMapConsumer.prototype.allGeneratedPositionsFor` method to find
|
|
||||||
all generated positions associated with a given original source and line.
|
|
||||||
|
|
||||||
## 0.1.40
|
|
||||||
|
|
||||||
* Performance improvements for parsing source maps in SourceMapConsumer.
|
|
||||||
|
|
||||||
## 0.1.39
|
|
||||||
|
|
||||||
* Fix a bug where setting a source's contents to null before any source content
|
|
||||||
had been set before threw a TypeError. See issue #131.
|
|
||||||
|
|
||||||
## 0.1.38
|
|
||||||
|
|
||||||
* Fix a bug where finding relative paths from an empty path were creating
|
|
||||||
absolute paths. See issue #129.
|
|
||||||
|
|
||||||
## 0.1.37
|
|
||||||
|
|
||||||
* Fix a bug where if the source root was an empty string, relative source paths
|
|
||||||
would turn into absolute source paths. Issue #124.
|
|
||||||
|
|
||||||
## 0.1.36
|
|
||||||
|
|
||||||
* Allow the `names` mapping property to be an empty string. Issue #121.
|
|
||||||
|
|
||||||
## 0.1.35
|
|
||||||
|
|
||||||
* A third optional parameter was added to `SourceNode.fromStringWithSourceMap`
|
|
||||||
to specify a path that relative sources in the second parameter should be
|
|
||||||
relative to. Issue #105.
|
|
||||||
|
|
||||||
* If no file property is given to a `SourceMapGenerator`, then the resulting
|
|
||||||
source map will no longer have a `null` file property. The property will
|
|
||||||
simply not exist. Issue #104.
|
|
||||||
|
|
||||||
* Fixed a bug where consecutive newlines were ignored in `SourceNode`s.
|
|
||||||
Issue #116.
|
|
||||||
|
|
||||||
## 0.1.34
|
|
||||||
|
|
||||||
* Make `SourceNode` work with windows style ("\r\n") newlines. Issue #103.
|
|
||||||
|
|
||||||
* Fix bug involving source contents and the
|
|
||||||
`SourceMapGenerator.prototype.applySourceMap`. Issue #100.
|
|
||||||
|
|
||||||
## 0.1.33
|
|
||||||
|
|
||||||
* Fix some edge cases surrounding path joining and URL resolution.
|
|
||||||
|
|
||||||
* Add a third parameter for relative path to
|
|
||||||
`SourceMapGenerator.prototype.applySourceMap`.
|
|
||||||
|
|
||||||
* Fix issues with mappings and EOLs.
|
|
||||||
|
|
||||||
## 0.1.32
|
|
||||||
|
|
||||||
* Fixed a bug where SourceMapConsumer couldn't handle negative relative columns
|
|
||||||
(issue 92).
|
|
||||||
|
|
||||||
* Fixed test runner to actually report number of failed tests as its process
|
|
||||||
exit code.
|
|
||||||
|
|
||||||
* Fixed a typo when reporting bad mappings (issue 87).
|
|
||||||
|
|
||||||
## 0.1.31
|
|
||||||
|
|
||||||
* Delay parsing the mappings in SourceMapConsumer until queried for a source
|
|
||||||
location.
|
|
||||||
|
|
||||||
* Support Sass source maps (which at the time of writing deviate from the spec
|
|
||||||
in small ways) in SourceMapConsumer.
|
|
||||||
|
|
||||||
## 0.1.30
|
|
||||||
|
|
||||||
* Do not join source root with a source, when the source is a data URI.
|
|
||||||
|
|
||||||
* Extend the test runner to allow running single specific test files at a time.
|
|
||||||
|
|
||||||
* Performance improvements in `SourceNode.prototype.walk` and
|
|
||||||
`SourceMapConsumer.prototype.eachMapping`.
|
|
||||||
|
|
||||||
* Source map browser builds will now work inside Workers.
|
|
||||||
|
|
||||||
* Better error messages when attempting to add an invalid mapping to a
|
|
||||||
`SourceMapGenerator`.
|
|
||||||
|
|
||||||
## 0.1.29
|
|
||||||
|
|
||||||
* Allow duplicate entries in the `names` and `sources` arrays of source maps
|
|
||||||
(usually from TypeScript) we are parsing. Fixes github issue 72.
|
|
||||||
|
|
||||||
## 0.1.28
|
|
||||||
|
|
||||||
* Skip duplicate mappings when creating source maps from SourceNode; github
|
|
||||||
issue 75.
|
|
||||||
|
|
||||||
## 0.1.27
|
|
||||||
|
|
||||||
* Don't throw an error when the `file` property is missing in SourceMapConsumer,
|
|
||||||
we don't use it anyway.
|
|
||||||
|
|
||||||
## 0.1.26
|
|
||||||
|
|
||||||
* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70.
|
|
||||||
|
|
||||||
## 0.1.25
|
|
||||||
|
|
||||||
* Make compatible with browserify
|
|
||||||
|
|
||||||
## 0.1.24
|
|
||||||
|
|
||||||
* Fix issue with absolute paths and `file://` URIs. See
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=885597
|
|
||||||
|
|
||||||
## 0.1.23
|
|
||||||
|
|
||||||
* Fix issue with absolute paths and sourcesContent, github issue 64.
|
|
||||||
|
|
||||||
## 0.1.22
|
|
||||||
|
|
||||||
* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21.
|
|
||||||
|
|
||||||
## 0.1.21
|
|
||||||
|
|
||||||
* Fixed handling of sources that start with a slash so that they are relative to
|
|
||||||
the source root's host.
|
|
||||||
|
|
||||||
## 0.1.20
|
|
||||||
|
|
||||||
* Fixed github issue #43: absolute URLs aren't joined with the source root
|
|
||||||
anymore.
|
|
||||||
|
|
||||||
## 0.1.19
|
|
||||||
|
|
||||||
* Using Travis CI to run tests.
|
|
||||||
|
|
||||||
## 0.1.18
|
|
||||||
|
|
||||||
* Fixed a bug in the handling of sourceRoot.
|
|
||||||
|
|
||||||
## 0.1.17
|
|
||||||
|
|
||||||
* Added SourceNode.fromStringWithSourceMap.
|
|
||||||
|
|
||||||
## 0.1.16
|
|
||||||
|
|
||||||
* Added missing documentation.
|
|
||||||
|
|
||||||
* Fixed the generating of empty mappings in SourceNode.
|
|
||||||
|
|
||||||
## 0.1.15
|
|
||||||
|
|
||||||
* Added SourceMapGenerator.applySourceMap.
|
|
||||||
|
|
||||||
## 0.1.14
|
|
||||||
|
|
||||||
* The sourceRoot is now handled consistently.
|
|
||||||
|
|
||||||
## 0.1.13
|
|
||||||
|
|
||||||
* Added SourceMapGenerator.fromSourceMap.
|
|
||||||
|
|
||||||
## 0.1.12
|
|
||||||
|
|
||||||
* SourceNode now generates empty mappings too.
|
|
||||||
|
|
||||||
## 0.1.11
|
|
||||||
|
|
||||||
* Added name support to SourceNode.
|
|
||||||
|
|
||||||
## 0.1.10
|
|
||||||
|
|
||||||
* Added sourcesContent support to the customer and generator.
|
|
28
node_modules/@babel/generator/node_modules/source-map/LICENSE
generated
vendored
28
node_modules/@babel/generator/node_modules/source-map/LICENSE
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
|
|
||||||
Copyright (c) 2009-2011, Mozilla Foundation and contributors
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
* Neither the names of the Mozilla Foundation nor the names of project
|
|
||||||
contributors may be used to endorse or promote products derived from this
|
|
||||||
software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
729
node_modules/@babel/generator/node_modules/source-map/README.md
generated
vendored
729
node_modules/@babel/generator/node_modules/source-map/README.md
generated
vendored
@ -1,729 +0,0 @@
|
|||||||
# Source Map
|
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)
|
|
||||||
|
|
||||||
[![NPM](https://nodei.co/npm/source-map.png?downloads=true&downloadRank=true)](https://www.npmjs.com/package/source-map)
|
|
||||||
|
|
||||||
This is a library to generate and consume the source map format
|
|
||||||
[described here][format].
|
|
||||||
|
|
||||||
[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit
|
|
||||||
|
|
||||||
## Use with Node
|
|
||||||
|
|
||||||
$ npm install source-map
|
|
||||||
|
|
||||||
## Use on the Web
|
|
||||||
|
|
||||||
<script src="https://raw.githubusercontent.com/mozilla/source-map/master/dist/source-map.min.js" defer></script>
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
<!-- `npm run toc` to regenerate the Table of Contents -->
|
|
||||||
|
|
||||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
||||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
||||||
## Table of Contents
|
|
||||||
|
|
||||||
- [Examples](#examples)
|
|
||||||
- [Consuming a source map](#consuming-a-source-map)
|
|
||||||
- [Generating a source map](#generating-a-source-map)
|
|
||||||
- [With SourceNode (high level API)](#with-sourcenode-high-level-api)
|
|
||||||
- [With SourceMapGenerator (low level API)](#with-sourcemapgenerator-low-level-api)
|
|
||||||
- [API](#api)
|
|
||||||
- [SourceMapConsumer](#sourcemapconsumer)
|
|
||||||
- [new SourceMapConsumer(rawSourceMap)](#new-sourcemapconsumerrawsourcemap)
|
|
||||||
- [SourceMapConsumer.prototype.computeColumnSpans()](#sourcemapconsumerprototypecomputecolumnspans)
|
|
||||||
- [SourceMapConsumer.prototype.originalPositionFor(generatedPosition)](#sourcemapconsumerprototypeoriginalpositionforgeneratedposition)
|
|
||||||
- [SourceMapConsumer.prototype.generatedPositionFor(originalPosition)](#sourcemapconsumerprototypegeneratedpositionfororiginalposition)
|
|
||||||
- [SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)](#sourcemapconsumerprototypeallgeneratedpositionsfororiginalposition)
|
|
||||||
- [SourceMapConsumer.prototype.hasContentsOfAllSources()](#sourcemapconsumerprototypehascontentsofallsources)
|
|
||||||
- [SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])](#sourcemapconsumerprototypesourcecontentforsource-returnnullonmissing)
|
|
||||||
- [SourceMapConsumer.prototype.eachMapping(callback, context, order)](#sourcemapconsumerprototypeeachmappingcallback-context-order)
|
|
||||||
- [SourceMapGenerator](#sourcemapgenerator)
|
|
||||||
- [new SourceMapGenerator([startOfSourceMap])](#new-sourcemapgeneratorstartofsourcemap)
|
|
||||||
- [SourceMapGenerator.fromSourceMap(sourceMapConsumer)](#sourcemapgeneratorfromsourcemapsourcemapconsumer)
|
|
||||||
- [SourceMapGenerator.prototype.addMapping(mapping)](#sourcemapgeneratorprototypeaddmappingmapping)
|
|
||||||
- [SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)](#sourcemapgeneratorprototypesetsourcecontentsourcefile-sourcecontent)
|
|
||||||
- [SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])](#sourcemapgeneratorprototypeapplysourcemapsourcemapconsumer-sourcefile-sourcemappath)
|
|
||||||
- [SourceMapGenerator.prototype.toString()](#sourcemapgeneratorprototypetostring)
|
|
||||||
- [SourceNode](#sourcenode)
|
|
||||||
- [new SourceNode([line, column, source[, chunk[, name]]])](#new-sourcenodeline-column-source-chunk-name)
|
|
||||||
- [SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])](#sourcenodefromstringwithsourcemapcode-sourcemapconsumer-relativepath)
|
|
||||||
- [SourceNode.prototype.add(chunk)](#sourcenodeprototypeaddchunk)
|
|
||||||
- [SourceNode.prototype.prepend(chunk)](#sourcenodeprototypeprependchunk)
|
|
||||||
- [SourceNode.prototype.setSourceContent(sourceFile, sourceContent)](#sourcenodeprototypesetsourcecontentsourcefile-sourcecontent)
|
|
||||||
- [SourceNode.prototype.walk(fn)](#sourcenodeprototypewalkfn)
|
|
||||||
- [SourceNode.prototype.walkSourceContents(fn)](#sourcenodeprototypewalksourcecontentsfn)
|
|
||||||
- [SourceNode.prototype.join(sep)](#sourcenodeprototypejoinsep)
|
|
||||||
- [SourceNode.prototype.replaceRight(pattern, replacement)](#sourcenodeprototypereplacerightpattern-replacement)
|
|
||||||
- [SourceNode.prototype.toString()](#sourcenodeprototypetostring)
|
|
||||||
- [SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])](#sourcenodeprototypetostringwithsourcemapstartofsourcemap)
|
|
||||||
|
|
||||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
### Consuming a source map
|
|
||||||
|
|
||||||
```js
|
|
||||||
var rawSourceMap = {
|
|
||||||
version: 3,
|
|
||||||
file: 'min.js',
|
|
||||||
names: ['bar', 'baz', 'n'],
|
|
||||||
sources: ['one.js', 'two.js'],
|
|
||||||
sourceRoot: 'http://example.com/www/js/',
|
|
||||||
mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'
|
|
||||||
};
|
|
||||||
|
|
||||||
var smc = new SourceMapConsumer(rawSourceMap);
|
|
||||||
|
|
||||||
console.log(smc.sources);
|
|
||||||
// [ 'http://example.com/www/js/one.js',
|
|
||||||
// 'http://example.com/www/js/two.js' ]
|
|
||||||
|
|
||||||
console.log(smc.originalPositionFor({
|
|
||||||
line: 2,
|
|
||||||
column: 28
|
|
||||||
}));
|
|
||||||
// { source: 'http://example.com/www/js/two.js',
|
|
||||||
// line: 2,
|
|
||||||
// column: 10,
|
|
||||||
// name: 'n' }
|
|
||||||
|
|
||||||
console.log(smc.generatedPositionFor({
|
|
||||||
source: 'http://example.com/www/js/two.js',
|
|
||||||
line: 2,
|
|
||||||
column: 10
|
|
||||||
}));
|
|
||||||
// { line: 2, column: 28 }
|
|
||||||
|
|
||||||
smc.eachMapping(function (m) {
|
|
||||||
// ...
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
### Generating a source map
|
|
||||||
|
|
||||||
In depth guide:
|
|
||||||
[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)
|
|
||||||
|
|
||||||
#### With SourceNode (high level API)
|
|
||||||
|
|
||||||
```js
|
|
||||||
function compile(ast) {
|
|
||||||
switch (ast.type) {
|
|
||||||
case 'BinaryExpression':
|
|
||||||
return new SourceNode(
|
|
||||||
ast.location.line,
|
|
||||||
ast.location.column,
|
|
||||||
ast.location.source,
|
|
||||||
[compile(ast.left), " + ", compile(ast.right)]
|
|
||||||
);
|
|
||||||
case 'Literal':
|
|
||||||
return new SourceNode(
|
|
||||||
ast.location.line,
|
|
||||||
ast.location.column,
|
|
||||||
ast.location.source,
|
|
||||||
String(ast.value)
|
|
||||||
);
|
|
||||||
// ...
|
|
||||||
default:
|
|
||||||
throw new Error("Bad AST");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var ast = parse("40 + 2", "add.js");
|
|
||||||
console.log(compile(ast).toStringWithSourceMap({
|
|
||||||
file: 'add.js'
|
|
||||||
}));
|
|
||||||
// { code: '40 + 2',
|
|
||||||
// map: [object SourceMapGenerator] }
|
|
||||||
```
|
|
||||||
|
|
||||||
#### With SourceMapGenerator (low level API)
|
|
||||||
|
|
||||||
```js
|
|
||||||
var map = new SourceMapGenerator({
|
|
||||||
file: "source-mapped.js"
|
|
||||||
});
|
|
||||||
|
|
||||||
map.addMapping({
|
|
||||||
generated: {
|
|
||||||
line: 10,
|
|
||||||
column: 35
|
|
||||||
},
|
|
||||||
source: "foo.js",
|
|
||||||
original: {
|
|
||||||
line: 33,
|
|
||||||
column: 2
|
|
||||||
},
|
|
||||||
name: "christopher"
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(map.toString());
|
|
||||||
// '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}'
|
|
||||||
```
|
|
||||||
|
|
||||||
## API
|
|
||||||
|
|
||||||
Get a reference to the module:
|
|
||||||
|
|
||||||
```js
|
|
||||||
// Node.js
|
|
||||||
var sourceMap = require('source-map');
|
|
||||||
|
|
||||||
// Browser builds
|
|
||||||
var sourceMap = window.sourceMap;
|
|
||||||
|
|
||||||
// Inside Firefox
|
|
||||||
const sourceMap = require("devtools/toolkit/sourcemap/source-map.js");
|
|
||||||
```
|
|
||||||
|
|
||||||
### SourceMapConsumer
|
|
||||||
|
|
||||||
A SourceMapConsumer instance represents a parsed source map which we can query
|
|
||||||
for information about the original file positions by giving it a file position
|
|
||||||
in the generated source.
|
|
||||||
|
|
||||||
#### new SourceMapConsumer(rawSourceMap)
|
|
||||||
|
|
||||||
The only parameter is the raw source map (either as a string which can be
|
|
||||||
`JSON.parse`'d, or an object). According to the spec, source maps have the
|
|
||||||
following attributes:
|
|
||||||
|
|
||||||
* `version`: Which version of the source map spec this map is following.
|
|
||||||
|
|
||||||
* `sources`: An array of URLs to the original source files.
|
|
||||||
|
|
||||||
* `names`: An array of identifiers which can be referenced by individual
|
|
||||||
mappings.
|
|
||||||
|
|
||||||
* `sourceRoot`: Optional. The URL root from which all sources are relative.
|
|
||||||
|
|
||||||
* `sourcesContent`: Optional. An array of contents of the original source files.
|
|
||||||
|
|
||||||
* `mappings`: A string of base64 VLQs which contain the actual mappings.
|
|
||||||
|
|
||||||
* `file`: Optional. The generated filename this source map is associated with.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var consumer = new sourceMap.SourceMapConsumer(rawSourceMapJsonData);
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.computeColumnSpans()
|
|
||||||
|
|
||||||
Compute the last column for each generated mapping. The last column is
|
|
||||||
inclusive.
|
|
||||||
|
|
||||||
```js
|
|
||||||
// Before:
|
|
||||||
consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" })
|
|
||||||
// [ { line: 2,
|
|
||||||
// column: 1 },
|
|
||||||
// { line: 2,
|
|
||||||
// column: 10 },
|
|
||||||
// { line: 2,
|
|
||||||
// column: 20 } ]
|
|
||||||
|
|
||||||
consumer.computeColumnSpans();
|
|
||||||
|
|
||||||
// After:
|
|
||||||
consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" })
|
|
||||||
// [ { line: 2,
|
|
||||||
// column: 1,
|
|
||||||
// lastColumn: 9 },
|
|
||||||
// { line: 2,
|
|
||||||
// column: 10,
|
|
||||||
// lastColumn: 19 },
|
|
||||||
// { line: 2,
|
|
||||||
// column: 20,
|
|
||||||
// lastColumn: Infinity } ]
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)
|
|
||||||
|
|
||||||
Returns the original source, line, and column information for the generated
|
|
||||||
source's line and column positions provided. The only argument is an object with
|
|
||||||
the following properties:
|
|
||||||
|
|
||||||
* `line`: The line number in the generated source.
|
|
||||||
|
|
||||||
* `column`: The column number in the generated source.
|
|
||||||
|
|
||||||
* `bias`: Either `SourceMapConsumer.GREATEST_LOWER_BOUND` or
|
|
||||||
`SourceMapConsumer.LEAST_UPPER_BOUND`. Specifies whether to return the closest
|
|
||||||
element that is smaller than or greater than the one we are searching for,
|
|
||||||
respectively, if the exact element cannot be found. Defaults to
|
|
||||||
`SourceMapConsumer.GREATEST_LOWER_BOUND`.
|
|
||||||
|
|
||||||
and an object is returned with the following properties:
|
|
||||||
|
|
||||||
* `source`: The original source file, or null if this information is not
|
|
||||||
available.
|
|
||||||
|
|
||||||
* `line`: The line number in the original source, or null if this information is
|
|
||||||
not available.
|
|
||||||
|
|
||||||
* `column`: The column number in the original source, or null if this
|
|
||||||
information is not available.
|
|
||||||
|
|
||||||
* `name`: The original identifier, or null if this information is not available.
|
|
||||||
|
|
||||||
```js
|
|
||||||
consumer.originalPositionFor({ line: 2, column: 10 })
|
|
||||||
// { source: 'foo.coffee',
|
|
||||||
// line: 2,
|
|
||||||
// column: 2,
|
|
||||||
// name: null }
|
|
||||||
|
|
||||||
consumer.originalPositionFor({ line: 99999999999999999, column: 999999999999999 })
|
|
||||||
// { source: null,
|
|
||||||
// line: null,
|
|
||||||
// column: null,
|
|
||||||
// name: null }
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)
|
|
||||||
|
|
||||||
Returns the generated line and column information for the original source,
|
|
||||||
line, and column positions provided. The only argument is an object with
|
|
||||||
the following properties:
|
|
||||||
|
|
||||||
* `source`: The filename of the original source.
|
|
||||||
|
|
||||||
* `line`: The line number in the original source.
|
|
||||||
|
|
||||||
* `column`: The column number in the original source.
|
|
||||||
|
|
||||||
and an object is returned with the following properties:
|
|
||||||
|
|
||||||
* `line`: The line number in the generated source, or null.
|
|
||||||
|
|
||||||
* `column`: The column number in the generated source, or null.
|
|
||||||
|
|
||||||
```js
|
|
||||||
consumer.generatedPositionFor({ source: "example.js", line: 2, column: 10 })
|
|
||||||
// { line: 1,
|
|
||||||
// column: 56 }
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)
|
|
||||||
|
|
||||||
Returns all generated line and column information for the original source, line,
|
|
||||||
and column provided. If no column is provided, returns all mappings
|
|
||||||
corresponding to a either the line we are searching for or the next closest line
|
|
||||||
that has any mappings. Otherwise, returns all mappings corresponding to the
|
|
||||||
given line and either the column we are searching for or the next closest column
|
|
||||||
that has any offsets.
|
|
||||||
|
|
||||||
The only argument is an object with the following properties:
|
|
||||||
|
|
||||||
* `source`: The filename of the original source.
|
|
||||||
|
|
||||||
* `line`: The line number in the original source.
|
|
||||||
|
|
||||||
* `column`: Optional. The column number in the original source.
|
|
||||||
|
|
||||||
and an array of objects is returned, each with the following properties:
|
|
||||||
|
|
||||||
* `line`: The line number in the generated source, or null.
|
|
||||||
|
|
||||||
* `column`: The column number in the generated source, or null.
|
|
||||||
|
|
||||||
```js
|
|
||||||
consumer.allGeneratedpositionsfor({ line: 2, source: "foo.coffee" })
|
|
||||||
// [ { line: 2,
|
|
||||||
// column: 1 },
|
|
||||||
// { line: 2,
|
|
||||||
// column: 10 },
|
|
||||||
// { line: 2,
|
|
||||||
// column: 20 } ]
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.hasContentsOfAllSources()
|
|
||||||
|
|
||||||
Return true if we have the embedded source content for every source listed in
|
|
||||||
the source map, false otherwise.
|
|
||||||
|
|
||||||
In other words, if this method returns `true`, then
|
|
||||||
`consumer.sourceContentFor(s)` will succeed for every source `s` in
|
|
||||||
`consumer.sources`.
|
|
||||||
|
|
||||||
```js
|
|
||||||
// ...
|
|
||||||
if (consumer.hasContentsOfAllSources()) {
|
|
||||||
consumerReadyCallback(consumer);
|
|
||||||
} else {
|
|
||||||
fetchSources(consumer, consumerReadyCallback);
|
|
||||||
}
|
|
||||||
// ...
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])
|
|
||||||
|
|
||||||
Returns the original source content for the source provided. The only
|
|
||||||
argument is the URL of the original source file.
|
|
||||||
|
|
||||||
If the source content for the given source is not found, then an error is
|
|
||||||
thrown. Optionally, pass `true` as the second param to have `null` returned
|
|
||||||
instead.
|
|
||||||
|
|
||||||
```js
|
|
||||||
consumer.sources
|
|
||||||
// [ "my-cool-lib.clj" ]
|
|
||||||
|
|
||||||
consumer.sourceContentFor("my-cool-lib.clj")
|
|
||||||
// "..."
|
|
||||||
|
|
||||||
consumer.sourceContentFor("this is not in the source map");
|
|
||||||
// Error: "this is not in the source map" is not in the source map
|
|
||||||
|
|
||||||
consumer.sourceContentFor("this is not in the source map", true);
|
|
||||||
// null
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapConsumer.prototype.eachMapping(callback, context, order)
|
|
||||||
|
|
||||||
Iterate over each mapping between an original source/line/column and a
|
|
||||||
generated line/column in this source map.
|
|
||||||
|
|
||||||
* `callback`: The function that is called with each mapping. Mappings have the
|
|
||||||
form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,
|
|
||||||
name }`
|
|
||||||
|
|
||||||
* `context`: Optional. If specified, this object will be the value of `this`
|
|
||||||
every time that `callback` is called.
|
|
||||||
|
|
||||||
* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or
|
|
||||||
`SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over
|
|
||||||
the mappings sorted by the generated file's line/column order or the
|
|
||||||
original's source/line/column order, respectively. Defaults to
|
|
||||||
`SourceMapConsumer.GENERATED_ORDER`.
|
|
||||||
|
|
||||||
```js
|
|
||||||
consumer.eachMapping(function (m) { console.log(m); })
|
|
||||||
// ...
|
|
||||||
// { source: 'illmatic.js',
|
|
||||||
// generatedLine: 1,
|
|
||||||
// generatedColumn: 0,
|
|
||||||
// originalLine: 1,
|
|
||||||
// originalColumn: 0,
|
|
||||||
// name: null }
|
|
||||||
// { source: 'illmatic.js',
|
|
||||||
// generatedLine: 2,
|
|
||||||
// generatedColumn: 0,
|
|
||||||
// originalLine: 2,
|
|
||||||
// originalColumn: 0,
|
|
||||||
// name: null }
|
|
||||||
// ...
|
|
||||||
```
|
|
||||||
### SourceMapGenerator
|
|
||||||
|
|
||||||
An instance of the SourceMapGenerator represents a source map which is being
|
|
||||||
built incrementally.
|
|
||||||
|
|
||||||
#### new SourceMapGenerator([startOfSourceMap])
|
|
||||||
|
|
||||||
You may pass an object with the following properties:
|
|
||||||
|
|
||||||
* `file`: The filename of the generated source that this source map is
|
|
||||||
associated with.
|
|
||||||
|
|
||||||
* `sourceRoot`: A root for all relative URLs in this source map.
|
|
||||||
|
|
||||||
* `skipValidation`: Optional. When `true`, disables validation of mappings as
|
|
||||||
they are added. This can improve performance but should be used with
|
|
||||||
discretion, as a last resort. Even then, one should avoid using this flag when
|
|
||||||
running tests, if possible.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var generator = new sourceMap.SourceMapGenerator({
|
|
||||||
file: "my-generated-javascript-file.js",
|
|
||||||
sourceRoot: "http://example.com/app/js/"
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)
|
|
||||||
|
|
||||||
Creates a new `SourceMapGenerator` from an existing `SourceMapConsumer` instance.
|
|
||||||
|
|
||||||
* `sourceMapConsumer` The SourceMap.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var generator = sourceMap.SourceMapGenerator.fromSourceMap(consumer);
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapGenerator.prototype.addMapping(mapping)
|
|
||||||
|
|
||||||
Add a single mapping from original source line and column to the generated
|
|
||||||
source's line and column for this source map being created. The mapping object
|
|
||||||
should have the following properties:
|
|
||||||
|
|
||||||
* `generated`: An object with the generated line and column positions.
|
|
||||||
|
|
||||||
* `original`: An object with the original line and column positions.
|
|
||||||
|
|
||||||
* `source`: The original source file (relative to the sourceRoot).
|
|
||||||
|
|
||||||
* `name`: An optional original token name for this mapping.
|
|
||||||
|
|
||||||
```js
|
|
||||||
generator.addMapping({
|
|
||||||
source: "module-one.scm",
|
|
||||||
original: { line: 128, column: 0 },
|
|
||||||
generated: { line: 3, column: 456 }
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)
|
|
||||||
|
|
||||||
Set the source content for an original source file.
|
|
||||||
|
|
||||||
* `sourceFile` the URL of the original source file.
|
|
||||||
|
|
||||||
* `sourceContent` the content of the source file.
|
|
||||||
|
|
||||||
```js
|
|
||||||
generator.setSourceContent("module-one.scm",
|
|
||||||
fs.readFileSync("path/to/module-one.scm"))
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])
|
|
||||||
|
|
||||||
Applies a SourceMap for a source file to the SourceMap.
|
|
||||||
Each mapping to the supplied source file is rewritten using the
|
|
||||||
supplied SourceMap. Note: The resolution for the resulting mappings
|
|
||||||
is the minimum of this map and the supplied map.
|
|
||||||
|
|
||||||
* `sourceMapConsumer`: The SourceMap to be applied.
|
|
||||||
|
|
||||||
* `sourceFile`: Optional. The filename of the source file.
|
|
||||||
If omitted, sourceMapConsumer.file will be used, if it exists.
|
|
||||||
Otherwise an error will be thrown.
|
|
||||||
|
|
||||||
* `sourceMapPath`: Optional. The dirname of the path to the SourceMap
|
|
||||||
to be applied. If relative, it is relative to the SourceMap.
|
|
||||||
|
|
||||||
This parameter is needed when the two SourceMaps aren't in the same
|
|
||||||
directory, and the SourceMap to be applied contains relative source
|
|
||||||
paths. If so, those relative source paths need to be rewritten
|
|
||||||
relative to the SourceMap.
|
|
||||||
|
|
||||||
If omitted, it is assumed that both SourceMaps are in the same directory,
|
|
||||||
thus not needing any rewriting. (Supplying `'.'` has the same effect.)
|
|
||||||
|
|
||||||
#### SourceMapGenerator.prototype.toString()
|
|
||||||
|
|
||||||
Renders the source map being generated to a string.
|
|
||||||
|
|
||||||
```js
|
|
||||||
generator.toString()
|
|
||||||
// '{"version":3,"sources":["module-one.scm"],"names":[],"mappings":"...snip...","file":"my-generated-javascript-file.js","sourceRoot":"http://example.com/app/js/"}'
|
|
||||||
```
|
|
||||||
|
|
||||||
### SourceNode
|
|
||||||
|
|
||||||
SourceNodes provide a way to abstract over interpolating and/or concatenating
|
|
||||||
snippets of generated JavaScript source code, while maintaining the line and
|
|
||||||
column information associated between those snippets and the original source
|
|
||||||
code. This is useful as the final intermediate representation a compiler might
|
|
||||||
use before outputting the generated JS and source map.
|
|
||||||
|
|
||||||
#### new SourceNode([line, column, source[, chunk[, name]]])
|
|
||||||
|
|
||||||
* `line`: The original line number associated with this source node, or null if
|
|
||||||
it isn't associated with an original line.
|
|
||||||
|
|
||||||
* `column`: The original column number associated with this source node, or null
|
|
||||||
if it isn't associated with an original column.
|
|
||||||
|
|
||||||
* `source`: The original source's filename; null if no filename is provided.
|
|
||||||
|
|
||||||
* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see
|
|
||||||
below.
|
|
||||||
|
|
||||||
* `name`: Optional. The original identifier.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var node = new SourceNode(1, 2, "a.cpp", [
|
|
||||||
new SourceNode(3, 4, "b.cpp", "extern int status;\n"),
|
|
||||||
new SourceNode(5, 6, "c.cpp", "std::string* make_string(size_t n);\n"),
|
|
||||||
new SourceNode(7, 8, "d.cpp", "int main(int argc, char** argv) {}\n"),
|
|
||||||
]);
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])
|
|
||||||
|
|
||||||
Creates a SourceNode from generated code and a SourceMapConsumer.
|
|
||||||
|
|
||||||
* `code`: The generated code
|
|
||||||
|
|
||||||
* `sourceMapConsumer` The SourceMap for the generated code
|
|
||||||
|
|
||||||
* `relativePath` The optional path that relative sources in `sourceMapConsumer`
|
|
||||||
should be relative to.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var consumer = new SourceMapConsumer(fs.readFileSync("path/to/my-file.js.map", "utf8"));
|
|
||||||
var node = SourceNode.fromStringWithSourceMap(fs.readFileSync("path/to/my-file.js"),
|
|
||||||
consumer);
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.add(chunk)
|
|
||||||
|
|
||||||
Add a chunk of generated JS to this source node.
|
|
||||||
|
|
||||||
* `chunk`: A string snippet of generated JS code, another instance of
|
|
||||||
`SourceNode`, or an array where each member is one of those things.
|
|
||||||
|
|
||||||
```js
|
|
||||||
node.add(" + ");
|
|
||||||
node.add(otherNode);
|
|
||||||
node.add([leftHandOperandNode, " + ", rightHandOperandNode]);
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.prepend(chunk)
|
|
||||||
|
|
||||||
Prepend a chunk of generated JS to this source node.
|
|
||||||
|
|
||||||
* `chunk`: A string snippet of generated JS code, another instance of
|
|
||||||
`SourceNode`, or an array where each member is one of those things.
|
|
||||||
|
|
||||||
```js
|
|
||||||
node.prepend("/** Build Id: f783haef86324gf **/\n\n");
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)
|
|
||||||
|
|
||||||
Set the source content for a source file. This will be added to the
|
|
||||||
`SourceMap` in the `sourcesContent` field.
|
|
||||||
|
|
||||||
* `sourceFile`: The filename of the source file
|
|
||||||
|
|
||||||
* `sourceContent`: The content of the source file
|
|
||||||
|
|
||||||
```js
|
|
||||||
node.setSourceContent("module-one.scm",
|
|
||||||
fs.readFileSync("path/to/module-one.scm"))
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.walk(fn)
|
|
||||||
|
|
||||||
Walk over the tree of JS snippets in this node and its children. The walking
|
|
||||||
function is called once for each snippet of JS and is passed that snippet and
|
|
||||||
the its original associated source's line/column location.
|
|
||||||
|
|
||||||
* `fn`: The traversal function.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var node = new SourceNode(1, 2, "a.js", [
|
|
||||||
new SourceNode(3, 4, "b.js", "uno"),
|
|
||||||
"dos",
|
|
||||||
[
|
|
||||||
"tres",
|
|
||||||
new SourceNode(5, 6, "c.js", "quatro")
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
|
|
||||||
node.walk(function (code, loc) { console.log("WALK:", code, loc); })
|
|
||||||
// WALK: uno { source: 'b.js', line: 3, column: 4, name: null }
|
|
||||||
// WALK: dos { source: 'a.js', line: 1, column: 2, name: null }
|
|
||||||
// WALK: tres { source: 'a.js', line: 1, column: 2, name: null }
|
|
||||||
// WALK: quatro { source: 'c.js', line: 5, column: 6, name: null }
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.walkSourceContents(fn)
|
|
||||||
|
|
||||||
Walk over the tree of SourceNodes. The walking function is called for each
|
|
||||||
source file content and is passed the filename and source content.
|
|
||||||
|
|
||||||
* `fn`: The traversal function.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var a = new SourceNode(1, 2, "a.js", "generated from a");
|
|
||||||
a.setSourceContent("a.js", "original a");
|
|
||||||
var b = new SourceNode(1, 2, "b.js", "generated from b");
|
|
||||||
b.setSourceContent("b.js", "original b");
|
|
||||||
var c = new SourceNode(1, 2, "c.js", "generated from c");
|
|
||||||
c.setSourceContent("c.js", "original c");
|
|
||||||
|
|
||||||
var node = new SourceNode(null, null, null, [a, b, c]);
|
|
||||||
node.walkSourceContents(function (source, contents) { console.log("WALK:", source, ":", contents); })
|
|
||||||
// WALK: a.js : original a
|
|
||||||
// WALK: b.js : original b
|
|
||||||
// WALK: c.js : original c
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.join(sep)
|
|
||||||
|
|
||||||
Like `Array.prototype.join` except for SourceNodes. Inserts the separator
|
|
||||||
between each of this source node's children.
|
|
||||||
|
|
||||||
* `sep`: The separator.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var lhs = new SourceNode(1, 2, "a.rs", "my_copy");
|
|
||||||
var operand = new SourceNode(3, 4, "a.rs", "=");
|
|
||||||
var rhs = new SourceNode(5, 6, "a.rs", "orig.clone()");
|
|
||||||
|
|
||||||
var node = new SourceNode(null, null, null, [ lhs, operand, rhs ]);
|
|
||||||
var joinedNode = node.join(" ");
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.replaceRight(pattern, replacement)
|
|
||||||
|
|
||||||
Call `String.prototype.replace` on the very right-most source snippet. Useful
|
|
||||||
for trimming white space from the end of a source node, etc.
|
|
||||||
|
|
||||||
* `pattern`: The pattern to replace.
|
|
||||||
|
|
||||||
* `replacement`: The thing to replace the pattern with.
|
|
||||||
|
|
||||||
```js
|
|
||||||
// Trim trailing white space.
|
|
||||||
node.replaceRight(/\s*$/, "");
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.toString()
|
|
||||||
|
|
||||||
Return the string representation of this source node. Walks over the tree and
|
|
||||||
concatenates all the various snippets together to one string.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var node = new SourceNode(1, 2, "a.js", [
|
|
||||||
new SourceNode(3, 4, "b.js", "uno"),
|
|
||||||
"dos",
|
|
||||||
[
|
|
||||||
"tres",
|
|
||||||
new SourceNode(5, 6, "c.js", "quatro")
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
|
|
||||||
node.toString()
|
|
||||||
// 'unodostresquatro'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])
|
|
||||||
|
|
||||||
Returns the string representation of this tree of source nodes, plus a
|
|
||||||
SourceMapGenerator which contains all the mappings between the generated and
|
|
||||||
original sources.
|
|
||||||
|
|
||||||
The arguments are the same as those to `new SourceMapGenerator`.
|
|
||||||
|
|
||||||
```js
|
|
||||||
var node = new SourceNode(1, 2, "a.js", [
|
|
||||||
new SourceNode(3, 4, "b.js", "uno"),
|
|
||||||
"dos",
|
|
||||||
[
|
|
||||||
"tres",
|
|
||||||
new SourceNode(5, 6, "c.js", "quatro")
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
|
|
||||||
node.toStringWithSourceMap({ file: "my-output-file.js" })
|
|
||||||
// { code: 'unodostresquatro',
|
|
||||||
// map: [object SourceMapGenerator] }
|
|
||||||
```
|
|
3091
node_modules/@babel/generator/node_modules/source-map/dist/source-map.debug.js
generated
vendored
3091
node_modules/@babel/generator/node_modules/source-map/dist/source-map.debug.js
generated
vendored
File diff suppressed because one or more lines are too long
3090
node_modules/@babel/generator/node_modules/source-map/dist/source-map.js
generated
vendored
3090
node_modules/@babel/generator/node_modules/source-map/dist/source-map.js
generated
vendored
File diff suppressed because it is too large
Load Diff
2
node_modules/@babel/generator/node_modules/source-map/dist/source-map.min.js
generated
vendored
2
node_modules/@babel/generator/node_modules/source-map/dist/source-map.min.js
generated
vendored
File diff suppressed because one or more lines are too long
1
node_modules/@babel/generator/node_modules/source-map/dist/source-map.min.js.map
generated
vendored
1
node_modules/@babel/generator/node_modules/source-map/dist/source-map.min.js.map
generated
vendored
File diff suppressed because one or more lines are too long
121
node_modules/@babel/generator/node_modules/source-map/lib/array-set.js
generated
vendored
121
node_modules/@babel/generator/node_modules/source-map/lib/array-set.js
generated
vendored
@ -1,121 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
var util = require('./util');
|
|
||||||
var has = Object.prototype.hasOwnProperty;
|
|
||||||
var hasNativeMap = typeof Map !== "undefined";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A data structure which is a combination of an array and a set. Adding a new
|
|
||||||
* member is O(1), testing for membership is O(1), and finding the index of an
|
|
||||||
* element is O(1). Removing elements from the set is not supported. Only
|
|
||||||
* strings are supported for membership.
|
|
||||||
*/
|
|
||||||
function ArraySet() {
|
|
||||||
this._array = [];
|
|
||||||
this._set = hasNativeMap ? new Map() : Object.create(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Static method for creating ArraySet instances from an existing array.
|
|
||||||
*/
|
|
||||||
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
|
|
||||||
var set = new ArraySet();
|
|
||||||
for (var i = 0, len = aArray.length; i < len; i++) {
|
|
||||||
set.add(aArray[i], aAllowDuplicates);
|
|
||||||
}
|
|
||||||
return set;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return how many unique items are in this ArraySet. If duplicates have been
|
|
||||||
* added, than those do not count towards the size.
|
|
||||||
*
|
|
||||||
* @returns Number
|
|
||||||
*/
|
|
||||||
ArraySet.prototype.size = function ArraySet_size() {
|
|
||||||
return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the given string to this set.
|
|
||||||
*
|
|
||||||
* @param String aStr
|
|
||||||
*/
|
|
||||||
ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
|
|
||||||
var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
|
|
||||||
var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
|
|
||||||
var idx = this._array.length;
|
|
||||||
if (!isDuplicate || aAllowDuplicates) {
|
|
||||||
this._array.push(aStr);
|
|
||||||
}
|
|
||||||
if (!isDuplicate) {
|
|
||||||
if (hasNativeMap) {
|
|
||||||
this._set.set(aStr, idx);
|
|
||||||
} else {
|
|
||||||
this._set[sStr] = idx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is the given string a member of this set?
|
|
||||||
*
|
|
||||||
* @param String aStr
|
|
||||||
*/
|
|
||||||
ArraySet.prototype.has = function ArraySet_has(aStr) {
|
|
||||||
if (hasNativeMap) {
|
|
||||||
return this._set.has(aStr);
|
|
||||||
} else {
|
|
||||||
var sStr = util.toSetString(aStr);
|
|
||||||
return has.call(this._set, sStr);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* What is the index of the given string in the array?
|
|
||||||
*
|
|
||||||
* @param String aStr
|
|
||||||
*/
|
|
||||||
ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
|
|
||||||
if (hasNativeMap) {
|
|
||||||
var idx = this._set.get(aStr);
|
|
||||||
if (idx >= 0) {
|
|
||||||
return idx;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var sStr = util.toSetString(aStr);
|
|
||||||
if (has.call(this._set, sStr)) {
|
|
||||||
return this._set[sStr];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error('"' + aStr + '" is not in the set.');
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* What is the element at the given index?
|
|
||||||
*
|
|
||||||
* @param Number aIdx
|
|
||||||
*/
|
|
||||||
ArraySet.prototype.at = function ArraySet_at(aIdx) {
|
|
||||||
if (aIdx >= 0 && aIdx < this._array.length) {
|
|
||||||
return this._array[aIdx];
|
|
||||||
}
|
|
||||||
throw new Error('No element indexed by ' + aIdx);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the array representation of this set (which has the proper indices
|
|
||||||
* indicated by indexOf). Note that this is a copy of the internal array used
|
|
||||||
* for storing the members so that no one can mess with internal state.
|
|
||||||
*/
|
|
||||||
ArraySet.prototype.toArray = function ArraySet_toArray() {
|
|
||||||
return this._array.slice();
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.ArraySet = ArraySet;
|
|
140
node_modules/@babel/generator/node_modules/source-map/lib/base64-vlq.js
generated
vendored
140
node_modules/@babel/generator/node_modules/source-map/lib/base64-vlq.js
generated
vendored
@ -1,140 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*
|
|
||||||
* Based on the Base 64 VLQ implementation in Closure Compiler:
|
|
||||||
* https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
|
|
||||||
*
|
|
||||||
* Copyright 2011 The Closure Compiler Authors. All rights reserved.
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are
|
|
||||||
* met:
|
|
||||||
*
|
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* * Redistributions in binary form must reproduce the above
|
|
||||||
* copyright notice, this list of conditions and the following
|
|
||||||
* disclaimer in the documentation and/or other materials provided
|
|
||||||
* with the distribution.
|
|
||||||
* * Neither the name of Google Inc. nor the names of its
|
|
||||||
* contributors may be used to endorse or promote products derived
|
|
||||||
* from this software without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
var base64 = require('./base64');
|
|
||||||
|
|
||||||
// A single base 64 digit can contain 6 bits of data. For the base 64 variable
|
|
||||||
// length quantities we use in the source map spec, the first bit is the sign,
|
|
||||||
// the next four bits are the actual value, and the 6th bit is the
|
|
||||||
// continuation bit. The continuation bit tells us whether there are more
|
|
||||||
// digits in this value following this digit.
|
|
||||||
//
|
|
||||||
// Continuation
|
|
||||||
// | Sign
|
|
||||||
// | |
|
|
||||||
// V V
|
|
||||||
// 101011
|
|
||||||
|
|
||||||
var VLQ_BASE_SHIFT = 5;
|
|
||||||
|
|
||||||
// binary: 100000
|
|
||||||
var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
|
|
||||||
|
|
||||||
// binary: 011111
|
|
||||||
var VLQ_BASE_MASK = VLQ_BASE - 1;
|
|
||||||
|
|
||||||
// binary: 100000
|
|
||||||
var VLQ_CONTINUATION_BIT = VLQ_BASE;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts from a two-complement value to a value where the sign bit is
|
|
||||||
* placed in the least significant bit. For example, as decimals:
|
|
||||||
* 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
|
|
||||||
* 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
|
|
||||||
*/
|
|
||||||
function toVLQSigned(aValue) {
|
|
||||||
return aValue < 0
|
|
||||||
? ((-aValue) << 1) + 1
|
|
||||||
: (aValue << 1) + 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts to a two-complement value from a value where the sign bit is
|
|
||||||
* placed in the least significant bit. For example, as decimals:
|
|
||||||
* 2 (10 binary) becomes 1, 3 (11 binary) becomes -1
|
|
||||||
* 4 (100 binary) becomes 2, 5 (101 binary) becomes -2
|
|
||||||
*/
|
|
||||||
function fromVLQSigned(aValue) {
|
|
||||||
var isNegative = (aValue & 1) === 1;
|
|
||||||
var shifted = aValue >> 1;
|
|
||||||
return isNegative
|
|
||||||
? -shifted
|
|
||||||
: shifted;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the base 64 VLQ encoded value.
|
|
||||||
*/
|
|
||||||
exports.encode = function base64VLQ_encode(aValue) {
|
|
||||||
var encoded = "";
|
|
||||||
var digit;
|
|
||||||
|
|
||||||
var vlq = toVLQSigned(aValue);
|
|
||||||
|
|
||||||
do {
|
|
||||||
digit = vlq & VLQ_BASE_MASK;
|
|
||||||
vlq >>>= VLQ_BASE_SHIFT;
|
|
||||||
if (vlq > 0) {
|
|
||||||
// There are still more digits in this value, so we must make sure the
|
|
||||||
// continuation bit is marked.
|
|
||||||
digit |= VLQ_CONTINUATION_BIT;
|
|
||||||
}
|
|
||||||
encoded += base64.encode(digit);
|
|
||||||
} while (vlq > 0);
|
|
||||||
|
|
||||||
return encoded;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Decodes the next base 64 VLQ value from the given string and returns the
|
|
||||||
* value and the rest of the string via the out parameter.
|
|
||||||
*/
|
|
||||||
exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
|
|
||||||
var strLen = aStr.length;
|
|
||||||
var result = 0;
|
|
||||||
var shift = 0;
|
|
||||||
var continuation, digit;
|
|
||||||
|
|
||||||
do {
|
|
||||||
if (aIndex >= strLen) {
|
|
||||||
throw new Error("Expected more digits in base 64 VLQ value.");
|
|
||||||
}
|
|
||||||
|
|
||||||
digit = base64.decode(aStr.charCodeAt(aIndex++));
|
|
||||||
if (digit === -1) {
|
|
||||||
throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
continuation = !!(digit & VLQ_CONTINUATION_BIT);
|
|
||||||
digit &= VLQ_BASE_MASK;
|
|
||||||
result = result + (digit << shift);
|
|
||||||
shift += VLQ_BASE_SHIFT;
|
|
||||||
} while (continuation);
|
|
||||||
|
|
||||||
aOutParam.value = fromVLQSigned(result);
|
|
||||||
aOutParam.rest = aIndex;
|
|
||||||
};
|
|
67
node_modules/@babel/generator/node_modules/source-map/lib/base64.js
generated
vendored
67
node_modules/@babel/generator/node_modules/source-map/lib/base64.js
generated
vendored
@ -1,67 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Encode an integer in the range of 0 to 63 to a single base 64 digit.
|
|
||||||
*/
|
|
||||||
exports.encode = function (number) {
|
|
||||||
if (0 <= number && number < intToCharMap.length) {
|
|
||||||
return intToCharMap[number];
|
|
||||||
}
|
|
||||||
throw new TypeError("Must be between 0 and 63: " + number);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Decode a single base 64 character code digit to an integer. Returns -1 on
|
|
||||||
* failure.
|
|
||||||
*/
|
|
||||||
exports.decode = function (charCode) {
|
|
||||||
var bigA = 65; // 'A'
|
|
||||||
var bigZ = 90; // 'Z'
|
|
||||||
|
|
||||||
var littleA = 97; // 'a'
|
|
||||||
var littleZ = 122; // 'z'
|
|
||||||
|
|
||||||
var zero = 48; // '0'
|
|
||||||
var nine = 57; // '9'
|
|
||||||
|
|
||||||
var plus = 43; // '+'
|
|
||||||
var slash = 47; // '/'
|
|
||||||
|
|
||||||
var littleOffset = 26;
|
|
||||||
var numberOffset = 52;
|
|
||||||
|
|
||||||
// 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
||||||
if (bigA <= charCode && charCode <= bigZ) {
|
|
||||||
return (charCode - bigA);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 26 - 51: abcdefghijklmnopqrstuvwxyz
|
|
||||||
if (littleA <= charCode && charCode <= littleZ) {
|
|
||||||
return (charCode - littleA + littleOffset);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 52 - 61: 0123456789
|
|
||||||
if (zero <= charCode && charCode <= nine) {
|
|
||||||
return (charCode - zero + numberOffset);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 62: +
|
|
||||||
if (charCode == plus) {
|
|
||||||
return 62;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 63: /
|
|
||||||
if (charCode == slash) {
|
|
||||||
return 63;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Invalid base64 digit.
|
|
||||||
return -1;
|
|
||||||
};
|
|
111
node_modules/@babel/generator/node_modules/source-map/lib/binary-search.js
generated
vendored
111
node_modules/@babel/generator/node_modules/source-map/lib/binary-search.js
generated
vendored
@ -1,111 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
exports.GREATEST_LOWER_BOUND = 1;
|
|
||||||
exports.LEAST_UPPER_BOUND = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Recursive implementation of binary search.
|
|
||||||
*
|
|
||||||
* @param aLow Indices here and lower do not contain the needle.
|
|
||||||
* @param aHigh Indices here and higher do not contain the needle.
|
|
||||||
* @param aNeedle The element being searched for.
|
|
||||||
* @param aHaystack The non-empty array being searched.
|
|
||||||
* @param aCompare Function which takes two elements and returns -1, 0, or 1.
|
|
||||||
* @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
|
|
||||||
* 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
|
|
||||||
* closest element that is smaller than or greater than the one we are
|
|
||||||
* searching for, respectively, if the exact element cannot be found.
|
|
||||||
*/
|
|
||||||
function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
|
|
||||||
// This function terminates when one of the following is true:
|
|
||||||
//
|
|
||||||
// 1. We find the exact element we are looking for.
|
|
||||||
//
|
|
||||||
// 2. We did not find the exact element, but we can return the index of
|
|
||||||
// the next-closest element.
|
|
||||||
//
|
|
||||||
// 3. We did not find the exact element, and there is no next-closest
|
|
||||||
// element than the one we are searching for, so we return -1.
|
|
||||||
var mid = Math.floor((aHigh - aLow) / 2) + aLow;
|
|
||||||
var cmp = aCompare(aNeedle, aHaystack[mid], true);
|
|
||||||
if (cmp === 0) {
|
|
||||||
// Found the element we are looking for.
|
|
||||||
return mid;
|
|
||||||
}
|
|
||||||
else if (cmp > 0) {
|
|
||||||
// Our needle is greater than aHaystack[mid].
|
|
||||||
if (aHigh - mid > 1) {
|
|
||||||
// The element is in the upper half.
|
|
||||||
return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
|
|
||||||
}
|
|
||||||
|
|
||||||
// The exact needle element was not found in this haystack. Determine if
|
|
||||||
// we are in termination case (3) or (2) and return the appropriate thing.
|
|
||||||
if (aBias == exports.LEAST_UPPER_BOUND) {
|
|
||||||
return aHigh < aHaystack.length ? aHigh : -1;
|
|
||||||
} else {
|
|
||||||
return mid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Our needle is less than aHaystack[mid].
|
|
||||||
if (mid - aLow > 1) {
|
|
||||||
// The element is in the lower half.
|
|
||||||
return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
|
|
||||||
}
|
|
||||||
|
|
||||||
// we are in termination case (3) or (2) and return the appropriate thing.
|
|
||||||
if (aBias == exports.LEAST_UPPER_BOUND) {
|
|
||||||
return mid;
|
|
||||||
} else {
|
|
||||||
return aLow < 0 ? -1 : aLow;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is an implementation of binary search which will always try and return
|
|
||||||
* the index of the closest element if there is no exact hit. This is because
|
|
||||||
* mappings between original and generated line/col pairs are single points,
|
|
||||||
* and there is an implicit region between each of them, so a miss just means
|
|
||||||
* that you aren't on the very start of a region.
|
|
||||||
*
|
|
||||||
* @param aNeedle The element you are looking for.
|
|
||||||
* @param aHaystack The array that is being searched.
|
|
||||||
* @param aCompare A function which takes the needle and an element in the
|
|
||||||
* array and returns -1, 0, or 1 depending on whether the needle is less
|
|
||||||
* than, equal to, or greater than the element, respectively.
|
|
||||||
* @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
|
|
||||||
* 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
|
|
||||||
* closest element that is smaller than or greater than the one we are
|
|
||||||
* searching for, respectively, if the exact element cannot be found.
|
|
||||||
* Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
|
|
||||||
*/
|
|
||||||
exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
|
|
||||||
if (aHaystack.length === 0) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
|
|
||||||
aCompare, aBias || exports.GREATEST_LOWER_BOUND);
|
|
||||||
if (index < 0) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// We have found either the exact element, or the next-closest element than
|
|
||||||
// the one we are searching for. However, there may be more than one such
|
|
||||||
// element. Make sure we always return the smallest of these.
|
|
||||||
while (index - 1 >= 0) {
|
|
||||||
if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
--index;
|
|
||||||
}
|
|
||||||
|
|
||||||
return index;
|
|
||||||
};
|
|
79
node_modules/@babel/generator/node_modules/source-map/lib/mapping-list.js
generated
vendored
79
node_modules/@babel/generator/node_modules/source-map/lib/mapping-list.js
generated
vendored
@ -1,79 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2014 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
var util = require('./util');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine whether mappingB is after mappingA with respect to generated
|
|
||||||
* position.
|
|
||||||
*/
|
|
||||||
function generatedPositionAfter(mappingA, mappingB) {
|
|
||||||
// Optimized for most common case
|
|
||||||
var lineA = mappingA.generatedLine;
|
|
||||||
var lineB = mappingB.generatedLine;
|
|
||||||
var columnA = mappingA.generatedColumn;
|
|
||||||
var columnB = mappingB.generatedColumn;
|
|
||||||
return lineB > lineA || lineB == lineA && columnB >= columnA ||
|
|
||||||
util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A data structure to provide a sorted view of accumulated mappings in a
|
|
||||||
* performance conscious manner. It trades a neglibable overhead in general
|
|
||||||
* case for a large speedup in case of mappings being added in order.
|
|
||||||
*/
|
|
||||||
function MappingList() {
|
|
||||||
this._array = [];
|
|
||||||
this._sorted = true;
|
|
||||||
// Serves as infimum
|
|
||||||
this._last = {generatedLine: -1, generatedColumn: 0};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Iterate through internal items. This method takes the same arguments that
|
|
||||||
* `Array.prototype.forEach` takes.
|
|
||||||
*
|
|
||||||
* NOTE: The order of the mappings is NOT guaranteed.
|
|
||||||
*/
|
|
||||||
MappingList.prototype.unsortedForEach =
|
|
||||||
function MappingList_forEach(aCallback, aThisArg) {
|
|
||||||
this._array.forEach(aCallback, aThisArg);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the given source mapping.
|
|
||||||
*
|
|
||||||
* @param Object aMapping
|
|
||||||
*/
|
|
||||||
MappingList.prototype.add = function MappingList_add(aMapping) {
|
|
||||||
if (generatedPositionAfter(this._last, aMapping)) {
|
|
||||||
this._last = aMapping;
|
|
||||||
this._array.push(aMapping);
|
|
||||||
} else {
|
|
||||||
this._sorted = false;
|
|
||||||
this._array.push(aMapping);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the flat, sorted array of mappings. The mappings are sorted by
|
|
||||||
* generated position.
|
|
||||||
*
|
|
||||||
* WARNING: This method returns internal data without copying, for
|
|
||||||
* performance. The return value must NOT be mutated, and should be treated as
|
|
||||||
* an immutable borrow. If you want to take ownership, you must make your own
|
|
||||||
* copy.
|
|
||||||
*/
|
|
||||||
MappingList.prototype.toArray = function MappingList_toArray() {
|
|
||||||
if (!this._sorted) {
|
|
||||||
this._array.sort(util.compareByGeneratedPositionsInflated);
|
|
||||||
this._sorted = true;
|
|
||||||
}
|
|
||||||
return this._array;
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.MappingList = MappingList;
|
|
114
node_modules/@babel/generator/node_modules/source-map/lib/quick-sort.js
generated
vendored
114
node_modules/@babel/generator/node_modules/source-map/lib/quick-sort.js
generated
vendored
@ -1,114 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
// It turns out that some (most?) JavaScript engines don't self-host
|
|
||||||
// `Array.prototype.sort`. This makes sense because C++ will likely remain
|
|
||||||
// faster than JS when doing raw CPU-intensive sorting. However, when using a
|
|
||||||
// custom comparator function, calling back and forth between the VM's C++ and
|
|
||||||
// JIT'd JS is rather slow *and* loses JIT type information, resulting in
|
|
||||||
// worse generated code for the comparator function than would be optimal. In
|
|
||||||
// fact, when sorting with a comparator, these costs outweigh the benefits of
|
|
||||||
// sorting in C++. By using our own JS-implemented Quick Sort (below), we get
|
|
||||||
// a ~3500ms mean speed-up in `bench/bench.html`.
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Swap the elements indexed by `x` and `y` in the array `ary`.
|
|
||||||
*
|
|
||||||
* @param {Array} ary
|
|
||||||
* The array.
|
|
||||||
* @param {Number} x
|
|
||||||
* The index of the first item.
|
|
||||||
* @param {Number} y
|
|
||||||
* The index of the second item.
|
|
||||||
*/
|
|
||||||
function swap(ary, x, y) {
|
|
||||||
var temp = ary[x];
|
|
||||||
ary[x] = ary[y];
|
|
||||||
ary[y] = temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a random integer within the range `low .. high` inclusive.
|
|
||||||
*
|
|
||||||
* @param {Number} low
|
|
||||||
* The lower bound on the range.
|
|
||||||
* @param {Number} high
|
|
||||||
* The upper bound on the range.
|
|
||||||
*/
|
|
||||||
function randomIntInRange(low, high) {
|
|
||||||
return Math.round(low + (Math.random() * (high - low)));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Quick Sort algorithm.
|
|
||||||
*
|
|
||||||
* @param {Array} ary
|
|
||||||
* An array to sort.
|
|
||||||
* @param {function} comparator
|
|
||||||
* Function to use to compare two items.
|
|
||||||
* @param {Number} p
|
|
||||||
* Start index of the array
|
|
||||||
* @param {Number} r
|
|
||||||
* End index of the array
|
|
||||||
*/
|
|
||||||
function doQuickSort(ary, comparator, p, r) {
|
|
||||||
// If our lower bound is less than our upper bound, we (1) partition the
|
|
||||||
// array into two pieces and (2) recurse on each half. If it is not, this is
|
|
||||||
// the empty array and our base case.
|
|
||||||
|
|
||||||
if (p < r) {
|
|
||||||
// (1) Partitioning.
|
|
||||||
//
|
|
||||||
// The partitioning chooses a pivot between `p` and `r` and moves all
|
|
||||||
// elements that are less than or equal to the pivot to the before it, and
|
|
||||||
// all the elements that are greater than it after it. The effect is that
|
|
||||||
// once partition is done, the pivot is in the exact place it will be when
|
|
||||||
// the array is put in sorted order, and it will not need to be moved
|
|
||||||
// again. This runs in O(n) time.
|
|
||||||
|
|
||||||
// Always choose a random pivot so that an input array which is reverse
|
|
||||||
// sorted does not cause O(n^2) running time.
|
|
||||||
var pivotIndex = randomIntInRange(p, r);
|
|
||||||
var i = p - 1;
|
|
||||||
|
|
||||||
swap(ary, pivotIndex, r);
|
|
||||||
var pivot = ary[r];
|
|
||||||
|
|
||||||
// Immediately after `j` is incremented in this loop, the following hold
|
|
||||||
// true:
|
|
||||||
//
|
|
||||||
// * Every element in `ary[p .. i]` is less than or equal to the pivot.
|
|
||||||
//
|
|
||||||
// * Every element in `ary[i+1 .. j-1]` is greater than the pivot.
|
|
||||||
for (var j = p; j < r; j++) {
|
|
||||||
if (comparator(ary[j], pivot) <= 0) {
|
|
||||||
i += 1;
|
|
||||||
swap(ary, i, j);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
swap(ary, i + 1, j);
|
|
||||||
var q = i + 1;
|
|
||||||
|
|
||||||
// (2) Recurse on each half.
|
|
||||||
|
|
||||||
doQuickSort(ary, comparator, p, q - 1);
|
|
||||||
doQuickSort(ary, comparator, q + 1, r);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sort the given array in-place with the given comparator function.
|
|
||||||
*
|
|
||||||
* @param {Array} ary
|
|
||||||
* An array to sort.
|
|
||||||
* @param {function} comparator
|
|
||||||
* Function to use to compare two items.
|
|
||||||
*/
|
|
||||||
exports.quickSort = function (ary, comparator) {
|
|
||||||
doQuickSort(ary, comparator, 0, ary.length - 1);
|
|
||||||
};
|
|
1082
node_modules/@babel/generator/node_modules/source-map/lib/source-map-consumer.js
generated
vendored
1082
node_modules/@babel/generator/node_modules/source-map/lib/source-map-consumer.js
generated
vendored
File diff suppressed because it is too large
Load Diff
416
node_modules/@babel/generator/node_modules/source-map/lib/source-map-generator.js
generated
vendored
416
node_modules/@babel/generator/node_modules/source-map/lib/source-map-generator.js
generated
vendored
@ -1,416 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
var base64VLQ = require('./base64-vlq');
|
|
||||||
var util = require('./util');
|
|
||||||
var ArraySet = require('./array-set').ArraySet;
|
|
||||||
var MappingList = require('./mapping-list').MappingList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An instance of the SourceMapGenerator represents a source map which is
|
|
||||||
* being built incrementally. You may pass an object with the following
|
|
||||||
* properties:
|
|
||||||
*
|
|
||||||
* - file: The filename of the generated source.
|
|
||||||
* - sourceRoot: A root for all relative URLs in this source map.
|
|
||||||
*/
|
|
||||||
function SourceMapGenerator(aArgs) {
|
|
||||||
if (!aArgs) {
|
|
||||||
aArgs = {};
|
|
||||||
}
|
|
||||||
this._file = util.getArg(aArgs, 'file', null);
|
|
||||||
this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
|
|
||||||
this._skipValidation = util.getArg(aArgs, 'skipValidation', false);
|
|
||||||
this._sources = new ArraySet();
|
|
||||||
this._names = new ArraySet();
|
|
||||||
this._mappings = new MappingList();
|
|
||||||
this._sourcesContents = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
SourceMapGenerator.prototype._version = 3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new SourceMapGenerator based on a SourceMapConsumer
|
|
||||||
*
|
|
||||||
* @param aSourceMapConsumer The SourceMap.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.fromSourceMap =
|
|
||||||
function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
|
|
||||||
var sourceRoot = aSourceMapConsumer.sourceRoot;
|
|
||||||
var generator = new SourceMapGenerator({
|
|
||||||
file: aSourceMapConsumer.file,
|
|
||||||
sourceRoot: sourceRoot
|
|
||||||
});
|
|
||||||
aSourceMapConsumer.eachMapping(function (mapping) {
|
|
||||||
var newMapping = {
|
|
||||||
generated: {
|
|
||||||
line: mapping.generatedLine,
|
|
||||||
column: mapping.generatedColumn
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (mapping.source != null) {
|
|
||||||
newMapping.source = mapping.source;
|
|
||||||
if (sourceRoot != null) {
|
|
||||||
newMapping.source = util.relative(sourceRoot, newMapping.source);
|
|
||||||
}
|
|
||||||
|
|
||||||
newMapping.original = {
|
|
||||||
line: mapping.originalLine,
|
|
||||||
column: mapping.originalColumn
|
|
||||||
};
|
|
||||||
|
|
||||||
if (mapping.name != null) {
|
|
||||||
newMapping.name = mapping.name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
generator.addMapping(newMapping);
|
|
||||||
});
|
|
||||||
aSourceMapConsumer.sources.forEach(function (sourceFile) {
|
|
||||||
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
|
|
||||||
if (content != null) {
|
|
||||||
generator.setSourceContent(sourceFile, content);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return generator;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a single mapping from original source line and column to the generated
|
|
||||||
* source's line and column for this source map being created. The mapping
|
|
||||||
* object should have the following properties:
|
|
||||||
*
|
|
||||||
* - generated: An object with the generated line and column positions.
|
|
||||||
* - original: An object with the original line and column positions.
|
|
||||||
* - source: The original source file (relative to the sourceRoot).
|
|
||||||
* - name: An optional original token name for this mapping.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype.addMapping =
|
|
||||||
function SourceMapGenerator_addMapping(aArgs) {
|
|
||||||
var generated = util.getArg(aArgs, 'generated');
|
|
||||||
var original = util.getArg(aArgs, 'original', null);
|
|
||||||
var source = util.getArg(aArgs, 'source', null);
|
|
||||||
var name = util.getArg(aArgs, 'name', null);
|
|
||||||
|
|
||||||
if (!this._skipValidation) {
|
|
||||||
this._validateMapping(generated, original, source, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (source != null) {
|
|
||||||
source = String(source);
|
|
||||||
if (!this._sources.has(source)) {
|
|
||||||
this._sources.add(source);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name != null) {
|
|
||||||
name = String(name);
|
|
||||||
if (!this._names.has(name)) {
|
|
||||||
this._names.add(name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this._mappings.add({
|
|
||||||
generatedLine: generated.line,
|
|
||||||
generatedColumn: generated.column,
|
|
||||||
originalLine: original != null && original.line,
|
|
||||||
originalColumn: original != null && original.column,
|
|
||||||
source: source,
|
|
||||||
name: name
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the source content for a source file.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype.setSourceContent =
|
|
||||||
function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
|
|
||||||
var source = aSourceFile;
|
|
||||||
if (this._sourceRoot != null) {
|
|
||||||
source = util.relative(this._sourceRoot, source);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aSourceContent != null) {
|
|
||||||
// Add the source content to the _sourcesContents map.
|
|
||||||
// Create a new _sourcesContents map if the property is null.
|
|
||||||
if (!this._sourcesContents) {
|
|
||||||
this._sourcesContents = Object.create(null);
|
|
||||||
}
|
|
||||||
this._sourcesContents[util.toSetString(source)] = aSourceContent;
|
|
||||||
} else if (this._sourcesContents) {
|
|
||||||
// Remove the source file from the _sourcesContents map.
|
|
||||||
// If the _sourcesContents map is empty, set the property to null.
|
|
||||||
delete this._sourcesContents[util.toSetString(source)];
|
|
||||||
if (Object.keys(this._sourcesContents).length === 0) {
|
|
||||||
this._sourcesContents = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Applies the mappings of a sub-source-map for a specific source file to the
|
|
||||||
* source map being generated. Each mapping to the supplied source file is
|
|
||||||
* rewritten using the supplied source map. Note: The resolution for the
|
|
||||||
* resulting mappings is the minimium of this map and the supplied map.
|
|
||||||
*
|
|
||||||
* @param aSourceMapConsumer The source map to be applied.
|
|
||||||
* @param aSourceFile Optional. The filename of the source file.
|
|
||||||
* If omitted, SourceMapConsumer's file property will be used.
|
|
||||||
* @param aSourceMapPath Optional. The dirname of the path to the source map
|
|
||||||
* to be applied. If relative, it is relative to the SourceMapConsumer.
|
|
||||||
* This parameter is needed when the two source maps aren't in the same
|
|
||||||
* directory, and the source map to be applied contains relative source
|
|
||||||
* paths. If so, those relative source paths need to be rewritten
|
|
||||||
* relative to the SourceMapGenerator.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype.applySourceMap =
|
|
||||||
function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
|
|
||||||
var sourceFile = aSourceFile;
|
|
||||||
// If aSourceFile is omitted, we will use the file property of the SourceMap
|
|
||||||
if (aSourceFile == null) {
|
|
||||||
if (aSourceMapConsumer.file == null) {
|
|
||||||
throw new Error(
|
|
||||||
'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
|
|
||||||
'or the source map\'s "file" property. Both were omitted.'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
sourceFile = aSourceMapConsumer.file;
|
|
||||||
}
|
|
||||||
var sourceRoot = this._sourceRoot;
|
|
||||||
// Make "sourceFile" relative if an absolute Url is passed.
|
|
||||||
if (sourceRoot != null) {
|
|
||||||
sourceFile = util.relative(sourceRoot, sourceFile);
|
|
||||||
}
|
|
||||||
// Applying the SourceMap can add and remove items from the sources and
|
|
||||||
// the names array.
|
|
||||||
var newSources = new ArraySet();
|
|
||||||
var newNames = new ArraySet();
|
|
||||||
|
|
||||||
// Find mappings for the "sourceFile"
|
|
||||||
this._mappings.unsortedForEach(function (mapping) {
|
|
||||||
if (mapping.source === sourceFile && mapping.originalLine != null) {
|
|
||||||
// Check if it can be mapped by the source map, then update the mapping.
|
|
||||||
var original = aSourceMapConsumer.originalPositionFor({
|
|
||||||
line: mapping.originalLine,
|
|
||||||
column: mapping.originalColumn
|
|
||||||
});
|
|
||||||
if (original.source != null) {
|
|
||||||
// Copy mapping
|
|
||||||
mapping.source = original.source;
|
|
||||||
if (aSourceMapPath != null) {
|
|
||||||
mapping.source = util.join(aSourceMapPath, mapping.source)
|
|
||||||
}
|
|
||||||
if (sourceRoot != null) {
|
|
||||||
mapping.source = util.relative(sourceRoot, mapping.source);
|
|
||||||
}
|
|
||||||
mapping.originalLine = original.line;
|
|
||||||
mapping.originalColumn = original.column;
|
|
||||||
if (original.name != null) {
|
|
||||||
mapping.name = original.name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var source = mapping.source;
|
|
||||||
if (source != null && !newSources.has(source)) {
|
|
||||||
newSources.add(source);
|
|
||||||
}
|
|
||||||
|
|
||||||
var name = mapping.name;
|
|
||||||
if (name != null && !newNames.has(name)) {
|
|
||||||
newNames.add(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
}, this);
|
|
||||||
this._sources = newSources;
|
|
||||||
this._names = newNames;
|
|
||||||
|
|
||||||
// Copy sourcesContents of applied map.
|
|
||||||
aSourceMapConsumer.sources.forEach(function (sourceFile) {
|
|
||||||
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
|
|
||||||
if (content != null) {
|
|
||||||
if (aSourceMapPath != null) {
|
|
||||||
sourceFile = util.join(aSourceMapPath, sourceFile);
|
|
||||||
}
|
|
||||||
if (sourceRoot != null) {
|
|
||||||
sourceFile = util.relative(sourceRoot, sourceFile);
|
|
||||||
}
|
|
||||||
this.setSourceContent(sourceFile, content);
|
|
||||||
}
|
|
||||||
}, this);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A mapping can have one of the three levels of data:
|
|
||||||
*
|
|
||||||
* 1. Just the generated position.
|
|
||||||
* 2. The Generated position, original position, and original source.
|
|
||||||
* 3. Generated and original position, original source, as well as a name
|
|
||||||
* token.
|
|
||||||
*
|
|
||||||
* To maintain consistency, we validate that any new mapping being added falls
|
|
||||||
* in to one of these categories.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype._validateMapping =
|
|
||||||
function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
|
|
||||||
aName) {
|
|
||||||
// When aOriginal is truthy but has empty values for .line and .column,
|
|
||||||
// it is most likely a programmer error. In this case we throw a very
|
|
||||||
// specific error message to try to guide them the right way.
|
|
||||||
// For example: https://github.com/Polymer/polymer-bundler/pull/519
|
|
||||||
if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
|
|
||||||
throw new Error(
|
|
||||||
'original.line and original.column are not numbers -- you probably meant to omit ' +
|
|
||||||
'the original mapping entirely and only map the generated position. If so, pass ' +
|
|
||||||
'null for the original mapping instead of an object with empty or null values.'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
|
|
||||||
&& aGenerated.line > 0 && aGenerated.column >= 0
|
|
||||||
&& !aOriginal && !aSource && !aName) {
|
|
||||||
// Case 1.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
|
|
||||||
&& aOriginal && 'line' in aOriginal && 'column' in aOriginal
|
|
||||||
&& aGenerated.line > 0 && aGenerated.column >= 0
|
|
||||||
&& aOriginal.line > 0 && aOriginal.column >= 0
|
|
||||||
&& aSource) {
|
|
||||||
// Cases 2 and 3.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw new Error('Invalid mapping: ' + JSON.stringify({
|
|
||||||
generated: aGenerated,
|
|
||||||
source: aSource,
|
|
||||||
original: aOriginal,
|
|
||||||
name: aName
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Serialize the accumulated mappings in to the stream of base 64 VLQs
|
|
||||||
* specified by the source map format.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype._serializeMappings =
|
|
||||||
function SourceMapGenerator_serializeMappings() {
|
|
||||||
var previousGeneratedColumn = 0;
|
|
||||||
var previousGeneratedLine = 1;
|
|
||||||
var previousOriginalColumn = 0;
|
|
||||||
var previousOriginalLine = 0;
|
|
||||||
var previousName = 0;
|
|
||||||
var previousSource = 0;
|
|
||||||
var result = '';
|
|
||||||
var next;
|
|
||||||
var mapping;
|
|
||||||
var nameIdx;
|
|
||||||
var sourceIdx;
|
|
||||||
|
|
||||||
var mappings = this._mappings.toArray();
|
|
||||||
for (var i = 0, len = mappings.length; i < len; i++) {
|
|
||||||
mapping = mappings[i];
|
|
||||||
next = ''
|
|
||||||
|
|
||||||
if (mapping.generatedLine !== previousGeneratedLine) {
|
|
||||||
previousGeneratedColumn = 0;
|
|
||||||
while (mapping.generatedLine !== previousGeneratedLine) {
|
|
||||||
next += ';';
|
|
||||||
previousGeneratedLine++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (i > 0) {
|
|
||||||
if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
next += ',';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
next += base64VLQ.encode(mapping.generatedColumn
|
|
||||||
- previousGeneratedColumn);
|
|
||||||
previousGeneratedColumn = mapping.generatedColumn;
|
|
||||||
|
|
||||||
if (mapping.source != null) {
|
|
||||||
sourceIdx = this._sources.indexOf(mapping.source);
|
|
||||||
next += base64VLQ.encode(sourceIdx - previousSource);
|
|
||||||
previousSource = sourceIdx;
|
|
||||||
|
|
||||||
// lines are stored 0-based in SourceMap spec version 3
|
|
||||||
next += base64VLQ.encode(mapping.originalLine - 1
|
|
||||||
- previousOriginalLine);
|
|
||||||
previousOriginalLine = mapping.originalLine - 1;
|
|
||||||
|
|
||||||
next += base64VLQ.encode(mapping.originalColumn
|
|
||||||
- previousOriginalColumn);
|
|
||||||
previousOriginalColumn = mapping.originalColumn;
|
|
||||||
|
|
||||||
if (mapping.name != null) {
|
|
||||||
nameIdx = this._names.indexOf(mapping.name);
|
|
||||||
next += base64VLQ.encode(nameIdx - previousName);
|
|
||||||
previousName = nameIdx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
result += next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
SourceMapGenerator.prototype._generateSourcesContent =
|
|
||||||
function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
|
|
||||||
return aSources.map(function (source) {
|
|
||||||
if (!this._sourcesContents) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (aSourceRoot != null) {
|
|
||||||
source = util.relative(aSourceRoot, source);
|
|
||||||
}
|
|
||||||
var key = util.toSetString(source);
|
|
||||||
return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)
|
|
||||||
? this._sourcesContents[key]
|
|
||||||
: null;
|
|
||||||
}, this);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Externalize the source map.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype.toJSON =
|
|
||||||
function SourceMapGenerator_toJSON() {
|
|
||||||
var map = {
|
|
||||||
version: this._version,
|
|
||||||
sources: this._sources.toArray(),
|
|
||||||
names: this._names.toArray(),
|
|
||||||
mappings: this._serializeMappings()
|
|
||||||
};
|
|
||||||
if (this._file != null) {
|
|
||||||
map.file = this._file;
|
|
||||||
}
|
|
||||||
if (this._sourceRoot != null) {
|
|
||||||
map.sourceRoot = this._sourceRoot;
|
|
||||||
}
|
|
||||||
if (this._sourcesContents) {
|
|
||||||
map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
|
|
||||||
}
|
|
||||||
|
|
||||||
return map;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render the source map being generated to a string.
|
|
||||||
*/
|
|
||||||
SourceMapGenerator.prototype.toString =
|
|
||||||
function SourceMapGenerator_toString() {
|
|
||||||
return JSON.stringify(this.toJSON());
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.SourceMapGenerator = SourceMapGenerator;
|
|
413
node_modules/@babel/generator/node_modules/source-map/lib/source-node.js
generated
vendored
413
node_modules/@babel/generator/node_modules/source-map/lib/source-node.js
generated
vendored
@ -1,413 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;
|
|
||||||
var util = require('./util');
|
|
||||||
|
|
||||||
// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other
|
|
||||||
// operating systems these days (capturing the result).
|
|
||||||
var REGEX_NEWLINE = /(\r?\n)/;
|
|
||||||
|
|
||||||
// Newline character code for charCodeAt() comparisons
|
|
||||||
var NEWLINE_CODE = 10;
|
|
||||||
|
|
||||||
// Private symbol for identifying `SourceNode`s when multiple versions of
|
|
||||||
// the source-map library are loaded. This MUST NOT CHANGE across
|
|
||||||
// versions!
|
|
||||||
var isSourceNode = "$$$isSourceNode$$$";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SourceNodes provide a way to abstract over interpolating/concatenating
|
|
||||||
* snippets of generated JavaScript source code while maintaining the line and
|
|
||||||
* column information associated with the original source code.
|
|
||||||
*
|
|
||||||
* @param aLine The original line number.
|
|
||||||
* @param aColumn The original column number.
|
|
||||||
* @param aSource The original source's filename.
|
|
||||||
* @param aChunks Optional. An array of strings which are snippets of
|
|
||||||
* generated JS, or other SourceNodes.
|
|
||||||
* @param aName The original identifier.
|
|
||||||
*/
|
|
||||||
function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
|
|
||||||
this.children = [];
|
|
||||||
this.sourceContents = {};
|
|
||||||
this.line = aLine == null ? null : aLine;
|
|
||||||
this.column = aColumn == null ? null : aColumn;
|
|
||||||
this.source = aSource == null ? null : aSource;
|
|
||||||
this.name = aName == null ? null : aName;
|
|
||||||
this[isSourceNode] = true;
|
|
||||||
if (aChunks != null) this.add(aChunks);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a SourceNode from generated code and a SourceMapConsumer.
|
|
||||||
*
|
|
||||||
* @param aGeneratedCode The generated code
|
|
||||||
* @param aSourceMapConsumer The SourceMap for the generated code
|
|
||||||
* @param aRelativePath Optional. The path that relative sources in the
|
|
||||||
* SourceMapConsumer should be relative to.
|
|
||||||
*/
|
|
||||||
SourceNode.fromStringWithSourceMap =
|
|
||||||
function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
|
|
||||||
// The SourceNode we want to fill with the generated code
|
|
||||||
// and the SourceMap
|
|
||||||
var node = new SourceNode();
|
|
||||||
|
|
||||||
// All even indices of this array are one line of the generated code,
|
|
||||||
// while all odd indices are the newlines between two adjacent lines
|
|
||||||
// (since `REGEX_NEWLINE` captures its match).
|
|
||||||
// Processed fragments are accessed by calling `shiftNextLine`.
|
|
||||||
var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
|
|
||||||
var remainingLinesIndex = 0;
|
|
||||||
var shiftNextLine = function() {
|
|
||||||
var lineContents = getNextLine();
|
|
||||||
// The last line of a file might not have a newline.
|
|
||||||
var newLine = getNextLine() || "";
|
|
||||||
return lineContents + newLine;
|
|
||||||
|
|
||||||
function getNextLine() {
|
|
||||||
return remainingLinesIndex < remainingLines.length ?
|
|
||||||
remainingLines[remainingLinesIndex++] : undefined;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// We need to remember the position of "remainingLines"
|
|
||||||
var lastGeneratedLine = 1, lastGeneratedColumn = 0;
|
|
||||||
|
|
||||||
// The generate SourceNodes we need a code range.
|
|
||||||
// To extract it current and last mapping is used.
|
|
||||||
// Here we store the last mapping.
|
|
||||||
var lastMapping = null;
|
|
||||||
|
|
||||||
aSourceMapConsumer.eachMapping(function (mapping) {
|
|
||||||
if (lastMapping !== null) {
|
|
||||||
// We add the code from "lastMapping" to "mapping":
|
|
||||||
// First check if there is a new line in between.
|
|
||||||
if (lastGeneratedLine < mapping.generatedLine) {
|
|
||||||
// Associate first line with "lastMapping"
|
|
||||||
addMappingWithCode(lastMapping, shiftNextLine());
|
|
||||||
lastGeneratedLine++;
|
|
||||||
lastGeneratedColumn = 0;
|
|
||||||
// The remaining code is added without mapping
|
|
||||||
} else {
|
|
||||||
// There is no new line in between.
|
|
||||||
// Associate the code between "lastGeneratedColumn" and
|
|
||||||
// "mapping.generatedColumn" with "lastMapping"
|
|
||||||
var nextLine = remainingLines[remainingLinesIndex];
|
|
||||||
var code = nextLine.substr(0, mapping.generatedColumn -
|
|
||||||
lastGeneratedColumn);
|
|
||||||
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -
|
|
||||||
lastGeneratedColumn);
|
|
||||||
lastGeneratedColumn = mapping.generatedColumn;
|
|
||||||
addMappingWithCode(lastMapping, code);
|
|
||||||
// No more remaining code, continue
|
|
||||||
lastMapping = mapping;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// We add the generated code until the first mapping
|
|
||||||
// to the SourceNode without any mapping.
|
|
||||||
// Each line is added as separate string.
|
|
||||||
while (lastGeneratedLine < mapping.generatedLine) {
|
|
||||||
node.add(shiftNextLine());
|
|
||||||
lastGeneratedLine++;
|
|
||||||
}
|
|
||||||
if (lastGeneratedColumn < mapping.generatedColumn) {
|
|
||||||
var nextLine = remainingLines[remainingLinesIndex];
|
|
||||||
node.add(nextLine.substr(0, mapping.generatedColumn));
|
|
||||||
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
|
|
||||||
lastGeneratedColumn = mapping.generatedColumn;
|
|
||||||
}
|
|
||||||
lastMapping = mapping;
|
|
||||||
}, this);
|
|
||||||
// We have processed all mappings.
|
|
||||||
if (remainingLinesIndex < remainingLines.length) {
|
|
||||||
if (lastMapping) {
|
|
||||||
// Associate the remaining code in the current line with "lastMapping"
|
|
||||||
addMappingWithCode(lastMapping, shiftNextLine());
|
|
||||||
}
|
|
||||||
// and add the remaining lines without any mapping
|
|
||||||
node.add(remainingLines.splice(remainingLinesIndex).join(""));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Copy sourcesContent into SourceNode
|
|
||||||
aSourceMapConsumer.sources.forEach(function (sourceFile) {
|
|
||||||
var content = aSourceMapConsumer.sourceContentFor(sourceFile);
|
|
||||||
if (content != null) {
|
|
||||||
if (aRelativePath != null) {
|
|
||||||
sourceFile = util.join(aRelativePath, sourceFile);
|
|
||||||
}
|
|
||||||
node.setSourceContent(sourceFile, content);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return node;
|
|
||||||
|
|
||||||
function addMappingWithCode(mapping, code) {
|
|
||||||
if (mapping === null || mapping.source === undefined) {
|
|
||||||
node.add(code);
|
|
||||||
} else {
|
|
||||||
var source = aRelativePath
|
|
||||||
? util.join(aRelativePath, mapping.source)
|
|
||||||
: mapping.source;
|
|
||||||
node.add(new SourceNode(mapping.originalLine,
|
|
||||||
mapping.originalColumn,
|
|
||||||
source,
|
|
||||||
code,
|
|
||||||
mapping.name));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a chunk of generated JS to this source node.
|
|
||||||
*
|
|
||||||
* @param aChunk A string snippet of generated JS code, another instance of
|
|
||||||
* SourceNode, or an array where each member is one of those things.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.add = function SourceNode_add(aChunk) {
|
|
||||||
if (Array.isArray(aChunk)) {
|
|
||||||
aChunk.forEach(function (chunk) {
|
|
||||||
this.add(chunk);
|
|
||||||
}, this);
|
|
||||||
}
|
|
||||||
else if (aChunk[isSourceNode] || typeof aChunk === "string") {
|
|
||||||
if (aChunk) {
|
|
||||||
this.children.push(aChunk);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw new TypeError(
|
|
||||||
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a chunk of generated JS to the beginning of this source node.
|
|
||||||
*
|
|
||||||
* @param aChunk A string snippet of generated JS code, another instance of
|
|
||||||
* SourceNode, or an array where each member is one of those things.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
|
|
||||||
if (Array.isArray(aChunk)) {
|
|
||||||
for (var i = aChunk.length-1; i >= 0; i--) {
|
|
||||||
this.prepend(aChunk[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (aChunk[isSourceNode] || typeof aChunk === "string") {
|
|
||||||
this.children.unshift(aChunk);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw new TypeError(
|
|
||||||
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Walk over the tree of JS snippets in this node and its children. The
|
|
||||||
* walking function is called once for each snippet of JS and is passed that
|
|
||||||
* snippet and the its original associated source's line/column location.
|
|
||||||
*
|
|
||||||
* @param aFn The traversal function.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.walk = function SourceNode_walk(aFn) {
|
|
||||||
var chunk;
|
|
||||||
for (var i = 0, len = this.children.length; i < len; i++) {
|
|
||||||
chunk = this.children[i];
|
|
||||||
if (chunk[isSourceNode]) {
|
|
||||||
chunk.walk(aFn);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (chunk !== '') {
|
|
||||||
aFn(chunk, { source: this.source,
|
|
||||||
line: this.line,
|
|
||||||
column: this.column,
|
|
||||||
name: this.name });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
|
|
||||||
* each of `this.children`.
|
|
||||||
*
|
|
||||||
* @param aSep The separator.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.join = function SourceNode_join(aSep) {
|
|
||||||
var newChildren;
|
|
||||||
var i;
|
|
||||||
var len = this.children.length;
|
|
||||||
if (len > 0) {
|
|
||||||
newChildren = [];
|
|
||||||
for (i = 0; i < len-1; i++) {
|
|
||||||
newChildren.push(this.children[i]);
|
|
||||||
newChildren.push(aSep);
|
|
||||||
}
|
|
||||||
newChildren.push(this.children[i]);
|
|
||||||
this.children = newChildren;
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Call String.prototype.replace on the very right-most source snippet. Useful
|
|
||||||
* for trimming whitespace from the end of a source node, etc.
|
|
||||||
*
|
|
||||||
* @param aPattern The pattern to replace.
|
|
||||||
* @param aReplacement The thing to replace the pattern with.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
|
|
||||||
var lastChild = this.children[this.children.length - 1];
|
|
||||||
if (lastChild[isSourceNode]) {
|
|
||||||
lastChild.replaceRight(aPattern, aReplacement);
|
|
||||||
}
|
|
||||||
else if (typeof lastChild === 'string') {
|
|
||||||
this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.children.push(''.replace(aPattern, aReplacement));
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the source content for a source file. This will be added to the SourceMapGenerator
|
|
||||||
* in the sourcesContent field.
|
|
||||||
*
|
|
||||||
* @param aSourceFile The filename of the source file
|
|
||||||
* @param aSourceContent The content of the source file
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.setSourceContent =
|
|
||||||
function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
|
|
||||||
this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Walk over the tree of SourceNodes. The walking function is called for each
|
|
||||||
* source file content and is passed the filename and source content.
|
|
||||||
*
|
|
||||||
* @param aFn The traversal function.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.walkSourceContents =
|
|
||||||
function SourceNode_walkSourceContents(aFn) {
|
|
||||||
for (var i = 0, len = this.children.length; i < len; i++) {
|
|
||||||
if (this.children[i][isSourceNode]) {
|
|
||||||
this.children[i].walkSourceContents(aFn);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var sources = Object.keys(this.sourceContents);
|
|
||||||
for (var i = 0, len = sources.length; i < len; i++) {
|
|
||||||
aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the string representation of this source node. Walks over the tree
|
|
||||||
* and concatenates all the various snippets together to one string.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.toString = function SourceNode_toString() {
|
|
||||||
var str = "";
|
|
||||||
this.walk(function (chunk) {
|
|
||||||
str += chunk;
|
|
||||||
});
|
|
||||||
return str;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the string representation of this source node along with a source
|
|
||||||
* map.
|
|
||||||
*/
|
|
||||||
SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
|
|
||||||
var generated = {
|
|
||||||
code: "",
|
|
||||||
line: 1,
|
|
||||||
column: 0
|
|
||||||
};
|
|
||||||
var map = new SourceMapGenerator(aArgs);
|
|
||||||
var sourceMappingActive = false;
|
|
||||||
var lastOriginalSource = null;
|
|
||||||
var lastOriginalLine = null;
|
|
||||||
var lastOriginalColumn = null;
|
|
||||||
var lastOriginalName = null;
|
|
||||||
this.walk(function (chunk, original) {
|
|
||||||
generated.code += chunk;
|
|
||||||
if (original.source !== null
|
|
||||||
&& original.line !== null
|
|
||||||
&& original.column !== null) {
|
|
||||||
if(lastOriginalSource !== original.source
|
|
||||||
|| lastOriginalLine !== original.line
|
|
||||||
|| lastOriginalColumn !== original.column
|
|
||||||
|| lastOriginalName !== original.name) {
|
|
||||||
map.addMapping({
|
|
||||||
source: original.source,
|
|
||||||
original: {
|
|
||||||
line: original.line,
|
|
||||||
column: original.column
|
|
||||||
},
|
|
||||||
generated: {
|
|
||||||
line: generated.line,
|
|
||||||
column: generated.column
|
|
||||||
},
|
|
||||||
name: original.name
|
|
||||||
});
|
|
||||||
}
|
|
||||||
lastOriginalSource = original.source;
|
|
||||||
lastOriginalLine = original.line;
|
|
||||||
lastOriginalColumn = original.column;
|
|
||||||
lastOriginalName = original.name;
|
|
||||||
sourceMappingActive = true;
|
|
||||||
} else if (sourceMappingActive) {
|
|
||||||
map.addMapping({
|
|
||||||
generated: {
|
|
||||||
line: generated.line,
|
|
||||||
column: generated.column
|
|
||||||
}
|
|
||||||
});
|
|
||||||
lastOriginalSource = null;
|
|
||||||
sourceMappingActive = false;
|
|
||||||
}
|
|
||||||
for (var idx = 0, length = chunk.length; idx < length; idx++) {
|
|
||||||
if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
|
|
||||||
generated.line++;
|
|
||||||
generated.column = 0;
|
|
||||||
// Mappings end at eol
|
|
||||||
if (idx + 1 === length) {
|
|
||||||
lastOriginalSource = null;
|
|
||||||
sourceMappingActive = false;
|
|
||||||
} else if (sourceMappingActive) {
|
|
||||||
map.addMapping({
|
|
||||||
source: original.source,
|
|
||||||
original: {
|
|
||||||
line: original.line,
|
|
||||||
column: original.column
|
|
||||||
},
|
|
||||||
generated: {
|
|
||||||
line: generated.line,
|
|
||||||
column: generated.column
|
|
||||||
},
|
|
||||||
name: original.name
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
generated.column++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.walkSourceContents(function (sourceFile, sourceContent) {
|
|
||||||
map.setSourceContent(sourceFile, sourceContent);
|
|
||||||
});
|
|
||||||
|
|
||||||
return { code: generated.code, map: map };
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.SourceNode = SourceNode;
|
|
417
node_modules/@babel/generator/node_modules/source-map/lib/util.js
generated
vendored
417
node_modules/@babel/generator/node_modules/source-map/lib/util.js
generated
vendored
@ -1,417 +0,0 @@
|
|||||||
/* -*- Mode: js; js-indent-level: 2; -*- */
|
|
||||||
/*
|
|
||||||
* Copyright 2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is a helper function for getting values from parameter/options
|
|
||||||
* objects.
|
|
||||||
*
|
|
||||||
* @param args The object we are extracting values from
|
|
||||||
* @param name The name of the property we are getting.
|
|
||||||
* @param defaultValue An optional value to return if the property is missing
|
|
||||||
* from the object. If this is not specified and the property is missing, an
|
|
||||||
* error will be thrown.
|
|
||||||
*/
|
|
||||||
function getArg(aArgs, aName, aDefaultValue) {
|
|
||||||
if (aName in aArgs) {
|
|
||||||
return aArgs[aName];
|
|
||||||
} else if (arguments.length === 3) {
|
|
||||||
return aDefaultValue;
|
|
||||||
} else {
|
|
||||||
throw new Error('"' + aName + '" is a required argument.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.getArg = getArg;
|
|
||||||
|
|
||||||
var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;
|
|
||||||
var dataUrlRegexp = /^data:.+\,.+$/;
|
|
||||||
|
|
||||||
function urlParse(aUrl) {
|
|
||||||
var match = aUrl.match(urlRegexp);
|
|
||||||
if (!match) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
scheme: match[1],
|
|
||||||
auth: match[2],
|
|
||||||
host: match[3],
|
|
||||||
port: match[4],
|
|
||||||
path: match[5]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
exports.urlParse = urlParse;
|
|
||||||
|
|
||||||
function urlGenerate(aParsedUrl) {
|
|
||||||
var url = '';
|
|
||||||
if (aParsedUrl.scheme) {
|
|
||||||
url += aParsedUrl.scheme + ':';
|
|
||||||
}
|
|
||||||
url += '//';
|
|
||||||
if (aParsedUrl.auth) {
|
|
||||||
url += aParsedUrl.auth + '@';
|
|
||||||
}
|
|
||||||
if (aParsedUrl.host) {
|
|
||||||
url += aParsedUrl.host;
|
|
||||||
}
|
|
||||||
if (aParsedUrl.port) {
|
|
||||||
url += ":" + aParsedUrl.port
|
|
||||||
}
|
|
||||||
if (aParsedUrl.path) {
|
|
||||||
url += aParsedUrl.path;
|
|
||||||
}
|
|
||||||
return url;
|
|
||||||
}
|
|
||||||
exports.urlGenerate = urlGenerate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a path, or the path portion of a URL:
|
|
||||||
*
|
|
||||||
* - Replaces consecutive slashes with one slash.
|
|
||||||
* - Removes unnecessary '.' parts.
|
|
||||||
* - Removes unnecessary '<dir>/..' parts.
|
|
||||||
*
|
|
||||||
* Based on code in the Node.js 'path' core module.
|
|
||||||
*
|
|
||||||
* @param aPath The path or url to normalize.
|
|
||||||
*/
|
|
||||||
function normalize(aPath) {
|
|
||||||
var path = aPath;
|
|
||||||
var url = urlParse(aPath);
|
|
||||||
if (url) {
|
|
||||||
if (!url.path) {
|
|
||||||
return aPath;
|
|
||||||
}
|
|
||||||
path = url.path;
|
|
||||||
}
|
|
||||||
var isAbsolute = exports.isAbsolute(path);
|
|
||||||
|
|
||||||
var parts = path.split(/\/+/);
|
|
||||||
for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
|
|
||||||
part = parts[i];
|
|
||||||
if (part === '.') {
|
|
||||||
parts.splice(i, 1);
|
|
||||||
} else if (part === '..') {
|
|
||||||
up++;
|
|
||||||
} else if (up > 0) {
|
|
||||||
if (part === '') {
|
|
||||||
// The first part is blank if the path is absolute. Trying to go
|
|
||||||
// above the root is a no-op. Therefore we can remove all '..' parts
|
|
||||||
// directly after the root.
|
|
||||||
parts.splice(i + 1, up);
|
|
||||||
up = 0;
|
|
||||||
} else {
|
|
||||||
parts.splice(i, 2);
|
|
||||||
up--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
path = parts.join('/');
|
|
||||||
|
|
||||||
if (path === '') {
|
|
||||||
path = isAbsolute ? '/' : '.';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (url) {
|
|
||||||
url.path = path;
|
|
||||||
return urlGenerate(url);
|
|
||||||
}
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
exports.normalize = normalize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Joins two paths/URLs.
|
|
||||||
*
|
|
||||||
* @param aRoot The root path or URL.
|
|
||||||
* @param aPath The path or URL to be joined with the root.
|
|
||||||
*
|
|
||||||
* - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
|
|
||||||
* scheme-relative URL: Then the scheme of aRoot, if any, is prepended
|
|
||||||
* first.
|
|
||||||
* - Otherwise aPath is a path. If aRoot is a URL, then its path portion
|
|
||||||
* is updated with the result and aRoot is returned. Otherwise the result
|
|
||||||
* is returned.
|
|
||||||
* - If aPath is absolute, the result is aPath.
|
|
||||||
* - Otherwise the two paths are joined with a slash.
|
|
||||||
* - Joining for example 'http://' and 'www.example.com' is also supported.
|
|
||||||
*/
|
|
||||||
function join(aRoot, aPath) {
|
|
||||||
if (aRoot === "") {
|
|
||||||
aRoot = ".";
|
|
||||||
}
|
|
||||||
if (aPath === "") {
|
|
||||||
aPath = ".";
|
|
||||||
}
|
|
||||||
var aPathUrl = urlParse(aPath);
|
|
||||||
var aRootUrl = urlParse(aRoot);
|
|
||||||
if (aRootUrl) {
|
|
||||||
aRoot = aRootUrl.path || '/';
|
|
||||||
}
|
|
||||||
|
|
||||||
// `join(foo, '//www.example.org')`
|
|
||||||
if (aPathUrl && !aPathUrl.scheme) {
|
|
||||||
if (aRootUrl) {
|
|
||||||
aPathUrl.scheme = aRootUrl.scheme;
|
|
||||||
}
|
|
||||||
return urlGenerate(aPathUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aPathUrl || aPath.match(dataUrlRegexp)) {
|
|
||||||
return aPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
// `join('http://', 'www.example.com')`
|
|
||||||
if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
|
|
||||||
aRootUrl.host = aPath;
|
|
||||||
return urlGenerate(aRootUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
var joined = aPath.charAt(0) === '/'
|
|
||||||
? aPath
|
|
||||||
: normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);
|
|
||||||
|
|
||||||
if (aRootUrl) {
|
|
||||||
aRootUrl.path = joined;
|
|
||||||
return urlGenerate(aRootUrl);
|
|
||||||
}
|
|
||||||
return joined;
|
|
||||||
}
|
|
||||||
exports.join = join;
|
|
||||||
|
|
||||||
exports.isAbsolute = function (aPath) {
|
|
||||||
return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make a path relative to a URL or another path.
|
|
||||||
*
|
|
||||||
* @param aRoot The root path or URL.
|
|
||||||
* @param aPath The path or URL to be made relative to aRoot.
|
|
||||||
*/
|
|
||||||
function relative(aRoot, aPath) {
|
|
||||||
if (aRoot === "") {
|
|
||||||
aRoot = ".";
|
|
||||||
}
|
|
||||||
|
|
||||||
aRoot = aRoot.replace(/\/$/, '');
|
|
||||||
|
|
||||||
// It is possible for the path to be above the root. In this case, simply
|
|
||||||
// checking whether the root is a prefix of the path won't work. Instead, we
|
|
||||||
// need to remove components from the root one by one, until either we find
|
|
||||||
// a prefix that fits, or we run out of components to remove.
|
|
||||||
var level = 0;
|
|
||||||
while (aPath.indexOf(aRoot + '/') !== 0) {
|
|
||||||
var index = aRoot.lastIndexOf("/");
|
|
||||||
if (index < 0) {
|
|
||||||
return aPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the only part of the root that is left is the scheme (i.e. http://,
|
|
||||||
// file:///, etc.), one or more slashes (/), or simply nothing at all, we
|
|
||||||
// have exhausted all components, so the path is not relative to the root.
|
|
||||||
aRoot = aRoot.slice(0, index);
|
|
||||||
if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
|
|
||||||
return aPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
++level;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make sure we add a "../" for each component we removed from the root.
|
|
||||||
return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
|
|
||||||
}
|
|
||||||
exports.relative = relative;
|
|
||||||
|
|
||||||
var supportsNullProto = (function () {
|
|
||||||
var obj = Object.create(null);
|
|
||||||
return !('__proto__' in obj);
|
|
||||||
}());
|
|
||||||
|
|
||||||
function identity (s) {
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Because behavior goes wacky when you set `__proto__` on objects, we
|
|
||||||
* have to prefix all the strings in our set with an arbitrary character.
|
|
||||||
*
|
|
||||||
* See https://github.com/mozilla/source-map/pull/31 and
|
|
||||||
* https://github.com/mozilla/source-map/issues/30
|
|
||||||
*
|
|
||||||
* @param String aStr
|
|
||||||
*/
|
|
||||||
function toSetString(aStr) {
|
|
||||||
if (isProtoString(aStr)) {
|
|
||||||
return '$' + aStr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return aStr;
|
|
||||||
}
|
|
||||||
exports.toSetString = supportsNullProto ? identity : toSetString;
|
|
||||||
|
|
||||||
function fromSetString(aStr) {
|
|
||||||
if (isProtoString(aStr)) {
|
|
||||||
return aStr.slice(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return aStr;
|
|
||||||
}
|
|
||||||
exports.fromSetString = supportsNullProto ? identity : fromSetString;
|
|
||||||
|
|
||||||
function isProtoString(s) {
|
|
||||||
if (!s) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var length = s.length;
|
|
||||||
|
|
||||||
if (length < 9 /* "__proto__".length */) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||
|
|
||||||
s.charCodeAt(length - 2) !== 95 /* '_' */ ||
|
|
||||||
s.charCodeAt(length - 3) !== 111 /* 'o' */ ||
|
|
||||||
s.charCodeAt(length - 4) !== 116 /* 't' */ ||
|
|
||||||
s.charCodeAt(length - 5) !== 111 /* 'o' */ ||
|
|
||||||
s.charCodeAt(length - 6) !== 114 /* 'r' */ ||
|
|
||||||
s.charCodeAt(length - 7) !== 112 /* 'p' */ ||
|
|
||||||
s.charCodeAt(length - 8) !== 95 /* '_' */ ||
|
|
||||||
s.charCodeAt(length - 9) !== 95 /* '_' */) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = length - 10; i >= 0; i--) {
|
|
||||||
if (s.charCodeAt(i) !== 36 /* '$' */) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Comparator between two mappings where the original positions are compared.
|
|
||||||
*
|
|
||||||
* Optionally pass in `true` as `onlyCompareGenerated` to consider two
|
|
||||||
* mappings with the same original source/line/column, but different generated
|
|
||||||
* line and column the same. Useful when searching for a mapping with a
|
|
||||||
* stubbed out mapping.
|
|
||||||
*/
|
|
||||||
function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
|
|
||||||
var cmp = mappingA.source - mappingB.source;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
||||||
if (cmp !== 0 || onlyCompareOriginal) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mappingA.name - mappingB.name;
|
|
||||||
}
|
|
||||||
exports.compareByOriginalPositions = compareByOriginalPositions;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Comparator between two mappings with deflated source and name indices where
|
|
||||||
* the generated positions are compared.
|
|
||||||
*
|
|
||||||
* Optionally pass in `true` as `onlyCompareGenerated` to consider two
|
|
||||||
* mappings with the same generated line and column, but different
|
|
||||||
* source/name/original line and column the same. Useful when searching for a
|
|
||||||
* mapping with a stubbed out mapping.
|
|
||||||
*/
|
|
||||||
function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
|
|
||||||
var cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
||||||
if (cmp !== 0 || onlyCompareGenerated) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.source - mappingB.source;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mappingA.name - mappingB.name;
|
|
||||||
}
|
|
||||||
exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
|
|
||||||
|
|
||||||
function strcmp(aStr1, aStr2) {
|
|
||||||
if (aStr1 === aStr2) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aStr1 > aStr2) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Comparator between two mappings with inflated source and name strings where
|
|
||||||
* the generated positions are compared.
|
|
||||||
*/
|
|
||||||
function compareByGeneratedPositionsInflated(mappingA, mappingB) {
|
|
||||||
var cmp = mappingA.generatedLine - mappingB.generatedLine;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.generatedColumn - mappingB.generatedColumn;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = strcmp(mappingA.source, mappingB.source);
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.originalLine - mappingB.originalLine;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp = mappingA.originalColumn - mappingB.originalColumn;
|
|
||||||
if (cmp !== 0) {
|
|
||||||
return cmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
return strcmp(mappingA.name, mappingB.name);
|
|
||||||
}
|
|
||||||
exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
|
|
214
node_modules/@babel/generator/node_modules/source-map/package.json
generated
vendored
214
node_modules/@babel/generator/node_modules/source-map/package.json
generated
vendored
@ -1,214 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"source-map@0.5.7",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "source-map@0.5.7",
|
|
||||||
"_id": "source-map@0.5.7",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
|
|
||||||
"_location": "/@babel/generator/source-map",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "source-map@0.5.7",
|
|
||||||
"name": "source-map",
|
|
||||||
"escapedName": "source-map",
|
|
||||||
"rawSpec": "0.5.7",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "0.5.7"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/generator"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
|
||||||
"_spec": "0.5.7",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"author": {
|
|
||||||
"name": "Nick Fitzgerald",
|
|
||||||
"email": "nfitzgerald@mozilla.com"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/mozilla/source-map/issues"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Tobias Koppers",
|
|
||||||
"email": "tobias.koppers@googlemail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Duncan Beevers",
|
|
||||||
"email": "duncan@dweebd.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stephen Crane",
|
|
||||||
"email": "scrane@mozilla.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ryan Seddon",
|
|
||||||
"email": "seddon.ryan@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Miles Elam",
|
|
||||||
"email": "miles.elam@deem.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mihai Bazon",
|
|
||||||
"email": "mihai.bazon@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Michael Ficarra",
|
|
||||||
"email": "github.public.email@michael.ficarra.me"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Todd Wolfson",
|
|
||||||
"email": "todd@twolfson.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Alexander Solovyov",
|
|
||||||
"email": "alexander@solovyov.net"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Felix Gnass",
|
|
||||||
"email": "fgnass@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Conrad Irwin",
|
|
||||||
"email": "conrad.irwin@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "usrbincc",
|
|
||||||
"email": "usrbincc@yahoo.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "David Glasser",
|
|
||||||
"email": "glasser@davidglasser.net"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chase Douglas",
|
|
||||||
"email": "chase@newrelic.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Evan Wallace",
|
|
||||||
"email": "evan.exe@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Heather Arthur",
|
|
||||||
"email": "fayearthur@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hugh Kennedy",
|
|
||||||
"email": "hughskennedy@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "David Glasser",
|
|
||||||
"email": "glasser@davidglasser.net"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Simon Lydell",
|
|
||||||
"email": "simon.lydell@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jmeas Smith",
|
|
||||||
"email": "jellyes2@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Michael Z Goddard",
|
|
||||||
"email": "mzgoddard@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "azu",
|
|
||||||
"email": "azu@users.noreply.github.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "John Gozde",
|
|
||||||
"email": "john@gozde.ca"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Adam Kirkton",
|
|
||||||
"email": "akirkton@truefitinnovation.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chris Montgomery",
|
|
||||||
"email": "christopher.montgomery@dowjones.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "J. Ryan Stinnett",
|
|
||||||
"email": "jryans@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jack Herrington",
|
|
||||||
"email": "jherrington@walmartlabs.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chris Truter",
|
|
||||||
"email": "jeffpalentine@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Daniel Espeset",
|
|
||||||
"email": "daniel@danielespeset.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jamie Wong",
|
|
||||||
"email": "jamie.lf.wong@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Eddy Bruël",
|
|
||||||
"email": "ejpbruel@mozilla.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hawken Rives",
|
|
||||||
"email": "hawkrives@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Gilad Peleg",
|
|
||||||
"email": "giladp007@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "djchie",
|
|
||||||
"email": "djchie.dev@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Gary Ye",
|
|
||||||
"email": "garysye@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nicolas Lalevée",
|
|
||||||
"email": "nicolas.lalevee@hibnet.org"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Generates and consumes source maps",
|
|
||||||
"devDependencies": {
|
|
||||||
"doctoc": "^0.15.0",
|
|
||||||
"webpack": "^1.12.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"source-map.js",
|
|
||||||
"lib/",
|
|
||||||
"dist/source-map.debug.js",
|
|
||||||
"dist/source-map.js",
|
|
||||||
"dist/source-map.min.js",
|
|
||||||
"dist/source-map.min.js.map"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/mozilla/source-map",
|
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"main": "./source-map.js",
|
|
||||||
"name": "source-map",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+ssh://git@github.com/mozilla/source-map.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "webpack --color",
|
|
||||||
"test": "npm run build && node test/run-tests.js",
|
|
||||||
"toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md"
|
|
||||||
},
|
|
||||||
"typings": "source-map",
|
|
||||||
"version": "0.5.7"
|
|
||||||
}
|
|
8
node_modules/@babel/generator/node_modules/source-map/source-map.js
generated
vendored
8
node_modules/@babel/generator/node_modules/source-map/source-map.js
generated
vendored
@ -1,8 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2009-2011 Mozilla Foundation and contributors
|
|
||||||
* Licensed under the New BSD license. See LICENSE.txt or:
|
|
||||||
* http://opensource.org/licenses/BSD-3-Clause
|
|
||||||
*/
|
|
||||||
exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;
|
|
||||||
exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;
|
|
||||||
exports.SourceNode = require('./lib/source-node').SourceNode;
|
|
65
node_modules/@babel/generator/package.json
generated
vendored
65
node_modules/@babel/generator/package.json
generated
vendored
@ -1,65 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/generator@7.5.5",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/generator@7.5.5",
|
|
||||||
"_id": "@babel/generator@7.5.5",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
|
|
||||||
"_location": "/@babel/generator",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/generator@7.5.5",
|
|
||||||
"name": "@babel/generator",
|
|
||||||
"escapedName": "@babel%2fgenerator",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.5.5",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.5.5"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/core",
|
|
||||||
"/@babel/traverse",
|
|
||||||
"/istanbul-lib-instrument"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
|
|
||||||
"_spec": "7.5.5",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"author": {
|
|
||||||
"name": "Sebastian McKenzie",
|
|
||||||
"email": "sebmck@gmail.com"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/types": "^7.5.5",
|
|
||||||
"jsesc": "^2.5.1",
|
|
||||||
"lodash": "^4.17.13",
|
|
||||||
"source-map": "^0.5.0",
|
|
||||||
"trim-right": "^1.0.1"
|
|
||||||
},
|
|
||||||
"description": "Turns an AST into code.",
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/helper-fixtures": "^7.5.5",
|
|
||||||
"@babel/parser": "^7.5.5"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"lib"
|
|
||||||
],
|
|
||||||
"gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43",
|
|
||||||
"homepage": "https://babeljs.io/",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/generator",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-generator"
|
|
||||||
},
|
|
||||||
"version": "7.5.5"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-annotate-as-pure/LICENSE
generated
vendored
22
node_modules/@babel/helper-annotate-as-pure/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-2018 Sebastian McKenzie <sebmck@gmail.com>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-annotate-as-pure/README.md
generated
vendored
19
node_modules/@babel/helper-annotate-as-pure/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-annotate-as-pure
|
|
||||||
|
|
||||||
> Helper function to annotate paths and nodes with #__PURE__ comment
|
|
||||||
|
|
||||||
See our website [@babel/helper-annotate-as-pure](https://babeljs.io/docs/en/next/babel-helper-annotate-as-pure.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-annotate-as-pure
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-annotate-as-pure --dev
|
|
||||||
```
|
|
34
node_modules/@babel/helper-annotate-as-pure/lib/index.js
generated
vendored
34
node_modules/@babel/helper-annotate-as-pure/lib/index.js
generated
vendored
@ -1,34 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = annotateAsPure;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
const PURE_ANNOTATION = "#__PURE__";
|
|
||||||
|
|
||||||
const isPureAnnotated = ({
|
|
||||||
leadingComments
|
|
||||||
}) => !!leadingComments && leadingComments.some(comment => /[@#]__PURE__/.test(comment.value));
|
|
||||||
|
|
||||||
function annotateAsPure(pathOrNode) {
|
|
||||||
const node = pathOrNode.node || pathOrNode;
|
|
||||||
|
|
||||||
if (isPureAnnotated(node)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
t().addComment(node, "leading", PURE_ANNOTATION);
|
|
||||||
}
|
|
45
node_modules/@babel/helper-annotate-as-pure/package.json
generated
vendored
45
node_modules/@babel/helper-annotate-as-pure/package.json
generated
vendored
@ -1,45 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-annotate-as-pure@7.0.0",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-annotate-as-pure@7.0.0",
|
|
||||||
"_id": "@babel/helper-annotate-as-pure@7.0.0",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
|
|
||||||
"_location": "/@babel/helper-annotate-as-pure",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-annotate-as-pure@7.0.0",
|
|
||||||
"name": "@babel/helper-annotate-as-pure",
|
|
||||||
"escapedName": "@babel%2fhelper-annotate-as-pure",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.0.0",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.0.0"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/helper-remap-async-to-generator",
|
|
||||||
"/@babel/plugin-transform-classes",
|
|
||||||
"/@babel/plugin-transform-template-literals"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
|
|
||||||
"_spec": "7.0.0",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/types": "^7.0.0"
|
|
||||||
},
|
|
||||||
"description": "Helper function to annotate paths and nodes with #__PURE__ comment",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-annotate-as-pure",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure"
|
|
||||||
},
|
|
||||||
"version": "7.0.0"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/LICENSE
generated
vendored
22
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-2018 Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/README.md
generated
vendored
19
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-builder-binary-assignment-operator-visitor
|
|
||||||
|
|
||||||
> Helper function to build binary assignment operator visitors
|
|
||||||
|
|
||||||
See our website [@babel/helper-builder-binary-assignment-operator-visitor](https://babeljs.io/docs/en/next/babel-helper-builder-binary-assignment-operator-visitor.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-builder-binary-assignment-operator-visitor
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-builder-binary-assignment-operator-visitor --dev
|
|
||||||
```
|
|
61
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/lib/index.js
generated
vendored
61
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/lib/index.js
generated
vendored
@ -1,61 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function _helperExplodeAssignableExpression() {
|
|
||||||
const data = _interopRequireDefault(require("@babel/helper-explode-assignable-expression"));
|
|
||||||
|
|
||||||
_helperExplodeAssignableExpression = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
function _default(opts) {
|
|
||||||
const {
|
|
||||||
build,
|
|
||||||
operator
|
|
||||||
} = opts;
|
|
||||||
return {
|
|
||||||
AssignmentExpression(path) {
|
|
||||||
const {
|
|
||||||
node,
|
|
||||||
scope
|
|
||||||
} = path;
|
|
||||||
if (node.operator !== operator + "=") return;
|
|
||||||
const nodes = [];
|
|
||||||
const exploded = (0, _helperExplodeAssignableExpression().default)(node.left, nodes, this, scope);
|
|
||||||
nodes.push(t().assignmentExpression("=", exploded.ref, build(exploded.uid, node.right)));
|
|
||||||
path.replaceWith(t().sequenceExpression(nodes));
|
|
||||||
},
|
|
||||||
|
|
||||||
BinaryExpression(path) {
|
|
||||||
const {
|
|
||||||
node
|
|
||||||
} = path;
|
|
||||||
|
|
||||||
if (node.operator === operator) {
|
|
||||||
path.replaceWith(build(node.left, node.right));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
47
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/package.json
generated
vendored
47
node_modules/@babel/helper-builder-binary-assignment-operator-visitor/package.json
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-builder-binary-assignment-operator-visitor@7.1.0",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-builder-binary-assignment-operator-visitor@7.1.0",
|
|
||||||
"_id": "@babel/helper-builder-binary-assignment-operator-visitor@7.1.0",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
|
|
||||||
"_location": "/@babel/helper-builder-binary-assignment-operator-visitor",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-builder-binary-assignment-operator-visitor@7.1.0",
|
|
||||||
"name": "@babel/helper-builder-binary-assignment-operator-visitor",
|
|
||||||
"escapedName": "@babel%2fhelper-builder-binary-assignment-operator-visitor",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.1.0",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.1.0"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/plugin-transform-exponentiation-operator"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
|
|
||||||
"_spec": "7.1.0",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-explode-assignable-expression": "^7.1.0",
|
|
||||||
"@babel/types": "^7.0.0"
|
|
||||||
},
|
|
||||||
"description": "Helper function to build binary assignment operator visitors",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-builder-binary-assignment-operator-visitor",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor"
|
|
||||||
},
|
|
||||||
"version": "7.1.0"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-call-delegate/LICENSE
generated
vendored
22
node_modules/@babel/helper-call-delegate/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-call-delegate/README.md
generated
vendored
19
node_modules/@babel/helper-call-delegate/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-call-delegate
|
|
||||||
|
|
||||||
> Helper function to call delegate
|
|
||||||
|
|
||||||
See our website [@babel/helper-call-delegate](https://babeljs.io/docs/en/next/babel-helper-call-delegate.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-call-delegate
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-call-delegate --dev
|
|
||||||
```
|
|
84
node_modules/@babel/helper-call-delegate/lib/index.js
generated
vendored
84
node_modules/@babel/helper-call-delegate/lib/index.js
generated
vendored
@ -1,84 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function _helperHoistVariables() {
|
|
||||||
const data = _interopRequireDefault(require("@babel/helper-hoist-variables"));
|
|
||||||
|
|
||||||
_helperHoistVariables = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
const visitor = {
|
|
||||||
enter(path, state) {
|
|
||||||
if (path.isThisExpression()) {
|
|
||||||
state.foundThis = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (path.isReferencedIdentifier({
|
|
||||||
name: "arguments"
|
|
||||||
})) {
|
|
||||||
state.foundArguments = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
Function(path) {
|
|
||||||
path.skip();
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
function _default(path, scope = path.scope) {
|
|
||||||
const {
|
|
||||||
node
|
|
||||||
} = path;
|
|
||||||
const container = t().functionExpression(null, [], node.body, node.generator, node.async);
|
|
||||||
let callee = container;
|
|
||||||
let args = [];
|
|
||||||
(0, _helperHoistVariables().default)(path, id => scope.push({
|
|
||||||
id
|
|
||||||
}));
|
|
||||||
const state = {
|
|
||||||
foundThis: false,
|
|
||||||
foundArguments: false
|
|
||||||
};
|
|
||||||
path.traverse(visitor, state);
|
|
||||||
|
|
||||||
if (state.foundArguments || state.foundThis) {
|
|
||||||
callee = t().memberExpression(container, t().identifier("apply"));
|
|
||||||
args = [];
|
|
||||||
|
|
||||||
if (state.foundThis) {
|
|
||||||
args.push(t().thisExpression());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state.foundArguments) {
|
|
||||||
if (!state.foundThis) args.push(t().nullLiteral());
|
|
||||||
args.push(t().identifier("arguments"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let call = t().callExpression(callee, args);
|
|
||||||
if (node.generator) call = t().yieldExpression(call, true);
|
|
||||||
return t().returnStatement(call);
|
|
||||||
}
|
|
49
node_modules/@babel/helper-call-delegate/package.json
generated
vendored
49
node_modules/@babel/helper-call-delegate/package.json
generated
vendored
@ -1,49 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-call-delegate@7.4.4",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-call-delegate@7.4.4",
|
|
||||||
"_id": "@babel/helper-call-delegate@7.4.4",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
|
|
||||||
"_location": "/@babel/helper-call-delegate",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-call-delegate@7.4.4",
|
|
||||||
"name": "@babel/helper-call-delegate",
|
|
||||||
"escapedName": "@babel%2fhelper-call-delegate",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.4.4",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.4.4"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/plugin-transform-parameters"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
|
|
||||||
"_spec": "7.4.4",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-hoist-variables": "^7.4.4",
|
|
||||||
"@babel/traverse": "^7.4.4",
|
|
||||||
"@babel/types": "^7.4.4"
|
|
||||||
},
|
|
||||||
"description": "Helper function to call delegate",
|
|
||||||
"gitHead": "2c88694388831b1e5b88e4bbed6781eb2be1edba",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-call-delegate",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate"
|
|
||||||
},
|
|
||||||
"version": "7.4.4"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-define-map/LICENSE
generated
vendored
22
node_modules/@babel/helper-define-map/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-define-map/README.md
generated
vendored
19
node_modules/@babel/helper-define-map/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-define-map
|
|
||||||
|
|
||||||
> Helper function to define a map
|
|
||||||
|
|
||||||
See our website [@babel/helper-define-map](https://babeljs.io/docs/en/next/babel-helper-define-map.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-define-map
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-define-map --dev
|
|
||||||
```
|
|
165
node_modules/@babel/helper-define-map/lib/index.js
generated
vendored
165
node_modules/@babel/helper-define-map/lib/index.js
generated
vendored
@ -1,165 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.push = push;
|
|
||||||
exports.hasComputed = hasComputed;
|
|
||||||
exports.toComputedObjectFromClass = toComputedObjectFromClass;
|
|
||||||
exports.toClassObject = toClassObject;
|
|
||||||
exports.toDefineObject = toDefineObject;
|
|
||||||
|
|
||||||
function _helperFunctionName() {
|
|
||||||
const data = _interopRequireDefault(require("@babel/helper-function-name"));
|
|
||||||
|
|
||||||
_helperFunctionName = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _has() {
|
|
||||||
const data = _interopRequireDefault(require("lodash/has"));
|
|
||||||
|
|
||||||
_has = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
function toKind(node) {
|
|
||||||
if (t().isClassMethod(node) || t().isObjectMethod(node)) {
|
|
||||||
if (node.kind === "get" || node.kind === "set") {
|
|
||||||
return node.kind;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return "value";
|
|
||||||
}
|
|
||||||
|
|
||||||
function push(mutatorMap, node, kind, file, scope) {
|
|
||||||
const alias = t().toKeyAlias(node);
|
|
||||||
let map = {};
|
|
||||||
if ((0, _has().default)(mutatorMap, alias)) map = mutatorMap[alias];
|
|
||||||
mutatorMap[alias] = map;
|
|
||||||
map._inherits = map._inherits || [];
|
|
||||||
|
|
||||||
map._inherits.push(node);
|
|
||||||
|
|
||||||
map._key = node.key;
|
|
||||||
|
|
||||||
if (node.computed) {
|
|
||||||
map._computed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (node.decorators) {
|
|
||||||
const decorators = map.decorators = map.decorators || t().arrayExpression([]);
|
|
||||||
decorators.elements = decorators.elements.concat(node.decorators.map(dec => dec.expression).reverse());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (map.value || map.initializer) {
|
|
||||||
throw file.buildCodeFrameError(node, "Key conflict with sibling node");
|
|
||||||
}
|
|
||||||
|
|
||||||
let key, value;
|
|
||||||
|
|
||||||
if (t().isObjectProperty(node) || t().isObjectMethod(node) || t().isClassMethod(node)) {
|
|
||||||
key = t().toComputedKey(node, node.key);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t().isProperty(node)) {
|
|
||||||
value = node.value;
|
|
||||||
} else if (t().isObjectMethod(node) || t().isClassMethod(node)) {
|
|
||||||
value = t().functionExpression(null, node.params, node.body, node.generator, node.async);
|
|
||||||
value.returnType = node.returnType;
|
|
||||||
}
|
|
||||||
|
|
||||||
const inheritedKind = toKind(node);
|
|
||||||
|
|
||||||
if (!kind || inheritedKind !== "value") {
|
|
||||||
kind = inheritedKind;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (scope && t().isStringLiteral(key) && (kind === "value" || kind === "initializer") && t().isFunctionExpression(value)) {
|
|
||||||
value = (0, _helperFunctionName().default)({
|
|
||||||
id: key,
|
|
||||||
node: value,
|
|
||||||
scope
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (value) {
|
|
||||||
t().inheritsComments(value, node);
|
|
||||||
map[kind] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
function hasComputed(mutatorMap) {
|
|
||||||
for (const key of Object.keys(mutatorMap)) {
|
|
||||||
if (mutatorMap[key]._computed) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toComputedObjectFromClass(obj) {
|
|
||||||
const objExpr = t().arrayExpression([]);
|
|
||||||
|
|
||||||
for (let i = 0; i < obj.properties.length; i++) {
|
|
||||||
const prop = obj.properties[i];
|
|
||||||
const val = prop.value;
|
|
||||||
val.properties.unshift(t().objectProperty(t().identifier("key"), t().toComputedKey(prop)));
|
|
||||||
objExpr.elements.push(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
return objExpr;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toClassObject(mutatorMap) {
|
|
||||||
const objExpr = t().objectExpression([]);
|
|
||||||
Object.keys(mutatorMap).forEach(function (mutatorMapKey) {
|
|
||||||
const map = mutatorMap[mutatorMapKey];
|
|
||||||
const mapNode = t().objectExpression([]);
|
|
||||||
const propNode = t().objectProperty(map._key, mapNode, map._computed);
|
|
||||||
Object.keys(map).forEach(function (key) {
|
|
||||||
const node = map[key];
|
|
||||||
if (key[0] === "_") return;
|
|
||||||
const prop = t().objectProperty(t().identifier(key), node);
|
|
||||||
t().inheritsComments(prop, node);
|
|
||||||
t().removeComments(node);
|
|
||||||
mapNode.properties.push(prop);
|
|
||||||
});
|
|
||||||
objExpr.properties.push(propNode);
|
|
||||||
});
|
|
||||||
return objExpr;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toDefineObject(mutatorMap) {
|
|
||||||
Object.keys(mutatorMap).forEach(function (key) {
|
|
||||||
const map = mutatorMap[key];
|
|
||||||
if (map.value) map.writable = t().booleanLiteral(true);
|
|
||||||
map.configurable = t().booleanLiteral(true);
|
|
||||||
map.enumerable = t().booleanLiteral(true);
|
|
||||||
});
|
|
||||||
return toClassObject(mutatorMap);
|
|
||||||
}
|
|
49
node_modules/@babel/helper-define-map/package.json
generated
vendored
49
node_modules/@babel/helper-define-map/package.json
generated
vendored
@ -1,49 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-define-map@7.5.5",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-define-map@7.5.5",
|
|
||||||
"_id": "@babel/helper-define-map@7.5.5",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
|
|
||||||
"_location": "/@babel/helper-define-map",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-define-map@7.5.5",
|
|
||||||
"name": "@babel/helper-define-map",
|
|
||||||
"escapedName": "@babel%2fhelper-define-map",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.5.5",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.5.5"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/plugin-transform-classes"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
|
|
||||||
"_spec": "7.5.5",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-function-name": "^7.1.0",
|
|
||||||
"@babel/types": "^7.5.5",
|
|
||||||
"lodash": "^4.17.13"
|
|
||||||
},
|
|
||||||
"description": "Helper function to define a map",
|
|
||||||
"gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-define-map",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-define-map"
|
|
||||||
},
|
|
||||||
"version": "7.5.5"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-explode-assignable-expression/LICENSE
generated
vendored
22
node_modules/@babel/helper-explode-assignable-expression/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-2018 Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-explode-assignable-expression/README.md
generated
vendored
19
node_modules/@babel/helper-explode-assignable-expression/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-explode-assignable-expression
|
|
||||||
|
|
||||||
> Helper function to explode an assignable expression
|
|
||||||
|
|
||||||
See our website [@babel/helper-explode-assignable-expression](https://babeljs.io/docs/en/next/babel-helper-explode-assignable-expression.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-explode-assignable-expression
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-explode-assignable-expression --dev
|
|
||||||
```
|
|
86
node_modules/@babel/helper-explode-assignable-expression/lib/index.js
generated
vendored
86
node_modules/@babel/helper-explode-assignable-expression/lib/index.js
generated
vendored
@ -1,86 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function getObjRef(node, nodes, file, scope) {
|
|
||||||
let ref;
|
|
||||||
|
|
||||||
if (t().isSuper(node)) {
|
|
||||||
return node;
|
|
||||||
} else if (t().isIdentifier(node)) {
|
|
||||||
if (scope.hasBinding(node.name)) {
|
|
||||||
return node;
|
|
||||||
} else {
|
|
||||||
ref = node;
|
|
||||||
}
|
|
||||||
} else if (t().isMemberExpression(node)) {
|
|
||||||
ref = node.object;
|
|
||||||
|
|
||||||
if (t().isSuper(ref) || t().isIdentifier(ref) && scope.hasBinding(ref.name)) {
|
|
||||||
return ref;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new Error(`We can't explode this node type ${node.type}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const temp = scope.generateUidIdentifierBasedOnNode(ref);
|
|
||||||
scope.push({
|
|
||||||
id: temp
|
|
||||||
});
|
|
||||||
nodes.push(t().assignmentExpression("=", t().cloneNode(temp), t().cloneNode(ref)));
|
|
||||||
return temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPropRef(node, nodes, file, scope) {
|
|
||||||
const prop = node.property;
|
|
||||||
const key = t().toComputedKey(node, prop);
|
|
||||||
if (t().isLiteral(key) && t().isPureish(key)) return key;
|
|
||||||
const temp = scope.generateUidIdentifierBasedOnNode(prop);
|
|
||||||
scope.push({
|
|
||||||
id: temp
|
|
||||||
});
|
|
||||||
nodes.push(t().assignmentExpression("=", t().cloneNode(temp), t().cloneNode(prop)));
|
|
||||||
return temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _default(node, nodes, file, scope, allowedSingleIdent) {
|
|
||||||
let obj;
|
|
||||||
|
|
||||||
if (t().isIdentifier(node) && allowedSingleIdent) {
|
|
||||||
obj = node;
|
|
||||||
} else {
|
|
||||||
obj = getObjRef(node, nodes, file, scope);
|
|
||||||
}
|
|
||||||
|
|
||||||
let ref, uid;
|
|
||||||
|
|
||||||
if (t().isIdentifier(node)) {
|
|
||||||
ref = t().cloneNode(node);
|
|
||||||
uid = obj;
|
|
||||||
} else {
|
|
||||||
const prop = getPropRef(node, nodes, file, scope);
|
|
||||||
const computed = node.computed || t().isLiteral(prop);
|
|
||||||
uid = t().memberExpression(t().cloneNode(obj), t().cloneNode(prop), computed);
|
|
||||||
ref = t().memberExpression(t().cloneNode(obj), t().cloneNode(prop), computed);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
uid: uid,
|
|
||||||
ref: ref
|
|
||||||
};
|
|
||||||
}
|
|
47
node_modules/@babel/helper-explode-assignable-expression/package.json
generated
vendored
47
node_modules/@babel/helper-explode-assignable-expression/package.json
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-explode-assignable-expression@7.1.0",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-explode-assignable-expression@7.1.0",
|
|
||||||
"_id": "@babel/helper-explode-assignable-expression@7.1.0",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
|
|
||||||
"_location": "/@babel/helper-explode-assignable-expression",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-explode-assignable-expression@7.1.0",
|
|
||||||
"name": "@babel/helper-explode-assignable-expression",
|
|
||||||
"escapedName": "@babel%2fhelper-explode-assignable-expression",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.1.0",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.1.0"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/helper-builder-binary-assignment-operator-visitor"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
|
|
||||||
"_spec": "7.1.0",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/traverse": "^7.1.0",
|
|
||||||
"@babel/types": "^7.0.0"
|
|
||||||
},
|
|
||||||
"description": "Helper function to explode an assignable expression",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-explode-assignable-expression",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression"
|
|
||||||
},
|
|
||||||
"version": "7.1.0"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-function-name/LICENSE
generated
vendored
22
node_modules/@babel/helper-function-name/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-2018 Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-function-name/README.md
generated
vendored
19
node_modules/@babel/helper-function-name/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-function-name
|
|
||||||
|
|
||||||
> Helper function to change the property 'name' of every function
|
|
||||||
|
|
||||||
See our website [@babel/helper-function-name](https://babeljs.io/docs/en/next/babel-helper-function-name.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-function-name
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-function-name --dev
|
|
||||||
```
|
|
198
node_modules/@babel/helper-function-name/lib/index.js
generated
vendored
198
node_modules/@babel/helper-function-name/lib/index.js
generated
vendored
@ -1,198 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function _helperGetFunctionArity() {
|
|
||||||
const data = _interopRequireDefault(require("@babel/helper-get-function-arity"));
|
|
||||||
|
|
||||||
_helperGetFunctionArity = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _template() {
|
|
||||||
const data = _interopRequireDefault(require("@babel/template"));
|
|
||||||
|
|
||||||
_template = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
const buildPropertyMethodAssignmentWrapper = (0, _template().default)(`
|
|
||||||
(function (FUNCTION_KEY) {
|
|
||||||
function FUNCTION_ID() {
|
|
||||||
return FUNCTION_KEY.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
FUNCTION_ID.toString = function () {
|
|
||||||
return FUNCTION_KEY.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
return FUNCTION_ID;
|
|
||||||
})(FUNCTION)
|
|
||||||
`);
|
|
||||||
const buildGeneratorPropertyMethodAssignmentWrapper = (0, _template().default)(`
|
|
||||||
(function (FUNCTION_KEY) {
|
|
||||||
function* FUNCTION_ID() {
|
|
||||||
return yield* FUNCTION_KEY.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
FUNCTION_ID.toString = function () {
|
|
||||||
return FUNCTION_KEY.toString();
|
|
||||||
};
|
|
||||||
|
|
||||||
return FUNCTION_ID;
|
|
||||||
})(FUNCTION)
|
|
||||||
`);
|
|
||||||
const visitor = {
|
|
||||||
"ReferencedIdentifier|BindingIdentifier"(path, state) {
|
|
||||||
if (path.node.name !== state.name) return;
|
|
||||||
const localDeclar = path.scope.getBindingIdentifier(state.name);
|
|
||||||
if (localDeclar !== state.outerDeclar) return;
|
|
||||||
state.selfReference = true;
|
|
||||||
path.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
function getNameFromLiteralId(id) {
|
|
||||||
if (t().isNullLiteral(id)) {
|
|
||||||
return "null";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t().isRegExpLiteral(id)) {
|
|
||||||
return `_${id.pattern}_${id.flags}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (t().isTemplateLiteral(id)) {
|
|
||||||
return id.quasis.map(quasi => quasi.value.raw).join("");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (id.value !== undefined) {
|
|
||||||
return id.value + "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
function wrap(state, method, id, scope) {
|
|
||||||
if (state.selfReference) {
|
|
||||||
if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) {
|
|
||||||
scope.rename(id.name);
|
|
||||||
} else {
|
|
||||||
if (!t().isFunction(method)) return;
|
|
||||||
let build = buildPropertyMethodAssignmentWrapper;
|
|
||||||
|
|
||||||
if (method.generator) {
|
|
||||||
build = buildGeneratorPropertyMethodAssignmentWrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
const template = build({
|
|
||||||
FUNCTION: method,
|
|
||||||
FUNCTION_ID: id,
|
|
||||||
FUNCTION_KEY: scope.generateUidIdentifier(id.name)
|
|
||||||
}).expression;
|
|
||||||
const params = template.callee.body.body[0].params;
|
|
||||||
|
|
||||||
for (let i = 0, len = (0, _helperGetFunctionArity().default)(method); i < len; i++) {
|
|
||||||
params.push(scope.generateUidIdentifier("x"));
|
|
||||||
}
|
|
||||||
|
|
||||||
return template;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
method.id = id;
|
|
||||||
scope.getProgramParent().references[id.name] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function visit(node, name, scope) {
|
|
||||||
const state = {
|
|
||||||
selfAssignment: false,
|
|
||||||
selfReference: false,
|
|
||||||
outerDeclar: scope.getBindingIdentifier(name),
|
|
||||||
references: [],
|
|
||||||
name: name
|
|
||||||
};
|
|
||||||
const binding = scope.getOwnBinding(name);
|
|
||||||
|
|
||||||
if (binding) {
|
|
||||||
if (binding.kind === "param") {
|
|
||||||
state.selfReference = true;
|
|
||||||
} else {}
|
|
||||||
} else if (state.outerDeclar || scope.hasGlobal(name)) {
|
|
||||||
scope.traverse(node, visitor, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _default({
|
|
||||||
node,
|
|
||||||
parent,
|
|
||||||
scope,
|
|
||||||
id
|
|
||||||
}, localBinding = false) {
|
|
||||||
if (node.id) return;
|
|
||||||
|
|
||||||
if ((t().isObjectProperty(parent) || t().isObjectMethod(parent, {
|
|
||||||
kind: "method"
|
|
||||||
})) && (!parent.computed || t().isLiteral(parent.key))) {
|
|
||||||
id = parent.key;
|
|
||||||
} else if (t().isVariableDeclarator(parent)) {
|
|
||||||
id = parent.id;
|
|
||||||
|
|
||||||
if (t().isIdentifier(id) && !localBinding) {
|
|
||||||
const binding = scope.parent.getBinding(id.name);
|
|
||||||
|
|
||||||
if (binding && binding.constant && scope.getBinding(id.name) === binding) {
|
|
||||||
node.id = t().cloneNode(id);
|
|
||||||
node.id[t().NOT_LOCAL_BINDING] = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (t().isAssignmentExpression(parent)) {
|
|
||||||
id = parent.left;
|
|
||||||
} else if (!id) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let name;
|
|
||||||
|
|
||||||
if (id && t().isLiteral(id)) {
|
|
||||||
name = getNameFromLiteralId(id);
|
|
||||||
} else if (id && t().isIdentifier(id)) {
|
|
||||||
name = id.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name === undefined) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
name = t().toBindingIdentifierName(name);
|
|
||||||
id = t().identifier(name);
|
|
||||||
id[t().NOT_LOCAL_BINDING] = true;
|
|
||||||
const state = visit(node, name, scope);
|
|
||||||
return wrap(state, node, id, scope) || node;
|
|
||||||
}
|
|
52
node_modules/@babel/helper-function-name/package.json
generated
vendored
52
node_modules/@babel/helper-function-name/package.json
generated
vendored
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-function-name@7.1.0",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-function-name@7.1.0",
|
|
||||||
"_id": "@babel/helper-function-name@7.1.0",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
|
|
||||||
"_location": "/@babel/helper-function-name",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-function-name@7.1.0",
|
|
||||||
"name": "@babel/helper-function-name",
|
|
||||||
"escapedName": "@babel%2fhelper-function-name",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.1.0",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.1.0"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/helper-define-map",
|
|
||||||
"/@babel/helper-wrap-function",
|
|
||||||
"/@babel/plugin-transform-classes",
|
|
||||||
"/@babel/plugin-transform-function-name",
|
|
||||||
"/@babel/traverse"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
|
|
||||||
"_spec": "7.1.0",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-get-function-arity": "^7.0.0",
|
|
||||||
"@babel/template": "^7.1.0",
|
|
||||||
"@babel/types": "^7.0.0"
|
|
||||||
},
|
|
||||||
"description": "Helper function to change the property 'name' of every function",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-function-name",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-function-name"
|
|
||||||
},
|
|
||||||
"version": "7.1.0"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-get-function-arity/LICENSE
generated
vendored
22
node_modules/@babel/helper-get-function-arity/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-2018 Sebastian McKenzie <sebmck@gmail.com>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-get-function-arity/README.md
generated
vendored
19
node_modules/@babel/helper-get-function-arity/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-get-function-arity
|
|
||||||
|
|
||||||
> Helper function to get function arity
|
|
||||||
|
|
||||||
See our website [@babel/helper-get-function-arity](https://babeljs.io/docs/en/next/babel-helper-get-function-arity.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-get-function-arity
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-get-function-arity --dev
|
|
||||||
```
|
|
32
node_modules/@babel/helper-get-function-arity/lib/index.js
generated
vendored
32
node_modules/@babel/helper-get-function-arity/lib/index.js
generated
vendored
@ -1,32 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _default(node) {
|
|
||||||
const params = node.params;
|
|
||||||
|
|
||||||
for (let i = 0; i < params.length; i++) {
|
|
||||||
const param = params[i];
|
|
||||||
|
|
||||||
if (t().isAssignmentPattern(param) || t().isRestElement(param)) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return params.length;
|
|
||||||
}
|
|
44
node_modules/@babel/helper-get-function-arity/package.json
generated
vendored
44
node_modules/@babel/helper-get-function-arity/package.json
generated
vendored
@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-get-function-arity@7.0.0",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-get-function-arity@7.0.0",
|
|
||||||
"_id": "@babel/helper-get-function-arity@7.0.0",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
|
|
||||||
"_location": "/@babel/helper-get-function-arity",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-get-function-arity@7.0.0",
|
|
||||||
"name": "@babel/helper-get-function-arity",
|
|
||||||
"escapedName": "@babel%2fhelper-get-function-arity",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.0.0",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.0.0"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/helper-function-name",
|
|
||||||
"/@babel/plugin-transform-parameters"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
|
|
||||||
"_spec": "7.0.0",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/types": "^7.0.0"
|
|
||||||
},
|
|
||||||
"description": "Helper function to get function arity",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-get-function-arity",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity"
|
|
||||||
},
|
|
||||||
"version": "7.0.0"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-hoist-variables/LICENSE
generated
vendored
22
node_modules/@babel/helper-hoist-variables/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-hoist-variables/README.md
generated
vendored
19
node_modules/@babel/helper-hoist-variables/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-hoist-variables
|
|
||||||
|
|
||||||
> Helper function to hoist variables
|
|
||||||
|
|
||||||
See our website [@babel/helper-hoist-variables](https://babeljs.io/docs/en/next/babel-helper-hoist-variables.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-hoist-variables
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-hoist-variables --dev
|
|
||||||
```
|
|
63
node_modules/@babel/helper-hoist-variables/lib/index.js
generated
vendored
63
node_modules/@babel/helper-hoist-variables/lib/index.js
generated
vendored
@ -1,63 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = _default;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
const visitor = {
|
|
||||||
Scope(path, state) {
|
|
||||||
if (state.kind === "let") path.skip();
|
|
||||||
},
|
|
||||||
|
|
||||||
Function(path) {
|
|
||||||
path.skip();
|
|
||||||
},
|
|
||||||
|
|
||||||
VariableDeclaration(path, state) {
|
|
||||||
if (state.kind && path.node.kind !== state.kind) return;
|
|
||||||
const nodes = [];
|
|
||||||
const declarations = path.get("declarations");
|
|
||||||
let firstId;
|
|
||||||
|
|
||||||
for (const declar of declarations) {
|
|
||||||
firstId = declar.node.id;
|
|
||||||
|
|
||||||
if (declar.node.init) {
|
|
||||||
nodes.push(t().expressionStatement(t().assignmentExpression("=", declar.node.id, declar.node.init)));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const name of Object.keys(declar.getBindingIdentifiers())) {
|
|
||||||
state.emit(t().identifier(name), name, declar.node.init !== null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (path.parentPath.isFor({
|
|
||||||
left: path.node
|
|
||||||
})) {
|
|
||||||
path.replaceWith(firstId);
|
|
||||||
} else {
|
|
||||||
path.replaceWithMultiple(nodes);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
function _default(path, emit, kind = "var") {
|
|
||||||
path.traverse(visitor, {
|
|
||||||
kind,
|
|
||||||
emit
|
|
||||||
});
|
|
||||||
}
|
|
48
node_modules/@babel/helper-hoist-variables/package.json
generated
vendored
48
node_modules/@babel/helper-hoist-variables/package.json
generated
vendored
@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-hoist-variables@7.4.4",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-hoist-variables@7.4.4",
|
|
||||||
"_id": "@babel/helper-hoist-variables@7.4.4",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
|
|
||||||
"_location": "/@babel/helper-hoist-variables",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-hoist-variables@7.4.4",
|
|
||||||
"name": "@babel/helper-hoist-variables",
|
|
||||||
"escapedName": "@babel%2fhelper-hoist-variables",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.4.4",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.4.4"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/helper-call-delegate",
|
|
||||||
"/@babel/plugin-transform-modules-systemjs"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
|
|
||||||
"_spec": "7.4.4",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/types": "^7.4.4"
|
|
||||||
},
|
|
||||||
"description": "Helper function to hoist variables",
|
|
||||||
"gitHead": "2c88694388831b1e5b88e4bbed6781eb2be1edba",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-hoist-variables",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables"
|
|
||||||
},
|
|
||||||
"version": "7.4.4"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-member-expression-to-functions/LICENSE
generated
vendored
22
node_modules/@babel/helper-member-expression-to-functions/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-member-expression-to-functions/README.md
generated
vendored
19
node_modules/@babel/helper-member-expression-to-functions/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-member-expression-to-functions
|
|
||||||
|
|
||||||
> Helper function to replace certain member expressions with function calls
|
|
||||||
|
|
||||||
See our website [@babel/helper-member-expression-to-functions](https://babeljs.io/docs/en/next/babel-helper-member-expression-to-functions.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-member-expression-to-functions
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-member-expression-to-functions --dev
|
|
||||||
```
|
|
142
node_modules/@babel/helper-member-expression-to-functions/lib/index.js
generated
vendored
142
node_modules/@babel/helper-member-expression-to-functions/lib/index.js
generated
vendored
@ -1,142 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = memberExpressionToFunctions;
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
class AssignmentMemoiser {
|
|
||||||
constructor() {
|
|
||||||
this._map = new WeakMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
has(key) {
|
|
||||||
return this._map.has(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
get(key) {
|
|
||||||
if (!this.has(key)) return;
|
|
||||||
|
|
||||||
const record = this._map.get(key);
|
|
||||||
|
|
||||||
const {
|
|
||||||
value
|
|
||||||
} = record;
|
|
||||||
record.count--;
|
|
||||||
|
|
||||||
if (record.count === 0) {
|
|
||||||
return t().assignmentExpression("=", value, key);
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
set(key, value, count) {
|
|
||||||
return this._map.set(key, {
|
|
||||||
count,
|
|
||||||
value
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
const handle = {
|
|
||||||
memoise() {},
|
|
||||||
|
|
||||||
handle(member) {
|
|
||||||
const {
|
|
||||||
node,
|
|
||||||
parent,
|
|
||||||
parentPath
|
|
||||||
} = member;
|
|
||||||
|
|
||||||
if (parentPath.isUpdateExpression({
|
|
||||||
argument: node
|
|
||||||
})) {
|
|
||||||
const {
|
|
||||||
operator,
|
|
||||||
prefix
|
|
||||||
} = parent;
|
|
||||||
this.memoise(member, 2);
|
|
||||||
const value = t().binaryExpression(operator[0], t().unaryExpression("+", this.get(member)), t().numericLiteral(1));
|
|
||||||
|
|
||||||
if (prefix) {
|
|
||||||
parentPath.replaceWith(this.set(member, value));
|
|
||||||
} else {
|
|
||||||
const {
|
|
||||||
scope
|
|
||||||
} = member;
|
|
||||||
const ref = scope.generateUidIdentifierBasedOnNode(node);
|
|
||||||
scope.push({
|
|
||||||
id: ref
|
|
||||||
});
|
|
||||||
value.left = t().assignmentExpression("=", t().cloneNode(ref), value.left);
|
|
||||||
parentPath.replaceWith(t().sequenceExpression([this.set(member, value), t().cloneNode(ref)]));
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parentPath.isAssignmentExpression({
|
|
||||||
left: node
|
|
||||||
})) {
|
|
||||||
const {
|
|
||||||
operator,
|
|
||||||
right
|
|
||||||
} = parent;
|
|
||||||
let value = right;
|
|
||||||
|
|
||||||
if (operator !== "=") {
|
|
||||||
this.memoise(member, 2);
|
|
||||||
value = t().binaryExpression(operator.slice(0, -1), this.get(member), value);
|
|
||||||
}
|
|
||||||
|
|
||||||
parentPath.replaceWith(this.set(member, value));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parentPath.isCallExpression({
|
|
||||||
callee: node
|
|
||||||
})) {
|
|
||||||
const {
|
|
||||||
arguments: args
|
|
||||||
} = parent;
|
|
||||||
parentPath.replaceWith(this.call(member, args));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parentPath.isObjectProperty({
|
|
||||||
value: node
|
|
||||||
}) && parentPath.parentPath.isObjectPattern() || parentPath.isAssignmentPattern({
|
|
||||||
left: node
|
|
||||||
}) && parentPath.parentPath.isObjectProperty({
|
|
||||||
value: parent
|
|
||||||
}) && parentPath.parentPath.parentPath.isObjectPattern() || parentPath.isArrayPattern() || parentPath.isAssignmentPattern({
|
|
||||||
left: node
|
|
||||||
}) && parentPath.parentPath.isArrayPattern() || parentPath.isRestElement()) {
|
|
||||||
member.replaceWith(this.destructureSet(member));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
member.replaceWith(this.get(member));
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
function memberExpressionToFunctions(path, visitor, state) {
|
|
||||||
path.traverse(visitor, Object.assign({}, handle, state, {
|
|
||||||
memoiser: new AssignmentMemoiser()
|
|
||||||
}));
|
|
||||||
}
|
|
51
node_modules/@babel/helper-member-expression-to-functions/package.json
generated
vendored
51
node_modules/@babel/helper-member-expression-to-functions/package.json
generated
vendored
@ -1,51 +0,0 @@
|
|||||||
{
|
|
||||||
"_args": [
|
|
||||||
[
|
|
||||||
"@babel/helper-member-expression-to-functions@7.5.5",
|
|
||||||
"E:\\python\\setup-php"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"_from": "@babel/helper-member-expression-to-functions@7.5.5",
|
|
||||||
"_id": "@babel/helper-member-expression-to-functions@7.5.5",
|
|
||||||
"_inBundle": false,
|
|
||||||
"_integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
|
|
||||||
"_location": "/@babel/helper-member-expression-to-functions",
|
|
||||||
"_phantomChildren": {},
|
|
||||||
"_requested": {
|
|
||||||
"type": "version",
|
|
||||||
"registry": true,
|
|
||||||
"raw": "@babel/helper-member-expression-to-functions@7.5.5",
|
|
||||||
"name": "@babel/helper-member-expression-to-functions",
|
|
||||||
"escapedName": "@babel%2fhelper-member-expression-to-functions",
|
|
||||||
"scope": "@babel",
|
|
||||||
"rawSpec": "7.5.5",
|
|
||||||
"saveSpec": null,
|
|
||||||
"fetchSpec": "7.5.5"
|
|
||||||
},
|
|
||||||
"_requiredBy": [
|
|
||||||
"/@babel/helper-replace-supers"
|
|
||||||
],
|
|
||||||
"_resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
|
|
||||||
"_spec": "7.5.5",
|
|
||||||
"_where": "E:\\python\\setup-php",
|
|
||||||
"author": {
|
|
||||||
"name": "Justin Ridgewell",
|
|
||||||
"email": "justin@ridgewell.name"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/types": "^7.5.5"
|
|
||||||
},
|
|
||||||
"description": "Helper function to replace certain member expressions with function calls",
|
|
||||||
"gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43",
|
|
||||||
"license": "MIT",
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"name": "@babel/helper-member-expression-to-functions",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-member-expression-to-functions"
|
|
||||||
},
|
|
||||||
"version": "7.5.5"
|
|
||||||
}
|
|
22
node_modules/@babel/helper-module-imports/LICENSE
generated
vendored
22
node_modules/@babel/helper-module-imports/LICENSE
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2014-2018 Sebastian McKenzie <sebmck@gmail.com>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
19
node_modules/@babel/helper-module-imports/README.md
generated
vendored
19
node_modules/@babel/helper-module-imports/README.md
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
# @babel/helper-module-imports
|
|
||||||
|
|
||||||
> Babel helper functions for inserting module loads
|
|
||||||
|
|
||||||
See our website [@babel/helper-module-imports](https://babeljs.io/docs/en/next/babel-helper-module-imports.html) for more information.
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
Using npm:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --save-dev @babel/helper-module-imports
|
|
||||||
```
|
|
||||||
|
|
||||||
or using yarn:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn add @babel/helper-module-imports --dev
|
|
||||||
```
|
|
153
node_modules/@babel/helper-module-imports/lib/import-builder.js
generated
vendored
153
node_modules/@babel/helper-module-imports/lib/import-builder.js
generated
vendored
@ -1,153 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _assert() {
|
|
||||||
const data = _interopRequireDefault(require("assert"));
|
|
||||||
|
|
||||||
_assert = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
class ImportBuilder {
|
|
||||||
constructor(importedSource, scope, hub) {
|
|
||||||
this._statements = [];
|
|
||||||
this._resultName = null;
|
|
||||||
this._scope = null;
|
|
||||||
this._hub = null;
|
|
||||||
this._scope = scope;
|
|
||||||
this._hub = hub;
|
|
||||||
this._importedSource = importedSource;
|
|
||||||
}
|
|
||||||
|
|
||||||
done() {
|
|
||||||
return {
|
|
||||||
statements: this._statements,
|
|
||||||
resultName: this._resultName
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
import() {
|
|
||||||
this._statements.push(t().importDeclaration([], t().stringLiteral(this._importedSource)));
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
require() {
|
|
||||||
this._statements.push(t().expressionStatement(t().callExpression(t().identifier("require"), [t().stringLiteral(this._importedSource)])));
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace(name = "namespace") {
|
|
||||||
name = this._scope.generateUidIdentifier(name);
|
|
||||||
const statement = this._statements[this._statements.length - 1];
|
|
||||||
(0, _assert().default)(statement.type === "ImportDeclaration");
|
|
||||||
(0, _assert().default)(statement.specifiers.length === 0);
|
|
||||||
statement.specifiers = [t().importNamespaceSpecifier(name)];
|
|
||||||
this._resultName = t().cloneNode(name);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
default(name) {
|
|
||||||
name = this._scope.generateUidIdentifier(name);
|
|
||||||
const statement = this._statements[this._statements.length - 1];
|
|
||||||
(0, _assert().default)(statement.type === "ImportDeclaration");
|
|
||||||
(0, _assert().default)(statement.specifiers.length === 0);
|
|
||||||
statement.specifiers = [t().importDefaultSpecifier(name)];
|
|
||||||
this._resultName = t().cloneNode(name);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
named(name, importName) {
|
|
||||||
if (importName === "default") return this.default(name);
|
|
||||||
name = this._scope.generateUidIdentifier(name);
|
|
||||||
const statement = this._statements[this._statements.length - 1];
|
|
||||||
(0, _assert().default)(statement.type === "ImportDeclaration");
|
|
||||||
(0, _assert().default)(statement.specifiers.length === 0);
|
|
||||||
statement.specifiers = [t().importSpecifier(name, t().identifier(importName))];
|
|
||||||
this._resultName = t().cloneNode(name);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
var(name) {
|
|
||||||
name = this._scope.generateUidIdentifier(name);
|
|
||||||
let statement = this._statements[this._statements.length - 1];
|
|
||||||
|
|
||||||
if (statement.type !== "ExpressionStatement") {
|
|
||||||
(0, _assert().default)(this._resultName);
|
|
||||||
statement = t().expressionStatement(this._resultName);
|
|
||||||
|
|
||||||
this._statements.push(statement);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._statements[this._statements.length - 1] = t().variableDeclaration("var", [t().variableDeclarator(name, statement.expression)]);
|
|
||||||
this._resultName = t().cloneNode(name);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultInterop() {
|
|
||||||
return this._interop(this._hub.addHelper("interopRequireDefault"));
|
|
||||||
}
|
|
||||||
|
|
||||||
wildcardInterop() {
|
|
||||||
return this._interop(this._hub.addHelper("interopRequireWildcard"));
|
|
||||||
}
|
|
||||||
|
|
||||||
_interop(callee) {
|
|
||||||
const statement = this._statements[this._statements.length - 1];
|
|
||||||
|
|
||||||
if (statement.type === "ExpressionStatement") {
|
|
||||||
statement.expression = t().callExpression(callee, [statement.expression]);
|
|
||||||
} else if (statement.type === "VariableDeclaration") {
|
|
||||||
(0, _assert().default)(statement.declarations.length === 1);
|
|
||||||
statement.declarations[0].init = t().callExpression(callee, [statement.declarations[0].init]);
|
|
||||||
} else {
|
|
||||||
_assert().default.fail("Unexpected type.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
prop(name) {
|
|
||||||
const statement = this._statements[this._statements.length - 1];
|
|
||||||
|
|
||||||
if (statement.type === "ExpressionStatement") {
|
|
||||||
statement.expression = t().memberExpression(statement.expression, t().identifier(name));
|
|
||||||
} else if (statement.type === "VariableDeclaration") {
|
|
||||||
(0, _assert().default)(statement.declarations.length === 1);
|
|
||||||
statement.declarations[0].init = t().memberExpression(statement.declarations[0].init, t().identifier(name));
|
|
||||||
} else {
|
|
||||||
_assert().default.fail("Unexpected type:" + statement.type);
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
read(name) {
|
|
||||||
this._resultName = t().memberExpression(this._resultName, t().identifier(name));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.default = ImportBuilder;
|
|
285
node_modules/@babel/helper-module-imports/lib/import-injector.js
generated
vendored
285
node_modules/@babel/helper-module-imports/lib/import-injector.js
generated
vendored
@ -1,285 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.default = void 0;
|
|
||||||
|
|
||||||
function _assert() {
|
|
||||||
const data = _interopRequireDefault(require("assert"));
|
|
||||||
|
|
||||||
_assert = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function t() {
|
|
||||||
const data = _interopRequireWildcard(require("@babel/types"));
|
|
||||||
|
|
||||||
t = function () {
|
|
||||||
return data;
|
|
||||||
};
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _importBuilder = _interopRequireDefault(require("./import-builder"));
|
|
||||||
|
|
||||||
var _isModule = _interopRequireDefault(require("./is-module"));
|
|
||||||
|
|
||||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
class ImportInjector {
|
|
||||||
constructor(path, importedSource, opts) {
|
|
||||||
this._defaultOpts = {
|
|
||||||
importedSource: null,
|
|
||||||
importedType: "commonjs",
|
|
||||||
importedInterop: "babel",
|
|
||||||
importingInterop: "babel",
|
|
||||||
ensureLiveReference: false,
|
|
||||||
ensureNoContext: false
|
|
||||||
};
|
|
||||||
const programPath = path.find(p => p.isProgram());
|
|
||||||
this._programPath = programPath;
|
|
||||||
this._programScope = programPath.scope;
|
|
||||||
this._hub = programPath.hub;
|
|
||||||
this._defaultOpts = this._applyDefaults(importedSource, opts, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
addDefault(importedSourceIn, opts) {
|
|
||||||
return this.addNamed("default", importedSourceIn, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
addNamed(importName, importedSourceIn, opts) {
|
|
||||||
(0, _assert().default)(typeof importName === "string");
|
|
||||||
return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName);
|
|
||||||
}
|
|
||||||
|
|
||||||
addNamespace(importedSourceIn, opts) {
|
|
||||||
return this._generateImport(this._applyDefaults(importedSourceIn, opts), null);
|
|
||||||
}
|
|
||||||
|
|
||||||
addSideEffect(importedSourceIn, opts) {
|
|
||||||
return this._generateImport(this._applyDefaults(importedSourceIn, opts), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
_applyDefaults(importedSource, opts, isInit = false) {
|
|
||||||
const optsList = [];
|
|
||||||
|
|
||||||
if (typeof importedSource === "string") {
|
|
||||||
optsList.push({
|
|
||||||
importedSource
|
|
||||||
});
|
|
||||||
optsList.push(opts);
|
|
||||||
} else {
|
|
||||||
(0, _assert().default)(!opts, "Unexpected secondary arguments.");
|
|
||||||
optsList.push(importedSource);
|
|
||||||
}
|
|
||||||
|
|
||||||
const newOpts = Object.assign({}, this._defaultOpts);
|
|
||||||
|
|
||||||
for (const opts of optsList) {
|
|
||||||
if (!opts) continue;
|
|
||||||
Object.keys(newOpts).forEach(key => {
|
|
||||||
if (opts[key] !== undefined) newOpts[key] = opts[key];
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!isInit) {
|
|
||||||
if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;
|
|
||||||
if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return newOpts;
|
|
||||||
}
|
|
||||||
|
|
||||||
_generateImport(opts, importName) {
|
|
||||||
const isDefault = importName === "default";
|
|
||||||
const isNamed = !!importName && !isDefault;
|
|
||||||
const isNamespace = importName === null;
|
|
||||||
const {
|
|
||||||
importedSource,
|
|
||||||
importedType,
|
|
||||||
importedInterop,
|
|
||||||
importingInterop,
|
|
||||||
ensureLiveReference,
|
|
||||||
ensureNoContext,
|
|
||||||
nameHint,
|
|
||||||
blockHoist
|
|
||||||
} = opts;
|
|
||||||
let name = nameHint || importName;
|
|
||||||
const isMod = (0, _isModule.default)(this._programPath);
|
|
||||||
const isModuleForNode = isMod && importingInterop === "node";
|
|
||||||
const isModuleForBabel = isMod && importingInterop === "babel";
|
|
||||||
const builder = new _importBuilder.default(importedSource, this._programScope, this._hub);
|
|
||||||
|
|
||||||
if (importedType === "es6") {
|
|
||||||
if (!isModuleForNode && !isModuleForBabel) {
|
|
||||||
throw new Error("Cannot import an ES6 module from CommonJS");
|
|
||||||
}
|
|
||||||
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.namespace(nameHint || importedSource);
|
|
||||||
} else if (isDefault || isNamed) {
|
|
||||||
builder.named(name, importName);
|
|
||||||
}
|
|
||||||
} else if (importedType !== "commonjs") {
|
|
||||||
throw new Error(`Unexpected interopType "${importedType}"`);
|
|
||||||
} else if (importedInterop === "babel") {
|
|
||||||
if (isModuleForNode) {
|
|
||||||
name = name !== "default" ? name : importedSource;
|
|
||||||
const es6Default = `${importedSource}$es6Default`;
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.default(es6Default).var(name || importedSource).wildcardInterop();
|
|
||||||
} else if (isDefault) {
|
|
||||||
if (ensureLiveReference) {
|
|
||||||
builder.default(es6Default).var(name || importedSource).defaultInterop().read("default");
|
|
||||||
} else {
|
|
||||||
builder.default(es6Default).var(name).defaultInterop().prop(importName);
|
|
||||||
}
|
|
||||||
} else if (isNamed) {
|
|
||||||
builder.default(es6Default).read(importName);
|
|
||||||
}
|
|
||||||
} else if (isModuleForBabel) {
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.namespace(name || importedSource);
|
|
||||||
} else if (isDefault || isNamed) {
|
|
||||||
builder.named(name, importName);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
builder.require();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.var(name || importedSource).wildcardInterop();
|
|
||||||
} else if ((isDefault || isNamed) && ensureLiveReference) {
|
|
||||||
if (isDefault) {
|
|
||||||
name = name !== "default" ? name : importedSource;
|
|
||||||
builder.var(name).read(importName);
|
|
||||||
builder.defaultInterop();
|
|
||||||
} else {
|
|
||||||
builder.var(importedSource).read(importName);
|
|
||||||
}
|
|
||||||
} else if (isDefault) {
|
|
||||||
builder.var(name).defaultInterop().prop(importName);
|
|
||||||
} else if (isNamed) {
|
|
||||||
builder.var(name).prop(importName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (importedInterop === "compiled") {
|
|
||||||
if (isModuleForNode) {
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.default(name || importedSource);
|
|
||||||
} else if (isDefault || isNamed) {
|
|
||||||
builder.default(importedSource).read(name);
|
|
||||||
}
|
|
||||||
} else if (isModuleForBabel) {
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.namespace(name || importedSource);
|
|
||||||
} else if (isDefault || isNamed) {
|
|
||||||
builder.named(name, importName);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
builder.require();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.var(name || importedSource);
|
|
||||||
} else if (isDefault || isNamed) {
|
|
||||||
if (ensureLiveReference) {
|
|
||||||
builder.var(importedSource).read(name);
|
|
||||||
} else {
|
|
||||||
builder.prop(importName).var(name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (importedInterop === "uncompiled") {
|
|
||||||
if (isDefault && ensureLiveReference) {
|
|
||||||
throw new Error("No live reference for commonjs default");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isModuleForNode) {
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.default(name || importedSource);
|
|
||||||
} else if (isDefault) {
|
|
||||||
builder.default(name);
|
|
||||||
} else if (isNamed) {
|
|
||||||
builder.default(importedSource).read(name);
|
|
||||||
}
|
|
||||||
} else if (isModuleForBabel) {
|
|
||||||
builder.import();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.default(name || importedSource);
|
|
||||||
} else if (isDefault) {
|
|
||||||
builder.default(name);
|
|
||||||
} else if (isNamed) {
|
|
||||||
builder.named(name, importName);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
builder.require();
|
|
||||||
|
|
||||||
if (isNamespace) {
|
|
||||||
builder.var(name || importedSource);
|
|
||||||
} else if (isDefault) {
|
|
||||||
builder.var(name);
|
|
||||||
} else if (isNamed) {
|
|
||||||
if (ensureLiveReference) {
|
|
||||||
builder.var(importedSource).read(name);
|
|
||||||
} else {
|
|
||||||
builder.var(name).prop(importName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new Error(`Unknown importedInterop "${importedInterop}".`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const {
|
|
||||||
statements,
|
|
||||||
resultName
|
|
||||||
} = builder.done();
|
|
||||||
|
|
||||||
this._insertStatements(statements, blockHoist);
|
|
||||||
|
|
||||||
if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") {
|
|
||||||
return t().sequenceExpression([t().numericLiteral(0), resultName]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return resultName;
|
|
||||||
}
|
|
||||||
|
|
||||||
_insertStatements(statements, blockHoist = 3) {
|
|
||||||
statements.forEach(node => {
|
|
||||||
node._blockHoist = blockHoist;
|
|
||||||
});
|
|
||||||
|
|
||||||
const targetPath = this._programPath.get("body").filter(p => {
|
|
||||||
const val = p.node._blockHoist;
|
|
||||||
return Number.isFinite(val) && val < 4;
|
|
||||||
})[0];
|
|
||||||
|
|
||||||
if (targetPath) {
|
|
||||||
targetPath.insertBefore(statements);
|
|
||||||
} else {
|
|
||||||
this._programPath.unshiftContainer("body", statements);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.default = ImportInjector;
|
|
43
node_modules/@babel/helper-module-imports/lib/index.js
generated
vendored
43
node_modules/@babel/helper-module-imports/lib/index.js
generated
vendored
@ -1,43 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
exports.addDefault = addDefault;
|
|
||||||
exports.addNamed = addNamed;
|
|
||||||
exports.addNamespace = addNamespace;
|
|
||||||
exports.addSideEffect = addSideEffect;
|
|
||||||
Object.defineProperty(exports, "ImportInjector", {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _importInjector.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Object.defineProperty(exports, "isModule", {
|
|
||||||
enumerable: true,
|
|
||||||
get: function () {
|
|
||||||
return _isModule.default;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var _importInjector = _interopRequireDefault(require("./import-injector"));
|
|
||||||
|
|
||||||
var _isModule = _interopRequireDefault(require("./is-module"));
|
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
||||||
|
|
||||||
function addDefault(path, importedSource, opts) {
|
|
||||||
return new _importInjector.default(path).addDefault(importedSource, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
function addNamed(path, name, importedSource, opts) {
|
|
||||||
return new _importInjector.default(path).addNamed(name, importedSource, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
function addNamespace(path, importedSource, opts) {
|
|
||||||
return new _importInjector.default(path).addNamespace(importedSource, opts);
|
|
||||||
}
|
|
||||||
|
|
||||||
function addSideEffect(path, importedSource, opts) {
|
|
||||||
return new _importInjector.default(path).addSideEffect(importedSource, opts);
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user