@oscarpalmer/atoms 0.75.0 → 0.76.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 (215) hide show
  1. package/dist/js/array/chunk.cjs +2 -1
  2. package/dist/js/array/chunk.js +2 -1
  3. package/dist/js/array/count.cjs +10 -3
  4. package/dist/js/array/count.js +10 -3
  5. package/dist/js/array/exists.cjs +10 -3
  6. package/dist/js/array/exists.js +10 -3
  7. package/dist/js/array/filter.cjs +10 -3
  8. package/dist/js/array/filter.js +10 -3
  9. package/dist/js/array/find.cjs +10 -3
  10. package/dist/js/array/find.js +10 -3
  11. package/dist/js/array/group-by.cjs +18 -16
  12. package/dist/js/array/group-by.js +18 -16
  13. package/dist/js/array/index-of.cjs +10 -3
  14. package/dist/js/array/index-of.js +10 -3
  15. package/dist/js/array/index.cjs +2 -2
  16. package/dist/js/array/index.js +2 -2
  17. package/dist/js/array/insert.cjs +10 -4
  18. package/dist/js/array/insert.js +10 -4
  19. package/dist/js/array/splice.cjs +4 -4
  20. package/dist/js/array/splice.js +4 -4
  21. package/dist/js/array/to-map.cjs +11 -11
  22. package/dist/js/array/to-map.js +11 -11
  23. package/dist/js/array/to-record.cjs +3 -3
  24. package/dist/js/array/to-record.js +3 -3
  25. package/dist/js/array/unique.cjs +2 -2
  26. package/dist/js/array/unique.js +2 -2
  27. package/dist/js/colour/base.cjs +1 -1
  28. package/dist/js/colour/base.js +1 -1
  29. package/dist/js/colour/hex.cjs +2 -2
  30. package/dist/js/colour/hex.js +2 -2
  31. package/dist/js/colour/hsl.cjs +13 -7
  32. package/dist/js/colour/hsl.js +13 -7
  33. package/dist/js/colour/rgb.cjs +12 -6
  34. package/dist/js/colour/rgb.js +12 -6
  35. package/dist/js/emitter.cjs +8 -5
  36. package/dist/js/emitter.js +8 -5
  37. package/dist/js/function.cjs +6 -6
  38. package/dist/js/function.js +6 -6
  39. package/dist/js/index.cjs +0 -1
  40. package/dist/js/index.js +1 -2
  41. package/dist/js/internal/array/callbacks.cjs +23 -0
  42. package/dist/js/internal/array/callbacks.js +23 -0
  43. package/dist/js/internal/{array-find.cjs → array/find.cjs} +11 -12
  44. package/dist/js/internal/{array-find.js → array/find.js} +11 -12
  45. package/dist/js/logger.cjs +13 -13
  46. package/dist/js/logger.js +13 -13
  47. package/dist/js/query.cjs +0 -3
  48. package/dist/js/query.js +1 -4
  49. package/dist/js/random.cjs +0 -6
  50. package/dist/js/random.js +0 -6
  51. package/dist/js/sized.cjs +1 -1
  52. package/dist/js/sized.js +1 -1
  53. package/dist/js/string/index.cjs +7 -1
  54. package/dist/js/string/index.js +7 -1
  55. package/dist/js/value/compare.cjs +0 -1
  56. package/dist/js/value/compare.js +0 -1
  57. package/dist/js/value/get.cjs +3 -3
  58. package/dist/js/value/get.js +2 -2
  59. package/dist/js/value/set.cjs +4 -4
  60. package/dist/js/value/set.js +2 -2
  61. package/package.json +3 -2
  62. package/src/js/array/chunk.ts +6 -5
  63. package/src/js/array/compact.ts +8 -10
  64. package/src/js/array/count.ts +39 -19
  65. package/src/js/array/exists.ts +40 -16
  66. package/src/js/array/filter.ts +42 -20
  67. package/src/js/array/find.ts +45 -20
  68. package/src/js/array/group-by.ts +158 -27
  69. package/src/js/array/index-of.ts +40 -18
  70. package/src/js/array/index.ts +10 -9
  71. package/src/js/array/insert.ts +28 -14
  72. package/src/js/array/models.ts +18 -15
  73. package/src/js/array/shuffle.ts +3 -3
  74. package/src/js/array/sort.ts +28 -34
  75. package/src/js/array/splice.ts +22 -26
  76. package/src/js/array/to-map.ts +133 -45
  77. package/src/js/array/to-record.ts +137 -39
  78. package/src/js/array/unique.ts +20 -15
  79. package/src/js/colour/base.ts +3 -3
  80. package/src/js/colour/functions.ts +4 -6
  81. package/src/js/colour/hex.ts +5 -5
  82. package/src/js/colour/hsl.ts +18 -12
  83. package/src/js/colour/index.ts +1 -1
  84. package/src/js/colour/is.ts +3 -3
  85. package/src/js/colour/rgb.ts +17 -11
  86. package/src/js/emitter.ts +12 -9
  87. package/src/js/function.ts +12 -12
  88. package/src/js/index.ts +16 -16
  89. package/src/js/internal/array/callbacks.ts +33 -0
  90. package/src/js/internal/{array-find.ts → array/find.ts} +23 -24
  91. package/src/js/internal/{value-handle.ts → value/handle.ts} +1 -1
  92. package/src/js/is.ts +2 -2
  93. package/src/js/logger.ts +14 -14
  94. package/src/js/math.ts +1 -1
  95. package/src/js/models.ts +5 -5
  96. package/src/js/number.ts +2 -2
  97. package/src/js/query.ts +6 -10
  98. package/src/js/queue.ts +1 -1
  99. package/src/js/random.ts +9 -19
  100. package/src/js/sized.ts +145 -145
  101. package/src/js/string/case.ts +1 -1
  102. package/src/js/string/index.ts +13 -7
  103. package/src/js/string/template.ts +6 -3
  104. package/src/js/value/clone.ts +3 -7
  105. package/src/js/value/compare.ts +3 -5
  106. package/src/js/value/diff.ts +4 -4
  107. package/src/js/value/equal.ts +2 -2
  108. package/src/js/value/get.ts +3 -3
  109. package/src/js/value/index.ts +2 -2
  110. package/src/js/value/merge.ts +3 -3
  111. package/src/js/value/set.ts +3 -4
  112. package/src/js/value/smush.ts +4 -4
  113. package/src/js/value/unsmush.ts +4 -4
  114. package/types/array/chunk.d.cts +2 -2
  115. package/types/array/chunk.d.ts +2 -2
  116. package/types/array/compact.d.cts +4 -4
  117. package/types/array/compact.d.ts +4 -4
  118. package/types/array/count.d.cts +15 -8
  119. package/types/array/count.d.ts +13 -7
  120. package/types/array/exists.d.cts +14 -5
  121. package/types/array/exists.d.ts +12 -4
  122. package/types/array/filter.d.cts +16 -7
  123. package/types/array/filter.d.ts +14 -6
  124. package/types/array/find.d.cts +16 -7
  125. package/types/array/find.d.ts +14 -6
  126. package/types/array/group-by.d.cts +51 -5
  127. package/types/array/group-by.d.ts +49 -5
  128. package/types/array/index-of.d.cts +16 -7
  129. package/types/array/index-of.d.ts +14 -6
  130. package/types/array/index.d.cts +239 -95
  131. package/types/array/index.d.ts +7 -6
  132. package/types/array/insert.d.cts +9 -4
  133. package/types/array/insert.d.ts +10 -5
  134. package/types/array/models.d.cts +14 -11
  135. package/types/array/models.d.ts +14 -12
  136. package/types/array/shuffle.d.cts +2 -2
  137. package/types/array/shuffle.d.ts +2 -2
  138. package/types/array/sort.d.cts +11 -11
  139. package/types/array/sort.d.ts +10 -10
  140. package/types/array/splice.d.cts +4 -4
  141. package/types/array/splice.d.ts +4 -4
  142. package/types/array/to-map.d.cts +44 -20
  143. package/types/array/to-map.d.ts +42 -20
  144. package/types/array/to-record.d.cts +44 -20
  145. package/types/array/to-record.d.ts +42 -20
  146. package/types/array/unique.d.cts +11 -6
  147. package/types/array/unique.d.ts +10 -6
  148. package/types/colour/base.d.cts +28 -16
  149. package/types/colour/base.d.ts +2 -2
  150. package/types/colour/functions.d.cts +28 -16
  151. package/types/colour/functions.d.ts +3 -3
  152. package/types/colour/hex.d.cts +28 -16
  153. package/types/colour/hex.d.ts +4 -4
  154. package/types/colour/hsl.d.cts +28 -16
  155. package/types/colour/hsl.d.ts +16 -10
  156. package/types/colour/index.d.cts +28 -16
  157. package/types/colour/index.d.ts +1 -1
  158. package/types/colour/is.d.cts +28 -16
  159. package/types/colour/is.d.ts +3 -3
  160. package/types/colour/rgb.d.cts +28 -16
  161. package/types/colour/rgb.d.ts +15 -9
  162. package/types/emitter.d.cts +11 -8
  163. package/types/emitter.d.ts +11 -8
  164. package/types/function.d.cts +10 -10
  165. package/types/function.d.ts +11 -11
  166. package/types/index.d.cts +1061 -669
  167. package/types/index.d.ts +16 -16
  168. package/types/internal/array/callbacks.d.cts +11 -0
  169. package/types/internal/array/callbacks.d.ts +2 -0
  170. package/types/internal/array/find.d.cts +7 -0
  171. package/types/internal/array/find.d.ts +3 -0
  172. package/types/internal/{value-handle.d.ts → value/handle.d.ts} +1 -1
  173. package/types/is.d.ts +1 -1
  174. package/types/logger.d.cts +13 -13
  175. package/types/logger.d.ts +13 -13
  176. package/types/math.d.cts +1 -1
  177. package/types/math.d.ts +1 -1
  178. package/types/models.d.cts +4 -4
  179. package/types/models.d.ts +1 -4
  180. package/types/number.d.cts +2 -2
  181. package/types/number.d.ts +2 -2
  182. package/types/query.d.cts +2 -2
  183. package/types/query.d.ts +3 -3
  184. package/types/queue.d.cts +1 -1
  185. package/types/queue.d.ts +1 -1
  186. package/types/random.d.cts +8 -12
  187. package/types/random.d.ts +8 -12
  188. package/types/sized.d.cts +6 -6
  189. package/types/sized.d.ts +6 -6
  190. package/types/string/index.d.cts +6 -3
  191. package/types/string/index.d.ts +3 -3
  192. package/types/string/template.d.cts +3 -0
  193. package/types/string/template.d.ts +4 -1
  194. package/types/value/clone.d.cts +4 -2
  195. package/types/value/clone.d.ts +4 -2
  196. package/types/value/get.d.ts +1 -1
  197. package/types/value/index.d.cts +8 -6
  198. package/types/value/index.d.ts +2 -2
  199. package/types/value/merge.d.cts +1 -1
  200. package/types/value/merge.d.ts +2 -2
  201. package/types/value/set.d.ts +1 -1
  202. package/types/value/smush.d.cts +1 -1
  203. package/types/value/smush.d.ts +2 -2
  204. package/types/value/unsmush.d.cts +1 -1
  205. package/types/value/unsmush.d.ts +2 -2
  206. package/dist/js/internal/array-callbacks.cjs +0 -18
  207. package/dist/js/internal/array-callbacks.js +0 -18
  208. package/src/js/internal/array-callbacks.ts +0 -28
  209. package/types/internal/array-callbacks.d.cts +0 -13
  210. package/types/internal/array-callbacks.d.ts +0 -2
  211. package/types/internal/array-find.d.cts +0 -11
  212. package/types/internal/array-find.d.ts +0 -4
  213. /package/dist/js/internal/{value-handle.cjs → value/handle.cjs} +0 -0
  214. /package/dist/js/internal/{value-handle.js → value/handle.js} +0 -0
  215. /package/types/internal/{value-handle.d.cts → value/handle.d.cts} +0 -0
