(ns frontend.db.transact "Provides async transact for use with ldb/transact!" (:require [clojure.core.async :as async] [clojure.core.async.interop :refer [p->c]] [frontend.common.async-util :include-macros true :refer [c (request-f)))] (if (:ex-data result) (do (log/error :worker-request-failed result) (p/reject! response result)) (p/resolve! response result)))) response)) (defn transact [worker-transact repo tx-data tx-meta] (let [tx-meta' (assoc tx-meta ;; not from remote (rtc) :local-tx? true)] (worker-call (fn async-request [] (worker-transact repo tx-data tx-meta'))))) (defn apply-outliner-ops [conn ops opts] (when (seq ops) (if util/node-test? (outliner-op/apply-ops! conn ops opts) (let [opts' (assoc opts :client-id (:client-id @state/state) :local-tx? true) request #(frontend.state/