/
romatur
/
rn-dev
Обзор
Документация
Войти
/
romatur
/
rn-dev
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
rn-dev-project-api/src/models/transform/documents.ts
44 строки
1 KB
Roman.Turusov
init
08 апр 2026, 23:35
08 апр 2026, 23:35
c780c58
Код
Авторство
О чём код?
import { TransformationType, TransformFnParams } from 'class-transformer' export function transformDqcSteps({ type, value, options: { groups }, }: TransformFnParams) { if (type === TransformationType.PLAIN_TO_CLASS) { if (Array.isArray(value)) { return { ts: value?.find(v => v.name === 'ts_step') || {}, temp: value?.find(v => v.name === 'temp_step') || {}, quality: value?.find(v => v.name === 'quality_step') || {}, result: value?.find(v => v.name === 'result_step') || {}, } } } if (type === TransformationType.CLASS_TO_PLAIN) { if (groups?.length && groups.find(g => g === 'single_step')) { return value.ts || value.temp || value.quality || value.result } return [value.ts, value.temp, value.quality, value.result].filter(v => !!v) } return value } export function transformPluSteps({ type, value }: TransformFnParams) { if (type === TransformationType.PLAIN_TO_CLASS) { if (Array.isArray(value)) { return { keygen: value?.find(v => v.name === 'keygen') || {}, external: value?.find(v => v.name === 'external_inspection') || {}, main: value?.find(v => v.name === 'main_inspection') || {}, result: value?.find(v => v.name === 'result') || {}, } } } if (type === TransformationType.CLASS_TO_PLAIN) { return [value.keygen, value.external, value.main, value.result].filter( v => !!v, ) } return value }