@@ -1,24 +1,24 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
3
  export type Key = number | string;
4
- export type SortKey<Value> = {
4
+ export type SortKey<Item> = {
5
5
  direction: "asc" | "desc";
6
- value: Key | SortKeyCallback<Value>;
6
+ value: Key | SortKeyCallback<Item>;
7
7
  };
8
- export type SortKeyCallback<Value> = (value: Value) => Key;
8
+ export type SortKeyCallback<Item> = (item: Item) => unknown;
9
9
  /**
10
- * Sorts an array of items _(ascending by default)_
10
+ * Sort an array of items _(defaults to ascending)_
11
11
  */
12
- export declare function sort<Value>(array: Value[], descending?: boolean): Value[];
12
+ export declare function sort<Item>(array: Item[], descending?: boolean): Item[];
13
13
  /**
14
- * - Sorts an array of items, using a `key` to sort by a specific value
15
- * - Ascending by default, but can be changed by setting `descending` to `true`, or using a `SortKey`
14
+ * - Sort an array of items, using a `key` to sort by a specific value
15
+ * - Defaults to ascending, but can be changed by setting `descending` to `true`, or using a `SortKey`
16
16
  */
17
- export declare function sort<Value>(array: Value[], key: Key | SortKey<Value> | SortKeyCallback<Value>, descending?: boolean): Value[];
17
+ export declare function sort<Item>(array: Item[], key: Key | SortKey<Item> | SortKeyCallback<Item>, descending?: boolean): Item[];
18
18
  /**
19
- * - Sorts an array of items, using multiple `keys` to sort by specific values
20
- * - Ascending by default, but can be changed by setting `descending` to `true`, or using `SortKey`
19
+ * - Sort an array of items, using multiple `keys` to sort by specific values
20
+ * - Defaults to ascending, but can be changed by setting `descending` to `true`, or using `SortKey`
21
21
  */
22
- export declare function sort<Value>(array: Value[], keys: Array<Key | SortKey<Value> | SortKeyCallback<Value>>, descending?: boolean): Value[];
22
+ export declare function sort<Item>(array: Item[], keys: Array<Key | SortKey<Item> | SortKeyCallback<Item>>, descending?: boolean): Item[];
23
23
 
24
24
  export {};
@@ -1,16 +1,16 @@
1
- import type { SortKey, SortKeyCallback } from '@/array/models';
2
- import type { Key } from '@/models';
1
+ import type { SortKey, SortKeyCallback } from '~/array/models';
2
+ import type { Key } from '~/models';
3
3
  /**
4
- * Sorts an array of items _(ascending by default)_
4
+ * Sort an array of items _(defaults to ascending)_
5
5
  */
6
- export declare function sort<Value>(array: Value[], descending?: boolean): Value[];
6
+ export declare function sort<Item>(array: Item[], descending?: boolean): Item[];
7
7
  /**
8
- * - Sorts an array of items, using a `key` to sort by a specific value
9
- * - Ascending by default, but can be changed by setting `descending` to `true`, or using a `SortKey`
8
+ * - Sort an array of items, using a `key` to sort by a specific value
9
+ * - Defaults to ascending, but can be changed by setting `descending` to `true`, or using a `SortKey`
10
10
  */
11
- export declare function sort<Value>(array: Value[], key: Key | SortKey<Value> | SortKeyCallback<Value>, descending?: boolean): Value[];
11
+ export declare function sort<Item>(array: Item[], key: Key | SortKey<Item> | SortKeyCallback<Item>, descending?: boolean): Item[];
12
12
  /**
13
- * - Sorts an array of items, using multiple `keys` to sort by specific values
14
- * - Ascending by default, but can be changed by setting `descending` to `true`, or using `SortKey`
13
+ * - Sort an array of items, using multiple `keys` to sort by specific values
14
+ * - Defaults to ascending, but can be changed by setting `descending` to `true`, or using `SortKey`
15
15
  */
16
- export declare function sort<Value>(array: Value[], keys: Array<Key | SortKey<Value> | SortKeyCallback<Value>>, descending?: boolean): Value[];
16
+ export declare function sort<Item>(array: Item[], keys: Array<Key | SortKey<Item> | SortKeyCallback<Item>>, descending?: boolean): Item[];
@@ -3,20 +3,20 @@
3
3
  /**
4
4
  * Removes and returns all items from an array starting from a specific index
5
5
  */
6
- export declare function splice<Value>(array: Value[], start: number): Value[];
6
+ export declare function splice<Item>(array: Item[], start: number): Item[];
7
7
  /**
8
8
  * Removes and returns _(up to)_ a specific amount of items from an array, starting from a specific index
9
9
  */
10
- export declare function splice<Value>(array: Value[], start: number, amount: number): Value[];
10
+ export declare function splice<Item>(array: Item[], start: number, amount: number): Item[];
11
11
  /**
12
12
  * - Splices values into an array and returns any removed values
13
13
  * - Uses chunking to avoid stack overflow
14
14
  */
15
- export declare function splice<Value>(array: Value[], start: number, values: Value[]): Value[];
15
+ export declare function splice<Item>(array: Item[], start: number, added: Item[]): Item[];
16
16
  /**
17
17
  * - Splices values into an array and returns any removed values
18
18
  * - Uses chunking to avoid stack overflow
19
19
  */
20
- export declare function splice<Value>(array: Value[], start: number, amount: number, values: Value[]): Value[];
20
+ export declare function splice<Item>(array: Item[], start: number, amount: number, added: Item[]): Item[];
21
21
 
22
22
  export {};
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * Removes and returns all items from an array starting from a specific index
3
3
  */
4
- export declare function splice<Value>(array: Value[], start: number): Value[];
4
+ export declare function splice<Item>(array: Item[], start: number): Item[];
5
5
  /**
6
6
  * Removes and returns _(up to)_ a specific amount of items from an array, starting from a specific index
7
7
  */
8
- export declare function splice<Value>(array: Value[], start: number, amount: number): Value[];
8
+ export declare function splice<Item>(array: Item[], start: number, amount: number): Item[];
9
9
  /**
10
10
  * - Splices values into an array and returns any removed values
11
11
  * - Uses chunking to avoid stack overflow
12
12
  */
13
- export declare function splice<Value>(array: Value[], start: number, values: Value[]): Value[];
13
+ export declare function splice<Item>(array: Item[], start: number, added: Item[]): Item[];
14
14
  /**
15
15
  * - Splices values into an array and returns any removed values
16
16
  * - Uses chunking to avoid stack overflow
17
17
  */
18
- export declare function splice<Value>(array: Value[], start: number, amount: number, values: Value[]): Value[];
18
+ export declare function splice<Item>(array: Item[], start: number, amount: number, added: Item[]): Item[];
@@ -1,37 +1,61 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
+ export type KeyedValue<Item, Key extends keyof Item> = Item[Key] extends PropertyKey ? Item[Key] : never;
3
4
  export type Key = number | string;
4
- export type ArrayCallback<Value, Returned> = (value: Value, index: number, array: Value[]) => Returned;
5
- export type KeyCallback<Value> = ArrayCallback<Value, Key>;
5
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ export type ValueCallback<Item> = ArrayCallback<Item, unknown>;
6
8
  /**
7
- * Converts an array into a map, using indices as keys
9
+ * Create a map from an array of items _(using their indices as keys)_
8
10
  */
9
- export declare function toMap<Value>(array: Value[]): Map<number, Value>;
11
+ export declare function toMap<Item>(array: Item[]): Map<number, Item>;
10
12
  /**
11
- * Converts an array into a map, using indices as keys and grouping values into arrays
13
+ * Create a map from an array of items using a specific key
12
14
  */
13
- export declare function toMap<Value>(array: Value[], arrays: true): Map<number, Value[]>;
15
+ export declare function toMap<Item, Key extends keyof Item>(array: Item[], key: Key): Map<KeyedValue<Item, Key>, Item>;
14
16
  /**
15
- * - Converts an array into a map
16
- * - Uses `key` to find an identifcation value to use as keys
17
+ * Create a map from an array of items using a specific key, and grouping them into arrays
17
18
  */
18
- export declare function toMap<Value>(array: Value[], key: Key): Map<Key, Value>;
19
+ export declare function toMap<Item, Key extends keyof Item>(array: Item[], key: Key, arrays: true): Map<KeyedValue<Item, Key>, Item[]>;
19
20
  /**
20
- * - Converts an array into a map
21
- * - Uses `key` to find an identifcation value to use as keys
22
- * - Groups values into arrays
21
+ * Create a map from an array of items using a specific key
23
22
  */
24
- export declare function toMap<Value>(array: Value[], key: Key, arrays: true): Map<Key, Value[]>;
23
+ export declare function toMap<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Map<ReturnType<Key>, Item>;
25
24
  /**
26
- * - Converts an array into a map
27
- * - Uses `key` to find an identifcation value to use as keys
25
+ * Create a map from an array of items using a specific key, and grouping them into arrays
28
26
  */
29
- export declare function toMap<Value>(array: Value[], key: KeyCallback<Value>): Map<Key, Value>;
27
+ export declare function toMap<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, arrays: true): Map<ReturnType<Key>, Item[]>;
30
28
  /**
31
- * - Converts an array into a map
32
- * - Uses `key` to find an identifcation value to use as keys
33
- * - Groups values into arrays
29
+ * Create a map from an array of items using a specific key and value
34
30
  */
