From 2dc206e0d033baa8f3e3283be986d2414d4aede8 Mon Sep 17 00:00:00 2001 From: Kekelgrs <141422299+Kekelgrs@users.noreply.github.com> Date: Wed, 23 Aug 2023 10:45:36 +0200 Subject: [PATCH] improve getInitials function with more case (#303) --- libs/utils/dist/cjs/utils.d.ts | 42 +++++++++++++++++++++++++------- libs/utils/dist/cjs/utils.js | 36 +++++++++++++++++++++++---- libs/utils/dist/cjs/utils.js.map | 2 +- libs/utils/dist/esm/utils.d.ts | 42 +++++++++++++++++++++++++------- libs/utils/dist/esm/utils.js | 33 ++++++++++++++++++++++--- libs/utils/dist/esm/utils.js.map | 2 +- libs/utils/src/utils.test.ts | 26 +++++++++++++++++--- libs/utils/src/utils.ts | 35 +++++++++++++++++++++----- 8 files changed, 180 insertions(+), 38 deletions(-) diff --git a/libs/utils/dist/cjs/utils.d.ts b/libs/utils/dist/cjs/utils.d.ts index 8d758f147..5b93bc6ee 100644 --- a/libs/utils/dist/cjs/utils.d.ts +++ b/libs/utils/dist/cjs/utils.d.ts @@ -1,9 +1,17 @@ -import { FileType } from './types/files'; -import { IKeyValue } from './types/helpers'; +import {FileType} from './types/files'; +import {IKeyValue} from './types/helpers'; export declare const getGraphqlTypeFromLibraryName: (library: string) => string; export declare const getGraphqlQueryNameFromLibraryName: (library: string) => string; -export declare const isFileAllowed: (fsPath: string, allowList: string[], ignoreList: string[], filePath: string) => boolean; -export declare const localizedTranslation: (translations: Record, availableLanguages: string[]) => string; +export declare const isFileAllowed: ( + fsPath: string, + allowList: string[], + ignoreList: string[], + filePath: string +) => boolean; +export declare const localizedTranslation: ( + translations: Record, + availableLanguages: string[] +) => string; /** * * @param str @@ -11,7 +19,12 @@ export declare const localizedTranslation: (translations: Record * @param saturation in percent, default to 30 * @param luminosity in percent, default to 80 */ -export declare const stringToColor: (str?: string | null, format?: string, saturation?: number, luminosity?: number) => string; +export declare const stringToColor: ( + str?: string | null, + format?: string, + saturation?: number, + luminosity?: number +) => string; export declare const getInvertColor: (color: string) => string; /** * Parse string to extract args. @@ -21,17 +34,27 @@ export declare const getInvertColor: (color: string) => string; * eg. "-library product -type link" => {library: product, type: link} * @param mapping */ -export declare const extractArgsFromString: (mapping: string) => { +export declare const extractArgsFromString: ( + mapping: string +) => { [arg: string]: string; }; -export declare const objectToNameValueArray: (obj: IKeyValue) => { +export declare const objectToNameValueArray: ( + obj: IKeyValue +) => { name: string; value: T; }[]; -export declare const nameValArrayToObj: (arr?: Array<{}>, keyFieldName?: string, valueFieldName?: string) => { +export declare const nameValArrayToObj: ( + arr?: Array<{}>, + keyFieldName?: string, + valueFieldName?: string +) => { [key: string]: any; }; -export declare const getLibraryGraphqlNames: (libraryId: string) => { +export declare const getLibraryGraphqlNames: ( + libraryId: string +) => { query: string; type: string; list: string; @@ -46,6 +69,7 @@ export declare const getFileType: (fileName: string) => FileType; */ export declare const getCallStack: (depth?: number) => string[]; export declare const getInitials: (label: string, length?: number) => string; +export declare const _getInitialEngine: (words: string[], length: number) => string; /** * Format an ID: remove accents, any special characters, replace spaces by underscore and make sure there is no double underscore * diff --git a/libs/utils/dist/cjs/utils.js b/libs/utils/dist/cjs/utils.js index c1e018fb3..a6db30d1e 100644 --- a/libs/utils/dist/cjs/utils.js +++ b/libs/utils/dist/cjs/utils.js @@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.formatId = exports.getInitials = exports.getCallStack = exports.getFileType = exports.getLibraryGraphqlNames = exports.nameValArrayToObj = exports.objectToNameValueArray = exports.extractArgsFromString = exports.getInvertColor = exports.stringToColor = exports.localizedTranslation = exports.isFileAllowed = exports.getGraphqlQueryNameFromLibraryName = exports.getGraphqlTypeFromLibraryName = void 0; +exports.formatId = exports._getInitialEngine = exports.getInitials = exports.getCallStack = exports.getFileType = exports.getLibraryGraphqlNames = exports.nameValArrayToObj = exports.objectToNameValueArray = exports.extractArgsFromString = exports.getInvertColor = exports.stringToColor = exports.localizedTranslation = exports.isFileAllowed = exports.getGraphqlQueryNameFromLibraryName = exports.getGraphqlTypeFromLibraryName = void 0; // Copyright LEAV Solutions 2017 // This file is released under LGPL V3 // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt @@ -38,6 +38,7 @@ const upperFirst_1 = __importDefault(require("lodash/upperFirst")); const minimatch_1 = __importDefault(require("minimatch")); const extensions = __importStar(require("./MIMEByExtension.json")); const files_1 = require("./types/files"); +const isEmpty_1 = __importDefault(require("lodash/isEmpty")); const getGraphqlTypeFromLibraryName = (library) => { return (0, flow_1.default)([camelCase_1.default, upperFirst_1.default, trimEnd_1.default, (0, partialRight_1.default)(trimEnd_1.default, 's')])(library); }; @@ -208,14 +209,39 @@ const getCallStack = (depth = 2) => { }; exports.getCallStack = getCallStack; const getInitials = (label, length = 2) => { - if (typeof label !== 'string') { + if (typeof label !== 'string' || (0, isEmpty_1.default)(label.trim()) || length < 1) { return '?'; } - const words = label.split(' ').slice(0, length); - const letters = words.length >= length ? words.map(word => word[0]).join('') : words[0].slice(0, length); - return letters.toUpperCase(); + const words = label.split(' '); + /* Setting up the list of word by using a regex according to the label sent + if the label contains letters & numbers, filter only on these letters + if the label contains only numbers, filter only on these numbers + symbols are ignored by the regex + if both list filtered by the regex are null, using the basic filter and split the label by space + */ + const letterRegex = new RegExp(/[A-Za-z]+/g); + const numberRegex = new RegExp(/[1-9]+/g); + const wordsRegex = label.match(letterRegex) ? label.match(letterRegex) : label.match(numberRegex); + return wordsRegex !== null ? (0, exports._getInitialEngine)(wordsRegex, length) : (0, exports._getInitialEngine)(words, length); }; exports.getInitials = getInitials; +const _getInitialEngine = (words, length) => { + let initials = ''; + if (words.length === 1) { + initials = words[0].slice(0, length); + } + else { + //the number of initial to display cannot exceed the number of words filtered + if (words.length < length) { + length = words.length; + } + for (let index = 0; index < length; index++) { + initials = initials + words[index].charAt(0); + } + } + return initials.toUpperCase(); +}; +exports._getInitialEngine = _getInitialEngine; /** * Format an ID: remove accents, any special characters, replace spaces by underscore and make sure there is no double underscore * diff --git a/libs/utils/dist/cjs/utils.js.map b/libs/utils/dist/cjs/utils.js.map index cf7c41266..5d719af52 100644 --- a/libs/utils/dist/cjs/utils.js.map +++ b/libs/utils/dist/cjs/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/libs/utils/dist/esm/utils.d.ts b/libs/utils/dist/esm/utils.d.ts index 8d758f147..5b93bc6ee 100644 --- a/libs/utils/dist/esm/utils.d.ts +++ b/libs/utils/dist/esm/utils.d.ts @@ -1,9 +1,17 @@ -import { FileType } from './types/files'; -import { IKeyValue } from './types/helpers'; +import {FileType} from './types/files'; +import {IKeyValue} from './types/helpers'; export declare const getGraphqlTypeFromLibraryName: (library: string) => string; export declare const getGraphqlQueryNameFromLibraryName: (library: string) => string; -export declare const isFileAllowed: (fsPath: string, allowList: string[], ignoreList: string[], filePath: string) => boolean; -export declare const localizedTranslation: (translations: Record, availableLanguages: string[]) => string; +export declare const isFileAllowed: ( + fsPath: string, + allowList: string[], + ignoreList: string[], + filePath: string +) => boolean; +export declare const localizedTranslation: ( + translations: Record, + availableLanguages: string[] +) => string; /** * * @param str @@ -11,7 +19,12 @@ export declare const localizedTranslation: (translations: Record * @param saturation in percent, default to 30 * @param luminosity in percent, default to 80 */ -export declare const stringToColor: (str?: string | null, format?: string, saturation?: number, luminosity?: number) => string; +export declare const stringToColor: ( + str?: string | null, + format?: string, + saturation?: number, + luminosity?: number +) => string; export declare const getInvertColor: (color: string) => string; /** * Parse string to extract args. @@ -21,17 +34,27 @@ export declare const getInvertColor: (color: string) => string; * eg. "-library product -type link" => {library: product, type: link} * @param mapping */ -export declare const extractArgsFromString: (mapping: string) => { +export declare const extractArgsFromString: ( + mapping: string +) => { [arg: string]: string; }; -export declare const objectToNameValueArray: (obj: IKeyValue) => { +export declare const objectToNameValueArray: ( + obj: IKeyValue +) => { name: string; value: T; }[]; -export declare const nameValArrayToObj: (arr?: Array<{}>, keyFieldName?: string, valueFieldName?: string) => { +export declare const nameValArrayToObj: ( + arr?: Array<{}>, + keyFieldName?: string, + valueFieldName?: string +) => { [key: string]: any; }; -export declare const getLibraryGraphqlNames: (libraryId: string) => { +export declare const getLibraryGraphqlNames: ( + libraryId: string +) => { query: string; type: string; list: string; @@ -46,6 +69,7 @@ export declare const getFileType: (fileName: string) => FileType; */ export declare const getCallStack: (depth?: number) => string[]; export declare const getInitials: (label: string, length?: number) => string; +export declare const _getInitialEngine: (words: string[], length: number) => string; /** * Format an ID: remove accents, any special characters, replace spaces by underscore and make sure there is no double underscore * diff --git a/libs/utils/dist/esm/utils.js b/libs/utils/dist/esm/utils.js index 4fbc6fb6e..18ca997e2 100644 --- a/libs/utils/dist/esm/utils.js +++ b/libs/utils/dist/esm/utils.js @@ -9,6 +9,7 @@ import upperFirst from 'lodash/upperFirst'; import minimatch from 'minimatch'; import * as extensions from './MIMEByExtension.json'; import { FileType } from './types/files'; +import isEmpty from 'lodash/isEmpty'; export const getGraphqlTypeFromLibraryName = (library) => { return flow([camelCase, upperFirst, trimEnd, partialRight(trimEnd, 's')])(library); }; @@ -167,12 +168,36 @@ export const getCallStack = (depth = 2) => { return callers.map(c => c.trim().split(' ').splice(1).join(' @ ')); }; export const getInitials = (label, length = 2) => { - if (typeof label !== 'string') { + if (typeof label !== 'string' || isEmpty(label.trim()) || length < 1) { return '?'; } - const words = label.split(' ').slice(0, length); - const letters = words.length >= length ? words.map(word => word[0]).join('') : words[0].slice(0, length); - return letters.toUpperCase(); + const words = label.split(' '); + /* Setting up the list of word by using a regex according to the label sent + if the label contains letters & numbers, filter only on these letters + if the label contains only numbers, filter only on these numbers + symbols are ignored by the regex + if both list filtered by the regex are null, using the basic filter and split the label by space + */ + const letterRegex = new RegExp(/[A-Za-z]+/g); + const numberRegex = new RegExp(/[1-9]+/g); + const wordsRegex = label.match(letterRegex) ? label.match(letterRegex) : label.match(numberRegex); + return wordsRegex !== null ? _getInitialEngine(wordsRegex, length) : _getInitialEngine(words, length); +}; +export const _getInitialEngine = (words, length) => { + let initials = ''; + if (words.length === 1) { + initials = words[0].slice(0, length); + } + else { + //the number of initial to display cannot exceed the number of words filtered + if (words.length < length) { + length = words.length; + } + for (let index = 0; index < length; index++) { + initials = initials + words[index].charAt(0); + } + } + return initials.toUpperCase(); }; /** * Format an ID: remove accents, any special characters, replace spaces by underscore and make sure there is no double underscore diff --git a/libs/utils/dist/esm/utils.js.map b/libs/utils/dist/esm/utils.js.map index 0c5053ce3..2b0eaaea3 100644 --- a/libs/utils/dist/esm/utils.js.map +++ b/libs/utils/dist/esm/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAe,EAAU,EAAE;IACrE,OAAO,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,OAAe,EAAU,EAAE;IAC1E,OAAO,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,SAAmB,EAAE,UAAoB,EAAE,QAAgB,EAAW,EAAE;IAClH,gEAAgE;IAChE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACnB,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC;KACtB;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IAE1F,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAoC,EAAE,kBAA4B,EAAU,EAAE;IAC/G,IAAI,CAAC,YAAY,EAAE;QACf,OAAO,EAAE,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAU,EAAE;IAC/G,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,sCAAsC;QACtC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KACnD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IACvB,QAAQ,MAAM,EAAE;QACZ,KAAK,KAAK;YACN,OAAO,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,KAAK,KAAK;YACN,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,KAAK,KAAK;YACN,OAAO,OAAO,GAAG,KAAK,UAAU,MAAM,UAAU,IAAI,CAAC;QACzD;YACI,OAAO,OAAO,GAAG,KAAK,UAAU,MAAM,UAAU,IAAI,CAAC;KAC5D;AACL,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;IACjD,IAAI,CAAC,GAAG,CAAC,EAAE;QACP,CAAC,IAAI,CAAC,CAAC;KACV;IACD,IAAI,CAAC,GAAG,CAAC,EAAE;QACP,CAAC,IAAI,CAAC,CAAC;KACV;IACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC9B;IACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACxC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE;IAC1D,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9C,CAAC,CAAC;IACF,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAY,EAAE;IAC5D,CAAC,IAAI,GAAG,CAAC;IACT,CAAC,IAAI,GAAG,CAAC;IACT,CAAC,IAAI,GAAG,CAAC;IACT,IAAI,CAAS,CAAC;IACd,IAAI,CAAS,CAAC;IACd,IAAI,CAAS,CAAC;IACd,IAAI,CAAC,KAAK,CAAC,EAAE;QACT,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;KAC/B;SAAM;QACH,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KACjC;IAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAEjD,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAA2B,EAAE;IAC9E,MAAM,IAAI,GAAG,OAAO;SACf,KAAK,CAAC,GAAG,CAAC;SACV,KAAK,CAAC,CAAC,CAAC;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,iCAAK,GAAG,KAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,IAAI,IAAE,CAAA,EAAA,EAAE,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAI,GAAiB,EAAmC,EAAE;IAC5F,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,MAAiB,EAAE,EACnB,YAAY,GAAG,MAAM,EACrB,cAAc,GAAG,OAAO,EACJ,EAAE;IACtB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM;QACnC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE;YAC/B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YAEzD,OAAO,aAAa,CAAC;QACzB,CAAC,EAAE,EAAE,CAAC;QACR,CAAC,CAAC,IAAI,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACxD,MAAM,YAAY,GAAG,kCAAkC,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAE7D,OAAO;QACH,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW,GAAG,MAAM;QAC1B,gBAAgB,EAAE,WAAW,GAAG,kBAAkB;QAClD,MAAM,EAAE,WAAW,GAAG,QAAQ;KACjC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAY,EAAE;IACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9E,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACxB,OAAO,QAAQ,CAAC,KAAK,CAAC;KACzB;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;IAExC,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,CAAC,EAAY,EAAE;IACxD,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,KAAK,CAAC,CAAC;IAElG,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,SAAiB,CAAC,EAAE,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;QAClE,OAAO,GAAG,CAAC;KACd;IAED,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC;;;;;MAKE;IACF,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClG,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1G,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAe,EAAE,MAAc,EAAE,EAAE;IACjE,IAAI,QAAQ,GAAW,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;KACxC;SAAM;QACH,6EAA6E;QAC7E,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE;YACvB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SACzB;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;YACzC,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAChD;KACJ;IACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAU,EAAE;IAC3C,OAAO,EAAE;SACJ,SAAS,CAAC,KAAK,CAAC,CAAC,mDAAmD;SACpE,WAAW,EAAE,CAAC,uBAAuB;SACrC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,iBAAiB;SACjD,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,qDAAqD;SACrF,IAAI,EAAE,CAAC,6CAA6C;SACpD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,+BAA+B;SACnD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,4BAA4B;SACjD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,+BAA+B;SAClD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,qCAAqC;AAClE,CAAC,CAAC"} \ No newline at end of file diff --git a/libs/utils/src/utils.test.ts b/libs/utils/src/utils.test.ts index adbb43dd1..c26d33e7e 100644 --- a/libs/utils/src/utils.test.ts +++ b/libs/utils/src/utils.test.ts @@ -168,9 +168,29 @@ describe('utils', () => { describe('getInitials', () => { test('Return label initials for given length', async () => { - expect(getInitials('Dwight Schrute', 2)).toBe('DS'); - expect(getInitials('Dwight Schrute', 1)).toBe('D'); - expect(getInitials('Dwight', 2)).toBe('DW'); + expect(getInitials('', 2)).toBe('?'); + expect(getInitials(' ', 2)).toBe('?'); + expect(getInitials('Foo Bar', 0)).toBe('?'); + expect(getInitials('Foo Bar', -1)).toBe('?'); + expect(getInitials('Foo', 1)).toBe('F'); + expect(getInitials('Foo', 2)).toBe('FO'); + expect(getInitials('Foo', 4)).toBe('FOO'); + expect(getInitials('Foo Bar', 1)).toBe('F'); + expect(getInitials('Foo Bar', 2)).toBe('FB'); + expect(getInitials('Foo - Bar', 2)).toBe('FB'); + expect(getInitials('Foo & Bar', 2)).toBe('FB'); + expect(getInitials('- Foo - Bar', 2)).toBe('FB'); + expect(getInitials('- Foo -', 2)).toBe('FO'); + expect(getInitials('123 Foo', 2)).toBe('FO'); + expect(getInitials('132 - Foo Bar', 2)).toBe('FB'); + expect(getInitials('987 & 654 -23_AB', 2)).toBe('AB'); + expect(getInitials('987654', 2)).toBe('98'); + expect(getInitials('987 - 654', 2)).toBe('96'); + expect(getInitials('987 - aaaa', 4)).toBe('AAAA'); + expect(getInitials('^ - ^456789', 6)).toBe('456789'); + expect(getInitials('^ - ^456789', 7)).toBe('456789'); + expect(getInitials('987 - 654', 1)).toBe('9'); + expect(getInitials('^ - ^', 2)).toBe('^-'); }); }); diff --git a/libs/utils/src/utils.ts b/libs/utils/src/utils.ts index c95af866d..714816a12 100644 --- a/libs/utils/src/utils.ts +++ b/libs/utils/src/utils.ts @@ -10,6 +10,7 @@ import minimatch from 'minimatch'; import * as extensions from './MIMEByExtension.json'; import {FileType} from './types/files'; import {IKeyValue} from './types/helpers'; +import isEmpty from 'lodash/isEmpty'; export const getGraphqlTypeFromLibraryName = (library: string): string => { return flow([camelCase, upperFirst, trimEnd, partialRight(trimEnd, 's')])(library); @@ -200,16 +201,38 @@ export const getCallStack = (depth: number = 2): string[] => { }; export const getInitials = (label: string, length: number = 2) => { - if (typeof label !== 'string') { + if (typeof label !== 'string' || isEmpty(label.trim()) || length < 1) { return '?'; } - const words = label.split(' ').slice(0, length); - const letters = words.length >= length ? words.map(word => word[0]).join('') : words[0].slice(0, length); - - return letters.toUpperCase(); + const words: string[] = label.split(' '); + /* Setting up the list of word by using a regex according to the label sent + if the label contains letters & numbers, filter only on these letters + if the label contains only numbers, filter only on these numbers + symbols are ignored by the regex + if both list filtered by the regex are null, using the basic filter and split the label by space + */ + const letterRegex = new RegExp(/[A-Za-z]+/g); + const numberRegex = new RegExp(/[1-9]+/g); + const wordsRegex = label.match(letterRegex) ? label.match(letterRegex) : label.match(numberRegex); + return wordsRegex !== null ? _getInitialEngine(wordsRegex, length) : _getInitialEngine(words, length); +}; + +export const _getInitialEngine = (words: string[], length: number) => { + let initials: string = ''; + if (words.length === 1) { + initials = words[0].slice(0, length); + } else { + //the number of initial to display cannot exceed the number of words filtered + if (words.length < length) { + length = words.length; + } + for (let index = 0; index < length; index++) { + initials = initials + words[index].charAt(0); + } + } + return initials.toUpperCase(); }; - /** * Format an ID: remove accents, any special characters, replace spaces by underscore and make sure there is no double underscore *