["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$Error",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$javascript-externs-generator.extern","~:imports",null,"~:requires",["^ ","~$dom","~$goog.dom","^<","^<","~$obj","~$goog.object","^>","^>","~$string","~$clojure.string","^@","^@"],"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$prop-type",["^ ","~:protocol-inline",null,"~:meta",["^ ","~:file","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","~:line",6,"~:column",7,"~:end-line",6,"~:end-column",16,"~:arglists",["~#list",["~$quote",["^M",[["^="]]]]],"~:doc","Differentiate between function property and object property"],"^7","~$javascript-externs-generator.extern/prop-type","~:variadic",false,"^G","src/javascript_externs_generator/extern.cljs","^K",16,"~:method-params",["^M",[["^="]]],"~:protocol-impl",null,"~:arglists-meta",["^M",[null,null]],"^I",1,"^H",6,"^J",6,"~:max-fixed-arity",1,"~:fn-var",true,"^L",["^M",["^N",["^M",[["^="]]]]],"^O","Differentiate between function property and object property"],"~$parent-type?",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",13,"^I",7,"^J",13,"^K",19,"^L",["^M",["^N",["^M",[["^="]]]]],"^O","Is it possible for this object to have child properties?"],"^7","~$javascript-externs-generator.extern/parent-type?","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",19,"^R",["^M",[["^="]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",13,"^J",13,"^U",1,"^V",true,"^L",["^M",["^N",["^M",[["^="]]]]],"^O","Is it possible for this object to have child properties?"],"~$generate-object-tree",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",19,"^I",7,"^J",19,"^K",27,"^L",["^M",["^N",["^M",[["^=","~$name"],["^=","^Z","~$seen"]]]]],"^O","Build a recursive tree representation of the JavaScript object\n  and metadata about its properties, prototype, and functions","~:top-fn",["^ ","^Q",false,"^U",3,"^R",["^M",[["^=","^Z"],["^=","^Z","^["]]],"^L",["^M",[["^=","^Z"],["^=","^Z","^["]]],"^T",["^M",[null,null]]]],"^7","~$javascript-externs-generator.extern/generate-object-tree","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",27,"^10",["^ ","^Q",false,"^U",3,"^R",["^M",[["^=","^Z"],["^=","^Z","^["]]],"^L",["^M",[["^=","^Z"],["^=","^Z","^["]]],"^T",["^M",[null,null]]],"^R",["^M",[["^=","^Z"],["^=","^Z","^["]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",19,"^J",19,"^U",3,"^V",true,"^L",["^M",[["^=","^Z"],["^=","^Z","^["]]],"^O","Build a recursive tree representation of the JavaScript object\n  and metadata about its properties, prototype, and functions"],"~$emit-props-extern",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",38,"^I",7,"^J",38,"^K",24,"^L",["^M",["^N",["^M",[["^="]]]]],"^O","Return recursive string representation of an object's properties"],"^7","~$javascript-externs-generator.extern/emit-props-extern","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",24,"^R",["^M",[["^="]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",38,"^J",38,"^U",1,"^V",true,"^L",["^M",["^N",["^M",[["^="]]]]],"^O","Return recursive string representation of an object's properties"],"~$emit-prototype",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",51,"^I",7,"^J",51,"^K",21,"^L",["^M",["^N",["^M",[["~$namespace","~$prototype"]]]]],"^O","Return string representation of an object's prototype/functions"],"^7","~$javascript-externs-generator.extern/emit-prototype","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",21,"^R",["^M",[["^15","^16"]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",51,"^J",51,"^U",2,"^V",true,"^L",["^M",["^N",["^M",[["^15","^16"]]]]],"^O","Return string representation of an object's prototype/functions"],"~$emit-prototype-extern",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",58,"^I",7,"^J",58,"^K",28,"^L",["^M",["^N",["^M",[["^=","^15"]]]]],"^O","Return recursive string representation of an object's prototype chain"],"^7","~$javascript-externs-generator.extern/emit-prototype-extern","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",28,"^R",["^M",[["^=","^15"]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",58,"^J",58,"^U",2,"^V",true,"^L",["^M",["^N",["^M",[["^=","^15"]]]]],"^O","Return recursive string representation of an object's prototype chain"],"~$extract",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",67,"^I",7,"^J",67,"^K",14,"^L",["^M",["^N",["^M",[["^Z","~$js-object"]]]]],"^O","Recursively extract properties and prototypes from a JavaScript object\n  into an extern for use with the Google Closure Compiler"],"^7","~$javascript-externs-generator.extern/extract","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",14,"^R",["^M",[["^Z","^1;"]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",67,"^J",67,"^U",2,"^V",true,"^L",["^M",["^N",["^M",[["^Z","^1;"]]]]],"^O","Recursively extract properties and prototypes from a JavaScript object\n  into an extern for use with the Google Closure Compiler"],"~$wrap-extern",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",76,"^I",7,"^J",76,"^K",18,"^L",["^M",["^N",["^M",[["^Z","~$extern"]]]]],"^O","Add header and footer to extern output"],"^7","~$javascript-externs-generator.extern/wrap-extern","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",18,"^R",["^M",[["^Z","^1>"]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",76,"^J",76,"^U",2,"^V",true,"^L",["^M",["^N",["^M",[["^Z","^1>"]]]]],"^O","Add header and footer to extern output"],"~$extract-loaded",["^ ","^E",null,"^F",["^ ","^G","/Users/jmmk/Dropbox/clojure/javascript-externs-generator/src/javascript_externs_generator/extern.cljs","^H",88,"^I",7,"^J",88,"^K",21,"^L",["^M",["^N",["^M",[["^Z"]]]]],"^O","Grab a loaded JavaScript object to extract an extern"],"^7","~$javascript-externs-generator.extern/extract-loaded","^Q",false,"^G","src/javascript_externs_generator/extern.cljs","^K",21,"^R",["^M",[["^Z"]]],"^S",null,"^T",["^M",[null,null]],"^I",1,"^H",88,"^J",88,"^U",1,"^V",true,"^L",["^M",["^N",["^M",[["^Z"]]]]],"^O","Grab a loaded JavaScript object to extract an extern"]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:cljs.analyzer/constants",["^ ","~:seen",["^6",["^7","~:type","~:function","~:root","~:prototype","~:object","~:props"]],"~:order",["^1G","^1J","^7","^1F","^1K","^1I","^1H"]],"^O",null]