{"/Users/dio/Documents/demos/liob/src/action.ts": {"path":"/Users/dio/Documents/demos/liob/src/action.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":10,"column":16},"end":{"line":10,"column":34}},"2":{"start":{"line":11,"column":16},"end":{"line":11,"column":34}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":31}},"4":{"start":{"line":15,"column":4},"end":{"line":26,"column":5}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":39}},"6":{"start":{"line":19,"column":8},"end":{"line":19,"column":39}},"7":{"start":{"line":22,"column":8},"end":{"line":22,"column":35}},"8":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"9":{"start":{"line":24,"column":12},"end":{"line":24,"column":39}},"10":{"start":{"line":27,"column":4},"end":{"line":27,"column":17}},"11":{"start":{"line":29,"column":0},"end":{"line":29,"column":30}},"12":{"start":{"line":31,"column":22},"end":{"line":31,"column":32}},"13":{"start":{"line":32,"column":4},"end":{"line":37,"column":6}},"14":{"start":{"line":33,"column":8},"end":{"line":33,"column":76}},"15":{"start":{"line":34,"column":20},"end":{"line":34,"column":56}},"16":{"start":{"line":35,"column":8},"end":{"line":35,"column":79}},"17":{"start":{"line":36,"column":8},"end":{"line":36,"column":19}},"18":{"start":{"line":38,"column":4},"end":{"line":38,"column":22}},"19":{"start":{"line":40,"column":0},"end":{"line":40,"column":44}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":47}},"21":{"start":{"line":42,"column":24},"end":{"line":42,"column":46}},"22":{"start":{"line":44,"column":0},"end":{"line":44,"column":38}}},"fnMap":{"0":{"name":"runAction","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":32},"end":{"line":28,"column":1}},"line":12},"1":{"name":"decorativeAction","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":25}},"loc":{"start":{"line":30,"column":51},"end":{"line":39,"column":1}},"line":30},"2":{"name":"wrapAction","decl":{"start":{"line":32,"column":32},"end":{"line":32,"column":42}},"loc":{"start":{"line":32,"column":52},"end":{"line":37,"column":5}},"line":32},"3":{"name":"WrapperAction","decl":{"start":{"line":41,"column":9},"end":{"line":41,"column":22}},"loc":{"start":{"line":41,"column":27},"end":{"line":43,"column":1}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":42,"column":11},"end":{"line":42,"column":12}},"loc":{"start":{"line":42,"column":24},"end":{"line":42,"column":46}},"line":42}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},{"start":{"line":23,"column":8},"end":{"line":25,"column":9}}],"line":23}},"s":{"0":6,"1":6,"2":6,"3":22,"4":22,"5":22,"6":0,"7":22,"8":22,"9":16,"10":22,"11":6,"12":7,"13":7,"14":10,"15":10,"16":10,"17":10,"18":7,"19":6,"20":3,"21":3,"22":6},"f":{"0":22,"1":7,"2":10,"3":3,"4":3},"b":{"0":[16,6]},"inputSourceMap":{"version":3,"file":"action.js","sourceRoot":"","sources":["action.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,mCAA4B;AAC5B,mCAA4B;AAG5B,SAAgB,SAAS,CAAY,EAAY,EAAE,GAAG,IAAW;IAC7D,eAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,IAAI,KAAK,CAAC;IACV,IAAI;QACA,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;KAClC;IAAC,OAAO,KAAK,EAAE;QACZ,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACxB;YAAS;QACN,eAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,IAAI,eAAK,CAAC,KAAK,KAAK,CAAC,EAAE;YACnB,eAAK,CAAC,QAAQ,EAAE,CAAC;SACpB;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAdD,8BAcC;AAID,SAAgB,gBAAgB,CAAC,MAAW,EAAE,GAAW,EAAE,UAA8B;IACrF,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAC7B,UAAU,CAAC,KAAK,GAAG,SAAS,UAAU,CAAC,GAAG,IAAI;QAC1C,eAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,eAAK,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IACF,OAAO,UAAU,CAAC;AACtB,CAAC;AATD,4CASC;AAED,SAAgB,aAAa,CAAC,EAAY;IACtC,OAAO,CAAC,GAAG,IAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;AAC1D,CAAC;AAFD,sCAEC","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-03-31 21:31:41\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-29 23:53:44\n * @flow\n */\nimport store from './store';\nimport event from './event';\n\n\nexport function runAction(this: any, fn: Function, ...args: any[]) {\n    store.stack += 1;\n    let value;\n    try {\n        value = fn.call(this, ...args);\n    } catch (error) {\n        store.onError(error);\n    } finally {\n        store.stack -= 1;\n        if (store.stack === 0) {\n            store.runQueue();\n        }\n    }\n    return value;\n}\n\n\n\nexport function decorativeAction(target: any, key: string, descriptor: PropertyDescriptor){\n    const { value } = descriptor;\n    descriptor.value = function wrapAction(...args) {\n        event.emit('action', `${target.constructor.name}.${key}`);\n        const res = runAction.call(this, value, ...args);\n        event.emit('endAction', `${target.constructor.name}.${key}`);\n        return res;\n    };\n    return descriptor;\n}\n\nexport function WrapperAction(fn: Function) {\n    return (...args: Array<any>) => runAction(fn, ...args)\n}\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6296669fa3b63aba90b8671b6a9237497ca79119"}
,"/Users/dio/Documents/demos/liob/src/async-action.ts": {"path":"/Users/dio/Documents/demos/liob/src/async-action.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":9,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":8,"column":7}},"2":{"start":{"line":4,"column":36},"end":{"line":4,"column":97}},"3":{"start":{"line":4,"column":42},"end":{"line":4,"column":70}},"4":{"start":{"line":4,"column":85},"end":{"line":4,"column":95}},"5":{"start":{"line":5,"column":35},"end":{"line":5,"column":100}},"6":{"start":{"line":5,"column":41},"end":{"line":5,"column":73}},"7":{"start":{"line":5,"column":88},"end":{"line":5,"column":98}},"8":{"start":{"line":6,"column":32},"end":{"line":6,"column":149}},"9":{"start":{"line":6,"column":97},"end":{"line":6,"column":119}},"10":{"start":{"line":7,"column":8},"end":{"line":7,"column":78}},"11":{"start":{"line":10,"column":0},"end":{"line":10,"column":62}},"12":{"start":{"line":17,"column":17},"end":{"line":17,"column":36}},"13":{"start":{"line":18,"column":16},"end":{"line":18,"column":34}},"14":{"start":{"line":27,"column":4},"end":{"line":28,"column":21}},"15":{"start":{"line":28,"column":8},"end":{"line":28,"column":21}},"16":{"start":{"line":29,"column":4},"end":{"line":29,"column":77}},"17":{"start":{"line":39,"column":28},"end":{"line":39,"column":31}},"18":{"start":{"line":40,"column":4},"end":{"line":41,"column":21}},"19":{"start":{"line":41,"column":8},"end":{"line":41,"column":21}},"20":{"start":{"line":42,"column":4},"end":{"line":43,"column":20}},"21":{"start":{"line":43,"column":8},"end":{"line":43,"column":20}},"22":{"start":{"line":44,"column":4},"end":{"line":44,"column":46}},"23":{"start":{"line":47,"column":4},"end":{"line":55,"column":7}},"24":{"start":{"line":48,"column":8},"end":{"line":49,"column":29}},"25":{"start":{"line":49,"column":12},"end":{"line":49,"column":29}},"26":{"start":{"line":50,"column":8},"end":{"line":50,"column":64}},"27":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"28":{"start":{"line":52,"column":12},"end":{"line":52,"column":40}},"29":{"start":{"line":54,"column":8},"end":{"line":54,"column":34}},"30":{"start":{"line":58,"column":4},"end":{"line":63,"column":7}},"31":{"start":{"line":59,"column":8},"end":{"line":59,"column":102}},"32":{"start":{"line":60,"column":26},"end":{"line":60,"column":48}},"33":{"start":{"line":61,"column":20},"end":{"line":61,"column":45}},"34":{"start":{"line":62,"column":8},"end":{"line":62,"column":19}},"35":{"start":{"line":65,"column":0},"end":{"line":65,"column":34}},"36":{"start":{"line":67,"column":4},"end":{"line":81,"column":5}},"37":{"start":{"line":68,"column":39},"end":{"line":68,"column":49}},"38":{"start":{"line":69,"column":8},"end":{"line":79,"column":9}},"39":{"start":{"line":70,"column":12},"end":{"line":72,"column":14}},"40":{"start":{"line":71,"column":16},"end":{"line":71,"column":62}},"41":{"start":{"line":74,"column":13},"end":{"line":79,"column":9}},"42":{"start":{"line":75,"column":12},"end":{"line":77,"column":14}},"43":{"start":{"line":76,"column":16},"end":{"line":76,"column":70}},"44":{"start":{"line":78,"column":12},"end":{"line":78,"column":42}},"45":{"start":{"line":80,"column":8},"end":{"line":80,"column":26}},"46":{"start":{"line":82,"column":4},"end":{"line":82,"column":53}},"47":{"start":{"line":82,"column":24},"end":{"line":82,"column":52}},"48":{"start":{"line":84,"column":0},"end":{"line":84,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":36},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":63},"end":{"line":8,"column":5}},"line":3},"2":{"name":"fulfilled","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":34},"end":{"line":4,"column":99}},"line":4},"3":{"name":"rejected","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":33},"end":{"line":5,"column":102}},"line":5},"4":{"name":"step","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":21}},"loc":{"start":{"line":6,"column":30},"end":{"line":6,"column":151}},"line":6},"5":{"name":"(anonymous_5)","decl":{"start":{"line":6,"column":76},"end":{"line":6,"column":77}},"loc":{"start":{"line":6,"column":95},"end":{"line":6,"column":121}},"line":6},"6":{"name":"isGenerator","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":20}},"loc":{"start":{"line":26,"column":26},"end":{"line":30,"column":1}},"line":26},"7":{"name":"isGeneratorFunction","decl":{"start":{"line":38,"column":9},"end":{"line":38,"column":28}},"loc":{"start":{"line":38,"column":34},"end":{"line":45,"column":1}},"line":38},"8":{"name":"loopNext","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":17}},"loc":{"start":{"line":46,"column":59},"end":{"line":56,"column":1}},"line":46},"9":{"name":"(anonymous_9)","decl":{"start":{"line":47,"column":43},"end":{"line":47,"column":44}},"loc":{"start":{"line":47,"column":56},"end":{"line":55,"column":5}},"line":47},"10":{"name":"asyncAction","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":20}},"loc":{"start":{"line":57,"column":34},"end":{"line":64,"column":1}},"line":57},"11":{"name":"(anonymous_11)","decl":{"start":{"line":58,"column":43},"end":{"line":58,"column":44}},"loc":{"start":{"line":58,"column":56},"end":{"line":63,"column":5}},"line":58},"12":{"name":"decorativeAsyncAction","decl":{"start":{"line":66,"column":9},"end":{"line":66,"column":30}},"loc":{"start":{"line":66,"column":56},"end":{"line":83,"column":1}},"line":66},"13":{"name":"wrapAction","decl":{"start":{"line":70,"column":40},"end":{"line":70,"column":50}},"loc":{"start":{"line":70,"column":60},"end":{"line":72,"column":13}},"line":70},"14":{"name":"wrapAction","decl":{"start":{"line":75,"column":40},"end":{"line":75,"column":50}},"loc":{"start":{"line":75,"column":60},"end":{"line":77,"column":13}},"line":75},"15":{"name":"(anonymous_15)","decl":{"start":{"line":82,"column":11},"end":{"line":82,"column":12}},"loc":{"start":{"line":82,"column":24},"end":{"line":82,"column":52}},"line":82}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":9,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":17},"end":{"line":2,"column":21}},{"start":{"line":2,"column":25},"end":{"line":2,"column":39}},{"start":{"line":2,"column":44},"end":{"line":9,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"type":"binary-expr","locations":[{"start":{"line":3,"column":16},"end":{"line":3,"column":17}},{"start":{"line":3,"column":22},"end":{"line":3,"column":33}}],"line":3},"2":{"loc":{"start":{"line":6,"column":32},"end":{"line":6,"column":148}},"type":"cond-expr","locations":[{"start":{"line":6,"column":46},"end":{"line":6,"column":67}},{"start":{"line":6,"column":70},"end":{"line":6,"column":148}}],"line":6},"3":{"loc":{"start":{"line":7,"column":51},"end":{"line":7,"column":67}},"type":"binary-expr","locations":[{"start":{"line":7,"column":51},"end":{"line":7,"column":61}},{"start":{"line":7,"column":65},"end":{"line":7,"column":67}}],"line":7},"4":{"loc":{"start":{"line":27,"column":4},"end":{"line":28,"column":21}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":28,"column":21}},{"start":{"line":27,"column":4},"end":{"line":28,"column":21}}],"line":27},"5":{"loc":{"start":{"line":29,"column":11},"end":{"line":29,"column":76}},"type":"binary-expr","locations":[{"start":{"line":29,"column":11},"end":{"line":29,"column":41}},{"start":{"line":29,"column":45},"end":{"line":29,"column":76}}],"line":29},"6":{"loc":{"start":{"line":40,"column":4},"end":{"line":41,"column":21}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":41,"column":21}},{"start":{"line":40,"column":4},"end":{"line":41,"column":21}}],"line":40},"7":{"loc":{"start":{"line":42,"column":4},"end":{"line":43,"column":20}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":43,"column":20}},{"start":{"line":42,"column":4},"end":{"line":43,"column":20}}],"line":42},"8":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":99}},"type":"binary-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":48}},{"start":{"line":42,"column":52},"end":{"line":42,"column":99}}],"line":42},"9":{"loc":{"start":{"line":46,"column":23},"end":{"line":46,"column":57}},"type":"default-arg","locations":[{"start":{"line":46,"column":29},"end":{"line":46,"column":57}}],"line":46},"10":{"loc":{"start":{"line":48,"column":8},"end":{"line":49,"column":29}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":49,"column":29}},{"start":{"line":48,"column":8},"end":{"line":49,"column":29}}],"line":48},"11":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},{"start":{"line":51,"column":8},"end":{"line":53,"column":9}}],"line":51},"12":{"loc":{"start":{"line":51,"column":12},"end":{"line":51,"column":39}},"type":"binary-expr","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":21}},{"start":{"line":51,"column":25},"end":{"line":51,"column":39}}],"line":51},"13":{"loc":{"start":{"line":59,"column":54},"end":{"line":59,"column":69}},"type":"binary-expr","locations":[{"start":{"line":59,"column":54},"end":{"line":59,"column":61}},{"start":{"line":59,"column":65},"end":{"line":59,"column":69}}],"line":59},"14":{"loc":{"start":{"line":67,"column":4},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":81,"column":5}},{"start":{"line":67,"column":4},"end":{"line":81,"column":5}}],"line":67},"15":{"loc":{"start":{"line":67,"column":8},"end":{"line":67,"column":25}},"type":"binary-expr","locations":[{"start":{"line":67,"column":8},"end":{"line":67,"column":11}},{"start":{"line":67,"column":15},"end":{"line":67,"column":25}}],"line":67},"16":{"loc":{"start":{"line":69,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":79,"column":9}},{"start":{"line":69,"column":8},"end":{"line":79,"column":9}}],"line":69},"17":{"loc":{"start":{"line":74,"column":13},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":74,"column":13},"end":{"line":79,"column":9}},{"start":{"line":74,"column":13},"end":{"line":79,"column":9}}],"line":74}},"s":{"0":6,"1":17,"2":7,"3":7,"4":0,"5":0,"6":0,"7":0,"8":24,"9":7,"10":17,"11":6,"12":6,"13":6,"14":0,"15":0,"16":0,"17":4,"18":4,"19":0,"20":4,"21":4,"22":0,"23":13,"24":13,"25":4,"26":9,"27":9,"28":3,"29":9,"30":4,"31":4,"32":4,"33":4,"34":4,"35":6,"36":4,"37":1,"38":1,"39":1,"40":1,"41":0,"42":0,"43":0,"44":0,"45":1,"46":3,"47":3,"48":6},"f":{"0":17,"1":17,"2":7,"3":0,"4":24,"5":7,"6":0,"7":4,"8":13,"9":13,"10":4,"11":4,"12":4,"13":1,"14":0,"15":3},"b":{"0":[6,6,6],"1":[17,17],"2":[17,7],"3":[17,17],"4":[0,0],"5":[0,0],"6":[0,4],"7":[4,0],"8":[4,0],"9":[4],"10":[4,9],"11":[3,6],"12":[9,5],"13":[4,0],"14":[1,3],"15":[4,1],"16":[1,0],"17":[0,0]},"inputSourceMap":{"version":3,"file":"async-action.js","sourceRoot":"","sources":["async-action.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;GAKG;AACH,qCAAqC;AACrC,mCAAoC;AAEpC;;;;;;GAMG;AAEH,SAAS,WAAW,CAAC,GAAmB;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AAEH,SAAS,mBAAmB,CAAC,GAAG;IAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAC5B,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,WAAW,CAAC,IAAI,KAAK,mBAAmB,IAAI,WAAW,CAAC,WAAW,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAC7G,OAAO,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAGD,SAAe,QAAQ,CAAC,GAAG,EAAE,MAA2B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;;QAChF,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC;QAC/B,GAAG,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;YAC7B,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC;SAC/B;QACD,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;CAAA;AAGD,SAAsB,WAAW,CAAY,EAAY,EAAE,GAAG,IAAgB;;QAC1E,iBAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,+BAA+B,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEtC,OAAO,GAAG,CAAC;IACf,CAAC;CAAA;AAPD,kCAOC;AAGD,SAAwB,qBAAqB,CAAC,MAAW,EAAE,GAAY,EAAE,UAAgB;IACrF,IAAI,GAAG,IAAI,UAAU,EAAE;QACnB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QAC1C,IAAI,KAAK,EAAE;YACP,UAAU,CAAC,KAAK,GAAG,SAAS,UAAU,CAAC,GAAG,IAAI;gBAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YAClD,CAAC,CAAC;SACL;aAAM,IAAI,WAAW,EAAE;YACpB,UAAU,CAAC,KAAK,GAAG,SAAS,UAAU,CAAC,GAAG,IAAI;gBAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC;YACF,OAAO,UAAU,CAAC,WAAW,CAAC;SACjC;QACD,OAAO,UAAU,CAAC;KACrB;IACD,OAAO,CAAC,GAAG,IAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AACjE,CAAC;AAhBD,wCAgBC","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-03-31 21:30:17\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-30 01:43:25\n */\nimport { runAction } from './action';\nimport { invariant } from './utils';\n\n/**\n * Check if `obj` is a generator.\n *\n * @param {Mixed} obj\n * @return {Boolean}\n * @api private\n */\n\nfunction isGenerator(obj?: Iterator<any>) {\n    if (!obj) return false;\n    return typeof obj.next === 'function' && typeof obj.throw === 'function';\n}\n\n/**\n * Check if `obj` is a generator function.\n *\n * @param {Mixed} obj\n * @return {Boolean}\n * @api private\n */\n\nfunction isGeneratorFunction(obj) {\n    const { constructor } = obj;\n    if (!constructor) return false;\n    if (constructor.name === 'GeneratorFunction' || constructor.displayName === 'GeneratorFunction') return true;\n    return isGenerator(constructor.prototype);\n}\n\n\nasync function loopNext(gen, res: IteratorResult<any> = { done: false, value: null }) {\n    if (res.done) return res.value;\n    res = runAction.call(gen, gen.next, res.value);\n    if (res.value && res.value.then) {\n        res.value = await res.value;\n    }\n    return loopNext(gen, res);\n}\n\n\nexport async function asyncAction(this: any, fn: Function, ...args: Array<any>) {\n    invariant(isGeneratorFunction(fn), `${fn.name || 'fn'} must be a generator function`);\n    const generator = fn.call(this, ...args);\n\n    const res = await loopNext(generator);\n\n    return res;\n}\n\n\nexport default function decorativeAsyncAction(target: any, key?: string, descriptor?: any) {\n    if (key && descriptor) {\n        const { value, initializer } = descriptor;\n        if (value) {\n            descriptor.value = function wrapAction(...args) {\n                return asyncAction.call(this, value, ...args);\n            };\n        } else if (initializer) {\n            descriptor.value = function wrapAction(...args) {\n                return asyncAction.call(this, initializer(), ...args);\n            };\n            delete descriptor.initializer;\n        }\n        return descriptor;\n    }\n    return (...args: Array<any>) => asyncAction(target, ...args);\n}\n\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"be8832c75a797c5e90f8a35efaa9ee8ecc711062"}
,"/Users/dio/Documents/demos/liob/src/computed.ts": {"path":"/Users/dio/Documents/demos/liob/src/computed.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"1":{"start":{"line":9,"column":19},"end":{"line":9,"column":40}},"2":{"start":{"line":10,"column":16},"end":{"line":10,"column":34}},"3":{"start":{"line":11,"column":19},"end":{"line":11,"column":40}},"4":{"start":{"line":13,"column":24},"end":{"line":13,"column":35}},"5":{"start":{"line":14,"column":19},"end":{"line":14,"column":33}},"6":{"start":{"line":16,"column":21},"end":{"line":16,"column":53}},"7":{"start":{"line":17,"column":8},"end":{"line":25,"column":9}},"8":{"start":{"line":18,"column":12},"end":{"line":24,"column":14}},"9":{"start":{"line":26,"column":20},"end":{"line":26,"column":37}},"10":{"start":{"line":27,"column":8},"end":{"line":30,"column":9}},"11":{"start":{"line":28,"column":12},"end":{"line":28,"column":63}},"12":{"start":{"line":29,"column":12},"end":{"line":29,"column":77}},"13":{"start":{"line":31,"column":8},"end":{"line":48,"column":9}},"14":{"start":{"line":32,"column":12},"end":{"line":41,"column":52}},"15":{"start":{"line":33,"column":16},"end":{"line":33,"column":42}},"16":{"start":{"line":34,"column":16},"end":{"line":40,"column":17}},"17":{"start":{"line":35,"column":20},"end":{"line":35,"column":47}},"18":{"start":{"line":36,"column":20},"end":{"line":36,"column":40}},"19":{"start":{"line":39,"column":20},"end":{"line":39,"column":61}},"20":{"start":{"line":42,"column":12},"end":{"line":42,"column":63}},"21":{"start":{"line":43,"column":12},"end":{"line":43,"column":39}},"22":{"start":{"line":45,"column":13},"end":{"line":48,"column":9}},"23":{"start":{"line":46,"column":12},"end":{"line":46,"column":63}},"24":{"start":{"line":47,"column":12},"end":{"line":47,"column":39}},"25":{"start":{"line":49,"column":8},"end":{"line":49,"column":28}},"26":{"start":{"line":51,"column":4},"end":{"line":51,"column":25}},"27":{"start":{"line":52,"column":4},"end":{"line":52,"column":22}},"28":{"start":{"line":54,"column":0},"end":{"line":54,"column":27}}},"fnMap":{"0":{"name":"computed","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":17}},"loc":{"start":{"line":12,"column":43},"end":{"line":53,"column":1}},"line":12},"1":{"name":"get","decl":{"start":{"line":15,"column":13},"end":{"line":15,"column":16}},"loc":{"start":{"line":15,"column":19},"end":{"line":50,"column":5}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":50},"end":{"line":32,"column":51}},"loc":{"start":{"line":32,"column":56},"end":{"line":41,"column":13}},"line":32}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":21},"end":{"line":16,"column":53}},"type":"binary-expr","locations":[{"start":{"line":16,"column":21},"end":{"line":16,"column":45}},{"start":{"line":16,"column":49},"end":{"line":16,"column":53}}],"line":16},"1":{"loc":{"start":{"line":17,"column":8},"end":{"line":25,"column":9}},"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":25,"column":9}},{"start":{"line":17,"column":8},"end":{"line":25,"column":9}}],"line":17},"2":{"loc":{"start":{"line":27,"column":8},"end":{"line":30,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":30,"column":9}},{"start":{"line":27,"column":8},"end":{"line":30,"column":9}}],"line":27},"3":{"loc":{"start":{"line":31,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":48,"column":9}},{"start":{"line":31,"column":8},"end":{"line":48,"column":9}}],"line":31},"4":{"loc":{"start":{"line":34,"column":16},"end":{"line":40,"column":17}},"type":"if","locations":[{"start":{"line":34,"column":16},"end":{"line":40,"column":17}},{"start":{"line":34,"column":16},"end":{"line":40,"column":17}}],"line":34},"5":{"loc":{"start":{"line":45,"column":13},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":13},"end":{"line":48,"column":9}},{"start":{"line":45,"column":13},"end":{"line":48,"column":9}}],"line":45}},"s":{"0":6,"1":6,"2":6,"3":6,"4":1,"5":1,"6":7,"7":7,"8":1,"9":7,"10":7,"11":0,"12":0,"13":7,"14":3,"15":2,"16":2,"17":2,"18":2,"19":0,"20":3,"21":3,"22":4,"23":0,"24":0,"25":7,"26":1,"27":1,"28":6},"f":{"0":1,"1":7,"2":2},"b":{"0":[7,0],"1":[1,6],"2":[0,7],"3":[3,4],"4":[2,0],"5":[0,4]},"inputSourceMap":{"version":3,"file":"computed.js","sourceRoot":"","sources":["computed.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yCAAkC;AAClC,mCAA4B;AAE5B,yCAAqC;AAErC,SAAwB,QAAQ,CAAC,MAAW,EAAE,GAAW,EAAE,UAAe;IACtE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;IAE9B,SAAS,GAAG;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAO,CAAC,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,GAAG;gBAChB,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE,KAAK;aACxB,CAAC;SACL;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9B,IAAI,eAAK,CAAC,eAAe,EAAE;YACvB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,eAAK,CAAC,eAAe,CAAC,CAAC;YACzC,eAAK,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACf,GAAG,CAAC,QAAQ,GAAG,IAAI,kBAAQ,CAAC,GAAG,EAAE;gBAC7B,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC1B,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;oBAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC3B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACH,eAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAClC;YACL,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YAExC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;SAC9B;aAAM,IAAI,GAAG,CAAC,cAAc,EAAE;YAC3B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;IACrB,OAAO,UAAU,CAAC;AACtB,CAAC;AA5CD,2BA4CC","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-03-31 21:33:17\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-29 23:04:37\n */\n\nimport Obersver from './observer';\nimport store from './store';\nimport { IProxyData, IClass } from './type';\nimport { RAW_KEY } from './constant';\n\nexport default function computed(target: any, key: string, descriptor: any) {\n    const computedKey = Symbol(key);\n\n    const newGet = descriptor.get;\n\n    function get(this: IProxyData | IClass) {\n        const self = this[RAW_KEY] || this;\n        if (!self[computedKey]) {\n            self[computedKey] = {\n                observers: new Set(),\n                preValue: null,\n                newGet: newGet.bind(this),\n                observer: null,\n                isShouldUpdate: false,\n            };\n        }\n        const obj = self[computedKey];\n\n        if (store.currentObserver) {\n            obj.observers.add(store.currentObserver);\n            store.currentObserver.bindObservers.add(obj.observers);\n        }\n        if (!obj.observer) {\n            obj.observer = new Obersver(() => {\n                obj.isShouldUpdate = true;\n                if (obj.observers.size === 0) {\n                    obj.observer.unSubscribe();\n                    obj.observer = null;\n                } else {\n                    store.pushQueue(obj.observers);\n                }\n            }, `${target.constructor.name}.${key}`);\n\n            obj.preValue = obj.observer.collectDep(obj.newGet);\n            obj.isShouldUpdate = false;\n        } else if (obj.isShouldUpdate) {\n            obj.preValue = obj.observer.collectDep(obj.newGet);\n            obj.isShouldUpdate = false;\n        }\n        return obj.preValue;\n    }\n\n    descriptor.get = get;\n    return descriptor;\n}\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"5f454e5e2d5417d3dfda0e3ecd9ec4b57e523947"}
,"/Users/dio/Documents/demos/liob/src/constant.ts": {"path":"/Users/dio/Documents/demos/liob/src/constant.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":46}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":52}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":42}},"4":{"start":{"line":6,"column":0},"end":{"line":6,"column":72}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":76}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":6,"2":6,"3":6,"4":6,"5":6},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"constant.js","sourceRoot":"","sources":["constant.ts"],"names":[],"mappings":";;AAAa,QAAA,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEtC,QAAA,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE5C,QAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAElC,QAAA,sBAAsB,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAEhE,QAAA,wBAAwB,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC","sourcesContent":["export const PROXY_KEY = Symbol('liob: proxy key');\n\nexport const OBSERVER_KEY = Symbol('liob: observer key');\n\nexport const RAW_KEY = Symbol('liob: raw key');\n\nexport const OBSERVER_COMPONENT_KEY = Symbol('liob: observer component key');\n\nexport const DO_NOT_TRUN_INTO_A_PRXOY = Symbol('liob: do not turn into a proxy');"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"5fc27981525f4fe91f2bafeb0c4380548a60cc7b"}
,"/Users/dio/Documents/demos/liob/src/event.ts": {"path":"/Users/dio/Documents/demos/liob/src/event.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"1":{"start":{"line":11,"column":8},"end":{"line":11,"column":37}},"2":{"start":{"line":14,"column":20},"end":{"line":14,"column":46}},"3":{"start":{"line":15,"column":8},"end":{"line":20,"column":9}},"4":{"start":{"line":16,"column":12},"end":{"line":16,"column":24}},"5":{"start":{"line":19,"column":12},"end":{"line":19,"column":54}},"6":{"start":{"line":21,"column":8},"end":{"line":21,"column":47}},"7":{"start":{"line":21,"column":21},"end":{"line":21,"column":46}},"8":{"start":{"line":24,"column":20},"end":{"line":24,"column":46}},"9":{"start":{"line":25,"column":8},"end":{"line":26,"column":27}},"10":{"start":{"line":26,"column":12},"end":{"line":26,"column":27}},"11":{"start":{"line":29,"column":20},"end":{"line":29,"column":46}},"12":{"start":{"line":30,"column":8},"end":{"line":34,"column":9}},"13":{"start":{"line":31,"column":12},"end":{"line":33,"column":15}},"14":{"start":{"line":32,"column":16},"end":{"line":32,"column":31}},"15":{"start":{"line":37,"column":0},"end":{"line":37,"column":22}},"16":{"start":{"line":38,"column":0},"end":{"line":38,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":18},"end":{"line":12,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":17},"end":{"line":22,"column":5}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":15},"end":{"line":21,"column":16}},"loc":{"start":{"line":21,"column":21},"end":{"line":21,"column":46}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":25},"end":{"line":27,"column":5}},"line":23},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":21},"end":{"line":35,"column":5}},"line":28},"5":{"name":"(anonymous_5)","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":25}},"loc":{"start":{"line":31,"column":38},"end":{"line":33,"column":13}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":8},"end":{"line":20,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":20,"column":9}},{"start":{"line":15,"column":8},"end":{"line":20,"column":9}}],"line":15},"1":{"loc":{"start":{"line":25,"column":8},"end":{"line":26,"column":27}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":26,"column":27}},{"start":{"line":25,"column":8},"end":{"line":26,"column":27}}],"line":25},"2":{"loc":{"start":{"line":30,"column":8},"end":{"line":34,"column":9}},"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":34,"column":9}},{"start":{"line":30,"column":8},"end":{"line":34,"column":9}}],"line":30}},"s":{"0":6,"1":6,"2":2,"3":2,"4":1,"5":1,"6":2,"7":2,"8":2,"9":2,"10":2,"11":45,"12":45,"13":4,"14":4,"15":6,"16":6},"f":{"0":6,"1":2,"2":2,"3":2,"4":45,"5":4},"b":{"0":[1,1],"1":[2,0],"2":[4,41]},"inputSourceMap":{"version":3,"file":"event.js","sourceRoot":"","sources":["event.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,MAAa,KAAK;IAAlB;QACI,gBAAW,GAA+B,IAAI,GAAG,EAAE,CAAC;IAyBxD,CAAC;IAvBG,EAAE,CAAC,IAAY,EAAE,EAAY;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACf;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,EAAY;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG;YAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,IAAS;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;CACJ;AA1BD,sBA0BC;AAED,kBAAe,IAAI,KAAK,EAAE,CAAC","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-08-29 22:38:06\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-29 23:56:02\n */\n\nexport class Event {\n    listenerMap: Map<string, Set<Function>> = new Map();\n\n    on(type: string, fn: Function) {\n        const set = this.listenerMap.get(type);\n        if (set) {\n            set.add(fn);\n        } else {\n            this.listenerMap.set(type, new Set([fn]));\n        }\n        return () => this.unListener(type, fn);\n    }\n\n    unListener(type: string, fn: Function) {\n        const set = this.listenerMap.get(type);\n        if (set) set.delete(fn);\n    }\n\n    emit(type: string, data: any) {\n        const fns = this.listenerMap.get(type);\n        if (fns) {\n            fns.forEach((listener) => {\n                listener(data);\n            });\n        }\n    }\n}\n\nexport default new Event();\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"5c4653af117341b79f7525980818981046c38cd8"}
,"/Users/dio/Documents/demos/liob/src/index.ts": {"path":"/Users/dio/Documents/demos/liob/src/index.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":15},"end":{"line":3,"column":34}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":43}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":14},"end":{"line":6,"column":32}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":32}},"6":{"start":{"line":8,"column":19},"end":{"line":8,"column":42}},"7":{"start":{"line":9,"column":0},"end":{"line":9,"column":42}},"8":{"start":{"line":10,"column":0},"end":{"line":10,"column":49}},"9":{"start":{"line":11,"column":14},"end":{"line":11,"column":32}},"10":{"start":{"line":12,"column":0},"end":{"line":12,"column":32}},"11":{"start":{"line":13,"column":17},"end":{"line":13,"column":38}},"12":{"start":{"line":14,"column":0},"end":{"line":14,"column":41}},"13":{"start":{"line":15,"column":0},"end":{"line":15,"column":47}},"14":{"start":{"line":16,"column":0},"end":{"line":16,"column":37}},"15":{"start":{"line":17,"column":17},"end":{"line":17,"column":38}},"16":{"start":{"line":18,"column":0},"end":{"line":18,"column":38}},"17":{"start":{"line":19,"column":0},"end":{"line":19,"column":37}},"18":{"start":{"line":20,"column":21},"end":{"line":20,"column":46}},"19":{"start":{"line":21,"column":0},"end":{"line":21,"column":45}},"20":{"start":{"line":22,"column":17},"end":{"line":22,"column":38}},"21":{"start":{"line":23,"column":0},"end":{"line":23,"column":38}},"22":{"start":{"line":24,"column":23},"end":{"line":24,"column":50}},"23":{"start":{"line":25,"column":0},"end":{"line":25,"column":49}},"24":{"start":{"line":26,"column":0},"end":{"line":26,"column":63}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":6,"2":6,"3":6,"4":6,"5":6,"6":6,"7":6,"8":6,"9":6,"10":6,"11":6,"12":6,"13":6,"14":6,"15":6,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":6},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAAA,mCAAqE;AAA5D,0BAAA,gBAAgB,CAAU;AAAE,iCAAA,aAAa,CAAA;AAClD,iCAA2C;AAAlC,wBAAA,OAAO,CAAS;AACzB,2CAAmE;AAA1D,kCAAA,OAAO,CAAc;AAAE,oCAAA,YAAY,CAAA;AAC5C,iCAA2C;AAAlC,wBAAA,OAAO,CAAS;AACzB,uCAA8D;AAArD,+BAAA,SAAS,CAAA;AAAE,kCAAA,YAAY,CAAA;AAAE,6BAAA,OAAO,CAAA;AACzC,uCAA0D;AAAjD,8BAAA,OAAO,CAAY;AAAE,6BAAA,OAAO,CAAA;AACrC,+CAAwD;AAA/C,qCAAA,OAAO,CAAe;AAC/B,uCAAiD;AAAxC,8BAAA,OAAO,CAAY;AAC5B,mDAA+E;AAAtE,yCAAA,OAAO,CAAiB;AAAE,6CAAA,iBAAiB,CAAA","sourcesContent":["export { decorativeAction as action, WrapperAction } from './action';\nexport { default as event } from './event';\nexport { default as observable, toObservable } from './observable';\nexport { default as store } from './store';\nexport { PROXY_KEY, OBSERVER_KEY, RAW_KEY } from './constant';\nexport { default as Observer, observe } from './observer';\nexport { default as asyncAction } from './async-action';\nexport { default as computed } from './computed';\nexport { default as reactObserver, ObserverComponent } from './react-observer';"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"50e733fdfe707bb9959e0786844e1e03dd788397"}
,"/Users/dio/Documents/demos/liob/src/log.ts": {"path":"/Users/dio/Documents/demos/liob/src/log.ts","statementMap":{"0":{"start":{"line":10,"column":0},"end":{"line":10,"column":62}},"1":{"start":{"line":11,"column":16},"end":{"line":11,"column":34}},"2":{"start":{"line":13,"column":21},"end":{"line":16,"column":6}},"3":{"start":{"line":14,"column":8},"end":{"line":14,"column":27}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":87}},"5":{"start":{"line":17,"column":24},"end":{"line":20,"column":6}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":30}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":27}},"8":{"start":{"line":21,"column":23},"end":{"line":23,"column":6}},"9":{"start":{"line":22,"column":8},"end":{"line":22,"column":89}},"10":{"start":{"line":24,"column":18},"end":{"line":26,"column":6}},"11":{"start":{"line":25,"column":8},"end":{"line":25,"column":132}},"12":{"start":{"line":27,"column":4},"end":{"line":32,"column":6}},"13":{"start":{"line":28,"column":8},"end":{"line":28,"column":19}},"14":{"start":{"line":29,"column":8},"end":{"line":29,"column":22}},"15":{"start":{"line":30,"column":8},"end":{"line":30,"column":21}},"16":{"start":{"line":31,"column":8},"end":{"line":31,"column":16}},"17":{"start":{"line":34,"column":0},"end":{"line":34,"column":25}}},"fnMap":{"0":{"name":"useLog","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":15}},"loc":{"start":{"line":12,"column":18},"end":{"line":33,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":50},"end":{"line":13,"column":51}},"loc":{"start":{"line":13,"column":60},"end":{"line":16,"column":5}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":56},"end":{"line":17,"column":57}},"loc":{"start":{"line":17,"column":66},"end":{"line":20,"column":5}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":54},"end":{"line":21,"column":55}},"loc":{"start":{"line":21,"column":64},"end":{"line":23,"column":5}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":44},"end":{"line":24,"column":45}},"loc":{"start":{"line":24,"column":73},"end":{"line":26,"column":5}},"line":24},"5":{"name":"(anonymous_5)","decl":{"start":{"line":27,"column":11},"end":{"line":27,"column":12}},"loc":{"start":{"line":27,"column":17},"end":{"line":32,"column":5}},"line":27}},"branchMap":{},"s":{"0":6,"1":6,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":6},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{},"inputSourceMap":{"version":3,"file":"log.js","sourceRoot":"","sources":["log.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B;;;;;;GAMG;;AAEH,mCAA4B;AAE5B,SAAwB,MAAM;IAC1B,MAAM,QAAQ,GAAG,eAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,eAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,eAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,eAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAC3B,MAAM,EAAE,GAAG,EAAE,KAAK,GACrB,EAAE,EAAE;QACD,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,qBAAqB;IACtJ,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE;QACR,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,CAAC;IACZ,CAAC,CAAC;AACN,CAAC;AA3BD,yBA2BC","sourcesContent":["/* eslint-disable no-console */\n/*\n * @Author: lijianzhang\n * @Date: 2018-03-31 21:38:41\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-29 23:16:36\n * @flow\n */\n\nimport event from './event';\n\nexport default function useLog() {\n    const unAction = event.on('action', (name) => {\n        console.time(name);\n        console.group('%c %s %c %s', 'color: #03A9F4;', 'action', 'color: #666', name);\n    });\n\n    const unEndAction = event.on('endAction', (name) => {\n        console.timeEnd(name);\n        console.groupEnd();\n    });\n\n    const unObserver = event.on('Observer', (name) => {\n        console.log('%c %s %c %s', 'color: #2196F3;', 'Observer: ', 'color: #666', name);\n    });\n\n    const unSet = event.on('set', ({\n        target, key, value,\n    }) => {\n        console.log('%c set: %o %c %s %c newValue %o', 'color: #ff4a4e;', target, 'color: #009688;', key, 'color: #03A9F4;', value); //eslint-disable-line\n    });\n\n    return () => {\n        unAction();\n        unEndAction();\n        unObserver();\n        unSet();\n    };\n}\n\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"08ff1d0c114183c929088a1cbce237a1d913b2ad"}
,"/Users/dio/Documents/demos/liob/src/observable.ts": {"path":"/Users/dio/Documents/demos/liob/src/observable.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":10,"column":0},"end":{"line":10,"column":28}},"2":{"start":{"line":11,"column":16},"end":{"line":11,"column":34}},"3":{"start":{"line":12,"column":16},"end":{"line":12,"column":34}},"4":{"start":{"line":13,"column":19},"end":{"line":13,"column":40}},"5":{"start":{"line":14,"column":16},"end":{"line":14,"column":34}},"6":{"start":{"line":23,"column":16},"end":{"line":23,"column":50}},"7":{"start":{"line":24,"column":4},"end":{"line":49,"column":5}},"8":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"9":{"start":{"line":26,"column":12},"end":{"line":26,"column":25}},"10":{"start":{"line":28,"column":8},"end":{"line":33,"column":9}},"11":{"start":{"line":29,"column":31},"end":{"line":29,"column":75}},"12":{"start":{"line":30,"column":12},"end":{"line":32,"column":13}},"13":{"start":{"line":31,"column":16},"end":{"line":31,"column":44}},"14":{"start":{"line":34,"column":8},"end":{"line":41,"column":9}},"15":{"start":{"line":35,"column":12},"end":{"line":40,"column":15}},"16":{"start":{"line":42,"column":24},"end":{"line":42,"column":64}},"17":{"start":{"line":43,"column":8},"end":{"line":46,"column":9}},"18":{"start":{"line":44,"column":12},"end":{"line":44,"column":34}},"19":{"start":{"line":45,"column":12},"end":{"line":45,"column":64}},"20":{"start":{"line":47,"column":8},"end":{"line":47,"column":58}},"21":{"start":{"line":48,"column":8},"end":{"line":48,"column":69}},"22":{"start":{"line":50,"column":4},"end":{"line":50,"column":17}},"23":{"start":{"line":53,"column":21},"end":{"line":53,"column":55}},"24":{"start":{"line":54,"column":4},"end":{"line":55,"column":20}},"25":{"start":{"line":55,"column":8},"end":{"line":55,"column":20}},"26":{"start":{"line":56,"column":4},"end":{"line":56,"column":66}},"27":{"start":{"line":57,"column":4},"end":{"line":57,"column":46}},"28":{"start":{"line":58,"column":4},"end":{"line":63,"column":5}},"29":{"start":{"line":59,"column":26},"end":{"line":59,"column":66}},"30":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"31":{"start":{"line":61,"column":12},"end":{"line":61,"column":49}},"32":{"start":{"line":64,"column":4},"end":{"line":64,"column":16}},"33":{"start":{"line":67,"column":19},"end":{"line":67,"column":54}},"34":{"start":{"line":68,"column":4},"end":{"line":73,"column":5}},"35":{"start":{"line":69,"column":26},"end":{"line":69,"column":66}},"36":{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},"37":{"start":{"line":71,"column":12},"end":{"line":71,"column":49}},"38":{"start":{"line":74,"column":4},"end":{"line":74,"column":18}},"39":{"start":{"line":77,"column":18},"end":{"line":81,"column":6}},"40":{"start":{"line":82,"column":4},"end":{"line":86,"column":7}},"41":{"start":{"line":87,"column":4},"end":{"line":87,"column":17}},"42":{"start":{"line":89,"column":0},"end":{"line":89,"column":36}},"43":{"start":{"line":91,"column":4},"end":{"line":119,"column":5}},"44":{"start":{"line":92,"column":30},"end":{"line":92,"column":51}},"45":{"start":{"line":93,"column":8},"end":{"line":93,"column":37}},"46":{"start":{"line":94,"column":8},"end":{"line":103,"column":11}},"47":{"start":{"line":96,"column":30},"end":{"line":96,"column":67}},"48":{"start":{"line":97,"column":16},"end":{"line":97,"column":29}},"49":{"start":{"line":100,"column":16},"end":{"line":100,"column":56}},"50":{"start":{"line":104,"column":8},"end":{"line":104,"column":25}},"51":{"start":{"line":106,"column":9},"end":{"line":119,"column":5}},"52":{"start":{"line":107,"column":8},"end":{"line":107,"column":44}},"53":{"start":{"line":108,"column":8},"end":{"line":110,"column":9}},"54":{"start":{"line":109,"column":12},"end":{"line":109,"column":68}},"55":{"start":{"line":111,"column":22},"end":{"line":117,"column":10}},"56":{"start":{"line":113,"column":27},"end":{"line":113,"column":52}},"57":{"start":{"line":114,"column":30},"end":{"line":114,"column":46}},"58":{"start":{"line":115,"column":16},"end":{"line":115,"column":29}},"59":{"start":{"line":118,"column":8},"end":{"line":118,"column":21}},"60":{"start":{"line":120,"column":4},"end":{"line":120,"column":32}},"61":{"start":{"line":122,"column":0},"end":{"line":122,"column":29}}},"fnMap":{"0":{"name":"onGet","decl":{"start":{"line":22,"column":9},"end":{"line":22,"column":14}},"loc":{"start":{"line":22,"column":38},"end":{"line":51,"column":1}},"line":22},"1":{"name":"onSet","decl":{"start":{"line":52,"column":9},"end":{"line":52,"column":14}},"loc":{"start":{"line":52,"column":45},"end":{"line":65,"column":1}},"line":52},"2":{"name":"onDelete","decl":{"start":{"line":66,"column":9},"end":{"line":66,"column":17}},"loc":{"start":{"line":66,"column":31},"end":{"line":75,"column":1}},"line":66},"3":{"name":"toObservable","decl":{"start":{"line":76,"column":9},"end":{"line":76,"column":21}},"loc":{"start":{"line":76,"column":29},"end":{"line":88,"column":1}},"line":76},"4":{"name":"observable","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":19}},"loc":{"start":{"line":90,"column":33},"end":{"line":121,"column":1}},"line":90},"5":{"name":"(anonymous_5)","decl":{"start":{"line":95,"column":17},"end":{"line":95,"column":18}},"loc":{"start":{"line":95,"column":29},"end":{"line":98,"column":13}},"line":95},"6":{"name":"(anonymous_6)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":34},"end":{"line":101,"column":13}},"line":99}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":49,"column":5}},{"start":{"line":24,"column":4},"end":{"line":49,"column":5}}],"line":24},"1":{"loc":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},{"start":{"line":25,"column":8},"end":{"line":27,"column":9}}],"line":25},"2":{"loc":{"start":{"line":25,"column":12},"end":{"line":25,"column":67}},"type":"binary-expr","locations":[{"start":{"line":25,"column":12},"end":{"line":25,"column":37}},{"start":{"line":25,"column":41},"end":{"line":25,"column":67}}],"line":25},"3":{"loc":{"start":{"line":28,"column":8},"end":{"line":33,"column":9}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":33,"column":9}},{"start":{"line":28,"column":8},"end":{"line":33,"column":9}}],"line":28},"4":{"loc":{"start":{"line":28,"column":12},"end":{"line":28,"column":135}},"type":"binary-expr","locations":[{"start":{"line":28,"column":12},"end":{"line":28,"column":45}},{"start":{"line":28,"column":49},"end":{"line":28,"column":105}},{"start":{"line":28,"column":109},"end":{"line":28,"column":135}}],"line":28},"5":{"loc":{"start":{"line":30,"column":12},"end":{"line":32,"column":13}},"type":"if","locations":[{"start":{"line":30,"column":12},"end":{"line":32,"column":13}},{"start":{"line":30,"column":12},"end":{"line":32,"column":13}}],"line":30},"6":{"loc":{"start":{"line":30,"column":16},"end":{"line":30,"column":45}},"type":"binary-expr","locations":[{"start":{"line":30,"column":16},"end":{"line":30,"column":26}},{"start":{"line":30,"column":30},"end":{"line":30,"column":45}}],"line":30},"7":{"loc":{"start":{"line":34,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":41,"column":9}},{"start":{"line":34,"column":8},"end":{"line":41,"column":9}}],"line":34},"8":{"loc":{"start":{"line":43,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":46,"column":9}},{"start":{"line":43,"column":8},"end":{"line":46,"column":9}}],"line":43},"9":{"loc":{"start":{"line":54,"column":4},"end":{"line":55,"column":20}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":55,"column":20}},{"start":{"line":54,"column":4},"end":{"line":55,"column":20}}],"line":54},"10":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":46}},"type":"binary-expr","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":26}},{"start":{"line":54,"column":30},"end":{"line":54,"column":46}}],"line":54},"11":{"loc":{"start":{"line":58,"column":4},"end":{"line":63,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":63,"column":5}},{"start":{"line":58,"column":4},"end":{"line":63,"column":5}}],"line":58},"12":{"loc":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},{"start":{"line":60,"column":8},"end":{"line":62,"column":9}}],"line":60},"13":{"loc":{"start":{"line":68,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":73,"column":5}},{"start":{"line":68,"column":4},"end":{"line":73,"column":5}}],"line":68},"14":{"loc":{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},{"start":{"line":70,"column":8},"end":{"line":72,"column":9}}],"line":70},"15":{"loc":{"start":{"line":91,"column":4},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":119,"column":5}},{"start":{"line":91,"column":4},"end":{"line":119,"column":5}}],"line":91},"16":{"loc":{"start":{"line":106,"column":9},"end":{"line":119,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":9},"end":{"line":119,"column":5}},{"start":{"line":106,"column":9},"end":{"line":119,"column":5}}],"line":106},"17":{"loc":{"start":{"line":108,"column":8},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":108,"column":8},"end":{"line":110,"column":9}},{"start":{"line":108,"column":8},"end":{"line":110,"column":9}}],"line":108}},"s":{"0":6,"1":6,"2":6,"3":6,"4":6,"5":6,"6":91,"7":91,"8":53,"9":0,"10":53,"11":0,"12":0,"13":0,"14":53,"15":17,"16":53,"17":53,"18":24,"19":24,"20":53,"21":53,"22":91,"23":25,"24":25,"25":0,"26":25,"27":25,"28":25,"29":21,"30":21,"31":19,"32":25,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":20,"40":20,"41":20,"42":6,"43":14,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":14,"52":5,"53":5,"54":0,"55":5,"56":6,"57":6,"58":6,"59":5,"60":9,"61":6},"f":{"0":91,"1":25,"2":1,"3":20,"4":14,"5":0,"6":0},"b":{"0":[53,38],"1":[0,53],"2":[53,53],"3":[0,53],"4":[53,0,0],"5":[0,0],"6":[0,0],"7":[17,36],"8":[24,29],"9":[0,25],"10":[25,0],"11":[21,4],"12":[19,2],"13":[1,0],"14":[1,0],"15":[0,14],"16":[5,9],"17":[0,5]},"inputSourceMap":{"version":3,"file":"observable.js","sourceRoot":"","sources":["observable.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-03-31 21:04:00\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-09-02 02:10:08\n * @flow\n */\nimport \"reflect-metadata\";\nimport store from './store';\nimport event from './event';\nimport { OBSERVER_KEY, RAW_KEY, DO_NOT_TRUN_INTO_A_PRXOY } from './constant';\nimport { isFunction, isObservableObject } from './utils';\nimport { IProxyData, IClass } from './type';\n/**\n * 设计流程:\n * observable 函数传入一个待观察的对象, 对改对象进行Proxy的封装\n * 主要在get, set, delete该对象的时候出来\n * get: 当处于observer执行的时候对\n *\n */\n\nfunction onGet(target: IProxyData, key: string | number | symbol, receiver) {\n    let value = Reflect.get(target, key, receiver);\n    \n\n    if (store.currentObserver) {\n        if (isFunction(value) || key === RAW_KEY) {\n            return value;\n        }\n    \n        if (isObservableObject(value) && !Reflect.get(value, DO_NOT_TRUN_INTO_A_PRXOY) && !value[RAW_KEY]) {\n            const descriptor = Object.getOwnPropertyDescriptor(target, key);\n            if (descriptor && !descriptor.get) {\n                value = toObservable(value);\n            }\n        }\n\n        if (!target[OBSERVER_KEY]) {\n            Object.defineProperty(target, OBSERVER_KEY, {\n                value: new Map(),\n                writable: false,\n                enumerable: false,\n                configurable: false,\n            });\n        }\n\n        let observers = target[OBSERVER_KEY]!.get(key);\n\n        if (!observers) {\n            observers = new Set(); \n            target[OBSERVER_KEY]!.set(key as string, observers);\n        }\n\n        observers.add(store.currentObserver.id);\n        store.currentObserver.bindObservers.add(observers);\n    }\n\n    return value;\n}\n\nfunction onSet(target: IProxyData, key, value, receiver) {\n    const oldValue = Reflect.get(target, key, receiver);\n    if (oldValue === value && key !== 'length') return true;\n    event.emit('set', { target, key, oldValue, value });\n    Reflect.set(target, key, value, receiver);\n    if (target[OBSERVER_KEY]) {\n\n        const observers = target[OBSERVER_KEY]!.get(key);\n\n        if (observers) {\n            store.pushQueue(observers);\n        }\n    }\n    return true;\n}\n\nfunction onDelete(target, key) {\n    const result = Reflect.deleteProperty(target, key);\n    if (target[OBSERVER_KEY]) {\n        const observers = target[OBSERVER_KEY]!.get(key);\n\n        if (observers) {\n            store.pushQueue(observers);\n        }\n    }\n    return result;\n}\n\n\n\nexport function toObservable<T>(store: T) {\n    const proxy = new Proxy(store, {\n        get: onGet,\n        set: onSet,\n        deleteProperty: onDelete,\n    });\n\n\n    Object.defineProperty(store, RAW_KEY, {\n        value: store,\n        writable: false,\n        enumerable: false,\n    });\n\n    return proxy;\n\n}\n\nexport default function observable<T>(target: T | (T & IClass) | object, key?: string): any {\n\n    if (key) {\n        const observableKey = Symbol('liob_' + key);\n        (observableKey as any).type == 'attr';\n        Object.defineProperty(target as object, key, {\n            get: function() { \n                const value = onGet(this, observableKey, undefined);\n                return value;\n            },\n            set: function(value) {\n                onSet(this, observableKey, value, this);\n            },\n            enumerable: true,\n        });\n\n        return undefined;\n    } else if (typeof target === 'function') {\n        target[RAW_KEY] = target;  // fix extends class error\n        if (target.__proto__[RAW_KEY]) {\n            target.__proto__ = target.__proto__[RAW_KEY];\n        }\n\n        const proxy = new Proxy(target, {\n            construct(Cls, argumentsList) {\n                const ob = new Cls(...argumentsList);\n                const proxy = toObservable(ob);\n                return proxy;\n            },\n        });\n        return proxy;\n    }\n\n    return toObservable(target);\n}"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f4ac951a15d530e40922fd7fece75b63fbd355fd"}
,"/Users/dio/Documents/demos/liob/src/observer.ts": {"path":"/Users/dio/Documents/demos/liob/src/observer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":9,"column":16},"end":{"line":9,"column":34}},"2":{"start":{"line":10,"column":9},"end":{"line":10,"column":10}},"3":{"start":{"line":13,"column":8},"end":{"line":13,"column":39}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":28}},"5":{"start":{"line":15,"column":8},"end":{"line":15,"column":16}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":21}},"7":{"start":{"line":17,"column":8},"end":{"line":17,"column":27}},"8":{"start":{"line":18,"column":8},"end":{"line":18,"column":25}},"9":{"start":{"line":19,"column":8},"end":{"line":19,"column":53}},"10":{"start":{"line":22,"column":8},"end":{"line":22,"column":28}},"11":{"start":{"line":25,"column":8},"end":{"line":25,"column":31}},"12":{"start":{"line":26,"column":20},"end":{"line":26,"column":24}},"13":{"start":{"line":27,"column":8},"end":{"line":27,"column":29}},"14":{"start":{"line":28,"column":8},"end":{"line":28,"column":19}},"15":{"start":{"line":31,"column":8},"end":{"line":34,"column":9}},"16":{"start":{"line":32,"column":12},"end":{"line":32,"column":30}},"17":{"start":{"line":33,"column":12},"end":{"line":33,"column":56}},"18":{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},"19":{"start":{"line":38,"column":26},"end":{"line":38,"column":72}},"20":{"start":{"line":39,"column":12},"end":{"line":39,"column":62}},"21":{"start":{"line":41,"column":8},"end":{"line":41,"column":29}},"22":{"start":{"line":44,"column":8},"end":{"line":46,"column":11}},"23":{"start":{"line":45,"column":12},"end":{"line":45,"column":38}},"24":{"start":{"line":47,"column":8},"end":{"line":47,"column":35}},"25":{"start":{"line":50,"column":8},"end":{"line":50,"column":26}},"26":{"start":{"line":51,"column":8},"end":{"line":51,"column":29}},"27":{"start":{"line":54,"column":8},"end":{"line":54,"column":28}},"28":{"start":{"line":55,"column":8},"end":{"line":56,"column":32}},"29":{"start":{"line":56,"column":12},"end":{"line":56,"column":32}},"30":{"start":{"line":59,"column":0},"end":{"line":59,"column":27}},"31":{"start":{"line":61,"column":4},"end":{"line":62,"column":49}},"32":{"start":{"line":62,"column":8},"end":{"line":62,"column":49}},"33":{"start":{"line":63,"column":15},"end":{"line":65,"column":12}},"34":{"start":{"line":64,"column":8},"end":{"line":64,"column":32}},"35":{"start":{"line":66,"column":4},"end":{"line":66,"column":13}},"36":{"start":{"line":67,"column":4},"end":{"line":67,"column":14}},"37":{"start":{"line":69,"column":0},"end":{"line":69,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":26},"end":{"line":20,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":17},"end":{"line":23,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":19},"end":{"line":29,"column":5}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":4},"end":{"line":30,"column":5}},"loc":{"start":{"line":30,"column":22},"end":{"line":35,"column":5}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":20},"end":{"line":42,"column":5}},"line":36},"5":{"name":"(anonymous_5)","decl":{"start":{"line":43,"column":4},"end":{"line":43,"column":5}},"loc":{"start":{"line":43,"column":17},"end":{"line":48,"column":5}},"line":43},"6":{"name":"(anonymous_6)","decl":{"start":{"line":44,"column":35},"end":{"line":44,"column":36}},"loc":{"start":{"line":44,"column":50},"end":{"line":46,"column":9}},"line":44},"7":{"name":"(anonymous_7)","decl":{"start":{"line":49,"column":4},"end":{"line":49,"column":5}},"loc":{"start":{"line":49,"column":18},"end":{"line":52,"column":5}},"line":49},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":4},"end":{"line":53,"column":5}},"loc":{"start":{"line":53,"column":10},"end":{"line":57,"column":5}},"line":53},"9":{"name":"observe","decl":{"start":{"line":60,"column":9},"end":{"line":60,"column":16}},"loc":{"start":{"line":60,"column":39},"end":{"line":68,"column":1}},"line":60},"10":{"name":"(anonymous_10)","decl":{"start":{"line":63,"column":28},"end":{"line":63,"column":29}},"loc":{"start":{"line":63,"column":42},"end":{"line":65,"column":5}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":8},"end":{"line":34,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":34,"column":9}},{"start":{"line":31,"column":8},"end":{"line":34,"column":9}}],"line":31},"1":{"loc":{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},{"start":{"line":37,"column":8},"end":{"line":40,"column":9}}],"line":37},"2":{"loc":{"start":{"line":55,"column":8},"end":{"line":56,"column":32}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":56,"column":32}},{"start":{"line":55,"column":8},"end":{"line":56,"column":32}}],"line":55},"3":{"loc":{"start":{"line":60,"column":21},"end":{"line":60,"column":37}},"type":"default-arg","locations":[{"start":{"line":60,"column":28},"end":{"line":60,"column":37}}],"line":60},"4":{"loc":{"start":{"line":61,"column":4},"end":{"line":62,"column":49}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":62,"column":49}},{"start":{"line":61,"column":4},"end":{"line":62,"column":49}}],"line":61}},"s":{"0":6,"1":6,"2":6,"3":21,"4":21,"5":21,"6":21,"7":21,"8":21,"9":21,"10":0,"11":38,"12":38,"13":38,"14":38,"15":38,"16":38,"17":38,"18":38,"19":38,"20":38,"21":38,"22":41,"23":28,"24":41,"25":3,"26":3,"27":33,"28":33,"29":33,"30":6,"31":15,"32":1,"33":14,"34":24,"35":14,"36":14,"37":6},"f":{"0":21,"1":0,"2":38,"3":38,"4":38,"5":41,"6":28,"7":3,"8":33,"9":15,"10":24},"b":{"0":[38,0],"1":[38,0],"2":[33,0],"3":[15],"4":[1,14]},"inputSourceMap":{"version":3,"file":"observer.js","sourceRoot":"","sources":["observer.ts"],"names":[],"mappings":";;AACA;;;;;GAKG;AACH,mCAA4B;AAE5B,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,MAAqB,QAAQ;IACzB,YAAY,EAAY,EAAE,IAAa;QAchC,kBAAa,GAAqB,IAAI,GAAG,EAAE,CAAC;QAE3C,YAAO,GAAG,IAAI,CAAC;QAfnB,EAAE,IAAI,CAAC,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,eAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAYD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,EAAY;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,eAAe;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,eAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;IACL,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,MAAM,KAAK,GAAG,eAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,eAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,UAAU;QACN,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACP,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAEM,GAAG;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACJ;AA5DD,2BA4DC;AAED,SAAgB,OAAO,CAAC,EAAY,EAAE,OAAe,SAAS;IAC1D,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,EAAE,CAAC,GAAG,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;AACd,CAAC;AAPD,0BAOC","sourcesContent":["\n/*\n * @Author: lijianzhang\n * @Date: 2018-08-29 22:41:33\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-30 01:45:07\n */\nimport store from \"./store\";\n\nlet id = 0;\n\nexport default class Observer {\n    constructor(cb: Function, name?: string) {\n        id += 1;\n        this.id = id;\n        this.callback = cb;\n        this.name = name;\n        store.observers.set(this.id, this);\n    }\n\n    name?: string;\n\n    public readonly id: number;\n\n    public callback: Function | null;\n\n    public bindObservers: Set<Set<number>> = new Set();\n\n    private _change = true;\n\n    public get change() {\n        return this._change;\n    }\n\n    collectDep(fn: Function) {\n        this.beginCollectDep();\n        const res = fn();\n        this.endCollectDep();\n        return res;\n    }\n\n    beginCollectDep() {\n        if (this._change) {\n            this.clearBinds();\n            store.currentObservers.push(this);\n        }\n    }\n\n    endCollectDep() {\n        if (this._change) {\n            const index = store.currentObservers.indexOf(this);\n            store.currentObservers.splice(index, 1);\n        }\n        this._change = false;\n    }\n    clearBinds() {\n        this.bindObservers.forEach((observers) => {\n            observers.delete(this.id);\n        });\n        this.bindObservers.clear();\n    }\n\n    unSubscribe() {\n        this.clearBinds();\n        this.callback = null;\n    }\n\n    public run() {\n        this._change = true;\n        if (this.callback) this.callback(this);\n    }\n}\n\nexport function observe(fn: Function, name: string = 'observe') {\n    if (!fn) throw new Error('you need set callBack');\n    const ob = new Observer((observer) => {\n        observer.collectDep(fn);\n    }, name);\n    ob.run();\n    return ob;\n}\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"08aa6682287a5b7c7411529f7487ee4d45aca2df"}
,"/Users/dio/Documents/demos/liob/src/react-observer.ts": {"path":"/Users/dio/Documents/demos/liob/src/react-observer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":10,"column":14},"end":{"line":10,"column":30}},"2":{"start":{"line":11,"column":19},"end":{"line":11,"column":40}},"3":{"start":{"line":12,"column":19},"end":{"line":12,"column":40}},"4":{"start":{"line":13,"column":22},"end":{"line":13,"column":42}},"5":{"start":{"line":14,"column":19},"end":{"line":14,"column":36}},"6":{"start":{"line":15,"column":28},"end":{"line":15,"column":56}},"7":{"start":{"line":17,"column":4},"end":{"line":17,"column":83}},"8":{"start":{"line":20,"column":4},"end":{"line":24,"column":44}},"9":{"start":{"line":21,"column":8},"end":{"line":23,"column":9}},"10":{"start":{"line":22,"column":12},"end":{"line":22,"column":31}},"11":{"start":{"line":25,"column":4},"end":{"line":25,"column":33}},"12":{"start":{"line":26,"column":4},"end":{"line":26,"column":37}},"13":{"start":{"line":28,"column":22},"end":{"line":38,"column":1}},"14":{"start":{"line":30,"column":8},"end":{"line":30,"column":41}},"15":{"start":{"line":31,"column":8},"end":{"line":31,"column":53}},"16":{"start":{"line":32,"column":8},"end":{"line":32,"column":33}},"17":{"start":{"line":35,"column":8},"end":{"line":35,"column":62}},"18":{"start":{"line":36,"column":8},"end":{"line":36,"column":55}},"19":{"start":{"line":40,"column":17},"end":{"line":40,"column":33}},"20":{"start":{"line":41,"column":22},"end":{"line":41,"column":45}},"21":{"start":{"line":42,"column":4},"end":{"line":56,"column":5}},"22":{"start":{"line":43,"column":8},"end":{"line":43,"column":37}},"23":{"start":{"line":46,"column":8},"end":{"line":55,"column":18}},"24":{"start":{"line":49,"column":20},"end":{"line":49,"column":48}},"25":{"start":{"line":50,"column":20},"end":{"line":50,"column":43}},"26":{"start":{"line":53,"column":20},"end":{"line":53,"column":43}},"27":{"start":{"line":54,"column":20},"end":{"line":54,"column":48}},"28":{"start":{"line":60,"column":4},"end":{"line":69,"column":11}},"29":{"start":{"line":62,"column":16},"end":{"line":62,"column":70}},"30":{"start":{"line":72,"column":4},"end":{"line":73,"column":22}},"31":{"start":{"line":73,"column":8},"end":{"line":73,"column":22}},"32":{"start":{"line":74,"column":4},"end":{"line":79,"column":5}},"33":{"start":{"line":75,"column":8},"end":{"line":75,"column":34}},"34":{"start":{"line":76,"column":8},"end":{"line":76,"column":60}},"35":{"start":{"line":77,"column":8},"end":{"line":77,"column":56}},"36":{"start":{"line":78,"column":8},"end":{"line":78,"column":22}},"37":{"start":{"line":80,"column":4},"end":{"line":80,"column":58}},"38":{"start":{"line":82,"column":0},"end":{"line":82,"column":32}},"39":{"start":{"line":84,"column":20},"end":{"line":84,"column":52}},"40":{"start":{"line":85,"column":4},"end":{"line":86,"column":20}},"41":{"start":{"line":86,"column":8},"end":{"line":86,"column":20}},"42":{"start":{"line":87,"column":4},"end":{"line":87,"column":57}},"43":{"start":{"line":89,"column":0},"end":{"line":89,"column":46}}},"fnMap":{"0":{"name":"reactiveRender","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":23}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}},"line":16},"1":{"name":"initRender","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":19}},"loc":{"start":{"line":19,"column":22},"end":{"line":27,"column":1}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":20,"column":69},"end":{"line":20,"column":70}},"loc":{"start":{"line":20,"column":75},"end":{"line":24,"column":5}},"line":20},"3":{"name":"patch","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":14}},"loc":{"start":{"line":39,"column":56},"end":{"line":57,"column":1}},"line":39},"4":{"name":"funcName","decl":{"start":{"line":48,"column":25},"end":{"line":48,"column":33}},"loc":{"start":{"line":48,"column":43},"end":{"line":51,"column":17}},"line":48},"5":{"name":"funcName","decl":{"start":{"line":52,"column":25},"end":{"line":52,"column":33}},"loc":{"start":{"line":52,"column":43},"end":{"line":55,"column":17}},"line":52},"6":{"name":"createObserverComponent","decl":{"start":{"line":58,"column":9},"end":{"line":58,"column":32}},"loc":{"start":{"line":58,"column":44},"end":{"line":70,"column":1}},"line":58},"7":{"name":"(anonymous_7)","decl":{"start":{"line":61,"column":12},"end":{"line":61,"column":13}},"loc":{"start":{"line":61,"column":21},"end":{"line":63,"column":13}},"line":61},"8":{"name":"ReactObserver","decl":{"start":{"line":71,"column":9},"end":{"line":71,"column":22}},"loc":{"start":{"line":71,"column":31},"end":{"line":81,"column":1}},"line":71},"9":{"name":"ObserverComponent","decl":{"start":{"line":83,"column":9},"end":{"line":83,"column":26}},"loc":{"start":{"line":83,"column":35},"end":{"line":88,"column":1}},"line":83}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":8},"end":{"line":23,"column":9}},"type":"if","locations":[{"start":{"line":21,"column":8},"end":{"line":23,"column":9}},{"start":{"line":21,"column":8},"end":{"line":23,"column":9}}],"line":21},"1":{"loc":{"start":{"line":39,"column":33},"end":{"line":39,"column":54}},"type":"default-arg","locations":[{"start":{"line":39,"column":49},"end":{"line":39,"column":54}}],"line":39},"2":{"loc":{"start":{"line":42,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":56,"column":5}},{"start":{"line":42,"column":4},"end":{"line":56,"column":5}}],"line":42},"3":{"loc":{"start":{"line":47,"column":12},"end":{"line":55,"column":17}},"type":"cond-expr","locations":[{"start":{"line":48,"column":16},"end":{"line":51,"column":17}},{"start":{"line":52,"column":16},"end":{"line":55,"column":17}}],"line":47},"4":{"loc":{"start":{"line":65,"column":25},"end":{"line":65,"column":64}},"type":"binary-expr","locations":[{"start":{"line":65,"column":25},"end":{"line":65,"column":46}},{"start":{"line":65,"column":50},"end":{"line":65,"column":64}}],"line":65},"5":{"loc":{"start":{"line":72,"column":4},"end":{"line":73,"column":22}},"type":"if","locations":[{"start":{"line":72,"column":4},"end":{"line":73,"column":22}},{"start":{"line":72,"column":4},"end":{"line":73,"column":22}}],"line":72},"6":{"loc":{"start":{"line":74,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":79,"column":5}},{"start":{"line":74,"column":4},"end":{"line":79,"column":5}}],"line":74},"7":{"loc":{"start":{"line":74,"column":8},"end":{"line":74,"column":85}},"type":"binary-expr","locations":[{"start":{"line":74,"column":8},"end":{"line":74,"column":36}},{"start":{"line":74,"column":41},"end":{"line":74,"column":57}},{"start":{"line":74,"column":61},"end":{"line":74,"column":84}}],"line":74},"8":{"loc":{"start":{"line":84,"column":20},"end":{"line":84,"column":52}},"type":"binary-expr","locations":[{"start":{"line":84,"column":20},"end":{"line":84,"column":35}},{"start":{"line":84,"column":39},"end":{"line":84,"column":52}}],"line":84},"9":{"loc":{"start":{"line":85,"column":4},"end":{"line":86,"column":20}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":86,"column":20}},{"start":{"line":85,"column":4},"end":{"line":86,"column":20}}],"line":85}},"s":{"0":6,"1":6,"2":6,"3":6,"4":6,"5":6,"6":6,"7":11,"8":4,"9":7,"10":7,"11":4,"12":4,"13":6,"14":4,"15":4,"16":4,"17":0,"18":0,"19":8,"20":8,"21":8,"22":8,"23":0,"24":0,"25":0,"26":0,"27":0,"28":3,"29":9,"30":7,"31":0,"32":7,"33":4,"34":4,"35":4,"36":4,"37":3,"38":6,"39":2,"40":2,"41":0,"42":2,"43":6},"f":{"0":11,"1":4,"2":7,"3":8,"4":0,"5":0,"6":3,"7":9,"8":7,"9":2},"b":{"0":[7,0],"1":[4],"2":[8,0],"3":[0,0],"4":[3,3],"5":[0,7],"6":[4,3],"7":[7,7,5],"8":[2,1],"9":[0,2]},"inputSourceMap":{"version":3,"file":"react-observer.js","sourceRoot":"","sources":["react-observer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-03-31 21:40:26\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-29 23:50:29\n * @flow\n */\nimport * as React from 'react';\nimport { SFC } from 'react';\nimport Observer from './observer';\nimport { OBSERVER_COMPONENT_KEY } from './constant';\n\nconst baseRenderKey = Symbol('baseRender');\nconst connectKey = Symbol('connect');\nconst $componentWillMount = Symbol('componentWillMount');\n\ntype IReactComponent<P = any> =\n    | React.StatelessComponent<P>\n    | React.ComponentClass<P>\n    | React.ClassicComponentClass<P>;\n\nfunction reactiveRender(this: React.Component) {\n    return this[OBSERVER_COMPONENT_KEY].collectDep(this[baseRenderKey]);\n}\n\nfunction initRender(this: React.Component) {\n    this[OBSERVER_COMPONENT_KEY] = new Observer(() => {\n        if (this[$componentWillMount]) {\n            this.forceUpdate();\n        }\n    }, `${this.constructor.name}.render()`);\n\n    this.render = reactiveRender;\n    return reactiveRender.call(this);\n}\n\nconst reactiveMixin = {\n    componentWillMount(this: React.Component) {\n        this[$componentWillMount] = true;\n        this[baseRenderKey] = this.render.bind(this);\n        this.render = initRender;\n    },\n\n    componentWillUnmount(this: React.Component) {\n        this[OBSERVER_COMPONENT_KEY].unSubscribe();\n        this[OBSERVER_COMPONENT_KEY] = null;\n    },\n};\n\nfunction patch(target, funcName, runMixinFirst = false) {\n    const base = target[funcName];\n    const mixinFunc = reactiveMixin[funcName];\n    if (!base) {\n        target[funcName] = mixinFunc;\n    } else {\n        target[funcName] =\n            runMixinFirst === true ?\n                function funcName(this: React.Component, ...args) {\n                    mixinFunc.apply(this, args);\n                    base.apply(this, args);\n                } :\n                function funcName(this: React.Component, ...args) {\n                    base.apply(this, args);\n                    mixinFunc.apply(this, args);\n                };\n    }\n}\n\n\nfunction createObserverComponent(component: IReactComponent) {\n    return class extends React.Component {\n        static displayName = component.displayName || component.name;\n        static propTypes = component.propTypes;\n        static contextTypes = component.contextTypes;\n        static defaultProps = component.defaultProps;\n\n        render() {\n            return component.call(this, this.props, this.context);\n        }\n    };\n}\n\n\nexport default function ReactObserver<T extends IReactComponent>(target: T | SFC): T {\n    if (target[connectKey]) return (target as T);\n    if ( typeof target === \"function\" && (target.prototype && target.prototype.render) ) {\n        target[connectKey] = true;\n        patch(target.prototype, 'componentWillMount', true);\n        patch(target.prototype, 'componentWillUnmount');\n        return (target as T);\n    }\n\n    return ReactObserver(createObserverComponent(target as IReactComponent)) as any;\n    \n}\n\ninterface Props {\n    children?: SFC | React.Factory<any> ;\n    render?: SFC;\n}\n\nexport function ObserverComponent(target: Props) {\n\n    let Component = target.children || target.render;\n    if (!Component) return null;\n    return React.createElement(ReactObserver(Component));\n}\n"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6cb44a74de79b5bbf2b8868dd870a9176a8e9a74"}
,"/Users/dio/Documents/demos/liob/src/store.ts": {"path":"/Users/dio/Documents/demos/liob/src/store.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":14},"end":{"line":3,"column":30}},"2":{"start":{"line":6,"column":8},"end":{"line":6,"column":31}},"3":{"start":{"line":7,"column":8},"end":{"line":7,"column":23}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":30}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":35}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":32}},"8":{"start":{"line":12,"column":8},"end":{"line":18,"column":10}},"9":{"start":{"line":13,"column":12},"end":{"line":13,"column":36}},"10":{"start":{"line":14,"column":12},"end":{"line":15,"column":23}},"11":{"start":{"line":15,"column":16},"end":{"line":15,"column":23}},"12":{"start":{"line":16,"column":12},"end":{"line":16,"column":67}},"13":{"start":{"line":16,"column":37},"end":{"line":16,"column":65}},"14":{"start":{"line":17,"column":12},"end":{"line":17,"column":31}},"15":{"start":{"line":21,"column":8},"end":{"line":21,"column":20}},"16":{"start":{"line":24,"column":22},"end":{"line":24,"column":37}},"17":{"start":{"line":25,"column":8},"end":{"line":28,"column":10}},"18":{"start":{"line":26,"column":12},"end":{"line":26,"column":20}},"19":{"start":{"line":27,"column":12},"end":{"line":27,"column":35}},"20":{"start":{"line":29,"column":8},"end":{"line":29,"column":26}},"21":{"start":{"line":32,"column":8},"end":{"line":33,"column":24}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":24}},"23":{"start":{"line":34,"column":8},"end":{"line":34,"column":71}},"24":{"start":{"line":37,"column":8},"end":{"line":37,"column":46}},"25":{"start":{"line":37,"column":26},"end":{"line":37,"column":44}},"26":{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},"27":{"start":{"line":39,"column":12},"end":{"line":39,"column":50}},"28":{"start":{"line":40,"column":12},"end":{"line":40,"column":35}},"29":{"start":{"line":44,"column":8},"end":{"line":44,"column":30}},"30":{"start":{"line":47,"column":0},"end":{"line":47,"column":22}},"31":{"start":{"line":48,"column":14},"end":{"line":48,"column":25}},"32":{"start":{"line":49,"column":0},"end":{"line":49,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":4},"end":{"line":5,"column":5}},"loc":{"start":{"line":5,"column":18},"end":{"line":19,"column":5}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":24},"end":{"line":12,"column":25}},"loc":{"start":{"line":12,"column":30},"end":{"line":18,"column":9}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":31},"end":{"line":16,"column":32}},"loc":{"start":{"line":16,"column":37},"end":{"line":16,"column":65}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":20,"column":19},"end":{"line":22,"column":5}},"line":20},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":13},"end":{"line":30,"column":5}},"line":23},"5":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":21},"end":{"line":25,"column":22}},"loc":{"start":{"line":25,"column":27},"end":{"line":28,"column":9}},"line":25},"6":{"name":"(anonymous_6)","decl":{"start":{"line":31,"column":4},"end":{"line":31,"column":5}},"loc":{"start":{"line":31,"column":26},"end":{"line":35,"column":5}},"line":31},"7":{"name":"(anonymous_7)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":19},"end":{"line":42,"column":5}},"line":36},"8":{"name":"(anonymous_8)","decl":{"start":{"line":37,"column":20},"end":{"line":37,"column":21}},"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":44}},"line":37},"9":{"name":"(anonymous_9)","decl":{"start":{"line":43,"column":4},"end":{"line":43,"column":5}},"loc":{"start":{"line":43,"column":19},"end":{"line":45,"column":5}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":12},"end":{"line":15,"column":23}},"type":"if","locations":[{"start":{"line":14,"column":12},"end":{"line":15,"column":23}},{"start":{"line":14,"column":12},"end":{"line":15,"column":23}}],"line":14},"1":{"loc":{"start":{"line":32,"column":8},"end":{"line":33,"column":24}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":33,"column":24}},{"start":{"line":32,"column":8},"end":{"line":33,"column":24}}],"line":32},"2":{"loc":{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":41,"column":9}},{"start":{"line":38,"column":8},"end":{"line":41,"column":9}}],"line":38},"3":{"loc":{"start":{"line":38,"column":12},"end":{"line":38,"column":46}},"type":"binary-expr","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":26}},{"start":{"line":38,"column":30},"end":{"line":38,"column":46}}],"line":38}},"s":{"0":6,"1":6,"2":6,"3":6,"4":6,"5":6,"6":6,"7":6,"8":6,"9":19,"10":19,"11":3,"12":16,"13":19,"14":16,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":208,"22":45,"23":163,"24":20,"25":23,"26":20,"27":3,"28":3,"29":20,"30":6,"31":6,"32":6},"f":{"0":6,"1":19,"2":19,"3":0,"4":0,"5":0,"6":208,"7":20,"8":23,"9":20},"b":{"0":[3,16],"1":[45,163],"2":[3,17],"3":[20,3]},"inputSourceMap":{"version":3,"file":"store.js","sourceRoot":"","sources":["store.ts"],"names":[],"mappings":";;AAOA,+BAA2B;AAE3B,MAAa,KAAK;IAAlB;QAEI,UAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;QAM/B,UAAK,GAAG,CAAC,CAAC;QAEV,aAAQ,GAAG,KAAK,CAAC;QAaV,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAE7C,qBAAgB,GAAe,EAAE,CAAC;QAOjC,eAAU,GAAY,KAAK,CAAC;QAWpC,aAAQ,GAAG,GAAG,EAAE;YACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC;IAKN,CAAC;IAjDG,OAAO,CAAC,KAAK;QACT,MAAM,KAAK,CAAC;IAChB,CAAC;IAMM,MAAM;QACT,MAAM,KAAK,GAAG,aAAM,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;YACd,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAQD,IAAI,eAAe;QACf,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAID,SAAS,CAAC,GAAgB;QACtB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;IACL,CAAC;IASD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;CACJ;AArDD,sBAqDC;AAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAE1B,kBAAe,KAAK,CAAC","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-08-29 21:34:11\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-30 00:34:16\n */\nimport Observer from './observer';\nimport useLog from './log';\n\nexport class Store {\n\n    queue: Set<number> = new Set();\n\n    onError(error) {\n        throw error;\n    }\n\n    stack = 0;\n\n    useDebug = false;\n\n    public useLog() {\n        const unLog = useLog();\n        this.unLog = () => {\n            unLog();\n            this.unLog = undefined;\n        };\n        return this.unLog;\n    }\n\n    unLog?: Function;\n\n    public observers: Map<number, Observer> = new Map();\n\n    public currentObservers: Observer[] = [];\n\n    get currentObserver() {\n        if (this.currentObservers.length === 0) return null;\n        return this.currentObservers[this.currentObservers.length - 1];\n    }\n\n    private readyToRun: boolean = false;\n\n    pushQueue(ids: Set<number>) {\n        ids.forEach(id => this.queue.add(id));\n\n        if (!this.inAction && !this.readyToRun) {\n            Promise.resolve().then(this.runQueue);\n            this.readyToRun = true;\n        }\n    }\n  \n    runQueue = () => {\n        this.readyToRun = false;\n        if (this.queue.size === 0) return;\n        this.queue.forEach(id => this.observers.get(id).run());\n        this.queue.clear();\n    };\n  \n    get inAction(): boolean {\n        return this.stack > 0;\n    }\n}\n\nconst store = new Store();\n\nexport default store;"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"128ac5460ea1bb7c9e1a6a7ff38101774e64cd39"}
,"/Users/dio/Documents/demos/liob/src/type.ts": {"path":"/Users/dio/Documents/demos/liob/src/type.ts","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":62}},"1":{"start":{"line":4,"column":19},"end":{"line":4,"column":40}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}}
,"/Users/dio/Documents/demos/liob/src/utils.ts": {"path":"/Users/dio/Documents/demos/liob/src/utils.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"1":{"start":{"line":13,"column":4},"end":{"line":13,"column":36}},"2":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"3":{"start":{"line":17,"column":4},"end":{"line":18,"column":51}},"4":{"start":{"line":18,"column":8},"end":{"line":18,"column":51}},"5":{"start":{"line":20,"column":0},"end":{"line":20,"column":30}},"6":{"start":{"line":22,"column":4},"end":{"line":23,"column":20}},"7":{"start":{"line":23,"column":8},"end":{"line":23,"column":20}},"8":{"start":{"line":24,"column":4},"end":{"line":25,"column":21}},"9":{"start":{"line":25,"column":8},"end":{"line":25,"column":21}},"10":{"start":{"line":26,"column":4},"end":{"line":26,"column":16}},"11":{"start":{"line":28,"column":0},"end":{"line":28,"column":48}}},"fnMap":{"0":{"name":"isFunction","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":19}},"loc":{"start":{"line":12,"column":24},"end":{"line":14,"column":1}},"line":12},"1":{"name":"invariant","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":18}},"loc":{"start":{"line":16,"column":52},"end":{"line":19,"column":1}},"line":16},"2":{"name":"isObservableObject","decl":{"start":{"line":21,"column":9},"end":{"line":21,"column":27}},"loc":{"start":{"line":21,"column":33},"end":{"line":27,"column":1}},"line":21}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":25},"end":{"line":16,"column":50}},"type":"default-arg","locations":[{"start":{"line":16,"column":35},"end":{"line":16,"column":50}}],"line":16},"1":{"loc":{"start":{"line":17,"column":4},"end":{"line":18,"column":51}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":18,"column":51}},{"start":{"line":17,"column":4},"end":{"line":18,"column":51}}],"line":17},"2":{"loc":{"start":{"line":22,"column":4},"end":{"line":23,"column":20}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":23,"column":20}},{"start":{"line":22,"column":4},"end":{"line":23,"column":20}}],"line":22},"3":{"loc":{"start":{"line":24,"column":4},"end":{"line":25,"column":21}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":25,"column":21}},{"start":{"line":24,"column":4},"end":{"line":25,"column":21}}],"line":24},"4":{"loc":{"start":{"line":24,"column":8},"end":{"line":24,"column":105}},"type":"binary-expr","locations":[{"start":{"line":24,"column":8},"end":{"line":24,"column":31}},{"start":{"line":24,"column":35},"end":{"line":24,"column":47}},{"start":{"line":24,"column":51},"end":{"line":24,"column":70}},{"start":{"line":24,"column":74},"end":{"line":24,"column":86}},{"start":{"line":24,"column":90},"end":{"line":24,"column":105}}],"line":24}},"s":{"0":6,"1":53,"2":6,"3":4,"4":0,"5":6,"6":53,"7":0,"8":53,"9":53,"10":0,"11":6},"f":{"0":53,"1":4,"2":53},"b":{"0":[0],"1":[0,4],"2":[0,53],"3":[53,0],"4":[53,2,0,0,0]},"inputSourceMap":{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH;;GAEG;AACH,SAAgB,UAAU,CAAC,EAAO;IAC9B,OAAO,OAAO,EAAE,KAAK,UAAU,CAAC;AACpC,CAAC;AAFD,gCAEC;AAID,SAAgB,SAAS,CAAC,IAAa,EAAE,UAAkB,eAAe;IACtE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC;AAED,SAAgB,kBAAkB,CAAC,GAAQ;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,YAAY,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAEpH,OAAO,IAAI,CAAC;AAChB,CAAC;AALD,gDAKC","sourcesContent":["/*\n * @Author: lijianzhang\n * @Date: 2018-08-29 21:36:27\n * @Last Modified by: lijianzhang\n * @Last Modified time: 2018-08-29 21:37:18\n */\n\n/**\n * @param {any} fn\n */\nexport function isFunction(fn: any) {\n    return typeof fn === 'function';\n}\n\n\n\nexport function invariant(cond: boolean, message: string = 'Illegal state') {\n    if (!cond) throw new Error(`[liob-error] ${message}`);\n}\n\nexport function isObservableObject(obj: any) {\n    if (Array.isArray(obj)) return true;\n    if (typeof obj !== 'object' || obj === null || obj instanceof Date || obj.nodeType || obj.setInterval) return false;\n\n    return true;\n}"]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f5ec3734278407784cf8e61fd91fb1de6452500d"}
}
