* initial commit Signed-off-by: Jess Frazelle <github@jessfraz.com> tsc passing Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> working Signed-off-by: Jess Frazelle <github@jessfraz.com> fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanups Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * udpates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
28 lines
669 B
TypeScript
28 lines
669 B
TypeScript
import { encoder, decoder } from '../codec'
|
|
|
|
export default class Bytes {
|
|
static encode(input: string): Uint8Array {
|
|
return encoder.encode(input)
|
|
}
|
|
|
|
static decode(input: Uint8Array): string {
|
|
return decoder.decode(input)
|
|
}
|
|
|
|
static append<
|
|
T extends { length: number; set(arr: T, offset: number): void }
|
|
>(constructor: { new (length: number): T }, ...arrays: T[]) {
|
|
let totalLength = 0
|
|
for (const arr of arrays) {
|
|
totalLength += arr.length
|
|
}
|
|
const result = new constructor(totalLength)
|
|
let offset = 0
|
|
for (const arr of arrays) {
|
|
result.set(arr, offset)
|
|
offset += arr.length
|
|
}
|
|
return result
|
|
}
|
|
}
|