@koine/utils 2.0.0-beta.72 → 2.0.0-beta.74
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/Defer.d.ts +1 -0
- package/Defer.js +11 -0
- package/Emitter.d.ts +1 -0
- package/Emitter.js +20 -0
- package/accentSets.d.ts +1 -0
- package/accentSets.js +30 -0
- package/addOrReplaceAtIdx.d.ts +1 -0
- package/addOrReplaceAtIdx.js +15 -0
- package/areEqual.d.ts +1 -1
- package/areEqual.js +46 -0
- package/arrayFilterFalsy.d.ts +1 -0
- package/arrayFilterFalsy.js +2 -0
- package/arrayFindLastIndex.d.ts +1 -0
- package/arrayFindLastIndex.js +9 -0
- package/arrayOfAll.d.ts +1 -0
- package/arrayOfAll.js +2 -0
- package/arraySum.d.ts +1 -0
- package/arraySum.js +2 -0
- package/arrayToLookup.d.ts +1 -0
- package/arrayToLookup.js +5 -0
- package/arrayUniqueByProperties.d.ts +1 -0
- package/arrayUniqueByProperties.js +2 -0
- package/buildUrlQueryString.d.ts +1 -0
- package/buildUrlQueryString.js +21 -0
- package/capitalize.d.ts +1 -0
- package/capitalize.js +3 -0
- package/changeCaseCamel.d.ts +1 -0
- package/changeCaseCamel.js +19 -0
- package/changeCaseCapital.d.ts +1 -0
- package/changeCaseCapital.js +12 -0
- package/changeCaseConstant.d.ts +1 -0
- package/changeCaseConstant.js +8 -0
- package/changeCaseDot.d.ts +1 -0
- package/changeCaseDot.js +3 -0
- package/changeCaseHelpers.d.ts +0 -5
- package/changeCaseHelpers.js +71 -0
- package/changeCaseKebab.d.ts +1 -0
- package/changeCaseKebab.js +3 -0
- package/changeCaseNone.d.ts +1 -0
- package/changeCaseNone.js +8 -0
- package/changeCasePascal.d.ts +1 -0
- package/changeCasePascal.js +11 -0
- package/changeCasePascalSnake.d.ts +1 -0
- package/changeCasePascalSnake.js +3 -0
- package/changeCasePath.d.ts +1 -0
- package/changeCasePath.js +3 -0
- package/changeCaseSentence.d.ts +1 -0
- package/changeCaseSentence.js +17 -0
- package/changeCaseSnake.d.ts +1 -0
- package/changeCaseSnake.js +3 -0
- package/changeCaseTrain.d.ts +1 -0
- package/changeCaseTrain.js +3 -0
- package/chunkByChunks.d.ts +1 -0
- package/chunkByChunks.js +32 -0
- package/chunkBySize.d.ts +1 -0
- package/chunkBySize.js +8 -0
- package/clamp.d.ts +1 -0
- package/clamp.js +2 -0
- package/clsx.d.ts +1 -1
- package/clsx.js +40 -0
- package/convertRange.d.ts +1 -0
- package/convertRange.js +2 -0
- package/cookie.d.ts +0 -3
- package/cookie.js +1 -0
- package/createPalette.d.ts +1 -1
- package/createPalette.js +12 -0
- package/debounce.d.ts +1 -0
- package/debounce.js +18 -0
- package/debouncePromise.d.ts +1 -0
- package/debouncePromise.js +52 -0
- package/debounceRaf.d.ts +1 -0
- package/debounceRaf.js +13 -0
- package/decode.d.ts +1 -0
- package/decode.js +2 -0
- package/encode.d.ts +1 -0
- package/encode.js +2 -0
- package/ensureInt.d.ts +1 -0
- package/ensureInt.js +2 -0
- package/env.js +1 -0
- package/errorToString.d.ts +1 -0
- package/errorToString.js +3 -0
- package/escapeRegExp.d.ts +1 -0
- package/escapeRegExp.js +2 -0
- package/findDuplicatedIndexes.d.ts +1 -0
- package/findDuplicatedIndexes.js +11 -0
- package/forin.d.ts +1 -0
- package/forin.js +6 -0
- package/gbToBytes.d.ts +1 -0
- package/gbToBytes.js +2 -0
- package/getEmptyArray.d.ts +1 -0
- package/getEmptyArray.js +5 -0
- package/getKeys.d.ts +1 -0
- package/getKeys.js +2 -0
- package/getMediaQueryWidthResolvers.d.ts +1 -0
- package/getMediaQueryWidthResolvers.js +42 -0
- package/getMediaQueryWidthTailwindScreens.d.ts +1 -0
- package/getMediaQueryWidthTailwindScreens.js +27 -0
- package/getNonce.d.ts +1 -0
- package/getNonce.js +3 -0
- package/getParamAmong.d.ts +1 -0
- package/getParamAmong.js +6 -0
- package/getParamAsInt.d.ts +1 -0
- package/getParamAsInt.js +9 -0
- package/getParamAsString.d.ts +1 -0
- package/getParamAsString.js +3 -0
- package/getType.d.ts +1 -0
- package/getType.js +2 -0
- package/getUrlHashParams.d.ts +1 -0
- package/getUrlHashParams.js +9 -0
- package/getUrlHashPathname.d.ts +1 -0
- package/getUrlHashPathname.js +2 -0
- package/getUrlPathnameParts.d.ts +1 -0
- package/getUrlPathnameParts.js +6 -0
- package/getUrlQueryParams.d.ts +1 -0
- package/getUrlQueryParams.js +22 -0
- package/imgEmptyPixel.d.ts +1 -0
- package/imgEmptyPixel.js +2 -0
- package/index.cjs.js +69 -69
- package/index.d.ts +1 -1
- package/index.esm.js +69 -69
- package/index.js +156 -0
- package/invariant.d.ts +1 -0
- package/invariant.js +17 -0
- package/isAbsoluteUrl.d.ts +1 -0
- package/isAbsoluteUrl.js +3 -0
- package/isAnyObject.d.ts +1 -0
- package/isAnyObject.js +3 -0
- package/isArray.d.ts +1 -0
- package/isArray.js +3 -0
- package/isBlob.d.ts +1 -0
- package/isBlob.js +3 -0
- package/isBoolean.d.ts +1 -0
- package/isBoolean.js +3 -0
- package/isBrowser.d.ts +1 -0
- package/isBrowser.js +2 -0
- package/isBrowserNow.d.ts +1 -0
- package/isBrowserNow.js +3 -0
- package/isDate.d.ts +1 -0
- package/isDate.js +3 -0
- package/isEmptyArray.d.ts +1 -0
- package/isEmptyArray.js +3 -0
- package/isEmptyObject.d.ts +1 -0
- package/isEmptyObject.js +3 -0
- package/isEmptyString.d.ts +1 -0
- package/isEmptyString.js +2 -0
- package/isError.d.ts +1 -0
- package/isError.js +3 -0
- package/isExternalUrl.d.ts +1 -0
- package/isExternalUrl.js +11 -0
- package/isFile.d.ts +1 -0
- package/isFile.js +3 -0
- package/isFloat.d.ts +1 -0
- package/isFloat.js +3 -0
- package/isFormData.d.ts +1 -0
- package/isFormData.js +3 -0
- package/isFullArray.d.ts +1 -0
- package/isFullArray.js +3 -0
- package/isFullObject.d.ts +1 -0
- package/isFullObject.js +3 -0
- package/isFullString.d.ts +1 -0
- package/isFullString.js +3 -0
- package/isFunction.d.ts +1 -0
- package/isFunction.js +2 -0
- package/isInt.d.ts +1 -0
- package/isInt.js +3 -0
- package/isMap.d.ts +1 -0
- package/isMap.js +3 -0
- package/isNaNValue.d.ts +1 -0
- package/isNaNValue.js +3 -0
- package/isNegativeNumber.d.ts +1 -0
- package/isNegativeNumber.js +3 -0
- package/isNull.d.ts +1 -0
- package/isNull.js +3 -0
- package/isNullOrUndefined.d.ts +1 -0
- package/isNullOrUndefined.js +5 -0
- package/isNumber.d.ts +1 -0
- package/isNumber.js +3 -0
- package/isNumericLiteral.d.ts +1 -0
- package/isNumericLiteral.js +2 -0
- package/isObject.d.ts +1 -0
- package/isObject.js +3 -0
- package/isObjectLike.d.ts +1 -0
- package/isObjectLike.js +3 -0
- package/isObjectStringKeyed.d.ts +1 -0
- package/isObjectStringKeyed.js +3 -0
- package/isOneOf.d.ts +1 -0
- package/isOneOf.js +8 -0
- package/isPlainObject.d.ts +1 -0
- package/isPlainObject.js +6 -0
- package/isPositiveNumber.d.ts +1 -0
- package/isPositiveNumber.js +3 -0
- package/isPrimitive.d.ts +1 -0
- package/isPrimitive.js +13 -0
- package/isPromise.d.ts +1 -0
- package/isPromise.js +3 -0
- package/isRegExp.d.ts +1 -0
- package/isRegExp.js +3 -0
- package/isServer.d.ts +1 -0
- package/isServer.js +3 -0
- package/isServerNow.d.ts +1 -0
- package/isServerNow.js +3 -0
- package/isSet.d.ts +1 -0
- package/isSet.js +3 -0
- package/isString.d.ts +1 -0
- package/isString.js +3 -0
- package/isSymbol.d.ts +1 -0
- package/isSymbol.js +3 -0
- package/isType.d.ts +1 -0
- package/isType.js +13 -0
- package/isUndefined.d.ts +1 -0
- package/isUndefined.js +3 -0
- package/isWeakMap.d.ts +1 -0
- package/isWeakMap.js +3 -0
- package/isWeakSet.d.ts +1 -0
- package/isWeakSet.js +3 -0
- package/kbToBytes.d.ts +1 -0
- package/kbToBytes.js +2 -0
- package/location.js +1 -0
- package/lowercase.d.ts +1 -0
- package/lowercase.js +2 -0
- package/mapListBy.d.ts +1 -0
- package/mapListBy.js +5 -0
- package/matchSorter.d.ts +1 -0
- package/matchSorter.js +239 -0
- package/mbToBytes.d.ts +1 -0
- package/mbToBytes.js +2 -0
- package/mergeObjects.d.ts +1 -0
- package/mergeObjects.js +29 -0
- package/mergeUrlQueryParams.d.ts +1 -0
- package/mergeUrlQueryParams.js +14 -0
- package/moveSortableArrayItemByKey.d.ts +1 -0
- package/moveSortableArrayItemByKey.js +9 -0
- package/noop.d.ts +1 -0
- package/noop.js +2 -0
- package/normaliseUrl.d.ts +1 -0
- package/normaliseUrl.js +3 -0
- package/normaliseUrlPathname.d.ts +1 -0
- package/normaliseUrlPathname.js +3 -0
- package/objectFlat.d.ts +1 -0
- package/objectFlat.js +17 -0
- package/objectFlip.d.ts +1 -0
- package/objectFlip.js +5 -0
- package/objectMergeWithDefaults.d.ts +1 -0
- package/objectMergeWithDefaults.js +21 -0
- package/objectOmit.d.ts +1 -0
- package/objectOmit.js +8 -0
- package/objectPick.d.ts +1 -0
- package/objectPick.js +9 -0
- package/objectSort.d.ts +1 -0
- package/objectSort.js +2 -0
- package/objectSortByKeysMatching.d.ts +1 -0
- package/objectSortByKeysMatching.js +3 -0
- package/objectToArray.d.ts +1 -0
- package/objectToArray.js +2 -0
- package/package.json +1 -1
- package/parseCookie.d.ts +1 -0
- package/parseCookie.js +33 -0
- package/parseURL.d.ts +1 -0
- package/parseURL.js +14 -0
- package/quaranteneProps.d.ts +1 -1
- package/quaranteneProps.js +16 -0
- package/randomInt.d.ts +1 -0
- package/randomInt.js +2 -0
- package/randomKey.d.ts +1 -0
- package/randomKey.js +5 -0
- package/readCookie.d.ts +1 -0
- package/readCookie.js +34 -0
- package/removeAccents.d.ts +1 -0
- package/removeAccents.js +10 -0
- package/removeCookie.d.ts +1 -0
- package/removeCookie.js +10 -0
- package/removeDuplicates.d.ts +2 -0
- package/removeDuplicates.js +2 -0
- package/removeDuplicatesByKey.d.ts +1 -0
- package/removeDuplicatesByKey.js +13 -0
- package/removeDuplicatesComparing.d.ts +1 -0
- package/removeDuplicatesComparing.js +7 -0
- package/removeIndexesFromArray.d.ts +1 -0
- package/removeIndexesFromArray.js +10 -0
- package/removeTrailingSlash.d.ts +2 -1
- package/removeTrailingSlash.js +2 -0
- package/removeUrlQueryParams.d.ts +1 -0
- package/removeUrlQueryParams.js +14 -0
- package/render.d.ts +1 -1
- package/render.js +113 -0
- package/round.d.ts +1 -0
- package/round.js +4 -0
- package/roundTo.d.ts +1 -0
- package/roundTo.js +11 -0
- package/serializeCookie.d.ts +1 -0
- package/serializeCookie.js +69 -0
- package/setCookie.d.ts +1 -0
- package/setCookie.js +45 -0
- package/shuffle.d.ts +1 -0
- package/shuffle.js +17 -0
- package/slugify.d.ts +1 -0
- package/slugify.js +11 -0
- package/split.d.ts +1 -0
- package/split.js +2 -0
- package/splitReverse.d.ts +1 -0
- package/splitReverse.js +2 -0
- package/swapMap.d.ts +1 -0
- package/swapMap.js +8 -0
- package/throttle.d.ts +1 -0
- package/throttle.js +15 -0
- package/titleCase.d.ts +1 -0
- package/titleCase.js +4 -0
- package/toNumber.d.ts +1 -0
- package/toNumber.js +3 -0
- package/toRgba.d.ts +1 -0
- package/toRgba.js +8 -0
- package/transformToUrlPathname.d.ts +1 -0
- package/transformToUrlPathname.js +5 -0
- package/truncate.d.ts +1 -0
- package/truncate.js +6 -0
- package/tryUntil.d.ts +1 -0
- package/tryUntil.js +15 -0
- package/types.js +1 -0
- package/uid.d.ts +1 -0
- package/uid.js +6 -0
- package/updateLinkParams.d.ts +1 -0
- package/updateLinkParams.js +7 -0
- package/updateUrlQueryParams.d.ts +1 -0
- package/updateUrlQueryParams.js +11 -0
- package/uppercase.d.ts +1 -0
- package/uppercase.js +2 -0
- package/uuid.d.ts +1 -0
- package/uuid.js +5 -0
- package/uuidNumeric.d.ts +1 -0
- package/uuidNumeric.js +2 -0
- package/wait.d.ts +1 -0
- package/wait.js +2 -0
- package/without.js +1 -0
package/Defer.d.ts
CHANGED
package/Defer.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function Defer() {
|
|
2
|
+
const self = this || {};
|
|
3
|
+
const p = (self.promise = new Promise((resolve, reject) => {
|
|
4
|
+
self.resolve = resolve;
|
|
5
|
+
self.reject = reject;
|
|
6
|
+
}));
|
|
7
|
+
self.then = p.then.bind(p);
|
|
8
|
+
self.catch = p.catch.bind(p);
|
|
9
|
+
return self;
|
|
10
|
+
}
|
|
11
|
+
export default Defer;
|
package/Emitter.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export declare let Emitter: <EventMap extends {
|
|
|
4
4
|
on<EventName extends keyof EventMap>(name: EventName, handler: (data?: EventMap[EventName] | undefined) => any): void;
|
|
5
5
|
emit<EventName_1 extends keyof EventMap>(name: EventName_1, data?: EventMap[EventName_1] | undefined): void;
|
|
6
6
|
};
|
|
7
|
+
export default Emitter;
|
package/Emitter.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export let Emitter = (namespace) => {
|
|
2
|
+
const all = new Map();
|
|
3
|
+
return {
|
|
4
|
+
on(name, handler) {
|
|
5
|
+
const handlers = all.get(`${namespace}.${String(name)}`);
|
|
6
|
+
const added = handlers && handlers.push(handler);
|
|
7
|
+
if (!added) {
|
|
8
|
+
all.set(`${namespace}.${String(name)}`, [handler]);
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
emit(name, data) {
|
|
12
|
+
(all.get(`${namespace}.${String(name)}`) || [])
|
|
13
|
+
.slice()
|
|
14
|
+
.map((handler) => {
|
|
15
|
+
handler(data);
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export default Emitter;
|
package/accentSets.d.ts
CHANGED
package/accentSets.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export let accentsSets = [
|
|
2
|
+
["a", "ÀÁÂÃÅÆĀĂĄẠẢẤẦẨẪẬẮẰẲẴẶ"],
|
|
3
|
+
["ae", "Ä"],
|
|
4
|
+
["c", "ÇĆĈČ"],
|
|
5
|
+
["d", "ÐĎĐÞ"],
|
|
6
|
+
["e", "ÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆ"],
|
|
7
|
+
["g", "ĜĞĢǴ"],
|
|
8
|
+
["h", "ĤḦ"],
|
|
9
|
+
["i", "ÌÍÎÏĨĪĮİỈỊ"],
|
|
10
|
+
["j", "Ĵ"],
|
|
11
|
+
["ij", "IJ"],
|
|
12
|
+
["k", "Ķ"],
|
|
13
|
+
["l", "ĹĻĽŁ"],
|
|
14
|
+
["m", "Ḿ"],
|
|
15
|
+
["n", "ÑŃŅŇ"],
|
|
16
|
+
["o", "ÒÓÔÕØŌŎŐỌỎỐỒỔỖỘỚỜỞỠỢǪǬƠ"],
|
|
17
|
+
["oe", "΅"],
|
|
18
|
+
["p", "ṕ"],
|
|
19
|
+
["r", "ŔŖŘ"],
|
|
20
|
+
["s", "ŚŜŞŠ"],
|
|
21
|
+
["ss", "ß"],
|
|
22
|
+
["t", "ŢŤ"],
|
|
23
|
+
["u", "ÙÚÛŨŪŬŮŰŲỤỦỨỪỬỮỰƯ"],
|
|
24
|
+
["ue", "Ü"],
|
|
25
|
+
["w", "ẂŴẀẄ"],
|
|
26
|
+
["x", "ẍ"],
|
|
27
|
+
["y", "ÝŶŸỲỴỶỸ"],
|
|
28
|
+
["z", "ŹŻŽ"],
|
|
29
|
+
];
|
|
30
|
+
export default accentsSets;
|
package/addOrReplaceAtIdx.d.ts
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export let addOrReplaceAtIdx = (list, newItem, newIdx) => {
|
|
2
|
+
if (list.length === 0) {
|
|
3
|
+
return [newItem];
|
|
4
|
+
}
|
|
5
|
+
if (typeof newIdx === "undefined" || list.length - 1 < newIdx) {
|
|
6
|
+
return [...list, newItem];
|
|
7
|
+
}
|
|
8
|
+
return list.map((item, idx) => {
|
|
9
|
+
if (idx === newIdx) {
|
|
10
|
+
return newItem;
|
|
11
|
+
}
|
|
12
|
+
return item;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export default addOrReplaceAtIdx;
|
package/areEqual.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
type ComparablePrimitive = string | number | boolean;
|
|
2
2
|
type Comparable = ComparablePrimitive | object | Record<string, ComparablePrimitive> | Array<ComparablePrimitive>;
|
|
3
3
|
export declare let areEqual: (a: Comparable, b?: Comparable) => boolean;
|
|
4
|
-
export
|
|
4
|
+
export default areEqual;
|
package/areEqual.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { isArray } from "./isArray";
|
|
2
|
+
import { isObject } from "./isObject";
|
|
3
|
+
let areEqualArrays = (a, b) => {
|
|
4
|
+
if (!b)
|
|
5
|
+
return false;
|
|
6
|
+
if (a.length !== b.length)
|
|
7
|
+
return false;
|
|
8
|
+
for (let i = 0; i < a.length; i++) {
|
|
9
|
+
if (!areEqual(a[i], b[i]))
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
let areEqualObjects = (a, b) => {
|
|
15
|
+
if (!b)
|
|
16
|
+
return false;
|
|
17
|
+
const aKeys = Object.keys(a);
|
|
18
|
+
for (const _key of aKeys) {
|
|
19
|
+
const key = _key;
|
|
20
|
+
if (!areEqual(a[key], b[key])) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
};
|
|
26
|
+
export let areEqual = (a, b) => {
|
|
27
|
+
if (!a && !b) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
if (!b && a !== b) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const areObjects = isObject(a) && isObject(b);
|
|
34
|
+
if (areObjects && !areEqualObjects(a, b)) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
const areArrays = isArray(a) && isArray(b);
|
|
38
|
+
if (areArrays && !areEqualArrays(a, b)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
if (!areObjects && !areArrays && a !== b) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
};
|
|
46
|
+
export default areEqual;
|
package/arrayFilterFalsy.d.ts
CHANGED
package/arrayFindLastIndex.d.ts
CHANGED
package/arrayOfAll.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export declare let arrayOfAll: <T>() => <U extends T[]>(array: U & ([T] extends [U[number]] ? unknown : "Invalid")) => U & ([T] extends [U[number]] ? unknown : "Invalid");
|
|
2
2
|
export type ArrayOfAll<List extends unknown[], Union> = List[number] extends Union ? Union extends List[number] ? true : "Incomplete" : "Incomplete";
|
|
3
|
+
export default arrayOfAll;
|
package/arrayOfAll.js
ADDED
package/arraySum.d.ts
CHANGED
package/arraySum.js
ADDED
package/arrayToLookup.d.ts
CHANGED
package/arrayToLookup.js
ADDED
package/buildUrlQueryString.d.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { isArray } from "./isArray";
|
|
2
|
+
import { isNull } from "./isNull";
|
|
3
|
+
import { isUndefined } from "./isUndefined";
|
|
4
|
+
export let buildUrlQueryString = (params) => {
|
|
5
|
+
let output = "";
|
|
6
|
+
if (!params)
|
|
7
|
+
return output;
|
|
8
|
+
for (const key in params) {
|
|
9
|
+
const value = params[key];
|
|
10
|
+
if (isArray(value)) {
|
|
11
|
+
for (let i = 0; i < value.length; i++) {
|
|
12
|
+
output += `${key}=${encodeURIComponent(value[i] + "")}&`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else if (!isNull(value) && !isUndefined(value)) {
|
|
16
|
+
output += `${key}=${encodeURIComponent(value + "")}&`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return output ? `?${output.replace(/&+$/, "")}` : "";
|
|
20
|
+
};
|
|
21
|
+
export default buildUrlQueryString;
|
package/capitalize.d.ts
CHANGED
package/capitalize.js
ADDED
package/changeCaseCamel.d.ts
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { capitalCaseTransformFactory, lowerFactory, pascalCaseTransformFactory, splitPrefixSuffix, upperFactory, } from "./changeCaseHelpers";
|
|
2
|
+
export let changeCaseCamel = (input, options) => {
|
|
3
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
4
|
+
const lower = lowerFactory(options?.locale);
|
|
5
|
+
const upper = upperFactory(options?.locale);
|
|
6
|
+
const transform = options?.mergeAmbiguousCharacters
|
|
7
|
+
? capitalCaseTransformFactory(lower, upper)
|
|
8
|
+
: pascalCaseTransformFactory(lower, upper);
|
|
9
|
+
return (prefix +
|
|
10
|
+
words
|
|
11
|
+
.map((word, index) => {
|
|
12
|
+
if (index === 0)
|
|
13
|
+
return lower(word);
|
|
14
|
+
return transform(word, index);
|
|
15
|
+
})
|
|
16
|
+
.join(options?.delimiter ?? "") +
|
|
17
|
+
suffix);
|
|
18
|
+
};
|
|
19
|
+
export default changeCaseCamel;
|
package/changeCaseCapital.d.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { capitalCaseTransformFactory, lowerFactory, splitPrefixSuffix, upperFactory, } from "./changeCaseHelpers";
|
|
2
|
+
export let changeCaseCapital = (input, options) => {
|
|
3
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
4
|
+
const lower = lowerFactory(options?.locale);
|
|
5
|
+
const upper = upperFactory(options?.locale);
|
|
6
|
+
return (prefix +
|
|
7
|
+
words
|
|
8
|
+
.map(capitalCaseTransformFactory(lower, upper))
|
|
9
|
+
.join(options?.delimiter ?? " ") +
|
|
10
|
+
suffix);
|
|
11
|
+
};
|
|
12
|
+
export default changeCaseCapital;
|
package/changeCaseConstant.d.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { splitPrefixSuffix, upperFactory, } from "./changeCaseHelpers";
|
|
2
|
+
export let changeCaseConstant = (input, options) => {
|
|
3
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
4
|
+
return (prefix +
|
|
5
|
+
words.map(upperFactory(options?.locale)).join(options?.delimiter ?? "_") +
|
|
6
|
+
suffix);
|
|
7
|
+
};
|
|
8
|
+
export default changeCaseConstant;
|
package/changeCaseDot.d.ts
CHANGED
package/changeCaseDot.js
ADDED
package/changeCaseHelpers.d.ts
CHANGED
|
@@ -12,8 +12,3 @@ export interface Options {
|
|
|
12
12
|
}
|
|
13
13
|
export declare let split: (value: string) => string[];
|
|
14
14
|
export declare let splitSeparateNumbers: (value: string) => string[];
|
|
15
|
-
export declare let lowerFactory: (locale: Locale) => (input: string) => string;
|
|
16
|
-
export declare let upperFactory: (locale: Locale) => (input: string) => string;
|
|
17
|
-
export declare let capitalCaseTransformFactory: (lower: (input: string) => string, upper: (input: string) => string) => (word: string) => string;
|
|
18
|
-
export declare let pascalCaseTransformFactory: (lower: (input: string) => string, upper: (input: string) => string) => (word: string, index: number) => string;
|
|
19
|
-
export declare let splitPrefixSuffix: (input: string, options?: Options) => [string, string[], string];
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
let SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;
|
|
2
|
+
let SPLIT_UPPER_UPPER_RE = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu;
|
|
3
|
+
let SPLIT_SEPARATE_NUMBER_RE = /(\d)\p{Ll}|(\p{L})\d/u;
|
|
4
|
+
let DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
|
|
5
|
+
let SPLIT_REPLACE_VALUE = "$1\0$2";
|
|
6
|
+
let DEFAULT_PREFIX_SUFFIX_CHARACTERS = "";
|
|
7
|
+
export let split = (value) => {
|
|
8
|
+
let result = value.trim();
|
|
9
|
+
result = result
|
|
10
|
+
.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)
|
|
11
|
+
.replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
|
|
12
|
+
result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
|
|
13
|
+
let start = 0;
|
|
14
|
+
let end = result.length;
|
|
15
|
+
while (result.charAt(start) === "\0")
|
|
16
|
+
start++;
|
|
17
|
+
if (start === end)
|
|
18
|
+
return [];
|
|
19
|
+
while (result.charAt(end - 1) === "\0")
|
|
20
|
+
end--;
|
|
21
|
+
return result.slice(start, end).split(/\0/g);
|
|
22
|
+
};
|
|
23
|
+
export let splitSeparateNumbers = (value) => {
|
|
24
|
+
const words = split(value);
|
|
25
|
+
for (let i = 0; i < words.length; i++) {
|
|
26
|
+
const word = words[i];
|
|
27
|
+
const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);
|
|
28
|
+
if (match) {
|
|
29
|
+
const offset = match.index + (match[1] ?? match[2]).length;
|
|
30
|
+
words.splice(i, 1, word.slice(0, offset), word.slice(offset));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return words;
|
|
34
|
+
};
|
|
35
|
+
export let lowerFactory = (locale) => locale === false
|
|
36
|
+
? (input) => input.toLowerCase()
|
|
37
|
+
: (input) => input.toLocaleLowerCase(locale);
|
|
38
|
+
export let upperFactory = (locale) => locale === false
|
|
39
|
+
? (input) => input.toUpperCase()
|
|
40
|
+
: (input) => input.toLocaleUpperCase(locale);
|
|
41
|
+
export let capitalCaseTransformFactory = (lower, upper) => (word) => `${upper(word[0])}${lower(word.slice(1))}`;
|
|
42
|
+
export let pascalCaseTransformFactory = (lower, upper) => (word, index) => {
|
|
43
|
+
const char0 = word[0];
|
|
44
|
+
const initial = index > 0 && char0 >= "0" && char0 <= "9" ? "_" + char0 : upper(char0);
|
|
45
|
+
return initial + lower(word.slice(1));
|
|
46
|
+
};
|
|
47
|
+
export let splitPrefixSuffix = (input, options = {}) => {
|
|
48
|
+
const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);
|
|
49
|
+
const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
|
|
50
|
+
const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
|
|
51
|
+
let prefixIndex = 0;
|
|
52
|
+
let suffixIndex = input.length;
|
|
53
|
+
while (prefixIndex < input.length) {
|
|
54
|
+
const char = input.charAt(prefixIndex);
|
|
55
|
+
if (!prefixCharacters.includes(char))
|
|
56
|
+
break;
|
|
57
|
+
prefixIndex++;
|
|
58
|
+
}
|
|
59
|
+
while (suffixIndex > prefixIndex) {
|
|
60
|
+
const index = suffixIndex - 1;
|
|
61
|
+
const char = input.charAt(index);
|
|
62
|
+
if (!suffixCharacters.includes(char))
|
|
63
|
+
break;
|
|
64
|
+
suffixIndex = index;
|
|
65
|
+
}
|
|
66
|
+
return [
|
|
67
|
+
input.slice(0, prefixIndex),
|
|
68
|
+
splitFn(input.slice(prefixIndex, suffixIndex)),
|
|
69
|
+
input.slice(suffixIndex),
|
|
70
|
+
];
|
|
71
|
+
};
|
package/changeCaseKebab.d.ts
CHANGED
package/changeCaseNone.d.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { lowerFactory, splitPrefixSuffix, } from "./changeCaseHelpers";
|
|
2
|
+
export let changeCaseNone = (input, options) => {
|
|
3
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
4
|
+
return (prefix +
|
|
5
|
+
words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? " ") +
|
|
6
|
+
suffix);
|
|
7
|
+
};
|
|
8
|
+
export default changeCaseNone;
|
package/changeCasePascal.d.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { capitalCaseTransformFactory, lowerFactory, pascalCaseTransformFactory, splitPrefixSuffix, upperFactory, } from "./changeCaseHelpers";
|
|
2
|
+
export let changeCasePascal = (input, options) => {
|
|
3
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
4
|
+
const lower = lowerFactory(options?.locale);
|
|
5
|
+
const upper = upperFactory(options?.locale);
|
|
6
|
+
const transform = options?.mergeAmbiguousCharacters
|
|
7
|
+
? capitalCaseTransformFactory(lower, upper)
|
|
8
|
+
: pascalCaseTransformFactory(lower, upper);
|
|
9
|
+
return prefix + words.map(transform).join(options?.delimiter ?? "") + suffix;
|
|
10
|
+
};
|
|
11
|
+
export default changeCasePascal;
|
package/changeCasePath.d.ts
CHANGED
package/changeCaseSentence.d.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { capitalCaseTransformFactory, lowerFactory, splitPrefixSuffix, upperFactory, } from "./changeCaseHelpers";
|
|
2
|
+
export let changeCaseSentence = (input, options) => {
|
|
3
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
4
|
+
const lower = lowerFactory(options?.locale);
|
|
5
|
+
const upper = upperFactory(options?.locale);
|
|
6
|
+
const transform = capitalCaseTransformFactory(lower, upper);
|
|
7
|
+
return (prefix +
|
|
8
|
+
words
|
|
9
|
+
.map((word, index) => {
|
|
10
|
+
if (index === 0)
|
|
11
|
+
return transform(word);
|
|
12
|
+
return lower(word);
|
|
13
|
+
})
|
|
14
|
+
.join(options?.delimiter ?? " ") +
|
|
15
|
+
suffix);
|
|
16
|
+
};
|
|
17
|
+
export default changeCaseSentence;
|
package/changeCaseSnake.d.ts
CHANGED
package/changeCaseTrain.d.ts
CHANGED
package/chunkByChunks.d.ts
CHANGED
package/chunkByChunks.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export let chunkByChunks = (arr, nrOfChunks, balanced) => {
|
|
2
|
+
if (nrOfChunks < 2)
|
|
3
|
+
return [arr];
|
|
4
|
+
const len = arr.length;
|
|
5
|
+
const output = [];
|
|
6
|
+
let i = 0;
|
|
7
|
+
let size;
|
|
8
|
+
if (len % nrOfChunks === 0) {
|
|
9
|
+
size = Math.floor(len / nrOfChunks);
|
|
10
|
+
while (i < len) {
|
|
11
|
+
output.push(arr.slice(i, (i += size)));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
else if (balanced) {
|
|
15
|
+
while (i < len) {
|
|
16
|
+
size = Math.ceil((len - i) / nrOfChunks--);
|
|
17
|
+
output.push(arr.slice(i, (i += size)));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
nrOfChunks--;
|
|
22
|
+
size = Math.floor(len / nrOfChunks);
|
|
23
|
+
if (len % size === 0)
|
|
24
|
+
size--;
|
|
25
|
+
while (i < size * nrOfChunks) {
|
|
26
|
+
output.push(arr.slice(i, (i += size)));
|
|
27
|
+
}
|
|
28
|
+
output.push(arr.slice(size * nrOfChunks));
|
|
29
|
+
}
|
|
30
|
+
return output;
|
|
31
|
+
};
|
|
32
|
+
export default chunkByChunks;
|
package/chunkBySize.d.ts
CHANGED
package/chunkBySize.js
ADDED
package/clamp.d.ts
CHANGED
package/clamp.js
ADDED
package/clsx.d.ts
CHANGED
package/clsx.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
let toVal = (mix) => {
|
|
2
|
+
let k, y, str = "";
|
|
3
|
+
if (typeof mix === "string" || typeof mix === "number") {
|
|
4
|
+
str += mix;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof mix === "object") {
|
|
7
|
+
if (Array.isArray(mix)) {
|
|
8
|
+
for (k = 0; k < mix.length; k++) {
|
|
9
|
+
if (mix[k]) {
|
|
10
|
+
if ((y = toVal(mix[k]))) {
|
|
11
|
+
str && (str += " ");
|
|
12
|
+
str += y;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
for (k in mix) {
|
|
19
|
+
if (mix[k]) {
|
|
20
|
+
str && (str += " ");
|
|
21
|
+
str += k;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return str;
|
|
27
|
+
};
|
|
28
|
+
export let clsx = function () {
|
|
29
|
+
let i = 0, tmp, x, str = "";
|
|
30
|
+
while (i < arguments.length) {
|
|
31
|
+
if ((tmp = arguments[i++])) {
|
|
32
|
+
if ((x = toVal(tmp))) {
|
|
33
|
+
str && (str += " ");
|
|
34
|
+
str += x;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return str;
|
|
39
|
+
};
|
|
40
|
+
export default clsx;
|
package/convertRange.d.ts
CHANGED
package/convertRange.js
ADDED