.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / pretty-format / node_modules / color-convert / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/pretty-format/node_modules/color-convert/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/pretty-format/node_modules/color-convert/index.js
new file mode 100644 (file)
index 0000000..e65b5d7
--- /dev/null
@@ -0,0 +1,78 @@
+var conversions = require('./conversions');
+var route = require('./route');
+
+var convert = {};
+
+var models = Object.keys(conversions);
+
+function wrapRaw(fn) {
+       var wrappedFn = function (args) {
+               if (args === undefined || args === null) {
+                       return args;
+               }
+
+               if (arguments.length > 1) {
+                       args = Array.prototype.slice.call(arguments);
+               }
+
+               return fn(args);
+       };
+
+       // preserve .conversion property if there is one
+       if ('conversion' in fn) {
+               wrappedFn.conversion = fn.conversion;
+       }
+
+       return wrappedFn;
+}
+
+function wrapRounded(fn) {
+       var wrappedFn = function (args) {
+               if (args === undefined || args === null) {
+                       return args;
+               }
+
+               if (arguments.length > 1) {
+                       args = Array.prototype.slice.call(arguments);
+               }
+
+               var result = fn(args);
+
+               // we're assuming the result is an array here.
+               // see notice in conversions.js; don't use box types
+               // in conversion functions.
+               if (typeof result === 'object') {
+                       for (var len = result.length, i = 0; i < len; i++) {
+                               result[i] = Math.round(result[i]);
+                       }
+               }
+
+               return result;
+       };
+
+       // preserve .conversion property if there is one
+       if ('conversion' in fn) {
+               wrappedFn.conversion = fn.conversion;
+       }
+
+       return wrappedFn;
+}
+
+models.forEach(function (fromModel) {
+       convert[fromModel] = {};
+
+       Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
+       Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
+
+       var routes = route(fromModel);
+       var routeModels = Object.keys(routes);
+
+       routeModels.forEach(function (toModel) {
+               var fn = routes[toModel];
+
+               convert[fromModel][toModel] = wrapRounded(fn);
+               convert[fromModel][toModel].raw = wrapRaw(fn);
+       });
+});
+
+module.exports = convert;