UNPKG

@stdlib/utils-fifo

Version:

First-in-first-out (FIFO) queue.

8 lines (7 loc) 1.84 kB
"use strict";var l=function(e,t){return function(){return t||e((t={exports:{}}).exports,t),t.exports}};var a=l(function(N,h){ function d(e){return this.next=null,this.prev=null,this.value=e,this}h.exports=d });var _=l(function(m,p){ var n=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),x=require('@stdlib/utils-define-nonenumerable-read-only-accessor/dist'),f=require('@stdlib/symbol-iterator/dist'),q=a();function i(){return this instanceof i?(this._length=0,this._first=null,this._last=null,this):new i}n(i.prototype,"clear",function(){return this._length=0,this._first=null,this._last=null,this});n(i.prototype,"first",function(){if(this._length)return this._first.value});n(i.prototype,"iterator",function(){var t,r,s,o,u;return s=this,u=-1,t=this.toArray(),r={},n(r,"next",v),n(r,"return",c),f&&n(r,f,y),r;function v(){return u+=1,o||u>=t.length?{done:!0}:{value:t[u],done:!1}}function c(g){return o=!0,arguments.length?{value:g,done:!0}:{done:!0}}function y(){return s.iterator()}});n(i.prototype,"last",function(){if(this._length)return this._last.value});x(i.prototype,"length",function(){return this._length});n(i.prototype,"pop",function(){var t;return this._length&&(t=this._first.value,this._first.next?(this._first=this._first.next,this._first.prev=null):(this._first=null,this._last=null),this._length-=1),t});n(i.prototype,"push",function(t){var r;return r=new q(t),this._length===0?(this._first=r,this._last=r):(r.prev=this._last,this._last.next=r,this._last=r),this._length+=1,this});n(i.prototype,"toArray",function(){var t,r,s;for(r=[],t=this._first,s=0;s<this._length;s++)r.push(t.value),t=t.next;return r});n(i.prototype,"toJSON",function(){var t={};return t.type="fifo",t.data=this.toArray(),t});p.exports=i });var A=_();module.exports=A; /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map