Move capitalize into twenty-shared (#9414)
capitalize had been moved into twenty-shared. Let's remove the duplicates in server and front !
This commit is contained in:
@ -8,6 +8,7 @@
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.mjs",
|
||||
"require": "./dist/index.js"
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
export * from './constants/TwentyCompaniesBaseUrl';
|
||||
export * from './constants/TwentyIconsBaseUrl';
|
||||
export * from './utils/aggregateOperations';
|
||||
export * from './utils/image/getImageAbsoluteURI';
|
||||
export * from './utils/strings';
|
||||
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
import { FieldMetadataType } from 'src/types/FieldMetadataType';
|
||||
import { isCompositeFieldMetadataType } from 'src/utils/aggregateOperations/isCompositeFieldMetadataType.util';
|
||||
|
||||
export const getSubfieldsForAggregateOperation = (
|
||||
fieldType: FieldMetadataType,
|
||||
): string[] | undefined => {
|
||||
if (!isCompositeFieldMetadataType(fieldType)) {
|
||||
return undefined;
|
||||
} else {
|
||||
switch (fieldType) {
|
||||
case FieldMetadataType.CURRENCY:
|
||||
return ['amountMicros', 'currencyCode'];
|
||||
case FieldMetadataType.FULL_NAME:
|
||||
return ['firstName', 'lastName'];
|
||||
case FieldMetadataType.ADDRESS:
|
||||
return [
|
||||
'addressStreet1',
|
||||
'addressStreet2',
|
||||
'addressCity',
|
||||
'addressPostcode',
|
||||
'addressState',
|
||||
'addressCountry',
|
||||
'addressLat',
|
||||
'addressLng',
|
||||
];
|
||||
case FieldMetadataType.LINKS:
|
||||
return ['primaryLinkUrl'];
|
||||
case FieldMetadataType.ACTOR:
|
||||
return ['workspaceMemberId'];
|
||||
case FieldMetadataType.EMAILS:
|
||||
return ['primaryEmail'];
|
||||
case FieldMetadataType.PHONES:
|
||||
return [
|
||||
'primaryPhoneNumber',
|
||||
'primaryPhoneCountryCode',
|
||||
'primaryPhoneCallingCode',
|
||||
];
|
||||
default:
|
||||
throw new Error(`Unsupported composite field type: ${fieldType}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -1 +0,0 @@
|
||||
export * from './getSubFieldsForAggregateOperation.util';
|
||||
@ -1,22 +0,0 @@
|
||||
import { FieldMetadataType } from 'src/types/FieldMetadataType';
|
||||
|
||||
export const isCompositeFieldMetadataType = (
|
||||
type: FieldMetadataType,
|
||||
): type is
|
||||
| FieldMetadataType.CURRENCY
|
||||
| FieldMetadataType.FULL_NAME
|
||||
| FieldMetadataType.ADDRESS
|
||||
| FieldMetadataType.LINKS
|
||||
| FieldMetadataType.ACTOR
|
||||
| FieldMetadataType.EMAILS
|
||||
| FieldMetadataType.PHONES => {
|
||||
return [
|
||||
FieldMetadataType.CURRENCY,
|
||||
FieldMetadataType.FULL_NAME,
|
||||
FieldMetadataType.ADDRESS,
|
||||
FieldMetadataType.LINKS,
|
||||
FieldMetadataType.ACTOR,
|
||||
FieldMetadataType.EMAILS,
|
||||
FieldMetadataType.PHONES,
|
||||
].includes(type);
|
||||
};
|
||||
@ -0,0 +1,10 @@
|
||||
import { capitalize } from '../capitalize.util';
|
||||
describe('capitalize', () => {
|
||||
it('should capitalize a string', () => {
|
||||
expect(capitalize('test')).toBe('Test');
|
||||
});
|
||||
|
||||
it('should return an empty string if input is an empty string', () => {
|
||||
expect(capitalize('')).toBe('');
|
||||
});
|
||||
});
|
||||
1
packages/twenty-shared/src/utils/strings/index.ts
Normal file
1
packages/twenty-shared/src/utils/strings/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './capitalize.util';
|
||||
Reference in New Issue
Block a user