@jam-comments/server-utilities 1.0.4 → 2.0.0

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.
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.markupFetcher = exports.logError = exports.log = void 0;
4
+ const markupFetcher_1 = require("./markupFetcher");
5
+ Object.defineProperty(exports, "markupFetcher", { enumerable: true, get: function () { return markupFetcher_1.markupFetcher; } });
6
+ var log_1 = require("./log");
7
+ Object.defineProperty(exports, "log", { enumerable: true, get: function () { return log_1.log; } });
8
+ Object.defineProperty(exports, "logError", { enumerable: true, get: function () { return log_1.logError; } });
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logError = exports.log = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const log = (message) => {
9
+ console.log(`${chalk_1.default.magenta("JamComments:")} ${message}`);
10
+ };
11
+ exports.log = log;
12
+ const logError = (message) => {
13
+ console.error(`JamComments: ${message}`);
14
+ };
15
+ exports.logError = logError;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.markupFetcher = void 0;
4
+ const markupFetcher = (platform, fetchImplementation = fetch) => {
5
+ return async ({ path, domain, apiKey, baseUrl = 'https://go.jamcomments.com', environment = 'production' }) => {
6
+ const params = new URLSearchParams({
7
+ path: path || "/",
8
+ domain
9
+ });
10
+ if (environment !== 'production') {
11
+ params.set('stub', 'true');
12
+ }
13
+ const requestUrl = `${baseUrl}/api/markup?${params}`;
14
+ const response = await fetchImplementation(requestUrl, {
15
+ method: 'GET',
16
+ headers: {
17
+ Authorization: `Bearer ${apiKey}`,
18
+ Accept: 'application/json',
19
+ 'X-Platform': platform
20
+ }
21
+ });
22
+ if (response.status === 401) {
23
+ throw new Error(`Unauthorized! Are your domain and JamComments API key set correctly?`);
24
+ }
25
+ if (!response.ok) {
26
+ throw new Error(`JamComments request failed! Status code: ${response.status}, message: ${response.statusText}, request URL: ${requestUrl}`);
27
+ }
28
+ return await response.text();
29
+ };
30
+ };
31
+ exports.markupFetcher = markupFetcher;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const markupFetcher_1 = require("./markupFetcher");
5
+ (0, vitest_1.describe)("markupFetcher", () => {
6
+ (0, vitest_1.it)("constructs fetch request correctly", async () => {
7
+ const fetchMock = vitest_1.vi.fn().mockImplementation(() => {
8
+ return {
9
+ status: 200,
10
+ ok: true,
11
+ text: () => "results!"
12
+ };
13
+ });
14
+ const fetcher = (0, markupFetcher_1.markupFetcher)("test", fetchMock);
15
+ const result = await fetcher({
16
+ path: "/test",
17
+ domain: "test.com",
18
+ apiKey: "123abc"
19
+ });
20
+ (0, vitest_1.expect)(fetchMock).toHaveBeenCalledWith("https://go.jamcomments.com/api/markup?path=%2Ftest&domain=test.com", vitest_1.expect.objectContaining({
21
+ headers: vitest_1.expect.objectContaining({
22
+ Accept: "application/json",
23
+ Authorization: "Bearer 123abc",
24
+ "X-Platform": "test"
25
+ }),
26
+ method: "GET"
27
+ }));
28
+ (0, vitest_1.expect)(result).toEqual("results!");
29
+ });
30
+ (0, vitest_1.it)("stubs comments", async () => {
31
+ const fetchMock = vitest_1.vi.fn().mockImplementation(() => {
32
+ return {
33
+ status: 200,
34
+ ok: true,
35
+ text: () => "results!"
36
+ };
37
+ });
38
+ const fetcher = (0, markupFetcher_1.markupFetcher)("test", fetchMock);
39
+ const result = await fetcher({
40
+ path: "/test",
41
+ domain: "test.com",
42
+ apiKey: "123abc",
43
+ environment: "development"
44
+ });
45
+ (0, vitest_1.expect)(fetchMock).toHaveBeenCalledWith("https://go.jamcomments.com/api/markup?path=%2Ftest&domain=test.com&stub=true", vitest_1.expect.anything());
46
+ (0, vitest_1.expect)(result).toEqual("results!");
47
+ });
48
+ (0, vitest_1.it)("uses different base URL", async () => {
49
+ const fetchMock = vitest_1.vi.fn().mockImplementation(() => {
50
+ return {
51
+ status: 200,
52
+ ok: true,
53
+ text: () => "results!"
54
+ };
55
+ });
56
+ const fetcher = (0, markupFetcher_1.markupFetcher)("test", fetchMock);
57
+ const result = await fetcher({
58
+ path: "/test",
59
+ domain: "test.com",
60
+ apiKey: "123abc",
61
+ baseUrl: "http://ur-mom.com"
62
+ });
63
+ (0, vitest_1.expect)(fetchMock).toHaveBeenCalledWith("http://ur-mom.com/api/markup?path=%2Ftest&domain=test.com", vitest_1.expect.anything());
64
+ (0, vitest_1.expect)(result).toEqual("results!");
65
+ });
66
+ (0, vitest_1.it)("falls back to root path", async () => {
67
+ const fetchMock = vitest_1.vi.fn().mockImplementation(() => {
68
+ return {
69
+ status: 200,
70
+ ok: true,
71
+ text: () => "results!"
72
+ };
73
+ });
74
+ const fetcher = (0, markupFetcher_1.markupFetcher)("test", fetchMock);
75
+ const result = await fetcher({
76
+ path: null,
77
+ domain: "test.com"
78
+ });
79
+ (0, vitest_1.expect)(fetchMock).toHaveBeenCalledWith("https://go.jamcomments.com/api/markup?path=%2F&domain=test.com", vitest_1.expect.anything());
80
+ (0, vitest_1.expect)(result).toEqual("results!");
81
+ });
82
+ (0, vitest_1.it)("credentials are invalid", async () => {
83
+ const fetchMock = vitest_1.vi.fn().mockImplementation(() => {
84
+ return {
85
+ status: 401,
86
+ ok: false,
87
+ text: () => "bad results!"
88
+ };
89
+ });
90
+ const fetcher = (0, markupFetcher_1.markupFetcher)("test", fetchMock);
91
+ (0, vitest_1.expect)(fetcher({
92
+ path: "/test",
93
+ domain: "test.com",
94
+ apiKey: "123abc"
95
+ })).rejects.toThrowError(/Unauthorized!/);
96
+ });
97
+ (0, vitest_1.it)("response isn't ok", async () => {
98
+ const fetchMock = vitest_1.vi.fn().mockImplementation(() => {
99
+ return {
100
+ status: 500,
101
+ ok: false,
102
+ text: () => "bad results!"
103
+ };
104
+ });
105
+ const fetcher = (0, markupFetcher_1.markupFetcher)("test", fetchMock);
106
+ (0, vitest_1.expect)(fetcher({
107
+ path: "/test",
108
+ domain: "test.com",
109
+ apiKey: "123abc"
110
+ })).rejects.toThrowError(/request failed! Status code: 500/);
111
+ });
112
+ });
File without changes
@@ -0,0 +1,7 @@
1
+ import chalk from "chalk";
2
+ export const log = (message) => {
3
+ console.log(`${chalk.magenta("JamComments:")} ${message}`);
4
+ };
5
+ export const logError = (message) => {
6
+ console.error(`JamComments: ${message}`);
7
+ };
@@ -0,0 +1,27 @@
1
+ export const markupFetcher = (platform, fetchImplementation = fetch) => {
2
+ return async ({ path, domain, apiKey, baseUrl = 'https://go.jamcomments.com', environment = 'production' }) => {
3
+ const params = new URLSearchParams({
4
+ path: path || "/",
5
+ domain
6
+ });
7
+ if (environment !== 'production') {
8
+ params.set('stub', 'true');
9
+ }
10
+ const requestUrl = `${baseUrl}/api/markup?${params}`;
11
+ const response = await fetchImplementation(requestUrl, {
12
+ method: 'GET',
13
+ headers: {
14
+ Authorization: `Bearer ${apiKey}`,
15
+ Accept: 'application/json',
16
+ 'X-Platform': platform
17
+ }
18
+ });
19
+ if (response.status === 401) {
20
+ throw new Error(`Unauthorized! Are your domain and JamComments API key set correctly?`);
21
+ }
22
+ if (!response.ok) {
23
+ throw new Error(`JamComments request failed! Status code: ${response.status}, message: ${response.statusText}, request URL: ${requestUrl}`);
24
+ }
25
+ return await response.text();
26
+ };
27
+ };
@@ -0,0 +1,110 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { markupFetcher } from "./markupFetcher";
3
+ describe("markupFetcher", () => {
4
+ it("constructs fetch request correctly", async () => {
5
+ const fetchMock = vi.fn().mockImplementation(() => {
6
+ return {
7
+ status: 200,
8
+ ok: true,
9
+ text: () => "results!"
10
+ };
11
+ });
12
+ const fetcher = markupFetcher("test", fetchMock);
13
+ const result = await fetcher({
14
+ path: "/test",
15
+ domain: "test.com",
16
+ apiKey: "123abc"
17
+ });
18
+ expect(fetchMock).toHaveBeenCalledWith("https://go.jamcomments.com/api/markup?path=%2Ftest&domain=test.com", expect.objectContaining({
19
+ headers: expect.objectContaining({
20
+ Accept: "application/json",
21
+ Authorization: "Bearer 123abc",
22
+ "X-Platform": "test"
23
+ }),
24
+ method: "GET"
25
+ }));
26
+ expect(result).toEqual("results!");
27
+ });
28
+ it("stubs comments", async () => {
29
+ const fetchMock = vi.fn().mockImplementation(() => {
30
+ return {
31
+ status: 200,
32
+ ok: true,
33
+ text: () => "results!"
34
+ };
35
+ });
36
+ const fetcher = markupFetcher("test", fetchMock);
37
+ const result = await fetcher({
38
+ path: "/test",
39
+ domain: "test.com",
40
+ apiKey: "123abc",
41
+ environment: "development"
42
+ });
43
+ expect(fetchMock).toHaveBeenCalledWith("https://go.jamcomments.com/api/markup?path=%2Ftest&domain=test.com&stub=true", expect.anything());
44
+ expect(result).toEqual("results!");
45
+ });
46
+ it("uses different base URL", async () => {
47
+ const fetchMock = vi.fn().mockImplementation(() => {
48
+ return {
49
+ status: 200,
50
+ ok: true,
51
+ text: () => "results!"
52
+ };
53
+ });
54
+ const fetcher = markupFetcher("test", fetchMock);
55
+ const result = await fetcher({
56
+ path: "/test",
57
+ domain: "test.com",
58
+ apiKey: "123abc",
59
+ baseUrl: "http://ur-mom.com"
60
+ });
61
+ expect(fetchMock).toHaveBeenCalledWith("http://ur-mom.com/api/markup?path=%2Ftest&domain=test.com", expect.anything());
62
+ expect(result).toEqual("results!");
63
+ });
64
+ it("falls back to root path", async () => {
65
+ const fetchMock = vi.fn().mockImplementation(() => {
66
+ return {
67
+ status: 200,
68
+ ok: true,
69
+ text: () => "results!"
70
+ };
71
+ });
72
+ const fetcher = markupFetcher("test", fetchMock);
73
+ const result = await fetcher({
74
+ path: null,
75
+ domain: "test.com"
76
+ });
77
+ expect(fetchMock).toHaveBeenCalledWith("https://go.jamcomments.com/api/markup?path=%2F&domain=test.com", expect.anything());
78
+ expect(result).toEqual("results!");
79
+ });
80
+ it("credentials are invalid", async () => {
81
+ const fetchMock = vi.fn().mockImplementation(() => {
82
+ return {
83
+ status: 401,
84
+ ok: false,
85
+ text: () => "bad results!"
86
+ };
87
+ });
88
+ const fetcher = markupFetcher("test", fetchMock);
89
+ expect(fetcher({
90
+ path: "/test",
91
+ domain: "test.com",
92
+ apiKey: "123abc"
93
+ })).rejects.toThrowError(/Unauthorized!/);
94
+ });
95
+ it("response isn't ok", async () => {
96
+ const fetchMock = vi.fn().mockImplementation(() => {
97
+ return {
98
+ status: 500,
99
+ ok: false,
100
+ text: () => "bad results!"
101
+ };
102
+ });
103
+ const fetcher = markupFetcher("test", fetchMock);
104
+ expect(fetcher({
105
+ path: "/test",
106
+ domain: "test.com",
107
+ apiKey: "123abc"
108
+ })).rejects.toThrowError(/request failed! Status code: 500/);
109
+ });
110
+ });
@@ -0,0 +1,3 @@
1
+ import { markupFetcher } from "./markupFetcher";
2
+ export { log, logError } from "./log";
3
+ export { markupFetcher };
File without changes
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,22 +1,23 @@
1
1
  {
2
2
  "name": "@jam-comments/server-utilities",
3
- "version": "1.0.4",
3
+ "version": "2.0.0",
4
4
  "description": "Various JavaScript utilities for JamComments.",
5
- "main": "dist/index.umd.js",
6
- "module": "dist/index.es.js",
7
- "types": "dist/index.d.ts",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/types/index.d.ts",
8
8
  "files": [
9
9
  "dist/"
10
10
  ],
11
11
  "exports": {
12
- "import": "./dist/index.es.js",
13
- "require": "./dist/index.umd.js"
12
+ "import": "./dist/esm/index.js",
13
+ "require": "./dist/cjs/index.js"
14
14
  },
15
15
  "scripts": {
16
16
  "watch": "npm run build -- --watch",
17
- "build": "vite build && tsc",
18
- "test": "echo 'No tests here...'",
19
- "prettify": "prettier ./**/*.{js,md,ts} --write",
17
+ "build": "rm -rf dist && npm run build:esm && npm run build:cjs",
18
+ "build:esm": "tsc --module es2020 --outDir dist/esm",
19
+ "build:cjs": "tsc --module commonjs --outDir dist/cjs",
20
+ "test": "vitest run src",
20
21
  "prepare": "npm run build"
21
22
  },
22
23
  "keywords": [],
@@ -24,19 +25,15 @@
24
25
  "homepage": "https://jamcomments.com",
25
26
  "license": "GPL-2.0",
26
27
  "dependencies": {
27
- "@jam-comments/server-utilities": "^1.0.4",
28
- "@jam-comments/shared-utilities": "^0.0.4",
29
- "graphql-quest": "^1.1.2",
30
- "typescript": "^4.9.3",
31
- "url-parse": "^1.5.10"
28
+ "typescript": "^4.9.3"
32
29
  },
33
30
  "devDependencies": {
34
31
  "@types/node": "^18.11.9",
35
32
  "prettier": "^2.7.1",
36
- "vite": "^3.2.4"
33
+ "vite": "^3.2.4",
34
+ "vitest": "^0.25.3"
37
35
  },
38
36
  "publishConfig": {
39
37
  "access": "public"
40
- },
41
- "gitHead": "bf211fadf04379b2c470f1d53fea5b6f2cde3060"
38
+ }
42
39
  }
