@koine/utils 2.0.0-beta.82 → 2.0.0-beta.83
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.cjs.js +20 -1
- package/Defer.esm.js +20 -1
- package/Emitter.cjs.js +18 -1
- package/Emitter.esm.js +18 -1
- package/accentsSets.cjs.js +13 -1
- package/accentsSets.esm.js +13 -1
- package/addOrReplaceAtIdx.cjs.js +7 -1
- package/addOrReplaceAtIdx.esm.js +7 -1
- package/areEqual.cjs.js +28 -1
- package/areEqual.esm.js +28 -1
- package/arrayFilterFalsy.cjs.js +6 -1
- package/arrayFilterFalsy.esm.js +6 -1
- package/arrayFindLastIndex.cjs.js +13 -1
- package/arrayFindLastIndex.esm.js +13 -1
- package/arrayOfAll.cjs.js +16 -1
- package/arrayOfAll.esm.js +16 -1
- package/arraySum.cjs.js +6 -1
- package/arraySum.esm.js +6 -1
- package/arrayToLookup.cjs.js +5 -1
- package/arrayToLookup.esm.js +5 -1
- package/arrayUniqueByProperties.cjs.js +8 -1
- package/arrayUniqueByProperties.esm.js +8 -1
- package/buildUrlQueryString.cjs.js +10 -1
- package/buildUrlQueryString.esm.js +10 -1
- package/capitalize.cjs.js +7 -1
- package/capitalize.esm.js +7 -1
- package/changeCaseCamel.cjs.js +7 -1
- package/changeCaseCamel.esm.js +7 -1
- package/changeCaseCapital.cjs.js +7 -1
- package/changeCaseCapital.esm.js +7 -1
- package/changeCaseConstant.cjs.js +7 -1
- package/changeCaseConstant.esm.js +7 -1
- package/changeCaseDot.cjs.js +7 -1
- package/changeCaseDot.esm.js +7 -1
- package/changeCaseHelpers.cjs.js +32 -1
- package/changeCaseHelpers.esm.js +32 -1
- package/changeCaseKebab.cjs.js +7 -1
- package/changeCaseKebab.esm.js +7 -1
- package/changeCaseNone.cjs.js +7 -1
- package/changeCaseNone.esm.js +7 -1
- package/changeCasePascal.cjs.js +7 -1
- package/changeCasePascal.esm.js +7 -1
- package/changeCasePascalSnake.cjs.js +7 -1
- package/changeCasePascalSnake.esm.js +7 -1
- package/changeCasePath.cjs.js +7 -1
- package/changeCasePath.esm.js +7 -1
- package/changeCaseSentence.cjs.js +7 -1
- package/changeCaseSentence.esm.js +7 -1
- package/changeCaseSnake.cjs.js +7 -1
- package/changeCaseSnake.esm.js +7 -1
- package/changeCaseTrain.cjs.js +7 -1
- package/changeCaseTrain.esm.js +7 -1
- package/chunkByChunks.cjs.js +5 -1
- package/chunkByChunks.esm.js +5 -1
- package/chunkBySize.cjs.js +4 -1
- package/chunkBySize.esm.js +4 -1
- package/clamp.cjs.js +6 -1
- package/clamp.esm.js +6 -1
- package/clsx.cjs.js +2 -1
- package/clsx.esm.js +2 -1
- package/convertRange.cjs.js +14 -1
- package/convertRange.esm.js +14 -1
- package/cookie.cjs.js +44 -1
- package/cookie.esm.js +44 -1
- package/createPalette.cjs.js +17 -1
- package/createPalette.esm.js +17 -1
- package/debounce.cjs.js +7 -1
- package/debounce.esm.js +7 -1
- package/debouncePromise.cjs.js +10 -1
- package/debouncePromise.esm.js +10 -1
- package/debounceRaf.cjs.js +4 -1
- package/debounceRaf.esm.js +4 -1
- package/decode.cjs.js +4 -1
- package/decode.esm.js +4 -1
- package/encode.cjs.js +4 -1
- package/encode.esm.js +4 -1
- package/ensureInt.cjs.js +5 -1
- package/ensureInt.esm.js +5 -1
- package/errorToString.cjs.js +6 -1
- package/errorToString.esm.js +6 -1
- package/escapeRegExp.cjs.js +7 -1
- package/escapeRegExp.esm.js +7 -1
- package/findDuplicatedIndexes.cjs.js +3 -1
- package/findDuplicatedIndexes.esm.js +3 -1
- package/forin.cjs.js +6 -1
- package/forin.esm.js +6 -1
- package/gbToBytes.cjs.js +5 -1
- package/gbToBytes.esm.js +5 -1
- package/getEmptyArray.cjs.js +6 -1
- package/getEmptyArray.esm.js +6 -1
- package/getKeys.cjs.js +8 -1
- package/getKeys.esm.js +8 -1
- package/getMediaQueryWidthResolvers.cjs.js +27 -1
- package/getMediaQueryWidthResolvers.esm.js +27 -1
- package/getMediaQueryWidthTailwindScreens.cjs.js +6 -1
- package/getMediaQueryWidthTailwindScreens.esm.js +6 -1
- package/getNonce.cjs.js +4 -1
- package/getNonce.esm.js +4 -1
- package/getParamAmong.cjs.js +11 -1
- package/getParamAmong.esm.js +11 -1
- package/getParamAsInt.cjs.js +10 -1
- package/getParamAsInt.esm.js +10 -1
- package/getParamAsString.cjs.js +9 -1
- package/getParamAsString.esm.js +9 -1
- package/getType.cjs.js +13 -1
- package/getType.esm.js +13 -1
- package/getUrlHashParams.cjs.js +6 -1
- package/getUrlHashParams.esm.js +6 -1
- package/getUrlHashPathname.cjs.js +7 -1
- package/getUrlHashPathname.esm.js +7 -1
- package/getUrlPathnameParts.cjs.js +10 -1
- package/getUrlPathnameParts.esm.js +10 -1
- package/getUrlQueryParams.cjs.js +12 -1
- package/getUrlQueryParams.esm.js +12 -1
- package/hashAny.cjs.js +30 -1
- package/hashAny.esm.js +30 -1
- package/imgEmptyPixel.cjs.js +5 -1
- package/imgEmptyPixel.esm.js +5 -1
- package/invariant.cjs.js +17 -1
- package/invariant.esm.js +17 -1
- package/isAbsoluteUrl.cjs.js +5 -1
- package/isAbsoluteUrl.esm.js +5 -1
- package/isAnyObject.cjs.js +5 -1
- package/isAnyObject.esm.js +5 -1
- package/isArray.cjs.js +5 -1
- package/isArray.esm.js +5 -1
- package/isBlob.cjs.js +5 -1
- package/isBlob.esm.js +5 -1
- package/isBoolean.cjs.js +5 -1
- package/isBoolean.esm.js +5 -1
- package/isBrowser.cjs.js +4 -1
- package/isBrowser.esm.js +4 -1
- package/isBrowserNow.cjs.js +4 -1
- package/isBrowserNow.esm.js +4 -1
- package/isDate.cjs.js +5 -1
- package/isDate.esm.js +5 -1
- package/isEmptyArray.cjs.js +5 -1
- package/isEmptyArray.esm.js +5 -1
- package/isEmptyObject.cjs.js +5 -1
- package/isEmptyObject.esm.js +5 -1
- package/isEmptyString.cjs.js +5 -1
- package/isEmptyString.esm.js +5 -1
- package/isError.cjs.js +5 -1
- package/isError.esm.js +5 -1
- package/isExternalUrl.cjs.js +9 -1
- package/isExternalUrl.esm.js +9 -1
- package/isFile.cjs.js +5 -1
- package/isFile.esm.js +5 -1
- package/isFloat.cjs.js +5 -1
- package/isFloat.esm.js +5 -1
- package/isFormData.cjs.js +5 -1
- package/isFormData.esm.js +5 -1
- package/isFullArray.cjs.js +5 -1
- package/isFullArray.esm.js +5 -1
- package/isFullObject.cjs.js +5 -1
- package/isFullObject.esm.js +5 -1
- package/isFullString.cjs.js +5 -1
- package/isFullString.esm.js +5 -1
- package/isFunction.cjs.js +5 -1
- package/isFunction.esm.js +5 -1
- package/isInt.cjs.js +5 -1
- package/isInt.esm.js +5 -1
- package/isMap.cjs.js +5 -1
- package/isMap.esm.js +5 -1
- package/isNaNValue.cjs.js +5 -1
- package/isNaNValue.esm.js +5 -1
- package/isNegativeNumber.cjs.js +5 -1
- package/isNegativeNumber.esm.js +5 -1
- package/isNull.cjs.js +5 -1
- package/isNull.esm.js +5 -1
- package/isNullOrUndefined.cjs.js +5 -1
- package/isNullOrUndefined.esm.js +5 -1
- package/isNumber.cjs.js +7 -1
- package/isNumber.esm.js +7 -1
- package/isNumericLiteral.cjs.js +8 -1
- package/isNumericLiteral.esm.js +8 -1
- package/isObject.cjs.js +5 -1
- package/isObject.esm.js +5 -1
- package/isObjectLike.cjs.js +7 -1
- package/isObjectLike.esm.js +7 -1
- package/isObjectStringKeyed.cjs.js +9 -1
- package/isObjectStringKeyed.esm.js +9 -1
- package/isOneOf.cjs.js +3 -1
- package/isOneOf.esm.js +3 -1
- package/isPlainObject.cjs.js +5 -1
- package/isPlainObject.esm.js +5 -1
- package/isPositiveNumber.cjs.js +5 -1
- package/isPositiveNumber.esm.js +5 -1
- package/isPrimitive.cjs.js +5 -1
- package/isPrimitive.esm.js +5 -1
- package/isPromise.cjs.js +5 -1
- package/isPromise.esm.js +5 -1
- package/isRegExp.cjs.js +5 -1
- package/isRegExp.esm.js +5 -1
- package/isServer.cjs.js +4 -1
- package/isServer.esm.js +4 -1
- package/isServerNow.cjs.js +4 -1
- package/isServerNow.esm.js +4 -1
- package/isSet.cjs.js +5 -1
- package/isSet.esm.js +5 -1
- package/isString.cjs.js +5 -1
- package/isString.esm.js +5 -1
- package/isSymbol.cjs.js +5 -1
- package/isSymbol.esm.js +5 -1
- package/isType.cjs.js +9 -1
- package/isType.esm.js +9 -1
- package/isUndefined.cjs.js +5 -1
- package/isUndefined.esm.js +5 -1
- package/isWeakMap.cjs.js +5 -1
- package/isWeakMap.esm.js +5 -1
- package/isWeakSet.cjs.js +5 -1
- package/isWeakSet.esm.js +5 -1
- package/kbToBytes.cjs.js +5 -1
- package/kbToBytes.esm.js +5 -1
- package/lowercase.cjs.js +5 -1
- package/lowercase.esm.js +5 -1
- package/mapListBy.cjs.js +5 -1
- package/mapListBy.esm.js +5 -1
- package/matchSorter.cjs.js +90 -1
- package/matchSorter.esm.js +90 -1
- package/mbToBytes.cjs.js +5 -1
- package/mbToBytes.esm.js +5 -1
- package/mergeObjects.cjs.js +8 -1
- package/mergeObjects.esm.js +8 -1
- package/mergeUrlQueryParams.cjs.js +5 -1
- package/mergeUrlQueryParams.esm.js +5 -1
- package/moveSortableArrayItemByKey.cjs.js +7 -1
- package/moveSortableArrayItemByKey.esm.js +7 -1
- package/noop.cjs.js +5 -1
- package/noop.esm.js +5 -1
- package/normaliseUrl.cjs.js +9 -1
- package/normaliseUrl.esm.js +9 -1
- package/normaliseUrlPathname.cjs.js +8 -1
- package/normaliseUrlPathname.esm.js +8 -1
- package/objectFlat.cjs.js +8 -1
- package/objectFlat.esm.js +8 -1
- package/objectFlip.cjs.js +4 -1
- package/objectFlip.esm.js +4 -1
- package/objectMergeWithDefaults.cjs.js +29 -1
- package/objectMergeWithDefaults.esm.js +29 -1
- package/objectOmit.cjs.js +9 -1
- package/objectOmit.esm.js +9 -1
- package/objectPick.cjs.js +6 -1
- package/objectPick.esm.js +6 -1
- package/objectSort.cjs.js +8 -1
- package/objectSort.esm.js +8 -1
- package/objectSortByKeysMatching.cjs.js +9 -1
- package/objectSortByKeysMatching.esm.js +9 -1
- package/objectToArray.cjs.js +6 -1
- package/objectToArray.esm.js +6 -1
- package/package.json +1 -1
- package/parseCookie.cjs.js +13 -1
- package/parseCookie.esm.js +13 -1
- package/parseURL.cjs.js +6 -1
- package/parseURL.esm.js +6 -1
- package/quaranteneProps.cjs.js +17 -1
- package/quaranteneProps.esm.js +17 -1
- package/randomInt.cjs.js +5 -1
- package/randomInt.esm.js +5 -1
- package/randomKey.cjs.js +6 -1
- package/randomKey.esm.js +6 -1
- package/readCookie.cjs.js +5 -1
- package/readCookie.esm.js +5 -1
- package/removeAccents.cjs.js +3 -1
- package/removeAccents.esm.js +3 -1
- package/removeCookie.cjs.js +3 -1
- package/removeCookie.esm.js +3 -1
- package/removeDuplicates.cjs.js +8 -1
- package/removeDuplicates.esm.js +8 -1
- package/removeDuplicatesByKey.cjs.js +6 -1
- package/removeDuplicatesByKey.esm.js +6 -1
- package/removeDuplicatesComparing.cjs.js +3 -1
- package/removeDuplicatesComparing.esm.js +3 -1
- package/removeIndexesFromArray.cjs.js +4 -1
- package/removeIndexesFromArray.esm.js +4 -1
- package/removeTrailingSlash.cjs.js +5 -1
- package/removeTrailingSlash.esm.js +5 -1
- package/removeUrlQueryParams.cjs.js +5 -1
- package/removeUrlQueryParams.esm.js +5 -1
- package/render.cjs.js +52 -1
- package/render.esm.js +52 -1
- package/round.cjs.js +11 -1
- package/round.esm.js +11 -1
- package/roundTo.cjs.js +22 -1
- package/roundTo.esm.js +22 -1
- package/serializeCookie.cjs.js +13 -1
- package/serializeCookie.esm.js +13 -1
- package/setCookie.cjs.js +11 -1
- package/setCookie.esm.js +11 -1
- package/shuffle.cjs.js +15 -1
- package/shuffle.esm.js +15 -1
- package/slugify.cjs.js +19 -1
- package/slugify.esm.js +19 -1
- package/split.cjs.js +6 -1
- package/split.esm.js +6 -1
- package/splitReverse.cjs.js +6 -1
- package/splitReverse.esm.js +6 -1
- package/swapMap.cjs.js +5 -1
- package/swapMap.esm.js +5 -1
- package/throttle.cjs.js +6 -1
- package/throttle.esm.js +6 -1
- package/toNumber.cjs.js +5 -1
- package/toNumber.esm.js +5 -1
- package/toRgba.cjs.js +5 -1
- package/toRgba.esm.js +5 -1
- package/transformToUrlPathname.cjs.js +9 -1
- package/transformToUrlPathname.esm.js +9 -1
- package/truncate.cjs.js +5 -1
- package/truncate.esm.js +5 -1
- package/tryUntil.cjs.js +14 -1
- package/tryUntil.esm.js +14 -1
- package/uid.cjs.js +5 -1
- package/uid.esm.js +5 -1
- package/updateLinkParams.cjs.js +7 -1
- package/updateLinkParams.esm.js +7 -1
- package/updateUrlQueryParams.cjs.js +5 -1
- package/updateUrlQueryParams.esm.js +5 -1
- package/uppercase.cjs.js +6 -1
- package/uppercase.esm.js +6 -1
- package/uuid.cjs.js +6 -1
- package/uuid.esm.js +6 -1
- package/uuidNumeric.cjs.js +4 -1
- package/uuidNumeric.esm.js +4 -1
- package/wait.cjs.js +5 -1
- package/wait.esm.js +5 -1
package/normaliseUrl.esm.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { removeTrailingSlash } from './removeTrailingSlash.esm.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Normalise URL, it works both for absolute and relative URLs
|
|
5
|
+
*
|
|
6
|
+
* - replaces too many consecutive slashes (except `http{s}://`)
|
|
7
|
+
* - removes the trailing slash
|
|
8
|
+
*
|
|
9
|
+
* @category location
|
|
10
|
+
* @see https://stackoverflow.com/a/40649435/1938970
|
|
11
|
+
*/let normaliseUrl=(e="")=>removeTrailingSlash(e.replace(/(:\/\/)|(\/)+/g,"$1$2"));
|
|
4
12
|
|
|
5
13
|
export { normaliseUrl as default, normaliseUrl };
|
|
@@ -4,7 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var removeTrailingSlash = require('./removeTrailingSlash.cjs.js');
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Normalise URL pathname (relative URL)
|
|
9
|
+
*
|
|
10
|
+
* - replaces too many consecutive slashes
|
|
11
|
+
* - removes the trailing slash
|
|
12
|
+
*
|
|
13
|
+
* @category location
|
|
14
|
+
*/let normaliseUrlPathname=(r="")=>removeTrailingSlash.removeTrailingSlash(r.replace(/\/+/g,"/"));
|
|
8
15
|
|
|
9
16
|
exports["default"] = normaliseUrlPathname;
|
|
10
17
|
exports.normaliseUrlPathname = normaliseUrlPathname;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { removeTrailingSlash } from './removeTrailingSlash.esm.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Normalise URL pathname (relative URL)
|
|
5
|
+
*
|
|
6
|
+
* - replaces too many consecutive slashes
|
|
7
|
+
* - removes the trailing slash
|
|
8
|
+
*
|
|
9
|
+
* @category location
|
|
10
|
+
*/let normaliseUrlPathname=(r="")=>removeTrailingSlash(r.replace(/\/+/g,"/"));
|
|
4
11
|
|
|
5
12
|
export { normaliseUrlPathname as default, normaliseUrlPathname };
|
package/objectFlat.cjs.js
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Flatten an object concatenating its nested keys with the given delimiter
|
|
7
|
+
*
|
|
8
|
+
* @category object
|
|
9
|
+
*
|
|
10
|
+
* @param obj Input object
|
|
11
|
+
* @param delimiter `.` dot by default
|
|
12
|
+
*/let objectFlat=(e,t=".",o="")=>Object.keys(e).reduce((c,l)=>{let b=o?`${o}${t}${l}`:l;return "object"==typeof e[l]?c={...c,...objectFlat(e[l],t,b)}:c[b]=e[l],c},{});
|
|
6
13
|
|
|
7
14
|
exports["default"] = objectFlat;
|
|
8
15
|
exports.objectFlat = objectFlat;
|
package/objectFlat.esm.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Flatten an object concatenating its nested keys with the given delimiter
|
|
3
|
+
*
|
|
4
|
+
* @category object
|
|
5
|
+
*
|
|
6
|
+
* @param obj Input object
|
|
7
|
+
* @param delimiter `.` dot by default
|
|
8
|
+
*/let objectFlat=(e,t=".",o="")=>Object.keys(e).reduce((c,l)=>{let b=o?`${o}${t}${l}`:l;return "object"==typeof e[l]?c={...c,...objectFlat(e[l],t,b)}:c[b]=e[l],c},{});
|
|
2
9
|
|
|
3
10
|
export { objectFlat as default, objectFlat };
|
package/objectFlip.cjs.js
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @category object
|
|
7
|
+
* @borrows [jacobparis.com](https://www.jacobparis.com/content/reversing-a-record-in-typescript#typescript)
|
|
8
|
+
*/let objectFlip=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,o])=>[o,t?t(e):e]));
|
|
6
9
|
|
|
7
10
|
exports["default"] = objectFlip;
|
|
8
11
|
exports.objectFlip = objectFlip;
|
package/objectFlip.esm.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @category object
|
|
3
|
+
* @borrows [jacobparis.com](https://www.jacobparis.com/content/reversing-a-record-in-typescript#typescript)
|
|
4
|
+
*/let objectFlip=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,o])=>[o,t?t(e):e]));
|
|
2
5
|
|
|
3
6
|
export { objectFlip as default, objectFlip };
|
|
@@ -6,7 +6,35 @@ var isObject = require('./isObject.cjs.js');
|
|
|
6
6
|
require('./isPlainObject.cjs.js');
|
|
7
7
|
require('./getType.cjs.js');
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// export type ObjectMergeWithDefaults<Defaults, Overrides> = Simplify<
|
|
10
|
+
// Overrides extends undefined
|
|
11
|
+
// ? Defaults
|
|
12
|
+
// : Overrides extends PlainObject
|
|
13
|
+
// ? {
|
|
14
|
+
// [K in keyof Overrides]-?: Overrides[K] extends undefined
|
|
15
|
+
// ? K extends keyof Defaults
|
|
16
|
+
// ? Defaults[K]
|
|
17
|
+
// : never
|
|
18
|
+
// : K extends keyof Defaults
|
|
19
|
+
// ? ObjectMergeWithDefaults<Defaults[K], Overrides[K]>
|
|
20
|
+
// : Overrides[K];
|
|
21
|
+
// } /* & (Defaults extends PlainObject
|
|
22
|
+
// ? {
|
|
23
|
+
// [K in Exclude<keyof Defaults, keyof Overrides>]: Defaults[K];
|
|
24
|
+
// }
|
|
25
|
+
// : Defaults) */
|
|
26
|
+
// : Overrides
|
|
27
|
+
// >;
|
|
28
|
+
/**
|
|
29
|
+
* Merge object _overrides_ onto object _defaults_, immutably
|
|
30
|
+
*
|
|
31
|
+
* Simple object merging utility, by design:
|
|
32
|
+
* - no `array` support
|
|
33
|
+
* - `undefined` values do not override default values, a.k.a. it makes it harder
|
|
34
|
+
* to remove a property defined on the defaults
|
|
35
|
+
*
|
|
36
|
+
* @category object
|
|
37
|
+
*/let objectMergeWithDefaults=(t,o)=>o?Object.keys(o).reduce((r,c)=>(isObject.isObject(o[c])?(t[c]||(t[c]={}),r[c]=objectMergeWithDefaults(t[c],o[c])):r[c]=void 0===o[c]?t[c]:o[c],r),{...t}):t;
|
|
10
38
|
|
|
11
39
|
exports["default"] = objectMergeWithDefaults;
|
|
12
40
|
exports.objectMergeWithDefaults = objectMergeWithDefaults;
|
|
@@ -2,6 +2,34 @@ import { isObject } from './isObject.esm.js';
|
|
|
2
2
|
import './isPlainObject.esm.js';
|
|
3
3
|
import './getType.esm.js';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// export type ObjectMergeWithDefaults<Defaults, Overrides> = Simplify<
|
|
6
|
+
// Overrides extends undefined
|
|
7
|
+
// ? Defaults
|
|
8
|
+
// : Overrides extends PlainObject
|
|
9
|
+
// ? {
|
|
10
|
+
// [K in keyof Overrides]-?: Overrides[K] extends undefined
|
|
11
|
+
// ? K extends keyof Defaults
|
|
12
|
+
// ? Defaults[K]
|
|
13
|
+
// : never
|
|
14
|
+
// : K extends keyof Defaults
|
|
15
|
+
// ? ObjectMergeWithDefaults<Defaults[K], Overrides[K]>
|
|
16
|
+
// : Overrides[K];
|
|
17
|
+
// } /* & (Defaults extends PlainObject
|
|
18
|
+
// ? {
|
|
19
|
+
// [K in Exclude<keyof Defaults, keyof Overrides>]: Defaults[K];
|
|
20
|
+
// }
|
|
21
|
+
// : Defaults) */
|
|
22
|
+
// : Overrides
|
|
23
|
+
// >;
|
|
24
|
+
/**
|
|
25
|
+
* Merge object _overrides_ onto object _defaults_, immutably
|
|
26
|
+
*
|
|
27
|
+
* Simple object merging utility, by design:
|
|
28
|
+
* - no `array` support
|
|
29
|
+
* - `undefined` values do not override default values, a.k.a. it makes it harder
|
|
30
|
+
* to remove a property defined on the defaults
|
|
31
|
+
*
|
|
32
|
+
* @category object
|
|
33
|
+
*/let objectMergeWithDefaults=(t,o)=>o?Object.keys(o).reduce((r,c)=>(isObject(o[c])?(t[c]||(t[c]={}),r[c]=objectMergeWithDefaults(t[c],o[c])):r[c]=void 0===o[c]?t[c]:o[c],r),{...t}):t;
|
|
6
34
|
|
|
7
35
|
export { objectMergeWithDefaults as default, objectMergeWithDefaults };
|
package/objectOmit.cjs.js
CHANGED
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Omit object properties by removing the given keys, it returns a
|
|
7
|
+
* new object.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: most of the time using a normal [destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) is enough,
|
|
10
|
+
* use this utility only when it makes sense.
|
|
11
|
+
*
|
|
12
|
+
* @category object
|
|
13
|
+
*/let objectOmit=(e,t)=>Object.keys(e).reduce((c,o)=>(t.includes(o)||(c[o]=e[o]),c),{});
|
|
6
14
|
|
|
7
15
|
exports["default"] = objectOmit;
|
|
8
16
|
exports.objectOmit = objectOmit;
|
package/objectOmit.esm.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Omit object properties by removing the given keys, it returns a
|
|
3
|
+
* new object.
|
|
4
|
+
*
|
|
5
|
+
* NOTE: most of the time using a normal [destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) is enough,
|
|
6
|
+
* use this utility only when it makes sense.
|
|
7
|
+
*
|
|
8
|
+
* @category object
|
|
9
|
+
*/let objectOmit=(e,t)=>Object.keys(e).reduce((c,o)=>(t.includes(o)||(c[o]=e[o]),c),{});
|
|
2
10
|
|
|
3
11
|
export { objectOmit as default, objectOmit };
|
package/objectPick.cjs.js
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Pick object properties by selecting only the given keys, it returns a
|
|
7
|
+
* new object.
|
|
8
|
+
*
|
|
9
|
+
* @category object
|
|
10
|
+
*/let objectPick=(e,t)=>{let o={},r=t.length;for(;r--;)o[t[r]]=e[t[r]];return o};
|
|
6
11
|
|
|
7
12
|
exports["default"] = objectPick;
|
|
8
13
|
exports.objectPick = objectPick;
|
package/objectPick.esm.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Pick object properties by selecting only the given keys, it returns a
|
|
3
|
+
* new object.
|
|
4
|
+
*
|
|
5
|
+
* @category object
|
|
6
|
+
*/let objectPick=(e,t)=>{let o={},r=t.length;for(;r--;)o[t[r]]=e[t[r]];return o};
|
|
2
7
|
|
|
3
8
|
export { objectPick as default, objectPick };
|
package/objectSort.cjs.js
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @category object
|
|
7
|
+
*
|
|
8
|
+
* @pure
|
|
9
|
+
* @param data The object whose properties you want to sort
|
|
10
|
+
* @param compareFn Function used to determine the order of the elements. It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise. If omitted, the elements are sorted in ascending, ASCII character order.
|
|
11
|
+
* @returns a _new_ object
|
|
12
|
+
*/let objectSort=(t,e)=>Object.fromEntries(Object.entries(t).sort(e));
|
|
6
13
|
|
|
7
14
|
exports["default"] = objectSort;
|
|
8
15
|
exports.objectSort = objectSort;
|
package/objectSort.esm.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @category object
|
|
3
|
+
*
|
|
4
|
+
* @pure
|
|
5
|
+
* @param data The object whose properties you want to sort
|
|
6
|
+
* @param compareFn Function used to determine the order of the elements. It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise. If omitted, the elements are sorted in ascending, ASCII character order.
|
|
7
|
+
* @returns a _new_ object
|
|
8
|
+
*/let objectSort=(t,e)=>Object.fromEntries(Object.entries(t).sort(e));
|
|
2
9
|
|
|
3
10
|
export { objectSort as default, objectSort };
|
|
@@ -4,7 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var objectSort = require('./objectSort.cjs.js');
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @category object
|
|
9
|
+
*
|
|
10
|
+
* @pure
|
|
11
|
+
* @param data The object whose properties you want to sort
|
|
12
|
+
* @param keyMatch The value to compare to each `data` object keys, the ones
|
|
13
|
+
* matching it is sorted first, the rest are sorted by `localeCompare` on keys
|
|
14
|
+
* @returns a _new_ object
|
|
15
|
+
*/let objectSortByKeysMatching=(o,e)=>objectSort.objectSort(o,([t],[o])=>t===e?-1:t.localeCompare(o));// Object.fromEntries(
|
|
8
16
|
|
|
9
17
|
exports["default"] = objectSortByKeysMatching;
|
|
10
18
|
exports.objectSortByKeysMatching = objectSortByKeysMatching;
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { objectSort } from './objectSort.esm.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @category object
|
|
5
|
+
*
|
|
6
|
+
* @pure
|
|
7
|
+
* @param data The object whose properties you want to sort
|
|
8
|
+
* @param keyMatch The value to compare to each `data` object keys, the ones
|
|
9
|
+
* matching it is sorted first, the rest are sorted by `localeCompare` on keys
|
|
10
|
+
* @returns a _new_ object
|
|
11
|
+
*/let objectSortByKeysMatching=(o,e)=>objectSort(o,([t],[o])=>t===e?-1:t.localeCompare(o));// Object.fromEntries(
|
|
4
12
|
|
|
5
13
|
export { objectSortByKeysMatching as default, objectSortByKeysMatching };
|
package/objectToArray.cjs.js
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Quick typed replacement of `Object.keys(object).map(key => ...)`
|
|
7
|
+
*
|
|
8
|
+
* @category array
|
|
9
|
+
* @category object
|
|
10
|
+
*/let objectToArray=(e,t)=>Object.keys(e).map(t);
|
|
6
11
|
|
|
7
12
|
exports["default"] = objectToArray;
|
|
8
13
|
exports.objectToArray = objectToArray;
|
package/objectToArray.esm.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Quick typed replacement of `Object.keys(object).map(key => ...)`
|
|
3
|
+
*
|
|
4
|
+
* @category array
|
|
5
|
+
* @category object
|
|
6
|
+
*/let objectToArray=(e,t)=>Object.keys(e).map(t);
|
|
2
7
|
|
|
3
8
|
export { objectToArray as default, objectToArray };
|
package/package.json
CHANGED
package/parseCookie.cjs.js
CHANGED
|
@@ -2,7 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Try decoding a string using a decoding function.
|
|
7
|
+
*/let t=(t,e)=>{try{return e(t)}catch(e){return t}};/**
|
|
8
|
+
* Parse a cookie header.
|
|
9
|
+
*
|
|
10
|
+
* Parse the given cookie header string into an object
|
|
11
|
+
* The object has the various cookies as keys(names) => values
|
|
12
|
+
*
|
|
13
|
+
* @category cookie
|
|
14
|
+
*/let parseCookie=(e,r={})=>{if("string"!=typeof e)throw TypeError("argument str must be a string");let i={},n=e.split(";"),{decode:o=decodeURIComponent}=r;for(let e=0;e<n.length;e++){let r=n[e],l=r.indexOf("=");// skip things that don't look like key=value
|
|
15
|
+
if(l<0)continue;let s=r.substring(0,l).trim();// only assign once
|
|
16
|
+
if(void 0==i[s]){let e=r.substring(l+1,r.length).trim();'"'===// quoted values
|
|
17
|
+
e[0]&&(e=e.slice(1,-1)),i[s]=t(e,o);}}return i};
|
|
6
18
|
|
|
7
19
|
exports["default"] = parseCookie;
|
|
8
20
|
exports.parseCookie = parseCookie;
|
package/parseCookie.esm.js
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Try decoding a string using a decoding function.
|
|
3
|
+
*/let t=(t,e)=>{try{return e(t)}catch(e){return t}};/**
|
|
4
|
+
* Parse a cookie header.
|
|
5
|
+
*
|
|
6
|
+
* Parse the given cookie header string into an object
|
|
7
|
+
* The object has the various cookies as keys(names) => values
|
|
8
|
+
*
|
|
9
|
+
* @category cookie
|
|
10
|
+
*/let parseCookie=(e,r={})=>{if("string"!=typeof e)throw TypeError("argument str must be a string");let i={},n=e.split(";"),{decode:o=decodeURIComponent}=r;for(let e=0;e<n.length;e++){let r=n[e],l=r.indexOf("=");// skip things that don't look like key=value
|
|
11
|
+
if(l<0)continue;let s=r.substring(0,l).trim();// only assign once
|
|
12
|
+
if(void 0==i[s]){let e=r.substring(l+1,r.length).trim();'"'===// quoted values
|
|
13
|
+
e[0]&&(e=e.slice(1,-1)),i[s]=t(e,o);}}return i};
|
|
2
14
|
|
|
3
15
|
export { parseCookie as default, parseCookie };
|
package/parseURL.cjs.js
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Solution without DOM or specific env native methods
|
|
7
|
+
*
|
|
8
|
+
* @category location
|
|
9
|
+
* @see https://stackoverflow.com/a/21553982/1938970
|
|
10
|
+
*/let parseURL=t=>{let e=t.match(/^(https?:)\/\/(([^:/?#]*)(?::([0-9]+))?)([/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);return e&&{href:t,protocol:e[1],host:e[2],hostname:e[3],port:e[4],pathname:e[5],search:e[6],hash:e[7]}};
|
|
6
11
|
|
|
7
12
|
exports["default"] = parseURL;
|
|
8
13
|
exports.parseURL = parseURL;
|
package/parseURL.esm.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Solution without DOM or specific env native methods
|
|
3
|
+
*
|
|
4
|
+
* @category location
|
|
5
|
+
* @see https://stackoverflow.com/a/21553982/1938970
|
|
6
|
+
*/let parseURL=t=>{let e=t.match(/^(https?:)\/\/(([^:/?#]*)(?::([0-9]+))?)([/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);return e&&{href:t,protocol:e[1],host:e[2],hostname:e[3],port:e[4],pathname:e[5],search:e[6],hash:e[7]}};
|
|
2
7
|
|
|
3
8
|
export { parseURL as default, parseURL };
|
package/quaranteneProps.cjs.js
CHANGED
|
@@ -2,7 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @category impl
|
|
7
|
+
* @example
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const { _: { onKeyDown }, myOwnProp, ...rest } = quaranteneProps([
|
|
11
|
+
* "onPointerLeave",
|
|
12
|
+
* "onPointerMove",
|
|
13
|
+
* "onClick",
|
|
14
|
+
* "onPointerDown",
|
|
15
|
+
* "onPointerUp",
|
|
16
|
+
* "onKeyDown",
|
|
17
|
+
* ]);
|
|
18
|
+
* ```
|
|
19
|
+
*/let quaranteneProps=(e,t)=>{// approach 1)
|
|
20
|
+
let r={_:{}};for(let n in e){let l=e[n];t.includes(n)?r._[n]=l:// @ts-expect-error nevermind
|
|
21
|
+
r[n]=l;}return r};// for these types see https://stackoverflow.com/a/65673414/1938970
|
|
6
22
|
|
|
7
23
|
exports["default"] = quaranteneProps;
|
|
8
24
|
exports.quaranteneProps = quaranteneProps;
|
package/quaranteneProps.esm.js
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @category impl
|
|
3
|
+
* @example
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* const { _: { onKeyDown }, myOwnProp, ...rest } = quaranteneProps([
|
|
7
|
+
* "onPointerLeave",
|
|
8
|
+
* "onPointerMove",
|
|
9
|
+
* "onClick",
|
|
10
|
+
* "onPointerDown",
|
|
11
|
+
* "onPointerUp",
|
|
12
|
+
* "onKeyDown",
|
|
13
|
+
* ]);
|
|
14
|
+
* ```
|
|
15
|
+
*/let quaranteneProps=(e,t)=>{// approach 1)
|
|
16
|
+
let r={_:{}};for(let n in e){let l=e[n];t.includes(n)?r._[n]=l:// @ts-expect-error nevermind
|
|
17
|
+
r[n]=l;}return r};// for these types see https://stackoverflow.com/a/65673414/1938970
|
|
2
18
|
|
|
3
19
|
export { quaranteneProps as default, quaranteneProps };
|
package/randomInt.cjs.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Get random int (min and max included)
|
|
7
|
+
*
|
|
8
|
+
* @category math
|
|
9
|
+
*/let randomInt=(t,o)=>Math.floor(Math.random()*(o-t+1)+t);
|
|
6
10
|
|
|
7
11
|
exports["default"] = randomInt;
|
|
8
12
|
exports.randomInt = randomInt;
|
package/randomInt.esm.js
CHANGED
package/randomKey.cjs.js
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Get random key from given object
|
|
7
|
+
*
|
|
8
|
+
* @category misc
|
|
9
|
+
* @see https://stackoverflow.com/a/15106541/1938970
|
|
10
|
+
*/let randomKey=e=>{let t=Object.keys(e);return t[t.length*Math.random()<<0]};
|
|
6
11
|
|
|
7
12
|
exports["default"] = randomKey;
|
|
8
13
|
exports.randomKey = randomKey;
|
package/randomKey.esm.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Get random key from given object
|
|
3
|
+
*
|
|
4
|
+
* @category misc
|
|
5
|
+
* @see https://stackoverflow.com/a/15106541/1938970
|
|
6
|
+
*/let randomKey=e=>{let t=Object.keys(e);return t[t.length*Math.random()<<0]};
|
|
2
7
|
|
|
3
8
|
export { randomKey as default, randomKey };
|
package/readCookie.cjs.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
let e=e=>('"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent))
|
|
5
|
+
let e=e=>('"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent));/**
|
|
6
|
+
* Read cookie
|
|
7
|
+
*
|
|
8
|
+
* @category cookie
|
|
9
|
+
*/function readCookie(o){if("undefined"==typeof document)return "development"===process.env.NODE_ENV&&console.warn("[@koine/utils:readCookie] document is undefined"),o?"":{};let n=document.cookie?document.cookie.split("; "):[],t={};for(let d=0;d<n.length;d++){let i=n[d].split("="),c=i.slice(1).join("=");try{let n=decodeURIComponent(i[0]);if(t[n]=e(c),o===n)break}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/utils:readCookie] failed to decode",c);}}return o?t[o]:t}
|
|
6
10
|
|
|
7
11
|
exports["default"] = readCookie;
|
|
8
12
|
exports.readCookie = readCookie;
|
package/readCookie.esm.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
let e=e=>('"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent))
|
|
1
|
+
let e=e=>('"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent));/**
|
|
2
|
+
* Read cookie
|
|
3
|
+
*
|
|
4
|
+
* @category cookie
|
|
5
|
+
*/function readCookie(o){if("undefined"==typeof document)return "development"===process.env.NODE_ENV&&console.warn("[@koine/utils:readCookie] document is undefined"),o?"":{};let n=document.cookie?document.cookie.split("; "):[],t={};for(let d=0;d<n.length;d++){let i=n[d].split("="),c=i.slice(1).join("=");try{let n=decodeURIComponent(i[0]);if(t[n]=e(c),o===n)break}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/utils:readCookie] failed to decode",c);}}return o?t[o]:t}
|
|
2
6
|
|
|
3
7
|
export { readCookie as default, readCookie };
|
package/removeAccents.cjs.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var accentsSets = require('./accentsSets.cjs.js');
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @category text
|
|
9
|
+
*/let removeAccents=(t="",r=accentsSets.accentsSets)=>{let c=r.length;for(;c--;){let[e,o]=r[c];t=t.replace(RegExp(`[${o}]`,"gi"),e);}return t};
|
|
8
10
|
|
|
9
11
|
exports["default"] = removeAccents;
|
|
10
12
|
exports.removeAccents = removeAccents;
|
package/removeAccents.esm.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { accentsSets } from './accentsSets.esm.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @category text
|
|
5
|
+
*/let removeAccents=(t="",r=accentsSets)=>{let c=r.length;for(;c--;){let[e,o]=r[c];t=t.replace(RegExp(`[${o}]`,"gi"),e);}return t};
|
|
4
6
|
|
|
5
7
|
export { removeAccents as default, removeAccents };
|
package/removeCookie.cjs.js
CHANGED
|
@@ -8,7 +8,9 @@ require('./isNumber.cjs.js');
|
|
|
8
8
|
require('./getType.cjs.js');
|
|
9
9
|
require('./isUndefined.cjs.js');
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @category cookie
|
|
13
|
+
*/let removeCookie=(r,i={})=>{setCookie.setCookie(r,"",{...cookie.defaultAttributesClient,...i,expires:-1});};
|
|
12
14
|
|
|
13
15
|
exports["default"] = removeCookie;
|
|
14
16
|
exports.removeCookie = removeCookie;
|
package/removeCookie.esm.js
CHANGED
|
@@ -4,6 +4,8 @@ import './isNumber.esm.js';
|
|
|
4
4
|
import './getType.esm.js';
|
|
5
5
|
import './isUndefined.esm.js';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @category cookie
|
|
9
|
+
*/let removeCookie=(r,i={})=>{setCookie(r,"",{...defaultAttributesClient,...i,expires:-1});};
|
|
8
10
|
|
|
9
11
|
export { removeCookie as default, removeCookie };
|
package/removeDuplicates.cjs.js
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* FIXME: Type 'Set<any>' can only be iterated through when using the
|
|
7
|
+
* '--downlevelIteration' flag or with a '--target' of 'es2015' or higher.
|
|
8
|
+
* I am not sure I want to use those ts options here. Let's keep it commented
|
|
9
|
+
* for now
|
|
10
|
+
*
|
|
11
|
+
* @category array
|
|
12
|
+
*/let removeDuplicates=e=>[...new Set(e)];
|
|
6
13
|
|
|
7
14
|
exports["default"] = removeDuplicates;
|
|
8
15
|
exports.removeDuplicates = removeDuplicates;
|
package/removeDuplicates.esm.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* FIXME: Type 'Set<any>' can only be iterated through when using the
|
|
3
|
+
* '--downlevelIteration' flag or with a '--target' of 'es2015' or higher.
|
|
4
|
+
* I am not sure I want to use those ts options here. Let's keep it commented
|
|
5
|
+
* for now
|
|
6
|
+
*
|
|
7
|
+
* @category array
|
|
8
|
+
*/let removeDuplicates=e=>[...new Set(e)];
|
|
2
9
|
|
|
3
10
|
export { removeDuplicates as default, removeDuplicates };
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Remove duplicated array objects, equality is determined by a strict (`===`)
|
|
7
|
+
* comparison of each object's given key
|
|
8
|
+
*
|
|
9
|
+
* @category array
|
|
10
|
+
*/let removeDuplicatesByKey=(e=[],t)=>{let l={},r=[];for(let o=0;o<e.length;o++){let p=e[o];l[p[t]]||(r.push(p),l[p[t]]=!0);}return r};
|
|
6
11
|
|
|
7
12
|
exports["default"] = removeDuplicatesByKey;
|
|
8
13
|
exports.removeDuplicatesByKey = removeDuplicatesByKey;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Remove duplicated array objects, equality is determined by a strict (`===`)
|
|
3
|
+
* comparison of each object's given key
|
|
4
|
+
*
|
|
5
|
+
* @category array
|
|
6
|
+
*/let removeDuplicatesByKey=(e=[],t)=>{let l={},r=[];for(let o=0;o<e.length;o++){let p=e[o];l[p[t]]||(r.push(p),l[p[t]]=!0);}return r};
|
|
2
7
|
|
|
3
8
|
export { removeDuplicatesByKey as default, removeDuplicatesByKey };
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var findDuplicatedIndexes = require('./findDuplicatedIndexes.cjs.js');
|
|
6
6
|
var removeIndexesFromArray = require('./removeIndexesFromArray.cjs.js');
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @category array
|
|
10
|
+
*/let removeDuplicatesComparing=(o,m)=>removeIndexesFromArray.removeIndexesFromArray(m,findDuplicatedIndexes.findDuplicatedIndexes(o));
|
|
9
11
|
|
|
10
12
|
exports["default"] = removeDuplicatesComparing;
|
|
11
13
|
exports.removeDuplicatesComparing = removeDuplicatesComparing;
|