massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-json-languageservice / lib / umd / utils / colors.js
1 /*---------------------------------------------------------------------------------------------
2  *  Copyright (c) Microsoft Corporation. All rights reserved.
3  *  Licensed under the MIT License. See License.txt in the project root for license information.
4  *--------------------------------------------------------------------------------------------*/
5 (function (factory) {
6     if (typeof module === "object" && typeof module.exports === "object") {
7         var v = factory(require, exports);
8         if (v !== undefined) module.exports = v;
9     }
10     else if (typeof define === "function" && define.amd) {
11         define(["require", "exports"], factory);
12     }
13 })(function (require, exports) {
14     "use strict";
15     Object.defineProperty(exports, "__esModule", { value: true });
16     exports.colorFrom256RGB = exports.colorFromHex = exports.hexDigit = void 0;
17     var Digit0 = 48;
18     var Digit9 = 57;
19     var A = 65;
20     var a = 97;
21     var f = 102;
22     function hexDigit(charCode) {
23         if (charCode < Digit0) {
24             return 0;
25         }
26         if (charCode <= Digit9) {
27             return charCode - Digit0;
28         }
29         if (charCode < a) {
30             charCode += (a - A);
31         }
32         if (charCode >= a && charCode <= f) {
33             return charCode - a + 10;
34         }
35         return 0;
36     }
37     exports.hexDigit = hexDigit;
38     function colorFromHex(text) {
39         if (text[0] !== '#') {
40             return undefined;
41         }
42         switch (text.length) {
43             case 4:
44                 return {
45                     red: (hexDigit(text.charCodeAt(1)) * 0x11) / 255.0,
46                     green: (hexDigit(text.charCodeAt(2)) * 0x11) / 255.0,
47                     blue: (hexDigit(text.charCodeAt(3)) * 0x11) / 255.0,
48                     alpha: 1
49                 };
50             case 5:
51                 return {
52                     red: (hexDigit(text.charCodeAt(1)) * 0x11) / 255.0,
53                     green: (hexDigit(text.charCodeAt(2)) * 0x11) / 255.0,
54                     blue: (hexDigit(text.charCodeAt(3)) * 0x11) / 255.0,
55                     alpha: (hexDigit(text.charCodeAt(4)) * 0x11) / 255.0,
56                 };
57             case 7:
58                 return {
59                     red: (hexDigit(text.charCodeAt(1)) * 0x10 + hexDigit(text.charCodeAt(2))) / 255.0,
60                     green: (hexDigit(text.charCodeAt(3)) * 0x10 + hexDigit(text.charCodeAt(4))) / 255.0,
61                     blue: (hexDigit(text.charCodeAt(5)) * 0x10 + hexDigit(text.charCodeAt(6))) / 255.0,
62                     alpha: 1
63                 };
64             case 9:
65                 return {
66                     red: (hexDigit(text.charCodeAt(1)) * 0x10 + hexDigit(text.charCodeAt(2))) / 255.0,
67                     green: (hexDigit(text.charCodeAt(3)) * 0x10 + hexDigit(text.charCodeAt(4))) / 255.0,
68                     blue: (hexDigit(text.charCodeAt(5)) * 0x10 + hexDigit(text.charCodeAt(6))) / 255.0,
69                     alpha: (hexDigit(text.charCodeAt(7)) * 0x10 + hexDigit(text.charCodeAt(8))) / 255.0
70                 };
71         }
72         return undefined;
73     }
74     exports.colorFromHex = colorFromHex;
75     function colorFrom256RGB(red, green, blue, alpha) {
76         if (alpha === void 0) { alpha = 1.0; }
77         return {
78             red: red / 255.0,
79             green: green / 255.0,
80             blue: blue / 255.0,
81             alpha: alpha
82         };
83     }
84     exports.colorFrom256RGB = colorFrom256RGB;
85 });