class Temporalio::Converters::DataConverter

Data converter for converting/encoding payloads to/from Ruby values.

def self.default

Returns:
  • (DataConverter) - Default data converter.
def self.default
  @default ||= DataConverter.new
end

def from_failure(failure)

Returns:
  • (Exception) - Decoded and converted Ruby error.

Parameters:
  • failure (Api::Failure::V1::Failure) -- Encoded failure.
def from_failure(failure)
  failure_converter.from_failure(failure, self)
end

def from_payload(payload, hint: nil)

Returns:
  • (Object) - Decoded and converted Ruby value.

Parameters:
  • hint (Object, nil) -- Hint, if any, to assist conversion.
  • payload (Api::Common::V1::Payload) -- Encoded payload.
def from_payload(payload, hint: nil)
  payload = payload_codec.decode([payload]).first if payload_codec
  payload_converter.from_payload(payload, hint:)
end

def from_payloads(payloads, hints: nil)

Returns:
  • (Array) - Decoded and converted Ruby values.
    Parameters:
    • hints (Array, nil) -- Hints, if any, to assist conversion. Note, when using the default converter
    • payloads (Api::Common::V1::Payloads, nil) -- Encoded payload set.
    • def from_payloads(payloads, hints: nil)
        return [] unless payloads && !payloads.payloads.empty?
        if payload_codec && !payloads.payloads.empty?
          payloads = Api::Common::V1::Payloads.new(payloads: payload_codec.decode(payloads.payloads))
        end
        payload_converter.from_payloads(payloads, hints:)
      end

      def initialize(

      Parameters:
      • payload_codec (PayloadCodec, nil) -- Payload codec to use.
      • failure_converter (FailureConverter) -- Failure converter to use.
      • payload_converter (PayloadConverter) -- Payload converter to use.
      def initialize(
        payload_converter: PayloadConverter.default,
        failure_converter: FailureConverter.default,
        payload_codec: nil
      )
        @payload_converter = payload_converter
        @failure_converter = failure_converter
        @payload_codec = payload_codec
      end

      def to_failure(error)

      Returns:
      • (Api::Failure::V1::Failure) - Converted and encoded failure.

      Parameters:
      • error (Exception) -- Ruby error.
      def to_failure(error)
        failure_converter.to_failure(error, self)
      end

      def to_payload(value, hint: nil)

      Returns:
      • (Api::Common::V1::Payload) - Converted and encoded payload.

      Parameters:
      • hint (Object, nil) -- Hint, if any, to assist conversion.
      • value (Object) -- Ruby value.
      def to_payload(value, hint: nil)
        payload = payload_converter.to_payload(value, hint:)
        payload = payload_codec.encode([payload]).first if payload_codec
        payload
      end

      def to_payloads(values, hints: nil)

      Returns:
      • (Api::Common::V1::Payloads) - Converted and encoded payload set.

      Parameters:
      • hints (Array, nil) -- Hints, if any, to assist conversion. Note, when using the default converter
      • values (Object) -- Ruby values, converted to array via {::Array}.
      • def to_payloads(values, hints: nil)
          payloads = payload_converter.to_payloads(values, hints:)
          payloads.payloads.replace(payload_codec.encode(payloads.payloads)) if payload_codec && !payloads.payloads.empty?
          payloads
        end