Skip to content

Commit b599f65

Browse files
committed
fix: tools' services/components omit empty
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 1ad0dd3 commit b599f65

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/serialize/json/normalize.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,12 @@ export class ToolsNormalizer extends BaseJsonNormalizer<Models.Tools> {
302302
)), options)
303303
}
304304
return {
305-
components: this._factory.makeForComponent().normalizeIterable(data.components, options),
306-
services: this._factory.makeForService().normalizeIterable(data.services, options)
305+
components: data.components.size > 0
306+
? this._factory.makeForComponent().normalizeIterable(data.components, options)
307+
: undefined,
308+
services: data.services.size > 0
309+
? this._factory.makeForService().normalizeIterable(data.services, options)
310+
: undefined
307311
}
308312
}
309313
}

src/serialize/json/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ export namespace Normalized {
120120

121121
/** since CDX 1.5 */
122122
export interface Tools {
123-
components: Component[]
124-
services: Service[]
123+
components?: Component[]
124+
services?: Service[]
125125
}
126126

127127
export type ToolsType = Tools | Tool[]

src/serialize/xml/normalize.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ export class ToolsNormalizer extends BaseXmlNormalizer<Models.Tools> {
389389
children: this._factory.makeForComponent().normalizeIterable(data.components, options, 'component')
390390
})
391391
}
392-
if (data.components.size > 0) {
392+
if (data.services.size > 0) {
393393
children.push({
394394
type: 'element',
395395
name: 'services',

0 commit comments

Comments
 (0)