mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-16 23:10:29 +00:00
split node-v4 definitions (#9341)
This commit is contained in:
@@ -0,0 +1,814 @@
|
||||
/// <reference path="node-4.d.ts" />
|
||||
import * as assert from "assert";
|
||||
import * as fs from "fs";
|
||||
import * as events from "events";
|
||||
import * as zlib from "zlib";
|
||||
import * as url from "url";
|
||||
import * as util from "util";
|
||||
import * as crypto from "crypto";
|
||||
import * as tls from "tls";
|
||||
import * as http from "http";
|
||||
import * as https from "https";
|
||||
import * as net from "net";
|
||||
import * as tty from "tty";
|
||||
import * as dgram from "dgram";
|
||||
import * as querystring from "querystring";
|
||||
import * as path from "path";
|
||||
import * as readline from "readline";
|
||||
import * as childProcess from "child_process";
|
||||
import * as cluster from "cluster";
|
||||
import * as os from "os";
|
||||
import * as vm from "vm";
|
||||
// Specifically test buffer module regression.
|
||||
import {Buffer as ImportedBuffer, SlowBuffer as ImportedSlowBuffer} from "buffer";
|
||||
|
||||
assert(1 + 1 - 2 === 0, "The universe isn't how it should.");
|
||||
|
||||
assert.deepEqual({ x: { y: 3 } }, { x: { y: 3 } }, "DEEP WENT DERP");
|
||||
|
||||
assert.equal(3, "3", "uses == comparator");
|
||||
|
||||
assert.notStrictEqual(2, "2", "uses === comparator");
|
||||
|
||||
assert.notDeepStrictEqual({ x: { y: "3" } }, { x: { y: 3 } }, "uses === comparator");
|
||||
|
||||
assert.throws(() => { throw "a hammer at your face"; }, undefined, "DODGED IT");
|
||||
|
||||
assert.doesNotThrow(() => {
|
||||
const b = false;
|
||||
if (b) { throw "a hammer at your face"; }
|
||||
}, undefined, "What the...*crunch*");
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Events tests : http://nodejs.org/api/events.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace events_tests {
|
||||
let emitter: events.EventEmitter;
|
||||
let event: string;
|
||||
let listener: Function;
|
||||
let any: any;
|
||||
|
||||
{
|
||||
let result: events.EventEmitter;
|
||||
|
||||
result = emitter.addListener(event, listener);
|
||||
result = emitter.on(event, listener);
|
||||
result = emitter.once(event, listener);
|
||||
result = emitter.removeListener(event, listener);
|
||||
result = emitter.removeAllListeners();
|
||||
result = emitter.removeAllListeners(event);
|
||||
result = emitter.setMaxListeners(42);
|
||||
}
|
||||
|
||||
{
|
||||
let result: number;
|
||||
|
||||
result = events.EventEmitter.defaultMaxListeners;
|
||||
result = events.EventEmitter.listenerCount(emitter, event); // deprecated
|
||||
|
||||
result = emitter.getMaxListeners();
|
||||
result = emitter.listenerCount(event);
|
||||
}
|
||||
|
||||
{
|
||||
let result: Function[];
|
||||
|
||||
result = emitter.listeners(event);
|
||||
}
|
||||
|
||||
{
|
||||
let result: boolean;
|
||||
|
||||
result = emitter.emit(event);
|
||||
result = emitter.emit(event, any);
|
||||
result = emitter.emit(event, any, any);
|
||||
result = emitter.emit(event, any, any, any);
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// File system tests : http://nodejs.org/api/fs.html
|
||||
////////////////////////////////////////////////////
|
||||
fs.writeFile("thebible.txt",
|
||||
"Do unto others as you would have them do unto you.",
|
||||
assert.ifError);
|
||||
|
||||
fs.write(1234, "test");
|
||||
|
||||
fs.writeFile("Harry Potter",
|
||||
"\"You be wizzing, Harry,\" jived Dumbledore.",
|
||||
{
|
||||
encoding: "ascii"
|
||||
},
|
||||
assert.ifError);
|
||||
|
||||
var content: string,
|
||||
buffer: Buffer;
|
||||
|
||||
content = fs.readFileSync('testfile', 'utf8');
|
||||
content = fs.readFileSync('testfile', {encoding : 'utf8'});
|
||||
buffer = fs.readFileSync('testfile');
|
||||
buffer = fs.readFileSync('testfile', {flag : 'r'});
|
||||
fs.readFile('testfile', 'utf8', (err, data) => content = data);
|
||||
fs.readFile('testfile', {encoding : 'utf8'}, (err, data) => content = data);
|
||||
fs.readFile('testfile', (err, data) => buffer = data);
|
||||
fs.readFile('testfile', {flag : 'r'}, (err, data) => buffer = data);
|
||||
|
||||
class Networker extends events.EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.emit("mingling");
|
||||
}
|
||||
}
|
||||
|
||||
var errno: number;
|
||||
fs.readFile('testfile', (err, data) => {
|
||||
if (err && err.errno) {
|
||||
errno = err.errno;
|
||||
}
|
||||
});
|
||||
|
||||
fs.mkdtemp('/tmp/foo-', (err, folder) => {
|
||||
console.log(folder);
|
||||
// Prints: /tmp/foo-itXde2
|
||||
});
|
||||
|
||||
var tempDir: string;
|
||||
tempDir = fs.mkdtempSync('/tmp/foo-');
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
/// Buffer tests : https://nodejs.org/api/buffer.html
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
function bufferTests() {
|
||||
var utf8Buffer = new Buffer('test');
|
||||
var base64Buffer = new Buffer('','base64');
|
||||
var octets: Uint8Array = null;
|
||||
var octetBuffer = new Buffer(octets);
|
||||
var sharedBuffer = new Buffer(octets.buffer);
|
||||
var copiedBuffer = new Buffer(utf8Buffer);
|
||||
console.log(Buffer.isBuffer(octetBuffer));
|
||||
console.log(Buffer.isEncoding('utf8'));
|
||||
console.log(Buffer.byteLength('xyz123'));
|
||||
console.log(Buffer.byteLength('xyz123', 'ascii'));
|
||||
var result1 = Buffer.concat([utf8Buffer, base64Buffer]);
|
||||
var result2 = Buffer.concat([utf8Buffer, base64Buffer], 9999999);
|
||||
|
||||
// Class Method: Buffer.from(array)
|
||||
{
|
||||
const buf: Buffer = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]);
|
||||
}
|
||||
|
||||
// Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]])
|
||||
{
|
||||
const arr: Uint16Array = new Uint16Array(2);
|
||||
arr[0] = 5000;
|
||||
arr[1] = 4000;
|
||||
|
||||
let buf: Buffer;
|
||||
buf = Buffer.from(arr.buffer);
|
||||
buf = Buffer.from(arr.buffer, 1);
|
||||
buf = Buffer.from(arr.buffer, 0, 1);
|
||||
}
|
||||
|
||||
// Class Method: Buffer.from(buffer)
|
||||
{
|
||||
const buf1: Buffer = Buffer.from('buffer');
|
||||
const buf2: Buffer = Buffer.from(buf1);
|
||||
}
|
||||
|
||||
// Class Method: Buffer.from(str[, encoding])
|
||||
{
|
||||
const buf1: Buffer = Buffer.from('this is a tést');
|
||||
const buf2: Buffer = Buffer.from('7468697320697320612074c3a97374', 'hex');
|
||||
}
|
||||
|
||||
// Test that TS 1.6 works with the 'as Buffer' annotation
|
||||
// on isBuffer.
|
||||
var a: Buffer | number;
|
||||
a = new Buffer(10);
|
||||
if (Buffer.isBuffer(a)) {
|
||||
a.writeUInt8(3, 4);
|
||||
}
|
||||
|
||||
// write* methods return offsets.
|
||||
var b = new Buffer(16);
|
||||
var result: number = b.writeUInt32LE(0, 0);
|
||||
result = b.writeUInt16LE(0, 4);
|
||||
result = b.writeUInt8(0, 6);
|
||||
result = b.writeInt8(0, 7);
|
||||
result = b.writeDoubleLE(0, 8);
|
||||
|
||||
// fill returns the input buffer.
|
||||
b.fill('a').fill('b');
|
||||
|
||||
{
|
||||
let buffer = new Buffer('123');
|
||||
let index: number;
|
||||
index = buffer.indexOf("23");
|
||||
index = buffer.indexOf("23", 1);
|
||||
index = buffer.indexOf(23);
|
||||
index = buffer.indexOf(buffer);
|
||||
}
|
||||
|
||||
// Imported Buffer from buffer module works properly
|
||||
{
|
||||
let b = new ImportedBuffer('123');
|
||||
b.writeUInt8(0, 6);
|
||||
let sb = new ImportedSlowBuffer(43);
|
||||
b.writeUInt8(0, 6);
|
||||
}
|
||||
|
||||
// Buffer has Uint8Array's buffer field (an ArrayBuffer).
|
||||
{
|
||||
let buffer = new Buffer('123');
|
||||
let octets = new Uint8Array(buffer.buffer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Url tests : http://nodejs.org/api/url.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
url.format(url.parse('http://www.example.com/xyz'));
|
||||
|
||||
// https://google.com/search?q=you're%20a%20lizard%2C%20gary
|
||||
url.format({
|
||||
protocol: 'https',
|
||||
host: "google.com",
|
||||
pathname: 'search',
|
||||
query: { q: "you're a lizard, gary" }
|
||||
});
|
||||
|
||||
var helloUrl = url.parse('http://example.com/?hello=world', true)
|
||||
assert.equal(helloUrl.query.hello, 'world');
|
||||
|
||||
|
||||
// Old and new util.inspect APIs
|
||||
util.inspect(["This is nice"], false, 5);
|
||||
util.inspect(["This is nice"], { colors: true, depth: 5, customInspect: false });
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Stream tests : http://nodejs.org/api/stream.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
// http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options
|
||||
function stream_readable_pipe_test() {
|
||||
var r = fs.createReadStream('file.txt');
|
||||
var z = zlib.createGzip();
|
||||
var w = fs.createWriteStream('file.txt.gz');
|
||||
r.pipe(z).pipe(w);
|
||||
r.close();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Crypto tests : http://nodejs.org/api/crypto.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
var hmacResult: string = crypto.createHmac('md5', 'hello').update('world').digest('hex');
|
||||
|
||||
{
|
||||
let hmac: crypto.Hmac;
|
||||
(hmac = crypto.createHmac('md5', 'hello')).end('world', 'utf8', () => {
|
||||
let hash: Buffer|string = hmac.read();
|
||||
});
|
||||
}
|
||||
|
||||
function crypto_cipher_decipher_string_test() {
|
||||
var key:Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7]);
|
||||
var clearText:string = "This is the clear text.";
|
||||
var cipher:crypto.Cipher = crypto.createCipher("aes-128-ecb", key);
|
||||
var cipherText:string = cipher.update(clearText, "utf8", "hex");
|
||||
cipherText += cipher.final("hex");
|
||||
|
||||
var decipher:crypto.Decipher = crypto.createDecipher("aes-128-ecb", key);
|
||||
var clearText2:string = decipher.update(cipherText, "hex", "utf8");
|
||||
clearText2 += decipher.final("utf8");
|
||||
|
||||
assert.equal(clearText2, clearText);
|
||||
}
|
||||
|
||||
function crypto_cipher_decipher_buffer_test() {
|
||||
var key:Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7]);
|
||||
var clearText:Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4]);
|
||||
var cipher:crypto.Cipher = crypto.createCipher("aes-128-ecb", key);
|
||||
var cipherBuffers:Buffer[] = [];
|
||||
cipherBuffers.push(cipher.update(clearText));
|
||||
cipherBuffers.push(cipher.final());
|
||||
|
||||
var cipherText:Buffer = Buffer.concat(cipherBuffers);
|
||||
|
||||
var decipher:crypto.Decipher = crypto.createDecipher("aes-128-ecb", key);
|
||||
var decipherBuffers:Buffer[] = [];
|
||||
decipherBuffers.push(decipher.update(cipherText));
|
||||
decipherBuffers.push(decipher.final());
|
||||
|
||||
var clearText2:Buffer = Buffer.concat(decipherBuffers);
|
||||
|
||||
assert.deepEqual(clearText2, clearText);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// TLS tests : http://nodejs.org/api/tls.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
var ctx: tls.SecureContext = tls.createSecureContext({
|
||||
key: "NOT REALLY A KEY",
|
||||
cert: "SOME CERTIFICATE",
|
||||
});
|
||||
var blah = ctx.context;
|
||||
|
||||
var tlsOpts: tls.TlsOptions = {
|
||||
host: "127.0.0.1",
|
||||
port: 55
|
||||
};
|
||||
var tlsSocket = tls.connect(tlsOpts);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
// Make sure .listen() and .close() retuern a Server instance
|
||||
http.createServer().listen(0).close().address();
|
||||
net.createServer().listen(0).close().address();
|
||||
|
||||
var request = http.request('http://0.0.0.0');
|
||||
request.once('error', function () {});
|
||||
request.setNoDelay(true);
|
||||
request.abort();
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Http tests : http://nodejs.org/api/http.html
|
||||
////////////////////////////////////////////////////
|
||||
namespace http_tests {
|
||||
// Status codes
|
||||
var code = 100;
|
||||
var codeMessage = http.STATUS_CODES['400'];
|
||||
var codeMessage = http.STATUS_CODES[400];
|
||||
|
||||
var agent: http.Agent = new http.Agent({
|
||||
keepAlive: true,
|
||||
keepAliveMsecs: 10000,
|
||||
maxSockets: Infinity,
|
||||
maxFreeSockets: 256
|
||||
});
|
||||
|
||||
var agent: http.Agent = http.globalAgent;
|
||||
|
||||
http.request({
|
||||
agent: false
|
||||
});
|
||||
http.request({
|
||||
agent: agent
|
||||
});
|
||||
http.request({
|
||||
agent: undefined
|
||||
});
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Https tests : http://nodejs.org/api/https.html
|
||||
////////////////////////////////////////////////////
|
||||
namespace https_tests {
|
||||
var agent: https.Agent = new https.Agent({
|
||||
keepAlive: true,
|
||||
keepAliveMsecs: 10000,
|
||||
maxSockets: Infinity,
|
||||
maxFreeSockets: 256,
|
||||
maxCachedSessions: 100
|
||||
});
|
||||
|
||||
var agent: https.Agent = https.globalAgent;
|
||||
|
||||
https.request({
|
||||
agent: false
|
||||
});
|
||||
https.request({
|
||||
agent: agent
|
||||
});
|
||||
https.request({
|
||||
agent: undefined
|
||||
});
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// TTY tests : http://nodejs.org/api/tty.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace tty_tests {
|
||||
let rs: tty.ReadStream;
|
||||
let ws: tty.WriteStream;
|
||||
|
||||
let rsIsRaw: boolean = rs.isRaw;
|
||||
rs.setRawMode(true);
|
||||
|
||||
let wsColumns: number = ws.columns;
|
||||
let wsRows: number = ws.rows;
|
||||
|
||||
let isTTY: boolean = tty.isatty(1);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// Dgram tests : http://nodejs.org/api/dgram.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
var ds: dgram.Socket = dgram.createSocket("udp4", (msg: Buffer, rinfo: dgram.RemoteInfo): void => {
|
||||
});
|
||||
var ai: dgram.AddressInfo = ds.address();
|
||||
ds.send(new Buffer("hello"), 0, 5, 5000, "127.0.0.1", (error: Error, bytes: number): void => {
|
||||
});
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
///Querystring tests : https://nodejs.org/api/querystring.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace querystring_tests {
|
||||
type SampleObject = {a: string; b: number;}
|
||||
|
||||
{
|
||||
let obj: SampleObject;
|
||||
let sep: string;
|
||||
let eq: string;
|
||||
let options: querystring.StringifyOptions;
|
||||
let result: string;
|
||||
|
||||
result = querystring.stringify<SampleObject>(obj);
|
||||
result = querystring.stringify<SampleObject>(obj, sep);
|
||||
result = querystring.stringify<SampleObject>(obj, sep, eq);
|
||||
result = querystring.stringify<SampleObject>(obj, sep, eq);
|
||||
result = querystring.stringify<SampleObject>(obj, sep, eq, options);
|
||||
}
|
||||
|
||||
{
|
||||
let str: string;
|
||||
let sep: string;
|
||||
let eq: string;
|
||||
let options: querystring.ParseOptions;
|
||||
let result: SampleObject;
|
||||
|
||||
result = querystring.parse<SampleObject>(str);
|
||||
result = querystring.parse<SampleObject>(str, sep);
|
||||
result = querystring.parse<SampleObject>(str, sep, eq);
|
||||
result = querystring.parse<SampleObject>(str, sep, eq, options);
|
||||
}
|
||||
|
||||
{
|
||||
let str: string;
|
||||
let result: string;
|
||||
|
||||
result = querystring.escape(str);
|
||||
result = querystring.unescape(str);
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// path tests : http://nodejs.org/api/path.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace path_tests {
|
||||
|
||||
path.normalize('/foo/bar//baz/asdf/quux/..');
|
||||
|
||||
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
|
||||
// returns
|
||||
//'/foo/bar/baz/asdf'
|
||||
|
||||
try {
|
||||
path.join('foo', {}, 'bar');
|
||||
}
|
||||
catch(error) {
|
||||
|
||||
}
|
||||
|
||||
path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile');
|
||||
//Is similar to:
|
||||
//
|
||||
//cd foo/bar
|
||||
//cd /tmp/file/
|
||||
//cd ..
|
||||
// cd a/../subfile
|
||||
//pwd
|
||||
|
||||
path.resolve('/foo/bar', './baz')
|
||||
// returns
|
||||
// '/foo/bar/baz'
|
||||
|
||||
path.resolve('/foo/bar', '/tmp/file/')
|
||||
// returns
|
||||
// '/tmp/file'
|
||||
|
||||
path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
|
||||
// if currently in /home/myself/node, it returns
|
||||
// '/home/myself/node/wwwroot/static_files/gif/image.gif'
|
||||
|
||||
path.isAbsolute('/foo/bar') // true
|
||||
path.isAbsolute('/baz/..') // true
|
||||
path.isAbsolute('qux/') // false
|
||||
path.isAbsolute('.') // false
|
||||
|
||||
path.isAbsolute('//server') // true
|
||||
path.isAbsolute('C:/foo/..') // true
|
||||
path.isAbsolute('bar\\baz') // false
|
||||
path.isAbsolute('.') // false
|
||||
|
||||
path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb')
|
||||
// returns
|
||||
// '..\\..\\impl\\bbb'
|
||||
|
||||
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
|
||||
// returns
|
||||
// '../../impl/bbb'
|
||||
|
||||
path.dirname('/foo/bar/baz/asdf/quux')
|
||||
// returns
|
||||
// '/foo/bar/baz/asdf'
|
||||
|
||||
path.basename('/foo/bar/baz/asdf/quux.html')
|
||||
// returns
|
||||
// 'quux.html'
|
||||
|
||||
path.basename('/foo/bar/baz/asdf/quux.html', '.html')
|
||||
// returns
|
||||
// 'quux'
|
||||
|
||||
path.extname('index.html')
|
||||
// returns
|
||||
// '.html'
|
||||
|
||||
path.extname('index.coffee.md')
|
||||
// returns
|
||||
// '.md'
|
||||
|
||||
path.extname('index.')
|
||||
// returns
|
||||
// '.'
|
||||
|
||||
path.extname('index')
|
||||
// returns
|
||||
// ''
|
||||
|
||||
'foo/bar/baz'.split(path.sep)
|
||||
// returns
|
||||
// ['foo', 'bar', 'baz']
|
||||
|
||||
'foo\\bar\\baz'.split(path.sep)
|
||||
// returns
|
||||
// ['foo', 'bar', 'baz']
|
||||
|
||||
console.log(process.env.PATH)
|
||||
// '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin'
|
||||
|
||||
process.env.PATH.split(path.delimiter)
|
||||
// returns
|
||||
// ['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
|
||||
|
||||
console.log(process.env.PATH)
|
||||
// 'C:\Windows\system32;C:\Windows;C:\Program Files\nodejs\'
|
||||
|
||||
process.env.PATH.split(path.delimiter)
|
||||
// returns
|
||||
// ['C:\Windows\system32', 'C:\Windows', 'C:\Program Files\nodejs\']
|
||||
|
||||
path.parse('/home/user/dir/file.txt')
|
||||
// returns
|
||||
// {
|
||||
// root : "/",
|
||||
// dir : "/home/user/dir",
|
||||
// base : "file.txt",
|
||||
// ext : ".txt",
|
||||
// name : "file"
|
||||
// }
|
||||
|
||||
path.parse('C:\\path\\dir\\index.html')
|
||||
// returns
|
||||
// {
|
||||
// root : "C:\",
|
||||
// dir : "C:\path\dir",
|
||||
// base : "index.html",
|
||||
// ext : ".html",
|
||||
// name : "index"
|
||||
// }
|
||||
|
||||
path.format({
|
||||
root : "/",
|
||||
dir : "/home/user/dir",
|
||||
base : "file.txt",
|
||||
ext : ".txt",
|
||||
name : "file"
|
||||
});
|
||||
// returns
|
||||
// '/home/user/dir/file.txt'
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// readline tests : https://nodejs.org/api/readline.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace readline_tests {
|
||||
let rl: readline.ReadLine;
|
||||
|
||||
{
|
||||
let options: readline.ReadLineOptions;
|
||||
let input: NodeJS.ReadableStream;
|
||||
let output: NodeJS.WritableStream;
|
||||
let completer: readline.Completer;
|
||||
let terminal: boolean;
|
||||
|
||||
let result: readline.ReadLine;
|
||||
|
||||
result = readline.createInterface(options);
|
||||
result = readline.createInterface(input);
|
||||
result = readline.createInterface(input, output);
|
||||
result = readline.createInterface(input, output, completer);
|
||||
result = readline.createInterface(input, output, completer, terminal);
|
||||
}
|
||||
|
||||
{
|
||||
let prompt: string;
|
||||
|
||||
rl.setPrompt(prompt);
|
||||
}
|
||||
|
||||
{
|
||||
let preserveCursor: boolean;
|
||||
|
||||
rl.prompt();
|
||||
rl.prompt(preserveCursor);
|
||||
}
|
||||
|
||||
{
|
||||
let query: string;
|
||||
let callback: (answer: string) => void;
|
||||
|
||||
rl.question(query, callback);
|
||||
}
|
||||
|
||||
{
|
||||
let result: readline.ReadLine;
|
||||
|
||||
result = rl.pause();
|
||||
}
|
||||
|
||||
{
|
||||
let result: readline.ReadLine;
|
||||
|
||||
result = rl.resume();
|
||||
}
|
||||
|
||||
{
|
||||
rl.close();
|
||||
}
|
||||
|
||||
{
|
||||
let data: string|Buffer;
|
||||
let key: readline.Key;
|
||||
|
||||
rl.write(data);
|
||||
rl.write(null, key);
|
||||
}
|
||||
|
||||
{
|
||||
let stream: NodeJS.WritableStream;
|
||||
let x: number;
|
||||
let y: number;
|
||||
|
||||
readline.cursorTo(stream, x, y);
|
||||
}
|
||||
|
||||
{
|
||||
let stream: NodeJS.WritableStream;
|
||||
let dx: number|string;
|
||||
let dy: number|string;
|
||||
|
||||
readline.moveCursor(stream, dx, dy);
|
||||
}
|
||||
|
||||
{
|
||||
let stream: NodeJS.WritableStream;
|
||||
let dir: number;
|
||||
|
||||
readline.clearLine(stream, dir);
|
||||
}
|
||||
|
||||
{
|
||||
let stream: NodeJS.WritableStream;
|
||||
|
||||
readline.clearScreenDown(stream);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
/// Child Process tests: https://nodejs.org/api/child_process.html ///
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
childProcess.exec("echo test");
|
||||
childProcess.spawnSync("echo test");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
/// cluster tests: https://nodejs.org/api/cluster.html ///
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
cluster.fork();
|
||||
Object.keys(cluster.workers).forEach(key => {
|
||||
const worker = cluster.workers[key];
|
||||
if (worker.isDead()) {
|
||||
console.log('worker %d is dead', worker.process.pid);
|
||||
}
|
||||
});
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// os tests : https://nodejs.org/api/os.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace os_tests {
|
||||
{
|
||||
let result: string;
|
||||
|
||||
result = os.tmpdir();
|
||||
result = os.homedir();
|
||||
result = os.endianness();
|
||||
result = os.hostname();
|
||||
result = os.type();
|
||||
result = os.platform();
|
||||
result = os.arch();
|
||||
result = os.release();
|
||||
result = os.EOL;
|
||||
}
|
||||
|
||||
{
|
||||
let result: number;
|
||||
|
||||
result = os.uptime();
|
||||
result = os.totalmem();
|
||||
result = os.freemem();
|
||||
}
|
||||
|
||||
{
|
||||
let result: number[];
|
||||
|
||||
result = os.loadavg();
|
||||
}
|
||||
|
||||
{
|
||||
let result: os.CpuInfo[];
|
||||
|
||||
result = os.cpus();
|
||||
}
|
||||
|
||||
{
|
||||
let result: {[index: string]: os.NetworkInterfaceInfo[]};
|
||||
|
||||
result = os.networkInterfaces();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
/// vm tests : https://nodejs.org/api/vm.html
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace vm_tests {
|
||||
{
|
||||
const sandbox = {
|
||||
animal: 'cat',
|
||||
count: 2
|
||||
};
|
||||
|
||||
const context = vm.createContext(sandbox);
|
||||
console.log(vm.isContext(context));
|
||||
const script = new vm.Script('count += 1; name = "kitty"');
|
||||
|
||||
for (let i = 0; i < 10; ++i) {
|
||||
script.runInContext(context);
|
||||
}
|
||||
|
||||
console.log(util.inspect(sandbox));
|
||||
|
||||
vm.runInNewContext('count += 1; name = "kitty"', sandbox);
|
||||
console.log(util.inspect(sandbox));
|
||||
}
|
||||
|
||||
{
|
||||
const sandboxes = [{}, {}, {}];
|
||||
|
||||
const script = new vm.Script('globalVar = "set"');
|
||||
|
||||
sandboxes.forEach((sandbox) => {
|
||||
script.runInNewContext(sandbox);
|
||||
script.runInThisContext();
|
||||
});
|
||||
|
||||
console.log(util.inspect(sandboxes));
|
||||
|
||||
var localVar = 'initial value';
|
||||
vm.runInThisContext('localVar = "vm";');
|
||||
|
||||
console.log(localVar);
|
||||
}
|
||||
|
||||
{
|
||||
const Debug = vm.runInDebugContext('Debug');
|
||||
Debug.scripts().forEach(function(script: any) { console.log(script.name); });
|
||||
}
|
||||
}
|
||||
Vendored
+2390
File diff suppressed because it is too large
Load Diff
Vendored
+2
-2
@@ -1,11 +1,11 @@
|
||||
// Type definitions for Node.js v4.x
|
||||
// Type definitions for Node.js v6.x
|
||||
// Project: http://nodejs.org/
|
||||
// Definitions by: Microsoft TypeScript <http://typescriptlang.org>, DefinitelyTyped <https://github.com/DefinitelyTyped/DefinitelyTyped>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/************************************************
|
||||
* *
|
||||
* Node.js v4.x API *
|
||||
* Node.js v6.x API *
|
||||
* *
|
||||
************************************************/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user