Can anyone please give an example object that fits the following typescript type? Kind of puzzled since I only used interfaces before and only saw squared brackets before.
type Hash = {
(data: Uint8Array): Uint8Array
blockLen: number
outputLen: number
create: any
}
Thanks!!
It's a call signature. In this case, it means that a Hash, in addition to having blockLen, outputLen, and create properties, is also callable like a function that takes a parameter of type Uint8Array and returns a value of type Uint8Array:
const hash: Hash = function (x) { return x };
hash.blockLen = 1;
hash.outputLen = 2;
hash.create = "who knows";
const hashed = hash(new Uint8Array([1,2,3]));
// const hashed: Uint8Array
Playground link to code
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With