From 47a653605f75c402ed2a00ff128a6c3cf8850cd4 Mon Sep 17 00:00:00 2001 From: chrisguttandin Date: Wed, 28 Mar 2018 05:46:56 +0200 Subject: [PATCH] fix: update types for TypeScript v2.8 --- src/audio-nodes/audio-destination-node.ts | 12 ++++++++++-- src/audio-nodes/audio-node.ts | 12 ++++++++++-- src/audio-param.ts | 3 ++- src/event-target.ts | 14 +++++++++++--- src/renderers/audio-param.ts | 3 ++- 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/audio-nodes/audio-destination-node.ts b/src/audio-nodes/audio-destination-node.ts index 0b835dc34..be7a657a9 100644 --- a/src/audio-nodes/audio-destination-node.ts +++ b/src/audio-nodes/audio-destination-node.ts @@ -115,7 +115,11 @@ export class AudioDestinationNode implements IAudioDestinationNode { return this._audioNode.numberOfOutputs; } - public addEventListener (type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) { + public addEventListener ( + type: string, + listener: EventListenerOrEventListenerObject | null = null, + options?: boolean | AddEventListenerOptions + ): void { return this._audioNode.addEventListener(type, listener, options); } @@ -137,7 +141,11 @@ export class AudioDestinationNode implements IAudioDestinationNode { return this._audioNode.disconnect(destination); } - public removeEventListener (type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) { + public removeEventListener ( + type: string, + listener: EventListenerOrEventListenerObject | null = null, + options?: EventListenerOptions | boolean + ): void { return this._audioNode.removeEventListener(type, listener, options); } diff --git a/src/audio-nodes/audio-node.ts b/src/audio-nodes/audio-node.ts index 80b392091..ae92e42c6 100644 --- a/src/audio-nodes/audio-node.ts +++ b/src/audio-nodes/audio-node.ts @@ -110,7 +110,11 @@ export class AudioNode exten return this._nativeNode.numberOfOutputs; } - public addEventListener (type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) { + public addEventListener ( + type: string, + listener: EventListenerOrEventListenerObject | null = null, + options?: boolean | AddEventListenerOptions + ): void { return this._nativeNode.addEventListener(type, listener, options); } @@ -269,7 +273,11 @@ export class AudioNode exten return this._nativeNode.disconnect(nativeDestinationNode); } - public removeEventListener (type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) { + public removeEventListener ( + type: string, + listener: EventListenerOrEventListenerObject | null = null, + options?: EventListenerOptions | boolean + ): void { return this._nativeNode.removeEventListener(type, listener, options); } diff --git a/src/audio-param.ts b/src/audio-param.ts index 411176039..d8aad76ad 100644 --- a/src/audio-param.ts +++ b/src/audio-param.ts @@ -75,7 +75,8 @@ export class AudioParam implements IAudioParam { } public setValueCurveAtTime (values: Float32Array, startTime: number, duration: number) { - this._nativeAudioParam.setValueCurveAtTime(values, startTime, duration); + // @todo TypeScript is expecting values to be an array of numbers. + this._nativeAudioParam.setValueCurveAtTime( values, startTime, duration); this._audioParamRenderer.record({ duration, startTime, type: 'setValueCurve', values }); } diff --git a/src/event-target.ts b/src/event-target.ts index 3d0c9ec59..8defdbcf6 100644 --- a/src/event-target.ts +++ b/src/event-target.ts @@ -1,20 +1,28 @@ export class EventTarget { - public addEventListener (type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) { + public addEventListener ( + type: string, + listener: EventListenerOrEventListenerObject | null, + options?: boolean | AddEventListenerOptions + ): void { // @todo Implement the addEventListener() method. listener; // tslint:disable-line:no-unused-expression options; // tslint:disable-line:no-unused-expression type; // tslint:disable-line:no-unused-expression } - public dispatchEvent (evt: Event) { + public dispatchEvent (evt: Event): boolean { // @todo Implement the dispatchEvent() method. evt; // tslint:disable-line:no-unused-expression return false; } - public removeEventListener (type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) { + public removeEventListener ( + type: string, + listener?: EventListenerOrEventListenerObject | null, + options?: EventListenerOptions | boolean + ): void { // @todo Implement the removeEventListener() method. listener; // tslint:disable-line:no-unused-expression options; // tslint:disable-line:no-unused-expression diff --git a/src/renderers/audio-param.ts b/src/renderers/audio-param.ts index 9938a7d47..5fe152311 100644 --- a/src/renderers/audio-param.ts +++ b/src/renderers/audio-param.ts @@ -56,7 +56,8 @@ export class AudioParamRenderer implements IAudioParamRenderer { } else if (automation.type === 'setValueCurve') { const { duration, startTime, values } = automation; - audioParam.setValueCurveAtTime(values, startTime, duration); + // @todo TypeScript is expecting values to be an array of numbers. + ( audioParam).setValueCurveAtTime(values, startTime, duration); } else { throw new Error("Can't apply an unkown automation."); }