From 6861e7fbd04d4bdda38b25d8d9cd80f520deae05 Mon Sep 17 00:00:00 2001 From: Andrew Petersen Date: Wed, 12 Dec 2018 17:45:27 -0500 Subject: [PATCH 1/4] Add types for pseudo-audio-param --- types/pseudo-audio-param/index.d.ts | 47 +++++++++++++++++++ .../pseudo-audio-param-tests.ts | 9 ++++ types/pseudo-audio-param/tsconfig.json | 23 +++++++++ types/pseudo-audio-param/tslint.json | 7 +++ 4 files changed, 86 insertions(+) create mode 100644 types/pseudo-audio-param/index.d.ts create mode 100644 types/pseudo-audio-param/pseudo-audio-param-tests.ts create mode 100644 types/pseudo-audio-param/tsconfig.json create mode 100644 types/pseudo-audio-param/tslint.json diff --git a/types/pseudo-audio-param/index.d.ts b/types/pseudo-audio-param/index.d.ts new file mode 100644 index 0000000000..beaf205b7d --- /dev/null +++ b/types/pseudo-audio-param/index.d.ts @@ -0,0 +1,47 @@ +// Type definitions for pseudo-audio-param 1.3 +// Project: https://github.com/mohayonao/pseudo-audio-param/ +// Definitions by: Drew Petersen +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module "pseudo-audio-param" { + export = PseudoAudioParam; +} + +interface PseudoAudioParamEvent { + type: string; + time: number; +} + +/** Simulate scheduled AudioParam values */ +declare class PseudoAudioParam { + events: PseudoAudioParamEvent[]; + + constructor(defaultValue: number); + + /** + * Return scheduled value at time + */ + getValueAtTime(time: number): number; + + /** + * Apply scheduled methods to the provided audioParam. If reset is `true`, + * cancel all events of AudioParam before applying + */ + applyTo(audioParam: AudioParam, reset: boolean): PseudoAudioParam; + + setValueAtTime(value: number, time: number): PseudoAudioParam; + linearRampToValueAtTime(value: number, time: number): PseudoAudioParam; + exponentialRampToValueAtTime(value: number, time: number): PseudoAudioParam; + setTargetAtTime( + value: number, + time: number, + timeConstant: number + ): PseudoAudioParam; + setValueCurveAtTime( + values: number[], + time: number, + duration: number + ): PseudoAudioParam; + cancelScheduledValues(time: number): PseudoAudioParam; + cancelAndHoldAtTime(time: number): PseudoAudioParam; +} diff --git a/types/pseudo-audio-param/pseudo-audio-param-tests.ts b/types/pseudo-audio-param/pseudo-audio-param-tests.ts new file mode 100644 index 0000000000..0c0bfe7b90 --- /dev/null +++ b/types/pseudo-audio-param/pseudo-audio-param-tests.ts @@ -0,0 +1,9 @@ +import PseudoAudioParam = require('pseudo-audio-param'); +const p = new PseudoAudioParam(1); +const v: number = p.getValueAtTime(0.1); + +const ctx = new AudioContext(); +const gain = new GainNode(ctx); +p.applyTo(gain.gain, false); + +p.setValueAtTime(0, 1); diff --git a/types/pseudo-audio-param/tsconfig.json b/types/pseudo-audio-param/tsconfig.json new file mode 100644 index 0000000000..58c4d8e868 --- /dev/null +++ b/types/pseudo-audio-param/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "pseudo-audio-param-tests.ts" + ] +} diff --git a/types/pseudo-audio-param/tslint.json b/types/pseudo-audio-param/tslint.json new file mode 100644 index 0000000000..c9579fee14 --- /dev/null +++ b/types/pseudo-audio-param/tslint.json @@ -0,0 +1,7 @@ +{ + "extends": "dtslint/dt.json", + "rules": { + "no-single-declare-module": false, + "no-declare-current-package": false + } +} From 1ad8cd0bda8cca7d38a50f8f687e14e7863aa797 Mon Sep 17 00:00:00 2001 From: Andrew Petersen Date: Sun, 23 Dec 2018 23:04:53 -0600 Subject: [PATCH 2/4] [pseudo-audio-param] Use newer umd pattern --- types/pseudo-audio-param/index.d.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/types/pseudo-audio-param/index.d.ts b/types/pseudo-audio-param/index.d.ts index beaf205b7d..43244b79e6 100644 --- a/types/pseudo-audio-param/index.d.ts +++ b/types/pseudo-audio-param/index.d.ts @@ -3,9 +3,8 @@ // Definitions by: Drew Petersen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare module "pseudo-audio-param" { - export = PseudoAudioParam; -} +export = PseudoAudioParam; +export as namespace PseudoAudioParam; interface PseudoAudioParamEvent { type: string; From 72e1e768f92d11ec61b25c0ff9205f1ecb74a3de Mon Sep 17 00:00:00 2001 From: Andrew Petersen Date: Sun, 23 Dec 2018 23:16:00 -0600 Subject: [PATCH 3/4] [pseudo-audio-param] Restrict to Typescript 3.0? --- types/pseudo-audio-param/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/pseudo-audio-param/index.d.ts b/types/pseudo-audio-param/index.d.ts index 43244b79e6..d1ef1dde93 100644 --- a/types/pseudo-audio-param/index.d.ts +++ b/types/pseudo-audio-param/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/mohayonao/pseudo-audio-param/ // Definitions by: Drew Petersen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 3.0 export = PseudoAudioParam; export as namespace PseudoAudioParam; From addf196db4395260067814135843abd9de7e973b Mon Sep 17 00:00:00 2001 From: Andrew Petersen Date: Wed, 2 Jan 2019 13:08:16 -0500 Subject: [PATCH 4/4] [pseudo-audio-param] remove lint `rules`, fix optional fn signature --- types/pseudo-audio-param/index.d.ts | 2 +- types/pseudo-audio-param/tslint.json | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/types/pseudo-audio-param/index.d.ts b/types/pseudo-audio-param/index.d.ts index d1ef1dde93..330fc642ed 100644 --- a/types/pseudo-audio-param/index.d.ts +++ b/types/pseudo-audio-param/index.d.ts @@ -27,7 +27,7 @@ declare class PseudoAudioParam { * Apply scheduled methods to the provided audioParam. If reset is `true`, * cancel all events of AudioParam before applying */ - applyTo(audioParam: AudioParam, reset: boolean): PseudoAudioParam; + applyTo(audioParam: AudioParam, reset?: boolean): PseudoAudioParam; setValueAtTime(value: number, time: number): PseudoAudioParam; linearRampToValueAtTime(value: number, time: number): PseudoAudioParam; diff --git a/types/pseudo-audio-param/tslint.json b/types/pseudo-audio-param/tslint.json index c9579fee14..d88586e5bd 100644 --- a/types/pseudo-audio-param/tslint.json +++ b/types/pseudo-audio-param/tslint.json @@ -1,7 +1,3 @@ { - "extends": "dtslint/dt.json", - "rules": { - "no-single-declare-module": false, - "no-declare-current-package": false - } + "extends": "dtslint/dt.json" }