@oscarpalmer/atoms 0.184.1 → 0.185.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 (108) hide show
  1. package/dist/array/index.d.mts +2 -2
  2. package/dist/array/index.mjs +2 -2
  3. package/dist/array/{position.d.mts → match.d.mts} +9 -6
  4. package/dist/array/{position.mjs → match.mjs} +16 -16
  5. package/dist/array/move.mjs +1 -1
  6. package/dist/array/single.mjs +2 -2
  7. package/dist/array/sort.d.mts +9 -4
  8. package/dist/array/sort.mjs +6 -6
  9. package/dist/array/swap.mjs +1 -1
  10. package/dist/beacon.d.mts +12 -0
  11. package/dist/beacon.mjs +9 -0
  12. package/dist/color/instance.d.mts +8 -0
  13. package/dist/color/instance.mjs +5 -2
  14. package/dist/color/misc/get.mjs +8 -8
  15. package/dist/color/misc/state.d.mts +2 -2
  16. package/dist/color/misc/state.mjs +2 -2
  17. package/dist/color/models.d.mts +30 -0
  18. package/dist/function/assert.d.mts +29 -8
  19. package/dist/function/assert.mjs +29 -8
  20. package/dist/function/memoize.d.mts +3 -0
  21. package/dist/function/memoize.mjs +3 -0
  22. package/dist/function/once.mjs +9 -9
  23. package/dist/function/retry.d.mts +3 -0
  24. package/dist/function/retry.mjs +11 -8
  25. package/dist/function/work.mjs +1 -1
  26. package/dist/index.d.mts +272 -160
  27. package/dist/index.mjs +279 -216
  28. package/dist/internal/number.d.mts +2 -1
  29. package/dist/internal/number.mjs +4 -1
  30. package/dist/internal/value/compare.d.mts +2 -1
  31. package/dist/internal/value/equal.d.mts +5 -0
  32. package/dist/internal/value/equal.mjs +5 -5
  33. package/dist/internal/value/get.d.mts +2 -2
  34. package/dist/internal/value/has.d.mts +3 -3
  35. package/dist/internal/value/has.mjs +1 -1
  36. package/dist/internal/value/misc.d.mts +2 -2
  37. package/dist/internal/value/misc.mjs +10 -4
  38. package/dist/logger.d.mts +11 -0
  39. package/dist/logger.mjs +11 -0
  40. package/dist/models.d.mts +1 -1
  41. package/dist/promise/helpers.mjs +3 -5
  42. package/dist/promise/index.d.mts +0 -6
  43. package/dist/promise/models.d.mts +36 -0
  44. package/dist/promise/models.mjs +6 -0
  45. package/dist/queue.d.mts +13 -1
  46. package/dist/queue.mjs +14 -7
  47. package/dist/result/index.d.mts +0 -8
  48. package/dist/result/index.mjs +0 -8
  49. package/dist/result/match.d.mts +4 -4
  50. package/dist/result/work/flow.d.mts +12 -36
  51. package/dist/result/work/pipe.d.mts +11 -33
  52. package/dist/sized/set.d.mts +3 -2
  53. package/dist/sized/set.mjs +3 -2
  54. package/dist/string/fuzzy.mjs +2 -2
  55. package/dist/value/handle.mjs +1 -1
  56. package/dist/value/merge.d.mts +0 -1
  57. package/dist/value/merge.mjs +0 -1
  58. package/dist/value/shake.d.mts +3 -0
  59. package/dist/value/smush.d.mts +3 -0
  60. package/dist/value/transform.d.mts +9 -0
  61. package/dist/value/unsmush.d.mts +3 -0
  62. package/package.json +3 -3
  63. package/src/array/difference.ts +4 -0
  64. package/src/array/from.ts +4 -0
  65. package/src/array/index.ts +1 -1
  66. package/src/array/intersection.ts +4 -0
  67. package/src/array/{position.ts → match.ts} +28 -25
  68. package/src/array/move.ts +5 -1
  69. package/src/array/reverse.ts +4 -0
  70. package/src/array/select.ts +2 -0
  71. package/src/array/single.ts +2 -2
  72. package/src/array/sort.ts +14 -9
  73. package/src/array/swap.ts +5 -1
  74. package/src/array/toggle.ts +4 -0
  75. package/src/array/union.ts +4 -0
  76. package/src/beacon.ts +12 -0
  77. package/src/color/index.ts +0 -3
  78. package/src/color/instance.ts +11 -3
  79. package/src/color/misc/get.ts +8 -8
  80. package/src/color/misc/state.ts +1 -1
  81. package/src/color/models.ts +30 -0
  82. package/src/function/assert.ts +66 -7
  83. package/src/function/memoize.ts +3 -0
  84. package/src/function/once.ts +13 -9
  85. package/src/function/retry.ts +11 -8
  86. package/src/internal/number.ts +6 -0
  87. package/src/internal/value/compare.ts +2 -1
  88. package/src/internal/value/equal.ts +10 -5
  89. package/src/internal/value/get.ts +2 -2
  90. package/src/internal/value/has.ts +6 -6
  91. package/src/internal/value/misc.ts +24 -13
  92. package/src/logger.ts +11 -0
  93. package/src/models.ts +1 -1
  94. package/src/promise/helpers.ts +3 -6
  95. package/src/promise/index.ts +0 -6
  96. package/src/promise/models.ts +36 -0
  97. package/src/queue.ts +23 -11
  98. package/src/result/index.ts +0 -8
  99. package/src/result/match.ts +4 -4
  100. package/src/result/work/flow.ts +12 -36
  101. package/src/result/work/pipe.ts +11 -33
  102. package/src/sized/set.ts +4 -3
  103. package/src/string/fuzzy.ts +2 -2
  104. package/src/value/merge.ts +0 -1
  105. package/src/value/shake.ts +3 -0
  106. package/src/value/smush.ts +3 -0
  107. package/src/value/transform.ts +9 -0
  108. package/src/value/unsmush.ts +3 -0