35
- export declare function toMap<Value>(array: Value[], key: KeyCallback<Value>, arrays: true): Map<Key, Value[]>;
31
+ export declare function toMap<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value): Map<KeyedValue<Item, Key>, KeyedValue<Item, Value>>;
32
+ /**
33
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
34
+ */
35
+ export declare function toMap<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Map<KeyedValue<Item, Key>, Array<KeyedValue<Item, Value>>>;
36
+ /**
37
+ * Create a map from an array of items using a specific key and value
38
+ */
39
+ export declare function toMap<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Map<KeyedValue<Item, Key>, ReturnType<Value>>;
40
+ /**
41
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
42
+ */
43
+ export declare function toMap<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Map<KeyedValue<Item, Key>, Array<ReturnType<Value>>>;
44
+ /**
45
+ * Create a map from an array of items using a specific key and value
46
+ */
47
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value): Map<ReturnType<Key>, KeyedValue<Item, Value>>;
48
+ /**
49
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
50
+ */
51
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Map<ReturnType<Key>, Array<KeyedValue<Item, Value>>>;
52
+ /**
53
+ * Create a map from an array of items using a specific key and value
54
+ */
55
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Map<ReturnType<Key>, ReturnType<Value>>;
56
+ /**
57
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
58
+ */
59
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Map<ReturnType<Key>, Array<ReturnType<Value>>>;
36
60
 
