@koine/utils 2.0.0-beta.80 → 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 -10
- package/Defer.esm.js +20 -10
- package/Emitter.cjs.js +18 -19
- package/Emitter.d.ts +1 -1
- package/Emitter.esm.js +18 -19
- package/accentsSets.cjs.d.ts +2 -0
- package/accentsSets.cjs.default.js +1 -0
- package/accentsSets.cjs.js +20 -0
- package/accentsSets.cjs.mjs +2 -0
- package/accentsSets.esm.js +15 -0
- package/addOrReplaceAtIdx.cjs.js +7 -14
- package/addOrReplaceAtIdx.esm.js +7 -14
- package/areEqual.cjs.js +28 -43
- package/areEqual.esm.js +28 -43
- package/arrayFilterFalsy.cjs.js +6 -1
- package/arrayFilterFalsy.d.ts +1 -1
- package/arrayFilterFalsy.esm.js +6 -1
- package/arrayFindLastIndex.cjs.js +13 -8
- package/arrayFindLastIndex.d.ts +1 -1
- package/arrayFindLastIndex.esm.js +13 -8
- 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 -4
- package/arrayToLookup.esm.js +5 -4
- package/arrayUniqueByProperties.cjs.js +8 -1
- package/arrayUniqueByProperties.esm.js +8 -1
- package/buildUrlQueryString.cjs.js +10 -17
- package/buildUrlQueryString.esm.js +10 -17
- package/capitalize.cjs.js +7 -2
- package/capitalize.d.ts +1 -1
- package/capitalize.esm.js +7 -2
- package/changeCaseCamel.cjs.js +7 -17
- package/changeCaseCamel.esm.js +7 -17
- package/changeCaseCapital.cjs.js +7 -10
- package/changeCaseCapital.esm.js +7 -10
- package/changeCaseConstant.cjs.js +7 -6
- package/changeCaseConstant.esm.js +7 -6
- package/changeCaseDot.cjs.js +7 -1
- package/changeCaseDot.esm.js +7 -1
- package/changeCaseHelpers.cjs.js +32 -71
- package/changeCaseHelpers.esm.js +32 -71
- package/changeCaseKebab.cjs.js +7 -1
- package/changeCaseKebab.esm.js +7 -1
- package/changeCaseNone.cjs.js +7 -6
- package/changeCaseNone.esm.js +7 -6
- package/changeCasePascal.cjs.js +7 -9
- package/changeCasePascal.esm.js +7 -9
- 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 -15
- package/changeCaseSentence.esm.js +8 -16
- 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 -31
- package/chunkByChunks.esm.js +5 -31
- package/chunkBySize.cjs.js +4 -7
- package/chunkBySize.esm.js +4 -7
- package/clamp.cjs.js +6 -1
- package/clamp.esm.js +6 -1
- package/clsx.cjs.js +8 -39
- package/clsx.esm.js +8 -39
- 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 -11
- package/createPalette.esm.js +17 -11
- package/debounce.cjs.js +7 -17
- package/debounce.esm.js +7 -17
- package/debouncePromise.cjs.js +16 -51
- package/debouncePromise.esm.js +16 -51
- package/debounceRaf.cjs.js +10 -12
- package/debounceRaf.esm.js +10 -12
- 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 -10
- package/findDuplicatedIndexes.esm.js +3 -10
- package/forin.cjs.js +6 -5
- package/forin.esm.js +6 -5
- package/gbToBytes.cjs.js +5 -1
- package/gbToBytes.esm.js +5 -1
- package/getEmptyArray.cjs.js +6 -3
- package/getEmptyArray.esm.js +6 -3
- package/getKeys.cjs.js +8 -1
- package/getKeys.d.ts +1 -1
- package/getKeys.esm.js +8 -1
- package/getMediaQueryWidthResolvers.cjs.js +27 -41
- package/getMediaQueryWidthResolvers.esm.js +27 -41
- package/getMediaQueryWidthTailwindScreens.cjs.js +6 -25
- package/getMediaQueryWidthTailwindScreens.esm.js +6 -25
- package/getNonce.cjs.js +4 -1
- package/getNonce.esm.js +4 -1
- package/getParamAmong.cjs.js +11 -4
- package/getParamAmong.esm.js +11 -4
- package/getParamAsInt.cjs.js +10 -7
- package/getParamAsInt.esm.js +10 -7
- 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 -8
- package/getUrlHashParams.esm.js +6 -8
- package/getUrlHashPathname.cjs.js +7 -1
- package/getUrlHashPathname.esm.js +7 -1
- package/getUrlPathnameParts.cjs.js +10 -4
- package/getUrlPathnameParts.esm.js +10 -4
- package/getUrlQueryParams.cjs.js +12 -20
- package/getUrlQueryParams.esm.js +12 -20
- package/hashAny.cjs.d.ts +2 -0
- package/hashAny.cjs.default.js +1 -0
- package/hashAny.cjs.js +40 -0
- package/hashAny.cjs.mjs +2 -0
- package/hashAny.d.ts +2 -0
- package/hashAny.esm.js +35 -0
- package/imgEmptyPixel.cjs.js +5 -1
- package/imgEmptyPixel.esm.js +5 -1
- package/index.cjs.js +5 -3
- package/index.d.ts +2 -1
- package/index.esm.js +3 -2
- package/invariant.cjs.js +17 -16
- package/invariant.esm.js +17 -16
- package/isAbsoluteUrl.cjs.js +5 -2
- package/isAbsoluteUrl.esm.js +5 -2
- 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 -9
- package/isExternalUrl.esm.js +9 -9
- 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 -7
- package/isOneOf.esm.js +3 -7
- package/isPlainObject.cjs.js +5 -4
- package/isPlainObject.esm.js +5 -4
- package/isPositiveNumber.cjs.js +5 -1
- package/isPositiveNumber.esm.js +5 -1
- package/isPrimitive.cjs.js +5 -6
- package/isPrimitive.esm.js +5 -6
- 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 -11
- package/isType.esm.js +9 -11
- 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.d.ts +1 -1
- package/lowercase.esm.js +5 -1
- package/mapListBy.cjs.js +5 -4
- package/mapListBy.esm.js +5 -4
- package/matchSorter.cjs.js +94 -239
- package/matchSorter.d.ts +1 -1
- package/matchSorter.esm.js +92 -237
- package/mbToBytes.cjs.js +5 -1
- package/mbToBytes.esm.js +5 -1
- package/mergeObjects.cjs.js +8 -26
- package/mergeObjects.esm.js +8 -26
- package/mergeUrlQueryParams.cjs.js +5 -12
- package/mergeUrlQueryParams.esm.js +5 -12
- package/moveSortableArrayItemByKey.cjs.js +7 -8
- package/moveSortableArrayItemByKey.esm.js +7 -8
- 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 -16
- package/objectFlat.esm.js +8 -16
- package/objectFlip.cjs.js +4 -4
- package/objectFlip.esm.js +4 -4
- package/objectMergeWithDefaults.cjs.js +29 -19
- package/objectMergeWithDefaults.d.ts +1 -1
- package/objectMergeWithDefaults.esm.js +29 -19
- package/objectOmit.cjs.js +9 -7
- package/objectOmit.esm.js +9 -7
- package/objectPick.cjs.js +6 -8
- package/objectPick.esm.js +6 -8
- 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 +10 -5
- package/parseCookie.cjs.js +13 -32
- package/parseCookie.esm.js +13 -32
- package/parseURL.cjs.js +6 -13
- package/parseURL.esm.js +6 -13
- package/quaranteneProps.cjs.js +17 -15
- package/quaranteneProps.esm.js +17 -15
- package/randomInt.cjs.js +5 -1
- package/randomInt.esm.js +5 -1
- package/randomKey.cjs.js +6 -4
- package/randomKey.esm.js +6 -4
- package/readCookie.cjs.js +5 -33
- package/readCookie.esm.js +5 -33
- package/removeAccents.cjs.js +4 -9
- package/removeAccents.d.ts +1 -1
- package/removeAccents.esm.js +4 -9
- package/removeCookie.cjs.js +3 -7
- package/removeCookie.esm.js +3 -7
- package/removeDuplicates.cjs.js +8 -1
- package/removeDuplicates.esm.js +8 -1
- package/removeDuplicatesByKey.cjs.js +6 -12
- package/removeDuplicatesByKey.esm.js +6 -12
- package/removeDuplicatesComparing.cjs.js +3 -4
- package/removeDuplicatesComparing.esm.js +3 -4
- package/removeIndexesFromArray.cjs.js +4 -9
- package/removeIndexesFromArray.esm.js +4 -9
- package/removeTrailingSlash.cjs.js +5 -1
- package/removeTrailingSlash.esm.js +5 -1
- package/removeUrlQueryParams.cjs.js +5 -11
- package/removeUrlQueryParams.esm.js +5 -11
- package/render.cjs.js +52 -112
- package/render.esm.js +52 -112
- package/round.cjs.js +11 -3
- package/round.esm.js +11 -3
- package/roundTo.cjs.js +22 -10
- package/roundTo.esm.js +22 -10
- package/serializeCookie.cjs.js +13 -67
- package/serializeCookie.esm.js +13 -67
- package/setCookie.cjs.js +11 -41
- package/setCookie.esm.js +11 -41
- package/shuffle.cjs.js +15 -16
- package/shuffle.esm.js +15 -16
- package/slugify.cjs.js +20 -9
- package/slugify.esm.js +20 -9
- 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 -7
- package/swapMap.esm.js +5 -7
- package/throttle.cjs.js +6 -14
- package/throttle.d.ts +1 -1
- package/throttle.esm.js +6 -14
- package/titleCase.cjs.js +6 -3
- package/titleCase.esm.js +6 -3
- package/toNumber.cjs.js +5 -1
- package/toNumber.esm.js +5 -1
- package/toRgba.cjs.js +5 -7
- package/toRgba.esm.js +5 -7
- package/transformToUrlPathname.cjs.js +9 -3
- package/transformToUrlPathname.esm.js +9 -3
- package/truncate.cjs.js +5 -5
- package/truncate.esm.js +5 -5
- package/tryUntil.cjs.js +14 -14
- package/tryUntil.esm.js +14 -14
- package/uid.cjs.js +5 -5
- package/uid.esm.js +5 -5
- package/updateLinkParams.cjs.js +7 -5
- package/updateLinkParams.esm.js +7 -5
- package/updateUrlQueryParams.cjs.js +5 -7
- package/updateUrlQueryParams.esm.js +5 -7
- package/uppercase.cjs.js +6 -1
- package/uppercase.d.ts +1 -1
- package/uppercase.esm.js +6 -1
- package/uuid.cjs.js +6 -4
- package/uuid.esm.js +6 -4
- 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/accentSets.cjs.d.ts +0 -2
- package/accentSets.cjs.default.js +0 -1
- package/accentSets.cjs.js +0 -36
- package/accentSets.cjs.mjs +0 -2
- package/accentSets.esm.js +0 -31
- /package/{accentSets.d.ts → accentsSets.d.ts} +0 -0
package/Defer.cjs.js
CHANGED
|
@@ -2,16 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @category async
|
|
7
|
+
*/// then: Promise<T>["then"];
|
|
8
|
+
// catch: Promise<T>["catch"]
|
|
9
|
+
// finally: Promise<T>["finally"]
|
|
10
|
+
/**
|
|
11
|
+
* @category async
|
|
12
|
+
* @see https://stackoverflow.com/a/37673534/1938970
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* const deferred = Defer();
|
|
17
|
+
* deferred.resolve();
|
|
18
|
+
* deferred.then(handleSuccess, handleError);
|
|
19
|
+
* ```
|
|
20
|
+
*/function Defer()/* : PromiseConstructor */{// @ts-expect-error nevermind
|
|
21
|
+
let e=this||{},t=e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r;});// if (p.finally) {
|
|
22
|
+
// self.finally = p.finally.bind(p);
|
|
23
|
+
// }
|
|
24
|
+
return e.then=t.then.bind(t),e.catch=t.catch.bind(t),e}
|
|
15
25
|
|
|
16
26
|
exports.Defer = Defer;
|
|
17
27
|
exports["default"] = Defer;
|
package/Defer.esm.js
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @category async
|
|
3
|
+
*/// then: Promise<T>["then"];
|
|
4
|
+
// catch: Promise<T>["catch"]
|
|
5
|
+
// finally: Promise<T>["finally"]
|
|
6
|
+
/**
|
|
7
|
+
* @category async
|
|
8
|
+
* @see https://stackoverflow.com/a/37673534/1938970
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const deferred = Defer();
|
|
13
|
+
* deferred.resolve();
|
|
14
|
+
* deferred.then(handleSuccess, handleError);
|
|
15
|
+
* ```
|
|
16
|
+
*/function Defer()/* : PromiseConstructor */{// @ts-expect-error nevermind
|
|
17
|
+
let e=this||{},t=e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r;});// if (p.finally) {
|
|
18
|
+
// self.finally = p.finally.bind(p);
|
|
19
|
+
// }
|
|
20
|
+
return e.then=t.then.bind(t),e.catch=t.catch.bind(t),e}
|
|
11
21
|
|
|
12
22
|
export { Defer, Defer as default };
|
package/Emitter.cjs.js
CHANGED
|
@@ -2,25 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
5
|
+
/**
|
|
6
|
+
* Emitter super simple class
|
|
7
|
+
*
|
|
8
|
+
* Events will be prefixed with the given `namespace` plus a `.` so:
|
|
9
|
+
* `{namespace}.myevent`
|
|
10
|
+
*
|
|
11
|
+
* Adapted from https://github.com/developit/mitt
|
|
12
|
+
*
|
|
13
|
+
* Regarding typescript support see:
|
|
14
|
+
* - https://stackoverflow.com/q/53299743/1938970
|
|
15
|
+
* - https://github.com/Microsoft/TypeScript/pull/26349
|
|
16
|
+
*
|
|
17
|
+
* @category impl
|
|
18
|
+
*/let Emitter=t=>{let e=new Map;return {/**
|
|
19
|
+
* Register an event handler for the given type.
|
|
20
|
+
*/on(r,i){let n=e.get(`${t}.${String(r)}`);n&&n.push(i)||e.set(`${t}.${String(r)}`,[i]);},/**
|
|
21
|
+
* Invoke all handlers for the given type.
|
|
22
|
+
*/emit(r,i){(e.get(`${t}.${String(r)}`)||[]).slice().map(t=>{t(i);});}}};
|
|
24
23
|
|
|
25
24
|
exports.Emitter = Emitter;
|
|
26
25
|
exports["default"] = Emitter;
|
package/Emitter.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare let Emitter: <EventMap extends {
|
|
2
2
|
[key: string]: any;
|
|
3
3
|
}>(namespace: string) => {
|
|
4
|
-
on<EventName extends keyof EventMap>(name: EventName, handler: (data?: EventMap[EventName]
|
|
4
|
+
on<EventName extends keyof EventMap>(name: EventName, handler: (data?: EventMap[EventName]) => any): void;
|
|
5
5
|
emit<EventName_1 extends keyof EventMap>(name: EventName_1, data?: EventMap[EventName_1] | undefined): void;
|
|
6
6
|
};
|
|
7
7
|
export default Emitter;
|
package/Emitter.esm.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Emitter super simple class
|
|
3
|
+
*
|
|
4
|
+
* Events will be prefixed with the given `namespace` plus a `.` so:
|
|
5
|
+
* `{namespace}.myevent`
|
|
6
|
+
*
|
|
7
|
+
* Adapted from https://github.com/developit/mitt
|
|
8
|
+
*
|
|
9
|
+
* Regarding typescript support see:
|
|
10
|
+
* - https://stackoverflow.com/q/53299743/1938970
|
|
11
|
+
* - https://github.com/Microsoft/TypeScript/pull/26349
|
|
12
|
+
*
|
|
13
|
+
* @category impl
|
|
14
|
+
*/let Emitter=t=>{let e=new Map;return {/**
|
|
15
|
+
* Register an event handler for the given type.
|
|
16
|
+
*/on(r,i){let n=e.get(`${t}.${String(r)}`);n&&n.push(i)||e.set(`${t}.${String(r)}`,[i]);},/**
|
|
17
|
+
* Invoke all handlers for the given type.
|
|
18
|
+
*/emit(r,i){(e.get(`${t}.${String(r)}`)||[]).slice().map(t=>{t(i);});}}};
|
|
20
19
|
|
|
21
20
|
export { Emitter, Emitter as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./accentsSets.cjs.js').default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* First value is the `to`, second is `from`, from *which* chars do we translates *to*
|
|
7
|
+
*
|
|
8
|
+
* @category text
|
|
9
|
+
*//**
|
|
10
|
+
* Accent sets
|
|
11
|
+
*
|
|
12
|
+
* @category text
|
|
13
|
+
* @resources
|
|
14
|
+
* - https://gist.github.com/mathewbyrne/1280286#gistcomment-3498021
|
|
15
|
+
* - https://gist.github.com/eek/9c4887e80b3ede05c0e39fee4dce3747 for usage
|
|
16
|
+
* of [normalize](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)
|
|
17
|
+
*/let accentsSets=[["a","ÀÁÂÃÅÆĀĂĄẠẢẤẦẨẪẬẮẰẲẴẶ"],["ae","Ä"],["c","ÇĆĈČ"],["d","ÐĎĐÞ"],["e","ÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆ"],["g","ĜĞĢǴ"],["h","ĤḦ"],["i","ÌÍÎÏĨĪĮİỈỊ"],["j","Ĵ"],["ij","IJ"],["k","Ķ"],["l","ĹĻĽŁ"],["m","Ḿ"],["n","ÑŃŅŇ"],["o","ÒÓÔÕØŌŎŐỌỎỐỒỔỖỘỚỜỞỠỢǪǬƠ"],["oe","ŒÖ"],["p","ṕ"],["r","ŔŖŘ"],["s","ŚŜŞŠ"],["ss","ß"],["t","ŢŤ"],["u","ÙÚÛŨŪŬŮŰŲỤỦỨỪỬỮỰƯ"],["ue","Ü"],["w","ẂŴẀẄ"],["x","ẍ"],["y","ÝŶŸỲỴỶỸ"],["z","ŹŻŽ"]];
|
|
18
|
+
|
|
19
|
+
exports.accentsSets = accentsSets;
|
|
20
|
+
exports["default"] = accentsSets;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* First value is the `to`, second is `from`, from *which* chars do we translates *to*
|
|
3
|
+
*
|
|
4
|
+
* @category text
|
|
5
|
+
*//**
|
|
6
|
+
* Accent sets
|
|
7
|
+
*
|
|
8
|
+
* @category text
|
|
9
|
+
* @resources
|
|
10
|
+
* - https://gist.github.com/mathewbyrne/1280286#gistcomment-3498021
|
|
11
|
+
* - https://gist.github.com/eek/9c4887e80b3ede05c0e39fee4dce3747 for usage
|
|
12
|
+
* of [normalize](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)
|
|
13
|
+
*/let accentsSets=[["a","ÀÁÂÃÅÆĀĂĄẠẢẤẦẨẪẬẮẰẲẴẶ"],["ae","Ä"],["c","ÇĆĈČ"],["d","ÐĎĐÞ"],["e","ÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆ"],["g","ĜĞĢǴ"],["h","ĤḦ"],["i","ÌÍÎÏĨĪĮİỈỊ"],["j","Ĵ"],["ij","IJ"],["k","Ķ"],["l","ĹĻĽŁ"],["m","Ḿ"],["n","ÑŃŅŇ"],["o","ÒÓÔÕØŌŎŐỌỎỐỒỔỖỘỚỜỞỠỢǪǬƠ"],["oe","ŒÖ"],["p","ṕ"],["r","ŔŖŘ"],["s","ŚŜŞŠ"],["ss","ß"],["t","ŢŤ"],["u","ÙÚÛŨŪŬŮŰŲỤỦỨỪỬỮỰƯ"],["ue","Ü"],["w","ẂŴẀẄ"],["x","ẍ"],["y","ÝŶŸỲỴỶỸ"],["z","ŹŻŽ"]];
|
|
14
|
+
|
|
15
|
+
export { accentsSets, accentsSets as default };
|
package/addOrReplaceAtIdx.cjs.js
CHANGED
|
@@ -2,20 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return list.map((item, idx) => {
|
|
13
|
-
if (idx === newIdx) {
|
|
14
|
-
return newItem;
|
|
15
|
-
}
|
|
16
|
-
return item;
|
|
17
|
-
});
|
|
18
|
-
};
|
|
5
|
+
/**
|
|
6
|
+
* Add or replace an item in the given array, it returns a new array (immutable).
|
|
7
|
+
* Typescript wise this is meant to keep the same type on the newly returned
|
|
8
|
+
* array, therefore the `newItem` must match the type of the `list` items.
|
|
9
|
+
*
|
|
10
|
+
* @category array
|
|
11
|
+
*/let addOrReplaceAtIdx=(e,d,t)=>0===e.length?[d]:void 0===t||e.length-1<t?[...e,d]:e.map((e,a)=>a===t?d:e);
|
|
19
12
|
|
|
20
13
|
exports.addOrReplaceAtIdx = addOrReplaceAtIdx;
|
|
21
14
|
exports["default"] = addOrReplaceAtIdx;
|
package/addOrReplaceAtIdx.esm.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return list.map((item, idx) => {
|
|
9
|
-
if (idx === newIdx) {
|
|
10
|
-
return newItem;
|
|
11
|
-
}
|
|
12
|
-
return item;
|
|
13
|
-
});
|
|
14
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Add or replace an item in the given array, it returns a new array (immutable).
|
|
3
|
+
* Typescript wise this is meant to keep the same type on the newly returned
|
|
4
|
+
* array, therefore the `newItem` must match the type of the `list` items.
|
|
5
|
+
*
|
|
6
|
+
* @category array
|
|
7
|
+
*/let addOrReplaceAtIdx=(e,d,t)=>0===e.length?[d]:void 0===t||e.length-1<t?[...e,d]:e.map((e,a)=>a===t?d:e);
|
|
15
8
|
|
|
16
9
|
export { addOrReplaceAtIdx, addOrReplaceAtIdx as default };
|
package/areEqual.cjs.js
CHANGED
|
@@ -7,49 +7,34 @@ var isObject = require('./isObject.cjs.js');
|
|
|
7
7
|
require('./getType.cjs.js');
|
|
8
8
|
require('./isPlainObject.cjs.js');
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
const areObjects = isObject.isObject(a) && isObject.isObject(b);
|
|
41
|
-
if (areObjects && !areEqualObjects(a, b)) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
const areArrays = isArray.isArray(a) && isArray.isArray(b);
|
|
45
|
-
if (areArrays && !areEqualArrays(a, b)) {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
if (!areObjects && !areArrays && a !== b) {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
return true;
|
|
52
|
-
};
|
|
10
|
+
/**
|
|
11
|
+
*/let t=(r,e)=>{if(!e||r.length!==e.length)return !1;for(let t=0;t<r.length;t++)if(!areEqual(r[t],e[t]))return !1;return !0},/**
|
|
12
|
+
* NOTE: Since we do not care about `undefined` values we do not check for equal
|
|
13
|
+
* `Object.keys().length` equality
|
|
14
|
+
*/u=(r,e)=>{if(!e)return !1;// const bKeys = Object.keys(b);
|
|
15
|
+
// if (aKeys.length !== bKeys.length) {
|
|
16
|
+
// return false;
|
|
17
|
+
// }
|
|
18
|
+
for(let t of Object.keys(r))if(!areEqual(r[t],e[t]))return !1;return !0};/**
|
|
19
|
+
* A simple and quick deep equal objects utility. This is meant to be used
|
|
20
|
+
* solely to deduplicate requests payload and perform comparison on JSON ready
|
|
21
|
+
* objects made of primitives `string`, `number` and `boolean`s.
|
|
22
|
+
*
|
|
23
|
+
* It support nested `object`s and `array`s only.
|
|
24
|
+
*
|
|
25
|
+
* NB: `undefined` and `null` values do not count in the comparison as they are
|
|
26
|
+
* usually meant to be ignored in JSON requestBody payloads.
|
|
27
|
+
*
|
|
28
|
+
* According to very rudimentary tests this function takes on average between
|
|
29
|
+
* 0.15 ms and 2ms to compare two averaged sizes requet body payloads.
|
|
30
|
+
*
|
|
31
|
+
* @category object
|
|
32
|
+
*/let areEqual=(l,f)=>{if(!l&&!f)// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
33
|
+
return !0;// const t0 = performance.now();
|
|
34
|
+
if(!f&&l!==f)// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
35
|
+
return !1;let n=isObject.isObject(l)&&isObject.isObject(f);if(n&&!u(l,f))// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
36
|
+
return !1;let i=isArray.isArray(l)&&isArray.isArray(f);return !!(!i||t(l,f))&&// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
37
|
+
(!!n||!!i||l===f)};// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
53
38
|
|
|
54
39
|
exports.areEqual = areEqual;
|
|
55
40
|
exports["default"] = areEqual;
|
package/areEqual.esm.js
CHANGED
|
@@ -3,48 +3,33 @@ import { isObject } from './isObject.esm.js';
|
|
|
3
3
|
import './getType.esm.js';
|
|
4
4
|
import './isPlainObject.esm.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
const areObjects = isObject(a) && isObject(b);
|
|
37
|
-
if (areObjects && !areEqualObjects(a, b)) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
const areArrays = isArray(a) && isArray(b);
|
|
41
|
-
if (areArrays && !areEqualArrays(a, b)) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
if (!areObjects && !areArrays && a !== b) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
return true;
|
|
48
|
-
};
|
|
6
|
+
/**
|
|
7
|
+
*/let t=(r,e)=>{if(!e||r.length!==e.length)return !1;for(let t=0;t<r.length;t++)if(!areEqual(r[t],e[t]))return !1;return !0},/**
|
|
8
|
+
* NOTE: Since we do not care about `undefined` values we do not check for equal
|
|
9
|
+
* `Object.keys().length` equality
|
|
10
|
+
*/u=(r,e)=>{if(!e)return !1;// const bKeys = Object.keys(b);
|
|
11
|
+
// if (aKeys.length !== bKeys.length) {
|
|
12
|
+
// return false;
|
|
13
|
+
// }
|
|
14
|
+
for(let t of Object.keys(r))if(!areEqual(r[t],e[t]))return !1;return !0};/**
|
|
15
|
+
* A simple and quick deep equal objects utility. This is meant to be used
|
|
16
|
+
* solely to deduplicate requests payload and perform comparison on JSON ready
|
|
17
|
+
* objects made of primitives `string`, `number` and `boolean`s.
|
|
18
|
+
*
|
|
19
|
+
* It support nested `object`s and `array`s only.
|
|
20
|
+
*
|
|
21
|
+
* NB: `undefined` and `null` values do not count in the comparison as they are
|
|
22
|
+
* usually meant to be ignored in JSON requestBody payloads.
|
|
23
|
+
*
|
|
24
|
+
* According to very rudimentary tests this function takes on average between
|
|
25
|
+
* 0.15 ms and 2ms to compare two averaged sizes requet body payloads.
|
|
26
|
+
*
|
|
27
|
+
* @category object
|
|
28
|
+
*/let areEqual=(l,f)=>{if(!l&&!f)// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
29
|
+
return !0;// const t0 = performance.now();
|
|
30
|
+
if(!f&&l!==f)// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
31
|
+
return !1;let n=isObject(l)&&isObject(f);if(n&&!u(l,f))// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
32
|
+
return !1;let i=isArray(l)&&isArray(f);return !!(!i||t(l,f))&&// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
33
|
+
(!!n||!!i||l===f)};// console.log(`areEqual took ${performance.now() - t0} ms`);
|
|
49
34
|
|
|
50
35
|
export { areEqual, areEqual as default };
|
package/arrayFilterFalsy.cjs.js
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Given a list it returns it filtered without any falsy values (`null`,
|
|
7
|
+
* `undefined`, `false`, `0`, `""`). It "adjusts" the returned type as well.
|
|
8
|
+
*
|
|
9
|
+
* @category array
|
|
10
|
+
*/let arrayFilterFalsy=r=>r?r.filter(r=>!!r):[];
|
|
6
11
|
|
|
7
12
|
exports.arrayFilterFalsy = arrayFilterFalsy;
|
|
8
13
|
exports["default"] = arrayFilterFalsy;
|
package/arrayFilterFalsy.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare let arrayFilterFalsy: <T extends unknown[]>(list?:
|
|
1
|
+
export declare let arrayFilterFalsy: <T extends unknown[]>(list?: null | T) => Exclude<NonNullable<T>[number], false | "" | 0 | undefined>[];
|
|
2
2
|
export default arrayFilterFalsy;
|
package/arrayFilterFalsy.esm.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Given a list it returns it filtered without any falsy values (`null`,
|
|
3
|
+
* `undefined`, `false`, `0`, `""`). It "adjusts" the returned type as well.
|
|
4
|
+
*
|
|
5
|
+
* @category array
|
|
6
|
+
*/let arrayFilterFalsy=r=>r?r.filter(r=>!!r):[];
|
|
2
7
|
|
|
3
8
|
export { arrayFilterFalsy, arrayFilterFalsy as default };
|
|
@@ -2,14 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Returns the index of the last element in the array where predicate is true, and -1
|
|
7
|
+
* otherwise.
|
|
8
|
+
*
|
|
9
|
+
* @borrows [SO's answer by Nico Timmerman](https://stackoverflow.com/a/53187807/1938970)
|
|
10
|
+
*
|
|
11
|
+
* @category array
|
|
12
|
+
*
|
|
13
|
+
* @param array The source array to search in
|
|
14
|
+
* @param predicate find calls predicate once for each element of the array, in descending
|
|
15
|
+
* order, until it finds one where predicate returns true. If such an element is found,
|
|
16
|
+
* findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.
|
|
17
|
+
*/let arrayFindLastIndex=(r,e)=>{let t=r.length;for(;t--;)if(e(r[t],t,r))return t;return -1};
|
|
13
18
|
|
|
14
19
|
exports.arrayFindLastIndex = arrayFindLastIndex;
|
|
15
20
|
exports["default"] = arrayFindLastIndex;
|
package/arrayFindLastIndex.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare let arrayFindLastIndex: <T>(array: T
|
|
1
|
+
export declare let arrayFindLastIndex: <T>(array: Array<T>, predicate: (value: T, index: number, obj: T[]) => boolean) => number;
|
|
2
2
|
export default arrayFindLastIndex;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Returns the index of the last element in the array where predicate is true, and -1
|
|
3
|
+
* otherwise.
|
|
4
|
+
*
|
|
5
|
+
* @borrows [SO's answer by Nico Timmerman](https://stackoverflow.com/a/53187807/1938970)
|
|
6
|
+
*
|
|
7
|
+
* @category array
|
|
8
|
+
*
|
|
9
|
+
* @param array The source array to search in
|
|
10
|
+
* @param predicate find calls predicate once for each element of the array, in descending
|
|
11
|
+
* order, until it finds one where predicate returns true. If such an element is found,
|
|
12
|
+
* findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.
|
|
13
|
+
*/let arrayFindLastIndex=(r,e)=>{let t=r.length;for(;t--;)if(e(r[t],t,r))return t;return -1};
|
|
9
14
|
|
|
10
15
|
export { arrayFindLastIndex, arrayFindLastIndex as default };
|
package/arrayOfAll.cjs.js
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Ensure an array contains all desired values
|
|
7
|
+
*
|
|
8
|
+
* @category array
|
|
9
|
+
* @borrows [SO comment by `CertainPerformance`](https://stackoverflow.com/a/60132060/1938970)
|
|
10
|
+
*
|
|
11
|
+
* @usage
|
|
12
|
+
* ```ts
|
|
13
|
+
* type Fruit = "pear" | "apple" | "orange";
|
|
14
|
+
*
|
|
15
|
+
* const arrayOfAllFruits = arrayOfAll<Fruit>();
|
|
16
|
+
*
|
|
17
|
+
* const allFruits = arrayOfAllFruits([ "pear", "apple", "orange" ]); // ts compiler ok
|
|
18
|
+
* const allFruits = arrayOfAllFruits([ "pear", "apple" ]); // ts compiler fails
|
|
19
|
+
* ```
|
|
20
|
+
*/let arrayOfAll=()=>l=>l;
|
|
6
21
|
|
|
7
22
|
exports.arrayOfAll = arrayOfAll;
|
|
8
23
|
exports["default"] = arrayOfAll;
|
package/arrayOfAll.esm.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Ensure an array contains all desired values
|
|
3
|
+
*
|
|
4
|
+
* @category array
|
|
5
|
+
* @borrows [SO comment by `CertainPerformance`](https://stackoverflow.com/a/60132060/1938970)
|
|
6
|
+
*
|
|
7
|
+
* @usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* type Fruit = "pear" | "apple" | "orange";
|
|
10
|
+
*
|
|
11
|
+
* const arrayOfAllFruits = arrayOfAll<Fruit>();
|
|
12
|
+
*
|
|
13
|
+
* const allFruits = arrayOfAllFruits([ "pear", "apple", "orange" ]); // ts compiler ok
|
|
14
|
+
* const allFruits = arrayOfAllFruits([ "pear", "apple" ]); // ts compiler fails
|
|
15
|
+
* ```
|
|
16
|
+
*/let arrayOfAll=()=>l=>l;
|
|
2
17
|
|
|
3
18
|
export { arrayOfAll, arrayOfAll as default };
|
package/arraySum.cjs.js
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Sum array of numbers
|
|
7
|
+
*
|
|
8
|
+
* @category array
|
|
9
|
+
* @category math
|
|
10
|
+
*/let arraySum=r=>r.reduce((r,e)=>r+e,0);
|
|
6
11
|
|
|
7
12
|
exports.arraySum = arraySum;
|
|
8
13
|
exports["default"] = arraySum;
|
package/arraySum.esm.js
CHANGED
package/arrayToLookup.cjs.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Maps a simple flat array to a lookup dictionary object
|
|
7
|
+
*
|
|
8
|
+
* @category array
|
|
9
|
+
*/let arrayToLookup=(o=[])=>o.reduce((o,r)=>(o[r]=1,o),{});
|
|
9
10
|
|
|
10
11
|
exports.arrayToLookup = arrayToLookup;
|
|
11
12
|
exports["default"] = arrayToLookup;
|
package/arrayToLookup.esm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Maps a simple flat array to a lookup dictionary object
|
|
3
|
+
*
|
|
4
|
+
* @category array
|
|
5
|
+
*/let arrayToLookup=(o=[])=>o.reduce((o,r)=>(o[r]=1,o),{});
|
|
5
6
|
|
|
6
7
|
export { arrayToLookup, arrayToLookup as default };
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @borrows [SO answer](https://stackoverflow.com/a/56757215/1938970)
|
|
7
|
+
*
|
|
8
|
+
* @category array
|
|
9
|
+
* @param array The array to filter
|
|
10
|
+
* @param keys The keys to compare in each array item
|
|
11
|
+
* @returns The filtered array
|
|
12
|
+
*/let arrayUniqueByProperties=(e,r)=>e.filter((e,t,i)=>i.findIndex(t=>r.every(r=>t[r]===e[r]))===t);
|
|
6
13
|
|
|
7
14
|
exports.arrayUniqueByProperties = arrayUniqueByProperties;
|
|
8
15
|
exports["default"] = arrayUniqueByProperties;
|