mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-06-19 20:43:14 +03:00
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
/* @flow */
|
|
function getPrettyURL(
|
|
sourceFileName: ?string,
|
|
sourceLineNumber: ?number,
|
|
sourceColumnNumber: ?number,
|
|
fileName: ?string,
|
|
lineNumber: ?number,
|
|
columnNumber: ?number,
|
|
compiled: boolean
|
|
): string {
|
|
let prettyURL;
|
|
if (!compiled && sourceFileName && typeof sourceLineNumber === 'number') {
|
|
// Remove everything up to the first /src/ or /node_modules/
|
|
const trimMatch = /^[/|\\].*?[/|\\]((src|node_modules)[/|\\].*)/.exec(
|
|
sourceFileName
|
|
);
|
|
if (trimMatch && trimMatch[1]) {
|
|
prettyURL = trimMatch[1];
|
|
} else {
|
|
prettyURL = sourceFileName;
|
|
}
|
|
prettyURL += ':' + sourceLineNumber;
|
|
// Note: we intentionally skip 0's because they're produced by cheap Webpack maps
|
|
if (sourceColumnNumber) {
|
|
prettyURL += ':' + sourceColumnNumber;
|
|
}
|
|
} else if (fileName && typeof lineNumber === 'number') {
|
|
prettyURL = fileName + ':' + lineNumber;
|
|
// Note: we intentionally skip 0's because they're produced by cheap Webpack maps
|
|
if (columnNumber) {
|
|
prettyURL += ':' + columnNumber;
|
|
}
|
|
} else {
|
|
prettyURL = 'unknown';
|
|
}
|
|
return prettyURL.replace('webpack://', '.');
|
|
}
|
|
|
|
export { getPrettyURL };
|
|
export default getPrettyURL;
|