37
61
  export {};
@@ -1,32 +1,54 @@
1
- import type { KeyCallback } from '@/array/models';
2
- import type { Key } from '@/models';
1
+ import type { KeyCallback, ValueCallback } from '~/array/models';
2
+ import type { KeyedValue } from '~/models';
3
3
  /**
4
- * Converts an array into a map, using indices as keys
4
+ * Create a map from an array of items _(using their indices as keys)_
5
5
  */
6
- export declare function toMap<Value>(array: Value[]): Map<number, Value>;
6
+ export declare function toMap<Item>(array: Item[]): Map<number, Item>;
7
7
  /**
8
- * Converts an array into a map, using indices as keys and grouping values into arrays
8
+ * Create a map from an array of items using a specific key
9
9
  */
10
- export declare function toMap<Value>(array: Value[], arrays: true): Map<number, Value[]>;
10
+ export declare function toMap<Item, Key extends keyof Item>(array: Item[], key: Key): Map<KeyedValue<Item, Key>, Item>;
11
11
  /**
12
- * - Converts an array into a map
13
- * - Uses `key` to find an identifcation value to use as keys
12
+ * Create a map from an array of items using a specific key, and grouping them into arrays
14
13
  */
15
- export declare function toMap<Value>(array: Value[], key: Key): Map<Key, Value>;
14
+ export declare function toMap<Item, Key extends keyof Item>(array: Item[], key: Key, arrays: true): Map<KeyedValue<Item, Key>, Item[]>;
16
15
  /**
17
- * - Converts an array into a map
18
- * - Uses `key` to find an identifcation value to use as keys
19
- * - Groups values into arrays
16
+ * Create a map from an array of items using a specific key
20
17
  */
