anonymous.ts 666 B

1234567891011121314151617181920212223242526272829
  1. import { Coder } from "./abstract-coder.js";
  2. import type { Reader, Writer } from "./abstract-coder.js";
  3. /**
  4. * Clones the functionality of an existing Coder, but without a localName
  5. *
  6. * @_ignore
  7. */
  8. export class AnonymousCoder extends Coder {
  9. private coder: Coder;
  10. constructor(coder: Coder) {
  11. super(coder.name, coder.type, "_", coder.dynamic);
  12. this.coder = coder;
  13. }
  14. defaultValue(): any {
  15. return this.coder.defaultValue();
  16. }
  17. encode(writer: Writer, value: any): number {
  18. return this.coder.encode(writer, value);
  19. }
  20. decode(reader: Reader): any {
  21. return this.coder.decode(reader);
  22. }
  23. }