UNPKG

storybook-coconut

Version:

Storybook for coconut: View coconut.vdom components in isolation with hot reloading.

1,504 lines (1,503 loc) 41.1 kB
// Generated by Haxe 4.0.5 (function ($hx_exports, $global) { "use strict"; var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; function $extend(from, fields) { var proto = Object.create(from); for (var name in fields) proto[name] = fields[name]; if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; return proto; } var HxOverrides = function() { }; HxOverrides.__name__ = true; HxOverrides.iter = function(a) { return { cur : 0, arr : a, hasNext : function() { return this.cur < this.arr.length; }, next : function() { return this.arr[this.cur++]; }}; }; Math.__name__ = true; var coconut_diffing_Differ = function(applicator) { this.applicator = applicator; }; coconut_diffing_Differ.__name__ = true; coconut_diffing_Differ.prototype = { _renderAll: function(nodes,later,parent,$with) { var byType = new haxe_ds_ObjectMap(); var childList = []; var process = null; process = function(nodes1) { if(nodes1 != null) { var _g = 0; while(_g < nodes1.length) { var n = nodes1[_g]; ++_g; if(n != null) { switch(n._hx_index) { case 0: var n1 = n.n; childList.push(coconut_diffing_RNode.RNative(null,n1,null)); break; case 1: var w = n.w; $with.widgetInst(w); var ref = [null]; var key = coconut_diffing__$Key_Key_$Impl_$.ofObject(w); var type = coconut_diffing_Differ.WIDGET_INST; var n2 = coconut_diffing_RNode.RWidget(w,null); var registry; var _g1 = byType.h[type.__id__]; if(_g1 == null) { var v = new coconut_diffing_TypeRegistry(); byType.set(type,v); registry = v; } else { var v1 = _g1; registry = v1; } if(ref[0] != null) { var process1 = (function(ref1,r) { return function() { ref1[0](r[0]); }; })(ref,[w]); later(process1); } if(key == null) { registry.put(n2); } else { var k = key; registry.set(k,n2); } childList.push(n2); break; case 2: var nodes2 = n.nodes; process(nodes2); break; case 3: var children = n.children; var attr = n.a; var key1 = n.key; var ref2 = n.ref; var type1 = n.type; var real = $with.native(type1,key1,attr,children); var ref3 = [ref2]; var n3 = coconut_diffing_RNode.RNative(attr,real,ref2); var registry1; var _g2 = byType.h[type1.__id__]; if(_g2 == null) { var v2 = new coconut_diffing_TypeRegistry(); byType.set(type1,v2); registry1 = v2; } else { var v3 = _g2; registry1 = v3; } if(ref3[0] != null) { var process2 = (function(ref4,r1) { return function() { ref4[0](r1[0]); }; })(ref3,[real]); later(process2); } if(key1 == null) { registry1.put(n3); } else { var k1 = key1; registry1.set(k1,n3); } childList.push(n3); break; case 4: var a = n.a; var key2 = n.key; var ref5 = n.ref; var type2 = n.type; var w1 = $with.widget(type2,key2,a); var ref6 = [ref5]; var n4 = coconut_diffing_RNode.RWidget(w1,ref5); var registry2; var _g3 = byType.h[type2.__id__]; if(_g3 == null) { var v4 = new coconut_diffing_TypeRegistry(); byType.set(type2,v4); registry2 = v4; } else { var v5 = _g3; registry2 = v5; } if(ref6[0] != null) { var process3 = (function(ref7,r2) { return function() { ref7[0](r2[0]); }; })(ref6,[w1]); later(process3); } if(key2 == null) { registry2.put(n4); } else { var k2 = key2; registry2.set(k2,n4); } childList.push(n4); break; } } } } }; process(nodes); return new coconut_diffing_Rendered(byType,childList); } ,renderAll: function(nodes,parent,later) { var _gthis = this; return this._renderAll(nodes,later,parent,{ native : function(type,_,attr,children) { return _gthis.createNative(type,attr,children,parent,later); }, widget : function(t,_1,a) { return _gthis.createWidget(t,a,parent,later); }, widgetInst : function(w) { _gthis.mountInstance(w,parent,later); }}); } ,mountInstance: function(w,parent,later) { if(w._coco_alive) { tink_core_TypedError.withData(null,"Same widget instance mounted twice",w,{ fileName : "coconut/diffing/Differ.hx", lineNumber : 93, className : "coconut.diffing.Differ", methodName : "mountInstance"}); } w._coco_initialize(this,parent,later); } ,createWidget: function(t,a,parent,later) { var ret = t.create(a); ret._coco_initialize(this,parent,later); return ret; } ,updateAll: function(before,nodes,parent,later) { var _gthis = this; var _g = 0; var _g1 = before.childList; while(_g < _g1.length) { var node = _g1[_g]; ++_g; switch(node._hx_index) { case 0: var _g11 = node.r; var _g2 = node.a; var f = node.ref; if(f != null) { f(null); } break; case 1: var _g3 = node.w; var f1 = node.ref; if(f1 != null) { f1(null); } break; default: } } var previous = function(t,key) { var _g21 = before.byType.h[t.__id__]; if(_g21 == null) { return null; } else { var v = _g21; if(key == null) { return v.pull(); } else { return v.get(key); } } }; var native = function(type,key1,nuAttr,nuChildren) { var _g22 = previous(type,key1); if(_g22 == null) { return _gthis.createNative(type,nuAttr,nuChildren,parent,later); } else if(_g22._hx_index == 0) { var _g5 = _g22.ref; var r = _g22.r; var oldAttr = _g22.a; type.update(r,oldAttr,nuAttr); _gthis._render(nuChildren,r,parent,later); return r; } else { throw new js__$Boot_HaxeError("assert"); } }; var after = this._renderAll(nodes,later,parent,{ native : native, widget : function(type1,key2,attr) { var _g23 = previous(type1,key2); if(_g23 == null) { return _gthis.createWidget(type1,attr,parent,later); } else if(_g23._hx_index == 1) { var _g4 = _g23.ref; var w = _g23.w; type1.update(attr,w); return w; } else { throw new js__$Boot_HaxeError("assert"); } }, widgetInst : function(w1) { var _g24 = previous(coconut_diffing_Differ.WIDGET_INST,coconut_diffing__$Key_Key_$Impl_$.ofObject(w1)); if(_g24 == null) { _gthis.mountInstance(w1,parent,later); } else if(_g24._hx_index == 1) { var _g41 = _g24.ref; var w2 = _g24.w; } else { throw new js__$Boot_HaxeError("assert"); } return; }}); var registry = before.byType.iterator(); while(registry.hasNext()) { var registry1 = registry.next(); var f2 = $bind(this,this.destroyRender); if(registry1.keyed != null) { var _this = registry1.keyed; var v1 = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(v1.hasNext()) { var v2 = v1.next(); f2(v2); } } if(registry1.unkeyed != null) { var _g6 = 0; var _g12 = registry1.unkeyed; while(_g6 < _g12.length) { var v3 = _g12[_g6]; ++_g6; f2(v3); } } } return after; } ,destroyRender: function(r) { switch(r._hx_index) { case 0: var _g2 = r.ref; var _g = r.a; var real = r.r; var _g1 = this.applicator.unsetLastRender(real); if(_g1 != null) { var _g11 = _g1.byType; var children = _g1.childList; var _g3 = 0; while(_g3 < children.length) { var c = children[_g3]; ++_g3; this.destroyRender(c); } } break; case 1: var _g4 = r.ref; var w = r.w; w._coco_teardown(); break; } } ,_render: function(nodes,target,parent,later) { var lastCount = 0; var ret; var _g = this.applicator.getLastRender(target); if(_g == null) { ret = this.renderAll(nodes,parent,later); } else { var v = _g; lastCount = v.justCount(); ret = this.updateAll(v,nodes,parent,later); } this.applicator.setLastRender(target,ret); this.setChildren(later,lastCount,this.applicator.traverseChildren(target),ret); return ret; } ,setChildren: function(later,previousCount,cursor,next,log) { var insertedCount = 0; var currentCount = 0; next.each(later,function(r) { currentCount += 1; if(r == cursor.current()) { cursor.step(); } else if(cursor.insert(r)) { insertedCount += 1; } }); var deleteCount = previousCount + insertedCount - currentCount; if(log) { console.log("coconut/diffing/Differ.hx:197:",deleteCount); } var _g = 0; var _g1 = deleteCount; while(_g < _g1) { var i = _g++; if(!cursor.delete()) { break; } } } ,render: function(virtual,target) { var _gthis = this; this.run(function(later) { return _gthis._render(virtual,target,null,later); }); } ,run: function(f) { var after = []; var ret = f(function(later) { if(later != null) { after.push(later); } }); var _g = 0; while(_g < after.length) { var f1 = after[_g]; ++_g; f1(); } return ret; } ,createNative: function(type,attr,children,parent,later) { var ret = type.create(attr); if(children != null) { this._render(children,ret,parent,later); } return ret; } ,__class__: coconut_diffing_Differ }; var coconut_diffing__$Key_Key_$Impl_$ = {}; coconut_diffing__$Key_Key_$Impl_$.__name__ = true; coconut_diffing__$Key_Key_$Impl_$.ofFloat = function(f) { if(f == null) { return "null"; } else { return "" + f; } }; coconut_diffing__$Key_Key_$Impl_$.ofObject = function(o) { return coconut_diffing__$Key_Key_$Impl_$.ofFloat(o.__id__ || (o.__id__ = $global.$haxeUID++)); }; var coconut_diffing_RNode = $hxEnums["coconut.diffing.RNode"] = { __ename__ : true, __constructs__ : ["RNative","RWidget"] ,RNative: ($_=function(a,r,ref) { return {_hx_index:0,a:a,r:r,ref:ref,__enum__:"coconut.diffing.RNode",toString:$estr}; },$_.__params__ = ["a","r","ref"],$_) ,RWidget: ($_=function(w,ref) { return {_hx_index:1,w:w,ref:ref,__enum__:"coconut.diffing.RNode",toString:$estr}; },$_.__params__ = ["w","ref"],$_) }; var coconut_diffing_Rendered = function(byType,childList) { this.byType = byType; this.childList = childList; }; coconut_diffing_Rendered.__name__ = true; coconut_diffing_Rendered.prototype = { justCount: function() { var ret = 0; var _g = 0; var _g1 = this.childList; while(_g < _g1.length) { var c = _g1[_g]; ++_g; var ret1; switch(c._hx_index) { case 0: var _g3 = c.ref; var _g2 = c.r; var _g11 = c.a; ret1 = 1; break; case 1: var _g5 = c.ref; var w = c.w; ret1 = w._coco_lastRender.justCount(); break; } ret += ret1; } return ret; } ,each: function(later,f) { var rec = null; rec = function(children) { var _g = 0; while(_g < children.length) { var c = children[_g]; ++_g; switch(c._hx_index) { case 0: var _g2 = c.ref; var _g1 = c.a; var r = c.r; f(r); break; case 1: var _g4 = c.ref; var w = c.w; rec(w._coco_getRender(later).childList); break; } } }; rec(this.childList); } ,__class__: coconut_diffing_Rendered }; var coconut_diffing_TypeRegistry = function() { }; coconut_diffing_TypeRegistry.__name__ = true; coconut_diffing_TypeRegistry.prototype = { get: function(key) { if(this.keyed == null) { return null; } else { var this1 = this.keyed; var _this = this1; var _g = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(_g == null) { return null; } else { var v = _g; this1.remove(key); return v; } } } ,set: function(key,value) { if(this.keyed == null) { var this1 = new haxe_ds_StringMap(); this.keyed = this1; } var _this = this.keyed; if(__map_reserved[key] != null) { _this.setReserved(key,value); } else { _this.h[key] = value; } } ,put: function(v) { if(this.unkeyed == null) { this.unkeyed = []; } this.unkeyed.push(v); } ,pull: function() { if(this.unkeyed == null) { return null; } else { return this.unkeyed.shift(); } } ,__class__: coconut_diffing_TypeRegistry }; var coconut_diffing_VNodeData = $hxEnums["coconut.diffing.VNodeData"] = { __ename__ : true, __constructs__ : ["VNativeInst","VWidgetInst","VMany","VNative","VWidget"] ,VNativeInst: ($_=function(n) { return {_hx_index:0,n:n,__enum__:"coconut.diffing.VNodeData",toString:$estr}; },$_.__params__ = ["n"],$_) ,VWidgetInst: ($_=function(w) { return {_hx_index:1,w:w,__enum__:"coconut.diffing.VNodeData",toString:$estr}; },$_.__params__ = ["w"],$_) ,VMany: ($_=function(nodes) { return {_hx_index:2,nodes:nodes,__enum__:"coconut.diffing.VNodeData",toString:$estr}; },$_.__params__ = ["nodes"],$_) ,VNative: ($_=function(type,ref,key,a,children) { return {_hx_index:3,type:type,ref:ref,key:key,a:a,children:children,__enum__:"coconut.diffing.VNodeData",toString:$estr}; },$_.__params__ = ["type","ref","key","a","children"],$_) ,VWidget: ($_=function(type,ref,key,a) { return {_hx_index:4,type:type,ref:ref,key:key,a:a,__enum__:"coconut.diffing.VNodeData",toString:$estr}; },$_.__params__ = ["type","ref","key","a"],$_) }; var haxe_ds_List = function() { this.length = 0; }; haxe_ds_List.__name__ = true; haxe_ds_List.prototype = { push: function(item) { var x = new haxe_ds__$List_ListNode(item,this.h); this.h = x; if(this.q == null) { this.q = x; } this.length++; } ,first: function() { if(this.h == null) { return null; } else { return this.h.item; } } ,pop: function() { if(this.h == null) { return null; } var x = this.h.item; this.h = this.h.next; if(this.h == null) { this.q = null; } this.length--; return x; } ,__class__: haxe_ds_List }; var tink_state__$Observable_Observable_$Impl_$ = {}; tink_state__$Observable_Observable_$Impl_$.__name__ = true; tink_state__$Observable_Observable_$Impl_$.get_value = function(this1) { return tink_state__$Observable_Observable_$Impl_$.measure(this1).a; }; tink_state__$Observable_Observable_$Impl_$.map = function(this1,f) { return tink_state__$Observable_Observable_$Impl_$.create(function() { var m = tink_state__$Observable_Observable_$Impl_$.measure(this1); var this2 = new tink_core_MPair(f(m.a),m.b); var this3 = this2; return this3; }); }; tink_state__$Observable_Observable_$Impl_$.measure = function(this1) { var before = tink_state__$Observable_Observable_$Impl_$.stack.first(); tink_state__$Observable_Observable_$Impl_$.stack.push(this1); var p = this1.poll(); if(js_Boot.getClass(before) == tink_state__$Observable_AutoObservable) { before.subscribe(this1,p); } tink_state__$Observable_Observable_$Impl_$.stack.pop(); return p; }; tink_state__$Observable_Observable_$Impl_$.schedule = function(f) { var _g = tink_state__$Observable_Observable_$Impl_$.scheduled; if(_g == null) { f(); } else { var v = _g; v.push(f); tink_state__$Observable_Observable_$Impl_$.scheduleUpdate(); } }; tink_state__$Observable_Observable_$Impl_$.scheduleUpdate = function() { if(!tink_state__$Observable_Observable_$Impl_$.isScheduled) { tink_state__$Observable_Observable_$Impl_$.isScheduled = true; if(tink_state__$Observable_Observable_$Impl_$.hasRAF) { window.requestAnimationFrame(function(_) { tink_state__$Observable_Observable_$Impl_$.scheduledRun(); }); } else { tink_core__$Callback_Callback_$Impl_$.defer(tink_state__$Observable_Observable_$Impl_$.scheduledRun); } } }; tink_state__$Observable_Observable_$Impl_$.scheduledRun = function() { tink_state__$Observable_Observable_$Impl_$.isScheduled = false; tink_state__$Observable_Observable_$Impl_$.updatePending(); }; tink_state__$Observable_Observable_$Impl_$.updatePending = function(maxSeconds) { if(maxSeconds == null) { maxSeconds = .01; } var end = Date.now() / 1000 + maxSeconds; while(true) { var old = tink_state__$Observable_Observable_$Impl_$.scheduled; tink_state__$Observable_Observable_$Impl_$.scheduled = []; var _g = 0; while(_g < old.length) { var o = old[_g]; ++_g; o(); } if(!(tink_state__$Observable_Observable_$Impl_$.scheduled.length > 0 && Date.now() / 1000 < end)) { break; } } if(tink_state__$Observable_Observable_$Impl_$.scheduled.length > 0) { tink_state__$Observable_Observable_$Impl_$.scheduleUpdate(); return true; } else { return false; } }; tink_state__$Observable_Observable_$Impl_$.create = function(f,comparator) { return new tink_state__$Observable_SimpleObservable(f,comparator); }; tink_state__$Observable_Observable_$Impl_$.untracked = function(f) { tink_state__$Observable_Observable_$Impl_$.stack.push(null); return tink_core_TypedError.tryFinally(f,($_=tink_state__$Observable_Observable_$Impl_$.stack,$bind($_,$_.pop))); }; var tink_core__$Callback_Callback_$Impl_$ = {}; tink_core__$Callback_Callback_$Impl_$.__name__ = true; tink_core__$Callback_Callback_$Impl_$.invoke = function(this1,data) { if(tink_core__$Callback_Callback_$Impl_$.depth < 500) { tink_core__$Callback_Callback_$Impl_$.depth++; this1(data); tink_core__$Callback_Callback_$Impl_$.depth--; } else { var _e = this1; var f = function(data1) { tink_core__$Callback_Callback_$Impl_$.invoke(_e,data1); }; var data2 = data; tink_core__$Callback_Callback_$Impl_$.defer(function() { f(data2); }); } }; tink_core__$Callback_Callback_$Impl_$.fromNiladic = function(f) { return f; }; tink_core__$Callback_Callback_$Impl_$.defer = function(f) { haxe_Timer.delay(f,0); }; var haxe_Timer = function(time_ms) { var me = this; this.id = setInterval(function() { me.run(); },time_ms); }; haxe_Timer.__name__ = true; haxe_Timer.delay = function(f,time_ms) { var t = new haxe_Timer(time_ms); t.run = function() { t.stop(); f(); }; return t; }; haxe_Timer.prototype = { stop: function() { if(this.id == null) { return; } clearInterval(this.id); this.id = null; } ,run: function() { } ,__class__: haxe_Timer }; var coconut_diffing_Widget = function(rendered,mounted,updated,unmounting) { this._coco_pendingChildren = []; this._coco_alive = false; this._coco_invalid = false; var _gthis = this; this._coco_vStructure = tink_state__$Observable_Observable_$Impl_$.map(rendered,tink_state__$Observable_Transform_$Impl_$.plain(function(r) { if(r == null) { return _gthis._coco_differ.applicator.placeholder(_gthis); } else if(r._hx_index == 2) { var nodes = r.nodes; var isEmpty = null; isEmpty = function(nodes1) { var _g = 0; while(_g < nodes1.length) { var n = nodes1[_g]; ++_g; if(n != null) { if(n._hx_index == 2) { var nodes2 = n.nodes; if(!isEmpty(nodes2)) { return false; } } else { return false; } } } return true; }; if(isEmpty(nodes)) { return _gthis._coco_differ.applicator.placeholder(_gthis); } else { return r; } } else { return r; } })); this._coco_viewMounted = mounted; this._coco_viewUpdated = updated; this._coco_viewUnmounting = unmounting; }; coconut_diffing_Widget.__name__ = true; coconut_diffing_Widget.prototype = { _coco_getRender: function(later) { if(this._coco_invalid) { this._coco_invalid = false; var nuSnapshot = this._coco_poll().a; this._coco_arm(); if(nuSnapshot != this._coco_lastSnapshot) { this._coco_lastSnapshot = nuSnapshot; this._coco_lastRender = this._coco_differ.updateAll(this._coco_lastRender,[nuSnapshot],this,later); later(this._coco_viewUpdated); } } return this._coco_lastRender; } ,_coco_poll: function() { var _e = this._coco_vStructure; return tink_state__$Observable_Observable_$Impl_$.untracked(function() { return tink_state__$Observable_Observable_$Impl_$.measure(_e); }); } ,_coco_scheduleChild: function(child) { this._coco_pendingChildren.push(child); this._coco_invalidate(); } ,_coco_invalidate: function() { if(!this._coco_invalid) { this._coco_invalid = true; if(this._coco_parent != null) { this._coco_parent._coco_scheduleChild(this); } else { var f = $bind(this,this._coco_update); var later = null; var tmp = function() { f(later); }; coconut_diffing_Widget.defer(tmp); } } } ,_coco_updateChildren: function(later) { if(this._coco_pendingChildren.length > 0) { var _g = 0; var _g1 = this._coco_pendingChildren.splice(0,this._coco_pendingChildren.length); while(_g < _g1.length) { var c = _g1[_g]; ++_g; c._coco_update(later); } } } ,_coco_performUpdate: function(later) { var previous = this._coco_lastRender; var next = this._coco_getRender(later); this._coco_updateChildren(later); if(previous == next) { return; } var previousCount = 0; var first = null; previous.each(later,function(r) { if(first == null) { first = r; } previousCount += 1; }); var tmp = this._coco_differ; var tmp1 = this._coco_differ.applicator.traverseSiblings(first); tmp.setChildren(later,previousCount,tmp1,next); } ,_coco_update: function(later) { if(this._coco_invalid && this._coco_alive) { if(later == null) { this._coco_differ.run($bind(this,this._coco_performUpdate)); } else { this._coco_performUpdate(later); } } } ,_coco_arm: function() { var this1 = this._coco_link; if(this1 != null) { this1.cancel(); } this._coco_link = this._coco_poll().b.handle(tink_core__$Callback_Callback_$Impl_$.fromNiladic($bind(this,this._coco_invalidate))); } ,_coco_teardown: function() { this._coco_alive = false; this._coco_viewUnmounting(); var _g = 0; var _g1 = this._coco_lastRender.childList; while(_g < _g1.length) { var c = _g1[_g]; ++_g; var _this = this._coco_differ; switch(c._hx_index) { case 0: var _g2 = c.ref; var _g3 = c.a; var real = c.r; var _g4 = _this.applicator.unsetLastRender(real); if(_g4 != null) { var _g11 = _g4.byType; var children = _g4.childList; var _g5 = 0; while(_g5 < children.length) { var c1 = children[_g5]; ++_g5; _this.destroyRender(c1); } } break; case 1: var _g41 = c.ref; var w = c.w; w._coco_teardown(); break; } } } ,_coco_initialize: function(differ,parent,later) { this._coco_alive = true; this._coco_parent = parent; this._coco_differ = differ; this._coco_lastRender = differ.renderAll([this._coco_lastSnapshot = this._coco_poll().a],this,later); this._coco_arm(); later(this._coco_viewMounted); } ,__class__: coconut_diffing_Widget }; var coconut_vdom__$Html_Text = function() { }; coconut_vdom__$Html_Text.__name__ = true; coconut_vdom__$Html_Text.prototype = { create: function(text) { return window.document.createTextNode(text); } ,update: function(target,old,nu) { if(nu != old) { target.textContent = nu; } } ,__class__: coconut_vdom__$Html_Text }; var coconut_vdom__$Renderer_DomBackend = function() { }; coconut_vdom__$Renderer_DomBackend.__name__ = true; coconut_vdom__$Renderer_DomBackend.prototype = { unsetLastRender: function(target) { var ret = target._coco_; delete(target["_coco_"]); return ret; } ,traverseSiblings: function(first) { return new coconut_vdom__$Renderer_DomCursor(first.parentNode,first); } ,traverseChildren: function(parent) { return new coconut_vdom__$Renderer_DomCursor(parent,parent.firstChild); } ,placeholder: function(target) { return coconut_vdom__$Renderer_DomBackend.PLACEHOLDER; } ,getLastRender: function(target) { return target._coco_; } ,setLastRender: function(target,r) { target._coco_ = r; } ,__class__: coconut_vdom__$Renderer_DomBackend }; var coconut_vdom_Renderer = function() { }; coconut_vdom_Renderer.__name__ = true; coconut_vdom_Renderer.mountInto = $hx_exports["mount"] = function(target,vdom) { coconut_vdom_Renderer.DIFFER.render([vdom],target); }; var coconut_vdom__$Renderer_DomCursor = function(parent,cur) { this.parent = parent; this.cur = cur; }; coconut_vdom__$Renderer_DomCursor.__name__ = true; coconut_vdom__$Renderer_DomCursor.prototype = { insert: function(real) { var inserted = real.parentNode != this.parent; this.parent.insertBefore(real,this.cur); return inserted; } ,step: function() { var _g = this.cur; if(_g == null) { return false; } else { var v = _g; return (this.cur = v.nextSibling) != null; } } ,'delete': function() { var _g = this.cur; if(_g == null) { return false; } else { var v = _g; this.cur = v.nextSibling; this.parent.removeChild(v); return true; } } ,current: function() { return this.cur; } ,__class__: coconut_vdom__$Renderer_DomCursor }; var haxe_StackItem = $hxEnums["haxe.StackItem"] = { __ename__ : true, __constructs__ : ["CFunction","Module","FilePos","Method","LocalFunction"] ,CFunction: {_hx_index:0,__enum__:"haxe.StackItem",toString:$estr} ,Module: ($_=function(m) { return {_hx_index:1,m:m,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["m"],$_) ,FilePos: ($_=function(s,file,line,column) { return {_hx_index:2,s:s,file:file,line:line,column:column,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["s","file","line","column"],$_) ,Method: ($_=function(classname,method) { return {_hx_index:3,classname:classname,method:method,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["classname","method"],$_) ,LocalFunction: ($_=function(v) { return {_hx_index:4,v:v,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["v"],$_) }; var haxe_ds__$List_ListNode = function(item,next) { this.item = item; this.next = next; }; haxe_ds__$List_ListNode.__name__ = true; haxe_ds__$List_ListNode.prototype = { __class__: haxe_ds__$List_ListNode }; var haxe_ds_ObjectMap = function() { this.h = { __keys__ : { }}; }; haxe_ds_ObjectMap.__name__ = true; haxe_ds_ObjectMap.prototype = { set: function(key,value) { var id = key.__id__; if(id == null) { id = (key.__id__ = $global.$haxeUID++); } this.h[id] = value; this.h.__keys__[id] = key; } ,keys: function() { var a = []; for( var key in this.h.__keys__ ) { if(this.h.hasOwnProperty(key)) { a.push(this.h.__keys__[key]); } } return HxOverrides.iter(a); } ,iterator: function() { return { ref : this.h, it : this.keys(), hasNext : function() { return this.it.hasNext(); }, next : function() { var i = this.it.next(); return this.ref[i.__id__]; }}; } ,__class__: haxe_ds_ObjectMap }; var haxe_ds_Option = $hxEnums["haxe.ds.Option"] = { __ename__ : true, __constructs__ : ["Some","None"] ,Some: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe.ds.Option",toString:$estr}; },$_.__params__ = ["v"],$_) ,None: {_hx_index:1,__enum__:"haxe.ds.Option",toString:$estr} }; var haxe_ds__$StringMap_StringMapIterator = function(map,keys) { this.map = map; this.keys = keys; this.index = 0; this.count = keys.length; }; haxe_ds__$StringMap_StringMapIterator.__name__ = true; haxe_ds__$StringMap_StringMapIterator.prototype = { hasNext: function() { return this.index < this.count; } ,next: function() { var _this = this.map; var key = this.keys[this.index++]; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,__class__: haxe_ds__$StringMap_StringMapIterator }; var haxe_ds_StringMap = function() { this.h = { }; }; haxe_ds_StringMap.__name__ = true; haxe_ds_StringMap.prototype = { setReserved: function(key,value) { if(this.rh == null) { this.rh = { }; } this.rh["$" + key] = value; } ,getReserved: function(key) { if(this.rh == null) { return null; } else { return this.rh["$" + key]; } } ,remove: function(key) { if(__map_reserved[key] != null) { key = "$" + key; if(this.rh == null || !this.rh.hasOwnProperty(key)) { return false; } delete(this.rh[key]); return true; } else { if(!this.h.hasOwnProperty(key)) { return false; } delete(this.h[key]); return true; } } ,arrayKeys: function() { var out = []; for( var key in this.h ) { if(this.h.hasOwnProperty(key)) { out.push(key); } } if(this.rh != null) { for( var key in this.rh ) { if(key.charCodeAt(0) == 36) { out.push(key.substr(1)); } } } return out; } ,__class__: haxe_ds_StringMap }; var js__$Boot_HaxeError = function(val) { Error.call(this); this.val = val; if(Error.captureStackTrace) { Error.captureStackTrace(this,js__$Boot_HaxeError); } }; js__$Boot_HaxeError.__name__ = true; js__$Boot_HaxeError.__super__ = Error; js__$Boot_HaxeError.prototype = $extend(Error.prototype,{ __class__: js__$Boot_HaxeError }); var js_Boot = function() { }; js_Boot.__name__ = true; js_Boot.getClass = function(o) { if(o == null) { return null; } else if(((o) instanceof Array)) { return Array; } else { var cl = o.__class__; if(cl != null) { return cl; } var name = js_Boot.__nativeClassName(o); if(name != null) { return js_Boot.__resolveNativeClass(name); } return null; } }; js_Boot.__string_rec = function(o,s) { if(o == null) { return "null"; } if(s.length >= 5) { return "<...>"; } var t = typeof(o); if(t == "function" && (o.__name__ || o.__ename__)) { t = "object"; } switch(t) { case "function": return "<function>"; case "object": if(o.__enum__) { var e = $hxEnums[o.__enum__]; var n = e.__constructs__[o._hx_index]; var con = e[n]; if(con.__params__) { s = s + "\t"; return n + "(" + ((function($this) { var $r; var _g = []; { var _g1 = 0; var _g2 = con.__params__; while(true) { if(!(_g1 < _g2.length)) { break; } var p = _g2[_g1]; _g1 = _g1 + 1; _g.push(js_Boot.__string_rec(o[p],s)); } } $r = _g; return $r; }(this))).join(",") + ")"; } else { return n; } } if(((o) instanceof Array)) { var str = "["; s += "\t"; var _g3 = 0; var _g11 = o.length; while(_g3 < _g11) { var i = _g3++; str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); } str += "]"; return str; } var tostr; try { tostr = o.toString; } catch( e1 ) { var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1; return "???"; } if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { var s2 = o.toString(); if(s2 != "[object Object]") { return s2; } } var str1 = "{\n"; s += "\t"; var hasp = o.hasOwnProperty != null; var k = null; for( k in o ) { if(hasp && !o.hasOwnProperty(k)) { continue; } if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { continue; } if(str1.length != 2) { str1 += ", \n"; } str1 += s + k + " : " + js_Boot.__string_rec(o[k],s); } s = s.substring(1); str1 += "\n" + s + "}"; return str1; case "string": return o; default: return String(o); } }; js_Boot.__nativeClassName = function(o) { var name = js_Boot.__toStr.call(o).slice(8,-1); if(name == "Object" || name == "Function" || name == "Math" || name == "JSON") { return null; } return name; }; js_Boot.__resolveNativeClass = function(name) { return $global[name]; }; var tink_core__$Callback_ListCell = function(cb,list) { if(cb == null) { throw new js__$Boot_HaxeError("callback expected but null received"); } this.cb = cb; this.list = list; }; tink_core__$Callback_ListCell.__name__ = true; tink_core__$Callback_ListCell.prototype = { cancel: function() { if(this.list != null) { var list = this.list; this.cb = null; this.list = null; if(--list.used < list.used >> 1) { list.compact(); } } } ,__class__: tink_core__$Callback_ListCell }; var tink_core_CallbackList = function() { this.busy = false; this.queue = []; this.used = 0; this.cells = []; }; tink_core_CallbackList.__name__ = true; tink_core_CallbackList.prototype = { ondrain: function() { } ,invoke: function(data,destructive) { if(this.busy) { var f = $bind(this,this.invoke); var data1 = data; var destructive1 = destructive; var tmp = function() { f(data1,destructive1); return; }; this.queue.push(tmp); } else { this.busy = true; var length = this.cells.length; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; var _this = this.cells[i]; if(_this.list != null) { tink_core__$Callback_Callback_$Impl_$.invoke(_this.cb,data); } } this.busy = false; if(destructive) { var added = this.cells.length - length; var _g2 = 0; var _g3 = length; while(_g2 < _g3) { var i1 = _g2++; var _this1 = this.cells[i1]; _this1.cb = null; _this1.list = null; } var _g4 = 0; var _g5 = added; while(_g4 < _g5) { var i2 = _g4++; this.cells[i2] = this.cells[length + i2]; } this.resize(added); } else if(this.used < this.cells.length) { this.compact(); } if(this.queue.length > 0) { (this.queue.shift())(); } } } ,compact: function() { if(this.busy) { return; } else if(this.used == 0) { this.resize(0); this.ondrain(); } else { var compacted = 0; var _g = 0; var _g1 = this.cells.length; while(_g < _g1) { var i = _g++; var _g2 = this.cells[i]; var _g21 = _g2.list; if(_g2.cb != null) { var v = _g2; if(compacted != i) { this.cells[compacted] = v; } if(++compacted == this.used) { break; } } } this.resize(this.used); } } ,resize: function(length) { this.cells.length = length; } ,__class__: tink_core_CallbackList }; var tink_core_TypedError = function(code,message,pos) { if(code == null) { code = 500; } this.code = code; this.message = message; this.pos = pos; this.exceptionStack = []; this.callStack = []; }; tink_core_TypedError.__name__ = true; tink_core_TypedError.withData = function(code,message,data,pos) { return tink_core_TypedError.typed(code,message,data,pos); }; tink_core_TypedError.typed = function(code,message,data,pos) { var ret = new tink_core_TypedError(code,message,pos); ret.data = data; return ret; }; tink_core_TypedError.tryFinally = function(f,cleanup) { try { return f(); } finally { cleanup(); } return null; }; tink_core_TypedError.prototype = { __class__: tink_core_TypedError }; var tink_core_Noise = $hxEnums["tink.core.Noise"] = { __ename__ : true, __constructs__ : ["Noise"] ,Noise: {_hx_index:0,__enum__:"tink.core.Noise",toString:$estr} }; var tink_core_FutureTrigger = function() { this.list = new tink_core_CallbackList(); }; tink_core_FutureTrigger.__name__ = true; tink_core_FutureTrigger.prototype = { handle: function(callback) { var _g = this.list; if(_g == null) { tink_core__$Callback_Callback_$Impl_$.invoke(callback,this.result); return null; } else { var v = _g; var node = new tink_core__$Callback_ListCell(callback,v); v.cells.push(node); v.used++; return node; } } ,trigger: function(result) { if(this.list == null) { return false; } else { var list = this.list; this.list = null; this.result = result; list.invoke(result,true); return true; } } ,__class__: tink_core_FutureTrigger }; var tink_core_MPair = function(a,b) { this.a = a; this.b = b; }; tink_core_MPair.__name__ = true; tink_core_MPair.prototype = { __class__: tink_core_MPair }; var tink_state__$Observable_SimpleObservable = function(f,comparator) { this._poll = f; this.comparator = comparator; }; tink_state__$Observable_SimpleObservable.__name__ = true; tink_state__$Observable_SimpleObservable.prototype = { resetCache: function(_) { this.cache = null; } ,poll: function() { var count = 0; var last = null; while(this.cache == null) { var cache = this.cache = this._poll(); if(last == cache) { throw new js__$Boot_HaxeError("Polling loops on the same value"); } last = cache; cache.b.handle($bind(this,this.resetCache)); if(count++ >= 100) { throw new js__$Boot_HaxeError("Polling not concluded after 100 iterations"); } } return this.cache; } ,getComparator: function() { return this.comparator; } ,__class__: tink_state__$Observable_SimpleObservable }; var tink_state__$Observable_Transform_$Impl_$ = {}; tink_state__$Observable_Transform_$Impl_$.__name__ = true; tink_state__$Observable_Transform_$Impl_$.plain = function(f) { var this1 = f; return this1; }; var tink_state__$Observable_DependencyOf = function(data,initial,trigger) { this.data = data; this.comparator = data.getComparator(); this.last = initial.a; this.link = initial.b.handle($bind(trigger,trigger.trigger)); }; tink_state__$Observable_DependencyOf.__name__ = true; tink_state__$Observable_DependencyOf.prototype = { changed: function() { var _g = this.comparator; if(_g == null) { return this.last != tink_state__$Observable_Observable_$Impl_$.get_value(this.data); } else { var f = _g; return !f(this.last,tink_state__$Observable_Observable_$Impl_$.get_value(this.data)); } } ,unlink: function() { var this1 = this.link; if(this1 != null) { this1.cancel(); } } ,resubscribe: function(trigger) { var next = tink_state__$Observable_Observable_$Impl_$.measure(this.data).b.handle(function(_) { trigger.trigger(tink_core_Noise.Noise); }); var this1 = this.link; if(this1 != null) { this1.cancel(); } this.link = next; } ,__class__: tink_state__$Observable_DependencyOf }; var tink_state__$Observable_AutoObservable = function(comp,comparator) { var _gthis = this; tink_state__$Observable_SimpleObservable.call(this,function() { _gthis.trigger = new tink_core_FutureTrigger(); if(_gthis.dependencies != null) { var changed = false; var _g = 0; var _g1 = _gthis.dependencies; while(_g < _g1.length) { var d = _g1[_g]; ++_g; if(d.changed()) { changed = true; break; } } if(changed) { var _g2 = 0; var _g3 = _gthis.dependencies; while(_g2 < _g3.length) { var d1 = _g3[_g2]; ++_g2; d1.unlink(); } } else { var _g21 = 0; var _g31 = _gthis.dependencies; while(_g21 < _g31.length) { var d2 = _g31[_g21]; ++_g21; d2.resubscribe(_gthis.trigger); } var this1 = new tink_core_MPair(_gthis.last,_gthis.trigger); var this2 = this1; return this2; } } _gthis.dependencies = []; _gthis.isSubscribed = new haxe_ds_ObjectMap(); var this3 = new tink_core_MPair(_gthis.last = comp.f(),_gthis.trigger); var this4 = this3; return this4; },comparator); }; tink_state__$Observable_AutoObservable.__name__ = true; tink_state__$Observable_AutoObservable.__super__ = tink_state__$Observable_SimpleObservable; tink_state__$Observable_AutoObservable.prototype = $extend(tink_state__$Observable_SimpleObservable.prototype,{ subscribe: function(dependency,initial) { if(!this.isSubscribed.h[dependency.__id__]) { this.isSubscribed.set(dependency,true); this.dependencies.push(new tink_state__$Observable_DependencyOf(dependency,initial,this.trigger)); } } ,__class__: tink_state__$Observable_AutoObservable }); function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } $global.$haxeUID |= 0; String.prototype.__class__ = String; String.__name__ = true; Array.__name__ = true; haxe_ds_ObjectMap.count = 0; var __map_reserved = {}; Object.defineProperty(js__$Boot_HaxeError.prototype,"message",{ get : function() { return String(this.val); }}); js_Boot.__toStr = ({ }).toString; coconut_diffing_Differ.WIDGET_INST = { }; tink_state__$Observable_Observable_$Impl_$.stack = new haxe_ds_List(); tink_state__$Observable_Observable_$Impl_$.scheduled = []; tink_state__$Observable_Observable_$Impl_$.hasRAF = typeof window != 'undefined' && 'requestAnimationFrame' in window; tink_state__$Observable_Observable_$Impl_$.isScheduled = false; tink_core__$Callback_Callback_$Impl_$.depth = 0; coconut_diffing_Widget.defer = tink_state__$Observable_Observable_$Impl_$.schedule; coconut_vdom__$Html_Text.inst = new coconut_vdom__$Html_Text(); coconut_vdom__$Renderer_DomBackend.PLACEHOLDER = coconut_diffing_VNodeData.VNative(coconut_vdom__$Html_Text.inst,null,null,"",null); coconut_vdom_Renderer.DIFFER = new coconut_diffing_Differ(new coconut_vdom__$Renderer_DomBackend()); })(typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this);