From 93f426cce0251bddbfb17ec3e537799943b80fee Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 26 Mar 2019 12:02:01 +0100 Subject: [PATCH] BREAKING CHANGE(remove util dependency and promisify functionality): update --- test/test.ts | 14 ++------------ ts/index.ts | 11 +++++------ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/test/test.ts b/test/test.ts index a4dd72d..0d38392 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,10 +1,6 @@ import { expect, tap } from 'tapbundle'; import * as q from '../ts/index'; -let myCallback = (someValue1: string, cb?) => { - cb(null, someValue1); -}; - tap.test('should return a Deferred for .defer()', async () => { let myDeferred = q.defer(); let expectPromise = expect(myDeferred.promise).to.eventually.be.fulfilled; @@ -20,16 +16,10 @@ tap.test('should let types flow through the Promise', async () => { return expectPromise; }); -tap.test('should promisify a callback', async () => { - let myPromisified = q.promisify(myCallback); - let expectPromise = expect(myPromisified('hi')).to.eventually.equal('hi'); - return await expectPromise; -}); - tap.test('should map callbacks', async () => { let inputArray = ['hi', 'awesome']; - let myPromisified = q.promisify(myCallback); - let expectPromise = expect(q.map(inputArray, myPromisified)).to.eventually.deep.equal(inputArray); + const myPromisified = async (myInput) => { return myInput }; + const expectPromise = expect(q.map(inputArray, myPromisified)).to.eventually.deep.equal(inputArray); return expectPromise; }); diff --git a/ts/index.ts b/ts/index.ts index eed3dca..b619c3a 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,5 +1,3 @@ -import * as util from 'util'; - export interface IResolve { (value?: T | Promise): void; } @@ -42,14 +40,15 @@ export let rejectedPromise = err => { return Promise.reject(err); }; -export let promisify = util.promisify; +interface IAsyncFunction { + (someArg: T):Promise +} -export let map = async (inputArg: T[], functionArg) => { - let promisifedFunction = promisify(functionArg); +export let map = async (inputArg: T[], functionArg: IAsyncFunction ) => { let promiseArray: Promise[] = []; let resultArray = []; for (let item of inputArg) { - let promise: Promise = promisifedFunction(item); + let promise: Promise = functionArg(item); promiseArray.push(promise); promise.then(x => { resultArray.push(x);