| 1234567891011121314151617181920212223242526272829303132333435363738 |
- (ns frontend.fs.bfs
- (:require [frontend.fs.protocol :as protocol]
- [frontend.util :as util]
- [promesa.core :as p]))
- (defrecord Bfs []
- protocol/Fs
- (mkdir! [this dir]
- (when (and js/window.pfs (not (util/electron?)))
- (->
- (js/window.pfs.mkdir dir)
- (p/catch (fn [error] (println "Mkdir error: " error))))))
- (readdir [this dir]
- (when js/window.pfs
- (js/window.pfs.readdir dir)))
- (unlink! [this repo path opts]
- (when js/window.pfs
- (p/let [stat (js/window.pfs.stat path)]
- (if (= (.-type stat) "file")
- (js/window.pfs.unlink path opts)
- (p/rejected "Unlinking a directory is not allowed")))))
- (rmdir! [this dir]
- (js/window.workerThread.rimraf dir))
- (read-file [this dir path options]
- (js/window.pfs.readFile (str dir "/" path) (clj->js options)))
- (write-file! [this repo dir path content opts]
- (when-not (util/electron?)
- (js/window.pfs.writeFile (str dir "/" path) content)))
- (rename! [this repo old-path new-path]
- (js/window.pfs.rename old-path new-path))
- (stat [this dir path]
- (js/window.pfs.stat (str dir path)))
- (open-dir [this ok-handler]
- nil)
- (get-files [this path-or-handle ok-handler]
- nil)
- (watch-dir! [this dir]
- nil))
|