MCPcopy
hub / github.com/bee-queue/bee-queue / spitter

Function spitter

test/queue-test.js:70–97  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

68}
69
70function spitter() {
71 const values = [],
72 resume = [];
73
74 function push(value) {
75 if (resume.length) {
76 resume.shift()(value);
77 } else {
78 values.push(value);
79 }
80 }
81
82 return {
83 push,
84 pushSuspend(value) {
85 return new Promise((resolve) => push([value, resolve]));
86 },
87 count() {
88 return values.length;
89 },
90 shift() {
91 if (values.length) {
92 return Promise.resolve(values.shift());
93 }
94 return new Promise((resolve) => resume.push(resolve));
95 },
96 };
97}
98
99describe('Queue', (it) => {
100 const redisUrl = process.env.BEE_QUEUE_TEST_REDIS;

Callers 1

queue-test.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected