$declaration constant

BridgeClassDef const $declaration

Compile-time bridge class declaration for $Codec

Implementation

static const $declaration = BridgeClassDef(
    BridgeClassType($type, isAbstract: true, generics: {
      'S': BridgeGenericParam(),
      'T': BridgeGenericParam(),
    }),
    constructors: {},
    methods: {
      'encode': BridgeMethodDef(BridgeFunctionDef(
          returns: BridgeTypeAnnotation(BridgeTypeRef.ref('T')),
          params: [
            BridgeParameter(
                'input', BridgeTypeAnnotation(BridgeTypeRef.ref('S')), false)
          ])),
      'decode': BridgeMethodDef(BridgeFunctionDef(
          returns: BridgeTypeAnnotation(BridgeTypeRef.ref('S')),
          params: [
            BridgeParameter('encoded',
                BridgeTypeAnnotation(BridgeTypeRef.ref('T')), false)
          ])),
    },
    getters: {
      'encoder': BridgeMethodDef(BridgeFunctionDef(
          returns: BridgeTypeAnnotation(BridgeTypeRef(ConvertTypes.converter,
              [BridgeTypeRef.ref('S'), BridgeTypeRef.ref('T')])),
          params: [])),
      'decoder': BridgeMethodDef(BridgeFunctionDef(
          returns: BridgeTypeAnnotation(BridgeTypeRef(ConvertTypes.converter,
              [BridgeTypeRef.ref('T'), BridgeTypeRef.ref('S')])),
          params: [])),
    },
    wrap: true);