@cyclonedx/cyclonedx-library 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +3 -2
  2. package/dist.node/builders/fromNodePackageJson.node.js.map +1 -1
  3. package/dist.node/factories/license.js +2 -2
  4. package/dist.node/factories/license.js.map +1 -1
  5. package/dist.node/factories/packageUrl.js.map +1 -1
  6. package/dist.node/models/attachment.js.map +1 -1
  7. package/dist.node/models/bomRef.js +1 -1
  8. package/dist.node/models/bomRef.js.map +1 -1
  9. package/dist.node/models/externalReference.js.map +1 -1
  10. package/dist.node/models/license.js.map +1 -1
  11. package/dist.node/models/swid.js.map +1 -1
  12. package/dist.node/serialize/baseSerializer.js +8 -3
  13. package/dist.node/serialize/baseSerializer.js.map +1 -1
  14. package/dist.node/serialize/json/normalize.js.map +1 -1
  15. package/dist.node/serialize/jsonSerializer.js.map +1 -1
  16. package/dist.node/serialize/xml/normalize.js.map +1 -1
  17. package/dist.node/serialize/xmlBaseSerializer.js.map +1 -1
  18. package/dist.web/lib.dev.js +11 -6
  19. package/dist.web/lib.dev.js.map +1 -1
  20. package/dist.web/lib.js +1 -1
  21. package/package.json +1 -1
  22. package/res/README.md +1 -1
  23. package/src/builders/fromNodePackageJson.node.ts +3 -3
  24. package/src/factories/license.ts +2 -2
  25. package/src/factories/packageUrl.ts +1 -1
  26. package/src/models/attachment.ts +1 -1
  27. package/src/models/bom.ts +1 -1
  28. package/src/models/bomRef.ts +2 -2
  29. package/src/models/externalReference.ts +1 -1
  30. package/src/models/license.ts +3 -3
  31. package/src/models/swid.ts +1 -1
  32. package/src/serialize/baseSerializer.ts +11 -4
  33. package/src/serialize/json/normalize.ts +8 -5
  34. package/src/serialize/jsonSerializer.ts +1 -1
  35. package/src/serialize/xml/normalize.ts +8 -5
  36. package/src/serialize/xmlBaseSerializer.ts +1 -1
