update viz 2 to use the newest version, which has some performance improvements and is easier to read the code for. also update the description
parent
5ed62d23b4
commit
2b47573674
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -1,368 +0,0 @@ |
||||
goog.provide('cljs.core.constants'); |
||||
goog.require('cljs.core'); |
||||
cljs.core.cst$kw$y = new cljs.core.Keyword(null,"y","y",-1757859776); |
||||
cljs.core.cst$sym$form = new cljs.core.Symbol(null,"form","form",16469056,null); |
||||
cljs.core.cst$kw$key_DASH_code = new cljs.core.Keyword(null,"key-code","key-code",-1732114304); |
||||
cljs.core.cst$sym$tag = new cljs.core.Symbol(null,"tag","tag",350170304,null); |
||||
cljs.core.cst$sym$_AMPERSAND_ = new cljs.core.Symbol(null,"&","&",-2144855648,null); |
||||
cljs.core.cst$sym$stepper = new cljs.core.Symbol(null,"stepper","stepper",1159163296,null); |
||||
cljs.core.cst$kw$grid_DASH_def = new cljs.core.Keyword(null,"grid-def","grid-def",-392588768); |
||||
cljs.core.cst$sym$uuid = new cljs.core.Symbol(null,"uuid","uuid",-504564192,null); |
||||
cljs.core.cst$kw$shift = new cljs.core.Keyword(null,"shift","shift",997140064); |
||||
cljs.core.cst$kw$features = new cljs.core.Keyword(null,"features","features",-1146962336); |
||||
cljs.core.cst$sym$$endDraw = new cljs.core.Symbol(null,".endDraw",".endDraw",795589408,null); |
||||
cljs.core.cst$kw$open = new cljs.core.Keyword(null,"open","open",-1763596448); |
||||
cljs.core.cst$kw$baseline = new cljs.core.Keyword(null,"baseline","baseline",1151033280); |
||||
cljs.core.cst$sym$end = new cljs.core.Symbol(null,"end","end",1372345569,null); |
||||
cljs.core.cst$kw$disable_DASH_stroke_DASH_perspective = new cljs.core.Keyword(null,"disable-stroke-perspective","disable-stroke-perspective",479198433); |
||||
cljs.core.cst$kw$active_DASH_node_DASH_ids = new cljs.core.Keyword(null,"active-node-ids","active-node-ids",-398210751); |
||||
cljs.core.cst$sym$defrecord_STAR_ = new cljs.core.Symbol(null,"defrecord*","defrecord*",-1936366207,null); |
||||
cljs.core.cst$sym$base = new cljs.core.Symbol(null,"base","base",1825810849,null); |
||||
cljs.core.cst$sym$obj = new cljs.core.Symbol(null,"obj","obj",-1672671807,null); |
||||
cljs.core.cst$kw$hsb = new cljs.core.Keyword(null,"hsb","hsb",-753472031); |
||||
cljs.core.cst$kw$quads = new cljs.core.Keyword(null,"quads","quads",1347497505); |
||||
cljs.core.cst$sym$fqn = new cljs.core.Symbol(null,"fqn","fqn",-1749334463,null); |
||||
cljs.core.cst$kw$arrow = new cljs.core.Keyword(null,"arrow","arrow",1071351425); |
||||
cljs.core.cst$kw$dilate = new cljs.core.Keyword(null,"dilate","dilate",1504745153); |
||||
cljs.core.cst$sym$first = new cljs.core.Symbol(null,"first","first",996428481,null); |
||||
cljs.core.cst$sym$quil$core_SLASH_current_DASH_fill = new cljs.core.Symbol("quil.core","current-fill","quil.core/current-fill",269663137,null); |
||||
cljs.core.cst$sym$try = new cljs.core.Symbol(null,"try","try",-1273693247,null); |
||||
cljs.core.cst$sym$has_DASH_nil_QMARK_ = new cljs.core.Symbol(null,"has-nil?","has-nil?",825886722,null); |
||||
cljs.core.cst$kw$min = new cljs.core.Keyword(null,"min","min",444991522); |
||||
cljs.core.cst$sym$quil$core_SLASH__STAR_graphics_STAR_ = new cljs.core.Symbol("quil.core","*graphics*","quil.core/*graphics*",-1088142302,null); |
||||
cljs.core.cst$kw$quad_DASH_strip = new cljs.core.Keyword(null,"quad-strip","quad-strip",-1297270686); |
||||
cljs.core.cst$kw$down = new cljs.core.Keyword(null,"down","down",1565245570); |
||||
cljs.core.cst$kw$grid_DASH_width = new cljs.core.Keyword(null,"grid-width","grid-width",837583106); |
||||
cljs.core.cst$kw$disable_DASH_depth_DASH_mask = new cljs.core.Keyword(null,"disable-depth-mask","disable-depth-mask",3298562); |
||||
cljs.core.cst$kw$pixels_DASH_in_DASH_360 = new cljs.core.Keyword(null,"pixels-in-360","pixels-in-360",1789567298); |
||||
cljs.core.cst$kw$frame_DASH_rate = new cljs.core.Keyword(null,"frame-rate","frame-rate",-994918942); |
||||
cljs.core.cst$kw$p_DASH_y = new cljs.core.Keyword(null,"p-y","p-y",-530704830); |
||||
cljs.core.cst$kw$step_DASH_size = new cljs.core.Keyword(null,"step-size","step-size",1545609922); |
||||
cljs.core.cst$kw$zoom = new cljs.core.Keyword(null,"zoom","zoom",-1827487038); |
||||
cljs.core.cst$sym$rear = new cljs.core.Symbol(null,"rear","rear",-900164830,null); |
||||
cljs.core.cst$sym$hierarchy = new cljs.core.Symbol(null,"hierarchy","hierarchy",587061186,null); |
||||
cljs.core.cst$sym$iter = new cljs.core.Symbol(null,"iter","iter",-1346195486,null); |
||||
cljs.core.cst$sym$cljs$core_SLASH_binding = new cljs.core.Symbol("cljs.core","binding","cljs.core/binding",2050379843,null); |
||||
cljs.core.cst$kw$burn = new cljs.core.Keyword(null,"burn","burn",-458179293); |
||||
cljs.core.cst$sym$step = new cljs.core.Symbol(null,"step","step",-1365547645,null); |
||||
cljs.core.cst$sym$tr__10249__auto__ = new cljs.core.Symbol(null,"tr__10249__auto__","tr__10249__auto__",-739839485,null); |
||||
cljs.core.cst$sym$boolean = new cljs.core.Symbol(null,"boolean","boolean",-278886877,null); |
||||
cljs.core.cst$kw$key_DASH_typed = new cljs.core.Keyword(null,"key-typed","key-typed",-876037597); |
||||
cljs.core.cst$sym$update_DASH_count = new cljs.core.Symbol(null,"update-count","update-count",-411982269,null); |
||||
cljs.core.cst$kw$mouse_DASH_clicked = new cljs.core.Keyword(null,"mouse-clicked","mouse-clicked",-199339421); |
||||
cljs.core.cst$sym$method_DASH_table = new cljs.core.Symbol(null,"method-table","method-table",-1878263165,null); |
||||
cljs.core.cst$kw$mouse_DASH_released = new cljs.core.Keyword(null,"mouse-released","mouse-released",-664480061); |
||||
cljs.core.cst$kw$posterize = new cljs.core.Keyword(null,"posterize","posterize",-148251901); |
||||
cljs.core.cst$sym$chunk = new cljs.core.Symbol(null,"chunk","chunk",449371907,null); |
||||
cljs.core.cst$kw$fn = new cljs.core.Keyword(null,"fn","fn",-1175266204); |
||||
cljs.core.cst$sym$quil$sketch_SLASH_with_DASH_sketch = new cljs.core.Symbol("quil.sketch","with-sketch","quil.sketch/with-sketch",-634067708,null); |
||||
cljs.core.cst$sym$i = new cljs.core.Symbol(null,"i","i",253690212,null); |
||||
cljs.core.cst$kw$f8 = new cljs.core.Keyword(null,"f8","f8",-2141475484); |
||||
cljs.core.cst$sym$rest = new cljs.core.Symbol(null,"rest","rest",398835108,null); |
||||
cljs.core.cst$kw$meta = new cljs.core.Keyword(null,"meta","meta",1499536964); |
||||
cljs.core.cst$sym$quil$core_SLASH_translate = new cljs.core.Symbol("quil.core","translate","quil.core/translate",150889028,null); |
||||
cljs.core.cst$sym$old_DASH_fill__10239__auto__ = new cljs.core.Symbol(null,"old-fill__10239__auto__","old-fill__10239__auto__",-4319548,null); |
||||
cljs.core.cst$kw$screen = new cljs.core.Keyword(null,"screen","screen",1990059748); |
||||
cljs.core.cst$kw$enable_DASH_depth_DASH_test = new cljs.core.Keyword(null,"enable-depth-test","enable-depth-test",1519326084); |
||||
cljs.core.cst$kw$mouse_DASH_exited = new cljs.core.Keyword(null,"mouse-exited","mouse-exited",-483205244); |
||||
cljs.core.cst$kw$gray = new cljs.core.Keyword(null,"gray","gray",1013268388); |
||||
cljs.core.cst$kw$frame = new cljs.core.Keyword(null,"frame","frame",-1711082588); |
||||
cljs.core.cst$kw$enable_DASH_depth_DASH_sort = new cljs.core.Keyword(null,"enable-depth-sort","enable-depth-sort",-383089627); |
||||
cljs.core.cst$kw$f1 = new cljs.core.Keyword(null,"f1","f1",1714532389); |
||||
cljs.core.cst$kw$dup = new cljs.core.Keyword(null,"dup","dup",556298533); |
||||
cljs.core.cst$kw$java2d = new cljs.core.Keyword(null,"java2d","java2d",166099237); |
||||
cljs.core.cst$kw$corner = new cljs.core.Keyword(null,"corner","corner",1296717125); |
||||
cljs.core.cst$kw$disable_DASH_texture_DASH_mipmaps = new cljs.core.Keyword(null,"disable-texture-mipmaps","disable-texture-mipmaps",1697917541); |
||||
cljs.core.cst$kw$key = new cljs.core.Keyword(null,"key","key",-1516042587); |
||||
cljs.core.cst$sym$comp = new cljs.core.Symbol(null,"comp","comp",-1462482139,null); |
||||
cljs.core.cst$sym$dispatch_DASH_fn = new cljs.core.Symbol(null,"dispatch-fn","dispatch-fn",-1401088155,null); |
||||
cljs.core.cst$kw$darkest = new cljs.core.Keyword(null,"darkest","darkest",68197253); |
||||
cljs.core.cst$kw$f10 = new cljs.core.Keyword(null,"f10","f10",627525541); |
||||
cljs.core.cst$kw$dodge = new cljs.core.Keyword(null,"dodge","dodge",-1556666427); |
||||
cljs.core.cst$kw$bottom = new cljs.core.Keyword(null,"bottom","bottom",-1550509018); |
||||
cljs.core.cst$kw$bevel = new cljs.core.Keyword(null,"bevel","bevel",2090515654); |
||||
cljs.core.cst$kw$else = new cljs.core.Keyword(null,"else","else",-1508377146); |
||||
cljs.core.cst$kw$on_DASH_close = new cljs.core.Keyword(null,"on-close","on-close",-761178394); |
||||
cljs.core.cst$kw$disable_DASH_stroke_DASH_pure = new cljs.core.Keyword(null,"disable-stroke-pure","disable-stroke-pure",735493926); |
||||
cljs.core.cst$kw$replace = new cljs.core.Keyword(null,"replace","replace",-786587770); |
||||
cljs.core.cst$kw$next_DASH_id = new cljs.core.Keyword(null,"next-id","next-id",-224240762); |
||||
cljs.core.cst$kw$alt = new cljs.core.Keyword(null,"alt","alt",-3214426); |
||||
cljs.core.cst$sym$left = new cljs.core.Symbol(null,"left","left",1241415590,null); |
||||
cljs.core.cst$sym$ns_STAR_ = new cljs.core.Symbol(null,"ns*","ns*",1840949383,null); |
||||
cljs.core.cst$kw$cljs$core_SLASH_none = new cljs.core.Keyword("cljs.core","none","cljs.core/none",926646439); |
||||
cljs.core.cst$sym$shift = new cljs.core.Symbol(null,"shift","shift",-1657295705,null); |
||||
cljs.core.cst$sym$iters = new cljs.core.Symbol(null,"iters","iters",719353031,null); |
||||
cljs.core.cst$kw$button = new cljs.core.Keyword(null,"button","button",1456579943); |
||||
cljs.core.cst$kw$top = new cljs.core.Keyword(null,"top","top",-1856271961); |
||||
cljs.core.cst$kw$mouse_DASH_wheel = new cljs.core.Keyword(null,"mouse-wheel","mouse-wheel",1811662439); |
||||
cljs.core.cst$sym$cljs$core_SLASH_apply = new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null); |
||||
cljs.core.cst$sym$xform = new cljs.core.Symbol(null,"xform","xform",-85179481,null); |
||||
cljs.core.cst$kw$validator = new cljs.core.Keyword(null,"validator","validator",-1966190681); |
||||
cljs.core.cst$kw$disable_DASH_depth_DASH_test = new cljs.core.Keyword(null,"disable-depth-test","disable-depth-test",284606407); |
||||
cljs.core.cst$sym$finally = new cljs.core.Symbol(null,"finally","finally",-1065347064,null); |
||||
cljs.core.cst$kw$keyPressed = new cljs.core.Keyword(null,"keyPressed","keyPressed",1791025256); |
||||
cljs.core.cst$kw$default = new cljs.core.Keyword(null,"default","default",-1987822328); |
||||
cljs.core.cst$sym$prefer_DASH_table = new cljs.core.Symbol(null,"prefer-table","prefer-table",462168584,null); |
||||
cljs.core.cst$kw$bar = new cljs.core.Keyword(null,"bar","bar",-1386246584); |
||||
cljs.core.cst$sym$loop_STAR_ = new cljs.core.Symbol(null,"loop*","loop*",615029416,null); |
||||
cljs.core.cst$sym$watches = new cljs.core.Symbol(null,"watches","watches",1367433992,null); |
||||
cljs.core.cst$kw$ns = new cljs.core.Keyword(null,"ns","ns",441598760); |
||||
cljs.core.cst$kw$grid = new cljs.core.Keyword(null,"grid","grid",402978600); |
||||
cljs.core.cst$kw$pie = new cljs.core.Keyword(null,"pie","pie",1530441672); |
||||
cljs.core.cst$sym$quil$core_SLASH_pop_DASH_matrix = new cljs.core.Symbol("quil.core","pop-matrix","quil.core/pop-matrix",310892617,null); |
||||
cljs.core.cst$kw$decor = new cljs.core.Keyword(null,"decor","decor",-1730969431); |
||||
cljs.core.cst$kw$w = new cljs.core.Keyword(null,"w","w",354169001); |
||||
cljs.core.cst$sym$bitmap = new cljs.core.Symbol(null,"bitmap","bitmap",501334601,null); |
||||
cljs.core.cst$kw$enable_DASH_stroke_DASH_perspective = new cljs.core.Keyword(null,"enable-stroke-perspective","enable-stroke-perspective",-259923319); |
||||
cljs.core.cst$sym$_seq = new cljs.core.Symbol(null,"_seq","_seq",-449557847,null); |
||||
cljs.core.cst$sym$nil_DASH_val = new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null); |
||||
cljs.core.cst$kw$opengl = new cljs.core.Keyword(null,"opengl","opengl",-614998103); |
||||
cljs.core.cst$kw$exit_DASH_wait_DASH_frames = new cljs.core.Keyword(null,"exit-wait-frames","exit-wait-frames",1417213098); |
||||
cljs.core.cst$kw$mouse_DASH_moved = new cljs.core.Keyword(null,"mouse-moved","mouse-moved",-1918152310); |
||||
cljs.core.cst$kw$parent_DASH_pos = new cljs.core.Keyword(null,"parent-pos","parent-pos",-282368566); |
||||
cljs.core.cst$sym$v = new cljs.core.Symbol(null,"v","v",1661996586,null); |
||||
cljs.core.cst$kw$safe_DASH_draw_DASH_fn = new cljs.core.Keyword(null,"safe-draw-fn","safe-draw-fn",1454900202); |
||||
cljs.core.cst$kw$chord = new cljs.core.Keyword(null,"chord","chord",-696248342); |
||||
cljs.core.cst$sym$riter = new cljs.core.Symbol(null,"riter","riter",-237834262,null); |
||||
cljs.core.cst$sym$__hash = new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null); |
||||
cljs.core.cst$kw$rgb = new cljs.core.Keyword(null,"rgb","rgb",1432123467); |
||||
cljs.core.cst$sym$meta = new cljs.core.Symbol(null,"meta","meta",-1154898805,null); |
||||
cljs.core.cst$sym$_meta = new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null); |
||||
cljs.core.cst$sym$$dispose = new cljs.core.Symbol(null,".dispose",".dispose",-1697594101,null); |
||||
cljs.core.cst$kw$lines = new cljs.core.Keyword(null,"lines","lines",-700165781); |
||||
cljs.core.cst$sym$afn = new cljs.core.Symbol(null,"afn","afn",216963467,null); |
||||
cljs.core.cst$kw$argb = new cljs.core.Keyword(null,"argb","argb",633844107); |
||||
cljs.core.cst$kw$mouseOut = new cljs.core.Keyword(null,"mouseOut","mouseOut",-386669045); |
||||
cljs.core.cst$kw$move = new cljs.core.Keyword(null,"move","move",-2110884309); |
||||
cljs.core.cst$sym$tree = new cljs.core.Symbol(null,"tree","tree",1444219499,null); |
||||
cljs.core.cst$sym$fn = new cljs.core.Symbol(null,"fn","fn",465265323,null); |
||||
cljs.core.cst$kw$f5 = new cljs.core.Keyword(null,"f5","f5",1587057387); |
||||
cljs.core.cst$kw$settings = new cljs.core.Keyword(null,"settings","settings",1556144875); |
||||
cljs.core.cst$sym$front = new cljs.core.Symbol(null,"front","front",117022539,null); |
||||
cljs.core.cst$sym$buf = new cljs.core.Symbol(null,"buf","buf",1426618187,null); |
||||
cljs.core.cst$kw$pos = new cljs.core.Keyword(null,"pos","pos",-864607220); |
||||
cljs.core.cst$kw$gif_DASH_seconds = new cljs.core.Keyword(null,"gif-seconds","gif-seconds",1861397548); |
||||
cljs.core.cst$kw$command = new cljs.core.Keyword(null,"command","command",-894540724); |
||||
cljs.core.cst$kw$mouseScrolled = new cljs.core.Keyword(null,"mouseScrolled","mouseScrolled",31878252); |
||||
cljs.core.cst$sym$next_DASH_entry = new cljs.core.Symbol(null,"next-entry","next-entry",1091342476,null); |
||||
cljs.core.cst$kw$val = new cljs.core.Keyword(null,"val","val",128701612); |
||||
cljs.core.cst$sym$key = new cljs.core.Symbol(null,"key","key",124488940,null); |
||||
cljs.core.cst$sym$_next = new cljs.core.Symbol(null,"_next","_next",101877036,null); |
||||
cljs.core.cst$sym$quil$core_SLASH_stroke = new cljs.core.Symbol("quil.core","stroke","quil.core/stroke",577473004,null); |
||||
cljs.core.cst$kw$update = new cljs.core.Keyword(null,"update","update",1045576396); |
||||
cljs.core.cst$sym$root_DASH_iter = new cljs.core.Symbol(null,"root-iter","root-iter",1974672108,null); |
||||
cljs.core.cst$sym$do = new cljs.core.Symbol(null,"do","do",1686842252,null); |
||||
cljs.core.cst$sym$vec = new cljs.core.Symbol(null,"vec","vec",982683596,null); |
||||
cljs.core.cst$sym$js_SLASH_Processing$prototype$PConstants = new cljs.core.Symbol("js","Processing.prototype.PConstants","js/Processing.prototype.PConstants",2034048972,null); |
||||
cljs.core.cst$kw$miter = new cljs.core.Keyword(null,"miter","miter",327727052); |
||||
cljs.core.cst$kw$points = new cljs.core.Keyword(null,"points","points",-1486596883); |
||||
cljs.core.cst$kw$fallback_DASH_impl = new cljs.core.Keyword(null,"fallback-impl","fallback-impl",-1501286995); |
||||
cljs.core.cst$kw$hand = new cljs.core.Keyword(null,"hand","hand",791601933); |
||||
cljs.core.cst$kw$flush_DASH_on_DASH_newline = new cljs.core.Keyword(null,"flush-on-newline","flush-on-newline",-151457939); |
||||
cljs.core.cst$kw$mouseDragged = new cljs.core.Keyword(null,"mouseDragged","mouseDragged",129975181); |
||||
cljs.core.cst$sym$default_DASH_dispatch_DASH_val = new cljs.core.Symbol(null,"default-dispatch-val","default-dispatch-val",-1231201266,null); |
||||
cljs.core.cst$kw$no_DASH_test = new cljs.core.Keyword(null,"no-test","no-test",-1679482642); |
||||
cljs.core.cst$kw$close = new cljs.core.Keyword(null,"close","close",1835149582); |
||||
cljs.core.cst$kw$roots = new cljs.core.Keyword(null,"roots","roots",-1088919250); |
||||
cljs.core.cst$sym$validator = new cljs.core.Symbol(null,"validator","validator",-325659154,null); |
||||
cljs.core.cst$kw$radius = new cljs.core.Keyword(null,"radius","radius",-2073122258); |
||||
cljs.core.cst$kw$normal = new cljs.core.Keyword(null,"normal","normal",-1519123858); |
||||
cljs.core.cst$sym$letfn_STAR_ = new cljs.core.Symbol(null,"letfn*","letfn*",-110097810,null); |
||||
cljs.core.cst$sym$if = new cljs.core.Symbol(null,"if","if",1181717262,null); |
||||
cljs.core.cst$kw$s = new cljs.core.Keyword(null,"s","s",1705939918); |
||||
cljs.core.cst$sym$arr = new cljs.core.Symbol(null,"arr","arr",2115492975,null); |
||||
cljs.core.cst$kw$threshold = new cljs.core.Keyword(null,"threshold","threshold",204221583); |
||||
cljs.core.cst$sym$new = new cljs.core.Symbol(null,"new","new",-444906321,null); |
||||
cljs.core.cst$kw$rotate_DASH_on = new cljs.core.Keyword(null,"rotate-on","rotate-on",-1282225937); |
||||
cljs.core.cst$kw$up = new cljs.core.Keyword(null,"up","up",-269712113); |
||||
cljs.core.cst$kw$descendants = new cljs.core.Keyword(null,"descendants","descendants",1824886031); |
||||
cljs.core.cst$kw$renderer = new cljs.core.Keyword(null,"renderer","renderer",336841071); |
||||
cljs.core.cst$sym$ns = new cljs.core.Symbol(null,"ns","ns",2082130287,null); |
||||
cljs.core.cst$kw$size = new cljs.core.Keyword(null,"size","size",1098693007); |
||||
cljs.core.cst$kw$title = new cljs.core.Keyword(null,"title","title",636505583); |
||||
cljs.core.cst$kw$tail_DASH_length = new cljs.core.Keyword(null,"tail-length","tail-length",-2007115089); |
||||
cljs.core.cst$kw$center = new cljs.core.Keyword(null,"center","center",-748944368); |
||||
cljs.core.cst$kw$setup = new cljs.core.Keyword(null,"setup","setup",1987730512); |
||||
cljs.core.cst$kw$mouse_DASH_pressed = new cljs.core.Keyword(null,"mouse-pressed","mouse-pressed",736955536); |
||||
cljs.core.cst$kw$ancestors = new cljs.core.Keyword(null,"ancestors","ancestors",-776045424); |
||||
cljs.core.cst$kw$middleware = new cljs.core.Keyword(null,"middleware","middleware",1462115504); |
||||
cljs.core.cst$kw$round = new cljs.core.Keyword(null,"round","round",2009433328); |
||||
cljs.core.cst$kw$disable_DASH_optimized_DASH_stroke = new cljs.core.Keyword(null,"disable-optimized-stroke","disable-optimized-stroke",74038544); |
||||
cljs.core.cst$sym$meta8588 = new cljs.core.Symbol(null,"meta8588","meta8588",1105839504,null); |
||||
cljs.core.cst$sym$value = new cljs.core.Symbol(null,"value","value",1946509744,null); |
||||
cljs.core.cst$kw$focus_DASH_gained = new cljs.core.Keyword(null,"focus-gained","focus-gained",-857086384); |
||||
cljs.core.cst$sym$name = new cljs.core.Symbol(null,"name","name",-810760592,null); |
||||
cljs.core.cst$sym$gr__10259__auto__ = new cljs.core.Symbol(null,"gr__10259__auto__","gr__10259__auto__",-992087344,null); |
||||
cljs.core.cst$kw$readably = new cljs.core.Keyword(null,"readably","readably",1129599760); |
||||
cljs.core.cst$kw$global_DASH_key_DASH_events = new cljs.core.Keyword(null,"global-key-events","global-key-events",335064944); |
||||
cljs.core.cst$kw$more_DASH_marker = new cljs.core.Keyword(null,"more-marker","more-marker",-14717935); |
||||
cljs.core.cst$sym$cljs$core_SLASH_let = new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null); |
||||
cljs.core.cst$sym$fields = new cljs.core.Symbol(null,"fields","fields",-291534703,null); |
||||
cljs.core.cst$kw$corners = new cljs.core.Keyword(null,"corners","corners",-137817903); |
||||
cljs.core.cst$sym$method_DASH_cache = new cljs.core.Symbol(null,"method-cache","method-cache",1230193905,null); |
||||
cljs.core.cst$kw$z = new cljs.core.Keyword(null,"z","z",-789527183); |
||||
cljs.core.cst$sym$nexts = new cljs.core.Symbol(null,"nexts","nexts",-1683579407,null); |
||||
cljs.core.cst$kw$f11 = new cljs.core.Keyword(null,"f11","f11",-1417398799); |
||||
cljs.core.cst$kw$host = new cljs.core.Keyword(null,"host","host",-1558485167); |
||||
cljs.core.cst$sym$edit = new cljs.core.Symbol(null,"edit","edit",-1302639,null); |
||||
cljs.core.cst$sym$editable_QMARK_ = new cljs.core.Symbol(null,"editable?","editable?",-164945806,null); |
||||
cljs.core.cst$kw$opaque = new cljs.core.Keyword(null,"opaque","opaque",-1243552654); |
||||
cljs.core.cst$kw$straight = new cljs.core.Keyword(null,"straight","straight",-1252567854); |
||||
cljs.core.cst$sym$base_DASH_count = new cljs.core.Symbol(null,"base-count","base-count",-1180647182,null); |
||||
cljs.core.cst$kw$overlay = new cljs.core.Keyword(null,"overlay","overlay",-139131598); |
||||
cljs.core.cst$kw$mouse_DASH_entered = new cljs.core.Keyword(null,"mouse-entered","mouse-entered",811350322); |
||||
cljs.core.cst$sym$collision_DASH_hash = new cljs.core.Symbol(null,"collision-hash","collision-hash",-35831342,null); |
||||
cljs.core.cst$kw$forest = new cljs.core.Keyword(null,"forest","forest",278860306); |
||||
cljs.core.cst$sym$deftype_STAR_ = new cljs.core.Symbol(null,"deftype*","deftype*",962659890,null); |
||||
cljs.core.cst$sym$let_STAR_ = new cljs.core.Symbol(null,"let*","let*",1920721458,null); |
||||
cljs.core.cst$kw$enable_DASH_opengl_DASH_errors = new cljs.core.Keyword(null,"enable-opengl-errors","enable-opengl-errors",89998962); |
||||
cljs.core.cst$kw$leaves = new cljs.core.Keyword(null,"leaves","leaves",-2143630574); |
||||
cljs.core.cst$sym$start = new cljs.core.Symbol(null,"start","start",1285322546,null); |
||||
cljs.core.cst$sym$coll = new cljs.core.Symbol(null,"coll","coll",-1006698606,null); |
||||
cljs.core.cst$sym$not_DASH_native = new cljs.core.Symbol(null,"not-native","not-native",-236392494,null); |
||||
cljs.core.cst$sym$js_STAR_ = new cljs.core.Symbol(null,"js*","js*",-1134233646,null); |
||||
cljs.core.cst$kw$enable_DASH_stroke_DASH_pure = new cljs.core.Keyword(null,"enable-stroke-pure","enable-stroke-pure",881345587); |
||||
cljs.core.cst$sym$strobj = new cljs.core.Symbol(null,"strobj","strobj",1088091283,null); |
||||
cljs.core.cst$kw$nodes = new cljs.core.Keyword(null,"nodes","nodes",-2099585805); |
||||
cljs.core.cst$kw$no_DASH_safe_DASH_draw = new cljs.core.Keyword(null,"no-safe-draw","no-safe-draw",-1157778157); |
||||
cljs.core.cst$kw$blur = new cljs.core.Keyword(null,"blur","blur",-453500461); |
||||
cljs.core.cst$sym$_rest = new cljs.core.Symbol(null,"_rest","_rest",-2100466189,null); |
||||
cljs.core.cst$kw$project = new cljs.core.Keyword(null,"project","project",1124394579); |
||||
cljs.core.cst$kw$triangle_DASH_fan = new cljs.core.Keyword(null,"triangle-fan","triangle-fan",1743150739); |
||||
cljs.core.cst$kw$focus_DASH_lost = new cljs.core.Keyword(null,"focus-lost","focus-lost",-554849613); |
||||
cljs.core.cst$sym$fn_STAR_ = new cljs.core.Symbol(null,"fn*","fn*",-752876845,null); |
||||
cljs.core.cst$kw$f3 = new cljs.core.Keyword(null,"f3","f3",1954829043); |
||||
cljs.core.cst$sym$val = new cljs.core.Symbol(null,"val","val",1769233139,null); |
||||
cljs.core.cst$sym$ascending_QMARK_ = new cljs.core.Symbol(null,"ascending?","ascending?",-1938452653,null); |
||||
cljs.core.cst$sym$recur = new cljs.core.Symbol(null,"recur","recur",1202958259,null); |
||||
cljs.core.cst$sym$ci = new cljs.core.Symbol(null,"ci","ci",2049808339,null); |
||||
cljs.core.cst$kw$enable_DASH_depth_DASH_mask = new cljs.core.Keyword(null,"enable-depth-mask","enable-depth-mask",872785875); |
||||
cljs.core.cst$kw$key_DASH_pressed = new cljs.core.Keyword(null,"key-pressed","key-pressed",-757100364); |
||||
cljs.core.cst$kw$key_DASH_released = new cljs.core.Keyword(null,"key-released","key-released",215919828); |
||||
cljs.core.cst$kw$print_DASH_length = new cljs.core.Keyword(null,"print-length","print-length",1931866356); |
||||
cljs.core.cst$kw$max = new cljs.core.Keyword(null,"max","max",61366548); |
||||
cljs.core.cst$kw$foo = new cljs.core.Keyword(null,"foo","foo",1268894036); |
||||
cljs.core.cst$kw$f2 = new cljs.core.Keyword(null,"f2","f2",396168596); |
||||
cljs.core.cst$kw$keyReleased = new cljs.core.Keyword(null,"keyReleased","keyReleased",541714964); |
||||
cljs.core.cst$kw$id = new cljs.core.Keyword(null,"id","id",-1388402092); |
||||
cljs.core.cst$sym$state = new cljs.core.Symbol(null,"state","state",-348086572,null); |
||||
cljs.core.cst$kw$control = new cljs.core.Keyword(null,"control","control",1892578036); |
||||
cljs.core.cst$kw$ok = new cljs.core.Keyword(null,"ok","ok",967785236); |
||||
cljs.core.cst$kw$difference = new cljs.core.Keyword(null,"difference","difference",1916101396); |
||||
cljs.core.cst$sym$quil$core_SLASH_push_DASH_matrix = new cljs.core.Symbol("quil.core","push-matrix","quil.core/push-matrix",1356326676,null); |
||||
cljs.core.cst$kw$cljs$core_SLASH_halt = new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715); |
||||
cljs.core.cst$kw$mouseClicked = new cljs.core.Keyword(null,"mouseClicked","mouseClicked",1764302965); |
||||
cljs.core.cst$kw$square = new cljs.core.Keyword(null,"square","square",812434677); |
||||
cljs.core.cst$sym$cached_DASH_hierarchy = new cljs.core.Symbol(null,"cached-hierarchy","cached-hierarchy",-1085460203,null); |
||||
cljs.core.cst$kw$enable_DASH_optimized_DASH_stroke = new cljs.core.Keyword(null,"enable-optimized-stroke","enable-optimized-stroke",1537575253); |
||||
cljs.core.cst$kw$parent_DASH_id = new cljs.core.Keyword(null,"parent-id","parent-id",-1400729131); |
||||
cljs.core.cst$sym$s = new cljs.core.Symbol(null,"s","s",-948495851,null); |
||||
cljs.core.cst$kw$parents = new cljs.core.Keyword(null,"parents","parents",-2027538891); |
||||
cljs.core.cst$sym$cnt = new cljs.core.Symbol(null,"cnt","cnt",1924510325,null); |
||||
cljs.core.cst$kw$p_DASH_x = new cljs.core.Keyword(null,"p-x","p-x",-1721211211); |
||||
cljs.core.cst$kw$p2d = new cljs.core.Keyword(null,"p2d","p2d",-2106175755); |
||||
cljs.core.cst$kw$keep_DASH_on_DASH_top = new cljs.core.Keyword(null,"keep-on-top","keep-on-top",-970284267); |
||||
cljs.core.cst$kw$navigation_DASH_3d = new cljs.core.Keyword(null,"navigation-3d","navigation-3d",682305301); |
||||
cljs.core.cst$sym$node = new cljs.core.Symbol(null,"node","node",-2073234571,null); |
||||
cljs.core.cst$kw$mouseReleased = new cljs.core.Keyword(null,"mouseReleased","mouseReleased",1116234838); |
||||
cljs.core.cst$kw$mousePressed = new cljs.core.Keyword(null,"mousePressed","mousePressed",1776186454); |
||||
cljs.core.cst$kw$shape = new cljs.core.Keyword(null,"shape","shape",1190694006); |
||||
cljs.core.cst$sym$sym = new cljs.core.Symbol(null,"sym","sym",195671222,null); |
||||
cljs.core.cst$kw$mouseMoved = new cljs.core.Keyword(null,"mouseMoved","mouseMoved",-1936954058); |
||||
cljs.core.cst$kw$f12 = new cljs.core.Keyword(null,"f12","f12",853352790); |
||||
cljs.core.cst$sym$sb = new cljs.core.Symbol(null,"sb","sb",-1249746442,null); |
||||
cljs.core.cst$kw$mouseOver = new cljs.core.Keyword(null,"mouseOver","mouseOver",-1334461930); |
||||
cljs.core.cst$kw$exclusion = new cljs.core.Keyword(null,"exclusion","exclusion",531897910); |
||||
cljs.core.cst$sym$quil$core_SLASH_fill = new cljs.core.Symbol("quil.core","fill","quil.core/fill",814613078,null); |
||||
cljs.core.cst$sym$meta8585 = new cljs.core.Symbol(null,"meta8585","meta8585",663620534,null); |
||||
cljs.core.cst$sym$old_DASH_stroke__10244__auto__ = new cljs.core.Symbol(null,"old-stroke__10244__auto__","old-stroke__10244__auto__",1374294039,null); |
||||
cljs.core.cst$kw$disable_DASH_opengl_DASH_errors = new cljs.core.Keyword(null,"disable-opengl-errors","disable-opengl-errors",506822839); |
||||
cljs.core.cst$kw$unknown_DASH_key = new cljs.core.Keyword(null,"unknown-key","unknown-key",255305911); |
||||
cljs.core.cst$kw$alpha = new cljs.core.Keyword(null,"alpha","alpha",-1574982441); |
||||
cljs.core.cst$kw$wait = new cljs.core.Keyword(null,"wait","wait",-260664777); |
||||
cljs.core.cst$kw$right = new cljs.core.Keyword(null,"right","right",-452581833); |
||||
cljs.core.cst$kw$random = new cljs.core.Keyword(null,"random","random",-557811113); |
||||
cljs.core.cst$sym$quil$core_SLASH_current_DASH_stroke = new cljs.core.Symbol("quil.core","current-stroke","quil.core/current-stroke",-1148124489,null); |
||||
cljs.core.cst$kw$host_DASH_id = new cljs.core.Keyword(null,"host-id","host-id",742376279); |
||||
cljs.core.cst$kw$repeat = new cljs.core.Keyword(null,"repeat","repeat",832692087); |
||||
cljs.core.cst$kw$hard_DASH_light = new cljs.core.Keyword(null,"hard-light","hard-light",-37591145); |
||||
cljs.core.cst$sym$quil$sketch$macros_SLASH_defsketch = new cljs.core.Symbol("quil.sketch$macros","defsketch","quil.sketch$macros/defsketch",2065609719,null); |
||||
cljs.core.cst$kw$keyTyped = new cljs.core.Keyword(null,"keyTyped","keyTyped",1437329399); |
||||
cljs.core.cst$kw$position = new cljs.core.Keyword(null,"position","position",-2011731912); |
||||
cljs.core.cst$kw$no_DASH_start = new cljs.core.Keyword(null,"no-start","no-start",1381488856); |
||||
cljs.core.cst$sym$_hash = new cljs.core.Symbol(null,"_hash","_hash",-2130838312,null); |
||||
cljs.core.cst$kw$image = new cljs.core.Keyword(null,"image","image",-58725096); |
||||
cljs.core.cst$kw$d = new cljs.core.Keyword(null,"d","d",1972142424); |
||||
cljs.core.cst$kw$dial = new cljs.core.Keyword(null,"dial","dial",1238392184); |
||||
cljs.core.cst$kw$multiply = new cljs.core.Keyword(null,"multiply","multiply",-1036907048); |
||||
cljs.core.cst$kw$lightest = new cljs.core.Keyword(null,"lightest","lightest",-2043115912); |
||||
cljs.core.cst$sym$quil$core_SLASH_rotate = new cljs.core.Symbol("quil.core","rotate","quil.core/rotate",-1944995048,null); |
||||
cljs.core.cst$kw$f7 = new cljs.core.Keyword(null,"f7","f7",356150168); |
||||
cljs.core.cst$kw$ghost = new cljs.core.Keyword(null,"ghost","ghost",-1531157576); |
||||
cljs.core.cst$sym$keys = new cljs.core.Symbol(null,"keys","keys",-1586012071,null); |
||||
cljs.core.cst$kw$x = new cljs.core.Keyword(null,"x","x",2099068185); |
||||
cljs.core.cst$kw$blend = new cljs.core.Keyword(null,"blend","blend",249565561); |
||||
cljs.core.cst$sym$set_BANG_ = new cljs.core.Symbol(null,"set!","set!",250714521,null); |
||||
cljs.core.cst$kw$disable_DASH_depth_DASH_sort = new cljs.core.Keyword(null,"disable-depth-sort","disable-depth-sort",-1568352839); |
||||
cljs.core.cst$kw$tag = new cljs.core.Keyword(null,"tag","tag",-1290361223); |
||||
cljs.core.cst$sym$tree_DASH_map = new cljs.core.Symbol(null,"tree-map","tree-map",1373073049,null); |
||||
cljs.core.cst$kw$raw_DASH_key = new cljs.core.Keyword(null,"raw-key","raw-key",-162482279); |
||||
cljs.core.cst$kw$target = new cljs.core.Keyword(null,"target","target",253001721); |
||||
cljs.core.cst$sym$_DOT_ = new cljs.core.Symbol(null,".",".",1975675962,null); |
||||
cljs.core.cst$sym$var = new cljs.core.Symbol(null,"var","var",870848730,null); |
||||
cljs.core.cst$kw$mutable = new cljs.core.Keyword(null,"mutable","mutable",875778266); |
||||
cljs.core.cst$sym$quote = new cljs.core.Symbol(null,"quote","quote",1377916282,null); |
||||
cljs.core.cst$kw$f9 = new cljs.core.Keyword(null,"f9","f9",704633338); |
||||
cljs.core.cst$sym$root = new cljs.core.Symbol(null,"root","root",1191874074,null); |
||||
cljs.core.cst$sym$str = new cljs.core.Symbol(null,"str","str",-1564826950,null); |
||||
cljs.core.cst$kw$draw = new cljs.core.Keyword(null,"draw","draw",1358331674); |
||||
cljs.core.cst$sym$nodes = new cljs.core.Symbol(null,"nodes","nodes",-459054278,null); |
||||
cljs.core.cst$sym$seen = new cljs.core.Symbol(null,"seen","seen",1121531738,null); |
||||
cljs.core.cst$sym$hash_DASH_map = new cljs.core.Symbol(null,"hash-map","hash-map",-439030950,null); |
||||
cljs.core.cst$kw$erode = new cljs.core.Keyword(null,"erode","erode",1539530618); |
||||
cljs.core.cst$kw$centered = new cljs.core.Keyword(null,"centered","centered",-515171141); |
||||
cljs.core.cst$kw$add = new cljs.core.Keyword(null,"add","add",235287739); |
||||
cljs.core.cst$sym$catch = new cljs.core.Symbol(null,"catch","catch",-1616370245,null); |
||||
cljs.core.cst$kw$soft_DASH_light = new cljs.core.Keyword(null,"soft-light","soft-light",513207899); |
||||
cljs.core.cst$kw$child_DASH_ids = new cljs.core.Keyword(null,"child-ids","child-ids",-604525861); |
||||
cljs.core.cst$kw$alt_DASH_impl = new cljs.core.Keyword(null,"alt-impl","alt-impl",670969595); |
||||
cljs.core.cst$sym$ext_DASH_map_DASH_iter = new cljs.core.Symbol(null,"ext-map-iter","ext-map-iter",-1215982757,null); |
||||
cljs.core.cst$sym$tail = new cljs.core.Symbol(null,"tail","tail",494507963,null); |
||||
cljs.core.cst$sym$quil$core_SLASH_with_DASH_graphics = new cljs.core.Symbol("quil.core","with-graphics","quil.core/with-graphics",481277883,null); |
||||
cljs.core.cst$kw$subtract = new cljs.core.Keyword(null,"subtract","subtract",2136988635); |
||||
cljs.core.cst$kw$clamp = new cljs.core.Keyword(null,"clamp","clamp",1803814940); |
||||
cljs.core.cst$sym$record = new cljs.core.Symbol(null,"record","record",861424668,null); |
||||
cljs.core.cst$sym$mseq = new cljs.core.Symbol(null,"mseq","mseq",1602647196,null); |
||||
cljs.core.cst$sym$count = new cljs.core.Symbol(null,"count","count",-514511684,null); |
||||
cljs.core.cst$kw$f6 = new cljs.core.Keyword(null,"f6","f6",2103080604); |
||||
cljs.core.cst$kw$keywordize_DASH_keys = new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252); |
||||
cljs.core.cst$sym$off = new cljs.core.Symbol(null,"off","off",-2047994980,null); |
||||
cljs.core.cst$kw$clj = new cljs.core.Keyword(null,"clj","clj",-660495428); |
||||
cljs.core.cst$kw$f4 = new cljs.core.Keyword(null,"f4","f4",990968764); |
||||
cljs.core.cst$kw$triangle_DASH_strip = new cljs.core.Keyword(null,"triangle-strip","triangle-strip",221845500); |
||||
cljs.core.cst$kw$navigation_DASH_2d = new cljs.core.Keyword(null,"navigation-2d","navigation-2d",-1924168611); |
||||
cljs.core.cst$sym$stack = new cljs.core.Symbol(null,"stack","stack",847125597,null); |
||||
cljs.core.cst$sym$transient_DASH_map = new cljs.core.Symbol(null,"transient-map","transient-map",351764893,null); |
||||
cljs.core.cst$sym$len = new cljs.core.Symbol(null,"len","len",-1230778691,null); |
||||
cljs.core.cst$kw$cross = new cljs.core.Keyword(null,"cross","cross",194557789); |
||||
cljs.core.cst$sym$right = new cljs.core.Symbol(null,"right","right",1187949694,null); |
||||
cljs.core.cst$sym$throw = new cljs.core.Symbol(null,"throw","throw",595905694,null); |
||||
cljs.core.cst$kw$p3d = new cljs.core.Keyword(null,"p3d","p3d",-850380194); |
||||
cljs.core.cst$sym$fseq = new cljs.core.Symbol(null,"fseq","fseq",-1466412450,null); |
||||
cljs.core.cst$kw$a = new cljs.core.Keyword(null,"a","a",-2123407586); |
||||
cljs.core.cst$kw$triangles = new cljs.core.Keyword(null,"triangles","triangles",-1525417058); |
||||
cljs.core.cst$sym$$beginDraw = new cljs.core.Symbol(null,".beginDraw",".beginDraw",1110767550,null); |
||||
cljs.core.cst$kw$mouse_DASH_dragged = new cljs.core.Keyword(null,"mouse-dragged","mouse-dragged",-1220073441); |
||||
cljs.core.cst$sym$cljs$core_SLASH_aget = new cljs.core.Symbol("cljs.core","aget","cljs.core/aget",6345791,null); |
||||
cljs.core.cst$sym$tr__10254__auto__ = new cljs.core.Symbol(null,"tr__10254__auto__","tr__10254__auto__",1519210815,null); |
||||
cljs.core.cst$kw$left = new cljs.core.Keyword(null,"left","left",-399115937); |
||||
cljs.core.cst$kw$cljs$core_SLASH_not_DASH_found = new cljs.core.Keyword("cljs.core","not-found","cljs.core/not-found",-1572889185); |
||||
cljs.core.cst$sym$more = new cljs.core.Symbol(null,"more","more",-418290273,null); |
||||
cljs.core.cst$sym$def = new cljs.core.Symbol(null,"def","def",597100991,null); |
||||
cljs.core.cst$kw$invert = new cljs.core.Keyword(null,"invert","invert",1553577503); |
||||
cljs.core.cst$kw$text = new cljs.core.Keyword(null,"text","text",-1790561697); |
||||
cljs.core.cst$kw$enable_DASH_texture_DASH_mipmaps = new cljs.core.Keyword(null,"enable-texture-mipmaps","enable-texture-mipmaps",1241892671); |
||||
cljs.core.cst$kw$model = new cljs.core.Keyword(null,"model","model",331153215); |
||||
cljs.core.cst$sym$f = new cljs.core.Symbol(null,"f","f",43394975,null); |
||||
cljs.core.cst$sym$next_DASH_iter = new cljs.core.Symbol(null,"next-iter","next-iter",1526626239,null); |
||||
cljs.core.cst$sym$gr__10066__auto__ = new cljs.core.Symbol(null,"gr__10066__auto__","gr__10066__auto__",-614350849,null); |
@ -0,0 +1 @@ |
||||
["^ ","~:defs",["^ "],"~:cljs.spec/registry-ref",[],"~:cljs.spec/speced-vars",[]] |
@ -0,0 +1,3 @@ |
||||
// Compiled by ClojureScript 1.10.439 {}
|
||||
|
||||
//# sourceMappingURL=debug9D984AE.js.map
|
@ -0,0 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/cljs\/user\/debug9D984AE.js","sources":["debug.cljs"],"lineCount":3,"mappings":"","names":[]} |
@ -0,0 +1 @@ |
||||
{:output-wrapper false, :externs ["closure-js/externs"], :libs ["closure-js/libs"], :output-to "js/main.js", :output-dir "out", :main "viz.core", :preamble ["processing.min.js"], :optimizations :none, :pretty-print false} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,311 @@ |
||||
// Copyright 2017 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
goog.provide('goog.dom.asserts'); |
||||
|
||||
goog.require('goog.asserts'); |
||||
|
||||
/** |
||||
* @fileoverview Custom assertions to ensure that an element has the appropriate |
||||
* type. |
||||
* |
||||
* Using a goog.dom.safe wrapper on an object on the incorrect type (via an |
||||
* incorrect static type cast) can result in security bugs: For instance, |
||||
* g.d.s.setAnchorHref ensures that the URL assigned to the .href attribute |
||||
* satisfies the SafeUrl contract, i.e., is safe to dereference as a hyperlink. |
||||
* However, the value assigned to a HTMLLinkElement's .href property requires |
||||
* the stronger TrustedResourceUrl contract, since it can refer to a stylesheet. |
||||
* Thus, using g.d.s.setAnchorHref on an (incorrectly statically typed) object |
||||
* of type HTMLLinkElement can result in a security vulnerability. |
||||
* Assertions of the correct run-time type help prevent such incorrect use. |
||||
* |
||||
* In some cases, code using the DOM API is tested using mock objects (e.g., a |
||||
* plain object such as {'href': url} instead of an actual Location object). |
||||
* To allow such mocking, the assertions permit objects of types that are not |
||||
* relevant DOM API objects at all (for instance, not Element or Location). |
||||
* |
||||
* Note that instanceof checks don't work straightforwardly in older versions of |
||||
* IE, or across frames (see, |
||||
* http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object,
|
||||
* http://stackoverflow.com/questions/26248599/instanceof-htmlelement-in-iframe-is-not-element-or-object).
|
||||
* |
||||
* Hence, these assertions may pass vacuously in such scenarios. The resulting |
||||
* risk of security bugs is limited by the following factors: |
||||
* - A bug can only arise in scenarios involving incorrect static typing (the |
||||
* wrapper methods are statically typed to demand objects of the appropriate, |
||||
* precise type). |
||||
* - Typically, code is tested and exercised in multiple browsers. |
||||
*/ |
||||
|
||||
/** |
||||
* Asserts that a given object is a Location. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where DOM APIs might |
||||
* be mocked, also accepts any other type except for subtypes of {!Element}. |
||||
* This is to ensure that, for instance, HTMLLinkElement is not being used in |
||||
* place of a Location, since this could result in security bugs due to stronger |
||||
* contracts required for assignments to the href property of the latter. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!Location} |
||||
*/ |
||||
goog.dom.asserts.assertIsLocation = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.Location != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && (o instanceof win.Location || !(o instanceof win.Element)), |
||||
'Argument is not a Location (or a non-Element mock); got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!Location} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLAnchorElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not of type Location nor a subtype |
||||
* of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLAnchorElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLAnchorElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLAnchorElement != 'undefined' && |
||||
typeof win.Location != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLAnchorElement || |
||||
!((o instanceof win.Location) || (o instanceof win.Element))), |
||||
'Argument is not a HTMLAnchorElement (or a non-Element mock); ' + |
||||
'got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLAnchorElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLLinkElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLLinkElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLLinkElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLLinkElement != 'undefined' && |
||||
typeof win.Location != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLLinkElement || |
||||
!((o instanceof win.Location) || (o instanceof win.Element))), |
||||
'Argument is not a HTMLLinkElement (or a non-Element mock); got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLLinkElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLImageElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLImageElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLImageElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLImageElement != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLImageElement || |
||||
!(o instanceof win.Element)), |
||||
'Argument is not a HTMLImageElement (or a non-Element mock); got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLImageElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLEmbedElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLEmbedElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLEmbedElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLEmbedElement != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLEmbedElement || |
||||
!(o instanceof win.Element)), |
||||
'Argument is not a HTMLEmbedElement (or a non-Element mock); got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLEmbedElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLFrameElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLFrameElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLFrameElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLFrameElement != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLFrameElement || |
||||
!(o instanceof win.Element)), |
||||
'Argument is not a HTMLFrameElement (or a non-Element mock); got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLFrameElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLIFrameElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLIFrameElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLIFrameElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLIFrameElement != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLIFrameElement || |
||||
!(o instanceof win.Element)), |
||||
'Argument is not a HTMLIFrameElement (or a non-Element mock); ' + |
||||
'got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLIFrameElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLObjectElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLObjectElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLObjectElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLObjectElement != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLObjectElement || |
||||
!(o instanceof win.Element)), |
||||
'Argument is not a HTMLObjectElement (or a non-Element mock); ' + |
||||
'got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLObjectElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Asserts that a given object is a HTMLScriptElement. |
||||
* |
||||
* To permit this assertion to pass in the context of tests where elements might |
||||
* be mocked, also accepts objects that are not a subtype of Element. |
||||
* |
||||
* @param {?Object} o The object whose type to assert. |
||||
* @return {!HTMLScriptElement} |
||||
*/ |
||||
goog.dom.asserts.assertIsHTMLScriptElement = function(o) { |
||||
if (goog.asserts.ENABLE_ASSERTS) { |
||||
var win = goog.dom.asserts.getWindow_(o); |
||||
if (typeof win.HTMLScriptElement != 'undefined' && |
||||
typeof win.Element != 'undefined') { |
||||
goog.asserts.assert( |
||||
o && |
||||
(o instanceof win.HTMLScriptElement || |
||||
!(o instanceof win.Element)), |
||||
'Argument is not a HTMLScriptElement (or a non-Element mock); ' + |
||||
'got: %s', |
||||
goog.dom.asserts.debugStringForType_(o)); |
||||
} |
||||
} |
||||
return /** @type {!HTMLScriptElement} */ (o); |
||||
}; |
||||
|
||||
/** |
||||
* Returns a string representation of a value's type. |
||||
* |
||||
* @param {*} value An object, or primitive. |
||||
* @return {string} The best display name for the value. |
||||
* @private |
||||
*/ |
||||
goog.dom.asserts.debugStringForType_ = function(value) { |
||||
if (goog.isObject(value)) { |
||||
return value.constructor.displayName || value.constructor.name || |
||||
Object.prototype.toString.call(value); |
||||
} else { |
||||
return value === undefined ? 'undefined' : |
||||
value === null ? 'null' : typeof value; |
||||
} |
||||
}; |
||||
|
||||
/** |
||||
* Gets window of element. |
||||
* @param {?Object} o |
||||
* @return {!Window} |
||||
* @private |
||||
*/ |
||||
goog.dom.asserts.getWindow_ = function(o) { |
||||
var doc = o && o.ownerDocument; |
||||
var win = doc && /** @type {?Window} */ (doc.defaultView || doc.parentWindow); |
||||
return win || /** @type {!Window} */ (goog.global); |
||||
}; |
@ -0,0 +1,29 @@ |
||||
// Copyright 2017 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
goog.provide('goog.dom.HtmlElement'); |
||||
|
||||
|
||||
|
||||
/** |
||||
* This subclass of HTMLElement is used when only a HTMLElement is possible and |
||||
* not any of its subclasses. Normally, a type can refer to an instance of |
||||
* itself or an instance of any subtype. More concretely, if HTMLElement is used |
||||
* then the compiler must assume that it might still be e.g. HTMLScriptElement. |
||||
* With this, the type check knows that it couldn't be any special element. |
||||
* |
||||
* @constructor |
||||
* @extends {HTMLElement} |
||||
*/ |
||||
goog.dom.HtmlElement = function() {}; |
@ -0,0 +1,483 @@ |
||||
// Copyright 2008 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
/** |
||||
* @fileoverview Utilities for creating functions. Loosely inspired by the |
||||
* java classes: http://goo.gl/GM0Hmu and http://goo.gl/6k7nI8.
|
||||
* |
||||
* @author nicksantos@google.com (Nick Santos) |
||||
*/ |
||||
|
||||
|
||||
goog.provide('goog.functions'); |
||||
|
||||
|
||||
/** |
||||
* Creates a function that always returns the same value. |
||||
* @param {T} retValue The value to return. |
||||
* @return {function():T} The new function. |
||||
* @template T |
||||
*/ |
||||
goog.functions.constant = function(retValue) { |
||||
return function() { return retValue; }; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Always returns false. |
||||
* @type {function(...): boolean} |
||||
*/ |
||||
goog.functions.FALSE = goog.functions.constant(false); |
||||
|
||||
|
||||
/** |
||||
* Always returns true. |
||||
* @type {function(...): boolean} |
||||
*/ |
||||
goog.functions.TRUE = goog.functions.constant(true); |
||||
|
||||
|
||||
/** |
||||
* Always returns NULL. |
||||
* @type {function(...): null} |
||||
*/ |
||||
goog.functions.NULL = goog.functions.constant(null); |
||||
|
||||
|
||||
/** |
||||
* A simple function that returns the first argument of whatever is passed |
||||
* into it. |
||||
* @param {T=} opt_returnValue The single value that will be returned. |
||||
* @param {...*} var_args Optional trailing arguments. These are ignored. |
||||
* @return {T} The first argument passed in, or undefined if nothing was passed. |
||||
* @template T |
||||
*/ |
||||
goog.functions.identity = function(opt_returnValue, var_args) { |
||||
return opt_returnValue; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that always throws an error with the given message. |
||||
* @param {string} message The error message. |
||||
* @return {!Function} The error-throwing function. |
||||
*/ |
||||
goog.functions.error = function(message) { |
||||
return function() { throw Error(message); }; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that throws the given object. |
||||
* @param {*} err An object to be thrown. |
||||
* @return {!Function} The error-throwing function. |
||||
*/ |
||||
goog.functions.fail = function(err) { |
||||
return function() { throw err; }; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Given a function, create a function that keeps opt_numArgs arguments and |
||||
* silently discards all additional arguments. |
||||
* @param {Function} f The original function. |
||||
* @param {number=} opt_numArgs The number of arguments to keep. Defaults to 0. |
||||
* @return {!Function} A version of f that only keeps the first opt_numArgs |
||||
* arguments. |
||||
*/ |
||||
goog.functions.lock = function(f, opt_numArgs) { |
||||
opt_numArgs = opt_numArgs || 0; |
||||
return function() { |
||||
return f.apply(this, Array.prototype.slice.call(arguments, 0, opt_numArgs)); |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that returns its nth argument. |
||||
* @param {number} n The position of the return argument. |
||||
* @return {!Function} A new function. |
||||
*/ |
||||
goog.functions.nth = function(n) { |
||||
return function() { return arguments[n]; }; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Like goog.partial(), except that arguments are added after arguments to the |
||||
* returned function. |
||||
* |
||||
* Usage: |
||||
* function f(arg1, arg2, arg3, arg4) { ... } |
||||
* var g = goog.functions.partialRight(f, arg3, arg4); |
||||
* g(arg1, arg2); |
||||
* |
||||
* @param {!Function} fn A function to partially apply. |
||||
* @param {...*} var_args Additional arguments that are partially applied to fn |
||||
* at the end. |
||||
* @return {!Function} A partially-applied form of the function goog.partial() |
||||
* was invoked as a method of. |
||||
*/ |
||||
goog.functions.partialRight = function(fn, var_args) { |
||||
var rightArgs = Array.prototype.slice.call(arguments, 1); |
||||
return function() { |
||||
var newArgs = Array.prototype.slice.call(arguments); |
||||
newArgs.push.apply(newArgs, rightArgs); |
||||
return fn.apply(this, newArgs); |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Given a function, create a new function that swallows its return value |
||||
* and replaces it with a new one. |
||||
* @param {Function} f A function. |
||||
* @param {T} retValue A new return value. |
||||
* @return {function(...?):T} A new function. |
||||
* @template T |
||||
*/ |
||||
goog.functions.withReturnValue = function(f, retValue) { |
||||
return goog.functions.sequence(f, goog.functions.constant(retValue)); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that returns whether its argument equals the given value. |
||||
* |
||||
* Example: |
||||
* var key = goog.object.findKey(obj, goog.functions.equalTo('needle')); |
||||
* |
||||
* @param {*} value The value to compare to. |
||||
* @param {boolean=} opt_useLooseComparison Whether to use a loose (==) |
||||
* comparison rather than a strict (===) one. Defaults to false. |
||||
* @return {function(*):boolean} The new function. |
||||
*/ |
||||
goog.functions.equalTo = function(value, opt_useLooseComparison) { |
||||
return function(other) { |
||||
return opt_useLooseComparison ? (value == other) : (value === other); |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates the composition of the functions passed in. |
||||
* For example, (goog.functions.compose(f, g))(a) is equivalent to f(g(a)). |
||||
* @param {function(...?):T} fn The final function. |
||||
* @param {...Function} var_args A list of functions. |
||||
* @return {function(...?):T} The composition of all inputs. |
||||
* @template T |
||||
*/ |
||||
goog.functions.compose = function(fn, var_args) { |
||||
var functions = arguments; |
||||
var length = functions.length; |
||||
return function() { |
||||
var result; |
||||
if (length) { |
||||
result = functions[length - 1].apply(this, arguments); |
||||
} |
||||
|
||||
for (var i = length - 2; i >= 0; i--) { |
||||
result = functions[i].call(this, result); |
||||
} |
||||
return result; |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that calls the functions passed in in sequence, and |
||||
* returns the value of the last function. For example, |
||||
* (goog.functions.sequence(f, g))(x) is equivalent to f(x),g(x). |
||||
* @param {...Function} var_args A list of functions. |
||||
* @return {!Function} A function that calls all inputs in sequence. |
||||
*/ |
||||
goog.functions.sequence = function(var_args) { |
||||
var functions = arguments; |
||||
var length = functions.length; |
||||
return function() { |
||||
var result; |
||||
for (var i = 0; i < length; i++) { |
||||
result = functions[i].apply(this, arguments); |
||||
} |
||||
return result; |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that returns true if each of its components evaluates |
||||
* to true. The components are evaluated in order, and the evaluation will be |
||||
* short-circuited as soon as a function returns false. |
||||
* For example, (goog.functions.and(f, g))(x) is equivalent to f(x) && g(x). |
||||
* @param {...Function} var_args A list of functions. |
||||
* @return {function(...?):boolean} A function that ANDs its component |
||||
* functions. |
||||
*/ |
||||
goog.functions.and = function(var_args) { |
||||
var functions = arguments; |
||||
var length = functions.length; |
||||
return function() { |
||||
for (var i = 0; i < length; i++) { |
||||
if (!functions[i].apply(this, arguments)) { |
||||
return false; |
||||
} |
||||
} |
||||
return true; |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that returns true if any of its components evaluates |
||||
* to true. The components are evaluated in order, and the evaluation will be |
||||
* short-circuited as soon as a function returns true. |
||||
* For example, (goog.functions.or(f, g))(x) is equivalent to f(x) || g(x). |
||||
* @param {...Function} var_args A list of functions. |
||||
* @return {function(...?):boolean} A function that ORs its component |
||||
* functions. |
||||
*/ |
||||
goog.functions.or = function(var_args) { |
||||
var functions = arguments; |
||||
var length = functions.length; |
||||
return function() { |
||||
for (var i = 0; i < length; i++) { |
||||
if (functions[i].apply(this, arguments)) { |
||||
return true; |
||||
} |
||||
} |
||||
return false; |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Creates a function that returns the Boolean opposite of a provided function. |
||||
* For example, (goog.functions.not(f))(x) is equivalent to !f(x). |
||||
* @param {!Function} f The original function. |
||||
* @return {function(...?):boolean} A function that delegates to f and returns |
||||
* opposite. |
||||
*/ |
||||
goog.functions.not = function(f) { |
||||
return function() { return !f.apply(this, arguments); }; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Generic factory function to construct an object given the constructor |
||||
* and the arguments. Intended to be bound to create object factories. |
||||
* |
||||
* Example: |
||||
* |
||||
* var factory = goog.partial(goog.functions.create, Class); |
||||
* |
||||
* @param {function(new:T, ...)} constructor The constructor for the Object. |
||||
* @param {...*} var_args The arguments to be passed to the constructor. |
||||
* @return {T} A new instance of the class given in {@code constructor}. |
||||
* @template T |
||||
*/ |
||||
goog.functions.create = function(constructor, var_args) { |
||||
/** |
||||
* @constructor |
||||
* @final |
||||
*/ |
||||
var temp = function() {}; |
||||
temp.prototype = constructor.prototype; |
||||
|
||||
// obj will have constructor's prototype in its chain and
|
||||
// 'obj instanceof constructor' will be true.
|
||||
var obj = new temp(); |
||||
|
||||
// obj is initialized by constructor.
|
||||
// arguments is only array-like so lacks shift(), but can be used with
|
||||
// the Array prototype function.
|
||||
constructor.apply(obj, Array.prototype.slice.call(arguments, 1)); |
||||
return obj; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* @define {boolean} Whether the return value cache should be used. |
||||
* This should only be used to disable caches when testing. |
||||
*/ |
||||
goog.define('goog.functions.CACHE_RETURN_VALUE', true); |
||||
|
||||
|
||||
/** |
||||
* Gives a wrapper function that caches the return value of a parameterless |
||||
* function when first called. |
||||
* |
||||
* When called for the first time, the given function is called and its |
||||
* return value is cached (thus this is only appropriate for idempotent |
||||
* functions). Subsequent calls will return the cached return value. This |
||||
* allows the evaluation of expensive functions to be delayed until first used. |
||||
* |
||||
* To cache the return values of functions with parameters, see goog.memoize. |
||||
* |
||||
* @param {function():T} fn A function to lazily evaluate. |
||||
* @return {function():T} A wrapped version the function. |
||||
* @template T |
||||
*/ |
||||
goog.functions.cacheReturnValue = function(fn) { |
||||
var called = false; |
||||
var value; |
||||
|
||||
return function() { |
||||
if (!goog.functions.CACHE_RETURN_VALUE) { |
||||
return fn(); |
||||
} |
||||
|
||||
if (!called) { |
||||
value = fn(); |
||||
called = true; |
||||
} |
||||
|
||||
return value; |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Wraps a function to allow it to be called, at most, once. All |
||||
* additional calls are no-ops. |
||||
* |
||||
* This is particularly useful for initialization functions |
||||
* that should be called, at most, once. |
||||
* |
||||
* @param {function():*} f Function to call. |
||||
* @return {function():undefined} Wrapped function. |
||||
*/ |
||||
goog.functions.once = function(f) { |
||||
// Keep a reference to the function that we null out when we're done with
|
||||
// it -- that way, the function can be GC'd when we're done with it.
|
||||
var inner = f; |
||||
return function() { |
||||
if (inner) { |
||||
var tmp = inner; |
||||
inner = null; |
||||
tmp(); |
||||
} |
||||
}; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Wraps a function to allow it to be called, at most, once per interval |
||||
* (specified in milliseconds). If the wrapper function is called N times within |
||||
* that interval, only the Nth call will go through. |
||||
* |
||||
* This is particularly useful for batching up repeated actions where the |
||||
* last action should win. This can be used, for example, for refreshing an |
||||
* autocomplete pop-up every so often rather than updating with every keystroke, |
||||
* since the final text typed by the user is the one that should produce the |
||||
* final autocomplete results. For more stateful debouncing with support for |
||||
* pausing, resuming, and canceling debounced actions, use {@code |
||||
* goog.async.Debouncer}. |
||||
* |
||||
* @param {function(this:SCOPE, ...?)} f Function to call. |
||||
* @param {number} interval Interval over which to debounce. The function will |
||||
* only be called after the full interval has elapsed since the last call. |
||||
* @param {SCOPE=} opt_scope Object in whose scope to call the function. |
||||
* @return {function(...?): undefined} Wrapped function. |
||||
* @template SCOPE |
||||
*/ |
||||
goog.functions.debounce = function(f, interval, opt_scope) { |
||||
var timeout = 0; |
||||
return /** @type {function(...?)} */ (function(var_args) { |
||||
goog.global.clearTimeout(timeout); |
||||
var args = arguments; |
||||
timeout = goog.global.setTimeout(function() { |
||||
f.apply(opt_scope, args); |
||||
}, interval); |
||||
}); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Wraps a function to allow it to be called, at most, once per interval |
||||
* (specified in milliseconds). If the wrapper function is called N times in |
||||
* that interval, both the 1st and the Nth calls will go through. |
||||
* |
||||
* This is particularly useful for limiting repeated user requests where the |
||||
* the last action should win, but you also don't want to wait until the end of |
||||
* the interval before sending a request out, as it leads to a perception of |
||||
* slowness for the user. |
||||
* |
||||
* @param {function(this:SCOPE, ...?)} f Function to call. |
||||
* @param {number} interval Interval over which to throttle. The function can |
||||
* only be called once per interval. |
||||
* @param {SCOPE=} opt_scope Object in whose scope to call the function. |
||||
* @return {function(...?): undefined} Wrapped function. |
||||
* @template SCOPE |
||||
*/ |
||||
goog.functions.throttle = function(f, interval, opt_scope) { |
||||
var timeout = 0; |
||||
var shouldFire = false; |
||||
var args = []; |
||||
|
||||
var handleTimeout = function() { |
||||
timeout = 0; |
||||
if (shouldFire) { |
||||
shouldFire = false; |
||||
fire(); |
||||
} |
||||
}; |
||||
|
||||
var fire = function() { |
||||
timeout = goog.global.setTimeout(handleTimeout, interval); |
||||
f.apply(opt_scope, args); |
||||
}; |
||||
|
||||
return /** @type {function(...?)} */ (function(var_args) { |
||||
args = arguments; |
||||
if (!timeout) { |
||||
fire(); |
||||
} else { |
||||
shouldFire = true; |
||||
} |
||||
}); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Wraps a function to allow it to be called, at most, once per interval |
||||
* (specified in milliseconds). If the wrapper function is called N times within |
||||
* that interval, only the 1st call will go through. |
||||
* |
||||
* This is particularly useful for limiting repeated user requests where the |
||||
* first request is guaranteed to have all the data required to perform the |
||||
* final action, so there's no need to wait until the end of the interval before |
||||
* sending the request out. |
||||
* |
||||
* @param {function(this:SCOPE, ...?)} f Function to call. |
||||
* @param {number} interval Interval over which to rate-limit. The function will |
||||
* only be called once per interval, and ignored for the remainer of the |
||||
* interval. |
||||
* @param {SCOPE=} opt_scope Object in whose scope to call the function. |
||||
* @return {function(...?): undefined} Wrapped function. |
||||
* @template SCOPE |
||||
*/ |
||||
goog.functions.rateLimit = function(f, interval, opt_scope) { |
||||
var timeout = 0; |
||||
|
||||
var handleTimeout = function() { |
||||
timeout = 0; |
||||
}; |
||||
|
||||
return /** @type {function(...?)} */ (function(var_args) { |
||||
if (!timeout) { |
||||
timeout = goog.global.setTimeout(handleTimeout, interval); |
||||
f.apply(opt_scope, arguments); |
||||
} |
||||
}); |
||||
}; |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,458 @@ |
||||
// Copyright 2006 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
/** |
||||
* @fileoverview Datastructure: Hash Map. |
||||
* |
||||
* @author arv@google.com (Erik Arvidsson) |
||||
* |
||||
* This file contains an implementation of a Map structure. It implements a lot |
||||
* of the methods used in goog.structs so those functions work on hashes. This |
||||
* is best suited for complex key types. For simple keys such as numbers and |
||||
* strings consider using the lighter-weight utilities in goog.object. |
||||
*/ |
||||
|
||||
|
||||
goog.provide('goog.structs.Map'); |
||||
|
||||
goog.require('goog.iter.Iterator'); |
||||
goog.require('goog.iter.StopIteration'); |
||||
goog.require('goog.object'); |
||||
|
||||
|
||||
|
||||
/** |
||||
* Class for Hash Map datastructure. |
||||
* @param {*=} opt_map Map or Object to initialize the map with. |
||||
* @param {...*} var_args If 2 or more arguments are present then they |
||||
* will be used as key-value pairs. |
||||
* @constructor |
||||
* @template K, V |
||||
* @deprecated This type is misleading: use ES6 Map instead. |
||||
*/ |
||||
goog.structs.Map = function(opt_map, var_args) { |
||||
|
||||
/** |
||||
* Underlying JS object used to implement the map. |
||||
* @private {!Object} |
||||
*/ |
||||
this.map_ = {}; |
||||
|
||||
/** |
||||
* An array of keys. This is necessary for two reasons: |
||||
* 1. Iterating the keys using for (var key in this.map_) allocates an |
||||
* object for every key in IE which is really bad for IE6 GC perf. |
||||
* 2. Without a side data structure, we would need to escape all the keys |
||||
* as that would be the only way we could tell during iteration if the |
||||
* key was an internal key or a property of the object. |
||||
* |
||||
* This array can contain deleted keys so it's necessary to check the map |
||||
* as well to see if the key is still in the map (this doesn't require a |
||||
* memory allocation in IE). |
||||
* @private {!Array<string>} |
||||
*/ |
||||
this.keys_ = []; |
||||
|
||||
/** |
||||
* The number of key value pairs in the map. |
||||
* @private {number} |
||||
*/ |
||||
this.count_ = 0; |
||||
|
||||
/** |
||||
* Version used to detect changes while iterating. |
||||
* @private {number} |
||||
*/ |
||||
this.version_ = 0; |
||||
|
||||
var argLength = arguments.length; |
||||
|
||||
if (argLength > 1) { |
||||
if (argLength % 2) { |
||||
throw Error('Uneven number of arguments'); |
||||
} |
||||
for (var i = 0; i < argLength; i += 2) { |
||||
this.set(arguments[i], arguments[i + 1]); |
||||
} |
||||
} else if (opt_map) { |
||||
this.addAll(/** @type {Object} */ (opt_map)); |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* @return {number} The number of key-value pairs in the map. |
||||
*/ |
||||
goog.structs.Map.prototype.getCount = function() { |
||||
return this.count_; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns the values of the map. |
||||
* @return {!Array<V>} The values in the map. |
||||
*/ |
||||
goog.structs.Map.prototype.getValues = function() { |
||||
this.cleanupKeysArray_(); |
||||
|
||||
var rv = []; |
||||
for (var i = 0; i < this.keys_.length; i++) { |
||||
var key = this.keys_[i]; |
||||
rv.push(this.map_[key]); |
||||
} |
||||
return rv; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns the keys of the map. |
||||
* @return {!Array<string>} Array of string values. |
||||
*/ |
||||
goog.structs.Map.prototype.getKeys = function() { |
||||
this.cleanupKeysArray_(); |
||||
return /** @type {!Array<string>} */ (this.keys_.concat()); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Whether the map contains the given key. |
||||
* @param {*} key The key to check for. |
||||
* @return {boolean} Whether the map contains the key. |
||||
*/ |
||||
goog.structs.Map.prototype.containsKey = function(key) { |
||||
return goog.structs.Map.hasKey_(this.map_, key); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Whether the map contains the given value. This is O(n). |
||||
* @param {V} val The value to check for. |
||||
* @return {boolean} Whether the map contains the value. |
||||
*/ |
||||
goog.structs.Map.prototype.containsValue = function(val) { |
||||
for (var i = 0; i < this.keys_.length; i++) { |
||||
var key = this.keys_[i]; |
||||
if (goog.structs.Map.hasKey_(this.map_, key) && this.map_[key] == val) { |
||||
return true; |
||||
} |
||||
} |
||||
return false; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Whether this map is equal to the argument map. |
||||
* @param {goog.structs.Map} otherMap The map against which to test equality. |
||||
* @param {function(V, V): boolean=} opt_equalityFn Optional equality function |
||||
* to test equality of values. If not specified, this will test whether |
||||
* the values contained in each map are identical objects. |
||||
* @return {boolean} Whether the maps are equal. |
||||
*/ |
||||
goog.structs.Map.prototype.equals = function(otherMap, opt_equalityFn) { |
||||
if (this === otherMap) { |
||||
return true; |
||||
} |
||||
|
||||
if (this.count_ != otherMap.getCount()) { |
||||
return false; |
||||
} |
||||
|
||||
var equalityFn = opt_equalityFn || goog.structs.Map.defaultEquals; |
||||
|
||||
this.cleanupKeysArray_(); |
||||
for (var key, i = 0; key = this.keys_[i]; i++) { |
||||
if (!equalityFn(this.get(key), otherMap.get(key))) { |
||||
return false; |
||||
} |
||||
} |
||||
|
||||
return true; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Default equality test for values. |
||||
* @param {*} a The first value. |
||||
* @param {*} b The second value. |
||||
* @return {boolean} Whether a and b reference the same object. |
||||
*/ |
||||
goog.structs.Map.defaultEquals = function(a, b) { |
||||
return a === b; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* @return {boolean} Whether the map is empty. |
||||
*/ |
||||
goog.structs.Map.prototype.isEmpty = function() { |
||||
return this.count_ == 0; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Removes all key-value pairs from the map. |
||||
*/ |
||||
goog.structs.Map.prototype.clear = function() { |
||||
this.map_ = {}; |
||||
this.keys_.length = 0; |
||||
this.count_ = 0; |
||||
this.version_ = 0; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Removes a key-value pair based on the key. This is O(logN) amortized due to |
||||
* updating the keys array whenever the count becomes half the size of the keys |
||||
* in the keys array. |
||||
* @param {*} key The key to remove. |
||||
* @return {boolean} Whether object was removed. |
||||
*/ |
||||
goog.structs.Map.prototype.remove = function(key) { |
||||
if (goog.structs.Map.hasKey_(this.map_, key)) { |
||||
delete this.map_[key]; |
||||
this.count_--; |
||||
this.version_++; |
||||
|
||||
// clean up the keys array if the threshold is hit
|
||||
if (this.keys_.length > 2 * this.count_) { |
||||
this.cleanupKeysArray_(); |
||||
} |
||||
|
||||
return true; |
||||
} |
||||
return false; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Cleans up the temp keys array by removing entries that are no longer in the |
||||
* map. |
||||
* @private |
||||
*/ |
||||
goog.structs.Map.prototype.cleanupKeysArray_ = function() { |
||||
if (this.count_ != this.keys_.length) { |
||||
// First remove keys that are no longer in the map.
|
||||
var srcIndex = 0; |
||||
var destIndex = 0; |
||||
while (srcIndex < this.keys_.length) { |
||||
var key = this.keys_[srcIndex]; |
||||
if (goog.structs.Map.hasKey_(this.map_, key)) { |
||||
this.keys_[destIndex++] = key; |
||||
} |
||||
srcIndex++; |
||||
} |
||||
this.keys_.length = destIndex; |
||||
} |
||||
|
||||
if (this.count_ != this.keys_.length) { |
||||
// If the count still isn't correct, that means we have duplicates. This can
|
||||
// happen when the same key is added and removed multiple times. Now we have
|
||||
// to allocate one extra Object to remove the duplicates. This could have
|
||||
// been done in the first pass, but in the common case, we can avoid
|
||||
// allocating an extra object by only doing this when necessary.
|
||||
var seen = {}; |
||||
var srcIndex = 0; |
||||
var destIndex = 0; |
||||
while (srcIndex < this.keys_.length) { |
||||
var key = this.keys_[srcIndex]; |
||||
if (!(goog.structs.Map.hasKey_(seen, key))) { |
||||
this.keys_[destIndex++] = key; |
||||
seen[key] = 1; |
||||
} |
||||
srcIndex++; |
||||
} |
||||
this.keys_.length = destIndex; |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns the value for the given key. If the key is not found and the default |
||||
* value is not given this will return {@code undefined}. |
||||
* @param {*} key The key to get the value for. |
||||
* @param {DEFAULT=} opt_val The value to return if no item is found for the |
||||
* given key, defaults to undefined. |
||||
* @return {V|DEFAULT} The value for the given key. |
||||
* @template DEFAULT |
||||
*/ |
||||
goog.structs.Map.prototype.get = function(key, opt_val) { |
||||
if (goog.structs.Map.hasKey_(this.map_, key)) { |
||||
return this.map_[key]; |
||||
} |
||||
return opt_val; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Adds a key-value pair to the map. |
||||
* @param {*} key The key. |
||||
* @param {V} value The value to add. |
||||
* @return {*} Some subclasses return a value. |
||||
*/ |
||||
goog.structs.Map.prototype.set = function(key, value) { |
||||
if (!(goog.structs.Map.hasKey_(this.map_, key))) { |
||||
this.count_++; |
||||
// TODO(johnlenz): This class lies, it claims to return an array of string
|
||||
// keys, but instead returns the original object used.
|
||||
this.keys_.push(/** @type {?} */ (key)); |
||||
// Only change the version if we add a new key.
|
||||
this.version_++; |
||||
} |
||||
this.map_[key] = value; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Adds multiple key-value pairs from another goog.structs.Map or Object. |
||||
* @param {Object} map Object containing the data to add. |
||||
*/ |
||||
goog.structs.Map.prototype.addAll = function(map) { |
||||
var keys, values; |
||||
if (map instanceof goog.structs.Map) { |
||||
keys = map.getKeys(); |
||||
values = map.getValues(); |
||||
} else { |
||||
keys = goog.object.getKeys(map); |
||||
values = goog.object.getValues(map); |
||||
} |
||||
// we could use goog.array.forEach here but I don't want to introduce that
|
||||
// dependency just for this.
|
||||
for (var i = 0; i < keys.length; i++) { |
||||
this.set(keys[i], values[i]); |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Calls the given function on each entry in the map. |
||||
* @param {function(this:T, V, K, goog.structs.Map<K,V>)} f |
||||
* @param {T=} opt_obj The value of "this" inside f. |
||||
* @template T |
||||
*/ |
||||
goog.structs.Map.prototype.forEach = function(f, opt_obj) { |
||||
var keys = this.getKeys(); |
||||
for (var i = 0; i < keys.length; i++) { |
||||
var key = keys[i]; |
||||
var value = this.get(key); |
||||
f.call(opt_obj, value, key, this); |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Clones a map and returns a new map. |
||||
* @return {!goog.structs.Map} A new map with the same key-value pairs. |
||||
*/ |
||||
goog.structs.Map.prototype.clone = function() { |
||||
return new goog.structs.Map(this); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns a new map in which all the keys and values are interchanged |
||||
* (keys become values and values become keys). If multiple keys map to the |
||||
* same value, the chosen transposed value is implementation-dependent. |
||||
* |
||||
* It acts very similarly to {goog.object.transpose(Object)}. |
||||
* |
||||
* @return {!goog.structs.Map} The transposed map. |
||||
*/ |
||||
goog.structs.Map.prototype.transpose = function() { |
||||
var transposed = new goog.structs.Map(); |
||||
for (var i = 0; i < this.keys_.length; i++) { |
||||
var key = this.keys_[i]; |
||||
var value = this.map_[key]; |
||||
transposed.set(value, key); |
||||
} |
||||
|
||||
return transposed; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* @return {!Object} Object representation of the map. |
||||
*/ |
||||
goog.structs.Map.prototype.toObject = function() { |
||||
this.cleanupKeysArray_(); |
||||
var obj = {}; |
||||
for (var i = 0; i < this.keys_.length; i++) { |
||||
var key = this.keys_[i]; |
||||
obj[key] = this.map_[key]; |
||||
} |
||||
return obj; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns an iterator that iterates over the keys in the map. Removal of keys |
||||
* while iterating might have undesired side effects. |
||||
* @return {!goog.iter.Iterator} An iterator over the keys in the map. |
||||
*/ |
||||
goog.structs.Map.prototype.getKeyIterator = function() { |
||||
return this.__iterator__(true); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns an iterator that iterates over the values in the map. Removal of |
||||
* keys while iterating might have undesired side effects. |
||||
* @return {!goog.iter.Iterator} An iterator over the values in the map. |
||||
*/ |
||||
goog.structs.Map.prototype.getValueIterator = function() { |
||||
return this.__iterator__(false); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns an iterator that iterates over the values or the keys in the map. |
||||
* This throws an exception if the map was mutated since the iterator was |
||||
* created. |
||||
* @param {boolean=} opt_keys True to iterate over the keys. False to iterate |
||||
* over the values. The default value is false. |
||||
* @return {!goog.iter.Iterator} An iterator over the values or keys in the map. |
||||
*/ |
||||
goog.structs.Map.prototype.__iterator__ = function(opt_keys) { |
||||
// Clean up keys to minimize the risk of iterating over dead keys.
|
||||
this.cleanupKeysArray_(); |
||||
|
||||
var i = 0; |
||||
var version = this.version_; |
||||
var selfObj = this; |
||||
|
||||
var newIter = new goog.iter.Iterator; |
||||
newIter.next = function() { |
||||
if (version != selfObj.version_) { |
||||
throw Error('The map has changed since the iterator was created'); |
||||
} |
||||
if (i >= selfObj.keys_.length) { |
||||
throw goog.iter.StopIteration; |
||||
} |
||||
var key = selfObj.keys_[i++]; |
||||
return opt_keys ? key : selfObj.map_[key]; |
||||
}; |
||||
return newIter; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Safe way to test for hasOwnProperty. It even allows testing for |
||||
* 'hasOwnProperty'. |
||||
* @param {Object} obj The object to test for presence of the given key. |
||||
* @param {*} key The key to check for. |
||||
* @return {boolean} Whether the object has the key. |
||||
* @private |
||||
*/ |
||||
goog.structs.Map.hasKey_ = function(obj, key) { |
||||
return Object.prototype.hasOwnProperty.call(obj, key); |
||||
}; |
@ -0,0 +1,354 @@ |
||||
// Copyright 2006 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
/** |
||||
* @fileoverview Generics method for collection-like classes and objects. |
||||
* |
||||
* @author arv@google.com (Erik Arvidsson) |
||||
* |
||||
* This file contains functions to work with collections. It supports using |
||||
* Map, Set, Array and Object and other classes that implement collection-like |
||||
* methods. |
||||
*/ |
||||
|
||||
|
||||
goog.provide('goog.structs'); |
||||
|
||||
goog.require('goog.array'); |
||||
goog.require('goog.object'); |
||||
|
||||
|
||||
// We treat an object as a dictionary if it has getKeys or it is an object that
|
||||
// isn't arrayLike.
|
||||
|
||||
|
||||
/** |
||||
* Returns the number of values in the collection-like object. |
||||
* @param {Object} col The collection-like object. |
||||
* @return {number} The number of values in the collection-like object. |
||||
*/ |
||||
goog.structs.getCount = function(col) { |
||||
if (col.getCount && typeof col.getCount == 'function') { |
||||
return col.getCount(); |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return col.length; |
||||
} |
||||
return goog.object.getCount(col); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns the values of the collection-like object. |
||||
* @param {Object} col The collection-like object. |
||||
* @return {!Array<?>} The values in the collection-like object. |
||||
*/ |
||||
goog.structs.getValues = function(col) { |
||||
if (col.getValues && typeof col.getValues == 'function') { |
||||
return col.getValues(); |
||||
} |
||||
if (goog.isString(col)) { |
||||
return col.split(''); |
||||
} |
||||
if (goog.isArrayLike(col)) { |
||||
var rv = []; |
||||
var l = col.length; |
||||
for (var i = 0; i < l; i++) { |
||||
rv.push(col[i]); |
||||
} |
||||
return rv; |
||||
} |
||||
return goog.object.getValues(col); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Returns the keys of the collection. Some collections have no notion of |
||||
* keys/indexes and this function will return undefined in those cases. |
||||
* @param {Object} col The collection-like object. |
||||
* @return {!Array|undefined} The keys in the collection. |
||||
*/ |
||||
goog.structs.getKeys = function(col) { |
||||
if (col.getKeys && typeof col.getKeys == 'function') { |
||||
return col.getKeys(); |
||||
} |
||||
// if we have getValues but no getKeys we know this is a key-less collection
|
||||
if (col.getValues && typeof col.getValues == 'function') { |
||||
return undefined; |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
var rv = []; |
||||
var l = col.length; |
||||
for (var i = 0; i < l; i++) { |
||||
rv.push(i); |
||||
} |
||||
return rv; |
||||
} |
||||
|
||||
return goog.object.getKeys(col); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Whether the collection contains the given value. This is O(n) and uses |
||||
* equals (==) to test the existence. |
||||
* @param {Object} col The collection-like object. |
||||
* @param {*} val The value to check for. |
||||
* @return {boolean} True if the map contains the value. |
||||
*/ |
||||
goog.structs.contains = function(col, val) { |
||||
if (col.contains && typeof col.contains == 'function') { |
||||
return col.contains(val); |
||||
} |
||||
if (col.containsValue && typeof col.containsValue == 'function') { |
||||
return col.containsValue(val); |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return goog.array.contains(/** @type {!Array<?>} */ (col), val); |
||||
} |
||||
return goog.object.containsValue(col, val); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Whether the collection is empty. |
||||
* @param {Object} col The collection-like object. |
||||
* @return {boolean} True if empty. |
||||
*/ |
||||
goog.structs.isEmpty = function(col) { |
||||
if (col.isEmpty && typeof col.isEmpty == 'function') { |
||||
return col.isEmpty(); |
||||
} |
||||
|
||||
// We do not use goog.string.isEmptyOrWhitespace because here we treat the
|
||||
// string as
|
||||
// collection and as such even whitespace matters
|
||||
|
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return goog.array.isEmpty(/** @type {!Array<?>} */ (col)); |
||||
} |
||||
return goog.object.isEmpty(col); |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Removes all the elements from the collection. |
||||
* @param {Object} col The collection-like object. |
||||
*/ |
||||
goog.structs.clear = function(col) { |
||||
// NOTE(arv): This should not contain strings because strings are immutable
|
||||
if (col.clear && typeof col.clear == 'function') { |
||||
col.clear(); |
||||
} else if (goog.isArrayLike(col)) { |
||||
goog.array.clear(/** @type {IArrayLike<?>} */ (col)); |
||||
} else { |
||||
goog.object.clear(col); |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Calls a function for each value in a collection. The function takes |
||||
* three arguments; the value, the key and the collection. |
||||
* |
||||
* @param {S} col The collection-like object. |
||||
* @param {function(this:T,?,?,S):?} f The function to call for every value. |
||||
* This function takes |
||||
* 3 arguments (the value, the key or undefined if the collection has no |
||||
* notion of keys, and the collection) and the return value is irrelevant. |
||||
* @param {T=} opt_obj The object to be used as the value of 'this' |
||||
* within {@code f}. |
||||
* @template T,S |
||||
* @deprecated Use a more specific method, e.g. goog.array.forEach, |
||||
* goog.object.forEach, or for-of. |
||||
*/ |
||||
goog.structs.forEach = function(col, f, opt_obj) { |
||||
if (col.forEach && typeof col.forEach == 'function') { |
||||
col.forEach(f, opt_obj); |
||||
} else if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
goog.array.forEach(/** @type {!Array<?>} */ (col), f, opt_obj); |
||||
} else { |
||||
var keys = goog.structs.getKeys(col); |
||||
var values = goog.structs.getValues(col); |
||||
var l = values.length; |
||||
for (var i = 0; i < l; i++) { |
||||
f.call(/** @type {?} */ (opt_obj), values[i], keys && keys[i], col); |
||||
} |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Calls a function for every value in the collection. When a call returns true, |
||||
* adds the value to a new collection (Array is returned by default). |
||||
* |
||||
* @param {S} col The collection-like object. |
||||
* @param {function(this:T,?,?,S):boolean} f The function to call for every |
||||
* value. This function takes |
||||
* 3 arguments (the value, the key or undefined if the collection has no |
||||
* notion of keys, and the collection) and should return a Boolean. If the |
||||
* return value is true the value is added to the result collection. If it |
||||
* is false the value is not included. |
||||
* @param {T=} opt_obj The object to be used as the value of 'this' |
||||
* within {@code f}. |
||||
* @return {!Object|!Array<?>} A new collection where the passed values are |
||||
* present. If col is a key-less collection an array is returned. If col |
||||
* has keys and values a plain old JS object is returned. |
||||
* @template T,S |
||||
*/ |
||||
goog.structs.filter = function(col, f, opt_obj) { |
||||
if (typeof col.filter == 'function') { |
||||
return col.filter(f, opt_obj); |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return goog.array.filter(/** @type {!Array<?>} */ (col), f, opt_obj); |
||||
} |
||||
|
||||
var rv; |
||||
var keys = goog.structs.getKeys(col); |
||||
var values = goog.structs.getValues(col); |
||||
var l = values.length; |
||||
if (keys) { |
||||
rv = {}; |
||||
for (var i = 0; i < l; i++) { |
||||
if (f.call(/** @type {?} */ (opt_obj), values[i], keys[i], col)) { |
||||
rv[keys[i]] = values[i]; |
||||
} |
||||
} |
||||
} else { |
||||
// We should not use goog.array.filter here since we want to make sure that
|
||||
// the index is undefined as well as make sure that col is passed to the
|
||||
// function.
|
||||
rv = []; |
||||
for (var i = 0; i < l; i++) { |
||||
if (f.call(opt_obj, values[i], undefined, col)) { |
||||
rv.push(values[i]); |
||||
} |
||||
} |
||||
} |
||||
return rv; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Calls a function for every value in the collection and adds the result into a |
||||
* new collection (defaults to creating a new Array). |
||||
* |
||||
* @param {S} col The collection-like object. |
||||
* @param {function(this:T,?,?,S):V} f The function to call for every value. |
||||
* This function takes 3 arguments (the value, the key or undefined if the |
||||
* collection has no notion of keys, and the collection) and should return |
||||
* something. The result will be used as the value in the new collection. |
||||
* @param {T=} opt_obj The object to be used as the value of 'this' |
||||
* within {@code f}. |
||||
* @return {!Object<V>|!Array<V>} A new collection with the new values. If |
||||
* col is a key-less collection an array is returned. If col has keys and |
||||
* values a plain old JS object is returned. |
||||
* @template T,S,V |
||||
*/ |
||||
goog.structs.map = function(col, f, opt_obj) { |
||||
if (typeof col.map == 'function') { |
||||
return col.map(f, opt_obj); |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return goog.array.map(/** @type {!Array<?>} */ (col), f, opt_obj); |
||||
} |
||||
|
||||
var rv; |
||||
var keys = goog.structs.getKeys(col); |
||||
var values = goog.structs.getValues(col); |
||||
var l = values.length; |
||||
if (keys) { |
||||
rv = {}; |
||||
for (var i = 0; i < l; i++) { |
||||
rv[keys[i]] = f.call(/** @type {?} */ (opt_obj), values[i], keys[i], col); |
||||
} |
||||
} else { |
||||
// We should not use goog.array.map here since we want to make sure that
|
||||
// the index is undefined as well as make sure that col is passed to the
|
||||
// function.
|
||||
rv = []; |
||||
for (var i = 0; i < l; i++) { |
||||
rv[i] = f.call(/** @type {?} */ (opt_obj), values[i], undefined, col); |
||||
} |
||||
} |
||||
return rv; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Calls f for each value in a collection. If any call returns true this returns |
||||
* true (without checking the rest). If all returns false this returns false. |
||||
* |
||||
* @param {S} col The collection-like object. |
||||
* @param {function(this:T,?,?,S):boolean} f The function to call for every |
||||
* value. This function takes 3 arguments (the value, the key or undefined |
||||
* if the collection has no notion of keys, and the collection) and should |
||||
* return a boolean. |
||||
* @param {T=} opt_obj The object to be used as the value of 'this' |
||||
* within {@code f}. |
||||
* @return {boolean} True if any value passes the test. |
||||
* @template T,S |
||||
*/ |
||||
goog.structs.some = function(col, f, opt_obj) { |
||||
if (typeof col.some == 'function') { |
||||
return col.some(f, opt_obj); |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return goog.array.some(/** @type {!Array<?>} */ (col), f, opt_obj); |
||||
} |
||||
var keys = goog.structs.getKeys(col); |
||||
var values = goog.structs.getValues(col); |
||||
var l = values.length; |
||||
for (var i = 0; i < l; i++) { |
||||
if (f.call(/** @type {?} */ (opt_obj), values[i], keys && keys[i], col)) { |
||||
return true; |
||||
} |
||||
} |
||||
return false; |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Calls f for each value in a collection. If all calls return true this return |
||||
* true this returns true. If any returns false this returns false at this point |
||||
* and does not continue to check the remaining values. |
||||
* |
||||
* @param {S} col The collection-like object. |
||||
* @param {function(this:T,?,?,S):boolean} f The function to call for every |
||||
* value. This function takes 3 arguments (the value, the key or |
||||
* undefined if the collection has no notion of keys, and the collection) |
||||
* and should return a boolean. |
||||
* @param {T=} opt_obj The object to be used as the value of 'this' |
||||
* within {@code f}. |
||||
* @return {boolean} True if all key-value pairs pass the test. |
||||
* @template T,S |
||||
*/ |
||||
goog.structs.every = function(col, f, opt_obj) { |
||||
if (typeof col.every == 'function') { |
||||
return col.every(f, opt_obj); |
||||
} |
||||
if (goog.isArrayLike(col) || goog.isString(col)) { |
||||
return goog.array.every(/** @type {!Array<?>} */ (col), f, opt_obj); |
||||
} |
||||
var keys = goog.structs.getKeys(col); |
||||
var values = goog.structs.getValues(col); |
||||
var l = values.length; |
||||
for (var i = 0; i < l; i++) { |
||||
if (!f.call(/** @type {?} */ (opt_obj), values[i], keys && keys[i], col)) { |
||||
return false; |
||||
} |
||||
} |
||||
return true; |
||||
}; |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,12 @@ |
||||
;; Copyright (c) Rich Hickey. All rights reserved. |
||||
;; The use and distribution terms for this software are covered by the |
||||
;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) |
||||
;; which can be found in the file epl-v10.html at the root of this distribution. |
||||
;; By using this software in any fashion, you are agreeing to be bound by |
||||
;; the terms of this license. |
||||
;; You must not remove this notice, or any other, from this software. |
||||
|
||||
(ns process.env |
||||
"A shim namespace for the Node.js process library") |
||||
|
||||
(goog-define NODE_ENV "development") |
@ -0,0 +1 @@ |
||||
["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$process.env","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$NODE_ENV",["^ ","^5","~$process.env/NODE_ENV","~:file","out/process/env.cljs","~:line",12,"~:column",1,"~:end-line",12,"~:end-column",22,"~:tag","~$string","~:declared",true,"~:meta",["^ ","^>","/home/mediocregopher/src/viz/out/process/env.cljs","^?",12,"^@",14,"^A",12,"^B",22,"^C","^D","^E",true]]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:doc","A shim namespace for the Node.js process library"] |
@ -0,0 +1,8 @@ |
||||
// Compiled by ClojureScript 1.10.439 {}
|
||||
goog.provide('process.env'); |
||||
goog.require('cljs.core'); |
||||
|
||||
/** @define {string} */ |
||||
goog.define("process.env.NODE_ENV","development"); |
||||
|
||||
//# sourceMappingURL=env.js.map
|
@ -0,0 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/process\/env.js","sources":["env.cljs"],"lineCount":8,"mappings":";AAQA;;AAGA,AAAA,AAAA;AAAA;AAAA,AAAAA,YAAA,uBAAA","names":["goog\/define"]} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middleware.js","sources":["middleware.cljc"],"lineCount":118,"mappings":";AAAA;;;;;AAQA;;;;;2BAAA,3BAKEA,8DAICC;AATH,AAUE,OAACC,6CAAkBD;;AAgBrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAA,hCAKEE,wEAiECF;AAtEH,AAuEE,OAACG,uDAA4BH;;AAE\/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAA,hCAKEI,wEA8BCJ;AAnCH,AAoCE,OAACK,uDAA4BL","names":["quil.middleware\/fun-mode","options","quil.middlewares.fun-mode\/fun-mode","quil.middleware\/navigation-3d","quil.middlewares.navigation-3d\/navigation-3d","quil.middleware\/navigation-2d","quil.middlewares.navigation-2d\/navigation-2d"]} |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middleware.js","sources":["middleware.cljc"],"lineCount":118,"mappings":";AAAA;;;;;AAQA;;;;;2BAAA,3BAKEA,8DAIC;AATH,AAUE,OAACC,6CAAkBC;;AAgBrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAA,hCAKEC,wEAiEC;AAtEH,AAuEE,OAACC,uDAA4BF;;AAE\/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAA,hCAKEG,wEA8BC;AAnCH,AAoCE,OAACC,uDAA4BJ","names":["quil.middleware\/fun-mode","quil.middlewares.fun-mode\/fun-mode","options","quil.middleware\/navigation-3d","quil.middlewares.navigation-3d\/navigation-3d","quil.middleware\/navigation-2d","quil.middlewares.navigation-2d\/navigation-2d"]} |
@ -1 +0,0 @@ |
||||
{:rename-macros {}, :renames {}, :use-macros {}, :excludes #{}, :name quil.middlewares.deprecated-options, :imports nil, :requires nil, :uses nil, :defs {deprecated {:name quil.middlewares.deprecated-options/deprecated, :file "out/quil/middlewares/deprecated_options.cljc", :line 3, :column 1, :end-line 3, :end-column 26, :private true, :meta {:file "/home/mediocregopher/src/viz/out/quil/middlewares/deprecated_options.cljc", :line 3, :column 16, :end-line 3, :end-column 26, :private true}, :tag cljs.core/IMap}, check-features-vector {:protocol-inline nil, :meta {:file "/home/mediocregopher/src/viz/out/quil/middlewares/deprecated_options.cljc", :line 8, :column 8, :end-line 8, :end-column 29, :private true, :arglists (quote ([features]))}, :private true, :name quil.middlewares.deprecated-options/check-features-vector, :variadic false, :file "out/quil/middlewares/deprecated_options.cljc", :end-column 29, :method-params ([features]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 8, :end-line 8, :max-fixed-arity 1, :fn-var true, :arglists (quote ([features]))}, deprecated-options {:protocol-inline nil, :meta {:file "/home/mediocregopher/src/viz/out/quil/middlewares/deprecated_options.cljc", :line 15, :column 7, :end-line 15, :end-column 25, :arglists (quote ([options])), :doc "Checks if options map contains deprected options and removes them.\n Prints messages how to fix deprecated functions."}, :name quil.middlewares.deprecated-options/deprecated-options, :variadic false, :file "out/quil/middlewares/deprecated_options.cljc", :end-column 25, :method-params ([options]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 15, :end-line 15, :max-fixed-arity 1, :fn-var true, :arglists (quote ([options])), :doc "Checks if options map contains deprected options and removes them.\n Prints messages how to fix deprecated functions."}}, :require-macros nil, :cljs.analyzer/constants {:seen #{:features :decor :safe-draw-fn :no-safe-draw :target}, :order [:decor :target :safe-draw-fn :no-safe-draw :features]}, :doc nil} |
@ -0,0 +1 @@ |
||||
["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$quil.middlewares.deprecated-options","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$deprecated",["^ ","^5","~$quil.middlewares.deprecated-options/deprecated","~:file","out/quil/middlewares/deprecated_options.cljc","~:line",3,"~:column",1,"~:end-line",3,"~:end-column",26,"~:private",true,"~:meta",["^ ","^>","/home/mediocregopher/src/viz/out/quil/middlewares/deprecated_options.cljc","^?",3,"^@",16,"^A",3,"^B",26,"^C",true],"~:tag","~$cljs.core/IMap"],"~$check-features-vector",["^ ","~:protocol-inline",null,"^D",["^ ","^>","/home/mediocregopher/src/viz/out/quil/middlewares/deprecated_options.cljc","^?",8,"^@",8,"^A",8,"^B",29,"^C",true,"~:arglists",["~#list",["~$quote",["^J",[["~$features"]]]]]],"^C",true,"^5","~$quil.middlewares.deprecated-options/check-features-vector","^>","out/quil/middlewares/deprecated_options.cljc","^B",29,"~:method-params",["^J",[["^L"]]],"~:protocol-impl",null,"~:arglists-meta",["^J",[null,null]],"^@",1,"~:variadic?",false,"^?",8,"~:ret-tag","~$any","^A",8,"~:max-fixed-arity",1,"~:fn-var",true,"^I",["^J",["^K",["^J",[["^L"]]]]]],"~$deprecated-options",["^ ","^H",null,"^D",["^ ","^>","/home/mediocregopher/src/viz/out/quil/middlewares/deprecated_options.cljc","^?",15,"^@",7,"^A",15,"^B",25,"^I",["^J",["^K",["^J",[["~$options"]]]]],"~:doc","Checks if options map contains deprected options and removes them.\n Prints messages how to fix deprecated functions."],"^5","~$quil.middlewares.deprecated-options/deprecated-options","^>","out/quil/middlewares/deprecated_options.cljc","^B",25,"^N",["^J",[["^W"]]],"^O",null,"^P",["^J",[null,null]],"^@",1,"^Q",false,"^?",15,"^R","^S","^A",15,"^T",1,"^U",true,"^I",["^J",["^K",["^J",[["^W"]]]]],"^X","Checks if options map contains deprected options and removes them.\n Prints messages how to fix deprecated functions."]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:cljs.analyzer/constants",["^ ","~:seen",["^4",["~:features","~:decor","~:safe-draw-fn","~:no-safe-draw","~:target"]],"~:order",["^13","^16","^14","^15","^12"]],"^X",null] |
@ -1 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middlewares\/deprecated_options.js","sources":["deprecated_options.cljc"],"lineCount":95,"mappings":";AAAA;;AAEA,iDAAA,2CAAA,wDAAA,mFAAA,MAAA,sDAAA,wDAAA,mFAAA,MAAA,gDAAA,qEAAA,mFAAA,MAAA,loBAAeA;AAKf,4DAAA,5DAAOC,gIAAuBC;AAA9B,AACE,IAAMA,eAAS,AAACC,wBAAID;AAApB,AACE,oBAAM,uBAAA,vBAACA;AAAP,AACE,4BAAA,iEAAA,7FAACE;;AADH;;AAGA,6CAAA,tCAACC,yBAAKH;;AAEV;;;;yDAAA,zDAAMI,0HAGHC;AAHH,AAIE,IAAMA,cAAQ,sCAAA,mFAAA,zHAACC,8BAAUD,iKAAoBN;AAA7C,mHACO,iBAAAQ,qBAAA,tFAKA,AAAC+B,2BAAOC,9FACR,gCAAA,zBAACC;qFANDhC;AAAA,AAAA,YAAAC,kBAAA,KAAA;;AAAA,AAAA,IAAAD,cAAAA;;AAAA,AAAA,IAAAE,qBAAA,AAAAC,wBAAAH;AAAA,AAAA,GAAAE;AAAA,AAAA,IAAAF,cAAAE;AAAA,AAAA,GAAA,AAAAE,uCAAAJ;AAAA,IAAAK,kBAqwE0C,AAAA4B,gCAAAjC;IArwE1CM,qBAAA,AAAAC,0BAAAF;IAAAG,UAAA,AAAAC,iCAAAH;AAAA,AAAA,GAAA,AAAA,iBAAAI,UAAA;;AAAA,AAAA,GAAA,CAAAA,UAAAJ;AAAA,IAAAK,YAAA,AAAAC,yBAAAP,gBAAAK;WAAA,AAAAG,wBAAAF,UAAA,IAAA,7CAAOY;YAAP,AAAAV,wBAAAF,UAAA,IAAA,9CAAYa;AAAZ,AAAA,AAAA,AAAAV,iCAAAN,QACE,iBAAAiB,qBAA2B,AAACnC,yDAAWiC;AAAvC,AAAA,oBAAAE;AAAA,IAAAC,YAAAD;cAAA,AAAAZ,wBAAAa,UAAA,IAAA,hDAAUE;cAAV,AAAAf,wBAAAa,UAAA,IAAA,hDAAkBG;AAAlB,AACE,AAAI,iCAAA,qCAAA,tEAACnC,4BAAQ6B,kCAAkCK,YAAYC;;AAA3D;;AADF,0FAGGN,KAAKC;;;;AAJV,cAAA,CAAAd,UAAA;;;;AAAA;;;;;AAAA,OAAAK,+BAAA,AAAAC,0BAAAR,SAAA,AAAAS,8EAAA,AAAAC,+BAAAlB;;AAAA,OAAAe,+BAAA,AAAAC,0BAAAR,SAAA;;;AAAA,IAAAW,YAAA,AAAAC,0BAAApB;WAAA,AAAAa,wBAAAM,UAAA,IAAA,7CAAOI;YAAP,AAAAV,wBAAAM,UAAA,IAAA,9CAAYK;AAAZ,AAAA,OAAAH,yBACE,iBAAAI,qBAA2B,AAACnC,yDAAWiC;AAAvC,AAAA,oBAAAE;AAAA,IAAAE,YAAAF;cAAA,AAAAZ,wBAAAc,UAAA,IAAA,hDAAUC;cAAV,AAAAf,wBAAAc,UAAA,IAAA,hDAAkBE;AAAlB,AACE,AAAI,iCAAA,qCAAA,tEAACnC,4BAAQ6B,kCAAkCK,YAAYC;;AAA3D;;AADF,0FAGGN,KAAKC;;KAJV,AAAAP,8EAAA,AAAAK,yBAAAtB;;;AAAA;;;;;CAAA,KAAA;;;AAAA,AAAA,OAAAD,6BAAmBF","names":["quil.middlewares.deprecated-options\/deprecated","quil.middlewares.deprecated-options\/check-features-vector","features","cljs.core\/set","cljs.core\/println","cljs.core\/disj","quil.middlewares.deprecated-options\/deprecated-options","options","cljs.core\/update-in","iter__7602__auto__","s__8044","cljs.core\/LazySeq","temp__4657__auto__","cljs.core\/seq","cljs.core\/chunked-seq?","c__7600__auto__","size__7601__auto__","cljs.core\/count","b__8046","cljs.core\/chunk-buffer","i__8045","vec__8059","cljs.core\/-nth","cljs.core\/nth","cljs.core\/chunk-append","cljs.core\/chunk-cons","cljs.core\/chunk","iter__8043","cljs.core\/chunk-rest","vec__8065","cljs.core\/first","cljs.core\/cons","cljs.core\/rest","name","value","temp__4655__auto__","vec__8062","vec__8068","version","message","cljs.core\/remove","cljs.core\/nil?","cljs.core\/into","cljs.core\/chunk-first"]} |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middlewares\/deprecated_options.js","sources":["deprecated_options.cljc"],"lineCount":95,"mappings":";AAAA;;AAEA,iDAAA,2CAAA,wDAAA,mFAAA,MAAA,sDAAA,wDAAA,mFAAA,MAAA,gDAAA,qEAAA,mFAAA,MAAA,loBAAeA;AAKf,4DAAA,5DAAOC,gIAAuB;AAA9B,AACE,IAAM,eAAS,AAACC,wBAAIC;AAApB,AACE,oBAAM,uBAAA,vBAACA;AAAP,AACE,4BAAA,iEAAA,7FAACC;;AADH;;AAGA,6CAAA,tCAACC,yBAAKF;;AAEV;;;;yDAAA,zDAAMG,0HAGH;AAHH,AAIE,IAAM,cAAQ,sCAAA,mFAAA,zHAACC,8BAAUC,iKAAoBP;AAA7C,mHACO,iBAAA,qBAAA,tFAKA,AAACuC,2BAAOC,9FACR,gCAAA,zBAACC;qFAND;AAAA,AAAA,YAAAjC,kBAAA,KAAA;;AAAA,AAAA,IAAA,cAAAC;;AAAA,AAAA,IAAA,qBAAA,AAAAC,wBAAAD;AAAA,AAAA,GAAAE;AAAA,AAAA,IAAA,cAAAA;AAAA,AAAA,GAAA,AAAAC,uCAAAH;AAAA,IAAA,kBA61E0C,AAAAiC,gCAAAjC;IA71E1C,qBAAA,AAAAI,0BAAAC;IAAA,UAAA,AAAAC,iCAAAC;AAAA,AAAA,GAAA,AAAA,iBAAA,UAAA;;AAAA,AAAA,GAAA,CAAAC,UAAAD;AAAA,IAAA,YAAA,AAAAE,yBAAAJ,gBAAAG;WAAA,AAAAE,wBAAAC,UAAA,IAAA,7CAAO;YAAP,AAAAD,wBAAAC,UAAA,IAAA,9CAAY;AAAZ,AAAA,AAAA,AAAAC,iCAAAC,QACE,iBAAA,qBAA2B,AAACvB,yDAAWoC;AAAvC,AAAA,oBAAAH;AAAA,IAAA,YAAAA;cAAA,AAAAb,wBAAAc,UAAA,IAAA,hDAAU;cAAV,AAAAd,wBAAAc,UAAA,IAAA,hDAAkB;AAAlB,AACE,AAAI,iCAAA,qCAAA,tEAAC9B,4BAAQgC,kCAAkCC,YAAYC;;AAA3D;;AADF,0FAGGF,KAAKG;;;;AAJV,cAAA,CAAArB,UAAA;;;;AAAA;;;;;AAAA,OAAAM,+BAAA,AAAAC,0BAAAF,SAAA,AAAAG,8EAAA,AAAAC,+BAAAjB;;AAAA,OAAAc,+BAAA,AAAAC,0BAAAF,SAAA;;;AAAA,IAAA,YAAA,AAAAK,0BAAAlB;WAAA,AAAAU,wBAAAS,UAAA,IAAA,7CAAO;YAAP,AAAAT,wBAAAS,UAAA,IAAA,9CAAY;AAAZ,AAAA,OAAAC,yBACE,iBAAA,qBAA2B,AAAC9B,yDAAWoC;AAAvC,AAAA,oBAAAH;AAAA,IAAA,YAAAA;cAAA,AAAAb,wBAAAe,UAAA,IAAA,hDAAU;cAAV,AAAAf,wBAAAe,UAAA,IAAA,hDAAkB;AAAlB,AACE,AAAI,iCAAA,qCAAA,tEAAC\/B,4BAAQgC,kCAAkCC,YAAYC;;AAA3D;;AADF,0FAGGF,KAAKG;;KAJV,AAAAb,8EAAA,AAAAK,yBAAArB;;;AAAA;;;;;CAAA,KAAA;;;AAAA,AAAA,OAAAsB,6BAAmBxB","names":["quil.middlewares.deprecated-options\/deprecated","quil.middlewares.deprecated-options\/check-features-vector","cljs.core\/set","features","cljs.core\/println","cljs.core\/disj","quil.middlewares.deprecated-options\/deprecated-options","cljs.core\/update-in","options","cljs.core\/LazySeq","s__1107","cljs.core\/seq","temp__4657__auto__","cljs.core\/chunked-seq?","cljs.core\/count","c__4432__auto__","cljs.core\/chunk-buffer","size__4433__auto__","i__1108","cljs.core\/-nth","cljs.core\/nth","vec__1110","cljs.core\/chunk-append","b__1109","cljs.core\/chunk-cons","cljs.core\/chunk","iter__1106","cljs.core\/chunk-rest","cljs.core\/first","vec__1116","cljs.core\/cons","cljs.core\/rest","iter__4434__auto__","temp__4655__auto__","vec__1113","vec__1119","name","version","message","value","cljs.core\/remove","cljs.core\/nil?","cljs.core\/into","cljs.core\/chunk-first"]} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middlewares\/fun_mode.js","sources":["fun_mode.cljc"],"lineCount":155,"mappings":"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","names":["quil.middlewares.fun-mode\/wrap-setup","options","setup","cljs.core\/assoc","cljs.core\/reset!","quil.core\/state-atom","quil.middlewares.fun-mode\/wrap-draw-update","draw","_","update","cljs.core\/identity","quil-draw","cljs.core\/swap!","cljs.core\/=","quil.core\/frame-count","cljs.core\/dissoc","quil.middlewares.fun-mode\/mouse-event","quil.core\/mouse-x","quil.core\/mouse-y","quil.middlewares.fun-mode\/mouse-event-full","quil.core\/mouse-button","quil.middlewares.fun-mode\/key-event","quil.core\/key-as-keyword","quil.core\/key-code","quil.core\/raw-key","var_args","args9436","len__7927__auto__","i__7928__auto__","G__9438","quil.middlewares.fun-mode\/wrap-handler","js\/Error","handler-key","event-fn","temp__4655__auto__","handler","args__7934__auto__","argseq__7935__auto__","cljs.core\/IndexedSeq","quil.middlewares.fun-mode\/wrap-handlers","seq9443","G__9444","cljs.core\/first","cljs.core\/next","handlers","cljs.core\/reduce","cljs.core\/Keyword","cljs.core\/apply","quil.middlewares.fun-mode\/wrap-mouse-wheel","rotation","quil.middlewares.fun-mode\/fun-mode","quil.core\/pmouse-x","quil.core\/pmouse-y"]} |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middlewares\/fun_mode.js","sources":["fun_mode.cljc"],"lineCount":142,"mappings":"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\/C,\/CACAD,rDACAM,lDACA,kDAAA,qDAAA,yDAAA,qEAAA,iEAAA,mFAAA,oHAAA,mFAAA,mHAAA,mFAAA,yHAAA,mFAAA,uHAAA,mFAAA,0HAAA,mFAAA,z2CAAC6B,+bAAwDpB,sMAC3BA,uMAA6BG,+MAC3BH,wMAA6BG,0MAChC,l+CAO7B4B;AAP6B,AAAA,kDAAA,4EAAA,6EAAA,kFAAA,5LAAW,AAAC9B,6EAAc,AAACC,iFACd,AAACgC,iFAAiB,AAACC;WAJ7D,mFAAA,wEAK+B;AAAA,AAAA,kDAAA,4EAAA,6EAAA,kFAAA,iFAAA,7QAAW,AAAClC,6EAAc,AAACC,iFACd,AAACgC,iFAAiB,AAACC,uFAChB,AAAC\/B;WAPhD,mFAAA,+GAAA,oEAAA,mFAAA,2GAAA,9SAQ6BC,kQAAqCA","names":["quil.middlewares.fun-mode\/wrap-setup","options","cljs.core\/assoc","cljs.core\/reset!","quil.core\/state-atom","setup","quil.middlewares.fun-mode\/wrap-draw-update","cljs.core\/identity","cljs.core\/swap!","cljs.core\/=","quil.core\/frame-count","update","draw","cljs.core\/dissoc","quil-draw","quil.middlewares.fun-mode\/mouse-event","quil.core\/mouse-x","quil.core\/mouse-y","quil.middlewares.fun-mode\/mouse-event-full","quil.core\/mouse-button","quil.middlewares.fun-mode\/key-event","quil.core\/key-as-keyword","quil.core\/key-code","quil.core\/raw-key","G__2134","quil.middlewares.fun-mode\/wrap-handler","js\/Error","handler-key","temp__4655__auto__","event-fn","handler","i__4642__auto__","len__4641__auto__","args__4647__auto__","cljs.core\/IndexedSeq","quil.middlewares.fun-mode\/wrap-handlers","argseq__4648__auto__","cljs.core\/first","seq2136","cljs.core\/next","self__4628__auto__","G__2137","cljs.core\/reduce","cljs.core\/Keyword","cljs.core\/apply","handlers","quil.middlewares.fun-mode\/wrap-mouse-wheel","rotation","quil.middlewares.fun-mode\/fun-mode","quil.core\/pmouse-x","quil.core\/pmouse-y"]} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middlewares\/navigation_2d.js","sources":["navigation_2d.cljc"],"lineCount":116,"mappings":";AAAA;;;AAGA,AAAeA,8DACb,6CAAA,yFAAA,kGAAA;AAIF;;;6DAAA,7DAAOC,kIAEJC;AAFH,AAGE,oBAAU,AAAA,sGAAgBA;AAA1B;;AAAA,AACE,MACgB,KAAAC,MAAWH;;;AAE\/B;;;;kDAAA,lDAAOI;AAAP,AAAA,kDAAA,8DAAA,kKAAA,sDAAA,rIAIc,8BAAA,7BAAG,AAACC,kCACJ,+BAAA,9BAAG,AAACC;;AAGlB;;;;8CAAA,9CAAOC,oGAGJC,WAAWC;AAHd,AAIE,IAAMC,qIAAkBD,hCACA,8CAAA,mFAAA,8DAAA,\/LAACE,rFACI,AAACC,0BAAM,AAACR;AAFrC,AAGE,2DAAA,mFAAA,gFAAA,vNAACU,8BAAU,AAACN;kBAAZK;AAAA,AACY,+CAAAA,xCAACD,0BAAMF;;;;AAEvB;;;;+CAAA,\/CAAOK,sGAGJb,MAAMc;AAHT,AAIE,AAACf,qEAA4BC;;AAC7B,IAAMe,KAAG,CAAG,AAAA,kFAAMD,SAAO,AAAA,6EAAIA;IACvBE,KAAG,CAAG,AAAA,iFAAMF,SAAO,AAAA,8EAAIA;IACvBG,OAAK,AAAA,oFAAA,AAAA,sGAAIjB;AAFf,mEAGKA,9BACA,oCAAA,mFAAA,wEAAA,8DAAA,7PAACY,yQAAuCM,iBAAE,CAAGH,KAAGE,rUAChD,4UAAA,mFAAA,wEAAA,8DAAA,9hBAACL,0iBAAuCM,iBAAE,CAAGF,KAAGC;;AAEvD;;;6CAAA,7CAAOE,kGAEJnB,MAAMc;AAFT,AAGE,AAACf,qEAA4BC;;AAC7B,2CAAA,mFAAA,wEAAA,\/LAACY,8BAAUZ,+NAA6BoB,iBAAE,CAAA,MAAK,CAAA,OAAQN;;AAEzD;;;;sCAAA,tCAAOO,oFAGJC,UAAUtB;AAHb,AAIE,AAACD,qEAA4BC;;AAC7B,AAACuB;;AACD,IAAMC,cAAO,AAAA,sGAAgBxB;IACvBiB,YAAK,AAAA,oFAAOO;IACZC,WAAI,AAAA,4FAAWD;AAFrB,AAGE,AAACE,0BAAQT;;AACT,IAAAU,wBAAA,mFAAqB,CAAG,CAAA,8BAAA,7BAAG,AAACxB,oCAAWc,aAAM,AAACa,0BAAML,WAC\/B,CAAG,CAAA,+BAAA,9BAAG,AAACrB,qCAAYa,aAAM,AAACc,2BAAON;AADtD,AAAA,AAAAF;;AAAA,IAAA,AAAA,AAAAK,8BAAAD;;AAEE,AAACL,oBAAUtB;UAFb,AAAA,AAAA6B;;AAGF,OAACA;;AAEH;;;;+CAAA,\/CAAMG,sGAGHC;AAHH,AAIE,IACM1B,gBAAc,AAAA,sGAAgB0B;IAI9BX,YAAU,AAAA,mFAAOW,QAAQ;kBAAKjC;AAAL,AAAA;;;IACzBkC,qBAAmB,AAAA,sGAAgBD,QAAQ;kBAAKjC,MAAMmC;AAAX,AAAcnC;;;IACzDoC,mBAAiB,AAAA,iGAAcH,QAAQ;kBAAKjC,MAAMmC;AAAX,AAAcnC;;;IACrDqC,QAAM,AAAA,qFAAQJ,QAAQ;;AAAA,AAAA;;;AAR5B,AASE,yCAAA,oJAAA,gIAAA,tTAACK,0BAAML,+DAEE,AAACM,4BAAQlC,4CAAagC,MAAM9B,oEAE7B,AAACgC,4BAAQlB,oCAAKC,mFAEL;kBAAKtB,MAAMc;AAAX,AACE,OAACoB,6BAAmB,AAACrB,uDAAcb,MAAMc,OAAOA;;CAPnE,mEAQe;kBAAKd,MAAMc;AAAX,AACE,OAACsB,2BAAiB,AAACjB,qDAAYnB,MAAMc,OAAOA","names":["quil.middlewares.navigation-2d\/missing-navigation-key-error","quil.middlewares.navigation-2d\/assert-state-has-navigation","state","js\/Error","quil.middlewares.navigation-2d\/default-position","quil.core\/width","quil.core\/height","quil.middlewares.navigation-2d\/setup-2d-nav","user-setup","user-settings","initial-state","cljs.core\/select-keys","cljs.core\/merge","p1__9429#","cljs.core\/update-in","quil.middlewares.navigation-2d\/mouse-dragged","event","dx","dy","zoom","cljs.core\/+","quil.middlewares.navigation-2d\/mouse-wheel","cljs.core\/*","quil.middlewares.navigation-2d\/draw","user-draw","quil.core\/push-matrix","nav-2d","pos","quil.core\/scale","tr__9352__auto__","quil.core\/translate","quil.core\/pop-matrix","cljs.core\/first","cljs.core\/second","quil.middlewares.navigation-2d\/navigation-2d","options","user-mouse-dragged","_","user-mouse-wheel","setup","cljs.core\/assoc","cljs.core\/partial"]} |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/middlewares\/navigation_2d.js","sources":["navigation_2d.cljc"],"lineCount":116,"mappings":";AAAA;;;AAGA,AAAeA,8DACb,CAAA,4CAAA,qDAAA;AAIF;;;6DAAA,7DAAOC,kIAEJ;AAFH,AAGE,oBAAU,AAAA,sGAAgBC;AAA1B;;AAAA,AACE,MACgB,KAAAC,MAAWH;;;AAE\/B;;;;kDAAA,lDAAOI;AAAP,AAAA,kDAAA,8DAAA,kKAAA,sDAAA,rIAIc,8BAAA,7BAAG,AAACC,kCACJ,+BAAA,9BAAG,AAACC;;AAGlB;;;;8CAAA,9CAAOC,oGAGJ,WAAW;AAHd,AAIE,IAAM,qIAAkBC,hCACA,8CAAA,mFAAA,8DAAA,\/LAACC,rFACI,AAACC,0BAAM,AAACN;AAFrC,AAGE,2DAAA,mFAAA,gFAAA,vNAACO,8BAAU,AAACC;kBAAZ;AAAA,AACY,+CAAAC,xCAACH,0BAAMI;;;;AAEvB;;;;+CAAA,\/CAAOC,sGAGJ,MAAM;AAHT,AAIE,AAACd,qEAA4BC;;AAC7B,IAAM,KAAG,CAAG,AAAA,kFAAMc,SAAO,AAAA,6EAAIA;IACvB,KAAG,CAAG,AAAA,iFAAMA,SAAO,AAAA,8EAAIA;IACvB,OAAK,AAAA,oFAAA,AAAA,sGAAId;AAFf,mEAGKA,9BACA,oCAAA,mFAAA,wEAAA,8DAAA,7PAACS,yQAAuCM,iBAAE,CAAGC,KAAGC,rUAChD,4UAAA,mFAAA,wEAAA,8DAAA,9hBAACR,0iBAAuCM,iBAAE,CAAGG,KAAGD;;AAEvD;;;6CAAA,7CAAOE,kGAEJ,MAAM;AAFT,AAGE,AAACpB,qEAA4BC;;AAC7B,2CAAA,mFAAA,wEAAA,\/LAACS,8BAAUT,+NAA6BoB,iBAAE,CAAA,MAAK,CAAA,OAAQN;;AAEzD;;;;sCAAA,tCAAOO,oFAGJ,UAAU;AAHb,AAIE,AAACtB,qEAA4BC;;AAC7B,AAACsB;;AACD,IAAM,cAAO,AAAA,sGAAgBtB;IACvB,YAAK,AAAA,oFAAOuB;IACZ,WAAI,AAAA,4FAAWA;AAFrB,AAGE,AAACC,0BAAQP;;AACT,IAAA,wBAAA,mFAAqB,CAAG,CAAA,8BAAA,7BAAG,AAACd,oCAAWc,aAAM,AAACW,0BAAMC,WAC\/B,CAAG,CAAA,+BAAA,9BAAG,AAACzB,qCAAYa,aAAM,AAACa,2BAAOD;AADtD,AAAA,AAAAP;;AAAA,IAAA,AAAA,AAAAG,8BAAAC;;AAEE,AAACK,oBAAU\/B;UAFb,AAAA,AAAA2B;;AAGF,OAACA;;AAEH;;;;+CAAA,\/CAAMK,sGAGH;AAHH,AAIE,IACM,gBAAc,AAAA,sGAAgBC;IAI9B,YAAU,AAAA,mFAAOA,QAAQ;kBAAK;AAAL,AAAA;;;IACzB,qBAAmB,AAAA,sGAAgBA,QAAQ;kBAAK,MAAM;AAAX,AAAcjC;;;IACzD,mBAAiB,AAAA,iGAAciC,QAAQ;kBAAK,MAAM;AAAX,AAAcjC;;;IACrD,QAAM,AAAA,qFAAQiC,QAAQ;;AAAA,AAAA;;;AAR5B,AASE,yCAAA,oJAAA,gIAAA,tTAACC,0BAAMD,+DAEE,AAACE,4BAAQ9B,4CAAa+B,MAAM9B,oEAE7B,AAAC6B,4BAAQd,oCAAKU,mFAEL;kBAAK,MAAM;AAAX,AACE,OAACM,6BAAmB,AAACxB,uDAAcb,MAAMc,OAAOA;;CAPnE,mEAQe;kBAAK,MAAM;AAAX,AACE,OAACwB,2BAAiB,AAACnB,qDAAYnB,MAAMc,OAAOA","names":["quil.middlewares.navigation-2d\/missing-navigation-key-error","quil.middlewares.navigation-2d\/assert-state-has-navigation","state","js\/Error","quil.middlewares.navigation-2d\/default-position","quil.core\/width","quil.core\/height","quil.middlewares.navigation-2d\/setup-2d-nav","user-settings","cljs.core\/select-keys","cljs.core\/merge","cljs.core\/update-in","user-setup","p1__2126#","initial-state","quil.middlewares.navigation-2d\/mouse-dragged","event","cljs.core\/+","dx","zoom","dy","quil.middlewares.navigation-2d\/mouse-wheel","cljs.core\/*","quil.middlewares.navigation-2d\/draw","quil.core\/push-matrix","nav-2d","quil.core\/scale","quil.core\/translate","tr__2049__auto__","quil.core\/pop-matrix","cljs.core\/first","pos","cljs.core\/second","user-draw","quil.middlewares.navigation-2d\/navigation-2d","options","cljs.core\/assoc","cljs.core\/partial","setup","user-mouse-dragged","user-mouse-wheel"]} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/util.js","sources":["util.cljc"],"lineCount":183,"mappings":"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","names":["quil.util\/no-fn","quil.util\/resolve-constant-key","key","mappings","cljs.core\/get","cljs.core\/some","cljs.core\/vals","js\/Error","cljs.core\/vec","cljs.core\/sort","cljs.core\/keys","quil.util\/length-of-longest-key","m","or__6814__auto__","cljs.core\/last","p1__8123#","cljs.core\/map","var_args","args8124","len__7927__auto__","i__7928__auto__","G__8126","quil.util\/gen-padding","len","pad","s","quil.util\/print-definition-list","definitions","longest-key","cljs.core\/dorun","p__8135","vec__8136","cljs.core\/nth","k","v","diff","cljs.core\/println","quil.util\/clj-compilation?","quil.util\/prepare-quil-name","const-keyword","clojure.string\/replace","clojure.string\/upper-case","cljs.core\/name","quil.util\/prepare-quil-clj-constants","constants","cljs.core\/into","p1__8139#","cljs.core\/PersistentVector","cljs.core\/symbol","quil.util\/prepare-quil-cljs-constants","p1__8140#","cljs.core\/sequence","cljs.core\/seq","cljs.core\/concat","cljs.core\/-conj","x__7656__auto__","quil.util\/make-quil-constant-map","target","const-map-name","const-map","cljs.core\/=","args__7934__auto__","argseq__7935__auto__","cljs.core\/IndexedSeq","quil.util\/generate-quil-constants","&form","&env","seq8142","G__8143","cljs.core\/first","cljs.core\/next","G__8144","G__8145","opts","p1__8141#","cljs.core\/second","cljs.core\/partition","cljs.core\/List"]} |
||||
{"version":3,"file":"\/home\/mediocregopher\/src\/viz\/out\/quil\/util.js","sources":["util.cljc"],"lineCount":168,"mappings":"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","names":["quil.util\/no-fn","quil.util\/resolve-constant-key","cljs.core\/get","mappings","key","cljs.core\/some","cljs.core\/vals","js\/Error","cljs.core\/vec","cljs.core\/sort","cljs.core\/keys","quil.util\/length-of-longest-key","or__4047__auto__","cljs.core\/last","cljs.core\/map","p1__1156#","m","G__1158","quil.util\/gen-padding","len","pad","s","quil.util\/print-definition-list","definitions","cljs.core\/dorun","p__1160","cljs.core\/nth","vec__1161","k","longest-key","diff","cljs.core\/println","v","quil.util\/clj-compilation?","quil.util\/prepare-quil-name","clojure.string\/replace","clojure.string\/upper-case","cljs.core\/name","const-keyword","quil.util\/prepare-quil-clj-constants","cljs.core\/into","cljs.core\/PersistentVector","p1__1164#","cljs.core\/symbol","constants","quil.util\/prepare-quil-cljs-constants","p1__1165#","cljs.core\/sequence","cljs.core\/seq","cljs.core\/concat","cljs.core\/List","quil.util\/make-quil-constant-map","const-map-name","cljs.core\/=","target","const-map","i__4642__auto__","len__4641__auto__","args__4647__auto__","cljs.core\/IndexedSeq","quil.util\/generate-quil-constants","argseq__4648__auto__","cljs.core\/first","seq1167","cljs.core\/next","self__4628__auto__","G__1168","G__1169","G__1170","ret__4684__auto__","p1__1166#","cljs.core\/second","cljs.core\/partition","opts"]} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue