From 40295264aa560794c246bf6d5146a34c3d6ced4c Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Tue, 8 Aug 2017 23:01:12 +0200 Subject: [PATCH] [p-locate] introduce typings (#18718) --- types/p-locate/index.d.ts | 15 +++++++++++++++ types/p-locate/p-locate-tests.ts | 14 ++++++++++++++ types/p-locate/tsconfig.json | 22 ++++++++++++++++++++++ types/p-locate/tslint.json | 1 + 4 files changed, 52 insertions(+) create mode 100644 types/p-locate/index.d.ts create mode 100644 types/p-locate/p-locate-tests.ts create mode 100644 types/p-locate/tsconfig.json create mode 100644 types/p-locate/tslint.json diff --git a/types/p-locate/index.d.ts b/types/p-locate/index.d.ts new file mode 100644 index 0000000000..9ddc11197c --- /dev/null +++ b/types/p-locate/index.d.ts @@ -0,0 +1,15 @@ +// Type definitions for p-locate 2.0 +// Project: https://github.com/sindresorhus/p-locate#readme +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = pLocate; + +declare function pLocate(input: Iterable | T>, tester: (element: T) => Promise | boolean, options?: pLocate.Options): Promise; + +declare namespace pLocate { + interface Options { + concurrency?: number; + preserveOrder?: boolean; + } +} diff --git a/types/p-locate/p-locate-tests.ts b/types/p-locate/p-locate-tests.ts new file mode 100644 index 0000000000..acceb0376a --- /dev/null +++ b/types/p-locate/p-locate-tests.ts @@ -0,0 +1,14 @@ +import pLocate = require('p-locate'); + +const files = [ + 'unicorn.png', + 'rainbow.png', + 'pony.png' +]; + +let str: string | undefined; +pLocate(files, file => Promise.resolve(file === 'rainbow.png')).then(foundPath => { + str = foundPath; +}); + +pLocate(files, file => Promise.resolve(file === 'rainbow.png'), {concurrency: 2, preserveOrder: false}); diff --git a/types/p-locate/tsconfig.json b/types/p-locate/tsconfig.json new file mode 100644 index 0000000000..09d6d1f3dc --- /dev/null +++ b/types/p-locate/tsconfig.json @@ -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", + "p-locate-tests.ts" + ] +} diff --git a/types/p-locate/tslint.json b/types/p-locate/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/p-locate/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }