mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-13 22:15:25 +00:00
update
This commit is contained in:
101
node_modules/clean-css/lib/writer/source-maps.js
generated
vendored
Normal file
101
node_modules/clean-css/lib/writer/source-maps.js
generated
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
var SourceMapGenerator = require('source-map').SourceMapGenerator;
|
||||
var all = require('./helpers').all;
|
||||
|
||||
var isRemoteResource = require('../utils/is-remote-resource');
|
||||
|
||||
var isWindows = process.platform == 'win32';
|
||||
|
||||
var NIX_SEPARATOR_PATTERN = /\//g;
|
||||
var UNKNOWN_SOURCE = '$stdin';
|
||||
var WINDOWS_SEPARATOR = '\\';
|
||||
|
||||
function store(serializeContext, element) {
|
||||
var fromString = typeof element == 'string';
|
||||
var value = fromString ? element : element[1];
|
||||
var mappings = fromString ? null : element[2];
|
||||
var wrap = serializeContext.wrap;
|
||||
|
||||
wrap(serializeContext, value);
|
||||
track(serializeContext, value, mappings);
|
||||
serializeContext.output.push(value);
|
||||
}
|
||||
|
||||
function wrap(serializeContext, value) {
|
||||
if (serializeContext.column + value.length > serializeContext.format.wrapAt) {
|
||||
track(serializeContext, serializeContext.format.breakWith, false);
|
||||
serializeContext.output.push(serializeContext.format.breakWith);
|
||||
}
|
||||
}
|
||||
|
||||
function track(serializeContext, value, mappings) {
|
||||
var parts = value.split('\n');
|
||||
|
||||
if (mappings) {
|
||||
trackAllMappings(serializeContext, mappings);
|
||||
}
|
||||
|
||||
serializeContext.line += parts.length - 1;
|
||||
serializeContext.column = parts.length > 1 ? 0 : (serializeContext.column + parts.pop().length);
|
||||
}
|
||||
|
||||
function trackAllMappings(serializeContext, mappings) {
|
||||
for (var i = 0, l = mappings.length; i < l; i++) {
|
||||
trackMapping(serializeContext, mappings[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function trackMapping(serializeContext, mapping) {
|
||||
var line = mapping[0];
|
||||
var column = mapping[1];
|
||||
var originalSource = mapping[2];
|
||||
var source = originalSource;
|
||||
var storedSource = source || UNKNOWN_SOURCE;
|
||||
|
||||
if (isWindows && source && !isRemoteResource(source)) {
|
||||
storedSource = source.replace(NIX_SEPARATOR_PATTERN, WINDOWS_SEPARATOR);
|
||||
}
|
||||
|
||||
serializeContext.outputMap.addMapping({
|
||||
generated: {
|
||||
line: serializeContext.line,
|
||||
column: serializeContext.column
|
||||
},
|
||||
source: storedSource,
|
||||
original: {
|
||||
line: line,
|
||||
column: column
|
||||
}
|
||||
});
|
||||
|
||||
if (serializeContext.inlineSources && (originalSource in serializeContext.sourcesContent)) {
|
||||
serializeContext.outputMap.setSourceContent(storedSource, serializeContext.sourcesContent[originalSource]);
|
||||
}
|
||||
}
|
||||
|
||||
function serializeStylesAndSourceMap(tokens, context) {
|
||||
var serializeContext = {
|
||||
column: 0,
|
||||
format: context.options.format,
|
||||
indentBy: 0,
|
||||
indentWith: '',
|
||||
inlineSources: context.options.sourceMapInlineSources,
|
||||
line: 1,
|
||||
output: [],
|
||||
outputMap: new SourceMapGenerator(),
|
||||
sourcesContent: context.sourcesContent,
|
||||
spaceAfterClosingBrace: context.options.compatibility.properties.spaceAfterClosingBrace,
|
||||
store: store,
|
||||
wrap: context.options.format.wrapAt ?
|
||||
wrap :
|
||||
function () { /* noop */ }
|
||||
};
|
||||
|
||||
all(serializeContext, tokens);
|
||||
|
||||
return {
|
||||
sourceMap: serializeContext.outputMap,
|
||||
styles: serializeContext.output.join('')
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = serializeStylesAndSourceMap;
|
Reference in New Issue
Block a user