21
- export declare function toMap<Value>(array: Value[], key: Key, arrays: true): Map<Key, Value[]>;
18
+ export declare function toMap<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Map<ReturnType<Key>, Item>;
22
19
  /**
23
- * - Converts an array into a map
24
- * - Uses `key` to find an identifcation value to use as keys
20
+ * Create a map from an array of items using a specific key, and grouping them into arrays
25
21
  */
26
- export declare function toMap<Value>(array: Value[], key: KeyCallback<Value>): Map<Key, Value>;
22
+ export declare function toMap<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, arrays: true): Map<ReturnType<Key>, Item[]>;
27
23
  /**
28
- * - Converts an array into a map
29
- * - Uses `key` to find an identifcation value to use as keys
30
- * - Groups values into arrays
24
+ * Create a map from an array of items using a specific key and value
31
25
  */
32
- export declare function toMap<Value>(array: Value[], key: KeyCallback<Value>, arrays: true): Map<Key, Value[]>;
26
+ export declare function toMap<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value): Map<KeyedValue<Item, Key>, KeyedValue<Item, Value>>;
27
+ /**
28
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
29
+ */
30
+ export declare function toMap<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Map<KeyedValue<Item, Key>, Array<KeyedValue<Item, Value>>>;
31
+ /**
32
+ * Create a map from an array of items using a specific key and value
33
+ */
34
+ export declare function toMap<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Map<KeyedValue<Item, Key>, ReturnType<Value>>;
35
+ /**
36
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
37
+ */
38
+ export declare function toMap<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Map<KeyedValue<Item, Key>, Array<ReturnType<Value>>>;
39
+ /**
40
+ * Create a map from an array of items using a specific key and value
41
+ */
42
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value): Map<ReturnType<Key>, KeyedValue<Item, Value>>;
43
+ /**
44
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
45
+ */
46
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Map<ReturnType<Key>, Array<KeyedValue<Item, Value>>>;
47
+ /**
48
+ * Create a map from an array of items using a specific key and value
49
+ */
50
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Map<ReturnType<Key>, ReturnType<Value>>;
51
+ /**
52
+ * Create a map from an array of items using a specific key and value, and grouping them into arrays
53
+ */
54
+ export declare function toMap<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Map<ReturnType<Key>, Array<ReturnType<Value>>>;
@@ -1,37 +1,61 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
+ export type KeyedValue<Item, Key extends keyof Item> = Item[Key] extends PropertyKey ? Item[Key] : never;
3
4
  export type Key = number | string;
