@trackunit/shared-utils
Advanced tools
Comparing version 0.0.55 to 0.0.56
@@ -1040,3 +1040,26 @@ 'use strict'; | ||
/* eslint-disable local-rules/prefer-custom-object-keys */ | ||
/* eslint-disable local-rules/prefer-custom-object-from-entries */ | ||
/** | ||
* Sorts the given object alphabetically, caseFirst: "lower". | ||
*/ | ||
const alphabeticallySort = (sortInput) => { | ||
const sortedObject = Object.fromEntries(Object.keys(sortInput) | ||
.sort((a, b) => a.localeCompare(b, undefined, { caseFirst: "lower" })) | ||
// eslint-disable-next-line local-rules/no-typescript-assertion | ||
.map(key => [key, sortInput[key]])); | ||
return sortedObject; | ||
}; | ||
/** | ||
* Checks if the given object is sorted alphabetically, caseFirst: "lower". | ||
*/ | ||
const isSorted = (sortInput) => { | ||
const originalKeys = Object.keys(sortInput); | ||
const sortedKeys = [...originalKeys].sort((a, b) => a.localeCompare(b, undefined, { caseFirst: "lower" })); | ||
// Compare the original keys with the sorted keys | ||
return originalKeys.every((key, index) => key === sortedKeys[index]); | ||
}; | ||
exports.align = align; | ||
exports.alphabeticallySort = alphabeticallySort; | ||
exports.arrayLengthCompare = arrayLengthCompare; | ||
@@ -1073,2 +1096,3 @@ exports.arrayNotEmpty = arrayNotEmpty; | ||
exports.intersection = intersection; | ||
exports.isSorted = isSorted; | ||
exports.isStringArrayEqual = isStringArrayEqual; | ||
@@ -1075,0 +1099,0 @@ exports.isUUID = isUUID; |
@@ -1036,2 +1036,24 @@ var HoursAndMinutesFormat; | ||
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, objectEntries, objectFromEntries, objectKeys, objectValues, pick, removeLeftPadding, resizeBlob, resizeImage, size, stringCompare, stringCompareFromKey, stringNaturalCompare, titleCase, toID, toIDs, toUUID, toggle, trimIds, trimPath, truthy, unionArraysByKey }; | ||
/* eslint-disable local-rules/prefer-custom-object-keys */ | ||
/* eslint-disable local-rules/prefer-custom-object-from-entries */ | ||
/** | ||
* Sorts the given object alphabetically, caseFirst: "lower". | ||
*/ | ||
const alphabeticallySort = (sortInput) => { | ||
const sortedObject = Object.fromEntries(Object.keys(sortInput) | ||
.sort((a, b) => a.localeCompare(b, undefined, { caseFirst: "lower" })) | ||
// eslint-disable-next-line local-rules/no-typescript-assertion | ||
.map(key => [key, sortInput[key]])); | ||
return sortedObject; | ||
}; | ||
/** | ||
* Checks if the given object is sorted alphabetically, caseFirst: "lower". | ||
*/ | ||
const isSorted = (sortInput) => { | ||
const originalKeys = Object.keys(sortInput); | ||
const sortedKeys = [...originalKeys].sort((a, b) => a.localeCompare(b, undefined, { caseFirst: "lower" })); | ||
// Compare the original keys with the sorted keys | ||
return originalKeys.every((key, index) => key === sortedKeys[index]); | ||
}; | ||
export { DateTimeFormat, HoursAndMinutesFormat, align, alphabeticallySort, 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, isSorted, isStringArrayEqual, isUUID, isValidImage, nonNullable, numberCompare, numberCompareUnknownAfterHighest, objNotEmpty, objectEntries, objectFromEntries, objectKeys, objectValues, pick, removeLeftPadding, resizeBlob, resizeImage, size, stringCompare, stringCompareFromKey, stringNaturalCompare, titleCase, toID, toIDs, toUUID, toggle, trimIds, trimPath, truthy, unionArraysByKey }; |
{ | ||
"name": "@trackunit/shared-utils", | ||
"version": "0.0.55", | ||
"version": "0.0.56", | ||
"repository": "https://github.com/Trackunit/manager", | ||
@@ -5,0 +5,0 @@ "license": "SEE LICENSE IN LICENSE.txt", |
@@ -23,2 +23,3 @@ export * from "./DateTimeFormat"; | ||
export * from "./stringUtils"; | ||
export * from "./translationUtils"; | ||
export * from "./typeUtils"; |
106505
33
2780