;; Analyzed by ClojureScript 1.8.51
{:use-macros {log reagent.debug, dbg reagent.debug, warn reagent.debug, dev? reagent.debug}, :excludes #{atom}, :name reagent.ratom, :imports nil, :requires {util reagent.impl.util, reagent.impl.util reagent.impl.util, reagent.debug reagent.debug}, :uses nil, :defs {->RCursor {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 104, :column 10, :end-line 104, :end-column 17, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom cljs.core/IDeref cljs.core/IPrintWithWriter reagent.ratom/Object}, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}, :factory :positional, :arglists (quote ([ratom path reaction]))}, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom cljs.core/IDeref cljs.core/IPrintWithWriter reagent.ratom/Object}, :name reagent.ratom/->RCursor, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 17, :method-params ([ratom path reaction]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 104, :end-line 104, :max-fixed-arity 3, :fn-var true, :arglists (quote ([ratom path reaction])), :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}}, notify-deref-watcher! {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 25, :column 8, :end-line 25, :end-column 29, :private true, :arglists (quote ([derefable]))}, :private true, :name reagent.ratom/notify-deref-watcher!, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 29, :method-params ([derefable]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 25, :end-line 25, :max-fixed-arity 1, :fn-var true, :arglists (quote ([derefable]))}, IComputedImpl {:meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 195, :column 14, :end-line 195, :end-column 27, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {-update-watching [[this derefed]], -handle-change [[k sender oldval newval]], -peek-at [[this]]}}}, :protocol-symbol true, :name reagent.ratom/IComputedImpl, :file "out-cli/reagent/ratom.cljs", :end-column 27, :column 1, :line 195, :protocol-info {:methods {-update-watching [[this derefed]], -handle-change [[k sender oldval newval]], -peek-at [[this]]}}, :info nil, :end-line 195, :impls #{reagent.ratom/Reaction}, :doc nil, :jsdoc ("@interface")}, capture-derefed {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 15, :column 7, :end-line 15, :end-column 22, :arglists (quote ([f obj]))}, :name reagent.ratom/capture-derefed, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 22, :method-params ([f obj]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 15, :end-line 15, :max-fixed-arity 2, :fn-var true, :arglists (quote ([f obj]))}, RAtom {:num-fields 4, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom cljs.core/IMeta cljs.core/IDeref cljs.core/IPrintWithWriter}, :name reagent.ratom/RAtom, :file "out-cli/reagent/ratom.cljs", :end-column 15, :type true, :column 10, :line 38, :record false, :end-line 38, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IMeta cljs.core/IDeref cljs.core/IPrintWithWriter}}, atom {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 93, :column 7, :end-line 93, :end-column 11, :arglists (quote ([x] [x & {:keys [meta validator]}])), :doc "Like clojure.core/atom, except that it keeps track of derefs.", :top-fn {:variadic true, :max-fixed-arity 1, :method-params ([x]), :arglists ([x] [x & {:keys [meta validator]}]), :arglists-meta (nil nil)}}, :name reagent.ratom/atom, :variadic true, :file "out-cli/reagent/ratom.cljs", :end-column 11, :top-fn {:variadic true, :max-fixed-arity 1, :method-params ([x]), :arglists ([x] [x & {:keys [meta validator]}]), :arglists-meta (nil nil)}, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 93, :end-line 93, :max-fixed-arity 1, :fn-var true, :arglists ([x] [x & {:keys [meta validator]}]), :doc "Like clojure.core/atom, except that it keeps track of derefs."}, ->Reaction {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 200, :column 10, :end-line 200, :end-column 18, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash reagent.ratom/IComputedImpl cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom reagent.ratom/IRunnable reagent.ratom/IDisposable cljs.core/IDeref cljs.core/IPrintWithWriter}, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}, :factory :positional, :arglists (quote ([f state dirty? active? watching watches auto-run on-set on-dispose]))}, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash reagent.ratom/IComputedImpl cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom reagent.ratom/IRunnable reagent.ratom/IDisposable cljs.core/IDeref cljs.core/IPrintWithWriter}, :name reagent.ratom/->Reaction, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 18, :method-params ([f state dirty? active? watching watches auto-run on-set on-dispose]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 200, :end-line 200, :max-fixed-arity 9, :fn-var true, :arglists (quote ([f state dirty? active? watching watches auto-run on-set on-dispose])), :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}}, make-wrapper {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 395, :column 7, :end-line 395, :end-column 19, :arglists (quote ([value callback-fn args]))}, :name reagent.ratom/make-wrapper, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 19, :method-params ([value callback-fn args]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 395, :end-line 395, :max-fixed-arity 3, :fn-var true, :arglists (quote ([value callback-fn args]))}, IReactiveAtom {:meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 36, :column 14, :end-line 36, :end-column 27, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {}}}, :protocol-symbol true, :name reagent.ratom/IReactiveAtom, :file "out-cli/reagent/ratom.cljs", :end-column 27, :column 1, :line 36, :protocol-info {:methods {}}, :info nil, :end-line 36, :impls #{reagent.ratom/RCursor reagent.ratom/Reaction reagent.ratom/RAtom}, :doc nil, :jsdoc ("@interface")}, dispose! {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 190, :column 4, :end-line 190, :end-column 12, :protocol reagent.ratom/IDisposable, :doc nil, :arglists (quote ([this]))}, :protocol reagent.ratom/IDisposable, :name reagent.ratom/dispose!, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 12, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 189, :end-line 190, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, -update-watching {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 196, :column 4, :end-line 196, :end-column 20, :protocol reagent.ratom/IComputedImpl, :doc nil, :arglists (quote ([this derefed]))}, :protocol reagent.ratom/IComputedImpl, :name reagent.ratom/-update-watching, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 20, :method-params ([this derefed]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 195, :end-line 196, :max-fixed-arity 2, :fn-var true, :arglists (quote ([this derefed])), :doc nil}, run {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 193, :column 4, :end-line 193, :end-column 7, :protocol reagent.ratom/IRunnable, :doc nil, :arglists (quote ([this]))}, :protocol reagent.ratom/IRunnable, :name reagent.ratom/run, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 7, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 192, :end-line 193, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, IDisposable {:meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 189, :column 14, :end-line 189, :end-column 25, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {dispose! [[this]]}}}, :protocol-symbol true, :name reagent.ratom/IDisposable, :file "out-cli/reagent/ratom.cljs", :end-column 25, :column 1, :line 189, :protocol-info {:methods {dispose! [[this]]}}, :info nil, :end-line 189, :impls #{reagent.ratom/Reaction}, :doc nil, :jsdoc ("@interface")}, captured {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 20, :column 7, :end-line 20, :end-column 15, :arglists (quote ([obj]))}, :name reagent.ratom/captured, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 15, :method-params ([obj]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 20, :end-line 20, :max-fixed-arity 1, :fn-var true, :arglists (quote ([obj]))}, make-reaction {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 319, :column 7, :end-line 319, :end-column 20, :arglists (quote ([f & {:keys [auto-run on-set on-dispose derefed]}])), :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(f {:keys [auto-run on-set on-dispose derefed]})], :arglists ([f & {:keys [auto-run on-set on-dispose derefed]}]), :arglists-meta (nil)}}, :name reagent.ratom/make-reaction, :variadic true, :file "out-cli/reagent/ratom.cljs", :end-column 20, :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(f {:keys [auto-run on-set on-dispose derefed]})], :arglists ([f & {:keys [auto-run on-set on-dispose derefed]}]), :arglists-meta (nil)}, :method-params [(f {:keys [auto-run on-set on-dispose derefed]})], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 319, :end-line 319, :max-fixed-arity 1, :fn-var true, :arglists ([f & {:keys [auto-run on-set on-dispose derefed]}])}, Reaction {:num-fields 9, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash reagent.ratom/IComputedImpl cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom reagent.ratom/IRunnable reagent.ratom/IDisposable cljs.core/IDeref cljs.core/IPrintWithWriter}, :name reagent.ratom/Reaction, :file "out-cli/reagent/ratom.cljs", :end-column 18, :type true, :column 10, :line 200, :record false, :end-line 200, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}}, RCursor {:num-fields 3, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom cljs.core/IDeref cljs.core/IPrintWithWriter reagent.ratom/Object}, :name reagent.ratom/RCursor, :file "out-cli/reagent/ratom.cljs", :end-column 17, :type true, :column 10, :line 104, :record false, :end-line 104, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}}, -handle-change {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 197, :column 4, :end-line 197, :end-column 18, :protocol reagent.ratom/IComputedImpl, :doc nil, :arglists (quote ([k sender oldval newval]))}, :protocol reagent.ratom/IComputedImpl, :name reagent.ratom/-handle-change, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 18, :method-params ([k sender oldval newval]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 195, :end-line 197, :max-fixed-arity 4, :fn-var true, :arglists (quote ([k sender oldval newval])), :doc nil}, debug {:name reagent.ratom/debug, :file "out-cli/reagent/ratom.cljs", :line 9, :column 1, :end-line 9, :end-column 15, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 9, :column 10, :end-line 9, :end-column 15}}, -running {:name reagent.ratom/-running, :file "out-cli/reagent/ratom.cljs", :line 11, :column 1, :end-line 11, :end-column 18, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 11, :column 10, :end-line 11, :end-column 18}}, cursor {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 166, :column 7, :end-line 166, :end-column 13, :arglists (quote ([src path]))}, :name reagent.ratom/cursor, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 13, :method-params ([src path]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 166, :end-line 166, :max-fixed-arity 2, :fn-var true, :arglists (quote ([src path]))}, Wrapper {:num-fields 4, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}, :name reagent.ratom/Wrapper, :file "out-cli/reagent/ratom.cljs", :end-column 17, :type true, :column 10, :line 335, :record false, :end-line 335, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}}, running {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 13, :column 7, :end-line 13, :end-column 14, :arglists (quote ([]))}, :name reagent.ratom/running, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 14, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 13, :end-line 13, :max-fixed-arity 0, :fn-var true, :arglists (quote ([]))}, IRunnable {:meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 192, :column 14, :end-line 192, :end-column 23, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {run [[this]]}}}, :protocol-symbol true, :name reagent.ratom/IRunnable, :file "out-cli/reagent/ratom.cljs", :end-column 23, :column 1, :line 192, :protocol-info {:methods {run [[this]]}}, :info nil, :end-line 192, :impls #{reagent.ratom/Reaction}, :doc nil, :jsdoc ("@interface")}, -peek-at {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 198, :column 4, :end-line 198, :end-column 12, :protocol reagent.ratom/IComputedImpl, :doc nil, :arglists (quote ([this]))}, :protocol reagent.ratom/IComputedImpl, :name reagent.ratom/-peek-at, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 12, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 195, :end-line 198, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, *ratom-context* {:name reagent.ratom/*ratom-context*, :file "out-cli/reagent/ratom.cljs", :line 7, :column 1, :end-line 7, :end-column 35, :dynamic true, :declared true, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 7, :column 20, :end-line 7, :end-column 35, :dynamic true, :declared true}}, ->Wrapper {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 335, :column 10, :end-line 335, :end-column 17, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}, :factory :positional, :arglists (quote ([state callback changed watches]))}, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}, :name reagent.ratom/->Wrapper, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 17, :method-params ([state callback changed watches]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 335, :end-line 335, :max-fixed-arity 4, :fn-var true, :arglists (quote ([state callback changed watches])), :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IReset cljs.core/ISwap cljs.core/IDeref cljs.core/IPrintWithWriter}}, ->RAtom {:protocol-inline nil, :meta {:file "/Users/jmmk/Dropbox/clojure/javascript-externs-generator/out-cli/reagent/ratom.cljs", :line 38, :column 10, :end-line 38, :end-column 15, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom cljs.core/IMeta cljs.core/IDeref cljs.core/IPrintWithWriter}, :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IMeta cljs.core/IDeref cljs.core/IPrintWithWriter}, :factory :positional, :arglists (quote ([state meta validator watches]))}, :protocols #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap reagent.ratom/IReactiveAtom cljs.core/IMeta cljs.core/IDeref cljs.core/IPrintWithWriter}, :name reagent.ratom/->RAtom, :variadic false, :file "out-cli/reagent/ratom.cljs", :end-column 15, :method-params ([state meta validator watches]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 38, :end-line 38, :max-fixed-arity 4, :fn-var true, :arglists (quote ([state meta validator watches])), :skip-protocol-flag #{cljs.core/IWatchable cljs.core/IAtom cljs.core/IEquiv cljs.core/IHash cljs.core/IReset cljs.core/ISwap cljs.core/IMeta cljs.core/IDeref cljs.core/IPrintWithWriter}}}, :require-macros {reagent.ratom reagent.ratom, reagent.debug reagent.debug}, :cljs.analyzer/constants {:seen #{:on-set watching reaction callback :meta path :derefed active? :validator watches on-set meta validator dirty? ratom state :auto-run :on-dispose :mutable changed auto-run on-dispose f}, :order [state :mutable meta validator watches :meta :validator :on-set ratom path reaction f dirty? active? watching auto-run on-set on-dispose :auto-run :on-dispose :derefed callback changed]}, :doc nil}