Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / lib / utils / getUnitFromValueNode.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/stylelint/lib/utils/getUnitFromValueNode.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/stylelint/lib/utils/getUnitFromValueNode.js
new file mode 100644 (file)
index 0000000..88acd42
--- /dev/null
@@ -0,0 +1,42 @@
+/* @flow */
+"use strict";
+
+const _ = require("lodash");
+const blurInterpolation = require("./blurInterpolation");
+const isStandardSyntaxValue = require("./isStandardSyntaxValue");
+const valueParser = require("postcss-value-parser");
+
+/**
+ * Get unit from value node
+ *
+ * Returns `null` if the unit is not found.
+ */
+module.exports = function(node /*: Object*/) /*: ?string*/ {
+  if (!node || (node && !node.value)) {
+    return null;
+  }
+
+  const value = blurInterpolation(node.value, "")
+    // ignore hack unit
+    .replace("\\0", "")
+    .replace("\\9", "")
+    // ignore decimal place
+    .replace(".", "");
+
+  if (
+    node.type !== "word" ||
+    !isStandardSyntaxValue(value) ||
+    !_.isFinite(parseInt(value)) ||
+    node.value[0] === "#"
+  ) {
+    return null;
+  }
+
+  const parsedUnit = valueParser.unit(value);
+
+  if (!parsedUnit) {
+    return null;
+  }
+
+  return parsedUnit.unit;
+};