@@ -1,6 +1,9 @@
1
1
  import { GenericCallback } from "../models.mjs";
2
2
 
3
3
  //#region src/function/memoize.d.ts
4
+ /**
5
+ * A memoized function, caching and retrieving results based on the its parameters _(or a custom cache key)_
6
+ */
4
7
  declare class Memoized<Callback extends GenericCallback> {
5
8
  #private;
6
9
  /**
@@ -2,6 +2,9 @@ import { isPlainObject } from "../internal/is.mjs";
2
2
  import { getString, join } from "../internal/string.mjs";
3
3
  import { SizedMap } from "../sized/map.mjs";
4
4
  //#region src/function/memoize.ts
5
+ /**
6
+ * A memoized function, caching and retrieving results based on the its parameters _(or a custom cache key)_
7
+ */
5
8
  var Memoized = class {
6
9
  #state;
7
10
  /**
@@ -8,7 +8,7 @@ import { assert } from "./assert.mjs";
8
8
  * @returns Once callback
9
9
  */
10
10
  function asyncOnce(callback) {
11
- assert(() => typeof callback === "function", MESSAGE_EXPECTATION);
11
+ assert(() => typeof callback === "function", ONCE_MESSAGE_EXPECTATION);
12
12
  const state = {
13
13
  called: false,
14
14
  cleared: false,
@@ -18,7 +18,7 @@ function asyncOnce(callback) {
18
18
  value: void 0
19
19
  };
20
20
  const fn = (...parameters) => {
21
- if (state.cleared) return Promise.reject(new Error(MESSAGE_CLEARED));
21
+ if (state.cleared) return Promise.reject(new Error(ONCE_MESSAGE_CLEARED));
22
22
  if (state.finished) return state.error ? Promise.reject(state.value) : Promise.resolve(state.value);
23
23
  if (state.called) return new Promise((resolve, reject) => {
24
24
  state.items.push({
@@ -33,9 +33,9 @@ function asyncOnce(callback) {
33
33
  resolve
34
34
  });
35
35
  callback(...parameters).then((value) => {
36
- handleResult(state, value, false);
36
+ handleOnceResult(state, value, false);
37
37
  }).catch((error) => {
38
- handleResult(state, error, true);
38
+ handleOnceResult(state, error, true);
39
39
  });
40
40
  });
41
41
  };
@@ -52,7 +52,7 @@ function asyncOnce(callback) {
52
52
  };
53
53
  return fn;
54
54
  }
55
- function handleResult(state, value, error) {
55
+ function handleOnceResult(state, value, error) {
56
56
  state.error = error;
57
57
  state.finished = true;
58
58
  state.value = value;
@@ -70,14 +70,14 @@ function handleResult(state, value, error) {
70
70
  * @returns Once callback
71
71
  */
72
72
  function once(callback) {
73
- assert(() => typeof callback === "function", MESSAGE_EXPECTATION);
73
+ assert(() => typeof callback === "function", ONCE_MESSAGE_EXPECTATION);
74
74
  const state = {
75
75
  called: false,
76
76
  cleared: false,
77
77
  value: void 0
78
78
  };
79
79
  const fn = (...parameters) => {
80
- if (state.cleared) throw new Error(MESSAGE_CLEARED);
80
+ if (state.cleared) throw new Error(ONCE_MESSAGE_CLEARED);
81
81
  if (state.called) return state.value;
82
82
  state.called = true;
83
83
  state.value = callback(...parameters);
@@ -95,7 +95,7 @@ function once(callback) {
95
95
  return fn;
96
96
  }
97
97
  once.async = asyncOnce;
98
- const MESSAGE_CLEARED = "Once has been cleared";
99
- const MESSAGE_EXPECTATION = "Once expected a function";
98
+ const ONCE_MESSAGE_CLEARED = "Once has been cleared";
99
+ const ONCE_MESSAGE_EXPECTATION = "Once expected a function";
100
100
  //#endregion
101
101
  export { asyncOnce, once };
@@ -1,6 +1,9 @@
1
1
  import { GenericAsyncCallback, GenericCallback } from "../models.mjs";
2
2
 
3
3
  //#region src/function/retry.d.ts
4
+ /**
5
+ * An error thrown when a retry fails
6
+ */
4
7
  declare class RetryError extends Error {
5
8
  readonly original: unknown;
6
9
  constructor(message: string, original: unknown);
@@ -1,11 +1,14 @@
1
1
  import { isPlainObject } from "../internal/is.mjs";
2
2
  import { TIMER_WAIT, getTimer } from "../internal/function/timer.mjs";
3
3
  //#region src/function/retry.ts
4
+ /**
5
+ * An error thrown when a retry fails
6
+ */
4
7
  var RetryError = class extends Error {
5
8
  constructor(message, original) {
6
9
  super(message);
7
10
  this.original = original;
8
- this.name = ERROR_NAME;
11
+ this.name = RETRY_ERROR_NAME;
9
12
  }
10
13
  };
11
14
  /**
@@ -17,13 +20,13 @@ var RetryError = class extends Error {
17
20
  * @returns Callback result
18
21
  */
19
22
  async function asyncRetry(callback, options) {
20
- if (typeof callback !== "function") throw new TypeError(MESSAGE_EXPECTATION);
23
+ if (typeof callback !== "function") throw new TypeError(RETRY_MESSAGE_EXPECTATION);
21
24
  async function handle() {
22
25
  try {
23
26
  const result = await callback();
24
27
  resolver(result);
25
28
  } catch (error) {
26
- if (attempts >= times || !when(error)) rejector(new RetryError(MESSAGE_FAILED, error));
29
+ if (attempts >= times || !when(error)) rejector(new RetryError(RETRY_MESSAGE_FAILED, error));
27
30
  else {
28
31
  attempts += 1;
29
32
  timer();
@@ -59,7 +62,7 @@ function getRetryOptions(input) {
59
62
  * @returns Callback result
60
63
  */
61
64
  function retry(callback, options) {
62
- if (typeof callback !== "function") throw new TypeError(MESSAGE_EXPECTATION);
65
+ if (typeof callback !== "function") throw new TypeError(RETRY_MESSAGE_EXPECTATION);
63
66
  const { times, when } = getRetryOptions(options);
64
67
  let last;
65
68
  for (let index = 0; index <= times; index += 1) try {
@@ -70,14 +73,14 @@ function retry(callback, options) {
70
73
  break;
71
74
  }
72
75
  }
73
- throw new RetryError(MESSAGE_FAILED, last);
76
+ throw new RetryError(RETRY_MESSAGE_FAILED, last);
74
77
  }
75
78
  retry.async = asyncRetry;
76
79
  function shouldRetry() {
77
80
  return true;
78
81
  }
79
- const ERROR_NAME = "RetryError";
80
- const MESSAGE_EXPECTATION = "Retry expected a function";
81
- const MESSAGE_FAILED = "Retry failed";
82
+ const RETRY_ERROR_NAME = "RetryError";
83
+ const RETRY_MESSAGE_EXPECTATION = "Retry expected a function";
84
+ const RETRY_MESSAGE_FAILED = "Retry failed";
82
85
  //#endregion
83
86
  export { RetryError, retry };
@@ -1,5 +1,5 @@
1
- import { assert } from "./assert.mjs";
2
1
  import { isError, isOk } from "../internal/result.mjs";
2
+ import { assert } from "./assert.mjs";
3
3
  //#region src/function/work.ts
4
4
  function asyncFlow(...fns) {
5
5
  assertFlowFunctions(fns);