mirror of
https://github.com/penpot/penpot.git
synced 2025-02-03 21:09:00 -05:00
✨ Improve builder library
This commit is contained in:
parent
9fc633080a
commit
76e2309778
1 changed files with 16 additions and 9 deletions
|
@ -15,19 +15,23 @@
|
||||||
(js->clj $ :keywordize-keys true)
|
(js->clj $ :keywordize-keys true)
|
||||||
;; Transforms camelCase to kebab-case
|
;; Transforms camelCase to kebab-case
|
||||||
(d/deep-mapm
|
(d/deep-mapm
|
||||||
(fn [[k v]]
|
(fn [[key value]]
|
||||||
[(-> k d/name str/kebab keyword) v]) $)))
|
(let [value (if (= (type value) js/Symbol)
|
||||||
|
(keyword (js/Symbol.keyFor value))
|
||||||
|
value)
|
||||||
|
key (-> key d/name str/kebab keyword)]
|
||||||
|
[key value])) $)))
|
||||||
|
|
||||||
(deftype File [^:mutable file]
|
(deftype File [^:mutable file]
|
||||||
Object
|
Object
|
||||||
|
|
||||||
(addPage
|
(addPage [self name]
|
||||||
([self name]
|
(set! file (fb/add-page file {:name name}))
|
||||||
(addPage self name nil))
|
(str (:current-page-id file)))
|
||||||
|
|
||||||
([self name options]
|
(addPage [self name options]
|
||||||
(set! file (fb/add-page file {:name name :options options}))
|
(set! file (fb/add-page file {:name name :options options}))
|
||||||
(str (:current-page-id file))))
|
(str (:current-page-id file)))
|
||||||
|
|
||||||
(closePage [self]
|
(closePage [self]
|
||||||
(set! file (fb/close-page file)))
|
(set! file (fb/close-page file)))
|
||||||
|
@ -65,7 +69,10 @@
|
||||||
(set! file (fb/create-svg-raw file (parse-data data))))
|
(set! file (fb/create-svg-raw file (parse-data data))))
|
||||||
|
|
||||||
(closeSVG [self]
|
(closeSVG [self]
|
||||||
(set! file (fb/close-svg-raw file))))
|
(set! file (fb/close-svg-raw file)))
|
||||||
|
|
||||||
|
(asMap [self]
|
||||||
|
(clj->js file)))
|
||||||
|
|
||||||
(defn create-file-export [^string name]
|
(defn create-file-export [^string name]
|
||||||
(File. (fb/create-file name)))
|
(File. (fb/create-file name)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue