| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- 'use strict';
- exports.__esModule = true;
- /**
- * Contains helpers for safely splitting lists of CSS values,
- * preserving parentheses and quotes.
- *
- * @example
- * const list = postcss.list;
- *
- * @namespace list
- */
- var list = {
- split: function split(string, separators, last) {
- var array = [];
- var current = '';
- var split = false;
- var func = 0;
- var quote = false;
- var escape = false;
- for (var i = 0; i < string.length; i++) {
- var letter = string[i];
- if (quote) {
- if (escape) {
- escape = false;
- } else if (letter === '\\') {
- escape = true;
- } else if (letter === quote) {
- quote = false;
- }
- } else if (letter === '"' || letter === '\'') {
- quote = letter;
- } else if (letter === '(') {
- func += 1;
- } else if (letter === ')') {
- if (func > 0) func -= 1;
- } else if (func === 0) {
- if (separators.indexOf(letter) !== -1) split = true;
- }
- if (split) {
- if (current !== '') array.push(current.trim());
- current = '';
- split = false;
- } else {
- current += letter;
- }
- }
- if (last || current !== '') array.push(current.trim());
- return array;
- },
- /**
- * Safely splits space-separated values (such as those for `background`,
- * `border-radius`, and other shorthand properties).
- *
- * @param {string} string - space-separated values
- *
- * @return {string[]} split values
- *
- * @example
- * postcss.list.space('1px calc(10% + 1px)') //=> ['1px', 'calc(10% + 1px)']
- */
- space: function space(string) {
- var spaces = [' ', '\n', '\t'];
- return list.split(string, spaces);
- },
- /**
- * Safely splits comma-separated values (such as those for `transition-*`
- * and `background` properties).
- *
- * @param {string} string - comma-separated values
- *
- * @return {string[]} split values
- *
- * @example
- * postcss.list.comma('black, linear-gradient(white, black)')
- * //=> ['black', 'linear-gradient(white, black)']
- */
- comma: function comma(string) {
- var comma = ',';
- return list.split(string, [comma], true);
- }
- };
- exports.default = list;
- module.exports = exports['default'];
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9saWIvbGlzdC5lczYiXSwibmFtZXMiOlsibGlzdCIsInNwbGl0Iiwic3RyaW5nIiwic2VwYXJhdG9ycyIsImxhc3QiLCJhcnJheSIsImN1cnJlbnQiLCJmdW5jIiwicXVvdGUiLCJlc2NhcGUiLCJpIiwibGVuZ3RoIiwibGV0dGVyIiwiaW5kZXhPZiIsInB1c2giLCJ0cmltIiwic3BhY2UiLCJzcGFjZXMiLCJjb21tYSJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7OztBQVNBLElBQUlBLE9BQU87QUFFUEMsU0FGTyxpQkFFREMsTUFGQyxFQUVPQyxVQUZQLEVBRW1CQyxJQUZuQixFQUV5QjtBQUM1QixZQUFJQyxRQUFVLEVBQWQ7QUFDQSxZQUFJQyxVQUFVLEVBQWQ7QUFDQSxZQUFJTCxRQUFVLEtBQWQ7O0FBRUEsWUFBSU0sT0FBVSxDQUFkO0FBQ0EsWUFBSUMsUUFBVSxLQUFkO0FBQ0EsWUFBSUMsU0FBVSxLQUFkOztBQUVBLGFBQU0sSUFBSUMsSUFBSSxDQUFkLEVBQWlCQSxJQUFJUixPQUFPUyxNQUE1QixFQUFvQ0QsR0FBcEMsRUFBMEM7QUFDdEMsZ0JBQUlFLFNBQVNWLE9BQU9RLENBQVAsQ0FBYjs7QUFFQSxnQkFBS0YsS0FBTCxFQUFhO0FBQ1Qsb0JBQUtDLE1BQUwsRUFBYztBQUNWQSw2QkFBUyxLQUFUO0FBQ0gsaUJBRkQsTUFFTyxJQUFLRyxXQUFXLElBQWhCLEVBQXVCO0FBQzFCSCw2QkFBUyxJQUFUO0FBQ0gsaUJBRk0sTUFFQSxJQUFLRyxXQUFXSixLQUFoQixFQUF3QjtBQUMzQkEsNEJBQVEsS0FBUjtBQUNIO0FBQ0osYUFSRCxNQVFPLElBQUtJLFdBQVcsR0FBWCxJQUFrQkEsV0FBVyxJQUFsQyxFQUF5QztBQUM1Q0osd0JBQVFJLE1BQVI7QUFDSCxhQUZNLE1BRUEsSUFBS0EsV0FBVyxHQUFoQixFQUFzQjtBQUN6Qkwsd0JBQVEsQ0FBUjtBQUNILGFBRk0sTUFFQSxJQUFLSyxXQUFXLEdBQWhCLEVBQXNCO0FBQ3pCLG9CQUFLTCxPQUFPLENBQVosRUFBZ0JBLFFBQVEsQ0FBUjtBQUNuQixhQUZNLE1BRUEsSUFBS0EsU0FBUyxDQUFkLEVBQWtCO0FBQ3JCLG9CQUFLSixXQUFXVSxPQUFYLENBQW1CRCxNQUFuQixNQUErQixDQUFDLENBQXJDLEVBQXlDWCxRQUFRLElBQVI7QUFDNUM7O0FBRUQsZ0JBQUtBLEtBQUwsRUFBYTtBQUNULG9CQUFLSyxZQUFZLEVBQWpCLEVBQXNCRCxNQUFNUyxJQUFOLENBQVdSLFFBQVFTLElBQVIsRUFBWDtBQUN0QlQsMEJBQVUsRUFBVjtBQUNBTCx3QkFBVSxLQUFWO0FBQ0gsYUFKRCxNQUlPO0FBQ0hLLDJCQUFXTSxNQUFYO0FBQ0g7QUFDSjs7QUFFRCxZQUFLUixRQUFRRSxZQUFZLEVBQXpCLEVBQThCRCxNQUFNUyxJQUFOLENBQVdSLFFBQVFTLElBQVIsRUFBWDtBQUM5QixlQUFPVixLQUFQO0FBQ0gsS0EzQ007OztBQTZDUDs7Ozs7Ozs7Ozs7QUFXQVcsU0F4RE8saUJBd0REZCxNQXhEQyxFQXdETztBQUNWLFlBQUllLFNBQVMsQ0FBQyxHQUFELEVBQU0sSUFBTixFQUFZLElBQVosQ0FBYjtBQUNBLGVBQU9qQixLQUFLQyxLQUFMLENBQVdDLE1BQVgsRUFBbUJlLE1BQW5CLENBQVA7QUFDSCxLQTNETTs7O0FBNkRQOzs7Ozs7Ozs7Ozs7QUFZQUMsU0F6RU8saUJBeUVEaEIsTUF6RUMsRUF5RU87QUFDVixZQUFJZ0IsUUFBUSxHQUFaO0FBQ0EsZUFBT2xCLEtBQUtDLEtBQUwsQ0FBV0MsTUFBWCxFQUFtQixDQUFDZ0IsS0FBRCxDQUFuQixFQUE0QixJQUE1QixDQUFQO0FBQ0g7QUE1RU0sQ0FBWDs7a0JBZ0ZlbEIsSSIsImZpbGUiOiJsaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250YWlucyBoZWxwZXJzIGZvciBzYWZlbHkgc3BsaXR0aW5nIGxpc3RzIG9mIENTUyB2YWx1ZXMsXG4gKiBwcmVzZXJ2aW5nIHBhcmVudGhlc2VzIGFuZCBxdW90ZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGxpc3QgPSBwb3N0Y3NzLmxpc3Q7XG4gKlxuICogQG5hbWVzcGFjZSBsaXN0XG4gKi9cbmxldCBsaXN0ID0ge1xuXG4gICAgc3BsaXQoc3RyaW5nLCBzZXBhcmF0b3JzLCBsYXN0KSB7XG4gICAgICAgIGxldCBhcnJheSAgID0gW107XG4gICAgICAgIGxldCBjdXJyZW50ID0gJyc7XG4gICAgICAgIGxldCBzcGxpdCAgID0gZmFsc2U7XG5cbiAgICAgICAgbGV0IGZ1bmMgICAgPSAwO1xuICAgICAgICBsZXQgcXVvdGUgICA9IGZhbHNlO1xuICAgICAgICBsZXQgZXNjYXBlICA9IGZhbHNlO1xuXG4gICAgICAgIGZvciAoIGxldCBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7IGkrKyApIHtcbiAgICAgICAgICAgIGxldCBsZXR0ZXIgPSBzdHJpbmdbaV07XG5cbiAgICAgICAgICAgIGlmICggcXVvdGUgKSB7XG4gICAgICAgICAgICAgICAgaWYgKCBlc2NhcGUgKSB7XG4gICAgICAgICAgICAgICAgICAgIGVzY2FwZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIGxldHRlciA9PT0gJ1xcXFwnICkge1xuICAgICAgICAgICAgICAgICAgICBlc2NhcGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIGxldHRlciA9PT0gcXVvdGUgKSB7XG4gICAgICAgICAgICAgICAgICAgIHF1b3RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggbGV0dGVyID09PSAnXCInIHx8IGxldHRlciA9PT0gJ1xcJycgKSB7XG4gICAgICAgICAgICAgICAgcXVvdGUgPSBsZXR0ZXI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCBsZXR0ZXIgPT09ICcoJyApIHtcbiAgICAgICAgICAgICAgICBmdW5jICs9IDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCBsZXR0ZXIgPT09ICcpJyApIHtcbiAgICAgICAgICAgICAgICBpZiAoIGZ1bmMgPiAwICkgZnVuYyAtPSAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmICggZnVuYyA9PT0gMCApIHtcbiAgICAgICAgICAgICAgICBpZiAoIHNlcGFyYXRvcnMuaW5kZXhPZihsZXR0ZXIpICE9PSAtMSApIHNwbGl0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCBzcGxpdCApIHtcbiAgICAgICAgICAgICAgICBpZiAoIGN1cnJlbnQgIT09ICcnICkgYXJyYXkucHVzaChjdXJyZW50LnRyaW0oKSk7XG4gICAgICAgICAgICAgICAgY3VycmVudCA9ICcnO1xuICAgICAgICAgICAgICAgIHNwbGl0ICAgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY3VycmVudCArPSBsZXR0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIGxhc3QgfHwgY3VycmVudCAhPT0gJycgKSBhcnJheS5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTYWZlbHkgc3BsaXRzIHNwYWNlLXNlcGFyYXRlZCB2YWx1ZXMgKHN1Y2ggYXMgdGhvc2UgZm9yIGBiYWNrZ3JvdW5kYCxcbiAgICAgKiBgYm9yZGVyLXJhZGl1c2AsIGFuZCBvdGhlciBzaG9ydGhhbmQgcHJvcGVydGllcykuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIC0gc3BhY2Utc2VwYXJhdGVkIHZhbHVlc1xuICAgICAqXG4gICAgICogQHJldHVybiB7c3RyaW5nW119IHNwbGl0IHZhbHVlc1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwb3N0Y3NzLmxpc3Quc3BhY2UoJzFweCBjYWxjKDEwJSArIDFweCknKSAvLz0+IFsnMXB4JywgJ2NhbGMoMTAlICsgMXB4KSddXG4gICAgICovXG4gICAgc3BhY2Uoc3RyaW5nKSB7XG4gICAgICAgIGxldCBzcGFjZXMgPSBbJyAnLCAnXFxuJywgJ1xcdCddO1xuICAgICAgICByZXR1cm4gbGlzdC5zcGxpdChzdHJpbmcsIHNwYWNlcyk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFNhZmVseSBzcGxpdHMgY29tbWEtc2VwYXJhdGVkIHZhbHVlcyAoc3VjaCBhcyB0aG9zZSBmb3IgYHRyYW5zaXRpb24tKmBcbiAgICAgKiBhbmQgYGJhY2tncm91bmRgIHByb3BlcnRpZXMpLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyAtIGNvbW1hLXNlcGFyYXRlZCB2YWx1ZXNcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBzcGxpdCB2YWx1ZXNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogcG9zdGNzcy5saXN0LmNvbW1hKCdibGFjaywgbGluZWFyLWdyYWRpZW50KHdoaXRlLCBibGFjayknKVxuICAgICAqIC8vPT4gWydibGFjaycsICdsaW5lYXItZ3JhZGllbnQod2hpdGUsIGJsYWNrKSddXG4gICAgICovXG4gICAgY29tbWEoc3RyaW5nKSB7XG4gICAgICAgIGxldCBjb21tYSA9ICcsJztcbiAgICAgICAgcmV0dXJuIGxpc3Quc3BsaXQoc3RyaW5nLCBbY29tbWFdLCB0cnVlKTtcbiAgICB9XG5cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGxpc3Q7XG4iXX0=
|