4
- export type ArrayCallback<Value, Returned> = (value: Value, index: number, array: Value[]) => Returned;
5
- export type KeyCallback<Value> = ArrayCallback<Value, Key>;
5
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ export type ValueCallback<Item> = ArrayCallback<Item, unknown>;
6
8
  /**
7
- * Converts an array into a record, using indices as keys
9
+ * Create a record from an array of items _(using their indices as keys)_
8
10
  */
9
- export declare function toRecord<Value>(array: Value[]): Record<number, Value>;
11
+ export declare function toRecord<Item>(array: Item[]): Record<number, Item>;
10
12
  /**
11
- * Converts an array into a record, using indices as keys and grouping values into arrays
13
+ * Create a record from an array of items using a specific key
12
14
  */
13
- export declare function toRecord<Value>(array: Value[], arrays: true): Record<number, Value[]>;
15
+ export declare function toRecord<Item, Key extends keyof Item>(array: Item[], key: Key): Record<KeyedValue<Item, Key>, Item>;
14
16
  /**
15
- * - Converts an array into a record
16
- * - Uses `key` to find an identifcation value to use as keys
17
+ * Create a record from an array of items using a specific key, and grouping them into arrays
17
18
  */
18
- export declare function toRecord<Value>(array: Value[], key: Key): Record<Key, Value>;
19
+ export declare function toRecord<Item, Key extends keyof Item>(array: Item[], key: Key, arrays: true): Record<KeyedValue<Item, Key>, Item[]>;
19
20
  /**
20
- * - Converts an array into a record
21
- * - Uses `key` to find an identifcation value to use as keys
22
- * - Groups values into arrays
21
+ * Create a record from an array of items using a specific key
23
22
  */
24
- export declare function toRecord<Value>(array: Value[], key: Key, arrays: true): Record<Key, Value[]>;
23
+ export declare function toRecord<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Record<ReturnType<Key>, Item>;
25
24
  /**
26
- * - Converts an array into a record
27
- * - Uses `key` to find an identifcation value to use as keys
25
+ * Create a record from an array of items using a specific key, and grouping them into arrays
28
26
  */
29
- export declare function toRecord<Value>(array: Value[], key: KeyCallback<Value>): Record<Key, Value>;
27
+ export declare function toRecord<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, arrays: true): Record<ReturnType<Key>, Item[]>;
30
28
  /**
31
- * - Converts an array into a record
32
- * - Uses `key` to find an identifcation value to use as keys
33
- * - Groups values into arrays
29
+ * Create a record from an array of items using a specific key and value
34
30
  */
35
- export declare function toRecord<Value>(array: Value[], key: KeyCallback<Value>, arrays: true): Record<Key, Value[]>;
31
+ export declare function toRecord<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, KeyedValue<Item, Value>>;
32
+ /**
33
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
34
+ */
35
+ export declare function toRecord<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Record<KeyedValue<Item, Key>, Array<KeyedValue<Item, Value>>>;
36
+ /**
37
+ * Create a record from an array of items using a specific key and value
38
+ */
39
+ export declare function toRecord<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, ReturnType<Value>>;
40
+ /**
41
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
42
+ */
43
+ export declare function toRecord<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<KeyedValue<Item, Key>, Array<ReturnType<Value>>>;
44
+ /**
45
+ * Create a record from an array of items using a specific key and value
46
+ */
47
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, KeyedValue<Item, Value>>;
48
+ /**
49
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
50
+ */
51
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<KeyedValue<Item, Value>>>;
52
+ /**
53
+ * Create a record from an array of items using a specific key and value
54
+ */
55
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, ReturnType<Value>>;
56
+ /**
57
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
58
+ */
59
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<ReturnType<Value>>>;
36
60
 
