UNPKG

avmjs

Version:
1 lines 28.8 kB
{"filter":false,"title":"avm.js","tooltip":"/avm.js","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":171,"column":7},"end":{"row":171,"column":8},"action":"insert","lines":["m"],"id":1450}],[{"start":{"row":171,"column":8},"end":{"row":171,"column":9},"action":"insert","lines":["."],"id":1451}],[{"start":{"row":171,"column":9},"end":{"row":171,"column":10},"action":"insert","lines":["p"],"id":1452}],[{"start":{"row":171,"column":10},"end":{"row":171,"column":11},"action":"insert","lines":["u"],"id":1453}],[{"start":{"row":171,"column":11},"end":{"row":171,"column":12},"action":"insert","lines":["s"],"id":1454}],[{"start":{"row":171,"column":12},"end":{"row":171,"column":13},"action":"insert","lines":["h"],"id":1455}],[{"start":{"row":171,"column":13},"end":{"row":171,"column":15},"action":"insert","lines":["()"],"id":1456}],[{"start":{"row":171,"column":14},"end":{"row":171,"column":15},"action":"insert","lines":["f"],"id":1457}],[{"start":{"row":171,"column":16},"end":{"row":171,"column":17},"action":"insert","lines":[";"],"id":1458}],[{"start":{"row":171,"column":14},"end":{"row":171,"column":15},"action":"remove","lines":["f"],"id":1459}],[{"start":{"row":171,"column":14},"end":{"row":171,"column":15},"action":"insert","lines":["c"],"id":1460}],[{"start":{"row":60,"column":37},"end":{"row":61,"column":0},"action":"insert","lines":["",""],"id":1461},{"start":{"row":61,"column":0},"end":{"row":61,"column":6},"action":"insert","lines":[" "]}],[{"start":{"row":61,"column":6},"end":{"row":61,"column":7},"action":"insert","lines":["v"],"id":1462}],[{"start":{"row":61,"column":7},"end":{"row":61,"column":8},"action":"insert","lines":["a"],"id":1463}],[{"start":{"row":61,"column":8},"end":{"row":61,"column":9},"action":"insert","lines":["r"],"id":1464}],[{"start":{"row":61,"column":9},"end":{"row":61,"column":10},"action":"insert","lines":[" "],"id":1465}],[{"start":{"row":61,"column":10},"end":{"row":61,"column":11},"action":"insert","lines":["f"],"id":1466}],[{"start":{"row":61,"column":11},"end":{"row":61,"column":12},"action":"insert","lines":["a"],"id":1467}],[{"start":{"row":61,"column":12},"end":{"row":61,"column":13},"action":"insert","lines":["i"],"id":1468}],[{"start":{"row":61,"column":13},"end":{"row":61,"column":14},"action":"insert","lines":["l"],"id":1469}],[{"start":{"row":61,"column":14},"end":{"row":61,"column":15},"action":"insert","lines":["e"],"id":1470}],[{"start":{"row":61,"column":15},"end":{"row":61,"column":16},"action":"insert","lines":["d"],"id":1471}],[{"start":{"row":61,"column":16},"end":{"row":61,"column":17},"action":"insert","lines":[" "],"id":1472}],[{"start":{"row":61,"column":17},"end":{"row":61,"column":18},"action":"insert","lines":["="],"id":1473}],[{"start":{"row":61,"column":18},"end":{"row":61,"column":19},"action":"insert","lines":[" "],"id":1474}],[{"start":{"row":61,"column":19},"end":{"row":61,"column":20},"action":"insert","lines":["f"],"id":1475}],[{"start":{"row":61,"column":20},"end":{"row":61,"column":21},"action":"insert","lines":["a"],"id":1476}],[{"start":{"row":61,"column":21},"end":{"row":61,"column":22},"action":"insert","lines":["l"],"id":1477}],[{"start":{"row":61,"column":22},"end":{"row":61,"column":23},"action":"insert","lines":["s"],"id":1478}],[{"start":{"row":61,"column":23},"end":{"row":61,"column":24},"action":"insert","lines":["e"],"id":1479}],[{"start":{"row":61,"column":24},"end":{"row":61,"column":25},"action":"insert","lines":[";"],"id":1480}],[{"start":{"row":68,"column":24},"end":{"row":69,"column":0},"action":"insert","lines":["",""],"id":1481},{"start":{"row":69,"column":0},"end":{"row":69,"column":10},"action":"insert","lines":[" "]}],[{"start":{"row":69,"column":10},"end":{"row":69,"column":11},"action":"insert","lines":["f"],"id":1482}],[{"start":{"row":69,"column":11},"end":{"row":69,"column":12},"action":"insert","lines":["a"],"id":1483}],[{"start":{"row":69,"column":12},"end":{"row":69,"column":13},"action":"insert","lines":["i"],"id":1484}],[{"start":{"row":69,"column":13},"end":{"row":69,"column":14},"action":"insert","lines":["l"],"id":1485}],[{"start":{"row":69,"column":14},"end":{"row":69,"column":15},"action":"insert","lines":["e"],"id":1486}],[{"start":{"row":69,"column":15},"end":{"row":69,"column":16},"action":"insert","lines":["d"],"id":1487}],[{"start":{"row":69,"column":16},"end":{"row":69,"column":17},"action":"insert","lines":[" "],"id":1488}],[{"start":{"row":69,"column":17},"end":{"row":69,"column":18},"action":"insert","lines":["="],"id":1489}],[{"start":{"row":69,"column":18},"end":{"row":69,"column":19},"action":"insert","lines":[" "],"id":1490}],[{"start":{"row":69,"column":19},"end":{"row":69,"column":20},"action":"insert","lines":["t"],"id":1491}],[{"start":{"row":69,"column":20},"end":{"row":69,"column":21},"action":"insert","lines":["r"],"id":1492}],[{"start":{"row":69,"column":21},"end":{"row":69,"column":22},"action":"insert","lines":["u"],"id":1493}],[{"start":{"row":69,"column":22},"end":{"row":69,"column":23},"action":"insert","lines":["e"],"id":1494}],[{"start":{"row":69,"column":23},"end":{"row":69,"column":24},"action":"insert","lines":[";"],"id":1495}],[{"start":{"row":71,"column":7},"end":{"row":72,"column":0},"action":"insert","lines":["",""],"id":1496},{"start":{"row":72,"column":0},"end":{"row":72,"column":6},"action":"insert","lines":[" "]}],[{"start":{"row":72,"column":6},"end":{"row":72,"column":7},"action":"insert","lines":["i"],"id":1497}],[{"start":{"row":72,"column":7},"end":{"row":72,"column":8},"action":"insert","lines":["f"],"id":1498}],[{"start":{"row":72,"column":8},"end":{"row":72,"column":10},"action":"insert","lines":["()"],"id":1499}],[{"start":{"row":72,"column":9},"end":{"row":72,"column":10},"action":"insert","lines":["f"],"id":1500}],[{"start":{"row":72,"column":10},"end":{"row":72,"column":11},"action":"insert","lines":["a"],"id":1501}],[{"start":{"row":72,"column":11},"end":{"row":72,"column":12},"action":"insert","lines":["i"],"id":1502}],[{"start":{"row":72,"column":12},"end":{"row":72,"column":13},"action":"insert","lines":["l"],"id":1503}],[{"start":{"row":72,"column":13},"end":{"row":72,"column":14},"action":"insert","lines":["e"],"id":1504}],[{"start":{"row":72,"column":14},"end":{"row":72,"column":15},"action":"insert","lines":["d"],"id":1505}],[{"start":{"row":72,"column":16},"end":{"row":72,"column":17},"action":"insert","lines":["{"],"id":1506}],[{"start":{"row":72,"column":17},"end":{"row":72,"column":18},"action":"insert","lines":["}"],"id":1507}],[{"start":{"row":72,"column":18},"end":{"row":72,"column":19},"action":"insert","lines":["e"],"id":1508}],[{"start":{"row":72,"column":19},"end":{"row":72,"column":20},"action":"insert","lines":["l"],"id":1509}],[{"start":{"row":72,"column":20},"end":{"row":72,"column":21},"action":"insert","lines":["s"],"id":1510}],[{"start":{"row":72,"column":21},"end":{"row":72,"column":22},"action":"insert","lines":["e"],"id":1511}],[{"start":{"row":72,"column":22},"end":{"row":72,"column":23},"action":"insert","lines":["{"],"id":1512}],[{"start":{"row":73,"column":15},"end":{"row":74,"column":0},"action":"insert","lines":["",""],"id":1513},{"start":{"row":74,"column":0},"end":{"row":74,"column":6},"action":"insert","lines":[" "]}],[{"start":{"row":74,"column":6},"end":{"row":74,"column":7},"action":"insert","lines":["}"],"id":1514}],[{"start":{"row":72,"column":17},"end":{"row":74,"column":6},"action":"insert","lines":[""," "," "],"id":1515}],[{"start":{"row":75,"column":6},"end":{"row":75,"column":8},"action":"insert","lines":[" "],"id":1516}],[{"start":{"row":73,"column":8},"end":{"row":73,"column":9},"action":"insert","lines":["v"],"id":1517}],[{"start":{"row":73,"column":9},"end":{"row":73,"column":10},"action":"insert","lines":["m"],"id":1518}],[{"start":{"row":73,"column":10},"end":{"row":73,"column":11},"action":"insert","lines":["."],"id":1519}],[{"start":{"row":73,"column":11},"end":{"row":73,"column":12},"action":"insert","lines":["f"],"id":1520}],[{"start":{"row":73,"column":12},"end":{"row":73,"column":13},"action":"insert","lines":["a"],"id":1521}],[{"start":{"row":73,"column":13},"end":{"row":73,"column":14},"action":"insert","lines":["i"],"id":1522}],[{"start":{"row":73,"column":14},"end":{"row":73,"column":15},"action":"insert","lines":["l"],"id":1523}],[{"start":{"row":73,"column":15},"end":{"row":73,"column":16},"action":"insert","lines":["e"],"id":1524}],[{"start":{"row":73,"column":16},"end":{"row":73,"column":17},"action":"insert","lines":["d"],"id":1525}],[{"start":{"row":73,"column":17},"end":{"row":73,"column":19},"action":"insert","lines":["()"],"id":1526}],[{"start":{"row":73,"column":18},"end":{"row":73,"column":19},"action":"insert","lines":["v"],"id":1527}],[{"start":{"row":73,"column":19},"end":{"row":73,"column":20},"action":"insert","lines":["m"],"id":1528}],[{"start":{"row":73,"column":20},"end":{"row":73,"column":21},"action":"insert","lines":["."],"id":1529}],[{"start":{"row":73,"column":21},"end":{"row":73,"column":22},"action":"insert","lines":["e"],"id":1530}],[{"start":{"row":73,"column":22},"end":{"row":73,"column":23},"action":"insert","lines":["r"],"id":1531}],[{"start":{"row":73,"column":23},"end":{"row":73,"column":24},"action":"insert","lines":["r"],"id":1532}],[{"start":{"row":73,"column":24},"end":{"row":73,"column":25},"action":"insert","lines":["o"],"id":1533}],[{"start":{"row":73,"column":25},"end":{"row":73,"column":26},"action":"insert","lines":["r"],"id":1534}],[{"start":{"row":73,"column":26},"end":{"row":73,"column":28},"action":"insert","lines":["()"],"id":1535}],[{"start":{"row":73,"column":29},"end":{"row":73,"column":30},"action":"insert","lines":[";"],"id":1536}],[{"start":{"row":144,"column":5},"end":{"row":144,"column":6},"action":"remove","lines":[";"],"id":1537}],[{"start":{"row":256,"column":0},"end":{"row":259,"column":5},"action":"remove","lines":[" var e = this.error();"," if(e){"," // find catch !!!"," }"],"id":1538}],[{"start":{"row":256,"column":0},"end":{"row":258,"column":0},"action":"remove","lines":[""," ",""],"id":1539}],[{"start":{"row":147,"column":3},"end":{"row":147,"column":5},"action":"remove","lines":["do"],"id":1543},{"start":{"row":147,"column":3},"end":{"row":147,"column":4},"action":"insert","lines":["w"]}],[{"start":{"row":147,"column":4},"end":{"row":147,"column":5},"action":"insert","lines":["h"],"id":1544}],[{"start":{"row":147,"column":5},"end":{"row":147,"column":6},"action":"insert","lines":["i"],"id":1545}],[{"start":{"row":147,"column":6},"end":{"row":147,"column":7},"action":"insert","lines":["l"],"id":1546}],[{"start":{"row":147,"column":7},"end":{"row":147,"column":8},"action":"insert","lines":["e"],"id":1547}],[{"start":{"row":157,"column":6},"end":{"row":157,"column":11},"action":"remove","lines":["while"],"id":1548}],[{"start":{"row":157,"column":5},"end":{"row":157,"column":6},"action":"remove","lines":["-"],"id":1549}],[{"start":{"row":179,"column":0},"end":{"row":181,"column":0},"action":"remove","lines":[" var currentStack = vm.callStack.slice();"," var failed = vm.failed;",""],"id":1550}],[{"start":{"row":180,"column":0},"end":{"row":182,"column":0},"action":"insert","lines":[" var currentStack = vm.callStack.slice();"," var failed = vm.failed;",""],"id":1551}],[{"start":{"row":180,"column":0},"end":{"row":180,"column":2},"action":"insert","lines":[" "],"id":1552},{"start":{"row":181,"column":0},"end":{"row":181,"column":2},"action":"insert","lines":[" "]}],[{"start":{"row":0,"column":0},"end":{"row":328,"column":2},"action":"remove","lines":["var avm = (function(){","\tif(!AtomEnumerator){","\t\tvar AtomEnumerator = function(a){","\t\t\tthis.array = a;","\t\t\tthis.index = -1;","\t\t};","","\t\tAtomEnumerator.prototype = {","\t\t\tnext: function(){","\t\t\t\tthis.index++;","\t\t\t\treturn this.index < this.array.length;","\t\t\t},","\t\t\tcurrent: function(){","\t\t\t\treturn this.array[this.index];","\t\t\t},","\t\t\tcurrentIndex: function(){","\t\t\t return this.index;","\t\t\t}","\t\t};","\t}","","function isFunction(functionToCheck) {"," var getType = {};"," return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';","}","","function isString(stringToCheck){"," if(stringToCheck.constructor == String)"," return true;"," return typeof stringToCheck == 'string' || stringToCheck instanceof String;","}","","var vmCommands = {"," \"async\": function(vm,s){"," var flist = s[1];"," if(!Array.isArray(flist)){"," flist = [flist];"," }",""," "," var ae = new AtomEnumerator(flist);"," var pl = [];"," "," var fa = s[2];"," if(!fa){"," fa = function(r){"," return r;"," };"," }"," "," vm.push([function(){"," var e = vm.error();"," if(!e){"," var ra = pl.map(function(ri){ return ri.r; }); "," var v = fa.apply(vm.self,ra);"," vm.value(v);"," }"," }]);",""," function next(){"," var a = new AtomEnumerator(pl);"," var failed = false;"," while(a.next()){"," var i = a.current();"," if(!i.state){"," return;"," }"," if(/failed/i.test(i.state)){"," vm.error(i.r);"," failed = true;"," }"," }"," if(failed){"," vm.failed(vm.error());"," }else{"," vm.run();"," }"," }"," "," function wirePromise(p){"," var pi = {"," p: p,"," i: i"," };"," p.then(function(r){"," pi.r = r;"," pi.state = 'done';"," next();"," });"," p.fail(function(r){"," pi.r = r;"," pi.state = 'failed';"," next();"," });"," return pi;"," }"," "," while(ae.next()){"," var f = ae.current();"," var i = ae.currentIndex();"," var p = f.apply(vm.self,vm);"," pl.push(wirePromise(p));"," }"," "," vm.stop = true;"," },"," \"if\": function(vm, s){"," s = s[1];"," vm.push(function(){"," if(vm.value()){"," vm.push(s.then);"," }else{"," var e = s[\"else\"];"," if(e){"," vm.push(e);"," }"," }"," });"," vm.push(s.test);"," },"," \"switch\": function(vm,s){"," s = s[1];"," vm.push(function(){"," var r = vm.value();"," var cs = s.cases;"," var c = cs[r];"," if(c){"," vm.push(c);"," }else{"," c = s[\"default\"];"," if(c){"," vm.push(c);"," }"," }"," });"," vm.push(s.test);"," },"," \"for\": function(vm,s){"," s = s[1];"," function runFor(){"," var r = vm.value();"," if(r){"," vm.push([s.body,s.update, s.test, runFor]);"," }"," }"," vm.push([s.init, s.test, runFor]);"," },"," \"while\": function(vm,s){"," s = s[1];"," function runDo(){"," var r = vm.value();"," if(r){"," vm.push([s.body,s.test,runDo]);"," }"," }"," vm.push([s.test,runDo]);"," },"," \"do\": function(vm,s){"," s = s[1];"," function runDo(){"," var r = vm.value();"," if(r){"," vm.push([s.body,s.test,runDo]);"," }"," }"," vm.push([s.body,s.test,runDo]);"," },"," \"try\": function(vm,s){"," "," s = s[1];"," var f = s['finally'];"," var c = s['catch'];"," "," if(f){"," vm.push(f);"," }"," if(c){"," vm.push(c);"," }"," if(c){"," var currentStack = vm.callStack.slice();"," var failed = vm.failed;"," vm.failed = function(e){"," vm.callStack = currentStack; "," vm.failed = failed;"," vm.run();"," };"," }"," "," vm.push(s['try']);"," }","};","","function asyncVM(thisArg,s){"," "," this.isAsyncVMPromise = true;"," "," this.self = thisArg;"," this.failQ = [];"," this.thenQ = [];"," this.statements = s;"," this.callStack = [];"," this.catchStack = [];"," this.stop = false;",""," var self = this;"," this.success = function(r){"," self.onSuccess(r);"," };"," this.failed = function(r){"," self.onFailed(r);"," };","}","","asyncVM.prototype = {"," "," value: function(v){"," if(v === undefined)"," return this._value;"," this._value = v;"," },"," error: function(v){"," if(v === undefined){"," return this._error;"," }"," this._error = v;"," },"," "," then: function(f){"," this.thenQ.push(f);"," },"," fail: function(f){"," this.failQ.push(f);"," },"," onSuccess: function(r){"," this.value(r);"," this.run();"," },"," onFailed: function(r){"," this.value(r);"," },"," push: function(s){"," this.callStack.push({ "," statements: this.statements"," });"," if(!Array.isArray(s)) s = [s];"," this.statements = s;"," },"," run: function(s){"," if(s!==undefined){"," this.push(s);"," }"," this.stop = false;"," this.invoke();"," },"," invoke: function(){"," if(this.statements.length==0){"," if(this.callStack.length){"," var s = this.callStack.pop();"," this.statements = s.statements;"," this.invoke();"," return;"," }else{"," // done? call then..."," var v = this.value();"," var ae =new AtomEnumerator(this.thenQ);"," while(ae.next()){"," var f = ae.current();"," f.apply(this.self, v);"," }"," }"," return;"," }"," var f = this.statements[0];"," if(isString(f)){"," var s = this.statements;"," this.statements = [];"," this.invokeStep(s);"," }else{"," if(Array.isArray(f)){"," this.statements.shift();"," this.push(f);"," this.invoke();"," }else{"," this.invokeStep( this.statements.shift() ); "," }"," }"," },"," invokeStep: function(s){"," if(isFunction(s)){"," try{"," var r = s.call(this.self,this.value());"," if(r!==undefined){"," this.value(r);"," }"," }catch(e){"," this.error(e); "," this.failed(e);"," }"," }else{"," var a = s[0];"," var af = vmCommands[a];"," if(!af){"," throw new Error(\"No vm command found for \" + a);"," }"," else{"," console.log('executing ' + a); "," }"," af(this,s);"," }"," if(!this.stop){"," this.invoke();"," }"," }","};","","return function asyncInvoke(thisArg, statements){"," var $avm = new asyncVM(thisArg,statements);"," setTimeout(function(){"," $avm.invoke();"," },1);"," return $avm;","};","","})();","","exports.avm = function(thisArg, statements){"," return avm(thisArg,statements);","};"],"id":1553},{"start":{"row":0,"column":0},"end":{"row":329,"column":0},"action":"insert","lines":["var avm = (function () {"," if (!AtomEnumerator) {"," var AtomEnumerator = function (a) {"," this.array = a;"," this.index = -1;"," };",""," AtomEnumerator.prototype = {"," next: function () {"," this.index++;"," return this.index < this.array.length;"," },"," current: function () {"," return this.array[this.index];"," },"," currentIndex: function () {"," return this.index;"," }"," };"," }",""," function isFunction(functionToCheck) {"," var getType = {};"," return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';"," }",""," function isString(stringToCheck) {"," if (stringToCheck.constructor == String)"," return true;"," return typeof stringToCheck == 'string' || stringToCheck instanceof String;"," }",""," var vmCommands = {"," \"async\": function (vm, s) {"," var flist = s[1];"," if (!Array.isArray(flist)) {"," flist = [flist];"," }","",""," var ae = new AtomEnumerator(flist);"," var pl = [];",""," var fa = s[2];"," if (!fa) {"," fa = function (r) {"," return r;"," };"," }",""," vm.push([function () {"," var e = vm.error();"," if (!e) {"," var ra = pl.map(function (ri) { return ri.r; });"," var v = fa.apply(vm.self, ra);"," vm.value(v);"," }"," }]);",""," function next() {"," var a = new AtomEnumerator(pl);"," var failed = false;"," while (a.next()) {"," var i = a.current();"," if (!i.state) {"," return;"," }"," if (/failed/i.test(i.state)) {"," vm.error(i.r);"," failed = true;"," }"," }"," if (failed) {"," vm.failed(vm.error());"," } else {"," vm.run();"," }"," }",""," function wirePromise(p) {"," var pi = {"," p: p,"," i: i"," };"," p.then(function (r) {"," pi.r = r;"," pi.state = 'done';"," next();"," });"," p.fail(function (r) {"," pi.r = r;"," pi.state = 'failed';"," next();"," });"," return pi;"," }",""," while (ae.next()) {"," var f = ae.current();"," var i = ae.currentIndex();"," var p = f.apply(vm.self, vm);"," pl.push(wirePromise(p));"," }",""," vm.stop = true;"," },"," \"if\": function (vm, s) {"," s = s[1];"," vm.push(function () {"," if (vm.value()) {"," vm.push(s.then);"," } else {"," var e = s[\"else\"];"," if (e) {"," vm.push(e);"," }"," }"," });"," vm.push(s.test);"," },"," \"switch\": function (vm, s) {"," s = s[1];"," vm.push(function () {"," var r = vm.value();"," var cs = s.cases;"," var c = cs[r];"," if (c) {"," vm.push(c);"," } else {"," c = s[\"default\"];"," if (c) {"," vm.push(c);"," }"," }"," });"," vm.push(s.test);"," },"," \"for\": function (vm, s) {"," s = s[1];"," function runFor() {"," var r = vm.value();"," if (r) {"," vm.push([s.body, s.update, s.test, runFor]);"," }"," }"," vm.push([s.init, s.test, runFor]);"," },"," \"while\": function (vm, s) {"," s = s[1];"," function runDo() {"," var r = vm.value();"," if (r) {"," vm.push([s.body, s.test, runDo]);"," }"," }"," vm.push([s.test, runDo]);"," },"," \"do\": function (vm, s) {"," s = s[1];"," function runDo() {"," var r = vm.value();"," if (r) {"," vm.push([s.body, s.test, runDo]);"," }"," }"," vm.push([s.body, s.test, runDo]);"," },"," \"try\": function (vm, s) {",""," s = s[1];"," var f = s['finally'];"," var c = s['catch'];",""," if (f) {"," vm.push(f);"," }"," if (c) {"," vm.push(c);"," }"," if (c) {"," var currentStack = vm.callStack.slice();"," var failed = vm.failed;"," vm.failed = function (e) {"," vm.callStack = currentStack;"," vm.failed = failed;"," vm.run();"," };"," }",""," vm.push(s['try']);"," }"," };",""," function asyncVM(thisArg, s) {",""," this.isAsyncVMPromise = true;",""," this.self = thisArg;"," this.failQ = [];"," this.thenQ = [];"," this.statements = s;"," this.callStack = [];"," this.catchStack = [];"," this.stop = false;",""," var self = this;"," this.success = function (r) {"," self.onSuccess(r);"," };"," this.failed = function (r) {"," self.onFailed(r);"," };"," }",""," asyncVM.prototype = {",""," value: function (v) {"," if (v === undefined)"," return this._value;"," this._value = v;"," },"," error: function (v) {"," if (v === undefined) {"," return this._error;"," }"," this._error = v;"," },",""," then: function (f) {"," this.thenQ.push(f);"," },"," fail: function (f) {"," this.failQ.push(f);"," },"," onSuccess: function (r) {"," this.value(r);"," this.run();"," },"," onFailed: function (r) {"," this.value(r);"," },"," push: function (s) {"," this.callStack.push({"," statements: this.statements"," });"," if (!Array.isArray(s)) {"," s = [s];"," } else {"," s = s.slice(0);"," }"," this.statements = s;"," },"," run: function (s) {"," if (s !== undefined) {"," this.push(s);"," }"," this.stop = false;"," this.invoke();"," },"," invoke: function () {"," if (this.statements.length == 0) {"," if (this.callStack.length) {"," var s = this.callStack.pop();"," this.statements = s.statements;"," this.invoke();"," return;"," } else {"," // done? call then..."," var v = this.value();"," var ae = new AtomEnumerator(this.thenQ);"," while (ae.next()) {"," var f = ae.current();"," f.apply(this.self, v);"," }"," }"," return;"," }"," var f = this.statements[0];"," if (isString(f)) {"," var s = this.statements;"," this.statements = [];"," this.invokeStep(s);"," } else {"," if (Array.isArray(f)) {"," this.statements.shift();"," this.push(f);"," this.invoke();"," } else {"," this.invokeStep(this.statements.shift());"," }"," }"," },"," invokeStep: function (s) {"," if (isFunction(s)) {"," try {"," var r = s.call(this.self, this.value());"," if (r !== undefined) {"," this.value(r);"," }"," } catch (e) {"," this.error(e);"," this.failed(e);"," }"," } else {"," var a = s[0];"," var af = vmCommands[a];"," if (!af) {"," throw new Error(\"No vm command found for \" + a);"," }"," else {"," console.log('executing ' + a);"," }"," af(this, s);"," }"," if (!this.stop) {"," this.invoke();"," }"," }"," };",""," return function asyncInvoke(thisArg, statements) {"," var $avm = new asyncVM(thisArg, statements);"," setTimeout(function () {"," $avm.invoke();"," }, 1);"," return $avm;"," };","","})();",""]}]]},"ace":{"folds":[],"scrolltop":3936,"scrollleft":0,"selection":{"start":{"row":329,"column":0},"end":{"row":329,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1434281071864,"hash":"13955f57f0ca6a9d19947d54ce41d3b6d6260cfa"}