/*! * scorebook. * https://www.github.com/ryansmith94/Scorebook * * Copyright 2017, ryansmith94 and contributors. * Released under the MIT license. * https://github.com/ryansmith94/Scorebook/blob/master/license.md * * Version 3.0.0. */ !function(a,b,c){"use strict";var d=function(a){return Array.prototype.slice.call(a,0)},e=function(a){var b=Object.keys(a),c=b.length;return function(d){for(var e=0;c>=e&&d[b[e]]===a[b[e]];)e+=1;return e>c}},f=function(a,b,c,e){return e=e||function(a){return a},function(){var f=b[b.length-1],g=e.apply({},d(arguments));return g.id=c.length,g.parent=f,g.children=[],f.children.push(g),c.push(g),a}},g=function(a){return function(b){return a.filter(e(b))}},h=function(a){var a=b(a);return isNaN(a)?0:a},i=function(){var a=this;return a.innings=[],a.overs=[],a.balls=[],a.wickets=[],a.addInnings=f(a,[{children:[]}],a.innings,function(a){return{battingTeam:a}}),a.addOver=f(a,a.innings,a.overs,function(a){return{bowler:a}}),a.addBall=f(a,a.overs,a.balls,function(b,d,e){return e=e||{},{batsman:d||a.balls[a.balls.length-1].batsman,runs:h(b),wideBall:c(e.wideBall),noBall:c(e.noBall),byes:c(e.byes),legByes:c(e.legByes),wagonX:h(e.wagonX),wagonY:h(e.wagonY),pitchX:h(e.pitchX),pitchY:h(e.pitchY),batPen:h(e.batPen),bwlPen:h(e.bwlPen),dateTime:new Date}}),a.addWicket=f(a,a.balls,a.wickets,function(b,c,d){return{batsman:b||a.balls[a.balls.length-1].batsman,howOut:c,fielder:d}}),a.getInnings=g(a.innings),a.getOvers=g(a.overs),a.getBalls=g(a.balls),a.getWickets=g(a.wickets),a.undo=function(){var b=a.wickets[a.wickets.length-1]||{parent:null},c=a.balls[a.balls.length-1]||{parent:null},d=a.overs[a.overs.length-1]||{parent:null},e=a.innings[a.innings.length-1]||{parent:null},f=b.parent===c?[a.wickets,c]:c.parent===d?[a.balls,d]:d.parent===e?[a.overs,e]:[a.innings,{children:[e]}];return f[1].children.pop(),f[0].pop(),a},a},j=function(){return new i};"function"==typeof a.define?a.define("scorebook",[],function(){return j}):a.scorebook=j}(this,Number,Boolean);