package/dist/index.es.js DELETED
@@ -1,912 +0,0 @@
1
- const K = () => {
2
- var u;
3
- return typeof process < "u" && ((u = process.env) == null ? void 0 : u.JAM_COMMENTS_BASE_URL) ? process.env.JAM_COMMENTS_BASE_URL : "https://go.jamcomments.com";
4
- }, ie = (u, h = fetch) => async ({
5
- path: a,
6
- domain: g,
7
- apiKey: e
8
- }) => {
9
- const o = new URLSearchParams({
10
- path: a || "/",
11
- domain: g
12
- }), t = `${K()}/api/markup?${o}`, n = await h(t, {
13
- method: "GET",
14
- headers: {
15
- Authorization: `Bearer ${e}`,
16
- Accept: "application/json",
17
- "X-Platform": u
18
- }
19
- });
20
- if (n.status === 401)
21
- throw "JamComments: Unauthorized! Are your domain and API key set correctly?";
22
- if (!n.ok)
23
- throw `JamComments request failed! Status code: ${n.status}, message: ${n.statusText}, request URL: ${t}`;
24
- return await n.text();
25
- };
26
- var T = { exports: {} }, j, q;
27
- function Y() {
28
- return q || (q = 1, j = {
29
- aliceblue: [240, 248, 255],
30
- antiquewhite: [250, 235, 215],
31
- aqua: [0, 255, 255],
32
- aquamarine: [127, 255, 212],
33
- azure: [240, 255, 255],
34
- beige: [245, 245, 220],
35
- bisque: [255, 228, 196],
36
- black: [0, 0, 0],
37
- blanchedalmond: [255, 235, 205],
38
- blue: [0, 0, 255],
39
- blueviolet: [138, 43, 226],
40
- brown: [165, 42, 42],
41
- burlywood: [222, 184, 135],
42
- cadetblue: [95, 158, 160],
43
- chartreuse: [127, 255, 0],
44
- chocolate: [210, 105, 30],
45
- coral: [255, 127, 80],
46
- cornflowerblue: [100, 149, 237],
47
- cornsilk: [255, 248, 220],
48
- crimson: [220, 20, 60],
49
- cyan: [0, 255, 255],
50
- darkblue: [0, 0, 139],
51
- darkcyan: [0, 139, 139],
52
- darkgoldenrod: [184, 134, 11],
53
- darkgray: [169, 169, 169],
54
- darkgreen: [0, 100, 0],
55
- darkgrey: [169, 169, 169],
56
- darkkhaki: [189, 183, 107],
57
- darkmagenta: [139, 0, 139],
58
- darkolivegreen: [85, 107, 47],
59
- darkorange: [255, 140, 0],
60
- darkorchid: [153, 50, 204],
61
- darkred: [139, 0, 0],
62
- darksalmon: [233, 150, 122],
63
- darkseagreen: [143, 188, 143],
64
- darkslateblue: [72, 61, 139],
65
- darkslategray: [47, 79, 79],
66
- darkslategrey: [47, 79, 79],
67
- darkturquoise: [0, 206, 209],
68
- darkviolet: [148, 0, 211],
69
- deeppink: [255, 20, 147],
70
- deepskyblue: [0, 191, 255],
71
- dimgray: [105, 105, 105],
72
- dimgrey: [105, 105, 105],
73
- dodgerblue: [30, 144, 255],
74
- firebrick: [178, 34, 34],
75
- floralwhite: [255, 250, 240],
76
- forestgreen: [34, 139, 34],
77
- fuchsia: [255, 0, 255],
78
- gainsboro: [220, 220, 220],
79
- ghostwhite: [248, 248, 255],
80
- gold: [255, 215, 0],
81
- goldenrod: [218, 165, 32],
82
- gray: [128, 128, 128],
83
- green: [0, 128, 0],
84
- greenyellow: [173, 255, 47],
85
- grey: [128, 128, 128],
86
- honeydew: [240, 255, 240],
87
- hotpink: [255, 105, 180],
88
- indianred: [205, 92, 92],
89
- indigo: [75, 0, 130],
90
- ivory: [255, 255, 240],
91
- khaki: [240, 230, 140],
92
- lavender: [230, 230, 250],
93
- lavenderblush: [255, 240, 245],
94
- lawngreen: [124, 252, 0],
95
- lemonchiffon: [255, 250, 205],
96
- lightblue: [173, 216, 230],
97
- lightcoral: [240, 128, 128],
98
- lightcyan: [224, 255, 255],
99
- lightgoldenrodyellow: [250, 250, 210],
100
- lightgray: [211, 211, 211],
101
- lightgreen: [144, 238, 144],
102
- lightgrey: [211, 211, 211],
103
- lightpink: [255, 182, 193],
104
- lightsalmon: [255, 160, 122],
105
- lightseagreen: [32, 178, 170],
106
- lightskyblue: [135, 206, 250],
107
- lightslategray: [119, 136, 153],
108
- lightslategrey: [119, 136, 153],
109
- lightsteelblue: [176, 196, 222],
110
- lightyellow: [255, 255, 224],
111
- lime: [0, 255, 0],
112
- limegreen: [50, 205, 50],
113
- linen: [250, 240, 230],
114
- magenta: [255, 0, 255],
115
- maroon: [128, 0, 0],
116
- mediumaquamarine: [102, 205, 170],
117
- mediumblue: [0, 0, 205],
118
- mediumorchid: [186, 85, 211],
119
- mediumpurple: [147, 112, 219],
120
- mediumseagreen: [60, 179, 113],
121
- mediumslateblue: [123, 104, 238],
122
- mediumspringgreen: [0, 250, 154],
123
- mediumturquoise: [72, 209, 204],
124
- mediumvioletred: [199, 21, 133],
125
- midnightblue: [25, 25, 112],
126
- mintcream: [245, 255, 250],
127
- mistyrose: [255, 228, 225],
128
- moccasin: [255, 228, 181],
129
- navajowhite: [255, 222, 173],
130
- navy: [0, 0, 128],
131
- oldlace: [253, 245, 230],
132
- olive: [128, 128, 0],
133
- olivedrab: [107, 142, 35],
134
- orange: [255, 165, 0],
135
- orangered: [255, 69, 0],
136
- orchid: [218, 112, 214],
137
- palegoldenrod: [238, 232, 170],
138
- palegreen: [152, 251, 152],
139
- paleturquoise: [175, 238, 238],
140
- palevioletred: [219, 112, 147],
141
- papayawhip: [255, 239, 213],
142
- peachpuff: [255, 218, 185],
143
- peru: [205, 133, 63],
144
- pink: [255, 192, 203],
145
- plum: [221, 160, 221],
146
- powderblue: [176, 224, 230],
147
- purple: [128, 0, 128],
148
- rebeccapurple: [102, 51, 153],
149
- red: [255, 0, 0],
150
- rosybrown: [188, 143, 143],
151
- royalblue: [65, 105, 225],
152
- saddlebrown: [139, 69, 19],
153
- salmon: [250, 128, 114],
154
- sandybrown: [244, 164, 96],
155
- seagreen: [46, 139, 87],
156
- seashell: [255, 245, 238],
157
- sienna: [160, 82, 45],
158
- silver: [192, 192, 192],
159
- skyblue: [135, 206, 235],
160
- slateblue: [106, 90, 205],
161
- slategray: [112, 128, 144],
162
- slategrey: [112, 128, 144],
163
- snow: [255, 250, 250],
164
- springgreen: [0, 255, 127],
165
- steelblue: [70, 130, 180],
166
- tan: [210, 180, 140],
167
- teal: [0, 128, 128],
168
- thistle: [216, 191, 216],
169
- tomato: [255, 99, 71],
170
- turquoise: [64, 224, 208],
171
- violet: [238, 130, 238],
172
- wheat: [245, 222, 179],
173
- white: [255, 255, 255],
174
- whitesmoke: [245, 245, 245],
175
- yellow: [255, 255, 0],
176
- yellowgreen: [154, 205, 50]
177
- }), j;
178
- }
179
- var B, _;
180
- function U() {
181
- if (_)
182
- return B;
183
- _ = 1;
184
- const u = Y(), h = {};
185
- for (const e of Object.keys(u))
186
- h[u[e]] = e;
187
- const a = {
188
- rgb: { channels: 3, labels: "rgb" },
189
- hsl: { channels: 3, labels: "hsl" },
190
- hsv: { channels: 3, labels: "hsv" },
191
- hwb: { channels: 3, labels: "hwb" },
192
- cmyk: { channels: 4, labels: "cmyk" },
193
- xyz: { channels: 3, labels: "xyz" },
194
- lab: { channels: 3, labels: "lab" },
195
- lch: { channels: 3, labels: "lch" },
196
- hex: { channels: 1, labels: ["hex"] },
197
- keyword: { channels: 1, labels: ["keyword"] },
198
- ansi16: { channels: 1, labels: ["ansi16"] },
199
- ansi256: { channels: 1, labels: ["ansi256"] },
200
- hcg: { channels: 3, labels: ["h", "c", "g"] },
201
- apple: { channels: 3, labels: ["r16", "g16", "b16"] },
202
- gray: { channels: 1, labels: ["gray"] }
203
- };
204
- B = a;
205
- for (const e of Object.keys(a)) {
206
- if (!("channels" in a[e]))
207
- throw new Error("missing channels property: " + e);
208
- if (!("labels" in a[e]))
209
- throw new Error("missing channel labels property: " + e);
210
- if (a[e].labels.length !== a[e].channels)
211
- throw new Error("channel and label counts mismatch: " + e);
212
- const { channels: o, labels: t } = a[e];
213
- delete a[e].channels, delete a[e].labels, Object.defineProperty(a[e], "channels", { value: o }), Object.defineProperty(a[e], "labels", { value: t });
214
- }
215
- a.rgb.hsl = function(e) {
216
- const o = e[0] / 255, t = e[1] / 255, n = e[2] / 255, r = Math.min(o, t, n), s = Math.max(o, t, n), l = s - r;
217
- let c, i;
218
- s === r ? c = 0 : o === s ? c = (t - n) / l : t === s ? c = 2 + (n - o) / l : n === s && (c = 4 + (o - t) / l), c = Math.min(c * 60, 360), c < 0 && (c += 360);
219
- const f = (r + s) / 2;
220
- return s === r ? i = 0 : f <= 0.5 ? i = l / (s + r) : i = l / (2 - s - r), [c, i * 100, f * 100];
221
- }, a.rgb.hsv = function(e) {
222
- let o, t, n, r, s;
223
- const l = e[0] / 255, c = e[1] / 255, i = e[2] / 255, f = Math.max(l, c, i), b = f - Math.min(l, c, i), d = function(m) {
224
- return (f - m) / 6 / b + 1 / 2;
225
- };
226
- return b === 0 ? (r = 0, s = 0) : (s = b / f, o = d(l), t = d(c), n = d(i), l === f ? r = n - t : c === f ? r = 1 / 3 + o - n : i === f && (r = 2 / 3 + t - o), r < 0 ? r += 1 : r > 1 && (r -= 1)), [
227
- r * 360,
228
- s * 100,
229
- f * 100
230
- ];
231
- }, a.rgb.hwb = function(e) {
232
- const o = e[0], t = e[1];
233
- let n = e[2];
234
- const r = a.rgb.hsl(e)[0], s = 1 / 255 * Math.min(o, Math.min(t, n));
235
- return n = 1 - 1 / 255 * Math.max(o, Math.max(t, n)), [r, s * 100, n * 100];
236
- }, a.rgb.cmyk = function(e) {
237
- const o = e[0] / 255, t = e[1] / 255, n = e[2] / 255, r = Math.min(1 - o, 1 - t, 1 - n), s = (1 - o - r) / (1 - r) || 0, l = (1 - t - r) / (1 - r) || 0, c = (1 - n - r) / (1 - r) || 0;
238
- return [s * 100, l * 100, c * 100, r * 100];
239
- };
240
- function g(e, o) {
241
- return (e[0] - o[0]) ** 2 + (e[1] - o[1]) ** 2 + (e[2] - o[2]) ** 2;
242
- }
243
- return a.rgb.keyword = function(e) {
244
- const o = h[e];
245
- if (o)
246
- return o;
247
- let t = 1 / 0, n;
248
- for (const r of Object.keys(u)) {
249
- const s = u[r], l = g(e, s);
250
- l < t && (t = l, n = r);
251
- }
252
- return n;
253
- }, a.keyword.rgb = function(e) {
254
- return u[e];
255
- }, a.rgb.xyz = function(e) {
256
- let o = e[0] / 255, t = e[1] / 255, n = e[2] / 255;
257
- o = o > 0.04045 ? ((o + 0.055) / 1.055) ** 2.4 : o / 12.92, t = t > 0.04045 ? ((t + 0.055) / 1.055) ** 2.4 : t / 12.92, n = n > 0.04045 ? ((n + 0.055) / 1.055) ** 2.4 : n / 12.92;
258
- const r = o * 0.4124 + t * 0.3576 + n * 0.1805, s = o * 0.2126 + t * 0.7152 + n * 0.0722, l = o * 0.0193 + t * 0.1192 + n * 0.9505;
259
- return [r * 100, s * 100, l * 100];
260
- }, a.rgb.lab = function(e) {
261
- const o = a.rgb.xyz(e);
262
- let t = o[0], n = o[1], r = o[2];
263
- t /= 95.047, n /= 100, r /= 108.883, t = t > 8856e-6 ? t ** (1 / 3) : 7.787 * t + 16 / 116, n = n > 8856e-6 ? n ** (1 / 3) : 7.787 * n + 16 / 116, r = r > 8856e-6 ? r ** (1 / 3) : 7.787 * r + 16 / 116;
264
- const s = 116 * n - 16, l = 500 * (t - n), c = 200 * (n - r);
265
- return [s, l, c];
266
- }, a.hsl.rgb = function(e) {
267
- const o = e[0] / 360, t = e[1] / 100, n = e[2] / 100;
268
- let r, s, l;
269
- if (t === 0)
270
- return l = n * 255, [l, l, l];
271
- n < 0.5 ? r = n * (1 + t) : r = n + t - n * t;
272
- const c = 2 * n - r, i = [0, 0, 0];
273
- for (let f = 0; f < 3; f++)
274
- s = o + 1 / 3 * -(f - 1), s < 0 && s++, s > 1 && s--, 6 * s < 1 ? l = c + (r - c) * 6 * s : 2 * s < 1 ? l = r : 3 * s < 2 ? l = c + (r - c) * (2 / 3 - s) * 6 : l = c, i[f] = l * 255;
275
- return i;
276
- }, a.hsl.hsv = function(e) {
277
- const o = e[0];
278
- let t = e[1] / 100, n = e[2] / 100, r = t;
279
- const s = Math.max(n, 0.01);
280
- n *= 2, t *= n <= 1 ? n : 2 - n, r *= s <= 1 ? s : 2 - s;
281
- const l = (n + t) / 2, c = n === 0 ? 2 * r / (s + r) : 2 * t / (n + t);
282
- return [o, c * 100, l * 100];
283
- }, a.hsv.rgb = function(e) {
284
- const o = e[0] / 60, t = e[1] / 100;
285
- let n = e[2] / 100;
286
- const r = Math.floor(o) % 6, s = o - Math.floor(o), l = 255 * n * (1 - t), c = 255 * n * (1 - t * s), i = 255 * n * (1 - t * (1 - s));
287
- switch (n *= 255, r) {
288
- case 0:
289
- return [n, i, l];
290
- case 1:
291
- return [c, n, l];
292
- case 2:
293
- return [l, n, i];
294
- case 3:
295
- return [l, c, n];
296
- case 4:
297
- return [i, l, n];
298
- case 5:
299
- return [n, l, c];
300
- }
301
- }, a.hsv.hsl = function(e) {
302
- const o = e[0], t = e[1] / 100, n = e[2] / 100, r = Math.max(n, 0.01);
303
- let s, l;
304
- l = (2 - t) * n;
305
- const c = (2 - t) * r;
306
- return s = t * r, s /= c <= 1 ? c : 2 - c, s = s || 0, l /= 2, [o, s * 100, l * 100];
307
- }, a.hwb.rgb = function(e) {
308
- const o = e[0] / 360;
309
- let t = e[1] / 100, n = e[2] / 100;
310
- const r = t + n;
311
- let s;
312
- r > 1 && (t /= r, n /= r);
313
- const l = Math.floor(6 * o), c = 1 - n;
314
- s = 6 * o - l, (l & 1) !== 0 && (s = 1 - s);
315
- const i = t + s * (c - t);
316
- let f, b, d;
317
- switch (l) {
318
- default:
319
- case 6:
320
- case 0:
321
- f = c, b = i, d = t;
322
- break;
323
- case 1:
324
- f = i, b = c, d = t;
325
- break;
326
- case 2:
327
- f = t, b = c, d = i;
328
- break;
329
- case 3:
330
- f = t, b = i, d = c;
331
- break;
332
- case 4:
333
- f = i, b = t, d = c;
334
- break;
335
- case 5:
336
- f = c, b = t, d = i;
337
- break;
338
- }
339
- return [f * 255, b * 255, d * 255];
340
- }, a.cmyk.rgb = function(e) {
341
- const o = e[0] / 100, t = e[1] / 100, n = e[2] / 100, r = e[3] / 100, s = 1 - Math.min(1, o * (1 - r) + r), l = 1 - Math.min(1, t * (1 - r) + r), c = 1 - Math.min(1, n * (1 - r) + r);
342
- return [s * 255, l * 255, c * 255];
343
- }, a.xyz.rgb = function(e) {
344
- const o = e[0] / 100, t = e[1] / 100, n = e[2] / 100;
345
- let r, s, l;
346
- return r = o * 3.2406 + t * -1.5372 + n * -0.4986, s = o * -0.9689 + t * 1.8758 + n * 0.0415, l = o * 0.0557 + t * -0.204 + n * 1.057, r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92, s = s > 31308e-7 ? 1.055 * s ** (1 / 2.4) - 0.055 : s * 12.92, l = l > 31308e-7 ? 1.055 * l ** (1 / 2.4) - 0.055 : l * 12.92, r = Math.min(Math.max(0, r), 1), s = Math.min(Math.max(0, s), 1), l = Math.min(Math.max(0, l), 1), [r * 255, s * 255, l * 255];
347
- }, a.xyz.lab = function(e) {
348
- let o = e[0], t = e[1], n = e[2];
349
- o /= 95.047, t /= 100, n /= 108.883, o = o > 8856e-6 ? o ** (1 / 3) : 7.787 * o + 16 / 116, t = t > 8856e-6 ? t ** (1 / 3) : 7.787 * t + 16 / 116, n = n > 8856e-6 ? n ** (1 / 3) : 7.787 * n + 16 / 116;
350
- const r = 116 * t - 16, s = 500 * (o - t), l = 200 * (t - n);
351
- return [r, s, l];
352
- }, a.lab.xyz = function(e) {
353
- const o = e[0], t = e[1], n = e[2];
354
- let r, s, l;
355
- s = (o + 16) / 116, r = t / 500 + s, l = s - n / 200;
356
- const c = s ** 3, i = r ** 3, f = l ** 3;
357
- return s = c > 8856e-6 ? c : (s - 16 / 116) / 7.787, r = i > 8856e-6 ? i : (r - 16 / 116) / 7.787, l = f > 8856e-6 ? f : (l - 16 / 116) / 7.787, r *= 95.047, s *= 100, l *= 108.883, [r, s, l];
358
- }, a.lab.lch = function(e) {
359
- const o = e[0], t = e[1], n = e[2];
360
- let r;
361
- r = Math.atan2(n, t) * 360 / 2 / Math.PI, r < 0 && (r += 360);
362
- const l = Math.sqrt(t * t + n * n);
363
- return [o, l, r];
364
- }, a.lch.lab = function(e) {
365
- const o = e[0], t = e[1], r = e[2] / 360 * 2 * Math.PI, s = t * Math.cos(r), l = t * Math.sin(r);
366
- return [o, s, l];
367
- }, a.rgb.ansi16 = function(e, o = null) {
368
- const [t, n, r] = e;
369
- let s = o === null ? a.rgb.hsv(e)[2] : o;
370
- if (s = Math.round(s / 50), s === 0)
371
- return 30;
372
- let l = 30 + (Math.round(r / 255) << 2 | Math.round(n / 255) << 1 | Math.round(t / 255));
373
- return s === 2 && (l += 60), l;
374
- }, a.hsv.ansi16 = function(e) {
375
- return a.rgb.ansi16(a.hsv.rgb(e), e[2]);
376
- }, a.rgb.ansi256 = function(e) {
377
- const o = e[0], t = e[1], n = e[2];
378
- return o === t && t === n ? o < 8 ? 16 : o > 248 ? 231 : Math.round((o - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(o / 255 * 5) + 6 * Math.round(t / 255 * 5) + Math.round(n / 255 * 5);
379
- }, a.ansi16.rgb = function(e) {
380
- let o = e % 10;
381
- if (o === 0 || o === 7)
382
- return e > 50 && (o += 3.5), o = o / 10.5 * 255, [o, o, o];
383
- const t = (~~(e > 50) + 1) * 0.5, n = (o & 1) * t * 255, r = (o >> 1 & 1) * t * 255, s = (o >> 2 & 1) * t * 255;
384
- return [n, r, s];
385
- }, a.ansi256.rgb = function(e) {
386
- if (e >= 232) {
387
- const s = (e - 232) * 10 + 8;
388
- return [s, s, s];
389
- }
390
- e -= 16;
391
- let o;
392
- const t = Math.floor(e / 36) / 5 * 255, n = Math.floor((o = e % 36) / 6) / 5 * 255, r = o % 6 / 5 * 255;
393
- return [t, n, r];
394
- }, a.rgb.hex = function(e) {
395
- const t = (((Math.round(e[0]) & 255) << 16) + ((Math.round(e[1]) & 255) << 8) + (Math.round(e[2]) & 255)).toString(16).toUpperCase();
396
- return "000000".substring(t.length) + t;
397
- }, a.hex.rgb = function(e) {
398
- const o = e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
399
- if (!o)
400
- return [0, 0, 0];
401
- let t = o[0];
402
- o[0].length === 3 && (t = t.split("").map((c) => c + c).join(""));
403
- const n = parseInt(t, 16), r = n >> 16 & 255, s = n >> 8 & 255, l = n & 255;
404
- return [r, s, l];
405
- }, a.rgb.hcg = function(e) {
406
- const o = e[0] / 255, t = e[1] / 255, n = e[2] / 255, r = Math.max(Math.max(o, t), n), s = Math.min(Math.min(o, t), n), l = r - s;
407
- let c, i;
408
- return l < 1 ? c = s / (1 - l) : c = 0, l <= 0 ? i = 0 : r === o ? i = (t - n) / l % 6 : r === t ? i = 2 + (n - o) / l : i = 4 + (o - t) / l, i /= 6, i %= 1, [i * 360, l * 100, c * 100];
409
- }, a.hsl.hcg = function(e) {
410
- const o = e[1] / 100, t = e[2] / 100, n = t < 0.5 ? 2 * o * t : 2 * o * (1 - t);
411
- let r = 0;
412
- return n < 1 && (r = (t - 0.5 * n) / (1 - n)), [e[0], n * 100, r * 100];
413
- }, a.hsv.hcg = function(e) {
414
- const o = e[1] / 100, t = e[2] / 100, n = o * t;
415
- let r = 0;
416
- return n < 1 && (r = (t - n) / (1 - n)), [e[0], n * 100, r * 100];
417
- }, a.hcg.rgb = function(e) {
418
- const o = e[0] / 360, t = e[1] / 100, n = e[2] / 100;
419
- if (t === 0)
420
- return [n * 255, n * 255, n * 255];
421
- const r = [0, 0, 0], s = o % 1 * 6, l = s % 1, c = 1 - l;
422
- let i = 0;
423
- switch (Math.floor(s)) {
424
- case 0:
425
- r[0] = 1, r[1] = l, r[2] = 0;
426
- break;
427
- case 1:
428
- r[0] = c, r[1] = 1, r[2] = 0;
429
- break;
430
- case 2:
431
- r[0] = 0, r[1] = 1, r[2] = l;
432
- break;
433
- case 3:
434
- r[0] = 0, r[1] = c, r[2] = 1;
435
- break;
436
- case 4:
437
- r[0] = l, r[1] = 0, r[2] = 1;
438
- break;
439
- default:
440
- r[0] = 1, r[1] = 0, r[2] = c;
441
- }
442
- return i = (1 - t) * n, [
443
- (t * r[0] + i) * 255,
444
- (t * r[1] + i) * 255,
445
- (t * r[2] + i) * 255
446
- ];
447
- }, a.hcg.hsv = function(e) {
448
- const o = e[1] / 100, t = e[2] / 100, n = o + t * (1 - o);
449
- let r = 0;
450
- return n > 0 && (r = o / n), [e[0], r * 100, n * 100];
451
- }, a.hcg.hsl = function(e) {
452
- const o = e[1] / 100, n = e[2] / 100 * (1 - o) + 0.5 * o;
453
- let r = 0;
454
- return n > 0 && n < 0.5 ? r = o / (2 * n) : n >= 0.5 && n < 1 && (r = o / (2 * (1 - n))), [e[0], r * 100, n * 100];
455
- }, a.hcg.hwb = function(e) {
456
- const o = e[1] / 100, t = e[2] / 100, n = o + t * (1 - o);
457
- return [e[0], (n - o) * 100, (1 - n) * 100];
458
- }, a.hwb.hcg = function(e) {
459
- const o = e[1] / 100, n = 1 - e[2] / 100, r = n - o;
460
- let s = 0;
461
- return r < 1 && (s = (n - r) / (1 - r)), [e[0], r * 100, s * 100];
462
- }, a.apple.rgb = function(e) {
463
- return [e[0] / 65535 * 255, e[1] / 65535 * 255, e[2] / 65535 * 255];
464
- }, a.rgb.apple = function(e) {
465
- return [e[0] / 255 * 65535, e[1] / 255 * 65535, e[2] / 255 * 65535];
466
- }, a.gray.rgb = function(e) {
467
- return [e[0] / 100 * 255, e[0] / 100 * 255, e[0] / 100 * 255];
468
- }, a.gray.hsl = function(e) {
469
- return [0, 0, e[0]];
470
- }, a.gray.hsv = a.gray.hsl, a.gray.hwb = function(e) {
471
- return [0, 100, e[0]];
472
- }, a.gray.cmyk = function(e) {
473
- return [0, 0, 0, e[0]];
474
- }, a.gray.lab = function(e) {
475
- return [e[0], 0, 0];
476
- }, a.gray.hex = function(e) {
477
- const o = Math.round(e[0] / 100 * 255) & 255, n = ((o << 16) + (o << 8) + o).toString(16).toUpperCase();
478
- return "000000".substring(n.length) + n;
479
- }, a.rgb.gray = function(e) {
480
- return [(e[0] + e[1] + e[2]) / 3 / 255 * 100];
481
- }, B;
482
- }
483
- var O, I;
484
- function V() {
485
- if (I)
486
- return O;
487
- I = 1;
488
- const u = U();
489
- function h() {
490
- const o = {}, t = Object.keys(u);
491
- for (let n = t.length, r = 0; r < n; r++)
492
- o[t[r]] = {
493
- distance: -1,
494
- parent: null
495
- };
496
- return o;
497
- }
498
- function a(o) {
499
- const t = h(), n = [o];
500
- for (t[o].distance = 0; n.length; ) {
501
- const r = n.pop(), s = Object.keys(u[r]);
502
- for (let l = s.length, c = 0; c < l; c++) {
503
- const i = s[c], f = t[i];
504
- f.distance === -1 && (f.distance = t[r].distance + 1, f.parent = r, n.unshift(i));
505
- }
506
- }
507
- return t;
508
- }
509
- function g(o, t) {
510
- return function(n) {
511
- return t(o(n));
512
- };
513
- }
514
- function e(o, t) {
515
- const n = [t[o].parent, o];
516
- let r = u[t[o].parent][o], s = t[o].parent;
517
- for (; t[s].parent; )
518
- n.unshift(t[s].parent), r = g(u[t[s].parent][s], r), s = t[s].parent;
519
- return r.conversion = n, r;
520
- }
521
- return O = function(o) {
522
- const t = a(o), n = {}, r = Object.keys(t);
523
- for (let s = r.length, l = 0; l < s; l++) {
524
- const c = r[l];
525
- t[c].parent !== null && (n[c] = e(c, t));
526
- }
527
- return n;
528
- }, O;
529
- }
530
- var E, N;
531
- function H() {
532
- if (N)
533
- return E;
534
- N = 1;
535
- const u = U(), h = V(), a = {}, g = Object.keys(u);
536
- function e(t) {
537
- const n = function(...r) {
538
- const s = r[0];
539
- return s == null ? s : (s.length > 1 && (r = s), t(r));
540
- };
541
- return "conversion" in t && (n.conversion = t.conversion), n;
542
- }
543
- function o(t) {
544
- const n = function(...r) {
545
- const s = r[0];
546
- if (s == null)
547
- return s;
548
- s.length > 1 && (r = s);
549
- const l = t(r);
550
- if (typeof l == "object")
551
- for (let c = l.length, i = 0; i < c; i++)
552
- l[i] = Math.round(l[i]);
553
- return l;
554
- };
555
- return "conversion" in t && (n.conversion = t.conversion), n;
556
- }
557
- return g.forEach((t) => {
558
- a[t] = {}, Object.defineProperty(a[t], "channels", { value: u[t].channels }), Object.defineProperty(a[t], "labels", { value: u[t].labels });
559
- const n = h(t);
560
- Object.keys(n).forEach((s) => {
561
- const l = n[s];
562
- a[t][s] = o(l), a[t][s].raw = e(l);
563
- });
564
- }), E = a, E;
565
- }
566
- (function(u) {
567
- const h = (l, c) => (...i) => `\x1B[${l(...i) + c}m`, a = (l, c) => (...i) => {
568
- const f = l(...i);
569
- return `\x1B[${38 + c};5;${f}m`;
570
- }, g = (l, c) => (...i) => {
571
- const f = l(...i);
572
- return `\x1B[${38 + c};2;${f[0]};${f[1]};${f[2]}m`;
573
- }, e = (l) => l, o = (l, c, i) => [l, c, i], t = (l, c, i) => {
574
- Object.defineProperty(l, c, {
575
- get: () => {
576
- const f = i();
577
- return Object.defineProperty(l, c, {
578
- value: f,
579
- enumerable: !0,
580
- configurable: !0
581
- }), f;
582
- },
583
- enumerable: !0,
584
- configurable: !0
585
- });
586
- };
587
- let n;
588
- const r = (l, c, i, f) => {
589
- n === void 0 && (n = H());
590
- const b = f ? 10 : 0, d = {};
591
- for (const [m, p] of Object.entries(n)) {
592
- const y = m === "ansi16" ? "ansi" : m;
593
- m === c ? d[y] = l(i, b) : typeof p == "object" && (d[y] = l(p[c], b));
594
- }
595
- return d;
596
- };
597
- function s() {
598
- const l = /* @__PURE__ */ new Map(), c = {
599
- modifier: {
600
- reset: [0, 0],
601
- bold: [1, 22],
602
- dim: [2, 22],
603
- italic: [3, 23],
604
- underline: [4, 24],
605
- inverse: [7, 27],
606
- hidden: [8, 28],
607
- strikethrough: [9, 29]
608
- },
609
- color: {
610
- black: [30, 39],
611
- red: [31, 39],
612
- green: [32, 39],
613
- yellow: [33, 39],
614
- blue: [34, 39],
615
- magenta: [35, 39],
616
- cyan: [36, 39],
617
- white: [37, 39],
618
- blackBright: [90, 39],
619
- redBright: [91, 39],
620
- greenBright: [92, 39],
621
- yellowBright: [93, 39],
622
- blueBright: [94, 39],
623
- magentaBright: [95, 39],
624
- cyanBright: [96, 39],
625
- whiteBright: [97, 39]
626
- },
627
- bgColor: {
628
- bgBlack: [40, 49],
629
- bgRed: [41, 49],
630
- bgGreen: [42, 49],
631
- bgYellow: [43, 49],
632
- bgBlue: [44, 49],
633
- bgMagenta: [45, 49],
634
- bgCyan: [46, 49],
635
- bgWhite: [47, 49],
636
- bgBlackBright: [100, 49],
637
- bgRedBright: [101, 49],
638
- bgGreenBright: [102, 49],
639
- bgYellowBright: [103, 49],
640
- bgBlueBright: [104, 49],
641
- bgMagentaBright: [105, 49],
642
- bgCyanBright: [106, 49],
643
- bgWhiteBright: [107, 49]
644
- }
645
- };
646
- c.color.gray = c.color.blackBright, c.bgColor.bgGray = c.bgColor.bgBlackBright, c.color.grey = c.color.blackBright, c.bgColor.bgGrey = c.bgColor.bgBlackBright;
647
- for (const [i, f] of Object.entries(c)) {
648
- for (const [b, d] of Object.entries(f))
649
- c[b] = {
650
- open: `\x1B[${d[0]}m`,
651
- close: `\x1B[${d[1]}m`
652
- }, f[b] = c[b], l.set(d[0], d[1]);
653
- Object.defineProperty(c, i, {
654
- value: f,
655
- enumerable: !1
656
- });
657
- }
658
- return Object.defineProperty(c, "codes", {
659
- value: l,
660
- enumerable: !1
661
- }), c.color.close = "\x1B[39m", c.bgColor.close = "\x1B[49m", t(c.color, "ansi", () => r(h, "ansi16", e, !1)), t(c.color, "ansi256", () => r(a, "ansi256", e, !1)), t(c.color, "ansi16m", () => r(g, "rgb", o, !1)), t(c.bgColor, "ansi", () => r(h, "ansi16", e, !0)), t(c.bgColor, "ansi256", () => r(a, "ansi256", e, !0)), t(c.bgColor, "ansi16m", () => r(g, "rgb", o, !0)), c;
662
- }
663
- Object.defineProperty(u, "exports", {
664
- enumerable: !0,
665
- get: s
666
- });
667
- })(T);
668
- var Q = {
669
- stdout: !1,
670
- stderr: !1
671
- };
672
- const Z = (u, h, a) => {
673
- let g = u.indexOf(h);
674
- if (g === -1)
675
- return u;
676
- const e = h.length;
677
- let o = 0, t = "";
678
- do
679
- t += u.substr(o, g - o) + h + a, o = g + e, g = u.indexOf(h, o);
680
- while (g !== -1);
681
- return t += u.substr(o), t;
682
- }, ee = (u, h, a, g) => {
683
- let e = 0, o = "";
684
- do {
685
- const t = u[g - 1] === "\r";
686
- o += u.substr(e, (t ? g - 1 : g) - e) + h + (t ? `\r
687
- ` : `
688
- `) + a, e = g + 1, g = u.indexOf(`
689
- `, e);
690
- } while (g !== -1);
691
- return o += u.substr(e), o;
692
- };
693
- var te = {
694
- stringReplaceAll: Z,
695
- stringEncaseCRLFWithFirstIndex: ee
696
- }, S, z;
697
- function ne() {
698
- if (z)
699
- return S;
700
- z = 1;
701
- const u = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi, h = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g, a = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/, g = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi, e = /* @__PURE__ */ new Map([
702
- ["n", `
703
- `],
704
- ["r", "\r"],
705
- ["t", " "],
706
- ["b", "\b"],
707
- ["f", "\f"],
708
- ["v", "\v"],
709
- ["0", "\0"],
710
- ["\\", "\\"],
711
- ["e", "\x1B"],
712
- ["a", "\x07"]
713
- ]);
714
- function o(s) {
715
- const l = s[0] === "u", c = s[1] === "{";
716
- return l && !c && s.length === 5 || s[0] === "x" && s.length === 3 ? String.fromCharCode(parseInt(s.slice(1), 16)) : l && c ? String.fromCodePoint(parseInt(s.slice(2, -1), 16)) : e.get(s) || s;
717
- }
718
- function t(s, l) {
719
- const c = [], i = l.trim().split(/\s*,\s*/g);
720
- let f;
721
- for (const b of i) {
722
- const d = Number(b);
723
- if (!Number.isNaN(d))
724
- c.push(d);
725
- else if (f = b.match(a))
726
- c.push(f[2].replace(g, (m, p, y) => p ? o(p) : y));
727
- else
728
- throw new Error(`Invalid Chalk template style argument: ${b} (in style '${s}')`);
729
- }
730
- return c;
731
- }
732
- function n(s) {
733
- h.lastIndex = 0;
734
- const l = [];
735
- let c;
736
- for (; (c = h.exec(s)) !== null; ) {
737
- const i = c[1];
738
- if (c[2]) {
739
- const f = t(i, c[2]);
740
- l.push([i].concat(f));
741
- } else
742
- l.push([i]);
743
- }
744
- return l;
745
- }
746
- function r(s, l) {
747
- const c = {};
748
- for (const f of l)
749
- for (const b of f.styles)
750
- c[b[0]] = f.inverse ? null : b.slice(1);
751
- let i = s;
752
- for (const [f, b] of Object.entries(c))
753
- if (!!Array.isArray(b)) {
754
- if (!(f in i))
755
- throw new Error(`Unknown Chalk style: ${f}`);
756
- i = b.length > 0 ? i[f](...b) : i[f];
757
- }
758
- return i;
759
- }
760
- return S = (s, l) => {
761
- const c = [], i = [];
762
- let f = [];
763
- if (l.replace(u, (b, d, m, p, y, D) => {
764
- if (d)
765
- f.push(o(d));
766
- else if (p) {
767
- const P = f.join("");
768
- f = [], i.push(c.length === 0 ? P : r(s, c)(P)), c.push({ inverse: m, styles: n(p) });
769
- } else if (y) {
770
- if (c.length === 0)
771
- throw new Error("Found extraneous } in Chalk template literal");
772
- i.push(r(s, c)(f.join(""))), f = [], c.pop();
773
- } else
774
- f.push(D);
775
- }), i.push(f.join("")), c.length > 0) {
776
- const b = `Chalk template literal is missing ${c.length} closing bracket${c.length === 1 ? "" : "s"} (\`}\`)`;
777
- throw new Error(b);
778
- }
779
- return i.join("");
780
- }, S;
781
- }
782
- const w = T.exports, { stdout: $, stderr: R } = Q, {
783
- stringReplaceAll: re,
784
- stringEncaseCRLFWithFirstIndex: oe
785
- } = te, { isArray: k } = Array, G = [
786
- "ansi",
787
- "ansi",
788
- "ansi256",
789
- "ansi16m"
790
- ], v = /* @__PURE__ */ Object.create(null), se = (u, h = {}) => {
791
- if (h.level && !(Number.isInteger(h.level) && h.level >= 0 && h.level <= 3))
792
- throw new Error("The `level` option should be an integer from 0 to 3");
793
- const a = $ ? $.level : 0;
794
- u.level = h.level === void 0 ? a : h.level;
795
- };
796
- class le {
797
- constructor(h) {
798
- return J(h);
799
- }
800
- }
801
- const J = (u) => {
802
- const h = {};
803
- return se(h, u), h.template = (...a) => X(h.template, ...a), Object.setPrototypeOf(h, x.prototype), Object.setPrototypeOf(h.template, h), h.template.constructor = () => {
804
- throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
805
- }, h.template.Instance = le, h.template;
806
- };
807
- function x(u) {
808
- return J(u);
809
- }
810
- for (const [u, h] of Object.entries(w))
811
- v[u] = {
812
- get() {
813
- const a = C(this, F(h.open, h.close, this._styler), this._isEmpty);
814
- return Object.defineProperty(this, u, { value: a }), a;
815
- }
816
- };
817
- v.visible = {
818
- get() {
819
- const u = C(this, this._styler, !0);
820
- return Object.defineProperty(this, "visible", { value: u }), u;
821
- }
822
- };
823
- const W = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
824
- for (const u of W)
825
- v[u] = {
826
- get() {
827
- const { level: h } = this;
828
- return function(...a) {
829
- const g = F(w.color[G[h]][u](...a), w.color.close, this._styler);
830
- return C(this, g, this._isEmpty);
831
- };
832
- }
833
- };
834
- for (const u of W) {
835
- const h = "bg" + u[0].toUpperCase() + u.slice(1);
836
- v[h] = {
837
- get() {
838
- const { level: a } = this;
839
- return function(...g) {
840
- const e = F(w.bgColor[G[a]][u](...g), w.bgColor.close, this._styler);
841
- return C(this, e, this._isEmpty);
842
- };
843
- }
844
- };
845
- }
846
- const ce = Object.defineProperties(() => {
847
- }, {
848
- ...v,
849
- level: {
850
- enumerable: !0,
851
- get() {
852
- return this._generator.level;
853
- },
854
- set(u) {
855
- this._generator.level = u;
856
- }
857
- }
858
- }), F = (u, h, a) => {
859
- let g, e;
860
- return a === void 0 ? (g = u, e = h) : (g = a.openAll + u, e = h + a.closeAll), {
861
- open: u,
862
- close: h,
863
- openAll: g,
864
- closeAll: e,
865
- parent: a
866
- };
867
- }, C = (u, h, a) => {
868
- const g = (...e) => k(e[0]) && k(e[0].raw) ? L(g, X(g, ...e)) : L(g, e.length === 1 ? "" + e[0] : e.join(" "));
869
- return Object.setPrototypeOf(g, ce), g._generator = u, g._styler = h, g._isEmpty = a, g;
870
- }, L = (u, h) => {
871
- if (u.level <= 0 || !h)
872
- return u._isEmpty ? "" : h;
873
- let a = u._styler;
874
- if (a === void 0)
875
- return h;
876
- const { openAll: g, closeAll: e } = a;
877
- if (h.indexOf("\x1B") !== -1)
878
- for (; a !== void 0; )
879
- h = re(h, a.close, a.open), a = a.parent;
880
- const o = h.indexOf(`
881
- `);
882
- return o !== -1 && (h = oe(h, e, g, o)), g + h + e;
883
- };
884
- let A;
885
- const X = (u, ...h) => {
886
- const [a] = h;
887
- if (!k(a) || !k(a.raw))
888
- return h.join(" ");
889
- const g = h.slice(1), e = [a.raw[0]];
890
- for (let o = 1; o < a.length; o++)
891
- e.push(
892
- String(g[o - 1]).replace(/[{}\\]/g, "\\$&"),
893
- String(a.raw[o])
894
- );
895
- return A === void 0 && (A = ne()), A(u, e.join(""));
896
- };
897
- Object.defineProperties(x.prototype, v);
898
- const M = x();
899
- M.supportsColor = $;
900
- M.stderr = x({ level: R ? R.level : 0 });
901
- M.stderr.supportsColor = R;
902
- var ae = M;
903
- const ue = (u) => {
904
- console.log(`${ae.magenta("JamComments:")} ${u}`);
905
- }, he = (u) => {
906
- console.error(`JamComments: ${u}`);
907
- };
908
- export {
909
- ue as log,
910
- he as logError,
911
- ie as markupFetcher
912
- };
package/dist/index.umd.js DELETED
@@ -1,6 +0,0 @@
1
- (function(m,k){typeof exports=="object"&&typeof module<"u"?k(exports):typeof define=="function"&&define.amd?define(["exports"],k):(m=typeof globalThis<"u"?globalThis:m||self,k(m.JamComments={}))})(this,function(m){"use strict";const k=()=>{var u;return typeof process<"u"&&((u=process.env)==null?void 0:u.JAM_COMMENTS_BASE_URL)?process.env.JAM_COMMENTS_BASE_URL:"https://go.jamcomments.com"},Y=(u,h=fetch)=>async({path:i,domain:g,apiKey:e})=>{const o=new URLSearchParams({path:i||"/",domain:g}),t=`${k()}/api/markup?${o}`,n=await h(t,{method:"GET",headers:{Authorization:`Bearer ${e}`,Accept:"application/json","X-Platform":u}});if(n.status===401)throw"JamComments: Unauthorized! Are your domain and API key set correctly?";if(!n.ok)throw`JamComments request failed! Status code: ${n.status}, message: ${n.statusText}, request URL: ${t}`;return await n.text()};var _={exports:{}},O,I;function V(){return I||(I=1,O={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),O}var B,N;function T(){if(N)return B;N=1;const u=V(),h={};for(const e of Object.keys(u))h[u[e]]=e;const i={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};B=i;for(const e of Object.keys(i)){if(!("channels"in i[e]))throw new Error("missing channels property: "+e);if(!("labels"in i[e]))throw new Error("missing channel labels property: "+e);if(i[e].labels.length!==i[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:o,labels:t}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:o}),Object.defineProperty(i[e],"labels",{value:t})}i.rgb.hsl=function(e){const o=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.min(o,t,n),s=Math.max(o,t,n),l=s-r;let c,a;s===r?c=0:o===s?c=(t-n)/l:t===s?c=2+(n-o)/l:n===s&&(c=4+(o-t)/l),c=Math.min(c*60,360),c<0&&(c+=360);const f=(r+s)/2;return s===r?a=0:f<=.5?a=l/(s+r):a=l/(2-s-r),[c,a*100,f*100]},i.rgb.hsv=function(e){let o,t,n,r,s;const l=e[0]/255,c=e[1]/255,a=e[2]/255,f=Math.max(l,c,a),d=f-Math.min(l,c,a),b=function(p){return(f-p)/6/d+1/2};return d===0?(r=0,s=0):(s=d/f,o=b(l),t=b(c),n=b(a),l===f?r=n-t:c===f?r=1/3+o-n:a===f&&(r=2/3+t-o),r<0?r+=1:r>1&&(r-=1)),[r*360,s*100,f*100]},i.rgb.hwb=function(e){const o=e[0],t=e[1];let n=e[2];const r=i.rgb.hsl(e)[0],s=1/255*Math.min(o,Math.min(t,n));return n=1-1/255*Math.max(o,Math.max(t,n)),[r,s*100,n*100]},i.rgb.cmyk=function(e){const o=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.min(1-o,1-t,1-n),s=(1-o-r)/(1-r)||0,l=(1-t-r)/(1-r)||0,c=(1-n-r)/(1-r)||0;return[s*100,l*100,c*100,r*100]};function g(e,o){return(e[0]-o[0])**2+(e[1]-o[1])**2+(e[2]-o[2])**2}return i.rgb.keyword=function(e){const o=h[e];if(o)return o;let t=1/0,n;for(const r of Object.keys(u)){const s=u[r],l=g(e,s);l<t&&(t=l,n=r)}return n},i.keyword.rgb=function(e){return u[e]},i.rgb.xyz=function(e){let o=e[0]/255,t=e[1]/255,n=e[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;const r=o*.4124+t*.3576+n*.1805,s=o*.2126+t*.7152+n*.0722,l=o*.0193+t*.1192+n*.9505;return[r*100,s*100,l*100]},i.rgb.lab=function(e){const o=i.rgb.xyz(e);let t=o[0],n=o[1],r=o[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;const s=116*n-16,l=500*(t-n),c=200*(n-r);return[s,l,c]},i.hsl.rgb=function(e){const o=e[0]/360,t=e[1]/100,n=e[2]/100;let r,s,l;if(t===0)return l=n*255,[l,l,l];n<.5?r=n*(1+t):r=n+t-n*t;const c=2*n-r,a=[0,0,0];for(let f=0;f<3;f++)s=o+1/3*-(f-1),s<0&&s++,s>1&&s--,6*s<1?l=c+(r-c)*6*s:2*s<1?l=r:3*s<2?l=c+(r-c)*(2/3-s)*6:l=c,a[f]=l*255;return a},i.hsl.hsv=function(e){const o=e[0];let t=e[1]/100,n=e[2]/100,r=t;const s=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,r*=s<=1?s:2-s;const l=(n+t)/2,c=n===0?2*r/(s+r):2*t/(n+t);return[o,c*100,l*100]},i.hsv.rgb=function(e){const o=e[0]/60,t=e[1]/100;let n=e[2]/100;const r=Math.floor(o)%6,s=o-Math.floor(o),l=255*n*(1-t),c=255*n*(1-t*s),a=255*n*(1-t*(1-s));switch(n*=255,r){case 0:return[n,a,l];case 1:return[c,n,l];case 2:return[l,n,a];case 3:return[l,c,n];case 4:return[a,l,n];case 5:return[n,l,c]}},i.hsv.hsl=function(e){const o=e[0],t=e[1]/100,n=e[2]/100,r=Math.max(n,.01);let s,l;l=(2-t)*n;const c=(2-t)*r;return s=t*r,s/=c<=1?c:2-c,s=s||0,l/=2,[o,s*100,l*100]},i.hwb.rgb=function(e){const o=e[0]/360;let t=e[1]/100,n=e[2]/100;const r=t+n;let s;r>1&&(t/=r,n/=r);const l=Math.floor(6*o),c=1-n;s=6*o-l,(l&1)!==0&&(s=1-s);const a=t+s*(c-t);let f,d,b;switch(l){default:case 6:case 0:f=c,d=a,b=t;break;case 1:f=a,d=c,b=t;break;case 2:f=t,d=c,b=a;break;case 3:f=t,d=a,b=c;break;case 4:f=a,d=t,b=c;break;case 5:f=c,d=t,b=a;break}return[f*255,d*255,b*255]},i.cmyk.rgb=function(e){const o=e[0]/100,t=e[1]/100,n=e[2]/100,r=e[3]/100,s=1-Math.min(1,o*(1-r)+r),l=1-Math.min(1,t*(1-r)+r),c=1-Math.min(1,n*(1-r)+r);return[s*255,l*255,c*255]},i.xyz.rgb=function(e){const o=e[0]/100,t=e[1]/100,n=e[2]/100;let r,s,l;return r=o*3.2406+t*-1.5372+n*-.4986,s=o*-.9689+t*1.8758+n*.0415,l=o*.0557+t*-.204+n*1.057,r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,r=Math.min(Math.max(0,r),1),s=Math.min(Math.max(0,s),1),l=Math.min(Math.max(0,l),1),[r*255,s*255,l*255]},i.xyz.lab=function(e){let o=e[0],t=e[1],n=e[2];o/=95.047,t/=100,n/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;const r=116*t-16,s=500*(o-t),l=200*(t-n);return[r,s,l]},i.lab.xyz=function(e){const o=e[0],t=e[1],n=e[2];let r,s,l;s=(o+16)/116,r=t/500+s,l=s-n/200;const c=s**3,a=r**3,f=l**3;return s=c>.008856?c:(s-16/116)/7.787,r=a>.008856?a:(r-16/116)/7.787,l=f>.008856?f:(l-16/116)/7.787,r*=95.047,s*=100,l*=108.883,[r,s,l]},i.lab.lch=function(e){const o=e[0],t=e[1],n=e[2];let r;r=Math.atan2(n,t)*360/2/Math.PI,r<0&&(r+=360);const l=Math.sqrt(t*t+n*n);return[o,l,r]},i.lch.lab=function(e){const o=e[0],t=e[1],r=e[2]/360*2*Math.PI,s=t*Math.cos(r),l=t*Math.sin(r);return[o,s,l]},i.rgb.ansi16=function(e,o=null){const[t,n,r]=e;let s=o===null?i.rgb.hsv(e)[2]:o;if(s=Math.round(s/50),s===0)return 30;let l=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return s===2&&(l+=60),l},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){const o=e[0],t=e[1],n=e[2];return o===t&&t===n?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},i.ansi16.rgb=function(e){let o=e%10;if(o===0||o===7)return e>50&&(o+=3.5),o=o/10.5*255,[o,o,o];const t=(~~(e>50)+1)*.5,n=(o&1)*t*255,r=(o>>1&1)*t*255,s=(o>>2&1)*t*255;return[n,r,s]},i.ansi256.rgb=function(e){if(e>=232){const s=(e-232)*10+8;return[s,s,s]}e-=16;let o;const t=Math.floor(e/36)/5*255,n=Math.floor((o=e%36)/6)/5*255,r=o%6/5*255;return[t,n,r]},i.rgb.hex=function(e){const t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t},i.hex.rgb=function(e){const o=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let t=o[0];o[0].length===3&&(t=t.split("").map(c=>c+c).join(""));const n=parseInt(t,16),r=n>>16&255,s=n>>8&255,l=n&255;return[r,s,l]},i.rgb.hcg=function(e){const o=e[0]/255,t=e[1]/255,n=e[2]/255,r=Math.max(Math.max(o,t),n),s=Math.min(Math.min(o,t),n),l=r-s;let c,a;return l<1?c=s/(1-l):c=0,l<=0?a=0:r===o?a=(t-n)/l%6:r===t?a=2+(n-o)/l:a=4+(o-t)/l,a/=6,a%=1,[a*360,l*100,c*100]},i.hsl.hcg=function(e){const o=e[1]/100,t=e[2]/100,n=t<.5?2*o*t:2*o*(1-t);let r=0;return n<1&&(r=(t-.5*n)/(1-n)),[e[0],n*100,r*100]},i.hsv.hcg=function(e){const o=e[1]/100,t=e[2]/100,n=o*t;let r=0;return n<1&&(r=(t-n)/(1-n)),[e[0],n*100,r*100]},i.hcg.rgb=function(e){const o=e[0]/360,t=e[1]/100,n=e[2]/100;if(t===0)return[n*255,n*255,n*255];const r=[0,0,0],s=o%1*6,l=s%1,c=1-l;let a=0;switch(Math.floor(s)){case 0:r[0]=1,r[1]=l,r[2]=0;break;case 1:r[0]=c,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=l;break;case 3:r[0]=0,r[1]=c,r[2]=1;break;case 4:r[0]=l,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=c}return a=(1-t)*n,[(t*r[0]+a)*255,(t*r[1]+a)*255,(t*r[2]+a)*255]},i.hcg.hsv=function(e){const o=e[1]/100,t=e[2]/100,n=o+t*(1-o);let r=0;return n>0&&(r=o/n),[e[0],r*100,n*100]},i.hcg.hsl=function(e){const o=e[1]/100,n=e[2]/100*(1-o)+.5*o;let r=0;return n>0&&n<.5?r=o/(2*n):n>=.5&&n<1&&(r=o/(2*(1-n))),[e[0],r*100,n*100]},i.hcg.hwb=function(e){const o=e[1]/100,t=e[2]/100,n=o+t*(1-o);return[e[0],(n-o)*100,(1-n)*100]},i.hwb.hcg=function(e){const o=e[1]/100,n=1-e[2]/100,r=n-o;let s=0;return r<1&&(s=(n-r)/(1-r)),[e[0],r*100,s*100]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){const o=Math.round(e[0]/100*255)&255,n=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(n.length)+n},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]},B}var S,z;function H(){if(z)return S;z=1;const u=T();function h(){const o={},t=Object.keys(u);for(let n=t.length,r=0;r<n;r++)o[t[r]]={distance:-1,parent:null};return o}function i(o){const t=h(),n=[o];for(t[o].distance=0;n.length;){const r=n.pop(),s=Object.keys(u[r]);for(let l=s.length,c=0;c<l;c++){const a=s[c],f=t[a];f.distance===-1&&(f.distance=t[r].distance+1,f.parent=r,n.unshift(a))}}return t}function g(o,t){return function(n){return t(o(n))}}function e(o,t){const n=[t[o].parent,o];let r=u[t[o].parent][o],s=t[o].parent;for(;t[s].parent;)n.unshift(t[s].parent),r=g(u[t[s].parent][s],r),s=t[s].parent;return r.conversion=n,r}return S=function(o){const t=i(o),n={},r=Object.keys(t);for(let s=r.length,l=0;l<s;l++){const c=r[l];t[c].parent!==null&&(n[c]=e(c,t))}return n},S}var $,L;function Q(){if(L)return $;L=1;const u=T(),h=H(),i={},g=Object.keys(u);function e(t){const n=function(...r){const s=r[0];return s==null?s:(s.length>1&&(r=s),t(r))};return"conversion"in t&&(n.conversion=t.conversion),n}function o(t){const n=function(...r){const s=r[0];if(s==null)return s;s.length>1&&(r=s);const l=t(r);if(typeof l=="object")for(let c=l.length,a=0;a<c;a++)l[a]=Math.round(l[a]);return l};return"conversion"in t&&(n.conversion=t.conversion),n}return g.forEach(t=>{i[t]={},Object.defineProperty(i[t],"channels",{value:u[t].channels}),Object.defineProperty(i[t],"labels",{value:u[t].labels});const n=h(t);Object.keys(n).forEach(s=>{const l=n[s];i[t][s]=o(l),i[t][s].raw=e(l)})}),$=i,$}(function(u){const h=(l,c)=>(...a)=>`\x1B[${l(...a)+c}m`,i=(l,c)=>(...a)=>{const f=l(...a);return`\x1B[${38+c};5;${f}m`},g=(l,c)=>(...a)=>{const f=l(...a);return`\x1B[${38+c};2;${f[0]};${f[1]};${f[2]}m`},e=l=>l,o=(l,c,a)=>[l,c,a],t=(l,c,a)=>{Object.defineProperty(l,c,{get:()=>{const f=a();return Object.defineProperty(l,c,{value:f,enumerable:!0,configurable:!0}),f},enumerable:!0,configurable:!0})};let n;const r=(l,c,a,f)=>{n===void 0&&(n=Q());const d=f?10:0,b={};for(const[p,y]of Object.entries(n)){const w=p==="ansi16"?"ansi":p;p===c?b[w]=l(a,d):typeof y=="object"&&(b[w]=l(y[c],d))}return b};function s(){const l=new Map,c={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};c.color.gray=c.color.blackBright,c.bgColor.bgGray=c.bgColor.bgBlackBright,c.color.grey=c.color.blackBright,c.bgColor.bgGrey=c.bgColor.bgBlackBright;for(const[a,f]of Object.entries(c)){for(const[d,b]of Object.entries(f))c[d]={open:`\x1B[${b[0]}m`,close:`\x1B[${b[1]}m`},f[d]=c[d],l.set(b[0],b[1]);Object.defineProperty(c,a,{value:f,enumerable:!1})}return Object.defineProperty(c,"codes",{value:l,enumerable:!1}),c.color.close="\x1B[39m",c.bgColor.close="\x1B[49m",t(c.color,"ansi",()=>r(h,"ansi16",e,!1)),t(c.color,"ansi256",()=>r(i,"ansi256",e,!1)),t(c.color,"ansi16m",()=>r(g,"rgb",o,!1)),t(c.bgColor,"ansi",()=>r(h,"ansi16",e,!0)),t(c.bgColor,"ansi256",()=>r(i,"ansi256",e,!0)),t(c.bgColor,"ansi16m",()=>r(g,"rgb",o,!0)),c}Object.defineProperty(u,"exports",{enumerable:!0,get:s})})(_);var Z={stdout:!1,stderr:!1},ee={stringReplaceAll:(u,h,i)=>{let g=u.indexOf(h);if(g===-1)return u;const e=h.length;let o=0,t="";do t+=u.substr(o,g-o)+h+i,o=g+e,g=u.indexOf(h,o);while(g!==-1);return t+=u.substr(o),t},stringEncaseCRLFWithFirstIndex:(u,h,i,g)=>{let e=0,o="";do{const t=u[g-1]==="\r";o+=u.substr(e,(t?g-1:g)-e)+h+(t?`\r
2
- `:`
3
- `)+i,e=g+1,g=u.indexOf(`
4
- `,e)}while(g!==-1);return o+=u.substr(e),o}},A,U;function te(){if(U)return A;U=1;const u=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,h=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,i=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,g=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,e=new Map([["n",`
5
- `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function o(s){const l=s[0]==="u",c=s[1]==="{";return l&&!c&&s.length===5||s[0]==="x"&&s.length===3?String.fromCharCode(parseInt(s.slice(1),16)):l&&c?String.fromCodePoint(parseInt(s.slice(2,-1),16)):e.get(s)||s}function t(s,l){const c=[],a=l.trim().split(/\s*,\s*/g);let f;for(const d of a){const b=Number(d);if(!Number.isNaN(b))c.push(b);else if(f=d.match(i))c.push(f[2].replace(g,(p,y,w)=>y?o(y):w));else throw new Error(`Invalid Chalk template style argument: ${d} (in style '${s}')`)}return c}function n(s){h.lastIndex=0;const l=[];let c;for(;(c=h.exec(s))!==null;){const a=c[1];if(c[2]){const f=t(a,c[2]);l.push([a].concat(f))}else l.push([a])}return l}function r(s,l){const c={};for(const f of l)for(const d of f.styles)c[d[0]]=f.inverse?null:d.slice(1);let a=s;for(const[f,d]of Object.entries(c))if(!!Array.isArray(d)){if(!(f in a))throw new Error(`Unknown Chalk style: ${f}`);a=d.length>0?a[f](...d):a[f]}return a}return A=(s,l)=>{const c=[],a=[];let f=[];if(l.replace(u,(d,b,p,y,w,ue)=>{if(b)f.push(o(b));else if(y){const K=f.join("");f=[],a.push(c.length===0?K:r(s,c)(K)),c.push({inverse:p,styles:n(y)})}else if(w){if(c.length===0)throw new Error("Found extraneous } in Chalk template literal");a.push(r(s,c)(f.join(""))),f=[],c.pop()}else f.push(ue)}),a.push(f.join("")),c.length>0){const d=`Chalk template literal is missing ${c.length} closing bracket${c.length===1?"":"s"} (\`}\`)`;throw new Error(d)}return a.join("")},A}const C=_.exports,{stdout:F,stderr:R}=Z,{stringReplaceAll:ne,stringEncaseCRLFWithFirstIndex:re}=ee,{isArray:M}=Array,G=["ansi","ansi","ansi256","ansi16m"],v=Object.create(null),oe=(u,h={})=>{if(h.level&&!(Number.isInteger(h.level)&&h.level>=0&&h.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const i=F?F.level:0;u.level=h.level===void 0?i:h.level};class se{constructor(h){return J(h)}}const J=u=>{const h={};return oe(h,u),h.template=(...i)=>D(h.template,...i),Object.setPrototypeOf(h,x.prototype),Object.setPrototypeOf(h.template,h),h.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},h.template.Instance=se,h.template};function x(u){return J(u)}for(const[u,h]of Object.entries(C))v[u]={get(){const i=j(this,P(h.open,h.close,this._styler),this._isEmpty);return Object.defineProperty(this,u,{value:i}),i}};v.visible={get(){const u=j(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:u}),u}};const W=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const u of W)v[u]={get(){const{level:h}=this;return function(...i){const g=P(C.color[G[h]][u](...i),C.color.close,this._styler);return j(this,g,this._isEmpty)}}};for(const u of W){const h="bg"+u[0].toUpperCase()+u.slice(1);v[h]={get(){const{level:i}=this;return function(...g){const e=P(C.bgColor[G[i]][u](...g),C.bgColor.close,this._styler);return j(this,e,this._isEmpty)}}}}const le=Object.defineProperties(()=>{},{...v,level:{enumerable:!0,get(){return this._generator.level},set(u){this._generator.level=u}}}),P=(u,h,i)=>{let g,e;return i===void 0?(g=u,e=h):(g=i.openAll+u,e=h+i.closeAll),{open:u,close:h,openAll:g,closeAll:e,parent:i}},j=(u,h,i)=>{const g=(...e)=>M(e[0])&&M(e[0].raw)?X(g,D(g,...e)):X(g,e.length===1?""+e[0]:e.join(" "));return Object.setPrototypeOf(g,le),g._generator=u,g._styler=h,g._isEmpty=i,g},X=(u,h)=>{if(u.level<=0||!h)return u._isEmpty?"":h;let i=u._styler;if(i===void 0)return h;const{openAll:g,closeAll:e}=i;if(h.indexOf("\x1B")!==-1)for(;i!==void 0;)h=ne(h,i.close,i.open),i=i.parent;const o=h.indexOf(`
6
- `);return o!==-1&&(h=re(h,e,g,o)),g+h+e};let q;const D=(u,...h)=>{const[i]=h;if(!M(i)||!M(i.raw))return h.join(" ");const g=h.slice(1),e=[i.raw[0]];for(let o=1;o<i.length;o++)e.push(String(g[o-1]).replace(/[{}\\]/g,"\\$&"),String(i.raw[o]));return q===void 0&&(q=te()),q(u,e.join(""))};Object.defineProperties(x.prototype,v);const E=x();E.supportsColor=F,E.stderr=x({level:R?R.level:0}),E.stderr.supportsColor=R;var ce=E;const ie=u=>{console.log(`${ce.magenta("JamComments:")} ${u}`)},ae=u=>{console.error(`JamComments: ${u}`)};m.log=ie,m.logError=ae,m.markupFetcher=Y,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});