@oscarpalmer/atoms 0.201.0 → 0.203.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 (156) hide show
  1. package/dist/array/difference.d.mts +4 -5
  2. package/dist/array/exists.d.mts +5 -6
  3. package/dist/array/filter.d.mts +10 -11
  4. package/dist/array/find.d.mts +10 -11
  5. package/dist/array/first.d.mts +10 -11
  6. package/dist/array/flatten.d.mts +2 -3
  7. package/dist/array/from.d.mts +7 -8
  8. package/dist/array/group-by.d.mts +16 -185
  9. package/dist/array/insert.d.mts +3 -4
  10. package/dist/array/intersection.d.mts +4 -5
  11. package/dist/array/last.d.mts +10 -11
  12. package/dist/array/move.d.mts +9 -10
  13. package/dist/array/partition.d.mts +5 -6
  14. package/dist/array/push.d.mts +2 -3
  15. package/dist/array/reverse.d.mts +2 -3
  16. package/dist/array/select.d.mts +11 -12
  17. package/dist/array/single.d.mts +4 -5
  18. package/dist/array/slice.d.mts +12 -13
  19. package/dist/array/sort.d.mts +31 -32
  20. package/dist/array/sort.mjs +41 -33
  21. package/dist/array/splice.d.mts +5 -6
  22. package/dist/array/swap.d.mts +8 -9
  23. package/dist/array/to-map.d.mts +18 -175
  24. package/dist/array/to-record.d.mts +18 -175
  25. package/dist/array/to-set.d.mts +4 -5
  26. package/dist/array/toggle.d.mts +4 -5
  27. package/dist/array/union.d.mts +4 -5
  28. package/dist/array/unique.d.mts +4 -5
  29. package/dist/array/update.d.mts +4 -5
  30. package/dist/beacon.d.mts +8 -9
  31. package/dist/beacon.mjs +90 -65
  32. package/dist/color/constants.d.mts +14 -13
  33. package/dist/color/constants.mjs +9 -2
  34. package/dist/color/index.d.mts +2 -2
  35. package/dist/color/instance.d.mts +3 -3
  36. package/dist/color/instance.mjs +125 -61
  37. package/dist/color/misc/alpha.d.mts +4 -5
  38. package/dist/color/misc/format.d.mts +6 -7
  39. package/dist/color/misc/format.mjs +15 -12
  40. package/dist/color/misc/get.d.mts +14 -15
  41. package/dist/color/misc/is.d.mts +16 -17
  42. package/dist/color/misc/is.mjs +3 -4
  43. package/dist/color/misc/state.d.mts +8 -10
  44. package/dist/color/misc/state.mjs +22 -20
  45. package/dist/color/models.d.mts +25 -19
  46. package/dist/color/space/hex.d.mts +9 -10
  47. package/dist/color/space/hsl.d.mts +8 -9
  48. package/dist/color/space/hwb.d.mts +9 -10
  49. package/dist/color/space/rgb.d.mts +11 -12
  50. package/dist/function/limit.d.mts +9 -8
  51. package/dist/function/limit.mjs +5 -5
  52. package/dist/function/once.d.mts +26 -6
  53. package/dist/function/once.mjs +135 -76
  54. package/dist/function/retry.d.mts +5 -6
  55. package/dist/function/retry.mjs +3 -3
  56. package/dist/index.d.mts +244 -584
  57. package/dist/index.mjs +1191 -810
  58. package/dist/internal/abort.d.mts +3 -4
  59. package/dist/internal/array/callbacks.d.mts +4 -5
  60. package/dist/internal/array/chunk.d.mts +2 -3
  61. package/dist/internal/array/compact.d.mts +3 -4
  62. package/dist/internal/array/find.d.mts +10 -11
  63. package/dist/internal/array/get.d.mts +7 -8
  64. package/dist/internal/array/group.d.mts +2 -3
  65. package/dist/internal/array/index-of.d.mts +10 -11
  66. package/dist/internal/array/insert.d.mts +5 -6
  67. package/dist/internal/array/match.d.mts +17 -18
  68. package/dist/internal/array/overlap.d.mts +2 -3
  69. package/dist/internal/array/sets.d.mts +5 -6
  70. package/dist/internal/array/shuffle.d.mts +2 -3
  71. package/dist/internal/array/update.d.mts +2 -3
  72. package/dist/internal/defaults.d.mts +3 -4
  73. package/dist/internal/function/assert.d.mts +10 -11
  74. package/dist/internal/function/limit.d.mts +41 -0
  75. package/dist/internal/function/limit.mjs +110 -0
  76. package/dist/internal/function/memoize.d.mts +4 -5
  77. package/dist/internal/function/memoize.mjs +53 -31
  78. package/dist/internal/function/misc.d.mts +2 -3
  79. package/dist/internal/function/work.d.mts +53 -54
  80. package/dist/internal/herald.d.mts +8 -9
  81. package/dist/internal/herald.mjs +38 -26
  82. package/dist/internal/is.d.mts +19 -20
  83. package/dist/internal/math/aggregate.d.mts +14 -15
  84. package/dist/internal/math/misc.d.mts +3 -4
  85. package/dist/internal/number.d.mts +4 -5
  86. package/dist/internal/random.d.mts +3 -4
  87. package/dist/internal/result/misc.d.mts +29 -14
  88. package/dist/internal/result/misc.mjs +4 -0
  89. package/dist/internal/result/models.d.mts +9 -10
  90. package/dist/internal/sized/map.d.mts +2 -3
  91. package/dist/internal/sized/misc.d.mts +2 -3
  92. package/dist/internal/string/case.d.mts +9 -10
  93. package/dist/internal/string/misc.d.mts +8 -9
  94. package/dist/internal/subscription.d.mts +14 -15
  95. package/dist/internal/subscription.mjs +69 -57
  96. package/dist/internal/value/compare.d.mts +17 -9
  97. package/dist/internal/value/compare.mjs +7 -7
  98. package/dist/internal/value/equal.d.mts +34 -15
  99. package/dist/internal/value/equal.mjs +28 -13
  100. package/dist/internal/value/get.d.mts +3 -4
  101. package/dist/internal/value/handlers.d.mts +19 -9
  102. package/dist/internal/value/handlers.mjs +50 -50
  103. package/dist/internal/value/has.d.mts +6 -7
  104. package/dist/internal/value/misc.d.mts +6 -7
  105. package/dist/internal/value/partial.d.mts +3 -4
  106. package/dist/internal/value/set.d.mts +4 -5
  107. package/dist/is.d.mts +13 -13
  108. package/dist/logger.d.mts +5 -4
  109. package/dist/logger.mjs +61 -54
  110. package/dist/math.d.mts +20 -20
  111. package/dist/models.d.mts +58 -46
  112. package/dist/promise/constants.d.mts +14 -15
  113. package/dist/promise/delay.d.mts +3 -4
  114. package/dist/promise/delay.mjs +4 -4
  115. package/dist/promise/helpers.d.mts +7 -8
  116. package/dist/promise/index.d.mts +13 -14
  117. package/dist/promise/misc.d.mts +6 -6
  118. package/dist/promise/models.d.mts +16 -17
  119. package/dist/promise/timed.d.mts +4 -5
  120. package/dist/promise/timed.mjs +5 -5
  121. package/dist/query.d.mts +3 -4
  122. package/dist/queue.d.mts +14 -15
  123. package/dist/queue.mjs +185 -129
  124. package/dist/random.d.mts +8 -8
  125. package/dist/result/index.d.mts +8 -9
  126. package/dist/result/match.d.mts +6 -7
  127. package/dist/result/misc.d.mts +3 -3
  128. package/dist/result/work/flow.d.mts +28 -29
  129. package/dist/result/work/pipe.d.mts +24 -25
  130. package/dist/sized/set.d.mts +2 -3
  131. package/dist/string/fuzzy.d.mts +21 -12
  132. package/dist/string/fuzzy.mjs +77 -49
  133. package/dist/string/index.d.mts +8 -8
  134. package/dist/string/match.d.mts +4 -5
  135. package/dist/string/normalize.d.mts +8 -9
  136. package/dist/string/normalize.mjs +9 -4
  137. package/dist/string/template.d.mts +9 -9
  138. package/dist/string/template.mjs +11 -4
  139. package/dist/value/clone.d.mts +21 -13
  140. package/dist/value/clone.mjs +22 -20
  141. package/dist/value/collection.d.mts +4 -5
  142. package/dist/value/diff.d.mts +5 -6
  143. package/dist/value/freeze.d.mts +18 -19
  144. package/dist/value/freeze.mjs +1 -1
  145. package/dist/value/merge.d.mts +13 -14
  146. package/dist/value/merge.mjs +21 -5
  147. package/dist/value/omit.d.mts +2 -3
  148. package/dist/value/pick.d.mts +2 -3
  149. package/dist/value/shake.d.mts +3 -4
  150. package/dist/value/smush.d.mts +3 -4
  151. package/dist/value/transform.d.mts +15 -10
  152. package/dist/value/transform.mjs +12 -7
  153. package/dist/value/unsmush.d.mts +3 -4
  154. package/package.json +1 -1
  155. package/dist/internal/function/timer.d.mts +0 -10
  156. package/dist/internal/function/timer.mjs +0 -87
