new Uint8Arrayをラップした生成関数を作る
WebCrypto APIなどバイナリを扱うAPIを触っていると、毎回 new Uint8Array
を呼び出さなければいけなくて、億劫になってくる。
Uint8Arrayのコンストラクタ関数のインターフェースは維持しつつ、呼び出し用ユーティリティ関数を用意する
コード(結論)
Section titled “コード(結論)”export function toU8Array(length: number): Uint8Array;export function toU8Array( array: ArrayLike<number> | ArrayBufferLike): Uint8Array;export function toU8Array( buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8Array;export function toU8Array( arg1: number | ArrayLike<number> | ArrayBufferLike, arg2?: number, arg3?: number): Uint8Array { return typeof arg1 === "number" ? new Uint8Array(arg1) : BYTE_LENGTH in arg1 ? new Uint8Array(arg1, arg2, arg3) : new Uint8Array(arg1);}
オーバーロードを使って、コンストラクタ関数の4種類のインターフェースを満たすように実装するだけ