Skip to content

Commit 448d044

Browse files
committed
✨ Add sleep and range
1 parent 642b5ba commit 448d044

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

range.test.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { range } from "./range.ts";
2+
import { assertStrictEquals } from "./deps/testing.ts";
3+
4+
Deno.test("range()", () => {
5+
let count = 0;
6+
for (const i of range(0, 10)) {
7+
assertStrictEquals<number>(i, count++);
8+
}
9+
assertStrictEquals<number>(10, count);
10+
11+
count = 5;
12+
for (const i of range(5, 12)) {
13+
assertStrictEquals<number>(i, count++);
14+
}
15+
assertStrictEquals<number>(12, count);
16+
17+
count = 0;
18+
for (const i of range(5, 5)) {
19+
assertStrictEquals<number>(i, count++);
20+
}
21+
assertStrictEquals<number>(0, count);
22+
});

range.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export function* range(start: number, end: number) {
2+
for (let i = start; i < end; i++) {
3+
yield i;
4+
}
5+
}

sleep.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/** ミリ秒単位で待つ
2+
*
3+
* @param milliseconds 待ち時間 (ミリ秒)
4+
*/
5+
export const sleep = (milliseconds: number): Promise<void> =>
6+
new Promise<void>((resolve) => setTimeout(() => resolve(), milliseconds));

0 commit comments

Comments
 (0)