source: frontend/node_modules/q/queue.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 11 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 941 bytes
Line 
1
2var Q = require("./q");
3
4module.exports = Queue;
5function Queue() {
6 var ends = Q.defer();
7 var closed = Q.defer();
8 return {
9 put: function (value) {
10 var next = Q.defer();
11 ends.resolve({
12 head: value,
13 tail: next.promise
14 });
15 ends.resolve = next.resolve;
16 },
17 get: function () {
18 var result = ends.promise.get("head");
19 ends.promise = ends.promise.get("tail");
20 return result.fail(function (error) {
21 closed.resolve(error);
22 throw error;
23 });
24 },
25 closed: closed.promise,
26 close: function (error) {
27 error = error || new Error("Can't get value from closed queue");
28 var end = {head: Q.reject(error)};
29 end.tail = end;
30 ends.resolve(end);
31 return closed.promise;
32 }
33 };
34}
35
Note: See TracBrowser for help on using the repository browser.