;; This Source Code Form is subject to the terms of the Mozilla Public ;; License, v. 2.0. If a copy of the MPL was not distributed with this ;; file, You can obtain one at http://mozilla.org/MPL/2.0/. ;; ;; Copyright (c) KALEIDOS INC (ns app.libs.render (:require [app.common.uuid :as uuid] [app.main.render :as r] [beicon.v2.core :as rx] [promesa.core :as p])) (defn render-page-export [file ^string page-id] ;; Better to expose the api as a promise to be consumed from JS (let [page-id (uuid/uuid page-id) file-data (.-file file) data (get-in file-data [:data :pages-index page-id])] (p/create (fn [resolve reject] (->> (r/render-page data) (rx/take 1) (rx/subs! resolve reject)))))) (defn exports [] #js {:renderPage render-page-export})