evalMemberExpression method
dynamic
evalMemberExpression(
- MemberExpression expression,
- Map<String, dynamic> context
)
Implementation
@override
dynamic evalMemberExpression(
MemberExpression expression,
Map<String, dynamic> context,
) {
_guardInterpolation(expression.toString());
final cmd = expression.toString().split('.');
if (cmd.first == 'env') {
final envKey = cmd.last;
final value = _prefixed(cmd, _getEnv(envKey));
return value;
}
if (cmd.first == 'datetime') {
final formats = <String, String Function(DateTime)>{
'nowFull': (dt) {
return '${dt.year}.${dt.month}.${dt.day}-${dt.hour}.${dt.minute}';
},
};
final name = cmd.firstWhereOrNull(formats.keys.contains);
final format = formats[name];
if (format != null) {
final date = format(DateTime.now());
return _prefixed(cmd, date);
}
return;
}
if (cmd.first == 'build') {
_guardBuildSettings();
if (cmd[1] == 'isRelease') {
return settings!.type == BuildType.release;
} else if (cmd[1] == 'isProfile') {
return settings!.type == BuildType.profile;
} else if (cmd[1] == 'isDebug') {
return settings!.type == BuildType.debug;
} else if (cmd[1] == 'isNotRelease') {
return settings!.type != BuildType.release;
}
}
return super.evalMemberExpression(expression, context);
}