typeId property
Called for type registration
Implementation
@override
int get typeId {
// _adapter_hive:key: {
// '_adapter_hive:posts': ['_adapter_hive:1'],
// '_adapter_hive:comments': ['_adapter_hive:2'],
// '_adapter_hive:houses': ['_adapter_hive:3'],
// }
if (!graph._hasNode(_hiveAdapterKey)) {
graph._addNode(_hiveAdapterKey);
}
final _typesNode = graph._getNode(_hiveAdapterKey)!;
final edge =
_typesNode[StringUtils.namespace(_hiveAdapterNs, _internalType)];
if (edge != null && edge.isNotEmpty) {
// first is of format: _adapter_hive:1
return int.parse(edge.first.denamespace());
}
// get namespaced indices
final index = _typesNode.values
// denamespace and parse single
.map((e) => int.parse(e.first.denamespace()))
// find max
.fold(0, max) +
1;
graph._addEdge(_hiveAdapterKey,
StringUtils.namespace(_hiveAdapterNs, index.toString()),
metadata: StringUtils.namespace(_hiveAdapterNs, _internalType));
return index;
}