Files
twenty/packages/twenty-front/src/utils/string/stripSimpleQuotesFromString.ts
Guillim 0527bc296e Default address country 🗺️ & Phone prefix ☎️ (#8614)
# Default address 🗺️ country & Phone ☎️ country

We add the ability to add a Default address country and a default Phone
country for fields in the Data model.

fix #8081

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-12-02 12:34:05 +00:00

26 lines
882 B
TypeScript

import { simpleQuotesStringSchema } from '~/utils/validation-schemas/simpleQuotesStringSchema';
export const stripSimpleQuotesFromString = <Input extends string>(
value: Input,
) =>
(simpleQuotesStringSchema.safeParse(value).success
? value.slice(1, -1)
: value) as Input extends `'${infer Output}'` ? Output : Input;
export const stripSimpleQuotesFromStringRecursive = (obj: any): any => {
if (typeof obj === 'string') {
return stripSimpleQuotesFromString(obj);
} else if (Array.isArray(obj)) {
return obj.map(stripSimpleQuotesFromStringRecursive);
} else if (typeof obj === 'object' && obj !== null) {
const newObj: any = {};
for (const key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key) === true) {
newObj[key] = stripSimpleQuotesFromStringRecursive(obj[key]);
}
}
return newObj;
}
return obj;
};