AvroSchemaEncoder.d.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
  2. import type { AvroSchema, AvroRecordSchema, AvroEnumSchema, AvroArraySchema, AvroMapSchema, AvroUnionSchema, AvroFixedSchema, AvroNullSchema } from './types';
  3. export declare class AvroSchemaEncoder {
  4. readonly writer: IWriter & IWriterGrowable;
  5. private encoder;
  6. private validator;
  7. private namedSchemas;
  8. constructor(writer: IWriter & IWriterGrowable);
  9. encode(value: unknown, schema: AvroSchema, selectedIndex?: number): Uint8Array;
  10. writeNull(schema: AvroNullSchema | AvroSchema): void;
  11. writeBoolean(value: boolean, schema: AvroSchema): void;
  12. writeInt(value: number, schema: AvroSchema): void;
  13. writeLong(value: number | bigint, schema: AvroSchema): void;
  14. writeFloat(value: number, schema: AvroSchema): void;
  15. writeDouble(value: number, schema: AvroSchema): void;
  16. writeBytes(value: Uint8Array, schema: AvroSchema): void;
  17. writeString(value: string, schema: AvroSchema): void;
  18. writeRecord(value: Record<string, unknown>, schema: AvroRecordSchema): void;
  19. writeEnum(value: string, schema: AvroEnumSchema): void;
  20. writeArray(value: unknown[], schema: AvroArraySchema): void;
  21. writeMap(value: Record<string, unknown>, schema: AvroMapSchema): void;
  22. writeUnion(value: unknown, schema: AvroUnionSchema, selectedIndex?: number): void;
  23. writeFixed(value: Uint8Array, schema: AvroFixedSchema): void;
  24. writeNumber(value: number, schema: AvroSchema): void;
  25. private writeValue;
  26. private validateSchemaType;
  27. private resolveSchema;
  28. private collectNamedSchemas;
  29. private getFullName;
  30. private writeVarIntUnsigned;
  31. private writeVarIntSigned;
  32. private encodeZigZag32;
  33. }