get_library_information method
dynamic
get_library_information()
Implementation
get_library_information() {
const PythonTypeMap = {
"String": "str",
"int": "int",
"DateTime": "datetime"
};
InstanceMirror instance_mirror = reflect(library);
var class_mirror = instance_mirror.type;
// instance_mirror.invoke(memberName, positionalArguments)
Map library_information = {
'__intro__': {'doc': 'Library documentation'},
};
for (var v in class_mirror.declarations.values) {
if (v is MethodMirror) {
var props = {
'args': [],
'types': [],
'doc': '',
};
var args = [];
var types = [];
var name = MirrorSystem.getName(v.simpleName);
for (var p in v.parameters) {
var name = MirrorSystem.getName(p.simpleName);
var type = MirrorSystem.getName(p.type.simpleName);
args.add(name);
types.add(PythonTypeMap[type]);
}
props['args'] = args;
props['types'] = types;
library_information[name] = props;
}
}
print('returned library info $library_information');
return library_information;
}