@oscarpalmer/atoms 0.74.1 → 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 (282) hide show
  1. package/dist/js/array/chunk.cjs +18 -0
  2. package/dist/js/array/{chunk.mjs → chunk.js} +2 -2
  3. package/dist/js/array/compact.cjs +6 -0
  4. package/dist/js/array/{compact.mjs → compact.js} +0 -1
  5. package/dist/js/array/count.cjs +14 -0
  6. package/dist/js/array/count.js +14 -0
  7. package/dist/js/array/exists.cjs +14 -0
  8. package/dist/js/array/exists.js +14 -0
  9. package/dist/js/array/filter.cjs +14 -0
  10. package/dist/js/array/filter.js +14 -0
  11. package/dist/js/array/find.cjs +14 -0
  12. package/dist/js/array/find.js +14 -0
  13. package/dist/js/array/group-by.cjs +35 -0
  14. package/dist/js/array/group-by.js +35 -0
  15. package/dist/js/array/index-of.cjs +14 -0
  16. package/dist/js/array/index-of.js +14 -0
  17. package/dist/js/array/index.cjs +40 -0
  18. package/dist/js/array/index.js +34 -381
  19. package/dist/js/array/insert.cjs +31 -0
  20. package/dist/js/array/insert.js +31 -0
  21. package/dist/js/array/models.cjs +1 -0
  22. package/dist/js/array/models.js +1 -0
  23. package/dist/js/array/shuffle.cjs +13 -0
  24. package/dist/js/array/{shuffle.mjs → shuffle.js} +2 -3
  25. package/dist/js/array/sort.cjs +53 -0
  26. package/dist/js/array/{sort.mjs → sort.js} +13 -9
  27. package/dist/js/array/splice.cjs +14 -0
  28. package/dist/js/array/splice.js +14 -0
  29. package/dist/js/array/to-map.cjs +27 -0
  30. package/dist/js/array/to-map.js +27 -0
  31. package/dist/js/array/to-record.cjs +12 -0
  32. package/dist/js/array/to-record.js +12 -0
  33. package/dist/js/array/unique.cjs +7 -0
  34. package/dist/js/array/unique.js +7 -0
  35. package/dist/js/colour/base.cjs +18 -0
  36. package/dist/js/colour/{base.mjs → base.js} +4 -3
  37. package/dist/js/colour/functions.cjs +96 -0
  38. package/dist/js/colour/{functions.mjs → functions.js} +18 -19
  39. package/dist/js/colour/hex.cjs +56 -0
  40. package/dist/js/colour/{hex.mjs → hex.js} +34 -15
  41. package/dist/js/colour/hsl.cjs +85 -0
  42. package/dist/js/colour/{hsl.mjs → hsl.js} +40 -12
  43. package/dist/js/colour/index.cjs +29 -0
  44. package/dist/js/colour/index.js +14 -272
  45. package/dist/js/colour/is.cjs +27 -0
  46. package/dist/js/colour/{is.mjs → is.js} +7 -6
  47. package/dist/js/colour/rgb.cjs +87 -0
  48. package/dist/js/colour/{rgb.mjs → rgb.js} +43 -12
  49. package/dist/js/{emitter.mjs → emitter.cjs} +88 -56
  50. package/dist/js/emitter.js +85 -56
  51. package/dist/js/{function.mjs → function.cjs} +66 -46
  52. package/dist/js/function.js +61 -48
  53. package/dist/js/index.cjs +136 -0
  54. package/dist/js/index.js +133 -1724
  55. package/dist/js/internal/array/callbacks.cjs +23 -0
  56. package/dist/js/internal/array/callbacks.js +23 -0
  57. package/dist/js/internal/array/find.cjs +51 -0
  58. package/dist/js/internal/array/find.js +51 -0
  59. package/dist/js/internal/value/handle.cjs +21 -0
  60. package/dist/js/internal/{value-handle.mjs → value/handle.js} +0 -1
  61. package/dist/js/{is.mjs → is.cjs} +17 -18
  62. package/dist/js/is.js +15 -27
  63. package/dist/js/logger.cjs +108 -0
  64. package/dist/js/logger.js +44 -8
  65. package/dist/js/{math.mjs → math.cjs} +7 -8
  66. package/dist/js/math.js +4 -5
  67. package/dist/js/models.cjs +1 -0
  68. package/dist/js/models.js +1 -0
  69. package/dist/js/{number.mjs → number.cjs} +8 -8
  70. package/dist/js/number.js +5 -5
  71. package/dist/js/{query.mjs → query.cjs} +18 -18
  72. package/dist/js/query.js +17 -86
  73. package/dist/js/{queue.mjs → queue.cjs} +12 -13
  74. package/dist/js/queue.js +9 -10
  75. package/dist/js/{random.mjs → random.cjs} +14 -21
  76. package/dist/js/random.js +9 -26
  77. package/dist/js/{sized.mjs → sized.cjs} +68 -33
  78. package/dist/js/sized.js +66 -38
  79. package/dist/js/string/case.cjs +41 -0
  80. package/dist/js/string/{case.mjs → case.js} +13 -9
  81. package/dist/js/string/index.cjs +59 -0
  82. package/dist/js/string/index.js +30 -100
  83. package/dist/js/string/template.cjs +21 -0
  84. package/dist/js/string/{template.mjs → template.js} +4 -5
  85. package/dist/js/{touch.mjs → touch.cjs} +4 -7
  86. package/dist/js/touch.js +3 -5
  87. package/dist/js/value/clone.cjs +76 -0
  88. package/dist/js/value/{clone.mjs → clone.js} +5 -6
  89. package/dist/js/value/compare.cjs +59 -0
  90. package/dist/js/value/{compare.mjs → compare.js} +4 -6
  91. package/dist/js/value/diff.cjs +75 -0
  92. package/dist/js/value/{diff.mjs → diff.js} +13 -11
  93. package/dist/js/value/equal.cjs +106 -0
  94. package/dist/js/value/{equal.mjs → equal.js} +13 -8
  95. package/dist/js/value/get.cjs +21 -0
  96. package/dist/js/value/{get.mjs → get.js} +9 -4
  97. package/dist/js/value/index.cjs +30 -0
  98. package/dist/js/value/index.js +19 -510
  99. package/dist/js/value/merge.cjs +35 -0
  100. package/dist/js/value/{merge.mjs → merge.js} +7 -6
  101. package/dist/js/value/set.cjs +25 -0
  102. package/dist/js/value/{set.mjs → set.js} +3 -4
  103. package/dist/js/value/smush.cjs +26 -0
  104. package/dist/js/value/{smush.mjs → smush.js} +3 -4
  105. package/dist/js/value/unsmush.cjs +39 -0
  106. package/dist/js/value/{unsmush.mjs → unsmush.js} +10 -7
  107. package/package.json +50 -47
  108. package/src/js/array/chunk.ts +6 -5
  109. package/src/js/array/compact.ts +8 -10
  110. package/src/js/array/count.ts +39 -19
  111. package/src/js/array/exists.ts +39 -15
  112. package/src/js/array/filter.ts +42 -20
  113. package/src/js/array/find.ts +45 -20
  114. package/src/js/array/group-by.ts +158 -27
  115. package/src/js/array/index-of.ts +40 -18
  116. package/src/js/array/index.ts +10 -9
  117. package/src/js/array/insert.ts +28 -14
  118. package/src/js/array/models.ts +18 -15
  119. package/src/js/array/shuffle.ts +3 -3
  120. package/src/js/array/sort.ts +32 -34
  121. package/src/js/array/splice.ts +22 -26
  122. package/src/js/array/to-map.ts +133 -45
  123. package/src/js/array/to-record.ts +137 -39
  124. package/src/js/array/unique.ts +20 -15
  125. package/src/js/colour/base.ts +3 -3
  126. package/src/js/colour/functions.ts +4 -6
  127. package/src/js/colour/hex.ts +5 -5
  128. package/src/js/colour/hsl.ts +18 -12
  129. package/src/js/colour/index.ts +1 -1
  130. package/src/js/colour/is.ts +3 -3
  131. package/src/js/colour/rgb.ts +17 -11
  132. package/src/js/emitter.ts +12 -9
  133. package/src/js/function.ts +17 -17
  134. package/src/js/index.ts +16 -16
  135. package/src/js/internal/array/callbacks.ts +33 -0
  136. package/src/js/internal/{array-find.ts → array/find.ts} +23 -24
  137. package/src/js/internal/{value-handle.ts → value/handle.ts} +1 -1
  138. package/src/js/is.ts +2 -2
  139. package/src/js/logger.ts +14 -14
  140. package/src/js/math.ts +1 -1
  141. package/src/js/models.ts +5 -5
  142. package/src/js/number.ts +2 -2
  143. package/src/js/query.ts +6 -10
  144. package/src/js/queue.ts +1 -1
  145. package/src/js/random.ts +9 -19
  146. package/src/js/sized.ts +145 -145
  147. package/src/js/string/case.ts +1 -1
  148. package/src/js/string/index.ts +13 -7
  149. package/src/js/string/template.ts +6 -3
  150. package/src/js/value/clone.ts +3 -7
  151. package/src/js/value/compare.ts +3 -5
  152. package/src/js/value/diff.ts +4 -4
  153. package/src/js/value/equal.ts +2 -2
  154. package/src/js/value/get.ts +3 -3
  155. package/src/js/value/index.ts +2 -2
  156. package/src/js/value/merge.ts +3 -3
  157. package/src/js/value/set.ts +3 -4
  158. package/src/js/value/smush.ts +4 -4
  159. package/src/js/value/unsmush.ts +4 -4
  160. package/types/array/chunk.d.cts +8 -0
  161. package/types/array/chunk.d.ts +2 -2
  162. package/types/array/compact.d.cts +12 -0
  163. package/types/array/compact.d.ts +4 -4
  164. package/types/array/count.d.cts +24 -0
  165. package/types/array/count.d.ts +13 -7
  166. package/types/array/exists.d.cts +26 -0
  167. package/types/array/exists.d.ts +11 -3
  168. package/types/array/filter.d.cts +26 -0
  169. package/types/array/filter.d.ts +14 -6
  170. package/types/array/find.d.cts +26 -0
  171. package/types/array/find.d.ts +14 -6
  172. package/types/array/group-by.d.cts +58 -0
  173. package/types/array/group-by.d.ts +49 -5
  174. package/types/array/index-of.d.cts +26 -0
  175. package/types/array/index-of.d.ts +14 -6
  176. package/types/array/index.d.cts +239 -95
  177. package/types/array/index.d.ts +7 -6
  178. package/types/array/insert.d.cts +16 -0
  179. package/types/array/insert.d.ts +10 -5
  180. package/types/array/models.d.cts +14 -11
  181. package/types/array/models.d.ts +14 -12
  182. package/types/array/shuffle.d.cts +8 -0
  183. package/types/array/shuffle.d.ts +2 -2
  184. package/types/array/sort.d.cts +24 -0
  185. package/types/array/sort.d.ts +10 -10
  186. package/types/array/splice.d.cts +22 -0
  187. package/types/array/splice.d.ts +4 -4
  188. package/types/array/to-map.d.cts +61 -0
  189. package/types/array/to-map.d.ts +42 -20
  190. package/types/array/to-record.d.cts +61 -0
  191. package/types/array/to-record.d.ts +42 -20
  192. package/types/array/unique.d.cts +21 -0
  193. package/types/array/unique.d.ts +10 -6
  194. package/types/colour/base.d.cts +153 -0
  195. package/types/colour/base.d.ts +2 -2
  196. package/types/colour/functions.d.cts +173 -0
  197. package/types/colour/functions.d.ts +3 -3
  198. package/types/colour/hex.d.cts +157 -0
  199. package/types/colour/hex.d.ts +4 -4
  200. package/types/colour/hsl.d.cts +157 -0
  201. package/types/colour/hsl.d.ts +16 -10
  202. package/types/colour/index.d.cts +28 -16
  203. package/types/colour/index.d.ts +1 -1
  204. package/types/colour/is.d.cts +170 -0
  205. package/types/colour/is.d.ts +3 -3
  206. package/types/colour/rgb.d.cts +157 -0
  207. package/types/colour/rgb.d.ts +15 -9
  208. package/types/emitter.d.cts +11 -8
  209. package/types/emitter.d.ts +11 -8
  210. package/types/function.d.cts +10 -10
  211. package/types/function.d.ts +11 -11
  212. package/types/index.d.cts +1120 -736
  213. package/types/index.d.ts +16 -16
  214. package/types/internal/array/callbacks.d.cts +11 -0
  215. package/types/internal/array/callbacks.d.ts +2 -0
  216. package/types/internal/array/find.d.cts +7 -0
  217. package/types/internal/array/find.d.ts +3 -0
  218. package/types/internal/value/handle.d.cts +37 -0
  219. package/types/internal/{value-handle.d.ts → value/handle.d.ts} +1 -1
  220. package/types/is.d.ts +1 -1
  221. package/types/logger.d.cts +13 -21
  222. package/types/logger.d.ts +13 -21
  223. package/types/math.d.cts +1 -1
  224. package/types/math.d.ts +1 -1
  225. package/types/models.d.cts +4 -4
  226. package/types/models.d.ts +1 -4
  227. package/types/number.d.cts +2 -2
  228. package/types/number.d.ts +2 -2
  229. package/types/query.d.cts +2 -2
  230. package/types/query.d.ts +3 -3
  231. package/types/queue.d.cts +1 -1
  232. package/types/queue.d.ts +1 -1
  233. package/types/random.d.cts +8 -12
  234. package/types/random.d.ts +8 -12
  235. package/types/sized.d.cts +6 -6
  236. package/types/sized.d.ts +6 -6
  237. package/types/string/case.d.cts +28 -0
  238. package/types/string/index.d.cts +30 -27
  239. package/types/string/index.d.ts +3 -3
  240. package/types/string/template.d.cts +50 -0
  241. package/types/string/template.d.ts +4 -1
  242. package/types/value/clone.d.cts +8 -0
  243. package/types/value/clone.d.ts +4 -2
  244. package/types/value/compare.d.cts +8 -0
  245. package/types/value/diff.d.cts +25 -0
  246. package/types/value/equal.d.cts +12 -0
  247. package/types/value/get.d.cts +1319 -0
  248. package/types/value/get.d.ts +1 -1
  249. package/types/value/index.d.cts +8 -6
  250. package/types/value/index.d.ts +2 -2
  251. package/types/value/merge.d.cts +72 -0
  252. package/types/value/merge.d.ts +2 -2
  253. package/types/value/set.d.cts +1011 -0
  254. package/types/value/set.d.ts +1 -1
  255. package/types/value/smush.d.cts +1368 -0
  256. package/types/value/smush.d.ts +2 -2
  257. package/types/value/unsmush.d.cts +141 -0
  258. package/types/value/unsmush.d.ts +2 -2
  259. package/dist/js/array/count.mjs +0 -8
  260. package/dist/js/array/exists.mjs +0 -8
  261. package/dist/js/array/filter.mjs +0 -8
  262. package/dist/js/array/find.mjs +0 -8
  263. package/dist/js/array/group-by.mjs +0 -33
  264. package/dist/js/array/index-of.mjs +0 -8
  265. package/dist/js/array/index.mjs +0 -34
  266. package/dist/js/array/insert.mjs +0 -22
  267. package/dist/js/array/models.mjs +0 -0
  268. package/dist/js/array/splice.mjs +0 -9
  269. package/dist/js/array/to-map.mjs +0 -27
  270. package/dist/js/array/to-record.mjs +0 -8
  271. package/dist/js/array/unique.mjs +0 -8
  272. package/dist/js/colour/index.mjs +0 -30
  273. package/dist/js/index.mjs +0 -17
  274. package/dist/js/internal/array-callbacks.mjs +0 -19
  275. package/dist/js/internal/array-find.mjs +0 -51
  276. package/dist/js/logger.mjs +0 -69
  277. package/dist/js/models.mjs +0 -0
  278. package/dist/js/string/index.mjs +0 -44
  279. package/dist/js/value/index.mjs +0 -23
  280. package/src/js/internal/array-callbacks.ts +0 -28
  281. package/types/internal/array-callbacks.d.ts +0 -2
  282. package/types/internal/array-find.d.ts +0 -4
@@ -1,5 +1,5 @@
1
- import {isArrayOrPlainObject} from '../is';
2
- import type {ArrayOrPlainObject, PlainObject} from '../models';
1
+ import {isArrayOrPlainObject} from '~/is';
2
+ import type {ArrayOrPlainObject, PlainObject} from '~/models';
3
3
 
4
4
  type MergeOptions = {
5
5
  /**
@@ -10,7 +10,7 @@ type MergeOptions = {
10
10
  };
11
11
 
12
12
  /**
13
- * Merges multiple arrays or objects into a single one
13
+ * Merge multiple arrays or objects into a single one
14
14
  */
15
15
  export function merge<Model extends ArrayOrPlainObject>(
16
16
  values: Model[],
@@ -1,5 +1,5 @@
1
- import {handleValue} from '../internal/value-handle';
2
- import type {Paths, PlainObject} from '../models';
1
+ import {handleValue} from '~/internal/value/handle';
2
+ import type {Paths, PlainObject} from '~/models';
3
3
 
4
4
  /**
5
5
  * - Set the value in an object using a known path
@@ -38,8 +38,7 @@ export function setValue<Data extends PlainObject>(
38
38
  const {length} = parts;
39
39
  const lastIndex = length - 1;
40
40
 
41
- let target: PlainObject =
42
- typeof data === 'object' && data !== null ? data : {};
41
+ let target: PlainObject = data;
43
42
 
44
43
  for (let index = 0; index < length; index += 1) {
45
44
  const part = parts[index];
@@ -1,8 +1,8 @@
1
1
  import type {Get, Paths, Simplify} from 'type-fest';
2
2
  import type {ToString} from 'type-fest/source/internal/string';
3
- import {isArrayOrPlainObject} from '../is';
4
- import type {ArrayOrPlainObject, PlainObject} from '../models';
5
- import {join} from '../string';
3
+ import {isArrayOrPlainObject} from '~/is';
4
+ import type {ArrayOrPlainObject, PlainObject} from '~/models';
5
+ import {join} from '~/string/index';
6
6
 
7
7
  type Smushed<Value> = Simplify<{
8
8
  [Key in Paths<Value>]: Get<Value, ToString<Key>>;
@@ -31,7 +31,7 @@ function flatten(value: ArrayOrPlainObject, prefix?: string): PlainObject {
31
31
  }
32
32
 
33
33
  /**
34
- * Smushes an object into a flat object with dot notation keys
34
+ * Smush an object into a flat object that uses dot notation keys
35
35
  */
36
36
  export function smush<Value extends PlainObject>(value: Value): Smushed<Value> {
37
37
  return flatten(value) as never;
@@ -1,7 +1,7 @@
1
1
  import type {KeysOfUnion, Simplify} from 'type-fest';
2
- import {isArrayOrPlainObject} from '../is';
3
- import type {PlainObject} from '../models';
4
- import {setValue} from './set';
2
+ import {isArrayOrPlainObject} from '~/is';
3
+ import type {PlainObject} from '~/models';
4
+ import {setValue} from '~/value/set';
5
5
 
6
6
  type Unsmushed<Value extends PlainObject> = Simplify<
7
7
  Omit<
@@ -32,7 +32,7 @@ function getKeyGroups(value: PlainObject): string[][] {
32
32
  }
33
33
 
34
34
  /**
35
- * Unsmushes a smushed object _(turning dot notation keys into nested keys)_
35
+ * Unsmush a smushed object _(turning dot notation keys into nested keys)_
36
36
  */
37
37
  export function unsmush<Value extends PlainObject>(
38
38
  value: Value,
@@ -0,0 +1,8 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ /**
4
+ * Chunk an array _(into smaller arrays of a specified size)_
5
+ */
6
+ export declare function chunk<Item>(array: Item[], size?: number): Item[][];
7
+
8
+ export {};
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Chunks an array into smaller arrays of a specified size
2
+ * Chunk an array _(into smaller arrays of a specified size)_
3
3
  */
4
- export declare function chunk<Value>(array: Value[], size?: number): Value[][];
4
+ export declare function chunk<Item>(array: Item[], size?: number): Item[][];
@@ -0,0 +1,12 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ /**
4
+ * Compact an array _(removing all `null` and `undefined` values)_
5
+ */
6
+ export declare function compact<Item>(array: Item[]): Exclude<Item, null | undefined>[];
7
+ /**
8
+ * Compact an array _(removing all falsey values)_
9
+ */
10
+ export declare function compact<Item>(array: Item[], strict: true): Exclude<Item, 0 | "" | false | null | undefined>[];
11
+
12
+ export {};
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Compacts and returns an array with all falsey values removed
2
+ * Compact an array _(removing all `null` and `undefined` values)_
3
3
  */
4
- export declare function compact<Value>(array: Value[], strict: true): Exclude<Value, 0 | '' | false | null | undefined>[];
4
+ export declare function compact<Item>(array: Item[]): Exclude<Item, null | undefined>[];
5
5
  /**
6
- * Compacts and returns an array with all `null` and `undefined` values removed
6
+ * Compact an array _(removing all falsey values)_
7
7
  */
8
- export declare function compact<Value>(array: Value[]): Exclude<Value, null | undefined>[];
8
+ export declare function compact<Item>(array: Item[], strict: true): Exclude<Item, 0 | '' | false | null | undefined>[];
@@ -0,0 +1,24 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export type Key = number | string;
4
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
5
+ export type BooleanCallback<Item> = ArrayCallback<Item, boolean>;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ /**
8
+ * Get the number of items _(count)_ that match the given value
9
+ */
10
+ export declare function count<Item>(array: Item[], value: Item): number;
11
+ /**
12
+ * Get the number of items _(count)_ that match the given value
13
+ */
14
+ export declare function count<Item>(array: Item[], matches: BooleanCallback<Item>): number;
15
+ /**
16
+ * Get the number of items _(count)_ that match the given value
17
+ */
18
+ export declare function count<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): number;
19
+ /**
20
+ * Get the number of items _(count)_ that match the given value
21
+ */
22
+ export declare function count<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): number;
23
+
24
+ export {};
@@ -1,11 +1,17 @@
1
- import type { Key } from '../models';
2
- import type { BooleanCallback, KeyCallback } from './models';
1
+ import type { BooleanCallback, KeyCallback } from '~/array/models';
3
2
  /**
4
- * Returns the number of items _(count)_ that match the given value
3
+ * Get the number of items _(count)_ that match the given value
5
4
  */
6
- export declare function count<Model, Value>(array: Model[], value: Value | BooleanCallback<Model>): number;
5
+ export declare function count<Item>(array: Item[], value: Item): number;
7
6
  /**
8
- * - Returns the number of items _(count)_ that match the given value
9
- * - Use `key` to find a comparison value to match with `value`
7
+ * Get the number of items _(count)_ that match the given value
10
8
  */
11
- export declare function count<Model, Value = Model>(array: Model[], value: Value, key: Key | KeyCallback<Model>): number;
9
+ export declare function count<Item>(array: Item[], matches: BooleanCallback<Item>): number;
10
+ /**
11
+ * Get the number of items _(count)_ that match the given value
12
+ */
13
+ export declare function count<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): number;
14
+ /**
15
+ * Get the number of items _(count)_ that match the given value
16
+ */
17
+ export declare function count<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): number;
@@ -0,0 +1,26 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export type Key = number | string;
4
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
5
+ export type BooleanCallback<Item> = ArrayCallback<Item, boolean>;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ /**
8
+ * Does the value exist in array?
9
+ */
10
+ export declare function exists<Item>(array: Item[], value: Item): boolean;
11
+ /**
12
+ * Does the value exist in array?
13
+ */
14
+ export declare function exists<Item>(array: Item[], matches: BooleanCallback<Item>): boolean;
15
+ /**
16
+ * - Does the value exist in array?
17
+ * - Use `key` to find a comparison value to match with `value`
18
+ */
19
+ export declare function exists<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): boolean;
20
+ /**
21
+ * - Does the value exist in array?
22
+ * - Use `key` to find a comparison value to match with `value`
23
+ */
24
+ export declare function exists<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): boolean;
25
+
26
+ export {};
@@ -1,11 +1,19 @@
1
- import type { Key } from '../models';
2
1
  import type { BooleanCallback, KeyCallback } from './models';
