summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js')
-rw-r--r--deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js65
1 files changed, 9 insertions, 56 deletions
diff --git a/deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js b/deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js
index e8eca11c70..9a82951010 100644
--- a/deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js
+++ b/deps/npm/node_modules/postcss-selector-parser/dist/selectors/node.js
@@ -2,28 +2,20 @@
exports.__esModule = true;
exports["default"] = void 0;
-
var _util = require("../util");
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var cloneNode = function cloneNode(obj, parent) {
if (typeof obj !== 'object' || obj === null) {
return obj;
}
-
var cloned = new obj.constructor();
-
for (var i in obj) {
if (!obj.hasOwnProperty(i)) {
continue;
}
-
var value = obj[i];
var type = typeof value;
-
if (i === 'parent' && type === 'object') {
if (parent) {
cloned[i] = parent;
@@ -36,66 +28,52 @@ var cloneNode = function cloneNode(obj, parent) {
cloned[i] = cloneNode(value, cloned);
}
}
-
return cloned;
};
-
var Node = /*#__PURE__*/function () {
function Node(opts) {
if (opts === void 0) {
opts = {};
}
-
Object.assign(this, opts);
this.spaces = this.spaces || {};
this.spaces.before = this.spaces.before || '';
this.spaces.after = this.spaces.after || '';
}
-
var _proto = Node.prototype;
-
_proto.remove = function remove() {
if (this.parent) {
this.parent.removeChild(this);
}
-
this.parent = undefined;
return this;
};
-
_proto.replaceWith = function replaceWith() {
if (this.parent) {
for (var index in arguments) {
this.parent.insertBefore(this, arguments[index]);
}
-
this.remove();
}
-
return this;
};
-
_proto.next = function next() {
return this.parent.at(this.parent.index(this) + 1);
};
-
_proto.prev = function prev() {
return this.parent.at(this.parent.index(this) - 1);
};
-
_proto.clone = function clone(overrides) {
if (overrides === void 0) {
overrides = {};
}
-
var cloned = cloneNode(this);
-
for (var name in overrides) {
cloned[name] = overrides[name];
}
-
return cloned;
}
+
/**
* Some non-standard syntax doesn't follow normal escaping rules for css.
* This allows non standard syntax to be appended to an existing property
@@ -104,24 +82,21 @@ var Node = /*#__PURE__*/function () {
* @param {string} name the property to set
* @param {any} value the unescaped value of the property
* @param {string} valueEscaped optional. the escaped value of the property.
- */
- ;
-
+ */;
_proto.appendToPropertyAndEscape = function appendToPropertyAndEscape(name, value, valueEscaped) {
if (!this.raws) {
this.raws = {};
}
-
var originalValue = this[name];
var originalEscaped = this.raws[name];
this[name] = originalValue + value; // this may trigger a setter that updates raws, so it has to be set first.
-
if (originalEscaped || valueEscaped !== value) {
this.raws[name] = (originalEscaped || originalValue) + valueEscaped;
} else {
delete this.raws[name]; // delete any escaped value that was created by the setter.
}
}
+
/**
* Some non-standard syntax doesn't follow normal escaping rules for css.
* This allows the escaped value to be specified directly, allowing illegal
@@ -129,86 +104,68 @@ var Node = /*#__PURE__*/function () {
* @param {string} name the property to set
* @param {any} value the unescaped value of the property
* @param {string} valueEscaped the escaped value of the property.
- */
- ;
-
+ */;
_proto.setPropertyAndEscape = function setPropertyAndEscape(name, value, valueEscaped) {
if (!this.raws) {
this.raws = {};
}
-
this[name] = value; // this may trigger a setter that updates raws, so it has to be set first.
-
this.raws[name] = valueEscaped;
}
+
/**
* When you want a value to passed through to CSS directly. This method
* deletes the corresponding raw value causing the stringifier to fallback
* to the unescaped value.
* @param {string} name the property to set.
* @param {any} value The value that is both escaped and unescaped.
- */
- ;
-
+ */;
_proto.setPropertyWithoutEscape = function setPropertyWithoutEscape(name, value) {
this[name] = value; // this may trigger a setter that updates raws, so it has to be set first.
-
if (this.raws) {
delete this.raws[name];
}
}
+
/**
*
* @param {number} line The number (starting with 1)
* @param {number} column The column number (starting with 1)
- */
- ;
-
+ */;
_proto.isAtPosition = function isAtPosition(line, column) {
if (this.source && this.source.start && this.source.end) {
if (this.source.start.line > line) {
return false;
}
-
if (this.source.end.line < line) {
return false;
}
-
if (this.source.start.line === line && this.source.start.column > column) {
return false;
}
-
if (this.source.end.line === line && this.source.end.column < column) {
return false;
}
-
return true;
}
-
return undefined;
};
-
_proto.stringifyProperty = function stringifyProperty(name) {
return this.raws && this.raws[name] || this[name];
};
-
_proto.valueToString = function valueToString() {
return String(this.stringifyProperty("value"));
};
-
_proto.toString = function toString() {
return [this.rawSpaceBefore, this.valueToString(), this.rawSpaceAfter].join('');
};
-
_createClass(Node, [{
key: "rawSpaceBefore",
get: function get() {
var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.before;
-
if (rawSpace === undefined) {
rawSpace = this.spaces && this.spaces.before;
}
-
return rawSpace || "";
},
set: function set(raw) {
@@ -219,11 +176,9 @@ var Node = /*#__PURE__*/function () {
key: "rawSpaceAfter",
get: function get() {
var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.after;
-
if (rawSpace === undefined) {
rawSpace = this.spaces.after;
}
-
return rawSpace || "";
},
set: function set(raw) {
@@ -231,9 +186,7 @@ var Node = /*#__PURE__*/function () {
this.raws.spaces.after = raw;
}
}]);
-
return Node;
}();
-
exports["default"] = Node;
module.exports = exports.default; \ No newline at end of file