;; Analyzed by ClojureScript 1.8.51
{:use-macros nil, :excludes #{}, :name re-frame.handlers, :imports nil, :requires {re-frame.db re-frame.db, re-frame.utils re-frame.utils}, :uses {app-db re-frame.db, warn re-frame.utils, first-in-vector re-frame.utils, error re-frame.utils}, :defs {report-middleware-factories {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 9, :column 7, :end-line 9, :end-column 34, :arglists (quote ([v])), :doc "See https://github.com/Day8/re-frame/issues/65"}, :name re-frame.handlers/report-middleware-factories, :variadic false, :file "out-cli/re_frame/handlers.cljs", :end-column 34, :method-params ([v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 9, :end-line 9, :max-fixed-arity 1, :fn-var true, :arglists (quote ([v])), :doc "See https://github.com/Day8/re-frame/issues/65"}, comp-middleware {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 22, :column 7, :end-line 22, :end-column 22, :arglists (quote ([v])), :doc "Given a vector of middleware, filter out any nils, and use \"comp\" to compose the elements.\n  v can have nested vectors, and will be flattened before \"comp\" is applied.\n  For convienience, if v is a function (assumed to be middleware already), just return it.\n  Filtering out nils allows us to create Middleware conditionally like this:\n     (comp-middleware [pure (when debug? debug)])  ;; that 'when' might leave a nil\n  "}, :name re-frame.handlers/comp-middleware, :variadic false, :file "out-cli/re_frame/handlers.cljs", :end-column 22, :method-params ([v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 22, :end-line 22, :max-fixed-arity 1, :fn-var true, :arglists (quote ([v])), :doc "Given a vector of middleware, filter out any nils, and use \"comp\" to compose the elements.\n  v can have nested vectors, and will be flattened before \"comp\" is applied.\n  For convienience, if v is a function (assumed to be middleware already), just return it.\n  Filtering out nils allows us to create Middleware conditionally like this:\n     (comp-middleware [pure (when debug? debug)])  ;; that 'when' might leave a nil\n  "}, id->fn {:name re-frame.handlers/id->fn, :file "out-cli/re_frame/handlers.cljs", :line 41, :column 1, :end-line 41, :end-column 22, :private true, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 41, :column 16, :end-line 41, :end-column 22, :private true}}, lookup-handler {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 44, :column 7, :end-line 44, :end-column 21, :arglists (quote ([event-id]))}, :name re-frame.handlers/lookup-handler, :variadic false, :file "out-cli/re_frame/handlers.cljs", :end-column 21, :method-params ([event-id]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 44, :end-line 44, :max-fixed-arity 1, :fn-var true, :arglists (quote ([event-id]))}, clear-handlers! {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 49, :column 7, :end-line 49, :end-column 22, :arglists (quote ([])), :doc "Unregister all event handlers"}, :name re-frame.handlers/clear-handlers!, :variadic false, :file "out-cli/re_frame/handlers.cljs", :end-column 22, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 49, :end-line 49, :max-fixed-arity 0, :fn-var true, :arglists (quote ([])), :doc "Unregister all event handlers"}, register-base {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 55, :column 7, :end-line 55, :end-column 20, :arglists (quote ([event-id handler-fn] [event-id middleware handler-fn])), :doc "register a handler for an event.\n  This is low level and it is expected that \"re-frame.core/register-handler\" would\n  generally be used.", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([event-id handler-fn] [event-id middleware handler-fn]), :arglists ([event-id handler-fn] [event-id middleware handler-fn]), :arglists-meta (nil nil)}}, :name re-frame.handlers/register-base, :variadic false, :file "out-cli/re_frame/handlers.cljs", :end-column 20, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([event-id handler-fn] [event-id middleware handler-fn]), :arglists ([event-id handler-fn] [event-id middleware handler-fn]), :arglists-meta (nil nil)}, :method-params ([event-id handler-fn] [event-id middleware handler-fn]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 55, :end-line 55, :max-fixed-arity 3, :fn-var true, :arglists ([event-id handler-fn] [event-id middleware handler-fn]), :doc "register a handler for an event.\n  This is low level and it is expected that \"re-frame.core/register-handler\" would\n  generally be used."}, *handling* {:name re-frame.handlers/*handling*, :file "out-cli/re_frame/handlers.cljs", :line 74, :column 1, :end-line 74, :end-column 26, :dynamic true, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 74, :column 16, :end-line 74, :end-column 26, :dynamic true}}, handle {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/re_frame/handlers.cljs", :line 77, :column 7, :end-line 77, :end-column 13, :arglists (quote ([event-v])), :doc "Given an event vector, look up the handler, then call it.\n  By default, handlers are not assumed to be pure. They are called with\n  two paramters:\n    - the `app-db` atom\n    - the event vector\n  The handler is assumed to side-effect on `app-db` - the return value is ignored.\n  To write a pure handler, use the \"pure\" middleware when registering the handler."}, :name re-frame.handlers/handle, :variadic false, :file "out-cli/re_frame/handlers.cljs", :end-column 13, :method-params ([event-v]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 77, :end-line 77, :max-fixed-arity 1, :fn-var true, :arglists (quote ([event-v])), :doc "Given an event vector, look up the handler, then call it.\n  By default, handlers are not assumed to be pure. They are called with\n  two paramters:\n    - the `app-db` atom\n    - the event vector\n  The handler is assumed to side-effect on `app-db` - the return value is ignored.\n  To write a pure handler, use the \"pure\" middleware when registering the handler."}}, :require-macros nil, :cljs.analyzer/constants {:seen #{:re-frame-factory-name :else}, :order [:re-frame-factory-name :else]}, :doc nil}