3
2
  /**
4
3
  * Does the value exist in array?
5
4
  */
6
- export declare function exists<Model, Value>(array: Model[], value: Value | BooleanCallback<Model>): boolean;
5
+ export declare function exists<Item>(array: Item[], value: Item): boolean;
6
+ /**
7
+ * Does the value exist in array?
8
+ */
9
+ export declare function exists<Item>(array: Item[], matches: BooleanCallback<Item>): boolean;
10
+ /**
11
+ * - Does the value exist in array?
12
+ * - Use `key` to find a comparison value to match with `value`
13
+ */
14
+ export declare function exists<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): boolean;
7
15
  /**
8
16
  * - Does the value exist in array?
9
17
  * - Use `key` to find a comparison value to match with `value`
10
18
  */
11
- export declare function exists<Model, Value = Model>(array: Model[], value: Value, key: Key | KeyCallback<Model>): boolean;
19
+ export declare function exists<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): boolean;
@@ -0,0 +1,26 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export type Key = number | string;
4
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
5
+ export type BooleanCallback<Item> = ArrayCallback<Item, boolean>;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ /**
8
+ * Get a filtered array of items matching `value`
9
+ */
10
+ export declare function filter<Item>(array: Item[], value: Item): Item[];
11
+ /**
12
+ * Get a filtered array of items matching `value`
13
+ */
14
+ export declare function filter<Item>(array: Item[], matches: BooleanCallback<Item>): Item[];
15
+ /**
16
+ * - Get a filtered array of items
17
+ * - Use `key` to find a comparison value to match with `value`
18
+ */
19
+ export declare function filter<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): Item[];
20
+ /**
21
+ * - Get a filtered array of items
22
+ * - Use `key` to find a comparison value to match with `value`
23
+ */
24
+ export declare function filter<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): Item[];
25
+
26
+ export {};
@@ -1,11 +1,19 @@
1
- import type { Key } from '../models';
2
- import type { BooleanCallback, KeyCallback } from './models';
1
+ import type { BooleanCallback, KeyCallback } from '~/array/models';
3
2
  /**
4
- * Returns a filtered array of items matching `value`
3
+ * Get a filtered array of items matching `value`
5
4
  */
