From d8c8b901435eba84e907e8347d18e6b0cb83e5fb Mon Sep 17 00:00:00 2001 From: Andelf Date: Thu, 23 Nov 2023 00:35:23 +0800 Subject: [PATCH] fix(fs): impl mkdir-recur! for memory-fs --- src/main/frontend/config.cljs | 5 +---- src/main/frontend/fs/memory_fs.cljs | 30 ++++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/main/frontend/config.cljs b/src/main/frontend/config.cljs index bf09afd1e8..cbdd10b916 100644 --- a/src/main/frontend/config.cljs +++ b/src/main/frontend/config.cljs @@ -438,10 +438,7 @@ (defn get-repo-fpath [repo-url path] - (if (and (or (util/electron?) (mobile-util/native-platform?)) - (local-db? repo-url)) - (path/path-join (get-repo-dir repo-url) path) - (util/node-path.join (get-repo-dir repo-url) path))) + (path/path-join (get-repo-dir repo-url) path)) (defn get-repo-config-path [] diff --git a/src/main/frontend/fs/memory_fs.cljs b/src/main/frontend/fs/memory_fs.cljs index ccab89ec1f..2eab5997de 100644 --- a/src/main/frontend/fs/memory_fs.cljs +++ b/src/main/frontend/fs/memory_fs.cljs @@ -46,6 +46,34 @@ (js/window.pfs.mkdir dir))))) +(defn- (js/window.pfs.stat dir) + (p/then (fn [stat] + (not (nil? stat)))) + (p/catch (fn [_] + nil)))) + +(defn- (js/window.pfs.mkdir fpath #js {:recursive true}) + (-> (