UNPKG

react-router-ga

Version:

[![Downloads](https://img.shields.io/npm/dm/react-router-ga)](https://npm.im/react-router-ga) [![Version](https://img.shields.io/npm/v/react-router-ga)](https://npm.im/react-router-ga) [![License](https://img.shields.io/npm/l/react-router-ga)](https://ope

49 lines (39 loc) 912 B
function Queue () { this.head = new Item('head', null) } module.exports = Queue Queue.prototype.append = function append (kind, value) { var item = new Item(kind, value) this.head.prepend(item) return item } Queue.prototype.isEmpty = function isEmpty () { return this.head.prev === this.head } Queue.prototype.first = function first () { return this.head.next } function Item (kind, value) { this.prev = this this.next = this this.kind = kind this.value = value } Item.prototype.prepend = function prepend (other) { other.prev = this.prev other.next = this other.prev.next = other other.next.prev = other } Item.prototype.dequeue = function dequeue () { var prev = this.prev var next = this.next prev.next = next next.prev = prev this.prev = this this.next = this return this.value } Item.prototype.isEmpty = function isEmpty () { return this.prev === this }