mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-17 22:44:18 +08:00
299 lines
6.3 KiB
TypeScript
299 lines
6.3 KiB
TypeScript
declare var console: { log(...args: any[]): void };
|
|
declare var setTimeout: (cb: () => void, timeout: number) => void;
|
|
|
|
import steed = require('steed');
|
|
|
|
declare const path: {
|
|
exists(path: string, callback?: (error: Error, exists: boolean) => any): void;
|
|
};
|
|
|
|
function funcStringCbErrBoolean(v: string, cb: (error: Error, res: boolean) => void) { }
|
|
function callback() { }
|
|
|
|
steed.parallel([
|
|
() => {},
|
|
() => {}
|
|
], callback);
|
|
|
|
steed.series([
|
|
() => {},
|
|
() => {}
|
|
]);
|
|
|
|
const data: any[] = [];
|
|
function steedProcess(item: any, callback: (error: Error, result: any) => void) { }
|
|
steed.map(data, steedProcess, (error, results) => {
|
|
console.log(results);
|
|
});
|
|
|
|
const openFiles = ['file1', 'file2'];
|
|
|
|
const saveFile = (file: string, cb: (error: Error) => void) => {};
|
|
steed.each(openFiles, saveFile, (error: Error) => {});
|
|
steed.eachSeries(openFiles, saveFile, (error: Error) => {});
|
|
|
|
// Control Flow //
|
|
|
|
steed.series([
|
|
callback => {
|
|
callback(undefined, 'one');
|
|
},
|
|
callback => {
|
|
callback(undefined, 'two');
|
|
},
|
|
],
|
|
(error, results) => {});
|
|
|
|
steed.series<string, Error>([
|
|
callback => {
|
|
callback(undefined, 'one');
|
|
},
|
|
callback => {
|
|
callback(undefined, 'two');
|
|
},
|
|
],
|
|
(error, results) => {});
|
|
|
|
steed.series({
|
|
one(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 1);
|
|
}, 200);
|
|
},
|
|
two(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 2);
|
|
}, 100);
|
|
},
|
|
},
|
|
(error, results) => {});
|
|
|
|
steed.series<number, Error>({
|
|
one(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 1);
|
|
}, 200);
|
|
},
|
|
two(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 2);
|
|
}, 100);
|
|
},
|
|
},
|
|
(error, results) => {});
|
|
|
|
steed.parallel([
|
|
callback => {
|
|
setTimeout(() => {
|
|
callback(undefined, 'one');
|
|
}, 200);
|
|
},
|
|
callback => {
|
|
setTimeout(() => {
|
|
callback(undefined, 'two');
|
|
}, 100);
|
|
},
|
|
],
|
|
(error, results) => {});
|
|
|
|
steed.parallel<string, Error>([
|
|
callback => {
|
|
setTimeout(() => {
|
|
callback(undefined, 'one');
|
|
}, 200);
|
|
},
|
|
callback => {
|
|
setTimeout(() => {
|
|
callback(undefined, 'two');
|
|
}, 100);
|
|
},
|
|
],
|
|
(error, results) => {});
|
|
|
|
steed.parallel({
|
|
one(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 1);
|
|
}, 200);
|
|
},
|
|
two(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 2);
|
|
}, 100);
|
|
},
|
|
},
|
|
(error, results) => {});
|
|
|
|
steed.parallel<number, Error>({
|
|
one(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 1);
|
|
}, 200);
|
|
},
|
|
two(callback) {
|
|
setTimeout(() => {
|
|
callback(undefined, 2);
|
|
}, 100);
|
|
},
|
|
},
|
|
(error, results) => {});
|
|
|
|
function whileFn(callback: any) {
|
|
count++;
|
|
setTimeout(callback, 1000);
|
|
}
|
|
|
|
function whileTest() { return count < 5; }
|
|
let count = 0;
|
|
|
|
steed.waterfall([
|
|
(callback: any) => {
|
|
callback(null, 'one', 'two');
|
|
},
|
|
(arg1: any, arg2: any, callback: any) => {
|
|
callback(null, 'three');
|
|
},
|
|
(arg1: any, callback: any) => {
|
|
callback(null, 'done');
|
|
}
|
|
], (error, result) => {});
|
|
|
|
const q = steed.queue<any, Error>((task: any, callback: () => void) => {
|
|
console.log('hello ' + task.name);
|
|
callback();
|
|
}, 2);
|
|
|
|
q.drain = () => {
|
|
console.log('all items have been processed');
|
|
};
|
|
|
|
q.push({ name: 'foo' });
|
|
|
|
q.push({ name: 'bar' }, err => {
|
|
console.log('finished processing bar');
|
|
});
|
|
|
|
q.push([{ name: 'baz' }, { name: 'bay' }, { name: 'bax' }], (error: Error) => {
|
|
console.log('finished processing bar');
|
|
});
|
|
|
|
q.unshift({ name: 'foo' });
|
|
|
|
q.unshift({ name: 'bar' }, err => {
|
|
console.log('finished processing bar');
|
|
});
|
|
|
|
q.unshift([{ name: 'baz' }, { name: 'bay' }, { name: 'bax' }], (error: Error) => {
|
|
console.log('finished processing bar');
|
|
});
|
|
|
|
const qLength: number = q.length();
|
|
const qIsIdle: boolean = q.idle();
|
|
|
|
q.saturated = () => {
|
|
console.log('queue is saturated.');
|
|
};
|
|
|
|
q.empty = () => {
|
|
console.log('queue is empty.');
|
|
};
|
|
|
|
q.drain = () => {
|
|
console.log('queue was drained.');
|
|
};
|
|
|
|
q.pause();
|
|
q.resume();
|
|
q.kill();
|
|
|
|
// tests for strongly typed tasks
|
|
const q2 = steed.queue<string, Error>((task: string, callback: () => void) => {
|
|
console.log('Task: ' + task);
|
|
callback();
|
|
}, 1);
|
|
|
|
q2.push('task1');
|
|
|
|
q2.push('task2', error => {
|
|
console.log('Finished tasks');
|
|
});
|
|
|
|
q2.push(['task3', 'task4', 'task5'], (error: Error) => {
|
|
console.log('Finished tasks');
|
|
});
|
|
|
|
q2.unshift('task1');
|
|
|
|
q2.unshift('task2', error => {
|
|
console.log('Finished tasks');
|
|
});
|
|
|
|
q2.unshift(['task3', 'task4', 'task5'], (error: Error) => {
|
|
console.log('Finished tasks');
|
|
});
|
|
|
|
steed.parallel([
|
|
(callback: (error: Error, val: string) => void) => { },
|
|
callback => {}
|
|
],
|
|
(error: Error, results: string[]) => {
|
|
steed.series([
|
|
callback => { },
|
|
function email_link(callback) { }
|
|
]);
|
|
});
|
|
|
|
// each
|
|
|
|
steed.each<number, Error>({
|
|
a: 1,
|
|
b: 2
|
|
}, (val: number, next: steed.ErrorCallback<Error>): void => {
|
|
setTimeout((): void => {
|
|
console.log(`steed.each: ${val}`);
|
|
next();
|
|
}, 500);
|
|
}, (err?: Error): void => {
|
|
console.log("steed.each: done.");
|
|
});
|
|
|
|
steed.eachSeries<number, Error>({
|
|
a: 1,
|
|
b: 2
|
|
}, (val: number, next: steed.ErrorCallback<Error>): void => {
|
|
setTimeout((): void => {
|
|
console.log(`steed.eachSeries: ${val}`);
|
|
next();
|
|
}, 500);
|
|
}, (err?: Error): void => {
|
|
console.log("steed.eachSeries: done.");
|
|
});
|
|
|
|
// map
|
|
|
|
steed.map<number, string, Error>({
|
|
a: 1,
|
|
b: 2,
|
|
c: 3
|
|
}, (val: number, next: steed.SteedResultCallback<string, Error>): void => {
|
|
setTimeout((): void => {
|
|
console.log(`steed.map: ${val}`);
|
|
next(undefined as any, val.toString());
|
|
}, 500);
|
|
}, (error: Error, results: string[]): void => {
|
|
console.log("steed.map: done with results", results);
|
|
});
|
|
|
|
steed.mapSeries<number, string, Error>({
|
|
a: 1,
|
|
b: 2,
|
|
c: 3
|
|
}, (val: number, next: steed.SteedResultCallback<string, Error>): void => {
|
|
setTimeout((): void => {
|
|
console.log(`steed.mapSeries: ${val}`);
|
|
next(undefined as any, val.toString());
|
|
}, 500);
|
|
}, (error: Error, results: string[]): void => {
|
|
console.log("steed.mapSeries: done with results", results);
|
|
});
|