Files
twenty/packages/twenty-server/src/engine/utils/generate-fake-value.ts

42 lines
1.1 KiB
TypeScript

type FakeValueTypes =
| string
| number
| boolean
| Date
| FakeValueTypes[]
| { [key: string]: FakeValueTypes };
export const generateFakeValue = (valueType: string): FakeValueTypes => {
if (valueType === 'string') {
return 'generated-string-value';
} else if (valueType === 'number') {
return 1;
} else if (valueType === 'boolean') {
return true;
} else if (valueType === 'Date') {
return new Date();
} else if (valueType.endsWith('[]')) {
const elementType = valueType.replace('[]', '');
return Array.from({ length: 3 }, () => generateFakeValue(elementType));
} else if (valueType.startsWith('{') && valueType.endsWith('}')) {
const objData: Record<string, any> = {};
const properties = valueType
.slice(1, -1)
.split(';')
.map((p) => p.trim())
.filter((p) => p);
properties.forEach((property) => {
const [key, valueType] = property.split(':').map((s) => s.trim());
objData[key] = generateFakeValue(valueType);
});
return objData;
} else {
return 'generated-string-value';
}
};