unspoken
Version:
Pack network messages more efficiently. Compress keyed objects into keyless arrays. Decompress arrays back into usable objects.
45 lines (35 loc) • 811 B
text/typescript
import { indexAt } from '../../src'
export class ClassSimple {
(0) name:string
constructor(name:string) {
this.name = name
}
}
export class ClassSimpleUndefinable {
(0) name:(string | undefined)
constructor(name?:string) {
this.name = name
}
}
export class ClassChild {
(0) name:string
(1) age:number
constructor(name:string, age:number) {
this.name = name
this.age = age
}
}
export class ClassWithChild {
(0) name:string
(1, ClassChild) child:ClassChild
constructor(name:string, child:ClassChild) {
this.name = name
this.child = child
}
}
export class ClassWithArray {
(0, [ClassSimple]) children:ClassSimple[]
constructor(...children:ClassSimple[]) {
this.children = children
}
}