- get rid of view cache
- adjust to cacheless coconut.ui
- align life cycle hooks with react (to the extent that it makes sense)
- pull tag information from tink_domspec
- merge to master
| import tink.pure.*; | |
| using tink.state.Promised; | |
| using tink.CoreApi; | |
| private typedef Payload<Key, Item> = { | |
| final order:List<Key>; | |
| final items:Mapping<Key, Item>; | |
| } |
| // haxe -lib tink_json --run Main | |
| package; | |
| class Main { | |
| static function main() { | |
| var foo = new Circular('foo'); | |
| var a = { c1: foo, c2: foo }; | |
| var json = tink.Json.stringify(a); | |
| trace(json); |
| interface IReadable { | |
| final dataSignal:Signal<Bytes>; | |
| final endSignal:Signal<NoData>; | |
| final errorSignal:Signal<Error>; | |
| final pauseSignal:Signal<NoData>; | |
| final resumeSignal:Signal<NoData>; | |
| function resume():Void; | |
| function pause():Void; | |
| function pipe(target:IWritable):Void; | |
| } |
| -D coconut.data=0.9.0 | |
| # @install: lix --silent download "gh://github.com/MVCoconut/coconut.data#d531e49a168b496afa69085c78e56a079e158bca" into coconut.data/0.9.0/github/d531e49a168b496afa69085c78e56a079e158bca | |
| -lib tink_anon | |
| -lib tink_lang | |
| -lib tink_pure | |
| -lib tink_state | |
| -cp ${HAXE_LIBCACHE}/coconut.data/0.9.0/github/d531e49a168b496afa69085c78e56a079e158bca/src | |
| --macro coconut.data.macros.Setup.run() |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"/> | |
| <title>TodoMVCoconut + Preact</title> | |
| <meta name="description" content="TodoMVC implementation based on MVCoconut" /> | |
| <link rel="stylesheet" type="text/css" href="styles.css"> | |
| <link rel="icon" href="https://avatars1.githubusercontent.com/u/25455337?v=3&s=200" type="image/png" /> | |
| </head> |
| import js.Browser.*; | |
| using StringTools; | |
| class Data implements coconut.data.Model { | |
| @:observable var text:String; | |
| @:observable var type:Int; | |
| @:observable var visible:Bool; | |
| @:transition function receiveUpdate(delta) | |
| return @patch delta; | |
| } |
| import coconut.ui.*; | |
| import vdom.Attr; | |
| import js.Browser.*; | |
| typedef Bounds = | |
| { | |
| var top(default, never):Float; | |
| var left(default, never):Float; | |
| var bottom(default, never):Float; | |
| var right(default, never):Float; |
| import tink.state.*; | |
| import coconut.data.*; | |
| @:enum abstract Side(String) to String { | |
| var North = "North"; | |
| var East = "East"; | |
| var South = "South"; | |
| var West = "West"; | |
| } |