Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / normalize-range / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/normalize-range/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/normalize-range/index.js
new file mode 100644 (file)
index 0000000..d5a2ea8
--- /dev/null
@@ -0,0 +1,54 @@
+'use strict';
+module.exports = {
+  wrap: wrapRange,
+  limit: limitRange,
+  validate: validateRange,
+  test: testRange,
+  curry: curry,
+  name: name
+};
+
+function wrapRange(min, max, value) {
+  var maxLessMin = max - min;
+  return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min;
+}
+
+function limitRange(min, max, value) {
+  return Math.max(min, Math.min(max, value));
+}
+
+function validateRange(min, max, value, minExclusive, maxExclusive) {
+  if (!testRange(min, max, value, minExclusive, maxExclusive)) {
+    throw new Error(value + ' is outside of range [' + min + ',' + max + ')');
+  }
+  return value;
+}
+
+function testRange(min, max, value, minExclusive, maxExclusive) {
+  return !(
+       value < min ||
+       value > max ||
+       (maxExclusive && (value === max)) ||
+       (minExclusive && (value === min))
+  );
+}
+
+function name(min, max, minExcl, maxExcl) {
+  return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']');
+}
+
+function curry(min, max, minExclusive, maxExclusive) {
+  var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive);
+  return {
+    wrap: wrapRange.bind(null, min, max),
+    limit: limitRange.bind(null, min, max),
+    validate: function(value) {
+      return validateRange(min, max, value, minExclusive, maxExclusive);
+    },
+    test: function(value) {
+      return testRange(min, max, value, minExclusive, maxExclusive);
+    },
+    toString: boundNameFn,
+    name: boundNameFn
+  };
+}