@oscarpalmer/atoms 0.123.0 → 0.124.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.
@@ -57,21 +57,22 @@ function isPlainObject(value) {
57
57
  return prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null;
58
58
  }
59
59
  function isTypedArray(value) {
60
+ TYPED_ARRAYS ??= new Set([
61
+ Int8Array,
62
+ Uint8Array,
63
+ Uint8ClampedArray,
64
+ Int16Array,
65
+ Uint16Array,
66
+ Int32Array,
67
+ Uint32Array,
68
+ Float32Array,
69
+ Float64Array,
70
+ BigInt64Array,
71
+ BigUint64Array
72
+ ]);
60
73
  return TYPED_ARRAYS.has(value?.constructor);
61
74
  }
62
- const TYPED_ARRAYS = new Set([
63
- Int8Array,
64
- Uint8Array,
65
- Uint8ClampedArray,
66
- Int16Array,
67
- Uint16Array,
68
- Int32Array,
69
- Uint32Array,
70
- Float32Array,
71
- Float64Array,
72
- BigInt64Array,
73
- BigUint64Array
74
- ]);
75
+ let TYPED_ARRAYS;
75
76
  function _getRandomFloat(inclusive, minimum, maximum) {
76
77
  let maxFloat = isNumber(maximum) && maximum <= Number.MAX_SAFE_INTEGER ? maximum : Number.MAX_SAFE_INTEGER;
77
78
  let minFloat = isNumber(minimum) && minimum >= Number.MIN_SAFE_INTEGER ? minimum : Number.MIN_SAFE_INTEGER;
@@ -1541,7 +1542,7 @@ const BOOLEAN_MODIFIER = .5;
1541
1542
  const HEX_CHARACTERS = "0123456789ABCDEF";
1542
1543
  const HEX_MAXIMUM = 15;
1543
1544
  function camelCase(value) {
1544
- return toCase(TYPE_CAMEL, value, true, false);
1545
+ return toCase("camel", value, true, false);
1545
1546
  }
1546
1547
  function capitalize(value) {
1547
1548
  if (typeof value !== "string" || value.length === 0) return "";
@@ -1549,13 +1550,13 @@ function capitalize(value) {
1549
1550
  return memoizedCapitalize.run(value);
1550
1551
  }
1551
1552
  function kebabCase(value) {
1552
- return toCase(TYPE_KEBAB, value, false, false);
1553
+ return toCase("kebab", value, false, false);
1553
1554
  }
1554
1555
  function pascalCase(value) {
1555
- return toCase(TYPE_PASCAL, value, true, true);
1556
+ return toCase("pascal", value, true, true);
1556
1557
  }
1557
1558
  function snakeCase(value) {
1558
- return toCase(TYPE_SNAKE, value, false, false);
1559
+ return toCase("snake", value, false, false);
1559
1560
  }
1560
1561
  function titleCase(value) {
1561
1562
  if (typeof value !== "string") return "";
@@ -1596,15 +1597,11 @@ function toCaseCallback(value) {
1596
1597
  const EXPRESSION_CAMEL_CASE = /(\p{Ll})(\p{Lu})/gu;
1597
1598
  const EXPRESSION_ACRONYM = /(\p{Lu}*)(\p{Lu})(\p{Ll}+)/gu;
1598
1599
  const REPLACEMENT_CAMEL_CASE = "$1-$2";
1599
- const TYPE_CAMEL = "camel";
1600
- const TYPE_KEBAB = "kebab";
1601
- const TYPE_PASCAL = "pascal";
1602
- const TYPE_SNAKE = "snake";
1603
1600
  const delimiters = {
1604
- [TYPE_CAMEL]: "",
1605
- [TYPE_KEBAB]: "-",
1606
- [TYPE_PASCAL]: "",
1607
- [TYPE_SNAKE]: "_"
1601
+ camel: "",
1602
+ kebab: "-",
1603
+ pascal: "",
1604
+ snake: "_"
1608
1605
  };
1609
1606
  const memoizers = {};
1610
1607
  let memoizedCapitalize;
@@ -1,6 +1,5 @@
1
1
  import { HEX_BLACK, HEX_WHITE, MAX_DEGREE, MAX_HEX, MAX_PERCENT, SRGB_LUMINANCE_BLUE, SRGB_LUMINANCE_EXPONENT, SRGB_LUMINANCE_GREEN, SRGB_LUMINANCE_MINIMUM, SRGB_LUMINANCE_MODIFIER, SRGB_LUMINANCE_MULTIPLIER, SRGB_LUMINANCE_OFFSET, SRGB_LUMINANCE_RED, SRGB_LUMINANCE_THRESHOLD } from "../constants.js";
2
2
  import { clamp } from "../../internal/number.js";
3
- import "../../number.js";
4
3
  import { getState } from "./state.js";
5
4
  import { Color } from "../instance.js";
6
5
  function getClampedValue(value, minimum, maximum) {
package/dist/function.js CHANGED
@@ -2,7 +2,6 @@ import { isPlainObject } from "./internal/is.js";
2
2
  import { getString, join } from "./internal/string.js";
3
3
  import { noop } from "./internal/function.js";
4
4
  import frame_rate_default from "./internal/frame-rate.js";
5
- import "./is.js";
6
5
  import { SizedMap } from "./sized.js";
7
6
  var Memoized = class {
8
7
  #state;
package/dist/index.js CHANGED
@@ -21,12 +21,10 @@ import { toMap, toMapArrays } from "./array/to-map.js";
21
21
  import { toRecord, toRecordArrays } from "./array/to-record.js";
22
22
  import { toSet } from "./array/to-set.js";
23
23
  import { unique } from "./array/unique.js";
24
- import "./array/index.js";
25
24
  import { noop } from "./internal/function.js";
26
25
  import { beacon } from "./beacon.js";
27
26
  import { between, clamp, getNumber } from "./internal/number.js";
28
27
  import { isColor, isHexColor, isHslColor, isHslLike, isHslaColor, isRgbColor, isRgbLike, isRgbaColor } from "./color/misc/is.js";
29
- import "./number.js";
30
28
  import { getForegroundColor, getHexColor, getHexaColor, getHslColor, getHslaColor, getRgbColor, getRgbaColor } from "./color/misc/get.js";
31
29
  import { rgbToHex, rgbToHsl, rgbToHsla } from "./color/space/rgb.js";
32
30
  import { getNormalizedHex, hexToHsl, hexToHsla, hexToRgb, hexToRgba } from "./color/space/hex.js";
@@ -53,5 +51,4 @@ import { merge, merger } from "./value/merge.js";
53
51
  import { partial } from "./value/partial.js";
54
52
  import { smush } from "./value/smush.js";
55
53
  import { unsmush } from "./value/unsmush.js";
56
- import "./value/index.js";
57
54
  export { frame_rate_default as FRAME_RATE_MS, SizedMap, SizedSet, average, beacon, between, camelCase, capitalize, chunk, clamp, clone, compact, compare, count, createUuid, debounce, diff, equal, equalizer, exists, filter, find, flatten, fromQuery, getArray, getColor, getForegroundColor, getHexColor, getHexaColor, getHslColor, getHslaColor, getNormalizedHex, getNumber, getRandomBoolean, getRandomCharacters, getRandomColor, getRandomFloat, getRandomHex, getRandomInteger, getRandomItem, getRandomItems, getRgbColor, getRgbaColor, getString, getUuid, getValue, groupBy, groupByArrays, hexToHsl, hexToHsla, hexToRgb, hexToRgba, hslToHex, hslToRgb, hslToRgba, indexOf, insert, isArrayOrPlainObject, isColor, isEmpty, isHexColor, isHslColor, isHslLike, isHslaColor, isKey, isNullable, isNullableOrEmpty, isNullableOrWhitespace, isNumber, isNumerical, isObject, isPlainObject, isPrimitive, isRgbColor, isRgbLike, isRgbaColor, isTypedArray, join, kebabCase, logger, max, memoize, merge, merger, min, noop, parse, partial, pascalCase, push, rgbToHex, rgbToHsl, rgbToHsla, round, setValue, shuffle, smush, snakeCase, sort, splice, sum, template, templater, throttle, titleCase, toMap, toMapArrays, toQuery, toRecord, toRecordArrays, toSet, truncate, unique, unsmush, words };
@@ -14,19 +14,20 @@ function isPlainObject(value) {
14
14
  return prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null;
15
15
  }
16
16
  function isTypedArray(value) {
17
+ TYPED_ARRAYS ??= new Set([
18
+ Int8Array,
19
+ Uint8Array,
20
+ Uint8ClampedArray,
21
+ Int16Array,
22
+ Uint16Array,
23
+ Int32Array,
24
+ Uint32Array,
25
+ Float32Array,
26
+ Float64Array,
27
+ BigInt64Array,
28
+ BigUint64Array
29
+ ]);
17
30
  return TYPED_ARRAYS.has(value?.constructor);
18
31
  }
19
- var TYPED_ARRAYS = new Set([
20
- Int8Array,
21
- Uint8Array,
22
- Uint8ClampedArray,
23
- Int16Array,
24
- Uint16Array,
25
- Int32Array,
26
- Uint32Array,
27
- Float32Array,
28
- Float64Array,
29
- BigInt64Array,
30
- BigUint64Array
31
- ]);
32
+ var TYPED_ARRAYS;
32
33
  export { isArrayOrPlainObject, isKey, isNumber, isPlainObject, isTypedArray };
@@ -1,7 +1,7 @@
1
1
  import { join, words } from "../internal/string.js";
2
2
  import { memoize } from "../function.js";
3
3
  function camelCase(value) {
4
- return toCase(TYPE_CAMEL, value, true, false);
4
+ return toCase("camel", value, true, false);
5
5
  }
6
6
  function capitalize(value) {
7
7
  if (typeof value !== "string" || value.length === 0) return "";
@@ -9,13 +9,13 @@ function capitalize(value) {
9
9
  return memoizedCapitalize.run(value);
10
10
  }
11
11
  function kebabCase(value) {
12
- return toCase(TYPE_KEBAB, value, false, false);
12
+ return toCase("kebab", value, false, false);
13
13
  }
14
14
  function pascalCase(value) {
15
- return toCase(TYPE_PASCAL, value, true, true);
15
+ return toCase("pascal", value, true, true);
16
16
  }
17
17
  function snakeCase(value) {
18
- return toCase(TYPE_SNAKE, value, false, false);
18
+ return toCase("snake", value, false, false);
19
19
  }
20
20
  function titleCase(value) {
21
21
  if (typeof value !== "string") return "";
@@ -56,15 +56,11 @@ function toCaseCallback(value) {
56
56
  var EXPRESSION_CAMEL_CASE = /(\p{Ll})(\p{Lu})/gu;
57
57
  var EXPRESSION_ACRONYM = /(\p{Lu}*)(\p{Lu})(\p{Ll}+)/gu;
58
58
  var REPLACEMENT_CAMEL_CASE = "$1-$2";
59
- var TYPE_CAMEL = "camel";
60
- var TYPE_KEBAB = "kebab";
61
- var TYPE_PASCAL = "pascal";
62
- var TYPE_SNAKE = "snake";
63
59
  var delimiters = {
64
- [TYPE_CAMEL]: "",
65
- [TYPE_KEBAB]: "-",
66
- [TYPE_PASCAL]: "",
67
- [TYPE_SNAKE]: "_"
60
+ camel: "",
61
+ kebab: "-",
62
+ pascal: "",
63
+ snake: "_"
68
64
  };
69
65
  var memoizers = {};
70
66
  var memoizedCapitalize;
@@ -1,6 +1,5 @@
1
1
  import { isPlainObject } from "../internal/is.js";
2
2
  import { getString } from "../internal/string.js";
3
- import "../is.js";
4
3
  import { getValue } from "../internal/value/get.js";
5
4
  function getTemplateOptions(input) {
6
5
  const options = isPlainObject(input) ? input : {};
package/package.json CHANGED
@@ -101,5 +101,5 @@
101
101
  },
102
102
  "type": "module",
103
103
  "types": "./types/index.d.ts",
104
- "version": "0.123.0"
104
+ "version": "0.124.0"
105
105
  }
@@ -56,21 +56,23 @@ export function isPlainObject(value: unknown): value is PlainObject {
56
56
  * @returns `true` if the value is a typed array, otherwise `false`
57
57
  */
58
58
  export function isTypedArray(value: unknown): value is TypedArray {
59
+ TYPED_ARRAYS ??= new Set<unknown>([
60
+ Int8Array,
61
+ Uint8Array,
62
+ Uint8ClampedArray,
63
+ Int16Array,
64
+ Uint16Array,
65
+ Int32Array,
66
+ Uint32Array,
67
+ Float32Array,
68
+ Float64Array,
69
+ BigInt64Array,
70
+ BigUint64Array,
71
+ ]);
72
+
59
73
  return TYPED_ARRAYS.has((value as TypedArray)?.constructor);
60
74
  }
61
75
 
62
76
  //
63
77
 
64
- const TYPED_ARRAYS = new Set<unknown>([
65
- Int8Array,
66
- Uint8Array,
67
- Uint8ClampedArray,
68
- Int16Array,
69
- Uint16Array,
70
- Int32Array,
71
- Uint32Array,
72
- Float32Array,
73
- Float64Array,
74
- BigInt64Array,
75
- BigUint64Array,
76
- ]);
78
+ let TYPED_ARRAYS: Set<unknown>;
@@ -19,7 +19,7 @@ type Options = {
19
19
  * @returns Camel-cased string
20
20
  */
21
21
  export function camelCase(value: string): string {
22
- return toCase(TYPE_CAMEL, value, true, false);
22
+ return toCase('camel', value, true, false);
23
23
  }
24
24
 
25
25
  /**
@@ -47,7 +47,7 @@ export function capitalize(value: string): string {
47
47
  * @returns Kebab-cased string
48
48
  */
49
49
  export function kebabCase(value: string): string {
50
- return toCase(TYPE_KEBAB, value, false, false);
50
+ return toCase('kebab', value, false, false);
51
51
  }
52
52
 
53
53
  /**
@@ -56,7 +56,7 @@ export function kebabCase(value: string): string {
56
56
  * @returns Pascal-cased string
57
57
  */
58
58
  export function pascalCase(value: string): string {
59
- return toCase(TYPE_PASCAL, value, true, true);
59
+ return toCase('pascal', value, true, true);
60
60
  }
61
61
 
62
62
  /**
@@ -65,7 +65,7 @@ export function pascalCase(value: string): string {
65
65
  * @returns Snake-cased string
66
66
  */
67
67
  export function snakeCase(value: string): string {
68
- return toCase(TYPE_SNAKE, value, false, false);
68
+ return toCase('snake', value, false, false);
69
69
  }
70
70
 
71
71
  /**
@@ -158,24 +158,16 @@ const EXPRESSION_ACRONYM = /(\p{Lu}*)(\p{Lu})(\p{Ll}+)/gu;
158
158
 
159
159
  const REPLACEMENT_CAMEL_CASE = '$1-$2';
160
160
 
161
- const TYPE_CAMEL = 'camel';
162
-
163
- const TYPE_KEBAB = 'kebab';
164
-
165
- const TYPE_PASCAL = 'pascal';
166
-
167
- const TYPE_SNAKE = 'snake';
168
-
169
161
  //
170
162
 
171
163
  const delimiters: Record<Case, string> = {
172
- [TYPE_CAMEL]: '',
173
- [TYPE_KEBAB]: '-',
174
- [TYPE_PASCAL]: '',
175
- [TYPE_SNAKE]: '_',
164
+ camel: '',
165
+ kebab: '-',
166
+ pascal: '',
167
+ snake: '_',
176
168
  };
177
169
 
178
- const memoizers: Partial<Record<Case, Memoized<typeof toCaseCallback>>> = {};
170
+ const memoizers: Partial<Record<string, Memoized<typeof toCaseCallback>>> = {};
179
171
 
180
172
  let memoizedCapitalize: Memoized<(value: string) => string>;
181
173