You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.0 KiB
40 lines
1.0 KiB
4 years ago
|
/*
|
||
|
* MIT License http://opensource.org/licenses/MIT
|
||
|
* Author: Ben Holloway @bholloway
|
||
|
*/
|
||
|
'use strict';
|
||
|
|
||
|
/**
|
||
|
* Prepend file:// protocol to source path string or source-map sources.
|
||
|
*/
|
||
|
function prepend(candidate) {
|
||
|
if (typeof candidate === 'string') {
|
||
|
return 'file://' + candidate;
|
||
|
} else if (candidate && (typeof candidate === 'object') && Array.isArray(candidate.sources)) {
|
||
|
return Object.assign({}, candidate, {
|
||
|
sources: candidate.sources.map(prepend)
|
||
|
});
|
||
|
} else {
|
||
|
throw new Error('expected string|object');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
exports.prepend = prepend;
|
||
|
|
||
|
/**
|
||
|
* Remove file:// protocol from source path string or source-map sources.
|
||
|
*/
|
||
|
function remove(candidate) {
|
||
|
if (typeof candidate === 'string') {
|
||
|
return candidate.replace(/^file:\/{2}/, '');
|
||
|
} else if (candidate && (typeof candidate === 'object') && Array.isArray(candidate.sources)) {
|
||
|
return Object.assign({}, candidate, {
|
||
|
sources: candidate.sources.map(remove)
|
||
|
});
|
||
|
} else {
|
||
|
throw new Error('expected string|object');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
exports.remove = remove;
|