spec-cat 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{Bqlz6CoK.js → BE_75kPa.js} +1 -1
- package/.output/public/_nuxt/{B2wdmh_w.js → BJ7m4fRW.js} +53 -53
- package/.output/public/_nuxt/{KNuzSjk0.js → CCNYUZ9m.js} +1 -1
- package/.output/public/_nuxt/{BvosqTnx.js → DGtcdWVl.js} +1 -1
- package/.output/public/_nuxt/DxEx-kFx.js +1 -0
- package/.output/public/_nuxt/{BwcbSlWF.js → DyMq_cQC.js} +2 -2
- package/.output/public/_nuxt/{COTT6rNZ.js → _cj5lOdZ.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/3a0aacc1-0bd1-4d15-8b8a-3cee48cbfc69.json +1 -0
- package/.output/public/_nuxt/{BUOk7wkI.js → gDut6QrP.js} +1 -1
- package/.output/public/_nuxt/{C5wk2twv.js → nJpWpjzg.js} +1 -1
- package/.output/public/_nuxt/{DBab5Zcv.js → waQ9fPC1.js} +1 -1
- package/.output/server/chunks/_/codexProvider.mjs +64 -18
- package/.output/server/chunks/_/codexProvider.mjs.map +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +702 -703
- package/.output/server/chunks/routes/_ws.mjs +37 -7
- package/.output/server/chunks/routes/_ws.mjs.map +1 -1
- package/.output/server/node_modules/@huggingface/jinja/dist/index.js +1572 -0
- package/.output/server/node_modules/@huggingface/jinja/package.json +55 -0
- package/.output/server/node_modules/@xenova/transformers/package.json +84 -0
- package/.output/server/node_modules/@xenova/transformers/src/backends/onnx.js +50 -0
- package/.output/server/node_modules/@xenova/transformers/src/configs.js +107 -0
- package/.output/server/node_modules/@xenova/transformers/src/env.js +128 -0
- package/.output/server/node_modules/@xenova/transformers/src/models.js +6267 -0
- package/.output/server/node_modules/@xenova/transformers/src/pipelines.js +3287 -0
- package/.output/server/node_modules/@xenova/transformers/src/processors.js +2248 -0
- package/.output/server/node_modules/@xenova/transformers/src/tokenizers.js +4479 -0
- package/.output/server/node_modules/@xenova/transformers/src/transformers.js +24 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/audio.js +672 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/core.js +175 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/data-structures.js +415 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/generation.js +873 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/hub.js +658 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/image.js +731 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/maths.js +985 -0
- package/.output/server/node_modules/@xenova/transformers/src/utils/tensor.js +1239 -0
- package/.output/server/node_modules/color/index.js +496 -0
- package/.output/server/node_modules/color/package.json +47 -0
- package/.output/server/node_modules/color-convert/conversions.js +839 -0
- package/.output/server/node_modules/color-convert/index.js +81 -0
- package/.output/server/node_modules/color-convert/package.json +48 -0
- package/.output/server/node_modules/color-convert/route.js +97 -0
- package/.output/server/node_modules/color-name/index.js +152 -0
- package/.output/server/node_modules/color-name/package.json +28 -0
- package/.output/server/node_modules/color-string/index.js +242 -0
- package/.output/server/node_modules/color-string/package.json +39 -0
- package/.output/server/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/.output/server/node_modules/detect-libc/lib/elf.js +39 -0
- package/.output/server/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/.output/server/node_modules/detect-libc/lib/process.js +24 -0
- package/.output/server/node_modules/detect-libc/package.json +44 -0
- package/.output/server/node_modules/is-arrayish/index.js +9 -0
- package/.output/server/node_modules/is-arrayish/package.json +45 -0
- package/.output/server/node_modules/onnxruntime-common/dist/ort-common.node.js +7 -0
- package/.output/server/node_modules/onnxruntime-common/package.json +31 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/onnxruntime_binding.node +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/darwin/x64/onnxruntime_binding.node +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/linux/arm64/libonnxruntime.so.1.14.0 +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/linux/arm64/onnxruntime_binding.node +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/linux/x64/libonnxruntime.so.1.14.0 +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/linux/x64/onnxruntime_binding.node +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/win32/arm64/onnxruntime_binding.node +0 -0
- package/.output/server/node_modules/onnxruntime-node/bin/napi-v3/win32/x64/onnxruntime_binding.node +0 -0
- package/.output/server/node_modules/onnxruntime-node/dist/backend.js +75 -0
- package/.output/server/node_modules/onnxruntime-node/dist/binding.js +10 -0
- package/.output/server/node_modules/onnxruntime-node/dist/index.js +23 -0
- package/.output/server/node_modules/onnxruntime-node/package.json +58 -0
- package/.output/server/node_modules/onnxruntime-web/dist/ort-web.node.js +7 -0
- package/.output/server/node_modules/onnxruntime-web/package.json +84 -0
- package/.output/server/node_modules/semver/classes/semver.js +333 -0
- package/.output/server/node_modules/semver/functions/coerce.js +62 -0
- package/.output/server/node_modules/semver/functions/compare.js +7 -0
- package/.output/server/node_modules/semver/functions/gte.js +5 -0
- package/.output/server/node_modules/semver/functions/parse.js +18 -0
- package/.output/server/node_modules/semver/internal/constants.js +37 -0
- package/.output/server/node_modules/semver/internal/debug.js +11 -0
- package/.output/server/node_modules/semver/internal/identifiers.js +29 -0
- package/.output/server/node_modules/semver/internal/parse-options.js +17 -0
- package/.output/server/node_modules/semver/internal/re.js +223 -0
- package/.output/server/node_modules/semver/package.json +78 -0
- package/.output/server/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
- package/.output/server/node_modules/sharp/lib/channel.js +174 -0
- package/.output/server/node_modules/sharp/lib/colour.js +184 -0
- package/.output/server/node_modules/sharp/lib/composite.js +210 -0
- package/.output/server/node_modules/sharp/lib/constructor.js +439 -0
- package/.output/server/node_modules/sharp/lib/index.js +16 -0
- package/.output/server/node_modules/sharp/lib/input.js +631 -0
- package/.output/server/node_modules/sharp/lib/is.js +155 -0
- package/.output/server/node_modules/sharp/lib/libvips.js +140 -0
- package/.output/server/node_modules/sharp/lib/operation.js +919 -0
- package/.output/server/node_modules/sharp/lib/output.js +1413 -0
- package/.output/server/node_modules/sharp/lib/platform.js +30 -0
- package/.output/server/node_modules/sharp/lib/resize.js +582 -0
- package/.output/server/node_modules/sharp/lib/sharp.js +38 -0
- package/.output/server/node_modules/sharp/lib/utility.js +287 -0
- package/.output/server/node_modules/sharp/package.json +204 -0
- package/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/THIRD-PARTY-NOTICES.md +43 -0
- package/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/lib/libvips-cpp.so.42 +0 -0
- package/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/platform.json +1 -0
- package/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/versions.json +31 -0
- package/.output/server/node_modules/simple-swizzle/index.js +29 -0
- package/.output/server/node_modules/simple-swizzle/package.json +36 -0
- package/.output/server/package.json +15 -1
- package/README.md +2 -0
- package/package.json +12 -19
- package/.output/public/_nuxt/5FxpIoe_.js +0 -1
- package/.output/public/_nuxt/builds/meta/21578a05-1b7e-4847-a8ff-7480800ea4a6.json +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const conversions = require('./conversions');
|
|
2
|
+
const route = require('./route');
|
|
3
|
+
|
|
4
|
+
const convert = {};
|
|
5
|
+
|
|
6
|
+
const models = Object.keys(conversions);
|
|
7
|
+
|
|
8
|
+
function wrapRaw(fn) {
|
|
9
|
+
const wrappedFn = function (...args) {
|
|
10
|
+
const arg0 = args[0];
|
|
11
|
+
if (arg0 === undefined || arg0 === null) {
|
|
12
|
+
return arg0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (arg0.length > 1) {
|
|
16
|
+
args = arg0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return fn(args);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// Preserve .conversion property if there is one
|
|
23
|
+
if ('conversion' in fn) {
|
|
24
|
+
wrappedFn.conversion = fn.conversion;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return wrappedFn;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function wrapRounded(fn) {
|
|
31
|
+
const wrappedFn = function (...args) {
|
|
32
|
+
const arg0 = args[0];
|
|
33
|
+
|
|
34
|
+
if (arg0 === undefined || arg0 === null) {
|
|
35
|
+
return arg0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (arg0.length > 1) {
|
|
39
|
+
args = arg0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const result = fn(args);
|
|
43
|
+
|
|
44
|
+
// We're assuming the result is an array here.
|
|
45
|
+
// see notice in conversions.js; don't use box types
|
|
46
|
+
// in conversion functions.
|
|
47
|
+
if (typeof result === 'object') {
|
|
48
|
+
for (let len = result.length, i = 0; i < len; i++) {
|
|
49
|
+
result[i] = Math.round(result[i]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// Preserve .conversion property if there is one
|
|
57
|
+
if ('conversion' in fn) {
|
|
58
|
+
wrappedFn.conversion = fn.conversion;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return wrappedFn;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
models.forEach(fromModel => {
|
|
65
|
+
convert[fromModel] = {};
|
|
66
|
+
|
|
67
|
+
Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
|
|
68
|
+
Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
|
|
69
|
+
|
|
70
|
+
const routes = route(fromModel);
|
|
71
|
+
const routeModels = Object.keys(routes);
|
|
72
|
+
|
|
73
|
+
routeModels.forEach(toModel => {
|
|
74
|
+
const fn = routes[toModel];
|
|
75
|
+
|
|
76
|
+
convert[fromModel][toModel] = wrapRounded(fn);
|
|
77
|
+
convert[fromModel][toModel].raw = wrapRaw(fn);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
module.exports = convert;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "color-convert",
|
|
3
|
+
"description": "Plain color conversion functions",
|
|
4
|
+
"version": "2.0.1",
|
|
5
|
+
"author": "Heather Arthur <fayearthur@gmail.com>",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": "Qix-/color-convert",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"pretest": "xo",
|
|
10
|
+
"test": "node test/basic.js"
|
|
11
|
+
},
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=7.0.0"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"color",
|
|
17
|
+
"colour",
|
|
18
|
+
"convert",
|
|
19
|
+
"converter",
|
|
20
|
+
"conversion",
|
|
21
|
+
"rgb",
|
|
22
|
+
"hsl",
|
|
23
|
+
"hsv",
|
|
24
|
+
"hwb",
|
|
25
|
+
"cmyk",
|
|
26
|
+
"ansi",
|
|
27
|
+
"ansi16"
|
|
28
|
+
],
|
|
29
|
+
"files": [
|
|
30
|
+
"index.js",
|
|
31
|
+
"conversions.js",
|
|
32
|
+
"route.js"
|
|
33
|
+
],
|
|
34
|
+
"xo": {
|
|
35
|
+
"rules": {
|
|
36
|
+
"default-case": 0,
|
|
37
|
+
"no-inline-comments": 0,
|
|
38
|
+
"operator-linebreak": 0
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"chalk": "^2.4.2",
|
|
43
|
+
"xo": "^0.24.0"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"color-name": "~1.1.4"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const conversions = require('./conversions');
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
This function routes a model to all other models.
|
|
5
|
+
|
|
6
|
+
all functions that are routed have a property `.conversion` attached
|
|
7
|
+
to the returned synthetic function. This property is an array
|
|
8
|
+
of strings, each with the steps in between the 'from' and 'to'
|
|
9
|
+
color models (inclusive).
|
|
10
|
+
|
|
11
|
+
conversions that are not possible simply are not included.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function buildGraph() {
|
|
15
|
+
const graph = {};
|
|
16
|
+
// https://jsperf.com/object-keys-vs-for-in-with-closure/3
|
|
17
|
+
const models = Object.keys(conversions);
|
|
18
|
+
|
|
19
|
+
for (let len = models.length, i = 0; i < len; i++) {
|
|
20
|
+
graph[models[i]] = {
|
|
21
|
+
// http://jsperf.com/1-vs-infinity
|
|
22
|
+
// micro-opt, but this is simple.
|
|
23
|
+
distance: -1,
|
|
24
|
+
parent: null
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return graph;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// https://en.wikipedia.org/wiki/Breadth-first_search
|
|
32
|
+
function deriveBFS(fromModel) {
|
|
33
|
+
const graph = buildGraph();
|
|
34
|
+
const queue = [fromModel]; // Unshift -> queue -> pop
|
|
35
|
+
|
|
36
|
+
graph[fromModel].distance = 0;
|
|
37
|
+
|
|
38
|
+
while (queue.length) {
|
|
39
|
+
const current = queue.pop();
|
|
40
|
+
const adjacents = Object.keys(conversions[current]);
|
|
41
|
+
|
|
42
|
+
for (let len = adjacents.length, i = 0; i < len; i++) {
|
|
43
|
+
const adjacent = adjacents[i];
|
|
44
|
+
const node = graph[adjacent];
|
|
45
|
+
|
|
46
|
+
if (node.distance === -1) {
|
|
47
|
+
node.distance = graph[current].distance + 1;
|
|
48
|
+
node.parent = current;
|
|
49
|
+
queue.unshift(adjacent);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return graph;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function link(from, to) {
|
|
58
|
+
return function (args) {
|
|
59
|
+
return to(from(args));
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function wrapConversion(toModel, graph) {
|
|
64
|
+
const path = [graph[toModel].parent, toModel];
|
|
65
|
+
let fn = conversions[graph[toModel].parent][toModel];
|
|
66
|
+
|
|
67
|
+
let cur = graph[toModel].parent;
|
|
68
|
+
while (graph[cur].parent) {
|
|
69
|
+
path.unshift(graph[cur].parent);
|
|
70
|
+
fn = link(conversions[graph[cur].parent][cur], fn);
|
|
71
|
+
cur = graph[cur].parent;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
fn.conversion = path;
|
|
75
|
+
return fn;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
module.exports = function (fromModel) {
|
|
79
|
+
const graph = deriveBFS(fromModel);
|
|
80
|
+
const conversion = {};
|
|
81
|
+
|
|
82
|
+
const models = Object.keys(graph);
|
|
83
|
+
for (let len = models.length, i = 0; i < len; i++) {
|
|
84
|
+
const toModel = models[i];
|
|
85
|
+
const node = graph[toModel];
|
|
86
|
+
|
|
87
|
+
if (node.parent === null) {
|
|
88
|
+
// No possible conversion, or this node is the source model.
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
conversion[toModel] = wrapConversion(toModel, graph);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return conversion;
|
|
96
|
+
};
|
|
97
|
+
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
"aliceblue": [240, 248, 255],
|
|
5
|
+
"antiquewhite": [250, 235, 215],
|
|
6
|
+
"aqua": [0, 255, 255],
|
|
7
|
+
"aquamarine": [127, 255, 212],
|
|
8
|
+
"azure": [240, 255, 255],
|
|
9
|
+
"beige": [245, 245, 220],
|
|
10
|
+
"bisque": [255, 228, 196],
|
|
11
|
+
"black": [0, 0, 0],
|
|
12
|
+
"blanchedalmond": [255, 235, 205],
|
|
13
|
+
"blue": [0, 0, 255],
|
|
14
|
+
"blueviolet": [138, 43, 226],
|
|
15
|
+
"brown": [165, 42, 42],
|
|
16
|
+
"burlywood": [222, 184, 135],
|
|
17
|
+
"cadetblue": [95, 158, 160],
|
|
18
|
+
"chartreuse": [127, 255, 0],
|
|
19
|
+
"chocolate": [210, 105, 30],
|
|
20
|
+
"coral": [255, 127, 80],
|
|
21
|
+
"cornflowerblue": [100, 149, 237],
|
|
22
|
+
"cornsilk": [255, 248, 220],
|
|
23
|
+
"crimson": [220, 20, 60],
|
|
24
|
+
"cyan": [0, 255, 255],
|
|
25
|
+
"darkblue": [0, 0, 139],
|
|
26
|
+
"darkcyan": [0, 139, 139],
|
|
27
|
+
"darkgoldenrod": [184, 134, 11],
|
|
28
|
+
"darkgray": [169, 169, 169],
|
|
29
|
+
"darkgreen": [0, 100, 0],
|
|
30
|
+
"darkgrey": [169, 169, 169],
|
|
31
|
+
"darkkhaki": [189, 183, 107],
|
|
32
|
+
"darkmagenta": [139, 0, 139],
|
|
33
|
+
"darkolivegreen": [85, 107, 47],
|
|
34
|
+
"darkorange": [255, 140, 0],
|
|
35
|
+
"darkorchid": [153, 50, 204],
|
|
36
|
+
"darkred": [139, 0, 0],
|
|
37
|
+
"darksalmon": [233, 150, 122],
|
|
38
|
+
"darkseagreen": [143, 188, 143],
|
|
39
|
+
"darkslateblue": [72, 61, 139],
|
|
40
|
+
"darkslategray": [47, 79, 79],
|
|
41
|
+
"darkslategrey": [47, 79, 79],
|
|
42
|
+
"darkturquoise": [0, 206, 209],
|
|
43
|
+
"darkviolet": [148, 0, 211],
|
|
44
|
+
"deeppink": [255, 20, 147],
|
|
45
|
+
"deepskyblue": [0, 191, 255],
|
|
46
|
+
"dimgray": [105, 105, 105],
|
|
47
|
+
"dimgrey": [105, 105, 105],
|
|
48
|
+
"dodgerblue": [30, 144, 255],
|
|
49
|
+
"firebrick": [178, 34, 34],
|
|
50
|
+
"floralwhite": [255, 250, 240],
|
|
51
|
+
"forestgreen": [34, 139, 34],
|
|
52
|
+
"fuchsia": [255, 0, 255],
|
|
53
|
+
"gainsboro": [220, 220, 220],
|
|
54
|
+
"ghostwhite": [248, 248, 255],
|
|
55
|
+
"gold": [255, 215, 0],
|
|
56
|
+
"goldenrod": [218, 165, 32],
|
|
57
|
+
"gray": [128, 128, 128],
|
|
58
|
+
"green": [0, 128, 0],
|
|
59
|
+
"greenyellow": [173, 255, 47],
|
|
60
|
+
"grey": [128, 128, 128],
|
|
61
|
+
"honeydew": [240, 255, 240],
|
|
62
|
+
"hotpink": [255, 105, 180],
|
|
63
|
+
"indianred": [205, 92, 92],
|
|
64
|
+
"indigo": [75, 0, 130],
|
|
65
|
+
"ivory": [255, 255, 240],
|
|
66
|
+
"khaki": [240, 230, 140],
|
|
67
|
+
"lavender": [230, 230, 250],
|
|
68
|
+
"lavenderblush": [255, 240, 245],
|
|
69
|
+
"lawngreen": [124, 252, 0],
|
|
70
|
+
"lemonchiffon": [255, 250, 205],
|
|
71
|
+
"lightblue": [173, 216, 230],
|
|
72
|
+
"lightcoral": [240, 128, 128],
|
|
73
|
+
"lightcyan": [224, 255, 255],
|
|
74
|
+
"lightgoldenrodyellow": [250, 250, 210],
|
|
75
|
+
"lightgray": [211, 211, 211],
|
|
76
|
+
"lightgreen": [144, 238, 144],
|
|
77
|
+
"lightgrey": [211, 211, 211],
|
|
78
|
+
"lightpink": [255, 182, 193],
|
|
79
|
+
"lightsalmon": [255, 160, 122],
|
|
80
|
+
"lightseagreen": [32, 178, 170],
|
|
81
|
+
"lightskyblue": [135, 206, 250],
|
|
82
|
+
"lightslategray": [119, 136, 153],
|
|
83
|
+
"lightslategrey": [119, 136, 153],
|
|
84
|
+
"lightsteelblue": [176, 196, 222],
|
|
85
|
+
"lightyellow": [255, 255, 224],
|
|
86
|
+
"lime": [0, 255, 0],
|
|
87
|
+
"limegreen": [50, 205, 50],
|
|
88
|
+
"linen": [250, 240, 230],
|
|
89
|
+
"magenta": [255, 0, 255],
|
|
90
|
+
"maroon": [128, 0, 0],
|
|
91
|
+
"mediumaquamarine": [102, 205, 170],
|
|
92
|
+
"mediumblue": [0, 0, 205],
|
|
93
|
+
"mediumorchid": [186, 85, 211],
|
|
94
|
+
"mediumpurple": [147, 112, 219],
|
|
95
|
+
"mediumseagreen": [60, 179, 113],
|
|
96
|
+
"mediumslateblue": [123, 104, 238],
|
|
97
|
+
"mediumspringgreen": [0, 250, 154],
|
|
98
|
+
"mediumturquoise": [72, 209, 204],
|
|
99
|
+
"mediumvioletred": [199, 21, 133],
|
|
100
|
+
"midnightblue": [25, 25, 112],
|
|
101
|
+
"mintcream": [245, 255, 250],
|
|
102
|
+
"mistyrose": [255, 228, 225],
|
|
103
|
+
"moccasin": [255, 228, 181],
|
|
104
|
+
"navajowhite": [255, 222, 173],
|
|
105
|
+
"navy": [0, 0, 128],
|
|
106
|
+
"oldlace": [253, 245, 230],
|
|
107
|
+
"olive": [128, 128, 0],
|
|
108
|
+
"olivedrab": [107, 142, 35],
|
|
109
|
+
"orange": [255, 165, 0],
|
|
110
|
+
"orangered": [255, 69, 0],
|
|
111
|
+
"orchid": [218, 112, 214],
|
|
112
|
+
"palegoldenrod": [238, 232, 170],
|
|
113
|
+
"palegreen": [152, 251, 152],
|
|
114
|
+
"paleturquoise": [175, 238, 238],
|
|
115
|
+
"palevioletred": [219, 112, 147],
|
|
116
|
+
"papayawhip": [255, 239, 213],
|
|
117
|
+
"peachpuff": [255, 218, 185],
|
|
118
|
+
"peru": [205, 133, 63],
|
|
119
|
+
"pink": [255, 192, 203],
|
|
120
|
+
"plum": [221, 160, 221],
|
|
121
|
+
"powderblue": [176, 224, 230],
|
|
122
|
+
"purple": [128, 0, 128],
|
|
123
|
+
"rebeccapurple": [102, 51, 153],
|
|
124
|
+
"red": [255, 0, 0],
|
|
125
|
+
"rosybrown": [188, 143, 143],
|
|
126
|
+
"royalblue": [65, 105, 225],
|
|
127
|
+
"saddlebrown": [139, 69, 19],
|
|
128
|
+
"salmon": [250, 128, 114],
|
|
129
|
+
"sandybrown": [244, 164, 96],
|
|
130
|
+
"seagreen": [46, 139, 87],
|
|
131
|
+
"seashell": [255, 245, 238],
|
|
132
|
+
"sienna": [160, 82, 45],
|
|
133
|
+
"silver": [192, 192, 192],
|
|
134
|
+
"skyblue": [135, 206, 235],
|
|
135
|
+
"slateblue": [106, 90, 205],
|
|
136
|
+
"slategray": [112, 128, 144],
|
|
137
|
+
"slategrey": [112, 128, 144],
|
|
138
|
+
"snow": [255, 250, 250],
|
|
139
|
+
"springgreen": [0, 255, 127],
|
|
140
|
+
"steelblue": [70, 130, 180],
|
|
141
|
+
"tan": [210, 180, 140],
|
|
142
|
+
"teal": [0, 128, 128],
|
|
143
|
+
"thistle": [216, 191, 216],
|
|
144
|
+
"tomato": [255, 99, 71],
|
|
145
|
+
"turquoise": [64, 224, 208],
|
|
146
|
+
"violet": [238, 130, 238],
|
|
147
|
+
"wheat": [245, 222, 179],
|
|
148
|
+
"white": [255, 255, 255],
|
|
149
|
+
"whitesmoke": [245, 245, 245],
|
|
150
|
+
"yellow": [255, 255, 0],
|
|
151
|
+
"yellowgreen": [154, 205, 50]
|
|
152
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "color-name",
|
|
3
|
+
"version": "1.1.4",
|
|
4
|
+
"description": "A list of color names and its values",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"index.js"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node test.js"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git@github.com:colorjs/color-name.git"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"color-name",
|
|
18
|
+
"color",
|
|
19
|
+
"color-keyword",
|
|
20
|
+
"keyword"
|
|
21
|
+
],
|
|
22
|
+
"author": "DY <dfcreative@gmail.com>",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/colorjs/color-name/issues"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/colorjs/color-name"
|
|
28
|
+
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/* MIT license */
|
|
2
|
+
var colorNames = require('color-name');
|
|
3
|
+
var swizzle = require('simple-swizzle');
|
|
4
|
+
var hasOwnProperty = Object.hasOwnProperty;
|
|
5
|
+
|
|
6
|
+
var reverseNames = Object.create(null);
|
|
7
|
+
|
|
8
|
+
// create a list of reverse color names
|
|
9
|
+
for (var name in colorNames) {
|
|
10
|
+
if (hasOwnProperty.call(colorNames, name)) {
|
|
11
|
+
reverseNames[colorNames[name]] = name;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
var cs = module.exports = {
|
|
16
|
+
to: {},
|
|
17
|
+
get: {}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
cs.get = function (string) {
|
|
21
|
+
var prefix = string.substring(0, 3).toLowerCase();
|
|
22
|
+
var val;
|
|
23
|
+
var model;
|
|
24
|
+
switch (prefix) {
|
|
25
|
+
case 'hsl':
|
|
26
|
+
val = cs.get.hsl(string);
|
|
27
|
+
model = 'hsl';
|
|
28
|
+
break;
|
|
29
|
+
case 'hwb':
|
|
30
|
+
val = cs.get.hwb(string);
|
|
31
|
+
model = 'hwb';
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
val = cs.get.rgb(string);
|
|
35
|
+
model = 'rgb';
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (!val) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return {model: model, value: val};
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
cs.get.rgb = function (string) {
|
|
47
|
+
if (!string) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
var abbr = /^#([a-f0-9]{3,4})$/i;
|
|
52
|
+
var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;
|
|
53
|
+
var rgba = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
|
|
54
|
+
var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
|
|
55
|
+
var keyword = /^(\w+)$/;
|
|
56
|
+
|
|
57
|
+
var rgb = [0, 0, 0, 1];
|
|
58
|
+
var match;
|
|
59
|
+
var i;
|
|
60
|
+
var hexAlpha;
|
|
61
|
+
|
|
62
|
+
if (match = string.match(hex)) {
|
|
63
|
+
hexAlpha = match[2];
|
|
64
|
+
match = match[1];
|
|
65
|
+
|
|
66
|
+
for (i = 0; i < 3; i++) {
|
|
67
|
+
// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19
|
|
68
|
+
var i2 = i * 2;
|
|
69
|
+
rgb[i] = parseInt(match.slice(i2, i2 + 2), 16);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (hexAlpha) {
|
|
73
|
+
rgb[3] = parseInt(hexAlpha, 16) / 255;
|
|
74
|
+
}
|
|
75
|
+
} else if (match = string.match(abbr)) {
|
|
76
|
+
match = match[1];
|
|
77
|
+
hexAlpha = match[3];
|
|
78
|
+
|
|
79
|
+
for (i = 0; i < 3; i++) {
|
|
80
|
+
rgb[i] = parseInt(match[i] + match[i], 16);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (hexAlpha) {
|
|
84
|
+
rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;
|
|
85
|
+
}
|
|
86
|
+
} else if (match = string.match(rgba)) {
|
|
87
|
+
for (i = 0; i < 3; i++) {
|
|
88
|
+
rgb[i] = parseInt(match[i + 1], 0);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (match[4]) {
|
|
92
|
+
if (match[5]) {
|
|
93
|
+
rgb[3] = parseFloat(match[4]) * 0.01;
|
|
94
|
+
} else {
|
|
95
|
+
rgb[3] = parseFloat(match[4]);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
} else if (match = string.match(per)) {
|
|
99
|
+
for (i = 0; i < 3; i++) {
|
|
100
|
+
rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (match[4]) {
|
|
104
|
+
if (match[5]) {
|
|
105
|
+
rgb[3] = parseFloat(match[4]) * 0.01;
|
|
106
|
+
} else {
|
|
107
|
+
rgb[3] = parseFloat(match[4]);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
} else if (match = string.match(keyword)) {
|
|
111
|
+
if (match[1] === 'transparent') {
|
|
112
|
+
return [0, 0, 0, 0];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (!hasOwnProperty.call(colorNames, match[1])) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
rgb = colorNames[match[1]];
|
|
120
|
+
rgb[3] = 1;
|
|
121
|
+
|
|
122
|
+
return rgb;
|
|
123
|
+
} else {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
for (i = 0; i < 3; i++) {
|
|
128
|
+
rgb[i] = clamp(rgb[i], 0, 255);
|
|
129
|
+
}
|
|
130
|
+
rgb[3] = clamp(rgb[3], 0, 1);
|
|
131
|
+
|
|
132
|
+
return rgb;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
cs.get.hsl = function (string) {
|
|
136
|
+
if (!string) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
|
|
141
|
+
var match = string.match(hsl);
|
|
142
|
+
|
|
143
|
+
if (match) {
|
|
144
|
+
var alpha = parseFloat(match[4]);
|
|
145
|
+
var h = ((parseFloat(match[1]) % 360) + 360) % 360;
|
|
146
|
+
var s = clamp(parseFloat(match[2]), 0, 100);
|
|
147
|
+
var l = clamp(parseFloat(match[3]), 0, 100);
|
|
148
|
+
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
149
|
+
|
|
150
|
+
return [h, s, l, a];
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return null;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
cs.get.hwb = function (string) {
|
|
157
|
+
if (!string) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
|
|
162
|
+
var match = string.match(hwb);
|
|
163
|
+
|
|
164
|
+
if (match) {
|
|
165
|
+
var alpha = parseFloat(match[4]);
|
|
166
|
+
var h = ((parseFloat(match[1]) % 360) + 360) % 360;
|
|
167
|
+
var w = clamp(parseFloat(match[2]), 0, 100);
|
|
168
|
+
var b = clamp(parseFloat(match[3]), 0, 100);
|
|
169
|
+
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
170
|
+
return [h, w, b, a];
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return null;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
cs.to.hex = function () {
|
|
177
|
+
var rgba = swizzle(arguments);
|
|
178
|
+
|
|
179
|
+
return (
|
|
180
|
+
'#' +
|
|
181
|
+
hexDouble(rgba[0]) +
|
|
182
|
+
hexDouble(rgba[1]) +
|
|
183
|
+
hexDouble(rgba[2]) +
|
|
184
|
+
(rgba[3] < 1
|
|
185
|
+
? (hexDouble(Math.round(rgba[3] * 255)))
|
|
186
|
+
: '')
|
|
187
|
+
);
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
cs.to.rgb = function () {
|
|
191
|
+
var rgba = swizzle(arguments);
|
|
192
|
+
|
|
193
|
+
return rgba.length < 4 || rgba[3] === 1
|
|
194
|
+
? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'
|
|
195
|
+
: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
cs.to.rgb.percent = function () {
|
|
199
|
+
var rgba = swizzle(arguments);
|
|
200
|
+
|
|
201
|
+
var r = Math.round(rgba[0] / 255 * 100);
|
|
202
|
+
var g = Math.round(rgba[1] / 255 * 100);
|
|
203
|
+
var b = Math.round(rgba[2] / 255 * 100);
|
|
204
|
+
|
|
205
|
+
return rgba.length < 4 || rgba[3] === 1
|
|
206
|
+
? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'
|
|
207
|
+
: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
cs.to.hsl = function () {
|
|
211
|
+
var hsla = swizzle(arguments);
|
|
212
|
+
return hsla.length < 4 || hsla[3] === 1
|
|
213
|
+
? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'
|
|
214
|
+
: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
|
|
218
|
+
// (hwb have alpha optional & 1 is default value)
|
|
219
|
+
cs.to.hwb = function () {
|
|
220
|
+
var hwba = swizzle(arguments);
|
|
221
|
+
|
|
222
|
+
var a = '';
|
|
223
|
+
if (hwba.length >= 4 && hwba[3] !== 1) {
|
|
224
|
+
a = ', ' + hwba[3];
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
cs.to.keyword = function (rgb) {
|
|
231
|
+
return reverseNames[rgb.slice(0, 3)];
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
// helpers
|
|
235
|
+
function clamp(num, min, max) {
|
|
236
|
+
return Math.min(Math.max(min, num), max);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
function hexDouble(num) {
|
|
240
|
+
var str = Math.round(num).toString(16).toUpperCase();
|
|
241
|
+
return (str.length < 2) ? '0' + str : str;
|
|
242
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "color-string",
|
|
3
|
+
"description": "Parser and generator for CSS color strings",
|
|
4
|
+
"version": "1.9.1",
|
|
5
|
+
"author": "Heather Arthur <fayearthur@gmail.com>",
|
|
6
|
+
"contributors": [
|
|
7
|
+
"Maxime Thirouin",
|
|
8
|
+
"Dyma Ywanov <dfcreative@gmail.com>",
|
|
9
|
+
"Josh Junon"
|
|
10
|
+
],
|
|
11
|
+
"repository": "Qix-/color-string",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"pretest": "xo",
|
|
14
|
+
"test": "node test/basic.js"
|
|
15
|
+
},
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"files": [
|
|
18
|
+
"index.js"
|
|
19
|
+
],
|
|
20
|
+
"xo": {
|
|
21
|
+
"rules": {
|
|
22
|
+
"no-cond-assign": 0,
|
|
23
|
+
"operator-linebreak": 0
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"color-name": "^1.0.0",
|
|
28
|
+
"simple-swizzle": "^0.2.2"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"xo": "^0.12.1"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"color",
|
|
35
|
+
"colour",
|
|
36
|
+
"rgb",
|
|
37
|
+
"css"
|
|
38
|
+
]
|
|
39
|
+
}
|