{"version":3,"names":["Stack","pushIfMissing","array","item","exists","len","length","i","push","removeIfExisting","index","indexOf","splice","isPrimitive","elem","getType","Object","prototype","toString","call","slice","type","identity","x","constructor","arr","el","pop","top","last"],"sources":["utils.js"],"sourcesContent":["export function pushIfMissing(array, item) {\n    // check for already existing.\n    var exists = false;\n    var len = array.length;\n    for(var i = 0; i < len; i++)\n        if(array[i] == item) {\n            exists = true;\n            break;\n        }\n\n    // do not add an already existing item\n    if (!exists) {\n        array.push(item);\n    }\n\n    // return true if the given element was pushed, otherwise false\n    return !exists;\n}\n\nexport function removeIfExisting(array, item) {\n    var index = array.indexOf(item);\n    if (index !== -1) {\n        array.splice(index, 1);\n        // return true if the given element was actually removed\n        return true;\n    }\n    return false;\n}\n\nexport class Stack {\n    constructor() {\n        this.arr = [];\n    }\n\n    push(el) {\n        this.arr.push(el);\n    }\n\n    pop() {\n        this.arr.length--;\n    }\n\n    top() {\n        return this.arr.last();\n    }\n}\n\nexport function isPrimitive(elem) {\n    var getType = function (elem) {\n        return Object.prototype.toString.call(elem).slice(8, -1);\n    };\n\n    var type = getType(elem);\n\n    return type === 'String' ||\n        type === 'RegExp' ||\n        type === 'Boolean' ||\n        type === 'Number' ||\n        type === 'Null' ||\n        type === 'Undefined';\n}\n\nexport function identity(x) { return x; }\n"],"mappings":";;;MA6BaA,KAAK;EA7BX,SAASC,aAAa,CAACC,KAAK,EAAEC,IAAI,EAAE;IACvC;IACA,IAAIC,MAAM,GAAG,KAAK;IAClB,IAAIC,GAAG,GAAGH,KAAK,CAACI,MAAM;IACtB,KAAI,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,EAAEE,CAAC,EAAE,EACvB,IAAGL,KAAK,CAACK,CAAC,CAAC,IAAIJ,IAAI,EAAE;MACjBC,MAAM,GAAG,IAAI;MACb;IACJ;;IAEJ;IACA,IAAI,CAACA,MAAM,EAAE;MACTF,KAAK,CAACM,IAAI,CAACL,IAAI,CAAC;IACpB;;IAEA;IACA,OAAO,CAACC,MAAM;EAClB;EAEO,SAASK,gBAAgB,CAACP,KAAK,EAAEC,IAAI,EAAE;IAC1C,IAAIO,KAAK,GAAGR,KAAK,CAACS,OAAO,CAACR,IAAI,CAAC;IAC/B,IAAIO,KAAK,KAAK,CAAC,CAAC,EAAE;MACdR,KAAK,CAACU,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MACtB;MACA,OAAO,IAAI;IACf;IACA,OAAO,KAAK;EAChB;EAoBO,SAASG,WAAW,CAACC,IAAI,EAAE;IAC9B,IAAIC,OAAO,GAAG,UAAUD,IAAI,EAAE;MAC1B,OAAOE,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACL,IAAI,CAAC,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAIC,IAAI,GAAGN,OAAO,CAACD,IAAI,CAAC;IAExB,OAAOO,IAAI,KAAK,QAAQ,IACpBA,IAAI,KAAK,QAAQ,IACjBA,IAAI,KAAK,SAAS,IAClBA,IAAI,KAAK,QAAQ,IACjBA,IAAI,KAAK,MAAM,IACfA,IAAI,KAAK,WAAW;EAC5B;EAEO,SAASC,QAAQ,CAACC,CAAC,EAAE;IAAE,OAAOA,CAAC;EAAE;EAAC;IAAA,eA9DzBtB,aAAa;IAAA,kBAmBbQ,gBAAgB;IAAA;IAAA,aA4BhBI,WAAW;IAAA,UAeXS;EAAQ;EAAA;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,oBAARA,yCAAQ;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,uBAfRT,4CAAW;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,4BA5BXJ,iDAAgB;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,yBAnBhBR,8CAAa;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA,iBA6BhBD,KAAK,GAAX,MAAMA,KAAK,CAAC;QACfwB,WAAW,GAAG;UACV,IAAI,CAACC,GAAG,GAAG,EAAE;QACjB;QAEAjB,IAAI,CAACkB,EAAE,EAAE;UACL,IAAI,CAACD,GAAG,CAACjB,IAAI,CAACkB,EAAE,CAAC;QACrB;QAEAC,GAAG,GAAG;UACF,IAAI,CAACF,GAAG,CAACnB,MAAM,EAAE;QACrB;QAEAsB,GAAG,GAAG;UACF,OAAO,IAAI,CAACH,GAAG,CAACI,IAAI,EAAE;QAC1B;MACJ,CAAC;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,iBAhBY7B,sCAAK;UAAA;QAAA;QAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}