$declaration constant

BridgeClassDef const $declaration

Compile-time bridged class declaration for $StreamController

Implementation

static const $declaration = BridgeClassDef(
  BridgeClassType(
    $type,
    isAbstract: true,
    generics: {'T': BridgeGenericParam()},
    $implements: [
      BridgeTypeRef(AsyncTypes.streamSink, [
        BridgeTypeAnnotation(BridgeTypeRef.ref('T')),
      ]),
    ],
  ),
  constructors: {
    '': BridgeConstructorDef(
      BridgeFunctionDef(returns: BridgeTypeAnnotation($type)),
    ),
  },
  methods: {
    'add': BridgeMethodDef(
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
        params: [
          BridgeParameter(
            'event',
            BridgeTypeAnnotation(BridgeTypeRef.ref('T')),
            false,
          ),
        ],
      ),
    ),
    'addError': BridgeMethodDef(
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
      ),
    ),
    'close': BridgeMethodDef(
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.future)),
      ),
    ),
  },
  getters: {
    'done': BridgeMethodDef(
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.future)),
      ),
    ),
    'sink': BridgeMethodDef(
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(BridgeTypeRef(AsyncTypes.streamSink)),
      ),
    ),
    'stream': BridgeMethodDef(
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(
          BridgeTypeRef(CoreTypes.stream, [
            BridgeTypeAnnotation(BridgeTypeRef.ref('T')),
          ]),
        ),
      ),
    ),
  },
  setters: {},
  fields: {},
  wrap: true,
);