6
- export declare function filter<Model, Value>(array: Model[], value: Value | BooleanCallback<Model>): Model[];
5
+ export declare function filter<Item>(array: Item[], value: Item): Item[];
7
6
  /**
8
- * - Returns a filtered array of items
7
+ * Get a filtered array of items matching `value`
8
+ */
9
+ export declare function filter<Item>(array: Item[], matches: BooleanCallback<Item>): Item[];
10
+ /**
11
+ * - Get a filtered array of items
12
+ * - Use `key` to find a comparison value to match with `value`
13
+ */
14
+ export declare function filter<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): Item[];
15
+ /**
16
+ * - Get a filtered array of items
9
17
  * - Use `key` to find a comparison value to match with `value`
10
18
  */
11
- export declare function filter<Model, Value = Model>(array: Model[], value: Value, key: Key | KeyCallback<Model>): Model[];
19
+ export declare function filter<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): Item[];
@@ -0,0 +1,26 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export type Key = number | string;
4
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
5
+ export type BooleanCallback<Item> = ArrayCallback<Item, boolean>;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ /**
8
+ * Get the first item matching `value` _(or `undefined` if no match is found)_
9
+ */
10
+ export declare function find<Item>(array: Item[], value: Item): Item | undefined;
11
+ /**
12
+ * Get the first item matching `value` _(or `undefined` if no match is found)_
13
+ */
14
+ export declare function find<Item>(array: Item[], matches: BooleanCallback<Item>): Item | undefined;
15
+ /**
16
+ * - Get the first matching item _(or `undefined` if no match is found)_
17
+ * - Use `key` to find a comparison value to match with `value`
18
+ */
19
+ export declare function find<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): Item | undefined;
20
+ /**
21
+ * - Get the first matching item _(or `undefined` if no match is found)_
22
+ * - Use `key` to find a comparison value to match with `value`
23
+ */
24
+ export declare function find<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): Item | undefined;
25
+
26
+ export {};
@@ -1,11 +1,19 @@
1
- import type { Key } from '../models';
2
- import type { BooleanCallback, KeyCallback } from './models';
1
+ import type { BooleanCallback, KeyCallback } from '~/array/models';
3
2
  /**
4
- * Returns the first item matching `value`, or `undefined` if no match is found
3
+ * Get the first item matching `value` _(or `undefined` if no match is found)_
5
4
  */