37
61
  export {};
@@ -1,32 +1,54 @@
1
- import type { KeyCallback } from '@/array/models';
2
- import type { Key } from '@/models';
1
+ import type { KeyCallback, ValueCallback } from '~/array/models';
2
+ import type { KeyedValue } from '~/models';
3
3
  /**
4
- * Converts an array into a record, using indices as keys
4
+ * Create a record from an array of items _(using their indices as keys)_
5
5
  */
6
- export declare function toRecord<Value>(array: Value[]): Record<number, Value>;
6
+ export declare function toRecord<Item>(array: Item[]): Record<number, Item>;
7
7
  /**
8
- * Converts an array into a record, using indices as keys and grouping values into arrays
8
+ * Create a record from an array of items using a specific key
9
9
  */
10
- export declare function toRecord<Value>(array: Value[], arrays: true): Record<number, Value[]>;
10
+ export declare function toRecord<Item, Key extends keyof Item>(array: Item[], key: Key): Record<KeyedValue<Item, Key>, Item>;
11
11
  /**
12
- * - Converts an array into a record
13
- * - Uses `key` to find an identifcation value to use as keys
12
+ * Create a record from an array of items using a specific key, and grouping them into arrays
14
13
  */
15
- export declare function toRecord<Value>(array: Value[], key: Key): Record<Key, Value>;
14
+ export declare function toRecord<Item, Key extends keyof Item>(array: Item[], key: Key, arrays: true): Record<KeyedValue<Item, Key>, Item[]>;
16
15
  /**
17
- * - Converts an array into a record
18
- * - Uses `key` to find an identifcation value to use as keys
19
- * - Groups values into arrays
16
+ * Create a record from an array of items using a specific key
20
17
  */
21
- export declare function toRecord<Value>(array: Value[], key: Key, arrays: true): Record<Key, Value[]>;
18
+ export declare function toRecord<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Record<ReturnType<Key>, Item>;
22
19
  /**
23
- * - Converts an array into a record
24
- * - Uses `key` to find an identifcation value to use as keys
20
+ * Create a record from an array of items using a specific key, and grouping them into arrays
25
21
  */
26
- export declare function toRecord<Value>(array: Value[], key: KeyCallback<Value>): Record<Key, Value>;
22
+ export declare function toRecord<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, arrays: true): Record<ReturnType<Key>, Item[]>;
27
23
  /**
28
- * - Converts an array into a record
29
- * - Uses `key` to find an identifcation value to use as keys
30
- * - Groups values into arrays
24
+ * Create a record from an array of items using a specific key and value
31
25
  */
32
- export declare function toRecord<Value>(array: Value[], key: KeyCallback<Value>, arrays: true): Record<Key, Value[]>;
26
+ export declare function toRecord<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, KeyedValue<Item, Value>>;
27
+ /**
28
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
29
+ */
30
+ export declare function toRecord<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Record<KeyedValue<Item, Key>, Array<KeyedValue<Item, Value>>>;
31
+ /**
32
+ * Create a record from an array of items using a specific key and value
33
+ */
34
+ export declare function toRecord<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, ReturnType<Value>>;
35
+ /**
36
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
37
+ */
38
+ export declare function toRecord<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<KeyedValue<Item, Key>, Array<ReturnType<Value>>>;
39
+ /**
40
+ * Create a record from an array of items using a specific key and value
41
+ */
42
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, KeyedValue<Item, Value>>;
43
+ /**
44
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
45
+ */
46
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<KeyedValue<Item, Value>>>;
47
+ /**
48
+ * Create a record from an array of items using a specific key and value
49
+ */
50
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, ReturnType<Value>>;
51
+ /**
52
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
53
+ */
54
+ export declare function toRecord<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<ReturnType<Value>>>;
@@ -1,16 +1,21 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
3
  export type Key = number | string;
4
- export type ArrayCallback<Value, Returned> = (value: Value, index: number, array: Value[]) => Returned;
5
- export type KeyCallback<Value> = ArrayCallback<Value, Key>;
4
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
5
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
6
6
  /**
7
- * Returns an array of unique items
7
+ * Get an array of unique items
8
8
  */
9
- export declare function unique<Value>(array: Value[]): Value[];
9
+ export declare function unique<Item>(array: Item[]): Item[];
10
10
  /**
11
- * - Returns an array of unique items
11
+ * - Get an array of unique items
12
12
  * - Use `key` to find a comparison value to match with `value`
13
13
  */
14
- export declare function unique<Value>(array: Value[], key: Key | KeyCallback<Value>): Value[];
14
+ export declare function unique<Item, Key extends keyof Item>(array: Item[], key: Key): Item[];
15
+ /**
16
+ * - Get an array of unique items
17
+ * - Use `key` to find a comparison value to match with `value`
18
+ */
19
+ export declare function unique<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Item[];
15
20
 
16
21
  export {};
