mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-06-28 14:20:12 +00:00
feat(node): v12 (#34952)
This commit is contained in:
committed by
Wesley Wigham
parent
14db1e4e2c
commit
18b13d1f4a
12
types/node/async_hooks.d.ts
vendored
12
types/node/async_hooks.d.ts
vendored
@@ -101,18 +101,6 @@ declare module "async_hooks" {
|
||||
*/
|
||||
constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions);
|
||||
|
||||
/**
|
||||
* Call AsyncHooks before callbacks.
|
||||
* @deprecated since 9.6 - Use asyncResource.runInAsyncScope() instead.
|
||||
*/
|
||||
emitBefore(): void;
|
||||
|
||||
/**
|
||||
* Call AsyncHooks after callbacks.
|
||||
* @deprecated since 9.6 - Use asyncResource.runInAsyncScope() instead.
|
||||
*/
|
||||
emitAfter(): void;
|
||||
|
||||
/**
|
||||
* Call the provided function with the provided arguments in the
|
||||
* execution context of the async resource. This will establish the
|
||||
|
||||
36
types/node/crypto.d.ts
vendored
36
types/node/crypto.d.ts
vendored
@@ -145,6 +145,11 @@ declare module "crypto" {
|
||||
class KeyObject {
|
||||
private constructor();
|
||||
asymmetricKeyType?: KeyType;
|
||||
/**
|
||||
* For asymmetric keys, this property represents the size of the embedded key in
|
||||
* bytes. This property is `undefined` for symmetric keys.
|
||||
*/
|
||||
asymmetricKeySize?: number;
|
||||
export(options: KeyExportOptions<'pem'>): string | Buffer;
|
||||
export(options?: KeyExportOptions<'der'>): Buffer;
|
||||
symmetricSize?: number;
|
||||
@@ -269,11 +274,17 @@ declare module "crypto" {
|
||||
|
||||
function createSign(algorithm: string, options?: stream.WritableOptions): Signer;
|
||||
|
||||
interface SignPrivateKeyInput extends PrivateKeyInput {
|
||||
interface SigningOptions {
|
||||
/**
|
||||
* @See crypto.constants.RSA_PKCS1_PADDING
|
||||
*/
|
||||
padding?: number;
|
||||
saltLength?: number;
|
||||
}
|
||||
|
||||
interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {
|
||||
}
|
||||
|
||||
type KeyLike = string | Buffer | KeyObject;
|
||||
|
||||
class Signer extends stream.Writable {
|
||||
@@ -565,4 +576,27 @@ declare module "crypto" {
|
||||
function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>;
|
||||
function __promisify__(type: "ec", options: ECKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates and returns the signature for `data` using the given private key and
|
||||
* algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is
|
||||
* dependent upon the key type (especially Ed25519 and Ed448).
|
||||
*
|
||||
* If `key` is not a [`KeyObject`][], this function behaves as if `key` had been
|
||||
* passed to [`crypto.createPrivateKey()`][].
|
||||
*/
|
||||
function sign(algorithm: string | null | undefined, data: Binary, key: KeyLike | SignPrivateKeyInput): Buffer;
|
||||
|
||||
interface VerifyKeyWithOptions extends KeyObject, SigningOptions {
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates and returns the signature for `data` using the given private key and
|
||||
* algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is
|
||||
* dependent upon the key type (especially Ed25519 and Ed448).
|
||||
*
|
||||
* If `key` is not a [`KeyObject`][], this function behaves as if `key` had been
|
||||
* passed to [`crypto.createPublicKey()`][].
|
||||
*/
|
||||
function verify(algorithm: string | null | undefined, data: Binary, key: KeyLike | VerifyKeyWithOptions, signature: Binary): Buffer;
|
||||
}
|
||||
|
||||
2
types/node/index.d.ts
vendored
2
types/node/index.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
// Type definitions for non-npm package Node.js 11.13
|
||||
// Type definitions for non-npm package Node.js 12.0
|
||||
// Project: http://nodejs.org/
|
||||
// Definitions by: Microsoft TypeScript <https://github.com/Microsoft>
|
||||
// DefinitelyTyped <https://github.com/DefinitelyTyped>
|
||||
|
||||
@@ -594,3 +594,8 @@ import { promisify } from 'util';
|
||||
str = crypto.constants.defaultCoreCipherList;
|
||||
str = crypto.constants.defaultCipherList;
|
||||
}
|
||||
|
||||
{
|
||||
const sig: Buffer = crypto.sign('md5', Buffer.from(''), 'mykey');
|
||||
const correct: Buffer = crypto.verify('md5', sig, 'mykey', sig);
|
||||
}
|
||||
|
||||
11
types/node/ts3.2/globals.d.ts
vendored
11
types/node/ts3.2/globals.d.ts
vendored
@@ -6,3 +6,14 @@ declare namespace NodeJS {
|
||||
bigint(): bigint;
|
||||
}
|
||||
}
|
||||
|
||||
interface Buffer extends Uint8Array {
|
||||
readBigUInt64BE(offset?: number): bigint;
|
||||
readBigUInt64LE(offset?: number): bigint;
|
||||
readBigInt64BE(offset?: number): bigint;
|
||||
readBigInt64LE(offset?: number): bigint;
|
||||
writeBigInt64BE(value: bigint, offset?: number): number;
|
||||
writeBigInt64LE(value: bigint, offset?: number): number;
|
||||
writeBigUInt64BE(value: bigint, offset?: number): number;
|
||||
writeBigUInt64LE(value: bigint, offset?: number): number;
|
||||
}
|
||||
|
||||
@@ -35,9 +35,7 @@ import { types } from 'util';
|
||||
process.allowedNodeEnvironmentFlags.has('asdf');
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
/// Util Tests ///
|
||||
//////////////////////////////////////////////////////////
|
||||
// Util Tests
|
||||
{
|
||||
const value: BigInt64Array | BigUint64Array | number = [] as any;
|
||||
if (types.isBigInt64Array(value)) {
|
||||
@@ -51,3 +49,17 @@ import { types } from 'util';
|
||||
const b = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Global Tests
|
||||
|
||||
{
|
||||
const a = Buffer.alloc(1000);
|
||||
a.writeBigInt64BE(123n);
|
||||
a.writeBigInt64LE(123n);
|
||||
a.writeBigUInt64BE(123n);
|
||||
a.writeBigUInt64LE(123n);
|
||||
let b: bigint = a.readBigInt64BE(123);
|
||||
b = a.readBigInt64LE(123);
|
||||
b = a.readBigUInt64LE(123);
|
||||
b = a.readBigUInt64BE(123);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
],
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"target": "esnext",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
|
||||
8
types/node/util.d.ts
vendored
8
types/node/util.d.ts
vendored
@@ -2,14 +2,6 @@ declare module "util" {
|
||||
interface InspectOptions extends NodeJS.InspectOptions { }
|
||||
function format(format: any, ...param: any[]): string;
|
||||
function formatWithOptions(inspectOptions: InspectOptions, format: string, ...param: any[]): string;
|
||||
/** @deprecated since v0.11.3 - use `console.error()` instead. */
|
||||
function debug(string: string): void;
|
||||
/** @deprecated since v0.11.3 - use `console.error()` instead. */
|
||||
function error(...param: any[]): void;
|
||||
/** @deprecated since v0.11.3 - use `console.log()` instead. */
|
||||
function puts(...param: any[]): void;
|
||||
/** @deprecated since v0.11.3 - use `console.log()` instead. */
|
||||
function print(...param: any[]): void;
|
||||
/** @deprecated since v0.11.3 - use a third party module instead. */
|
||||
function log(string: string): void;
|
||||
function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string;
|
||||
|
||||
52
types/node/v11/assert.d.ts
vendored
Normal file
52
types/node/v11/assert.d.ts
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
declare module "assert" {
|
||||
function internal(value: any, message?: string | Error): void;
|
||||
namespace internal {
|
||||
class AssertionError implements Error {
|
||||
name: string;
|
||||
message: string;
|
||||
actual: any;
|
||||
expected: any;
|
||||
operator: string;
|
||||
generatedMessage: boolean;
|
||||
code: 'ERR_ASSERTION';
|
||||
|
||||
constructor(options?: {
|
||||
message?: string; actual?: any; expected?: any;
|
||||
operator?: string; stackStartFn?: Function
|
||||
});
|
||||
}
|
||||
|
||||
function fail(message?: string | Error): never;
|
||||
/** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */
|
||||
function fail(actual: any, expected: any, message?: string | Error, operator?: string, stackStartFn?: Function): never;
|
||||
function ok(value: any, message?: string | Error): void;
|
||||
/** @deprecated since v9.9.0 - use strictEqual() instead. */
|
||||
function equal(actual: any, expected: any, message?: string | Error): void;
|
||||
/** @deprecated since v9.9.0 - use notStrictEqual() instead. */
|
||||
function notEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
/** @deprecated since v9.9.0 - use deepStrictEqual() instead. */
|
||||
function deepEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
/** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */
|
||||
function notDeepEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
function strictEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
function notStrictEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
function deepStrictEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void;
|
||||
|
||||
function throws(block: () => any, message?: string | Error): void;
|
||||
function throws(block: () => any, error: RegExp | Function | Object | Error, message?: string | Error): void;
|
||||
function doesNotThrow(block: () => any, message?: string | Error): void;
|
||||
function doesNotThrow(block: () => any, error: RegExp | Function, message?: string | Error): void;
|
||||
|
||||
function ifError(value: any): void;
|
||||
|
||||
function rejects(block: (() => Promise<any>) | Promise<any>, message?: string | Error): Promise<void>;
|
||||
function rejects(block: (() => Promise<any>) | Promise<any>, error: RegExp | Function | Object | Error, message?: string | Error): Promise<void>;
|
||||
function doesNotReject(block: (() => Promise<any>) | Promise<any>, message?: string | Error): Promise<void>;
|
||||
function doesNotReject(block: (() => Promise<any>) | Promise<any>, error: RegExp | Function, message?: string | Error): Promise<void>;
|
||||
|
||||
const strict: typeof internal;
|
||||
}
|
||||
|
||||
export = internal;
|
||||
}
|
||||
144
types/node/v11/async_hooks.d.ts
vendored
Normal file
144
types/node/v11/async_hooks.d.ts
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
/**
|
||||
* Async Hooks module: https://nodejs.org/api/async_hooks.html
|
||||
*/
|
||||
declare module "async_hooks" {
|
||||
/**
|
||||
* Returns the asyncId of the current execution context.
|
||||
*/
|
||||
function executionAsyncId(): number;
|
||||
|
||||
/**
|
||||
* Returns the ID of the resource responsible for calling the callback that is currently being executed.
|
||||
*/
|
||||
function triggerAsyncId(): number;
|
||||
|
||||
interface HookCallbacks {
|
||||
/**
|
||||
* Called when a class is constructed that has the possibility to emit an asynchronous event.
|
||||
* @param asyncId a unique ID for the async resource
|
||||
* @param type the type of the async resource
|
||||
* @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created
|
||||
* @param resource reference to the resource representing the async operation, needs to be released during destroy
|
||||
*/
|
||||
init?(asyncId: number, type: string, triggerAsyncId: number, resource: Object): void;
|
||||
|
||||
/**
|
||||
* When an asynchronous operation is initiated or completes a callback is called to notify the user.
|
||||
* The before callback is called just before said callback is executed.
|
||||
* @param asyncId the unique identifier assigned to the resource about to execute the callback.
|
||||
*/
|
||||
before?(asyncId: number): void;
|
||||
|
||||
/**
|
||||
* Called immediately after the callback specified in before is completed.
|
||||
* @param asyncId the unique identifier assigned to the resource which has executed the callback.
|
||||
*/
|
||||
after?(asyncId: number): void;
|
||||
|
||||
/**
|
||||
* Called when a promise has resolve() called. This may not be in the same execution id
|
||||
* as the promise itself.
|
||||
* @param asyncId the unique id for the promise that was resolve()d.
|
||||
*/
|
||||
promiseResolve?(asyncId: number): void;
|
||||
|
||||
/**
|
||||
* Called after the resource corresponding to asyncId is destroyed
|
||||
* @param asyncId a unique ID for the async resource
|
||||
*/
|
||||
destroy?(asyncId: number): void;
|
||||
}
|
||||
|
||||
interface AsyncHook {
|
||||
/**
|
||||
* Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.
|
||||
*/
|
||||
enable(): this;
|
||||
|
||||
/**
|
||||
* Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.
|
||||
*/
|
||||
disable(): this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers functions to be called for different lifetime events of each async operation.
|
||||
* @param options the callbacks to register
|
||||
* @return an AsyncHooks instance used for disabling and enabling hooks
|
||||
*/
|
||||
function createHook(options: HookCallbacks): AsyncHook;
|
||||
|
||||
interface AsyncResourceOptions {
|
||||
/**
|
||||
* The ID of the execution context that created this async event.
|
||||
* Default: `executionAsyncId()`
|
||||
*/
|
||||
triggerAsyncId?: number;
|
||||
|
||||
/**
|
||||
* Disables automatic `emitDestroy` when the object is garbage collected.
|
||||
* This usually does not need to be set (even if `emitDestroy` is called
|
||||
* manually), unless the resource's `asyncId` is retrieved and the
|
||||
* sensitive API's `emitDestroy` is called with it.
|
||||
* Default: `false`
|
||||
*/
|
||||
requireManualDestroy?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* The class AsyncResource was designed to be extended by the embedder's async resources.
|
||||
* Using this users can easily trigger the lifetime events of their own resources.
|
||||
*/
|
||||
class AsyncResource {
|
||||
/**
|
||||
* AsyncResource() is meant to be extended. Instantiating a
|
||||
* new AsyncResource() also triggers init. If triggerAsyncId is omitted then
|
||||
* async_hook.executionAsyncId() is used.
|
||||
* @param type The type of async event.
|
||||
* @param triggerAsyncId The ID of the execution context that created
|
||||
* this async event (default: `executionAsyncId()`), or an
|
||||
* AsyncResourceOptions object (since 9.3)
|
||||
*/
|
||||
constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions);
|
||||
|
||||
/**
|
||||
* Call AsyncHooks before callbacks.
|
||||
* @deprecated since 9.6 - Use asyncResource.runInAsyncScope() instead.
|
||||
*/
|
||||
emitBefore(): void;
|
||||
|
||||
/**
|
||||
* Call AsyncHooks after callbacks.
|
||||
* @deprecated since 9.6 - Use asyncResource.runInAsyncScope() instead.
|
||||
*/
|
||||
emitAfter(): void;
|
||||
|
||||
/**
|
||||
* Call the provided function with the provided arguments in the
|
||||
* execution context of the async resource. This will establish the
|
||||
* context, trigger the AsyncHooks before callbacks, call the function,
|
||||
* trigger the AsyncHooks after callbacks, and then restore the original
|
||||
* execution context.
|
||||
* @param fn The function to call in the execution context of this
|
||||
* async resource.
|
||||
* @param thisArg The receiver to be used for the function call.
|
||||
* @param args Optional arguments to pass to the function.
|
||||
*/
|
||||
runInAsyncScope<This, Result>(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result;
|
||||
|
||||
/**
|
||||
* Call AsyncHooks destroy callbacks.
|
||||
*/
|
||||
emitDestroy(): void;
|
||||
|
||||
/**
|
||||
* @return the unique ID assigned to this AsyncResource instance.
|
||||
*/
|
||||
asyncId(): number;
|
||||
|
||||
/**
|
||||
* @return the trigger ID for this AsyncResource instance.
|
||||
*/
|
||||
triggerAsyncId(): number;
|
||||
}
|
||||
}
|
||||
41
types/node/v11/base.d.ts
vendored
Normal file
41
types/node/v11/base.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
// base definnitions for all NodeJS modules that are not specific to any version of TypeScript
|
||||
/// <reference path="globals.d.ts" />
|
||||
/// <reference path="assert.d.ts" />
|
||||
/// <reference path="async_hooks.d.ts" />
|
||||
/// <reference path="buffer.d.ts" />
|
||||
/// <reference path="child_process.d.ts" />
|
||||
/// <reference path="cluster.d.ts" />
|
||||
/// <reference path="console.d.ts" />
|
||||
/// <reference path="constants.d.ts" />
|
||||
/// <reference path="crypto.d.ts" />
|
||||
/// <reference path="dgram.d.ts" />
|
||||
/// <reference path="dns.d.ts" />
|
||||
/// <reference path="domain.d.ts" />
|
||||
/// <reference path="events.d.ts" />
|
||||
/// <reference path="fs.d.ts" />
|
||||
/// <reference path="http.d.ts" />
|
||||
/// <reference path="http2.d.ts" />
|
||||
/// <reference path="https.d.ts" />
|
||||
/// <reference path="inspector.d.ts" />
|
||||
/// <reference path="module.d.ts" />
|
||||
/// <reference path="net.d.ts" />
|
||||
/// <reference path="os.d.ts" />
|
||||
/// <reference path="path.d.ts" />
|
||||
/// <reference path="perf_hooks.d.ts" />
|
||||
/// <reference path="process.d.ts" />
|
||||
/// <reference path="punycode.d.ts" />
|
||||
/// <reference path="querystring.d.ts" />
|
||||
/// <reference path="readline.d.ts" />
|
||||
/// <reference path="repl.d.ts" />
|
||||
/// <reference path="stream.d.ts" />
|
||||
/// <reference path="string_decoder.d.ts" />
|
||||
/// <reference path="timers.d.ts" />
|
||||
/// <reference path="tls.d.ts" />
|
||||
/// <reference path="trace_events.d.ts" />
|
||||
/// <reference path="tty.d.ts" />
|
||||
/// <reference path="url.d.ts" />
|
||||
/// <reference path="util.d.ts" />
|
||||
/// <reference path="v8.d.ts" />
|
||||
/// <reference path="vm.d.ts" />
|
||||
/// <reference path="worker_threads.d.ts" />
|
||||
/// <reference path="zlib.d.ts" />
|
||||
16
types/node/v11/buffer.d.ts
vendored
Normal file
16
types/node/v11/buffer.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
declare module "buffer" {
|
||||
export const INSPECT_MAX_BYTES: number;
|
||||
const BuffType: typeof Buffer;
|
||||
|
||||
export type TranscodeEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "latin1" | "binary";
|
||||
|
||||
export function transcode(source: Buffer | Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer;
|
||||
|
||||
export const SlowBuffer: {
|
||||
/** @deprecated since v6.0.0, use Buffer.allocUnsafeSlow() */
|
||||
new(size: number): Buffer;
|
||||
prototype: Buffer;
|
||||
};
|
||||
|
||||
export { BuffType as Buffer };
|
||||
}
|
||||
365
types/node/v11/child_process.d.ts
vendored
Normal file
365
types/node/v11/child_process.d.ts
vendored
Normal file
@@ -0,0 +1,365 @@
|
||||
declare module "child_process" {
|
||||
import * as events from "events";
|
||||
import * as net from "net";
|
||||
import { Writable, Readable, Stream, Pipe } from "stream";
|
||||
|
||||
interface ChildProcess extends events.EventEmitter {
|
||||
stdin: Writable | null;
|
||||
stdout: Readable | null;
|
||||
stderr: Readable | null;
|
||||
readonly channel?: Pipe | null;
|
||||
readonly stdio: [
|
||||
Writable | null, // stdin
|
||||
Readable | null, // stdout
|
||||
Readable | null, // stderr
|
||||
Readable | Writable | null | undefined, // extra
|
||||
Readable | Writable | null | undefined // extra
|
||||
];
|
||||
readonly killed: boolean;
|
||||
readonly pid: number;
|
||||
readonly connected: boolean;
|
||||
kill(signal?: string): void;
|
||||
send(message: any, callback?: (error: Error | null) => void): boolean;
|
||||
send(message: any, sendHandle?: net.Socket | net.Server, callback?: (error: Error | null) => void): boolean;
|
||||
send(message: any, sendHandle?: net.Socket | net.Server, options?: MessageOptions, callback?: (error: Error | null) => void): boolean;
|
||||
disconnect(): void;
|
||||
unref(): void;
|
||||
ref(): void;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. disconnect
|
||||
* 3. error
|
||||
* 4. exit
|
||||
* 5. message
|
||||
*/
|
||||
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "close", listener: (code: number, signal: string) => void): this;
|
||||
addListener(event: "disconnect", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
|
||||
addListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "close", code: number, signal: string): boolean;
|
||||
emit(event: "disconnect"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "exit", code: number | null, signal: string | null): boolean;
|
||||
emit(event: "message", message: any, sendHandle: net.Socket | net.Server): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "close", listener: (code: number, signal: string) => void): this;
|
||||
on(event: "disconnect", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
|
||||
on(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "close", listener: (code: number, signal: string) => void): this;
|
||||
once(event: "disconnect", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
|
||||
once(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "close", listener: (code: number, signal: string) => void): this;
|
||||
prependListener(event: "disconnect", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
|
||||
prependListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "close", listener: (code: number, signal: string) => void): this;
|
||||
prependOnceListener(event: "disconnect", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
|
||||
prependOnceListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
|
||||
}
|
||||
|
||||
// return this object when stdio option is undefined or not specified
|
||||
interface ChildProcessWithoutNullStreams extends ChildProcess {
|
||||
stdin: Writable;
|
||||
stdout: Readable;
|
||||
stderr: Readable;
|
||||
readonly stdio: [
|
||||
Writable, // stdin
|
||||
Readable, // stdout
|
||||
Readable, // stderr
|
||||
Readable | Writable | null | undefined, // extra, no modification
|
||||
Readable | Writable | null | undefined // extra, no modification
|
||||
];
|
||||
}
|
||||
|
||||
interface MessageOptions {
|
||||
keepOpen?: boolean;
|
||||
}
|
||||
|
||||
type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | Stream | number | null | undefined)>;
|
||||
|
||||
interface ProcessEnvOptions {
|
||||
uid?: number;
|
||||
gid?: number;
|
||||
cwd?: string;
|
||||
env?: NodeJS.ProcessEnv;
|
||||
}
|
||||
|
||||
interface CommonOptions extends ProcessEnvOptions {
|
||||
/**
|
||||
* @default true
|
||||
*/
|
||||
windowsHide?: boolean;
|
||||
/**
|
||||
* @default 0
|
||||
*/
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
interface SpawnOptions extends CommonOptions {
|
||||
argv0?: string;
|
||||
stdio?: StdioOptions;
|
||||
detached?: boolean;
|
||||
shell?: boolean | string;
|
||||
windowsVerbatimArguments?: boolean;
|
||||
}
|
||||
|
||||
interface SpawnOptionsWithoutStdio extends SpawnOptions {
|
||||
stdio?: 'pipe' | Array<null | undefined | 'pipe'>;
|
||||
}
|
||||
|
||||
function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
|
||||
function spawn(command: string, options: SpawnOptions): ChildProcess;
|
||||
function spawn(command: string, args?: ReadonlyArray<string>, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
|
||||
function spawn(command: string, args: ReadonlyArray<string>, options: SpawnOptions): ChildProcess;
|
||||
|
||||
interface ExecOptions extends CommonOptions {
|
||||
shell?: string;
|
||||
maxBuffer?: number;
|
||||
killSignal?: string;
|
||||
}
|
||||
|
||||
interface ExecOptionsWithStringEncoding extends ExecOptions {
|
||||
encoding: BufferEncoding;
|
||||
}
|
||||
|
||||
interface ExecOptionsWithBufferEncoding extends ExecOptions {
|
||||
encoding: string | null; // specify `null`.
|
||||
}
|
||||
|
||||
interface ExecException extends Error {
|
||||
cmd?: string;
|
||||
killed?: boolean;
|
||||
code?: number;
|
||||
signal?: string;
|
||||
}
|
||||
|
||||
// no `options` definitely means stdout/stderr are `string`.
|
||||
function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
|
||||
// `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
|
||||
function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
|
||||
|
||||
// `options` with well known `encoding` means stdout/stderr are definitely `string`.
|
||||
function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
|
||||
// `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
|
||||
// There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
|
||||
function exec(command: string, options: { encoding: string } & ExecOptions, callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void): ChildProcess;
|
||||
|
||||
// `options` without an `encoding` means stdout/stderr are definitely `string`.
|
||||
function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
|
||||
// fallback if nothing else matches. Worst case is always `string | Buffer`.
|
||||
function exec(
|
||||
command: string,
|
||||
options: ({ encoding?: string | null } & ExecOptions) | undefined | null,
|
||||
callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
|
||||
): ChildProcess;
|
||||
|
||||
// NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
|
||||
namespace exec {
|
||||
function __promisify__(command: string): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): Promise<{ stdout: Buffer, stderr: Buffer }>;
|
||||
function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(command: string, options: ExecOptions): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(command: string, options?: ({ encoding?: string | null } & ExecOptions) | null): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>;
|
||||
}
|
||||
|
||||
interface ExecFileOptions extends CommonOptions {
|
||||
maxBuffer?: number;
|
||||
killSignal?: string;
|
||||
windowsVerbatimArguments?: boolean;
|
||||
}
|
||||
interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
|
||||
encoding: BufferEncoding;
|
||||
}
|
||||
interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
|
||||
encoding: 'buffer' | null;
|
||||
}
|
||||
interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {
|
||||
encoding: string;
|
||||
}
|
||||
|
||||
function execFile(file: string): ChildProcess;
|
||||
function execFile(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess;
|
||||
function execFile(file: string, args?: ReadonlyArray<string> | null): ChildProcess;
|
||||
function execFile(file: string, args: ReadonlyArray<string> | undefined | null, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess;
|
||||
|
||||
// no `options` definitely means stdout/stderr are `string`.
|
||||
function execFile(file: string, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
function execFile(file: string, args: ReadonlyArray<string> | undefined | null, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
|
||||
// `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
|
||||
function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
|
||||
function execFile(
|
||||
file: string,
|
||||
args: ReadonlyArray<string> | undefined | null,
|
||||
options: ExecFileOptionsWithBufferEncoding,
|
||||
callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void,
|
||||
): ChildProcess;
|
||||
|
||||
// `options` with well known `encoding` means stdout/stderr are definitely `string`.
|
||||
function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
function execFile(
|
||||
file: string,
|
||||
args: ReadonlyArray<string> | undefined | null,
|
||||
options: ExecFileOptionsWithStringEncoding,
|
||||
callback: (error: Error | null, stdout: string, stderr: string) => void,
|
||||
): ChildProcess;
|
||||
|
||||
// `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
|
||||
// There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
|
||||
function execFile(
|
||||
file: string,
|
||||
options: ExecFileOptionsWithOtherEncoding,
|
||||
callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void,
|
||||
): ChildProcess;
|
||||
function execFile(
|
||||
file: string,
|
||||
args: ReadonlyArray<string> | undefined | null,
|
||||
options: ExecFileOptionsWithOtherEncoding,
|
||||
callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void,
|
||||
): ChildProcess;
|
||||
|
||||
// `options` without an `encoding` means stdout/stderr are definitely `string`.
|
||||
function execFile(file: string, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
function execFile(file: string, args: ReadonlyArray<string> | undefined | null, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess;
|
||||
|
||||
// fallback if nothing else matches. Worst case is always `string | Buffer`.
|
||||
function execFile(
|
||||
file: string,
|
||||
options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null,
|
||||
callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null,
|
||||
): ChildProcess;
|
||||
function execFile(
|
||||
file: string,
|
||||
args: ReadonlyArray<string> | undefined | null,
|
||||
options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null,
|
||||
callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null,
|
||||
): ChildProcess;
|
||||
|
||||
// NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
|
||||
namespace execFile {
|
||||
function __promisify__(file: string): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(file: string, args: string[] | undefined | null): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): Promise<{ stdout: Buffer, stderr: Buffer }>;
|
||||
function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithBufferEncoding): Promise<{ stdout: Buffer, stderr: Buffer }>;
|
||||
function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithStringEncoding): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>;
|
||||
function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithOtherEncoding): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>;
|
||||
function __promisify__(file: string, options: ExecFileOptions): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptions): Promise<{ stdout: string, stderr: string }>;
|
||||
function __promisify__(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>;
|
||||
function __promisify__(
|
||||
file: string,
|
||||
args: string[] | undefined | null,
|
||||
options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null,
|
||||
): Promise<{ stdout: string | Buffer, stderr: string | Buffer }>;
|
||||
}
|
||||
|
||||
interface ForkOptions extends ProcessEnvOptions {
|
||||
execPath?: string;
|
||||
execArgv?: string[];
|
||||
silent?: boolean;
|
||||
stdio?: StdioOptions;
|
||||
detached?: boolean;
|
||||
windowsVerbatimArguments?: boolean;
|
||||
}
|
||||
function fork(modulePath: string, args?: ReadonlyArray<string>, options?: ForkOptions): ChildProcess;
|
||||
|
||||
interface SpawnSyncOptions extends CommonOptions {
|
||||
argv0?: string; // Not specified in the docs
|
||||
input?: string | Buffer | NodeJS.TypedArray | DataView;
|
||||
stdio?: StdioOptions;
|
||||
killSignal?: string | number;
|
||||
maxBuffer?: number;
|
||||
encoding?: string;
|
||||
shell?: boolean | string;
|
||||
windowsVerbatimArguments?: boolean;
|
||||
}
|
||||
interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
|
||||
encoding: BufferEncoding;
|
||||
}
|
||||
interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
|
||||
encoding: string; // specify `null`.
|
||||
}
|
||||
interface SpawnSyncReturns<T> {
|
||||
pid: number;
|
||||
output: string[];
|
||||
stdout: T;
|
||||
stderr: T;
|
||||
status: number;
|
||||
signal: string;
|
||||
error?: Error;
|
||||
}
|
||||
function spawnSync(command: string): SpawnSyncReturns<Buffer>;
|
||||
function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
|
||||
function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
|
||||
function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
|
||||
function spawnSync(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
|
||||
function spawnSync(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
|
||||
function spawnSync(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
|
||||
|
||||
interface ExecSyncOptions extends CommonOptions {
|
||||
input?: string | Buffer | Uint8Array;
|
||||
stdio?: StdioOptions;
|
||||
shell?: string;
|
||||
killSignal?: string | number;
|
||||
maxBuffer?: number;
|
||||
encoding?: string;
|
||||
}
|
||||
interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
|
||||
encoding: BufferEncoding;
|
||||
}
|
||||
interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
|
||||
encoding: string; // specify `null`.
|
||||
}
|
||||
function execSync(command: string): Buffer;
|
||||
function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string;
|
||||
function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer;
|
||||
function execSync(command: string, options?: ExecSyncOptions): Buffer;
|
||||
|
||||
interface ExecFileSyncOptions extends CommonOptions {
|
||||
input?: string | Buffer | NodeJS.TypedArray | DataView;
|
||||
stdio?: StdioOptions;
|
||||
killSignal?: string | number;
|
||||
maxBuffer?: number;
|
||||
encoding?: string;
|
||||
shell?: boolean | string;
|
||||
}
|
||||
interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions {
|
||||
encoding: BufferEncoding;
|
||||
}
|
||||
interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions {
|
||||
encoding: string; // specify `null`.
|
||||
}
|
||||
function execFileSync(command: string): Buffer;
|
||||
function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string;
|
||||
function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
|
||||
function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer;
|
||||
function execFileSync(command: string, args?: ReadonlyArray<string>, options?: ExecFileSyncOptionsWithStringEncoding): string;
|
||||
function execFileSync(command: string, args?: ReadonlyArray<string>, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
|
||||
function execFileSync(command: string, args?: ReadonlyArray<string>, options?: ExecFileSyncOptions): Buffer;
|
||||
}
|
||||
260
types/node/v11/cluster.d.ts
vendored
Normal file
260
types/node/v11/cluster.d.ts
vendored
Normal file
@@ -0,0 +1,260 @@
|
||||
declare module "cluster" {
|
||||
import * as child from "child_process";
|
||||
import * as events from "events";
|
||||
import * as net from "net";
|
||||
|
||||
// interfaces
|
||||
interface ClusterSettings {
|
||||
execArgv?: string[]; // default: process.execArgv
|
||||
exec?: string;
|
||||
args?: string[];
|
||||
silent?: boolean;
|
||||
stdio?: any[];
|
||||
uid?: number;
|
||||
gid?: number;
|
||||
inspectPort?: number | (() => number);
|
||||
}
|
||||
|
||||
interface Address {
|
||||
address: string;
|
||||
port: number;
|
||||
addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6"
|
||||
}
|
||||
|
||||
class Worker extends events.EventEmitter {
|
||||
id: number;
|
||||
process: child.ChildProcess;
|
||||
send(message: any, sendHandle?: any, callback?: (error: Error | null) => void): boolean;
|
||||
kill(signal?: string): void;
|
||||
destroy(signal?: string): void;
|
||||
disconnect(): void;
|
||||
isConnected(): boolean;
|
||||
isDead(): boolean;
|
||||
exitedAfterDisconnect: boolean;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. disconnect
|
||||
* 2. error
|
||||
* 3. exit
|
||||
* 4. listening
|
||||
* 5. message
|
||||
* 6. online
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "disconnect", listener: () => void): this;
|
||||
addListener(event: "error", listener: (error: Error) => void): this;
|
||||
addListener(event: "exit", listener: (code: number, signal: string) => void): this;
|
||||
addListener(event: "listening", listener: (address: Address) => void): this;
|
||||
addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
addListener(event: "online", listener: () => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "disconnect"): boolean;
|
||||
emit(event: "error", error: Error): boolean;
|
||||
emit(event: "exit", code: number, signal: string): boolean;
|
||||
emit(event: "listening", address: Address): boolean;
|
||||
emit(event: "message", message: any, handle: net.Socket | net.Server): boolean;
|
||||
emit(event: "online"): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "disconnect", listener: () => void): this;
|
||||
on(event: "error", listener: (error: Error) => void): this;
|
||||
on(event: "exit", listener: (code: number, signal: string) => void): this;
|
||||
on(event: "listening", listener: (address: Address) => void): this;
|
||||
on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
on(event: "online", listener: () => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "disconnect", listener: () => void): this;
|
||||
once(event: "error", listener: (error: Error) => void): this;
|
||||
once(event: "exit", listener: (code: number, signal: string) => void): this;
|
||||
once(event: "listening", listener: (address: Address) => void): this;
|
||||
once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
once(event: "online", listener: () => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "disconnect", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (error: Error) => void): this;
|
||||
prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
|
||||
prependListener(event: "listening", listener: (address: Address) => void): this;
|
||||
prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
prependListener(event: "online", listener: () => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "disconnect", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (error: Error) => void): this;
|
||||
prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
|
||||
prependOnceListener(event: "listening", listener: (address: Address) => void): this;
|
||||
prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
prependOnceListener(event: "online", listener: () => void): this;
|
||||
}
|
||||
|
||||
interface Cluster extends events.EventEmitter {
|
||||
Worker: Worker;
|
||||
disconnect(callback?: () => void): void;
|
||||
fork(env?: any): Worker;
|
||||
isMaster: boolean;
|
||||
isWorker: boolean;
|
||||
// TODO: cluster.schedulingPolicy
|
||||
settings: ClusterSettings;
|
||||
setupMaster(settings?: ClusterSettings): void;
|
||||
worker?: Worker;
|
||||
workers?: {
|
||||
[index: string]: Worker | undefined
|
||||
};
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. disconnect
|
||||
* 2. exit
|
||||
* 3. fork
|
||||
* 4. listening
|
||||
* 5. message
|
||||
* 6. online
|
||||
* 7. setup
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "disconnect", listener: (worker: Worker) => void): this;
|
||||
addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||
addListener(event: "fork", listener: (worker: Worker) => void): this;
|
||||
addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
||||
addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
addListener(event: "online", listener: (worker: Worker) => void): this;
|
||||
addListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "disconnect", worker: Worker): boolean;
|
||||
emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
|
||||
emit(event: "fork", worker: Worker): boolean;
|
||||
emit(event: "listening", worker: Worker, address: Address): boolean;
|
||||
emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
|
||||
emit(event: "online", worker: Worker): boolean;
|
||||
emit(event: "setup", settings: ClusterSettings): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "disconnect", listener: (worker: Worker) => void): this;
|
||||
on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||
on(event: "fork", listener: (worker: Worker) => void): this;
|
||||
on(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
||||
on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
on(event: "online", listener: (worker: Worker) => void): this;
|
||||
on(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "disconnect", listener: (worker: Worker) => void): this;
|
||||
once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||
once(event: "fork", listener: (worker: Worker) => void): this;
|
||||
once(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
||||
once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
once(event: "online", listener: (worker: Worker) => void): this;
|
||||
once(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "disconnect", listener: (worker: Worker) => void): this;
|
||||
prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||
prependListener(event: "fork", listener: (worker: Worker) => void): this;
|
||||
prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
||||
prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
prependListener(event: "online", listener: (worker: Worker) => void): this;
|
||||
prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this;
|
||||
prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||
prependOnceListener(event: "fork", listener: (worker: Worker) => void): this;
|
||||
prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
||||
// the handle is a net.Socket or net.Server object, or undefined.
|
||||
prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
|
||||
prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
|
||||
prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
||||
}
|
||||
|
||||
function disconnect(callback?: () => void): void;
|
||||
function fork(env?: any): Worker;
|
||||
const isMaster: boolean;
|
||||
const isWorker: boolean;
|
||||
// TODO: cluster.schedulingPolicy
|
||||
const settings: ClusterSettings;
|
||||
function setupMaster(settings?: ClusterSettings): void;
|
||||
const worker: Worker;
|
||||
const workers: {
|
||||
[index: string]: Worker | undefined
|
||||
};
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. disconnect
|
||||
* 2. exit
|
||||
* 3. fork
|
||||
* 4. listening
|
||||
* 5. message
|
||||
* 6. online
|
||||
* 7. setup
|
||||
*/
|
||||
function addListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||
function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||
function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||
function addListener(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||
function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||
// the handle is a net.Socket or net.Server object, or undefined.
|
||||
function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
|
||||
function addListener(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||
function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||
|
||||
function emit(event: string | symbol, ...args: any[]): boolean;
|
||||
function emit(event: "disconnect", worker: Worker): boolean;
|
||||
function emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
|
||||
function emit(event: "fork", worker: Worker): boolean;
|
||||
function emit(event: "listening", worker: Worker, address: Address): boolean;
|
||||
function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
|
||||
function emit(event: "online", worker: Worker): boolean;
|
||||
function emit(event: "setup", settings: ClusterSettings): boolean;
|
||||
|
||||
function on(event: string, listener: (...args: any[]) => void): Cluster;
|
||||
function on(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||
function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||
function on(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||
function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||
function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
function on(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||
function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||
|
||||
function once(event: string, listener: (...args: any[]) => void): Cluster;
|
||||
function once(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||
function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||
function once(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||
function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||
function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined.
|
||||
function once(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||
function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||
|
||||
function removeListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||
function removeAllListeners(event?: string): Cluster;
|
||||
function setMaxListeners(n: number): Cluster;
|
||||
function getMaxListeners(): number;
|
||||
function listeners(event: string): Function[];
|
||||
function listenerCount(type: string): number;
|
||||
|
||||
function prependListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||
function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||
function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||
function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||
function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||
// the handle is a net.Socket or net.Server object, or undefined.
|
||||
function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
|
||||
function prependListener(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||
function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||
|
||||
function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||
function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||
function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||
function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||
function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||
// the handle is a net.Socket or net.Server object, or undefined.
|
||||
function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
|
||||
function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||
function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||
|
||||
function eventNames(): string[];
|
||||
}
|
||||
3
types/node/v11/console.d.ts
vendored
Normal file
3
types/node/v11/console.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
declare module "console" {
|
||||
export = console;
|
||||
}
|
||||
279
types/node/v11/constants.d.ts
vendored
Normal file
279
types/node/v11/constants.d.ts
vendored
Normal file
@@ -0,0 +1,279 @@
|
||||
declare module "constants" {
|
||||
const E2BIG: number;
|
||||
const EACCES: number;
|
||||
const EADDRINUSE: number;
|
||||
const EADDRNOTAVAIL: number;
|
||||
const EAFNOSUPPORT: number;
|
||||
const EAGAIN: number;
|
||||
const EALREADY: number;
|
||||
const EBADF: number;
|
||||
const EBADMSG: number;
|
||||
const EBUSY: number;
|
||||
const ECANCELED: number;
|
||||
const ECHILD: number;
|
||||
const ECONNABORTED: number;
|
||||
const ECONNREFUSED: number;
|
||||
const ECONNRESET: number;
|
||||
const EDEADLK: number;
|
||||
const EDESTADDRREQ: number;
|
||||
const EDOM: number;
|
||||
const EEXIST: number;
|
||||
const EFAULT: number;
|
||||
const EFBIG: number;
|
||||
const EHOSTUNREACH: number;
|
||||
const EIDRM: number;
|
||||
const EILSEQ: number;
|
||||
const EINPROGRESS: number;
|
||||
const EINTR: number;
|
||||
const EINVAL: number;
|
||||
const EIO: number;
|
||||
const EISCONN: number;
|
||||
const EISDIR: number;
|
||||
const ELOOP: number;
|
||||
const EMFILE: number;
|
||||
const EMLINK: number;
|
||||
const EMSGSIZE: number;
|
||||
const ENAMETOOLONG: number;
|
||||
const ENETDOWN: number;
|
||||
const ENETRESET: number;
|
||||
const ENETUNREACH: number;
|
||||
const ENFILE: number;
|
||||
const ENOBUFS: number;
|
||||
const ENODATA: number;
|
||||
const ENODEV: number;
|
||||
const ENOENT: number;
|
||||
const ENOEXEC: number;
|
||||
const ENOLCK: number;
|
||||
const ENOLINK: number;
|
||||
const ENOMEM: number;
|
||||
const ENOMSG: number;
|
||||
const ENOPROTOOPT: number;
|
||||
const ENOSPC: number;
|
||||
const ENOSR: number;
|
||||
const ENOSTR: number;
|
||||
const ENOSYS: number;
|
||||
const ENOTCONN: number;
|
||||
const ENOTDIR: number;
|
||||
const ENOTEMPTY: number;
|
||||
const ENOTSOCK: number;
|
||||
const ENOTSUP: number;
|
||||
const ENOTTY: number;
|
||||
const ENXIO: number;
|
||||
const EOPNOTSUPP: number;
|
||||
const EOVERFLOW: number;
|
||||
const EPERM: number;
|
||||
const EPIPE: number;
|
||||
const EPROTO: number;
|
||||
const EPROTONOSUPPORT: number;
|
||||
const EPROTOTYPE: number;
|
||||
const ERANGE: number;
|
||||
const EROFS: number;
|
||||
const ESPIPE: number;
|
||||
const ESRCH: number;
|
||||
const ETIME: number;
|
||||
const ETIMEDOUT: number;
|
||||
const ETXTBSY: number;
|
||||
const EWOULDBLOCK: number;
|
||||
const EXDEV: number;
|
||||
const WSAEINTR: number;
|
||||
const WSAEBADF: number;
|
||||
const WSAEACCES: number;
|
||||
const WSAEFAULT: number;
|
||||
const WSAEINVAL: number;
|
||||
const WSAEMFILE: number;
|
||||
const WSAEWOULDBLOCK: number;
|
||||
const WSAEINPROGRESS: number;
|
||||
const WSAEALREADY: number;
|
||||
const WSAENOTSOCK: number;
|
||||
const WSAEDESTADDRREQ: number;
|
||||
const WSAEMSGSIZE: number;
|
||||
const WSAEPROTOTYPE: number;
|
||||
const WSAENOPROTOOPT: number;
|
||||
const WSAEPROTONOSUPPORT: number;
|
||||
const WSAESOCKTNOSUPPORT: number;
|
||||
const WSAEOPNOTSUPP: number;
|
||||
const WSAEPFNOSUPPORT: number;
|
||||
const WSAEAFNOSUPPORT: number;
|
||||
const WSAEADDRINUSE: number;
|
||||
const WSAEADDRNOTAVAIL: number;
|
||||
const WSAENETDOWN: number;
|
||||
const WSAENETUNREACH: number;
|
||||
const WSAENETRESET: number;
|
||||
const WSAECONNABORTED: number;
|
||||
const WSAECONNRESET: number;
|
||||
const WSAENOBUFS: number;
|
||||
const WSAEISCONN: number;
|
||||
const WSAENOTCONN: number;
|
||||
const WSAESHUTDOWN: number;
|
||||
const WSAETOOMANYREFS: number;
|
||||
const WSAETIMEDOUT: number;
|
||||
const WSAECONNREFUSED: number;
|
||||
const WSAELOOP: number;
|
||||
const WSAENAMETOOLONG: number;
|
||||
const WSAEHOSTDOWN: number;
|
||||
const WSAEHOSTUNREACH: number;
|
||||
const WSAENOTEMPTY: number;
|
||||
const WSAEPROCLIM: number;
|
||||
const WSAEUSERS: number;
|
||||
const WSAEDQUOT: number;
|
||||
const WSAESTALE: number;
|
||||
const WSAEREMOTE: number;
|
||||
const WSASYSNOTREADY: number;
|
||||
const WSAVERNOTSUPPORTED: number;
|
||||
const WSANOTINITIALISED: number;
|
||||
const WSAEDISCON: number;
|
||||
const WSAENOMORE: number;
|
||||
const WSAECANCELLED: number;
|
||||
const WSAEINVALIDPROCTABLE: number;
|
||||
const WSAEINVALIDPROVIDER: number;
|
||||
const WSAEPROVIDERFAILEDINIT: number;
|
||||
const WSASYSCALLFAILURE: number;
|
||||
const WSASERVICE_NOT_FOUND: number;
|
||||
const WSATYPE_NOT_FOUND: number;
|
||||
const WSA_E_NO_MORE: number;
|
||||
const WSA_E_CANCELLED: number;
|
||||
const WSAEREFUSED: number;
|
||||
const SIGHUP: number;
|
||||
const SIGINT: number;
|
||||
const SIGILL: number;
|
||||
const SIGABRT: number;
|
||||
const SIGFPE: number;
|
||||
const SIGKILL: number;
|
||||
const SIGSEGV: number;
|
||||
const SIGTERM: number;
|
||||
const SIGBREAK: number;
|
||||
const SIGWINCH: number;
|
||||
const SSL_OP_ALL: number;
|
||||
const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number;
|
||||
const SSL_OP_CIPHER_SERVER_PREFERENCE: number;
|
||||
const SSL_OP_CISCO_ANYCONNECT: number;
|
||||
const SSL_OP_COOKIE_EXCHANGE: number;
|
||||
const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number;
|
||||
const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number;
|
||||
const SSL_OP_EPHEMERAL_RSA: number;
|
||||
const SSL_OP_LEGACY_SERVER_CONNECT: number;
|
||||
const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number;
|
||||
const SSL_OP_MICROSOFT_SESS_ID_BUG: number;
|
||||
const SSL_OP_MSIE_SSLV2_RSA_PADDING: number;
|
||||
const SSL_OP_NETSCAPE_CA_DN_BUG: number;
|
||||
const SSL_OP_NETSCAPE_CHALLENGE_BUG: number;
|
||||
const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number;
|
||||
const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number;
|
||||
const SSL_OP_NO_COMPRESSION: number;
|
||||
const SSL_OP_NO_QUERY_MTU: number;
|
||||
const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number;
|
||||
const SSL_OP_NO_SSLv2: number;
|
||||
const SSL_OP_NO_SSLv3: number;
|
||||
const SSL_OP_NO_TICKET: number;
|
||||
const SSL_OP_NO_TLSv1: number;
|
||||
const SSL_OP_NO_TLSv1_1: number;
|
||||
const SSL_OP_NO_TLSv1_2: number;
|
||||
const SSL_OP_PKCS1_CHECK_1: number;
|
||||
const SSL_OP_PKCS1_CHECK_2: number;
|
||||
const SSL_OP_SINGLE_DH_USE: number;
|
||||
const SSL_OP_SINGLE_ECDH_USE: number;
|
||||
const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number;
|
||||
const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number;
|
||||
const SSL_OP_TLS_BLOCK_PADDING_BUG: number;
|
||||
const SSL_OP_TLS_D5_BUG: number;
|
||||
const SSL_OP_TLS_ROLLBACK_BUG: number;
|
||||
const ENGINE_METHOD_DSA: number;
|
||||
const ENGINE_METHOD_DH: number;
|
||||
const ENGINE_METHOD_RAND: number;
|
||||
const ENGINE_METHOD_ECDH: number;
|
||||
const ENGINE_METHOD_ECDSA: number;
|
||||
const ENGINE_METHOD_CIPHERS: number;
|
||||
const ENGINE_METHOD_DIGESTS: number;
|
||||
const ENGINE_METHOD_STORE: number;
|
||||
const ENGINE_METHOD_PKEY_METHS: number;
|
||||
const ENGINE_METHOD_PKEY_ASN1_METHS: number;
|
||||
const ENGINE_METHOD_ALL: number;
|
||||
const ENGINE_METHOD_NONE: number;
|
||||
const DH_CHECK_P_NOT_SAFE_PRIME: number;
|
||||
const DH_CHECK_P_NOT_PRIME: number;
|
||||
const DH_UNABLE_TO_CHECK_GENERATOR: number;
|
||||
const DH_NOT_SUITABLE_GENERATOR: number;
|
||||
const NPN_ENABLED: number;
|
||||
const RSA_PKCS1_PADDING: number;
|
||||
const RSA_SSLV23_PADDING: number;
|
||||
const RSA_NO_PADDING: number;
|
||||
const RSA_PKCS1_OAEP_PADDING: number;
|
||||
const RSA_X931_PADDING: number;
|
||||
const RSA_PKCS1_PSS_PADDING: number;
|
||||
const POINT_CONVERSION_COMPRESSED: number;
|
||||
const POINT_CONVERSION_UNCOMPRESSED: number;
|
||||
const POINT_CONVERSION_HYBRID: number;
|
||||
const O_RDONLY: number;
|
||||
const O_WRONLY: number;
|
||||
const O_RDWR: number;
|
||||
const S_IFMT: number;
|
||||
const S_IFREG: number;
|
||||
const S_IFDIR: number;
|
||||
const S_IFCHR: number;
|
||||
const S_IFBLK: number;
|
||||
const S_IFIFO: number;
|
||||
const S_IFSOCK: number;
|
||||
const S_IRWXU: number;
|
||||
const S_IRUSR: number;
|
||||
const S_IWUSR: number;
|
||||
const S_IXUSR: number;
|
||||
const S_IRWXG: number;
|
||||
const S_IRGRP: number;
|
||||
const S_IWGRP: number;
|
||||
const S_IXGRP: number;
|
||||
const S_IRWXO: number;
|
||||
const S_IROTH: number;
|
||||
const S_IWOTH: number;
|
||||
const S_IXOTH: number;
|
||||
const S_IFLNK: number;
|
||||
const O_CREAT: number;
|
||||
const O_EXCL: number;
|
||||
const O_NOCTTY: number;
|
||||
const O_DIRECTORY: number;
|
||||
const O_NOATIME: number;
|
||||
const O_NOFOLLOW: number;
|
||||
const O_SYNC: number;
|
||||
const O_DSYNC: number;
|
||||
const O_SYMLINK: number;
|
||||
const O_DIRECT: number;
|
||||
const O_NONBLOCK: number;
|
||||
const O_TRUNC: number;
|
||||
const O_APPEND: number;
|
||||
const F_OK: number;
|
||||
const R_OK: number;
|
||||
const W_OK: number;
|
||||
const X_OK: number;
|
||||
const COPYFILE_EXCL: number;
|
||||
const COPYFILE_FICLONE: number;
|
||||
const COPYFILE_FICLONE_FORCE: number;
|
||||
const UV_UDP_REUSEADDR: number;
|
||||
const SIGQUIT: number;
|
||||
const SIGTRAP: number;
|
||||
const SIGIOT: number;
|
||||
const SIGBUS: number;
|
||||
const SIGUSR1: number;
|
||||
const SIGUSR2: number;
|
||||
const SIGPIPE: number;
|
||||
const SIGALRM: number;
|
||||
const SIGCHLD: number;
|
||||
const SIGSTKFLT: number;
|
||||
const SIGCONT: number;
|
||||
const SIGSTOP: number;
|
||||
const SIGTSTP: number;
|
||||
const SIGTTIN: number;
|
||||
const SIGTTOU: number;
|
||||
const SIGURG: number;
|
||||
const SIGXCPU: number;
|
||||
const SIGXFSZ: number;
|
||||
const SIGVTALRM: number;
|
||||
const SIGPROF: number;
|
||||
const SIGIO: number;
|
||||
const SIGPOLL: number;
|
||||
const SIGPWR: number;
|
||||
const SIGSYS: number;
|
||||
const SIGUNUSED: number;
|
||||
const defaultCoreCipherList: string;
|
||||
const defaultCipherList: string;
|
||||
const ENGINE_METHOD_RSA: number;
|
||||
const ALPN_ENABLED: number;
|
||||
}
|
||||
568
types/node/v11/crypto.d.ts
vendored
Normal file
568
types/node/v11/crypto.d.ts
vendored
Normal file
@@ -0,0 +1,568 @@
|
||||
declare module "crypto" {
|
||||
import * as stream from "stream";
|
||||
|
||||
interface Certificate {
|
||||
exportChallenge(spkac: BinaryLike): Buffer;
|
||||
exportPublicKey(spkac: BinaryLike): Buffer;
|
||||
verifySpkac(spkac: Binary): boolean;
|
||||
}
|
||||
const Certificate: {
|
||||
new(): Certificate;
|
||||
(): Certificate;
|
||||
};
|
||||
|
||||
namespace constants { // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants
|
||||
const OPENSSL_VERSION_NUMBER: number;
|
||||
|
||||
/** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */
|
||||
const SSL_OP_ALL: number;
|
||||
/** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */
|
||||
const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number;
|
||||
/** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */
|
||||
const SSL_OP_CIPHER_SERVER_PREFERENCE: number;
|
||||
/** Instructs OpenSSL to use Cisco's "speshul" version of DTLS_BAD_VER. */
|
||||
const SSL_OP_CISCO_ANYCONNECT: number;
|
||||
/** Instructs OpenSSL to turn on cookie exchange. */
|
||||
const SSL_OP_COOKIE_EXCHANGE: number;
|
||||
/** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */
|
||||
const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number;
|
||||
/** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */
|
||||
const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number;
|
||||
/** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */
|
||||
const SSL_OP_EPHEMERAL_RSA: number;
|
||||
/** Allows initial connection to servers that do not support RI. */
|
||||
const SSL_OP_LEGACY_SERVER_CONNECT: number;
|
||||
const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number;
|
||||
const SSL_OP_MICROSOFT_SESS_ID_BUG: number;
|
||||
/** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */
|
||||
const SSL_OP_MSIE_SSLV2_RSA_PADDING: number;
|
||||
const SSL_OP_NETSCAPE_CA_DN_BUG: number;
|
||||
const SSL_OP_NETSCAPE_CHALLENGE_BUG: number;
|
||||
const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number;
|
||||
const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number;
|
||||
/** Instructs OpenSSL to disable support for SSL/TLS compression. */
|
||||
const SSL_OP_NO_COMPRESSION: number;
|
||||
const SSL_OP_NO_QUERY_MTU: number;
|
||||
/** Instructs OpenSSL to always start a new session when performing renegotiation. */
|
||||
const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number;
|
||||
const SSL_OP_NO_SSLv2: number;
|
||||
const SSL_OP_NO_SSLv3: number;
|
||||
const SSL_OP_NO_TICKET: number;
|
||||
const SSL_OP_NO_TLSv1: number;
|
||||
const SSL_OP_NO_TLSv1_1: number;
|
||||
const SSL_OP_NO_TLSv1_2: number;
|
||||
const SSL_OP_PKCS1_CHECK_1: number;
|
||||
const SSL_OP_PKCS1_CHECK_2: number;
|
||||
/** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */
|
||||
const SSL_OP_SINGLE_DH_USE: number;
|
||||
/** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */
|
||||
const SSL_OP_SINGLE_ECDH_USE: number;
|
||||
const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number;
|
||||
const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number;
|
||||
const SSL_OP_TLS_BLOCK_PADDING_BUG: number;
|
||||
const SSL_OP_TLS_D5_BUG: number;
|
||||
/** Instructs OpenSSL to disable version rollback attack detection. */
|
||||
const SSL_OP_TLS_ROLLBACK_BUG: number;
|
||||
|
||||
const ENGINE_METHOD_RSA: number;
|
||||
const ENGINE_METHOD_DSA: number;
|
||||
const ENGINE_METHOD_DH: number;
|
||||
const ENGINE_METHOD_RAND: number;
|
||||
const ENGINE_METHOD_EC: number;
|
||||
const ENGINE_METHOD_CIPHERS: number;
|
||||
const ENGINE_METHOD_DIGESTS: number;
|
||||
const ENGINE_METHOD_PKEY_METHS: number;
|
||||
const ENGINE_METHOD_PKEY_ASN1_METHS: number;
|
||||
const ENGINE_METHOD_ALL: number;
|
||||
const ENGINE_METHOD_NONE: number;
|
||||
|
||||
const DH_CHECK_P_NOT_SAFE_PRIME: number;
|
||||
const DH_CHECK_P_NOT_PRIME: number;
|
||||
const DH_UNABLE_TO_CHECK_GENERATOR: number;
|
||||
const DH_NOT_SUITABLE_GENERATOR: number;
|
||||
|
||||
const ALPN_ENABLED: number;
|
||||
|
||||
const RSA_PKCS1_PADDING: number;
|
||||
const RSA_SSLV23_PADDING: number;
|
||||
const RSA_NO_PADDING: number;
|
||||
const RSA_PKCS1_OAEP_PADDING: number;
|
||||
const RSA_X931_PADDING: number;
|
||||
const RSA_PKCS1_PSS_PADDING: number;
|
||||
/** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */
|
||||
const RSA_PSS_SALTLEN_DIGEST: number;
|
||||
/** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */
|
||||
const RSA_PSS_SALTLEN_MAX_SIGN: number;
|
||||
/** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */
|
||||
const RSA_PSS_SALTLEN_AUTO: number;
|
||||
|
||||
const POINT_CONVERSION_COMPRESSED: number;
|
||||
const POINT_CONVERSION_UNCOMPRESSED: number;
|
||||
const POINT_CONVERSION_HYBRID: number;
|
||||
|
||||
/** Specifies the built-in default cipher list used by Node.js (colon-separated values). */
|
||||
const defaultCoreCipherList: string;
|
||||
/** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */
|
||||
const defaultCipherList: string;
|
||||
}
|
||||
|
||||
/** @deprecated since v10.0.0 */
|
||||
const fips: boolean;
|
||||
|
||||
function createHash(algorithm: string, options?: stream.TransformOptions): Hash;
|
||||
function createHmac(algorithm: string, key: BinaryLike, options?: stream.TransformOptions): Hmac;
|
||||
|
||||
type Utf8AsciiLatin1Encoding = "utf8" | "ascii" | "latin1";
|
||||
type HexBase64Latin1Encoding = "latin1" | "hex" | "base64";
|
||||
type Utf8AsciiBinaryEncoding = "utf8" | "ascii" | "binary";
|
||||
type HexBase64BinaryEncoding = "binary" | "base64" | "hex";
|
||||
type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid";
|
||||
|
||||
class Hash extends stream.Duplex {
|
||||
private constructor();
|
||||
update(data: BinaryLike): Hash;
|
||||
update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hash;
|
||||
digest(): Buffer;
|
||||
digest(encoding: HexBase64Latin1Encoding): string;
|
||||
}
|
||||
class Hmac extends stream.Duplex {
|
||||
private constructor();
|
||||
update(data: BinaryLike): Hmac;
|
||||
update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hmac;
|
||||
digest(): Buffer;
|
||||
digest(encoding: HexBase64Latin1Encoding): string;
|
||||
}
|
||||
|
||||
export type KeyObjectType = 'secret' | 'public' | 'private';
|
||||
|
||||
interface KeyExportOptions<T extends KeyFormat> {
|
||||
type: 'pkcs1' | 'spki' | 'pkcs8' | 'sec1';
|
||||
format: T;
|
||||
cipher?: string;
|
||||
passphrase?: string | Buffer;
|
||||
}
|
||||
|
||||
class KeyObject {
|
||||
private constructor();
|
||||
asymmetricKeyType?: KeyType;
|
||||
export(options: KeyExportOptions<'pem'>): string | Buffer;
|
||||
export(options?: KeyExportOptions<'der'>): Buffer;
|
||||
symmetricSize?: number;
|
||||
type: KeyObjectType;
|
||||
}
|
||||
|
||||
type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm';
|
||||
type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm';
|
||||
|
||||
type Binary = Buffer | NodeJS.TypedArray | DataView;
|
||||
type BinaryLike = string | Binary;
|
||||
|
||||
type CipherKey = BinaryLike | KeyObject;
|
||||
|
||||
interface CipherCCMOptions extends stream.TransformOptions {
|
||||
authTagLength: number;
|
||||
}
|
||||
interface CipherGCMOptions extends stream.TransformOptions {
|
||||
authTagLength?: number;
|
||||
}
|
||||
/** @deprecated since v10.0.0 use createCipheriv() */
|
||||
function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM;
|
||||
/** @deprecated since v10.0.0 use createCipheriv() */
|
||||
function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM;
|
||||
/** @deprecated since v10.0.0 use createCipheriv() */
|
||||
function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher;
|
||||
|
||||
function createCipheriv(
|
||||
algorithm: CipherCCMTypes,
|
||||
key: CipherKey,
|
||||
iv: BinaryLike | null,
|
||||
options: CipherCCMOptions
|
||||
): CipherCCM;
|
||||
function createCipheriv(
|
||||
algorithm: CipherGCMTypes,
|
||||
key: CipherKey,
|
||||
iv: BinaryLike | null,
|
||||
options?: CipherGCMOptions
|
||||
): CipherGCM;
|
||||
function createCipheriv(
|
||||
algorithm: string, key: CipherKey, iv: BinaryLike | null, options?: stream.TransformOptions
|
||||
): Cipher;
|
||||
|
||||
class Cipher extends stream.Duplex {
|
||||
private constructor();
|
||||
update(data: BinaryLike): Buffer;
|
||||
update(data: string, input_encoding: Utf8AsciiBinaryEncoding): Buffer;
|
||||
update(data: Binary, input_encoding: undefined, output_encoding: HexBase64BinaryEncoding): string;
|
||||
update(data: string, input_encoding: Utf8AsciiBinaryEncoding | undefined, output_encoding: HexBase64BinaryEncoding): string;
|
||||
final(): Buffer;
|
||||
final(output_encoding: string): string;
|
||||
setAutoPadding(auto_padding?: boolean): this;
|
||||
// getAuthTag(): Buffer;
|
||||
// setAAD(buffer: Buffer): this; // docs only say buffer
|
||||
}
|
||||
interface CipherCCM extends Cipher {
|
||||
setAAD(buffer: Buffer, options: { plaintextLength: number }): this;
|
||||
getAuthTag(): Buffer;
|
||||
}
|
||||
interface CipherGCM extends Cipher {
|
||||
setAAD(buffer: Buffer, options?: { plaintextLength: number }): this;
|
||||
getAuthTag(): Buffer;
|
||||
}
|
||||
/** @deprecated since v10.0.0 use createCipheriv() */
|
||||
function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM;
|
||||
/** @deprecated since v10.0.0 use createCipheriv() */
|
||||
function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM;
|
||||
/** @deprecated since v10.0.0 use createCipheriv() */
|
||||
function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher;
|
||||
|
||||
function createDecipheriv(
|
||||
algorithm: CipherCCMTypes,
|
||||
key: BinaryLike,
|
||||
iv: BinaryLike | null,
|
||||
options: CipherCCMOptions,
|
||||
): DecipherCCM;
|
||||
function createDecipheriv(
|
||||
algorithm: CipherGCMTypes,
|
||||
key: BinaryLike,
|
||||
iv: BinaryLike | null,
|
||||
options?: CipherGCMOptions,
|
||||
): DecipherGCM;
|
||||
function createDecipheriv(algorithm: string, key: BinaryLike, iv: BinaryLike | null, options?: stream.TransformOptions): Decipher;
|
||||
|
||||
class Decipher extends stream.Duplex {
|
||||
private constructor();
|
||||
update(data: Binary): Buffer;
|
||||
update(data: string, input_encoding: HexBase64BinaryEncoding): Buffer;
|
||||
update(data: Binary, input_encoding: undefined, output_encoding: Utf8AsciiBinaryEncoding): string;
|
||||
update(data: string, input_encoding: HexBase64BinaryEncoding | undefined, output_encoding: Utf8AsciiBinaryEncoding): string;
|
||||
final(): Buffer;
|
||||
final(output_encoding: string): string;
|
||||
setAutoPadding(auto_padding?: boolean): this;
|
||||
// setAuthTag(tag: Binary): this;
|
||||
// setAAD(buffer: Binary): this;
|
||||
}
|
||||
interface DecipherCCM extends Decipher {
|
||||
setAuthTag(buffer: Binary): this;
|
||||
setAAD(buffer: Binary, options: { plaintextLength: number }): this;
|
||||
}
|
||||
interface DecipherGCM extends Decipher {
|
||||
setAuthTag(buffer: Binary): this;
|
||||
setAAD(buffer: Binary, options?: { plaintextLength: number }): this;
|
||||
}
|
||||
|
||||
interface PrivateKeyInput {
|
||||
key: string | Buffer;
|
||||
format?: KeyFormat;
|
||||
type?: 'pkcs1' | 'pkcs8' | 'sec1';
|
||||
passphrase?: string | Buffer;
|
||||
}
|
||||
|
||||
interface PublicKeyInput {
|
||||
key: string | Buffer;
|
||||
format?: KeyFormat;
|
||||
type?: 'pkcs1' | 'spki';
|
||||
}
|
||||
|
||||
function createPrivateKey(key: PrivateKeyInput | string | Buffer): KeyObject;
|
||||
function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject): KeyObject;
|
||||
function createSecretKey(key: Buffer): KeyObject;
|
||||
|
||||
function createSign(algorithm: string, options?: stream.WritableOptions): Signer;
|
||||
|
||||
interface SignPrivateKeyInput extends PrivateKeyInput {
|
||||
padding?: number;
|
||||
saltLength?: number;
|
||||
}
|
||||
|
||||
type KeyLike = string | Buffer | KeyObject;
|
||||
|
||||
class Signer extends stream.Writable {
|
||||
private constructor();
|
||||
|
||||
update(data: BinaryLike): Signer;
|
||||
update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Signer;
|
||||
sign(private_key: SignPrivateKeyInput | KeyLike): Buffer;
|
||||
sign(private_key: SignPrivateKeyInput | KeyLike, output_format: HexBase64Latin1Encoding): string;
|
||||
}
|
||||
|
||||
function createVerify(algorith: string, options?: stream.WritableOptions): Verify;
|
||||
class Verify extends stream.Writable {
|
||||
private constructor();
|
||||
|
||||
update(data: BinaryLike): Verify;
|
||||
update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Verify;
|
||||
verify(object: Object | KeyLike, signature: Binary): boolean;
|
||||
verify(object: Object | KeyLike, signature: string, signature_format?: HexBase64Latin1Encoding): boolean;
|
||||
// https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format
|
||||
// The signature field accepts a TypedArray type, but it is only available starting ES2017
|
||||
}
|
||||
function createDiffieHellman(prime_length: number, generator?: number | Binary): DiffieHellman;
|
||||
function createDiffieHellman(prime: Binary): DiffieHellman;
|
||||
function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding): DiffieHellman;
|
||||
function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: number | Binary): DiffieHellman;
|
||||
function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: string, generator_encoding: HexBase64Latin1Encoding): DiffieHellman;
|
||||
class DiffieHellman {
|
||||
private constructor();
|
||||
generateKeys(): Buffer;
|
||||
generateKeys(encoding: HexBase64Latin1Encoding): string;
|
||||
computeSecret(other_public_key: Binary): Buffer;
|
||||
computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer;
|
||||
computeSecret(other_public_key: Binary, output_encoding: HexBase64Latin1Encoding): string;
|
||||
computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string;
|
||||
getPrime(): Buffer;
|
||||
getPrime(encoding: HexBase64Latin1Encoding): string;
|
||||
getGenerator(): Buffer;
|
||||
getGenerator(encoding: HexBase64Latin1Encoding): string;
|
||||
getPublicKey(): Buffer;
|
||||
getPublicKey(encoding: HexBase64Latin1Encoding): string;
|
||||
getPrivateKey(): Buffer;
|
||||
getPrivateKey(encoding: HexBase64Latin1Encoding): string;
|
||||
setPublicKey(public_key: Binary): void;
|
||||
setPublicKey(public_key: string, encoding: string): void;
|
||||
setPrivateKey(private_key: Binary): void;
|
||||
setPrivateKey(private_key: string, encoding: string): void;
|
||||
verifyError: number;
|
||||
}
|
||||
function getDiffieHellman(group_name: string): DiffieHellman;
|
||||
function pbkdf2(
|
||||
password: BinaryLike,
|
||||
salt: BinaryLike,
|
||||
iterations: number,
|
||||
keylen: number,
|
||||
digest: string,
|
||||
callback: (err: Error | null, derivedKey: Buffer) => any,
|
||||
): void;
|
||||
function pbkdf2Sync(password: BinaryLike, salt: BinaryLike, iterations: number, keylen: number, digest: string): Buffer;
|
||||
|
||||
function randomBytes(size: number): Buffer;
|
||||
function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void;
|
||||
function pseudoRandomBytes(size: number): Buffer;
|
||||
function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void;
|
||||
|
||||
function randomFillSync<T extends Binary>(buffer: T, offset?: number, size?: number): T;
|
||||
function randomFill<T extends Binary>(buffer: T, callback: (err: Error | null, buf: T) => void): void;
|
||||
function randomFill<T extends Binary>(buffer: T, offset: number, callback: (err: Error | null, buf: T) => void): void;
|
||||
function randomFill<T extends Binary>(buffer: T, offset: number, size: number, callback: (err: Error | null, buf: T) => void): void;
|
||||
|
||||
interface ScryptOptions {
|
||||
N?: number;
|
||||
r?: number;
|
||||
p?: number;
|
||||
maxmem?: number;
|
||||
}
|
||||
function scrypt(
|
||||
password: BinaryLike,
|
||||
salt: BinaryLike,
|
||||
keylen: number, callback: (err: Error | null, derivedKey: Buffer) => void,
|
||||
): void;
|
||||
function scrypt(
|
||||
password: BinaryLike,
|
||||
salt: BinaryLike,
|
||||
keylen: number,
|
||||
options: ScryptOptions,
|
||||
callback: (err: Error | null, derivedKey: Buffer) => void,
|
||||
): void;
|
||||
function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer;
|
||||
|
||||
interface RsaPublicKey {
|
||||
key: KeyLike;
|
||||
padding?: number;
|
||||
}
|
||||
interface RsaPrivateKey {
|
||||
key: KeyLike;
|
||||
passphrase?: string;
|
||||
padding?: number;
|
||||
}
|
||||
function publicEncrypt(public_key: RsaPublicKey | KeyLike, buffer: Binary): Buffer;
|
||||
function privateDecrypt(private_key: RsaPrivateKey | KeyLike, buffer: Binary): Buffer;
|
||||
function privateEncrypt(private_key: RsaPrivateKey | KeyLike, buffer: Binary): Buffer;
|
||||
function publicDecrypt(public_key: RsaPublicKey | KeyLike, buffer: Binary): Buffer;
|
||||
function getCiphers(): string[];
|
||||
function getCurves(): string[];
|
||||
function getHashes(): string[];
|
||||
class ECDH {
|
||||
private constructor();
|
||||
static convertKey(
|
||||
key: BinaryLike,
|
||||
curve: string,
|
||||
inputEncoding?: HexBase64Latin1Encoding,
|
||||
outputEncoding?: "latin1" | "hex" | "base64",
|
||||
format?: "uncompressed" | "compressed" | "hybrid",
|
||||
): Buffer | string;
|
||||
generateKeys(): Buffer;
|
||||
generateKeys(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string;
|
||||
computeSecret(other_public_key: Binary): Buffer;
|
||||
computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer;
|
||||
computeSecret(other_public_key: Binary, output_encoding: HexBase64Latin1Encoding): string;
|
||||
computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string;
|
||||
getPrivateKey(): Buffer;
|
||||
getPrivateKey(encoding: HexBase64Latin1Encoding): string;
|
||||
getPublicKey(): Buffer;
|
||||
getPublicKey(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string;
|
||||
setPrivateKey(private_key: Binary): void;
|
||||
setPrivateKey(private_key: string, encoding: HexBase64Latin1Encoding): void;
|
||||
}
|
||||
function createECDH(curve_name: string): ECDH;
|
||||
function timingSafeEqual(a: Binary, b: Binary): boolean;
|
||||
/** @deprecated since v10.0.0 */
|
||||
const DEFAULT_ENCODING: string;
|
||||
|
||||
export type KeyType = 'rsa' | 'dsa' | 'ec';
|
||||
export type KeyFormat = 'pem' | 'der';
|
||||
|
||||
interface BasePrivateKeyEncodingOptions<T extends KeyFormat> {
|
||||
format: T;
|
||||
cipher: string;
|
||||
passphrase: string;
|
||||
}
|
||||
|
||||
interface KeyPairKeyObjectResult {
|
||||
publicKey: KeyObject;
|
||||
privateKey: KeyObject;
|
||||
}
|
||||
|
||||
interface ECKeyPairKeyObjectOptions {
|
||||
/**
|
||||
* Name of the curve to use.
|
||||
*/
|
||||
namedCurve: string;
|
||||
}
|
||||
|
||||
interface RSAKeyPairKeyObjectOptions {
|
||||
/**
|
||||
* Key size in bits
|
||||
*/
|
||||
modulusLength: number;
|
||||
|
||||
/**
|
||||
* @default 0x10001
|
||||
*/
|
||||
publicExponent?: number;
|
||||
}
|
||||
|
||||
interface DSAKeyPairKeyObjectOptions {
|
||||
/**
|
||||
* Key size in bits
|
||||
*/
|
||||
modulusLength: number;
|
||||
|
||||
/**
|
||||
* Size of q in bits
|
||||
*/
|
||||
divisorLength: number;
|
||||
}
|
||||
|
||||
interface RSAKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
|
||||
/**
|
||||
* Key size in bits
|
||||
*/
|
||||
modulusLength: number;
|
||||
/**
|
||||
* @default 0x10001
|
||||
*/
|
||||
publicExponent?: number;
|
||||
|
||||
publicKeyEncoding: {
|
||||
type: 'pkcs1' | 'spki';
|
||||
format: PubF;
|
||||
};
|
||||
privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {
|
||||
type: 'pkcs1' | 'pkcs8';
|
||||
};
|
||||
}
|
||||
|
||||
interface DSAKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
|
||||
/**
|
||||
* Key size in bits
|
||||
*/
|
||||
modulusLength: number;
|
||||
/**
|
||||
* Size of q in bits
|
||||
*/
|
||||
divisorLength: number;
|
||||
|
||||
publicKeyEncoding: {
|
||||
type: 'spki';
|
||||
format: PubF;
|
||||
};
|
||||
privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {
|
||||
type: 'pkcs8';
|
||||
};
|
||||
}
|
||||
|
||||
interface ECKeyPairOptions<PubF extends KeyFormat, PrivF extends KeyFormat> {
|
||||
/**
|
||||
* Name of the curve to use.
|
||||
*/
|
||||
namedCurve: string;
|
||||
|
||||
publicKeyEncoding: {
|
||||
type: 'pkcs1' | 'spki';
|
||||
format: PubF;
|
||||
};
|
||||
privateKeyEncoding: BasePrivateKeyEncodingOptions<PrivF> & {
|
||||
type: 'sec1' | 'pkcs8';
|
||||
};
|
||||
}
|
||||
|
||||
interface KeyPairSyncResult<T1 extends string | Buffer, T2 extends string | Buffer> {
|
||||
publicKey: T1;
|
||||
privateKey: T2;
|
||||
}
|
||||
|
||||
function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult<string, string>;
|
||||
function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult<string, Buffer>;
|
||||
function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult<Buffer, string>;
|
||||
function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult<Buffer, Buffer>;
|
||||
function generateKeyPairSync(type: 'rsa', options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
|
||||
|
||||
function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult<string, string>;
|
||||
function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult<string, Buffer>;
|
||||
function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult<Buffer, string>;
|
||||
function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult<Buffer, Buffer>;
|
||||
function generateKeyPairSync(type: 'dsa', options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
|
||||
|
||||
function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult<string, string>;
|
||||
function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>): KeyPairSyncResult<string, Buffer>;
|
||||
function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>): KeyPairSyncResult<Buffer, string>;
|
||||
function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'der'>): KeyPairSyncResult<Buffer, Buffer>;
|
||||
function generateKeyPairSync(type: 'ec', options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult;
|
||||
|
||||
function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void;
|
||||
function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void;
|
||||
function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void;
|
||||
function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void;
|
||||
function generateKeyPair(type: 'rsa', options: RSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void;
|
||||
|
||||
function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void;
|
||||
function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void;
|
||||
function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void;
|
||||
function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void;
|
||||
function generateKeyPair(type: 'dsa', options: DSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void;
|
||||
|
||||
function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void;
|
||||
function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void;
|
||||
function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void;
|
||||
function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void;
|
||||
function generateKeyPair(type: 'ec', options: ECKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void;
|
||||
|
||||
namespace generateKeyPair {
|
||||
function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>;
|
||||
function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>;
|
||||
function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>;
|
||||
function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>;
|
||||
function __promisify__(type: "rsa", options: RSAKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;
|
||||
|
||||
function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>;
|
||||
function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>;
|
||||
function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>;
|
||||
function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>;
|
||||
function __promisify__(type: "dsa", options: DSAKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;
|
||||
|
||||
function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>;
|
||||
function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>;
|
||||
function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>;
|
||||
function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>;
|
||||
function __promisify__(type: "ec", options: ECKeyPairKeyObjectOptions): Promise<KeyPairKeyObjectResult>;
|
||||
}
|
||||
}
|
||||
102
types/node/v11/dgram.d.ts
vendored
Normal file
102
types/node/v11/dgram.d.ts
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
declare module "dgram" {
|
||||
import { AddressInfo } from "net";
|
||||
import * as dns from "dns";
|
||||
import * as events from "events";
|
||||
|
||||
interface RemoteInfo {
|
||||
address: string;
|
||||
family: 'IPv4' | 'IPv6';
|
||||
port: number;
|
||||
size: number;
|
||||
}
|
||||
|
||||
interface BindOptions {
|
||||
port: number;
|
||||
address?: string;
|
||||
exclusive?: boolean;
|
||||
}
|
||||
|
||||
type SocketType = "udp4" | "udp6";
|
||||
|
||||
interface SocketOptions {
|
||||
type: SocketType;
|
||||
reuseAddr?: boolean;
|
||||
/**
|
||||
* @default false
|
||||
*/
|
||||
ipv6Only?: boolean;
|
||||
recvBufferSize?: number;
|
||||
sendBufferSize?: number;
|
||||
lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void;
|
||||
}
|
||||
|
||||
function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
|
||||
function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
|
||||
|
||||
class Socket extends events.EventEmitter {
|
||||
send(msg: Buffer | string | Uint8Array | any[], port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
||||
send(msg: Buffer | string | Uint8Array, offset: number, length: number, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
||||
bind(port?: number, address?: string, callback?: () => void): void;
|
||||
bind(port?: number, callback?: () => void): void;
|
||||
bind(callback?: () => void): void;
|
||||
bind(options: BindOptions, callback?: () => void): void;
|
||||
close(callback?: () => void): void;
|
||||
address(): AddressInfo | string;
|
||||
setBroadcast(flag: boolean): void;
|
||||
setTTL(ttl: number): void;
|
||||
setMulticastTTL(ttl: number): void;
|
||||
setMulticastInterface(multicastInterface: string): void;
|
||||
setMulticastLoopback(flag: boolean): void;
|
||||
addMembership(multicastAddress: string, multicastInterface?: string): void;
|
||||
dropMembership(multicastAddress: string, multicastInterface?: string): void;
|
||||
ref(): this;
|
||||
unref(): this;
|
||||
setRecvBufferSize(size: number): void;
|
||||
setSendBufferSize(size: number): void;
|
||||
getRecvBufferSize(): number;
|
||||
getSendBufferSize(): number;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. error
|
||||
* 3. listening
|
||||
* 4. message
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "listening", listener: () => void): this;
|
||||
addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "listening"): boolean;
|
||||
emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "listening", listener: () => void): this;
|
||||
on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "listening", listener: () => void): this;
|
||||
once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "listening", listener: () => void): this;
|
||||
prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "listening", listener: () => void): this;
|
||||
prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||
}
|
||||
}
|
||||
292
types/node/v11/dns.d.ts
vendored
Normal file
292
types/node/v11/dns.d.ts
vendored
Normal file
@@ -0,0 +1,292 @@
|
||||
declare module "dns" {
|
||||
// Supported getaddrinfo flags.
|
||||
const ADDRCONFIG: number;
|
||||
const V4MAPPED: number;
|
||||
|
||||
interface LookupOptions {
|
||||
family?: number;
|
||||
hints?: number;
|
||||
all?: boolean;
|
||||
verbatim?: boolean;
|
||||
}
|
||||
|
||||
interface LookupOneOptions extends LookupOptions {
|
||||
all?: false;
|
||||
}
|
||||
|
||||
interface LookupAllOptions extends LookupOptions {
|
||||
all: true;
|
||||
}
|
||||
|
||||
interface LookupAddress {
|
||||
address: string;
|
||||
family: number;
|
||||
}
|
||||
|
||||
function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void;
|
||||
function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void;
|
||||
function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void;
|
||||
function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void;
|
||||
function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void;
|
||||
|
||||
// NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
|
||||
namespace lookup {
|
||||
function __promisify__(hostname: string, options: LookupAllOptions): Promise<{ address: LookupAddress[] }>;
|
||||
function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise<{ address: string, family: number }>;
|
||||
function __promisify__(hostname: string, options?: LookupOptions | number): Promise<{ address: string | LookupAddress[], family?: number }>;
|
||||
}
|
||||
|
||||
function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void;
|
||||
|
||||
namespace lookupService {
|
||||
function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>;
|
||||
}
|
||||
|
||||
interface ResolveOptions {
|
||||
ttl: boolean;
|
||||
}
|
||||
|
||||
interface ResolveWithTtlOptions extends ResolveOptions {
|
||||
ttl: true;
|
||||
}
|
||||
|
||||
interface RecordWithTtl {
|
||||
address: string;
|
||||
ttl: number;
|
||||
}
|
||||
|
||||
/** @deprecated Use AnyARecord or AnyAaaaRecord instead. */
|
||||
type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord;
|
||||
|
||||
interface AnyARecord extends RecordWithTtl {
|
||||
type: "A";
|
||||
}
|
||||
|
||||
interface AnyAaaaRecord extends RecordWithTtl {
|
||||
type: "AAAA";
|
||||
}
|
||||
|
||||
interface MxRecord {
|
||||
priority: number;
|
||||
exchange: string;
|
||||
}
|
||||
|
||||
interface AnyMxRecord extends MxRecord {
|
||||
type: "MX";
|
||||
}
|
||||
|
||||
interface NaptrRecord {
|
||||
flags: string;
|
||||
service: string;
|
||||
regexp: string;
|
||||
replacement: string;
|
||||
order: number;
|
||||
preference: number;
|
||||
}
|
||||
|
||||
interface AnyNaptrRecord extends NaptrRecord {
|
||||
type: "NAPTR";
|
||||
}
|
||||
|
||||
interface SoaRecord {
|
||||
nsname: string;
|
||||
hostmaster: string;
|
||||
serial: number;
|
||||
refresh: number;
|
||||
retry: number;
|
||||
expire: number;
|
||||
minttl: number;
|
||||
}
|
||||
|
||||
interface AnySoaRecord extends SoaRecord {
|
||||
type: "SOA";
|
||||
}
|
||||
|
||||
interface SrvRecord {
|
||||
priority: number;
|
||||
weight: number;
|
||||
port: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
interface AnySrvRecord extends SrvRecord {
|
||||
type: "SRV";
|
||||
}
|
||||
|
||||
interface AnyTxtRecord {
|
||||
type: "TXT";
|
||||
entries: string[];
|
||||
}
|
||||
|
||||
interface AnyNsRecord {
|
||||
type: "NS";
|
||||
value: string;
|
||||
}
|
||||
|
||||
interface AnyPtrRecord {
|
||||
type: "PTR";
|
||||
value: string;
|
||||
}
|
||||
|
||||
interface AnyCnameRecord {
|
||||
type: "CNAME";
|
||||
value: string;
|
||||
}
|
||||
|
||||
type AnyRecord = AnyARecord |
|
||||
AnyAaaaRecord |
|
||||
AnyCnameRecord |
|
||||
AnyMxRecord |
|
||||
AnyNaptrRecord |
|
||||
AnyNsRecord |
|
||||
AnyPtrRecord |
|
||||
AnySoaRecord |
|
||||
AnySrvRecord |
|
||||
AnyTxtRecord;
|
||||
|
||||
function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void;
|
||||
function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void;
|
||||
function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void;
|
||||
function resolve(
|
||||
hostname: string,
|
||||
rrtype: string,
|
||||
callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void,
|
||||
): void;
|
||||
|
||||
// NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
|
||||
namespace resolve {
|
||||
function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise<string[]>;
|
||||
function __promisify__(hostname: string, rrtype: "ANY"): Promise<AnyRecord[]>;
|
||||
function __promisify__(hostname: string, rrtype: "MX"): Promise<MxRecord[]>;
|
||||
function __promisify__(hostname: string, rrtype: "NAPTR"): Promise<NaptrRecord[]>;
|
||||
function __promisify__(hostname: string, rrtype: "SOA"): Promise<SoaRecord>;
|
||||
function __promisify__(hostname: string, rrtype: "SRV"): Promise<SrvRecord[]>;
|
||||
function __promisify__(hostname: string, rrtype: "TXT"): Promise<string[][]>;
|
||||
function __promisify__(hostname: string, rrtype: string): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
|
||||
}
|
||||
|
||||
function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void;
|
||||
function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void;
|
||||
|
||||
// NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
|
||||
namespace resolve4 {
|
||||
function __promisify__(hostname: string): Promise<string[]>;
|
||||
function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
|
||||
function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
|
||||
}
|
||||
|
||||
function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void;
|
||||
function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void;
|
||||
|
||||
// NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
|
||||
namespace resolve6 {
|
||||
function __promisify__(hostname: string): Promise<string[]>;
|
||||
function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
|
||||
function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
|
||||
}
|
||||
|
||||
function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
namespace resolveCname {
|
||||
function __promisify__(hostname: string): Promise<string[]>;
|
||||
}
|
||||
|
||||
function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void;
|
||||
namespace resolveMx {
|
||||
function __promisify__(hostname: string): Promise<MxRecord[]>;
|
||||
}
|
||||
|
||||
function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void;
|
||||
namespace resolveNaptr {
|
||||
function __promisify__(hostname: string): Promise<NaptrRecord[]>;
|
||||
}
|
||||
|
||||
function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
namespace resolveNs {
|
||||
function __promisify__(hostname: string): Promise<string[]>;
|
||||
}
|
||||
|
||||
function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void;
|
||||
namespace resolvePtr {
|
||||
function __promisify__(hostname: string): Promise<string[]>;
|
||||
}
|
||||
|
||||
function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void;
|
||||
namespace resolveSoa {
|
||||
function __promisify__(hostname: string): Promise<SoaRecord>;
|
||||
}
|
||||
|
||||
function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void;
|
||||
namespace resolveSrv {
|
||||
function __promisify__(hostname: string): Promise<SrvRecord[]>;
|
||||
}
|
||||
|
||||
function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void;
|
||||
namespace resolveTxt {
|
||||
function __promisify__(hostname: string): Promise<string[][]>;
|
||||
}
|
||||
|
||||
function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void;
|
||||
namespace resolveAny {
|
||||
function __promisify__(hostname: string): Promise<AnyRecord[]>;
|
||||
}
|
||||
|
||||
function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void;
|
||||
function setServers(servers: string[]): void;
|
||||
function getServers(): string[];
|
||||
|
||||
// Error codes
|
||||
const NODATA: string;
|
||||
const FORMERR: string;
|
||||
const SERVFAIL: string;
|
||||
const NOTFOUND: string;
|
||||
const NOTIMP: string;
|
||||
const REFUSED: string;
|
||||
const BADQUERY: string;
|
||||
const BADNAME: string;
|
||||
const BADFAMILY: string;
|
||||
const BADRESP: string;
|
||||
const CONNREFUSED: string;
|
||||
const TIMEOUT: string;
|
||||
const EOF: string;
|
||||
const FILE: string;
|
||||
const NOMEM: string;
|
||||
const DESTRUCTION: string;
|
||||
const BADSTR: string;
|
||||
const BADFLAGS: string;
|
||||
const NONAME: string;
|
||||
const BADHINTS: string;
|
||||
const NOTINITIALIZED: string;
|
||||
const LOADIPHLPAPI: string;
|
||||
const ADDRGETNETWORKPARAMS: string;
|
||||
const CANCELLED: string;
|
||||
|
||||
class Resolver {
|
||||
getServers: typeof getServers;
|
||||
setServers: typeof setServers;
|
||||
resolve: typeof resolve;
|
||||
resolve4: typeof resolve4;
|
||||
resolve6: typeof resolve6;
|
||||
resolveAny: typeof resolveAny;
|
||||
resolveCname: typeof resolveCname;
|
||||
resolveMx: typeof resolveMx;
|
||||
resolveNaptr: typeof resolveNaptr;
|
||||
resolveNs: typeof resolveNs;
|
||||
resolvePtr: typeof resolvePtr;
|
||||
resolveSoa: typeof resolveSoa;
|
||||
resolveSrv: typeof resolveSrv;
|
||||
resolveTxt: typeof resolveTxt;
|
||||
reverse: typeof reverse;
|
||||
cancel(): void;
|
||||
}
|
||||
}
|
||||
16
types/node/v11/domain.d.ts
vendored
Normal file
16
types/node/v11/domain.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
declare module "domain" {
|
||||
import * as events from "events";
|
||||
|
||||
class Domain extends events.EventEmitter implements NodeJS.Domain {
|
||||
run<T>(fn: (...args: any[]) => T, ...args: any[]): T;
|
||||
add(emitter: events.EventEmitter | NodeJS.Timer): void;
|
||||
remove(emitter: events.EventEmitter | NodeJS.Timer): void;
|
||||
bind<T extends Function>(cb: T): T;
|
||||
intercept<T extends Function>(cb: T): T;
|
||||
members: Array<events.EventEmitter | NodeJS.Timer>;
|
||||
enter(): void;
|
||||
exit(): void;
|
||||
}
|
||||
|
||||
function create(): Domain;
|
||||
}
|
||||
30
types/node/v11/events.d.ts
vendored
Normal file
30
types/node/v11/events.d.ts
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
declare module "events" {
|
||||
class internal extends NodeJS.EventEmitter { }
|
||||
|
||||
namespace internal {
|
||||
function once(emitter: EventEmitter, event: string | symbol): Promise<any>;
|
||||
class EventEmitter extends internal {
|
||||
/** @deprecated since v4.0.0 */
|
||||
static listenerCount(emitter: EventEmitter, event: string | symbol): number;
|
||||
static defaultMaxListeners: number;
|
||||
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
off(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
removeAllListeners(event?: string | symbol): this;
|
||||
setMaxListeners(n: number): this;
|
||||
getMaxListeners(): number;
|
||||
listeners(event: string | symbol): Function[];
|
||||
rawListeners(event: string | symbol): Function[];
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
eventNames(): Array<string | symbol>;
|
||||
listenerCount(type: string | symbol): number;
|
||||
}
|
||||
}
|
||||
|
||||
export = internal;
|
||||
}
|
||||
2289
types/node/v11/fs.d.ts
vendored
Normal file
2289
types/node/v11/fs.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1122
types/node/v11/globals.d.ts
vendored
Normal file
1122
types/node/v11/globals.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
279
types/node/v11/http.d.ts
vendored
Normal file
279
types/node/v11/http.d.ts
vendored
Normal file
@@ -0,0 +1,279 @@
|
||||
declare module "http" {
|
||||
import * as events from "events";
|
||||
import * as stream from "stream";
|
||||
import { URL } from "url";
|
||||
import { Socket, Server as NetServer } from "net";
|
||||
|
||||
// incoming headers will never contain number
|
||||
interface IncomingHttpHeaders {
|
||||
'accept'?: string;
|
||||
'accept-language'?: string;
|
||||
'accept-patch'?: string;
|
||||
'accept-ranges'?: string;
|
||||
'access-control-allow-credentials'?: string;
|
||||
'access-control-allow-headers'?: string;
|
||||
'access-control-allow-methods'?: string;
|
||||
'access-control-allow-origin'?: string;
|
||||
'access-control-expose-headers'?: string;
|
||||
'access-control-max-age'?: string;
|
||||
'age'?: string;
|
||||
'allow'?: string;
|
||||
'alt-svc'?: string;
|
||||
'authorization'?: string;
|
||||
'cache-control'?: string;
|
||||
'connection'?: string;
|
||||
'content-disposition'?: string;
|
||||
'content-encoding'?: string;
|
||||
'content-language'?: string;
|
||||
'content-length'?: string;
|
||||
'content-location'?: string;
|
||||
'content-range'?: string;
|
||||
'content-type'?: string;
|
||||
'cookie'?: string;
|
||||
'date'?: string;
|
||||
'expect'?: string;
|
||||
'expires'?: string;
|
||||
'forwarded'?: string;
|
||||
'from'?: string;
|
||||
'host'?: string;
|
||||
'if-match'?: string;
|
||||
'if-modified-since'?: string;
|
||||
'if-none-match'?: string;
|
||||
'if-unmodified-since'?: string;
|
||||
'last-modified'?: string;
|
||||
'location'?: string;
|
||||
'pragma'?: string;
|
||||
'proxy-authenticate'?: string;
|
||||
'proxy-authorization'?: string;
|
||||
'public-key-pins'?: string;
|
||||
'range'?: string;
|
||||
'referer'?: string;
|
||||
'retry-after'?: string;
|
||||
'set-cookie'?: string[];
|
||||
'strict-transport-security'?: string;
|
||||
'tk'?: string;
|
||||
'trailer'?: string;
|
||||
'transfer-encoding'?: string;
|
||||
'upgrade'?: string;
|
||||
'user-agent'?: string;
|
||||
'vary'?: string;
|
||||
'via'?: string;
|
||||
'warning'?: string;
|
||||
'www-authenticate'?: string;
|
||||
[header: string]: string | string[] | undefined;
|
||||
}
|
||||
|
||||
// outgoing headers allows numbers (as they are converted internally to strings)
|
||||
interface OutgoingHttpHeaders {
|
||||
[header: string]: number | string | string[] | undefined;
|
||||
}
|
||||
|
||||
interface ClientRequestArgs {
|
||||
protocol?: string;
|
||||
host?: string;
|
||||
hostname?: string;
|
||||
family?: number;
|
||||
port?: number | string;
|
||||
defaultPort?: number | string;
|
||||
localAddress?: string;
|
||||
socketPath?: string;
|
||||
method?: string;
|
||||
path?: string;
|
||||
headers?: OutgoingHttpHeaders;
|
||||
auth?: string;
|
||||
agent?: Agent | boolean;
|
||||
_defaultAgent?: Agent;
|
||||
timeout?: number;
|
||||
setHost?: boolean;
|
||||
// https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278
|
||||
createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket;
|
||||
}
|
||||
|
||||
interface ServerOptions {
|
||||
IncomingMessage?: typeof IncomingMessage;
|
||||
ServerResponse?: typeof ServerResponse;
|
||||
}
|
||||
|
||||
type RequestListener = (req: IncomingMessage, res: ServerResponse) => void;
|
||||
|
||||
class Server extends NetServer {
|
||||
constructor(requestListener?: RequestListener);
|
||||
constructor(options: ServerOptions, requestListener?: RequestListener);
|
||||
|
||||
setTimeout(msecs?: number, callback?: () => void): this;
|
||||
setTimeout(callback: () => void): this;
|
||||
/**
|
||||
* Limits maximum incoming headers count. If set to 0, no limit will be applied.
|
||||
* @default 2000
|
||||
* {@link https://nodejs.org/api/http.html#http_server_maxheaderscount}
|
||||
*/
|
||||
maxHeadersCount: number | null;
|
||||
timeout: number;
|
||||
/**
|
||||
* Limit the amount of time the parser will wait to receive the complete HTTP headers.
|
||||
* @default 40000
|
||||
* {@link https://nodejs.org/api/http.html#http_server_headerstimeout}
|
||||
*/
|
||||
headersTimeout: number;
|
||||
keepAliveTimeout: number;
|
||||
}
|
||||
|
||||
// https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js
|
||||
class OutgoingMessage extends stream.Writable {
|
||||
upgrading: boolean;
|
||||
chunkedEncoding: boolean;
|
||||
shouldKeepAlive: boolean;
|
||||
useChunkedEncodingByDefault: boolean;
|
||||
sendDate: boolean;
|
||||
finished: boolean;
|
||||
headersSent: boolean;
|
||||
connection: Socket;
|
||||
|
||||
constructor();
|
||||
|
||||
setTimeout(msecs: number, callback?: () => void): this;
|
||||
setHeader(name: string, value: number | string | string[]): void;
|
||||
getHeader(name: string): number | string | string[] | undefined;
|
||||
getHeaders(): OutgoingHttpHeaders;
|
||||
getHeaderNames(): string[];
|
||||
hasHeader(name: string): boolean;
|
||||
removeHeader(name: string): void;
|
||||
addTrailers(headers: OutgoingHttpHeaders | Array<[string, string]>): void;
|
||||
flushHeaders(): void;
|
||||
}
|
||||
|
||||
// https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256
|
||||
class ServerResponse extends OutgoingMessage {
|
||||
statusCode: number;
|
||||
statusMessage: string;
|
||||
|
||||
constructor(req: IncomingMessage);
|
||||
|
||||
assignSocket(socket: Socket): void;
|
||||
detachSocket(socket: Socket): void;
|
||||
// https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53
|
||||
// no args in writeContinue callback
|
||||
writeContinue(callback?: () => void): void;
|
||||
writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders): this;
|
||||
writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this;
|
||||
}
|
||||
|
||||
// https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77
|
||||
class ClientRequest extends OutgoingMessage {
|
||||
connection: Socket;
|
||||
socket: Socket;
|
||||
aborted: number;
|
||||
|
||||
constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void);
|
||||
|
||||
readonly path: string;
|
||||
abort(): void;
|
||||
onSocket(socket: Socket): void;
|
||||
setTimeout(timeout: number, callback?: () => void): this;
|
||||
setNoDelay(noDelay?: boolean): void;
|
||||
setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
|
||||
}
|
||||
|
||||
class IncomingMessage extends stream.Readable {
|
||||
constructor(socket: Socket);
|
||||
|
||||
httpVersion: string;
|
||||
httpVersionMajor: number;
|
||||
httpVersionMinor: number;
|
||||
complete: boolean;
|
||||
connection: Socket;
|
||||
headers: IncomingHttpHeaders;
|
||||
rawHeaders: string[];
|
||||
trailers: { [key: string]: string | undefined };
|
||||
rawTrailers: string[];
|
||||
setTimeout(msecs: number, callback: () => void): this;
|
||||
/**
|
||||
* Only valid for request obtained from http.Server.
|
||||
*/
|
||||
method?: string;
|
||||
/**
|
||||
* Only valid for request obtained from http.Server.
|
||||
*/
|
||||
url?: string;
|
||||
/**
|
||||
* Only valid for response obtained from http.ClientRequest.
|
||||
*/
|
||||
statusCode?: number;
|
||||
/**
|
||||
* Only valid for response obtained from http.ClientRequest.
|
||||
*/
|
||||
statusMessage?: string;
|
||||
socket: Socket;
|
||||
destroy(error?: Error): void;
|
||||
}
|
||||
|
||||
interface AgentOptions {
|
||||
/**
|
||||
* Keep sockets around in a pool to be used by other requests in the future. Default = false
|
||||
*/
|
||||
keepAlive?: boolean;
|
||||
/**
|
||||
* When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000.
|
||||
* Only relevant if keepAlive is set to true.
|
||||
*/
|
||||
keepAliveMsecs?: number;
|
||||
/**
|
||||
* Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity
|
||||
*/
|
||||
maxSockets?: number;
|
||||
/**
|
||||
* Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256.
|
||||
*/
|
||||
maxFreeSockets?: number;
|
||||
/**
|
||||
* Socket timeout in milliseconds. This will set the timeout after the socket is connected.
|
||||
*/
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
class Agent {
|
||||
maxFreeSockets: number;
|
||||
maxSockets: number;
|
||||
readonly sockets: {
|
||||
readonly [key: string]: Socket[];
|
||||
};
|
||||
readonly requests: {
|
||||
readonly [key: string]: IncomingMessage[];
|
||||
};
|
||||
|
||||
constructor(opts?: AgentOptions);
|
||||
|
||||
/**
|
||||
* Destroy any sockets that are currently in use by the agent.
|
||||
* It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled,
|
||||
* then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise,
|
||||
* sockets may hang open for quite a long time before the server terminates them.
|
||||
*/
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
const METHODS: string[];
|
||||
|
||||
const STATUS_CODES: {
|
||||
[errorCode: number]: string | undefined;
|
||||
[errorCode: string]: string | undefined;
|
||||
};
|
||||
|
||||
function createServer(requestListener?: RequestListener): Server;
|
||||
function createServer(options: ServerOptions, requestListener?: RequestListener): Server;
|
||||
|
||||
// although RequestOptions are passed as ClientRequestArgs to ClientRequest directly,
|
||||
// create interface RequestOptions would make the naming more clear to developers
|
||||
interface RequestOptions extends ClientRequestArgs { }
|
||||
function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;
|
||||
function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
|
||||
function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest;
|
||||
function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
|
||||
let globalAgent: Agent;
|
||||
|
||||
/**
|
||||
* Read-only property specifying the maximum allowed size of HTTP headers in bytes.
|
||||
* Defaults to 8KB. Configurable using the [`--max-http-header-size`][] CLI option.
|
||||
*/
|
||||
const maxHeaderSize: number;
|
||||
}
|
||||
959
types/node/v11/http2.d.ts
vendored
Normal file
959
types/node/v11/http2.d.ts
vendored
Normal file
@@ -0,0 +1,959 @@
|
||||
declare module "http2" {
|
||||
import * as events from "events";
|
||||
import * as fs from "fs";
|
||||
import * as net from "net";
|
||||
import * as stream from "stream";
|
||||
import * as tls from "tls";
|
||||
import * as url from "url";
|
||||
|
||||
import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http";
|
||||
export { OutgoingHttpHeaders } from "http";
|
||||
|
||||
export interface IncomingHttpStatusHeader {
|
||||
":status"?: number;
|
||||
}
|
||||
|
||||
export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders {
|
||||
":path"?: string;
|
||||
":method"?: string;
|
||||
":authority"?: string;
|
||||
":scheme"?: string;
|
||||
}
|
||||
|
||||
// Http2Stream
|
||||
|
||||
export interface StreamPriorityOptions {
|
||||
exclusive?: boolean;
|
||||
parent?: number;
|
||||
weight?: number;
|
||||
silent?: boolean;
|
||||
}
|
||||
|
||||
export interface StreamState {
|
||||
localWindowSize?: number;
|
||||
state?: number;
|
||||
localClose?: number;
|
||||
remoteClose?: number;
|
||||
sumDependencyWeight?: number;
|
||||
weight?: number;
|
||||
}
|
||||
|
||||
export interface ServerStreamResponseOptions {
|
||||
endStream?: boolean;
|
||||
waitForTrailers?: boolean;
|
||||
}
|
||||
|
||||
export interface StatOptions {
|
||||
offset: number;
|
||||
length: number;
|
||||
}
|
||||
|
||||
export interface ServerStreamFileResponseOptions {
|
||||
statCheck?: (stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => void | boolean;
|
||||
waitForTrailers?: boolean;
|
||||
offset?: number;
|
||||
length?: number;
|
||||
}
|
||||
|
||||
export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions {
|
||||
onError?: (err: NodeJS.ErrnoException) => void;
|
||||
}
|
||||
|
||||
export class Http2Stream extends stream.Duplex {
|
||||
protected constructor();
|
||||
|
||||
readonly aborted: boolean;
|
||||
readonly bufferSize: number;
|
||||
readonly closed: boolean;
|
||||
readonly destroyed: boolean;
|
||||
/**
|
||||
* Set the true if the END_STREAM flag was set in the request or response HEADERS frame received,
|
||||
* indicating that no additional data should be received and the readable side of the Http2Stream will be closed.
|
||||
*/
|
||||
readonly endAfterHeaders: boolean;
|
||||
readonly pending: boolean;
|
||||
readonly rstCode: number;
|
||||
readonly sentHeaders: OutgoingHttpHeaders;
|
||||
readonly sentInfoHeaders?: OutgoingHttpHeaders[];
|
||||
readonly sentTrailers?: OutgoingHttpHeaders;
|
||||
readonly session: Http2Session;
|
||||
readonly state: StreamState;
|
||||
|
||||
close(code?: number, callback?: () => void): void;
|
||||
priority(options: StreamPriorityOptions): void;
|
||||
setTimeout(msecs: number, callback?: () => void): void;
|
||||
sendTrailers(headers: OutgoingHttpHeaders): void;
|
||||
|
||||
addListener(event: "aborted", listener: () => void): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
addListener(event: "drain", listener: () => void): this;
|
||||
addListener(event: "end", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "finish", listener: () => void): this;
|
||||
addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
|
||||
addListener(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
addListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
addListener(event: "streamClosed", listener: (code: number) => void): this;
|
||||
addListener(event: "timeout", listener: () => void): this;
|
||||
addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
addListener(event: "wantTrailers", listener: () => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "aborted"): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "data", chunk: Buffer | string): boolean;
|
||||
emit(event: "drain"): boolean;
|
||||
emit(event: "end"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "finish"): boolean;
|
||||
emit(event: "frameError", frameType: number, errorCode: number): boolean;
|
||||
emit(event: "pipe", src: stream.Readable): boolean;
|
||||
emit(event: "unpipe", src: stream.Readable): boolean;
|
||||
emit(event: "streamClosed", code: number): boolean;
|
||||
emit(event: "timeout"): boolean;
|
||||
emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean;
|
||||
emit(event: "wantTrailers"): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "aborted", listener: () => void): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
on(event: "drain", listener: () => void): this;
|
||||
on(event: "end", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "finish", listener: () => void): this;
|
||||
on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
|
||||
on(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
on(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
on(event: "streamClosed", listener: (code: number) => void): this;
|
||||
on(event: "timeout", listener: () => void): this;
|
||||
on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
on(event: "wantTrailers", listener: () => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "aborted", listener: () => void): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
once(event: "drain", listener: () => void): this;
|
||||
once(event: "end", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "finish", listener: () => void): this;
|
||||
once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
|
||||
once(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
once(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
once(event: "streamClosed", listener: (code: number) => void): this;
|
||||
once(event: "timeout", listener: () => void): this;
|
||||
once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
once(event: "wantTrailers", listener: () => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "aborted", listener: () => void): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
prependListener(event: "drain", listener: () => void): this;
|
||||
prependListener(event: "end", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "finish", listener: () => void): this;
|
||||
prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
|
||||
prependListener(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
prependListener(event: "streamClosed", listener: (code: number) => void): this;
|
||||
prependListener(event: "timeout", listener: () => void): this;
|
||||
prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependListener(event: "wantTrailers", listener: () => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "aborted", listener: () => void): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
prependOnceListener(event: "drain", listener: () => void): this;
|
||||
prependOnceListener(event: "end", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "finish", listener: () => void): this;
|
||||
prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this;
|
||||
prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
prependOnceListener(event: "streamClosed", listener: (code: number) => void): this;
|
||||
prependOnceListener(event: "timeout", listener: () => void): this;
|
||||
prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependOnceListener(event: "wantTrailers", listener: () => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
export class ClientHttp2Stream extends Http2Stream {
|
||||
private constructor();
|
||||
|
||||
addListener(event: "continue", listener: () => {}): this;
|
||||
addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "continue"): boolean;
|
||||
emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;
|
||||
emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean;
|
||||
emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "continue", listener: () => {}): this;
|
||||
on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "continue", listener: () => {}): this;
|
||||
once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "continue", listener: () => {}): this;
|
||||
prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "continue", listener: () => {}): this;
|
||||
prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
export class ServerHttp2Stream extends Http2Stream {
|
||||
private constructor();
|
||||
|
||||
additionalHeaders(headers: OutgoingHttpHeaders): void;
|
||||
readonly headersSent: boolean;
|
||||
readonly pushAllowed: boolean;
|
||||
pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void;
|
||||
pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void;
|
||||
respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void;
|
||||
respondWithFD(fd: number, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void;
|
||||
respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void;
|
||||
}
|
||||
|
||||
// Http2Session
|
||||
|
||||
export interface Settings {
|
||||
headerTableSize?: number;
|
||||
enablePush?: boolean;
|
||||
initialWindowSize?: number;
|
||||
maxFrameSize?: number;
|
||||
maxConcurrentStreams?: number;
|
||||
maxHeaderListSize?: number;
|
||||
enableConnectProtocol?: boolean;
|
||||
}
|
||||
|
||||
export interface ClientSessionRequestOptions {
|
||||
endStream?: boolean;
|
||||
exclusive?: boolean;
|
||||
parent?: number;
|
||||
weight?: number;
|
||||
waitForTrailers?: boolean;
|
||||
}
|
||||
|
||||
export interface SessionState {
|
||||
effectiveLocalWindowSize?: number;
|
||||
effectiveRecvDataLength?: number;
|
||||
nextStreamID?: number;
|
||||
localWindowSize?: number;
|
||||
lastProcStreamID?: number;
|
||||
remoteWindowSize?: number;
|
||||
outboundQueueSize?: number;
|
||||
deflateDynamicTableSize?: number;
|
||||
inflateDynamicTableSize?: number;
|
||||
}
|
||||
|
||||
export class Http2Session extends events.EventEmitter {
|
||||
protected constructor();
|
||||
|
||||
readonly alpnProtocol?: string;
|
||||
close(callback?: () => void): void;
|
||||
readonly closed: boolean;
|
||||
readonly connecting: boolean;
|
||||
destroy(error?: Error, code?: number): void;
|
||||
readonly destroyed: boolean;
|
||||
readonly encrypted?: boolean;
|
||||
goaway(code?: number, lastStreamID?: number, opaqueData?: Buffer | DataView | NodeJS.TypedArray): void;
|
||||
readonly localSettings: Settings;
|
||||
readonly originSet?: string[];
|
||||
readonly pendingSettingsAck: boolean;
|
||||
ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean;
|
||||
ping(payload: Buffer | DataView | NodeJS.TypedArray , callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean;
|
||||
ref(): void;
|
||||
readonly remoteSettings: Settings;
|
||||
setTimeout(msecs: number, callback?: () => void): void;
|
||||
readonly socket: net.Socket | tls.TLSSocket;
|
||||
readonly state: SessionState;
|
||||
settings(settings: Settings): void;
|
||||
readonly type: number;
|
||||
unref(): void;
|
||||
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
|
||||
addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this;
|
||||
addListener(event: "localSettings", listener: (settings: Settings) => void): this;
|
||||
addListener(event: "ping", listener: () => void): this;
|
||||
addListener(event: "remoteSettings", listener: (settings: Settings) => void): this;
|
||||
addListener(event: "timeout", listener: () => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean;
|
||||
emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean;
|
||||
emit(event: "localSettings", settings: Settings): boolean;
|
||||
emit(event: "ping"): boolean;
|
||||
emit(event: "remoteSettings", settings: Settings): boolean;
|
||||
emit(event: "timeout"): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
|
||||
on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this;
|
||||
on(event: "localSettings", listener: (settings: Settings) => void): this;
|
||||
on(event: "ping", listener: () => void): this;
|
||||
on(event: "remoteSettings", listener: (settings: Settings) => void): this;
|
||||
on(event: "timeout", listener: () => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
|
||||
once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this;
|
||||
once(event: "localSettings", listener: (settings: Settings) => void): this;
|
||||
once(event: "ping", listener: () => void): this;
|
||||
once(event: "remoteSettings", listener: (settings: Settings) => void): this;
|
||||
once(event: "timeout", listener: () => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
|
||||
prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this;
|
||||
prependListener(event: "localSettings", listener: (settings: Settings) => void): this;
|
||||
prependListener(event: "ping", listener: () => void): this;
|
||||
prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this;
|
||||
prependListener(event: "timeout", listener: () => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this;
|
||||
prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this;
|
||||
prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this;
|
||||
prependOnceListener(event: "ping", listener: () => void): this;
|
||||
prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this;
|
||||
prependOnceListener(event: "timeout", listener: () => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
export class ClientHttp2Session extends Http2Session {
|
||||
private constructor();
|
||||
|
||||
request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream;
|
||||
|
||||
addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
|
||||
addListener(event: "origin", listener: (origins: string[]) => void): this;
|
||||
addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "altsvc", alt: string, origin: string, stream: number): boolean;
|
||||
emit(event: "origin", origins: string[]): boolean;
|
||||
emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean;
|
||||
emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
|
||||
on(event: "origin", listener: (origins: string[]) => void): this;
|
||||
on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
|
||||
once(event: "origin", listener: (origins: string[]) => void): this;
|
||||
once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
|
||||
prependListener(event: "origin", listener: (origins: string[]) => void): this;
|
||||
prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this;
|
||||
prependOnceListener(event: "origin", listener: (origins: string[]) => void): this;
|
||||
prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
export interface AlternativeServiceOptions {
|
||||
origin: number | string | url.URL;
|
||||
}
|
||||
|
||||
export class ServerHttp2Session extends Http2Session {
|
||||
private constructor();
|
||||
|
||||
altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void;
|
||||
origin(...args: Array<string | url.URL | { origin: string }>): void;
|
||||
readonly server: Http2Server | Http2SecureServer;
|
||||
|
||||
addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean;
|
||||
emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this;
|
||||
prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
// Http2Server
|
||||
|
||||
export interface SessionOptions {
|
||||
maxDeflateDynamicTableSize?: number;
|
||||
maxSessionMemory?: number;
|
||||
maxHeaderListPairs?: number;
|
||||
maxOutstandingPings?: number;
|
||||
maxSendHeaderBlockLength?: number;
|
||||
paddingStrategy?: number;
|
||||
peerMaxConcurrentStreams?: number;
|
||||
selectPadding?: (frameLen: number, maxFrameLen: number) => number;
|
||||
settings?: Settings;
|
||||
createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex;
|
||||
}
|
||||
|
||||
export interface ClientSessionOptions extends SessionOptions {
|
||||
maxReservedRemoteStreams?: number;
|
||||
createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex;
|
||||
}
|
||||
|
||||
export interface ServerSessionOptions extends SessionOptions {
|
||||
Http1IncomingMessage?: typeof IncomingMessage;
|
||||
Http1ServerResponse?: typeof ServerResponse;
|
||||
Http2ServerRequest?: typeof Http2ServerRequest;
|
||||
Http2ServerResponse?: typeof Http2ServerResponse;
|
||||
}
|
||||
|
||||
export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { }
|
||||
export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { }
|
||||
|
||||
export interface ServerOptions extends ServerSessionOptions { }
|
||||
|
||||
export interface SecureServerOptions extends SecureServerSessionOptions {
|
||||
allowHTTP1?: boolean;
|
||||
origins?: string[];
|
||||
}
|
||||
|
||||
export class Http2Server extends net.Server {
|
||||
private constructor();
|
||||
|
||||
addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
addListener(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
addListener(event: "sessionError", listener: (err: Error) => void): this;
|
||||
addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
addListener(event: "timeout", listener: () => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean;
|
||||
emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean;
|
||||
emit(event: "session", session: ServerHttp2Session): boolean;
|
||||
emit(event: "sessionError", err: Error): boolean;
|
||||
emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;
|
||||
emit(event: "timeout"): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
on(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
on(event: "sessionError", listener: (err: Error) => void): this;
|
||||
on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
on(event: "timeout", listener: () => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
once(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
once(event: "sessionError", listener: (err: Error) => void): this;
|
||||
once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
once(event: "timeout", listener: () => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
prependListener(event: "sessionError", listener: (err: Error) => void): this;
|
||||
prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependListener(event: "timeout", listener: () => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
prependOnceListener(event: "sessionError", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependOnceListener(event: "timeout", listener: () => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
setTimeout(msec?: number, callback?: () => void): this;
|
||||
}
|
||||
|
||||
export class Http2SecureServer extends tls.Server {
|
||||
private constructor();
|
||||
|
||||
addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
addListener(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
addListener(event: "sessionError", listener: (err: Error) => void): this;
|
||||
addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
addListener(event: "timeout", listener: () => void): this;
|
||||
addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean;
|
||||
emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean;
|
||||
emit(event: "session", session: ServerHttp2Session): boolean;
|
||||
emit(event: "sessionError", err: Error): boolean;
|
||||
emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean;
|
||||
emit(event: "timeout"): boolean;
|
||||
emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
on(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
on(event: "sessionError", listener: (err: Error) => void): this;
|
||||
on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
on(event: "timeout", listener: () => void): this;
|
||||
on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
once(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
once(event: "sessionError", listener: (err: Error) => void): this;
|
||||
once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
once(event: "timeout", listener: () => void): this;
|
||||
once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
prependListener(event: "sessionError", listener: (err: Error) => void): this;
|
||||
prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependListener(event: "timeout", listener: () => void): this;
|
||||
prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this;
|
||||
prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this;
|
||||
prependOnceListener(event: "sessionError", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this;
|
||||
prependOnceListener(event: "timeout", listener: () => void): this;
|
||||
prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
setTimeout(msec?: number, callback?: () => void): this;
|
||||
}
|
||||
|
||||
export class Http2ServerRequest extends stream.Readable {
|
||||
private constructor();
|
||||
|
||||
readonly aborted: boolean;
|
||||
readonly authority: string;
|
||||
readonly headers: IncomingHttpHeaders;
|
||||
readonly httpVersion: string;
|
||||
readonly method: string;
|
||||
readonly rawHeaders: string[];
|
||||
readonly rawTrailers: string[];
|
||||
readonly scheme: string;
|
||||
setTimeout(msecs: number, callback?: () => void): void;
|
||||
readonly socket: net.Socket | tls.TLSSocket;
|
||||
readonly stream: ServerHttp2Stream;
|
||||
readonly trailers: IncomingHttpHeaders;
|
||||
readonly url: string;
|
||||
|
||||
read(size?: number): Buffer | string | null;
|
||||
|
||||
addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
addListener(event: "end", listener: () => void): this;
|
||||
addListener(event: "readable", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "aborted", hadError: boolean, code: number): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "data", chunk: Buffer | string): boolean;
|
||||
emit(event: "end"): boolean;
|
||||
emit(event: "readable"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
on(event: "end", listener: () => void): this;
|
||||
on(event: "readable", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
once(event: "end", listener: () => void): this;
|
||||
once(event: "readable", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
prependListener(event: "end", listener: () => void): this;
|
||||
prependListener(event: "readable", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
||||
prependOnceListener(event: "end", listener: () => void): this;
|
||||
prependOnceListener(event: "readable", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
export class Http2ServerResponse extends stream.Stream {
|
||||
private constructor();
|
||||
|
||||
addTrailers(trailers: OutgoingHttpHeaders): void;
|
||||
readonly connection: net.Socket | tls.TLSSocket;
|
||||
end(callback?: () => void): void;
|
||||
end(data: string | Buffer | Uint8Array, callback?: () => void): void;
|
||||
end(data: string | Buffer | Uint8Array, encoding: string, callback?: () => void): void;
|
||||
readonly finished: boolean;
|
||||
getHeader(name: string): string;
|
||||
getHeaderNames(): string[];
|
||||
getHeaders(): OutgoingHttpHeaders;
|
||||
hasHeader(name: string): boolean;
|
||||
readonly headersSent: boolean;
|
||||
removeHeader(name: string): void;
|
||||
sendDate: boolean;
|
||||
setHeader(name: string, value: number | string | string[]): void;
|
||||
setTimeout(msecs: number, callback?: () => void): void;
|
||||
readonly socket: net.Socket | tls.TLSSocket;
|
||||
statusCode: number;
|
||||
statusMessage: '';
|
||||
readonly stream: ServerHttp2Stream;
|
||||
write(chunk: string | Buffer | Uint8Array, callback?: (err: Error) => void): boolean;
|
||||
write(chunk: string | Buffer | Uint8Array, encoding: string, callback?: (err: Error) => void): boolean;
|
||||
writeContinue(): void;
|
||||
writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this;
|
||||
writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this;
|
||||
createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void;
|
||||
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "drain", listener: () => void): this;
|
||||
addListener(event: "error", listener: (error: Error) => void): this;
|
||||
addListener(event: "finish", listener: () => void): this;
|
||||
addListener(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
addListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "drain"): boolean;
|
||||
emit(event: "error", error: Error): boolean;
|
||||
emit(event: "finish"): boolean;
|
||||
emit(event: "pipe", src: stream.Readable): boolean;
|
||||
emit(event: "unpipe", src: stream.Readable): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "drain", listener: () => void): this;
|
||||
on(event: "error", listener: (error: Error) => void): this;
|
||||
on(event: "finish", listener: () => void): this;
|
||||
on(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
on(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "drain", listener: () => void): this;
|
||||
once(event: "error", listener: (error: Error) => void): this;
|
||||
once(event: "finish", listener: () => void): this;
|
||||
once(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
once(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "drain", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (error: Error) => void): this;
|
||||
prependListener(event: "finish", listener: () => void): this;
|
||||
prependListener(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "drain", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (error: Error) => void): this;
|
||||
prependOnceListener(event: "finish", listener: () => void): this;
|
||||
prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this;
|
||||
prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
// Public API
|
||||
|
||||
export namespace constants {
|
||||
const NGHTTP2_SESSION_SERVER: number;
|
||||
const NGHTTP2_SESSION_CLIENT: number;
|
||||
const NGHTTP2_STREAM_STATE_IDLE: number;
|
||||
const NGHTTP2_STREAM_STATE_OPEN: number;
|
||||
const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number;
|
||||
const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number;
|
||||
const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number;
|
||||
const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number;
|
||||
const NGHTTP2_STREAM_STATE_CLOSED: number;
|
||||
const NGHTTP2_NO_ERROR: number;
|
||||
const NGHTTP2_PROTOCOL_ERROR: number;
|
||||
const NGHTTP2_INTERNAL_ERROR: number;
|
||||
const NGHTTP2_FLOW_CONTROL_ERROR: number;
|
||||
const NGHTTP2_SETTINGS_TIMEOUT: number;
|
||||
const NGHTTP2_STREAM_CLOSED: number;
|
||||
const NGHTTP2_FRAME_SIZE_ERROR: number;
|
||||
const NGHTTP2_REFUSED_STREAM: number;
|
||||
const NGHTTP2_CANCEL: number;
|
||||
const NGHTTP2_COMPRESSION_ERROR: number;
|
||||
const NGHTTP2_CONNECT_ERROR: number;
|
||||
const NGHTTP2_ENHANCE_YOUR_CALM: number;
|
||||
const NGHTTP2_INADEQUATE_SECURITY: number;
|
||||
const NGHTTP2_HTTP_1_1_REQUIRED: number;
|
||||
const NGHTTP2_ERR_FRAME_SIZE_ERROR: number;
|
||||
const NGHTTP2_FLAG_NONE: number;
|
||||
const NGHTTP2_FLAG_END_STREAM: number;
|
||||
const NGHTTP2_FLAG_END_HEADERS: number;
|
||||
const NGHTTP2_FLAG_ACK: number;
|
||||
const NGHTTP2_FLAG_PADDED: number;
|
||||
const NGHTTP2_FLAG_PRIORITY: number;
|
||||
const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number;
|
||||
const DEFAULT_SETTINGS_ENABLE_PUSH: number;
|
||||
const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number;
|
||||
const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number;
|
||||
const MAX_MAX_FRAME_SIZE: number;
|
||||
const MIN_MAX_FRAME_SIZE: number;
|
||||
const MAX_INITIAL_WINDOW_SIZE: number;
|
||||
const NGHTTP2_DEFAULT_WEIGHT: number;
|
||||
const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number;
|
||||
const NGHTTP2_SETTINGS_ENABLE_PUSH: number;
|
||||
const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number;
|
||||
const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number;
|
||||
const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number;
|
||||
const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number;
|
||||
const PADDING_STRATEGY_NONE: number;
|
||||
const PADDING_STRATEGY_MAX: number;
|
||||
const PADDING_STRATEGY_CALLBACK: number;
|
||||
const HTTP2_HEADER_STATUS: string;
|
||||
const HTTP2_HEADER_METHOD: string;
|
||||
const HTTP2_HEADER_AUTHORITY: string;
|
||||
const HTTP2_HEADER_SCHEME: string;
|
||||
const HTTP2_HEADER_PATH: string;
|
||||
const HTTP2_HEADER_ACCEPT_CHARSET: string;
|
||||
const HTTP2_HEADER_ACCEPT_ENCODING: string;
|
||||
const HTTP2_HEADER_ACCEPT_LANGUAGE: string;
|
||||
const HTTP2_HEADER_ACCEPT_RANGES: string;
|
||||
const HTTP2_HEADER_ACCEPT: string;
|
||||
const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string;
|
||||
const HTTP2_HEADER_AGE: string;
|
||||
const HTTP2_HEADER_ALLOW: string;
|
||||
const HTTP2_HEADER_AUTHORIZATION: string;
|
||||
const HTTP2_HEADER_CACHE_CONTROL: string;
|
||||
const HTTP2_HEADER_CONNECTION: string;
|
||||
const HTTP2_HEADER_CONTENT_DISPOSITION: string;
|
||||
const HTTP2_HEADER_CONTENT_ENCODING: string;
|
||||
const HTTP2_HEADER_CONTENT_LANGUAGE: string;
|
||||
const HTTP2_HEADER_CONTENT_LENGTH: string;
|
||||
const HTTP2_HEADER_CONTENT_LOCATION: string;
|
||||
const HTTP2_HEADER_CONTENT_MD5: string;
|
||||
const HTTP2_HEADER_CONTENT_RANGE: string;
|
||||
const HTTP2_HEADER_CONTENT_TYPE: string;
|
||||
const HTTP2_HEADER_COOKIE: string;
|
||||
const HTTP2_HEADER_DATE: string;
|
||||
const HTTP2_HEADER_ETAG: string;
|
||||
const HTTP2_HEADER_EXPECT: string;
|
||||
const HTTP2_HEADER_EXPIRES: string;
|
||||
const HTTP2_HEADER_FROM: string;
|
||||
const HTTP2_HEADER_HOST: string;
|
||||
const HTTP2_HEADER_IF_MATCH: string;
|
||||
const HTTP2_HEADER_IF_MODIFIED_SINCE: string;
|
||||
const HTTP2_HEADER_IF_NONE_MATCH: string;
|
||||
const HTTP2_HEADER_IF_RANGE: string;
|
||||
const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string;
|
||||
const HTTP2_HEADER_LAST_MODIFIED: string;
|
||||
const HTTP2_HEADER_LINK: string;
|
||||
const HTTP2_HEADER_LOCATION: string;
|
||||
const HTTP2_HEADER_MAX_FORWARDS: string;
|
||||
const HTTP2_HEADER_PREFER: string;
|
||||
const HTTP2_HEADER_PROXY_AUTHENTICATE: string;
|
||||
const HTTP2_HEADER_PROXY_AUTHORIZATION: string;
|
||||
const HTTP2_HEADER_RANGE: string;
|
||||
const HTTP2_HEADER_REFERER: string;
|
||||
const HTTP2_HEADER_REFRESH: string;
|
||||
const HTTP2_HEADER_RETRY_AFTER: string;
|
||||
const HTTP2_HEADER_SERVER: string;
|
||||
const HTTP2_HEADER_SET_COOKIE: string;
|
||||
const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string;
|
||||
const HTTP2_HEADER_TRANSFER_ENCODING: string;
|
||||
const HTTP2_HEADER_TE: string;
|
||||
const HTTP2_HEADER_UPGRADE: string;
|
||||
const HTTP2_HEADER_USER_AGENT: string;
|
||||
const HTTP2_HEADER_VARY: string;
|
||||
const HTTP2_HEADER_VIA: string;
|
||||
const HTTP2_HEADER_WWW_AUTHENTICATE: string;
|
||||
const HTTP2_HEADER_HTTP2_SETTINGS: string;
|
||||
const HTTP2_HEADER_KEEP_ALIVE: string;
|
||||
const HTTP2_HEADER_PROXY_CONNECTION: string;
|
||||
const HTTP2_METHOD_ACL: string;
|
||||
const HTTP2_METHOD_BASELINE_CONTROL: string;
|
||||
const HTTP2_METHOD_BIND: string;
|
||||
const HTTP2_METHOD_CHECKIN: string;
|
||||
const HTTP2_METHOD_CHECKOUT: string;
|
||||
const HTTP2_METHOD_CONNECT: string;
|
||||
const HTTP2_METHOD_COPY: string;
|
||||
const HTTP2_METHOD_DELETE: string;
|
||||
const HTTP2_METHOD_GET: string;
|
||||
const HTTP2_METHOD_HEAD: string;
|
||||
const HTTP2_METHOD_LABEL: string;
|
||||
const HTTP2_METHOD_LINK: string;
|
||||
const HTTP2_METHOD_LOCK: string;
|
||||
const HTTP2_METHOD_MERGE: string;
|
||||
const HTTP2_METHOD_MKACTIVITY: string;
|
||||
const HTTP2_METHOD_MKCALENDAR: string;
|
||||
const HTTP2_METHOD_MKCOL: string;
|
||||
const HTTP2_METHOD_MKREDIRECTREF: string;
|
||||
const HTTP2_METHOD_MKWORKSPACE: string;
|
||||
const HTTP2_METHOD_MOVE: string;
|
||||
const HTTP2_METHOD_OPTIONS: string;
|
||||
const HTTP2_METHOD_ORDERPATCH: string;
|
||||
const HTTP2_METHOD_PATCH: string;
|
||||
const HTTP2_METHOD_POST: string;
|
||||
const HTTP2_METHOD_PRI: string;
|
||||
const HTTP2_METHOD_PROPFIND: string;
|
||||
const HTTP2_METHOD_PROPPATCH: string;
|
||||
const HTTP2_METHOD_PUT: string;
|
||||
const HTTP2_METHOD_REBIND: string;
|
||||
const HTTP2_METHOD_REPORT: string;
|
||||
const HTTP2_METHOD_SEARCH: string;
|
||||
const HTTP2_METHOD_TRACE: string;
|
||||
const HTTP2_METHOD_UNBIND: string;
|
||||
const HTTP2_METHOD_UNCHECKOUT: string;
|
||||
const HTTP2_METHOD_UNLINK: string;
|
||||
const HTTP2_METHOD_UNLOCK: string;
|
||||
const HTTP2_METHOD_UPDATE: string;
|
||||
const HTTP2_METHOD_UPDATEREDIRECTREF: string;
|
||||
const HTTP2_METHOD_VERSION_CONTROL: string;
|
||||
const HTTP_STATUS_CONTINUE: number;
|
||||
const HTTP_STATUS_SWITCHING_PROTOCOLS: number;
|
||||
const HTTP_STATUS_PROCESSING: number;
|
||||
const HTTP_STATUS_OK: number;
|
||||
const HTTP_STATUS_CREATED: number;
|
||||
const HTTP_STATUS_ACCEPTED: number;
|
||||
const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number;
|
||||
const HTTP_STATUS_NO_CONTENT: number;
|
||||
const HTTP_STATUS_RESET_CONTENT: number;
|
||||
const HTTP_STATUS_PARTIAL_CONTENT: number;
|
||||
const HTTP_STATUS_MULTI_STATUS: number;
|
||||
const HTTP_STATUS_ALREADY_REPORTED: number;
|
||||
const HTTP_STATUS_IM_USED: number;
|
||||
const HTTP_STATUS_MULTIPLE_CHOICES: number;
|
||||
const HTTP_STATUS_MOVED_PERMANENTLY: number;
|
||||
const HTTP_STATUS_FOUND: number;
|
||||
const HTTP_STATUS_SEE_OTHER: number;
|
||||
const HTTP_STATUS_NOT_MODIFIED: number;
|
||||
const HTTP_STATUS_USE_PROXY: number;
|
||||
const HTTP_STATUS_TEMPORARY_REDIRECT: number;
|
||||
const HTTP_STATUS_PERMANENT_REDIRECT: number;
|
||||
const HTTP_STATUS_BAD_REQUEST: number;
|
||||
const HTTP_STATUS_UNAUTHORIZED: number;
|
||||
const HTTP_STATUS_PAYMENT_REQUIRED: number;
|
||||
const HTTP_STATUS_FORBIDDEN: number;
|
||||
const HTTP_STATUS_NOT_FOUND: number;
|
||||
const HTTP_STATUS_METHOD_NOT_ALLOWED: number;
|
||||
const HTTP_STATUS_NOT_ACCEPTABLE: number;
|
||||
const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number;
|
||||
const HTTP_STATUS_REQUEST_TIMEOUT: number;
|
||||
const HTTP_STATUS_CONFLICT: number;
|
||||
const HTTP_STATUS_GONE: number;
|
||||
const HTTP_STATUS_LENGTH_REQUIRED: number;
|
||||
const HTTP_STATUS_PRECONDITION_FAILED: number;
|
||||
const HTTP_STATUS_PAYLOAD_TOO_LARGE: number;
|
||||
const HTTP_STATUS_URI_TOO_LONG: number;
|
||||
const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number;
|
||||
const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number;
|
||||
const HTTP_STATUS_EXPECTATION_FAILED: number;
|
||||
const HTTP_STATUS_TEAPOT: number;
|
||||
const HTTP_STATUS_MISDIRECTED_REQUEST: number;
|
||||
const HTTP_STATUS_UNPROCESSABLE_ENTITY: number;
|
||||
const HTTP_STATUS_LOCKED: number;
|
||||
const HTTP_STATUS_FAILED_DEPENDENCY: number;
|
||||
const HTTP_STATUS_UNORDERED_COLLECTION: number;
|
||||
const HTTP_STATUS_UPGRADE_REQUIRED: number;
|
||||
const HTTP_STATUS_PRECONDITION_REQUIRED: number;
|
||||
const HTTP_STATUS_TOO_MANY_REQUESTS: number;
|
||||
const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number;
|
||||
const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number;
|
||||
const HTTP_STATUS_INTERNAL_SERVER_ERROR: number;
|
||||
const HTTP_STATUS_NOT_IMPLEMENTED: number;
|
||||
const HTTP_STATUS_BAD_GATEWAY: number;
|
||||
const HTTP_STATUS_SERVICE_UNAVAILABLE: number;
|
||||
const HTTP_STATUS_GATEWAY_TIMEOUT: number;
|
||||
const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number;
|
||||
const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number;
|
||||
const HTTP_STATUS_INSUFFICIENT_STORAGE: number;
|
||||
const HTTP_STATUS_LOOP_DETECTED: number;
|
||||
const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number;
|
||||
const HTTP_STATUS_NOT_EXTENDED: number;
|
||||
const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number;
|
||||
}
|
||||
|
||||
export function getDefaultSettings(): Settings;
|
||||
export function getPackedSettings(settings: Settings): Buffer;
|
||||
export function getUnpackedSettings(buf: Buffer | Uint8Array): Settings;
|
||||
|
||||
export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server;
|
||||
export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server;
|
||||
|
||||
export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer;
|
||||
export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer;
|
||||
|
||||
export function connect(authority: string | url.URL, listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session;
|
||||
export function connect(
|
||||
authority: string | url.URL,
|
||||
options?: ClientSessionOptions | SecureClientSessionOptions,
|
||||
listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
|
||||
): ClientHttp2Session;
|
||||
}
|
||||
53
types/node/v11/https.d.ts
vendored
Normal file
53
types/node/v11/https.d.ts
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
declare module "https" {
|
||||
import * as tls from "tls";
|
||||
import * as events from "events";
|
||||
import * as http from "http";
|
||||
import { URL } from "url";
|
||||
|
||||
type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions;
|
||||
|
||||
type RequestOptions = http.RequestOptions & tls.SecureContextOptions & {
|
||||
rejectUnauthorized?: boolean; // Defaults to true
|
||||
servername?: string; // SNI TLS Extension
|
||||
};
|
||||
|
||||
interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions {
|
||||
rejectUnauthorized?: boolean;
|
||||
maxCachedSessions?: number;
|
||||
}
|
||||
|
||||
class Agent extends http.Agent {
|
||||
constructor(options?: AgentOptions);
|
||||
options: AgentOptions;
|
||||
}
|
||||
|
||||
class Server extends tls.Server {
|
||||
constructor(requestListener?: http.RequestListener);
|
||||
constructor(options: ServerOptions, requestListener?: http.RequestListener);
|
||||
|
||||
setTimeout(callback: () => void): this;
|
||||
setTimeout(msecs?: number, callback?: () => void): this;
|
||||
/**
|
||||
* Limits maximum incoming headers count. If set to 0, no limit will be applied.
|
||||
* @default 2000
|
||||
* {@link https://nodejs.org/api/http.html#http_server_maxheaderscount}
|
||||
*/
|
||||
maxHeadersCount: number | null;
|
||||
timeout: number;
|
||||
/**
|
||||
* Limit the amount of time the parser will wait to receive the complete HTTP headers.
|
||||
* @default 40000
|
||||
* {@link https://nodejs.org/api/http.html#http_server_headerstimeout}
|
||||
*/
|
||||
headersTimeout: number;
|
||||
keepAliveTimeout: number;
|
||||
}
|
||||
|
||||
function createServer(requestListener?: http.RequestListener): Server;
|
||||
function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server;
|
||||
function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
|
||||
function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
|
||||
function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
|
||||
function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
|
||||
let globalAgent: Agent;
|
||||
}
|
||||
99
types/node/v11/index.d.ts
vendored
Normal file
99
types/node/v11/index.d.ts
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
// Type definitions for non-npm package Node.js 11.13
|
||||
// Project: http://nodejs.org/
|
||||
// Definitions by: Microsoft TypeScript <https://github.com/Microsoft>
|
||||
// DefinitelyTyped <https://github.com/DefinitelyTyped>
|
||||
// Alberto Schiabel <https://github.com/jkomyno>
|
||||
// Alexander T. <https://github.com/a-tarasyuk>
|
||||
// Alvis HT Tang <https://github.com/alvis>
|
||||
// Andrew Makarov <https://github.com/r3nya>
|
||||
// Benjamin Toueg <https://github.com/btoueg>
|
||||
// Bruno Scheufler <https://github.com/brunoscheufler>
|
||||
// Chigozirim C. <https://github.com/smac89>
|
||||
// Christian Vaagland Tellnes <https://github.com/tellnes>
|
||||
// David Junger <https://github.com/touffy>
|
||||
// Deividas Bakanas <https://github.com/DeividasBakanas>
|
||||
// Eugene Y. Q. Shen <https://github.com/eyqs>
|
||||
// Flarna <https://github.com/Flarna>
|
||||
// Hannes Magnusson <https://github.com/Hannes-Magnusson-CK>
|
||||
// Hoàng Văn Khải <https://github.com/KSXGitHub>
|
||||
// Huw <https://github.com/hoo29>
|
||||
// Kelvin Jin <https://github.com/kjin>
|
||||
// Klaus Meinhardt <https://github.com/ajafff>
|
||||
// Lishude <https://github.com/islishude>
|
||||
// Mariusz Wiktorczyk <https://github.com/mwiktorczyk>
|
||||
// Matthieu Sieben <https://github.com/matthieusieben>
|
||||
// Mohsen Azimi <https://github.com/mohsen1>
|
||||
// Nicolas Even <https://github.com/n-e>
|
||||
// Nicolas Voigt <https://github.com/octo-sniffle>
|
||||
// Parambir Singh <https://github.com/parambirs>
|
||||
// Sebastian Silbermann <https://github.com/eps1lon>
|
||||
// Simon Schick <https://github.com/SimonSchick>
|
||||
// Thomas den Hollander <https://github.com/ThomasdenH>
|
||||
// Wilco Bakker <https://github.com/WilcoBakker>
|
||||
// wwwy3y3 <https://github.com/wwwy3y3>
|
||||
// Zane Hannan AU <https://github.com/ZaneHannanAU>
|
||||
// Jeremie Rodriguez <https://github.com/jeremiergz>
|
||||
// Samuel Ainsworth <https://github.com/samuela>
|
||||
// Kyle Uehlein <https://github.com/kuehlein>
|
||||
// Jordi Oliveras Rovira <https://github.com/j-oliveras>
|
||||
// Thanik Bhongbhibhat <https://github.com/bhongy>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
// NOTE: These definitions support NodeJS and TypeScript 3.2.
|
||||
|
||||
// NOTE: TypeScript version-specific augmentations can be found in the following paths:
|
||||
// - ~/base.d.ts - Shared definitions common to all TypeScript versions
|
||||
// - ~/index.d.ts - Definitions specific to TypeScript 2.1
|
||||
// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2
|
||||
|
||||
// NOTE: Augmentations for TypeScript 3.2 and later should use individual files for overrides
|
||||
// within the respective ~/ts3.2 (or later) folder. However, this is disallowed for versions
|
||||
// prior to TypeScript 3.2, so the older definitions will be found here.
|
||||
|
||||
// Base definitions for all NodeJS modules that are not specific to any version of TypeScript:
|
||||
/// <reference path="base.d.ts" />
|
||||
|
||||
// TypeScript 2.1-specific augmentations:
|
||||
|
||||
// Forward-declarations for needed types from es2015 and later (in case users are using `--lib es5`)
|
||||
// Empty interfaces are used here which merge fine with the real declarations in the lib XXX files
|
||||
// just to ensure the names are known and node typings can be sued without importing these libs.
|
||||
// if someone really needs these types the libs need to be added via --lib or in tsconfig.json
|
||||
interface MapConstructor { }
|
||||
interface WeakMapConstructor { }
|
||||
interface SetConstructor { }
|
||||
interface WeakSetConstructor { }
|
||||
interface Set<T> {}
|
||||
interface Map<K, V> {}
|
||||
interface ReadonlySet<T> {}
|
||||
interface IteratorResult<T> { }
|
||||
interface Iterable<T> { }
|
||||
interface Iterator<T> {
|
||||
next(value?: any): IteratorResult<T>;
|
||||
}
|
||||
interface IterableIterator<T> { }
|
||||
interface AsyncIterableIterator<T> {}
|
||||
interface SymbolConstructor {
|
||||
readonly iterator: symbol;
|
||||
readonly asyncIterator: symbol;
|
||||
}
|
||||
declare var Symbol: SymbolConstructor;
|
||||
// even this is just a forward declaration some properties are added otherwise
|
||||
// it would be allowed to pass anything to e.g. Buffer.from()
|
||||
interface SharedArrayBuffer {
|
||||
readonly byteLength: number;
|
||||
slice(begin?: number, end?: number): SharedArrayBuffer;
|
||||
}
|
||||
|
||||
declare module "util" {
|
||||
namespace inspect {
|
||||
const custom: symbol;
|
||||
}
|
||||
namespace promisify {
|
||||
const custom: symbol;
|
||||
}
|
||||
namespace types {
|
||||
function isBigInt64Array(value: any): boolean;
|
||||
function isBigUint64Array(value: any): boolean;
|
||||
}
|
||||
}
|
||||
3257
types/node/v11/inspector.d.ts
vendored
Normal file
3257
types/node/v11/inspector.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
3
types/node/v11/module.d.ts
vendored
Normal file
3
types/node/v11/module.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
declare module "module" {
|
||||
export = NodeJS.Module;
|
||||
}
|
||||
249
types/node/v11/net.d.ts
vendored
Normal file
249
types/node/v11/net.d.ts
vendored
Normal file
@@ -0,0 +1,249 @@
|
||||
declare module "net" {
|
||||
import * as stream from "stream";
|
||||
import * as events from "events";
|
||||
import * as dns from "dns";
|
||||
|
||||
type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void;
|
||||
|
||||
interface AddressInfo {
|
||||
address: string;
|
||||
family: string;
|
||||
port: number;
|
||||
}
|
||||
|
||||
interface SocketConstructorOpts {
|
||||
fd?: number;
|
||||
allowHalfOpen?: boolean;
|
||||
readable?: boolean;
|
||||
writable?: boolean;
|
||||
}
|
||||
|
||||
interface TcpSocketConnectOpts {
|
||||
port: number;
|
||||
host?: string;
|
||||
localAddress?: string;
|
||||
localPort?: number;
|
||||
hints?: number;
|
||||
family?: number;
|
||||
lookup?: LookupFunction;
|
||||
}
|
||||
|
||||
interface IpcSocketConnectOpts {
|
||||
path: string;
|
||||
}
|
||||
|
||||
type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts;
|
||||
|
||||
class Socket extends stream.Duplex {
|
||||
constructor(options?: SocketConstructorOpts);
|
||||
|
||||
// Extended base methods
|
||||
write(buffer: Buffer | Uint8Array | string, cb?: (err?: Error) => void): boolean;
|
||||
write(str: Buffer | Uint8Array | string, encoding?: string, cb?: (err?: Error) => void): boolean;
|
||||
|
||||
connect(options: SocketConnectOpts, connectionListener?: () => void): this;
|
||||
connect(port: number, host: string, connectionListener?: () => void): this;
|
||||
connect(port: number, connectionListener?: () => void): this;
|
||||
connect(path: string, connectionListener?: () => void): this;
|
||||
|
||||
setEncoding(encoding?: string): this;
|
||||
pause(): this;
|
||||
resume(): this;
|
||||
setTimeout(timeout: number, callback?: () => void): this;
|
||||
setNoDelay(noDelay?: boolean): this;
|
||||
setKeepAlive(enable?: boolean, initialDelay?: number): this;
|
||||
address(): AddressInfo | string;
|
||||
unref(): void;
|
||||
ref(): void;
|
||||
|
||||
readonly bufferSize: number;
|
||||
readonly bytesRead: number;
|
||||
readonly bytesWritten: number;
|
||||
readonly connecting: boolean;
|
||||
readonly destroyed: boolean;
|
||||
readonly localAddress: string;
|
||||
readonly localPort: number;
|
||||
readonly remoteAddress?: string;
|
||||
readonly remoteFamily?: string;
|
||||
readonly remotePort?: number;
|
||||
|
||||
// Extended base methods
|
||||
end(cb?: () => void): void;
|
||||
end(buffer: Buffer | Uint8Array | string, cb?: () => void): void;
|
||||
end(str: Buffer | Uint8Array | string, encoding?: string, cb?: () => void): void;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. connect
|
||||
* 3. data
|
||||
* 4. drain
|
||||
* 5. end
|
||||
* 6. error
|
||||
* 7. lookup
|
||||
* 8. timeout
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "close", listener: (had_error: boolean) => void): this;
|
||||
addListener(event: "connect", listener: () => void): this;
|
||||
addListener(event: "data", listener: (data: Buffer) => void): this;
|
||||
addListener(event: "drain", listener: () => void): this;
|
||||
addListener(event: "end", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||
addListener(event: "timeout", listener: () => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "close", had_error: boolean): boolean;
|
||||
emit(event: "connect"): boolean;
|
||||
emit(event: "data", data: Buffer): boolean;
|
||||
emit(event: "drain"): boolean;
|
||||
emit(event: "end"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean;
|
||||
emit(event: "timeout"): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "close", listener: (had_error: boolean) => void): this;
|
||||
on(event: "connect", listener: () => void): this;
|
||||
on(event: "data", listener: (data: Buffer) => void): this;
|
||||
on(event: "drain", listener: () => void): this;
|
||||
on(event: "end", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||
on(event: "timeout", listener: () => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "close", listener: (had_error: boolean) => void): this;
|
||||
once(event: "connect", listener: () => void): this;
|
||||
once(event: "data", listener: (data: Buffer) => void): this;
|
||||
once(event: "drain", listener: () => void): this;
|
||||
once(event: "end", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||
once(event: "timeout", listener: () => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "close", listener: (had_error: boolean) => void): this;
|
||||
prependListener(event: "connect", listener: () => void): this;
|
||||
prependListener(event: "data", listener: (data: Buffer) => void): this;
|
||||
prependListener(event: "drain", listener: () => void): this;
|
||||
prependListener(event: "end", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||
prependListener(event: "timeout", listener: () => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "close", listener: (had_error: boolean) => void): this;
|
||||
prependOnceListener(event: "connect", listener: () => void): this;
|
||||
prependOnceListener(event: "data", listener: (data: Buffer) => void): this;
|
||||
prependOnceListener(event: "drain", listener: () => void): this;
|
||||
prependOnceListener(event: "end", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
|
||||
prependOnceListener(event: "timeout", listener: () => void): this;
|
||||
}
|
||||
|
||||
interface ListenOptions {
|
||||
port?: number;
|
||||
host?: string;
|
||||
backlog?: number;
|
||||
path?: string;
|
||||
exclusive?: boolean;
|
||||
readableAll?: boolean;
|
||||
writableAll?: boolean;
|
||||
/**
|
||||
* @default false
|
||||
*/
|
||||
ipv6Only?: boolean;
|
||||
}
|
||||
|
||||
// https://github.com/nodejs/node/blob/master/lib/net.js
|
||||
class Server extends events.EventEmitter {
|
||||
constructor(connectionListener?: (socket: Socket) => void);
|
||||
constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void);
|
||||
|
||||
listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this;
|
||||
listen(port?: number, hostname?: string, listeningListener?: () => void): this;
|
||||
listen(port?: number, backlog?: number, listeningListener?: () => void): this;
|
||||
listen(port?: number, listeningListener?: () => void): this;
|
||||
listen(path: string, backlog?: number, listeningListener?: () => void): this;
|
||||
listen(path: string, listeningListener?: () => void): this;
|
||||
listen(options: ListenOptions, listeningListener?: () => void): this;
|
||||
listen(handle: any, backlog?: number, listeningListener?: () => void): this;
|
||||
listen(handle: any, listeningListener?: () => void): this;
|
||||
close(callback?: (err?: Error) => void): this;
|
||||
address(): AddressInfo | string | null;
|
||||
getConnections(cb: (error: Error | null, count: number) => void): void;
|
||||
ref(): this;
|
||||
unref(): this;
|
||||
maxConnections: number;
|
||||
connections: number;
|
||||
listening: boolean;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. connection
|
||||
* 3. error
|
||||
* 4. listening
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "connection", listener: (socket: Socket) => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "listening", listener: () => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "connection", socket: Socket): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "listening"): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "connection", listener: (socket: Socket) => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "listening", listener: () => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "connection", listener: (socket: Socket) => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "listening", listener: () => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "connection", listener: (socket: Socket) => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "listening", listener: () => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "connection", listener: (socket: Socket) => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "listening", listener: () => void): this;
|
||||
}
|
||||
|
||||
interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts {
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts;
|
||||
|
||||
function createServer(connectionListener?: (socket: Socket) => void): Server;
|
||||
function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server;
|
||||
function connect(options: NetConnectOpts, connectionListener?: () => void): Socket;
|
||||
function connect(port: number, host?: string, connectionListener?: () => void): Socket;
|
||||
function connect(path: string, connectionListener?: () => void): Socket;
|
||||
function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket;
|
||||
function createConnection(port: number, host?: string, connectionListener?: () => void): Socket;
|
||||
function createConnection(path: string, connectionListener?: () => void): Socket;
|
||||
function isIP(input: string): number;
|
||||
function isIPv4(input: string): boolean;
|
||||
function isIPv6(input: string): boolean;
|
||||
}
|
||||
1160
types/node/v11/node-tests.ts
Normal file
1160
types/node/v11/node-tests.ts
Normal file
File diff suppressed because it is too large
Load Diff
201
types/node/v11/os.d.ts
vendored
Normal file
201
types/node/v11/os.d.ts
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
declare module "os" {
|
||||
interface CpuInfo {
|
||||
model: string;
|
||||
speed: number;
|
||||
times: {
|
||||
user: number;
|
||||
nice: number;
|
||||
sys: number;
|
||||
idle: number;
|
||||
irq: number;
|
||||
};
|
||||
}
|
||||
|
||||
interface NetworkInterfaceBase {
|
||||
address: string;
|
||||
netmask: string;
|
||||
mac: string;
|
||||
internal: boolean;
|
||||
cidr: string | null;
|
||||
}
|
||||
|
||||
interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
|
||||
family: "IPv4";
|
||||
}
|
||||
|
||||
interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
|
||||
family: "IPv6";
|
||||
scopeid: number;
|
||||
}
|
||||
|
||||
interface UserInfo<T> {
|
||||
username: T;
|
||||
uid: number;
|
||||
gid: number;
|
||||
shell: T;
|
||||
homedir: T;
|
||||
}
|
||||
|
||||
type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6;
|
||||
|
||||
function hostname(): string;
|
||||
function loadavg(): number[];
|
||||
function uptime(): number;
|
||||
function freemem(): number;
|
||||
function totalmem(): number;
|
||||
function cpus(): CpuInfo[];
|
||||
function type(): string;
|
||||
function release(): string;
|
||||
function networkInterfaces(): { [index: string]: NetworkInterfaceInfo[] };
|
||||
function homedir(): string;
|
||||
function userInfo(options: { encoding: 'buffer' }): UserInfo<Buffer>;
|
||||
function userInfo(options?: { encoding: string }): UserInfo<string>;
|
||||
const constants: {
|
||||
UV_UDP_REUSEADDR: number;
|
||||
signals: {
|
||||
SIGHUP: number;
|
||||
SIGINT: number;
|
||||
SIGQUIT: number;
|
||||
SIGILL: number;
|
||||
SIGTRAP: number;
|
||||
SIGABRT: number;
|
||||
SIGIOT: number;
|
||||
SIGBUS: number;
|
||||
SIGFPE: number;
|
||||
SIGKILL: number;
|
||||
SIGUSR1: number;
|
||||
SIGSEGV: number;
|
||||
SIGUSR2: number;
|
||||
SIGPIPE: number;
|
||||
SIGALRM: number;
|
||||
SIGTERM: number;
|
||||
SIGCHLD: number;
|
||||
SIGSTKFLT: number;
|
||||
SIGCONT: number;
|
||||
SIGSTOP: number;
|
||||
SIGTSTP: number;
|
||||
SIGTTIN: number;
|
||||
SIGTTOU: number;
|
||||
SIGURG: number;
|
||||
SIGXCPU: number;
|
||||
SIGXFSZ: number;
|
||||
SIGVTALRM: number;
|
||||
SIGPROF: number;
|
||||
SIGWINCH: number;
|
||||
SIGIO: number;
|
||||
SIGPOLL: number;
|
||||
SIGPWR: number;
|
||||
SIGSYS: number;
|
||||
SIGUNUSED: number;
|
||||
};
|
||||
errno: {
|
||||
E2BIG: number;
|
||||
EACCES: number;
|
||||
EADDRINUSE: number;
|
||||
EADDRNOTAVAIL: number;
|
||||
EAFNOSUPPORT: number;
|
||||
EAGAIN: number;
|
||||
EALREADY: number;
|
||||
EBADF: number;
|
||||
EBADMSG: number;
|
||||
EBUSY: number;
|
||||
ECANCELED: number;
|
||||
ECHILD: number;
|
||||
ECONNABORTED: number;
|
||||
ECONNREFUSED: number;
|
||||
ECONNRESET: number;
|
||||
EDEADLK: number;
|
||||
EDESTADDRREQ: number;
|
||||
EDOM: number;
|
||||
EDQUOT: number;
|
||||
EEXIST: number;
|
||||
EFAULT: number;
|
||||
EFBIG: number;
|
||||
EHOSTUNREACH: number;
|
||||
EIDRM: number;
|
||||
EILSEQ: number;
|
||||
EINPROGRESS: number;
|
||||
EINTR: number;
|
||||
EINVAL: number;
|
||||
EIO: number;
|
||||
EISCONN: number;
|
||||
EISDIR: number;
|
||||
ELOOP: number;
|
||||
EMFILE: number;
|
||||
EMLINK: number;
|
||||
EMSGSIZE: number;
|
||||
EMULTIHOP: number;
|
||||
ENAMETOOLONG: number;
|
||||
ENETDOWN: number;
|
||||
ENETRESET: number;
|
||||
ENETUNREACH: number;
|
||||
ENFILE: number;
|
||||
ENOBUFS: number;
|
||||
ENODATA: number;
|
||||
ENODEV: number;
|
||||
ENOENT: number;
|
||||
ENOEXEC: number;
|
||||
ENOLCK: number;
|
||||
ENOLINK: number;
|
||||
ENOMEM: number;
|
||||
ENOMSG: number;
|
||||
ENOPROTOOPT: number;
|
||||
ENOSPC: number;
|
||||
ENOSR: number;
|
||||
ENOSTR: number;
|
||||
ENOSYS: number;
|
||||
ENOTCONN: number;
|
||||
ENOTDIR: number;
|
||||
ENOTEMPTY: number;
|
||||
ENOTSOCK: number;
|
||||
ENOTSUP: number;
|
||||
ENOTTY: number;
|
||||
ENXIO: number;
|
||||
EOPNOTSUPP: number;
|
||||
EOVERFLOW: number;
|
||||
EPERM: number;
|
||||
EPIPE: number;
|
||||
EPROTO: number;
|
||||
EPROTONOSUPPORT: number;
|
||||
EPROTOTYPE: number;
|
||||
ERANGE: number;
|
||||
EROFS: number;
|
||||
ESPIPE: number;
|
||||
ESRCH: number;
|
||||
ESTALE: number;
|
||||
ETIME: number;
|
||||
ETIMEDOUT: number;
|
||||
ETXTBSY: number;
|
||||
EWOULDBLOCK: number;
|
||||
EXDEV: number;
|
||||
};
|
||||
priority: {
|
||||
PRIORITY_LOW: number;
|
||||
PRIORITY_BELOW_NORMAL: number;
|
||||
PRIORITY_NORMAL: number;
|
||||
PRIORITY_ABOVE_NORMAL: number;
|
||||
PRIORITY_HIGH: number;
|
||||
PRIORITY_HIGHEST: number;
|
||||
}
|
||||
};
|
||||
function arch(): string;
|
||||
function platform(): NodeJS.Platform;
|
||||
function tmpdir(): string;
|
||||
const EOL: string;
|
||||
function endianness(): "BE" | "LE";
|
||||
/**
|
||||
* Gets the priority of a process.
|
||||
* Defaults to current process.
|
||||
*/
|
||||
function getPriority(pid?: number): number;
|
||||
/**
|
||||
* Sets the priority of the current process.
|
||||
* @param priority Must be in range of -20 to 19
|
||||
*/
|
||||
function setPriority(priority: number): void;
|
||||
/**
|
||||
* Sets the priority of the process specified process.
|
||||
* @param priority Must be in range of -20 to 19
|
||||
*/
|
||||
function setPriority(pid: number, priority: number): void;
|
||||
}
|
||||
11
types/node/v11/package.json
Normal file
11
types/node/v11/package.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"types": "index",
|
||||
"typesVersions": {
|
||||
">=3.2.0-0": {
|
||||
"*": [
|
||||
"ts3.2/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
159
types/node/v11/path.d.ts
vendored
Normal file
159
types/node/v11/path.d.ts
vendored
Normal file
@@ -0,0 +1,159 @@
|
||||
declare module "path" {
|
||||
/**
|
||||
* A parsed path object generated by path.parse() or consumed by path.format().
|
||||
*/
|
||||
interface ParsedPath {
|
||||
/**
|
||||
* The root of the path such as '/' or 'c:\'
|
||||
*/
|
||||
root: string;
|
||||
/**
|
||||
* The full directory path such as '/home/user/dir' or 'c:\path\dir'
|
||||
*/
|
||||
dir: string;
|
||||
/**
|
||||
* The file name including extension (if any) such as 'index.html'
|
||||
*/
|
||||
base: string;
|
||||
/**
|
||||
* The file extension (if any) such as '.html'
|
||||
*/
|
||||
ext: string;
|
||||
/**
|
||||
* The file name without extension (if any) such as 'index'
|
||||
*/
|
||||
name: string;
|
||||
}
|
||||
interface FormatInputPathObject {
|
||||
/**
|
||||
* The root of the path such as '/' or 'c:\'
|
||||
*/
|
||||
root?: string;
|
||||
/**
|
||||
* The full directory path such as '/home/user/dir' or 'c:\path\dir'
|
||||
*/
|
||||
dir?: string;
|
||||
/**
|
||||
* The file name including extension (if any) such as 'index.html'
|
||||
*/
|
||||
base?: string;
|
||||
/**
|
||||
* The file extension (if any) such as '.html'
|
||||
*/
|
||||
ext?: string;
|
||||
/**
|
||||
* The file name without extension (if any) such as 'index'
|
||||
*/
|
||||
name?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize a string path, reducing '..' and '.' parts.
|
||||
* When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.
|
||||
*
|
||||
* @param p string path to normalize.
|
||||
*/
|
||||
function normalize(p: string): string;
|
||||
/**
|
||||
* Join all arguments together and normalize the resulting path.
|
||||
* Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown.
|
||||
*
|
||||
* @param paths paths to join.
|
||||
*/
|
||||
function join(...paths: string[]): string;
|
||||
/**
|
||||
* The right-most parameter is considered {to}. Other parameters are considered an array of {from}.
|
||||
*
|
||||
* Starting from leftmost {from} parameter, resolves {to} to an absolute path.
|
||||
*
|
||||
* If {to} isn't already absolute, {from} arguments are prepended in right to left order,
|
||||
* until an absolute path is found. If after using all {from} paths still no absolute path is found,
|
||||
* the current working directory is used as well. The resulting path is normalized,
|
||||
* and trailing slashes are removed unless the path gets resolved to the root directory.
|
||||
*
|
||||
* @param pathSegments string paths to join. Non-string arguments are ignored.
|
||||
*/
|
||||
function resolve(...pathSegments: string[]): string;
|
||||
/**
|
||||
* Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory.
|
||||
*
|
||||
* @param path path to test.
|
||||
*/
|
||||
function isAbsolute(path: string): boolean;
|
||||
/**
|
||||
* Solve the relative path from {from} to {to}.
|
||||
* At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve.
|
||||
*/
|
||||
function relative(from: string, to: string): string;
|
||||
/**
|
||||
* Return the directory name of a path. Similar to the Unix dirname command.
|
||||
*
|
||||
* @param p the path to evaluate.
|
||||
*/
|
||||
function dirname(p: string): string;
|
||||
/**
|
||||
* Return the last portion of a path. Similar to the Unix basename command.
|
||||
* Often used to extract the file name from a fully qualified path.
|
||||
*
|
||||
* @param p the path to evaluate.
|
||||
* @param ext optionally, an extension to remove from the result.
|
||||
*/
|
||||
function basename(p: string, ext?: string): string;
|
||||
/**
|
||||
* Return the extension of the path, from the last '.' to end of string in the last portion of the path.
|
||||
* If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string
|
||||
*
|
||||
* @param p the path to evaluate.
|
||||
*/
|
||||
function extname(p: string): string;
|
||||
/**
|
||||
* The platform-specific file separator. '\\' or '/'.
|
||||
*/
|
||||
const sep: '\\' | '/';
|
||||
/**
|
||||
* The platform-specific file delimiter. ';' or ':'.
|
||||
*/
|
||||
const delimiter: ';' | ':';
|
||||
/**
|
||||
* Returns an object from a path string - the opposite of format().
|
||||
*
|
||||
* @param pathString path to evaluate.
|
||||
*/
|
||||
function parse(pathString: string): ParsedPath;
|
||||
/**
|
||||
* Returns a path string from an object - the opposite of parse().
|
||||
*
|
||||
* @param pathString path to evaluate.
|
||||
*/
|
||||
function format(pathObject: FormatInputPathObject): string;
|
||||
|
||||
namespace posix {
|
||||
function normalize(p: string): string;
|
||||
function join(...paths: string[]): string;
|
||||
function resolve(...pathSegments: string[]): string;
|
||||
function isAbsolute(p: string): boolean;
|
||||
function relative(from: string, to: string): string;
|
||||
function dirname(p: string): string;
|
||||
function basename(p: string, ext?: string): string;
|
||||
function extname(p: string): string;
|
||||
const sep: string;
|
||||
const delimiter: string;
|
||||
function parse(p: string): ParsedPath;
|
||||
function format(pP: FormatInputPathObject): string;
|
||||
}
|
||||
|
||||
namespace win32 {
|
||||
function normalize(p: string): string;
|
||||
function join(...paths: string[]): string;
|
||||
function resolve(...pathSegments: string[]): string;
|
||||
function isAbsolute(p: string): boolean;
|
||||
function relative(from: string, to: string): string;
|
||||
function dirname(p: string): string;
|
||||
function basename(p: string, ext?: string): string;
|
||||
function extname(p: string): string;
|
||||
const sep: string;
|
||||
const delimiter: string;
|
||||
function parse(p: string): ParsedPath;
|
||||
function format(pP: FormatInputPathObject): string;
|
||||
}
|
||||
}
|
||||
304
types/node/v11/perf_hooks.d.ts
vendored
Normal file
304
types/node/v11/perf_hooks.d.ts
vendored
Normal file
@@ -0,0 +1,304 @@
|
||||
declare module "perf_hooks" {
|
||||
import { AsyncResource } from "async_hooks";
|
||||
|
||||
interface PerformanceEntry {
|
||||
/**
|
||||
* The total number of milliseconds elapsed for this entry.
|
||||
* This value will not be meaningful for all Performance Entry types.
|
||||
*/
|
||||
readonly duration: number;
|
||||
|
||||
/**
|
||||
* The name of the performance entry.
|
||||
*/
|
||||
readonly name: string;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp marking the starting time of the Performance Entry.
|
||||
*/
|
||||
readonly startTime: number;
|
||||
|
||||
/**
|
||||
* The type of the performance entry.
|
||||
* Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'.
|
||||
*/
|
||||
readonly entryType: string;
|
||||
|
||||
/**
|
||||
* When performanceEntry.entryType is equal to 'gc', the performance.kind property identifies
|
||||
* the type of garbage collection operation that occurred.
|
||||
* The value may be one of perf_hooks.constants.
|
||||
*/
|
||||
readonly kind?: number;
|
||||
}
|
||||
|
||||
interface PerformanceNodeTiming extends PerformanceEntry {
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which the Node.js process completed bootstrap.
|
||||
*/
|
||||
readonly bootstrapComplete: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which cluster processing ended.
|
||||
*/
|
||||
readonly clusterSetupEnd: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which cluster processing started.
|
||||
*/
|
||||
readonly clusterSetupStart: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which the Node.js event loop exited.
|
||||
*/
|
||||
readonly loopExit: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which the Node.js event loop started.
|
||||
*/
|
||||
readonly loopStart: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which main module load ended.
|
||||
*/
|
||||
readonly moduleLoadEnd: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which main module load started.
|
||||
*/
|
||||
readonly moduleLoadStart: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which the Node.js process was initialized.
|
||||
*/
|
||||
readonly nodeStart: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which preload module load ended.
|
||||
*/
|
||||
readonly preloadModuleLoadEnd: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which preload module load started.
|
||||
*/
|
||||
readonly preloadModuleLoadStart: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which third_party_main processing ended.
|
||||
*/
|
||||
readonly thirdPartyMainEnd: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which third_party_main processing started.
|
||||
*/
|
||||
readonly thirdPartyMainStart: number;
|
||||
|
||||
/**
|
||||
* The high resolution millisecond timestamp at which the V8 platform was initialized.
|
||||
*/
|
||||
readonly v8Start: number;
|
||||
}
|
||||
|
||||
interface Performance {
|
||||
/**
|
||||
* If name is not provided, removes all PerformanceFunction objects from the Performance Timeline.
|
||||
* If name is provided, removes entries with name.
|
||||
* @param name
|
||||
*/
|
||||
clearFunctions(name?: string): void;
|
||||
|
||||
/**
|
||||
* If name is not provided, removes all PerformanceMark objects from the Performance Timeline.
|
||||
* If name is provided, removes only the named mark.
|
||||
* @param name
|
||||
*/
|
||||
clearMarks(name?: string): void;
|
||||
|
||||
/**
|
||||
* If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline.
|
||||
* If name is provided, removes only objects whose performanceEntry.name matches name.
|
||||
*/
|
||||
clearMeasures(name?: string): void;
|
||||
|
||||
/**
|
||||
* Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime.
|
||||
* @return list of all PerformanceEntry objects
|
||||
*/
|
||||
getEntries(): PerformanceEntry[];
|
||||
|
||||
/**
|
||||
* Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime
|
||||
* whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type.
|
||||
* @param name
|
||||
* @param type
|
||||
* @return list of all PerformanceEntry objects
|
||||
*/
|
||||
getEntriesByName(name: string, type?: string): PerformanceEntry[];
|
||||
|
||||
/**
|
||||
* Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime
|
||||
* whose performanceEntry.entryType is equal to type.
|
||||
* @param type
|
||||
* @return list of all PerformanceEntry objects
|
||||
*/
|
||||
getEntriesByType(type: string): PerformanceEntry[];
|
||||
|
||||
/**
|
||||
* Creates a new PerformanceMark entry in the Performance Timeline.
|
||||
* A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark',
|
||||
* and whose performanceEntry.duration is always 0.
|
||||
* Performance marks are used to mark specific significant moments in the Performance Timeline.
|
||||
* @param name
|
||||
*/
|
||||
mark(name?: string): void;
|
||||
|
||||
/**
|
||||
* Creates a new PerformanceMeasure entry in the Performance Timeline.
|
||||
* A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure',
|
||||
* and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark.
|
||||
*
|
||||
* The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify
|
||||
* any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist,
|
||||
* then startMark is set to timeOrigin by default.
|
||||
*
|
||||
* The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp
|
||||
* properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown.
|
||||
* @param name
|
||||
* @param startMark
|
||||
* @param endMark
|
||||
*/
|
||||
measure(name: string, startMark: string, endMark: string): void;
|
||||
|
||||
/**
|
||||
* An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones.
|
||||
*/
|
||||
readonly nodeTiming: PerformanceNodeTiming;
|
||||
|
||||
/**
|
||||
* @return the current high resolution millisecond timestamp
|
||||
*/
|
||||
now(): number;
|
||||
|
||||
/**
|
||||
* The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured.
|
||||
*/
|
||||
readonly timeOrigin: number;
|
||||
|
||||
/**
|
||||
* Wraps a function within a new function that measures the running time of the wrapped function.
|
||||
* A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed.
|
||||
* @param fn
|
||||
*/
|
||||
timerify<T extends (...optionalParams: any[]) => any>(fn: T): T;
|
||||
}
|
||||
|
||||
interface PerformanceObserverEntryList {
|
||||
/**
|
||||
* @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime.
|
||||
*/
|
||||
getEntries(): PerformanceEntry[];
|
||||
|
||||
/**
|
||||
* @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime
|
||||
* whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type.
|
||||
*/
|
||||
getEntriesByName(name: string, type?: string): PerformanceEntry[];
|
||||
|
||||
/**
|
||||
* @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime
|
||||
* whose performanceEntry.entryType is equal to type.
|
||||
*/
|
||||
getEntriesByType(type: string): PerformanceEntry[];
|
||||
}
|
||||
|
||||
type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void;
|
||||
|
||||
class PerformanceObserver extends AsyncResource {
|
||||
constructor(callback: PerformanceObserverCallback);
|
||||
|
||||
/**
|
||||
* Disconnects the PerformanceObserver instance from all notifications.
|
||||
*/
|
||||
disconnect(): void;
|
||||
|
||||
/**
|
||||
* Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes.
|
||||
* When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance.
|
||||
* Property buffered defaults to false.
|
||||
* @param options
|
||||
*/
|
||||
observe(options: { entryTypes: string[], buffered?: boolean }): void;
|
||||
}
|
||||
|
||||
namespace constants {
|
||||
const NODE_PERFORMANCE_GC_MAJOR: number;
|
||||
const NODE_PERFORMANCE_GC_MINOR: number;
|
||||
const NODE_PERFORMANCE_GC_INCREMENTAL: number;
|
||||
const NODE_PERFORMANCE_GC_WEAKCB: number;
|
||||
}
|
||||
|
||||
const performance: Performance;
|
||||
|
||||
interface EventLoopMonitorOptions {
|
||||
/**
|
||||
* The sampling rate in milliseconds.
|
||||
* Must be greater than zero.
|
||||
* @default 10
|
||||
*/
|
||||
resolution?: number;
|
||||
}
|
||||
|
||||
interface EventLoopDelayMonitor {
|
||||
/**
|
||||
* Enables the event loop delay sample timer. Returns `true` if the timer was started, `false` if it was already started.
|
||||
*/
|
||||
enable(): boolean;
|
||||
/**
|
||||
* Disables the event loop delay sample timer. Returns `true` if the timer was stopped, `false` if it was already stopped.
|
||||
*/
|
||||
disable(): boolean;
|
||||
|
||||
/**
|
||||
* Resets the collected histogram data.
|
||||
*/
|
||||
reset(): void;
|
||||
|
||||
/**
|
||||
* Returns the value at the given percentile.
|
||||
* @param percentile A percentile value between 1 and 100.
|
||||
*/
|
||||
percentile(percentile: number): number;
|
||||
|
||||
/**
|
||||
* A `Map` object detailing the accumulated percentile distribution.
|
||||
*/
|
||||
readonly percentiles: Map<number, number>;
|
||||
|
||||
/**
|
||||
* The number of times the event loop delay exceeded the maximum 1 hour eventloop delay threshold.
|
||||
*/
|
||||
readonly exceeds: number;
|
||||
|
||||
/**
|
||||
* The minimum recorded event loop delay.
|
||||
*/
|
||||
readonly min: number;
|
||||
|
||||
/**
|
||||
* The maximum recorded event loop delay.
|
||||
*/
|
||||
readonly max: number;
|
||||
|
||||
/**
|
||||
* The mean of the recorded event loop delays.
|
||||
*/
|
||||
readonly mean: number;
|
||||
|
||||
/**
|
||||
* The standard deviation of the recorded event loop delays.
|
||||
*/
|
||||
readonly stddev: number;
|
||||
}
|
||||
|
||||
function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor;
|
||||
}
|
||||
3
types/node/v11/process.d.ts
vendored
Normal file
3
types/node/v11/process.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
declare module "process" {
|
||||
export = process;
|
||||
}
|
||||
12
types/node/v11/punycode.d.ts
vendored
Normal file
12
types/node/v11/punycode.d.ts
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
declare module "punycode" {
|
||||
function decode(string: string): string;
|
||||
function encode(string: string): string;
|
||||
function toUnicode(domain: string): string;
|
||||
function toASCII(domain: string): string;
|
||||
const ucs2: ucs2;
|
||||
interface ucs2 {
|
||||
decode(string: string): number[];
|
||||
encode(codePoints: number[]): string;
|
||||
}
|
||||
const version: string;
|
||||
}
|
||||
24
types/node/v11/querystring.d.ts
vendored
Normal file
24
types/node/v11/querystring.d.ts
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
declare module "querystring" {
|
||||
interface StringifyOptions {
|
||||
encodeURIComponent?: (str: string) => string;
|
||||
}
|
||||
|
||||
interface ParseOptions {
|
||||
maxKeys?: number;
|
||||
decodeURIComponent?: (str: string) => string;
|
||||
}
|
||||
|
||||
interface ParsedUrlQuery { [key: string]: string | string[]; }
|
||||
|
||||
interface ParsedUrlQueryInput {
|
||||
[key: string]:
|
||||
// The value type here is a "poor man's `unknown`". When these types support TypeScript
|
||||
// 3.0+, we can replace this with `unknown`.
|
||||
{} | null | undefined;
|
||||
}
|
||||
|
||||
function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string;
|
||||
function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery;
|
||||
function escape(str: string): string;
|
||||
function unescape(str: string): string;
|
||||
}
|
||||
136
types/node/v11/readline.d.ts
vendored
Normal file
136
types/node/v11/readline.d.ts
vendored
Normal file
@@ -0,0 +1,136 @@
|
||||
declare module "readline" {
|
||||
import * as events from "events";
|
||||
import * as stream from "stream";
|
||||
|
||||
interface Key {
|
||||
sequence?: string;
|
||||
name?: string;
|
||||
ctrl?: boolean;
|
||||
meta?: boolean;
|
||||
shift?: boolean;
|
||||
}
|
||||
|
||||
class Interface extends events.EventEmitter {
|
||||
readonly terminal: boolean;
|
||||
|
||||
/**
|
||||
* NOTE: According to the documentation:
|
||||
*
|
||||
* > Instances of the `readline.Interface` class are constructed using the
|
||||
* > `readline.createInterface()` method.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface
|
||||
*/
|
||||
protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean);
|
||||
/**
|
||||
* NOTE: According to the documentation:
|
||||
*
|
||||
* > Instances of the `readline.Interface` class are constructed using the
|
||||
* > `readline.createInterface()` method.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface
|
||||
*/
|
||||
protected constructor(options: ReadLineOptions);
|
||||
|
||||
setPrompt(prompt: string): void;
|
||||
prompt(preserveCursor?: boolean): void;
|
||||
question(query: string, callback: (answer: string) => void): void;
|
||||
pause(): this;
|
||||
resume(): this;
|
||||
close(): void;
|
||||
write(data: string | Buffer, key?: Key): void;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. line
|
||||
* 3. pause
|
||||
* 4. resume
|
||||
* 5. SIGCONT
|
||||
* 6. SIGINT
|
||||
* 7. SIGTSTP
|
||||
*/
|
||||
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "line", listener: (input: string) => void): this;
|
||||
addListener(event: "pause", listener: () => void): this;
|
||||
addListener(event: "resume", listener: () => void): this;
|
||||
addListener(event: "SIGCONT", listener: () => void): this;
|
||||
addListener(event: "SIGINT", listener: () => void): this;
|
||||
addListener(event: "SIGTSTP", listener: () => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "line", input: string): boolean;
|
||||
emit(event: "pause"): boolean;
|
||||
emit(event: "resume"): boolean;
|
||||
emit(event: "SIGCONT"): boolean;
|
||||
emit(event: "SIGINT"): boolean;
|
||||
emit(event: "SIGTSTP"): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "line", listener: (input: string) => void): this;
|
||||
on(event: "pause", listener: () => void): this;
|
||||
on(event: "resume", listener: () => void): this;
|
||||
on(event: "SIGCONT", listener: () => void): this;
|
||||
on(event: "SIGINT", listener: () => void): this;
|
||||
on(event: "SIGTSTP", listener: () => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "line", listener: (input: string) => void): this;
|
||||
once(event: "pause", listener: () => void): this;
|
||||
once(event: "resume", listener: () => void): this;
|
||||
once(event: "SIGCONT", listener: () => void): this;
|
||||
once(event: "SIGINT", listener: () => void): this;
|
||||
once(event: "SIGTSTP", listener: () => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "line", listener: (input: string) => void): this;
|
||||
prependListener(event: "pause", listener: () => void): this;
|
||||
prependListener(event: "resume", listener: () => void): this;
|
||||
prependListener(event: "SIGCONT", listener: () => void): this;
|
||||
prependListener(event: "SIGINT", listener: () => void): this;
|
||||
prependListener(event: "SIGTSTP", listener: () => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "line", listener: (input: string) => void): this;
|
||||
prependOnceListener(event: "pause", listener: () => void): this;
|
||||
prependOnceListener(event: "resume", listener: () => void): this;
|
||||
prependOnceListener(event: "SIGCONT", listener: () => void): this;
|
||||
prependOnceListener(event: "SIGINT", listener: () => void): this;
|
||||
prependOnceListener(event: "SIGTSTP", listener: () => void): this;
|
||||
[Symbol.asyncIterator](): AsyncIterableIterator<string>;
|
||||
}
|
||||
|
||||
type ReadLine = Interface; // type forwarded for backwards compatiblity
|
||||
|
||||
type Completer = (line: string) => CompleterResult;
|
||||
type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => any;
|
||||
|
||||
type CompleterResult = [string[], string];
|
||||
|
||||
interface ReadLineOptions {
|
||||
input: NodeJS.ReadableStream;
|
||||
output?: NodeJS.WritableStream;
|
||||
completer?: Completer | AsyncCompleter;
|
||||
terminal?: boolean;
|
||||
historySize?: number;
|
||||
prompt?: string;
|
||||
crlfDelay?: number;
|
||||
removeHistoryDuplicates?: boolean;
|
||||
}
|
||||
|
||||
function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface;
|
||||
function createInterface(options: ReadLineOptions): Interface;
|
||||
|
||||
function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number): void;
|
||||
function emitKeypressEvents(stream: NodeJS.ReadableStream, interface?: Interface): void;
|
||||
function moveCursor(stream: NodeJS.WritableStream, dx: number | string, dy: number | string): void;
|
||||
function clearLine(stream: NodeJS.WritableStream, dir: number): void;
|
||||
function clearScreenDown(stream: NodeJS.WritableStream): void;
|
||||
}
|
||||
382
types/node/v11/repl.d.ts
vendored
Normal file
382
types/node/v11/repl.d.ts
vendored
Normal file
@@ -0,0 +1,382 @@
|
||||
declare module "repl" {
|
||||
import { Interface, Completer, AsyncCompleter } from "readline";
|
||||
import { Context } from "vm";
|
||||
import { InspectOptions } from "util";
|
||||
|
||||
interface ReplOptions {
|
||||
/**
|
||||
* The input prompt to display.
|
||||
* Default: `"> "`
|
||||
*/
|
||||
prompt?: string;
|
||||
/**
|
||||
* The `Readable` stream from which REPL input will be read.
|
||||
* Default: `process.stdin`
|
||||
*/
|
||||
input?: NodeJS.ReadableStream;
|
||||
/**
|
||||
* The `Writable` stream to which REPL output will be written.
|
||||
* Default: `process.stdout`
|
||||
*/
|
||||
output?: NodeJS.WritableStream;
|
||||
/**
|
||||
* If `true`, specifies that the output should be treated as a TTY terminal, and have
|
||||
* ANSI/VT100 escape codes written to it.
|
||||
* Default: checking the value of the `isTTY` property on the output stream upon
|
||||
* instantiation.
|
||||
*/
|
||||
terminal?: boolean;
|
||||
/**
|
||||
* The function to be used when evaluating each given line of input.
|
||||
* Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can
|
||||
* error with `repl.Recoverable` to indicate the input was incomplete and prompt for
|
||||
* additional lines.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions
|
||||
*/
|
||||
eval?: REPLEval;
|
||||
/**
|
||||
* If `true`, specifies that the default `writer` function should include ANSI color
|
||||
* styling to REPL output. If a custom `writer` function is provided then this has no
|
||||
* effect.
|
||||
* Default: the REPL instance's `terminal` value.
|
||||
*/
|
||||
useColors?: boolean;
|
||||
/**
|
||||
* If `true`, specifies that the default evaluation function will use the JavaScript
|
||||
* `global` as the context as opposed to creating a new separate context for the REPL
|
||||
* instance. The node CLI REPL sets this value to `true`.
|
||||
* Default: `false`.
|
||||
*/
|
||||
useGlobal?: boolean;
|
||||
/**
|
||||
* If `true`, specifies that the default writer will not output the return value of a
|
||||
* command if it evaluates to `undefined`.
|
||||
* Default: `false`.
|
||||
*/
|
||||
ignoreUndefined?: boolean;
|
||||
/**
|
||||
* The function to invoke to format the output of each command before writing to `output`.
|
||||
* Default: a wrapper for `util.inspect`.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output
|
||||
*/
|
||||
writer?: REPLWriter;
|
||||
/**
|
||||
* An optional function used for custom Tab auto completion.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function
|
||||
*/
|
||||
completer?: Completer | AsyncCompleter;
|
||||
/**
|
||||
* A flag that specifies whether the default evaluator executes all JavaScript commands in
|
||||
* strict mode or default (sloppy) mode.
|
||||
* Accepted values are:
|
||||
* - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode.
|
||||
* - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to
|
||||
* prefacing every repl statement with `'use strict'`.
|
||||
*/
|
||||
replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT;
|
||||
/**
|
||||
* Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is
|
||||
* pressed. This cannot be used together with a custom `eval` function.
|
||||
* Default: `false`.
|
||||
*/
|
||||
breakEvalOnSigint?: boolean;
|
||||
}
|
||||
|
||||
type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void;
|
||||
type REPLWriter = (this: REPLServer, obj: any) => string;
|
||||
|
||||
/**
|
||||
* This is the default "writer" value, if none is passed in the REPL options,
|
||||
* and it can be overridden by custom print functions.
|
||||
*/
|
||||
const writer: REPLWriter & { options: InspectOptions };
|
||||
|
||||
type REPLCommandAction = (this: REPLServer, text: string) => void;
|
||||
|
||||
interface REPLCommand {
|
||||
/**
|
||||
* Help text to be displayed when `.help` is entered.
|
||||
*/
|
||||
help?: string;
|
||||
/**
|
||||
* The function to execute, optionally accepting a single string argument.
|
||||
*/
|
||||
action: REPLCommandAction;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides a customizable Read-Eval-Print-Loop (REPL).
|
||||
*
|
||||
* Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those
|
||||
* according to a user-defined evaluation function, then output the result. Input and output
|
||||
* may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`.
|
||||
*
|
||||
* Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style
|
||||
* line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session
|
||||
* state, error recovery, and customizable evaluation functions.
|
||||
*
|
||||
* Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_
|
||||
* be created directly using the JavaScript `new` keyword.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl
|
||||
*/
|
||||
class REPLServer extends Interface {
|
||||
/**
|
||||
* The `vm.Context` provided to the `eval` function to be used for JavaScript
|
||||
* evaluation.
|
||||
*/
|
||||
readonly context: Context;
|
||||
/**
|
||||
* The `Readable` stream from which REPL input will be read.
|
||||
*/
|
||||
readonly inputStream: NodeJS.ReadableStream;
|
||||
/**
|
||||
* The `Writable` stream to which REPL output will be written.
|
||||
*/
|
||||
readonly outputStream: NodeJS.WritableStream;
|
||||
/**
|
||||
* The commands registered via `replServer.defineCommand()`.
|
||||
*/
|
||||
readonly commands: { readonly [name: string]: REPLCommand | undefined };
|
||||
/**
|
||||
* A value indicating whether the REPL is currently in "editor mode".
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys
|
||||
*/
|
||||
readonly editorMode: boolean;
|
||||
/**
|
||||
* A value indicating whether the `_` variable has been assigned.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||
*/
|
||||
readonly underscoreAssigned: boolean;
|
||||
/**
|
||||
* The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL).
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||
*/
|
||||
readonly last: any;
|
||||
/**
|
||||
* A value indicating whether the `_error` variable has been assigned.
|
||||
*
|
||||
* @since v9.8.0
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||
*/
|
||||
readonly underscoreErrAssigned: boolean;
|
||||
/**
|
||||
* The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL).
|
||||
*
|
||||
* @since v9.8.0
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
|
||||
*/
|
||||
readonly lastError: any;
|
||||
/**
|
||||
* Specified in the REPL options, this is the function to be used when evaluating each
|
||||
* given line of input. If not specified in the REPL options, this is an async wrapper
|
||||
* for the JavaScript `eval()` function.
|
||||
*/
|
||||
readonly eval: REPLEval;
|
||||
/**
|
||||
* Specified in the REPL options, this is a value indicating whether the default
|
||||
* `writer` function should include ANSI color styling to REPL output.
|
||||
*/
|
||||
readonly useColors: boolean;
|
||||
/**
|
||||
* Specified in the REPL options, this is a value indicating whether the default `eval`
|
||||
* function will use the JavaScript `global` as the context as opposed to creating a new
|
||||
* separate context for the REPL instance.
|
||||
*/
|
||||
readonly useGlobal: boolean;
|
||||
/**
|
||||
* Specified in the REPL options, this is a value indicating whether the default `writer`
|
||||
* function should output the result of a command if it evaluates to `undefined`.
|
||||
*/
|
||||
readonly ignoreUndefined: boolean;
|
||||
/**
|
||||
* Specified in the REPL options, this is the function to invoke to format the output of
|
||||
* each command before writing to `outputStream`. If not specified in the REPL options,
|
||||
* this will be a wrapper for `util.inspect`.
|
||||
*/
|
||||
readonly writer: REPLWriter;
|
||||
/**
|
||||
* Specified in the REPL options, this is the function to use for custom Tab auto-completion.
|
||||
*/
|
||||
readonly completer: Completer | AsyncCompleter;
|
||||
/**
|
||||
* Specified in the REPL options, this is a flag that specifies whether the default `eval`
|
||||
* function should execute all JavaScript commands in strict mode or default (sloppy) mode.
|
||||
* Possible values are:
|
||||
* - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode.
|
||||
* - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to
|
||||
* prefacing every repl statement with `'use strict'`.
|
||||
*/
|
||||
readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT;
|
||||
|
||||
/**
|
||||
* NOTE: According to the documentation:
|
||||
*
|
||||
* > Instances of `repl.REPLServer` are created using the `repl.start()` method and
|
||||
* > _should not_ be created directly using the JavaScript `new` keyword.
|
||||
*
|
||||
* `REPLServer` cannot be subclassed due to implementation specifics in NodeJS.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver
|
||||
*/
|
||||
private constructor();
|
||||
|
||||
/**
|
||||
* Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked
|
||||
* by typing a `.` followed by the `keyword`.
|
||||
*
|
||||
* @param keyword The command keyword (_without_ a leading `.` character).
|
||||
* @param cmd The function to invoke when the command is processed.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd
|
||||
*/
|
||||
defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void;
|
||||
/**
|
||||
* Readies the REPL instance for input from the user, printing the configured `prompt` to a
|
||||
* new line in the `output` and resuming the `input` to accept new input.
|
||||
*
|
||||
* When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'.
|
||||
*
|
||||
* This method is primarily intended to be called from within the action function for
|
||||
* commands registered using the `replServer.defineCommand()` method.
|
||||
*
|
||||
* @param preserveCursor When `true`, the cursor placement will not be reset to `0`.
|
||||
*/
|
||||
displayPrompt(preserveCursor?: boolean): void;
|
||||
/**
|
||||
* Clears any command that has been buffered but not yet executed.
|
||||
*
|
||||
* This method is primarily intended to be called from within the action function for
|
||||
* commands registered using the `replServer.defineCommand()` method.
|
||||
*
|
||||
* @since v9.0.0
|
||||
*/
|
||||
clearBufferedCommand(): void;
|
||||
|
||||
/**
|
||||
* Initializes a history log file for the REPL instance. When executing the
|
||||
* Node.js binary and using the command line REPL, a history file is initialized
|
||||
* by default. However, this is not the case when creating a REPL
|
||||
* programmatically. Use this method to initialize a history log file when working
|
||||
* with REPL instances programmatically.
|
||||
* @param path The path to the history file
|
||||
*/
|
||||
setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close - inherited from `readline.Interface`
|
||||
* 2. line - inherited from `readline.Interface`
|
||||
* 3. pause - inherited from `readline.Interface`
|
||||
* 4. resume - inherited from `readline.Interface`
|
||||
* 5. SIGCONT - inherited from `readline.Interface`
|
||||
* 6. SIGINT - inherited from `readline.Interface`
|
||||
* 7. SIGTSTP - inherited from `readline.Interface`
|
||||
* 8. exit
|
||||
* 9. reset
|
||||
*/
|
||||
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "line", listener: (input: string) => void): this;
|
||||
addListener(event: "pause", listener: () => void): this;
|
||||
addListener(event: "resume", listener: () => void): this;
|
||||
addListener(event: "SIGCONT", listener: () => void): this;
|
||||
addListener(event: "SIGINT", listener: () => void): this;
|
||||
addListener(event: "SIGTSTP", listener: () => void): this;
|
||||
addListener(event: "exit", listener: () => void): this;
|
||||
addListener(event: "reset", listener: (context: Context) => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "line", input: string): boolean;
|
||||
emit(event: "pause"): boolean;
|
||||
emit(event: "resume"): boolean;
|
||||
emit(event: "SIGCONT"): boolean;
|
||||
emit(event: "SIGINT"): boolean;
|
||||
emit(event: "SIGTSTP"): boolean;
|
||||
emit(event: "exit"): boolean;
|
||||
emit(event: "reset", context: Context): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "line", listener: (input: string) => void): this;
|
||||
on(event: "pause", listener: () => void): this;
|
||||
on(event: "resume", listener: () => void): this;
|
||||
on(event: "SIGCONT", listener: () => void): this;
|
||||
on(event: "SIGINT", listener: () => void): this;
|
||||
on(event: "SIGTSTP", listener: () => void): this;
|
||||
on(event: "exit", listener: () => void): this;
|
||||
on(event: "reset", listener: (context: Context) => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "line", listener: (input: string) => void): this;
|
||||
once(event: "pause", listener: () => void): this;
|
||||
once(event: "resume", listener: () => void): this;
|
||||
once(event: "SIGCONT", listener: () => void): this;
|
||||
once(event: "SIGINT", listener: () => void): this;
|
||||
once(event: "SIGTSTP", listener: () => void): this;
|
||||
once(event: "exit", listener: () => void): this;
|
||||
once(event: "reset", listener: (context: Context) => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "line", listener: (input: string) => void): this;
|
||||
prependListener(event: "pause", listener: () => void): this;
|
||||
prependListener(event: "resume", listener: () => void): this;
|
||||
prependListener(event: "SIGCONT", listener: () => void): this;
|
||||
prependListener(event: "SIGINT", listener: () => void): this;
|
||||
prependListener(event: "SIGTSTP", listener: () => void): this;
|
||||
prependListener(event: "exit", listener: () => void): this;
|
||||
prependListener(event: "reset", listener: (context: Context) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "line", listener: (input: string) => void): this;
|
||||
prependOnceListener(event: "pause", listener: () => void): this;
|
||||
prependOnceListener(event: "resume", listener: () => void): this;
|
||||
prependOnceListener(event: "SIGCONT", listener: () => void): this;
|
||||
prependOnceListener(event: "SIGINT", listener: () => void): this;
|
||||
prependOnceListener(event: "SIGTSTP", listener: () => void): this;
|
||||
prependOnceListener(event: "exit", listener: () => void): this;
|
||||
prependOnceListener(event: "reset", listener: (context: Context) => void): this;
|
||||
}
|
||||
|
||||
/**
|
||||
* A flag passed in the REPL options. Evaluates expressions in sloppy mode.
|
||||
*/
|
||||
export const REPL_MODE_SLOPPY: symbol; // TODO: unique symbol
|
||||
|
||||
/**
|
||||
* A flag passed in the REPL options. Evaluates expressions in strict mode.
|
||||
* This is equivalent to prefacing every repl statement with `'use strict'`.
|
||||
*/
|
||||
export const REPL_MODE_STRICT: symbol; // TODO: unique symbol
|
||||
|
||||
/**
|
||||
* Creates and starts a `repl.REPLServer` instance.
|
||||
*
|
||||
* @param options The options for the `REPLServer`. If `options` is a string, then it specifies
|
||||
* the input prompt.
|
||||
*/
|
||||
function start(options?: string | ReplOptions): REPLServer;
|
||||
|
||||
/**
|
||||
* Indicates a recoverable error that a `REPLServer` can use to support multi-line input.
|
||||
*
|
||||
* @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors
|
||||
*/
|
||||
class Recoverable extends SyntaxError {
|
||||
err: Error;
|
||||
|
||||
constructor(err: Error);
|
||||
}
|
||||
}
|
||||
300
types/node/v11/stream.d.ts
vendored
Normal file
300
types/node/v11/stream.d.ts
vendored
Normal file
@@ -0,0 +1,300 @@
|
||||
declare module "stream" {
|
||||
import * as events from "events";
|
||||
|
||||
class internal extends events.EventEmitter {
|
||||
pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
|
||||
}
|
||||
|
||||
namespace internal {
|
||||
class Stream extends internal { }
|
||||
|
||||
interface ReadableOptions {
|
||||
highWaterMark?: number;
|
||||
encoding?: string;
|
||||
objectMode?: boolean;
|
||||
read?(this: Readable, size: number): void;
|
||||
destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void;
|
||||
autoDestroy?: boolean;
|
||||
}
|
||||
|
||||
class Readable extends Stream implements NodeJS.ReadableStream {
|
||||
readable: boolean;
|
||||
readonly readableHighWaterMark: number;
|
||||
readonly readableLength: number;
|
||||
constructor(opts?: ReadableOptions);
|
||||
_read(size: number): void;
|
||||
read(size?: number): any;
|
||||
setEncoding(encoding: string): this;
|
||||
pause(): this;
|
||||
resume(): this;
|
||||
isPaused(): boolean;
|
||||
unpipe(destination?: NodeJS.WritableStream): this;
|
||||
unshift(chunk: any): void;
|
||||
wrap(oldStream: NodeJS.ReadableStream): this;
|
||||
push(chunk: any, encoding?: string): boolean;
|
||||
_destroy(error: Error | null, callback: (error?: Error | null) => void): void;
|
||||
destroy(error?: Error): void;
|
||||
|
||||
/**
|
||||
* Event emitter
|
||||
* The defined events on documents including:
|
||||
* 1. close
|
||||
* 2. data
|
||||
* 3. end
|
||||
* 4. readable
|
||||
* 5. error
|
||||
*/
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "data", listener: (chunk: any) => void): this;
|
||||
addListener(event: "end", listener: () => void): this;
|
||||
addListener(event: "readable", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "data", chunk: any): boolean;
|
||||
emit(event: "end"): boolean;
|
||||
emit(event: "readable"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "data", listener: (chunk: any) => void): this;
|
||||
on(event: "end", listener: () => void): this;
|
||||
on(event: "readable", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "data", listener: (chunk: any) => void): this;
|
||||
once(event: "end", listener: () => void): this;
|
||||
once(event: "readable", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "data", listener: (chunk: any) => void): this;
|
||||
prependListener(event: "end", listener: () => void): this;
|
||||
prependListener(event: "readable", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "data", listener: (chunk: any) => void): this;
|
||||
prependOnceListener(event: "end", listener: () => void): this;
|
||||
prependOnceListener(event: "readable", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
removeListener(event: "close", listener: () => void): this;
|
||||
removeListener(event: "data", listener: (chunk: any) => void): this;
|
||||
removeListener(event: "end", listener: () => void): this;
|
||||
removeListener(event: "readable", listener: () => void): this;
|
||||
removeListener(event: "error", listener: (err: Error) => void): this;
|
||||
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
[Symbol.asyncIterator](): AsyncIterableIterator<any>;
|
||||
}
|
||||
|
||||
interface WritableOptions {
|
||||
highWaterMark?: number;
|
||||
decodeStrings?: boolean;
|
||||
defaultEncoding?: string;
|
||||
objectMode?: boolean;
|
||||
emitClose?: boolean;
|
||||
write?(this: Writable, chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
|
||||
writev?(this: Writable, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
|
||||
destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void;
|
||||
final?(this: Writable, callback: (error?: Error | null) => void): void;
|
||||
autoDestroy?: boolean;
|
||||
}
|
||||
|
||||
class Writable extends Stream implements NodeJS.WritableStream {
|
||||
writable: boolean;
|
||||
readonly writableHighWaterMark: number;
|
||||
readonly writableLength: number;
|
||||
constructor(opts?: WritableOptions);
|
||||
_write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
|
||||
_writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
|
||||
_destroy(error: Error | null, callback: (error?: Error | null) => void): void;
|
||||
_final(callback: (error?: Error | null) => void): void;
|
||||
write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;
|
||||
write(chunk: any, encoding: string, cb?: (error: Error | null | undefined) => void): boolean;
|
||||
setDefaultEncoding(encoding: string): this;
|
||||
end(cb?: () => void): void;
|
||||
end(chunk: any, cb?: () => void): void;
|
||||
end(chunk: any, encoding: string, cb?: () => void): void;
|
||||
cork(): void;
|
||||
uncork(): void;
|
||||
destroy(error?: Error): void;
|
||||
|
||||
/**
|
||||
* Event emitter
|
||||
* The defined events on documents including:
|
||||
* 1. close
|
||||
* 2. drain
|
||||
* 3. error
|
||||
* 4. finish
|
||||
* 5. pipe
|
||||
* 6. unpipe
|
||||
*/
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "drain", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "finish", listener: () => void): this;
|
||||
addListener(event: "pipe", listener: (src: Readable) => void): this;
|
||||
addListener(event: "unpipe", listener: (src: Readable) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "drain"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "finish"): boolean;
|
||||
emit(event: "pipe", src: Readable): boolean;
|
||||
emit(event: "unpipe", src: Readable): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "drain", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "finish", listener: () => void): this;
|
||||
on(event: "pipe", listener: (src: Readable) => void): this;
|
||||
on(event: "unpipe", listener: (src: Readable) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "drain", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "finish", listener: () => void): this;
|
||||
once(event: "pipe", listener: (src: Readable) => void): this;
|
||||
once(event: "unpipe", listener: (src: Readable) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "drain", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "finish", listener: () => void): this;
|
||||
prependListener(event: "pipe", listener: (src: Readable) => void): this;
|
||||
prependListener(event: "unpipe", listener: (src: Readable) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "drain", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "finish", listener: () => void): this;
|
||||
prependOnceListener(event: "pipe", listener: (src: Readable) => void): this;
|
||||
prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
removeListener(event: "close", listener: () => void): this;
|
||||
removeListener(event: "drain", listener: () => void): this;
|
||||
removeListener(event: "error", listener: (err: Error) => void): this;
|
||||
removeListener(event: "finish", listener: () => void): this;
|
||||
removeListener(event: "pipe", listener: (src: Readable) => void): this;
|
||||
removeListener(event: "unpipe", listener: (src: Readable) => void): this;
|
||||
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
interface DuplexOptions extends ReadableOptions, WritableOptions {
|
||||
allowHalfOpen?: boolean;
|
||||
readableObjectMode?: boolean;
|
||||
writableObjectMode?: boolean;
|
||||
read?(this: Duplex, size: number): void;
|
||||
write?(this: Duplex, chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
|
||||
writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
|
||||
final?(this: Duplex, callback: (error?: Error | null) => void): void;
|
||||
destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void;
|
||||
}
|
||||
|
||||
// Note: Duplex extends both Readable and Writable.
|
||||
class Duplex extends Readable implements Writable {
|
||||
writable: boolean;
|
||||
readonly writableHighWaterMark: number;
|
||||
readonly writableLength: number;
|
||||
constructor(opts?: DuplexOptions);
|
||||
_write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
|
||||
_writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
|
||||
_destroy(error: Error | null, callback: (error: Error | null) => void): void;
|
||||
_final(callback: (error?: Error | null) => void): void;
|
||||
write(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean;
|
||||
write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;
|
||||
setDefaultEncoding(encoding: string): this;
|
||||
end(cb?: () => void): void;
|
||||
end(chunk: any, cb?: () => void): void;
|
||||
end(chunk: any, encoding?: string, cb?: () => void): void;
|
||||
cork(): void;
|
||||
uncork(): void;
|
||||
}
|
||||
|
||||
type TransformCallback = (error?: Error | null, data?: any) => void;
|
||||
|
||||
interface TransformOptions extends DuplexOptions {
|
||||
read?(this: Transform, size: number): void;
|
||||
write?(this: Transform, chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
|
||||
writev?(this: Transform, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
|
||||
final?(this: Transform, callback: (error?: Error | null) => void): void;
|
||||
destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void;
|
||||
transform?(this: Transform, chunk: any, encoding: string, callback: TransformCallback): void;
|
||||
flush?(this: Transform, callback: TransformCallback): void;
|
||||
}
|
||||
|
||||
class Transform extends Duplex {
|
||||
constructor(opts?: TransformOptions);
|
||||
_transform(chunk: any, encoding: string, callback: TransformCallback): void;
|
||||
_flush(callback: TransformCallback): void;
|
||||
}
|
||||
|
||||
class PassThrough extends Transform { }
|
||||
|
||||
function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void;
|
||||
namespace finished {
|
||||
function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream): Promise<void>;
|
||||
}
|
||||
|
||||
function pipeline<T extends NodeJS.WritableStream>(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T;
|
||||
function pipeline<T extends NodeJS.WritableStream>(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T;
|
||||
function pipeline<T extends NodeJS.WritableStream>(
|
||||
stream1: NodeJS.ReadableStream,
|
||||
stream2: NodeJS.ReadWriteStream,
|
||||
stream3: NodeJS.ReadWriteStream,
|
||||
stream4: T,
|
||||
callback?: (err: NodeJS.ErrnoException | null) => void,
|
||||
): T;
|
||||
function pipeline<T extends NodeJS.WritableStream>(
|
||||
stream1: NodeJS.ReadableStream,
|
||||
stream2: NodeJS.ReadWriteStream,
|
||||
stream3: NodeJS.ReadWriteStream,
|
||||
stream4: NodeJS.ReadWriteStream,
|
||||
stream5: T,
|
||||
callback?: (err: NodeJS.ErrnoException | null) => void,
|
||||
): T;
|
||||
function pipeline(streams: Array<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>, callback?: (err: NodeJS.ErrnoException | null) => void): NodeJS.WritableStream;
|
||||
function pipeline(
|
||||
stream1: NodeJS.ReadableStream,
|
||||
stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,
|
||||
...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream | ((err: NodeJS.ErrnoException | null) => void)>,
|
||||
): NodeJS.WritableStream;
|
||||
namespace pipeline {
|
||||
function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise<void>;
|
||||
function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise<void>;
|
||||
function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise<void>;
|
||||
function __promisify__(
|
||||
stream1: NodeJS.ReadableStream,
|
||||
stream2: NodeJS.ReadWriteStream,
|
||||
stream3: NodeJS.ReadWriteStream,
|
||||
stream4: NodeJS.ReadWriteStream,
|
||||
stream5: NodeJS.WritableStream,
|
||||
): Promise<void>;
|
||||
function __promisify__(streams: Array<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>): Promise<void>;
|
||||
function __promisify__(
|
||||
stream1: NodeJS.ReadableStream,
|
||||
stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,
|
||||
...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream>,
|
||||
): Promise<void>;
|
||||
}
|
||||
|
||||
interface Pipe { }
|
||||
}
|
||||
|
||||
export = internal;
|
||||
}
|
||||
9
types/node/v11/string_decoder.d.ts
vendored
Normal file
9
types/node/v11/string_decoder.d.ts
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
declare module "string_decoder" {
|
||||
interface NodeStringDecoder {
|
||||
write(buffer: Buffer): string;
|
||||
end(buffer?: Buffer): string;
|
||||
}
|
||||
const StringDecoder: {
|
||||
new(encoding?: string): NodeStringDecoder;
|
||||
};
|
||||
}
|
||||
43
types/node/v11/test/assert.ts
Normal file
43
types/node/v11/test/assert.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import * as assert from 'assert';
|
||||
|
||||
assert(1 + 1 - 2 === 0, "The universe isn't how it should.");
|
||||
|
||||
assert.deepEqual({ x: { y: 3 } }, { x: { y: 3 } }, "DEEP WENT DERP");
|
||||
|
||||
assert.deepStrictEqual({ a: 1 }, { a: 1 }, "uses === comparator");
|
||||
|
||||
assert.doesNotThrow(() => {
|
||||
const b = false;
|
||||
if (b) { throw new Error("a hammer at your face"); }
|
||||
}, () => 1, "What the...*crunch*");
|
||||
|
||||
assert.equal(3, "3", "uses == comparator");
|
||||
|
||||
assert.fail('stuff broke');
|
||||
|
||||
assert.fail('actual', 'expected', 'message');
|
||||
|
||||
assert.fail(1, 2, undefined, '>');
|
||||
|
||||
assert.ifError(0);
|
||||
|
||||
assert.notDeepStrictEqual({ x: { y: "3" } }, { x: { y: 3 } }, "uses !== comparator");
|
||||
|
||||
assert.notEqual(1, 2, "uses != comparator");
|
||||
|
||||
assert.notStrictEqual(2, "2", "uses === comparator");
|
||||
|
||||
assert.ok(true);
|
||||
assert.ok(1);
|
||||
|
||||
assert.strictEqual(1, 1, "uses === comparator");
|
||||
|
||||
assert.throws(() => { throw new Error("a hammer at your face"); }, Error, "DODGED IT");
|
||||
|
||||
assert.rejects(async () => 1);
|
||||
assert.rejects(Promise.resolve(1));
|
||||
|
||||
assert.doesNotReject(async () => 1);
|
||||
assert.doesNotReject(Promise.resolve(1));
|
||||
|
||||
assert.strict.strict.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);
|
||||
220
types/node/v11/test/buffer.ts
Normal file
220
types/node/v11/test/buffer.ts
Normal file
@@ -0,0 +1,220 @@
|
||||
// Specifically test buffer module regression.
|
||||
import { Buffer as ImportedBuffer, SlowBuffer as ImportedSlowBuffer, transcode, TranscodeEncoding } from "buffer";
|
||||
|
||||
const utf8Buffer = new Buffer('test');
|
||||
const base64Buffer = new Buffer('', 'base64');
|
||||
const octets: Uint8Array = new Uint8Array(123);
|
||||
const octetBuffer = new Buffer(octets);
|
||||
const sharedBuffer = new Buffer(octets.buffer);
|
||||
const 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'));
|
||||
const result1 = Buffer.concat([utf8Buffer, base64Buffer]);
|
||||
const result2 = Buffer.concat([utf8Buffer, base64Buffer], 9999999);
|
||||
|
||||
// Class Methods: Buffer.swap16(), Buffer.swa32(), Buffer.swap64()
|
||||
{
|
||||
const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
|
||||
buf.swap16();
|
||||
buf.swap32();
|
||||
buf.swap64();
|
||||
}
|
||||
|
||||
// Class Method: Buffer.from(data)
|
||||
{
|
||||
// Array
|
||||
const buf1: Buffer = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
|
||||
// Buffer
|
||||
const buf2: Buffer = Buffer.from(buf1);
|
||||
// String
|
||||
const buf3: Buffer = Buffer.from('this is a tést');
|
||||
// ArrayBuffer
|
||||
const arrUint16: Uint16Array = new Uint16Array(2);
|
||||
arrUint16[0] = 5000;
|
||||
arrUint16[1] = 4000;
|
||||
const buf4: Buffer = Buffer.from(arrUint16.buffer);
|
||||
const arrUint8: Uint8Array = new Uint8Array(2);
|
||||
const buf5: Buffer = Buffer.from(arrUint8);
|
||||
const buf6: Buffer = Buffer.from(buf1);
|
||||
const sb: SharedArrayBuffer = {} as any;
|
||||
const buf7: Buffer = Buffer.from(sb);
|
||||
}
|
||||
|
||||
// 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, 1);
|
||||
buf = Buffer.from(arr.buffer, 0, 1);
|
||||
}
|
||||
|
||||
// Class Method: Buffer.from(str[, encoding])
|
||||
{
|
||||
const buf2: Buffer = Buffer.from('7468697320697320612074c3a97374', 'hex');
|
||||
}
|
||||
|
||||
// Class Method: Buffer.alloc(size[, fill[, encoding]])
|
||||
{
|
||||
const buf1: Buffer = Buffer.alloc(5);
|
||||
const buf2: Buffer = Buffer.alloc(5, 'a');
|
||||
const buf3: Buffer = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
|
||||
}
|
||||
// Class Method: Buffer.allocUnsafe(size)
|
||||
{
|
||||
const buf: Buffer = Buffer.allocUnsafe(5);
|
||||
}
|
||||
// Class Method: Buffer.allocUnsafeSlow(size)
|
||||
{
|
||||
const buf: Buffer = Buffer.allocUnsafeSlow(10);
|
||||
}
|
||||
|
||||
// Class Method byteLenght
|
||||
{
|
||||
let len: number;
|
||||
len = Buffer.byteLength("foo");
|
||||
len = Buffer.byteLength("foo", "utf8");
|
||||
|
||||
const b = Buffer.from("bar");
|
||||
len = Buffer.byteLength(b);
|
||||
len = Buffer.byteLength(b, "utf16le");
|
||||
|
||||
const ab = new ArrayBuffer(15);
|
||||
len = Buffer.byteLength(ab);
|
||||
len = Buffer.byteLength(ab, "ascii");
|
||||
|
||||
const dv = new DataView(ab);
|
||||
len = Buffer.byteLength(dv);
|
||||
len = Buffer.byteLength(dv, "utf16le");
|
||||
}
|
||||
|
||||
// Class Method poolSize
|
||||
{
|
||||
let s: number;
|
||||
s = Buffer.poolSize;
|
||||
Buffer.poolSize = 4096;
|
||||
}
|
||||
|
||||
// Test that TS 1.6 works with the 'as Buffer' annotation
|
||||
// on isBuffer.
|
||||
let a: Buffer | number;
|
||||
a = new Buffer(10);
|
||||
if (Buffer.isBuffer(a)) {
|
||||
a.writeUInt8(3, 4);
|
||||
}
|
||||
|
||||
// write* methods return offsets.
|
||||
const b = new Buffer(16);
|
||||
let 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);
|
||||
result = b.write('asd');
|
||||
result = b.write('asd', 'hex');
|
||||
result = b.write('asd', 123, 'hex');
|
||||
result = b.write('asd', 123, 123, 'hex');
|
||||
|
||||
// fill returns the input buffer.
|
||||
b.fill('a').fill('b');
|
||||
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
let index: number;
|
||||
index = buffer.indexOf("23");
|
||||
index = buffer.indexOf("23", 1);
|
||||
index = buffer.indexOf("23", 1, "utf8");
|
||||
index = buffer.indexOf(23);
|
||||
index = buffer.indexOf(buffer);
|
||||
}
|
||||
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
let index: number;
|
||||
index = buffer.lastIndexOf("23");
|
||||
index = buffer.lastIndexOf("23", 1);
|
||||
index = buffer.lastIndexOf("23", 1, "utf8");
|
||||
index = buffer.lastIndexOf(23);
|
||||
index = buffer.lastIndexOf(buffer);
|
||||
}
|
||||
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
const val: [number, number] = [1, 1];
|
||||
|
||||
/* comment out for --target es5
|
||||
for (let entry of buffer.entries()) {
|
||||
val = entry;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
let includes: boolean;
|
||||
includes = buffer.includes("23");
|
||||
includes = buffer.includes("23", 1);
|
||||
includes = buffer.includes("23", 1, "utf8");
|
||||
includes = buffer.includes(23);
|
||||
includes = buffer.includes(23, 1);
|
||||
includes = buffer.includes(23, 1, "utf8");
|
||||
includes = buffer.includes(buffer);
|
||||
includes = buffer.includes(buffer, 1);
|
||||
includes = buffer.includes(buffer, 1, "utf8");
|
||||
}
|
||||
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
const val = 1;
|
||||
|
||||
/* comment out for --target es5
|
||||
for (let key of buffer.keys()) {
|
||||
val = key;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
const val = 1;
|
||||
|
||||
/* comment out for --target es5
|
||||
for (let value of buffer.values()) {
|
||||
val = value;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// Imported Buffer from buffer module works properly
|
||||
{
|
||||
const b = new ImportedBuffer('123');
|
||||
b.writeUInt8(0, 6);
|
||||
const sb = new ImportedSlowBuffer(43);
|
||||
b.writeUInt8(0, 6);
|
||||
}
|
||||
|
||||
// Buffer has Uint8Array's buffer field (an ArrayBuffer).
|
||||
{
|
||||
const buffer = new Buffer('123');
|
||||
const octets = new Uint8Array(buffer.buffer);
|
||||
}
|
||||
|
||||
// Inherited from Uint8Array but return buffer
|
||||
{
|
||||
const b = Buffer.from('asd');
|
||||
let res: Buffer = b.reverse();
|
||||
res = b.subarray(1);
|
||||
}
|
||||
|
||||
// Buffer module, transcode function
|
||||
{
|
||||
transcode(Buffer.from('€'), 'utf8', 'ascii'); // $ExpectType Buffer
|
||||
|
||||
const source: TranscodeEncoding = 'utf8';
|
||||
const target: TranscodeEncoding = 'ascii';
|
||||
transcode(Buffer.from('€'), source, target); // $ExpectType Buffer
|
||||
}
|
||||
354
types/node/v11/test/child_process.ts
Normal file
354
types/node/v11/test/child_process.ts
Normal file
@@ -0,0 +1,354 @@
|
||||
import * as childProcess from 'child_process';
|
||||
import * as net from 'net';
|
||||
import * as fs from 'fs';
|
||||
import * as assert from 'assert';
|
||||
import { promisify } from 'util';
|
||||
import { Writable, Readable, Pipe } from 'stream';
|
||||
|
||||
{
|
||||
childProcess.exec("echo test");
|
||||
childProcess.exec("echo test", { windowsHide: true });
|
||||
childProcess.spawn("echo");
|
||||
childProcess.spawn("echo", { windowsHide: true });
|
||||
childProcess.spawn("echo", ["test"], { windowsHide: true });
|
||||
childProcess.spawn("echo", ["test"], { windowsHide: true, argv0: "echo-test" });
|
||||
childProcess.spawn("echo", ["test"], { stdio: [0xdeadbeef, "inherit", undefined, "pipe"] });
|
||||
childProcess.spawnSync("echo test");
|
||||
childProcess.spawnSync("echo test", {windowsVerbatimArguments: false});
|
||||
childProcess.spawnSync("echo test", {windowsVerbatimArguments: false, argv0: "echo-test"});
|
||||
childProcess.spawnSync("echo test", {input: new Uint8Array([])});
|
||||
childProcess.spawnSync("echo test", {input: new DataView(new ArrayBuffer(1))});
|
||||
}
|
||||
|
||||
{
|
||||
childProcess.execFile("npm", () => {});
|
||||
childProcess.execFile("npm", { windowsHide: true }, () => {});
|
||||
childProcess.execFile("npm", ["-v"], () => {});
|
||||
childProcess.execFile("npm", ["-v"], { windowsHide: true, encoding: 'utf-8' }, (stdout, stderr) => { assert(stdout instanceof String); });
|
||||
childProcess.execFile("npm", ["-v"], { windowsHide: true, encoding: 'buffer' }, (stdout, stderr) => { assert(stdout instanceof Buffer); });
|
||||
childProcess.execFile("npm", { encoding: 'utf-8' }, (stdout, stderr) => { assert(stdout instanceof String); });
|
||||
childProcess.execFile("npm", { encoding: 'buffer' }, (stdout, stderr) => { assert(stdout instanceof Buffer); });
|
||||
}
|
||||
|
||||
{
|
||||
childProcess.execFileSync("echo test", {input: new Uint8Array([])});
|
||||
childProcess.execFileSync("echo test", {input: new DataView(new ArrayBuffer(1))});
|
||||
}
|
||||
|
||||
{
|
||||
const forked = childProcess.fork('./', ['asd'], {
|
||||
windowsVerbatimArguments: true,
|
||||
silent: false,
|
||||
stdio: "inherit",
|
||||
execPath: '',
|
||||
execArgv: ['asda']
|
||||
});
|
||||
const ipc: Pipe = forked.channel!;
|
||||
}
|
||||
|
||||
async function testPromisify() {
|
||||
const execFile = promisify(childProcess.execFile);
|
||||
let r: { stdout: string | Buffer, stderr: string | Buffer } = await execFile("npm");
|
||||
r = await execFile("npm", ["-v"]);
|
||||
r = await execFile("npm", ["-v"], { encoding: 'utf-8' });
|
||||
r = await execFile("npm", ["-v"], { encoding: 'buffer' });
|
||||
r = await execFile("npm", { encoding: 'utf-8' });
|
||||
r = await execFile("npm", { encoding: 'buffer' });
|
||||
}
|
||||
|
||||
{
|
||||
let cp = childProcess.spawn('asd', { stdio: 'inherit' });
|
||||
const _socket: net.Socket = net.createConnection(1);
|
||||
const _server: net.Server = net.createServer();
|
||||
let _boolean: boolean;
|
||||
|
||||
_boolean = cp.send(1);
|
||||
_boolean = cp.send('one');
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send('one', (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, _socket);
|
||||
_boolean = cp.send('one', _socket);
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _socket);
|
||||
|
||||
_boolean = cp.send(1, _socket, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send('one', _socket, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _socket, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, _socket, {
|
||||
keepOpen: true
|
||||
});
|
||||
_boolean = cp.send('one', _socket, {
|
||||
keepOpen: true
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _socket, {
|
||||
keepOpen: true
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, _socket, {
|
||||
keepOpen: true
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send('one', _socket, {
|
||||
keepOpen: true
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _socket, {
|
||||
keepOpen: true
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, _server);
|
||||
_boolean = cp.send('one', _server);
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _server);
|
||||
|
||||
_boolean = cp.send(1, _server, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send('one', _server, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _server, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, _server, {
|
||||
keepOpen: true
|
||||
});
|
||||
_boolean = cp.send('one', _server, {
|
||||
keepOpen: true
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _server, {
|
||||
keepOpen: true
|
||||
});
|
||||
|
||||
_boolean = cp.send(1, _server, {
|
||||
keepOpen: true
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send('one', _server, {
|
||||
keepOpen: true
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
_boolean = cp.send({
|
||||
type: 'test'
|
||||
}, _server, {
|
||||
keepOpen: true
|
||||
}, (error) => {
|
||||
const _err: Error | null = error;
|
||||
});
|
||||
|
||||
const stdin: Writable | null = cp.stdio[0];
|
||||
const stdout: Readable | null = cp.stdio[1];
|
||||
const stderr: Readable | null = cp.stdio[2];
|
||||
const fd4: Readable | Writable | null = cp.stdio[3]!;
|
||||
const fd5: Readable | Writable | null = cp.stdio[4]!;
|
||||
|
||||
cp = cp.addListener("close", (code, signal) => {
|
||||
const _code: number = code;
|
||||
const _signal: string = signal;
|
||||
});
|
||||
cp = cp.addListener("disconnect", () => { });
|
||||
cp = cp.addListener("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
cp = cp.addListener("exit", (code, signal) => {
|
||||
const _code: number | null = code;
|
||||
const _signal: string | null = signal;
|
||||
});
|
||||
cp = cp.addListener("message", (message, sendHandle) => {
|
||||
const _message: any = message;
|
||||
const _sendHandle: net.Socket | net.Server = sendHandle;
|
||||
});
|
||||
|
||||
_boolean = cp.emit("close", () => { });
|
||||
_boolean = cp.emit("disconnect", () => { });
|
||||
_boolean = cp.emit("error", () => { });
|
||||
_boolean = cp.emit("exit", () => { });
|
||||
_boolean = cp.emit("message", () => { });
|
||||
|
||||
cp = cp.on("close", (code, signal) => {
|
||||
const _code: number = code;
|
||||
const _signal: string = signal;
|
||||
});
|
||||
cp = cp.on("disconnect", () => { });
|
||||
cp = cp.on("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
cp = cp.on("exit", (code, signal) => {
|
||||
const _code: number | null = code;
|
||||
const _signal: string | null = signal;
|
||||
});
|
||||
cp = cp.on("message", (message, sendHandle) => {
|
||||
const _message: any = message;
|
||||
const _sendHandle: net.Socket | net.Server = sendHandle;
|
||||
});
|
||||
|
||||
cp = cp.once("close", (code, signal) => {
|
||||
const _code: number = code;
|
||||
const _signal: string = signal;
|
||||
});
|
||||
cp = cp.once("disconnect", () => { });
|
||||
cp = cp.once("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
cp = cp.once("exit", (code, signal) => {
|
||||
const _code: number | null = code;
|
||||
const _signal: string | null = signal;
|
||||
});
|
||||
cp = cp.once("message", (message, sendHandle) => {
|
||||
const _message: any = message;
|
||||
const _sendHandle: net.Socket | net.Server = sendHandle;
|
||||
});
|
||||
|
||||
cp = cp.prependListener("close", (code, signal) => {
|
||||
const _code: number = code;
|
||||
const _signal: string = signal;
|
||||
});
|
||||
cp = cp.prependListener("disconnect", () => { });
|
||||
cp = cp.prependListener("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
cp = cp.prependListener("exit", (code, signal) => {
|
||||
const _code: number | null = code;
|
||||
const _signal: string | null = signal;
|
||||
});
|
||||
cp = cp.prependListener("message", (message, sendHandle) => {
|
||||
const _message: any = message;
|
||||
const _sendHandle: net.Socket | net.Server = sendHandle;
|
||||
});
|
||||
|
||||
cp = cp.prependOnceListener("close", (code, signal) => {
|
||||
const _code: number = code;
|
||||
const _signal: string = signal;
|
||||
});
|
||||
cp = cp.prependOnceListener("disconnect", () => { });
|
||||
cp = cp.prependOnceListener("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
cp = cp.prependOnceListener("exit", (code, signal) => {
|
||||
const _code: number | null = code;
|
||||
const _signal: string | null = signal;
|
||||
});
|
||||
cp = cp.prependOnceListener("message", (message, sendHandle) => {
|
||||
const _message: any = message;
|
||||
const _sendHandle: net.Socket | net.Server = sendHandle;
|
||||
});
|
||||
|
||||
function expectNonNull(cp: {
|
||||
readonly stdin: Writable;
|
||||
readonly stdout: Readable;
|
||||
readonly stderr: Readable;
|
||||
readonly stdio: [
|
||||
Writable,
|
||||
Readable,
|
||||
Readable,
|
||||
any,
|
||||
any
|
||||
];
|
||||
}): void {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
expectNonNull(childProcess.spawn('command'));
|
||||
expectNonNull(childProcess.spawn('command', {}));
|
||||
expectNonNull(childProcess.spawn('command', { stdio: undefined }));
|
||||
expectNonNull(childProcess.spawn('command', { stdio: 'pipe' }));
|
||||
expectNonNull(childProcess.spawn('command', { stdio: [undefined, undefined, undefined] }));
|
||||
expectNonNull(childProcess.spawn('command', { stdio: [null, null, null] }));
|
||||
expectNonNull(childProcess.spawn('command', { stdio: ['pipe', 'pipe', 'pipe'] }));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c']));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c'], {}));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: undefined }));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: 'pipe' }));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: [undefined, undefined, undefined] }));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: [null, null, null] }));
|
||||
expectNonNull(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: ['pipe', 'pipe', 'pipe'] }));
|
||||
|
||||
function expectChildProcess(cp: childProcess.ChildProcess): void {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
expectChildProcess(childProcess.spawn('command'));
|
||||
expectChildProcess(childProcess.spawn('command', {}));
|
||||
expectChildProcess(childProcess.spawn('command', { stdio: undefined }));
|
||||
expectChildProcess(childProcess.spawn('command', { stdio: 'pipe' }));
|
||||
expectChildProcess(childProcess.spawn('command', { stdio: [undefined, undefined, undefined] }));
|
||||
expectChildProcess(childProcess.spawn('command', { stdio: [null, null, null] }));
|
||||
expectChildProcess(childProcess.spawn('command', { stdio: ['pipe', 'pipe', 'pipe'] }));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c']));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c'], {}));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: undefined }));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: 'pipe' }));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: [undefined, undefined, undefined] }));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: [null, null, null] }));
|
||||
expectChildProcess(childProcess.spawn('command', ['a', 'b', 'c'], { stdio: ['pipe', 'pipe', 'pipe'] }));
|
||||
}
|
||||
{
|
||||
process.stdin.setEncoding('utf8');
|
||||
|
||||
process.stdin.on('readable', () => {
|
||||
const chunk = process.stdin.read();
|
||||
if (chunk !== null) {
|
||||
process.stdout.write(`data: ${chunk}`);
|
||||
}
|
||||
});
|
||||
|
||||
process.stdin.on('end', () => {
|
||||
process.stdout.write('end');
|
||||
});
|
||||
|
||||
process.stdin.pipe(process.stdout);
|
||||
|
||||
console.log(process.stdin.isTTY);
|
||||
console.log(process.stdout.isTTY);
|
||||
|
||||
console.log(process.stdin instanceof net.Socket);
|
||||
console.log(process.stdout instanceof fs.ReadStream);
|
||||
|
||||
const stdin: Readable = process.stdin;
|
||||
console.log(stdin instanceof net.Socket);
|
||||
console.log(stdin instanceof fs.ReadStream);
|
||||
|
||||
const stdout: Writable = process.stdout;
|
||||
console.log(stdout instanceof net.Socket);
|
||||
console.log(stdout instanceof fs.WriteStream);
|
||||
}
|
||||
11
types/node/v11/test/cluster.ts
Normal file
11
types/node/v11/test/cluster.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import * as cluster from 'cluster';
|
||||
|
||||
cluster.fork();
|
||||
Object.keys(cluster.workers).forEach(key => {
|
||||
const worker = cluster.workers[key];
|
||||
if (worker && worker.isDead()) {
|
||||
console.log('worker %d is dead', worker.process.pid);
|
||||
}
|
||||
});
|
||||
|
||||
cluster.on('setup', (settings: cluster.ClusterSettings) => {});
|
||||
596
types/node/v11/test/crypto.ts
Normal file
596
types/node/v11/test/crypto.ts
Normal file
@@ -0,0 +1,596 @@
|
||||
import * as crypto from 'crypto';
|
||||
import * as assert from 'assert';
|
||||
import { promisify } from 'util';
|
||||
|
||||
{
|
||||
// crypto_hash_string_test
|
||||
const hashResult: string = crypto.createHash('md5').update('world').digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hash_buffer_test
|
||||
const hashResult: string = crypto.createHash('md5')
|
||||
.update(new Buffer('world')).digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hash_dataview_test
|
||||
const hashResult: string = crypto.createHash('md5')
|
||||
.update(new DataView(new Buffer('world').buffer)).digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hash_int8array_test
|
||||
const hashResult: string = crypto.createHash('md5')
|
||||
.update(new Int8Array(new Buffer('world').buffer)).digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hmac_string_test
|
||||
const hmacResult: string = crypto.createHmac('md5', 'hello').update('world').digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hmac_buffer_test
|
||||
const hmacResult: string = crypto.createHmac('md5', 'hello')
|
||||
.update(new Buffer('world')).digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hmac_dataview_test
|
||||
const hmacResult: string = crypto.createHmac('md5', 'hello')
|
||||
.update(new DataView(new Buffer('world').buffer)).digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_hmac_int8array_test
|
||||
const hmacResult: string = crypto.createHmac('md5', 'hello')
|
||||
.update(new Int8Array(new Buffer('world').buffer)).digest('hex');
|
||||
}
|
||||
|
||||
{
|
||||
let hmac: crypto.Hmac;
|
||||
(hmac = crypto.createHmac('md5', 'hello')).end('world', 'utf8', () => {
|
||||
const hash: Buffer | string = hmac.read();
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_cipher_decipher_string_test
|
||||
const key: Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7]);
|
||||
const clearText = "This is the clear text.";
|
||||
const cipher: crypto.Cipher = crypto.createCipher("aes-128-ecb", key);
|
||||
let cipherText: string = cipher.update(clearText, "utf8", "hex");
|
||||
cipherText += cipher.final("hex");
|
||||
|
||||
const decipher: crypto.Decipher = crypto.createDecipher("aes-128-ecb", key);
|
||||
let clearText2: string = decipher.update(cipherText, "hex", "utf8");
|
||||
clearText2 += decipher.final("utf8");
|
||||
|
||||
assert.equal(clearText2, clearText);
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_cipher_decipher_buffer_test
|
||||
const key: Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7]);
|
||||
const clearText: Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4]);
|
||||
const cipher: crypto.Cipher = crypto.createCipher("aes-128-ecb", key);
|
||||
const cipherBuffers: Buffer[] = [];
|
||||
cipherBuffers.push(cipher.update(clearText));
|
||||
cipherBuffers.push(cipher.final());
|
||||
|
||||
const cipherText: Buffer = Buffer.concat(cipherBuffers);
|
||||
|
||||
const decipher: crypto.Decipher = crypto.createDecipher("aes-128-ecb", key);
|
||||
const decipherBuffers: Buffer[] = [];
|
||||
decipherBuffers.push(decipher.update(cipherText));
|
||||
decipherBuffers.push(decipher.final());
|
||||
|
||||
const clearText2: Buffer = Buffer.concat(decipherBuffers);
|
||||
|
||||
assert.deepEqual(clearText2, clearText);
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_cipher_decipher_dataview_test
|
||||
const key: Buffer = new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7]);
|
||||
const clearText: DataView = new DataView(new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4]).buffer);
|
||||
const cipher: crypto.Cipher = crypto.createCipher("aes-128-ecb", key);
|
||||
const cipherBuffers: Buffer[] = [];
|
||||
cipherBuffers.push(cipher.update(clearText));
|
||||
cipherBuffers.push(cipher.final());
|
||||
|
||||
const cipherText: DataView = new DataView(Buffer.concat(cipherBuffers).buffer);
|
||||
|
||||
const decipher: crypto.Decipher = crypto.createDecipher("aes-128-ecb", key);
|
||||
const decipherBuffers: Buffer[] = [];
|
||||
decipherBuffers.push(decipher.update(cipherText));
|
||||
decipherBuffers.push(decipher.final());
|
||||
|
||||
const clearText2: Buffer = Buffer.concat(decipherBuffers);
|
||||
|
||||
assert.deepEqual(clearText2, clearText);
|
||||
}
|
||||
|
||||
{
|
||||
const key: string | null = 'keykeykeykeykeykeykeykey';
|
||||
const nonce = crypto.randomBytes(12);
|
||||
const aad = Buffer.from('0123456789', 'hex');
|
||||
|
||||
const cipher = crypto.createCipheriv('aes-192-ccm', key, nonce, {
|
||||
authTagLength: 16
|
||||
});
|
||||
const plaintext = 'Hello world';
|
||||
cipher.setAAD(aad, {
|
||||
plaintextLength: Buffer.byteLength(plaintext)
|
||||
});
|
||||
const ciphertext = cipher.update(plaintext, 'utf8');
|
||||
cipher.final();
|
||||
const tag = cipher.getAuthTag();
|
||||
|
||||
const decipher = crypto.createDecipheriv('aes-192-ccm', key, nonce, {
|
||||
authTagLength: 16
|
||||
});
|
||||
decipher.setAuthTag(tag);
|
||||
decipher.setAAD(aad, {
|
||||
plaintextLength: ciphertext.length
|
||||
});
|
||||
const receivedPlaintext: string = decipher.update(ciphertext, undefined, 'utf8');
|
||||
decipher.final();
|
||||
}
|
||||
|
||||
{
|
||||
const key = 'keykeykeykeykeykeykeykey';
|
||||
const nonce = crypto.randomBytes(12);
|
||||
const aad = Buffer.from('0123456789', 'hex');
|
||||
|
||||
const cipher = crypto.createCipheriv('aes-192-gcm', key, nonce);
|
||||
const plaintext = 'Hello world';
|
||||
cipher.setAAD(aad, {
|
||||
plaintextLength: Buffer.byteLength(plaintext)
|
||||
});
|
||||
const ciphertext = cipher.update(plaintext, 'utf8');
|
||||
cipher.final();
|
||||
const tag = cipher.getAuthTag();
|
||||
|
||||
const decipher = crypto.createDecipheriv('aes-192-gcm', key, nonce);
|
||||
decipher.setAuthTag(tag);
|
||||
decipher.setAAD(aad, {
|
||||
plaintextLength: ciphertext.length
|
||||
});
|
||||
const receivedPlaintext: string = decipher.update(ciphertext, undefined, 'utf8');
|
||||
decipher.final();
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_buffer_test
|
||||
const buffer1: Buffer = new Buffer([1, 2, 3, 4, 5]);
|
||||
const buffer2: Buffer = new Buffer([1, 2, 3, 4, 5]);
|
||||
const buffer3: Buffer = new Buffer([5, 4, 3, 2, 1]);
|
||||
|
||||
assert(crypto.timingSafeEqual(buffer1, buffer2));
|
||||
assert(!crypto.timingSafeEqual(buffer1, buffer3));
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_uint32array_test
|
||||
const arr1: Uint32Array = Uint32Array.of(1, 2, 3, 4, 5);
|
||||
const arr2: Uint32Array = Uint32Array.of(1, 2, 3, 4, 5);
|
||||
const arr3: Uint32Array = Uint32Array.of(5, 4, 3, 2, 1);
|
||||
|
||||
assert(crypto.timingSafeEqual(arr1, arr2));
|
||||
assert(!crypto.timingSafeEqual(arr1, arr3));
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_safe_typedarray_variant_test
|
||||
const arr1: Uint32Array = Uint32Array.of(1, 2, 3, 4, 5);
|
||||
const arr2: Int32Array = Int32Array.of(1, 2, 3, 4, 5);
|
||||
const arr3: Uint32Array = Uint32Array.of(5, 4, 3, 2, 1);
|
||||
|
||||
assert(crypto.timingSafeEqual(arr1, arr2));
|
||||
assert(!crypto.timingSafeEqual(arr1, arr3));
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_safe_int8array_variant_test
|
||||
const arr1: Int8Array = Int8Array.of(1, 2, 3, 4, 5, ~0, ~1, ~2, ~3, ~4);
|
||||
const arr2: Uint8Array = Uint8Array.of(1, 2, 3, 4, 5, ~0, ~1, ~2, ~3, ~4);
|
||||
const arr3: Uint8ClampedArray = Uint8ClampedArray.of(1, 2, 3, 4, 5, ~0, ~1, ~2, ~3, ~4);
|
||||
|
||||
assert(crypto.timingSafeEqual(arr1, arr2)); // binary same
|
||||
assert(!crypto.timingSafeEqual(arr1, arr3)); // binary differ
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_safe_arraybufferiew_variant_test
|
||||
/* throws as of v10.4.1 */
|
||||
// let arr1: Uint8Array = Uint8Array.of(1, 0, 2, 0, 3, 0, 4, 0);
|
||||
// let arr2: Uint16Array = Uint16Array.of(1, 2, 3, 4);
|
||||
// let arr3: Uint32Array = Uint8ClampedArray.of(131073, 262147);
|
||||
|
||||
// assert(crypto.timingSafeEqual(arr1, arr2)); // binary same
|
||||
// assert(crypto.timingSafeEqual(arr1, arr3)); // binary same
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_unsafe_arraybufferiew_variant_test
|
||||
/* dumps core as of v10.4.1 */
|
||||
// let arr1: Uint8Array = Uint8Array.of(1, 2, 3, 4);
|
||||
// let arr2: Uint16Array = Uint16Array.of(1, 2, 3, 4);
|
||||
// let arr3: Uint32Array = Uint8ClampedArray.of(1, 2, 3, 4);
|
||||
|
||||
// assert(!crypto.timingSafeEqual(arr1, arr2)); // dumps core
|
||||
// assert(!crypto.timingSafeEqual(arr1, arr3)); // dumps core
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_dataview_test
|
||||
const dv1B: Uint8Array = Uint8Array.of(1, 2, 3, 4, 5);
|
||||
const dv2B: Int8Array = Int8Array.of(1, 2, 3, 4, 5);
|
||||
const dv3B: Buffer = Buffer.of(5, 4, 3, 2, 1);
|
||||
const dv4B: Uint8ClampedArray = Uint8ClampedArray.of(5, 4, 3, 2, 1);
|
||||
const dv1: DataView = new DataView(dv1B.buffer, dv1B.byteOffset, dv1B.byteLength);
|
||||
const dv2: DataView = new DataView(dv2B.buffer, dv2B.byteOffset, dv2B.byteLength);
|
||||
const dv3: DataView = new DataView(dv3B.buffer, dv3B.byteOffset, dv3B.byteLength);
|
||||
const dv4: DataView = new DataView(dv4B.buffer, dv4B.byteOffset, dv4B.byteLength);
|
||||
|
||||
assert(crypto.timingSafeEqual(dv1, dv2));
|
||||
assert(crypto.timingSafeEqual(dv1, dv1B));
|
||||
assert(crypto.timingSafeEqual(dv2, dv1B));
|
||||
assert(crypto.timingSafeEqual(dv3, dv4));
|
||||
|
||||
assert(!crypto.timingSafeEqual(dv1, dv3));
|
||||
assert(!crypto.timingSafeEqual(dv2, dv3));
|
||||
assert(!crypto.timingSafeEqual(dv1, dv4));
|
||||
// ... I'm not going to write all those tests.
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_timingsafeequal_uint32array_test
|
||||
const ui32_1: Uint32Array = Uint32Array.of(1, 2, 3, 4, 5);
|
||||
const ui32_2: Uint32Array = Uint32Array.of(1, 2, 3, 4, 5);
|
||||
const ui32_3: Uint32Array = Uint32Array.of(5, 4, 3, 2, 1);
|
||||
|
||||
assert(crypto.timingSafeEqual(ui32_1, ui32_2));
|
||||
assert(!crypto.timingSafeEqual(ui32_1, ui32_3));
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_randomfill_buffer_test
|
||||
const buffer: Buffer = new Buffer(10);
|
||||
crypto.randomFillSync(buffer);
|
||||
crypto.randomFillSync(buffer, 2);
|
||||
crypto.randomFillSync(buffer, 2, 3);
|
||||
|
||||
crypto.randomFill(buffer, (err: Error | null, buf: Buffer) => void {});
|
||||
crypto.randomFill(buffer, 2, (err: Error | null, buf: Buffer) => void {});
|
||||
crypto.randomFill(buffer, 2, 3, (err: Error | null, buf: Buffer) => void {});
|
||||
|
||||
// crypto_randomfill_uint8array_test
|
||||
const ui8arr: Uint8Array = new Uint8Array(10);
|
||||
crypto.randomFillSync(ui8arr);
|
||||
crypto.randomFillSync(ui8arr, 2);
|
||||
crypto.randomFillSync(ui8arr, 2, 3);
|
||||
|
||||
crypto.randomFill(ui8arr, (err: Error | null, buf: Uint8Array) => void {});
|
||||
crypto.randomFill(ui8arr, 2, (err: Error | null, buf: Uint8Array) => void {});
|
||||
crypto.randomFill(ui8arr, 2, 3, (err: Error | null, buf: Uint8Array) => void {});
|
||||
|
||||
// crypto_randomfill_int32array_test
|
||||
const i32arr: Int32Array = new Int32Array(10);
|
||||
crypto.randomFillSync(i32arr);
|
||||
crypto.randomFillSync(i32arr, 2);
|
||||
crypto.randomFillSync(i32arr, 2, 3);
|
||||
|
||||
crypto.randomFill(i32arr, (err: Error | null, buf: Int32Array) => void {});
|
||||
crypto.randomFill(i32arr, 2, (err: Error | null, buf: Int32Array) => void {});
|
||||
crypto.randomFill(i32arr, 2, 3, (err: Error | null, buf: Int32Array) => void {});
|
||||
}
|
||||
|
||||
{
|
||||
// scrypt
|
||||
const pwd: string | Buffer | Int32Array | DataView = Buffer.alloc(16);
|
||||
const salt: string | Buffer | Int32Array | DataView = Buffer.alloc(16);
|
||||
crypto.scrypt(pwd, salt, 64, (err: Error | null, derivedKey: Buffer): void => {});
|
||||
const opts: crypto.ScryptOptions = {
|
||||
N: 16384,
|
||||
r: 8,
|
||||
p: 1,
|
||||
maxmem: 32 * 1024 * 1024
|
||||
};
|
||||
crypto.scrypt(pwd, salt, 64, opts, (err: Error | null, derivedKey: Buffer): void => {});
|
||||
crypto.scrypt(pwd, salt, 64, { maxmem: 16 * 1024 * 1024 }, (err: Error | null, derivedKey: Buffer): void => {});
|
||||
let buf: Buffer = crypto.scryptSync(pwd, salt, 64);
|
||||
buf = crypto.scryptSync(pwd, salt, 64, opts);
|
||||
buf = crypto.scryptSync(pwd, salt, 64, { N: 1024 });
|
||||
}
|
||||
|
||||
{
|
||||
let key: string | Buffer = Buffer.from("buf");
|
||||
const curve = "secp256k1";
|
||||
let ret: string | Buffer = crypto.ECDH.convertKey(key, curve);
|
||||
key = "0xfff";
|
||||
ret = crypto.ECDH.convertKey(key, curve);
|
||||
ret = crypto.ECDH.convertKey(key, curve, "hex");
|
||||
ret = crypto.ECDH.convertKey(key, curve, "hex", "hex");
|
||||
ret = crypto.ECDH.convertKey(key, curve, "hex", "hex", "uncompressed");
|
||||
ret = crypto.ECDH.convertKey(key, curve, "hex", "hex", "compressed");
|
||||
ret = crypto.ECDH.convertKey(key, curve, "hex", "hex", "hybrid");
|
||||
}
|
||||
|
||||
{
|
||||
const rsaRes: {
|
||||
publicKey: Buffer;
|
||||
privateKey: string;
|
||||
} = crypto.generateKeyPairSync('rsa', {
|
||||
modulusLength: 123,
|
||||
publicKeyEncoding: {
|
||||
format: 'der',
|
||||
type: 'pkcs1',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'pem',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
});
|
||||
|
||||
const dsaRes: {
|
||||
publicKey: string;
|
||||
privateKey: Buffer;
|
||||
} = crypto.generateKeyPairSync('dsa', {
|
||||
modulusLength: 123,
|
||||
divisorLength: 123,
|
||||
publicKeyEncoding: {
|
||||
format: 'pem',
|
||||
type: 'spki',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'der',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
});
|
||||
|
||||
const ecRes: {
|
||||
publicKey: string;
|
||||
privateKey: string;
|
||||
} = crypto.generateKeyPairSync('ec', {
|
||||
namedCurve: 'curve',
|
||||
publicKeyEncoding: {
|
||||
format: 'pem',
|
||||
type: 'pkcs1',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'pem',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
crypto.generateKeyPair('rsa', {
|
||||
modulusLength: 123,
|
||||
publicKeyEncoding: {
|
||||
format: 'der',
|
||||
type: 'pkcs1',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'pem',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
}, (err: NodeJS.ErrnoException | null, publicKey: Buffer, privateKey: string) => {});
|
||||
|
||||
crypto.generateKeyPair('dsa', {
|
||||
modulusLength: 123,
|
||||
divisorLength: 123,
|
||||
publicKeyEncoding: {
|
||||
format: 'pem',
|
||||
type: 'spki',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'der',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
}, (err: NodeJS.ErrnoException | null, publicKey: string, privateKey: Buffer) => {});
|
||||
|
||||
crypto.generateKeyPair('ec', {
|
||||
namedCurve: 'curve',
|
||||
publicKeyEncoding: {
|
||||
format: 'pem',
|
||||
type: 'pkcs1',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'pem',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
}, (err: NodeJS.ErrnoException | null, publicKey: string, privateKey: string) => {});
|
||||
}
|
||||
|
||||
{
|
||||
const generateKeyPairPromisified = promisify(crypto.generateKeyPair);
|
||||
|
||||
const rsaRes: Promise<{
|
||||
publicKey: Buffer;
|
||||
privateKey: string;
|
||||
}> = generateKeyPairPromisified('rsa', {
|
||||
modulusLength: 123,
|
||||
publicKeyEncoding: {
|
||||
format: 'der',
|
||||
type: 'pkcs1',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'pem',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
});
|
||||
|
||||
const dsaRes: Promise<{
|
||||
publicKey: string;
|
||||
privateKey: Buffer;
|
||||
}> = generateKeyPairPromisified('dsa', {
|
||||
modulusLength: 123,
|
||||
divisorLength: 123,
|
||||
publicKeyEncoding: {
|
||||
format: 'pem',
|
||||
type: 'spki',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'der',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
});
|
||||
|
||||
const ecRes: Promise<{
|
||||
publicKey: string;
|
||||
privateKey: string;
|
||||
}> = generateKeyPairPromisified('ec', {
|
||||
namedCurve: 'curve',
|
||||
publicKeyEncoding: {
|
||||
format: 'pem',
|
||||
type: 'pkcs1',
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
cipher: 'some-cipher',
|
||||
format: 'pem',
|
||||
passphrase: 'secret',
|
||||
type: 'pkcs8',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
crypto.createPrivateKey(Buffer.from('asdf'));
|
||||
crypto.createPrivateKey({
|
||||
key: 'asd',
|
||||
format: 'der',
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
crypto.createSecretKey(Buffer.from('asdf'));
|
||||
}
|
||||
|
||||
{
|
||||
const { privateKey, publicKey } = crypto.generateKeyPairSync('ec', {
|
||||
namedCurve: 'sect239k1'
|
||||
});
|
||||
|
||||
const sign: crypto.Signer = crypto.createSign('SHA256');
|
||||
sign.write('some data to sign');
|
||||
sign.end();
|
||||
const signature: string = sign.sign(privateKey, 'hex');
|
||||
|
||||
const verify: crypto.Verify = crypto.createVerify('SHA256');
|
||||
verify.write('some data to sign');
|
||||
verify.end();
|
||||
verify.verify(publicKey, signature); // $ExpectType boolean
|
||||
|
||||
// ensure that instanceof works
|
||||
verify instanceof crypto.Verify;
|
||||
sign instanceof crypto.Signer;
|
||||
}
|
||||
|
||||
{
|
||||
const { privateKey, publicKey } = crypto.generateKeyPairSync('rsa', {
|
||||
modulusLength: 2048,
|
||||
});
|
||||
|
||||
const sign: crypto.Signer = crypto.createSign('SHA256');
|
||||
sign.update('some data to sign');
|
||||
sign.end();
|
||||
const signature: Buffer = sign.sign(privateKey);
|
||||
|
||||
const verify: crypto.Verify = crypto.createVerify('SHA256');
|
||||
verify.update('some data to sign');
|
||||
verify.end();
|
||||
verify.verify(publicKey, signature); // $ExpectType boolean
|
||||
}
|
||||
|
||||
{
|
||||
// crypto_constants_test
|
||||
let num: number;
|
||||
let str: string;
|
||||
|
||||
num = crypto.constants.OPENSSL_VERSION_NUMBER;
|
||||
num = crypto.constants.SSL_OP_ALL;
|
||||
num = crypto.constants.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION;
|
||||
num = crypto.constants.SSL_OP_CIPHER_SERVER_PREFERENCE;
|
||||
num = crypto.constants.SSL_OP_CISCO_ANYCONNECT;
|
||||
num = crypto.constants.SSL_OP_COOKIE_EXCHANGE;
|
||||
num = crypto.constants.SSL_OP_CRYPTOPRO_TLSEXT_BUG;
|
||||
num = crypto.constants.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS;
|
||||
num = crypto.constants.SSL_OP_EPHEMERAL_RSA;
|
||||
num = crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT;
|
||||
num = crypto.constants.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER;
|
||||
num = crypto.constants.SSL_OP_MICROSOFT_SESS_ID_BUG;
|
||||
num = crypto.constants.SSL_OP_MSIE_SSLV2_RSA_PADDING;
|
||||
num = crypto.constants.SSL_OP_NETSCAPE_CA_DN_BUG;
|
||||
num = crypto.constants.SSL_OP_NETSCAPE_CHALLENGE_BUG;
|
||||
num = crypto.constants.SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG;
|
||||
num = crypto.constants.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG;
|
||||
num = crypto.constants.SSL_OP_NO_COMPRESSION;
|
||||
num = crypto.constants.SSL_OP_NO_QUERY_MTU;
|
||||
num = crypto.constants.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION;
|
||||
num = crypto.constants.SSL_OP_NO_SSLv2;
|
||||
num = crypto.constants.SSL_OP_NO_SSLv3;
|
||||
num = crypto.constants.SSL_OP_NO_TICKET;
|
||||
num = crypto.constants.SSL_OP_NO_TLSv1;
|
||||
num = crypto.constants.SSL_OP_NO_TLSv1_1;
|
||||
num = crypto.constants.SSL_OP_NO_TLSv1_2;
|
||||
num = crypto.constants.SSL_OP_PKCS1_CHECK_1;
|
||||
num = crypto.constants.SSL_OP_PKCS1_CHECK_2;
|
||||
num = crypto.constants.SSL_OP_SINGLE_DH_USE;
|
||||
num = crypto.constants.SSL_OP_SINGLE_ECDH_USE;
|
||||
num = crypto.constants.SSL_OP_SSLEAY_080_CLIENT_DH_BUG;
|
||||
num = crypto.constants.SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG;
|
||||
num = crypto.constants.SSL_OP_TLS_BLOCK_PADDING_BUG;
|
||||
num = crypto.constants.SSL_OP_TLS_D5_BUG;
|
||||
num = crypto.constants.SSL_OP_TLS_ROLLBACK_BUG;
|
||||
num = crypto.constants.ENGINE_METHOD_RSA;
|
||||
num = crypto.constants.ENGINE_METHOD_DSA;
|
||||
num = crypto.constants.ENGINE_METHOD_DH;
|
||||
num = crypto.constants.ENGINE_METHOD_RAND;
|
||||
num = crypto.constants.ENGINE_METHOD_EC;
|
||||
num = crypto.constants.ENGINE_METHOD_CIPHERS;
|
||||
num = crypto.constants.ENGINE_METHOD_DIGESTS;
|
||||
num = crypto.constants.ENGINE_METHOD_PKEY_METHS;
|
||||
num = crypto.constants.ENGINE_METHOD_PKEY_ASN1_METHS;
|
||||
num = crypto.constants.ENGINE_METHOD_ALL;
|
||||
num = crypto.constants.ENGINE_METHOD_NONE;
|
||||
num = crypto.constants.DH_CHECK_P_NOT_SAFE_PRIME;
|
||||
num = crypto.constants.DH_CHECK_P_NOT_PRIME;
|
||||
num = crypto.constants.DH_UNABLE_TO_CHECK_GENERATOR;
|
||||
num = crypto.constants.DH_NOT_SUITABLE_GENERATOR;
|
||||
num = crypto.constants.ALPN_ENABLED;
|
||||
num = crypto.constants.RSA_PKCS1_PADDING;
|
||||
num = crypto.constants.RSA_SSLV23_PADDING;
|
||||
num = crypto.constants.RSA_NO_PADDING;
|
||||
num = crypto.constants.RSA_PKCS1_OAEP_PADDING;
|
||||
num = crypto.constants.RSA_X931_PADDING;
|
||||
num = crypto.constants.RSA_PKCS1_PSS_PADDING;
|
||||
num = crypto.constants.RSA_PSS_SALTLEN_DIGEST;
|
||||
num = crypto.constants.RSA_PSS_SALTLEN_MAX_SIGN;
|
||||
num = crypto.constants.RSA_PSS_SALTLEN_AUTO;
|
||||
num = crypto.constants.POINT_CONVERSION_COMPRESSED;
|
||||
num = crypto.constants.POINT_CONVERSION_UNCOMPRESSED;
|
||||
num = crypto.constants.POINT_CONVERSION_HYBRID;
|
||||
|
||||
str = crypto.constants.defaultCoreCipherList;
|
||||
str = crypto.constants.defaultCipherList;
|
||||
}
|
||||
108
types/node/v11/test/dgram.ts
Normal file
108
types/node/v11/test/dgram.ts
Normal file
@@ -0,0 +1,108 @@
|
||||
import * as dgram from 'dgram';
|
||||
import * as net from 'net';
|
||||
import * as dns from 'dns';
|
||||
|
||||
{
|
||||
let ds: dgram.Socket = dgram.createSocket("udp4", (msg: Buffer, rinfo: dgram.RemoteInfo): void => {
|
||||
});
|
||||
ds.bind();
|
||||
ds.bind(41234);
|
||||
ds.bind(4123, 'localhost');
|
||||
ds.bind(4123, 'localhost', () => { });
|
||||
ds.bind(4123, () => { });
|
||||
ds.bind(() => { });
|
||||
const addr: net.AddressInfo | string = ds.address();
|
||||
ds.send(new Buffer("hello"), 0, 5, 5000, "127.0.0.1", (error: Error | null, bytes: number): void => {
|
||||
});
|
||||
ds.send(new Buffer("hello"), 5000, "127.0.0.1");
|
||||
ds.setMulticastInterface("127.0.0.1");
|
||||
ds = dgram.createSocket({ type: "udp4", reuseAddr: true, recvBufferSize: 1000, sendBufferSize: 1000, lookup: dns.lookup });
|
||||
}
|
||||
|
||||
{
|
||||
let _socket = new dgram.Socket();
|
||||
let _boolean: boolean;
|
||||
const _err: Error = new Error();
|
||||
const _str = '';
|
||||
const _rinfo: net.AddressInfo = {
|
||||
address: 'asd',
|
||||
family: 'asd',
|
||||
port: 1,
|
||||
};
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. error
|
||||
* 3. listening
|
||||
* 4. message
|
||||
*/
|
||||
|
||||
_socket = _socket.addListener("close", () => { });
|
||||
_socket = _socket.addListener("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
_socket = _socket.addListener("listening", () => { });
|
||||
_socket = _socket.addListener("message", (msg, rinfo) => {
|
||||
const _msg: Buffer = msg;
|
||||
const _rinfo: net.AddressInfo = rinfo;
|
||||
});
|
||||
|
||||
_boolean = _socket.emit("close");
|
||||
_boolean = _socket.emit("error", _err);
|
||||
_boolean = _socket.emit("listening");
|
||||
_boolean = _socket.emit("message", _str, _rinfo);
|
||||
|
||||
_socket = _socket.on("close", () => { });
|
||||
_socket = _socket.on("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
_socket = _socket.on("listening", () => { });
|
||||
_socket = _socket.on("message", (msg, rinfo) => {
|
||||
const _msg: Buffer = msg;
|
||||
const _rinfo: net.AddressInfo = rinfo;
|
||||
});
|
||||
|
||||
_socket = _socket.once("close", () => { });
|
||||
_socket = _socket.once("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
_socket = _socket.once("listening", () => { });
|
||||
_socket = _socket.once("message", (msg, rinfo) => {
|
||||
const _msg: Buffer = msg;
|
||||
const _rinfo: net.AddressInfo = rinfo;
|
||||
});
|
||||
|
||||
_socket = _socket.prependListener("close", () => { });
|
||||
_socket = _socket.prependListener("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
_socket = _socket.prependListener("listening", () => { });
|
||||
_socket = _socket.prependListener("message", (msg, rinfo) => {
|
||||
const _msg: Buffer = msg;
|
||||
const _rinfo: net.AddressInfo = rinfo;
|
||||
});
|
||||
|
||||
_socket = _socket.prependOnceListener("close", () => { });
|
||||
_socket = _socket.prependOnceListener("error", (err) => {
|
||||
const _err: Error = err;
|
||||
});
|
||||
_socket = _socket.prependOnceListener("listening", () => { });
|
||||
_socket = _socket.prependOnceListener("message", (msg, rinfo) => {
|
||||
const _msg: Buffer = msg;
|
||||
const _rinfo: net.AddressInfo = rinfo;
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
const ds: dgram.Socket = dgram.createSocket({
|
||||
type: 'udp4',
|
||||
recvBufferSize: 10000,
|
||||
sendBufferSize: 15000
|
||||
});
|
||||
|
||||
let size: number;
|
||||
size = ds.getRecvBufferSize();
|
||||
ds.setRecvBufferSize(size);
|
||||
size = ds.getSendBufferSize();
|
||||
ds.setSendBufferSize(size);
|
||||
}
|
||||
68
types/node/v11/test/events.ts
Normal file
68
types/node/v11/test/events.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
import * as events from 'events';
|
||||
|
||||
const emitter: events.EventEmitter = new events.EventEmitter();
|
||||
const event: string | symbol = '';
|
||||
const listener: (...args: any[]) => void = () => {};
|
||||
const any: any = 1;
|
||||
|
||||
{
|
||||
let result: events.EventEmitter;
|
||||
|
||||
result = emitter.addListener(event, listener);
|
||||
result = emitter.on(event, listener);
|
||||
result = emitter.once(event, listener);
|
||||
result = emitter.prependListener(event, listener);
|
||||
result = emitter.prependOnceListener(event, listener);
|
||||
result = emitter.removeListener(event, listener);
|
||||
result = emitter.off(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
|
||||
|
||||
const promise: Promise<any> = events.once(new events.EventEmitter(), 'error');
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
{
|
||||
let result: Array<string | symbol>;
|
||||
|
||||
result = emitter.eventNames();
|
||||
}
|
||||
|
||||
{
|
||||
class Networker extends events.EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.emit("mingling");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
new events();
|
||||
}
|
||||
17
types/node/v11/test/global.ts
Normal file
17
types/node/v11/test/global.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
const x: NodeModule = {} as any;
|
||||
const y: NodeModule = {} as any;
|
||||
x.children.push(y);
|
||||
x.parent = require.main!;
|
||||
require.main = y;
|
||||
}
|
||||
|
||||
{
|
||||
// const a = new TextEncoder();
|
||||
}
|
||||
|
||||
{
|
||||
queueMicrotask(() => {
|
||||
// cool
|
||||
});
|
||||
}
|
||||
200
types/node/v11/test/http.ts
Normal file
200
types/node/v11/test/http.ts
Normal file
@@ -0,0 +1,200 @@
|
||||
import * as http from 'http';
|
||||
import * as url from 'url';
|
||||
import * as net from 'net';
|
||||
|
||||
// http Server
|
||||
{
|
||||
function reqListener(req: http.IncomingMessage, res: http.ServerResponse): void {}
|
||||
|
||||
let server: http.Server = new http.Server();
|
||||
|
||||
class MyIncomingMessage extends http.IncomingMessage {
|
||||
foo: number;
|
||||
}
|
||||
|
||||
class MyServerResponse extends http.ServerResponse {
|
||||
foo: string;
|
||||
}
|
||||
|
||||
server = new http.Server({ IncomingMessage: MyIncomingMessage});
|
||||
|
||||
server = new http.Server({
|
||||
IncomingMessage: MyIncomingMessage,
|
||||
ServerResponse: MyServerResponse
|
||||
}, reqListener);
|
||||
|
||||
server = http.createServer(reqListener);
|
||||
server = http.createServer({ IncomingMessage: MyIncomingMessage });
|
||||
server = http.createServer({ ServerResponse: MyServerResponse }, reqListener);
|
||||
|
||||
// test public props
|
||||
const maxHeadersCount: number | null = server.maxHeadersCount;
|
||||
const headersTimeout: number = server.headersTimeout;
|
||||
const timeout: number = server.timeout;
|
||||
const listening: boolean = server.listening;
|
||||
const keepAliveTimeout: number = server.keepAliveTimeout;
|
||||
server.setTimeout().setTimeout(1000).setTimeout(() => {}).setTimeout(100, () => {});
|
||||
}
|
||||
|
||||
// http IncomingMessage
|
||||
// http ServerResponse
|
||||
{
|
||||
// incoming
|
||||
const incoming: http.IncomingMessage = new http.IncomingMessage(new net.Socket());
|
||||
|
||||
incoming.setEncoding('utf8');
|
||||
|
||||
// stream
|
||||
incoming.pause();
|
||||
incoming.resume();
|
||||
|
||||
// response
|
||||
const res: http.ServerResponse = new http.ServerResponse(incoming);
|
||||
|
||||
// test headers
|
||||
res.setHeader('Content-Type', 'text/plain');
|
||||
const bool: boolean = res.hasHeader('Content-Type');
|
||||
const headers: string[] = res.getHeaderNames();
|
||||
|
||||
// trailers
|
||||
res.addTrailers([
|
||||
['x-fOo', 'xOxOxOx'],
|
||||
['x-foO', 'OxOxOxO'],
|
||||
['X-fOo', 'xOxOxOx'],
|
||||
['X-foO', 'OxOxOxO']
|
||||
]);
|
||||
res.addTrailers({ 'x-foo': 'bar' });
|
||||
|
||||
// writeHead
|
||||
res.writeHead(200, 'OK\r\nContent-Type: text/html\r\n').end();
|
||||
res.writeHead(200, { 'Transfer-Encoding': 'chunked' });
|
||||
res.writeHead(200);
|
||||
|
||||
// write string
|
||||
res.write('Part of my res.');
|
||||
// write buffer
|
||||
const chunk = Buffer.alloc(16390, 'Й');
|
||||
res.write(chunk);
|
||||
res.write(chunk, 'hex');
|
||||
|
||||
// end
|
||||
res.end("end msg");
|
||||
// without msg
|
||||
res.end();
|
||||
|
||||
// flush
|
||||
res.flushHeaders();
|
||||
}
|
||||
|
||||
// http ClientRequest
|
||||
{
|
||||
let req: http.ClientRequest = new http.ClientRequest("https://www.google.com");
|
||||
req = new http.ClientRequest(new url.URL("https://www.google.com"));
|
||||
req = new http.ClientRequest({ path: 'http://0.0.0.0' });
|
||||
req = new http.ClientRequest({ setHost: false });
|
||||
|
||||
// header
|
||||
req.setHeader('Content-Type', 'text/plain');
|
||||
const bool: boolean = req.hasHeader('Content-Type');
|
||||
const headers: string[] = req.getHeaderNames();
|
||||
req.removeHeader('Date');
|
||||
|
||||
// write
|
||||
const chunk = Buffer.alloc(16390, 'Й');
|
||||
req.write(chunk);
|
||||
req.write('a');
|
||||
req.end();
|
||||
|
||||
// abort
|
||||
req.abort();
|
||||
|
||||
// connection
|
||||
req.connection.on('pause', () => { });
|
||||
|
||||
// event
|
||||
req.on('data', () => { });
|
||||
|
||||
// path
|
||||
const path: string = req.path;
|
||||
}
|
||||
|
||||
{
|
||||
// Status codes
|
||||
let codeMessage: string = http.STATUS_CODES['400']!;
|
||||
codeMessage = http.STATUS_CODES[400]!;
|
||||
}
|
||||
|
||||
{
|
||||
let agent: http.Agent = new http.Agent({
|
||||
keepAlive: true,
|
||||
keepAliveMsecs: 10000,
|
||||
maxSockets: Infinity,
|
||||
maxFreeSockets: 256,
|
||||
timeout: 15000
|
||||
});
|
||||
|
||||
agent = http.globalAgent;
|
||||
|
||||
http.request({ agent: false });
|
||||
http.request({ agent });
|
||||
http.request({ agent: undefined });
|
||||
}
|
||||
|
||||
{
|
||||
http.get('http://www.example.com/xyz');
|
||||
http.request('http://www.example.com/xyz');
|
||||
|
||||
http.get('http://www.example.com/xyz', (res: http.IncomingMessage): void => {});
|
||||
http.request('http://www.example.com/xyz', (res: http.IncomingMessage): void => {});
|
||||
|
||||
http.get(new url.URL('http://www.example.com/xyz'));
|
||||
http.request(new url.URL('http://www.example.com/xyz'));
|
||||
|
||||
http.get(new url.URL('http://www.example.com/xyz'), (res: http.IncomingMessage): void => {});
|
||||
http.request(new url.URL('http://www.example.com/xyz'), (res: http.IncomingMessage): void => {});
|
||||
|
||||
const opts: http.RequestOptions = {
|
||||
path: '"/some/path'
|
||||
};
|
||||
http.get(new url.URL('http://www.example.com'), opts);
|
||||
http.request(new url.URL('http://www.example.com'), opts);
|
||||
http.get(new url.URL('http://www.example.com/xyz'), opts, (res: http.IncomingMessage): void => {});
|
||||
http.request(new url.URL('http://www.example.com/xyz'), opts, (res: http.IncomingMessage): void => {});
|
||||
}
|
||||
|
||||
{
|
||||
// Make sure .listen() and .close() return a Server instance
|
||||
http.createServer().listen(0).close().address();
|
||||
net.createServer().listen(0).close().address();
|
||||
}
|
||||
|
||||
{
|
||||
const request = http.request({ path: 'http://0.0.0.0' });
|
||||
request.once('error', () => { });
|
||||
request.setNoDelay(true);
|
||||
request.abort();
|
||||
}
|
||||
|
||||
// http request options
|
||||
{
|
||||
const requestOpts: http.RequestOptions = {
|
||||
timeout: 30000
|
||||
};
|
||||
|
||||
const clientArgs: http.ClientRequestArgs = {
|
||||
timeout: 30000
|
||||
};
|
||||
}
|
||||
|
||||
// http headers
|
||||
{
|
||||
const headers: http.IncomingHttpHeaders = {
|
||||
'content-type': 'application/json',
|
||||
'set-cookie': [ 'type=ninja', 'language=javascript' ]
|
||||
};
|
||||
}
|
||||
|
||||
// statics
|
||||
{
|
||||
const maxHeaderSize = http.maxHeaderSize;
|
||||
}
|
||||
599
types/node/v11/test/http2.ts
Normal file
599
types/node/v11/test/http2.ts
Normal file
@@ -0,0 +1,599 @@
|
||||
import {
|
||||
Settings,
|
||||
Http2Session,
|
||||
Http2Stream,
|
||||
ClientSessionRequestOptions,
|
||||
ClientHttp2Session,
|
||||
SessionState,
|
||||
StreamState,
|
||||
ClientHttp2Stream,
|
||||
IncomingHttpStatusHeader,
|
||||
ServerHttp2Stream,
|
||||
ServerStreamResponseOptions,
|
||||
ServerStreamFileResponseOptions,
|
||||
StatOptions,
|
||||
ServerStreamFileResponseOptionsWithError,
|
||||
Http2Server,
|
||||
Http2SecureServer,
|
||||
createSecureServer,
|
||||
Http2ServerRequest,
|
||||
Http2ServerResponse,
|
||||
SecureServerOptions,
|
||||
ClientSessionOptions,
|
||||
SecureClientSessionOptions,
|
||||
ServerHttp2Session,
|
||||
connect,
|
||||
getDefaultSettings,
|
||||
getPackedSettings,
|
||||
getUnpackedSettings,
|
||||
OutgoingHttpHeaders,
|
||||
IncomingHttpHeaders,
|
||||
createServer,
|
||||
constants,
|
||||
ServerOptions
|
||||
} from "http2";
|
||||
import { EventEmitter } from "events";
|
||||
import { Stats } from "fs";
|
||||
import { Socket, Server } from "net";
|
||||
import { TLSSocket } from "tls";
|
||||
import { Duplex, Readable } from "stream";
|
||||
import { URL } from 'url';
|
||||
|
||||
// Headers & Settings
|
||||
{
|
||||
const headers: OutgoingHttpHeaders = {
|
||||
':status': 200,
|
||||
'content-type': 'text-plain',
|
||||
ABC: ['has', 'more', 'than', 'one', 'value'],
|
||||
undef: undefined
|
||||
};
|
||||
|
||||
const settings: Settings = {
|
||||
headerTableSize: 0,
|
||||
enablePush: true,
|
||||
initialWindowSize: 0,
|
||||
maxFrameSize: 0,
|
||||
maxConcurrentStreams: 0,
|
||||
maxHeaderListSize: 0
|
||||
};
|
||||
}
|
||||
|
||||
// Http2Session
|
||||
{
|
||||
const http2Session: Http2Session = {} as any;
|
||||
const ee: EventEmitter = http2Session;
|
||||
|
||||
http2Session.on('close', () => {});
|
||||
http2Session.on('connect', (session: Http2Session, socket: Socket) => {});
|
||||
http2Session.on('error', (err: Error) => {});
|
||||
http2Session.on('frameError', (frameType: number, errorCode: number, streamID: number) => {});
|
||||
http2Session.on('goaway', (errorCode: number, lastStreamID: number, opaqueData: Buffer) => {});
|
||||
http2Session.on('localSettings', (settings: Settings) => {});
|
||||
http2Session.on('remoteSettings', (settings: Settings) => {});
|
||||
http2Session.on('stream', (stream: Http2Stream, headers: IncomingHttpHeaders, flags: number) => {});
|
||||
http2Session.on('timeout', () => {});
|
||||
http2Session.on('ping', () => {});
|
||||
|
||||
http2Session.destroy();
|
||||
|
||||
const alpnProtocol: string | undefined = http2Session.alpnProtocol;
|
||||
const destroyed: boolean | undefined = http2Session.destroyed;
|
||||
const encrypted: boolean | undefined = http2Session.encrypted;
|
||||
const originSet: string[] | undefined = http2Session.originSet;
|
||||
const pendingSettingsAck: boolean = http2Session.pendingSettingsAck;
|
||||
let settings: Settings = http2Session.localSettings;
|
||||
const closed: boolean = http2Session.closed;
|
||||
const connecting: boolean = http2Session.connecting;
|
||||
settings = http2Session.remoteSettings;
|
||||
|
||||
http2Session.ref();
|
||||
http2Session.unref();
|
||||
|
||||
const headers: OutgoingHttpHeaders = {};
|
||||
const options: ClientSessionRequestOptions = {
|
||||
endStream: true,
|
||||
exclusive: true,
|
||||
parent: 0,
|
||||
weight: 0,
|
||||
waitForTrailers: true
|
||||
};
|
||||
(http2Session as ClientHttp2Session).request();
|
||||
(http2Session as ClientHttp2Session).request(headers);
|
||||
(http2Session as ClientHttp2Session).request(headers, options);
|
||||
|
||||
const stream: Http2Stream = {} as any;
|
||||
http2Session.setTimeout(100, () => {});
|
||||
http2Session.close(() => {});
|
||||
|
||||
const socket: Socket | TLSSocket = http2Session.socket;
|
||||
let state: SessionState = http2Session.state;
|
||||
state = {
|
||||
effectiveLocalWindowSize: 0,
|
||||
effectiveRecvDataLength: 0,
|
||||
nextStreamID: 0,
|
||||
localWindowSize: 0,
|
||||
lastProcStreamID: 0,
|
||||
remoteWindowSize: 0,
|
||||
outboundQueueSize: 0,
|
||||
deflateDynamicTableSize: 0,
|
||||
inflateDynamicTableSize: 0
|
||||
};
|
||||
|
||||
http2Session.settings(settings);
|
||||
|
||||
http2Session.ping((err: Error | null, duration: number, payload: Buffer) => {});
|
||||
http2Session.ping(Buffer.from(''), (err: Error | null, duration: number, payload: Buffer) => {});
|
||||
http2Session.ping(new DataView(new Int8Array(1).buffer), (err: Error | null, duration: number, payload: Buffer) => {});
|
||||
}
|
||||
|
||||
// Http2Stream
|
||||
{
|
||||
const http2Stream: Http2Stream = {} as any;
|
||||
const duplex: Duplex = http2Stream;
|
||||
|
||||
http2Stream.on('aborted', () => {});
|
||||
http2Stream.on('error', (err: Error) => {});
|
||||
http2Stream.on('frameError', (frameType: number, errorCode: number, streamID: number) => {});
|
||||
http2Stream.on('streamClosed', (code: number) => {});
|
||||
http2Stream.on('timeout', () => {});
|
||||
http2Stream.on('trailers', (trailers: IncomingHttpHeaders, flags: number) => {});
|
||||
http2Stream.on('wantTrailers', () => {});
|
||||
|
||||
const aborted: boolean = http2Stream.aborted;
|
||||
const bufferSize: number = http2Stream.bufferSize;
|
||||
const closed: boolean = http2Stream.closed;
|
||||
const destroyed: boolean = http2Stream.destroyed;
|
||||
const pending: boolean = http2Stream.pending;
|
||||
|
||||
http2Stream.priority({
|
||||
exclusive: true,
|
||||
parent: 0,
|
||||
weight: 0,
|
||||
silent: true
|
||||
});
|
||||
|
||||
const sesh: Http2Session = http2Stream.session;
|
||||
|
||||
http2Stream.setTimeout(100, () => {});
|
||||
const trailers: OutgoingHttpHeaders = {};
|
||||
http2Stream.sendTrailers(trailers);
|
||||
|
||||
let state: StreamState = http2Stream.state;
|
||||
state = {
|
||||
localWindowSize: 0,
|
||||
state: 0,
|
||||
localClose: 0,
|
||||
remoteClose: 0,
|
||||
sumDependencyWeight: 0,
|
||||
weight: 0
|
||||
};
|
||||
|
||||
http2Stream.close();
|
||||
http2Stream.close(0);
|
||||
http2Stream.close(0, () => {});
|
||||
http2Stream.close(undefined, () => {});
|
||||
|
||||
// ClientHttp2Stream
|
||||
const clientHttp2Stream: ClientHttp2Stream = {} as any;
|
||||
clientHttp2Stream.on('headers', (headers: IncomingHttpHeaders, flags: number) => {});
|
||||
clientHttp2Stream.on('push', (headers: IncomingHttpHeaders, flags: number) => {});
|
||||
clientHttp2Stream.on('response', (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => {
|
||||
const s: number = headers[':status']!;
|
||||
});
|
||||
|
||||
// ServerHttp2Stream
|
||||
const serverHttp2Stream: ServerHttp2Stream = {} as any;
|
||||
const headers: OutgoingHttpHeaders = {};
|
||||
|
||||
serverHttp2Stream.additionalHeaders(headers);
|
||||
const headerSent: boolean = serverHttp2Stream.headersSent;
|
||||
const pushAllowed: boolean = serverHttp2Stream.pushAllowed;
|
||||
serverHttp2Stream.pushStream(headers, (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => {});
|
||||
|
||||
const options: ServerStreamResponseOptions = {
|
||||
endStream: true,
|
||||
waitForTrailers: true,
|
||||
};
|
||||
serverHttp2Stream.respond();
|
||||
serverHttp2Stream.respond(headers);
|
||||
serverHttp2Stream.respond(headers, options);
|
||||
|
||||
const options2: ServerStreamFileResponseOptions = {
|
||||
statCheck: (stats: Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => {},
|
||||
waitForTrailers: true,
|
||||
offset: 0,
|
||||
length: 0
|
||||
};
|
||||
serverHttp2Stream.respondWithFD(0);
|
||||
serverHttp2Stream.respondWithFD(0, headers);
|
||||
serverHttp2Stream.respondWithFD(0, headers, options2);
|
||||
serverHttp2Stream.respondWithFD(0, headers, {statCheck: () => false});
|
||||
const options3: ServerStreamFileResponseOptionsWithError = {
|
||||
onError: (err: NodeJS.ErrnoException) => {},
|
||||
statCheck: (stats: Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => {},
|
||||
waitForTrailers: true,
|
||||
offset: 0,
|
||||
length: 0
|
||||
};
|
||||
serverHttp2Stream.respondWithFile('');
|
||||
serverHttp2Stream.respondWithFile('', headers);
|
||||
serverHttp2Stream.respondWithFile('', headers, options3);
|
||||
serverHttp2Stream.respondWithFile('', headers, {statCheck: () => false});
|
||||
}
|
||||
|
||||
// Http2Server / Http2SecureServer
|
||||
{
|
||||
const http2Server: Http2Server = createServer();
|
||||
const http2SecureServer: Http2SecureServer = createSecureServer();
|
||||
const s1: Server = http2Server;
|
||||
const s2: Server = http2SecureServer;
|
||||
[http2Server, http2SecureServer].forEach((server) => {
|
||||
server.on('sessionError', (err: Error) => {});
|
||||
server.on('session', (session: ServerHttp2Session) => {});
|
||||
server.on('checkContinue', (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => {});
|
||||
server.on('stream', (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => {});
|
||||
server.on('request', (request: Http2ServerRequest, response: Http2ServerResponse) => {});
|
||||
server.on('timeout', () => {});
|
||||
server.setTimeout().setTimeout(5).setTimeout(5, () => {});
|
||||
});
|
||||
|
||||
http2SecureServer.on('unknownProtocol', (socket: TLSSocket) => {});
|
||||
}
|
||||
|
||||
// Public API (except constants)
|
||||
{
|
||||
let settings: Settings = {
|
||||
};
|
||||
const serverOptions: ServerOptions = {
|
||||
maxDeflateDynamicTableSize: 0,
|
||||
maxSendHeaderBlockLength: 0,
|
||||
paddingStrategy: 0,
|
||||
peerMaxConcurrentStreams: 0,
|
||||
selectPadding: (frameLen: number, maxFrameLen: number) => 0,
|
||||
settings
|
||||
};
|
||||
// tslint:disable-next-line prefer-object-spread (ts2.1 feature)
|
||||
const secureServerOptions: SecureServerOptions = Object.assign({}, serverOptions);
|
||||
secureServerOptions.ca = '';
|
||||
const onRequestHandler = (request: Http2ServerRequest, response: Http2ServerResponse) => {
|
||||
// Http2ServerRequest
|
||||
|
||||
const readable: Readable = request;
|
||||
const aborted: boolean = request.aborted;
|
||||
const authority: string = request.authority;
|
||||
let incomingHeaders: IncomingHttpHeaders = request.headers;
|
||||
incomingHeaders = request.trailers;
|
||||
const httpVersion: string = request.httpVersion;
|
||||
let method: string = request.method;
|
||||
let rawHeaders: string[] = request.rawHeaders;
|
||||
rawHeaders = request.rawTrailers;
|
||||
const scheme: string = request.scheme;
|
||||
let socket: Socket | TLSSocket = request.socket;
|
||||
let stream: ServerHttp2Stream = request.stream;
|
||||
const url: string = request.url;
|
||||
|
||||
request.setTimeout(0, () => {});
|
||||
request.on('aborted', (hadError: boolean, code: number) => {});
|
||||
|
||||
// Http2ServerResponse
|
||||
|
||||
let outgoingHeaders: OutgoingHttpHeaders = {
|
||||
};
|
||||
response.addTrailers(outgoingHeaders);
|
||||
socket = response.connection;
|
||||
const finished: boolean = response.finished;
|
||||
response.sendDate = true;
|
||||
response.statusCode = 200;
|
||||
response.statusMessage = '';
|
||||
socket = response.socket;
|
||||
stream = response.stream;
|
||||
|
||||
method = response.getHeader(':method');
|
||||
const headers: string[] = response.getHeaderNames();
|
||||
outgoingHeaders = response.getHeaders();
|
||||
const hasMethod = response.hasHeader(':method');
|
||||
response.removeHeader(':method');
|
||||
response.setHeader(':method', 'GET');
|
||||
response.setHeader(':status', 200);
|
||||
response.setHeader('some-list', ['', '']);
|
||||
const headersSent: boolean = response.headersSent;
|
||||
|
||||
response.setTimeout(0, () => {});
|
||||
response.createPushResponse(outgoingHeaders, (err: Error | null, res: Http2ServerResponse) => {});
|
||||
|
||||
response.writeContinue();
|
||||
response.writeHead(200).end();
|
||||
response.writeHead(200, outgoingHeaders);
|
||||
response.writeHead(200, 'OK', outgoingHeaders);
|
||||
response.writeHead(200, 'OK');
|
||||
response.write('');
|
||||
response.write('', (err: Error) => {});
|
||||
response.write('', 'utf8');
|
||||
response.write('', 'utf8', (err: Error) => {});
|
||||
response.write(Buffer.from([]));
|
||||
response.write(Buffer.from([]), (err: Error) => {});
|
||||
response.write(Buffer.from([]), 'utf8');
|
||||
response.write(Buffer.from([]), 'utf8', (err: Error) => {});
|
||||
response.end();
|
||||
response.end(() => {});
|
||||
response.end('');
|
||||
response.end('', () => {});
|
||||
response.end('', 'utf8');
|
||||
response.end('', 'utf8', () => {});
|
||||
response.end(Buffer.from([]));
|
||||
response.end(Buffer.from([]), () => {});
|
||||
|
||||
request.on('aborted', (hadError: boolean, code: number) => {});
|
||||
request.on('close', () => {});
|
||||
request.on('drain', () => {});
|
||||
request.on('error', (error: Error) => {});
|
||||
request.on('finish', () => {});
|
||||
};
|
||||
|
||||
let http2Server: Http2Server;
|
||||
let http2SecureServer: Http2SecureServer;
|
||||
|
||||
http2Server = createServer();
|
||||
http2Server = createServer(serverOptions);
|
||||
http2Server = createServer(onRequestHandler);
|
||||
http2Server = createServer(serverOptions, onRequestHandler);
|
||||
|
||||
http2SecureServer = createSecureServer();
|
||||
http2SecureServer = createSecureServer(secureServerOptions);
|
||||
http2SecureServer = createSecureServer(onRequestHandler);
|
||||
http2SecureServer = createSecureServer(secureServerOptions, onRequestHandler);
|
||||
|
||||
const clientSessionOptions: ClientSessionOptions = {
|
||||
maxDeflateDynamicTableSize: 0,
|
||||
maxReservedRemoteStreams: 0,
|
||||
maxSendHeaderBlockLength: 0,
|
||||
paddingStrategy: 0,
|
||||
peerMaxConcurrentStreams: 0,
|
||||
selectPadding: (frameLen: number, maxFrameLen: number) => 0,
|
||||
settings
|
||||
};
|
||||
// tslint:disable-next-line prefer-object-spread (ts2.1 feature)
|
||||
const secureClientSessionOptions: SecureClientSessionOptions = Object.assign({}, clientSessionOptions);
|
||||
secureClientSessionOptions.ca = '';
|
||||
const onConnectHandler = (session: Http2Session, socket: Socket) => {};
|
||||
|
||||
const serverHttp2Session: ServerHttp2Session = {} as any;
|
||||
|
||||
serverHttp2Session.altsvc('', '');
|
||||
serverHttp2Session.altsvc('', 0);
|
||||
serverHttp2Session.altsvc('', new URL(''));
|
||||
serverHttp2Session.altsvc('', { origin: '' });
|
||||
serverHttp2Session.altsvc('', { origin: 0 });
|
||||
serverHttp2Session.altsvc('', { origin: new URL('') });
|
||||
serverHttp2Session.origin('https://example.com', new URL(''), { origin: 'https://foo.com' });
|
||||
|
||||
let clientHttp2Session: ClientHttp2Session;
|
||||
|
||||
clientHttp2Session = connect('');
|
||||
clientHttp2Session = connect('', onConnectHandler);
|
||||
clientHttp2Session = connect('', clientSessionOptions);
|
||||
clientHttp2Session = connect('', clientSessionOptions, onConnectHandler);
|
||||
clientHttp2Session = connect('', secureClientSessionOptions);
|
||||
clientHttp2Session = connect('', secureClientSessionOptions, onConnectHandler);
|
||||
clientHttp2Session.on('altsvc', (alt: string, origin: string, number: number) => {});
|
||||
|
||||
settings = getDefaultSettings();
|
||||
const packet: Buffer = getPackedSettings(settings);
|
||||
settings = getUnpackedSettings(Buffer.from([]));
|
||||
settings = getUnpackedSettings(Uint8Array.from([]));
|
||||
}
|
||||
|
||||
// constants
|
||||
{
|
||||
const consts = constants;
|
||||
let num: number;
|
||||
let str: string;
|
||||
num = consts.NGHTTP2_SESSION_SERVER;
|
||||
num = consts.NGHTTP2_SESSION_CLIENT;
|
||||
num = consts.NGHTTP2_STREAM_STATE_IDLE;
|
||||
num = consts.NGHTTP2_STREAM_STATE_OPEN;
|
||||
num = consts.NGHTTP2_STREAM_STATE_RESERVED_LOCAL;
|
||||
num = consts.NGHTTP2_STREAM_STATE_RESERVED_REMOTE;
|
||||
num = consts.NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL;
|
||||
num = consts.NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE;
|
||||
num = consts.NGHTTP2_STREAM_STATE_CLOSED;
|
||||
num = consts.NGHTTP2_NO_ERROR;
|
||||
num = consts.NGHTTP2_PROTOCOL_ERROR;
|
||||
num = consts.NGHTTP2_INTERNAL_ERROR;
|
||||
num = consts.NGHTTP2_FLOW_CONTROL_ERROR;
|
||||
num = consts.NGHTTP2_SETTINGS_TIMEOUT;
|
||||
num = consts.NGHTTP2_STREAM_CLOSED;
|
||||
num = consts.NGHTTP2_FRAME_SIZE_ERROR;
|
||||
num = consts.NGHTTP2_REFUSED_STREAM;
|
||||
num = consts.NGHTTP2_CANCEL;
|
||||
num = consts.NGHTTP2_COMPRESSION_ERROR;
|
||||
num = consts.NGHTTP2_CONNECT_ERROR;
|
||||
num = consts.NGHTTP2_ENHANCE_YOUR_CALM;
|
||||
num = consts.NGHTTP2_INADEQUATE_SECURITY;
|
||||
num = consts.NGHTTP2_HTTP_1_1_REQUIRED;
|
||||
num = consts.NGHTTP2_ERR_FRAME_SIZE_ERROR;
|
||||
num = consts.NGHTTP2_FLAG_NONE;
|
||||
num = consts.NGHTTP2_FLAG_END_STREAM;
|
||||
num = consts.NGHTTP2_FLAG_END_HEADERS;
|
||||
num = consts.NGHTTP2_FLAG_ACK;
|
||||
num = consts.NGHTTP2_FLAG_PADDED;
|
||||
num = consts.NGHTTP2_FLAG_PRIORITY;
|
||||
num = consts.DEFAULT_SETTINGS_HEADER_TABLE_SIZE;
|
||||
num = consts.DEFAULT_SETTINGS_ENABLE_PUSH;
|
||||
num = consts.DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE;
|
||||
num = consts.DEFAULT_SETTINGS_MAX_FRAME_SIZE;
|
||||
num = consts.MAX_MAX_FRAME_SIZE;
|
||||
num = consts.MIN_MAX_FRAME_SIZE;
|
||||
num = consts.MAX_INITIAL_WINDOW_SIZE;
|
||||
num = consts.NGHTTP2_DEFAULT_WEIGHT;
|
||||
num = consts.NGHTTP2_SETTINGS_HEADER_TABLE_SIZE;
|
||||
num = consts.NGHTTP2_SETTINGS_ENABLE_PUSH;
|
||||
num = consts.NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS;
|
||||
num = consts.NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE;
|
||||
num = consts.NGHTTP2_SETTINGS_MAX_FRAME_SIZE;
|
||||
num = consts.NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE;
|
||||
num = consts.PADDING_STRATEGY_NONE;
|
||||
num = consts.PADDING_STRATEGY_MAX;
|
||||
num = consts.PADDING_STRATEGY_CALLBACK;
|
||||
num = consts.HTTP_STATUS_CONTINUE;
|
||||
num = consts.HTTP_STATUS_SWITCHING_PROTOCOLS;
|
||||
num = consts.HTTP_STATUS_PROCESSING;
|
||||
num = consts.HTTP_STATUS_OK;
|
||||
num = consts.HTTP_STATUS_CREATED;
|
||||
num = consts.HTTP_STATUS_ACCEPTED;
|
||||
num = consts.HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION;
|
||||
num = consts.HTTP_STATUS_NO_CONTENT;
|
||||
num = consts.HTTP_STATUS_RESET_CONTENT;
|
||||
num = consts.HTTP_STATUS_PARTIAL_CONTENT;
|
||||
num = consts.HTTP_STATUS_MULTI_STATUS;
|
||||
num = consts.HTTP_STATUS_ALREADY_REPORTED;
|
||||
num = consts.HTTP_STATUS_IM_USED;
|
||||
num = consts.HTTP_STATUS_MULTIPLE_CHOICES;
|
||||
num = consts.HTTP_STATUS_MOVED_PERMANENTLY;
|
||||
num = consts.HTTP_STATUS_FOUND;
|
||||
num = consts.HTTP_STATUS_SEE_OTHER;
|
||||
num = consts.HTTP_STATUS_NOT_MODIFIED;
|
||||
num = consts.HTTP_STATUS_USE_PROXY;
|
||||
num = consts.HTTP_STATUS_TEMPORARY_REDIRECT;
|
||||
num = consts.HTTP_STATUS_PERMANENT_REDIRECT;
|
||||
num = consts.HTTP_STATUS_BAD_REQUEST;
|
||||
num = consts.HTTP_STATUS_UNAUTHORIZED;
|
||||
num = consts.HTTP_STATUS_PAYMENT_REQUIRED;
|
||||
num = consts.HTTP_STATUS_FORBIDDEN;
|
||||
num = consts.HTTP_STATUS_NOT_FOUND;
|
||||
num = consts.HTTP_STATUS_METHOD_NOT_ALLOWED;
|
||||
num = consts.HTTP_STATUS_NOT_ACCEPTABLE;
|
||||
num = consts.HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED;
|
||||
num = consts.HTTP_STATUS_REQUEST_TIMEOUT;
|
||||
num = consts.HTTP_STATUS_CONFLICT;
|
||||
num = consts.HTTP_STATUS_GONE;
|
||||
num = consts.HTTP_STATUS_LENGTH_REQUIRED;
|
||||
num = consts.HTTP_STATUS_PRECONDITION_FAILED;
|
||||
num = consts.HTTP_STATUS_PAYLOAD_TOO_LARGE;
|
||||
num = consts.HTTP_STATUS_URI_TOO_LONG;
|
||||
num = consts.HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE;
|
||||
num = consts.HTTP_STATUS_RANGE_NOT_SATISFIABLE;
|
||||
num = consts.HTTP_STATUS_EXPECTATION_FAILED;
|
||||
num = consts.HTTP_STATUS_TEAPOT;
|
||||
num = consts.HTTP_STATUS_MISDIRECTED_REQUEST;
|
||||
num = consts.HTTP_STATUS_UNPROCESSABLE_ENTITY;
|
||||
num = consts.HTTP_STATUS_LOCKED;
|
||||
num = consts.HTTP_STATUS_FAILED_DEPENDENCY;
|
||||
num = consts.HTTP_STATUS_UNORDERED_COLLECTION;
|
||||
num = consts.HTTP_STATUS_UPGRADE_REQUIRED;
|
||||
num = consts.HTTP_STATUS_PRECONDITION_REQUIRED;
|
||||
num = consts.HTTP_STATUS_TOO_MANY_REQUESTS;
|
||||
num = consts.HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE;
|
||||
num = consts.HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS;
|
||||
num = consts.HTTP_STATUS_INTERNAL_SERVER_ERROR;
|
||||
num = consts.HTTP_STATUS_NOT_IMPLEMENTED;
|
||||
num = consts.HTTP_STATUS_BAD_GATEWAY;
|
||||
num = consts.HTTP_STATUS_SERVICE_UNAVAILABLE;
|
||||
num = consts.HTTP_STATUS_GATEWAY_TIMEOUT;
|
||||
num = consts.HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED;
|
||||
num = consts.HTTP_STATUS_VARIANT_ALSO_NEGOTIATES;
|
||||
num = consts.HTTP_STATUS_INSUFFICIENT_STORAGE;
|
||||
num = consts.HTTP_STATUS_LOOP_DETECTED;
|
||||
num = consts.HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED;
|
||||
num = consts.HTTP_STATUS_NOT_EXTENDED;
|
||||
num = consts.HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED;
|
||||
str = consts.HTTP2_HEADER_STATUS;
|
||||
str = consts.HTTP2_HEADER_METHOD;
|
||||
str = consts.HTTP2_HEADER_AUTHORITY;
|
||||
str = consts.HTTP2_HEADER_SCHEME;
|
||||
str = consts.HTTP2_HEADER_PATH;
|
||||
str = consts.HTTP2_HEADER_ACCEPT_CHARSET;
|
||||
str = consts.HTTP2_HEADER_ACCEPT_ENCODING;
|
||||
str = consts.HTTP2_HEADER_ACCEPT_LANGUAGE;
|
||||
str = consts.HTTP2_HEADER_ACCEPT_RANGES;
|
||||
str = consts.HTTP2_HEADER_ACCEPT;
|
||||
str = consts.HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN;
|
||||
str = consts.HTTP2_HEADER_AGE;
|
||||
str = consts.HTTP2_HEADER_ALLOW;
|
||||
str = consts.HTTP2_HEADER_AUTHORIZATION;
|
||||
str = consts.HTTP2_HEADER_CACHE_CONTROL;
|
||||
str = consts.HTTP2_HEADER_CONNECTION;
|
||||
str = consts.HTTP2_HEADER_CONTENT_DISPOSITION;
|
||||
str = consts.HTTP2_HEADER_CONTENT_ENCODING;
|
||||
str = consts.HTTP2_HEADER_CONTENT_LANGUAGE;
|
||||
str = consts.HTTP2_HEADER_CONTENT_LENGTH;
|
||||
str = consts.HTTP2_HEADER_CONTENT_LOCATION;
|
||||
str = consts.HTTP2_HEADER_CONTENT_MD5;
|
||||
str = consts.HTTP2_HEADER_CONTENT_RANGE;
|
||||
str = consts.HTTP2_HEADER_CONTENT_TYPE;
|
||||
str = consts.HTTP2_HEADER_COOKIE;
|
||||
str = consts.HTTP2_HEADER_DATE;
|
||||
str = consts.HTTP2_HEADER_ETAG;
|
||||
str = consts.HTTP2_HEADER_EXPECT;
|
||||
str = consts.HTTP2_HEADER_EXPIRES;
|
||||
str = consts.HTTP2_HEADER_FROM;
|
||||
str = consts.HTTP2_HEADER_HOST;
|
||||
str = consts.HTTP2_HEADER_IF_MATCH;
|
||||
str = consts.HTTP2_HEADER_IF_MODIFIED_SINCE;
|
||||
str = consts.HTTP2_HEADER_IF_NONE_MATCH;
|
||||
str = consts.HTTP2_HEADER_IF_RANGE;
|
||||
str = consts.HTTP2_HEADER_IF_UNMODIFIED_SINCE;
|
||||
str = consts.HTTP2_HEADER_LAST_MODIFIED;
|
||||
str = consts.HTTP2_HEADER_LINK;
|
||||
str = consts.HTTP2_HEADER_LOCATION;
|
||||
str = consts.HTTP2_HEADER_MAX_FORWARDS;
|
||||
str = consts.HTTP2_HEADER_PREFER;
|
||||
str = consts.HTTP2_HEADER_PROXY_AUTHENTICATE;
|
||||
str = consts.HTTP2_HEADER_PROXY_AUTHORIZATION;
|
||||
str = consts.HTTP2_HEADER_RANGE;
|
||||
str = consts.HTTP2_HEADER_REFERER;
|
||||
str = consts.HTTP2_HEADER_REFRESH;
|
||||
str = consts.HTTP2_HEADER_RETRY_AFTER;
|
||||
str = consts.HTTP2_HEADER_SERVER;
|
||||
str = consts.HTTP2_HEADER_SET_COOKIE;
|
||||
str = consts.HTTP2_HEADER_STRICT_TRANSPORT_SECURITY;
|
||||
str = consts.HTTP2_HEADER_TRANSFER_ENCODING;
|
||||
str = consts.HTTP2_HEADER_TE;
|
||||
str = consts.HTTP2_HEADER_UPGRADE;
|
||||
str = consts.HTTP2_HEADER_USER_AGENT;
|
||||
str = consts.HTTP2_HEADER_VARY;
|
||||
str = consts.HTTP2_HEADER_VIA;
|
||||
str = consts.HTTP2_HEADER_WWW_AUTHENTICATE;
|
||||
str = consts.HTTP2_HEADER_HTTP2_SETTINGS;
|
||||
str = consts.HTTP2_HEADER_KEEP_ALIVE;
|
||||
str = consts.HTTP2_HEADER_PROXY_CONNECTION;
|
||||
str = consts.HTTP2_METHOD_ACL;
|
||||
str = consts.HTTP2_METHOD_BASELINE_CONTROL;
|
||||
str = consts.HTTP2_METHOD_BIND;
|
||||
str = consts.HTTP2_METHOD_CHECKIN;
|
||||
str = consts.HTTP2_METHOD_CHECKOUT;
|
||||
str = consts.HTTP2_METHOD_CONNECT;
|
||||
str = consts.HTTP2_METHOD_COPY;
|
||||
str = consts.HTTP2_METHOD_DELETE;
|
||||
str = consts.HTTP2_METHOD_GET;
|
||||
str = consts.HTTP2_METHOD_HEAD;
|
||||
str = consts.HTTP2_METHOD_LABEL;
|
||||
str = consts.HTTP2_METHOD_LINK;
|
||||
str = consts.HTTP2_METHOD_LOCK;
|
||||
str = consts.HTTP2_METHOD_MERGE;
|
||||
str = consts.HTTP2_METHOD_MKACTIVITY;
|
||||
str = consts.HTTP2_METHOD_MKCALENDAR;
|
||||
str = consts.HTTP2_METHOD_MKCOL;
|
||||
str = consts.HTTP2_METHOD_MKREDIRECTREF;
|
||||
str = consts.HTTP2_METHOD_MKWORKSPACE;
|
||||
str = consts.HTTP2_METHOD_MOVE;
|
||||
str = consts.HTTP2_METHOD_OPTIONS;
|
||||
str = consts.HTTP2_METHOD_ORDERPATCH;
|
||||
str = consts.HTTP2_METHOD_PATCH;
|
||||
str = consts.HTTP2_METHOD_POST;
|
||||
str = consts.HTTP2_METHOD_PRI;
|
||||
str = consts.HTTP2_METHOD_PROPFIND;
|
||||
str = consts.HTTP2_METHOD_PROPPATCH;
|
||||
str = consts.HTTP2_METHOD_PUT;
|
||||
str = consts.HTTP2_METHOD_REBIND;
|
||||
str = consts.HTTP2_METHOD_REPORT;
|
||||
str = consts.HTTP2_METHOD_SEARCH;
|
||||
str = consts.HTTP2_METHOD_TRACE;
|
||||
str = consts.HTTP2_METHOD_UNBIND;
|
||||
str = consts.HTTP2_METHOD_UNCHECKOUT;
|
||||
str = consts.HTTP2_METHOD_UNLINK;
|
||||
str = consts.HTTP2_METHOD_UNLOCK;
|
||||
str = consts.HTTP2_METHOD_UPDATE;
|
||||
str = consts.HTTP2_METHOD_UPDATEREDIRECTREF;
|
||||
str = consts.HTTP2_METHOD_VERSION_CONTROL;
|
||||
}
|
||||
295
types/node/v11/test/net.ts
Normal file
295
types/node/v11/test/net.ts
Normal file
@@ -0,0 +1,295 @@
|
||||
import * as net from 'net';
|
||||
import { LookupOneOptions } from 'dns';
|
||||
|
||||
{
|
||||
const connectOpts: net.NetConnectOpts = {
|
||||
allowHalfOpen: true,
|
||||
family: 4,
|
||||
host: "localhost",
|
||||
port: 443,
|
||||
timeout: 10E3
|
||||
};
|
||||
const socket: net.Socket = net.createConnection(connectOpts, (): void => {
|
||||
// nothing
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
let server = net.createServer();
|
||||
// Check methods which return server instances by chaining calls
|
||||
server = server.listen(0)
|
||||
.close()
|
||||
.ref()
|
||||
.unref();
|
||||
|
||||
server.listen({
|
||||
ipv6Only: true,
|
||||
});
|
||||
|
||||
// close callback parameter can be either nothing (undefined) or an error
|
||||
server = server.close(() => { });
|
||||
server = server.close((err) => {
|
||||
if (typeof err !== 'undefined') { const _err: Error = err; }
|
||||
});
|
||||
|
||||
// test the types of the address object fields
|
||||
const address: net.AddressInfo | string | null = server.address();
|
||||
}
|
||||
|
||||
{
|
||||
const constructorOpts: net.SocketConstructorOpts = {
|
||||
fd: 1,
|
||||
allowHalfOpen: false,
|
||||
readable: false,
|
||||
writable: false,
|
||||
};
|
||||
|
||||
/**
|
||||
* net.Socket - events.EventEmitter
|
||||
* 1. close
|
||||
* 2. connect
|
||||
* 3. data
|
||||
* 4. drain
|
||||
* 5. end
|
||||
* 6. error
|
||||
* 7. lookup
|
||||
* 8. timeout
|
||||
*/
|
||||
let _socket: net.Socket = new net.Socket(constructorOpts);
|
||||
|
||||
let bool = true;
|
||||
let buffer = Buffer.from('123');
|
||||
let error = new Error('asd');
|
||||
let str = '123';
|
||||
let num = 123;
|
||||
|
||||
const ipcConnectOpts: net.IpcSocketConnectOpts = {
|
||||
path: "/"
|
||||
};
|
||||
const tcpConnectOpts: net.TcpSocketConnectOpts = {
|
||||
family: 4,
|
||||
hints: 0,
|
||||
host: "localhost",
|
||||
localAddress: "10.0.0.1",
|
||||
localPort: 1234,
|
||||
lookup: (_hostname: string, _options: LookupOneOptions, _callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void => {
|
||||
// nothing
|
||||
},
|
||||
port: 80
|
||||
};
|
||||
_socket = _socket.connect(ipcConnectOpts);
|
||||
_socket = _socket.connect(ipcConnectOpts, (): void => {});
|
||||
_socket = _socket.connect(tcpConnectOpts);
|
||||
_socket = _socket.connect(tcpConnectOpts, (): void => {});
|
||||
_socket = _socket.connect(80, "localhost");
|
||||
_socket = _socket.connect(80, "localhost", (): void => {});
|
||||
_socket = _socket.connect(80);
|
||||
_socket = _socket.connect(80, (): void => {});
|
||||
|
||||
/// addListener
|
||||
|
||||
_socket = _socket.addListener("close", had_error => {
|
||||
bool = had_error;
|
||||
});
|
||||
_socket = _socket.addListener("connect", () => { });
|
||||
_socket = _socket.addListener("data", data => {
|
||||
buffer = data;
|
||||
});
|
||||
_socket = _socket.addListener("drain", () => { });
|
||||
_socket = _socket.addListener("end", () => { });
|
||||
_socket = _socket.addListener("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_socket = _socket.addListener("lookup", (err, address, family, host) => {
|
||||
error = err;
|
||||
|
||||
if (typeof family === 'string') {
|
||||
str = family;
|
||||
} else if (typeof family === 'number') {
|
||||
num = family;
|
||||
}
|
||||
|
||||
str = host;
|
||||
});
|
||||
_socket = _socket.addListener("timeout", () => { });
|
||||
|
||||
/// emit
|
||||
bool = _socket.emit("close", bool);
|
||||
bool = _socket.emit("connect");
|
||||
bool = _socket.emit("data", buffer);
|
||||
bool = _socket.emit("drain");
|
||||
bool = _socket.emit("end");
|
||||
bool = _socket.emit("error", error);
|
||||
bool = _socket.emit("lookup", error, str, str, str);
|
||||
bool = _socket.emit("lookup", error, str, num, str);
|
||||
bool = _socket.emit("timeout");
|
||||
|
||||
/// on
|
||||
_socket = _socket.on("close", had_error => {
|
||||
bool = had_error;
|
||||
});
|
||||
_socket = _socket.on("connect", () => { });
|
||||
_socket = _socket.on("data", data => {
|
||||
buffer = data;
|
||||
});
|
||||
_socket = _socket.on("drain", () => { });
|
||||
_socket = _socket.on("end", () => { });
|
||||
_socket = _socket.on("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_socket = _socket.on("lookup", (err, address, family, host) => {
|
||||
error = err;
|
||||
|
||||
if (typeof family === 'string') {
|
||||
str = family;
|
||||
} else if (typeof family === 'number') {
|
||||
num = family;
|
||||
}
|
||||
|
||||
str = host;
|
||||
});
|
||||
_socket = _socket.on("timeout", () => { });
|
||||
|
||||
/// once
|
||||
_socket = _socket.once("close", had_error => {
|
||||
bool = had_error;
|
||||
});
|
||||
_socket = _socket.once("connect", () => { });
|
||||
_socket = _socket.once("data", data => {
|
||||
buffer = data;
|
||||
});
|
||||
_socket = _socket.once("drain", () => { });
|
||||
_socket = _socket.once("end", () => { });
|
||||
_socket = _socket.once("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_socket = _socket.once("lookup", (err, address, family, host) => {
|
||||
error = err;
|
||||
|
||||
if (typeof family === 'string') {
|
||||
str = family;
|
||||
} else if (typeof family === 'number') {
|
||||
num = family;
|
||||
}
|
||||
|
||||
str = host;
|
||||
});
|
||||
_socket = _socket.once("timeout", () => { });
|
||||
|
||||
/// prependListener
|
||||
_socket = _socket.prependListener("close", had_error => {
|
||||
bool = had_error;
|
||||
});
|
||||
_socket = _socket.prependListener("connect", () => { });
|
||||
_socket = _socket.prependListener("data", data => {
|
||||
buffer = data;
|
||||
});
|
||||
_socket = _socket.prependListener("drain", () => { });
|
||||
_socket = _socket.prependListener("end", () => { });
|
||||
_socket = _socket.prependListener("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_socket = _socket.prependListener("lookup", (err, address, family, host) => {
|
||||
error = err;
|
||||
|
||||
if (typeof family === 'string') {
|
||||
str = family;
|
||||
} else if (typeof family === 'number') {
|
||||
num = family;
|
||||
}
|
||||
|
||||
str = host;
|
||||
});
|
||||
_socket = _socket.prependListener("timeout", () => { });
|
||||
|
||||
/// prependOnceListener
|
||||
_socket = _socket.prependOnceListener("close", had_error => {
|
||||
bool = had_error;
|
||||
});
|
||||
_socket = _socket.prependOnceListener("connect", () => { });
|
||||
_socket = _socket.prependOnceListener("data", data => {
|
||||
buffer = data;
|
||||
});
|
||||
_socket = _socket.prependOnceListener("drain", () => { });
|
||||
_socket = _socket.prependOnceListener("end", () => { });
|
||||
_socket = _socket.prependOnceListener("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_socket = _socket.prependOnceListener("lookup", (err, address, family, host) => {
|
||||
error = err;
|
||||
|
||||
if (typeof family === 'string') {
|
||||
str = family;
|
||||
} else if (typeof family === 'number') {
|
||||
num = family;
|
||||
}
|
||||
|
||||
str = host;
|
||||
});
|
||||
_socket = _socket.prependOnceListener("timeout", () => { });
|
||||
|
||||
bool = _socket.connecting;
|
||||
bool = _socket.destroyed;
|
||||
_socket.destroy();
|
||||
}
|
||||
|
||||
{
|
||||
/**
|
||||
* net.Server - events.EventEmitter
|
||||
* 1. close
|
||||
* 2. connection
|
||||
* 3. error
|
||||
* 4. listening
|
||||
*/
|
||||
let _server = net.createServer();
|
||||
|
||||
let _socket = net.connect('');
|
||||
let bool: boolean;
|
||||
let error = new Error();
|
||||
|
||||
/// addListener
|
||||
_server = _server.addListener("close", () => { });
|
||||
_server = _server.addListener("connection", socket => {
|
||||
_socket = socket;
|
||||
});
|
||||
_server = _server.addListener("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_server = _server.addListener("listening", () => { });
|
||||
|
||||
/// emit
|
||||
bool = _server.emit("close");
|
||||
bool = _server.emit("connection", _socket);
|
||||
bool = _server.emit("error", error);
|
||||
bool = _server.emit("listening");
|
||||
|
||||
/// once
|
||||
_server = _server.once("close", () => { });
|
||||
_server = _server.once("connection", socket => {
|
||||
_socket = socket;
|
||||
});
|
||||
_server = _server.once("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_server = _server.once("listening", () => { });
|
||||
|
||||
/// prependListener
|
||||
_server = _server.prependListener("close", () => { });
|
||||
_server = _server.prependListener("connection", socket => {
|
||||
_socket = socket;
|
||||
});
|
||||
_server = _server.prependListener("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_server = _server.prependListener("listening", () => { });
|
||||
|
||||
/// prependOnceListener
|
||||
_server = _server.prependOnceListener("close", () => { });
|
||||
_server = _server.prependOnceListener("connection", socket => {
|
||||
_socket = socket;
|
||||
});
|
||||
_server = _server.prependOnceListener("error", err => {
|
||||
error = err;
|
||||
});
|
||||
_server = _server.prependOnceListener("listening", () => { });
|
||||
}
|
||||
177
types/node/v11/test/os.ts
Normal file
177
types/node/v11/test/os.ts
Normal file
@@ -0,0 +1,177 @@
|
||||
import * as os from 'os';
|
||||
{
|
||||
let result: string;
|
||||
|
||||
result = os.tmpdir();
|
||||
result = os.homedir();
|
||||
result = os.endianness();
|
||||
result = os.hostname();
|
||||
result = os.type();
|
||||
result = os.arch();
|
||||
result = os.release();
|
||||
result = os.EOL;
|
||||
}
|
||||
|
||||
{
|
||||
const a: os.UserInfo<string> = os.userInfo();
|
||||
const b: os.UserInfo<Buffer> = os.userInfo({ encoding: 'buffer' });
|
||||
}
|
||||
|
||||
{
|
||||
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();
|
||||
}
|
||||
|
||||
{
|
||||
let result: number;
|
||||
|
||||
result = os.constants.signals.SIGHUP;
|
||||
result = os.constants.signals.SIGINT;
|
||||
result = os.constants.signals.SIGQUIT;
|
||||
result = os.constants.signals.SIGILL;
|
||||
result = os.constants.signals.SIGTRAP;
|
||||
result = os.constants.signals.SIGABRT;
|
||||
result = os.constants.signals.SIGIOT;
|
||||
result = os.constants.signals.SIGBUS;
|
||||
result = os.constants.signals.SIGFPE;
|
||||
result = os.constants.signals.SIGKILL;
|
||||
result = os.constants.signals.SIGUSR1;
|
||||
result = os.constants.signals.SIGSEGV;
|
||||
result = os.constants.signals.SIGUSR2;
|
||||
result = os.constants.signals.SIGPIPE;
|
||||
result = os.constants.signals.SIGALRM;
|
||||
result = os.constants.signals.SIGTERM;
|
||||
result = os.constants.signals.SIGCHLD;
|
||||
result = os.constants.signals.SIGSTKFLT;
|
||||
result = os.constants.signals.SIGCONT;
|
||||
result = os.constants.signals.SIGSTOP;
|
||||
result = os.constants.signals.SIGTSTP;
|
||||
result = os.constants.signals.SIGTTIN;
|
||||
result = os.constants.signals.SIGTTOU;
|
||||
result = os.constants.signals.SIGURG;
|
||||
result = os.constants.signals.SIGXCPU;
|
||||
result = os.constants.signals.SIGXFSZ;
|
||||
result = os.constants.signals.SIGVTALRM;
|
||||
result = os.constants.signals.SIGPROF;
|
||||
result = os.constants.signals.SIGWINCH;
|
||||
result = os.constants.signals.SIGIO;
|
||||
result = os.constants.signals.SIGPOLL;
|
||||
result = os.constants.signals.SIGPWR;
|
||||
result = os.constants.signals.SIGSYS;
|
||||
result = os.constants.signals.SIGUNUSED;
|
||||
}
|
||||
|
||||
{
|
||||
let result: number;
|
||||
|
||||
result = os.constants.errno.E2BIG;
|
||||
result = os.constants.errno.EACCES;
|
||||
result = os.constants.errno.EADDRINUSE;
|
||||
result = os.constants.errno.EADDRNOTAVAIL;
|
||||
result = os.constants.errno.EAFNOSUPPORT;
|
||||
result = os.constants.errno.EAGAIN;
|
||||
result = os.constants.errno.EALREADY;
|
||||
result = os.constants.errno.EBADF;
|
||||
result = os.constants.errno.EBADMSG;
|
||||
result = os.constants.errno.EBUSY;
|
||||
result = os.constants.errno.ECANCELED;
|
||||
result = os.constants.errno.ECHILD;
|
||||
result = os.constants.errno.ECONNABORTED;
|
||||
result = os.constants.errno.ECONNREFUSED;
|
||||
result = os.constants.errno.ECONNRESET;
|
||||
result = os.constants.errno.EDEADLK;
|
||||
result = os.constants.errno.EDESTADDRREQ;
|
||||
result = os.constants.errno.EDOM;
|
||||
result = os.constants.errno.EDQUOT;
|
||||
result = os.constants.errno.EEXIST;
|
||||
result = os.constants.errno.EFAULT;
|
||||
result = os.constants.errno.EFBIG;
|
||||
result = os.constants.errno.EHOSTUNREACH;
|
||||
result = os.constants.errno.EIDRM;
|
||||
result = os.constants.errno.EILSEQ;
|
||||
result = os.constants.errno.EINPROGRESS;
|
||||
result = os.constants.errno.EINTR;
|
||||
result = os.constants.errno.EINVAL;
|
||||
result = os.constants.errno.EIO;
|
||||
result = os.constants.errno.EISCONN;
|
||||
result = os.constants.errno.EISDIR;
|
||||
result = os.constants.errno.ELOOP;
|
||||
result = os.constants.errno.EMFILE;
|
||||
result = os.constants.errno.EMLINK;
|
||||
result = os.constants.errno.EMSGSIZE;
|
||||
result = os.constants.errno.EMULTIHOP;
|
||||
result = os.constants.errno.ENAMETOOLONG;
|
||||
result = os.constants.errno.ENETDOWN;
|
||||
result = os.constants.errno.ENETRESET;
|
||||
result = os.constants.errno.ENETUNREACH;
|
||||
result = os.constants.errno.ENFILE;
|
||||
result = os.constants.errno.ENOBUFS;
|
||||
result = os.constants.errno.ENODATA;
|
||||
result = os.constants.errno.ENODEV;
|
||||
result = os.constants.errno.ENOENT;
|
||||
result = os.constants.errno.ENOEXEC;
|
||||
result = os.constants.errno.ENOLCK;
|
||||
result = os.constants.errno.ENOLINK;
|
||||
result = os.constants.errno.ENOMEM;
|
||||
result = os.constants.errno.ENOMSG;
|
||||
result = os.constants.errno.ENOPROTOOPT;
|
||||
result = os.constants.errno.ENOSPC;
|
||||
result = os.constants.errno.ENOSR;
|
||||
result = os.constants.errno.ENOSTR;
|
||||
result = os.constants.errno.ENOSYS;
|
||||
result = os.constants.errno.ENOTCONN;
|
||||
result = os.constants.errno.ENOTDIR;
|
||||
result = os.constants.errno.ENOTEMPTY;
|
||||
result = os.constants.errno.ENOTSOCK;
|
||||
result = os.constants.errno.ENOTSUP;
|
||||
result = os.constants.errno.ENOTTY;
|
||||
result = os.constants.errno.ENXIO;
|
||||
result = os.constants.errno.EOPNOTSUPP;
|
||||
result = os.constants.errno.EOVERFLOW;
|
||||
result = os.constants.errno.EPERM;
|
||||
result = os.constants.errno.EPIPE;
|
||||
result = os.constants.errno.EPROTO;
|
||||
result = os.constants.errno.EPROTONOSUPPORT;
|
||||
result = os.constants.errno.EPROTOTYPE;
|
||||
result = os.constants.errno.ERANGE;
|
||||
result = os.constants.errno.EROFS;
|
||||
result = os.constants.errno.ESPIPE;
|
||||
result = os.constants.errno.ESRCH;
|
||||
result = os.constants.errno.ESTALE;
|
||||
result = os.constants.errno.ETIME;
|
||||
result = os.constants.errno.ETIMEDOUT;
|
||||
result = os.constants.errno.ETXTBSY;
|
||||
result = os.constants.errno.EWOULDBLOCK;
|
||||
result = os.constants.errno.EXDEV;
|
||||
}
|
||||
|
||||
{
|
||||
const prio = os.getPriority();
|
||||
os.setPriority(prio + 1);
|
||||
|
||||
const prio2 = os.getPriority(1);
|
||||
os.setPriority(2, prio + 1);
|
||||
|
||||
os.setPriority(os.constants.priority.PRIORITY_LOW);
|
||||
}
|
||||
167
types/node/v11/test/path.ts
Normal file
167
types/node/v11/test/path.ts
Normal file
@@ -0,0 +1,167 @@
|
||||
import * as path from 'path';
|
||||
|
||||
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']
|
||||
|
||||
process.env["PATH"]; // $ExpectType string | undefined
|
||||
|
||||
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'
|
||||
|
||||
path.format({
|
||||
root: "/",
|
||||
dir: "/home/user/dir",
|
||||
ext: ".txt",
|
||||
name: "file"
|
||||
});
|
||||
// returns
|
||||
// '/home/user/dir/file.txt'
|
||||
|
||||
path.format({
|
||||
dir: "/home/user/dir",
|
||||
base: "file.txt"
|
||||
});
|
||||
// returns
|
||||
// '/home/user/dir/file.txt'
|
||||
|
||||
path.posix.format({
|
||||
root: "/",
|
||||
dir: "/home/user/dir",
|
||||
base: "file.txt",
|
||||
ext: ".txt",
|
||||
name: "file"
|
||||
});
|
||||
// returns
|
||||
// '/home/user/dir/file.txt'
|
||||
|
||||
path.posix.format({
|
||||
dir: "/home/user/dir",
|
||||
base: "file.txt"
|
||||
});
|
||||
// returns
|
||||
// '/home/user/dir/file.txt'
|
||||
|
||||
path.win32.format({
|
||||
root: "C:\\",
|
||||
dir: "C:\\home\\user\\dir",
|
||||
ext: ".txt",
|
||||
name: "file"
|
||||
});
|
||||
// returns
|
||||
// 'C:\home\user\dir\file.txt'
|
||||
|
||||
path.win32.format({
|
||||
dir: "C:\\home\\user\\dir",
|
||||
base: "file.txt"
|
||||
});
|
||||
// returns
|
||||
// 'C:\home\user\dir\file.txt'
|
||||
42
types/node/v11/test/perf_hooks.ts
Normal file
42
types/node/v11/test/perf_hooks.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { performance, monitorEventLoopDelay, PerformanceObserverCallback, PerformanceObserver } from 'perf_hooks';
|
||||
|
||||
performance.mark('start');
|
||||
(
|
||||
() => {}
|
||||
)();
|
||||
performance.mark('end');
|
||||
|
||||
const { duration } = performance.getEntriesByName('discover')[0];
|
||||
const timeOrigin = performance.timeOrigin;
|
||||
|
||||
const performanceObserverCallback: PerformanceObserverCallback = (list, obs) => {
|
||||
const {
|
||||
duration,
|
||||
entryType,
|
||||
name,
|
||||
startTime,
|
||||
} = list.getEntries()[0];
|
||||
obs.disconnect();
|
||||
performance.clearFunctions();
|
||||
};
|
||||
const obs = new PerformanceObserver(performanceObserverCallback);
|
||||
obs.observe({
|
||||
entryTypes: ['function'],
|
||||
buffered: true,
|
||||
});
|
||||
|
||||
const monitor = monitorEventLoopDelay({
|
||||
resolution: 42,
|
||||
});
|
||||
|
||||
monitor.enable();
|
||||
monitor.reset();
|
||||
monitor.disable();
|
||||
const perc: number = monitor.percentile(99);
|
||||
const perc2: number | undefined = monitor.percentiles.get(42);
|
||||
|
||||
const min: number = monitor.min;
|
||||
const max: number = monitor.max;
|
||||
const mean: number = monitor.mean;
|
||||
const stddev: number = monitor.stddev;
|
||||
const exceeds: number = monitor.exceeds;
|
||||
66
types/node/v11/test/process.ts
Normal file
66
types/node/v11/test/process.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import * as p from "process";
|
||||
import { ok } from "assert";
|
||||
import { EventEmitter } from "events";
|
||||
|
||||
{
|
||||
let eventEmitter: EventEmitter;
|
||||
eventEmitter = process; // Test that process implements EventEmitter...
|
||||
|
||||
let _p: NodeJS.Process = process;
|
||||
_p = p;
|
||||
}
|
||||
{
|
||||
ok(process.argv[0] === process.argv0);
|
||||
}
|
||||
{
|
||||
let module: NodeModule | undefined;
|
||||
module = process.mainModule;
|
||||
}
|
||||
{
|
||||
process.on("message", (req: any) => { });
|
||||
process.addListener("beforeExit", (code: number) => { });
|
||||
process.once("disconnect", () => { });
|
||||
process.prependListener("exit", (code: number) => { });
|
||||
process.prependOnceListener("rejectionHandled", (promise: Promise<any>) => { });
|
||||
process.on("uncaughtException", (error: Error) => { });
|
||||
process.addListener("unhandledRejection", (reason: {} | null | undefined, promise: Promise<any>) => { });
|
||||
process.once("warning", (warning: Error) => { });
|
||||
process.prependListener("message", (message: any, sendHandle: any) => { });
|
||||
process.prependOnceListener("SIGBREAK", () => { });
|
||||
process.on("newListener", (event: string | symbol, listener: Function) => { });
|
||||
process.once("removeListener", (event: string | symbol, listener: Function) => { });
|
||||
process.on("multipleResolves", (type: NodeJS.MultipleResolveType, prom: Promise<any>, value: any) => {});
|
||||
|
||||
const listeners = process.listeners('uncaughtException');
|
||||
const oldHandler = listeners[listeners.length - 1];
|
||||
process.addListener('uncaughtException', oldHandler);
|
||||
}
|
||||
{
|
||||
function myCb(err: Error): void {
|
||||
}
|
||||
process.setUncaughtExceptionCaptureCallback(myCb);
|
||||
process.setUncaughtExceptionCaptureCallback(null);
|
||||
const b: boolean = process.hasUncaughtExceptionCaptureCallback();
|
||||
}
|
||||
|
||||
{
|
||||
const report = process.report!;
|
||||
report.directory = 'asd';
|
||||
report.filename = 'asdasd';
|
||||
const rep: string = report.getReport(new Error());
|
||||
report.reportOnFatalError = true;
|
||||
report.reportOnSignal = true;
|
||||
report.reportOnUncaughtException = true;
|
||||
report.signal = 'SIGINT';
|
||||
let dest = report.writeReport('asdasd', new Error());
|
||||
dest = report.writeReport('asdasd');
|
||||
dest = report.writeReport(new Error());
|
||||
}
|
||||
{
|
||||
if (process.send) {
|
||||
let r: boolean = process.send('aMessage');
|
||||
r = process.send({ msg: "foo"}, {});
|
||||
r = process.send({ msg: "foo"}, {}, { swallowErrors: true });
|
||||
r = process.send({ msg: "foo"}, {}, { swallowErrors: true }, (err: Error | null) => {});
|
||||
}
|
||||
}
|
||||
48
types/node/v11/test/querystring.ts
Normal file
48
types/node/v11/test/querystring.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import * as querystring from 'querystring';
|
||||
|
||||
interface SampleObject { [key: string]: string; }
|
||||
|
||||
{
|
||||
const obj: SampleObject = { a: "" };
|
||||
const sep = '';
|
||||
const eq = '';
|
||||
const options: querystring.StringifyOptions = {
|
||||
encodeURIComponent: (d: string) => d,
|
||||
};
|
||||
let result: string;
|
||||
|
||||
result = querystring.stringify(obj);
|
||||
result = querystring.stringify(obj, sep);
|
||||
result = querystring.stringify(obj, sep, eq);
|
||||
result = querystring.stringify(obj, sep, eq);
|
||||
result = querystring.stringify(obj, sep, eq, options);
|
||||
}
|
||||
|
||||
{
|
||||
const str = '';
|
||||
const sep = '';
|
||||
const eq = '';
|
||||
const options: querystring.ParseOptions = {
|
||||
decodeURIComponent: (d: string) => d,
|
||||
};
|
||||
let result: querystring.ParsedUrlQuery;
|
||||
|
||||
result = querystring.parse(str);
|
||||
result = querystring.parse(str, sep);
|
||||
result = querystring.parse(str, sep, eq);
|
||||
result = querystring.parse(str, sep, eq, options);
|
||||
}
|
||||
|
||||
{
|
||||
const str = '';
|
||||
let result: string;
|
||||
|
||||
result = querystring.escape(str);
|
||||
result = querystring.unescape(str);
|
||||
}
|
||||
|
||||
{
|
||||
const queryInput: string | null | querystring.ParsedUrlQueryInput = {};
|
||||
// $ExpectError
|
||||
const query: string | null | querystring.ParsedUrlQuery = queryInput;
|
||||
}
|
||||
185
types/node/v11/test/readline.ts
Normal file
185
types/node/v11/test/readline.ts
Normal file
@@ -0,0 +1,185 @@
|
||||
import * as readline from 'readline';
|
||||
import * as stream from 'stream';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const rl: readline.ReadLine = readline.createInterface(new stream.Readable());
|
||||
|
||||
{
|
||||
const options: readline.ReadLineOptions = {
|
||||
input: new fs.ReadStream()
|
||||
};
|
||||
const input: NodeJS.ReadableStream = new stream.Readable();
|
||||
const output: NodeJS.WritableStream = new stream.Writable();
|
||||
const completer: readline.Completer = str => [['asd'], 'asd'];
|
||||
const terminal = false;
|
||||
|
||||
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);
|
||||
result = readline.createInterface({
|
||||
input,
|
||||
completer(str: string): readline.CompleterResult {
|
||||
return [['test'], 'test'];
|
||||
}
|
||||
});
|
||||
result = readline.createInterface({
|
||||
input,
|
||||
completer(str: string, callback: (err: any, result: readline.CompleterResult) => void): any {
|
||||
callback(null, [['test'], 'test']);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
rl.setPrompt("prompt");
|
||||
}
|
||||
|
||||
{
|
||||
rl.prompt();
|
||||
rl.prompt(true);
|
||||
}
|
||||
|
||||
{
|
||||
rl.question("query", (answer: string) => {});
|
||||
}
|
||||
|
||||
{
|
||||
let result: readline.ReadLine;
|
||||
|
||||
result = rl.pause();
|
||||
}
|
||||
|
||||
{
|
||||
let result: readline.ReadLine;
|
||||
|
||||
result = rl.resume();
|
||||
}
|
||||
|
||||
{
|
||||
rl.close();
|
||||
}
|
||||
|
||||
{
|
||||
const data: string | Buffer = "asd";
|
||||
const key: readline.Key = {};
|
||||
|
||||
rl.write(data);
|
||||
rl.write('asd', key);
|
||||
}
|
||||
|
||||
{
|
||||
const strm: NodeJS.WritableStream = new stream.Writable();
|
||||
const x = 1;
|
||||
const y = 1;
|
||||
|
||||
readline.cursorTo(strm, x);
|
||||
readline.cursorTo(strm, x, y);
|
||||
}
|
||||
|
||||
{
|
||||
const strm: NodeJS.ReadableStream = new stream.Readable();
|
||||
const readLineInterface: readline.ReadLine = readline.createInterface(new stream.Readable());
|
||||
|
||||
readline.emitKeypressEvents(strm);
|
||||
readline.emitKeypressEvents(strm, readLineInterface);
|
||||
}
|
||||
|
||||
{
|
||||
const strm: NodeJS.WritableStream = new stream.Writable();
|
||||
const dx: number | string = 1;
|
||||
const dy: number | string = 1;
|
||||
|
||||
readline.moveCursor(strm, dx, dy);
|
||||
}
|
||||
|
||||
{
|
||||
const strm: NodeJS.WritableStream = new stream.Writable();
|
||||
readline.clearLine(strm, 1);
|
||||
}
|
||||
|
||||
{
|
||||
const strm: NodeJS.WritableStream = new stream.Writable();
|
||||
|
||||
readline.clearScreenDown(strm);
|
||||
}
|
||||
|
||||
{
|
||||
let _rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
});
|
||||
let _boolean: boolean;
|
||||
|
||||
_rl = _rl.addListener("close", () => { });
|
||||
_rl = _rl.addListener("line", (input) => {
|
||||
const _input: string = input;
|
||||
});
|
||||
_rl = _rl.addListener("pause", () => { });
|
||||
_rl = _rl.addListener("resume", () => { });
|
||||
_rl = _rl.addListener("SIGCONT", () => { });
|
||||
_rl = _rl.addListener("SIGINT", () => { });
|
||||
_rl = _rl.addListener("SIGTSTP", () => { });
|
||||
|
||||
_boolean = _rl.emit("close", () => { });
|
||||
_boolean = _rl.emit("line", () => { });
|
||||
_boolean = _rl.emit("pause", () => { });
|
||||
_boolean = _rl.emit("resume", () => { });
|
||||
_boolean = _rl.emit("SIGCONT", () => { });
|
||||
_boolean = _rl.emit("SIGINT", () => { });
|
||||
_boolean = _rl.emit("SIGTSTP", () => { });
|
||||
|
||||
_rl = _rl.on("close", () => { });
|
||||
_rl = _rl.on("line", (input) => {
|
||||
const _input: any = input;
|
||||
});
|
||||
_rl = _rl.on("pause", () => { });
|
||||
_rl = _rl.on("resume", () => { });
|
||||
_rl = _rl.on("SIGCONT", () => { });
|
||||
_rl = _rl.on("SIGINT", () => { });
|
||||
_rl = _rl.on("SIGTSTP", () => { });
|
||||
|
||||
_rl = _rl.once("close", () => { });
|
||||
_rl = _rl.once("line", (input) => {
|
||||
const _input: any = input;
|
||||
});
|
||||
_rl = _rl.once("pause", () => { });
|
||||
_rl = _rl.once("resume", () => { });
|
||||
_rl = _rl.once("SIGCONT", () => { });
|
||||
_rl = _rl.once("SIGINT", () => { });
|
||||
_rl = _rl.once("SIGTSTP", () => { });
|
||||
|
||||
_rl = _rl.prependListener("close", () => { });
|
||||
_rl = _rl.prependListener("line", (input) => {
|
||||
const _input: any = input;
|
||||
});
|
||||
_rl = _rl.prependListener("pause", () => { });
|
||||
_rl = _rl.prependListener("resume", () => { });
|
||||
_rl = _rl.prependListener("SIGCONT", () => { });
|
||||
_rl = _rl.prependListener("SIGINT", () => { });
|
||||
_rl = _rl.prependListener("SIGTSTP", () => { });
|
||||
|
||||
_rl = _rl.prependOnceListener("close", () => { });
|
||||
_rl = _rl.prependOnceListener("line", (input) => {
|
||||
const _input: any = input;
|
||||
});
|
||||
_rl = _rl.prependOnceListener("pause", () => { });
|
||||
_rl = _rl.prependOnceListener("resume", () => { });
|
||||
_rl = _rl.prependOnceListener("SIGCONT", () => { });
|
||||
_rl = _rl.prependOnceListener("SIGINT", () => { });
|
||||
_rl = _rl.prependOnceListener("SIGTSTP", () => { });
|
||||
}
|
||||
|
||||
{
|
||||
(async () => {
|
||||
const result = readline.createInterface({
|
||||
input: process.stdin,
|
||||
});
|
||||
// Pending lib upgrade
|
||||
// for await (const line of result) {
|
||||
//
|
||||
// }
|
||||
});
|
||||
}
|
||||
73
types/node/v11/test/repl.ts
Normal file
73
types/node/v11/test/repl.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import { start, Recoverable } from "repl";
|
||||
import { Context } from "vm";
|
||||
|
||||
{
|
||||
let server = start();
|
||||
let _boolean: boolean;
|
||||
const _ctx: Context = {};
|
||||
|
||||
server.setupHistory('hurr/durr', (err, repl) => {
|
||||
});
|
||||
|
||||
server = server.addListener("exit", () => { });
|
||||
server = server.addListener("reset", () => { });
|
||||
|
||||
_boolean = server.emit("exit", () => { });
|
||||
_boolean = server.emit("reset", _ctx);
|
||||
|
||||
server = server.on("exit", () => { });
|
||||
server = server.on("reset", () => { });
|
||||
|
||||
server = server.once("exit", () => { });
|
||||
server = server.once("reset", () => { });
|
||||
|
||||
server = server.prependListener("exit", () => { });
|
||||
server = server.prependListener("reset", () => { });
|
||||
|
||||
server = server.prependOnceListener("exit", () => { });
|
||||
server = server.prependOnceListener("reset", () => { });
|
||||
|
||||
server.outputStream.write("test");
|
||||
const line = server.inputStream.read();
|
||||
|
||||
server.clearBufferedCommand();
|
||||
server.displayPrompt();
|
||||
server.displayPrompt(true);
|
||||
server.defineCommand("cmd", function(text) {
|
||||
// $ExpectType string
|
||||
text;
|
||||
// $ExpectType REPLServer
|
||||
this;
|
||||
});
|
||||
server.defineCommand("cmd", {
|
||||
help: "",
|
||||
action(text) {
|
||||
// $ExpectType string
|
||||
text;
|
||||
// $ExpectType REPLServer
|
||||
this;
|
||||
}
|
||||
});
|
||||
|
||||
start({
|
||||
eval() {
|
||||
// $ExpectType REPLServer
|
||||
this;
|
||||
},
|
||||
writer() {
|
||||
// $ExpectType REPLServer
|
||||
this;
|
||||
return "";
|
||||
}
|
||||
});
|
||||
|
||||
function test() {
|
||||
throw new Recoverable(new Error("test"));
|
||||
}
|
||||
|
||||
server.context['key0'] = 1;
|
||||
server.context['key1'] = "";
|
||||
server.context['key2'] = true;
|
||||
server.context['key3'] = [];
|
||||
server.context['key4'] = {};
|
||||
}
|
||||
194
types/node/v11/test/stream.ts
Normal file
194
types/node/v11/test/stream.ts
Normal file
@@ -0,0 +1,194 @@
|
||||
import { Readable, Writable, Transform, finished, pipeline, Duplex } from "stream";
|
||||
import { promisify } from "util";
|
||||
import { createReadStream, createWriteStream } from "fs";
|
||||
import { createGzip, constants } from "zlib";
|
||||
import { ok as assert } from 'assert';
|
||||
|
||||
// Simplified constructors
|
||||
function simplified_stream_ctor_test() {
|
||||
new Readable({
|
||||
read(size) {
|
||||
// $ExpectType Readable
|
||||
this;
|
||||
// $ExpectType number
|
||||
size;
|
||||
},
|
||||
destroy(error, cb) {
|
||||
// $ExpectType Error | null
|
||||
error;
|
||||
// $ExpectType (error: Error | null) => void
|
||||
cb;
|
||||
}
|
||||
});
|
||||
|
||||
new Writable({
|
||||
write(chunk, enc, cb) {
|
||||
// $ExpectType Writable
|
||||
this;
|
||||
// $ExpectType any
|
||||
chunk;
|
||||
// $ExpectType string
|
||||
enc;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
writev(chunks, cb) {
|
||||
// $ExpectType Writable
|
||||
this;
|
||||
// $ExpectType { chunk: any; encoding: string; }[]
|
||||
chunks;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
destroy(error, cb) {
|
||||
// $ExpectType Writable
|
||||
this;
|
||||
// $ExpectType Error | null
|
||||
error;
|
||||
// $ExpectType (error: Error | null) => void
|
||||
cb;
|
||||
},
|
||||
final(cb) {
|
||||
// $ExpectType Writable
|
||||
this;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
}
|
||||
});
|
||||
|
||||
new Duplex({
|
||||
read(size) {
|
||||
// $ExpectType Duplex
|
||||
this;
|
||||
// $ExpectType number
|
||||
size;
|
||||
},
|
||||
write(chunk, enc, cb) {
|
||||
// $ExpectType Duplex
|
||||
this;
|
||||
// $ExpectType any
|
||||
chunk;
|
||||
// $ExpectType string
|
||||
enc;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
writev(chunks, cb) {
|
||||
// $ExpectType Duplex
|
||||
this;
|
||||
// $ExpectType { chunk: any; encoding: string; }[]
|
||||
chunks;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
destroy(error, cb) {
|
||||
// $ExpectType Duplex
|
||||
this;
|
||||
// $ExpectType Error | null
|
||||
error;
|
||||
// $ExpectType (error: Error | null) => void
|
||||
cb;
|
||||
},
|
||||
final(cb) {
|
||||
// $ExpectType Duplex
|
||||
this;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
readableObjectMode: true,
|
||||
writableObjectMode: true
|
||||
});
|
||||
|
||||
new Transform({
|
||||
read(size) {
|
||||
// $ExpectType Transform
|
||||
this;
|
||||
// $ExpectType number
|
||||
size;
|
||||
},
|
||||
write(chunk, enc, cb) {
|
||||
// $ExpectType Transform
|
||||
this;
|
||||
// $ExpectType any
|
||||
chunk;
|
||||
// $ExpectType string
|
||||
enc;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
writev(chunks, cb) {
|
||||
// $ExpectType Transform
|
||||
this;
|
||||
// $ExpectType { chunk: any; encoding: string; }[]
|
||||
chunks;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
destroy(error, cb) {
|
||||
// $ExpectType Transform
|
||||
this;
|
||||
// $ExpectType Error | null
|
||||
error;
|
||||
// $ExpectType (error: Error | null) => void
|
||||
cb;
|
||||
},
|
||||
final(cb) {
|
||||
// $ExpectType Transform
|
||||
this;
|
||||
// $ExpectType (error?: Error | null | undefined) => void
|
||||
cb;
|
||||
},
|
||||
transform(chunk, enc, cb) {
|
||||
// $ExpectType Transform
|
||||
this;
|
||||
// $ExpectType any
|
||||
chunk;
|
||||
// $ExpectType string
|
||||
enc;
|
||||
// $ExpectType TransformCallback
|
||||
cb;
|
||||
},
|
||||
flush(cb) {
|
||||
// $ExpectType TransformCallback
|
||||
cb;
|
||||
},
|
||||
allowHalfOpen: true,
|
||||
readableObjectMode: true,
|
||||
writableObjectMode: true
|
||||
});
|
||||
}
|
||||
|
||||
function streamPipelineFinished() {
|
||||
const cancel = finished(process.stdin, (err?: Error | null) => {});
|
||||
cancel();
|
||||
|
||||
pipeline(process.stdin, process.stdout, (err?: Error | null) => {});
|
||||
}
|
||||
|
||||
async function asyncStreamPipelineFinished() {
|
||||
const fin = promisify(finished);
|
||||
await fin(process.stdin);
|
||||
|
||||
const pipe = promisify(pipeline);
|
||||
await pipe(process.stdin, process.stdout);
|
||||
}
|
||||
|
||||
// http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options
|
||||
function stream_readable_pipe_test() {
|
||||
const rs = createReadStream(Buffer.from('file.txt'));
|
||||
const r = createReadStream('file.txt');
|
||||
const z = createGzip({ finishFlush: constants.Z_FINISH });
|
||||
const w = createWriteStream('file.txt.gz');
|
||||
|
||||
assert(typeof z.bytesRead === 'number');
|
||||
assert(typeof r.bytesRead === 'number');
|
||||
assert(typeof r.path === 'string');
|
||||
assert(rs.path instanceof Buffer);
|
||||
|
||||
r.pipe(z).pipe(w);
|
||||
|
||||
z.flush();
|
||||
r.close();
|
||||
z.close();
|
||||
rs.close();
|
||||
}
|
||||
216
types/node/v11/test/tls.ts
Normal file
216
types/node/v11/test/tls.ts
Normal file
@@ -0,0 +1,216 @@
|
||||
import { createSecureContext, SecureContext, ConnectionOptions, connect, getCiphers, DEFAULT_ECDH_CURVE, createServer, TLSSocket } from "tls";
|
||||
import * as fs from "fs";
|
||||
|
||||
{
|
||||
const ctx: SecureContext = createSecureContext({
|
||||
key: "NOT REALLY A KEY",
|
||||
cert: "SOME CERTIFICATE",
|
||||
});
|
||||
const blah = ctx.context;
|
||||
|
||||
const connOpts: ConnectionOptions = {
|
||||
host: "127.0.0.1",
|
||||
port: 55
|
||||
};
|
||||
const tlsSocket = connect(connOpts);
|
||||
|
||||
const ciphers: string[] = getCiphers();
|
||||
const curve: string = DEFAULT_ECDH_CURVE;
|
||||
}
|
||||
|
||||
{
|
||||
const _server = createServer();
|
||||
|
||||
_server.addContext("example", {
|
||||
cert: fs.readFileSync("cert_filepath"),
|
||||
key: fs.readFileSync("key_filepath")
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
let _server = createServer({});
|
||||
let _boolean: boolean;
|
||||
const _func1 = (err: Error, resp: Buffer) => { };
|
||||
const _func2 = (err: Error, sessionData: Buffer) => { };
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. tlsClientError
|
||||
* 2. newSession
|
||||
* 3. OCSPRequest
|
||||
* 4. resumeSession
|
||||
* 5. secureConnection
|
||||
*/
|
||||
|
||||
_server = _server.addListener("tlsClientError", (err, tlsSocket) => {
|
||||
const _err: Error = err;
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
_server = _server.addListener("newSession", (sessionId, sessionData, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _sessionData: Buffer = sessionData;
|
||||
const _func1 = callback;
|
||||
});
|
||||
_server = _server.addListener("OCSPRequest", (certificate, issuer, callback) => {
|
||||
const _certificate: Buffer = certificate;
|
||||
const _issuer: Buffer = issuer;
|
||||
const _callback: Function = callback;
|
||||
});
|
||||
_server = _server.addListener("resumeSession", (sessionId, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _func2 = callback;
|
||||
});
|
||||
_server = _server.addListener("secureConnection", (tlsSocket) => {
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
|
||||
const _err: Error = new Error();
|
||||
const _tlsSocket: TLSSocket = connect(1);
|
||||
const _any: Buffer = Buffer.from('asd');
|
||||
const _func: Function = () => {};
|
||||
const _buffer: Buffer = Buffer.from('a');
|
||||
_boolean = _server.emit("tlsClientError", _err, _tlsSocket);
|
||||
_boolean = _server.emit("newSession", _any, _any, _func1);
|
||||
_boolean = _server.emit("OCSPRequest", _buffer, _buffer, _func);
|
||||
_boolean = _server.emit("resumeSession", _any, _func2);
|
||||
_boolean = _server.emit("secureConnection", _tlsSocket);
|
||||
|
||||
_server = _server.on("tlsClientError", (err, tlsSocket) => {
|
||||
const _err: Error = err;
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
_server = _server.on("newSession", (sessionId, sessionData, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _sessionData: Buffer = sessionData;
|
||||
const _func1 = callback;
|
||||
});
|
||||
_server = _server.on("OCSPRequest", (certificate, issuer, callback) => {
|
||||
const _certificate: Buffer = certificate;
|
||||
const _issuer: Buffer = issuer;
|
||||
const _callback: Function = callback;
|
||||
});
|
||||
_server = _server.on("resumeSession", (sessionId, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _func2 = callback;
|
||||
});
|
||||
_server = _server.on("secureConnection", (tlsSocket) => {
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
|
||||
_server = _server.once("tlsClientError", (err, tlsSocket) => {
|
||||
const _err: Error = err;
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
_server = _server.once("newSession", (sessionId, sessionData, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _sessionData: Buffer = sessionData;
|
||||
const _func1 = callback;
|
||||
});
|
||||
_server = _server.once("OCSPRequest", (certificate, issuer, callback) => {
|
||||
const _certificate: Buffer = certificate;
|
||||
const _issuer: Buffer = issuer;
|
||||
const _callback: Function = callback;
|
||||
});
|
||||
_server = _server.once("resumeSession", (sessionId, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _func2 = callback;
|
||||
});
|
||||
_server = _server.once("secureConnection", (tlsSocket) => {
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
|
||||
_server = _server.prependListener("tlsClientError", (err, tlsSocket) => {
|
||||
const _err: Error = err;
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
_server = _server.prependListener("newSession", (sessionId, sessionData, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _sessionData: Buffer = sessionData;
|
||||
const _func1 = callback;
|
||||
});
|
||||
_server = _server.prependListener("OCSPRequest", (certificate, issuer, callback) => {
|
||||
const _certificate: Buffer = certificate;
|
||||
const _issuer: Buffer = issuer;
|
||||
const _callback: Function = callback;
|
||||
});
|
||||
_server = _server.prependListener("resumeSession", (sessionId, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _func2 = callback;
|
||||
});
|
||||
_server = _server.prependListener("secureConnection", (tlsSocket) => {
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
|
||||
_server = _server.prependOnceListener("tlsClientError", (err, tlsSocket) => {
|
||||
const _err: Error = err;
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
_server = _server.prependOnceListener("newSession", (sessionId, sessionData, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _sessionData: Buffer = sessionData;
|
||||
const _func1 = callback;
|
||||
});
|
||||
_server = _server.prependOnceListener("OCSPRequest", (certificate, issuer, callback) => {
|
||||
const _certificate: Buffer = certificate;
|
||||
const _issuer: Buffer = issuer;
|
||||
const _callback: Function = callback;
|
||||
});
|
||||
_server = _server.prependOnceListener("resumeSession", (sessionId, callback) => {
|
||||
const _sessionId: Buffer = sessionId;
|
||||
const _func2 = callback;
|
||||
});
|
||||
_server = _server.prependOnceListener("secureConnection", (tlsSocket) => {
|
||||
const _tlsSocket: TLSSocket = tlsSocket;
|
||||
});
|
||||
|
||||
// close callback parameter is optional
|
||||
_server = _server.close();
|
||||
|
||||
// close callback parameter doesn't specify any arguments, so any
|
||||
// function is acceptable
|
||||
_server = _server.close(() => { });
|
||||
_server = _server.close((...args: any[]) => { });
|
||||
}
|
||||
|
||||
{
|
||||
let socket = connect({
|
||||
});
|
||||
let _boolean: boolean;
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. error
|
||||
* 3. listening
|
||||
* 4. message
|
||||
*/
|
||||
|
||||
socket = socket.addListener("OCSPResponse", (response) => {
|
||||
const _response: Buffer = response;
|
||||
});
|
||||
socket = socket.addListener("secureConnect", () => { });
|
||||
|
||||
const _buffer: Buffer = Buffer.from("");
|
||||
_boolean = socket.emit("OCSPResponse", _buffer);
|
||||
_boolean = socket.emit("secureConnect");
|
||||
|
||||
socket = socket.on("OCSPResponse", (response) => {
|
||||
const _response: Buffer = response;
|
||||
});
|
||||
socket = socket.on("secureConnect", () => { });
|
||||
|
||||
socket = socket.once("OCSPResponse", (response) => {
|
||||
const _response: Buffer = response;
|
||||
});
|
||||
socket = socket.once("secureConnect", () => { });
|
||||
|
||||
socket = socket.prependListener("OCSPResponse", (response) => {
|
||||
const _response: Buffer = response;
|
||||
});
|
||||
socket = socket.prependListener("secureConnect", () => { });
|
||||
|
||||
socket = socket.prependOnceListener("OCSPResponse", (response) => {
|
||||
const _response: Buffer = response;
|
||||
});
|
||||
socket = socket.prependOnceListener("secureConnect", () => { });
|
||||
|
||||
socket.once('session', (buff: Buffer) => {});
|
||||
}
|
||||
26
types/node/v11/test/tty.ts
Normal file
26
types/node/v11/test/tty.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import * as tty from 'tty';
|
||||
|
||||
const rs: tty.ReadStream = new tty.ReadStream();
|
||||
const ws: tty.WriteStream = new tty.WriteStream();
|
||||
|
||||
const rsIsRaw: boolean = rs.isRaw;
|
||||
rs.setRawMode(true);
|
||||
|
||||
const wsColumns: number = ws.columns;
|
||||
const wsRows: number = ws.rows;
|
||||
|
||||
ws.clearLine(-1);
|
||||
ws.clearLine(0);
|
||||
ws.clearLine(1);
|
||||
ws.clearScreenDown();
|
||||
ws.cursorTo(42, 42);
|
||||
ws.addListener('resize', () => {
|
||||
});
|
||||
ws.getColorDepth();
|
||||
ws.getColorDepth({
|
||||
});
|
||||
ws.clearScreenDown();
|
||||
ws.getWindowSize();
|
||||
const hasCOlors: boolean = ws.hasColors();
|
||||
|
||||
const isTTY: boolean = tty.isatty(1);
|
||||
180
types/node/v11/test/util.ts
Normal file
180
types/node/v11/test/util.ts
Normal file
@@ -0,0 +1,180 @@
|
||||
import * as util from 'util';
|
||||
import assert = require('assert');
|
||||
import { readFile } from 'fs';
|
||||
|
||||
{
|
||||
// Old and new util.inspect APIs
|
||||
util.inspect(["This is nice"], false, 5);
|
||||
util.inspect(["This is nice"], false, null);
|
||||
util.inspect(["This is nice"], {
|
||||
colors: true,
|
||||
depth: 5,
|
||||
customInspect: false,
|
||||
showProxy: true,
|
||||
maxArrayLength: 10,
|
||||
breakLength: 20,
|
||||
compact: true,
|
||||
sorted(a, b) {
|
||||
return b.localeCompare(a);
|
||||
},
|
||||
getters: false,
|
||||
});
|
||||
util.inspect(["This is nice"], {
|
||||
colors: true,
|
||||
depth: null,
|
||||
customInspect: false,
|
||||
showProxy: true,
|
||||
maxArrayLength: null,
|
||||
breakLength: Infinity,
|
||||
compact: false,
|
||||
sorted: true,
|
||||
getters: 'set',
|
||||
});
|
||||
util.inspect(["This is nice"], {
|
||||
compact: 42,
|
||||
});
|
||||
assert(typeof util.inspect.custom === 'symbol');
|
||||
|
||||
util.inspect.replDefaults = {
|
||||
colors: true,
|
||||
};
|
||||
|
||||
util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 });
|
||||
|
||||
// util.callbackify
|
||||
// tslint:disable-next-line no-unnecessary-class
|
||||
class callbackifyTest {
|
||||
static fn(): Promise<void> {
|
||||
assert(arguments.length === 0);
|
||||
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
static fnE(): Promise<void> {
|
||||
assert(arguments.length === 0);
|
||||
|
||||
return Promise.reject(new Error('fail'));
|
||||
}
|
||||
|
||||
static fnT1(arg1: string): Promise<void> {
|
||||
assert(arguments.length === 1 && arg1 === 'parameter');
|
||||
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
static fnT1E(arg1: string): Promise<void> {
|
||||
assert(arguments.length === 1 && arg1 === 'parameter');
|
||||
|
||||
return Promise.reject(new Error('fail'));
|
||||
}
|
||||
|
||||
static fnTResult(): Promise<string> {
|
||||
assert(arguments.length === 0);
|
||||
|
||||
return Promise.resolve('result');
|
||||
}
|
||||
|
||||
static fnTResultE(): Promise<string> {
|
||||
assert(arguments.length === 0);
|
||||
|
||||
return Promise.reject(new Error('fail'));
|
||||
}
|
||||
|
||||
static fnT1TResult(arg1: string): Promise<string> {
|
||||
assert(arguments.length === 1 && arg1 === 'parameter');
|
||||
|
||||
return Promise.resolve('result');
|
||||
}
|
||||
|
||||
static fnT1TResultE(arg1: string): Promise<string> {
|
||||
assert(arguments.length === 1 && arg1 === 'parameter');
|
||||
|
||||
return Promise.reject(new Error('fail'));
|
||||
}
|
||||
|
||||
static test(): void {
|
||||
const cfn = util.callbackify(callbackifyTest.fn);
|
||||
const cfnE = util.callbackify(callbackifyTest.fnE);
|
||||
const cfnT1 = util.callbackify(callbackifyTest.fnT1);
|
||||
const cfnT1E = util.callbackify(callbackifyTest.fnT1E);
|
||||
const cfnTResult = util.callbackify(callbackifyTest.fnTResult);
|
||||
const cfnTResultE = util.callbackify(callbackifyTest.fnTResultE);
|
||||
const cfnT1TResult = util.callbackify(callbackifyTest.fnT1TResult);
|
||||
const cfnT1TResultE = util.callbackify(callbackifyTest.fnT1TResultE);
|
||||
|
||||
cfn((err: NodeJS.ErrnoException | null, ...args: string[]) => assert(err === null && args.length === 1 && args[0] === undefined));
|
||||
cfnE((err: NodeJS.ErrnoException, ...args: string[]) => assert(err.message === 'fail' && args.length === 0));
|
||||
cfnT1('parameter', (err: NodeJS.ErrnoException | null, ...args: string[]) => assert(err === null && args.length === 1 && args[0] === undefined));
|
||||
cfnT1E('parameter', (err: NodeJS.ErrnoException, ...args: string[]) => assert(err.message === 'fail' && args.length === 0));
|
||||
cfnTResult((err: NodeJS.ErrnoException | null, ...args: string[]) => assert(err === null && args.length === 1 && args[0] === 'result'));
|
||||
cfnTResultE((err: NodeJS.ErrnoException, ...args: string[]) => assert(err.message === 'fail' && args.length === 0));
|
||||
cfnT1TResult('parameter', (err: NodeJS.ErrnoException | null, ...args: string[]) => assert(err === null && args.length === 1 && args[0] === 'result'));
|
||||
cfnT1TResultE('parameter', (err: NodeJS.ErrnoException, ...args: string[]) => assert(err.message === 'fail' && args.length === 0));
|
||||
}
|
||||
}
|
||||
callbackifyTest.test();
|
||||
|
||||
// util.promisify
|
||||
const readPromised = util.promisify(readFile);
|
||||
const sampleRead: Promise<any> = readPromised(__filename).then((data: Buffer): void => { }).catch((error: Error): void => { });
|
||||
const arg0: () => Promise<number> = util.promisify((cb: (err: Error, result: number) => void): void => { });
|
||||
const arg0NoResult: () => Promise<any> = util.promisify((cb: (err: Error) => void): void => { });
|
||||
const arg1: (arg: string) => Promise<number> = util.promisify((arg: string, cb: (err: Error, result: number) => void): void => { });
|
||||
const arg1NoResult: (arg: string) => Promise<any> = util.promisify((arg: string, cb: (err: Error) => void): void => { });
|
||||
const cbOptionalError: () => Promise<void | {}> = util.promisify((cb: (err?: Error) => void): void => { cb(); }); // tslint:disable-line void-return
|
||||
assert(typeof util.promisify.custom === 'symbol');
|
||||
// util.deprecate
|
||||
const foo = () => {};
|
||||
// $ExpectType () => void
|
||||
util.deprecate(foo, 'foo() is deprecated, use bar() instead');
|
||||
// $ExpectType <T extends Function>(fn: T, message: string) => T
|
||||
util.deprecate(util.deprecate, 'deprecate() is deprecated, use bar() instead');
|
||||
|
||||
// util.isDeepStrictEqual
|
||||
util.isDeepStrictEqual({foo: 'bar'}, {foo: 'bar'});
|
||||
|
||||
// util.TextDecoder()
|
||||
const td = new util.TextDecoder();
|
||||
new util.TextDecoder("utf-8");
|
||||
new util.TextDecoder("utf-8", { fatal: true });
|
||||
new util.TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
||||
const ignoreBom: boolean = td.ignoreBOM;
|
||||
const fatal: boolean = td.fatal;
|
||||
const encoding: string = td.encoding;
|
||||
td.decode(new Int8Array(1));
|
||||
td.decode(new Int16Array(1));
|
||||
td.decode(new Int32Array(1));
|
||||
td.decode(new Uint8Array(1));
|
||||
td.decode(new Uint16Array(1));
|
||||
td.decode(new Uint32Array(1));
|
||||
td.decode(new Uint8ClampedArray(1));
|
||||
td.decode(new Float32Array(1));
|
||||
td.decode(new Float64Array(1));
|
||||
td.decode(new DataView(new Int8Array(1).buffer));
|
||||
td.decode(new ArrayBuffer(1));
|
||||
td.decode(null);
|
||||
td.decode(null, { stream: true });
|
||||
td.decode(new Int8Array(1), { stream: true });
|
||||
const decode: string = td.decode(new Int8Array(1));
|
||||
|
||||
// util.TextEncoder()
|
||||
const te = new util.TextEncoder();
|
||||
const teEncoding: string = te.encoding;
|
||||
const teEncodeRes: Uint8Array = te.encode("TextEncoder");
|
||||
|
||||
// util.types
|
||||
let b: boolean;
|
||||
b = util.types.isBigInt64Array(15);
|
||||
b = util.types.isBigUint64Array(15);
|
||||
b = util.types.isModuleNamespaceObject(15);
|
||||
|
||||
// tslint:disable-next-line:no-construct ban-types
|
||||
const maybeBoxed: number | Number = new Number(1);
|
||||
if (util.types.isBoxedPrimitive(maybeBoxed)) {
|
||||
const boxed: Number = maybeBoxed;
|
||||
}
|
||||
const maybeBoxed2: number | Number = 1;
|
||||
if (!util.types.isBoxedPrimitive(maybeBoxed2)) {
|
||||
const boxed: number = maybeBoxed2;
|
||||
}
|
||||
}
|
||||
12
types/node/v11/test/v8.ts
Normal file
12
types/node/v11/test/v8.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as v8 from 'v8';
|
||||
import { Readable } from 'stream';
|
||||
|
||||
const heapStats = v8.getHeapStatistics();
|
||||
const heapSpaceStats = v8.getHeapSpaceStatistics();
|
||||
|
||||
const zapsGarbage: number = heapStats.does_zap_garbage;
|
||||
|
||||
v8.setFlagsFromString('--collect_maps');
|
||||
|
||||
const stream: Readable = v8.getHeapSnapshot();
|
||||
const fileName = v8.writeHeapSnapshot('file');
|
||||
49
types/node/v11/test/worker_threads.ts
Normal file
49
types/node/v11/test/worker_threads.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import * as workerThreads from "worker_threads";
|
||||
import assert = require("assert");
|
||||
import { worker } from "cluster";
|
||||
import { createContext } from "vm";
|
||||
|
||||
{
|
||||
if (workerThreads.isMainThread) {
|
||||
module.exports = async function parseJSAsync(script: string) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const worker = new workerThreads.Worker(__filename, {
|
||||
workerData: script
|
||||
});
|
||||
worker.on('message', resolve);
|
||||
worker.on('error', reject);
|
||||
worker.on('exit', (code) => {
|
||||
if (code !== 0)
|
||||
reject(new Error(`Worker stopped with exit code ${code}`));
|
||||
});
|
||||
});
|
||||
};
|
||||
} else {
|
||||
const script = workerThreads.workerData;
|
||||
workerThreads.parentPort!.postMessage(script);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
const { port1, port2 } = new workerThreads.MessageChannel();
|
||||
port1.on('message', (message) => console.log('received', message));
|
||||
port2.postMessage({ foo: 'bar' });
|
||||
}
|
||||
|
||||
{
|
||||
if (workerThreads.isMainThread) {
|
||||
const worker = new workerThreads.Worker(__filename);
|
||||
const subChannel = new workerThreads.MessageChannel();
|
||||
worker.postMessage({ hereIsYourPort: subChannel.port1 }, [subChannel.port1]);
|
||||
subChannel.port2.on('message', (value) => {
|
||||
console.log('received:', value);
|
||||
});
|
||||
worker.moveMessagePortToContext(new workerThreads.MessagePort(), createContext());
|
||||
} else {
|
||||
workerThreads.parentPort!.once('message', (value) => {
|
||||
assert(value.hereIsYourPort instanceof workerThreads.MessagePort);
|
||||
value.hereIsYourPort.postMessage('the worker is sending this');
|
||||
value.hereIsYourPort.close();
|
||||
});
|
||||
}
|
||||
}
|
||||
120
types/node/v11/test/zlib.ts
Normal file
120
types/node/v11/test/zlib.ts
Normal file
@@ -0,0 +1,120 @@
|
||||
import {
|
||||
deflate,
|
||||
inflate,
|
||||
inflateSync,
|
||||
deflateSync,
|
||||
deflateRaw,
|
||||
inflateRaw,
|
||||
inflateRawSync,
|
||||
deflateRawSync,
|
||||
gunzip,
|
||||
gzip,
|
||||
gunzipSync,
|
||||
gzipSync,
|
||||
unzip,
|
||||
unzipSync,
|
||||
constants,
|
||||
createBrotliCompress,
|
||||
BrotliOptions,
|
||||
createBrotliDecompress,
|
||||
BrotliCompress,
|
||||
BrotliDecompress,
|
||||
brotliCompress,
|
||||
brotliDecompressSync,
|
||||
brotliDecompress,
|
||||
} from "zlib";
|
||||
|
||||
const compressMe = new Buffer("some data");
|
||||
const compressMeString = "compress me!";
|
||||
|
||||
// Deflate / Inflate
|
||||
|
||||
deflate(compressMe, (err: Error | null, result: Buffer) => inflate(result, (err: Error | null, result: Buffer) => result));
|
||||
deflate(
|
||||
compressMe,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => inflate(
|
||||
result,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => result
|
||||
)
|
||||
);
|
||||
deflate(compressMeString, (err: Error | null, result: Buffer) => inflate(result, (err: Error | null, result: Buffer) => result));
|
||||
deflate(
|
||||
compressMeString,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => inflate(
|
||||
result,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => result
|
||||
)
|
||||
);
|
||||
const inflated = inflateSync(deflateSync(compressMe));
|
||||
const inflatedString = inflateSync(deflateSync(compressMeString));
|
||||
|
||||
deflateRaw(compressMe, (err: Error | null, result: Buffer) => inflateRaw(result, (err: Error | null, result: Buffer) => result));
|
||||
deflateRaw(
|
||||
compressMe,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => inflateRaw(
|
||||
result, { finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => result
|
||||
)
|
||||
);
|
||||
deflateRaw(compressMeString, (err: Error | null, result: Buffer) => inflateRaw(result, (err: Error | null, result: Buffer) => result));
|
||||
deflateRaw(
|
||||
compressMeString,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => inflateRaw(result, { finishFlush: constants.Z_SYNC_FLUSH }, (err: Error | null, result: Buffer) => result),
|
||||
);
|
||||
const inflatedRaw: Buffer = inflateRawSync(deflateRawSync(compressMe));
|
||||
const inflatedRawString: Buffer = inflateRawSync(deflateRawSync(compressMeString));
|
||||
|
||||
// gzip
|
||||
|
||||
gzip(compressMe, (err: Error | null, result: Buffer) => gunzip(result, (err: Error | null, result: Buffer) => result));
|
||||
gzip(
|
||||
compressMe,
|
||||
{ finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => gunzip(
|
||||
result, { finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => result
|
||||
)
|
||||
);
|
||||
const gunzipped: Buffer = gunzipSync(gzipSync(compressMe));
|
||||
|
||||
unzip(compressMe, (err: Error | null, result: Buffer) => result);
|
||||
unzip(compressMe, { finishFlush: constants.Z_SYNC_FLUSH }, (err: Error | null, result: Buffer) => result);
|
||||
const unzipped: Buffer = unzipSync(compressMe);
|
||||
|
||||
const bOpts: BrotliOptions = {
|
||||
chunkSize: 123,
|
||||
flush: 123123,
|
||||
params: {
|
||||
[constants.BROTLI_PARAM_LARGE_WINDOW]: true,
|
||||
[constants.BROTLI_PARAM_NPOSTFIX]: 123,
|
||||
},
|
||||
finishFlush: 123123,
|
||||
};
|
||||
|
||||
// brotli
|
||||
|
||||
let bC: BrotliCompress = createBrotliCompress();
|
||||
bC = createBrotliCompress(bOpts);
|
||||
let bD: BrotliDecompress = createBrotliDecompress();
|
||||
bD = createBrotliDecompress(bOpts);
|
||||
// gzip
|
||||
|
||||
brotliCompress(compressMe, (err: Error | null, result: Buffer) => gunzip(result, (err: Error | null, result: Buffer) => result));
|
||||
brotliCompress(
|
||||
compressMe,
|
||||
{ finishFlush: constants.BROTLI_OPERATION_FINISH },
|
||||
(err: Error | null, result: Buffer) => gunzip(
|
||||
result, { finishFlush: constants.Z_SYNC_FLUSH },
|
||||
(err: Error | null, result: Buffer) => result
|
||||
)
|
||||
);
|
||||
const brotlied: Buffer = brotliDecompressSync(brotliDecompressSync(compressMe));
|
||||
|
||||
brotliDecompress(compressMe, (err: Error | null, result: Buffer) => result);
|
||||
brotliDecompress(compressMe, { finishFlush: constants.BROTLI_OPERATION_FINISH }, (err: Error | null, result: Buffer) => result);
|
||||
16
types/node/v11/timers.d.ts
vendored
Normal file
16
types/node/v11/timers.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
declare module "timers" {
|
||||
function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout;
|
||||
namespace setTimeout {
|
||||
function __promisify__(ms: number): Promise<void>;
|
||||
function __promisify__<T>(ms: number, value: T): Promise<T>;
|
||||
}
|
||||
function clearTimeout(timeoutId: NodeJS.Timeout): void;
|
||||
function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout;
|
||||
function clearInterval(intervalId: NodeJS.Timeout): void;
|
||||
function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate;
|
||||
namespace setImmediate {
|
||||
function __promisify__(): Promise<void>;
|
||||
function __promisify__<T>(value: T): Promise<T>;
|
||||
}
|
||||
function clearImmediate(immediateId: NodeJS.Immediate): void;
|
||||
}
|
||||
397
types/node/v11/tls.d.ts
vendored
Normal file
397
types/node/v11/tls.d.ts
vendored
Normal file
@@ -0,0 +1,397 @@
|
||||
declare module "tls" {
|
||||
import * as crypto from "crypto";
|
||||
import * as dns from "dns";
|
||||
import * as net from "net";
|
||||
import * as stream from "stream";
|
||||
|
||||
const CLIENT_RENEG_LIMIT: number;
|
||||
const CLIENT_RENEG_WINDOW: number;
|
||||
|
||||
interface Certificate {
|
||||
/**
|
||||
* Country code.
|
||||
*/
|
||||
C: string;
|
||||
/**
|
||||
* Street.
|
||||
*/
|
||||
ST: string;
|
||||
/**
|
||||
* Locality.
|
||||
*/
|
||||
L: string;
|
||||
/**
|
||||
* Organization.
|
||||
*/
|
||||
O: string;
|
||||
/**
|
||||
* Organizational unit.
|
||||
*/
|
||||
OU: string;
|
||||
/**
|
||||
* Common name.
|
||||
*/
|
||||
CN: string;
|
||||
}
|
||||
|
||||
interface PeerCertificate {
|
||||
subject: Certificate;
|
||||
issuer: Certificate;
|
||||
subjectaltname: string;
|
||||
infoAccess: { [index: string]: string[] | undefined };
|
||||
modulus: string;
|
||||
exponent: string;
|
||||
valid_from: string;
|
||||
valid_to: string;
|
||||
fingerprint: string;
|
||||
ext_key_usage: string[];
|
||||
serialNumber: string;
|
||||
raw: Buffer;
|
||||
}
|
||||
|
||||
interface DetailedPeerCertificate extends PeerCertificate {
|
||||
issuerCertificate: DetailedPeerCertificate;
|
||||
}
|
||||
|
||||
interface CipherNameAndProtocol {
|
||||
/**
|
||||
* The cipher name.
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* SSL/TLS protocol version.
|
||||
*/
|
||||
version: string;
|
||||
}
|
||||
|
||||
class TLSSocket extends net.Socket {
|
||||
/**
|
||||
* Construct a new tls.TLSSocket object from an existing TCP socket.
|
||||
*/
|
||||
constructor(socket: net.Socket, options?: {
|
||||
/**
|
||||
* An optional TLS context object from tls.createSecureContext()
|
||||
*/
|
||||
secureContext?: SecureContext,
|
||||
/**
|
||||
* If true the TLS socket will be instantiated in server-mode.
|
||||
* Defaults to false.
|
||||
*/
|
||||
isServer?: boolean,
|
||||
/**
|
||||
* An optional net.Server instance.
|
||||
*/
|
||||
server?: net.Server,
|
||||
/**
|
||||
* If true the server will request a certificate from clients that
|
||||
* connect and attempt to verify that certificate. Defaults to
|
||||
* false.
|
||||
*/
|
||||
requestCert?: boolean,
|
||||
/**
|
||||
* If true the server will reject any connection which is not
|
||||
* authorized with the list of supplied CAs. This option only has an
|
||||
* effect if requestCert is true. Defaults to false.
|
||||
*/
|
||||
rejectUnauthorized?: boolean,
|
||||
/**
|
||||
* An array of strings or a Buffer naming possible NPN protocols.
|
||||
* (Protocols should be ordered by their priority.)
|
||||
*/
|
||||
NPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array,
|
||||
/**
|
||||
* An array of strings or a Buffer naming possible ALPN protocols.
|
||||
* (Protocols should be ordered by their priority.) When the server
|
||||
* receives both NPN and ALPN extensions from the client, ALPN takes
|
||||
* precedence over NPN and the server does not send an NPN extension
|
||||
* to the client.
|
||||
*/
|
||||
ALPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array,
|
||||
/**
|
||||
* SNICallback(servername, cb) <Function> A function that will be
|
||||
* called if the client supports SNI TLS extension. Two arguments
|
||||
* will be passed when called: servername and cb. SNICallback should
|
||||
* invoke cb(null, ctx), where ctx is a SecureContext instance.
|
||||
* (tls.createSecureContext(...) can be used to get a proper
|
||||
* SecureContext.) If SNICallback wasn't provided the default callback
|
||||
* with high-level API will be used (see below).
|
||||
*/
|
||||
SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void,
|
||||
/**
|
||||
* An optional Buffer instance containing a TLS session.
|
||||
*/
|
||||
session?: Buffer,
|
||||
/**
|
||||
* If true, specifies that the OCSP status request extension will be
|
||||
* added to the client hello and an 'OCSPResponse' event will be
|
||||
* emitted on the socket before establishing a secure communication
|
||||
*/
|
||||
requestOCSP?: boolean
|
||||
});
|
||||
|
||||
/**
|
||||
* A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false.
|
||||
*/
|
||||
authorized: boolean;
|
||||
/**
|
||||
* The reason why the peer's certificate has not been verified.
|
||||
* This property becomes available only when tlsSocket.authorized === false.
|
||||
*/
|
||||
authorizationError: Error;
|
||||
/**
|
||||
* Static boolean value, always true.
|
||||
* May be used to distinguish TLS sockets from regular ones.
|
||||
*/
|
||||
encrypted: boolean;
|
||||
|
||||
/**
|
||||
* String containing the selected ALPN protocol.
|
||||
* When ALPN has no selected protocol, tlsSocket.alpnProtocol equals false.
|
||||
*/
|
||||
alpnProtocol?: string;
|
||||
|
||||
/**
|
||||
* Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection.
|
||||
* @returns Returns an object representing the cipher name
|
||||
* and the SSL/TLS protocol version of the current connection.
|
||||
*/
|
||||
getCipher(): CipherNameAndProtocol;
|
||||
/**
|
||||
* Returns an object representing the peer's certificate.
|
||||
* The returned object has some properties corresponding to the field of the certificate.
|
||||
* If detailed argument is true the full chain with issuer property will be returned,
|
||||
* if false only the top certificate without issuer property.
|
||||
* If the peer does not provide a certificate, it returns null or an empty object.
|
||||
* @param detailed - If true; the full chain with issuer property will be returned.
|
||||
* @returns An object representing the peer's certificate.
|
||||
*/
|
||||
getPeerCertificate(detailed: true): DetailedPeerCertificate;
|
||||
getPeerCertificate(detailed?: false): PeerCertificate;
|
||||
getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate;
|
||||
/**
|
||||
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
|
||||
* The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process.
|
||||
* The value `null` will be returned for server sockets or disconnected client sockets.
|
||||
* See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information.
|
||||
* @returns negotiated SSL/TLS protocol version of the current connection
|
||||
*/
|
||||
getProtocol(): string | null;
|
||||
/**
|
||||
* Could be used to speed up handshake establishment when reconnecting to the server.
|
||||
* @returns ASN.1 encoded TLS session or undefined if none was negotiated.
|
||||
*/
|
||||
getSession(): Buffer | undefined;
|
||||
/**
|
||||
* NOTE: Works only with client TLS sockets.
|
||||
* Useful only for debugging, for session reuse provide session option to tls.connect().
|
||||
* @returns TLS session ticket or undefined if none was negotiated.
|
||||
*/
|
||||
getTLSTicket(): Buffer | undefined;
|
||||
/**
|
||||
* Initiate TLS renegotiation process.
|
||||
*
|
||||
* NOTE: Can be used to request peer's certificate after the secure connection has been established.
|
||||
* ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout.
|
||||
* @param options - The options may contain the following fields: rejectUnauthorized,
|
||||
* requestCert (See tls.createServer() for details).
|
||||
* @param callback - callback(err) will be executed with null as err, once the renegotiation
|
||||
* is successfully completed.
|
||||
* @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated.
|
||||
*/
|
||||
renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): undefined | boolean;
|
||||
/**
|
||||
* Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512).
|
||||
* Smaller fragment size decreases buffering latency on the client: large fragments are buffered by
|
||||
* the TLS layer until the entire fragment is received and its integrity is verified;
|
||||
* large fragments can span multiple roundtrips, and their processing can be delayed due to packet
|
||||
* loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead,
|
||||
* which may decrease overall server throughput.
|
||||
* @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512).
|
||||
* @returns Returns true on success, false otherwise.
|
||||
*/
|
||||
setMaxSendFragment(size: number): boolean;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. OCSPResponse
|
||||
* 2. secureConnect
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this;
|
||||
addListener(event: "secureConnect", listener: () => void): this;
|
||||
addListener(event: "session", listener: (session: Buffer) => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "OCSPResponse", response: Buffer): boolean;
|
||||
emit(event: "secureConnect"): boolean;
|
||||
emit(event: "session", session: Buffer): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "OCSPResponse", listener: (response: Buffer) => void): this;
|
||||
on(event: "secureConnect", listener: () => void): this;
|
||||
on(event: "session", listener: (session: Buffer) => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "OCSPResponse", listener: (response: Buffer) => void): this;
|
||||
once(event: "secureConnect", listener: () => void): this;
|
||||
once(event: "session", listener: (session: Buffer) => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this;
|
||||
prependListener(event: "secureConnect", listener: () => void): this;
|
||||
prependListener(event: "session", listener: (session: Buffer) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this;
|
||||
prependOnceListener(event: "secureConnect", listener: () => void): this;
|
||||
prependOnceListener(event: "session", listener: (session: Buffer) => void): this;
|
||||
}
|
||||
|
||||
interface TlsOptions extends SecureContextOptions {
|
||||
handshakeTimeout?: number;
|
||||
requestCert?: boolean;
|
||||
rejectUnauthorized?: boolean;
|
||||
NPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array;
|
||||
ALPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array;
|
||||
SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void;
|
||||
sessionTimeout?: number;
|
||||
ticketKeys?: Buffer;
|
||||
}
|
||||
|
||||
interface ConnectionOptions extends SecureContextOptions {
|
||||
host?: string;
|
||||
port?: number;
|
||||
path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored.
|
||||
socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket
|
||||
rejectUnauthorized?: boolean; // Defaults to true
|
||||
NPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array;
|
||||
ALPNProtocols?: string[] | Buffer[] | Uint8Array[] | Buffer | Uint8Array;
|
||||
checkServerIdentity?: typeof checkServerIdentity;
|
||||
servername?: string; // SNI TLS Extension
|
||||
session?: Buffer;
|
||||
minDHSize?: number;
|
||||
secureContext?: SecureContext; // If not provided, the entire ConnectionOptions object will be passed to tls.createSecureContext()
|
||||
lookup?: net.LookupFunction;
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
class Server extends net.Server {
|
||||
addContext(hostName: string, credentials: SecureContextOptions): void;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. tlsClientError
|
||||
* 2. newSession
|
||||
* 3. OCSPRequest
|
||||
* 4. resumeSession
|
||||
* 5. secureConnection
|
||||
*/
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
|
||||
addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
|
||||
addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
|
||||
addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
|
||||
addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean;
|
||||
emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean;
|
||||
emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean;
|
||||
emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean;
|
||||
emit(event: "secureConnection", tlsSocket: TLSSocket): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
|
||||
on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
|
||||
on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
|
||||
on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
|
||||
on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
|
||||
once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
|
||||
once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
|
||||
once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
|
||||
once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
|
||||
prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
|
||||
prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
|
||||
prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
|
||||
prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this;
|
||||
prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
|
||||
prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
|
||||
prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
|
||||
prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this;
|
||||
}
|
||||
|
||||
interface SecurePair {
|
||||
encrypted: TLSSocket;
|
||||
cleartext: TLSSocket;
|
||||
}
|
||||
|
||||
type SecureVersion = 'TLSv1.2' | 'TLSv1.1' | 'TLSv1';
|
||||
|
||||
interface SecureContextOptions {
|
||||
pfx?: string | Buffer | Array<string | Buffer | Object>;
|
||||
key?: string | Buffer | Array<Buffer | Object>;
|
||||
passphrase?: string;
|
||||
cert?: string | Buffer | Array<string | Buffer>;
|
||||
ca?: string | Buffer | Array<string | Buffer>;
|
||||
ciphers?: string;
|
||||
honorCipherOrder?: boolean;
|
||||
ecdhCurve?: string;
|
||||
clientCertEngine?: string;
|
||||
crl?: string | Buffer | Array<string | Buffer>;
|
||||
dhparam?: string | Buffer;
|
||||
secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options
|
||||
secureProtocol?: string; // SSL Method, e.g. SSLv23_method
|
||||
sessionIdContext?: string;
|
||||
/**
|
||||
* Optionally set the maximum TLS version to allow. One
|
||||
* of `TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the
|
||||
* `secureProtocol` option, use one or the other. **Default:** `'TLSv1.2'`.
|
||||
*/
|
||||
maxVersion?: SecureVersion;
|
||||
/**
|
||||
* Optionally set the minimum TLS version to allow. One
|
||||
* of `TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the
|
||||
* `secureProtocol` option, use one or the other. It is not recommended to use
|
||||
* less than TLSv1.2, but it may be required for interoperability.
|
||||
* **Default:** `'TLSv1.2'`, unless changed using CLI options. Using
|
||||
* `--tls-v1.0` changes the default to `'TLSv1'`. Using `--tls-v1.1` changes
|
||||
* the default to `'TLSv1.1'`.
|
||||
*/
|
||||
minVersion?: SecureVersion;
|
||||
}
|
||||
|
||||
interface SecureContext {
|
||||
context: any;
|
||||
}
|
||||
|
||||
/*
|
||||
* Verifies the certificate `cert` is issued to host `host`.
|
||||
* @host The hostname to verify the certificate against
|
||||
* @cert PeerCertificate representing the peer's certificate
|
||||
*
|
||||
* Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined.
|
||||
*/
|
||||
function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined;
|
||||
function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server;
|
||||
function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server;
|
||||
function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;
|
||||
function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;
|
||||
function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair;
|
||||
function createSecureContext(details: SecureContextOptions): SecureContext;
|
||||
function getCiphers(): string[];
|
||||
|
||||
const DEFAULT_ECDH_CURVE: string;
|
||||
}
|
||||
61
types/node/v11/trace_events.d.ts
vendored
Normal file
61
types/node/v11/trace_events.d.ts
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
declare module "trace_events" {
|
||||
/**
|
||||
* The `Tracing` object is used to enable or disable tracing for sets of
|
||||
* categories. Instances are created using the
|
||||
* `trace_events.createTracing()` method.
|
||||
*
|
||||
* When created, the `Tracing` object is disabled. Calling the
|
||||
* `tracing.enable()` method adds the categories to the set of enabled trace
|
||||
* event categories. Calling `tracing.disable()` will remove the categories
|
||||
* from the set of enabled trace event categories.
|
||||
*/
|
||||
export interface Tracing {
|
||||
/**
|
||||
* A comma-separated list of the trace event categories covered by this
|
||||
* `Tracing` object.
|
||||
*/
|
||||
readonly categories: string;
|
||||
|
||||
/**
|
||||
* Disables this `Tracing` object.
|
||||
*
|
||||
* Only trace event categories _not_ covered by other enabled `Tracing`
|
||||
* objects and _not_ specified by the `--trace-event-categories` flag
|
||||
* will be disabled.
|
||||
*/
|
||||
disable(): void;
|
||||
|
||||
/**
|
||||
* Enables this `Tracing` object for the set of categories covered by
|
||||
* the `Tracing` object.
|
||||
*/
|
||||
enable(): void;
|
||||
|
||||
/**
|
||||
* `true` only if the `Tracing` object has been enabled.
|
||||
*/
|
||||
readonly enabled: boolean;
|
||||
}
|
||||
|
||||
interface CreateTracingOptions {
|
||||
/**
|
||||
* An array of trace category names. Values included in the array are
|
||||
* coerced to a string when possible. An error will be thrown if the
|
||||
* value cannot be coerced.
|
||||
*/
|
||||
categories: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a Tracing object for the given set of categories.
|
||||
*/
|
||||
export function createTracing(options: CreateTracingOptions): Tracing;
|
||||
|
||||
/**
|
||||
* Returns a comma-separated list of all currently-enabled trace event
|
||||
* categories. The current set of enabled trace event categories is
|
||||
* determined by the union of all currently-enabled `Tracing` objects and
|
||||
* any categories enabled using the `--trace-event-categories` flag.
|
||||
*/
|
||||
export function getEnabledCategories(): string;
|
||||
}
|
||||
8
types/node/v11/ts3.2/globals.d.ts
vendored
Normal file
8
types/node/v11/ts3.2/globals.d.ts
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
// tslint:disable-next-line:no-bad-reference
|
||||
/// <reference path="../globals.d.ts" />
|
||||
|
||||
declare namespace NodeJS {
|
||||
interface HRTime {
|
||||
bigint(): bigint;
|
||||
}
|
||||
}
|
||||
20
types/node/v11/ts3.2/index.d.ts
vendored
Normal file
20
types/node/v11/ts3.2/index.d.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
// NOTE: These definitions support NodeJS and TypeScript 3.2.
|
||||
|
||||
// NOTE: TypeScript version-specific augmentations can be found in the following paths:
|
||||
// - ~/base.d.ts - Shared definitions common to all TypeScript versions
|
||||
// - ~/index.d.ts - Definitions specific to TypeScript 2.1
|
||||
// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2
|
||||
|
||||
// Reference required types from the default lib:
|
||||
/// <reference lib="es2018" />
|
||||
/// <reference lib="esnext.asynciterable" />
|
||||
/// <reference lib="esnext.intl" />
|
||||
/// <reference lib="esnext.bigint" />
|
||||
|
||||
// Base definitions for all NodeJS modules that are not specific to any version of TypeScript:
|
||||
// tslint:disable-next-line:no-bad-reference
|
||||
/// <reference path="../base.d.ts" />
|
||||
|
||||
// TypeScript 3.2-specific augmentations:
|
||||
/// <reference path="util.d.ts" />
|
||||
/// <reference path="globals.d.ts" />
|
||||
53
types/node/v11/ts3.2/node-tests.ts
Normal file
53
types/node/v11/ts3.2/node-tests.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
// tslint:disable-next-line:no-bad-reference
|
||||
import '../node-tests';
|
||||
import '../assert';
|
||||
import '../buffer';
|
||||
import '../child_process';
|
||||
import '../cluster';
|
||||
import '../crypto';
|
||||
import '../dgram';
|
||||
import '../global';
|
||||
import '../http';
|
||||
import '../http2';
|
||||
import '../net';
|
||||
import '../os';
|
||||
import '../path';
|
||||
import '../perf_hooks';
|
||||
import '../process';
|
||||
import '../querystring';
|
||||
import '../readline';
|
||||
import '../repl';
|
||||
import '../stream';
|
||||
import '../tls';
|
||||
import '../tty';
|
||||
import '../util';
|
||||
import '../worker_threads';
|
||||
import '../zlib';
|
||||
|
||||
import { types } from 'util';
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
/// Global Tests : https://nodejs.org/api/global.html ///
|
||||
//////////////////////////////////////////////////////////
|
||||
{
|
||||
const hrtimeBigint: bigint = process.hrtime.bigint();
|
||||
|
||||
process.allowedNodeEnvironmentFlags.has('asdf');
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
/// Util Tests ///
|
||||
//////////////////////////////////////////////////////////
|
||||
{
|
||||
const value: BigInt64Array | BigUint64Array | number = [] as any;
|
||||
if (types.isBigInt64Array(value)) {
|
||||
// $ExpectType BigInt64Array
|
||||
const b = value;
|
||||
} else if (types.isBigUint64Array(value)) {
|
||||
// $ExpectType BigUint64Array
|
||||
const b = value;
|
||||
} else {
|
||||
// $ExpectType number
|
||||
const b = value;
|
||||
}
|
||||
}
|
||||
30
types/node/v11/ts3.2/tsconfig.json
Normal file
30
types/node/v11/ts3.2/tsconfig.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"node-tests.ts"
|
||||
],
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../../../",
|
||||
"typeRoots": [
|
||||
"../../../"
|
||||
],
|
||||
"paths": {
|
||||
"node": [
|
||||
"node/v11"
|
||||
]
|
||||
},
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
}
|
||||
}
|
||||
10
types/node/v11/ts3.2/tslint.json
Normal file
10
types/node/v11/ts3.2/tslint.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json",
|
||||
"rules": {
|
||||
"ban-types": false,
|
||||
"unified-signatures": false,
|
||||
"no-empty-interface": false,
|
||||
"no-single-declare-module": false,
|
||||
"strict-export-declare-modifiers": false // http2 needs this
|
||||
}
|
||||
}
|
||||
15
types/node/v11/ts3.2/util.d.ts
vendored
Normal file
15
types/node/v11/ts3.2/util.d.ts
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
// tslint:disable-next-line:no-bad-reference
|
||||
/// <reference path="../util.d.ts" />
|
||||
|
||||
declare module "util" {
|
||||
namespace inspect {
|
||||
const custom: unique symbol;
|
||||
}
|
||||
namespace promisify {
|
||||
const custom: unique symbol;
|
||||
}
|
||||
namespace types {
|
||||
function isBigInt64Array(value: any): value is BigInt64Array;
|
||||
function isBigUint64Array(value: any): value is BigUint64Array;
|
||||
}
|
||||
}
|
||||
97
types/node/v11/tsconfig.json
Normal file
97
types/node/v11/tsconfig.json
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"base.d.ts",
|
||||
"globals.d.ts",
|
||||
"assert.d.ts",
|
||||
"async_hooks.d.ts",
|
||||
"buffer.d.ts",
|
||||
"child_process.d.ts",
|
||||
"cluster.d.ts",
|
||||
"console.d.ts",
|
||||
"constants.d.ts",
|
||||
"crypto.d.ts",
|
||||
"dgram.d.ts",
|
||||
"dns.d.ts",
|
||||
"domain.d.ts",
|
||||
"events.d.ts",
|
||||
"fs.d.ts",
|
||||
"http.d.ts",
|
||||
"http2.d.ts",
|
||||
"https.d.ts",
|
||||
"inspector.d.ts",
|
||||
"module.d.ts",
|
||||
"net.d.ts",
|
||||
"os.d.ts",
|
||||
"path.d.ts",
|
||||
"perf_hooks.d.ts",
|
||||
"process.d.ts",
|
||||
"punycode.d.ts",
|
||||
"querystring.d.ts",
|
||||
"readline.d.ts",
|
||||
"repl.d.ts",
|
||||
"stream.d.ts",
|
||||
"string_decoder.d.ts",
|
||||
"timers.d.ts",
|
||||
"tls.d.ts",
|
||||
"trace_events.d.ts",
|
||||
"tty.d.ts",
|
||||
"url.d.ts",
|
||||
"util.d.ts",
|
||||
"v8.d.ts",
|
||||
"vm.d.ts",
|
||||
"worker_threads.d.ts",
|
||||
"zlib.d.ts",
|
||||
|
||||
"node-tests.ts",
|
||||
"test/assert.ts",
|
||||
"test/buffer.ts",
|
||||
"test/child_process.ts",
|
||||
"test/cluster.ts",
|
||||
"test/crypto.ts",
|
||||
"test/dgram.ts",
|
||||
"test/events.ts",
|
||||
"test/global.ts",
|
||||
"test/http.ts",
|
||||
"test/http2.ts",
|
||||
"test/net.ts",
|
||||
"test/os.ts",
|
||||
"test/path.ts",
|
||||
"test/perf_hooks.ts",
|
||||
"test/process.ts",
|
||||
"test/querystring.ts",
|
||||
"test/readline.ts",
|
||||
"test/repl.ts",
|
||||
"test/stream.ts",
|
||||
"test/tls.ts",
|
||||
"test/tty.ts",
|
||||
"test/util.ts",
|
||||
"test/v8.ts",
|
||||
"test/worker_threads.ts",
|
||||
"test/zlib.ts"
|
||||
],
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../../",
|
||||
"typeRoots": [
|
||||
"../../"
|
||||
],
|
||||
"paths": {
|
||||
"node": [
|
||||
"node/v11"
|
||||
]
|
||||
},
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
}
|
||||
}
|
||||
10
types/node/v11/tslint.json
Normal file
10
types/node/v11/tslint.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json",
|
||||
"rules": {
|
||||
"ban-types": false,
|
||||
"unified-signatures": false,
|
||||
"no-empty-interface": false,
|
||||
"no-single-declare-module": false,
|
||||
"strict-export-declare-modifiers": false // http2 needs this
|
||||
}
|
||||
}
|
||||
50
types/node/v11/tty.d.ts
vendored
Normal file
50
types/node/v11/tty.d.ts
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
declare module "tty" {
|
||||
import * as net from "net";
|
||||
|
||||
function isatty(fd: number): boolean;
|
||||
class ReadStream extends net.Socket {
|
||||
isRaw: boolean;
|
||||
setRawMode(mode: boolean): void;
|
||||
isTTY: boolean;
|
||||
}
|
||||
/**
|
||||
* -1 - to the left from cursor
|
||||
* 0 - the entire line
|
||||
* 1 - to the right from cursor
|
||||
*/
|
||||
type Direction = -1 | 0 | 1;
|
||||
class WriteStream extends net.Socket {
|
||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||
addListener(event: "resize", listener: () => void): this;
|
||||
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
emit(event: "resize"): boolean;
|
||||
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
on(event: "resize", listener: () => void): this;
|
||||
|
||||
once(event: string, listener: (...args: any[]) => void): this;
|
||||
once(event: "resize", listener: () => void): this;
|
||||
|
||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependListener(event: "resize", listener: () => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||
prependOnceListener(event: "resize", listener: () => void): this;
|
||||
|
||||
clearLine(dir: Direction): void;
|
||||
clearScreenDown(): void;
|
||||
cursorTo(x: number, y: number): void;
|
||||
/**
|
||||
* @default `process.env`
|
||||
*/
|
||||
getColorDepth(env?: {}): number;
|
||||
hasColors(depth?: number): boolean;
|
||||
hasColors(env?: {}): boolean;
|
||||
hasColors(depth: number, env?: {}): boolean;
|
||||
getWindowSize(): [number, number];
|
||||
columns: number;
|
||||
rows: number;
|
||||
isTTY: boolean;
|
||||
}
|
||||
}
|
||||
104
types/node/v11/url.d.ts
vendored
Normal file
104
types/node/v11/url.d.ts
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
declare module "url" {
|
||||
import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring';
|
||||
|
||||
interface UrlObjectCommon {
|
||||
auth?: string;
|
||||
hash?: string;
|
||||
host?: string;
|
||||
hostname?: string;
|
||||
href?: string;
|
||||
path?: string;
|
||||
pathname?: string;
|
||||
protocol?: string;
|
||||
search?: string;
|
||||
slashes?: boolean;
|
||||
}
|
||||
|
||||
// Input to `url.format`
|
||||
interface UrlObject extends UrlObjectCommon {
|
||||
port?: string | number;
|
||||
query?: string | null | ParsedUrlQueryInput;
|
||||
}
|
||||
|
||||
// Output of `url.parse`
|
||||
interface Url extends UrlObjectCommon {
|
||||
port?: string;
|
||||
query?: string | null | ParsedUrlQuery;
|
||||
}
|
||||
|
||||
interface UrlWithParsedQuery extends Url {
|
||||
query: ParsedUrlQuery;
|
||||
}
|
||||
|
||||
interface UrlWithStringQuery extends Url {
|
||||
query: string | null;
|
||||
}
|
||||
|
||||
function parse(urlStr: string): UrlWithStringQuery;
|
||||
function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery;
|
||||
function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;
|
||||
function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url;
|
||||
|
||||
function format(URL: URL, options?: URLFormatOptions): string;
|
||||
function format(urlObject: UrlObject | string): string;
|
||||
function resolve(from: string, to: string): string;
|
||||
|
||||
function domainToASCII(domain: string): string;
|
||||
function domainToUnicode(domain: string): string;
|
||||
|
||||
/**
|
||||
* This function ensures the correct decodings of percent-encoded characters as
|
||||
* well as ensuring a cross-platform valid absolute path string.
|
||||
* @param url The file URL string or URL object to convert to a path.
|
||||
*/
|
||||
function fileURLToPath(url: string | URL): string;
|
||||
|
||||
/**
|
||||
* This function ensures that path is resolved absolutely, and that the URL
|
||||
* control characters are correctly encoded when converting into a File URL.
|
||||
* @param url The path to convert to a File URL.
|
||||
*/
|
||||
function pathToFileURL(url: string): URL;
|
||||
|
||||
interface URLFormatOptions {
|
||||
auth?: boolean;
|
||||
fragment?: boolean;
|
||||
search?: boolean;
|
||||
unicode?: boolean;
|
||||
}
|
||||
|
||||
class URL {
|
||||
constructor(input: string, base?: string | URL);
|
||||
hash: string;
|
||||
host: string;
|
||||
hostname: string;
|
||||
href: string;
|
||||
readonly origin: string;
|
||||
password: string;
|
||||
pathname: string;
|
||||
port: string;
|
||||
protocol: string;
|
||||
search: string;
|
||||
readonly searchParams: URLSearchParams;
|
||||
username: string;
|
||||
toString(): string;
|
||||
toJSON(): string;
|
||||
}
|
||||
|
||||
class URLSearchParams implements Iterable<[string, string]> {
|
||||
constructor(init?: URLSearchParams | string | { [key: string]: string | string[] | undefined } | Iterable<[string, string]> | Array<[string, string]>);
|
||||
append(name: string, value: string): void;
|
||||
delete(name: string): void;
|
||||
entries(): IterableIterator<[string, string]>;
|
||||
forEach(callback: (value: string, name: string, searchParams: this) => void): void;
|
||||
get(name: string): string | null;
|
||||
getAll(name: string): string[];
|
||||
has(name: string): boolean;
|
||||
keys(): IterableIterator<string>;
|
||||
set(name: string, value: string): void;
|
||||
sort(): void;
|
||||
toString(): string;
|
||||
values(): IterableIterator<string>;
|
||||
[Symbol.iterator](): IterableIterator<[string, string]>;
|
||||
}
|
||||
}
|
||||
173
types/node/v11/util.d.ts
vendored
Normal file
173
types/node/v11/util.d.ts
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
declare module "util" {
|
||||
interface InspectOptions extends NodeJS.InspectOptions { }
|
||||
function format(format: any, ...param: any[]): string;
|
||||
function formatWithOptions(inspectOptions: InspectOptions, format: string, ...param: any[]): string;
|
||||
/** @deprecated since v0.11.3 - use `console.error()` instead. */
|
||||
function debug(string: string): void;
|
||||
/** @deprecated since v0.11.3 - use `console.error()` instead. */
|
||||
function error(...param: any[]): void;
|
||||
/** @deprecated since v0.11.3 - use `console.log()` instead. */
|
||||
function puts(...param: any[]): void;
|
||||
/** @deprecated since v0.11.3 - use `console.log()` instead. */
|
||||
function print(...param: any[]): void;
|
||||
/** @deprecated since v0.11.3 - use a third party module instead. */
|
||||
function log(string: string): void;
|
||||
function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string;
|
||||
function inspect(object: any, options: InspectOptions): string;
|
||||
namespace inspect {
|
||||
let colors: {
|
||||
[color: string]: [number, number] | undefined
|
||||
};
|
||||
let styles: {
|
||||
[style: string]: string | undefined
|
||||
};
|
||||
let defaultOptions: InspectOptions;
|
||||
/**
|
||||
* Allows changing inspect settings from the repl.
|
||||
*/
|
||||
let replDefaults: InspectOptions;
|
||||
}
|
||||
/** @deprecated since v4.0.0 - use `Array.isArray()` instead. */
|
||||
function isArray(object: any): object is any[];
|
||||
/** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */
|
||||
function isRegExp(object: any): object is RegExp;
|
||||
/** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */
|
||||
function isDate(object: any): object is Date;
|
||||
/** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */
|
||||
function isError(object: any): object is Error;
|
||||
function inherits(constructor: any, superConstructor: any): void;
|
||||
function debuglog(key: string): (msg: string, ...param: any[]) => void;
|
||||
/** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */
|
||||
function isBoolean(object: any): object is boolean;
|
||||
/** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */
|
||||
function isBuffer(object: any): object is Buffer;
|
||||
/** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */
|
||||
function isFunction(object: any): boolean;
|
||||
/** @deprecated since v4.0.0 - use `value === null` instead. */
|
||||
function isNull(object: any): object is null;
|
||||
/** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */
|
||||
function isNullOrUndefined(object: any): object is null | undefined;
|
||||
/** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */
|
||||
function isNumber(object: any): object is number;
|
||||
/** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */
|
||||
function isObject(object: any): boolean;
|
||||
/** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */
|
||||
function isPrimitive(object: any): boolean;
|
||||
/** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */
|
||||
function isString(object: any): object is string;
|
||||
/** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */
|
||||
function isSymbol(object: any): object is symbol;
|
||||
/** @deprecated since v4.0.0 - use `value === undefined` instead. */
|
||||
function isUndefined(object: any): object is undefined;
|
||||
function deprecate<T extends Function>(fn: T, message: string): T;
|
||||
function isDeepStrictEqual(val1: any, val2: any): boolean;
|
||||
|
||||
interface CustomPromisify<TCustom extends Function> extends Function {
|
||||
__promisify__: TCustom;
|
||||
}
|
||||
|
||||
function callbackify(fn: () => Promise<void>): (callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<TResult>(fn: () => Promise<TResult>): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void;
|
||||
function callbackify<T1>(fn: (arg1: T1) => Promise<void>): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<T1, TResult>(fn: (arg1: T1) => Promise<TResult>): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void;
|
||||
function callbackify<T1, T2>(fn: (arg1: T1, arg2: T2) => Promise<void>): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<T1, T2, TResult>(fn: (arg1: T1, arg2: T2) => Promise<TResult>): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;
|
||||
function callbackify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<T1, T2, T3, TResult>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;
|
||||
function callbackify<T1, T2, T3, T4>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<T1, T2, T3, T4, TResult>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;
|
||||
function callbackify<T1, T2, T3, T4, T5>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<T1, T2, T3, T4, T5, TResult>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>,
|
||||
): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;
|
||||
function callbackify<T1, T2, T3, T4, T5, T6>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>,
|
||||
): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void;
|
||||
function callbackify<T1, T2, T3, T4, T5, T6, TResult>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>
|
||||
): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void;
|
||||
|
||||
function promisify<TCustom extends Function>(fn: CustomPromisify<TCustom>): TCustom;
|
||||
function promisify<TResult>(fn: (callback: (err: Error | null, result: TResult) => void) => void): () => Promise<TResult>;
|
||||
function promisify(fn: (callback: (err?: Error) => void) => void): () => Promise<void>;
|
||||
function promisify<T1, TResult>(fn: (arg1: T1, callback: (err: Error | null, result: TResult) => void) => void): (arg1: T1) => Promise<TResult>;
|
||||
function promisify<T1>(fn: (arg1: T1, callback: (err?: Error) => void) => void): (arg1: T1) => Promise<void>;
|
||||
function promisify<T1, T2, TResult>(fn: (arg1: T1, arg2: T2, callback: (err: Error | null, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise<TResult>;
|
||||
function promisify<T1, T2>(fn: (arg1: T1, arg2: T2, callback: (err?: Error) => void) => void): (arg1: T1, arg2: T2) => Promise<void>;
|
||||
function promisify<T1, T2, T3, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: Error | null, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>;
|
||||
function promisify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: Error) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<void>;
|
||||
function promisify<T1, T2, T3, T4, TResult>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: Error | null, result: TResult) => void) => void,
|
||||
): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>;
|
||||
function promisify<T1, T2, T3, T4>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: Error) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>;
|
||||
function promisify<T1, T2, T3, T4, T5, TResult>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: Error | null, result: TResult) => void) => void,
|
||||
): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>;
|
||||
function promisify<T1, T2, T3, T4, T5>(
|
||||
fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: Error) => void) => void,
|
||||
): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>;
|
||||
function promisify(fn: Function): Function;
|
||||
|
||||
namespace types {
|
||||
function isAnyArrayBuffer(object: any): boolean;
|
||||
function isArgumentsObject(object: any): object is IArguments;
|
||||
function isArrayBuffer(object: any): object is ArrayBuffer;
|
||||
function isAsyncFunction(object: any): boolean;
|
||||
function isBooleanObject(object: any): object is Boolean;
|
||||
function isBoxedPrimitive(object: any): object is (Number | Boolean | String | Symbol /* | Object(BigInt) | Object(Symbol) */);
|
||||
function isDataView(object: any): object is DataView;
|
||||
function isDate(object: any): object is Date;
|
||||
function isExternal(object: any): boolean;
|
||||
function isFloat32Array(object: any): object is Float32Array;
|
||||
function isFloat64Array(object: any): object is Float64Array;
|
||||
function isGeneratorFunction(object: any): boolean;
|
||||
function isGeneratorObject(object: any): boolean;
|
||||
function isInt8Array(object: any): object is Int8Array;
|
||||
function isInt16Array(object: any): object is Int16Array;
|
||||
function isInt32Array(object: any): object is Int32Array;
|
||||
function isMap(object: any): boolean;
|
||||
function isMapIterator(object: any): boolean;
|
||||
function isModuleNamespaceObject(value: any): boolean;
|
||||
function isNativeError(object: any): object is Error;
|
||||
function isNumberObject(object: any): object is Number;
|
||||
function isPromise(object: any): boolean;
|
||||
function isProxy(object: any): boolean;
|
||||
function isRegExp(object: any): object is RegExp;
|
||||
function isSet(object: any): boolean;
|
||||
function isSetIterator(object: any): boolean;
|
||||
function isSharedArrayBuffer(object: any): boolean;
|
||||
function isStringObject(object: any): boolean;
|
||||
function isSymbolObject(object: any): boolean;
|
||||
function isTypedArray(object: any): object is NodeJS.TypedArray;
|
||||
function isUint8Array(object: any): object is Uint8Array;
|
||||
function isUint8ClampedArray(object: any): object is Uint8ClampedArray;
|
||||
function isUint16Array(object: any): object is Uint16Array;
|
||||
function isUint32Array(object: any): object is Uint32Array;
|
||||
function isWeakMap(object: any): boolean;
|
||||
function isWeakSet(object: any): boolean;
|
||||
function isWebAssemblyCompiledModule(object: any): boolean;
|
||||
}
|
||||
|
||||
class TextDecoder {
|
||||
readonly encoding: string;
|
||||
readonly fatal: boolean;
|
||||
readonly ignoreBOM: boolean;
|
||||
constructor(
|
||||
encoding?: string,
|
||||
options?: { fatal?: boolean; ignoreBOM?: boolean }
|
||||
);
|
||||
decode(
|
||||
input?: NodeJS.TypedArray | DataView | ArrayBuffer | null,
|
||||
options?: { stream?: boolean }
|
||||
): string;
|
||||
}
|
||||
|
||||
class TextEncoder {
|
||||
readonly encoding: string;
|
||||
encode(input?: string): Uint8Array;
|
||||
}
|
||||
}
|
||||
50
types/node/v11/v8.d.ts
vendored
Normal file
50
types/node/v11/v8.d.ts
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
declare module "v8" {
|
||||
import { Readable } from "stream";
|
||||
|
||||
interface HeapSpaceInfo {
|
||||
space_name: string;
|
||||
space_size: number;
|
||||
space_used_size: number;
|
||||
space_available_size: number;
|
||||
physical_space_size: number;
|
||||
}
|
||||
|
||||
// ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */
|
||||
type DoesZapCodeSpaceFlag = 0 | 1;
|
||||
|
||||
interface HeapInfo {
|
||||
total_heap_size: number;
|
||||
total_heap_size_executable: number;
|
||||
total_physical_size: number;
|
||||
total_available_size: number;
|
||||
used_heap_size: number;
|
||||
heap_size_limit: number;
|
||||
malloced_memory: number;
|
||||
peak_malloced_memory: number;
|
||||
does_zap_garbage: DoesZapCodeSpaceFlag;
|
||||
}
|
||||
|
||||
function getHeapStatistics(): HeapInfo;
|
||||
function getHeapSpaceStatistics(): HeapSpaceInfo[];
|
||||
function setFlagsFromString(flags: string): void;
|
||||
/**
|
||||
* Generates a snapshot of the current V8 heap and returns a Readable
|
||||
* Stream that may be used to read the JSON serialized representation.
|
||||
* This conversation was marked as resolved by joyeecheung
|
||||
* This JSON stream format is intended to be used with tools such as
|
||||
* Chrome DevTools. The JSON schema is undocumented and specific to the
|
||||
* V8 engine, and may change from one version of V8 to the next.
|
||||
*/
|
||||
function getHeapSnapshot(): Readable;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param fileName The file path where the V8 heap snapshot is to be
|
||||
* saved. If not specified, a file name with the pattern
|
||||
* `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be
|
||||
* generated, where `{pid}` will be the PID of the Node.js process,
|
||||
* `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from
|
||||
* the main Node.js thread or the id of a worker thread.
|
||||
*/
|
||||
function writeHeapSnapshot(fileName?: string): string;
|
||||
}
|
||||
64
types/node/v11/vm.d.ts
vendored
Normal file
64
types/node/v11/vm.d.ts
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
declare module "vm" {
|
||||
interface Context {
|
||||
[key: string]: any;
|
||||
}
|
||||
interface BaseOptions {
|
||||
/**
|
||||
* Specifies the filename used in stack traces produced by this script.
|
||||
* Default: `''`.
|
||||
*/
|
||||
filename?: string;
|
||||
/**
|
||||
* Specifies the line number offset that is displayed in stack traces produced by this script.
|
||||
* Default: `0`.
|
||||
*/
|
||||
lineOffset?: number;
|
||||
/**
|
||||
* Specifies the column number offset that is displayed in stack traces produced by this script.
|
||||
* Default: `0`
|
||||
*/
|
||||
columnOffset?: number;
|
||||
}
|
||||
interface ScriptOptions extends BaseOptions {
|
||||
displayErrors?: boolean;
|
||||
timeout?: number;
|
||||
cachedData?: Buffer;
|
||||
produceCachedData?: boolean;
|
||||
}
|
||||
interface RunningScriptOptions extends BaseOptions {
|
||||
displayErrors?: boolean;
|
||||
timeout?: number;
|
||||
}
|
||||
interface CompileFunctionOptions extends BaseOptions {
|
||||
/**
|
||||
* Provides an optional data with V8's code cache data for the supplied source.
|
||||
*/
|
||||
cachedData?: Buffer;
|
||||
/**
|
||||
* Specifies whether to produce new cache data.
|
||||
* Default: `false`,
|
||||
*/
|
||||
produceCachedData?: boolean;
|
||||
/**
|
||||
* The sandbox/context in which the said function should be compiled in.
|
||||
*/
|
||||
parsingContext?: Context;
|
||||
|
||||
/**
|
||||
* An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling
|
||||
*/
|
||||
contextExtensions?: Object[];
|
||||
}
|
||||
class Script {
|
||||
constructor(code: string, options?: ScriptOptions);
|
||||
runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any;
|
||||
runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any;
|
||||
runInThisContext(options?: RunningScriptOptions): any;
|
||||
}
|
||||
function createContext(sandbox?: Context): Context;
|
||||
function isContext(sandbox: Context): boolean;
|
||||
function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any;
|
||||
function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any;
|
||||
function runInThisContext(code: string, options?: RunningScriptOptions | string): any;
|
||||
function compileFunction(code: string, params: string[], options: CompileFunctionOptions): Function;
|
||||
}
|
||||
141
types/node/v11/worker_threads.d.ts
vendored
Normal file
141
types/node/v11/worker_threads.d.ts
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
declare module "worker_threads" {
|
||||
import { Context } from "vm";
|
||||
import { EventEmitter } from "events";
|
||||
import { Readable, Writable } from "stream";
|
||||
|
||||
const isMainThread: boolean;
|
||||
const parentPort: null | MessagePort;
|
||||
const threadId: number;
|
||||
const workerData: any;
|
||||
|
||||
class MessageChannel {
|
||||
readonly port1: MessagePort;
|
||||
readonly port2: MessagePort;
|
||||
}
|
||||
|
||||
class MessagePort extends EventEmitter {
|
||||
close(): void;
|
||||
postMessage(value: any, transferList?: Array<ArrayBuffer | MessagePort>): void;
|
||||
ref(): void;
|
||||
unref(): void;
|
||||
start(): void;
|
||||
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "message", listener: (value: any) => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "message", value: any): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "message", listener: (value: any) => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "message", listener: (value: any) => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "message", listener: (value: any) => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "message", listener: (value: any) => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
removeListener(event: "close", listener: () => void): this;
|
||||
removeListener(event: "message", listener: (value: any) => void): this;
|
||||
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
off(event: "close", listener: () => void): this;
|
||||
off(event: "message", listener: (value: any) => void): this;
|
||||
off(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
interface WorkerOptions {
|
||||
eval?: boolean;
|
||||
workerData?: any;
|
||||
stdin?: boolean;
|
||||
stdout?: boolean;
|
||||
stderr?: boolean;
|
||||
execArgv?: string[];
|
||||
}
|
||||
|
||||
class Worker extends EventEmitter {
|
||||
readonly stdin: Writable | null;
|
||||
readonly stdout: Readable;
|
||||
readonly stderr: Readable;
|
||||
readonly threadId: number;
|
||||
|
||||
constructor(filename: string, options?: WorkerOptions);
|
||||
|
||||
postMessage(value: any, transferList?: Array<ArrayBuffer | MessagePort>): void;
|
||||
ref(): void;
|
||||
unref(): void;
|
||||
terminate(callback?: (err: Error, exitCode: number) => void): void;
|
||||
/**
|
||||
* Transfer a `MessagePort` to a different `vm` Context. The original `port`
|
||||
* object will be rendered unusable, and the returned `MessagePort` instance will
|
||||
* take its place.
|
||||
*
|
||||
* The returned `MessagePort` will be an object in the target context, and will
|
||||
* inherit from its global `Object` class. Objects passed to the
|
||||
* `port.onmessage()` listener will also be created in the target context
|
||||
* and inherit from its global `Object` class.
|
||||
*
|
||||
* However, the created `MessagePort` will no longer inherit from
|
||||
* `EventEmitter`, and only `port.onmessage()` can be used to receive
|
||||
* events using it.
|
||||
*/
|
||||
moveMessagePortToContext(port: MessagePort, context: Context): MessagePort;
|
||||
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "exit", listener: (exitCode: number) => void): this;
|
||||
addListener(event: "message", listener: (value: any) => void): this;
|
||||
addListener(event: "online", listener: () => void): this;
|
||||
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "exit", exitCode: number): boolean;
|
||||
emit(event: "message", value: any): boolean;
|
||||
emit(event: "online"): boolean;
|
||||
emit(event: string | symbol, ...args: any[]): boolean;
|
||||
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "exit", listener: (exitCode: number) => void): this;
|
||||
on(event: "message", listener: (value: any) => void): this;
|
||||
on(event: "online", listener: () => void): this;
|
||||
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "exit", listener: (exitCode: number) => void): this;
|
||||
once(event: "message", listener: (value: any) => void): this;
|
||||
once(event: "online", listener: () => void): this;
|
||||
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "exit", listener: (exitCode: number) => void): this;
|
||||
prependListener(event: "message", listener: (value: any) => void): this;
|
||||
prependListener(event: "online", listener: () => void): this;
|
||||
prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "exit", listener: (exitCode: number) => void): this;
|
||||
prependOnceListener(event: "message", listener: (value: any) => void): this;
|
||||
prependOnceListener(event: "online", listener: () => void): this;
|
||||
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
removeListener(event: "error", listener: (err: Error) => void): this;
|
||||
removeListener(event: "exit", listener: (exitCode: number) => void): this;
|
||||
removeListener(event: "message", listener: (value: any) => void): this;
|
||||
removeListener(event: "online", listener: () => void): this;
|
||||
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
|
||||
off(event: "error", listener: (err: Error) => void): this;
|
||||
off(event: "exit", listener: (exitCode: number) => void): this;
|
||||
off(event: "message", listener: (value: any) => void): this;
|
||||
off(event: "online", listener: () => void): this;
|
||||
off(event: string | symbol, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
}
|
||||
352
types/node/v11/zlib.d.ts
vendored
Normal file
352
types/node/v11/zlib.d.ts
vendored
Normal file
@@ -0,0 +1,352 @@
|
||||
declare module "zlib" {
|
||||
import * as stream from "stream";
|
||||
|
||||
interface ZlibOptions {
|
||||
/**
|
||||
* @default constants.Z_NO_FLUSH
|
||||
*/
|
||||
flush?: number;
|
||||
/**
|
||||
* @default constants.Z_FINISH
|
||||
*/
|
||||
finishFlush?: number;
|
||||
/**
|
||||
* @default 16*1024
|
||||
*/
|
||||
chunkSize?: number;
|
||||
windowBits?: number;
|
||||
level?: number; // compression only
|
||||
memLevel?: number; // compression only
|
||||
strategy?: number; // compression only
|
||||
dictionary?: Buffer | NodeJS.TypedArray | DataView | ArrayBuffer; // deflate/inflate only, empty dictionary by default
|
||||
}
|
||||
|
||||
interface BrotliOptions {
|
||||
/**
|
||||
* @default constants.BROTLI_OPERATION_PROCESS
|
||||
*/
|
||||
flush?: number;
|
||||
/**
|
||||
* @default constants.BROTLI_OPERATION_FINISH
|
||||
*/
|
||||
finishFlush?: number;
|
||||
/**
|
||||
* @default 16*1024
|
||||
*/
|
||||
chunkSize?: number;
|
||||
params?: {
|
||||
/**
|
||||
* Each key is a `constants.BROTLI_*` constant.
|
||||
*/
|
||||
[key: number]: boolean | number;
|
||||
};
|
||||
}
|
||||
|
||||
interface Zlib {
|
||||
/** @deprecated Use bytesWritten instead. */
|
||||
readonly bytesRead: number;
|
||||
readonly bytesWritten: number;
|
||||
shell?: boolean | string;
|
||||
close(callback?: () => void): void;
|
||||
flush(kind?: number | (() => void), callback?: () => void): void;
|
||||
}
|
||||
|
||||
interface ZlibParams {
|
||||
params(level: number, strategy: number, callback: () => void): void;
|
||||
}
|
||||
|
||||
interface ZlibReset {
|
||||
reset(): void;
|
||||
}
|
||||
|
||||
interface BrotliCompress extends stream.Transform, Zlib { }
|
||||
interface BrotliDecompress extends stream.Transform, Zlib { }
|
||||
interface Gzip extends stream.Transform, Zlib { }
|
||||
interface Gunzip extends stream.Transform, Zlib { }
|
||||
interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { }
|
||||
interface Inflate extends stream.Transform, Zlib, ZlibReset { }
|
||||
interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { }
|
||||
interface InflateRaw extends stream.Transform, Zlib, ZlibReset { }
|
||||
interface Unzip extends stream.Transform, Zlib { }
|
||||
|
||||
function createBrotliCompress(options?: BrotliOptions): BrotliCompress;
|
||||
function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress;
|
||||
function createGzip(options?: ZlibOptions): Gzip;
|
||||
function createGunzip(options?: ZlibOptions): Gunzip;
|
||||
function createDeflate(options?: ZlibOptions): Deflate;
|
||||
function createInflate(options?: ZlibOptions): Inflate;
|
||||
function createDeflateRaw(options?: ZlibOptions): DeflateRaw;
|
||||
function createInflateRaw(options?: ZlibOptions): InflateRaw;
|
||||
function createUnzip(options?: ZlibOptions): Unzip;
|
||||
|
||||
type InputType = string | Buffer | DataView | ArrayBuffer | NodeJS.TypedArray;
|
||||
|
||||
type CompressCallback = (error: Error | null, result: Buffer) => void;
|
||||
|
||||
function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void;
|
||||
function brotliCompress(buf: InputType, callback: CompressCallback): void;
|
||||
function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer;
|
||||
function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void;
|
||||
function brotliDecompress(buf: InputType, callback: CompressCallback): void;
|
||||
function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer;
|
||||
function deflate(buf: InputType, callback: CompressCallback): void;
|
||||
function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function deflateSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
function deflateRaw(buf: InputType, callback: CompressCallback): void;
|
||||
function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
function gzip(buf: InputType, callback: CompressCallback): void;
|
||||
function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function gzipSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
function gunzip(buf: InputType, callback: CompressCallback): void;
|
||||
function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
function inflate(buf: InputType, callback: CompressCallback): void;
|
||||
function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function inflateSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
function inflateRaw(buf: InputType, callback: CompressCallback): void;
|
||||
function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
function unzip(buf: InputType, callback: CompressCallback): void;
|
||||
function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void;
|
||||
function unzipSync(buf: InputType, options?: ZlibOptions): Buffer;
|
||||
|
||||
namespace constants {
|
||||
const BROTLI_DECODE: number;
|
||||
const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number;
|
||||
const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number;
|
||||
const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number;
|
||||
const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number;
|
||||
const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number;
|
||||
const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number;
|
||||
const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number;
|
||||
const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number;
|
||||
const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number;
|
||||
const BROTLI_DECODER_ERROR_UNREACHABLE: number;
|
||||
const BROTLI_DECODER_NEEDS_MORE_INPUT: number;
|
||||
const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number;
|
||||
const BROTLI_DECODER_NO_ERROR: number;
|
||||
const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number;
|
||||
const BROTLI_DECODER_PARAM_LARGE_WINDOW: number;
|
||||
const BROTLI_DECODER_RESULT_ERROR: number;
|
||||
const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number;
|
||||
const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number;
|
||||
const BROTLI_DECODER_RESULT_SUCCESS: number;
|
||||
const BROTLI_DECODER_SUCCESS: number;
|
||||
|
||||
const BROTLI_DEFAULT_MODE: number;
|
||||
const BROTLI_DEFAULT_QUALITY: number;
|
||||
const BROTLI_DEFAULT_WINDOW: number;
|
||||
const BROTLI_ENCODE: number;
|
||||
const BROTLI_LARGE_MAX_WINDOW_BITS: number;
|
||||
const BROTLI_MAX_INPUT_BLOCK_BITS: number;
|
||||
const BROTLI_MAX_QUALITY: number;
|
||||
const BROTLI_MAX_WINDOW_BITS: number;
|
||||
const BROTLI_MIN_INPUT_BLOCK_BITS: number;
|
||||
const BROTLI_MIN_QUALITY: number;
|
||||
const BROTLI_MIN_WINDOW_BITS: number;
|
||||
|
||||
const BROTLI_MODE_FONT: number;
|
||||
const BROTLI_MODE_GENERIC: number;
|
||||
const BROTLI_MODE_TEXT: number;
|
||||
|
||||
const BROTLI_OPERATION_EMIT_METADATA: number;
|
||||
const BROTLI_OPERATION_FINISH: number;
|
||||
const BROTLI_OPERATION_FLUSH: number;
|
||||
const BROTLI_OPERATION_PROCESS: number;
|
||||
|
||||
const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number;
|
||||
const BROTLI_PARAM_LARGE_WINDOW: number;
|
||||
const BROTLI_PARAM_LGBLOCK: number;
|
||||
const BROTLI_PARAM_LGWIN: number;
|
||||
const BROTLI_PARAM_MODE: number;
|
||||
const BROTLI_PARAM_NDIRECT: number;
|
||||
const BROTLI_PARAM_NPOSTFIX: number;
|
||||
const BROTLI_PARAM_QUALITY: number;
|
||||
const BROTLI_PARAM_SIZE_HINT: number;
|
||||
|
||||
const DEFLATE: number;
|
||||
const DEFLATERAW: number;
|
||||
const GUNZIP: number;
|
||||
const GZIP: number;
|
||||
const INFLATE: number;
|
||||
const INFLATERAW: number;
|
||||
const UNZIP: number;
|
||||
|
||||
const Z_BEST_COMPRESSION: number;
|
||||
const Z_BEST_SPEED: number;
|
||||
const Z_BLOCK: number;
|
||||
const Z_BUF_ERROR: number;
|
||||
const Z_DATA_ERROR: number;
|
||||
|
||||
const Z_DEFAULT_CHUNK: number;
|
||||
const Z_DEFAULT_COMPRESSION: number;
|
||||
const Z_DEFAULT_LEVEL: number;
|
||||
const Z_DEFAULT_MEMLEVEL: number;
|
||||
const Z_DEFAULT_STRATEGY: number;
|
||||
const Z_DEFAULT_WINDOWBITS: number;
|
||||
|
||||
const Z_ERRNO: number;
|
||||
const Z_FILTERED: number;
|
||||
const Z_FINISH: number;
|
||||
const Z_FIXED: number;
|
||||
const Z_FULL_FLUSH: number;
|
||||
const Z_HUFFMAN_ONLY: number;
|
||||
const Z_MAX_CHUNK: number;
|
||||
const Z_MAX_LEVEL: number;
|
||||
const Z_MAX_MEMLEVEL: number;
|
||||
const Z_MAX_WINDOWBITS: number;
|
||||
const Z_MEM_ERROR: number;
|
||||
const Z_MIN_CHUNK: number;
|
||||
const Z_MIN_LEVEL: number;
|
||||
const Z_MIN_MEMLEVEL: number;
|
||||
const Z_MIN_WINDOWBITS: number;
|
||||
const Z_NEED_DICT: number;
|
||||
const Z_NO_COMPRESSION: number;
|
||||
const Z_NO_FLUSH: number;
|
||||
const Z_OK: number;
|
||||
const Z_PARTIAL_FLUSH: number;
|
||||
const Z_RLE: number;
|
||||
const Z_STREAM_END: number;
|
||||
const Z_STREAM_ERROR: number;
|
||||
const Z_SYNC_FLUSH: number;
|
||||
const Z_VERSION_ERROR: number;
|
||||
const ZLIB_VERNUM: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_NO_FLUSH: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_PARTIAL_FLUSH: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_SYNC_FLUSH: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_FULL_FLUSH: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_FINISH: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_BLOCK: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_TREES: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_OK: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_STREAM_END: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_NEED_DICT: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_ERRNO: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_STREAM_ERROR: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_DATA_ERROR: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_MEM_ERROR: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_BUF_ERROR: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_VERSION_ERROR: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_NO_COMPRESSION: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_BEST_SPEED: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_BEST_COMPRESSION: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_DEFAULT_COMPRESSION: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_FILTERED: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_HUFFMAN_ONLY: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_RLE: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_FIXED: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_DEFAULT_STRATEGY: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_BINARY: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_TEXT: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_ASCII: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_UNKNOWN: number;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
const Z_DEFLATED: number;
|
||||
}
|
||||
@@ -81,8 +81,8 @@ let message: Stomp.Message = {
|
||||
headers: {},
|
||||
body: 'body',
|
||||
|
||||
ack(header) { },
|
||||
nack(header) { }
|
||||
ack(headers: {}) { },
|
||||
nack(headers: {}) { }
|
||||
}
|
||||
|
||||
message.ack();
|
||||
|
||||
Reference in New Issue
Block a user