semaphore v1.0.3

This commit is contained in:
mfrantz
2015-08-20 09:29:34 -07:00
parent 38fb591c6e
commit e7b8c8bc7f
2 changed files with 40 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
/// <reference path="semaphore.d.ts"/>
import semaphore = require('semaphore');
var sem: semaphore.Semaphore = semaphore(10);
function task() {
console.log('My task');
sem.leave();
}
sem.take(task);
sem.take(2, task);
sem.leave(2);
+26
View File
@@ -0,0 +1,26 @@
// Type definitions for semaphore v1.0.3
// Project: https://github.com/abrkn/semaphore.js
// Definitions by: Matt Frantz <https://github.com/mhfrantz/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module 'semaphore' {
function semaphore(capacity?: number): semaphore.Semaphore;
module semaphore {
interface Task {
(): void;
}
interface Semaphore {
capacity: number;
take(task: Task): void;
take(n: number, task: Task): void;
leave(n?: number): void;
}
}
export = semaphore;
}