diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..60c9dee --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,30 @@ +import {Changes} from './schemas' + +export function groupDependenciesByManifest( + changes: Changes +): Map { + const dependencies: Map = new Map() + for (const change of changes) { + const manifestName = change.manifest + + if (dependencies.get(manifestName) === undefined) { + dependencies.set(manifestName, []) + } + + dependencies.get(manifestName)?.push(change) + } + + return dependencies +} + +export function getManifestsSet(changes: Changes): Set { + return new Set(changes.flatMap(c => c.manifest)) +} + +export function renderUrl(url: string | null, text: string): string { + if (url) { + return `${text}` + } else { + return text + } +}