UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

103 lines (101 loc) 4.3 kB
/** * 2024-09-07: Migrated from the same folder in fps-library-v2/dist/logic/Strings... */ /*** * .d8888. d888888b d8888b. d888888b d8b db d888b .d8888. * 88' YP `~~88~~' 88 `8D `88' 888o 88 88' Y8b 88' YP * `8bo. 88 88oobY' 88 88V8o 88 88 `8bo. * `Y8b. 88 88`8b 88 88 V8o88 88 ooo `Y8b. * db 8D 88 88 `88. .88. 88 V888 88. ~8~ db 8D * `8888Y' YP 88 YD Y888888P VP V8P Y888P `8888Y' * * import { cleanSPListURL, cleanURL, encodeDecodeString, } from '@mikezimm/npmfunctions/dist/Services/Strings/urlServices'; import { makeid, isGuidgetStringArrayFromString, cleanEmptyElementsFromString } from '@mikezimm/npmfunctions/dist/Services/Strings/stringServices'; import { camelToSentanceCase, camelize, randomizeCase, upperFirstLetter, lowerFirstLetter } from '@mikezimm/npmfunctions/dist/Services/Strings/stringCase'; */ /*** * .o88b. .d8b. .88b d88. d88888b db d888888b d88888D d88888b * d8P Y8 d8' `8b 88'YbdP`88 88' 88 `88' YP d8' 88' * 8P 88ooo88 88 88 88 88ooooo 88 88 d8' 88ooooo * 8b 88~~~88 88 88 88 88~~~~~ 88 88 d8' 88~~~~~ * Y8b d8 88 88 88 88 88 88. 88booo. .88. d8' db 88. * `Y88P' YP YP YP YP YP Y88888P Y88888P Y888888P d88888P Y88888P * * */ /** * camelToSentanceCase will take camel case and convert to sentance case * source: https://stackoverflow.com/a/7225450 * * @param oldString * @param capFirst = capitalize first letter regardless * */ export function camelToSentanceCase(oldString, capFirst = true) { var result = oldString.replace(/([A-Z])/g, " $1"); var finalResult = capFirst === true ? result.charAt(0).toUpperCase() + result.slice(1) : result; finalResult = finalResult.trim(); return finalResult; } //https://stackoverflow.com/a/2970667/4210807 export function camelize(str, firstCap) { if (str == null) { return ''; } else { return str.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { if (firstCap) { //Use this flavor for CamelCase return index == 0 ? word.toUpperCase() : word.toUpperCase(); } else { //Use this flavor for camelCase return index == 0 ? word.toLowerCase() : word.toUpperCase(); } }).replace(/\s+/g, ''); } } export function upperFirstLetter(str, onErrorReturnEmpty) { if (str === null || str === undefined || str.length === 0) { return onErrorReturnEmpty === true ? '' : str; } else { return str.charAt(0).toUpperCase() + str.slice(1); } } export function lowerFirstLetter(str, onErrorReturnEmpty) { if (str === null || str === undefined || str.length === 0) { return onErrorReturnEmpty === true ? '' : str; } else { return str.charAt(0).toLowerCase() + str.slice(1); } } /*** * d8888b. .d8b. d8b db d8888b. .d88b. .88b d88. d888888b d88888D d88888b .o88b. .d8b. .d8888. d88888b * 88 `8D d8' `8b 888o 88 88 `8D .8P Y8. 88'YbdP`88 `88' YP d8' 88' d8P Y8 d8' `8b 88' YP 88' * 88oobY' 88ooo88 88V8o 88 88 88 88 88 88 88 88 88 d8' 88ooooo 8P 88ooo88 `8bo. 88ooooo * 88`8b 88~~~88 88 V8o88 88 88 88 88 88 88 88 88 d8' 88~~~~~ 8b 88~~~88 `Y8b. 88~~~~~ * 88 `88. 88 88 88 V888 88 .8D `8b d8' 88 88 88 .88. d8' db 88. Y8b d8 88 88 db 8D 88. * 88 YD YP YP VP V8P Y8888D' `Y88P' YP YP YP Y888888P d88888P Y88888P `Y88P' YP YP `8888Y' Y88888P * * */ export function randomizeCase(str) { var result = ''; if (str !== null && str !== undefined) { for (let i = 0; i < str.length; i++) { let UC = Math.random() > .5 ? true : false; if (UC === true) { result += str.substr(i, 1).toUpperCase(); } else { result += str.substr(i, 1).toLowerCase(); } } } else { result = str; } return result; } //# sourceMappingURL=stringCase.js.map