Archived
refactor: MONOREPO
This commit is contained in:
1 parent
4c9e328ad0
commit
909149fdc7
50 files changed
+222
-3
No files matched your search
@@ -0,0 +1,16 @@
|
||||
import { Queue } from "../queue";
|
||||
|
||||
test("Enqueue a, b and c and dequeue them", () => {
|
||||
const q: Queue = new Queue<string>();
|
||||
q.enqueue("a");
|
||||
q.enqueue("b");
|
||||
q.enqueue("c");
|
||||
|
||||
expect(q.size()).toBe(3);
|
||||
|
||||
expect(q.dequeue()).toEqual("a");
|
||||
expect(q.dequeue()).toEqual("b");
|
||||
expect(q.dequeue()).toEqual("c");
|
||||
|
||||
expect(q.size()).toBe(0);
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
export const DAY_IN_MILLI = 24 * 60 * 60 * 1000;
|
||||
|
||||
export function daysToMilli(n: number): number {
|
||||
return DAY_IN_MILLI * n;
|
||||
};
|
||||
|
||||
export function dayInNDays(n: number): number {
|
||||
return Date.now() * daysToMilli(n);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
export class Queue<T> {
|
||||
private elements: T[] = [];
|
||||
|
||||
enqueue = (element: T) => {
|
||||
this.elements.push(element);
|
||||
}
|
||||
|
||||
dequeue = (): T => {
|
||||
return this.elements.shift();
|
||||
}
|
||||
|
||||
size = (): number => {
|
||||
return this.elements.length;
|
||||
}
|
||||
};
|
||||
Reference in new issue
Block a user