From dc5fd2c90550174a8b2cd3be735e7db769e103c2 Mon Sep 17 00:00:00 2001 From: Simon Tang <5322400+Simon-Tang@users.noreply.github.com> Date: Fri, 30 Dec 2022 16:06:04 -0500 Subject: [PATCH] Adds TypeScript type declarations --- package.json | 1 + src/index.d.ts | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/index.d.ts diff --git a/package.json b/package.json index cd82e7b..3e855c0 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "private": false, "main": "dist/samjs.min.js", "module": "dist/samjs.esm.min.js", + "types": "src/index.d.ts", "scripts": { "dev": "rollup -w -c build/config.js --environment TARGET:dev", "dev:cjs": "rollup -w -c build/config.js --environment TARGET:cjs", diff --git a/src/index.d.ts b/src/index.d.ts new file mode 100644 index 0000000..8c2e7bb --- /dev/null +++ b/src/index.d.ts @@ -0,0 +1,25 @@ +interface SamJsOptions { + phonetic?: boolean; + singmode?: boolean; + debug?: boolean; + pitch?: number; + speed?: number; + mouth?: number; + throat?: number; +} + +interface SamJsSpeakPromise extends Promise { + abort: (reason: any) => void; +} + +declare class SamJs { + constructor(options?: SamJsOptions); + buf8(text: string, phonetic?: boolean): Uint8Array | Boolean; + buf32(text: string, phonetic?: boolean): Float32Array | Boolean; + speak(text: string, phonetic?: boolean): SamJsSpeakPromise; + download(text: string, phonetic?: boolean): void; +} + +declare module "sam-js" { + export = SamJs; +}