@@ -1,11 +1,15 @@
1
- import type { KeyCallback } from '@/array/models';
2
- import type { Key } from '@/models';
1
+ import type { KeyCallback } from '~/array/models';
3
2
  /**
4
- * Returns an array of unique items
3
+ * Get an array of unique items
5
4
  */
6
- export declare function unique<Value>(array: Value[]): Value[];
5
+ export declare function unique<Item>(array: Item[]): Item[];
7
6
  /**
8
- * - Returns an array of unique items
7
+ * - Get an array of unique items
9
8
  * - Use `key` to find a comparison value to match with `value`
10
9
  */
11
- export declare function unique<Value>(array: Value[], key: Key | KeyCallback<Value>): Value[];
10
+ export declare function unique<Item, Key extends keyof Item>(array: Item[], key: Key): Item[];
11
+ /**
12
+ * - Get an array of unique items
13
+ * - Use `key` to find a comparison value to match with `value`
14
+ */
15
+ export declare function unique<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Item[];
@@ -7,35 +7,41 @@ export type HSLColourValue = {
7
7
  };
8
8
  declare class HSLColour extends Colour<HSLColourValue> {
9
9
  /**
10
- * Gets the current hue
10
+ * Get the current hue
11
11
  */
12
12
  get hue(): number;
13
13
  /**
14
- * Sets the current hue
14
+ * Set the current hue
15
15
  */
16
16
  set hue(value: number);
17
17
  /**
18
- * Gets the current lightness
18
+ * Get the current lightness
19
19
  */
20
20
  get lightness(): number;
21
21
  /**
22
- * Sets the current lightness
22
+ * Set the current lightness
23
23
  */
24
24
  set lightness(value: number);
25
25
  /**
26
- * Gets the current saturation
26
+ * Get the current saturation
27
27
  */
28
28
  get saturation(): number;
29
29
  /**
30
- * Sets the current saturation
30
+ * Set the current saturation
31
31
  */
32
32
  set saturation(value: number);
33
33
  constructor(value: HSLColourValue);
34
+ /**
35
+ * @inheritdoc
36
+ */
34
37
  toHex(): HexColour;
35
38
  /**
36
- * Converts the colour to an RGB-colour
39
+ * Convert the colour to an RGB-colour
37
40
  */
38
41
  toRgb(): RGBColour;
42
+ /**
43
+ * @inheritdoc
44
+ */
39
45
  toString(): string;
40
46
  /**
41
47
  * Convert an HSL-colour to an RGB-colour
@@ -46,11 +52,11 @@ declare class HexColour {
46
52
  private readonly $colour;
47
53
  private readonly state;
48
54
  /**
49
- * Gets the value of the colour
55
+ * Get the value of the colour
50
56
  */
51
57
  get value(): string;
52
58
  /**
53
- * Sets the value of the colour
59
+ * Set the value of the colour
54
60
  */
55
61
  set value(value: string);
56
62
  constructor(value: string);
@@ -75,7 +81,7 @@ export declare abstract class Colour<Model> {
75
81
  private readonly $colour;
76
82
  protected readonly state: ColourState<Model>;
77
83
  /**
78
- * Gets the current value of the colour
84
+ * Get the current value of the colour
79
85
  */
80
86
  get value(): Model;
81
87
  constructor(type: string, value: Model, defaults: Model, properties: Array<keyof Model>);
@@ -98,35 +104,41 @@ export type RGBColourValue = {
98
104
  };
99
105
  declare class RGBColour extends Colour<RGBColourValue> {
100
106
  /**
101
- * Gets the current blue value
107
+ * Get the current blue value
102
108
  */
103
109
  get blue(): number;
104
110
  /**
105
- * Sets the current blue value
111
+ * Set the current blue value
106
112
  */
107
113
  set blue(value: number);
108
114
  /**
109
- * Gets the current green value
115
+ * Get the current green value
110
116
  */
111
117
  get green(): number;
112
118
  /**
113
- * Sets the current green value
119
+ * Set the current green value
114
120
  */
115
121
  set green(value: number);
116
122
  /**
117
- * Gets the current red value
123
+ * Get the current red value
118
124
  */
119
125
  get red(): number;
120
126
  /**
121
- * Sets the current red value
127
+ * Set the current red value
122
128
  */
123
129
  set red(value: number);
124
130
  constructor(value: RGBColourValue);
131
+ /**
132
+ * @inheritdoc
133
+ */
125
134
  toHex(): HexColour;
126
135
  /**
127
136
  * Convert the colour to an HSL-colour
128
137
  */
129
138
  toHsl(): HSLColour;
139
+ /**
140
+ * @inheritdoc
141
+ */
130
142
  toString(): string;
131
143
  /**
132
144
  * Convert an RGB-colour to a hex-colour
@@ -1,9 +1,9 @@
1
- import type { HexColour } from '@/colour/hex';
1
+ import type { HexColour } from '~/colour/hex';
2
2
  export declare abstract class Colour<Model> {
3
3
  private readonly $colour;
4
4
  protected readonly state: ColourState<Model>;
5
5
  /**
6
- * Gets the current value of the colour
6
+ * Get the current value of the colour
7
7
  */
8
8
  get value(): Model;
9
9
  constructor(type: string, value: Model, defaults: Model, properties: Array<keyof Model>);