;; Analyzed by ClojureScript 1.8.51
{:use-macros nil, :excludes #{}, :name re-frame.router, :imports nil, :requires {reagent.impl.batching reagent.impl.batching, re-frame.handlers re-frame.handlers, re-frame.utils re-frame.utils, goog.async.nextTick goog.async.nextTick}, :uses {do-later reagent.impl.batching, handle re-frame.handlers, error re-frame.utils}, :defs {EventQueue {:num-fields 2, :protocols #{re-frame.router/IEventQueue}, :name re-frame.router/EventQueue, :file "out-cli/re_frame/router.cljs", :end-column 20, :type true, :column 10, :line 81, :record false, :end-line 81, :skip-protocol-flag nil}, -begin-resume {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 77, :column 4, :end-line 77, :end-column 17, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-begin-resume, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 17, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 77, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, -run-queue {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 74, :column 4, :end-line 74, :end-column 14, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-run-queue, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 14, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 74, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, dispatch-sync {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 197, :column 7, :end-line 197, :end-column 20, :arglists (quote ([event-v])), :doc "Send an event to be processed by the registered handler\n  immediately. Note: dispatch-sync may not be called while another\n  event is being handled.\n\n  Usage example:\n     (dispatch-sync [:delete-item 42])"}, :name re-frame.router/dispatch-sync, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 20, :method-params ([event-v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 197, :end-line 197, :max-fixed-arity 1, :fn-var true, :arglists (quote ([event-v])), :doc "Send an event to be processed by the registered handler\n  immediately. Note: dispatch-sync may not be called while another\n  event is being handled.\n\n  Usage example:\n     (dispatch-sync [:delete-item 42])"}, -add-event {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 71, :column 4, :end-line 71, :end-column 14, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this event]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-add-event, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 14, :method-params ([this event]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 71, :max-fixed-arity 2, :fn-var true, :arglists (quote ([this event])), :doc nil}, -run-next-tick {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 73, :column 4, :end-line 73, :end-column 18, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-run-next-tick, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 18, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 73, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, -process-1st-event {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 72, :column 4, :end-line 72, :end-column 22, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-process-1st-event, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 22, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 72, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, -pause-run {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 75, :column 4, :end-line 75, :end-column 14, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this later-fn]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-pause-run, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 14, :method-params ([this later-fn]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 75, :max-fixed-arity 2, :fn-var true, :arglists (quote ([this later-fn])), :doc nil}, later-fns {:name re-frame.router/later-fns, :file "out-cli/re_frame/router.cljs", :line 60, :column 1, :end-line 60, :end-column 15, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 60, :column 6, :end-line 60, :end-column 15}}, enqueue {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 65, :column 4, :end-line 65, :end-column 11, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this event]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/enqueue, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 11, :method-params ([this event]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 65, :max-fixed-arity 2, :fn-var true, :arglists (quote ([this event])), :doc nil}, -fsm-trigger {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 68, :column 4, :end-line 68, :end-column 16, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this trigger arg]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-fsm-trigger, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 16, :method-params ([this trigger arg]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 68, :max-fixed-arity 3, :fn-var true, :arglists (quote ([this trigger arg])), :doc nil}, dispatch {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 185, :column 7, :end-line 185, :end-column 15, :arglists (quote ([event-v])), :doc "Queue an event to be processed by the registered handler.\n\n  Usage example:\n     (dispatch [:delete-item 42])"}, :name re-frame.router/dispatch, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 15, :method-params ([event-v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 185, :end-line 185, :max-fixed-arity 1, :fn-var true, :arglists (quote ([event-v])), :doc "Queue an event to be processed by the registered handler.\n\n  Usage example:\n     (dispatch [:delete-item 42])"}, ->EventQueue {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 81, :column 10, :end-line 81, :end-column 20, :protocols #{re-frame.router/IEventQueue}, :skip-protocol-flag nil, :factory :positional, :arglists (quote ([fsm-state queue]))}, :protocols #{re-frame.router/IEventQueue}, :name re-frame.router/->EventQueue, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 20, :method-params ([fsm-state queue]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 81, :end-line 81, :max-fixed-arity 2, :fn-var true, :arglists (quote ([fsm-state queue])), :skip-protocol-flag nil}, event-queue {:name re-frame.router/event-queue, :file "out-cli/re_frame/router.cljs", :line 178, :column 1, :end-line 178, :end-column 17, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 178, :column 6, :end-line 178, :end-column 17}}, IEventQueue {:meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 64, :column 14, :end-line 64, :end-column 25, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {-begin-resume [[this]], -run-queue [[this]], -add-event [[this event]], -run-next-tick [[this]], -process-1st-event [[this]], -pause-run [[this later-fn]], enqueue [[this event]], -fsm-trigger [[this trigger arg]], -exception [[this ex]]}}}, :protocol-symbol true, :name re-frame.router/IEventQueue, :file "out-cli/re_frame/router.cljs", :end-column 25, :column 1, :line 64, :protocol-info {:methods {-begin-resume [[this]], -run-queue [[this]], -add-event [[this event]], -run-next-tick [[this]], -process-1st-event [[this]], -pause-run [[this later-fn]], enqueue [[this event]], -fsm-trigger [[this trigger arg]], -exception [[this ex]]}}, :info nil, :end-line 64, :impls #{re-frame.router/EventQueue}, :doc nil, :jsdoc ("@interface")}, -exception {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/router.cljs", :line 76, :column 4, :end-line 76, :end-column 14, :protocol re-frame.router/IEventQueue, :doc nil, :arglists (quote ([this ex]))}, :protocol re-frame.router/IEventQueue, :name re-frame.router/-exception, :variadic false, :file "out-cli/re_frame/router.cljs", :end-column 14, :method-params ([this ex]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 64, :end-line 76, :max-fixed-arity 2, :fn-var true, :arglists (quote ([this ex])), :doc nil}}, :require-macros nil, :cljs.analyzer/constants {:seen #{:finish-resume :add-event :yield :paused :begin-resume :else fsm-state queue :running :flush-dom :quiescent :scheduled :exception :resuming :mutable :begin-run :finish-run :pause-run}, :order [:flush-dom :yield :finish-resume :finish-run :pause-run :begin-run :exception :begin-resume :add-event :resuming :running :quiescent :scheduled :paused :else fsm-state :mutable queue]}, :doc nil}