@ekumlin/typescript-toolkit 1.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.
Files changed (80) hide show
  1. package/README.md +98 -0
  2. package/dist/collections.d.mts +7 -0
  3. package/dist/collections.d.ts +7 -0
  4. package/dist/collections.js +60 -0
  5. package/dist/collections.js.map +1 -0
  6. package/dist/collections.mjs +31 -0
  7. package/dist/collections.mjs.map +1 -0
  8. package/dist/dom.d.mts +161 -0
  9. package/dist/dom.d.ts +161 -0
  10. package/dist/dom.js +359 -0
  11. package/dist/dom.js.map +1 -0
  12. package/dist/dom.mjs +314 -0
  13. package/dist/dom.mjs.map +1 -0
  14. package/dist/environment.d.mts +3 -0
  15. package/dist/environment.d.ts +3 -0
  16. package/dist/environment.js +33 -0
  17. package/dist/environment.js.map +1 -0
  18. package/dist/environment.mjs +6 -0
  19. package/dist/environment.mjs.map +1 -0
  20. package/dist/error.d.mts +5 -0
  21. package/dist/error.d.ts +5 -0
  22. package/dist/error.js +61 -0
  23. package/dist/error.js.map +1 -0
  24. package/dist/error.mjs +33 -0
  25. package/dist/error.mjs.map +1 -0
  26. package/dist/http.d.mts +145 -0
  27. package/dist/http.d.ts +145 -0
  28. package/dist/http.js +439 -0
  29. package/dist/http.js.map +1 -0
  30. package/dist/http.mjs +283 -0
  31. package/dist/http.mjs.map +1 -0
  32. package/dist/io.d.mts +244 -0
  33. package/dist/io.d.ts +244 -0
  34. package/dist/io.js +521 -0
  35. package/dist/io.js.map +1 -0
  36. package/dist/io.mjs +365 -0
  37. package/dist/io.mjs.map +1 -0
  38. package/dist/number.d.mts +8 -0
  39. package/dist/number.d.ts +8 -0
  40. package/dist/number.js +70 -0
  41. package/dist/number.js.map +1 -0
  42. package/dist/number.mjs +40 -0
  43. package/dist/number.mjs.map +1 -0
  44. package/dist/promise.d.mts +3 -0
  45. package/dist/promise.d.ts +3 -0
  46. package/dist/promise.js +37 -0
  47. package/dist/promise.js.map +1 -0
  48. package/dist/promise.mjs +10 -0
  49. package/dist/promise.mjs.map +1 -0
  50. package/dist/routing.d.mts +3 -0
  51. package/dist/routing.d.ts +3 -0
  52. package/dist/routing.js +43 -0
  53. package/dist/routing.js.map +1 -0
  54. package/dist/routing.mjs +16 -0
  55. package/dist/routing.mjs.map +1 -0
  56. package/dist/string.d.mts +9 -0
  57. package/dist/string.d.ts +9 -0
  58. package/dist/string.js +75 -0
  59. package/dist/string.js.map +1 -0
  60. package/dist/string.mjs +45 -0
  61. package/dist/string.mjs.map +1 -0
  62. package/dist/time.d.mts +9 -0
  63. package/dist/time.d.ts +9 -0
  64. package/dist/time.js +50 -0
  65. package/dist/time.js.map +1 -0
  66. package/dist/time.mjs +21 -0
  67. package/dist/time.mjs.map +1 -0
  68. package/dist/types.d.mts +11 -0
  69. package/dist/types.d.ts +11 -0
  70. package/dist/types.js +58 -0
  71. package/dist/types.js.map +1 -0
  72. package/dist/types.mjs +23 -0
  73. package/dist/types.mjs.map +1 -0
  74. package/dist/values.d.mts +8 -0
  75. package/dist/values.d.ts +8 -0
  76. package/dist/values.js +58 -0
  77. package/dist/values.js.map +1 -0
  78. package/dist/values.mjs +30 -0
  79. package/dist/values.mjs.map +1 -0
  80. package/package.json +40 -0
