{"version":3,"sources":["../src/LinkedList.js"],"names":[],"mappings":"AAAA;;;;;;;;;;IAEa,U,WAAA,U;AAET,0BACA;AAAA;;AACI,aAAK,MAAL,GAAa,CAAb;AACA,aAAK,KAAL,GAAY,IAAZ;AACA,aAAK,IAAL,GAAW,IAAX;AACH;;;;gCAEQ,E,EAAI,O,EACb;AACI,gBAAI,OAAO,KAAK,KAAhB;gBAAuB,IAAI,KAAK,MAAhC;AACA,iBAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,CAApB,EAAuB,GAAvB,EACA;AACI,mBAAG,IAAH,CAAQ,OAAR,EAAiB,IAAjB,EAAuB,CAAvB;AACA,uBAAO,KAAK,IAAZ;AACH;AACJ;;;2BAEG,C,EACJ;AACI,gBAAI,EAAE,KAAK,CAAL,IAAU,IAAI,KAAK,MAArB,CAAJ,EACA;AACI,uBAAO,IAAP;AACH;AACD,gBAAI,OAAO,KAAK,KAAhB;AACA,mBAAO,GAAP,EACA;AACI,uBAAO,KAAK,IAAZ;AACH;AACD,mBAAO,IAAP;AACH;;;qCAGD;AACI,gBAAI,IAAI,KAAK,KAAL,CAAW,KAAK,MAAL,KAAgB,KAAK,MAAhC,CAAR;AACA,mBAAO,KAAK,EAAL,CAAQ,CAAR,CAAP;AACH;;;kCAGD;AACI,gBAAI,MAAM,EAAV;gBAAc,OAAO,KAAK,KAA1B;gBAAiC,IAAI,KAAK,MAA1C;AACA,mBAAO,GAAP,EACA;AACI,oBAAI,IAAJ,CAAS,KAAK,IAAL,IAAa,IAAtB;AACA,uBAAO,KAAK,IAAZ;AACH;AACD,mBAAO,GAAP;AACH;;;;;;AAGL,WAAW,SAAX,CAAqB,IAArB,GAA4B,WAAW,SAAX,CAAqB,OAAjD","file":"LinkedList.js","sourcesContent":["\"use strict\";\r\n\r\nexport class LinkedList\r\n{\r\n constructor ()\r\n {\r\n this.length= 0;\r\n this.first= null;\r\n this.last= null;\r\n }\r\n\r\n forEach (fn, context)\r\n {\r\n var node = this.first, n = this.length;\r\n for (var i = 0; i < n; i++)\r\n {\r\n fn.call(context, node, i);\r\n node = node.next;\r\n }\r\n }\r\n\r\n at (i)\r\n {\r\n if (!(i >= 0 && i < this.length))\r\n {\r\n return null;\r\n }\r\n var node = this.first;\r\n while (i--)\r\n {\r\n node = node.next;\r\n }\r\n return node;\r\n }\r\n\r\n randomNode ()\r\n {\r\n var n = Math.floor(Math.random() * this.length);\r\n return this.at(n);\r\n }\r\n\r\n toArray ()\r\n {\r\n var arr = [], node = this.first, n = this.length;\r\n while (n--)\r\n {\r\n arr.push(node.data || node);\r\n node = node.next;\r\n }\r\n return arr;\r\n }\r\n}\r\n\r\nLinkedList.prototype.each = LinkedList.prototype.forEach;"]}