@trackunit/shared-utils 0.0.36-alpha-bc5b0fcd90.0 → 0.0.36
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/index.cjs.js +12 -0
- package/index.esm.js +12 -1
- package/package.json +1 -1
- package/src/objectUtils.d.ts +4 -0
package/index.cjs.js
CHANGED
|
@@ -573,6 +573,17 @@ const deleteUndefinedKeys = (obj) => {
|
|
|
573
573
|
* @returns The object if not empty, otherwise undefined.
|
|
574
574
|
*/
|
|
575
575
|
const objNotEmpty = (obj) => obj && Object.keys(obj).length > 0 ? obj : undefined;
|
|
576
|
+
/**
|
|
577
|
+
* Picks the given keys from an object, typesafe.
|
|
578
|
+
*/
|
|
579
|
+
const pick = (obj, ...keys) => {
|
|
580
|
+
return keys.reduce((acc, key) => {
|
|
581
|
+
acc[key] = obj[key];
|
|
582
|
+
return acc;
|
|
583
|
+
},
|
|
584
|
+
// eslint-disable-next-line local-rules/no-typescript-assertion
|
|
585
|
+
{});
|
|
586
|
+
};
|
|
576
587
|
|
|
577
588
|
/**
|
|
578
589
|
* @param path the path to manipulate
|
|
@@ -1013,6 +1024,7 @@ exports.nonNullable = nonNullable;
|
|
|
1013
1024
|
exports.numberCompare = numberCompare;
|
|
1014
1025
|
exports.numberCompareUnknownAfterHighest = numberCompareUnknownAfterHighest;
|
|
1015
1026
|
exports.objNotEmpty = objNotEmpty;
|
|
1027
|
+
exports.pick = pick;
|
|
1016
1028
|
exports.removeLeftPadding = removeLeftPadding;
|
|
1017
1029
|
exports.resizeBlob = resizeBlob;
|
|
1018
1030
|
exports.resizeImage = resizeImage;
|
package/index.esm.js
CHANGED
|
@@ -569,6 +569,17 @@ const deleteUndefinedKeys = (obj) => {
|
|
|
569
569
|
* @returns The object if not empty, otherwise undefined.
|
|
570
570
|
*/
|
|
571
571
|
const objNotEmpty = (obj) => obj && Object.keys(obj).length > 0 ? obj : undefined;
|
|
572
|
+
/**
|
|
573
|
+
* Picks the given keys from an object, typesafe.
|
|
574
|
+
*/
|
|
575
|
+
const pick = (obj, ...keys) => {
|
|
576
|
+
return keys.reduce((acc, key) => {
|
|
577
|
+
acc[key] = obj[key];
|
|
578
|
+
return acc;
|
|
579
|
+
},
|
|
580
|
+
// eslint-disable-next-line local-rules/no-typescript-assertion
|
|
581
|
+
{});
|
|
582
|
+
};
|
|
572
583
|
|
|
573
584
|
/**
|
|
574
585
|
* @param path the path to manipulate
|
|
@@ -970,4 +981,4 @@ const titleCase = (s) => {
|
|
|
970
981
|
*/
|
|
971
982
|
const removeLeftPadding = (id) => Number(id === null || id === void 0 ? void 0 : id.replace(/-/g, "").replace(/^0+/, ""));
|
|
972
983
|
|
|
973
|
-
export { DateTimeFormat, HoursAndMinutesFormat, align, arrayLengthCompare, arrayNotEmpty, booleanCompare, capitalize, convertBlobToBase64, convertMetersToYards, convertYardsToMeters, dateCompare, deleteUndefinedKeys, difference, doNothing, ensureArray, enumFromValue, enumFromValueTypesafe, enumOrUndefinedFromValue, exhaustiveCheck, filterByMultiple, formatAddress, formatCoordinates, fuzzySearch, getDifferenceBetweenDates, getEndOfDay, getISOStringFromDate, getMultipleCoordinatesFromGeoJsonObject, getPointCoordinateFromGeoJsonObject, getResizedDimensions, getStartOfDay, groupBy, groupTinyDataToOthers, hourIntervals, intersection, isStringArrayEqual, isUUID, isValidImage, nonNullable, numberCompare, numberCompareUnknownAfterHighest, objNotEmpty, removeLeftPadding, resizeBlob, resizeImage, size, stringCompare, stringCompareFromKey, stringNaturalCompare, titleCase, toID, toIDs, toUUID, toggle, trimIds, trimPath, truthy, typeSafeToLowercase, unionArraysByKey };
|
|
984
|
+
export { DateTimeFormat, HoursAndMinutesFormat, align, arrayLengthCompare, arrayNotEmpty, booleanCompare, capitalize, convertBlobToBase64, convertMetersToYards, convertYardsToMeters, dateCompare, deleteUndefinedKeys, difference, doNothing, ensureArray, enumFromValue, enumFromValueTypesafe, enumOrUndefinedFromValue, exhaustiveCheck, filterByMultiple, formatAddress, formatCoordinates, fuzzySearch, getDifferenceBetweenDates, getEndOfDay, getISOStringFromDate, getMultipleCoordinatesFromGeoJsonObject, getPointCoordinateFromGeoJsonObject, getResizedDimensions, getStartOfDay, groupBy, groupTinyDataToOthers, hourIntervals, intersection, isStringArrayEqual, isUUID, isValidImage, nonNullable, numberCompare, numberCompareUnknownAfterHighest, objNotEmpty, pick, removeLeftPadding, resizeBlob, resizeImage, size, stringCompare, stringCompareFromKey, stringNaturalCompare, titleCase, toID, toIDs, toUUID, toggle, trimIds, trimPath, truthy, typeSafeToLowercase, unionArraysByKey };
|
package/package.json
CHANGED
package/src/objectUtils.d.ts
CHANGED
|
@@ -13,3 +13,7 @@ export declare const deleteUndefinedKeys: <T extends Record<string, unknown>>(ob
|
|
|
13
13
|
* @returns The object if not empty, otherwise undefined.
|
|
14
14
|
*/
|
|
15
15
|
export declare const objNotEmpty: <T extends object>(obj?: T | undefined) => T | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Picks the given keys from an object, typesafe.
|
|
18
|
+
*/
|
|
19
|
+
export declare const pick: <T, K extends keyof T>(obj: T, ...keys: K[]) => Pick<T, K>;
|