(entries: T[], property: K)
| 283 | } |
| 284 | |
| 285 | function collectOrUndefined<T, K extends keyof T>(entries: T[], property: K): NonNullable<T[K]>[] | undefined { |
| 286 | const values = entries.map(entry => entry[property]) |
| 287 | .filter(value => !!value) as NonNullable<T[K]>[]; |
| 288 | return values.length ? values : undefined; |
| 289 | } |
| 290 | |
| 291 | export function getDevcontainerMetadata(baseImageMetadata: SubstitutedConfig<ImageMetadataEntry[]>, devContainerConfig: SubstitutedConfig<DevContainerConfig>, featuresConfig: FeaturesConfig | undefined, omitPropertyOverride: string[] = [], omitDevcontainerPropertyOverride: (keyof DevContainerConfig & keyof ImageMetadataEntry)[] = []): SubstitutedConfig<ImageMetadataEntry[]> { |
| 292 | const effectivePickFeatureProperties = pickFeatureProperties.filter(property => !omitPropertyOverride.includes(property)); |
no outgoing calls
no test coverage detected