File: D:/HostingSpaces/SBogers10/shop.komma.nl/node_modules/extract-files/lib/extractFiles.mjs
import { ReactNativeFile } from './ReactNativeFile'
export function extractFiles(value, path) {
if (path === void 0) {
path = ''
}
var clone
var files = new Map()
function addFile(paths, file) {
var storedPaths = files.get(file)
if (storedPaths) storedPaths.push.apply(storedPaths, paths)
else files.set(file, paths)
}
if (
(typeof File !== 'undefined' && value instanceof File) ||
(typeof Blob !== 'undefined' && value instanceof Blob) ||
value instanceof ReactNativeFile
) {
clone = null
addFile([path], value)
} else {
var prefix = path ? path + '.' : ''
if (typeof FileList !== 'undefined' && value instanceof FileList)
clone = Array.prototype.map.call(value, function(file, i) {
addFile(['' + prefix + i], file)
return null
})
else if (Array.isArray(value))
clone = value.map(function(child, i) {
var result = extractFiles(child, '' + prefix + i)
result.files.forEach(addFile)
return result.clone
})
else if (value && value.constructor === Object) {
clone = {}
for (var i in value) {
var result = extractFiles(value[i], '' + prefix + i)
result.files.forEach(addFile)
clone[i] = result.clone
}
} else clone = value
}
return {
clone: clone,
files: files
}
}