summaryrefslogtreecommitdiff
path: root/node_modules/postcss-discard-comments/src/lib/commentRemover.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-discard-comments/src/lib/commentRemover.js')
-rw-r--r--node_modules/postcss-discard-comments/src/lib/commentRemover.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/postcss-discard-comments/src/lib/commentRemover.js b/node_modules/postcss-discard-comments/src/lib/commentRemover.js
new file mode 100644
index 00000000..6d0dd81b
--- /dev/null
+++ b/node_modules/postcss-discard-comments/src/lib/commentRemover.js
@@ -0,0 +1,32 @@
+'use strict';
+
+/** @param {import('../index.js').Options} options */
+function CommentRemover(options) {
+ this.options = options;
+}
+/**
+ * @param {string} comment
+ * @return {boolean | undefined}
+ */
+CommentRemover.prototype.canRemove = function (comment) {
+ const remove = this.options.remove;
+
+ if (remove) {
+ return remove(comment);
+ } else {
+ const isImportant = comment.indexOf('!') === 0;
+
+ if (!isImportant) {
+ return true;
+ }
+
+ if (this.options.removeAll || this._hasFirst) {
+ return true;
+ } else if (this.options.removeAllButFirst && !this._hasFirst) {
+ this._hasFirst = true;
+ return false;
+ }
+ }
+};
+
+module.exports = CommentRemover;