findTypeDependencies static method
Finds all types within a type defintion object
@param {string} primaryType - Root type @param {Object} types - Type definitions @param {Array} results - current set of accumulated types @returns {Array} - Set of all types found in the type definition
Implementation
static Set<String> findTypeDependencies(
String primaryType, Map<String, List<TypedDataField>> types,
{Set<String>? results}) {
primaryType = _typeRegex.stringMatch(primaryType) ?? "";
results ??= Set();
if (results.contains(primaryType) || !types.containsKey(primaryType)) {
return results;
}
results.add(primaryType);
types[primaryType]?.forEach((TypedDataField field) {
findTypeDependencies(field.type, types, results: results).forEach((dep) {
if (!results!.contains(dep)) {
results.add(dep);
}
});
});
return results;
}