buildNodeMap static method
Map
buildNodeMap(
- dynamic input
)
Implementation
static Map buildNodeMap(dynamic input) {
Map create(dynamic value) {
if (value is Map) {
var m = <String, dynamic>{r'$is': 'json'};
for (String key in value.keys) {
m[NodeNamer.createName(key)] = create(value[key]);
}
return m;
} else if (value is List &&
value.every((dynamic e) => e is Map || e is List)) {
var m = <String, dynamic>{};
for (var i = 0; i < value.length; i++) {
m[i.toString()] = create(value[i]);
}
return m;
} else {
return <String, dynamic>{
r'$is': 'json',
r'$type': _guessType(value),
'?_json': value,
};
}
}
return create(input);
}