MCPcopy Create free account
hub / github.com/devcontainers/cli / mergeMounts

Function mergeMounts

src/spec-node/imageMetadata.ts:264–278  ·  view source on GitHub ↗
(imageMetadata: ImageMetadataEntry[])

Source from the content-addressed store, hash-verified

262}
263
264function mergeMounts(imageMetadata: ImageMetadataEntry[]): (Mount | string)[] | undefined {
265 const seen = new Set<string>();
266 const mounts = imageMetadata.map(entry => entry.mounts)
267 .filter(Boolean)
268 .flat()
269 .map(mount => ({
270 obj: typeof mount === 'string' ? parseMount(mount) : mount!,
271 orig: mount!,
272 }))
273 .reverse()
274 .filter(mount => !seen.has(mount.obj.target) && seen.add(mount.obj.target))
275 .reverse()
276 .map(mount => mount.orig);
277 return mounts.length ? mounts : undefined;
278}
279
280function unionOrUndefined<T>(entries: (T[] | undefined)[]): T[] | undefined {
281 const values = [...new Set(([] as T[]).concat(...entries.filter(entry => !!entry) as T[][]))];

Callers 1

mergeConfigurationFunction · 0.85

Calls 1

parseMountFunction · 0.90

Tested by

no test coverage detected