package/README.md ADDED
@@ -0,0 +1,98 @@
1
+ # @ekumlin/typescript-toolkit
2
+
3
+ Core utility functions for TypeScript & React projects, organized by domain.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @ekumlin/typescript-toolkit
9
+ # or
10
+ pnpm add @ekumlin/typescript-toolkit
11
+ # or
12
+ yarn add @ekumlin/typescript-toolkit
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ This package uses subpath exports for tree-shaking. Import only what you need:
18
+
19
+ ```typescript
20
+ import { clamp, positiveModulo } from '@ekumlin/typescript-toolkit/number';
21
+ import { isNonNullish } from '@ekumlin/typescript-toolkit/types';
22
+ import { invariant } from '@ekumlin/typescript-toolkit/values';
23
+ ```
24
+
25
+ ## Available Modules
26
+
27
+ ### `collections`
28
+ Array, map, and object utilities for common operations.
29
+
30
+ ### `dom`
31
+ DOM manipulation and CSS helpers for browser environments.
32
+
33
+ ### `environment`
34
+ Runtime environment detection utilities.
35
+
36
+ ### `error`
37
+ Error handling and conversion utilities.
38
+
39
+ ### `http`
40
+ HTTP-related utilities including status codes, headers, query parameters, and authorization tokens.
41
+
42
+ ### `io`
43
+ Input/output constants including key codes and MIME type names.
44
+
45
+ ### `number`
46
+ Math and number utilities like `clamp`, `positiveModulo`, and number conversions.
47
+
48
+ ### `promise`
49
+ Promise manipulation helpers.
50
+
51
+ ### `routing`
52
+ URL and routing utilities for navigation.
53
+
54
+ ### `string`
55
+ String manipulation functions including `upperFirst`, `toReadableFileSize`, and URL validation.
56
+
57
+ ### `time`
58
+ Date and time utilities including leap year detection, days in month calculation, and time format validation.
59
+
60
+ ### `types`
61
+ Type guards for runtime type checking.
62
+
63
+ ### `values`
64
+ Value assertion utilities including `invariant` and `unreachable` for runtime guarantees.
65
+
66
+ ## Dependencies
67
+
68
+ - **zod** - Schema validation (used in type guards)
69
+
70
+ ## Development
71
+
72
+ Build the package:
73
+
74
+ ```bash
75
+ pnpm build
76
+ ```
77
+
78
+ Run tests:
79
+
80
+ ```bash
81
+ pnpm test
82
+ ```
83
+
84
+ Watch mode for development:
85
+
86
+ ```bash
87
+ pnpm dev
88
+ ```
89
+
90
+ Type check:
91
+
92
+ ```bash
93
+ pnpm lint
94
+ ```
95
+
96
+ ## License
97
+
98
+ MIT © Eric Kumlin
@@ -0,0 +1,7 @@
1
+ declare const getMaxBy: <T>(items: T[], getValue: (item: T) => number) => T | undefined;
2
+
3
+ declare const mapAsync: <TIn, TOut>(array: TIn[], mapAsyncFn: (v: TIn) => Promise<TOut>) => Promise<TOut[]>;
4
+
5
+ declare const keysOf: <T extends object>(obj: T) => (keyof T)[];
6
+
7
+ export { getMaxBy, keysOf, mapAsync };
@@ -0,0 +1,7 @@
1
+ declare const getMaxBy: <T>(items: T[], getValue: (item: T) => number) => T | undefined;
2
+
3
+ declare const mapAsync: <TIn, TOut>(array: TIn[], mapAsyncFn: (v: TIn) => Promise<TOut>) => Promise<TOut[]>;
4
+
5
+ declare const keysOf: <T extends object>(obj: T) => (keyof T)[];
6
+
7
+ export { getMaxBy, keysOf, mapAsync };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/collections/index.ts
21
+ var collections_exports = {};
22
+ __export(collections_exports, {
23
+ getMaxBy: () => getMaxBy,
24
+ keysOf: () => keysOf,
25
+ mapAsync: () => mapAsync
26
+ });
27
+ module.exports = __toCommonJS(collections_exports);
28
+
29
+ // src/collections/array.ts
30
+ var getMaxBy = (items, getValue) => {
31
+ let maxValue = Number.MIN_VALUE;
32
+ let maxItem;
33
+ for (const item of items) {
34
+ const value = getValue(item);
35
+ if (value > maxValue) {
36
+ maxValue = value;
37
+ maxItem = item;
38
+ }
39
+ }
40
+ return maxItem;
41
+ };
42
+
43
+ // src/collections/map.ts
44
+ var mapAsync = async (array, mapAsyncFn) => {
45
+ const out = [];
46
+ for (const element of array) {
47
+ out.push(await mapAsyncFn(element));
48
+ }
49
+ return out;
50
+ };
51
+
52
+ // src/collections/object.ts
53
+ var keysOf = (obj) => Array.from(Object.keys(obj));
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ getMaxBy,
57
+ keysOf,
58
+ mapAsync
59
+ });
60
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/collections/index.ts","../src/collections/array.ts","../src/collections/map.ts","../src/collections/object.ts"],"sourcesContent":["export * from \"./array\";\nexport * from \"./map\";\nexport * from \"./object\";\n","export const getMaxBy = <T>(\n\titems: T[],\n\tgetValue: (item: T) => number,\n): T | undefined => {\n\tlet maxValue = Number.MIN_VALUE;\n\tlet maxItem: T | undefined;\n\n\tfor (const item of items) {\n\t\tconst value = getValue(item);\n\n\t\tif (value > maxValue) {\n\t\t\tmaxValue = value;\n\t\t\tmaxItem = item;\n\t\t}\n\t}\n\n\treturn maxItem;\n};\n","export const mapAsync = async <TIn, TOut>(\n\tarray: TIn[],\n\tmapAsyncFn: (v: TIn) => Promise<TOut>,\n): Promise<TOut[]> => {\n\tconst out: TOut[] = [];\n\n\tfor (const element of array) {\n\t\tout.push(await mapAsyncFn(element));\n\t}\n\n\treturn out;\n};\n","export const keysOf = <T extends object>(obj: T): (keyof T)[] =>\n\tArray.from(Object.keys(obj)) as (keyof T)[]; // eslint-disable-line @typescript-eslint/consistent-type-assertions\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,WAAW,CACvB,OACA,aACmB;AACnB,MAAI,WAAW,OAAO;AACtB,MAAI;AAEJ,aAAW,QAAQ,OAAO;AACzB,UAAM,QAAQ,SAAS,IAAI;AAE3B,QAAI,QAAQ,UAAU;AACrB,iBAAW;AACX,gBAAU;AAAA,IACX;AAAA,EACD;AAEA,SAAO;AACR;;;ACjBO,IAAM,WAAW,OACvB,OACA,eACqB;AACrB,QAAM,MAAc,CAAC;AAErB,aAAW,WAAW,OAAO;AAC5B,QAAI,KAAK,MAAM,WAAW,OAAO,CAAC;AAAA,EACnC;AAEA,SAAO;AACR;;;ACXO,IAAM,SAAS,CAAmB,QACxC,MAAM,KAAK,OAAO,KAAK,GAAG,CAAC;","names":[]}
@@ -0,0 +1,31 @@
1
+ // src/collections/array.ts
2
+ var getMaxBy = (items, getValue) => {
3
+ let maxValue = Number.MIN_VALUE;
4
+ let maxItem;
5
+ for (const item of items) {
6
+ const value = getValue(item);
7
+ if (value > maxValue) {
8
+ maxValue = value;
9
+ maxItem = item;
10
+ }
11
+ }
12
+ return maxItem;
13
+ };
14
+
15
+ // src/collections/map.ts
16
+ var mapAsync = async (array, mapAsyncFn) => {
17
+ const out = [];
18
+ for (const element of array) {
19
+ out.push(await mapAsyncFn(element));
20
+ }
21
+ return out;
22
+ };
23
+
24
+ // src/collections/object.ts
25
+ var keysOf = (obj) => Array.from(Object.keys(obj));
26
+ export {
27
+ getMaxBy,
28
+ keysOf,
29
+ mapAsync
30
+ };
31
+ //# sourceMappingURL=collections.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/collections/array.ts","../src/collections/map.ts","../src/collections/object.ts"],"sourcesContent":["export const getMaxBy = <T>(\n\titems: T[],\n\tgetValue: (item: T) => number,\n): T | undefined => {\n\tlet maxValue = Number.MIN_VALUE;\n\tlet maxItem: T | undefined;\n\n\tfor (const item of items) {\n\t\tconst value = getValue(item);\n\n\t\tif (value > maxValue) {\n\t\t\tmaxValue = value;\n\t\t\tmaxItem = item;\n\t\t}\n\t}\n\n\treturn maxItem;\n};\n","export const mapAsync = async <TIn, TOut>(\n\tarray: TIn[],\n\tmapAsyncFn: (v: TIn) => Promise<TOut>,\n): Promise<TOut[]> => {\n\tconst out: TOut[] = [];\n\n\tfor (const element of array) {\n\t\tout.push(await mapAsyncFn(element));\n\t}\n\n\treturn out;\n};\n","export const keysOf = <T extends object>(obj: T): (keyof T)[] =>\n\tArray.from(Object.keys(obj)) as (keyof T)[]; // eslint-disable-line @typescript-eslint/consistent-type-assertions\n"],"mappings":";AAAO,IAAM,WAAW,CACvB,OACA,aACmB;AACnB,MAAI,WAAW,OAAO;AACtB,MAAI;AAEJ,aAAW,QAAQ,OAAO;AACzB,UAAM,QAAQ,SAAS,IAAI;AAE3B,QAAI,QAAQ,UAAU;AACrB,iBAAW;AACX,gBAAU;AAAA,IACX;AAAA,EACD;AAEA,SAAO;AACR;;;ACjBO,IAAM,WAAW,OACvB,OACA,eACqB;AACrB,QAAM,MAAc,CAAC;AAErB,aAAW,WAAW,OAAO;AAC5B,QAAI,KAAK,MAAM,WAAW,OAAO,CAAC;AAAA,EACnC;AAEA,SAAO;AACR;;;ACXO,IAAM,SAAS,CAAmB,QACxC,MAAM,KAAK,OAAO,KAAK,GAAG,CAAC;","names":[]}
package/dist/dom.d.mts ADDED
@@ -0,0 +1,161 @@
1
+ import z from 'zod';
2
+
3
+ declare const htmlColorNamesSchema: z.ZodEnum<{
4
+ aliceBlue: "aliceBlue";
5
+ antiqueWhite: "antiqueWhite";
6
+ aqua: "aqua";
7
+ aquamarine: "aquamarine";
8
+ azure: "azure";
9
+ beige: "beige";
10
+ bisque: "bisque";
11
+ black: "black";
12
+ blanchedAlmond: "blanchedAlmond";
13
+ blue: "blue";
14
+ blueViolet: "blueViolet";
15
+ brown: "brown";
16
+ burlyWood: "burlyWood";
17
+ cadetBlue: "cadetBlue";
18
+ chartreuse: "chartreuse";
19
+ chocolate: "chocolate";
20
+ coral: "coral";
21
+ cornflowerBlue: "cornflowerBlue";
22
+ cornsilk: "cornsilk";
23
+ crimson: "crimson";
24
+ cyan: "cyan";
25
+ darkBlue: "darkBlue";
26
+ darkCyan: "darkCyan";
27
+ darkGoldenRod: "darkGoldenRod";
28
+ darkGrey: "darkGrey";
29
+ darkGreen: "darkGreen";
30
+ darkKhaki: "darkKhaki";
31
+ darkMagenta: "darkMagenta";
32
+ darkOliveGreen: "darkOliveGreen";
33
+ darkOrange: "darkOrange";
34
+ darkOrchid: "darkOrchid";
35
+ darkRed: "darkRed";
36
+ darkSalmon: "darkSalmon";
37
+ darkSeaGreen: "darkSeaGreen";
38
+ darkSlateBlue: "darkSlateBlue";
39
+ darkSlateGrey: "darkSlateGrey";
40
+ darkTurquoise: "darkTurquoise";
41
+ darkViolet: "darkViolet";
42
+ deepPink: "deepPink";
43
+ deepSkyBlue: "deepSkyBlue";
44
+ dimGray: "dimGray";
45
+ dodgerBlue: "dodgerBlue";
46
+ fireBrick: "fireBrick";
47
+ floralWhite: "floralWhite";
48
+ forestGreen: "forestGreen";
49
+ fuchsia: "fuchsia";
50
+ gainsboro: "gainsboro";
51
+ ghostWhite: "ghostWhite";
52
+ gold: "gold";
53
+ goldenRod: "goldenRod";
54
+ grey: "grey";
55
+ green: "green";
56
+ greenYellow: "greenYellow";
57
+ honeyDew: "honeyDew";
58
+ hotPink: "hotPink";
59
+ indianRed: "indianRed";
60
+ indigo: "indigo";
61
+ ivory: "ivory";
62
+ khaki: "khaki";
63
+ lavender: "lavender";
64
+ lavenderBlush: "lavenderBlush";
65
+ lawnGreen: "lawnGreen";
66
+ lemonChiffon: "lemonChiffon";
67
+ lightBlue: "lightBlue";
68
+ lightCoral: "lightCoral";
69
+ lightCyan: "lightCyan";
70
+ lightGoldenRodYellow: "lightGoldenRodYellow";
71
+ lightGrey: "lightGrey";
72
+ lightGreen: "lightGreen";
73
+ lightPink: "lightPink";
74
+ lightSalmon: "lightSalmon";
75
+ lightSeaGreen: "lightSeaGreen";
76
+ lightSkyBlue: "lightSkyBlue";
77
+ lightSlateGrey: "lightSlateGrey";
78
+ lightSteelBlue: "lightSteelBlue";
79
+ lightYellow: "lightYellow";
80
+ lime: "lime";
81
+ limeGreen: "limeGreen";
82
+ linen: "linen";
83
+ magenta: "magenta";
84
+ maroon: "maroon";
85
+ mediumAquaMarine: "mediumAquaMarine";
86
+ mediumBlue: "mediumBlue";
87
+ mediumOrchid: "mediumOrchid";
88
+ mediumPurple: "mediumPurple";
89
+ mediumSeaGreen: "mediumSeaGreen";
90
+ mediumSlateBlue: "mediumSlateBlue";
91
+ mediumSpringGreen: "mediumSpringGreen";
92
+ mediumTurquoise: "mediumTurquoise";
93
+ mediumVioletRed: "mediumVioletRed";
94
+ midnightBlue: "midnightBlue";
95
+ mintCream: "mintCream";
96
+ mistyRose: "mistyRose";
97
+ moccasin: "moccasin";
98
+ navajoWhite: "navajoWhite";
99
+ navy: "navy";
100
+ oldLace: "oldLace";
101
+ olive: "olive";
102
+ oliveDrab: "oliveDrab";
103
+ orange: "orange";
104
+ orangeRed: "orangeRed";
105
+ orchid: "orchid";
106
+ paleGoldenRod: "paleGoldenRod";
107
+ paleGreen: "paleGreen";
108
+ paleTurquoise: "paleTurquoise";
109
+ paleVioletRed: "paleVioletRed";
110
+ papayaWhip: "papayaWhip";
111
+ peachPuff: "peachPuff";
112
+ peru: "peru";
113
+ pink: "pink";
114
+ plum: "plum";
115
+ powderBlue: "powderBlue";
116
+ purple: "purple";
117
+ red: "red";
118
+ rosyBrown: "rosyBrown";
119
+ royalBlue: "royalBlue";
120
+ saddleBrown: "saddleBrown";
121
+ salmon: "salmon";
122
+ sandyBrown: "sandyBrown";
123
+ seaGreen: "seaGreen";
124
+ seaShell: "seaShell";
125
+ sienna: "sienna";
126
+ silver: "silver";
127
+ skyBlue: "skyBlue";
128
+ slateBlue: "slateBlue";
129
+ slateGrey: "slateGrey";
130
+ snow: "snow";
131
+ springGreen: "springGreen";
132
+ steelBlue: "steelBlue";
133
+ tan: "tan";
134
+ teal: "teal";
135
+ thistle: "thistle";
136
+ tomato: "tomato";
137
+ turquoise: "turquoise";
138
+ violet: "violet";
139
+ wheat: "wheat";
140
+ white: "white";
141
+ whiteSmoke: "whiteSmoke";
142
+ yellow: "yellow";
143
+ yellowGreen: "yellowGreen";
144
+ }>;
145
+ type HtmlColorName = z.infer<typeof htmlColorNamesSchema>;
146
+ declare const asHtmlColorName: (value: unknown) => HtmlColorName;
147
+ declare const isHtmlColorName: (obj: unknown) => obj is HtmlColorName;
148
+ type CssVariable = `var(--${string})`;
149
+ declare const isCssVariable: (obj: unknown) => obj is CssVariable;
150
+ type CssVariableColor = CssVariable | `rgb(${CssVariable})` | `rgba(${CssVariable})`;
151
+ declare const isCssVariableColor: (obj: unknown) => obj is CssVariableColor;
152
+ type HexColor = `#${string}`;
153
+ declare const isHexColor: (obj: unknown) => obj is HexColor;
154
+ type RgbaColor = `rgba(${number}, ${number}, ${number}, ${number})`;
155
+ declare const isRgbaColor: (obj: unknown) => obj is RgbaColor;
156
+ type RgbColor = `rgb(${number}, ${number}, ${number})`;
157
+ declare const isRgbColor: (obj: unknown) => obj is RgbColor;
158
+ type HtmlColor = HtmlColorName | CssVariableColor | RgbColor | RgbaColor | HexColor;
159
+ declare const isHtmlColor: (obj: unknown) => obj is HtmlColor;
160
+
161
+ export { type CssVariable, type CssVariableColor, type HexColor, type HtmlColor, type HtmlColorName, type RgbColor, type RgbaColor, asHtmlColorName, htmlColorNamesSchema, isCssVariable, isCssVariableColor, isHexColor, isHtmlColor, isHtmlColorName, isRgbColor, isRgbaColor };
package/dist/dom.d.ts ADDED
@@ -0,0 +1,161 @@
1
+ import z from 'zod';
2
+
3
+ declare const htmlColorNamesSchema: z.ZodEnum<{
4
+ aliceBlue: "aliceBlue";
5
+ antiqueWhite: "antiqueWhite";
6
+ aqua: "aqua";
7
+ aquamarine: "aquamarine";
8
+ azure: "azure";
9
+ beige: "beige";
10
+ bisque: "bisque";
11
+ black: "black";
12
+ blanchedAlmond: "blanchedAlmond";
13
+ blue: "blue";
14
+ blueViolet: "blueViolet";
15
+ brown: "brown";
16
+ burlyWood: "burlyWood";
17
+ cadetBlue: "cadetBlue";
18
+ chartreuse: "chartreuse";
19
+ chocolate: "chocolate";
20
+ coral: "coral";
21
+ cornflowerBlue: "cornflowerBlue";
22
+ cornsilk: "cornsilk";
23
+ crimson: "crimson";
24
+ cyan: "cyan";
25
+ darkBlue: "darkBlue";
26
+ darkCyan: "darkCyan";
27
+ darkGoldenRod: "darkGoldenRod";
28
+ darkGrey: "darkGrey";
29
+ darkGreen: "darkGreen";
30
+ darkKhaki: "darkKhaki";
31
+ darkMagenta: "darkMagenta";
32
+ darkOliveGreen: "darkOliveGreen";
33
+ darkOrange: "darkOrange";
34
+ darkOrchid: "darkOrchid";
35
+ darkRed: "darkRed";
36
+ darkSalmon: "darkSalmon";
37
+ darkSeaGreen: "darkSeaGreen";
38
+ darkSlateBlue: "darkSlateBlue";
39
+ darkSlateGrey: "darkSlateGrey";
40
+ darkTurquoise: "darkTurquoise";
41
+ darkViolet: "darkViolet";
42
+ deepPink: "deepPink";
43
+ deepSkyBlue: "deepSkyBlue";
44
+ dimGray: "dimGray";
45
+ dodgerBlue: "dodgerBlue";
46
+ fireBrick: "fireBrick";
47
+ floralWhite: "floralWhite";
48
+ forestGreen: "forestGreen";
49
+ fuchsia: "fuchsia";
50
+ gainsboro: "gainsboro";
51
+ ghostWhite: "ghostWhite";
52
+ gold: "gold";
53
+ goldenRod: "goldenRod";
54
+ grey: "grey";
55
+ green: "green";
56
+ greenYellow: "greenYellow";
57
+ honeyDew: "honeyDew";
58
+ hotPink: "hotPink";
59
+ indianRed: "indianRed";
60
+ indigo: "indigo";
61
+ ivory: "ivory";
62
+ khaki: "khaki";
63
+ lavender: "lavender";
64
+ lavenderBlush: "lavenderBlush";
65
+ lawnGreen: "lawnGreen";
66
+ lemonChiffon: "lemonChiffon";
67
+ lightBlue: "lightBlue";
68
+ lightCoral: "lightCoral";
69
+ lightCyan: "lightCyan";
70
+ lightGoldenRodYellow: "lightGoldenRodYellow";
71
+ lightGrey: "lightGrey";
72
+ lightGreen: "lightGreen";
73
+ lightPink: "lightPink";
74
+ lightSalmon: "lightSalmon";
75
+ lightSeaGreen: "lightSeaGreen";
76
+ lightSkyBlue: "lightSkyBlue";
77
+ lightSlateGrey: "lightSlateGrey";
78
+ lightSteelBlue: "lightSteelBlue";
79
+ lightYellow: "lightYellow";
80
+ lime: "lime";
81
+ limeGreen: "limeGreen";
82
+ linen: "linen";
83
+ magenta: "magenta";
84
+ maroon: "maroon";
85
+ mediumAquaMarine: "mediumAquaMarine";
86
+ mediumBlue: "mediumBlue";
87
+ mediumOrchid: "mediumOrchid";
88
+ mediumPurple: "mediumPurple";
89
+ mediumSeaGreen: "mediumSeaGreen";
90
+ mediumSlateBlue: "mediumSlateBlue";
91
+ mediumSpringGreen: "mediumSpringGreen";
92
+ mediumTurquoise: "mediumTurquoise";
93
+ mediumVioletRed: "mediumVioletRed";
94
+ midnightBlue: "midnightBlue";
95
+ mintCream: "mintCream";
96
+ mistyRose: "mistyRose";
97
+ moccasin: "moccasin";
98
+ navajoWhite: "navajoWhite";
99
+ navy: "navy";
100
+ oldLace: "oldLace";
101
+ olive: "olive";
102
+ oliveDrab: "oliveDrab";
103
+ orange: "orange";
104
+ orangeRed: "orangeRed";
105
+ orchid: "orchid";
106
+ paleGoldenRod: "paleGoldenRod";
107
+ paleGreen: "paleGreen";
108
+ paleTurquoise: "paleTurquoise";
109
+ paleVioletRed: "paleVioletRed";
110
+ papayaWhip: "papayaWhip";
111
+ peachPuff: "peachPuff";
112
+ peru: "peru";
113
+ pink: "pink";
114
+ plum: "plum";
115
+ powderBlue: "powderBlue";
116
+ purple: "purple";
117
+ red: "red";
118
+ rosyBrown: "rosyBrown";
119
+ royalBlue: "royalBlue";
120
+ saddleBrown: "saddleBrown";
121
+ salmon: "salmon";
122
+ sandyBrown: "sandyBrown";
123
+ seaGreen: "seaGreen";
124
+ seaShell: "seaShell";
125
+ sienna: "sienna";
126
+ silver: "silver";
127
+ skyBlue: "skyBlue";
128
+ slateBlue: "slateBlue";
129
+ slateGrey: "slateGrey";
130
+ snow: "snow";
131
+ springGreen: "springGreen";
132
+ steelBlue: "steelBlue";
133
+ tan: "tan";
134
+ teal: "teal";
135
+ thistle: "thistle";
136
+ tomato: "tomato";
137
+ turquoise: "turquoise";
138
+ violet: "violet";
139
+ wheat: "wheat";
140
+ white: "white";
141
+ whiteSmoke: "whiteSmoke";
142
+ yellow: "yellow";
143
+ yellowGreen: "yellowGreen";
144
+ }>;
145
+ type HtmlColorName = z.infer<typeof htmlColorNamesSchema>;
146
+ declare const asHtmlColorName: (value: unknown) => HtmlColorName;
147
+ declare const isHtmlColorName: (obj: unknown) => obj is HtmlColorName;
148
+ type CssVariable = `var(--${string})`;
149
+ declare const isCssVariable: (obj: unknown) => obj is CssVariable;
150
+ type CssVariableColor = CssVariable | `rgb(${CssVariable})` | `rgba(${CssVariable})`;
151
+ declare const isCssVariableColor: (obj: unknown) => obj is CssVariableColor;
152
+ type HexColor = `#${string}`;
153
+ declare const isHexColor: (obj: unknown) => obj is HexColor;
154
+ type RgbaColor = `rgba(${number}, ${number}, ${number}, ${number})`;
155
+ declare const isRgbaColor: (obj: unknown) => obj is RgbaColor;
156
+ type RgbColor = `rgb(${number}, ${number}, ${number})`;
157
+ declare const isRgbColor: (obj: unknown) => obj is RgbColor;
158
+ type HtmlColor = HtmlColorName | CssVariableColor | RgbColor | RgbaColor | HexColor;
159
+ declare const isHtmlColor: (obj: unknown) => obj is HtmlColor;
160
+
161
+ export { type CssVariable, type CssVariableColor, type HexColor, type HtmlColor, type HtmlColorName, type RgbColor, type RgbaColor, asHtmlColorName, htmlColorNamesSchema, isCssVariable, isCssVariableColor, isHexColor, isHtmlColor, isHtmlColorName, isRgbColor, isRgbaColor };