Skip to content

Commit b366ed6

Browse files
committed
update types
1 parent f4d08f5 commit b366ed6

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/index.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,9 @@ async function verify (
176176
signature:string
177177
):Promise<boolean> {
178178
return await compare(signature, await sign(
179-
typeof data === 'string' ? fromString(data) : data,
179+
(typeof data === 'string' ?
180+
fromString(data) :
181+
data) as Uint8Array<ArrayBuffer>,
180182
key
181183
))
182184
}
@@ -186,26 +188,34 @@ async function verify (
186188
*
187189
* @returns {string}
188190
*/
189-
export async function sign (data:string|Uint8Array, key:string, opts?:Partial<{
190-
algorithm:'sha-256'|'sha-512';
191-
}>):Promise<string> {
191+
export async function sign (
192+
data:string|Uint8Array<ArrayBuffer>,
193+
key:string,
194+
opts?:Partial<{
195+
algorithm:'sha-256'|'sha-512';
196+
}>
197+
):Promise<string> {
192198
const algorithm = opts?.algorithm || 'sha-256'
193199

194200
// this gets called with `sessionDataAsJSON` for data param,
195201
// so if string, it is not base64 encoded
196202

197203
const signingKey = await webcrypto.subtle.importKey(
198204
'raw',
199-
fromString(key, 'base64'),
205+
(fromString(key, 'base64')) as Uint8Array<ArrayBuffer>,
200206
{ name: 'HMAC', hash: algorithm },
201207
false,
202208
['sign', 'verify']
203209
)
204210

211+
const _data = typeof data === 'string' ?
212+
fromString(data) as Uint8Array<ArrayBuffer> :
213+
data
214+
205215
const sig = await webcrypto.subtle.sign(
206216
'HMAC',
207217
signingKey,
208-
typeof data === 'string' ? fromString(data) : data
218+
_data
209219
)
210220
const sigString = toString(new Uint8Array(sig), 'base64')
211221

0 commit comments

Comments
 (0)