Files
penpot/src/uxbox/worker/impl.cljs
Andrey Antukh 929a0a84da Restructure the source directory tree.
In order to provide space for other applications
that shares source with the main app.
2016-06-14 17:39:44 +03:00

31 lines
730 B
Clojure

;; 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) 2016 Andrey Antukh <niwi@niwi.nz>
(ns uxbox.worker.impl
(:require [uxbox.util.transit :as t]))
(enable-console-print!)
;; --- Handler
(defmulti handler :cmd)
(defmethod handler :default
[message]
(println "Unexpected message:" message))
;; --- Helpers
(defn worker?
"Check if the code is executed in webworker context."
[]
(undefined? (.-document js/self)))
(defn reply!
[sender message]
(let [message (assoc message :reply-to sender)]
(.postMessage js/self (t/encode message))))