@@ -1,4 +1,4 @@
1
- import { COLOR_DEFAULTS, COLOR_KEYS, COLOR_LENGTHS, COLOR_MAX, COLOR_TYPE } from "../constants.mjs";
1
+ import { COLOR_DEFAULTS, COLOR_KEYS, COLOR_LENGTHS, COLOR_MAX, COLOR_SYMBOL, COLOR_TYPE } from "../constants.mjs";
2
2
  import { getAlpha } from "./alpha.mjs";
3
3
  import { getDegrees, getHexValue, getPercentage } from "./get.mjs";
4
4
  import { isColor, isHexColor, isHslLike, isHwbLike, isRgbLike } from "./is.mjs";
@@ -59,41 +59,43 @@ function getDefaultColorState() {
59
59
  origin: COLOR_TYPE.hex
60
60
  };
61
61
  }
62
- function setColorValue(color, state, changes, type, value, alpha) {
63
- state.hex = void 0;
64
- state.hsl = void 0;
65
- state.hwb = void 0;
66
- state.rgb = void 0;
67
- state.origin = type;
68
- state[type] = value;
69
- if (alpha != null) state.alpha = getAlpha(alpha, type === COLOR_TYPE.hex);
70
- for (const type of COLOR_TYPE.all) if (changes.observed(type)) changes.emit(type, color[type]);
71
- changes.emit(COLOR_TYPE.wildcard, color);
62
+ function setColorValue(instance, type, value, alpha) {
63
+ const { changes, values } = instance[COLOR_SYMBOL];
64
+ values.hex = void 0;
65
+ values.hsl = void 0;
66
+ values.hwb = void 0;
67
+ values.rgb = void 0;
68
+ values.origin = type;
69
+ values[type] = value;
70
+ if (alpha != null) values.alpha = getAlpha(alpha, type === COLOR_TYPE.hex);
71
+ for (const type of COLOR_TYPE.all) if (changes.observed(type)) changes.emit(type, instance[type]);
72
+ changes.emit(COLOR_TYPE.wildcard, instance);
72
73
  }
73
- function setHexColor(color, state, changes, value, alpha) {
74
- if (!isHexColor(value) || !alpha && value === state.hex) return;
74
+ function setHexColor(instance, value, alpha) {
75
+ const { values } = instance[COLOR_SYMBOL];
76
+ if (!isHexColor(value) || !alpha && value === values.hex) return;
75
77
  const normalized = getNormalizedHex(value, true);
76
- setColorValue(color, state, changes, COLOR_TYPE.hex, normalized.slice(0, COLOR_LENGTHS.hexLong), alpha ? normalized.slice(COLOR_LENGTHS.hexLong) : void 0);
78
+ setColorValue(instance, COLOR_TYPE.hex, normalized.slice(0, COLOR_LENGTHS.hexLong), alpha ? normalized.slice(COLOR_LENGTHS.hexLong) : void 0);
77
79
  }
78
- function setHSLColor(color, state, changes, value, alpha) {
80
+ function setHSLColor(instance, value, alpha) {
79
81
  if (!isHslLike(value)) return;
80
- setColorValue(color, state, changes, COLOR_TYPE.hsl, {
82
+ setColorValue(instance, COLOR_TYPE.hsl, {
81
83
  hue: getDegrees(value.hue),
82
84
  saturation: getPercentage(value.saturation),
83
85
  lightness: getPercentage(value.lightness)
84
86
  }, alpha ? value.alpha : void 0);
85
87
  }
86
- function setHWBColor(color, state, changes, value, alpha) {
88
+ function setHWBColor(instance, value, alpha) {
87
89
  if (!isHwbLike(value)) return;
88
- setColorValue(color, state, changes, COLOR_TYPE.hwb, {
90
+ setColorValue(instance, COLOR_TYPE.hwb, {
89
91
  hue: getDegrees(value.hue),
90
92
  whiteness: getPercentage(value.whiteness),
91
93
  blackness: getPercentage(value.blackness)
92
94
  }, alpha ? value.alpha : void 0);
93
95
  }
94
- function setRGBColor(color, state, changes, value, alpha) {
96
+ function setRGBColor(instance, value, alpha) {
95
97
  if (!isRgbLike(value)) return;
96
- setColorValue(color, state, changes, COLOR_TYPE.rgb, {
98
+ setColorValue(instance, COLOR_TYPE.rgb, {
97
99
  red: getHexValue(value.red),
98
100
  green: getHexValue(value.green),
99
101
  blue: getHexValue(value.blue)
@@ -1,15 +1,15 @@
1
1
  import { Subscription } from "../internal/subscription.mjs";
2
- import { HeraldEvents } from "../internal/herald.mjs";
3
- import { COLOR_ALPHA } from "./constants.mjs";
2
+ import { Herald, HeraldEvents } from "../internal/herald.mjs";
3
+ import { COLOR_SYMBOL } from "./constants.mjs";
4
4
  //#region src/color/models.d.ts
5
- type Alpha = {
5
+ export type Alpha = {
6
6
  hex: string;
7
7
  value: number;
8
8
  };
9
9
  /**
10
10
  * A color that is represented in multiple color formats
11
11
  */
12
- type Color = {
12
+ export type Color = {
13
13
  /**
14
14
  *
15
15
  */
@@ -186,7 +186,7 @@ type Color = {
186
186
  */
187
187
  unsubscribe(): void;
188
188
  };
189
- type ColorChanges = {
189
+ export type ColorChanges = {
190
190
  '*': (value: Color) => void;
191
191
  alpha: (value: number) => void;
192
192
  hex: (value: string) => void;
@@ -207,11 +207,11 @@ type ColorWithAlpha = {
207
207
  /**
208
208
  * An _HSL_ color with an alpha channel _(opacity)_
209
209
  */
210
- type HSLAColor = HSLColor & ColorWithAlpha;
210
+ export type HSLAColor = HSLColor & ColorWithAlpha;
211
211
  /**
212
212
  * An _HSL_ color
213
213
  */
214
- type HSLColor = {
214
+ export type HSLColor = {
215
215
  /**
216
216
  * Hue of the color _(in degrees; 0-360)_
217
217
  */
@@ -225,7 +225,7 @@ type HSLColor = {
225
225
  */
226
226
  saturation: number;
227
227
  };
228
- type HWBColor = {
228
+ export type HWBColor = {
229
229
  /**
230
230
  * Blackness of the color _(in percentage; 0-100)_
231
231
  */
@@ -239,15 +239,22 @@ type HWBColor = {
239
239
  */
240
240
  whiteness: number;
241
241
  };
242
- type HWBAColor = HWBColor & ColorWithAlpha;
242
+ export type HWBAColor = HWBColor & ColorWithAlpha;
243
+ export type InternalColor = {
244
+ [COLOR_SYMBOL]: InternalColorState;
245
+ } & Color;
246
+ export type InternalColorState = {
247
+ changes: Herald<ColorChanges>;
248
+ values: ColorState;
249
+ };
243
250
  /**
244
251
  * An _RGB_ color with an alpha channel _(opacity)_
245
252
  */
246
- type RGBAColor = RGBColor & ColorWithAlpha;
253
+ export type RGBAColor = RGBColor & ColorWithAlpha;
247
254
  /**
248
255
  * An _RGB_ color
249
256
  */
250
- type RGBColor = {
257
+ export type RGBColor = {
251
258
  /**
252
259
  * Blue channel of the color _(in hexadecimal; 0-255)_
253
260
  */
@@ -261,8 +268,8 @@ type RGBColor = {
261
268
  */
262
269
  red: number;
263
270
  };
264
- type ColorProperty = typeof COLOR_ALPHA.name | keyof HSLColor | keyof HWBColor | keyof RGBColor;
265
- type ColorState = {
271
+ export type ColorProperty = 'alpha' | keyof HSLColor | keyof HWBColor | keyof RGBColor;
272
+ export type ColorState = {
266
273
  alpha: Alpha;
267
274
  hex?: string;
268
275
  hsl?: HSLColor;
@@ -273,18 +280,17 @@ type ColorState = {
273
280
  /**
274
281
  * Base color types
275
282
  */
276
- type ColorType = 'hex' | 'hsl' | 'hwb' | 'rgb';
283
+ export type ColorType = 'hex' | 'hsl' | 'hwb' | 'rgb';
277
284
  /**
278
285
  * Extended color types
279
286
  */
280
- type ColorTypeExtended = ColorType | 'hsla' | 'hwba' | 'rgba';
287
+ export type ColorTypeExtended = ColorType | 'hsla' | 'hwba' | 'rgba';
281
288
  /**
282
289
  * Base color values
283
290
  */
284
- type ColorValue = string | HSLColor | HWBColor | RGBColor;
291
+ export type ColorValue = string | HSLColor | HWBColor | RGBColor;
285
292
  /**
286
293
  * Extended color values
287
294
  */
288
- type ColorValueExtended = ColorValue | HSLAColor | HWBAColor | RGBAColor;
289
- //#endregion
290
- export { Alpha, Color, ColorChanges, ColorProperty, ColorState, ColorType, ColorTypeExtended, ColorValue, ColorValueExtended, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor };
295
+ export type ColorValueExtended = ColorValue | HSLAColor | HWBAColor | RGBAColor;
296
+ //#endregion
@@ -1,6 +1,6 @@
1
1
  import { ColorState, ColorType, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor } from "../models.mjs";
2
2
  //#region src/color/space/hex.d.ts
3
- declare function getColorFromHex<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
3
+ export declare function getColorFromHex<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
4
4
  /**
5
5
  * Get the normalized hex color from a value
6
6
  *
@@ -10,7 +10,7 @@ declare function getColorFromHex<Type extends ColorType>(state: ColorState, type
10
10
  * @param alpha Include alpha channel _(opacity)_? _(defaults to `false`)_
11
11
  * @returns Normalized hex color
12
12
  */
13
- declare function getNormalizedHex(value: unknown, alpha?: boolean): string;
13
+ export declare function getNormalizedHex(value: unknown, alpha?: boolean): string;
14
14
  /**
15
15
  * Convert a hex color string to a _HSL_ color
16
16
  *
@@ -19,7 +19,7 @@ declare function getNormalizedHex(value: unknown, alpha?: boolean): string;
19
19
  * @param value Hex color string
20
20
  * @returns _HSL_ color
21
21
  */
22
- declare function hexToHsl(value: string): HSLColor;
22
+ export declare function hexToHsl(value: string): HSLColor;
23
23
  /**
24
24
  * Convert a hex color string to a _HSLA_ color
25
25
  *
@@ -28,7 +28,7 @@ declare function hexToHsl(value: string): HSLColor;
28
28
  * @param value Hex color string
29
29
  * @returns _HSLA_ color
30
30
  */
31
- declare function hexToHsla(value: string): HSLAColor;
31
+ export declare function hexToHsla(value: string): HSLAColor;
32
32
  /**
33
33
  * Convert a hex color string to a _HWB_ color
34
34
  *
@@ -37,7 +37,7 @@ declare function hexToHsla(value: string): HSLAColor;
37
37
  * @param value Hex color string
38
38
  * @returns _HWB_ color
39
39
  */
40
- declare function hexToHwb(value: string): HWBColor;
40
+ export declare function hexToHwb(value: string): HWBColor;
41
41
  /**
42
42
  * Convert a hex color string to a _HWBA_ color
43
43
  *
@@ -46,7 +46,7 @@ declare function hexToHwb(value: string): HWBColor;
46
46
  * @param value Hex color string
47
47
  * @returns _HWBA_ color
48
48
  */
49
- declare function hexToHwba(value: string): HWBAColor;
49
+ export declare function hexToHwba(value: string): HWBAColor;
50
50
  /**
51
51
  * Convert a hex color to an _RGB_ color
52
52
  *
@@ -55,7 +55,7 @@ declare function hexToHwba(value: string): HWBAColor;
55
55
  * @param value Original value
56
56
  * @returns _RGB_ color
57
57
  */
58
- declare function hexToRgb(value: string): RGBColor;
58
+ export declare function hexToRgb(value: string): RGBColor;
59
59
  /**
60
60
  * Convert a hex color to an _RGBA_ color
61
61
  *
@@ -64,6 +64,5 @@ declare function hexToRgb(value: string): RGBColor;
64
64
  * @param value Original value
65
65
  * @returns _RGBA_ color
66
66
  */
67
- declare function hexToRgba(value: string): RGBAColor;
68
- //#endregion
69
- export { getColorFromHex, getNormalizedHex, hexToHsl, hexToHsla, hexToHwb, hexToHwba, hexToRgb, hexToRgba };
67
+ export declare function hexToRgba(value: string): RGBAColor;
68
+ //#endregion
@@ -1,7 +1,7 @@
1
1
  import { ColorState, ColorType, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor } from "../models.mjs";
2
2
  //#region src/color/space/hsl.d.ts
3
- declare function getColorFromHsl<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
4
- declare function getHslValue(value: Record<keyof HSLColor, unknown>): HSLColor;
3
+ export declare function getColorFromHsl<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
4
+ export declare function getHslValue(value: Record<keyof HSLColor, unknown>): HSLColor;
5
5
  /**
6
6
  * Convert an _HSL(A)_ color to a hex color _(with optional alpha channel, i.e., opacity)_
7
7
  *
@@ -11,7 +11,7 @@ declare function getHslValue(value: Record<keyof HSLColor, unknown>): HSLColor;
11
11
  * @param alpha Include alpha channel _(opacity)_? _(defaults to `false`)_
12
12
  * @returns Hex color string
13
13
  */
14
- declare function hslToHex(hsl: HSLAColor | HSLColor, alpha?: boolean): string;
14
+ export declare function hslToHex(hsl: HSLAColor | HSLColor, alpha?: boolean): string;
15
15
  /**
16
16
  * Convert an _HSL(A)_ color to an _HWB_ color
17
17
  *
@@ -20,7 +20,7 @@ declare function hslToHex(hsl: HSLAColor | HSLColor, alpha?: boolean): string;
20
20
  * @param hsl HSL(A) color
21
21
  * @returns _HWB_ color
22
22
  */
23
- declare function hslToHwb(hsl: HSLAColor | HSLColor): HWBColor;
23
+ export declare function hslToHwb(hsl: HSLAColor | HSLColor): HWBColor;
24
24
  /**
25
25
  * Convert an _HSL(A)_ color to an _HWBA_ color
26
26
  *
@@ -29,7 +29,7 @@ declare function hslToHwb(hsl: HSLAColor | HSLColor): HWBColor;
29
29
  * @param hsl HSL(A) color
30
30
  * @returns _HWBA_ color
31
31
  */
32
- declare function hslToHwba(hsl: HSLAColor | HSLColor): HWBAColor;
32
+ export declare function hslToHwba(hsl: HSLAColor | HSLColor): HWBAColor;
33
33
  /**
34
34
  * Convert an _HSL(A)_ color to an _RGB_ color
35
35
  *
@@ -40,7 +40,7 @@ declare function hslToHwba(hsl: HSLAColor | HSLColor): HWBAColor;
40
40
  * @param hsl HSL(A) color
41
41
  * @returns _RGB_ color
42
42
  */
43
- declare function hslToRgb(hsl: HSLAColor | HSLColor): RGBColor;
43
+ export declare function hslToRgb(hsl: HSLAColor | HSLColor): RGBColor;
44
44
  /**
45
45
  * Convert an _HSL(A)_ color to an _RGBA_ color
46
46
  *
@@ -51,6 +51,5 @@ declare function hslToRgb(hsl: HSLAColor | HSLColor): RGBColor;
51
51
  * @param hsl HSL(A) color
52
52
  * @returns _RGBA_ color
53
53
  */
54
- declare function hslToRgba(hsl: HSLAColor | HSLColor): RGBAColor;
55
- //#endregion
56
- export { getColorFromHsl, getHslValue, hslToHex, hslToHwb, hslToHwba, hslToRgb, hslToRgba };
54
+ export declare function hslToRgba(hsl: HSLAColor | HSLColor): RGBAColor;
55
+ //#endregion
@@ -1,8 +1,8 @@
1
1
  import { ColorState, ColorType, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor } from "../models.mjs";
2
2
  //#region src/color/space/hwb.d.ts
3
- declare function convertHwbToHsl(input: HWBAColor | HWBColor): HSLAColor;
4
- declare function getColorFromHwb<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
5
- declare function getHwbValue(value: Record<keyof HWBColor, unknown>): HWBColor;
3
+ export declare function convertHwbToHsl(input: HWBAColor | HWBColor): HSLAColor;
4
+ export declare function getColorFromHwb<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
5
+ export declare function getHwbValue(value: Record<keyof HWBColor, unknown>): HWBColor;
6
6
  /**
7
7
  * Convert an _HWB(A)_ color to a hex color _(with optional alpha channel, i.e., opacity)_
8
8
  *
@@ -12,7 +12,7 @@ declare function getHwbValue(value: Record<keyof HWBColor, unknown>): HWBColor;
12
12
  * @param alpha Include alpha channel _(opacity)_? _(defaults to `false`)_
13
13
  * @returns Hex color string
14
14
  */
15
- declare function hwbToHex(hwb: HWBAColor | HWBColor, alpha?: boolean): string;
15
+ export declare function hwbToHex(hwb: HWBAColor | HWBColor, alpha?: boolean): string;
16
16
  /**
17
17
  * Convert an _HWB(A)_ color to an _RGB_ color
18
18
  *
@@ -21,7 +21,7 @@ declare function hwbToHex(hwb: HWBAColor | HWBColor, alpha?: boolean): string;
21
21
  * @param hwb _HWB(A)_ color
22
22
  * @returns _RGB_ color
23
23
  */
24
- declare function hwbToHsl(hwb: HWBAColor | HWBColor): HSLColor;
24
+ export declare function hwbToHsl(hwb: HWBAColor | HWBColor): HSLColor;
25
25
  /**
26
26
  * Convert an _HWB(A)_ color to an _HSLA_ color
27
27
  *
@@ -30,7 +30,7 @@ declare function hwbToHsl(hwb: HWBAColor | HWBColor): HSLColor;
30
30
  * @param hwb _HWB(A)_ color
31
31
  * @returns _HSLA_ color
32
32
  */
33
- declare function hwbToHsla(hwb: HWBAColor | HWBColor): HSLAColor;
33
+ export declare function hwbToHsla(hwb: HWBAColor | HWBColor): HSLAColor;
34
34
  /**
35
35
  * Convert an _HWB(A)_ color to an _RGB_ color
36
36
  *
@@ -39,7 +39,7 @@ declare function hwbToHsla(hwb: HWBAColor | HWBColor): HSLAColor;
39
39
  * @param hwb _HWB(A)_ color
40
40
  * @returns _RGB_ color
41
41
  */
42
- declare function hwbToRgb(hwb: HWBAColor | HWBColor): RGBColor;
42
+ export declare function hwbToRgb(hwb: HWBAColor | HWBColor): RGBColor;
43
43
  /**
44
44
  * Convert an _HWB(A)_ color to an _RGBA_ color
45
45
  *
@@ -48,6 +48,5 @@ declare function hwbToRgb(hwb: HWBAColor | HWBColor): RGBColor;
48
48
  * @param hwb _HWB(A)_ color
49
49
  * @returns _RGBA_ color
50
50
  */
51
- declare function hwbToRgba(hwb: HWBAColor | HWBColor): RGBAColor;
52
- //#endregion
53
- export { convertHwbToHsl, getColorFromHwb, getHwbValue, hwbToHex, hwbToHsl, hwbToHsla, hwbToRgb, hwbToRgba };
51
+ export declare function hwbToRgba(hwb: HWBAColor | HWBColor): RGBAColor;
52
+ //#endregion
@@ -1,10 +1,10 @@
1
1
  import { ColorState, ColorType, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor } from "../models.mjs";
2
2
  //#region src/color/space/rgb.d.ts
3
- declare function convertRgbToHex(rgb: RGBAColor | RGBColor, alpha: boolean): string;
4
- declare function convertRgbToHsla(value: unknown): HSLAColor;
5
- declare function convertRgbToHwba(value: unknown): HWBAColor;
6
- declare function getColorFromRgb<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
7
- declare function getRgbValue(value: Record<keyof RGBColor, unknown>): RGBColor;
3
+ export declare function convertRgbToHex(rgb: RGBAColor | RGBColor, alpha: boolean): string;
4
+ export declare function convertRgbToHsla(value: unknown): HSLAColor;
5
+ export declare function convertRgbToHwba(value: unknown): HWBAColor;
6
+ export declare function getColorFromRgb<Type extends ColorType>(state: ColorState, type: Type): NonNullable<ColorState[Type]>;
7
+ export declare function getRgbValue(value: Record<keyof RGBColor, unknown>): RGBColor;
8
8
  /**
9
9
  * Convert an _RGB(A)_ color to a hex color _(with optional alpha channel, i.e., opacity)_
10
10
  *
@@ -14,7 +14,7 @@ declare function getRgbValue(value: Record<keyof RGBColor, unknown>): RGBColor;
14
14
  * @param alpha Include alpha channel _(opacity)_? _(defaults to `false`)_
15
15
  * @returns Hex color string
16
16
  */
17
- declare function rgbToHex(rgb: RGBAColor | RGBColor, alpha?: boolean): string;
17
+ export declare function rgbToHex(rgb: RGBAColor | RGBColor, alpha?: boolean): string;
18
18
  /**
19
19
  * Convert an _RGB(A)_ color to an _HSL_ color
20
20
  *
@@ -25,7 +25,7 @@ declare function rgbToHex(rgb: RGBAColor | RGBColor, alpha?: boolean): string;
25
25
  * @param rgb _RGB(A)_ color
26
26
  * @returns _HSL_ color
27
27
  */
28
- declare function rgbToHsl(rgb: RGBAColor | RGBColor): HSLColor;
28
+ export declare function rgbToHsl(rgb: RGBAColor | RGBColor): HSLColor;
29
29
  /**
30
30
  * Convert an _RGB(A)_ color to an _HSLA_ color
31
31
  *
@@ -36,7 +36,7 @@ declare function rgbToHsl(rgb: RGBAColor | RGBColor): HSLColor;
36
36
  * @param rgb _RGB(A)_ color
37
37
  * @returns _HSLA_ color
38
38
  */
39
- declare function rgbToHsla(rgb: RGBAColor | RGBColor): HSLAColor;
39
+ export declare function rgbToHsla(rgb: RGBAColor | RGBColor): HSLAColor;
40
40
  /**
41
41
  * Convert an _RGB(A)_ color to an _HWB_ color
42
42
  *
@@ -47,7 +47,7 @@ declare function rgbToHsla(rgb: RGBAColor | RGBColor): HSLAColor;
47
47
  * @param rgb _RGB(A)_ color
48
48
  * @returns _HWB_ color
49
49
  */
50
- declare function rgbToHwb(rgb: RGBAColor | RGBColor): HWBColor;
50
+ export declare function rgbToHwb(rgb: RGBAColor | RGBColor): HWBColor;
51
51
  /**
52
52
  * Convert an _RGB(A)_ color to an _HWBA_ color
53
53
  * _If the value is unable to be converted, a black _HWBA_ color will be returned_
@@ -57,6 +57,5 @@ declare function rgbToHwb(rgb: RGBAColor | RGBColor): HWBColor;
57
57
  * @param rgb _RGB(A)_ color
58
58
  * @returns _HWBA_ color
59
59
  */
60
- declare function rgbToHwba(rgb: RGBAColor | RGBColor): HWBAColor;
61
- //#endregion
62
- export { convertRgbToHex, convertRgbToHsla, convertRgbToHwba, getColorFromRgb, getRgbValue, rgbToHex, rgbToHsl, rgbToHsla, rgbToHwb, rgbToHwba };
60
+ export declare function rgbToHwba(rgb: RGBAColor | RGBColor): HWBAColor;
61
+ //#endregion
@@ -1,4 +1,5 @@
1
- import { AsyncCancelableCallback, CancelableCallback, GenericAsyncCallback, GenericCallback } from "../models.mjs";
1
+ import { GenericAsyncCallback, GenericCallback } from "../models.mjs";
2
+ import { AsyncLimiter, Limiter } from "../internal/function/limit.mjs";
2
3
  //#region src/function/limit.d.ts
3
4
  /**
4
5
  * Debounce a function, ensuring it is only called after `time` milliseconds have passed
@@ -12,7 +13,7 @@ import { AsyncCancelableCallback, CancelableCallback, GenericAsyncCallback, Gene
12
13
  * @param time Time in milliseconds to wait before calling the callback _(defaults to `0`; e.g., as soon as possible)_
13
14
  * @returns Debounced callback handler with a `cancel` method
14
15
  */
15
- declare function asyncDebounce<Callback extends GenericAsyncCallback | GenericCallback>(callback: Callback, time?: number): AsyncCancelableCallback<Callback>;
16
+ export declare function asyncDebounce<Callback extends GenericAsyncCallback | GenericCallback>(callback: Callback, time?: number): AsyncLimiter<Callback>;
16
17
  /**
17
18
  * Throttle a function, ensuring it is only called once every `time` milliseconds
18
19
  *
@@ -25,7 +26,7 @@ declare function asyncDebounce<Callback extends GenericAsyncCallback | GenericCa
25
26
  * @param time Time in milliseconds to wait before calling the callback again _(defaults to `0`; e.g., as soon as possible)_
26
27
  * @returns Throttled callback handler with a `cancel` method
27
28
  */
28
- declare function asyncThrottle<Callback extends GenericAsyncCallback | GenericCallback>(callback: Callback, time?: number): AsyncCancelableCallback<Callback>;
29
+ export declare function asyncThrottle<Callback extends GenericAsyncCallback | GenericCallback>(callback: Callback, time?: number): AsyncLimiter<Callback>;
29
30
  /**
30
31
  * Debounce a function, ensuring it is only called after `time` milliseconds have passed
31
32
  *
@@ -35,8 +36,8 @@ declare function asyncThrottle<Callback extends GenericAsyncCallback | GenericCa
35
36
  * @param time Time in milliseconds to wait before calling the callback _(defaults to `0`; e.g., as soon as possible)_
36
37
  * @returns Debounced callback handler with a `cancel` method
37
38
  */
38
- declare function debounce<Callback extends GenericCallback>(callback: Callback, time?: number): CancelableCallback<Callback>;
39
- declare namespace debounce {
39
+ export declare function debounce<Callback extends GenericCallback>(callback: Callback, time?: number): Limiter<Callback>;
40
+ export declare namespace debounce {
40
41
  var async: typeof asyncDebounce;
41
42
  }
42
43
  /**
@@ -46,9 +47,9 @@ declare namespace debounce {
46
47
  * @param time Time in milliseconds to wait before calling the callback again _(defaults to `0`; e.g., as soon as possible)_
47
48
  * @returns Throttled callback handler with a `cancel` method
48
49
  */
49
- declare function throttle<Callback extends GenericCallback>(callback: Callback, time?: number): CancelableCallback<Callback>;
50
- declare namespace throttle {
50
+ export declare function throttle<Callback extends GenericCallback>(callback: Callback, time?: number): Limiter<Callback>;
51
+ export declare namespace throttle {
51
52
  var async: typeof asyncThrottle;
52
53
  }
53
54
  //#endregion
54
- export { asyncDebounce, asyncThrottle, debounce, throttle };
55
+ export type { AsyncLimiter, Limiter };
@@ -1,4 +1,4 @@
1
- import { TIMER_DEBOUNCE, TIMER_THROTTLE, getAsyncTimer, getTimer } from "../internal/function/timer.mjs";
1
+ import { LIMITER_DEBOUNCE, LIMITER_THROTTLE, getAsyncLimiter, getLimiter } from "../internal/function/limit.mjs";
2
2
  //#region src/function/limit.ts
3
3
  /**
4
4
  * Debounce a function, ensuring it is only called after `time` milliseconds have passed
@@ -13,7 +13,7 @@ import { TIMER_DEBOUNCE, TIMER_THROTTLE, getAsyncTimer, getTimer } from "../inte
13
13
  * @returns Debounced callback handler with a `cancel` method
14
14
  */
15
15
  function asyncDebounce(callback, time) {
16
- return getAsyncTimer(TIMER_DEBOUNCE, callback, time);
16
+ return getAsyncLimiter(LIMITER_DEBOUNCE, callback, time);
17
17
  }
18
18
  /**
19
19
  * Throttle a function, ensuring it is only called once every `time` milliseconds
@@ -28,7 +28,7 @@ function asyncDebounce(callback, time) {
28
28
  * @returns Throttled callback handler with a `cancel` method
29
29
  */
30
30
  function asyncThrottle(callback, time) {
31
- return getAsyncTimer(TIMER_THROTTLE, callback, time);
31
+ return getAsyncLimiter(LIMITER_THROTTLE, callback, time);
32
32
  }
33
33
  /**
34
34
  * Debounce a function, ensuring it is only called after `time` milliseconds have passed
@@ -40,7 +40,7 @@ function asyncThrottle(callback, time) {
40
40
  * @returns Debounced callback handler with a `cancel` method
41
41
  */
42
42
  function debounce(callback, time) {
43
- return getTimer(TIMER_DEBOUNCE, callback, time);
43
+ return getLimiter(LIMITER_DEBOUNCE, callback, time);
44
44
  }
45
45
  /**
46
46
  * Throttle a function, ensuring it is only called once every `time` milliseconds
@@ -50,7 +50,7 @@ function debounce(callback, time) {
50
50
  * @returns Throttled callback handler with a `cancel` method
51
51
  */
52
52
  function throttle(callback, time) {
53
- return getTimer(TIMER_THROTTLE, callback, time);
53
+ return getLimiter(LIMITER_THROTTLE, callback, time);
54
54
  }
55
55
  debounce.async = asyncDebounce;
56
56
  throttle.async = asyncThrottle;
@@ -1,5 +1,7 @@
1
- import { GenericAsyncCallback, GenericCallback, OnceAsyncCallback, OnceCallback } from "../models.mjs";
1
+ import { GenericAsyncCallback, GenericCallback, Once, OnceAsync } from "../models.mjs";
2
2
  //#region src/function/once.d.ts
3
+ declare function OnceAsync(this: any, callback: GenericAsyncCallback): void;
4
+ declare function Once(this: any, callback: GenericCallback): void;
3
5
  /**
4
6
  * Create an asynchronous function that can only be called once, rejecting or resolving the same result on subsequent calls
5
7
  *
@@ -8,16 +10,34 @@ import { GenericAsyncCallback, GenericCallback, OnceAsyncCallback, OnceCallback
8
10
  * @param callback Callback to use once
9
11
  * @returns _Once_ callback
10
12
  */
11
- declare function asyncOnce<Callback extends GenericAsyncCallback>(callback: Callback): OnceAsyncCallback<Callback>;
13
+ export declare function asyncOnce<Callback extends GenericAsyncCallback>(callback: Callback): OnceAsync<Callback>;
14
+ export declare namespace asyncOnce {
15
+ var is: typeof isAsyncOnce;
16
+ }
17
+ /**
18
+ * Is the value an asynchronous once callback?
19
+ *
20
+ * @param value Value to check
21
+ * @returns `true` if the value is an asynchronous once callback, otherwise `false`
22
+ */
23
+ export declare function isAsyncOnce(value: unknown): boolean;
24
+ /**
25
+ * Is the value a once callback?
26
+ *
27
+ * @param value Value to check
28
+ * @returns `true` if the value is a once callback, otherwise `false`
29
+ */
30
+ export declare function isOnce(value: unknown): boolean;
12
31
  /**
13
32
  * Create a function that can only be called once, returning the same value on subsequent calls
14
33
  *
15
34
  * @param callback Callback to use once
16
35
  * @returns _Once_ callback
17
36
  */
18
- declare function once<Callback extends GenericCallback>(callback: Callback): OnceCallback<Callback>;
19
- declare namespace once {
37
+ export declare function once<Callback extends GenericCallback>(callback: Callback): Once<Callback>;
38
+ export declare namespace once {
20
39
  var async: typeof asyncOnce;
40
+ var is: typeof isOnce;
41
+ var isAsync: typeof isAsyncOnce;
21
42
  }
22
- //#endregion
23
- export { asyncOnce, once };
43
+ //#endregion