@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,6 +1,8 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
- export declare function clone(fn: (...args: unknown[]) => unknown): null;
4
- export declare function clone<Value>(value: Value): Value;
3
+ /**
4
+ * Clone any kind of value _(deeply, if needed)_
5
+ */
6
+ export declare function clone(value: unknown): {} | null | undefined;
5
7
 
6
8
  export {};
@@ -1,2 +1,4 @@
1
- export declare function clone(fn: (...args: unknown[]) => unknown): null;
2
- export declare function clone<Value>(value: Value): Value;
1
+ /**
2
+ * Clone any kind of value _(deeply, if needed)_
3
+ */
4
+ export declare function clone(value: unknown): {} | null | undefined;
@@ -1,5 +1,5 @@
1
- import type { Get, Paths, PlainObject } from '@/models';
2
1
  import type { ToString } from 'type-fest/source/internal/string';
2
+ import type { Get, Paths, PlainObject } from '~/models';
3
3
  /**
4
4
  * - Get the value from an object using a known path
5
5
  * - You can retrieve a nested value by using dot notation, e.g., `foo.bar.baz`
@@ -1396,8 +1396,10 @@ export type Get<
1396
1396
  > = GetWithPath<BaseType, Path extends string ? ToPath<Path> : Path, Options>;
1397
1397
  export type ArrayOrPlainObject = UnknownArray | UnknownRecord;
1398
1398
  export type PlainObject = UnknownRecord;
1399
- export declare function clone(fn: (...args: unknown[]) => unknown): null;
1400
- export declare function clone<Value>(value: Value): Value;
1399
+ /**
1400
+ * Clone any kind of value _(deeply, if needed)_
1401
+ */
1402
+ export declare function clone(value: unknown): {} | null | undefined;
1401
1403
  /**
1402
1404
  * Compare two values _(for sorting purposes)_
1403
1405
  */
@@ -1466,7 +1468,7 @@ export type MergeOptions = {
1466
1468
  skipNullable?: boolean;
1467
1469
  };
1468
1470
  /**
1469
- * Merges multiple arrays or objects into a single one
1471
+ * Merge multiple arrays or objects into a single one
1470
1472
  */
