SerializableMapper<T extends Object, V extends Object>.arg2 constructor

SerializableMapper<T extends Object, V extends Object>.arg2({
  1. required SerializableDecoder2<T, V> decode,
  2. required SerializableEncoder2<T> encode,
  3. required TypeFactory2 type,
})

Implementation

SerializableMapper.arg2({
  required SerializableDecoder2<T, V> decode,
  required SerializableEncoder2<T> encode,
  required TypeFactory2 type,
}) {
  _decoder = ((v, c) => c.callWith2(<A, B>(_) =>
      decode<A, B>(v, c.container.fromValue<A>, c.container.fromValue<B>)));
  _encoder = ((v, c) => c.callWith2(<A, B>(_) => encode(v)(
      (o) => c.container.toValue<A>(o as A),
      (o) => c.container.toValue<B>(o as B))));
  typeFactory = type;
}