6
- export declare function find<Model, Value>(array: Model[], value: Value | BooleanCallback<Model>): Model | undefined;
5
+ export declare function find<Item>(array: Item[], value: Item): Item | undefined;
7
6
  /**
8
- * - Returns the first matching item, or `undefined` if no match is found
7
+ * Get the first item matching `value` _(or `undefined` if no match is found)_
8
+ */
9
+ export declare function find<Item>(array: Item[], matches: BooleanCallback<Item>): Item | undefined;
10
+ /**
11
+ * - Get the first matching item _(or `undefined` if no match is found)_
12
+ * - Use `key` to find a comparison value to match with `value`
13
+ */
14
+ export declare function find<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): Item | undefined;
15
+ /**
16
+ * - Get the first matching item _(or `undefined` if no match is found)_
9
17
  * - Use `key` to find a comparison value to match with `value`
10
18
  */
11
- export declare function find<Model, Value = Model>(array: Model[], value: Value, key: Key | KeyCallback<Model>): Model | undefined;
19
+ export declare function find<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): Item | undefined;
@@ -0,0 +1,58 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export type KeyedValue<Item, Key extends keyof Item> = Item[Key] extends PropertyKey ? Item[Key] : never;
4
+ export type Key = number | string;
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>;
8
+ /**
9
+ * Create a record from an array of items using a specific key
10
+ */
11
+ export declare function groupBy<Item, Key extends keyof Item>(array: Item[], key: Key): Record<KeyedValue<Item, Key>, Item>;
12
+ /**
13
+ * Create a record from an array of items using a specific key, and grouping them into arrays
14
+ */
15
+ export declare function groupBy<Item, Key extends keyof Item>(array: Item[], key: Key, arrays: true): Record<KeyedValue<Item, Key>, Item[]>;
16
+ /**
17
+ * Create a record from an array of items using a specific key
18
+ */
19
+ export declare function groupBy<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Record<ReturnType<Key>, Item>;
20
+ /**
21
+ * Create a record from an array of items using a specific key, and grouping them into arrays
22
+ */
23
+ export declare function groupBy<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, arrays: true): Record<ReturnType<Key>, Item[]>;
24
+ /**
25
+ * Create a record from an array of items using a specific key and value
26
+ */
27
+ export declare function groupBy<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, KeyedValue<Item, Value>>;
28
+ /**
29
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
30
+ */
31
+ export declare function groupBy<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>>>;
32
+ /**
33
+ * Create a record from an array of items using a specific key and value
34
+ */
35
+ export declare function groupBy<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, ReturnType<Value>>;
36
+ /**
37
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
38
+ */
39
+ export declare function groupBy<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<KeyedValue<Item, Key>, Array<ReturnType<Value>>>;
40
+ /**
41
+ * Create a record from an array of items using a specific key and value
42
+ */
43
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, KeyedValue<Item, Value>>;
44
+ /**
45
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
46
+ */
47
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<KeyedValue<Item, Value>>>;
48
+ /**
49
+ * Create a record from an array of items using a specific key and value
50
+ */
51
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, ReturnType<Value>>;
52
+ /**
53
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
54
+ */
55
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<ReturnType<Value>>>;
56
+ export declare function groupValues(array: unknown[], key: unknown, value: unknown, arrays: boolean): Record<Key, unknown>;
57
+
58
+ export {};
@@ -1,7 +1,51 @@
1
- import type { Key } from '../models';
2
- import type { KeyCallback } from './models';
1
+ import type { KeyCallback, ValueCallback } from '~/array/models';
2
+ import type { Key, KeyedValue } from '~/models';
3
3
  /**
4
- * Groups an array of items using a key or callback
4
+ * Create a record from an array of items using a specific key
5
5
  */
