* better named dirs Signed-off-by: Jess Frazelle <github@jessfraz.com> * move some stuff around Signed-off-by: Jess Frazelle <github@jessfraz.com> * more logging Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * less logging Signed-off-by: Jess Frazelle <github@jessfraz.com> * add fs in Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * file reader Signed-off-by: Jess Frazelle <github@jessfraz.com> * workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * start of workspace folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * start of workspace folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup workspace folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup logs 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
|
|
}
|
|
}
|