-
Notifications
You must be signed in to change notification settings - Fork 56
Open
Labels
Description
I'm trying to create a wrapper for a class
class AttendanceEntity extends OriginalDomainEntity {
AttendanceEntity({
required this.visitTypeOid,
required this.attendanceNumber,
required super.originalOid,
});
final BigInt attendanceNumber;
final int visitTypeOid;
}
But when override $getProperty, can't return BigInt property, I didn't find the representation of dart_eval for BigInt.
class $AttendanceEntity extends $OriginalDomainEntity implements AttendanceEntity, $Instance {
$AttendanceEntity.wrap(this.$value) : _superclass = $Object($value);
static final $type = BridgeTypeSpec(ClassPlugin.packageName, 'AttendanceEntity').ref;
@override
final AttendanceEntity $value;
@override
AttendanceEntity get $reified => $value;
final $Instance _superclass;
@override
void $setProperty(Runtime runtime, String identifier, $Value value) => _superclass.$setProperty(runtime, identifier, value);
@override
BigInt get attendanceNumber => $value.attendanceNumber;
@override
int get visitTypeOid => $value.visitTypeOid;
static final $declaration = BridgeClassDef(
BridgeClassType($type),
constructors: {
'': BridgeConstructorDef(
BridgeFunctionDef(
returns: BridgeTypeAnnotation($type),
params: List<BridgeParameter>.from(
[
BridgeParameter('attendanceNumber', CoreTypes.num.ref.annotate, false),
BridgeParameter('visitTypeOid', CoreTypes.int.ref.annotate, false),
],
growable: false,
).toList(),
),
)
},
);
static $Value $new(Runtime runtime, $Value? target, List<$Value?> args) => $AttendanceEntity.wrap(
AttendanceEntity(
visitTypeOid: args[0]?.$value,
attendanceNumber: args[1]?.$value,
originalOid: args[2]?.$value,
),
);
@override
$Value? $getProperty(Runtime runtime, String identifier) {
switch (identifier) {
case 'originalOid':
return $value.originalOid == null ? $null() : $int($value.originalOid!);
case 'attendanceNumber':
return $BigInt($value.attendanceNumber); /// <= HERE
case 'visitTypeOid':
return $int($value.visitTypeOid);
default:
return _superclass.$getProperty(runtime, identifier);
}
}
}