1471
1473
  export declare function merge<Model extends ArrayOrPlainObject>(
1472
1474
  values: Model[],
@@ -1499,7 +1501,7 @@ export type Smushed<Value> = Simplify<{
1499
1501
  [Key in Paths<Value>]: Get<Value, ToString<Key>>;
1500
1502
  }>;
1501
1503
  /**
1502
- * Smushes an object into a flat object with dot notation keys
1504
+ * Smush an object into a flat object that uses dot notation keys
1503
1505
  */
1504
1506
  export declare function smush<Value extends PlainObject>(
1505
1507
  value: Value,
@@ -1513,13 +1515,13 @@ export type Unsmushed<Value extends PlainObject> = Simplify<
1513
1515
  >
1514
1516
  >;
1515
1517
  /**
1516
- * Unsmushes a smushed object _(turning dot notation keys into nested keys)_
1518
+ * Unsmush a smushed object _(turning dot notation keys into nested keys)_
1517
1519
  */
1518
1520
  export declare function unsmush<Value extends PlainObject>(
1519
1521
  value: Value,
1520
1522
  ): Unsmushed<Value>;
1521
1523
  /**
1522
- * Creates a new object with only the specified keys
1524
+ * Create a new object with only the specified keys
1523
1525
  */
1524
1526
  export declare function partial<
1525
1527
  Value extends PlainObject,
@@ -1,6 +1,6 @@
1
- import type { PlainObject } from '@/models';
1
+ import type { PlainObject } from '~/models';
2
2
  /**
3
- * Creates a new object with only the specified keys
3
+ * Create a new object with only the specified keys
4
4
  */
5
5
  export declare function partial<Value extends PlainObject, Key extends keyof Value>(value: Value, keys: Key[]): Pick<Value, Key>;
6
6
  export * from './clone';
@@ -65,7 +65,7 @@ export type MergeOptions = {
65
65
  skipNullable?: boolean;
66
66
  };
67
67
  /**
68
- * Merges multiple arrays or objects into a single one
68
+ * Merge multiple arrays or objects into a single one
69
69
  */
70
70
  export declare function merge<Model extends ArrayOrPlainObject>(values: Model[], options?: Partial<MergeOptions>): Model;
71
71
 
@@ -1,4 +1,4 @@
1
- import type { ArrayOrPlainObject } from '@/models';
1
+ import type { ArrayOrPlainObject } from '~/models';
2
2
  type MergeOptions = {
3
3
  /**
4
4
  * - Skip nullable values when merging arrays?
@@ -7,7 +7,7 @@ type MergeOptions = {
7
7
  skipNullable?: boolean;
8
8
  };
9
9
  /**
10
- * Merges multiple arrays or objects into a single one
10
+ * Merge multiple arrays or objects into a single one
11
11
  */
12
12
  export declare function merge<Model extends ArrayOrPlainObject>(values: Model[], options?: Partial<MergeOptions>): Model;
13
13
  export {};
@@ -1,4 +1,4 @@
1
- import type { Paths, PlainObject } from '@/models';
1
+ import type { Paths, PlainObject } from '~/models';
2
2
  /**
3
3
  * - Set the value in an object using a known path
4
4
  * - You can set a nested value by using dot notation, e.g., `foo.bar.baz`
@@ -1359,7 +1359,7 @@ export type Smushed<Value> = Simplify<{
1359
1359
  [Key in Paths<Value>]: Get<Value, ToString<Key>>;
1360
1360
  }>;
1361
1361
  /**
1362
- * Smushes an object into a flat object with dot notation keys
1362
+ * Smush an object into a flat object that uses dot notation keys
1363
1363
  */
1364
1364
  export declare function smush<Value extends PlainObject>(
1365
1365
  value: Value,
@@ -1,11 +1,11 @@
1
- import type { PlainObject } from '@/models';
2
1
  import type { Get, Paths, Simplify } from 'type-fest';
3
2
  import type { ToString } from 'type-fest/source/internal/string';
3
+ import type { PlainObject } from '~/models';
4
4
  type Smushed<Value> = Simplify<{
5
5
  [Key in Paths<Value>]: Get<Value, ToString<Key>>;
6
6
  }>;
7
7
  /**
8
- * Smushes an object into a flat object with dot notation keys
8
+ * Smush an object into a flat object that uses dot notation keys
9
9
  */
10
10
  export declare function smush<Value extends PlainObject>(value: Value): Smushed<Value>;
11
11
  export {};
@@ -134,7 +134,7 @@ export type Unsmushed<Value extends PlainObject> = Simplify<Omit<{
134
134
  [Key in KeysOfUnion<Value>]: Value[Key];
135
135
  }, `${string}.${string}`>>;
136
136
  /**
137
- * Unsmushes a smushed object _(turning dot notation keys into nested keys)_
137
+ * Unsmush a smushed object _(turning dot notation keys into nested keys)_
138
138
  */
139
139
  export declare function unsmush<Value extends PlainObject>(value: Value): Unsmushed<Value>;
140
140
 
@@ -1,10 +1,10 @@
1
- import type { PlainObject } from '@/models';
2
1
  import type { KeysOfUnion, Simplify } from 'type-fest';
2
+ import type { PlainObject } from '~/models';
3
3
  type Unsmushed<Value extends PlainObject> = Simplify<Omit<{
4
4
  [Key in KeysOfUnion<Value>]: Value[Key];
5
5
  }, `${string}.${string}`>>;
6
6
  /**
7
- * Unsmushes a smushed object _(turning dot notation keys into nested keys)_
7
+ * Unsmush a smushed object _(turning dot notation keys into nested keys)_
8
8
  */
9
9
  export declare function unsmush<Value extends PlainObject>(value: Value): Unsmushed<Value>;
10
10
  export {};
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function getCallbacks(bool, key) {
4
- if (typeof bool === "function") {
5
- return { bool };
6
- }
7
- if (typeof key === "function") {
8
- return { key };
9
- }
10
- const isString = typeof key === "string";
11
- if (!isString && typeof key !== "number" || isString && key.includes(".")) {
12
- return;
13
- }
14
- return {
15
- key: (value) => value == null ? void 0 : value[key]
16
- };
17
- }
18
- exports.getCallbacks = getCallbacks;
@@ -1,18 +0,0 @@
1
- function getCallbacks(bool, key) {
2
- if (typeof bool === "function") {
3
- return { bool };
4
- }
5
- if (typeof key === "function") {
6
- return { key };
7
- }
8
- const isString = typeof key === "string";
9
- if (!isString && typeof key !== "number" || isString && key.includes(".")) {
10
- return;
11
- }
12
- return {
13
- key: (value) => value == null ? void 0 : value[key]
14
- };
15
- }
16
- export {
17
- getCallbacks
18
- };
@@ -1,28 +0,0 @@
1
- import type {BooleanCallback, Callbacks, KeyCallback} from '@/array/models';
2
- import type {Key, PlainObject} from '@/models';
3
-
4
- export function getCallbacks<Value>(
5
- bool: unknown,
6
- key: unknown,
7
- ): Callbacks<Value> | undefined {
8
- if (typeof bool === 'function') {
9
- return {bool: bool as BooleanCallback<Value>};
10
- }
11
-
12
- if (typeof key === 'function') {
13
- return {key: key as KeyCallback<Value>};
14
- }
15
-
16
- const isString = typeof key === 'string';
17
-
18
- if (
19
- (!isString && typeof key !== 'number') ||
20
- (isString && key.includes('.'))
21
- ) {
22
- return;
23
- }
24
-
25
- return {
26
- key: (value: Value) => (value as PlainObject)?.[key as string] as Key,
27
- };
28
- }
@@ -1,13 +0,0 @@
1
- // Generated by dts-bundle-generator v9.5.1
2
-
3
- export type Key = number | string;
4
- export type ArrayCallback<Value, Returned> = (value: Value, index: number, array: Value[]) => Returned;
5
- export type BooleanCallback<Value> = ArrayCallback<Value, boolean>;
6
- export type Callbacks<Value> = {
7
- bool?: BooleanCallback<Value>;
8
- key?: KeyCallback<Value>;
9
- };
10
- export type KeyCallback<Value> = ArrayCallback<Value, Key>;
11
- export declare function getCallbacks<Value>(bool: unknown, key: unknown): Callbacks<Value> | undefined;
12
-
13
- export {};
@@ -1,2 +0,0 @@
1
- import type { Callbacks } from '@/array/models';
2
- export declare function getCallbacks<Value>(bool: unknown, key: unknown): Callbacks<Value> | undefined;
@@ -1,11 +0,0 @@
1
- // Generated by dts-bundle-generator v9.5.1
2
-
3
- export type Key = number | string;
4
- export type ArrayCallback<Value, Returned> = (value: Value, index: number, array: Value[]) => Returned;
5
- export type BooleanCallback<Value> = ArrayCallback<Value, boolean>;
6
- export type FindType = "index" | "value";
7
- export type KeyCallback<Value> = ArrayCallback<Value, Key>;
8
- export declare function findValue<Model, Value = Model>(type: FindType, array: Model[], value: Value | BooleanCallback<Model>, key?: Key | KeyCallback<Model>): unknown;
9
- export declare function findValues<Model, Value = Model>(type: "all" | "unique", array: Model[], value: Value | BooleanCallback<Model>, key?: Key | KeyCallback<Model>): Model[];
10
-
11
- export {};
@@ -1,4 +0,0 @@
1
- import type { BooleanCallback, FindType, KeyCallback } from '@/array/models';
2
- import type { Key } from '@/models';
3
- export declare function findValue<Model, Value = Model>(type: FindType, array: Model[], value: Value | BooleanCallback<Model>, key?: Key | KeyCallback<Model>): unknown;
4
- export declare function findValues<Model, Value = Model>(type: 'all' | 'unique', array: Model[], value: Value | BooleanCallback<Model>, key?: Key | KeyCallback<Model>): Model[];