Daninet / hash-wasm

Lightning fast hash functions using hand-tuned WebAssembly binaries
https://npmjs.com/package/hash-wasm
Other
881 stars 49 forks source link

Consider adding WASMInterface to the list of exports in lib/index.ts so I can reference IHasher from client code #60

Open alasdaircs opened 4 months ago

alasdaircs commented 4 months ago

I want to declare a variable of type IHasher in my TypeScript code, but it's declared in WASMInterface.ts and although that builds to /dist/lib/WASMInterface.d.ts, it's not exported in /lib/index.ts so I can't write:

import { IHasher } from 'hash-wasm';

If I attempt to reference it directly with import { IHasher } from 'hash-wasm/dist/lib/WASMInterface' I get compiler errors from my WebPack build.

Please consider adding:

export * from './WASMInterface';

to lib/index.ts

alasdaircs commented 4 months ago

On reflection I've just found I was importing from the wrong place 🤦‍♂️: This doesn't work: import { IHasher } from 'hash-wasm/lib/WASMInterface', probably because I'm stuck on an old version of TS But this does work: import { IHasher } from 'hash-wasm/dist/lib/WASMInterface'

There's no urgency, but I still think it would be nice to be able to write:

import { IHasher } from 'hash-wasm'

GabenGar commented 1 week ago

You can instead use Awaited<ReturnType<typeof create***>> to capture the type of IHasher.