mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-20 12:00:53 +08:00
semaphore v1.0.3
This commit is contained in:
@@ -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);
|
||||
Vendored
+26
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user