6
- export declare function groupBy<Value>(array: Value[], key: Key | KeyCallback<Value>): Record<Key, Value[]>;
7
- export declare function groupValues<Value>(array: Value[], key: Key | KeyCallback<Value>, arrays: boolean, indicable: boolean): Record<Key, unknown>;
6
+ export declare function groupBy<Item, Key extends keyof Item>(array: Item[], key: Key): Record<KeyedValue<Item, Key>, Item>;
7
+ /**
8
+ * Create a record from an array of items using a specific key, and grouping them into arrays
9
+ */
10
+ export declare function groupBy<Item, Key extends keyof Item>(array: Item[], key: Key, arrays: true): Record<KeyedValue<Item, Key>, Item[]>;
11
+ /**
12
+ * Create a record from an array of items using a specific key
13
+ */
14
+ export declare function groupBy<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key): Record<ReturnType<Key>, Item>;
15
+ /**
16
+ * Create a record from an array of items using a specific key, and grouping them into arrays
17
+ */
18
+ export declare function groupBy<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, arrays: true): Record<ReturnType<Key>, Item[]>;
19
+ /**
20
+ * Create a record from an array of items using a specific key and value
21
+ */
22
+ export declare function groupBy<Item, Key extends keyof Item, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, KeyedValue<Item, Value>>;
23
+ /**
24
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
25
+ */
26
+ export declare function groupBy<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>>>;
27
+ /**
28
+ * Create a record from an array of items using a specific key and value
29
+ */
30
+ export declare function groupBy<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<KeyedValue<Item, Key>, ReturnType<Value>>;
31
+ /**
32
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
33
+ */
34
+ export declare function groupBy<Item, Key extends keyof Item, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<KeyedValue<Item, Key>, Array<ReturnType<Value>>>;
35
+ /**
36
+ * Create a record from an array of items using a specific key and value
37
+ */
38
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, KeyedValue<Item, Value>>;
39
+ /**
40
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
41
+ */
42
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends keyof Item>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<KeyedValue<Item, Value>>>;
43
+ /**
44
+ * Create a record from an array of items using a specific key and value
45
+ */
46
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value): Record<ReturnType<Key>, ReturnType<Value>>;
47
+ /**
48
+ * Create a record from an array of items using a specific key and value, and grouping them into arrays
49
+ */
50
+ export declare function groupBy<Item, Key extends KeyCallback<Item>, Value extends ValueCallback<Item>>(array: Item[], key: Key, value: Value, arrays: true): Record<ReturnType<Key>, Array<ReturnType<Value>>>;
51
+ export declare function groupValues(array: unknown[], key: unknown, value: unknown, arrays: boolean): Record<Key, unknown>;
@@ -0,0 +1,26 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export type Key = number | string;
4
+ export type ArrayCallback<Item, Value> = (item: Item, index: number, array: Item[]) => Value;
5
+ export type BooleanCallback<Item> = ArrayCallback<Item, boolean>;
6
+ export type KeyCallback<Item> = ArrayCallback<Item, Key>;
7
+ /**
8
+ * Get the index for the first item matching `value` _(or `-1` if no match is found)_
9
+ */
10
+ export declare function indexOf<Item>(array: Item[], value: Item): number;
11
+ /**
12
+ * Get the index for the first item matching `value` _(or `-1` if no match is found)_
13
+ */
14
+ export declare function indexOf<Item>(array: Item[], matches: BooleanCallback<Item>): number;
15
+ /**
16
+ * - Get the index for the first matching item _(or `-1` if no match is found)_
17
+ * - Use `key` to find a comparison value to match with `value`
18
+ */
19
+ export declare function indexOf<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): number;
20
+ /**
21
+ * - Get the index for the first matching item _(or `-1` if no match is found)_
22
+ * - Use `key` to find a comparison value to match with `value`
23
+ */
24
+ export declare function indexOf<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): number;
25
+
26
+ export {};
@@ -1,11 +1,19 @@
1
- import type { Key } from '../models';
2
- import type { BooleanCallback, KeyCallback } from './models';
1
+ import type { BooleanCallback, KeyCallback } from '~/array/models';
3
2
  /**
4
- * Returns the index for the first item matching `value`, or `-1` if no match is found
3
+ * Get the index for the first item matching `value` _(or `-1` if no match is found)_
5
4
  */
6
- export declare function indexOf<Model, Value>(array: Model[], value: Value | BooleanCallback<Model>): number;
5
+ export declare function indexOf<Item>(array: Item[], value: Item): number;
7
6
  /**
8
- * - Returns the index for the first matching item, or `-1` if no match is found
7
+ * Get the index for the first item matching `value` _(or `-1` if no match is found)_
8
+ */
9
+ export declare function indexOf<Item>(array: Item[], matches: BooleanCallback<Item>): number;
10
+ /**
11
+ * - Get the index for the first matching item _(or `-1` if no match is found)_
12
+ * - Use `key` to find a comparison value to match with `value`
13
+ */
14
+ export declare function indexOf<Item, Key extends keyof Item>(array: Item[], key: Key, value: Item[Key]): number;
15
+ /**
16
+ * - Get the index for the first matching item _(or `-1` if no match is found)_
9
17
  * - Use `key` to find a comparison value to match with `value`
10
18
  */
11
- export declare function indexOf<Model, Value = Model>(array: Model[], value: Value, key: Key | KeyCallback<Model>): number;
19
+ export declare function indexOf<Item, Key extends KeyCallback<Item>>(array: Item[], key: Key, value: ReturnType<Key>): number;