31 lines
661 B
JavaScript
31 lines
661 B
JavaScript
|
var Token = require('../../tokenizer/token');
|
||
|
|
||
|
var serializeAll = require('../../writer/one-time').all;
|
||
|
var serializeRules = require('../../writer/one-time').rules;
|
||
|
|
||
|
function removeDuplicateMediaQueries(tokens) {
|
||
|
var candidates = {};
|
||
|
var candidate;
|
||
|
var token;
|
||
|
var key;
|
||
|
var i, l;
|
||
|
|
||
|
for (i = 0, l = tokens.length; i < l; i++) {
|
||
|
token = tokens[i];
|
||
|
if (token[0] != Token.NESTED_BLOCK) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
key = serializeRules(token[1]) + '%' + serializeAll(token[2]);
|
||
|
candidate = candidates[key];
|
||
|
|
||
|
if (candidate) {
|
||
|
candidate[2] = [];
|
||
|
}
|
||
|
|
||
|
candidates[key] = token;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = removeDuplicateMediaQueries;
|