Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 42x 58x 23x 23x 6x 5x 3x 24x 24x | import { CustomFieldDefinition } from 'ish-core/models/custom-field-definition/custom-field-definition.model';
import { CustomFieldData } from './custom-field.interface';
import { CustomFields } from './custom-field.model';
export class CustomFieldMapper {
static fromData(customFieldData: CustomFieldData[] = []): CustomFields {
return customFieldData.filter(CustomFieldMapper.hasValue).reduce<CustomFields>((customFields, customField) => {
customFields[customField.name] = customField.value;
return customFields;
}, {});
}
static toData(customFields: CustomFields, definitions: CustomFieldDefinition[]): CustomFieldData[] {
if (!customFields || !definitions?.length) {
return [];
}
return definitions.map(definition => ({
name: definition.name,
value: customFields[definition.name] || '',
type: definition.type,
}));
}
private static hasValue(customFieldData: CustomFieldData): boolean {
if (customFieldData.type === 'String') {
return !!customFieldData.value;
}
// eslint-disable-next-line unicorn/no-null
return customFieldData.value !== null;
}
}
|