memberGet method
dynamic
memberGet(})
override
Fetch a member by the id, in the form of
object.id
id must be of String type.
Implementation
@override
dynamic memberGet(String id,
{String? from, bool isRecursive = false, bool ignoreUndefined = false}) {
switch (id) {
case 'Future':
return ({positionalArgs, namedArgs}) {
final HTFunction func = positionalArgs.first;
return Future(() => func.call());
};
case 'Future.wait':
return ({positionalArgs, namedArgs}) {
final futures = List<Future<dynamic>>.from(positionalArgs.first);
// final HTFunction? func = namedArgs['cleanUp'];
return Future.wait(futures);
// , cleanUp: (value) {
// if (func != null) func.call(positionalArgs: [value]);
// });
};
case 'Future.value':
return ({object, positionalArgs, namedArgs}) {
return Future.value(positionalArgs.first);
};
case 'Future.delayed':
return ({object, positionalArgs, namedArgs}) {
return Future.delayed(
Duration(milliseconds: (positionalArgs[0] * 1000).truncate()),
() => positionalArgs[1]?.call());
};
default:
if (!ignoreUndefined) throw HTError.undefined(id);
}
}