diff --git a/packages/payment-processor/test/payment/btc-address-based.test.ts b/packages/payment-processor/test/payment/btc-address-based.test.ts index ba713a293c..e1574de917 100644 --- a/packages/payment-processor/test/payment/btc-address-based.test.ts +++ b/packages/payment-processor/test/payment/btc-address-based.test.ts @@ -40,9 +40,6 @@ const validRequest: ClientTypes.IRequestData = { type: RequestLogicTypes.CURRENCY.BTC, value: '', }, - - // tslint:disable-next-line:typedef - emit: () => true, events: [], expectedAmount: '10000000', extensions: { @@ -61,8 +58,6 @@ const validRequest: ClientTypes.IRequestData = { meta: { transactionManagerMeta: {}, }, - // tslint:disable-next-line:typedef - on: () => null as any, pending: null, requestId: 'abcd', state: RequestLogicTypes.STATE.CREATED, diff --git a/packages/payment-processor/test/payment/erc20-proxy.test.ts b/packages/payment-processor/test/payment/erc20-proxy.test.ts index 18aa4c2cd2..3101c124c0 100644 --- a/packages/payment-processor/test/payment/erc20-proxy.test.ts +++ b/packages/payment-processor/test/payment/erc20-proxy.test.ts @@ -55,8 +55,6 @@ const validRequest: ClientTypes.IRequestData = { value: erc20ContractAddress, }, - // tslint:disable-next-line:typedef - emit: () => true, events: [], expectedAmount: '100', extensions: { @@ -75,7 +73,6 @@ const validRequest: ClientTypes.IRequestData = { meta: { transactionManagerMeta: {}, }, - on: () => null as any, pending: null, requestId: 'abcd', state: RequestLogicTypes.STATE.CREATED, diff --git a/packages/payment-processor/test/payment/eth-input-data.test.ts b/packages/payment-processor/test/payment/eth-input-data.test.ts index 3ba3f4f44e..83958e88c9 100644 --- a/packages/payment-processor/test/payment/eth-input-data.test.ts +++ b/packages/payment-processor/test/payment/eth-input-data.test.ts @@ -47,8 +47,6 @@ const validRequest: ClientTypes.IRequestData = { value: '', }, - // tslint:disable-next-line:typedef - emit: () => true, events: [], expectedAmount: '1', extensions: { @@ -67,7 +65,6 @@ const validRequest: ClientTypes.IRequestData = { meta: { transactionManagerMeta: {}, }, - on: () => null as any, pending: null, requestId: 'abcd', state: RequestLogicTypes.STATE.CREATED, diff --git a/packages/request-client.js/src/api/request.ts b/packages/request-client.js/src/api/request.ts index 6df1c3bdde..285b92cc78 100644 --- a/packages/request-client.js/src/api/request.ts +++ b/packages/request-client.js/src/api/request.ts @@ -99,7 +99,7 @@ export default class Request { * * @returns the request data */ - public waitForConfirmation(): Promise { + public waitForConfirmation(): Promise { return new Promise((resolve): any => this.on('confirmed', resolve)); } @@ -113,7 +113,7 @@ export default class Request { public async accept( signerIdentity: IdentityTypes.IIdentity, refundInformation?: any, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (refundInformation) { if (!this.paymentNetwork) { @@ -150,7 +150,7 @@ export default class Request { public async cancel( signerIdentity: IdentityTypes.IIdentity, refundInformation?: any, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (refundInformation) { if (!this.paymentNetwork) { @@ -190,7 +190,7 @@ export default class Request { deltaAmount: RequestLogicTypes.Amount, signerIdentity: IdentityTypes.IIdentity, refundInformation?: any, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (refundInformation) { if (!this.paymentNetwork) { @@ -234,7 +234,7 @@ export default class Request { deltaAmount: RequestLogicTypes.Amount, signerIdentity: IdentityTypes.IIdentity, paymentInformation?: any, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (paymentInformation) { if (!this.paymentNetwork) { @@ -277,7 +277,7 @@ export default class Request { public async addPaymentInformation( paymentInformation: any, signerIdentity: IdentityTypes.IIdentity, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (!this.paymentNetwork) { @@ -319,7 +319,7 @@ export default class Request { public async addRefundInformation( refundInformation: any, signerIdentity: IdentityTypes.IIdentity, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (!this.paymentNetwork) { @@ -363,7 +363,7 @@ export default class Request { amount: string, note: string, signerIdentity: IdentityTypes.IIdentity, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (!this.paymentNetwork) { @@ -415,7 +415,7 @@ export default class Request { amount: string, note: string, signerIdentity: IdentityTypes.IIdentity, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (!this.paymentNetwork) { @@ -470,7 +470,7 @@ export default class Request { amount: string, note: string, signerIdentity: IdentityTypes.IIdentity, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (!this.paymentNetwork) { @@ -525,7 +525,7 @@ export default class Request { amount: string, note: string, signerIdentity: IdentityTypes.IIdentity, - ): Promise { + ): Promise { const extensionsData: any[] = []; if (!this.paymentNetwork) { @@ -573,7 +573,7 @@ export default class Request { * * @returns The updated request data */ - public getData(): Types.IRequestData { + public getData(): Types.IRequestDataWithEvents { let requestData: RequestLogicTypes.IRequest = Utils.deepCopy(this.requestData); let pending = Utils.deepCopy(this.pendingData); @@ -602,7 +602,7 @@ export default class Request { */ public async refresh( requestAndMeta?: RequestLogicTypes.IReturnGetRequestFromId, - ): Promise { + ): Promise { if (!requestAndMeta) { requestAndMeta = await this.requestLogic.getRequestFromId(this.requestId); } diff --git a/packages/request-client.js/test/index.test.ts b/packages/request-client.js/test/index.test.ts index ff6bbb2b74..ba48c049fc 100644 --- a/packages/request-client.js/test/index.test.ts +++ b/packages/request-client.js/test/index.test.ts @@ -435,7 +435,7 @@ describe('index', () => { expect(data.state).to.equal(RequestLogicTypes.STATE.PENDING); expect(data.pending?.state).to.equal(RequestLogicTypes.STATE.CREATED); - const dataConfirmed: Types.IRequestData = await new Promise((resolve): any => + const dataConfirmed: Types.IRequestDataWithEvents = await new Promise((resolve): any => request.on('confirmed', resolve), ); expect(dataConfirmed.state).to.equal(RequestLogicTypes.STATE.CREATED); @@ -471,7 +471,7 @@ describe('index', () => { expect(data.state).to.equal(RequestLogicTypes.STATE.PENDING); expect(data.pending?.state).to.equal(RequestLogicTypes.STATE.CREATED); - const dataConfirmed: Types.IRequestData = await new Promise((resolve): any => + const dataConfirmed: Types.IRequestDataWithEvents = await new Promise((resolve): any => request.on('confirmed', resolve), ); expect(dataConfirmed.state).to.equal(RequestLogicTypes.STATE.CREATED); @@ -978,7 +978,7 @@ describe('index', () => { expect(acceptResult.state).to.equal(RequestLogicTypes.STATE.CREATED); expect(acceptResult.pending?.state).to.equal(RequestLogicTypes.STATE.ACCEPTED); - const dataConfirmed: Types.IRequestData = await new Promise((resolve): any => + const dataConfirmed: Types.IRequestDataWithEvents = await new Promise((resolve): any => acceptResult.on('confirmed', resolve), ); expect(dataConfirmed.state).to.equal(RequestLogicTypes.STATE.ACCEPTED); @@ -1090,7 +1090,7 @@ describe('index', () => { const acceptResult = await fetchedRequest.accept(payerIdentity); - let dataConfirmed: Types.IRequestData = await new Promise((resolve): any => + let dataConfirmed: Types.IRequestDataWithEvents = await new Promise((resolve): any => acceptResult.on('confirmed', resolve), ); expect(dataConfirmed.state).to.equal(RequestLogicTypes.STATE.ACCEPTED); diff --git a/packages/types/src/client-types.ts b/packages/types/src/client-types.ts index aa3d1c5626..bb466ece4e 100644 --- a/packages/types/src/client-types.ts +++ b/packages/types/src/client-types.ts @@ -16,7 +16,10 @@ export interface IRequestData extends Omit { contentData: any; currencyInfo: RequestLogic.ICurrency; pending: RequestLogic.IPendingRequest | null; +} +/** Interface request data with event emitter and subscriber */ +export interface IRequestDataWithEvents extends IRequestData { on: (event: K, listener: IRequestEvents[K]) => this; emit: ( event: K, @@ -46,5 +49,5 @@ export interface IRequestInfo { /** Events types risen by a request */ export interface IRequestEvents { - confirmed: (requestData: IRequestData) => void; + confirmed: (requestData: IRequestDataWithEvents) => void; }