package/dist.web/lib.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see lib.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("PackageURL")):"function"==typeof define&&define.amd?define(["PackageURL"],t):"object"==typeof exports?exports.CycloneDX_library=t(require("PackageURL")):e.CycloneDX_library=t(e.PackageURL)}(self,(e=>(()=>{"use strict";var t={5139:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AttachmentEncoding=void 0,(t.AttachmentEncoding||(t.AttachmentEncoding={})).Base64="base64"},7947:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentScope=void 0,(r=t.ComponentScope||(t.ComponentScope={})).Required="required",r.Optional="optional",r.Excluded="excluded"},993:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentType=void 0,(r=t.ComponentType||(t.ComponentType={})).Application="application",r.Framework="framework",r.Library="library",r.Container="container",r.OperatingSystem="operating-system",r.Device="device",r.Firmware="firmware",r.File="file"},366:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalReferenceType=void 0,(r=t.ExternalReferenceType||(t.ExternalReferenceType={})).VCS="vcs",r.IssueTracker="issue-tracker",r.Website="website",r.Advisories="advisories",r.BOM="bom",r.MailingList="mailing-list",r.Social="social",r.Chat="chat",r.Documentation="documentation",r.Support="support",r.Distribution="distribution",r.License="license",r.BuildMeta="build-meta",r.BuildSystem="build-system",r.ReleaseNotes="release-notes",r.Other="other"},9523:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.HashAlgorithm=void 0,(r=t.HashAlgorithm||(t.HashAlgorithm={})).MD5="MD5",r["SHA-1"]="SHA-1",r["SHA-256"]="SHA-256",r["SHA-384"]="SHA-384",r["SHA-512"]="SHA-512",r["SHA3-256"]="SHA3-256",r["SHA3-384"]="SHA3-384",r["SHA3-512"]="SHA3-512",r["BLAKE2b-256"]="BLAKE2b-256",r["BLAKE2b-384"]="BLAKE2b-384",r["BLAKE2b-512"]="BLAKE2b-512",r.BLAKE3="BLAKE3"},9507:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(5139),t),n(r(7947),t),n(r(993),t),n(r(366),t),n(r(9523),t)},9123:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(5990),t),n(r(1951),t)},7354:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(9123),t)},5990:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseFactory=void 0;const o=r(5357),n=r(9169);t.LicenseFactory=class{makeFromString(e){try{return this.makeExpression(e)}catch(t){return this.makeDisjunctive(e)}}makeExpression(e){return new o.LicenseExpression(e)}makeDisjunctive(e){try{return this.makeDisjunctiveWithId(e)}catch(t){return this.makeDisjunctiveWithName(e)}}makeDisjunctiveWithId(e){const t=(0,n.fixupSpdxId)(String(e));if(void 0===t)throw new RangeError("Unsupported SPDX id");return new o.SpdxLicense(t)}makeDisjunctiveWithName(e){return new o.NamedLicense(String(e))}}},1951:function(e,t,r){var o,n=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.PackageUrlFactory=void 0;const a=r(1042),s=r(9507);t.PackageUrlFactory=class{constructor(e){o.set(this,void 0),n(this,o,e,"f")}get type(){return i(this,o,"f")}makeFromComponent(e,t=!1){const r={};let n;const c=e.externalReferences;for(const e of t?c.sorted():c)switch(e.type){case s.ExternalReferenceType.VCS:[r.vcs_url,n]=e.url.toString().split("#",2);break;case s.ExternalReferenceType.Distribution:r.download_url=e.url.toString()}const l=e.hashes;l.size>0&&(r.checksum=Array.from(t?l.sorted():l,(([e,t])=>`${e.toLowerCase()}:${t.toLowerCase()}`)).join(","));try{return new a.PackageURL(i(this,o,"f"),e.group,e.name,e.version,r,n)}catch{return}}},o=new WeakMap},7111:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNotUndefined=void 0,t.isNotUndefined=function(e){return void 0!==e}},3428:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SortableSet=void 0;class r extends Set{sorted(){return Array.from(this).sort(((e,t)=>e.compare(t)))}}t.SortableSet=r},2914:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.treeIterator=void 0,t.treeIterator=Symbol("iterator of a tree/nesting-like structure")},9136:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Serialize=t.Spec=t.Factories=t.Models=t.SPDX=t.Enums=t.Types=void 0,t.Types=i(r(2380)),t.Enums=i(r(9507)),t.SPDX=i(r(9169)),t.Models=i(r(5357)),t.Factories=i(r(7354)),t.Spec=i(r(9841)),t.Serialize=i(r(8650))},4400:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Attachment=void 0,t.Attachment=class{constructor(e,t={}){this.contentType=t.contentType,this.content=e,this.encoding=t.encoding}}},4818:function(e,t,r){var o,n,i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)},a=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r};Object.defineProperty(t,"__esModule",{value:!0}),t.Bom=void 0;const s=r(2380),c=r(5179),l=r(1995);t.Bom=class{constructor(e={}){o.set(this,1),n.set(this,void 0),this.metadata=e.metadata??new c.Metadata,this.components=e.components??new l.ComponentRepository,this.version=e.version??this.version,this.serialNumber=e.serialNumber}get version(){return i(this,o,"f")}set version(e){if(!(0,s.isPositiveInteger)(e))throw new TypeError("Not PositiveInteger");a(this,o,e,"f")}get serialNumber(){return i(this,n,"f")}set serialNumber(e){if(void 0!==e&&!(0,s.isUrnUuid)(e))throw new TypeError("Not UrnUuid nor undefined");a(this,n,e,"f")}},o=new WeakMap,n=new WeakMap},8471:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BomRefRepository=t.BomRef=void 0,t.BomRef=class{constructor(e){this.value=e}compare(e){return this.toString().localeCompare(e.toString())}toString(){return this.value??""}};class r extends Set{}t.BomRefRepository=r},1995:function(e,t,r){var o,n,i=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},a=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentRepository=t.Component=void 0;const s=r(2380),c=r(8471),l=r(7368),p=r(5422),u=r(9191),m=r(5086),d=r(3428),h=r(2914);t.Component=class{constructor(e,t,r={}){o.set(this,void 0),n.set(this,void 0),i(this,o,new c.BomRef(r.bomRef),"f"),this.type=e,this.name=t,this.supplier=r.supplier,this.author=r.author,this.copyright=r.copyright,this.externalReferences=r.externalReferences??new p.ExternalReferenceRepository,this.group=r.group,this.hashes=r.hashes??new l.HashRepository,this.licenses=r.licenses??new u.LicenseRepository,this.publisher=r.publisher,this.purl=r.purl,this.scope=r.scope,this.swid=r.swid,this.version=r.version,this.description=r.description,this.dependencies=r.dependencies??new c.BomRefRepository,this.components=r.components??new f,this.cpe=r.cpe,this.properties=r.properties??new m.PropertyRepository}get bomRef(){return a(this,o,"f")}get cpe(){return a(this,n,"f")}set cpe(e){if(void 0!==e&&!(0,s.isCPE)(e))throw new TypeError("Not CPE nor undefined");i(this,n,e,"f")}compare(e){const t=this.bomRef.compare(e.bomRef);return 0!==t?t:void 0!==this.purl&&void 0!==e.purl?this.purl.toString().localeCompare(e.purl.toString()):void 0!==a(this,n,"f")&&void 0!==a(e,n,"f")?a(this,n,"f").toString().localeCompare(a(e,n,"f").toString()):(this.group??"").localeCompare(e.group??"")||this.name.localeCompare(e.name)||(this.version??"").localeCompare(e.version??"")}},o=new WeakMap,n=new WeakMap;class f extends d.SortableSet{*[h.treeIterator](){for(const e of this)yield e,yield*e.components[h.treeIterator]()}}t.ComponentRepository=f},5422:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalReferenceRepository=t.ExternalReference=void 0;const o=r(3428);t.ExternalReference=class{constructor(e,t,r={}){this.url=e,this.type=t,this.comment=r.comment}compare(e){return this.type.localeCompare(e.type)||this.url.toString().localeCompare(e.url.toString())}};class n extends o.SortableSet{}t.ExternalReferenceRepository=n},7368:function(e,t){var r,o,n=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.HashRepository=void 0;class i extends Map{constructor(){super(...arguments),r.add(this)}sorted(){return Array.from(this.entries()).sort(n(this,r,"m",o))}}t.HashRepository=i,r=new WeakSet,o=function([e,t],[r,o]){return e.localeCompare(r)||t.localeCompare(o)}},5357:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(4400),t),n(r(4818),t),n(r(8471),t),n(r(1995),t),n(r(5422),t),n(r(7368),t),n(r(9191),t),n(r(5179),t),n(r(5769),t),n(r(2979),t),n(r(5086),t),n(r(4643),t),n(r(7557),t)},9191:function(e,t,r){var o,n,i,a,s=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)},c=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r};Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseRepository=t.SpdxLicense=t.NamedLicense=t.LicenseExpression=void 0;const l=r(9169);class p{constructor(e){o.set(this,void 0),this.expression=e}static isEligibleExpression(e){return"string"==typeof e&&e.length>=8&&"("===e[0]&&")"===e[e.length-1]}get expression(){return s(this,o,"f")}set expression(e){if(!p.isEligibleExpression(e))throw new RangeError("Not eligible expression");c(this,o,e,"f")}compare(e){return s(this,o,"f").localeCompare(s(e,o,"f"))}}t.LicenseExpression=p,o=new WeakMap,t.NamedLicense=class{constructor(e,t={}){this.name=e,this.text=t.text,this.url=t.url}compare(e){return this.name.localeCompare(e.name)}},t.SpdxLicense=class{constructor(e,t={}){n.set(this,void 0),this.id=e,this.text=t.text,this.url=t.url}get id(){return s(this,n,"f")}set id(e){if(!(0,l.isSupportedSpdxId)(e))throw new RangeError("Unknown SPDX id");c(this,n,e,"f")}compare(e){return s(this,n,"f").localeCompare(s(e,n,"f"))}},n=new WeakMap;class u extends Set{constructor(){super(...arguments),i.add(this)}sorted(){return Array.from(this).sort(s(this,i,"m",a))}}t.LicenseRepository=u,i=new WeakSet,a=function(e,t){return e.constructor===t.constructor?e.compare(t):e.constructor.name.localeCompare(t.constructor.name)}},5179:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Metadata=void 0;const o=r(7557),n=r(5769);t.Metadata=class{constructor(e={}){this.timestamp=e.timestamp,this.tools=e.tools??new o.ToolRepository,this.authors=e.authors??new n.OrganizationalContactRepository,this.component=e.component,this.manufacture=e.manufacture,this.supplier=e.supplier}}},5769:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OrganizationalContactRepository=t.OrganizationalContact=void 0;const o=r(3428);t.OrganizationalContact=class{constructor(e={}){this.name=e.name,this.email=e.email,this.phone=e.phone}compare(e){return(this.name??"").localeCompare(e.name??"")||(this.email??"").localeCompare(e.email??"")||(this.phone??"").localeCompare(e.phone??"")}};class n extends o.SortableSet{}t.OrganizationalContactRepository=n},2979:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OrganizationalEntity=void 0;const o=r(5769);t.OrganizationalEntity=class{constructor(e={}){this.name=e.name,this.url=e.url??new Set,this.contact=e.contact??new o.OrganizationalContactRepository}}},5086:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PropertyRepository=t.Property=void 0;const o=r(3428);t.Property=class{constructor(e,t){this.name=e,this.value=t}compare(e){return this.name.localeCompare(e.name)||this.value.localeCompare(e.value)}};class n extends o.SortableSet{}t.PropertyRepository=n},4643:function(e,t,r){var o,n=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)},i=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r};Object.defineProperty(t,"__esModule",{value:!0}),t.SWID=void 0;const a=r(2380);t.SWID=class{constructor(e,t,r={}){o.set(this,void 0),this.tagId=e,this.name=t,this.version=r.version,this.patch=r.patch,this.text=r.text,this.url=r.url,this.tagVersion=r.tagVersion}get tagVersion(){return n(this,o,"f")}set tagVersion(e){if(void 0!==e&&!(0,a.isNonNegativeInteger)(e))throw new TypeError("Not NonNegativeInteger nor undefined");i(this,o,e,"f")}},o=new WeakMap},7557:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ToolRepository=t.Tool=void 0;const o=r(7368),n=r(5422),i=r(3428);t.Tool=class{constructor(e={}){this.vendor=e.vendor,this.name=e.name,this.version=e.version,this.hashes=e.hashes??new o.HashRepository,this.externalReferences=e.externalReferences??new n.ExternalReferenceRepository}compare(e){return(this.vendor??"").localeCompare(e.vendor??"")||(this.name??"").localeCompare(e.name??"")||(this.version??"").localeCompare(e.version??"")}};class a extends i.SortableSet{}t.ToolRepository=a},7135:function(e,t,r){var o,n,i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseSerializer=void 0;const a=r(8052);t.BaseSerializer=class{constructor(){o.add(this)}serialize(e,t){const r=new a.BomRefDiscriminator(i(this,o,"m",n).call(this,e));try{r.discriminate();const o=this._normalize(e,t);return this._serialize(o,t)}finally{r.reset()}}},o=new WeakSet,n=function(e){const t=new Set;void 0!==e.metadata.component&&t.add(e.metadata.component.bomRef);for(const{bomRef:r}of e.components)t.add(r);return t.values()}},8052:function(e,t){var r,o,n,i,a=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},s=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.BomRefDiscriminator=void 0;class c{constructor(e,t="BomRef"){r.add(this),o.set(this,void 0),n.set(this,void 0),a(this,o,new Map(Array.from(e).map((e=>[e,e.value]))),"f"),a(this,n,t,"f")}get prefix(){return s(this,n,"f")}[(o=new WeakMap,n=new WeakMap,r=new WeakSet,Symbol.iterator)](){return s(this,o,"f").keys()}discriminate(){const e=new Set;for(const[t]of s(this,o,"f")){let o=t.value;(void 0===o||e.has(o))&&(o=s(this,r,"m",i).call(this),t.value=o),e.add(o)}}reset(){for(const[e,t]of s(this,o,"f"))e.value=t}}t.BomRefDiscriminator=c,i=function(){return`${s(this,n,"f")}${Math.random().toString(32).substring(1)}${Math.random().toString(32).substring(1)}`}},4750:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.XML=t.JSON=t.Types=void 0,t.Types=i(r(5010)),a(r(7135),t),a(r(8052),t),t.JSON=i(r(3287)),a(r(3181),t),t.XML=i(r(71)),a(r(5047),t)},8650:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(4750),t),n(r(6955),t)},3287:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Normalize=t.Types=void 0,t.Types=i(r(1143)),t.Normalize=i(r(9024))},9024:function(e,t,r){var o,n,i,a,s,c,l,p=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),m=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&p(t,e,r);return u(t,e),t},d=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},h=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.DependencyGraphNormalizer=t.PropertyNormalizer=t.AttachmentNormalizer=t.ExternalReferenceNormalizer=t.SWIDNormalizer=t.LicenseNormalizer=t.ComponentNormalizer=t.OrganizationalEntityNormalizer=t.OrganizationalContactNormalizer=t.HashNormalizer=t.ToolNormalizer=t.MetadataNormalizer=t.BomNormalizer=t.Factory=void 0;const f=r(7111),y=m(r(5357)),v=r(9841),w=r(1143),L=r(2914);t.Factory=class{constructor(e){o.set(this,void 0),d(this,o,e,"f")}get spec(){return h(this,o,"f")}makeForBom(){return new P(this)}makeForMetadata(){return new b(this)}makeForComponent(){return new O(this)}makeForTool(){return new g(this)}makeForOrganizationalContact(){return new A(this)}makeForOrganizationalEntity(){return new x(this)}makeForHash(){return new _(this)}makeForLicense(){return new z(this)}makeForSWID(){return new E(this)}makeForExternalReference(){return new R(this)}makeForAttachment(){return new T(this)}makeForProperty(){return new N(this)}makeForDependencyGraph(){return new F(this)}},o=new WeakMap;const S=new Map([[v.Version.v1dot2,"http://cyclonedx.org/schema/bom-1.2b.schema.json"],[v.Version.v1dot3,"http://cyclonedx.org/schema/bom-1.3a.schema.json"],[v.Version.v1dot4,"http://cyclonedx.org/schema/bom-1.4.schema.json"]]);class C{constructor(e){this._factory=e}get factory(){return this._factory}}class P extends C{normalize(e,t){return{$schema:S.get(this._factory.spec.version),bomFormat:"CycloneDX",specVersion:this._factory.spec.version,version:e.version,serialNumber:e.serialNumber,metadata:this._factory.makeForMetadata().normalize(e.metadata,t),components:e.components.size>0?this._factory.makeForComponent().normalizeRepository(e.components,t):[],dependencies:this._factory.spec.supportsDependencyGraph?this._factory.makeForDependencyGraph().normalize(e,t):void 0}}}t.BomNormalizer=P;class b extends C{normalize(e,t){const r=this._factory.makeForOrganizationalEntity();return{timestamp:e.timestamp?.toISOString(),tools:e.tools.size>0?this._factory.makeForTool().normalizeRepository(e.tools,t):void 0,authors:e.authors.size>0?this._factory.makeForOrganizationalContact().normalizeRepository(e.authors,t):void 0,component:void 0===e.component?void 0:this._factory.makeForComponent().normalize(e.component,t),manufacture:void 0===e.manufacture?void 0:r.normalize(e.manufacture,t),supplier:void 0===e.supplier?void 0:r.normalize(e.supplier,t)}}}t.MetadataNormalizer=b;class g extends C{normalize(e,t){return{vendor:e.vendor||void 0,name:e.name||void 0,version:e.version||void 0,hashes:e.hashes.size>0?this._factory.makeForHash().normalizeRepository(e.hashes,t):void 0,externalReferences:this._factory.spec.supportsToolReferences&&e.externalReferences.size>0?this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t):void 0}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.ToolNormalizer=g;class _ extends C{normalize([e,t],r){const o=this._factory.spec;return o.supportsHashAlgorithm(e)&&o.supportsHashValue(t)?{alg:e,content:t}:void 0}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t))).filter(f.isNotUndefined)}}t.HashNormalizer=_;class A extends C{normalize(e,t){return{name:e.name||void 0,email:w.JsonSchema.isIdnEmail(e.email)?e.email:void 0,phone:e.phone||void 0}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.OrganizationalContactNormalizer=A;class x extends C{normalize(e,t){const r=D(e.url,t).filter(w.JsonSchema.isIriReference);return{name:e.name||void 0,url:r.length>0?r:void 0,contact:e.contact.size>0?this._factory.makeForOrganizationalContact().normalizeRepository(e.contact,t):void 0}}}t.OrganizationalEntityNormalizer=x;class O extends C{normalize(e,t){const r=this._factory.spec,o=e.version??"";return r.supportsComponentType(e.type)?{type:e.type,name:e.name,group:e.group||void 0,version:o.length>0||r.requiresComponentVersion?o:void 0,"bom-ref":e.bomRef.value||void 0,supplier:void 0===e.supplier?void 0:this._factory.makeForOrganizationalEntity().normalize(e.supplier,t),author:e.author||void 0,publisher:e.publisher||void 0,description:e.description||void 0,scope:e.scope,hashes:e.hashes.size>0?this._factory.makeForHash().normalizeRepository(e.hashes,t):void 0,licenses:e.licenses.size>0?this._factory.makeForLicense().normalizeRepository(e.licenses,t):void 0,copyright:e.copyright||void 0,cpe:e.cpe||void 0,purl:e.purl?.toString(),swid:void 0===e.swid?void 0:this._factory.makeForSWID().normalize(e.swid,t),externalReferences:e.externalReferences.size>0?this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t):void 0,properties:r.supportsProperties(e)&&e.properties.size>0?this._factory.makeForProperty().normalizeRepository(e.properties,t):void 0,components:e.components.size>0?this.normalizeRepository(e.components,t):void 0}:void 0}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t))).filter(f.isNotUndefined)}}t.ComponentNormalizer=O;class z extends C{constructor(){super(...arguments),n.add(this)}normalize(e,t){switch(!0){case e instanceof y.NamedLicense:return h(this,n,"m",i).call(this,e,t);case e instanceof y.SpdxLicense:return h(this,n,"m",a).call(this,e,t);case e instanceof y.LicenseExpression:return h(this,n,"m",s).call(this,e);default:throw new TypeError("Unexpected LicenseChoice")}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.LicenseNormalizer=z,n=new WeakSet,i=function(e,t){return{license:{name:e.name,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:e.url?.toString()}}},a=function(e,t){return{license:{id:e.id,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:e.url?.toString()}}},s=function(e){return{expression:e.expression}};class E extends C{normalize(e,t){const r=e.url?.toString();return{tagId:e.tagId,name:e.name,version:e.version||void 0,tagVersion:e.tagVersion,patch:e.patch,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:w.JsonSchema.isIriReference(r)?r:void 0}}}t.SWIDNormalizer=E;class R extends C{normalize(e,t){return this._factory.spec.supportsExternalReferenceType(e.type)?{url:e.url.toString(),type:e.type,comment:e.comment||void 0}:void 0}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t))).filter(f.isNotUndefined)}}t.ExternalReferenceNormalizer=R;class T extends C{normalize(e,t){return{content:e.content,contentType:e.contentType||void 0,encoding:e.encoding}}}t.AttachmentNormalizer=T;class N extends C{normalize(e,t){return{name:e.name,value:e.value}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.PropertyNormalizer=N;class F extends C{constructor(){super(...arguments),c.add(this)}normalize(e,t){const r=new Map;if(void 0!==e.metadata.component){r.set(e.metadata.component.bomRef,e.metadata.component.dependencies);for(const t of e.metadata.component.components[L.treeIterator]())r.set(t.bomRef,t.dependencies)}for(const t of e.components[L.treeIterator]())r.set(t.bomRef,t.dependencies);const o=[];for(const[e,n]of r){const i=h(this,c,"m",l).call(this,e,n,r,t);(0,f.isNotUndefined)(i)&&o.push(i)}return t.sortLists&&o.sort((({ref:e},{ref:t})=>e.localeCompare(t))),o}}function D(e,t){const r=Array.from(e,(e=>e.toString()));return t.sortLists&&r.sort(((e,t)=>e.localeCompare(t))),r}t.DependencyGraphNormalizer=F,c=new WeakSet,l=function(e,t,r,o){const n=e.toString();if(0===n.length)return;const i=D(Array.from(t).filter((t=>r.has(t)&&t!==e)),o).filter((e=>e.length>0));return{ref:n,dependsOn:i.length>0?i:void 0}}},1143:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.JsonSchema=void 0,(r=t.JsonSchema||(t.JsonSchema={})).isIriReference=function(e){return"string"==typeof e&&e.length>0},r.isIdnEmail=function(e){return"string"==typeof e&&e.length>0}},3181:function(e,t,r){var o,n=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.JsonSerializer=void 0;const a=r(9841),s=r(7135);class c extends s.BaseSerializer{constructor(e){if(!e.spec.supportsFormat(a.Format.JSON))throw new a.UnsupportedFormatError("Spec does not support JSON format.");super(),o.set(this,void 0),n(this,o,e,"f")}get normalizerFactory(){return i(this,o,"f")}_normalize(e,t={}){return i(this,o,"f").makeForBom().normalize(e,t)}_serialize(e,{space:t}={}){return JSON.stringify(e,null,t)}}t.JsonSerializer=c,o=new WeakMap},5010:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},71:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Normalize=t.Types=void 0,t.Types=i(r(8700)),t.Normalize=i(r(17))},17:function(e,t,r){var o,n,i,a,s,c,l,p=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),m=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&p(t,e,r);return u(t,e),t},d=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},h=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.DependencyGraphNormalizer=t.PropertyNormalizer=t.AttachmentNormalizer=t.ExternalReferenceNormalizer=t.SWIDNormalizer=t.LicenseNormalizer=t.ComponentNormalizer=t.OrganizationalEntityNormalizer=t.OrganizationalContactNormalizer=t.HashNormalizer=t.ToolNormalizer=t.MetadataNormalizer=t.BomNormalizer=t.Factory=void 0;const f=r(7111),y=m(r(5357)),v=r(9841),w=r(8700),L=r(2914);t.Factory=class{constructor(e){o.set(this,void 0),d(this,o,e,"f")}get spec(){return h(this,o,"f")}makeForBom(){return new P(this)}makeForMetadata(){return new b(this)}makeForComponent(){return new O(this)}makeForTool(){return new g(this)}makeForOrganizationalContact(){return new A(this)}makeForOrganizationalEntity(){return new x(this)}makeForHash(){return new _(this)}makeForLicense(){return new z(this)}makeForSWID(){return new E(this)}makeForExternalReference(){return new R(this)}makeForAttachment(){return new T(this)}makeForProperty(){return new N(this)}makeForDependencyGraph(){return new F(this)}},o=new WeakMap;const S=new Map([[v.Version.v1dot2,"http://cyclonedx.org/schema/bom/1.2"],[v.Version.v1dot3,"http://cyclonedx.org/schema/bom/1.3"],[v.Version.v1dot4,"http://cyclonedx.org/schema/bom/1.4"]]);class C{constructor(e){this._factory=e}get factory(){return this._factory}}class P extends C{normalize(e,t){const r={type:"element",name:"components",children:e.components.size>0?this._factory.makeForComponent().normalizeRepository(e.components,t,"component"):void 0};return{type:"element",name:"bom",namespace:S.get(this._factory.spec.version),attributes:{version:e.version,serialNumber:e.serialNumber},children:[e.metadata?this._factory.makeForMetadata().normalize(e.metadata,t,"metadata"):void 0,r,this._factory.spec.supportsDependencyGraph?this._factory.makeForDependencyGraph().normalize(e,t,"dependencies"):void 0].filter(f.isNotUndefined)}}}t.BomNormalizer=P;class b extends C{normalize(e,t,r){const o=this._factory.makeForOrganizationalEntity();return{type:"element",name:r,children:[void 0===e.timestamp?void 0:{type:"element",name:"timestamp",children:e.timestamp.toISOString()},e.tools.size>0?{type:"element",name:"tools",children:this._factory.makeForTool().normalizeRepository(e.tools,t,"tool")}:void 0,e.authors.size>0?{type:"element",name:"authors",children:this._factory.makeForOrganizationalContact().normalizeRepository(e.authors,t,"author")}:void 0,void 0===e.component?void 0:this._factory.makeForComponent().normalize(e.component,t,"component"),void 0===e.manufacture?void 0:o.normalize(e.manufacture,t,"manufacture"),void 0===e.supplier?void 0:o.normalize(e.supplier,t,"supplier")].filter(f.isNotUndefined)}}}t.MetadataNormalizer=b;class g extends C{normalize(e,t,r){const o=e.hashes.size>0?{type:"element",name:"hashes",children:this._factory.makeForHash().normalizeRepository(e.hashes,t,"hash")}:void 0,n=this._factory.spec.supportsToolReferences&&e.externalReferences.size>0?{type:"element",name:"externalReferences",children:this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t,"reference")}:void 0;return{type:"element",name:r,children:[D(e.vendor,"vendor"),D(e.name,"name"),D(e.version,"version"),o,n].filter(f.isNotUndefined)}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r)))}}t.ToolNormalizer=g;class _ extends C{normalize([e,t],r,o){const n=this._factory.spec;return n.supportsHashAlgorithm(e)&&n.supportsHashValue(t)?{type:"element",name:o,attributes:{alg:e},children:t}:void 0}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r))).filter(f.isNotUndefined)}}t.HashNormalizer=_;class A extends C{normalize(e,t,r){return{type:"element",name:r,children:[D(e.name,"name"),D(e.email,"email"),D(e.phone,"phone")].filter(f.isNotUndefined)}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r)))}}t.OrganizationalContactNormalizer=A;class x extends C{normalize(e,t,r){return{type:"element",name:r,children:[D(e.name,"name"),...B(e.url,t,"url").filter((({children:e})=>w.XmlSchema.isAnyURI(e))),...this._factory.makeForOrganizationalContact().normalizeRepository(e.contact,t,"contact")].filter(f.isNotUndefined)}}}t.OrganizationalEntityNormalizer=x;class O extends C{normalize(e,t,r){const o=this._factory.spec;if(!o.supportsComponentType(e.type))return;const n=void 0===e.supplier?void 0:this._factory.makeForOrganizationalEntity().normalize(e.supplier,t,"supplier"),i=(o.requiresComponentVersion?M:D)(e.version??"","version"),a=e.hashes.size>0?{type:"element",name:"hashes",children:this._factory.makeForHash().normalizeRepository(e.hashes,t,"hash")}:void 0,s=e.licenses.size>0?{type:"element",name:"licenses",children:this._factory.makeForLicense().normalizeRepository(e.licenses,t)}:void 0,c=void 0===e.swid?void 0:this._factory.makeForSWID().normalize(e.swid,t,"swid"),l=e.externalReferences.size>0?{type:"element",name:"externalReferences",children:this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t,"reference")}:void 0,p=o.supportsProperties(e)&&e.properties.size>0?{type:"element",name:"properties",children:this._factory.makeForProperty().normalizeRepository(e.properties,t,"property")}:void 0,u=e.components.size>0?{type:"element",name:"components",children:this.normalizeRepository(e.components,t,"component")}:void 0;return{type:"element",name:r,attributes:{type:e.type,"bom-ref":e.bomRef.value},children:[n,D(e.author,"author"),D(e.publisher,"publisher"),D(e.group,"group"),M(e.name,"name"),i,D(e.description,"description"),D(e.scope,"scope"),a,s,D(e.copyright,"copyright"),D(e.cpe,"cpe"),D(e.purl,"purl"),c,l,p,u].filter(f.isNotUndefined)}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r))).filter(f.isNotUndefined)}}t.ComponentNormalizer=O;class z extends C{constructor(){super(...arguments),n.add(this)}normalize(e,t){switch(!0){case e instanceof y.NamedLicense:return h(this,n,"m",i).call(this,e,t);case e instanceof y.SpdxLicense:return h(this,n,"m",a).call(this,e,t);case e instanceof y.LicenseExpression:return h(this,n,"m",s).call(this,e);default:throw new TypeError("Unexpected LicenseChoice")}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.LicenseNormalizer=z,n=new WeakSet,i=function(e,t){const r=e.url?.toString();return{type:"element",name:"license",children:[M(e.name,"name"),void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t,"text"),w.XmlSchema.isAnyURI(r)?M(r,"url"):void 0].filter(f.isNotUndefined)}},a=function(e,t){const r=e.url?.toString();return{type:"element",name:"license",children:[M(e.id,"id"),void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t,"text"),w.XmlSchema.isAnyURI(r)?M(r,"url"):void 0].filter(f.isNotUndefined)}},s=function(e){return M(e.expression,"expression")};class E extends C{normalize(e,t,r){const o=e.url?.toString();return{type:"element",name:r,attributes:{tagId:e.tagId,name:e.name,version:e.version||void 0,tagVersion:e.tagVersion,patch:void 0===e.patch?void 0:e.patch?"true":"false"},children:[void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t,"text"),w.XmlSchema.isAnyURI(o)?M(o,"url"):void 0].filter(f.isNotUndefined)}}}t.SWIDNormalizer=E;class R extends C{normalize(e,t,r){const o=e.url.toString();return this._factory.spec.supportsExternalReferenceType(e.type)&&w.XmlSchema.isAnyURI(o)?{type:"element",name:r,attributes:{type:e.type},children:[M(o,"url"),D(e.comment,"comment")].filter(f.isNotUndefined)}:void 0}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r))).filter(f.isNotUndefined)}}t.ExternalReferenceNormalizer=R;class T extends C{normalize(e,t,r){return{type:"element",name:r,attributes:{"content-type":e.contentType||void 0,encoding:e.encoding||void 0},children:e.content}}}t.AttachmentNormalizer=T;class N extends C{normalize(e,t,r){return{type:"element",name:r,attributes:{name:e.name},children:e.value}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r)))}}t.PropertyNormalizer=N;class F extends C{constructor(){super(...arguments),c.add(this)}normalize(e,t,r){const o=new Map;if(void 0!==e.metadata.component){o.set(e.metadata.component.bomRef,e.metadata.component.dependencies);for(const t of e.metadata.component.components[L.treeIterator]())o.set(t.bomRef,t.dependencies)}for(const t of e.components[L.treeIterator]())o.set(t.bomRef,t.dependencies);const n=[];for(const[e,r]of o){const i=h(this,c,"m",l).call(this,e,r,o,t);(0,f.isNotUndefined)(i)&&n.push(i)}return t.sortLists&&n.sort((({attributes:{ref:e}},{attributes:{ref:t}})=>e.localeCompare(t))),{type:"element",name:r,children:n}}}function D(e,t){const r=e?.toString()??"";return r.length>0?M(r,t):void 0}function M(e,t){return{type:"element",name:t,children:e.toString()}}function B(e,t,r){const o=Array.from(e,(e=>M(e,r)));return t.sortLists&&o.sort((({children:e},{children:t})=>e.localeCompare(t))),o}t.DependencyGraphNormalizer=F,c=new WeakSet,l=function(e,t,r,o){const n=e.toString();if(0===n.length)return;const i=Array.from(t).filter((t=>r.has(t)&&t!==e)).map((e=>e.toString())).filter((e=>e.length>0));return o.sortLists&&i.sort(((e,t)=>e.localeCompare(t))),{type:"element",name:"dependency",attributes:{ref:n},children:i.map((e=>({type:"element",name:"dependency",attributes:{ref:e}})))}}},8700:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XmlSchema=void 0,(t.XmlSchema||(t.XmlSchema={})).isAnyURI=function(e){return"string"==typeof e&&e.length>0&&Array.from(e).filter((e=>"#"===e)).length<=1}},5047:function(e,t,r){var o,n=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.XmlBaseSerializer=void 0;const a=r(9841),s=r(7135);class c extends s.BaseSerializer{constructor(e){if(!e.spec.supportsFormat(a.Format.JSON))throw new a.UnsupportedFormatError("Spec does not support JSON format.");super(),o.set(this,void 0),n(this,o,e,"f")}get normalizerFactory(){return i(this,o,"f")}_normalize(e,t={}){return i(this,o,"f").makeForBom().normalize(e,t)}}t.XmlBaseSerializer=c,o=new WeakMap},6955:function(e,t,r){var o,n,i,a,s,c,l=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.XmlSerializer=void 0;const p=r(7111),u=r(5047);class m extends u.XmlBaseSerializer{constructor(){super(...arguments),o.add(this)}_serialize(e,{space:t}={}){const r=l(this,o,"m",n).call(this,e);return(new XMLSerializer).serializeToString(r)}}t.XmlSerializer=m,o=new WeakSet,n=function(e){const t=document.implementation.createDocument(null,null);return t.appendChild(l(this,o,"m",a).call(this,e,t,null)),t},i=function(e){const t=(e.namespace??e.attributes?.xmlns)?.toString()??"";return t.length>0?t:null},a=function(e,t,r){const n=l(this,o,"m",i).call(this,e)??r,a=t.createElementNS(n,e.name);return(0,p.isNotUndefined)(e.attributes)&&l(this,o,"m",s).call(this,a,e.attributes),(0,p.isNotUndefined)(e.children)&&l(this,o,"m",c).call(this,a,e.children,n),a},s=function(e,t){for(const[r,o]of Object.entries(t))(0,p.isNotUndefined)(o)&&"xmlns"!==r&&e.setAttribute(r,`${o}`)},c=function(e,t,r=null){if("string"==typeof t||"number"==typeof t)return void(e.textContent=t.toString());const n=e.ownerDocument;for(const i of t)"element"===i.type&&e.appendChild(l(this,o,"m",a).call(this,i,n,r))}},9169:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fixupSpdxId=t.isSupportedSpdxId=void 0;const o=r(7207),n=new Set(o.enum),i=new Map(o.enum.map((e=>[e.toLowerCase(),e])));t.isSupportedSpdxId=function(e){return n.has(e)},t.fixupSpdxId=function(e){return"string"==typeof e&&e.length>0?i.get(e.toLowerCase()):void 0}},9841:function(e,t,r){var o,n,i,a,s,c,l,p,u,m,d=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},h=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.SpecVersionDict=t.Spec1dot4=t.Spec1dot3=t.Spec1dot2=t.UnsupportedFormatError=t.Format=t.Version=void 0;const f=r(9507);var y,v;!function(e){e.v1dot0="1.0",e.v1dot1="1.1",e.v1dot2="1.2",e.v1dot3="1.3",e.v1dot4="1.4"}(y=t.Version||(t.Version={})),function(e){e.XML="xml",e.JSON="json"}(v=t.Format||(t.Format={}));class w extends Error{}t.UnsupportedFormatError=w;class L{constructor(e,t,r,h,f,y,v,w,L,S){o.set(this,void 0),n.set(this,void 0),i.set(this,void 0),a.set(this,void 0),s.set(this,void 0),c.set(this,void 0),l.set(this,void 0),p.set(this,void 0),u.set(this,void 0),m.set(this,void 0),d(this,o,e,"f"),d(this,n,new Set(t),"f"),d(this,i,new Set(r),"f"),d(this,a,new Set(h),"f"),d(this,s,f,"f"),d(this,c,new Set(y),"f"),d(this,l,v,"f"),d(this,p,w,"f"),d(this,u,L,"f"),d(this,m,S,"f")}get version(){return h(this,o,"f")}supportsFormat(e){return h(this,n,"f").has(e)}supportsComponentType(e){return h(this,i,"f").has(e)}supportsHashAlgorithm(e){return h(this,a,"f").has(e)}supportsHashValue(e){return"string"==typeof e&&h(this,s,"f").test(e)}supportsExternalReferenceType(e){return h(this,c,"f").has(e)}get supportsDependencyGraph(){return h(this,l,"f")}get supportsToolReferences(){return h(this,p,"f")}get requiresComponentVersion(){return h(this,u,"f")}supportsProperties(){return h(this,m,"f")}}o=new WeakMap,n=new WeakMap,i=new WeakMap,a=new WeakMap,s=new WeakMap,c=new WeakMap,l=new WeakMap,p=new WeakMap,u=new WeakMap,m=new WeakMap,t.Spec1dot2=Object.freeze(new L(y.v1dot2,[v.XML,v.JSON],[f.ComponentType.Application,f.ComponentType.Framework,f.ComponentType.Library,f.ComponentType.Container,f.ComponentType.OperatingSystem,f.ComponentType.Device,f.ComponentType.Firmware,f.ComponentType.File],[f.HashAlgorithm.MD5,f.HashAlgorithm["SHA-1"],f.HashAlgorithm["SHA-256"],f.HashAlgorithm["SHA-384"],f.HashAlgorithm["SHA-512"],f.HashAlgorithm["SHA3-256"],f.HashAlgorithm["SHA3-384"],f.HashAlgorithm["SHA3-512"],f.HashAlgorithm["BLAKE2b-256"],f.HashAlgorithm["BLAKE2b-384"],f.HashAlgorithm["BLAKE2b-512"],f.HashAlgorithm.BLAKE3],/^([a-fA-F0-9]{32})$|^([a-fA-F0-9]{40})$|^([a-fA-F0-9]{64})$|^([a-fA-F0-9]{96})$|^([a-fA-F0-9]{128})$/,[f.ExternalReferenceType.VCS,f.ExternalReferenceType.IssueTracker,f.ExternalReferenceType.Website,f.ExternalReferenceType.Advisories,f.ExternalReferenceType.BOM,f.ExternalReferenceType.MailingList,f.ExternalReferenceType.Social,f.ExternalReferenceType.Chat,f.ExternalReferenceType.Documentation,f.ExternalReferenceType.Support,f.ExternalReferenceType.Distribution,f.ExternalReferenceType.License,f.ExternalReferenceType.BuildMeta,f.ExternalReferenceType.BuildSystem,f.ExternalReferenceType.Other],!0,!1,!0,!1)),t.Spec1dot3=Object.freeze(new L(y.v1dot3,[v.XML,v.JSON],[f.ComponentType.Application,f.ComponentType.Framework,f.ComponentType.Library,f.ComponentType.Container,f.ComponentType.OperatingSystem,f.ComponentType.Device,f.ComponentType.Firmware,f.ComponentType.File],[f.HashAlgorithm.MD5,f.HashAlgorithm["SHA-1"],f.HashAlgorithm["SHA-256"],f.HashAlgorithm["SHA-384"],f.HashAlgorithm["SHA-512"],f.HashAlgorithm["SHA3-256"],f.HashAlgorithm["SHA3-384"],f.HashAlgorithm["SHA3-512"],f.HashAlgorithm["BLAKE2b-256"],f.HashAlgorithm["BLAKE2b-384"],f.HashAlgorithm["BLAKE2b-512"],f.HashAlgorithm.BLAKE3],/^([a-fA-F0-9]{32})$|^([a-fA-F0-9]{40})$|^([a-fA-F0-9]{64})$|^([a-fA-F0-9]{96})$|^([a-fA-F0-9]{128})$/,[f.ExternalReferenceType.VCS,f.ExternalReferenceType.IssueTracker,f.ExternalReferenceType.Website,f.ExternalReferenceType.Advisories,f.ExternalReferenceType.BOM,f.ExternalReferenceType.MailingList,f.ExternalReferenceType.Social,f.ExternalReferenceType.Chat,f.ExternalReferenceType.Documentation,f.ExternalReferenceType.Support,f.ExternalReferenceType.Distribution,f.ExternalReferenceType.License,f.ExternalReferenceType.BuildMeta,f.ExternalReferenceType.BuildSystem,f.ExternalReferenceType.Other],!0,!1,!0,!0)),t.Spec1dot4=Object.freeze(new L(y.v1dot4,[v.XML,v.JSON],[f.ComponentType.Application,f.ComponentType.Framework,f.ComponentType.Library,f.ComponentType.Container,f.ComponentType.OperatingSystem,f.ComponentType.Device,f.ComponentType.Firmware,f.ComponentType.File],[f.HashAlgorithm.MD5,f.HashAlgorithm["SHA-1"],f.HashAlgorithm["SHA-256"],f.HashAlgorithm["SHA-384"],f.HashAlgorithm["SHA-512"],f.HashAlgorithm["SHA3-256"],f.HashAlgorithm["SHA3-384"],f.HashAlgorithm["SHA3-512"],f.HashAlgorithm["BLAKE2b-256"],f.HashAlgorithm["BLAKE2b-384"],f.HashAlgorithm["BLAKE2b-512"],f.HashAlgorithm.BLAKE3],/^([a-fA-F0-9]{32})$|^([a-fA-F0-9]{40})$|^([a-fA-F0-9]{64})$|^([a-fA-F0-9]{96})$|^([a-fA-F0-9]{128})$/,[f.ExternalReferenceType.VCS,f.ExternalReferenceType.IssueTracker,f.ExternalReferenceType.Website,f.ExternalReferenceType.Advisories,f.ExternalReferenceType.BOM,f.ExternalReferenceType.MailingList,f.ExternalReferenceType.Social,f.ExternalReferenceType.Chat,f.ExternalReferenceType.Documentation,f.ExternalReferenceType.Support,f.ExternalReferenceType.Distribution,f.ExternalReferenceType.License,f.ExternalReferenceType.BuildMeta,f.ExternalReferenceType.BuildSystem,f.ExternalReferenceType.ReleaseNotes,f.ExternalReferenceType.Other],!0,!0,!1,!0)),t.SpecVersionDict=Object.freeze(Object.fromEntries([[y.v1dot2,t.Spec1dot2],[y.v1dot3,t.Spec1dot3],[y.v1dot4,t.Spec1dot4]]))},4506:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isCPE=void 0;const r=/^([c][pP][eE]:\/[AHOaho]?(:[A-Za-z0-9\._\-~%]*){0,6})$|^(cpe:2\.3:[aho\*\-](:(((\?*|\*?)([a-zA-Z0-9\-\._]|(\\[\\\*\?!"#$$%&'\(\)\+,\/:;<=>@\[\]\^`\{\|}~]))+(\?*|\*?))|[\*\-])){5}(:(([a-zA-Z]{2,3}(-([a-zA-Z]{2}|[0-9]{3}))?)|[\*\-]))(:(((\?*|\*?)([a-zA-Z0-9\-\._]|(\\[\\\*\?!"#$$%&'\(\)\+,\/:;<=>@\[\]\^`\{\|}~]))+(\?*|\*?))|[\*\-])){4})$/;t.isCPE=function(e){return"string"==typeof e&&r.test(e)}},2380:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(4506),t),n(r(7560),t),n(r(42),t),n(r(604),t)},7560:(e,t)=>{function r(e){return Number.isInteger(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isPositiveInteger=t.isNonNegativeInteger=t.isInteger=void 0,t.isInteger=r,t.isNonNegativeInteger=function(e){return r(e)&&e>=0},t.isPositiveInteger=function(e){return r(e)&&e>0}},42:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMimeType=void 0;const r=/^[-+a-z0-9.]+\/[-+a-z0-9.]+$/;t.isMimeType=function(e){return"string"==typeof e&&r.test(e)}},604:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isUrnUuid=void 0;const r=/^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;t.isUrnUuid=function(e){return"string"==typeof e&&r.test(e)}},1042:t=>{t.exports=e},7207:e=>{e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://cyclonedx.org/schema/spdx.schema.json","$comment":"v1.0-3.17","type":"string","enum":["CC-BY-NC-ND-2.0","SGI-B-2.0","LPPL-1.3c","NIST-PD-fallback","libtiff","XSkat","PDDL-1.0","KiCad-libraries-exception","CC-BY-NC-SA-1.0","GFDL-1.1-no-invariants-only","Xerox","LPPL-1.1","VOSTROM","UCL-1.0","ADSL","OSL-2.0","AAL","FDK-AAC","W3C-20150513","AFL-1.1","W3C","Sleepycat","CECILL-1.1","mpich2","SISSL","NLOD-1.0","ANTLR-PD","GPL-3.0-only","gnuplot","NLOD-2.0","BSD-3-Clause-Open-MPI","LiLiQ-P-1.1","BSD-3-Clause-Clear","FSFUL","CC-BY-NC-SA-2.0-UK","CERN-OHL-S-2.0","Spencer-94","CERN-OHL-1.2","GFDL-1.1-or-later","AGPL-1.0-or-later","Wsuipa","AML","BSD-2-Clause","DSDP","CC-BY-2.5","MIT-CMU","Beerware","Sendmail","TU-Berlin-1.0","CNRI-Jython","mplus","CPOL-1.02","BSD-3-Clause-No-Nuclear-License-2014","ISC","CC-BY-SA-4.0","Eurosym","LGPL-3.0-only","OLDAP-1.3","GFDL-1.1-invariants-or-later","Glulxe","SimPL-2.0","CDLA-Permissive-2.0","GPL-2.0-with-font-exception","OGL-UK-2.0","CC-BY-SA-3.0-DE","CC-BY-ND-1.0","GFDL-1.1","CC-BY-4.0","OpenSSL","TU-Berlin-2.0","DOC","GFDL-1.2-no-invariants-or-later","QPL-1.0","OLDAP-2.8","OML","OLDAP-2.7","NIST-PD","Bitstream-Vera","GFDL-1.2-or-later","OFL-1.1-RFN","Bahyph","Barr","COIL-1.0","GFDL-1.3","CECILL-B","JPNIC","Zed","ICU","CC-BY-NC-SA-2.5","CC-BY-ND-3.0-DE","bzip2-1.0.5","SPL-1.0","YPL-1.0","OSET-PL-2.1","Noweb","RPSL-1.0","BSD-3-Clause-LBNL","CDLA-Sharing-1.0","CECILL-1.0","AMPAS","APAFML","CC-BY-ND-3.0","D-FSL-1.0","CC-BY-NC-3.0","libpng-2.0","PolyForm-Noncommercial-1.0.0","dvipdfm","GFDL-1.3-or-later","OGTSL","NPL-1.1","GPL-3.0","CERN-OHL-P-2.0","BlueOak-1.0.0","AGPL-3.0-or-later","blessing","ImageMagick","APSL-2.0","MIT-advertising","curl","CC0-1.0","Zimbra-1.4","SSPL-1.0","psutils","CC-BY-SA-2.0-UK","PSF-2.0","Net-SNMP","NAIST-2003","GFDL-1.2-invariants-or-later","SGI-B-1.0","NBPL-1.0","GFDL-1.2-invariants-only","W3C-19980720","OFL-1.0-no-RFN","NetCDF","TMate","NOSL","CNRI-Python-GPL-Compatible","BSD-1-Clause","CC-BY-NC-SA-3.0-DE","BSD-3-Clause-Modification","GLWTPL","GFDL-1.3-only","OLDAP-2.2","CC-BY-ND-4.0","CC-BY-NC-ND-3.0-DE","EUPL-1.0","Linux-OpenIB","LGPL-2.0-or-later","OSL-1.1","Spencer-86","LGPL-2.0","CC-PDDC","CC-BY-NC-ND-3.0","CDL-1.0","Elastic-2.0","CC-BY-2.0","BSD-3-Clause-No-Military-License","IJG","LPPL-1.3a","SAX-PD","BitTorrent-1.0","OLDAP-2.0","Giftware","C-UDA-1.0","LGPL-2.0+","Rdisc","GPL-2.0-with-classpath-exception","CC-BY-3.0-US","CDDL-1.0","Xnet","CPL-1.0","LGPL-3.0-or-later","NASA-1.3","BUSL-1.1","etalab-2.0","MIT-open-group","OLDAP-1.4","GFDL-1.1-invariants-only","RPL-1.1","CC-BY-NC-ND-2.5","FSFULLR","Saxpath","NTP-0","SISSL-1.2","GPL-3.0-or-later","Apache-1.1","CC-BY-SA-2.1-JP","AGPL-3.0-only","GPL-2.0-with-autoconf-exception","Artistic-2.0","App-s2p","Unicode-DFS-2015","diffmark","SNIA","CC-BY-SA-2.5","Linux-man-pages-copyleft","HPND-sell-variant","ZPL-2.1","BSD-4-Clause-UC","LAL-1.2","AGPL-1.0-only","MIT-enna","Condor-1.1","Naumen","GFDL-1.3-no-invariants-or-later","RPL-1.5","PolyForm-Small-Business-1.0.0","EFL-1.0","MirOS","CC-BY-2.5-AU","Afmparse","MPL-2.0-no-copyleft-exception","LiLiQ-Rplus-1.1","AFL-1.2","OSL-1.0","GPL-1.0-only","APSL-1.0","OGL-Canada-2.0","CPAL-1.0","Latex2e","Zend-2.0","Unlicense","xpp","CC-BY-NC-1.0","GPL-3.0-with-autoconf-exception","CC-BY-NC-SA-3.0","TCP-wrappers","SCEA","SSH-short","CC-BY-3.0-NL","SchemeReport","CC-BY-3.0","MPL-2.0","Unicode-TOU","CC-BY-NC-ND-1.0","Entessa","BSD-3-Clause-No-Nuclear-License","SWL","GFDL-1.2-no-invariants-only","Parity-7.0.0","OLDAP-2.2.1","SGI-B-1.1","FTL","OLDAP-2.4","CC-BY-NC-4.0","bzip2-1.0.6","copyleft-next-0.3.0","MakeIndex","NRL","GFDL-1.3-invariants-or-later","CC-BY-NC-2.0","SugarCRM-1.1.3","AFL-2.1","GPL-2.0-only","GFDL-1.3-invariants-only","TORQUE-1.1","Ruby","X11","Borceux","Libpng","X11-distribute-modifications-variant","Frameworx-1.0","NCGL-UK-2.0","CECILL-2.1","CC-BY-3.0-AT","CNRI-Python","NCSA","gSOAP-1.3b","EUPL-1.1","AMDPLPA","Imlib2","CDDL-1.1","WTFPL","LPL-1.0","EPL-1.0","BSD-3-Clause-Attribution","OSL-3.0","RHeCos-1.1","PHP-3.0","BSD-Protection","CC-BY-NC-3.0-DE","APL-1.0","EUDatagrid","GPL-1.0","SHL-0.5","CC-BY-SA-2.0","CC-BY-SA-3.0-AT","CC-BY-NC-SA-3.0-IGO","Adobe-2006","Newsletr","Nunit","Multics","OGL-UK-1.0","Vim","eCos-2.0","Zimbra-1.3","eGenix","IBM-pibs","BitTorrent-1.1","OFL-1.1-no-RFN","psfrag","CC-BY-ND-2.0","SHL-0.51","FreeBSD-DOC","Python-2.0","Mup","BSD-4-Clause-Shortened","CC-BY-NC-SA-4.0","HPND","OLDAP-2.6","MPL-1.1","GPL-2.0-with-GCC-exception","HaskellReport","ECL-1.0","LGPL-2.1-or-later","OFL-1.0","APSL-1.1","MITNFA","CECILL-2.0","Crossword","Aladdin","Baekmuk","XFree86-1.1","GPL-1.0-or-later","CERN-OHL-W-2.0","CC-BY-SA-1.0","NTP","PHP-3.01","OCLC-2.0","CC-BY-3.0-DE","CC-BY-NC-2.5","Zlib","CATOSL-1.1","LGPL-3.0+","CAL-1.0","NPL-1.0","SMLNJ","GPL-2.0+","OLDAP-2.5","JasPer-2.0","GPL-2.0-or-later","BSD-2-Clause-Patent","MS-RL","CUA-OPL-1.0","IPA","NLPL","O-UDA-1.0","MIT-Modern-Variant","OLDAP-1.2","BSD-2-Clause-FreeBSD","Info-ZIP","CC-BY-NC-SA-2.0-FR","0BSD","Unicode-DFS-2016","OFL-1.0-RFN","Intel","AFL-2.0","GL2PS","TAPR-OHL-1.0","Apache-1.0","MTLL","Motosoto","RSA-MD","Community-Spec-1.0","ODC-By-1.0","zlib-acknowledgement","DL-DE-BY-2.0","VSL-1.0","LiLiQ-R-1.1","OPL-1.0","GPL-3.0+","MulanPSL-2.0","APSL-1.2","OGDL-Taiwan-1.0","RSCPL","OGC-1.0","EFL-2.0","CAL-1.0-Combined-Work-Exception","MS-PL","Plexus","Sendmail-8.23","Cube","JSON","EUPL-1.2","Adobe-Glyph","FreeImage","Watcom-1.0","Jam","Hippocratic-2.1","OLDAP-2.0.1","CC-BY-NC-SA-2.0","Nokia","OCCT-PL","ErlPL-1.1","TOSL","OSL-2.1","ClArtistic","xinetd","GPL-3.0-with-GCC-exception","ODbL-1.0","MIT","LGPL-2.1+","LGPL-2.1-only","CrystalStacker","ECL-2.0","LPPL-1.0","iMatix","CC-BY-NC-ND-3.0-IGO","BSD-Source-Code","Parity-6.0.0","TCL","Arphic-1999","CC-BY-SA-3.0","Caldera","AGPL-1.0","IPL-1.0","LAL-1.3","EPICS","NGPL","DRL-1.0","BSD-2-Clause-NetBSD","ZPL-1.1","GD","LPPL-1.2","Dotseqn","Spencer-99","OLDAP-2.3","YPL-1.1","Fair","Qhull","GFDL-1.1-no-invariants-or-later","CECILL-C","MulanPSL-1.0","OLDAP-1.1","OLDAP-2.1","LPL-1.02","UPL-1.0","Abstyles","ZPL-2.0","MIT-0","LGPL-2.0-only","GFDL-1.3-no-invariants-only","AGPL-3.0","EPL-2.0","AFL-3.0","CDLA-Permissive-1.0","Artistic-1.0","CC-BY-NC-ND-4.0","HTMLTIDY","Glide","FSFAP","LGPLLR","OGL-UK-3.0","GFDL-1.2","SSH-OpenSSH","GFDL-1.1-only","MIT-feh","MPL-1.0","PostgreSQL","OLDAP-2.2.2","SMPPL","OFL-1.1","Leptonica","CERN-OHL-1.1","BSD-3-Clause-No-Nuclear-Warranty","CC-BY-ND-2.5","CC-BY-1.0","GFDL-1.2-only","OPUBL-1.0","libselinux-1.0","BSD-3-Clause","ANTLR-PD-fallback","copyleft-next-0.3.1","GPL-1.0+","wxWindows","LGPL-3.0","LGPL-2.1","StandardML-NJ","BSD-4-Clause","GPL-2.0-with-bison-exception","Apache-2.0","Artistic-1.0-cl8","GPL-2.0","Intel-ACPI","BSL-1.0","Artistic-1.0-Perl","BSD-2-Clause-Views","Interbase-1.0","NPOSL-3.0","FLTK-exception","Bootloader-exception","WxWindows-exception-3.1","Linux-syscall-note","Qt-LGPL-exception-1.1","LLVM-exception","PS-or-PDF-font-exception-20170817","GCC-exception-3.1","Autoconf-exception-3.0","LGPL-3.0-linking-exception","GCC-exception-2.0","Bison-exception-2.2","openvpn-openssl-exception","Libtool-exception","Autoconf-exception-2.0","GPL-3.0-linking-source-exception","GPL-CC-1.0","OCaml-LGPL-linking-exception","Universal-FOSS-exception-1.0","i2p-gpl-java-exception","CLISP-exception-2.0","OCCT-exception-1.0","Qwt-exception-1.0","gnu-javamail-exception","u-boot-exception-2.0","freertos-exception-2.0","Qt-GPL-exception-1.0","OpenJDK-assembly-exception-1.0","SHL-2.1","mif-exception","Fawkes-Runtime-exception","Swift-exception","GPL-3.0-linking-exception","SHL-2.0","Classpath-exception-2.0","LZMA-exception","Font-exception-2.0","Nokia-Qt-exception-1.1","DigiRule-FOSS-exception","eCos-exception-2.0","389-exception"]}')}},r={};return function e(o){var n=r[o];if(void 0!==n)return n.exports;var i=r[o]={exports:{}};return t[o].call(i.exports,i,i.exports,e),i.exports}(9136)})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("PackageURL")):"function"==typeof define&&define.amd?define(["PackageURL"],t):"object"==typeof exports?exports.CycloneDX_library=t(require("PackageURL")):e.CycloneDX_library=t(e.PackageURL)}(self,(e=>(()=>{"use strict";var t={5139:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AttachmentEncoding=void 0,(t.AttachmentEncoding||(t.AttachmentEncoding={})).Base64="base64"},7947:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentScope=void 0,(r=t.ComponentScope||(t.ComponentScope={})).Required="required",r.Optional="optional",r.Excluded="excluded"},993:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentType=void 0,(r=t.ComponentType||(t.ComponentType={})).Application="application",r.Framework="framework",r.Library="library",r.Container="container",r.OperatingSystem="operating-system",r.Device="device",r.Firmware="firmware",r.File="file"},366:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalReferenceType=void 0,(r=t.ExternalReferenceType||(t.ExternalReferenceType={})).VCS="vcs",r.IssueTracker="issue-tracker",r.Website="website",r.Advisories="advisories",r.BOM="bom",r.MailingList="mailing-list",r.Social="social",r.Chat="chat",r.Documentation="documentation",r.Support="support",r.Distribution="distribution",r.License="license",r.BuildMeta="build-meta",r.BuildSystem="build-system",r.ReleaseNotes="release-notes",r.Other="other"},9523:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.HashAlgorithm=void 0,(r=t.HashAlgorithm||(t.HashAlgorithm={})).MD5="MD5",r["SHA-1"]="SHA-1",r["SHA-256"]="SHA-256",r["SHA-384"]="SHA-384",r["SHA-512"]="SHA-512",r["SHA3-256"]="SHA3-256",r["SHA3-384"]="SHA3-384",r["SHA3-512"]="SHA3-512",r["BLAKE2b-256"]="BLAKE2b-256",r["BLAKE2b-384"]="BLAKE2b-384",r["BLAKE2b-512"]="BLAKE2b-512",r.BLAKE3="BLAKE3"},9507:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(5139),t),n(r(7947),t),n(r(993),t),n(r(366),t),n(r(9523),t)},9123:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(5990),t),n(r(1951),t)},7354:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(9123),t)},5990:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseFactory=void 0;const o=r(5357),n=r(9169);t.LicenseFactory=class{makeFromString(e){try{return this.makeExpression(e)}catch{return this.makeDisjunctive(e)}}makeExpression(e){return new o.LicenseExpression(e)}makeDisjunctive(e){try{return this.makeDisjunctiveWithId(e)}catch{return this.makeDisjunctiveWithName(e)}}makeDisjunctiveWithId(e){const t=(0,n.fixupSpdxId)(String(e));if(void 0===t)throw new RangeError("Unsupported SPDX id");return new o.SpdxLicense(t)}makeDisjunctiveWithName(e){return new o.NamedLicense(String(e))}}},1951:function(e,t,r){var o,n=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.PackageUrlFactory=void 0;const a=r(1042),s=r(9507);t.PackageUrlFactory=class{constructor(e){o.set(this,void 0),n(this,o,e,"f")}get type(){return i(this,o,"f")}makeFromComponent(e,t=!1){const r={};let n;const c=e.externalReferences;for(const e of t?c.sorted():c)switch(e.type){case s.ExternalReferenceType.VCS:[r.vcs_url,n]=e.url.toString().split("#",2);break;case s.ExternalReferenceType.Distribution:r.download_url=e.url.toString()}const l=e.hashes;l.size>0&&(r.checksum=Array.from(t?l.sorted():l,(([e,t])=>`${e.toLowerCase()}:${t.toLowerCase()}`)).join(","));try{return new a.PackageURL(i(this,o,"f"),e.group,e.name,e.version,r,n)}catch{return}}},o=new WeakMap},7111:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNotUndefined=void 0,t.isNotUndefined=function(e){return void 0!==e}},3428:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SortableSet=void 0;class r extends Set{sorted(){return Array.from(this).sort(((e,t)=>e.compare(t)))}}t.SortableSet=r},2914:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.treeIterator=void 0,t.treeIterator=Symbol("iterator of a tree/nesting-like structure")},9136:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Serialize=t.Spec=t.Factories=t.Models=t.SPDX=t.Enums=t.Types=void 0,t.Types=i(r(2380)),t.Enums=i(r(9507)),t.SPDX=i(r(9169)),t.Models=i(r(5357)),t.Factories=i(r(7354)),t.Spec=i(r(9841)),t.Serialize=i(r(8650))},4400:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Attachment=void 0,t.Attachment=class{constructor(e,t={}){this.contentType=t.contentType,this.content=e,this.encoding=t.encoding}}},4818:function(e,t,r){var o,n,i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)},a=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r};Object.defineProperty(t,"__esModule",{value:!0}),t.Bom=void 0;const s=r(2380),c=r(5179),l=r(1995);t.Bom=class{constructor(e={}){o.set(this,1),n.set(this,void 0),this.metadata=e.metadata??new c.Metadata,this.components=e.components??new l.ComponentRepository,this.version=e.version??this.version,this.serialNumber=e.serialNumber}get version(){return i(this,o,"f")}set version(e){if(!(0,s.isPositiveInteger)(e))throw new TypeError("Not PositiveInteger");a(this,o,e,"f")}get serialNumber(){return i(this,n,"f")}set serialNumber(e){if(void 0!==e&&!(0,s.isUrnUuid)(e))throw new TypeError("Not UrnUuid nor undefined");a(this,n,e,"f")}},o=new WeakMap,n=new WeakMap},8471:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BomRefRepository=t.BomRef=void 0,t.BomRef=class{constructor(e){this.value=e}compare(e){return this.toString().localeCompare(e.toString())}toString(){return this.value??""}};class r extends Set{}t.BomRefRepository=r},1995:function(e,t,r){var o,n,i=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},a=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentRepository=t.Component=void 0;const s=r(2380),c=r(8471),l=r(7368),p=r(5422),m=r(9191),u=r(5086),d=r(3428),h=r(2914);t.Component=class{constructor(e,t,r={}){o.set(this,void 0),n.set(this,void 0),i(this,o,new c.BomRef(r.bomRef),"f"),this.type=e,this.name=t,this.supplier=r.supplier,this.author=r.author,this.copyright=r.copyright,this.externalReferences=r.externalReferences??new p.ExternalReferenceRepository,this.group=r.group,this.hashes=r.hashes??new l.HashRepository,this.licenses=r.licenses??new m.LicenseRepository,this.publisher=r.publisher,this.purl=r.purl,this.scope=r.scope,this.swid=r.swid,this.version=r.version,this.description=r.description,this.dependencies=r.dependencies??new c.BomRefRepository,this.components=r.components??new f,this.cpe=r.cpe,this.properties=r.properties??new u.PropertyRepository}get bomRef(){return a(this,o,"f")}get cpe(){return a(this,n,"f")}set cpe(e){if(void 0!==e&&!(0,s.isCPE)(e))throw new TypeError("Not CPE nor undefined");i(this,n,e,"f")}compare(e){const t=this.bomRef.compare(e.bomRef);return 0!==t?t:void 0!==this.purl&&void 0!==e.purl?this.purl.toString().localeCompare(e.purl.toString()):void 0!==a(this,n,"f")&&void 0!==a(e,n,"f")?a(this,n,"f").toString().localeCompare(a(e,n,"f").toString()):(this.group??"").localeCompare(e.group??"")||this.name.localeCompare(e.name)||(this.version??"").localeCompare(e.version??"")}},o=new WeakMap,n=new WeakMap;class f extends d.SortableSet{*[h.treeIterator](){for(const e of this)yield e,yield*e.components[h.treeIterator]()}}t.ComponentRepository=f},5422:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalReferenceRepository=t.ExternalReference=void 0;const o=r(3428);t.ExternalReference=class{constructor(e,t,r={}){this.url=e,this.type=t,this.comment=r.comment}compare(e){return this.type.localeCompare(e.type)||this.url.toString().localeCompare(e.url.toString())}};class n extends o.SortableSet{}t.ExternalReferenceRepository=n},7368:function(e,t){var r,o,n=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.HashRepository=void 0;class i extends Map{constructor(){super(...arguments),r.add(this)}sorted(){return Array.from(this.entries()).sort(n(this,r,"m",o))}}t.HashRepository=i,r=new WeakSet,o=function([e,t],[r,o]){return e.localeCompare(r)||t.localeCompare(o)}},5357:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(4400),t),n(r(4818),t),n(r(8471),t),n(r(1995),t),n(r(5422),t),n(r(7368),t),n(r(9191),t),n(r(5179),t),n(r(5769),t),n(r(2979),t),n(r(5086),t),n(r(4643),t),n(r(7557),t)},9191:function(e,t,r){var o,n,i,a,s=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)},c=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r};Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseRepository=t.SpdxLicense=t.NamedLicense=t.LicenseExpression=void 0;const l=r(9169);class p{constructor(e){o.set(this,void 0),this.expression=e}static isEligibleExpression(e){return"string"==typeof e&&e.length>=8&&"("===e[0]&&")"===e[e.length-1]}get expression(){return s(this,o,"f")}set expression(e){if(!p.isEligibleExpression(e))throw new RangeError("Not eligible expression");c(this,o,e,"f")}compare(e){return s(this,o,"f").localeCompare(s(e,o,"f"))}}t.LicenseExpression=p,o=new WeakMap,t.NamedLicense=class{constructor(e,t={}){this.name=e,this.text=t.text,this.url=t.url}compare(e){return this.name.localeCompare(e.name)}},t.SpdxLicense=class{constructor(e,t={}){n.set(this,void 0),this.id=e,this.text=t.text,this.url=t.url}get id(){return s(this,n,"f")}set id(e){if(!(0,l.isSupportedSpdxId)(e))throw new RangeError("Unknown SPDX id");c(this,n,e,"f")}compare(e){return s(this,n,"f").localeCompare(s(e,n,"f"))}},n=new WeakMap;class m extends Set{constructor(){super(...arguments),i.add(this)}sorted(){return Array.from(this).sort(s(this,i,"m",a))}}t.LicenseRepository=m,i=new WeakSet,a=function(e,t){return e.constructor===t.constructor?e.compare(t):e.constructor.name.localeCompare(t.constructor.name)}},5179:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Metadata=void 0;const o=r(7557),n=r(5769);t.Metadata=class{constructor(e={}){this.timestamp=e.timestamp,this.tools=e.tools??new o.ToolRepository,this.authors=e.authors??new n.OrganizationalContactRepository,this.component=e.component,this.manufacture=e.manufacture,this.supplier=e.supplier}}},5769:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OrganizationalContactRepository=t.OrganizationalContact=void 0;const o=r(3428);t.OrganizationalContact=class{constructor(e={}){this.name=e.name,this.email=e.email,this.phone=e.phone}compare(e){return(this.name??"").localeCompare(e.name??"")||(this.email??"").localeCompare(e.email??"")||(this.phone??"").localeCompare(e.phone??"")}};class n extends o.SortableSet{}t.OrganizationalContactRepository=n},2979:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OrganizationalEntity=void 0;const o=r(5769);t.OrganizationalEntity=class{constructor(e={}){this.name=e.name,this.url=e.url??new Set,this.contact=e.contact??new o.OrganizationalContactRepository}}},5086:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PropertyRepository=t.Property=void 0;const o=r(3428);t.Property=class{constructor(e,t){this.name=e,this.value=t}compare(e){return this.name.localeCompare(e.name)||this.value.localeCompare(e.value)}};class n extends o.SortableSet{}t.PropertyRepository=n},4643:function(e,t,r){var o,n=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)},i=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r};Object.defineProperty(t,"__esModule",{value:!0}),t.SWID=void 0;const a=r(2380);t.SWID=class{constructor(e,t,r={}){o.set(this,void 0),this.tagId=e,this.name=t,this.version=r.version,this.patch=r.patch,this.text=r.text,this.url=r.url,this.tagVersion=r.tagVersion}get tagVersion(){return n(this,o,"f")}set tagVersion(e){if(void 0!==e&&!(0,a.isNonNegativeInteger)(e))throw new TypeError("Not NonNegativeInteger nor undefined");i(this,o,e,"f")}},o=new WeakMap},7557:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ToolRepository=t.Tool=void 0;const o=r(7368),n=r(5422),i=r(3428);t.Tool=class{constructor(e={}){this.vendor=e.vendor,this.name=e.name,this.version=e.version,this.hashes=e.hashes??new o.HashRepository,this.externalReferences=e.externalReferences??new n.ExternalReferenceRepository}compare(e){return(this.vendor??"").localeCompare(e.vendor??"")||(this.name??"").localeCompare(e.name??"")||(this.version??"").localeCompare(e.version??"")}};class a extends i.SortableSet{}t.ToolRepository=a},7135:function(e,t,r){var o,n,i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseSerializer=void 0;const a=r(8052);t.BaseSerializer=class{constructor(){o.add(this)}serialize(e,t){const r=new a.BomRefDiscriminator(i(this,o,"m",n).call(this,e));try{r.discriminate();const o=this._normalize(e,t);return this._serialize(o,t)}finally{r.reset()}}},o=new WeakSet,n=function(e){const t=new Set;function r(e){for(const{bomRef:o,components:n}of e)t.add(o),r(n)}return void 0!==e.metadata.component&&(t.add(e.metadata.component.bomRef),r(e.metadata.component.components)),r(e.components),t.values()}},8052:function(e,t){var r,o,n,i,a=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},s=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.BomRefDiscriminator=void 0;class c{constructor(e,t="BomRef"){r.add(this),o.set(this,void 0),n.set(this,void 0),a(this,o,new Map(Array.from(e).map((e=>[e,e.value]))),"f"),a(this,n,t,"f")}get prefix(){return s(this,n,"f")}[(o=new WeakMap,n=new WeakMap,r=new WeakSet,Symbol.iterator)](){return s(this,o,"f").keys()}discriminate(){const e=new Set;for(const[t]of s(this,o,"f")){let o=t.value;(void 0===o||e.has(o))&&(o=s(this,r,"m",i).call(this),t.value=o),e.add(o)}}reset(){for(const[e,t]of s(this,o,"f"))e.value=t}}t.BomRefDiscriminator=c,i=function(){return`${s(this,n,"f")}${Math.random().toString(32).substring(1)}${Math.random().toString(32).substring(1)}`}},4750:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.XML=t.JSON=t.Types=void 0,t.Types=i(r(5010)),a(r(7135),t),a(r(8052),t),t.JSON=i(r(3287)),a(r(3181),t),t.XML=i(r(71)),a(r(5047),t)},8650:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(4750),t),n(r(6955),t)},3287:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Normalize=t.Types=void 0,t.Types=i(r(1143)),t.Normalize=i(r(9024))},9024:function(e,t,r){var o,n,i,a,s,c,l,p=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),m=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&p(t,e,r);return m(t,e),t},d=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},h=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.DependencyGraphNormalizer=t.PropertyNormalizer=t.AttachmentNormalizer=t.ExternalReferenceNormalizer=t.SWIDNormalizer=t.LicenseNormalizer=t.ComponentNormalizer=t.OrganizationalEntityNormalizer=t.OrganizationalContactNormalizer=t.HashNormalizer=t.ToolNormalizer=t.MetadataNormalizer=t.BomNormalizer=t.Factory=void 0;const f=r(7111),y=u(r(5357)),v=r(9841),w=r(1143),L=r(2914);t.Factory=class{constructor(e){o.set(this,void 0),d(this,o,e,"f")}get spec(){return h(this,o,"f")}makeForBom(){return new P(this)}makeForMetadata(){return new b(this)}makeForComponent(){return new O(this)}makeForTool(){return new g(this)}makeForOrganizationalContact(){return new A(this)}makeForOrganizationalEntity(){return new x(this)}makeForHash(){return new _(this)}makeForLicense(){return new z(this)}makeForSWID(){return new E(this)}makeForExternalReference(){return new R(this)}makeForAttachment(){return new T(this)}makeForProperty(){return new N(this)}makeForDependencyGraph(){return new F(this)}},o=new WeakMap;const S=new Map([[v.Version.v1dot2,"http://cyclonedx.org/schema/bom-1.2b.schema.json"],[v.Version.v1dot3,"http://cyclonedx.org/schema/bom-1.3a.schema.json"],[v.Version.v1dot4,"http://cyclonedx.org/schema/bom-1.4.schema.json"]]);class C{constructor(e){this._factory=e}get factory(){return this._factory}}class P extends C{normalize(e,t){return{$schema:S.get(this._factory.spec.version),bomFormat:"CycloneDX",specVersion:this._factory.spec.version,version:e.version,serialNumber:e.serialNumber,metadata:this._factory.makeForMetadata().normalize(e.metadata,t),components:e.components.size>0?this._factory.makeForComponent().normalizeRepository(e.components,t):[],dependencies:this._factory.spec.supportsDependencyGraph?this._factory.makeForDependencyGraph().normalize(e,t):void 0}}}t.BomNormalizer=P;class b extends C{normalize(e,t){const r=this._factory.makeForOrganizationalEntity();return{timestamp:e.timestamp?.toISOString(),tools:e.tools.size>0?this._factory.makeForTool().normalizeRepository(e.tools,t):void 0,authors:e.authors.size>0?this._factory.makeForOrganizationalContact().normalizeRepository(e.authors,t):void 0,component:void 0===e.component?void 0:this._factory.makeForComponent().normalize(e.component,t),manufacture:void 0===e.manufacture?void 0:r.normalize(e.manufacture,t),supplier:void 0===e.supplier?void 0:r.normalize(e.supplier,t)}}}t.MetadataNormalizer=b;class g extends C{normalize(e,t){return{vendor:e.vendor||void 0,name:e.name||void 0,version:e.version||void 0,hashes:e.hashes.size>0?this._factory.makeForHash().normalizeRepository(e.hashes,t):void 0,externalReferences:this._factory.spec.supportsToolReferences&&e.externalReferences.size>0?this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t):void 0}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.ToolNormalizer=g;class _ extends C{normalize([e,t],r){const o=this._factory.spec;return o.supportsHashAlgorithm(e)&&o.supportsHashValue(t)?{alg:e,content:t}:void 0}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t))).filter(f.isNotUndefined)}}t.HashNormalizer=_;class A extends C{normalize(e,t){return{name:e.name||void 0,email:w.JsonSchema.isIdnEmail(e.email)?e.email:void 0,phone:e.phone||void 0}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.OrganizationalContactNormalizer=A;class x extends C{normalize(e,t){const r=D(e.url,t).filter(w.JsonSchema.isIriReference);return{name:e.name||void 0,url:r.length>0?r:void 0,contact:e.contact.size>0?this._factory.makeForOrganizationalContact().normalizeRepository(e.contact,t):void 0}}}t.OrganizationalEntityNormalizer=x;class O extends C{normalize(e,t){const r=this._factory.spec,o=e.version??"";return r.supportsComponentType(e.type)?{type:e.type,name:e.name,group:e.group||void 0,version:o.length>0||r.requiresComponentVersion?o:void 0,"bom-ref":e.bomRef.value||void 0,supplier:void 0===e.supplier?void 0:this._factory.makeForOrganizationalEntity().normalize(e.supplier,t),author:e.author||void 0,publisher:e.publisher||void 0,description:e.description||void 0,scope:e.scope,hashes:e.hashes.size>0?this._factory.makeForHash().normalizeRepository(e.hashes,t):void 0,licenses:e.licenses.size>0?this._factory.makeForLicense().normalizeRepository(e.licenses,t):void 0,copyright:e.copyright||void 0,cpe:e.cpe||void 0,purl:e.purl?.toString(),swid:void 0===e.swid?void 0:this._factory.makeForSWID().normalize(e.swid,t),externalReferences:e.externalReferences.size>0?this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t):void 0,properties:r.supportsProperties(e)&&e.properties.size>0?this._factory.makeForProperty().normalizeRepository(e.properties,t):void 0,components:e.components.size>0?this.normalizeRepository(e.components,t):void 0}:void 0}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t))).filter(f.isNotUndefined)}}t.ComponentNormalizer=O;class z extends C{constructor(){super(...arguments),n.add(this)}normalize(e,t){switch(!0){case e instanceof y.NamedLicense:return h(this,n,"m",i).call(this,e,t);case e instanceof y.SpdxLicense:return h(this,n,"m",a).call(this,e,t);case e instanceof y.LicenseExpression:return h(this,n,"m",s).call(this,e);default:throw new TypeError("Unexpected LicenseChoice")}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.LicenseNormalizer=z,n=new WeakSet,i=function(e,t){return{license:{name:e.name,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:e.url?.toString()}}},a=function(e,t){return{license:{id:e.id,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:e.url?.toString()}}},s=function(e){return{expression:e.expression}};class E extends C{normalize(e,t){const r=e.url?.toString();return{tagId:e.tagId,name:e.name,version:e.version||void 0,tagVersion:e.tagVersion,patch:e.patch,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:w.JsonSchema.isIriReference(r)?r:void 0}}}t.SWIDNormalizer=E;class R extends C{normalize(e,t){return this._factory.spec.supportsExternalReferenceType(e.type)?{url:e.url.toString(),type:e.type,comment:e.comment||void 0}:void 0}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t))).filter(f.isNotUndefined)}}t.ExternalReferenceNormalizer=R;class T extends C{normalize(e,t){return{content:e.content,contentType:e.contentType||void 0,encoding:e.encoding}}}t.AttachmentNormalizer=T;class N extends C{normalize(e,t){return{name:e.name,value:e.value}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.PropertyNormalizer=N;class F extends C{constructor(){super(...arguments),c.add(this)}normalize(e,t){const r=new Map;if(void 0!==e.metadata.component){r.set(e.metadata.component.bomRef,e.metadata.component.dependencies);for(const t of e.metadata.component.components[L.treeIterator]())r.set(t.bomRef,t.dependencies)}for(const t of e.components[L.treeIterator]())r.set(t.bomRef,t.dependencies);const o=[];for(const[e,n]of r){const i=h(this,c,"m",l).call(this,e,n,r,t);(0,f.isNotUndefined)(i)&&o.push(i)}return t.sortLists&&o.sort((({ref:e},{ref:t})=>e.localeCompare(t))),o}}function D(e,t){const r=Array.from(e,(e=>e.toString()));return t.sortLists&&r.sort(((e,t)=>e.localeCompare(t))),r}t.DependencyGraphNormalizer=F,c=new WeakSet,l=function(e,t,r,o){const n=e.toString();if(0===n.length)return;const i=D(Array.from(t).filter((t=>r.has(t)&&t!==e)),o).filter((e=>e.length>0));return{ref:n,dependsOn:i.length>0?i:void 0}}},1143:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.JsonSchema=void 0,(r=t.JsonSchema||(t.JsonSchema={})).isIriReference=function(e){return"string"==typeof e&&e.length>0},r.isIdnEmail=function(e){return"string"==typeof e&&e.length>0}},3181:function(e,t,r){var o,n=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.JsonSerializer=void 0;const a=r(9841),s=r(7135);class c extends s.BaseSerializer{constructor(e){if(!e.spec.supportsFormat(a.Format.JSON))throw new a.UnsupportedFormatError("Spec does not support JSON format.");super(),o.set(this,void 0),n(this,o,e,"f")}get normalizerFactory(){return i(this,o,"f")}_normalize(e,t={}){return i(this,o,"f").makeForBom().normalize(e,t)}_serialize(e,{space:t}={}){return JSON.stringify(e,null,t)}}t.JsonSerializer=c,o=new WeakMap},5010:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},71:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Normalize=t.Types=void 0,t.Types=i(r(8700)),t.Normalize=i(r(17))},17:function(e,t,r){var o,n,i,a,s,c,l,p=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),m=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&p(t,e,r);return m(t,e),t},d=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},h=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.DependencyGraphNormalizer=t.PropertyNormalizer=t.AttachmentNormalizer=t.ExternalReferenceNormalizer=t.SWIDNormalizer=t.LicenseNormalizer=t.ComponentNormalizer=t.OrganizationalEntityNormalizer=t.OrganizationalContactNormalizer=t.HashNormalizer=t.ToolNormalizer=t.MetadataNormalizer=t.BomNormalizer=t.Factory=void 0;const f=r(7111),y=u(r(5357)),v=r(9841),w=r(8700),L=r(2914);t.Factory=class{constructor(e){o.set(this,void 0),d(this,o,e,"f")}get spec(){return h(this,o,"f")}makeForBom(){return new P(this)}makeForMetadata(){return new b(this)}makeForComponent(){return new O(this)}makeForTool(){return new g(this)}makeForOrganizationalContact(){return new A(this)}makeForOrganizationalEntity(){return new x(this)}makeForHash(){return new _(this)}makeForLicense(){return new z(this)}makeForSWID(){return new E(this)}makeForExternalReference(){return new R(this)}makeForAttachment(){return new T(this)}makeForProperty(){return new N(this)}makeForDependencyGraph(){return new F(this)}},o=new WeakMap;const S=new Map([[v.Version.v1dot2,"http://cyclonedx.org/schema/bom/1.2"],[v.Version.v1dot3,"http://cyclonedx.org/schema/bom/1.3"],[v.Version.v1dot4,"http://cyclonedx.org/schema/bom/1.4"]]);class C{constructor(e){this._factory=e}get factory(){return this._factory}}class P extends C{normalize(e,t){const r={type:"element",name:"components",children:e.components.size>0?this._factory.makeForComponent().normalizeRepository(e.components,t,"component"):void 0};return{type:"element",name:"bom",namespace:S.get(this._factory.spec.version),attributes:{version:e.version,serialNumber:e.serialNumber},children:[e.metadata?this._factory.makeForMetadata().normalize(e.metadata,t,"metadata"):void 0,r,this._factory.spec.supportsDependencyGraph?this._factory.makeForDependencyGraph().normalize(e,t,"dependencies"):void 0].filter(f.isNotUndefined)}}}t.BomNormalizer=P;class b extends C{normalize(e,t,r){const o=this._factory.makeForOrganizationalEntity();return{type:"element",name:r,children:[void 0===e.timestamp?void 0:{type:"element",name:"timestamp",children:e.timestamp.toISOString()},e.tools.size>0?{type:"element",name:"tools",children:this._factory.makeForTool().normalizeRepository(e.tools,t,"tool")}:void 0,e.authors.size>0?{type:"element",name:"authors",children:this._factory.makeForOrganizationalContact().normalizeRepository(e.authors,t,"author")}:void 0,void 0===e.component?void 0:this._factory.makeForComponent().normalize(e.component,t,"component"),void 0===e.manufacture?void 0:o.normalize(e.manufacture,t,"manufacture"),void 0===e.supplier?void 0:o.normalize(e.supplier,t,"supplier")].filter(f.isNotUndefined)}}}t.MetadataNormalizer=b;class g extends C{normalize(e,t,r){const o=e.hashes.size>0?{type:"element",name:"hashes",children:this._factory.makeForHash().normalizeRepository(e.hashes,t,"hash")}:void 0,n=this._factory.spec.supportsToolReferences&&e.externalReferences.size>0?{type:"element",name:"externalReferences",children:this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t,"reference")}:void 0;return{type:"element",name:r,children:[D(e.vendor,"vendor"),D(e.name,"name"),D(e.version,"version"),o,n].filter(f.isNotUndefined)}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r)))}}t.ToolNormalizer=g;class _ extends C{normalize([e,t],r,o){const n=this._factory.spec;return n.supportsHashAlgorithm(e)&&n.supportsHashValue(t)?{type:"element",name:o,attributes:{alg:e},children:t}:void 0}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r))).filter(f.isNotUndefined)}}t.HashNormalizer=_;class A extends C{normalize(e,t,r){return{type:"element",name:r,children:[D(e.name,"name"),D(e.email,"email"),D(e.phone,"phone")].filter(f.isNotUndefined)}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r)))}}t.OrganizationalContactNormalizer=A;class x extends C{normalize(e,t,r){return{type:"element",name:r,children:[D(e.name,"name"),...B(e.url,t,"url").filter((({children:e})=>w.XmlSchema.isAnyURI(e))),...this._factory.makeForOrganizationalContact().normalizeRepository(e.contact,t,"contact")].filter(f.isNotUndefined)}}}t.OrganizationalEntityNormalizer=x;class O extends C{normalize(e,t,r){const o=this._factory.spec;if(!o.supportsComponentType(e.type))return;const n=void 0===e.supplier?void 0:this._factory.makeForOrganizationalEntity().normalize(e.supplier,t,"supplier"),i=(o.requiresComponentVersion?M:D)(e.version??"","version"),a=e.hashes.size>0?{type:"element",name:"hashes",children:this._factory.makeForHash().normalizeRepository(e.hashes,t,"hash")}:void 0,s=e.licenses.size>0?{type:"element",name:"licenses",children:this._factory.makeForLicense().normalizeRepository(e.licenses,t)}:void 0,c=void 0===e.swid?void 0:this._factory.makeForSWID().normalize(e.swid,t,"swid"),l=e.externalReferences.size>0?{type:"element",name:"externalReferences",children:this._factory.makeForExternalReference().normalizeRepository(e.externalReferences,t,"reference")}:void 0,p=o.supportsProperties(e)&&e.properties.size>0?{type:"element",name:"properties",children:this._factory.makeForProperty().normalizeRepository(e.properties,t,"property")}:void 0,m=e.components.size>0?{type:"element",name:"components",children:this.normalizeRepository(e.components,t,"component")}:void 0;return{type:"element",name:r,attributes:{type:e.type,"bom-ref":e.bomRef.value},children:[n,D(e.author,"author"),D(e.publisher,"publisher"),D(e.group,"group"),M(e.name,"name"),i,D(e.description,"description"),D(e.scope,"scope"),a,s,D(e.copyright,"copyright"),D(e.cpe,"cpe"),D(e.purl,"purl"),c,l,p,m].filter(f.isNotUndefined)}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r))).filter(f.isNotUndefined)}}t.ComponentNormalizer=O;class z extends C{constructor(){super(...arguments),n.add(this)}normalize(e,t){switch(!0){case e instanceof y.NamedLicense:return h(this,n,"m",i).call(this,e,t);case e instanceof y.SpdxLicense:return h(this,n,"m",a).call(this,e,t);case e instanceof y.LicenseExpression:return h(this,n,"m",s).call(this,e);default:throw new TypeError("Unexpected LicenseChoice")}}normalizeRepository(e,t){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t)))}}t.LicenseNormalizer=z,n=new WeakSet,i=function(e,t){const r=e.url?.toString();return{type:"element",name:"license",children:[M(e.name,"name"),void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t,"text"),w.XmlSchema.isAnyURI(r)?M(r,"url"):void 0].filter(f.isNotUndefined)}},a=function(e,t){const r=e.url?.toString();return{type:"element",name:"license",children:[M(e.id,"id"),void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t,"text"),w.XmlSchema.isAnyURI(r)?M(r,"url"):void 0].filter(f.isNotUndefined)}},s=function(e){return M(e.expression,"expression")};class E extends C{normalize(e,t,r){const o=e.url?.toString();return{type:"element",name:r,attributes:{tagId:e.tagId,name:e.name,version:e.version||void 0,tagVersion:e.tagVersion,patch:void 0===e.patch?void 0:e.patch?"true":"false"},children:[void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t,"text"),w.XmlSchema.isAnyURI(o)?M(o,"url"):void 0].filter(f.isNotUndefined)}}}t.SWIDNormalizer=E;class R extends C{normalize(e,t,r){const o=e.url.toString();return this._factory.spec.supportsExternalReferenceType(e.type)&&w.XmlSchema.isAnyURI(o)?{type:"element",name:r,attributes:{type:e.type},children:[M(o,"url"),D(e.comment,"comment")].filter(f.isNotUndefined)}:void 0}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r))).filter(f.isNotUndefined)}}t.ExternalReferenceNormalizer=R;class T extends C{normalize(e,t,r){return{type:"element",name:r,attributes:{"content-type":e.contentType||void 0,encoding:e.encoding||void 0},children:e.content}}}t.AttachmentNormalizer=T;class N extends C{normalize(e,t,r){return{type:"element",name:r,attributes:{name:e.name},children:e.value}}normalizeRepository(e,t,r){return(t.sortLists?e.sorted():Array.from(e)).map((e=>this.normalize(e,t,r)))}}t.PropertyNormalizer=N;class F extends C{constructor(){super(...arguments),c.add(this)}normalize(e,t,r){const o=new Map;if(void 0!==e.metadata.component){o.set(e.metadata.component.bomRef,e.metadata.component.dependencies);for(const t of e.metadata.component.components[L.treeIterator]())o.set(t.bomRef,t.dependencies)}for(const t of e.components[L.treeIterator]())o.set(t.bomRef,t.dependencies);const n=[];for(const[e,r]of o){const i=h(this,c,"m",l).call(this,e,r,o,t);(0,f.isNotUndefined)(i)&&n.push(i)}return t.sortLists&&n.sort((({attributes:{ref:e}},{attributes:{ref:t}})=>e.localeCompare(t))),{type:"element",name:r,children:n}}}function D(e,t){const r=e?.toString()??"";return r.length>0?M(r,t):void 0}function M(e,t){return{type:"element",name:t,children:e.toString()}}function B(e,t,r){const o=Array.from(e,(e=>M(e,r)));return t.sortLists&&o.sort((({children:e},{children:t})=>e.localeCompare(t))),o}t.DependencyGraphNormalizer=F,c=new WeakSet,l=function(e,t,r,o){const n=e.toString();if(0===n.length)return;const i=Array.from(t).filter((t=>r.has(t)&&t!==e)).map((e=>e.toString())).filter((e=>e.length>0));return o.sortLists&&i.sort(((e,t)=>e.localeCompare(t))),{type:"element",name:"dependency",attributes:{ref:n},children:i.map((e=>({type:"element",name:"dependency",attributes:{ref:e}})))}}},8700:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.XmlSchema=void 0,(t.XmlSchema||(t.XmlSchema={})).isAnyURI=function(e){return"string"==typeof e&&e.length>0&&Array.from(e).filter((e=>"#"===e)).length<=1}},5047:function(e,t,r){var o,n=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},i=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.XmlBaseSerializer=void 0;const a=r(9841),s=r(7135);class c extends s.BaseSerializer{constructor(e){if(!e.spec.supportsFormat(a.Format.JSON))throw new a.UnsupportedFormatError("Spec does not support JSON format.");super(),o.set(this,void 0),n(this,o,e,"f")}get normalizerFactory(){return i(this,o,"f")}_normalize(e,t={}){return i(this,o,"f").makeForBom().normalize(e,t)}}t.XmlBaseSerializer=c,o=new WeakMap},6955:function(e,t,r){var o,n,i,a,s,c,l=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.XmlSerializer=void 0;const p=r(7111),m=r(5047);class u extends m.XmlBaseSerializer{constructor(){super(...arguments),o.add(this)}_serialize(e,{space:t}={}){const r=l(this,o,"m",n).call(this,e);return(new XMLSerializer).serializeToString(r)}}t.XmlSerializer=u,o=new WeakSet,n=function(e){const t=document.implementation.createDocument(null,null);return t.appendChild(l(this,o,"m",a).call(this,e,t,null)),t},i=function(e){const t=(e.namespace??e.attributes?.xmlns)?.toString()??"";return t.length>0?t:null},a=function(e,t,r){const n=l(this,o,"m",i).call(this,e)??r,a=t.createElementNS(n,e.name);return(0,p.isNotUndefined)(e.attributes)&&l(this,o,"m",s).call(this,a,e.attributes),(0,p.isNotUndefined)(e.children)&&l(this,o,"m",c).call(this,a,e.children,n),a},s=function(e,t){for(const[r,o]of Object.entries(t))(0,p.isNotUndefined)(o)&&"xmlns"!==r&&e.setAttribute(r,`${o}`)},c=function(e,t,r=null){if("string"==typeof t||"number"==typeof t)return void(e.textContent=t.toString());const n=e.ownerDocument;for(const i of t)"element"===i.type&&e.appendChild(l(this,o,"m",a).call(this,i,n,r))}},9169:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fixupSpdxId=t.isSupportedSpdxId=void 0;const o=r(7207),n=new Set(o.enum),i=new Map(o.enum.map((e=>[e.toLowerCase(),e])));t.isSupportedSpdxId=function(e){return n.has(e)},t.fixupSpdxId=function(e){return"string"==typeof e&&e.length>0?i.get(e.toLowerCase()):void 0}},9841:function(e,t,r){var o,n,i,a,s,c,l,p,m,u,d=this&&this.__classPrivateFieldSet||function(e,t,r,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,r):n?n.value=r:t.set(e,r),r},h=this&&this.__classPrivateFieldGet||function(e,t,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(e):o?o.value:t.get(e)};Object.defineProperty(t,"__esModule",{value:!0}),t.SpecVersionDict=t.Spec1dot4=t.Spec1dot3=t.Spec1dot2=t.UnsupportedFormatError=t.Format=t.Version=void 0;const f=r(9507);var y,v;!function(e){e.v1dot0="1.0",e.v1dot1="1.1",e.v1dot2="1.2",e.v1dot3="1.3",e.v1dot4="1.4"}(y=t.Version||(t.Version={})),function(e){e.XML="xml",e.JSON="json"}(v=t.Format||(t.Format={}));class w extends Error{}t.UnsupportedFormatError=w;class L{constructor(e,t,r,h,f,y,v,w,L,S){o.set(this,void 0),n.set(this,void 0),i.set(this,void 0),a.set(this,void 0),s.set(this,void 0),c.set(this,void 0),l.set(this,void 0),p.set(this,void 0),m.set(this,void 0),u.set(this,void 0),d(this,o,e,"f"),d(this,n,new Set(t),"f"),d(this,i,new Set(r),"f"),d(this,a,new Set(h),"f"),d(this,s,f,"f"),d(this,c,new Set(y),"f"),d(this,l,v,"f"),d(this,p,w,"f"),d(this,m,L,"f"),d(this,u,S,"f")}get version(){return h(this,o,"f")}supportsFormat(e){return h(this,n,"f").has(e)}supportsComponentType(e){return h(this,i,"f").has(e)}supportsHashAlgorithm(e){return h(this,a,"f").has(e)}supportsHashValue(e){return"string"==typeof e&&h(this,s,"f").test(e)}supportsExternalReferenceType(e){return h(this,c,"f").has(e)}get supportsDependencyGraph(){return h(this,l,"f")}get supportsToolReferences(){return h(this,p,"f")}get requiresComponentVersion(){return h(this,m,"f")}supportsProperties(){return h(this,u,"f")}}o=new WeakMap,n=new WeakMap,i=new WeakMap,a=new WeakMap,s=new WeakMap,c=new WeakMap,l=new WeakMap,p=new WeakMap,m=new WeakMap,u=new WeakMap,t.Spec1dot2=Object.freeze(new L(y.v1dot2,[v.XML,v.JSON],[f.ComponentType.Application,f.ComponentType.Framework,f.ComponentType.Library,f.ComponentType.Container,f.ComponentType.OperatingSystem,f.ComponentType.Device,f.ComponentType.Firmware,f.ComponentType.File],[f.HashAlgorithm.MD5,f.HashAlgorithm["SHA-1"],f.HashAlgorithm["SHA-256"],f.HashAlgorithm["SHA-384"],f.HashAlgorithm["SHA-512"],f.HashAlgorithm["SHA3-256"],f.HashAlgorithm["SHA3-384"],f.HashAlgorithm["SHA3-512"],f.HashAlgorithm["BLAKE2b-256"],f.HashAlgorithm["BLAKE2b-384"],f.HashAlgorithm["BLAKE2b-512"],f.HashAlgorithm.BLAKE3],/^([a-fA-F0-9]{32})$|^([a-fA-F0-9]{40})$|^([a-fA-F0-9]{64})$|^([a-fA-F0-9]{96})$|^([a-fA-F0-9]{128})$/,[f.ExternalReferenceType.VCS,f.ExternalReferenceType.IssueTracker,f.ExternalReferenceType.Website,f.ExternalReferenceType.Advisories,f.ExternalReferenceType.BOM,f.ExternalReferenceType.MailingList,f.ExternalReferenceType.Social,f.ExternalReferenceType.Chat,f.ExternalReferenceType.Documentation,f.ExternalReferenceType.Support,f.ExternalReferenceType.Distribution,f.ExternalReferenceType.License,f.ExternalReferenceType.BuildMeta,f.ExternalReferenceType.BuildSystem,f.ExternalReferenceType.Other],!0,!1,!0,!1)),t.Spec1dot3=Object.freeze(new L(y.v1dot3,[v.XML,v.JSON],[f.ComponentType.Application,f.ComponentType.Framework,f.ComponentType.Library,f.ComponentType.Container,f.ComponentType.OperatingSystem,f.ComponentType.Device,f.ComponentType.Firmware,f.ComponentType.File],[f.HashAlgorithm.MD5,f.HashAlgorithm["SHA-1"],f.HashAlgorithm["SHA-256"],f.HashAlgorithm["SHA-384"],f.HashAlgorithm["SHA-512"],f.HashAlgorithm["SHA3-256"],f.HashAlgorithm["SHA3-384"],f.HashAlgorithm["SHA3-512"],f.HashAlgorithm["BLAKE2b-256"],f.HashAlgorithm["BLAKE2b-384"],f.HashAlgorithm["BLAKE2b-512"],f.HashAlgorithm.BLAKE3],/^([a-fA-F0-9]{32})$|^([a-fA-F0-9]{40})$|^([a-fA-F0-9]{64})$|^([a-fA-F0-9]{96})$|^([a-fA-F0-9]{128})$/,[f.ExternalReferenceType.VCS,f.ExternalReferenceType.IssueTracker,f.ExternalReferenceType.Website,f.ExternalReferenceType.Advisories,f.ExternalReferenceType.BOM,f.ExternalReferenceType.MailingList,f.ExternalReferenceType.Social,f.ExternalReferenceType.Chat,f.ExternalReferenceType.Documentation,f.ExternalReferenceType.Support,f.ExternalReferenceType.Distribution,f.ExternalReferenceType.License,f.ExternalReferenceType.BuildMeta,f.ExternalReferenceType.BuildSystem,f.ExternalReferenceType.Other],!0,!1,!0,!0)),t.Spec1dot4=Object.freeze(new L(y.v1dot4,[v.XML,v.JSON],[f.ComponentType.Application,f.ComponentType.Framework,f.ComponentType.Library,f.ComponentType.Container,f.ComponentType.OperatingSystem,f.ComponentType.Device,f.ComponentType.Firmware,f.ComponentType.File],[f.HashAlgorithm.MD5,f.HashAlgorithm["SHA-1"],f.HashAlgorithm["SHA-256"],f.HashAlgorithm["SHA-384"],f.HashAlgorithm["SHA-512"],f.HashAlgorithm["SHA3-256"],f.HashAlgorithm["SHA3-384"],f.HashAlgorithm["SHA3-512"],f.HashAlgorithm["BLAKE2b-256"],f.HashAlgorithm["BLAKE2b-384"],f.HashAlgorithm["BLAKE2b-512"],f.HashAlgorithm.BLAKE3],/^([a-fA-F0-9]{32})$|^([a-fA-F0-9]{40})$|^([a-fA-F0-9]{64})$|^([a-fA-F0-9]{96})$|^([a-fA-F0-9]{128})$/,[f.ExternalReferenceType.VCS,f.ExternalReferenceType.IssueTracker,f.ExternalReferenceType.Website,f.ExternalReferenceType.Advisories,f.ExternalReferenceType.BOM,f.ExternalReferenceType.MailingList,f.ExternalReferenceType.Social,f.ExternalReferenceType.Chat,f.ExternalReferenceType.Documentation,f.ExternalReferenceType.Support,f.ExternalReferenceType.Distribution,f.ExternalReferenceType.License,f.ExternalReferenceType.BuildMeta,f.ExternalReferenceType.BuildSystem,f.ExternalReferenceType.ReleaseNotes,f.ExternalReferenceType.Other],!0,!0,!1,!0)),t.SpecVersionDict=Object.freeze(Object.fromEntries([[y.v1dot2,t.Spec1dot2],[y.v1dot3,t.Spec1dot3],[y.v1dot4,t.Spec1dot4]]))},4506:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isCPE=void 0;const r=/^([c][pP][eE]:\/[AHOaho]?(:[A-Za-z0-9\._\-~%]*){0,6})$|^(cpe:2\.3:[aho\*\-](:(((\?*|\*?)([a-zA-Z0-9\-\._]|(\\[\\\*\?!"#$$%&'\(\)\+,\/:;<=>@\[\]\^`\{\|}~]))+(\?*|\*?))|[\*\-])){5}(:(([a-zA-Z]{2,3}(-([a-zA-Z]{2}|[0-9]{3}))?)|[\*\-]))(:(((\?*|\*?)([a-zA-Z0-9\-\._]|(\\[\\\*\?!"#$$%&'\(\)\+,\/:;<=>@\[\]\^`\{\|}~]))+(\?*|\*?))|[\*\-])){4})$/;t.isCPE=function(e){return"string"==typeof e&&r.test(e)}},2380:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(4506),t),n(r(7560),t),n(r(42),t),n(r(604),t)},7560:(e,t)=>{function r(e){return Number.isInteger(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isPositiveInteger=t.isNonNegativeInteger=t.isInteger=void 0,t.isInteger=r,t.isNonNegativeInteger=function(e){return r(e)&&e>=0},t.isPositiveInteger=function(e){return r(e)&&e>0}},42:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMimeType=void 0;const r=/^[-+a-z0-9.]+\/[-+a-z0-9.]+$/;t.isMimeType=function(e){return"string"==typeof e&&r.test(e)}},604:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isUrnUuid=void 0;const r=/^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;t.isUrnUuid=function(e){return"string"==typeof e&&r.test(e)}},1042:t=>{t.exports=e},7207:e=>{e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://cyclonedx.org/schema/spdx.schema.json","$comment":"v1.0-3.17","type":"string","enum":["CC-BY-NC-ND-2.0","SGI-B-2.0","LPPL-1.3c","NIST-PD-fallback","libtiff","XSkat","PDDL-1.0","KiCad-libraries-exception","CC-BY-NC-SA-1.0","GFDL-1.1-no-invariants-only","Xerox","LPPL-1.1","VOSTROM","UCL-1.0","ADSL","OSL-2.0","AAL","FDK-AAC","W3C-20150513","AFL-1.1","W3C","Sleepycat","CECILL-1.1","mpich2","SISSL","NLOD-1.0","ANTLR-PD","GPL-3.0-only","gnuplot","NLOD-2.0","BSD-3-Clause-Open-MPI","LiLiQ-P-1.1","BSD-3-Clause-Clear","FSFUL","CC-BY-NC-SA-2.0-UK","CERN-OHL-S-2.0","Spencer-94","CERN-OHL-1.2","GFDL-1.1-or-later","AGPL-1.0-or-later","Wsuipa","AML","BSD-2-Clause","DSDP","CC-BY-2.5","MIT-CMU","Beerware","Sendmail","TU-Berlin-1.0","CNRI-Jython","mplus","CPOL-1.02","BSD-3-Clause-No-Nuclear-License-2014","ISC","CC-BY-SA-4.0","Eurosym","LGPL-3.0-only","OLDAP-1.3","GFDL-1.1-invariants-or-later","Glulxe","SimPL-2.0","CDLA-Permissive-2.0","GPL-2.0-with-font-exception","OGL-UK-2.0","CC-BY-SA-3.0-DE","CC-BY-ND-1.0","GFDL-1.1","CC-BY-4.0","OpenSSL","TU-Berlin-2.0","DOC","GFDL-1.2-no-invariants-or-later","QPL-1.0","OLDAP-2.8","OML","OLDAP-2.7","NIST-PD","Bitstream-Vera","GFDL-1.2-or-later","OFL-1.1-RFN","Bahyph","Barr","COIL-1.0","GFDL-1.3","CECILL-B","JPNIC","Zed","ICU","CC-BY-NC-SA-2.5","CC-BY-ND-3.0-DE","bzip2-1.0.5","SPL-1.0","YPL-1.0","OSET-PL-2.1","Noweb","RPSL-1.0","BSD-3-Clause-LBNL","CDLA-Sharing-1.0","CECILL-1.0","AMPAS","APAFML","CC-BY-ND-3.0","D-FSL-1.0","CC-BY-NC-3.0","libpng-2.0","PolyForm-Noncommercial-1.0.0","dvipdfm","GFDL-1.3-or-later","OGTSL","NPL-1.1","GPL-3.0","CERN-OHL-P-2.0","BlueOak-1.0.0","AGPL-3.0-or-later","blessing","ImageMagick","APSL-2.0","MIT-advertising","curl","CC0-1.0","Zimbra-1.4","SSPL-1.0","psutils","CC-BY-SA-2.0-UK","PSF-2.0","Net-SNMP","NAIST-2003","GFDL-1.2-invariants-or-later","SGI-B-1.0","NBPL-1.0","GFDL-1.2-invariants-only","W3C-19980720","OFL-1.0-no-RFN","NetCDF","TMate","NOSL","CNRI-Python-GPL-Compatible","BSD-1-Clause","CC-BY-NC-SA-3.0-DE","BSD-3-Clause-Modification","GLWTPL","GFDL-1.3-only","OLDAP-2.2","CC-BY-ND-4.0","CC-BY-NC-ND-3.0-DE","EUPL-1.0","Linux-OpenIB","LGPL-2.0-or-later","OSL-1.1","Spencer-86","LGPL-2.0","CC-PDDC","CC-BY-NC-ND-3.0","CDL-1.0","Elastic-2.0","CC-BY-2.0","BSD-3-Clause-No-Military-License","IJG","LPPL-1.3a","SAX-PD","BitTorrent-1.0","OLDAP-2.0","Giftware","C-UDA-1.0","LGPL-2.0+","Rdisc","GPL-2.0-with-classpath-exception","CC-BY-3.0-US","CDDL-1.0","Xnet","CPL-1.0","LGPL-3.0-or-later","NASA-1.3","BUSL-1.1","etalab-2.0","MIT-open-group","OLDAP-1.4","GFDL-1.1-invariants-only","RPL-1.1","CC-BY-NC-ND-2.5","FSFULLR","Saxpath","NTP-0","SISSL-1.2","GPL-3.0-or-later","Apache-1.1","CC-BY-SA-2.1-JP","AGPL-3.0-only","GPL-2.0-with-autoconf-exception","Artistic-2.0","App-s2p","Unicode-DFS-2015","diffmark","SNIA","CC-BY-SA-2.5","Linux-man-pages-copyleft","HPND-sell-variant","ZPL-2.1","BSD-4-Clause-UC","LAL-1.2","AGPL-1.0-only","MIT-enna","Condor-1.1","Naumen","GFDL-1.3-no-invariants-or-later","RPL-1.5","PolyForm-Small-Business-1.0.0","EFL-1.0","MirOS","CC-BY-2.5-AU","Afmparse","MPL-2.0-no-copyleft-exception","LiLiQ-Rplus-1.1","AFL-1.2","OSL-1.0","GPL-1.0-only","APSL-1.0","OGL-Canada-2.0","CPAL-1.0","Latex2e","Zend-2.0","Unlicense","xpp","CC-BY-NC-1.0","GPL-3.0-with-autoconf-exception","CC-BY-NC-SA-3.0","TCP-wrappers","SCEA","SSH-short","CC-BY-3.0-NL","SchemeReport","CC-BY-3.0","MPL-2.0","Unicode-TOU","CC-BY-NC-ND-1.0","Entessa","BSD-3-Clause-No-Nuclear-License","SWL","GFDL-1.2-no-invariants-only","Parity-7.0.0","OLDAP-2.2.1","SGI-B-1.1","FTL","OLDAP-2.4","CC-BY-NC-4.0","bzip2-1.0.6","copyleft-next-0.3.0","MakeIndex","NRL","GFDL-1.3-invariants-or-later","CC-BY-NC-2.0","SugarCRM-1.1.3","AFL-2.1","GPL-2.0-only","GFDL-1.3-invariants-only","TORQUE-1.1","Ruby","X11","Borceux","Libpng","X11-distribute-modifications-variant","Frameworx-1.0","NCGL-UK-2.0","CECILL-2.1","CC-BY-3.0-AT","CNRI-Python","NCSA","gSOAP-1.3b","EUPL-1.1","AMDPLPA","Imlib2","CDDL-1.1","WTFPL","LPL-1.0","EPL-1.0","BSD-3-Clause-Attribution","OSL-3.0","RHeCos-1.1","PHP-3.0","BSD-Protection","CC-BY-NC-3.0-DE","APL-1.0","EUDatagrid","GPL-1.0","SHL-0.5","CC-BY-SA-2.0","CC-BY-SA-3.0-AT","CC-BY-NC-SA-3.0-IGO","Adobe-2006","Newsletr","Nunit","Multics","OGL-UK-1.0","Vim","eCos-2.0","Zimbra-1.3","eGenix","IBM-pibs","BitTorrent-1.1","OFL-1.1-no-RFN","psfrag","CC-BY-ND-2.0","SHL-0.51","FreeBSD-DOC","Python-2.0","Mup","BSD-4-Clause-Shortened","CC-BY-NC-SA-4.0","HPND","OLDAP-2.6","MPL-1.1","GPL-2.0-with-GCC-exception","HaskellReport","ECL-1.0","LGPL-2.1-or-later","OFL-1.0","APSL-1.1","MITNFA","CECILL-2.0","Crossword","Aladdin","Baekmuk","XFree86-1.1","GPL-1.0-or-later","CERN-OHL-W-2.0","CC-BY-SA-1.0","NTP","PHP-3.01","OCLC-2.0","CC-BY-3.0-DE","CC-BY-NC-2.5","Zlib","CATOSL-1.1","LGPL-3.0+","CAL-1.0","NPL-1.0","SMLNJ","GPL-2.0+","OLDAP-2.5","JasPer-2.0","GPL-2.0-or-later","BSD-2-Clause-Patent","MS-RL","CUA-OPL-1.0","IPA","NLPL","O-UDA-1.0","MIT-Modern-Variant","OLDAP-1.2","BSD-2-Clause-FreeBSD","Info-ZIP","CC-BY-NC-SA-2.0-FR","0BSD","Unicode-DFS-2016","OFL-1.0-RFN","Intel","AFL-2.0","GL2PS","TAPR-OHL-1.0","Apache-1.0","MTLL","Motosoto","RSA-MD","Community-Spec-1.0","ODC-By-1.0","zlib-acknowledgement","DL-DE-BY-2.0","VSL-1.0","LiLiQ-R-1.1","OPL-1.0","GPL-3.0+","MulanPSL-2.0","APSL-1.2","OGDL-Taiwan-1.0","RSCPL","OGC-1.0","EFL-2.0","CAL-1.0-Combined-Work-Exception","MS-PL","Plexus","Sendmail-8.23","Cube","JSON","EUPL-1.2","Adobe-Glyph","FreeImage","Watcom-1.0","Jam","Hippocratic-2.1","OLDAP-2.0.1","CC-BY-NC-SA-2.0","Nokia","OCCT-PL","ErlPL-1.1","TOSL","OSL-2.1","ClArtistic","xinetd","GPL-3.0-with-GCC-exception","ODbL-1.0","MIT","LGPL-2.1+","LGPL-2.1-only","CrystalStacker","ECL-2.0","LPPL-1.0","iMatix","CC-BY-NC-ND-3.0-IGO","BSD-Source-Code","Parity-6.0.0","TCL","Arphic-1999","CC-BY-SA-3.0","Caldera","AGPL-1.0","IPL-1.0","LAL-1.3","EPICS","NGPL","DRL-1.0","BSD-2-Clause-NetBSD","ZPL-1.1","GD","LPPL-1.2","Dotseqn","Spencer-99","OLDAP-2.3","YPL-1.1","Fair","Qhull","GFDL-1.1-no-invariants-or-later","CECILL-C","MulanPSL-1.0","OLDAP-1.1","OLDAP-2.1","LPL-1.02","UPL-1.0","Abstyles","ZPL-2.0","MIT-0","LGPL-2.0-only","GFDL-1.3-no-invariants-only","AGPL-3.0","EPL-2.0","AFL-3.0","CDLA-Permissive-1.0","Artistic-1.0","CC-BY-NC-ND-4.0","HTMLTIDY","Glide","FSFAP","LGPLLR","OGL-UK-3.0","GFDL-1.2","SSH-OpenSSH","GFDL-1.1-only","MIT-feh","MPL-1.0","PostgreSQL","OLDAP-2.2.2","SMPPL","OFL-1.1","Leptonica","CERN-OHL-1.1","BSD-3-Clause-No-Nuclear-Warranty","CC-BY-ND-2.5","CC-BY-1.0","GFDL-1.2-only","OPUBL-1.0","libselinux-1.0","BSD-3-Clause","ANTLR-PD-fallback","copyleft-next-0.3.1","GPL-1.0+","wxWindows","LGPL-3.0","LGPL-2.1","StandardML-NJ","BSD-4-Clause","GPL-2.0-with-bison-exception","Apache-2.0","Artistic-1.0-cl8","GPL-2.0","Intel-ACPI","BSL-1.0","Artistic-1.0-Perl","BSD-2-Clause-Views","Interbase-1.0","NPOSL-3.0","FLTK-exception","Bootloader-exception","WxWindows-exception-3.1","Linux-syscall-note","Qt-LGPL-exception-1.1","LLVM-exception","PS-or-PDF-font-exception-20170817","GCC-exception-3.1","Autoconf-exception-3.0","LGPL-3.0-linking-exception","GCC-exception-2.0","Bison-exception-2.2","openvpn-openssl-exception","Libtool-exception","Autoconf-exception-2.0","GPL-3.0-linking-source-exception","GPL-CC-1.0","OCaml-LGPL-linking-exception","Universal-FOSS-exception-1.0","i2p-gpl-java-exception","CLISP-exception-2.0","OCCT-exception-1.0","Qwt-exception-1.0","gnu-javamail-exception","u-boot-exception-2.0","freertos-exception-2.0","Qt-GPL-exception-1.0","OpenJDK-assembly-exception-1.0","SHL-2.1","mif-exception","Fawkes-Runtime-exception","Swift-exception","GPL-3.0-linking-exception","SHL-2.0","Classpath-exception-2.0","LZMA-exception","Font-exception-2.0","Nokia-Qt-exception-1.1","DigiRule-FOSS-exception","eCos-exception-2.0","389-exception"]}')}},r={};return function e(o){var n=r[o];if(void 0!==n)return n.exports;var i=r[o]={exports:{}};return t[o].call(i.exports,i,i.exports,e),i.exports}(9136)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclonedx/cyclonedx-library",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).",
5
5
  "keywords": [
6
6
  "CycloneDX",
package/res/README.md CHANGED
@@ -5,7 +5,7 @@ These resources are shipped with the library.
5
5
  ## Schema files
6
6
 
7
7
  some schema for offline use.
8
- original sources: https://github.com/CycloneDX/specification/tree/master/schema
8
+ original sources: <https://github.com/CycloneDX/specification/tree/master/schema>
9
9
 
10
10
  Currently using version
11
11
  [9b04a94474dfcabafe7d3a9f8db6c7e5eb868adb](https://github.com/CycloneDX/specification/tree/9b04a94474dfcabafe7d3a9f8db6c7e5eb868adb)
@@ -29,7 +29,7 @@ import { PackageJson, splitNameGroup } from '../helpers/packageJson'
29
29
  export class ToolBuilder {
30
30
  readonly #extRefFactory: Factories.FromNodePackageJson.ExternalReferenceFactory
31
31
 
32
- constructor (extRefFactory: Factories.FromNodePackageJson.ExternalReferenceFactory) {
32
+ constructor (extRefFactory: ToolBuilder['extRefFactory']) {
33
33
  this.#extRefFactory = extRefFactory
34
34
  }
35
35
 
@@ -58,8 +58,8 @@ export class ComponentBuilder {
58
58
  readonly #licenseFactory: Factories.LicenseFactory
59
59
 
60
60
  constructor (
61
- extRefFactory: Factories.FromNodePackageJson.ExternalReferenceFactory,
62
- licenseFactory: Factories.LicenseFactory
61
+ extRefFactory: ComponentBuilder['extRefFactory'],
62
+ licenseFactory: ComponentBuilder['licenseFactory']
63
63
  ) {
64
64
  this.#extRefFactory = extRefFactory
65
65
  this.#licenseFactory = licenseFactory
@@ -24,7 +24,7 @@ export class LicenseFactory {
24
24
  makeFromString (value: string): License {
25
25
  try {
26
26
  return this.makeExpression(value)
27
- } catch (Error) {
27
+ } catch {
28
28
  return this.makeDisjunctive(value)
29
29
  }
30
30
  }
@@ -39,7 +39,7 @@ export class LicenseFactory {
39
39
  makeDisjunctive (value: string): DisjunctiveLicense {
40
40
  try {
41
41
  return this.makeDisjunctiveWithId(value)
42
- } catch (error) {
42
+ } catch {
43
43
  return this.makeDisjunctiveWithName(value)
44
44
  }
45
45
  }
@@ -24,7 +24,7 @@ import { ExternalReferenceType } from '../enums'
24
24
  export class PackageUrlFactory {
25
25
  readonly #type: PackageURL['type']
26
26
 
27
- constructor (type: PackageURL['type']) {
27
+ constructor (type: PackageUrlFactory['type']) {
28
28
  this.#type = type
29
29
  }
30
30
 
@@ -29,7 +29,7 @@ export class Attachment {
29
29
  content: string
30
30
  encoding?: AttachmentEncoding
31
31
 
32
- constructor (content: string, op: OptionalProperties = {}) {
32
+ constructor (content: Attachment['content'], op: OptionalProperties = {}) {
33
33
  this.contentType = op.contentType
34
34
  this.content = content
35
35
  this.encoding = op.encoding
package/src/models/bom.ts CHANGED
@@ -45,7 +45,7 @@ export class Bom {
45
45
  // The dependency graph can be normalized on render-time, no need to store it in the bom model.
46
46
 
47
47
  /**
48
- * @throws {TypeError} if {@see op.version} is not {@see PositiveInteger} nor {@see undefined}
48
+ * @throws {TypeError} if {@see op.version} is neither {@see PositiveInteger} nor {@see undefined}
49
49
  * @throws {TypeError} if {@see op.serialNumber} is neither {@see UrnUuid} nor {@see undefined}
50
50
  */
51
51
  constructor (op: OptionalProperties = {}) {
@@ -24,12 +24,12 @@ Copyright (c) OWASP Foundation. All Rights Reserved.
24
24
  export class BomRef {
25
25
  value?: string
26
26
 
27
- constructor (value?: string) {
27
+ constructor (value?: BomRef['value']) {
28
28
  this.value = value
29
29
  }
30
30
 
31
31
  compare (other: BomRef): number {
32
- return (this.toString()).localeCompare(other.toString())
32
+ return this.toString().localeCompare(other.toString())
33
33
  }
34
34
 
35
35
  toString (): string {
@@ -29,7 +29,7 @@ export class ExternalReference implements Comparable {
29
29
  type: ExternalReferenceType
30
30
  comment?: string
31
31
 
32
- constructor (url: URL | string, type: ExternalReferenceType, op: OptionalProperties = {}) {
32
+ constructor (url: ExternalReference['url'], type: ExternalReference['type'], op: OptionalProperties = {}) {
33
33
  this.url = url
34
34
  this.type = type
35
35
  this.comment = op.comment
@@ -35,7 +35,7 @@ export class LicenseExpression {
35
35
  /**
36
36
  * @throws {RangeError} if {@see expression} is not eligible({@see LicenseExpression.isEligibleExpression})
37
37
  */
38
- constructor (expression: string) {
38
+ constructor (expression: LicenseExpression['expression']) {
39
39
  this.expression = expression
40
40
  }
41
41
 
@@ -68,7 +68,7 @@ export class NamedLicense {
68
68
  text?: Attachment
69
69
  url?: URL | string
70
70
 
71
- constructor (name: string, op: NamedLicenseOptionalProperties = {}) {
71
+ constructor (name: NamedLicense['name'], op: NamedLicenseOptionalProperties = {}) {
72
72
  this.name = name
73
73
  this.text = op.text
74
74
  this.url = op.url
@@ -94,7 +94,7 @@ export class SpdxLicense {
94
94
  /**
95
95
  * @throws {RangeError} if {@see id} is not supported SPDX id({@see isSupportedSpdxId})
96
96
  */
97
- constructor (id: SpdxId, op: SpdxLicenseOptionalProperties = {}) {
97
+ constructor (id: SpdxLicense['id'], op: SpdxLicenseOptionalProperties = {}) {
98
98
  this.id = id
99
99
  this.text = op.text
100
100
  this.url = op.url
@@ -45,7 +45,7 @@ export class SWID {
45
45
  /**
46
46
  * @throws {TypeError} if {@see op.tagVersion} is neither {@see NonNegativeInteger} nor {@see undefined}
47
47
  */
48
- constructor (tagId: string, name: string, op: OptionalProperties = {}) {
48
+ constructor (tagId: SWID['tagId'], name: SWID['name'], op: OptionalProperties = {}) {
49
49
  this.tagId = tagId
50
50
  this.name = name
51
51
  this.version = op.version
@@ -17,7 +17,7 @@ SPDX-License-Identifier: Apache-2.0
17
17
  Copyright (c) OWASP Foundation. All Rights Reserved.
18
18
  */
19
19
 
20
- import { Bom, BomRef } from '../models'
20
+ import { Component, Bom, BomRef } from '../models'
21
21
  import { BomRefDiscriminator } from './bomRefDiscriminator'
22
22
  import { NormalizerOptions, Serializer, SerializerOptions } from './types'
23
23
 
@@ -38,12 +38,19 @@ export abstract class BaseSerializer<NormalizedBom> implements Serializer {
38
38
 
39
39
  #getAllBomRefs (bom: Bom): Iterable<BomRef> {
40
40
  const bomRefs = new Set<BomRef>()
41
+ function iterComponents (cs: Iterable<Component>): void {
42
+ for (const { bomRef, components } of cs) {
43
+ bomRefs.add(bomRef)
44
+ iterComponents(components)
45
+ }
46
+ }
47
+
41
48
  if (bom.metadata.component !== undefined) {
42
49
  bomRefs.add(bom.metadata.component.bomRef)
50
+ iterComponents(bom.metadata.component.components)
43
51
  }
44
- for (const { bomRef } of bom.components) {
45
- bomRefs.add(bomRef)
46
- }
52
+ iterComponents(bom.components)
53
+
47
54
  return bomRefs.values()
48
55
  }
49
56
 
@@ -28,7 +28,7 @@ import { treeIterator } from '../../helpers/tree'
28
28
  export class Factory {
29
29
  readonly #spec: Spec
30
30
 
31
- constructor (spec: Spec) {
31
+ constructor (spec: Factory['spec']) {
32
32
  this.#spec = spec
33
33
  }
34
34
 
@@ -104,7 +104,7 @@ interface Normalizer {
104
104
  abstract class Base implements Normalizer {
105
105
  protected readonly _factory: Factory
106
106
 
107
- constructor (factory: Factory) {
107
+ constructor (factory: Base['factory']) {
108
108
  this._factory = factory
109
109
  }
110
110
 
@@ -203,7 +203,8 @@ export class HashNormalizer extends Base {
203
203
  options.sortLists ?? false
204
204
  ? data.sorted()
205
205
  : Array.from(data)
206
- ).map(h => this.normalize(h, options)
206
+ ).map(
207
+ h => this.normalize(h, options)
207
208
  ).filter(isNotUndefined)
208
209
  }
209
210
  }
@@ -295,7 +296,8 @@ export class ComponentNormalizer extends Base {
295
296
  options.sortLists ?? false
296
297
  ? data.sorted()
297
298
  : Array.from(data)
298
- ).map(c => this.normalize(c, options)
299
+ ).map(
300
+ c => this.normalize(c, options)
299
301
  ).filter(isNotUndefined)
300
302
  }
301
303
  }
@@ -389,7 +391,8 @@ export class ExternalReferenceNormalizer extends Base {
389
391
  options.sortLists ?? false
390
392
  ? data.sorted()
391
393
  : Array.from(data)
392
- ).map(r => this.normalize(r, options)
394
+ ).map(
395
+ r => this.normalize(r, options)
393
396
  ).filter(isNotUndefined)
394
397
  }
395
398
  }
@@ -33,7 +33,7 @@ export class JsonSerializer extends BaseSerializer<Normalized.Bom> {
33
33
  /**
34
34
  * @throws {UnsupportedFormatError} if {@see normalizerFactory.spec} does not support {@see Format.JSON}.
35
35
  */
36
- constructor (normalizerFactory: NormalizerFactory) {
36
+ constructor (normalizerFactory: JsonSerializer['normalizerFactory']) {
37
37
  if (!normalizerFactory.spec.supportsFormat(Format.JSON)) {
38
38
  throw new UnsupportedFormatError('Spec does not support JSON format.')
39
39
  }