This repository has been archived by the owner on Jan 24, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstack-sepal.ir
1 lines (1 loc) · 5.77 KB
/
stack-sepal.ir
1
{:definitions {"schema/task" ["def" "task" ["{}" [":id" "nil"] [":text" "|"] [":done?" "false"]]], "core/client-caches" ["defonce" "client-caches" ["atom" ["{}"]]], "updater.core/updater" ["defn" "updater" ["db" "op" "op-data" "state-id" "op-id" "op-time"] ["case" "op" [":state/connect" ["state/connect" "db" "op-data" "state-id" "op-id" "op-time"]] [":state/disconnect" ["state/disconnect" "db" "op-data" "state-id" "op-id" "op-time"]] [":task/add" ["task/add" "db" "op-data" "state-id" "op-id" "op-time"]] [":task/rm" ["task/rm" "db" "op-data" "state-id" "op-id" "op-time"]] "db"]], "updater.task/rm" ["defn" "rm" ["db" "op-data" "state-id" "op-id" "op-time"] ["update" "db" ":tasks" ["fn" ["tasks"] ["dissoc" "tasks" "op-data"]]]], "main/on-jsload" ["defn" "on-jsload" [] ["println" "|code updated"] ["render-clients!" "@reader-db-ref" "render-scene" "render-view"]], "main/-main" ["defn" "-main" [] ["nodejs/enable-util-print!"] ["let" [["server-ch" ["run-server!" ["{}" ":port" "4010"]]]] ["go-loop" ["[]"] ["let" [[["[]" "op" "op-data" "state-id" "op-id" "op-time"] ["<!" "server-ch"]] ["new-db" ["updater" "@writer-db-ref" "op" "op-data" "state-id" "op-id" "op-time"]]] ["reset!" "writer-db-ref" "new-db"] ["recur"]]]] ["render-loop!"] ["add-watch" "reader-db-ref" ":log" ["fn" [] ["println" "@reader-db-ref"]]] ["println" "|server started"]], "updater.task/add" ["defn" "add" ["db" "op-data" "state-id" "op-id" "op-time"] ["assoc-in" "db" ["[]" ":tasks" "op-id"] ["merge" "schema/task" ["{}" [":id" "op-id"] [":text" "op-data"]]]]], "schema/database" ["def" "database" ["{}" [":states" ["{}"]] [":users" ["{}"]] [":tasks" ["{}"]]]], "core/shortid" ["def" "shortid" ["js/require" "|shortid"]], "view/render-view" ["defn" "render-view" ["state-id" "db"] ["{}" [":states" ["get-in" "db" ["[]" ":states" "state-id"]]] [":tasks" [":tasks" "db"]]]], "schema/state" ["def" "state" ["{}" [":user-id" "nil"] [":id" "nil"]]], "core/WebSocketServer" ["def" "WebSocketServer" [".-Server" "ws"]], "updater.state/disconnect" ["defn" "disconnect" ["db" "op-data" "state-id" "op-id" "op-time"] ["update" "db" ":states" ["fn" ["state"] ["dissoc" "state" "state-id"]]]], "core/ws" ["def" "ws" ["js/require" "|ws"]], "main/writer-db-ref" ["defonce" "writer-db-ref" ["atom" "schema/database"]], "core/socket-registry" ["defonce" "socket-registry" ["atom" ["{}"]]], "main/render-loop!" ["defn" "render-loop!" [] ["if" ["not" ["identical?" "@reader-db-ref" "@writer-db-ref"]] ["do" ["reset!" "reader-db-ref" "@writer-db-ref"] ["render-clients!" "@reader-db-ref" "render-scene" "render-view"]]] ["js/setTimeout" "render-loop!" "300"]], "core/render-clients!" ["defn" "render-clients!" ["db" "render-scene" "render-view"] ["doseq" ["[]" "state-entry" [":states" "db"]] ["let" [["state-id" ["first" "state-entry"]] ["scene" ["render-scene" "db"]] ["new-store" ["render-view" "state-id" "scene"]] ["old-store" ["or" ["get" "@client-caches" "state-id"] ["{}"]]] ["changes" ["diff" "old-store" "new-store"]] ["socket" ["get" "@socket-registry" "state-id"]]] ["if" ["and" ["not=" "changes" ["[]"]] ["some?" "socket"]] ["do" [".send" "socket" ["pr-str" "changes"]] ["swap!" "client-caches" "assoc" "state-id" "new-store"]]]]]], "main/reader-db-ref" ["defonce" "reader-db-ref" ["atom" "@writer-db-ref"]], "core/server-chan" ["defonce" "server-chan" ["chan"]], "core/run-server!" ["defn" "run-server!" ["configs"] ["let" [["wss" ["new" "WebSocketServer" ["js-obj" "|port" [":port" "configs"]]]]] [".on" "wss" "|connection" ["fn" ["socket"] ["let" [["state-id" [".generate" "shortid"]]] ["handle-message" ":state/connect" "nil" "state-id"] ["swap!" "socket-registry" "assoc" "state-id" "socket"] [".on" "socket" "|message" ["fn" ["rawData"] ["let" [["action" ["reader/read-string" "rawData"]] [["[]" "op" "op-data"] "action"]] ["handle-message" "op" "op-data" "state-id"]]]] [".on" "socket" "|close" ["fn" [] ["swap!" "socket-registry" "dissoc" "state-id"] ["handle-message" ":state/disconnect" "nil" "state-id"]]]]]]] "server-chan"], "view/render-scene" ["defn" "render-scene" ["db"] "db"], "updater.state/connect" ["defn" "connect" ["db" "op-data" "state-id" "op-id" "op-time"] ["assoc-in" "db" ["[]" ":states" "state-id"] ["merge" "schema/state" ["{}" [":id" "state-id"]]]]], "core/handle-message" ["defn" "handle-message" ["op" "op-data" "state-id"] ["let" [["op-id" [".generate" "shortid"]] ["op-time" [".valueOf" ["js/Date."]]]] ["go" [">!" "server-chan" ["[]" "op" "op-data" "state-id" "op-id" "op-time"]]]]]}, :namespaces {"core" ["ns" "cumulo-server.core" [":require" ["[]" "cljs.nodejs" ":as" "nodejs"] ["[]" "cljs.reader" ":as" "reader"] ["[]" "shallow-diff.diff" ":refer" ["[]" "diff"]] ["[]" "cljs.core.async" ":refer" ["[]" "chan" ">!"]]] [":require-macros" ["[]" "cljs.core.async.macros" ":refer" ["[]" "go"]]]], "main" ["ns" "cumulo-server.main" [":require" ["[]" "cljs.nodejs" ":as" "nodejs"] ["[]" "cumulo-server.schema" ":as" "schema"] ["[]" "cumulo-server.core" ":refer" ["[]" "run-server!" "render-clients!"]] ["[]" "cumulo-server.updater.core" ":refer" ["[]" "updater"]] ["[]" "cumulo-server.view" ":refer" ["[]" "render-view" "render-scene"]] ["[]" "cljs.core.async" ":refer" ["[]" "<!"]]] [":require-macros" ["[]" "cljs.core.async.macros" ":refer" ["[]" "go-loop"]]]], "schema" ["ns" "cumulo-server.schema"], "updater.core" ["ns" "cumulo-server.updater.core" [":require" ["[]" "cumulo-server.updater.state" ":as" "state"] ["[]" "cumulo-server.updater.task" ":as" "task"]]], "updater.state" ["ns" "cumulo-server.updater.state" [":require" ["[]" "cumulo-server.schema" ":as" "schema"]]], "updater.task" ["ns" "cumulo-server.updater.task" [":require" ["[]" "cumulo-server.schema" ":as" "schema"]]], "view" ["ns" "cumulo-server.view"]}, :procedures {"core" [], "main" [["set!" "*main-cli-fn*" "-main"]], "schema" [], "updater.core" [], "updater.state" [], "updater.task" [], "view" []}, :package "cumulo-server"}