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.
30 lines
619 B
30 lines
619 B
var Token = require('../../tokenizer/token'); |
|
|
|
var serializeAll = require('../../writer/one-time').all; |
|
|
|
var FONT_FACE_SCOPE = '@font-face'; |
|
|
|
function removeDuplicateFontAtRules(tokens) { |
|
var fontAtRules = []; |
|
var token; |
|
var key; |
|
var i, l; |
|
|
|
for (i = 0, l = tokens.length; i < l; i++) { |
|
token = tokens[i]; |
|
|
|
if (token[0] != Token.AT_RULE_BLOCK && token[1][0][1] != FONT_FACE_SCOPE) { |
|
continue; |
|
} |
|
|
|
key = serializeAll([token]); |
|
|
|
if (fontAtRules.indexOf(key) > -1) { |
|
token[2] = []; |
|
} else { |
|
fontAtRules.push(key); |
|
} |
|
} |
|
} |
|
|
|
module.exports = removeDuplicateFontAtRules;
|
|
|