tachyon-drive
    Preparing search index...

    Function nextSerializer

    • Chains two serializers together.

      Type Parameters

      • CurrentInput

        The type of the data that is serialized and deserialized by the current serializer.

      • CurrentOutput

        The type of the data that is written to storage by the current serializer.

      • TargetOutput

        The type of the data that is written to storage by the next serializer.

      Parameters

      Returns IPersistSerializer<CurrentInput, TargetOutput>

      The chained serializer.

      v0.7.0

      const baseSerializer: IPersistSerializer<Data, string> = {
      name: 'BaseSerializer',
      serialize: (data: Data) => JSON.stringify(data),
      deserialize: (buffer: string) => JSON.parse(buffer),
      validator: (data: Data) => dataSchema.safeParse(data).success,
      };

      const strToBufferSerializer: IPersistSerializer<string, Buffer> = {
      name: 'StrToBufferSerializer',
      serialize: (data: string) => Buffer.from(data),
      deserialize: (buffer: Buffer) => buffer.toString(),
      validator: (data: string) => typeof data === 'string', // optional deserialization validation
      };

      const bufferSerializer: IPersistSerializer<Data, Buffer> = nextSerializer<Data, string, Buffer>(baseSerializer, strToBufferSerializer);