Skip to content

Commit

Permalink
feat(CodeSandbox): add two CodeSandbox example sandboxes
Browse files Browse the repository at this point in the history
  • Loading branch information
Bartozzz committed Apr 21, 2020
1 parent b8d2281 commit 32c108d
Show file tree
Hide file tree
Showing 5 changed files with 127 additions and 1 deletion.
6 changes: 5 additions & 1 deletion .codesandbox/ci.json
@@ -1,3 +1,7 @@
{
"sandboxes": ["new"]
"sandboxes": [
"vanilla",
".codesandbox/sandbox/manual",
".codesandbox/sandbox/automatic"
]
}
44 changes: 44 additions & 0 deletions .codesandbox/sandbox/automatic/index.js
@@ -0,0 +1,44 @@
import Queue from "queue-promise";

function successTask(timeout = 500) {
return new Promise((resolve, reject) => setTimeout(resolve, timeout));
}

function failureTask(timeout = 500) {
return new Promise((resolve, reject) => setTimeout(reject, timeout));
}

const queue = new Queue({
concurrent: 2,
interval: 1000,
start: true,
});

queue.on("start", () => {
console.debug("Queue started");
});

queue.on("stop", () => {
console.debug("Queue stopped");
});

queue.on("end", () => {
console.debug("Queue finished");
});

queue.on("dequeue", () => {
console.debug("Queue dequeued a task");
});

queue.on("resolve", (data) => {
console.debug("Resolve", data);
});

queue.on("reject", (error) => {
console.debug("Reject", error);
});

queue.enqueue(successTask);
queue.enqueue(successTask);
queue.enqueue(failureTask);
queue.enqueue(failureTask);
13 changes: 13 additions & 0 deletions .codesandbox/sandbox/automatic/package.json
@@ -0,0 +1,13 @@
{
"name": "queue-promise-sandbox-automatic",
"main": "index.js",
"private": true,
"version": "1.0.0",
"description": "queue-promise sandbox started for automatic mode",
"dependencies": {
"queue-promise": "latest"
},
"scripts": {
"start": "node index.js"
}
}
52 changes: 52 additions & 0 deletions .codesandbox/sandbox/manual/index.js
@@ -0,0 +1,52 @@
import Queue from "queue-promise";

function successTask(timeout = 500) {
return new Promise((resolve, reject) => setTimeout(resolve, timeout));
}

function failureTask(timeout = 500) {
return new Promise((resolve, reject) => setTimeout(reject, timeout));
}

const queue = new Queue({
concurrent: 2,
interval: 1000,
start: false,
});

queue.on("start", () => {
console.debug("Queue started");
});

queue.on("stop", () => {
console.debug("Queue stopped");
});

queue.on("end", () => {
console.debug("Queue finished");
});

queue.on("dequeue", () => {
console.debug("Queue dequeued a task");
});

queue.on("resolve", (data) => {
console.debug("Resolve", data);
});

queue.on("reject", (error) => {
console.debug("Reject", error);
});

queue.enqueue(successTask);
queue.enqueue(successTask);
queue.enqueue(failureTask);
queue.enqueue(failureTask);

(async function () {
while (!queue.isEmpty && !queue.stopped) {
const result = await queue.dequeue();

console.debug("Dequeue result", result);
}
})();
13 changes: 13 additions & 0 deletions .codesandbox/sandbox/manual/package.json
@@ -0,0 +1,13 @@
{
"name": "queue-promise-sandbox-manual",
"main": "index.js",
"private": true,
"version": "1.0.0",
"description": "queue-promise sandbox started for manual mode",
"dependencies": {
"queue-promise": "latest"
},
"scripts": {
"start": "node index.js"
}
}

0 comments on commit 32c108d

Please sign in to comment.