//
//  KMMergeTools.swift
//  PDF Master
//
//  Created by tangchao on 2023/2/4.
//

import Cocoa

class KMMergeTools: NSObject {
    
    class func findAllFiles(folder: URL, result: inout [URL], types: [String] = []) {
        let fileManager = FileManager.default
        var isDirectory: ObjCBool = ObjCBool(false)
        fileManager.fileExists(atPath: folder.path, isDirectory: &isDirectory)
        if (!isDirectory.boolValue) {
            return
        }
        
        let contents = try?fileManager.contentsOfDirectory(at: folder, includingPropertiesForKeys: nil)
        if contents == nil || contents?.count == 0 {
            return
        }
        
        var array = ["jpg","cur","bmp","jpeg","gif","png","tiff","tif",/*@"pic",*/"ico","icns","tga","psd","eps","hdr","jp2","jpc","pict","sgi","heic","pdf"]
        if types.count != 0 {
            array = types
        }
        for documentURL in contents! {
            var isDirectory: ObjCBool = ObjCBool(false)
            fileManager.fileExists(atPath: documentURL.path, isDirectory: &isDirectory)
            if (isDirectory.boolValue) {
                findAllFiles(folder: documentURL, result: &result, types: types)
            } else {
                if !array.contains(documentURL.pathExtension.lowercased()) {
                    continue
                }
                
                result.append(documentURL)
            }
        }
    }

}