INNER CODE UNIT · TypeScript
removeResource
babyfish-ct/graphql-ts-client · api/src/DependencyManager.ts:285
function removeResource(recursiveResourceMap: RecursiveResourceMap, resource: string) {
const deletedKeys = new Set<string>();
for (const [key, deeperValue] of recursiveResourceMap) {
if (deeperValue instanceof Resources) {
if (deeperValue.release(resource) === 0) {
deletedKeys.add(key);
}
} else {
removeResource(deeperValue, resource);
if (deeperValue.size === 0) {
deletedKeys.add(key);
}
}
}
for (const deletedKey of deletedKeys) {
recursiveResourceMap.delete(deletedKey);
}
}