Line data Source code
1 : part of rx_bloc_generator; 2 : 3 : /// A mapper that converts a [MethodElement] into an event [Field] 4 : class _EventField implements _BuilderContract { 5 1 : const _EventField(this.method); 6 : 7 : final MethodElement method; 8 : 9 1 : @override 10 1 : Field build() => Field( 11 1 : (b) => b 12 3 : ..docs.addAll(<String>[ 13 4 : if (method.name.length <= 26) 14 3 : '/// Тhe [Subject] where events sink to by calling [${method.name}]', 15 5 : if (method.name.length > 26) ...<String>[ 16 : '/// Тhe [Subject] where events sink to by calling ', 17 2 : '/// [${method.name}]' 18 1 : ], 19 : ]) 20 1 : ..modifier = FieldModifier.final$ 21 3 : ..assignment = method.hasSeedAnnotation 22 3 : ? refer(method.eventStreamType) 23 1 : .newInstanceNamed( 24 : 'seeded', 25 2 : method.seedPositionalArguments, 26 : ) 27 1 : .code 28 3 : : refer(method.eventStreamType) 29 6 : .newInstance([], {}, method.streamTypeArguments).code 30 3 : ..name = method.eventFieldName, 31 : ); 32 : }