@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.
- package/dist/atoms.full.js +22 -25
- package/dist/color/misc/get.js +0 -1
- package/dist/function.js +0 -1
- package/dist/index.js +0 -3
- package/dist/internal/is.js +14 -13
- package/dist/string/case.js +8 -12
- package/dist/string/template.js +0 -1
- package/package.json +1 -1
- package/src/internal/is.ts +15 -13
- package/src/string/case.ts +9 -17
package/dist/atoms.full.js
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
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(
|
|
1553
|
+
return toCase("kebab", value, false, false);
|
|
1553
1554
|
}
|
|
1554
1555
|
function pascalCase(value) {
|
|
1555
|
-
return toCase(
|
|
1556
|
+
return toCase("pascal", value, true, true);
|
|
1556
1557
|
}
|
|
1557
1558
|
function snakeCase(value) {
|
|
1558
|
-
return toCase(
|
|
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
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1601
|
+
camel: "",
|
|
1602
|
+
kebab: "-",
|
|
1603
|
+
pascal: "",
|
|
1604
|
+
snake: "_"
|
|
1608
1605
|
};
|
|
1609
1606
|
const memoizers = {};
|
|
1610
1607
|
let memoizedCapitalize;
|
package/dist/color/misc/get.js
CHANGED
|
@@ -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 };
|
package/dist/internal/is.js
CHANGED
|
@@ -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
|
|
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 };
|
package/dist/string/case.js
CHANGED
|
@@ -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(
|
|
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(
|
|
12
|
+
return toCase("kebab", value, false, false);
|
|
13
13
|
}
|
|
14
14
|
function pascalCase(value) {
|
|
15
|
-
return toCase(
|
|
15
|
+
return toCase("pascal", value, true, true);
|
|
16
16
|
}
|
|
17
17
|
function snakeCase(value) {
|
|
18
|
-
return toCase(
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
camel: "",
|
|
61
|
+
kebab: "-",
|
|
62
|
+
pascal: "",
|
|
63
|
+
snake: "_"
|
|
68
64
|
};
|
|
69
65
|
var memoizers = {};
|
|
70
66
|
var memoizedCapitalize;
|
package/dist/string/template.js
CHANGED
|
@@ -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
package/src/internal/is.ts
CHANGED
|
@@ -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
|
-
|
|
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>;
|
package/src/string/case.ts
CHANGED
|
@@ -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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
164
|
+
camel: '',
|
|
165
|
+
kebab: '-',
|
|
166
|
+
pascal: '',
|
|
167
|
+
snake: '_',
|
|
176
168
|
};
|
|
177
169
|
|
|
178
|
-
const memoizers: Partial<Record<
|
|
170
|
+
const memoizers: Partial<Record<string, Memoized<typeof toCaseCallback>>> = {};
|
|
179
171
|
|
|
180
172
|
let memoizedCapitalize: Memoized<(value: string) => string>;
|
|
181
173
|
|