add lisp packages
This commit is contained in:
74
lisp/emacs-application-framework/app/mermaid/node_modules/strip-css-comments/index.js
generated
vendored
Normal file
74
lisp/emacs-application-framework/app/mermaid/node_modules/strip-css-comments/index.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
'use strict';
|
||||
var isRegExp = require('is-regexp');
|
||||
|
||||
module.exports = function (str, opts) {
|
||||
str = str.toString();
|
||||
opts = opts || {};
|
||||
|
||||
var preserveFilter;
|
||||
var comment = '';
|
||||
var currentChar = '';
|
||||
var insideString = false;
|
||||
var preserveImportant = !(opts.preserve === false || opts.all === true);
|
||||
var ret = '';
|
||||
|
||||
if (typeof opts.preserve === 'function') {
|
||||
preserveImportant = false;
|
||||
preserveFilter = opts.preserve;
|
||||
} else if (isRegExp(opts.preserve)) {
|
||||
preserveImportant = false;
|
||||
preserveFilter = function (comment) {
|
||||
return opts.preserve.test(comment);
|
||||
};
|
||||
}
|
||||
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
currentChar = str[i];
|
||||
|
||||
if (str[i - 1] !== '\\') {
|
||||
if (currentChar === '"' || currentChar === '\'') {
|
||||
if (insideString === currentChar) {
|
||||
insideString = false;
|
||||
} else if (!insideString) {
|
||||
insideString = currentChar;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// find beginning of /* type comment
|
||||
if (!insideString && currentChar === '/' && str[i + 1] === '*') {
|
||||
// ignore important comment when configured to preserve comments using important syntax: /*!
|
||||
if (!(preserveImportant && str[i + 2] === '!')) {
|
||||
var j = i + 2;
|
||||
|
||||
// iterate over comment
|
||||
for (; j < str.length; j++) {
|
||||
// find end of comment
|
||||
if (str[j] === '*' && str[j + 1] === '/') {
|
||||
if (preserveFilter) {
|
||||
// evaluate comment text
|
||||
ret = preserveFilter(comment) ? ret + ('/*' + comment + '*/') : ret;
|
||||
comment = '';
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
// store comment text to be evaluated by the filter when the end of the comment is reached
|
||||
if (preserveFilter) {
|
||||
comment += str[j];
|
||||
}
|
||||
}
|
||||
|
||||
// resume iteration over CSS string from the end of the comment
|
||||
i = j + 1;
|
||||
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
ret += currentChar;
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
Reference in New Issue
Block a user