fix: readdir

also, fix warnings on persist var
This commit is contained in:
Tienson Qin
2022-09-13 13:19:14 +08:00
committed by Andelf
parent 8915818c3f
commit c074465b8a
5 changed files with 61 additions and 52 deletions

View File

@@ -55,7 +55,7 @@
(defn- <readdir [path]
(-> (p/chain (.readdir Filesystem (clj->js {:path path}))
#(js->clj % :keywordize-keys true)
#(get % "files" nil))
:files)
(p/catch (fn [error]
(js/console.error "readdir Error: " path ": " error)
nil))))
@@ -83,25 +83,26 @@
files (<readdir d)
files (->> files
(remove (fn [file]
(let [uri (:uri file)]
(or (string/starts-with? uri ".")
(= file "bak"))))))
files (map (fn [file]
;; TODO: use uri-join
(update file :uri
(fn [uri]
(str (string/replace d #"/+$" "")
"/"
(if (mobile-util/native-ios?)
(js/encodeURI uri)
uri)))))
files)
files-dir (->> files
(or (string/starts-with? file ".")
(and (mobile-util/native-android?)
(or (string/includes? file "#")
(string/includes? file "%")))
(= file "bak")))))
files (->> files
(map (fn [file]
;; TODO: use uri-join
(str (string/replace d #"/+$" "")
"/"
(if (mobile-util/native-ios?)
(js/encodeURI file)
file)))))
files-with-stats (p/all (mapv <stat files))
files-dir (->> files-with-stats
(filterv #(= (:type %) "directory"))
(mapv :uri))
files-result
(p/all
(->> files
(->> files-with-stats
(filter #(= (:type %) "file"))
(filter
(fn [{:keys [uri]}]