[is-stream] introduce typings (#18285)

This commit is contained in:
Dimitri Benin
2017-07-21 18:49:20 +02:00
committed by Wesley Wigham
parent ae0493cdc6
commit 379d9ca112
4 changed files with 65 additions and 0 deletions

18
types/is-stream/index.d.ts vendored Normal file
View File

@@ -0,0 +1,18 @@
// Type definitions for is-stream 1.1
// Project: https://github.com/sindresorhus/is-stream#readme
// Definitions by: BendingBender <https://github.com/me>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node"/>
import * as stream from "stream";
export = isStream;
declare function isStream(maybeStream: any): maybeStream is stream.Stream;
declare namespace isStream {
function writable(maybeWritable: any): maybeWritable is stream.Writable;
function readable(maybeReadable: any): maybeReadable is stream.Readable;
function duplex(maybeDuplex: any): maybeDuplex is stream.Duplex;
function transform(maybeTransform: any): maybeTransform is stream.Transform;
}

View File

@@ -0,0 +1,24 @@
import isStream = require('is-stream');
import * as stream from 'stream';
const anyStream: any = new stream.Stream();
if (isStream(anyStream)) {
const justStream: stream.Stream = anyStream;
}
if (isStream.writable(anyStream)) {
const writableStream: stream.Writable = anyStream;
}
if (isStream.readable(anyStream)) {
const readableStream: stream.Readable = anyStream;
}
if (isStream.duplex(anyStream)) {
const duplexStream: stream.Duplex = anyStream;
}
if (isStream.transform(anyStream)) {
const transformStream: stream.Transform = anyStream;
}

View File

@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"is-stream-tests.ts"
]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }