mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-11 07:21:05 +03:30
33 lines
702 B
JavaScript
Vendored
33 lines
702 B
JavaScript
Vendored
/**
|
|
* The MIT License (MIT)
|
|
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
/**
|
|
* A regexp-tree plugin to remove duplicates from character classes.
|
|
*/
|
|
|
|
module.exports = {
|
|
CharacterClass: function CharacterClass(path) {
|
|
var node = path.node;
|
|
|
|
var sources = {};
|
|
|
|
for (var i = 0; i < node.expressions.length; i++) {
|
|
var childPath = path.getChild(i);
|
|
var source = childPath.jsonEncode();
|
|
|
|
if (sources.hasOwnProperty(source)) {
|
|
childPath.remove();
|
|
|
|
// Since we remove the current node.
|
|
// TODO: make it simpler for users with a method.
|
|
i--;
|
|
}
|
|
|
|
sources[source] = true;
|
|
}
|
|
}
|
|
}; |