UNPKG

@cyclonedx/cyclonedx-library

Version:

Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).

2 lines 153 kB
/*! For license information please see lib.js.LICENSE.txt */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CycloneDX_library=t():e.CycloneDX_library=t()}(self,()=>(()=>{"use strict";var e={1089(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.chainI=function*(...e){for(const t of e)for(const e of t)yield e}},48(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isNotUndefined=function(e){return void 0!==e}},1507(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SortableNumbers=t.SortableStringables=t.SortableComparables=t.SortableSet=t.compareObjectsSymbol=void 0,t.compareObjectsSymbol=Symbol("internal compare function");class r extends Set{sorted(){return Array.from(this).sort(this[t.compareObjectsSymbol])}compare(e){const r=e.sorted(),i=this.sorted();if(i.length!==r.length)return i.length-r.length;for(let e=i.length-1;e>=0;--e){const n=this[t.compareObjectsSymbol](i[e],r[e]);if(0!==n)return n}return 0}}t.SortableSet=r;class i extends r{[t.compareObjectsSymbol](e,t){return e.constructor===t.constructor?e.compare(t):e.constructor.name.localeCompare(t.constructor.name)}}t.SortableComparables=i;class n extends r{[t.compareObjectsSymbol](e,t){return e.toString().localeCompare(t.toString())}}t.SortableStringables=n;class o extends r{[t.compareObjectsSymbol](e,t){return e-t}}t.SortableNumbers=o},9027(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.treeIteratorSymbol=void 0,t.treeIteratorSymbol=Symbol("iterator of a tree/nesting-like structure")},7977(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUri=function(e){if(void 0===e)return e;for(const[t,i]of r)e=e.replace(t,i);return e};const r=[[/ /g,"%20"],[/"/g,"%22"],[/'/g,"%27"],[/\[/g,"%5B"],[/]/g,"%5D"],[/</g,"%3C"],[/>/g,"%3E"],[/\{/g,"%7B"],[/}/g,"%7D"]]},7840(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.OptPlugError=void 0;class r extends Error{cause;constructor(e,t){super(e),this.cause=t}}t.OptPlugError=r},7223(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Utils=void 0,t.Utils=s(r(9294))},9294(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.randomSerialNumber=function(){const e=[Math.round(65535*Math.random()),Math.round(65535*Math.random()),Math.round(65535*Math.random()),16384|Math.round(4095*Math.random()),32768|Math.round(16383*Math.random()),Math.round(65535*Math.random()),Math.round(65535*Math.random()),Math.round(65535*Math.random())].map(e=>e.toString(16).padStart(4,"0"));return`urn:uuid:${e[0]}${e[1]}-${e[2]}-${e[3]}-${e[4]}-${e[5]}${e[6]}${e[7]}`}},5879(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Bom=void 0,t.Bom=s(r(7223))},7294(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},a=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.License=void 0,s(r(5879),t),t.License=a(r(162))},6612(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseFactory=void 0;const i=r(7988),n=r(4317);t.LicenseFactory=class{#e;constructor(e){this.#e=e}makeFromString(e){try{return this.makeSpdxLicense(e)}catch{}try{return this.makeExpression(e)}catch{}return this.makeNamedLicense(e)}makeExpression(e){const t=String(e);try{this.#e(t)}catch(e){throw new RangeError("Invalid SPDX license expression",{cause:e})}return new i.LicenseExpression(t)}makeDisjunctive(e){try{return this.makeSpdxLicense(e)}catch{return this.makeNamedLicense(e)}}makeSpdxLicense(e){const t=(0,n.fixupSpdxId)(String(e));if(void 0===t)throw new RangeError("Unsupported SPDX license ID");return new i.SpdxLicense(t)}makeNamedLicense(e){return new i.NamedLicense(String(e))}}},9979(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Factories=void 0,t.Factories=s(r(6612))},162(e,t,r){var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(9979),t)},4277(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AttachmentEncoding=void 0,function(e){e.Base64="base64"}(r||(t.AttachmentEncoding=r={}))},2904(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentScope=void 0,function(e){e.Required="required",e.Optional="optional",e.Excluded="excluded"}(r||(t.ComponentScope=r={}))},5866(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentType=void 0,function(e){e.Application="application",e.Framework="framework",e.Library="library",e.Container="container",e.Platform="platform",e.OperatingSystem="operating-system",e.Device="device",e.DeviceDriver="device-driver",e.Firmware="firmware",e.File="file",e.MachineLearningModel="machine-learning-model",e.Data="data",e.CryptographicAsset="cryptographic-asset"}(r||(t.ComponentType=r={}))},3321(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalReferenceType=void 0,function(e){e.VCS="vcs",e.IssueTracker="issue-tracker",e.Website="website",e.Advisories="advisories",e.BOM="bom",e.MailingList="mailing-list",e.Social="social",e.Chat="chat",e.Documentation="documentation",e.Support="support",e.SourceDistribution="source-distribution",e.Distribution="distribution",e.DistributionIntake="distribution-intake",e.License="license",e.BuildMeta="build-meta",e.BuildSystem="build-system",e.ReleaseNotes="release-notes",e.SecurityContact="security-contact",e.ModelCard="model-card",e.Log="log",e.Configuration="configuration",e.Evidence="evidence",e.Formulation="formulation",e.Attestation="attestation",e.ThreatModel="threat-model",e.AdversaryModel="adversary-model",e.RiskAssessment="risk-assessment",e.VulnerabilityAssertion="vulnerability-assertion",e.ExploitabilityStatement="exploitability-statement",e.PentestReport="pentest-report",e.StaticAnalysisReport="static-analysis-report",e.DynamicAnalysisReport="dynamic-analysis-report",e.RuntimeAnalysisReport="runtime-analysis-report",e.ComponentAnalysisReport="component-analysis-report",e.MaturityReport="maturity-report",e.CertificationReport="certification-report",e.CodifiedInfrastructure="codified-infrastructure",e.QualityMetrics="quality-metrics",e.POAM="poam",e.ElectronicSignature="electronic-signature",e.DigitalSignature="digital-signature",e.RFC9116="rfc-9116",e.Citation="citation",e.Patent="patent",e.PatentAssertion="patent-assertion",e.PatentFamily="patent-family",e.Other="other"}(r||(t.ExternalReferenceType=r={}))},1525(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.HashAlgorithm=void 0,function(e){e.MD5="MD5",e["SHA-1"]="SHA-1",e["SHA-256"]="SHA-256",e["SHA-384"]="SHA-384",e["SHA-512"]="SHA-512",e["SHA3-256"]="SHA3-256",e["SHA3-384"]="SHA3-384",e["SHA3-512"]="SHA3-512",e["BLAKE2b-256"]="BLAKE2b-256",e["BLAKE2b-384"]="BLAKE2b-384",e["BLAKE2b-512"]="BLAKE2b-512",e.BLAKE3="BLAKE3",e["Streebog-256"]="Streebog-256",e["Streebog-512"]="Streebog-512"}(r||(t.HashAlgorithm=r={}))},857(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},a=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Vulnerability=void 0,s(r(4277),t),s(r(2904),t),s(r(5866),t),s(r(3321),t),s(r(1525),t),s(r(1688),t),s(r(7894),t),t.Vulnerability=a(r(4880))},1688(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseAcknowledgement=void 0,function(e){e.Declared="declared",e.Concluded="concluded"}(r||(t.LicenseAcknowledgement=r={}))},7894(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LifecyclePhase=void 0,function(e){e.Design="design",e.PreBuild="pre-build",e.Build="build",e.PostBuild="post-build",e.Operations="operations",e.Discovery="discovery",e.Decommission="decommission"}(r||(t.LifecyclePhase=r={}))},2253(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AffectStatus=void 0,function(e){e.Affected="affected",e.Unaffected="unaffected",e.Unknown="unknown"}(r||(t.AffectStatus=r={}))},1592(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AnalysisJustification=void 0,function(e){e.CodeNotPresent="code_not_present",e.CodeNotReachable="code_not_reachable",e.RequiresConfiguration="requires_configuration",e.RequiresDependency="requires_dependency",e.RequiresEnvironment="requires_environment",e.ProtectedByCompiler="protected_by_compiler",e.ProtectedAtRuntime="protected_at_runtime",e.ProtectedAtPerimeter="protected_at_perimeter",e.ProtectedByMitigatingControl="protected_by_mitigating_control"}(r||(t.AnalysisJustification=r={}))},9511(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.AnalysisResponseRepository=t.AnalysisResponse=void 0;const i=r(1507);var n;!function(e){e.CanNotFix="can_not_fix",e.WillNotFix="will_not_fix",e.Update="update",e.Rollback="rollback",e.WorkaroundAvailable="workaround_available"}(n||(t.AnalysisResponse=n={}));class o extends i.SortableStringables{}t.AnalysisResponseRepository=o},3087(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AnalysisState=void 0,function(e){e.Resolved="resolved",e.ResolvedWithPedigree="resolved_with_pedigree",e.Exploitable="exploitable",e.InTriage="in_triage",e.FalsePositive="false_positive",e.NotAffected="not_affected"}(r||(t.AnalysisState=r={}))},4880(e,t,r){var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(2253),t),n(r(1592),t),n(r(9511),t),n(r(3087),t),n(r(5486),t),n(r(4757),t)},5486(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.RatingMethod=void 0,function(e){e.CVSSv2="CVSSv2",e.CVSSv3="CVSSv3",e.CVSSv31="CVSSv31",e.CVSSv4="CVSSv4",e.OWASP="OWASP",e.SSVC="SSVC",e.Other="other"}(r||(t.RatingMethod=r={}))},4757(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Severity=void 0,function(e){e.Critical="critical",e.High="high",e.Medium="medium",e.Low="low",e.Info="info",e.None="none",e.Unknown="unknown"}(r||(t.Severity=r={}))},2229(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Types=t.Spec=t.SPDX=t.Models=t.Enums=void 0,t.Enums=s(r(857)),t.Models=s(r(8207)),t.SPDX=s(r(4317)),t.Spec=s(r(382)),t.Types=s(r(5170))},7288(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},a=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Validation=t.Serialize=t.Contrib=void 0,s(r(2229),t),t.Contrib=a(r(7294)),t.Serialize=a(r(9569)),t.Validation=a(r(1722))},7238(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Attachment=void 0,t.Attachment=class{contentType;content;encoding;constructor(e,t={}){this.contentType=t.contentType,this.content=e,this.encoding=t.encoding}}},5393(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.Bom=void 0;const i=r(9708),n=r(9064),o=r(734),s=r(8672),a=r(8768);t.Bom=class{metadata;components;services;vulnerabilities;#t=1;#r;constructor(e={}){this.metadata=e.metadata??new o.Metadata,this.components=e.components??new n.ComponentRepository,this.services=e.services??new s.ServiceRepository,this.version=e.version??this.version,this.vulnerabilities=e.vulnerabilities??new a.VulnerabilityRepository,this.serialNumber=e.serialNumber}get version(){return this.#t}set version(e){if(!(0,i.isPositiveInteger)(e))throw new TypeError("Not PositiveInteger");this.#t=e}get serialNumber(){return this.#r}set serialNumber(e){this.#r=""===e?void 0:e}}},3729(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BomLinkElement=t.BomLinkDocument=void 0;class r{#i;constructor(e){this.value=e}get value(){return this.#i}set value(e){if(!this._isValid(e))throw new RangeError("invalid value");this.#i=e}compare(e){return this.toString().localeCompare(e.toString())}toString(){return this.value}}class i extends r{static#n=/^urn:cdx:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[1-9][0-9]*$/;static isValid(e){return"string"==typeof e&&this.#n.test(e)}_isValid(e){return i.isValid(e)}}t.BomLinkDocument=i;class n extends r{static#n=/^urn:cdx:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\/[1-9][0-9]*#.+$/;static isValid(e){return"string"==typeof e&&this.#n.test(e)}_isValid(e){return n.isValid(e)}}t.BomLinkElement=n},1588(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BomRefRepository=t.BomRef=void 0,t.BomRef=class{value;constructor(e){this.value=e}compare(e){return this.toString().localeCompare(e.toString())}toString(){return this.value??""}};class r extends Set{}t.BomRefRepository=r},9064(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentEvidence=t.ComponentRepository=t.Component=void 0;const i=r(1507),n=r(9027),o=r(608),s=r(1588),a=r(3922),c=r(1791),l=r(2463),p=r(7988),m=r(4654);t.Component=class{type;name;author;copyright;description;externalReferences;group;hashes;licenses;publisher;purl;scope;supplier;swid;version;components;properties;evidence;#o;#s;dependencies;constructor(e,t,r={}){this.#o=new s.BomRef(r.bomRef),this.type=e,this.name=t,this.supplier=r.supplier,this.author=r.author,this.copyright=r.copyright,this.externalReferences=r.externalReferences??new c.ExternalReferenceRepository,this.group=r.group,this.hashes=r.hashes??new l.HashDictionary,this.licenses=r.licenses??new p.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.components=r.components??new u,this.cpe=r.cpe,this.properties=r.properties??new m.PropertyRepository,this.evidence=r.evidence,this.dependencies=r.dependencies??new s.BomRefRepository}get bomRef(){return this.#o}get cpe(){return this.#s}set cpe(e){if(void 0!==e&&!(0,o.isCPE)(e))throw new TypeError("Not CPE nor undefined");this.#s=e}compare(e){const t=this.bomRef.compare(e.bomRef);return 0!==t?t:void 0!==this.purl&&void 0!==e.purl?this.purl.localeCompare(e.purl):void 0!==this.#s&&void 0!==e.#s?this.#s.localeCompare(e.#s):(this.group??"").localeCompare(e.group??"")||this.name.localeCompare(e.name)||(this.version??"").localeCompare(e.version??"")}};class u extends i.SortableComparables{*[n.treeIteratorSymbol](){for(const e of this)yield e,yield*e.components[n.treeIteratorSymbol]()}}t.ComponentRepository=u,t.ComponentEvidence=class{licenses;copyright;constructor(e={}){this.licenses=e.licenses??new p.LicenseRepository,this.copyright=e.copyright??new a.CopyrightRepository}}},3922(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.CopyrightRepository=void 0;const i=r(1507);class n extends i.SortableStringables{}t.CopyrightRepository=n},1791(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalReferenceRepository=t.ExternalReference=void 0;const i=r(1507),n=r(2463);t.ExternalReference=class{url;type;hashes;comment;constructor(e,t,r={}){this.url=e,this.type=t,this.hashes=r.hashes??new n.HashDictionary,this.comment=r.comment}compare(e){return this.type.localeCompare(e.type)||this.url.toString().localeCompare(e.url.toString())}};class o extends i.SortableComparables{}t.ExternalReferenceRepository=o},2463(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.HashDictionary=void 0;class r extends Map{static#a([e,t],[r,i]){return e.localeCompare(r)||t.localeCompare(i)}sorted(){return Array.from(this.entries()).sort(r.#a)}}t.HashDictionary=r},8207(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},a=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Vulnerability=void 0,s(r(7238),t),s(r(5393),t),s(r(3729),t),s(r(1588),t),s(r(9064),t),s(r(3922),t),s(r(1791),t),s(r(2463),t),s(r(7988),t),s(r(4799),t),s(r(734),t),s(r(4477),t),s(r(6258),t),s(r(4654),t),s(r(8672),t),s(r(2632),t),s(r(7645),t),t.Vulnerability=a(r(4970))},7988(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.LicenseRepository=t.SpdxLicense=t.NamedLicense=t.LicenseExpression=void 0;const i=r(4654);t.LicenseExpression=class{#c;acknowledgement;constructor(e){this.expression=e}get expression(){return this.#c}set expression(e){if(""===e)throw new RangeError("value is empty string");this.#c=e}compare(e){return this.#c.localeCompare(e.#c)}};class n{acknowledgement;text;#l;properties;constructor(e={}){this.acknowledgement=e.acknowledgement,this.text=e.text,this.url=e.url,this.properties=e.properties??new i.PropertyRepository}get url(){return this.#l}set url(e){this.#l=""===e?void 0:e}}t.NamedLicense=class extends n{name;constructor(e,t={}){super(t),this.name=e}compare(e){return this.name.localeCompare(e.name)}},t.SpdxLicense=class extends n{#p;constructor(e,t={}){super(t),this.id=e}get id(){return this.#p}set id(e){if(""===e)throw new RangeError("value is empty string");this.#p=e}compare(e){return this.#p.localeCompare(e.#p)}};class o extends Set{static#a(e,t){return e.constructor===t.constructor?e.compare(t):e.constructor.name.localeCompare(t.constructor.name)}sorted(){return Array.from(this).sort(o.#a)}}t.LicenseRepository=o},4799(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.LifecycleRepository=t.NamedLifecycle=void 0;class r{name;description;constructor(e,t={}){this.name=e,this.description=t.description}compare(e){return this.name.localeCompare(e.name)}}t.NamedLifecycle=r;class i extends Set{static#a(e,t){return e.constructor===t.constructor?e instanceof r?e.compare(t):e.localeCompare(t):e.constructor.name.localeCompare(t.constructor.name)}sorted(){return Array.from(this).sort(i.#a)}}t.LifecycleRepository=i},734(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.Metadata=void 0;const i=r(7988),n=r(4799),o=r(4477),s=r(4654),a=r(7645);t.Metadata=class{timestamp;lifecycles;tools;authors;component;manufacture;supplier;licenses;properties;constructor(e={}){this.timestamp=e.timestamp,this.lifecycles=e.lifecycles??new n.LifecycleRepository,this.tools=e.tools??new a.Tools,this.authors=e.authors??new o.OrganizationalContactRepository,this.component=e.component,this.manufacture=e.manufacture,this.supplier=e.supplier,this.licenses=e.licenses??new i.LicenseRepository,this.properties=e.properties??new s.PropertyRepository}}},4477(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.OrganizationalContactRepository=t.OrganizationalContact=void 0;const i=r(1507);t.OrganizationalContact=class{name;email;phone;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 i.SortableComparables{}t.OrganizationalContactRepository=n},6258(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.OrganizationalEntityRepository=t.OrganizationalEntity=void 0;const i=r(1507),n=r(4477);t.OrganizationalEntity=class{name;url;contact;constructor(e={}){this.name=e.name,this.url=e.url??new Set,this.contact=e.contact??new n.OrganizationalContactRepository}compare(e){return(this.name??"").localeCompare(e.name??"")||this.contact.compare(e.contact)||new i.SortableStringables(this.url).compare(new i.SortableStringables(e.url))}};class o extends i.SortableComparables{}t.OrganizationalEntityRepository=o},4654(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.PropertyRepository=t.Property=void 0;const i=r(1507);t.Property=class{name;value;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 i.SortableComparables{}t.PropertyRepository=n},8672(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceRepository=t.Service=void 0;const i=r(1507),n=r(9027),o=r(1588),s=r(1791),a=r(7988),c=r(4654);t.Service=class{provider;group;name;version;description;licenses;externalReferences;services;properties;#o;dependencies;constructor(e,t={}){this.#o=new o.BomRef(t.bomRef),this.provider=t.provider,this.group=t.group,this.name=e,this.version=t.version,this.description=t.description,this.licenses=t.licenses??new a.LicenseRepository,this.externalReferences=t.externalReferences??new s.ExternalReferenceRepository,this.services=t.services??new l,this.properties=t.properties??new c.PropertyRepository,this.dependencies=t.dependencies??new o.BomRefRepository}get bomRef(){return this.#o}compare(e){const t=this.bomRef.compare(e.bomRef);return 0!==t?t:(this.group??"").localeCompare(e.group??"")||this.name.localeCompare(e.name)||(this.version??"").localeCompare(e.version??"")}};class l extends i.SortableComparables{*[n.treeIteratorSymbol](){for(const e of this)yield e,yield*e.services[n.treeIteratorSymbol]()}}t.ServiceRepository=l},2632(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.SWID=void 0;const i=r(9708);t.SWID=class{tagId;name;version;patch;text;url;#m;constructor(e,t,r={}){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 this.#m}set tagVersion(e){if(void 0!==e&&!(0,i.isNonNegativeInteger)(e))throw new TypeError("Not NonNegativeInteger nor undefined");this.#m=e}}},7645(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.Tools=t.ToolRepository=t.Tool=void 0;const i=r(1507),n=r(9064),o=r(1791),s=r(2463),a=r(8672);class c{vendor;name;version;hashes;externalReferences;constructor(e={}){this.vendor=e.vendor,this.name=e.name,this.version=e.version,this.hashes=e.hashes??new s.HashDictionary,this.externalReferences=e.externalReferences??new o.ExternalReferenceRepository}compare(e){return(this.vendor??"").localeCompare(e.vendor??"")||(this.name??"").localeCompare(e.name??"")||(this.version??"").localeCompare(e.version??"")}static fromComponent(e){return new c({vendor:e.group,name:e.name,version:e.version,hashes:e.hashes,externalReferences:e.externalReferences})}static fromService(e){return new c({vendor:e.group,name:e.name,version:e.version,externalReferences:e.externalReferences})}}t.Tool=c;class l extends i.SortableComparables{}t.ToolRepository=l,t.Tools=class{components;services;tools;constructor(e={}){this.components=e.components??new n.ComponentRepository,this.services=e.services??new a.ServiceRepository,this.tools=e.tools??new l}get size(){return this.components.size+this.services.size+this.tools.size}}},3327(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.AdvisoryRepository=t.Advisory=void 0;const i=r(1507);t.Advisory=class{title;url;constructor(e,t={}){this.url=e,this.title=t.title}compare(e){return this.url.toString().localeCompare(e.url.toString())||(this.title??"").localeCompare(e.title??"")}};class n extends i.SortableComparables{}t.AdvisoryRepository=n},785(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.AffectedVersionRepository=t.AffectedVersionRange=t.AffectedSingleVersion=t.AffectRepository=t.Affect=void 0;const i=r(1507);t.Affect=class{ref;versions;constructor(e,t={}){this.ref=e,this.versions=t.versions??new o}compare(e){return this.ref.compare(e.ref)||this.versions.compare(e.versions)}};class n extends i.SortableComparables{}t.AffectRepository=n,t.AffectedSingleVersion=class{version;status;constructor(e,t={}){this.version=e,this.status=t.status}compare(e){return this.version.localeCompare(e.version)||(this.status??"").localeCompare(e.status??"")}},t.AffectedVersionRange=class{range;status;constructor(e,t={}){this.range=e,this.status=t.status}compare(e){return this.range.localeCompare(e.range)||(this.status??"").localeCompare(e.status??"")}};class o extends i.SortableComparables{}t.AffectedVersionRepository=o},930(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.Analysis=void 0;const i=r(9511);t.Analysis=class{state;justification;response;detail;constructor(e={}){this.state=e.state,this.justification=e.justification,this.response=e.response??new i.AnalysisResponseRepository,this.detail=e.detail}}},3668(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.Credits=void 0;const i=r(4477),n=r(6258);t.Credits=class{organizations;individuals;constructor(e={}){this.organizations=e.organizations??new n.OrganizationalEntityRepository,this.individuals=e.individuals??new i.OrganizationalContactRepository}}},4970(e,t,r){var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(3327),t),n(r(785),t),n(r(930),t),n(r(3668),t),n(r(2569),t),n(r(9803),t),n(r(625),t),n(r(8768),t)},2569(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.RatingRepository=t.Rating=void 0;const i=r(1507);t.Rating=class{source;score;severity;method;vector;justification;constructor(e={}){this.source=e.source,this.score=e.score,this.severity=e.severity,this.method=e.method,this.vector=e.vector,this.justification=e.justification}compare(e){return(this.score??0)-(e.score??0)||(this.vector??"").localeCompare(e.vector??"")||(this.justification??"").localeCompare(e.justification??"")||(this.severity??"").localeCompare(e.severity??"")||(this.method??"").localeCompare(e.method??"")||(this.source&&e.source?this.source.compare(e.source):0)}};class n extends i.SortableComparables{}t.RatingRepository=n},9803(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.ReferenceRepository=t.Reference=void 0;const i=r(1507);t.Reference=class{id;source;constructor(e,t){this.id=e,this.source=t}compare(e){return this.id.localeCompare(e.id)||this.source.compare(e.source)}};class n extends i.SortableComparables{}t.ReferenceRepository=n},625(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0,t.Source=class{name;url;constructor(e={}){this.name=e.name,this.url=e.url}compare(e){return(this.url?.toString()??"").localeCompare(e.url?.toString()??"")||(this.name??"").localeCompare(e.name??"")}}},8768(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.VulnerabilityRepository=t.Vulnerability=void 0;const i=r(1507),n=r(759),o=r(1588),s=r(4654),a=r(7645),c=r(3327),l=r(785),p=r(2569),m=r(9803);t.Vulnerability=class{#o;id;source;references;ratings;cwes;description;detail;recommendation;advisories;created;published;updated;credits;tools;analysis;affects;properties;constructor(e={}){this.#o=new o.BomRef(e.bomRef),this.id=e.id,this.source=e.source,this.references=e.references??new m.ReferenceRepository,this.ratings=e.ratings??new p.RatingRepository,this.cwes=e.cwes??new n.CweRepository,this.description=e.description,this.detail=e.detail,this.recommendation=e.recommendation,this.advisories=e.advisories??new c.AdvisoryRepository,this.created=e.created,this.published=e.published,this.updated=e.updated,this.credits=e.credits,this.tools=e.tools??new a.Tools,this.analysis=e.analysis,this.affects=e.affects??new l.AffectRepository,this.properties=e.properties??new s.PropertyRepository}get bomRef(){return this.#o}compare(e){const t=this.bomRef.compare(e.bomRef);return 0!==t?t:(this.id??"").localeCompare(e.id??"")||(this.created?.getTime()??0)-(e.created?.getTime()??0)||(this.published?.getTime()??0)-(e.published?.getTime()??0)||(this.updated?.getTime()??0)-(e.updated?.getTime()??0)||this.ratings.compare(e.ratings)||this.cwes.compare(e.cwes)||(this.description??"").localeCompare(e.description??"")||(this.detail??"").localeCompare(e.detail??"")||(this.recommendation??"").localeCompare(e.recommendation??"")||(this.source&&e.source?this.source.compare(e.source):0)||this.properties.compare(e.properties)}};class u extends i.SortableComparables{}t.VulnerabilityRepository=u},8352(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.BaseSerializer=void 0;const i=r(9027),n=r(7676);t.BaseSerializer=class{*#u(e){if(void 0!==e.metadata.component){yield e.metadata.component.bomRef;for(const{bomRef:t}of e.metadata.component.components[i.treeIteratorSymbol]())yield t}for(const{bomRef:t}of e.components[i.treeIteratorSymbol]())yield t;for(const{bomRef:t}of e.services[i.treeIteratorSymbol]())yield t;for(const{bomRef:t}of e.vulnerabilities)yield t}#d(e,t){const r=new n.BomRefDiscriminator(this.#u(e));r.discriminate();try{return this._normalize(e,t)}finally{r.reset()}}serialize(e,t){return this._serialize(this.#d(e,t),t)}}},7676(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BomRefDiscriminator=void 0;class r{#f;#L;constructor(e,t="BomRef"){this.#f=Array.from(e,e=>[e,e.value]),this.#L=t}get prefix(){return this.#L}*[Symbol.iterator](){for(const[e]of this.#f)yield e}discriminate(){const e=new Set([""]);for(const[t]of this.#f){let r=t.value;(void 0===r||e.has(r))&&(r=this.#h(),t.value=r),e.add(r)}}reset(){for(const[e,t]of this.#f)e.value=t}#h(){return`${this.#L}${Math.random().toString(32).substring(1)}${Math.random().toString(32).substring(1)}`}}t.BomRefDiscriminator=r},8070(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingOptionalDependencyError=void 0;const i=r(7840);class n extends i.OptPlugError{}t.MissingOptionalDependencyError=n},94(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},a=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.XML=t.JSON=t.Types=void 0,s(r(7676),t),s(r(8070),t),t.Types=a(r(8440)),s(r(8352),t),t.JSON=a(r(4212)),s(r(8127),t),t.XML=a(r(1007)),s(r(4889),t)},9569(e,t,r){var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(94),t),n(r(204),t)},4212(e,t,r){var i,n=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&n(t,e,r[s]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Types=t.Normalize=void 0,t.Normalize=s(r(1723)),t.Types=s(r(3349))},1723(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.VulnerabilityAnalysisNormalizer=t.VulnerabilityAffectedVersionNormalizer=t.VulnerabilityAffectNormalizer=t.VulnerabilityCreditsNormalizer=t.VulnerabilityAdvisoryNormalizer=t.VulnerabilityRatingNormalizer=t.VulnerabilityReferenceNormalizer=t.VulnerabilitySourceNormalizer=t.VulnerabilityNormalizer=t.DependencyGraphNormalizer=t.PropertyNormalizer=t.AttachmentNormalizer=t.ExternalReferenceNormalizer=t.SWIDNormalizer=t.LicenseNormalizer=t.ComponentEvidenceNormalizer=t.ServiceNormalizer=t.ComponentNormalizer=t.OrganizationalEntityNormalizer=t.OrganizationalContactNormalizer=t.HashNormalizer=t.ToolsNormalizer=t.ToolNormalizer=t.LifecycleNormalizer=t.MetadataNormalizer=t.BomNormalizer=t.Factory=void 0;const i=r(1089),n=r(48),o=r(9027),s=r(7977),a=r(7988),c=r(4799),l=r(7645),p=r(785),m=r(4317),u=r(4196),d=r(3349);t.Factory=class{#y;constructor(e){this.#y=e}get spec(){return this.#y}makeForBom(){return new h(this)}makeForMetadata(){return new y(this)}makeForComponent(){return new A(this)}makeForService(){return new x(this)}makeForComponentEvidence(){return new D(this)}makeForLifecycle(){return new v(this)}makeForTool(){return new S(this)}makeForTools(){return new C(this)}makeForOrganizationalContact(){return new P(this)}makeForOrganizationalEntity(){return new g(this)}makeForHash(){return new b(this)}makeForLicense(){return new N(this)}makeForSWID(){return new O(this)}makeForExternalReference(){return new R(this)}makeForAttachment(){return new z(this)}makeForProperty(){return new T(this)}makeForDependencyGraph(){return new M(this)}makeForVulnerability(){return new F(this)}makeForVulnerabilitySource(){return new E(this)}makeForVulnerabilityReference(){return new _(this)}makeForVulnerabilityRating(){return new w(this)}makeForVulnerabilityAdvisory(){return new I(this)}makeForVulnerabilityCredits(){return new B(this)}makeForVulnerabilityAffect(){return new G(this)}makeForVulnerabilityAffectedVersion(){return new k(this)}makeForVulnerabilityAnalysis(){return new H(this)}};const f=new Map([[u.Version.v1dot7,"http://cyclonedx.org/schema/bom-1.7.schema.json"],[u.Version.v1dot6,"http://cyclonedx.org/schema/bom-1.6.schema.json"],[u.Version.v1dot5,"http://cyclonedx.org/schema/bom-1.5.schema.json"],[u.Version.v1dot4,"http://cyclonedx.org/schema/bom-1.4.schema.json"],[u.Version.v1dot3,"http://cyclonedx.org/schema/bom-1.3a.schema.json"],[u.Version.v1dot2,"http://cyclonedx.org/schema/bom-1.2b.schema.json"]]);class L{_factory;constructor(e){this._factory=e}get factory(){return this._factory}}class h extends L{normalize(e,t){return{$schema:f.get(this._factory.spec.version),bomFormat:"CycloneDX",specVersion:this._factory.spec.version,version:e.version,serialNumber:this.#v(e.serialNumber)?e.serialNumber:void 0,metadata:this._factory.makeForMetadata().normalize(e.metadata,t),components:e.components.size>0?this._factory.makeForComponent().normalizeIterable(e.components,t):[],services:this._factory.spec.supportsServices&&e.services.size>0?this._factory.makeForService().normalizeIterable(e.services,t):void 0,dependencies:this._factory.spec.supportsDependencyGraph?this._factory.makeForDependencyGraph().normalize(e,t):void 0,vulnerabilities:this._factory.spec.supportsVulnerabilities&&e.vulnerabilities.size>0?this._factory.makeForVulnerability().normalizeIterable(e.vulnerabilities,t):void 0}}#v(e){return void 0!==e&&/^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(e)}}t.BomNormalizer=h;class y extends L{normalize(e,t){const r=this._factory.makeForOrganizationalEntity();return{timestamp:e.timestamp?.toISOString(),lifecycles:this._factory.spec.supportsMetadataLifecycles&&e.lifecycles.size>0?this._factory.makeForLifecycle().normalizeIterable(e.lifecycles,t):void 0,tools:e.tools.size>0?this._factory.makeForTools().normalize(e.tools,t):void 0,authors:e.authors.size>0?this._factory.makeForOrganizationalContact().normalizeIterable(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),licenses:this._factory.spec.supportsMetadataLicenses&&e.licenses.size>0?this._factory.makeForLicense().normalizeIterable(e.licenses,t):void 0,properties:this._factory.spec.supportsMetadataProperties&&e.properties.size>0?this._factory.makeForProperty().normalizeIterable(e.properties,t):void 0}}}t.MetadataNormalizer=y;class v extends L{normalize(e,t){return e instanceof c.NamedLifecycle?{name:e.name,description:e.description}:{phase:e}}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t))}}t.LifecycleNormalizer=v;class S extends L{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().normalizeIterable(e.hashes,t):void 0,externalReferences:this._factory.spec.supportsToolReferences&&e.externalReferences.size>0?this._factory.makeForExternalReference().normalizeIterable(e.externalReferences,t):void 0}}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t))}}t.ToolNormalizer=S;class C extends L{normalize(e,t){return e.tools.size>0||!this._factory.spec.supportsToolsComponentsServices?this._factory.makeForTool().normalizeIterable(new l.ToolRepository((0,i.chainI)(Array.from(e.components,l.Tool.fromComponent),Array.from(e.services,l.Tool.fromService),e.tools)),t):{components:e.components.size>0?this._factory.makeForComponent().normalizeIterable(e.components,t):void 0,services:e.services.size>0?this._factory.makeForService().normalizeIterable(e.services,t):void 0}}}t.ToolsNormalizer=C;class b extends L{normalize([e,t],r){const i=this._factory.spec;return i.supportsHashAlgorithm(e)&&i.supportsHashValue(t)?{alg:e,content:t}:void 0}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t)).filter(n.isNotUndefined)}}t.HashNormalizer=b;class P extends L{normalize(e,t){return{name:e.name||void 0,email:d.JsonSchema.isIdnEmail(e.email)?e.email:void 0,phone:e.phone||void 0}}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t))}}t.OrganizationalContactNormalizer=P;class g extends L{normalize(e,t){const r=U(Array.from(e.url,e=>(0,s.escapeUri)(e.toString())),t).filter(d.JsonSchema.isIriReference);return{name:e.name||void 0,url:r.length>0?r:void 0,contact:e.contact.size>0?this._factory.makeForOrganizationalContact().normalizeIterable(e.contact,t):void 0}}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t))}}t.OrganizationalEntityNormalizer=g;class A extends L{normalize(e,t){const r=this._factory.spec;if(!r.supportsComponentType(e.type))return;const i=e.version??"";return{type:e.type,name:e.name,group:e.group||void 0,version:i.length>0||r.requiresComponentVersion?i: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().normalizeIterable(e.hashes,t):void 0,licenses:e.licenses.size>0?this._factory.makeForLicense().normalizeIterable(e.licenses,t):void 0,copyright:e.copyright?.toString()||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().normalizeIterable(e.externalReferences,t):void 0,properties:r.supportsProperties(e)&&e.properties.size>0?this._factory.makeForProperty().normalizeIterable(e.properties,t):void 0,components:e.components.size>0?this.normalizeIterable(e.components,t):void 0,evidence:r.supportsComponentEvidence&&void 0!==e.evidence?this._factory.makeForComponentEvidence().normalize(e.evidence,t):void 0}}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t)).filter(n.isNotUndefined)}}t.ComponentNormalizer=A;class x extends L{normalize(e,t){const r=this._factory.spec;return{"bom-ref":e.bomRef.value||void 0,provider:e.provider?this._factory.makeForOrganizationalEntity().normalize(e.provider,t):void 0,group:e.group,name:e.name,version:e.version||void 0,description:e.description||void 0,licenses:e.licenses.size>0?this._factory.makeForLicense().normalizeIterable(e.licenses,t):void 0,externalReferences:e.externalReferences.size>0?this._factory.makeForExternalReference().normalizeIterable(e.externalReferences,t):void 0,services:e.services.size>0?this._factory.makeForService().normalizeIterable(e.services,t):void 0,properties:r.supportsProperties(e)&&e.properties.size>0?this._factory.makeForProperty().normalizeIterable(e.properties,t):void 0}}normalizeIterable(e,t){return(t.sortLists?e.sorted():Array.from(e)).map(e=>this.normalize(e,t))}}t.ServiceNormalizer=x;class D extends L{normalize(e,t){return{licenses:e.licenses.size>0?this._factory.makeForLicense().normalizeIterable(e.licenses,t):void 0,copyright:e.copyright.size>0?t.sortLists?e.copyright.sorted().map(D.#S):Array.from(e.copyright,D.#S):void 0}}static#S(e){return{text:e.toString()}}}t.ComponentEvidenceNormalizer=D;class N extends L{normalize(e,t){switch(!0){case e instanceof a.NamedLicense:return this.#C(e,t);case e instanceof a.SpdxLicense:return(0,m.isSupportedSpdxId)(e.id)?this.#b(e,t):this.#C(new a.NamedLicense(e.id,{url:e.url}),t);case e instanceof a.LicenseExpression:return this.#P(e);default:throw new TypeError("Unexpected LicenseChoice")}}#C(e,t){const r=this._factory.spec,i=(0,s.escapeUri)(e.url?.toString());return{license:{name:e.name,acknowledgement:r.supportsLicenseAcknowledgement?e.acknowledgement:void 0,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:d.JsonSchema.isIriReference(i)?i:void 0,properties:r.supportsProperties(e)&&e.properties.size>0?this._factory.makeForProperty().normalizeIterable(e.properties,t):void 0}}}#b(e,t){const r=this._factory.spec,i=(0,s.escapeUri)(e.url?.toString());return{license:{id:e.id,acknowledgement:r.supportsLicenseAcknowledgement?e.acknowledgement:void 0,text:void 0===e.text?void 0:this._factory.makeForAttachment().normalize(e.text,t),url:d.JsonSchema.isIriReference(i)?i:void 0,properties:r.supportsProperties(e)&&e.properties.size>0?this._factory.makeForProperty().normalizeIterable(e.properties,t):void 0}}}#P(e){return{expression:e.expression,acknowledgement:this._factory.spec.supportsLicenseAcknowledgement?e.acknowledgement:void 0}}normalizeIterable(e,t){const r=t.sortLists?e.sorted():Array.from(e);if(r.length>1){const e=r.filter(e=>e instanceof a.LicenseExpression);if(e.length>0)return[this.#P(e[0])]}return r.map(e=>this.normalize(e,t))}}t.LicenseNormalizer=N;class O extends L{normalize(e,t){const r=(0,s.escapeUri)(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:d.JsonSchema.isIriReference(r)?r:void 0}}}t.SWIDNormalizer=O;class R extends L{normalize(e,t){return this._factory.spec.supportsExternalReferenceType(e.type)?{url:(0,s.escapeUri)(e.url.toString()),type:e.type,hash