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 | 1x 13x 17x 7x 10x 6x 11x 7x | import { DynamicFormFileUpload } from './dynamic-form-file'; export interface FileItem { key: string; file: File; } const extractFilesFromObject = (value: any, path: string = '', files: FileItem[] = []): FileItem[] => Object.entries(value || {}).reduce((result, [key, entry]) => { if (entry instanceof DynamicFormFileUpload) { result.push({ key: path ? `${path}.${key}` : key, file: entry.file }); } else if (Array.isArray(entry) || typeof entry === 'object') { return extractFilesFromObject(entry, path ? `${path}.${key}` : key, result); } return result; }, files); export const extractFiles = (value: any): FileItem[] => extractFilesFromObject(value); |