fixparser 5.3.5 → 5.3.6
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.
package/build/cjs/FIXServer.js
CHANGED
|
@@ -1832,7 +1832,7 @@ Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0`,adde
|
|
|
1832
1832
|
Dx = tenor expression for "days", e.g. "D5", where "x" is any integer > 0
|
|
1833
1833
|
Mx = tenor expression for "months", e.g. "M3", where "x" is any integer > 0
|
|
1834
1834
|
Wx = tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0
|
|
1835
|
-
Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0`,Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"Tenor"},{Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:100,Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved100Plus"},{Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:1e3,Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved1000Plus"},{Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:4e3,Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved4000Plus"},{Description:"Contains an XML document raw data with no format or content restrictions. XMLData fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH).",added:"FIX.5.0",BaseType:"String",XML:{Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"XMLData"},{Description:"Identifier for a national language - uses ISO 639-1 standard",added:"FIX.5.0SP1",BaseType:"String",XML:{Base:"xs:language",BuiltIn:1},Example:"en (English), es (spanish), etc.",addedEP:90,Name:"Language"}];var Cr=class{name=null;baseType=null;description=null;added=null;constructor(){this.reset()}reset(){this.name=null,this.baseType=null,this.description=null,this.added=null}setType(e){this.name=e.Name,this.baseType=e.BaseType,this.description=e.Description,this.added=e.added}};var Er=class{dataTypes=Nm;cacheMap=new Map;cacheTypeMap=new Map;fieldType=new Cr;constructor(){this.dataTypes.forEach(e=>{this.cacheMap.set(e.Name,e)}),this.cacheTypeMap.set("int",parseInt),this.cacheTypeMap.set("Length",parseInt),this.cacheTypeMap.set("TagNum",parseInt),this.cacheTypeMap.set("SeqNum",parseInt),this.cacheTypeMap.set("NumInGroup",parseInt),this.cacheTypeMap.set("DayOfMonth",parseInt),this.cacheTypeMap.set("float",parseFloat),this.cacheTypeMap.set("Qty",parseFloat),this.cacheTypeMap.set("Price",parseFloat),this.cacheTypeMap.set("PriceOffset",parseFloat),this.cacheTypeMap.set("Amt",parseFloat),this.cacheTypeMap.set("Percentage",parseFloat),this.cacheTypeMap.set("char",String),this.cacheTypeMap.set("Boolean",String),this.cacheTypeMap.set("String",String),this.cacheTypeMap.set("MultipleCharValue",String),this.cacheTypeMap.set("MultipleStringValue",String),this.cacheTypeMap.set("Country",String),this.cacheTypeMap.set("Currency",String),this.cacheTypeMap.set("Exchange",String),this.cacheTypeMap.set("MonthYear",String),this.cacheTypeMap.set("UTCTimestamp",String),this.cacheTypeMap.set("UTCTimeOnly",String),this.cacheTypeMap.set("UTCDateOnly",String),this.cacheTypeMap.set("LocalMktDate",String),this.cacheTypeMap.set("TZTimeOnly",String),this.cacheTypeMap.set("TZTimestamp",String),this.cacheTypeMap.set("data",String),this.cacheTypeMap.set("XMLData",String),this.cacheTypeMap.set("Language",String),this.cacheTypeMap.set("Pattern",String),this.cacheTypeMap.set("Tenor",String),this.cacheTypeMap.set("Reserved100Plus",String),this.cacheTypeMap.set("Reserved1000Plus",String),this.cacheTypeMap.set("Reserved4000Plus",String)}processDatatype(e,d){this.fieldType.reset();let i=this.cacheMap.get(d);i&&(this.fieldType.setType(i),e.setType(this.fieldType),d==="int"||d==="Length"||d==="TagNum"||d==="SeqNum"||d==="NumInGroup"||d==="DayOfMonth"?e.setValue(Number(e.value)):(d==="float"||d==="Qty"||d==="Price"||d==="PriceOffset"||d==="Amt"||d==="Percentage")&&e.setValue(parseFloat(e.value)))}};var Cm=[{DisplayOrder:0,Description:"Session level messages to establish and control a FIX session",Volume:"FIXT.1.1",FIXMLFileName:"session",NotReqXML:1,SectionID:"Session",Name:"Session"},{DisplayOrder:1,Description:"Pre trade messages including reference data, market data, quoting, news and email, indication of interest",Volume:"3",FIXMLFileName:"pretrade",NotReqXML:0,SectionID:"PreTrade",Name:"PreTrade"},{DisplayOrder:2,Description:"Order handling and execution messages",Volume:"4",FIXMLFileName:"trade",NotReqXML:0,SectionID:"Trade",Name:"Trade"},{DisplayOrder:3,Description:"Post trade messages including trade reporting, allocation, collateral, confirmation, position maintenance, registration instruction, and settlement instructions",Volume:"5",FIXMLFileName:"posttrade",NotReqXML:0,SectionID:"PostTrade",Name:"PostTrade"},{DisplayOrder:4,Description:"Infrastructure messages for application sequencing, business reject, network and user management",Volume:"1",FIXMLFileName:"infrastructure",NotReqXML:0,SectionID:"Infrastructure",Name:"Infrastructure"}];var Ar=class{sectionID=null;name=null;displayOrder=null;volume=null;notReqXML=null;fixmlFileName=null;description=null;reset(){this.sectionID=null,this.name=null,this.displayOrder=null,this.volume=null,this.notReqXML=null,this.fixmlFileName=null,this.description=null}setSection(e){this.sectionID=e.SectionID,this.name=e.Name,this.displayOrder=e.DisplayOrder,this.volume=e.Volume,this.notReqXML=e.NotReqXML===1,this.fixmlFileName=e.FIXMLFileName,this.description=e.Description}};var Rr=class{sections=Cm;cacheMap=new Map;sectionType=new Ar;constructor(){this.sections.forEach(e=>{this.cacheMap.set(e.SectionID,e)})}processSection(e,d){this.sectionType.reset();let i=this.cacheMap.get(d);i&&(this.sectionType.setSection(i),e.setSection(this.sectionType))}};var Mr=class{fields=xm;cacheMap=new Map;messages=new Pr;categories=new Nr;sections=new Rr;dataTypes=new Er;constructor(){this.fields.forEach(e=>{this.cacheMap.set(Number(e.Tag)>>0,e)})}processField(e,d){let i=this.cacheMap.get(d.tag);i?(d.tag===35&&this.messages.setMessageType(e,d),d.tag===34&&this.messages.setMessageSequence(e,Number(d.value)),d.setName(i.Name),d.setDescription(i.Description),i.BaseCategory&&(this.categories.processCategory(d,i.BaseCategory),d.category.sectionID&&this.sections.processSection(d,d.category.sectionID)),this.dataTypes.processDatatype(d,i.Type)):(d.setType(null),d.setValue(d.value))}};var Wo=Qn(Zg());var Ip={version:"5.3.5",build:"2022-11-23T19:56:45.405Z"},sn="FIX.5.0SP2",Ko=30,Na="",Jg="=",e4=/[.*+?^${}()|[\]\\]/g,t4=/8=FIXT?\.\d\.\d([^\d]+)/i,Ca=100,Ea={enabled:!0},H0=()=>{let t=new Date;return`${t.toLocaleString("en-us",{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/(\d+)\/(\d+)\/(\d+)/,"$3$1$2")}-${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padEnd(9,"0")}`},_e=(...t)=>Ea.enabled?console.log(`[${H0()}]`,...t):null,ci=(...t)=>Ea.enabled?console.warn(`[${H0()}]`,...t):null,Yt=(...t)=>Ea.enabled?console.error(`[${H0()}]`,...t):null;var On=(t,e)=>{let d=`00${t}`;return d.substr(d.length-e)},ov=t=>{let e=t.getTimezoneOffset()*6e4;return t.setTime(t.getTime()+e),t},d4=t=>{isNaN(t.getTime())&&Yt("Invalid date specified!");let e=ov(t);return`${e.getFullYear()}${On(e.getMonth()+1,2)}${On(e.getDate(),2)}-${On(e.getHours(),2)}:${On(e.getMinutes(),2)}:${On(e.getSeconds(),2)}.${On(e.getMilliseconds(),3)}`};var sv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rv=t=>{let e=sv.indexOf(t);return e<0?void 0:e},K0=t=>{let e=`${t}`;if(e=e.replace(/[ \t\n\f\r]/g,""),e.length%4===0&&(e=e.replace(/==?$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return null;let d="",i=0,a=0;return[...e].forEach(o=>{i<<=6,i|=rv(o),a+=6,a===24&&(d+=String.fromCharCode((i&16711680)>>16),d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255),i=a=0)}),a===12?(i>>=4,d+=String.fromCharCode(i)):a===18&&(i>>=2,d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255)),d};var cv=t=>t==null||t.length===0,st=class{static validateLicense(){return st.licenseProcessing||st.licenseKeyId?!0:(st.outputInvalidLicenseKey(),!1)}static formatDate(e){let d=["January","February","March","April","May","June","July","August","September","October","November","December"],i=e.getDate(),a=e.getMonth(),o=e.getFullYear();return`${i} ${d[a]} ${o}`}static getReleaseDate(){return new Date(parseInt(K0(st.RELEASE_INFORMATION),10))}static async setLicenseKey(e){if(!st.licenseProcessing){if(st.licenseProcessing=!0,st.licenseKey=e,cv(st.licenseKey))st.outputMissingLicenseKey();else try{let d=await(0,Wo.readKey)({armoredKey:st.PUBLIC_KEY}),i=await(0,Wo.readCleartextMessage)({cleartextMessage:K0(st.licenseKey)}),a=await(0,Wo.verify)({message:i,verificationKeys:d}),{verified:o,keyID:s}=a.signatures[0];await o;let[,,r,p]=i.getText().split("|");st.validateKey(s.toHex(),Number(r),p==="true")}catch{st.outputInvalidLicenseKey(),st.licenseProcessing=!1;return}return Promise.resolve()}}static validateKey(e,d,i){let a=st.getReleaseDate(),o=new Date(d),s=!1,r=!1;if(isNaN(o.getTime())||(s=!0,r=a<o),s){if(!r){let p=st.formatDate(o),c=st.formatDate(a);return st.outputIncompatibleVersion(p,c),!1}}else return st.outputInvalidLicenseKey(),!1;return st.licenseKeyId=e,st.licenseProcessing=!1,st.licenseExpiry=st.formatDate(o),st.licenseIsTrial=i,st.outputValidLicense(),!0}static outputValidLicense(){_e(`[FIXParser Enterprise ${st.licenseIsTrial?"TRIAL ":""}License] - Valid until ${st.licenseExpiry}`)}static outputInvalidLicenseKey(){console.error("********************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *********************************************"),console.error("********************************************** Invalid License *****************************************************"),console.error("* -- Access to this feature requires license for FIXParser Enterprise -- *"),console.error("* Your license for FIXParser Enterprise is not valid - please contact info@fixparser.io to obtain a valid license. *"),console.error("********************************************************************************************************************"),console.error("********************************************************************************************************************")}static outputMissingLicenseKey(){console.error("******************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *******************************************"),console.error("******************************************* License Key Not Found ************************************************"),console.error("* Please visit https://fixparser.io to purchase a FIXParser Enterprise license *"),console.error("******************************************************************************************************************"),console.error("******************************************************************************************************************")}static outputIncompatibleVersion(e,d){console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************"),console.error("* FIXParser Enterprise License *"),console.error("* License not compatible with installed version of FIXParser Enterprise. *"),console.error("* *"),console.error("* Your FIXParser License entitles you to all versions of FIXParser that we release within the time covered by your license *"),console.error("* - typically we provide one year licenses which entitles you to all releases / updates of FIXParser within that year. *"),console.error("* Your license has an end (expiry) date which stops the license key working with versions of FIXParser released after the *"),console.error(`* license end date. The license key that you have expires on ${e}, however the version of FIXParser you *`),console.error(`* are trying to use was released on ${d}. *`),console.error("* *"),console.error("* Please contact info@fixparser.io to renew your subscription to new versions and get a new license key to work with this *"),console.error("* version of FIXParser. *"),console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************")}},yt=st;Dt(yt,"RELEASE_INFORMATION","MTY2OTIzMzQwNTQwNQ=="),Dt(yt,"licenseKey"),Dt(yt,"licenseKeyId",null),Dt(yt,"licenseExpiry",null),Dt(yt,"licenseIsTrial",!1),Dt(yt,"licenseProcessing",!1),Dt(yt,"PUBLIC_KEY",`-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
1835
|
+
Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0`,Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"Tenor"},{Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:100,Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved100Plus"},{Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:1e3,Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved1000Plus"},{Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:4e3,Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved4000Plus"},{Description:"Contains an XML document raw data with no format or content restrictions. XMLData fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH).",added:"FIX.5.0",BaseType:"String",XML:{Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"XMLData"},{Description:"Identifier for a national language - uses ISO 639-1 standard",added:"FIX.5.0SP1",BaseType:"String",XML:{Base:"xs:language",BuiltIn:1},Example:"en (English), es (spanish), etc.",addedEP:90,Name:"Language"}];var Cr=class{name=null;baseType=null;description=null;added=null;constructor(){this.reset()}reset(){this.name=null,this.baseType=null,this.description=null,this.added=null}setType(e){this.name=e.Name,this.baseType=e.BaseType,this.description=e.Description,this.added=e.added}};var Er=class{dataTypes=Nm;cacheMap=new Map;cacheTypeMap=new Map;fieldType=new Cr;constructor(){this.dataTypes.forEach(e=>{this.cacheMap.set(e.Name,e)}),this.cacheTypeMap.set("int",parseInt),this.cacheTypeMap.set("Length",parseInt),this.cacheTypeMap.set("TagNum",parseInt),this.cacheTypeMap.set("SeqNum",parseInt),this.cacheTypeMap.set("NumInGroup",parseInt),this.cacheTypeMap.set("DayOfMonth",parseInt),this.cacheTypeMap.set("float",parseFloat),this.cacheTypeMap.set("Qty",parseFloat),this.cacheTypeMap.set("Price",parseFloat),this.cacheTypeMap.set("PriceOffset",parseFloat),this.cacheTypeMap.set("Amt",parseFloat),this.cacheTypeMap.set("Percentage",parseFloat),this.cacheTypeMap.set("char",String),this.cacheTypeMap.set("Boolean",String),this.cacheTypeMap.set("String",String),this.cacheTypeMap.set("MultipleCharValue",String),this.cacheTypeMap.set("MultipleStringValue",String),this.cacheTypeMap.set("Country",String),this.cacheTypeMap.set("Currency",String),this.cacheTypeMap.set("Exchange",String),this.cacheTypeMap.set("MonthYear",String),this.cacheTypeMap.set("UTCTimestamp",String),this.cacheTypeMap.set("UTCTimeOnly",String),this.cacheTypeMap.set("UTCDateOnly",String),this.cacheTypeMap.set("LocalMktDate",String),this.cacheTypeMap.set("TZTimeOnly",String),this.cacheTypeMap.set("TZTimestamp",String),this.cacheTypeMap.set("data",String),this.cacheTypeMap.set("XMLData",String),this.cacheTypeMap.set("Language",String),this.cacheTypeMap.set("Pattern",String),this.cacheTypeMap.set("Tenor",String),this.cacheTypeMap.set("Reserved100Plus",String),this.cacheTypeMap.set("Reserved1000Plus",String),this.cacheTypeMap.set("Reserved4000Plus",String)}processDatatype(e,d){this.fieldType.reset();let i=this.cacheMap.get(d);i&&(this.fieldType.setType(i),e.setType(this.fieldType),d==="int"||d==="Length"||d==="TagNum"||d==="SeqNum"||d==="NumInGroup"||d==="DayOfMonth"?e.setValue(Number(e.value)):(d==="float"||d==="Qty"||d==="Price"||d==="PriceOffset"||d==="Amt"||d==="Percentage")&&e.setValue(parseFloat(e.value)))}};var Cm=[{DisplayOrder:0,Description:"Session level messages to establish and control a FIX session",Volume:"FIXT.1.1",FIXMLFileName:"session",NotReqXML:1,SectionID:"Session",Name:"Session"},{DisplayOrder:1,Description:"Pre trade messages including reference data, market data, quoting, news and email, indication of interest",Volume:"3",FIXMLFileName:"pretrade",NotReqXML:0,SectionID:"PreTrade",Name:"PreTrade"},{DisplayOrder:2,Description:"Order handling and execution messages",Volume:"4",FIXMLFileName:"trade",NotReqXML:0,SectionID:"Trade",Name:"Trade"},{DisplayOrder:3,Description:"Post trade messages including trade reporting, allocation, collateral, confirmation, position maintenance, registration instruction, and settlement instructions",Volume:"5",FIXMLFileName:"posttrade",NotReqXML:0,SectionID:"PostTrade",Name:"PostTrade"},{DisplayOrder:4,Description:"Infrastructure messages for application sequencing, business reject, network and user management",Volume:"1",FIXMLFileName:"infrastructure",NotReqXML:0,SectionID:"Infrastructure",Name:"Infrastructure"}];var Ar=class{sectionID=null;name=null;displayOrder=null;volume=null;notReqXML=null;fixmlFileName=null;description=null;reset(){this.sectionID=null,this.name=null,this.displayOrder=null,this.volume=null,this.notReqXML=null,this.fixmlFileName=null,this.description=null}setSection(e){this.sectionID=e.SectionID,this.name=e.Name,this.displayOrder=e.DisplayOrder,this.volume=e.Volume,this.notReqXML=e.NotReqXML===1,this.fixmlFileName=e.FIXMLFileName,this.description=e.Description}};var Rr=class{sections=Cm;cacheMap=new Map;sectionType=new Ar;constructor(){this.sections.forEach(e=>{this.cacheMap.set(e.SectionID,e)})}processSection(e,d){this.sectionType.reset();let i=this.cacheMap.get(d);i&&(this.sectionType.setSection(i),e.setSection(this.sectionType))}};var Mr=class{fields=xm;cacheMap=new Map;messages=new Pr;categories=new Nr;sections=new Rr;dataTypes=new Er;constructor(){this.fields.forEach(e=>{this.cacheMap.set(Number(e.Tag)>>0,e)})}processField(e,d){let i=this.cacheMap.get(d.tag);i?(d.tag===35&&this.messages.setMessageType(e,d),d.tag===34&&this.messages.setMessageSequence(e,Number(d.value)),d.setName(i.Name),d.setDescription(i.Description),i.BaseCategory&&(this.categories.processCategory(d,i.BaseCategory),d.category.sectionID&&this.sections.processSection(d,d.category.sectionID)),this.dataTypes.processDatatype(d,i.Type)):(d.setType(null),d.setValue(d.value))}};var Wo=Qn(Zg());var Ip={version:"5.3.6",build:"2022-11-23T20:00:29.783Z"},sn="FIX.5.0SP2",Ko=30,Na="",Jg="=",e4=/[.*+?^${}()|[\]\\]/g,t4=/8=FIXT?\.\d\.\d([^\d]+)/i,Ca=100,Ea={enabled:!0},H0=()=>{let t=new Date;return`${t.toLocaleString("en-us",{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/(\d+)\/(\d+)\/(\d+)/,"$3$1$2")}-${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padEnd(9,"0")}`},_e=(...t)=>Ea.enabled?console.log(`[${H0()}]`,...t):null,ci=(...t)=>Ea.enabled?console.warn(`[${H0()}]`,...t):null,Yt=(...t)=>Ea.enabled?console.error(`[${H0()}]`,...t):null;var On=(t,e)=>{let d=`00${t}`;return d.substr(d.length-e)},ov=t=>{let e=t.getTimezoneOffset()*6e4;return t.setTime(t.getTime()+e),t},d4=t=>{isNaN(t.getTime())&&Yt("Invalid date specified!");let e=ov(t);return`${e.getFullYear()}${On(e.getMonth()+1,2)}${On(e.getDate(),2)}-${On(e.getHours(),2)}:${On(e.getMinutes(),2)}:${On(e.getSeconds(),2)}.${On(e.getMilliseconds(),3)}`};var sv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rv=t=>{let e=sv.indexOf(t);return e<0?void 0:e},K0=t=>{let e=`${t}`;if(e=e.replace(/[ \t\n\f\r]/g,""),e.length%4===0&&(e=e.replace(/==?$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return null;let d="",i=0,a=0;return[...e].forEach(o=>{i<<=6,i|=rv(o),a+=6,a===24&&(d+=String.fromCharCode((i&16711680)>>16),d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255),i=a=0)}),a===12?(i>>=4,d+=String.fromCharCode(i)):a===18&&(i>>=2,d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255)),d};var cv=t=>t==null||t.length===0,st=class{static validateLicense(){return st.licenseProcessing||st.licenseKeyId?!0:(st.outputInvalidLicenseKey(),!1)}static formatDate(e){let d=["January","February","March","April","May","June","July","August","September","October","November","December"],i=e.getDate(),a=e.getMonth(),o=e.getFullYear();return`${i} ${d[a]} ${o}`}static getReleaseDate(){return new Date(parseInt(K0(st.RELEASE_INFORMATION),10))}static async setLicenseKey(e){if(!st.licenseProcessing){if(st.licenseProcessing=!0,st.licenseKey=e,cv(st.licenseKey))st.outputMissingLicenseKey();else try{let d=await(0,Wo.readKey)({armoredKey:st.PUBLIC_KEY}),i=await(0,Wo.readCleartextMessage)({cleartextMessage:K0(st.licenseKey)}),a=await(0,Wo.verify)({message:i,verificationKeys:d}),{verified:o,keyID:s}=a.signatures[0];await o;let[,,r,p]=i.getText().split("|");st.validateKey(s.toHex(),Number(r),p==="true")}catch{st.outputInvalidLicenseKey(),st.licenseProcessing=!1;return}return Promise.resolve()}}static validateKey(e,d,i){let a=st.getReleaseDate(),o=new Date(d),s=!1,r=!1;if(isNaN(o.getTime())||(s=!0,r=a<o),s){if(!r){let p=st.formatDate(o),c=st.formatDate(a);return st.outputIncompatibleVersion(p,c),!1}}else return st.outputInvalidLicenseKey(),!1;return st.licenseKeyId=e,st.licenseProcessing=!1,st.licenseExpiry=st.formatDate(o),st.licenseIsTrial=i,st.outputValidLicense(),!0}static outputValidLicense(){_e(`[FIXParser Enterprise ${st.licenseIsTrial?"TRIAL ":""}License] - Valid until ${st.licenseExpiry}`)}static outputInvalidLicenseKey(){console.error("********************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *********************************************"),console.error("********************************************** Invalid License *****************************************************"),console.error("* -- Access to this feature requires license for FIXParser Enterprise -- *"),console.error("* Your license for FIXParser Enterprise is not valid - please contact info@fixparser.io to obtain a valid license. *"),console.error("********************************************************************************************************************"),console.error("********************************************************************************************************************")}static outputMissingLicenseKey(){console.error("******************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *******************************************"),console.error("******************************************* License Key Not Found ************************************************"),console.error("* Please visit https://fixparser.io to purchase a FIXParser Enterprise license *"),console.error("******************************************************************************************************************"),console.error("******************************************************************************************************************")}static outputIncompatibleVersion(e,d){console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************"),console.error("* FIXParser Enterprise License *"),console.error("* License not compatible with installed version of FIXParser Enterprise. *"),console.error("* *"),console.error("* Your FIXParser License entitles you to all versions of FIXParser that we release within the time covered by your license *"),console.error("* - typically we provide one year licenses which entitles you to all releases / updates of FIXParser within that year. *"),console.error("* Your license has an end (expiry) date which stops the license key working with versions of FIXParser released after the *"),console.error(`* license end date. The license key that you have expires on ${e}, however the version of FIXParser you *`),console.error(`* are trying to use was released on ${d}. *`),console.error("* *"),console.error("* Please contact info@fixparser.io to renew your subscription to new versions and get a new license key to work with this *"),console.error("* version of FIXParser. *"),console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************")}},yt=st;Dt(yt,"RELEASE_INFORMATION","MTY2OTIzMzYyOTc4Mw=="),Dt(yt,"licenseKey"),Dt(yt,"licenseKeyId",null),Dt(yt,"licenseExpiry",null),Dt(yt,"licenseIsTrial",!1),Dt(yt,"licenseProcessing",!1),Dt(yt,"PUBLIC_KEY",`-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
1836
1836
|
|
|
1837
1837
|
xjMEYSAlmRYJKwYBBAHaRw8BAQdATxsL8ZGu79iIXGoMwAGxis0Ot6zN+c+H
|
|
1838
1838
|
FiEfymdU5QHNIGZpeHBhcnNlci5pbyA8aW5mb0BmaXhwYXJzZXIuaW8+wowE
|
package/build/esm/FIXParser.js
CHANGED
|
@@ -1832,7 +1832,7 @@ Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0`,adde
|
|
|
1832
1832
|
Dx = tenor expression for "days", e.g. "D5", where "x" is any integer > 0
|
|
1833
1833
|
Mx = tenor expression for "months", e.g. "M3", where "x" is any integer > 0
|
|
1834
1834
|
Wx = tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0
|
|
1835
|
-
Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0`,Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"Tenor"},{Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:100,Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved100Plus"},{Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:1e3,Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved1000Plus"},{Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:4e3,Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved4000Plus"},{Description:"Contains an XML document raw data with no format or content restrictions. XMLData fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH).",added:"FIX.5.0",BaseType:"String",XML:{Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"XMLData"},{Description:"Identifier for a national language - uses ISO 639-1 standard",added:"FIX.5.0SP1",BaseType:"String",XML:{Base:"xs:language",BuiltIn:1},Example:"en (English), es (spanish), etc.",addedEP:90,Name:"Language"}];var xr=class{name=null;baseType=null;description=null;added=null;constructor(){this.reset()}reset(){this.name=null,this.baseType=null,this.description=null,this.added=null}setType(e){this.name=e.Name,this.baseType=e.BaseType,this.description=e.Description,this.added=e.added}};var Sr=class{dataTypes=vm;cacheMap=new Map;cacheTypeMap=new Map;fieldType=new xr;constructor(){this.dataTypes.forEach(e=>{this.cacheMap.set(e.Name,e)}),this.cacheTypeMap.set("int",parseInt),this.cacheTypeMap.set("Length",parseInt),this.cacheTypeMap.set("TagNum",parseInt),this.cacheTypeMap.set("SeqNum",parseInt),this.cacheTypeMap.set("NumInGroup",parseInt),this.cacheTypeMap.set("DayOfMonth",parseInt),this.cacheTypeMap.set("float",parseFloat),this.cacheTypeMap.set("Qty",parseFloat),this.cacheTypeMap.set("Price",parseFloat),this.cacheTypeMap.set("PriceOffset",parseFloat),this.cacheTypeMap.set("Amt",parseFloat),this.cacheTypeMap.set("Percentage",parseFloat),this.cacheTypeMap.set("char",String),this.cacheTypeMap.set("Boolean",String),this.cacheTypeMap.set("String",String),this.cacheTypeMap.set("MultipleCharValue",String),this.cacheTypeMap.set("MultipleStringValue",String),this.cacheTypeMap.set("Country",String),this.cacheTypeMap.set("Currency",String),this.cacheTypeMap.set("Exchange",String),this.cacheTypeMap.set("MonthYear",String),this.cacheTypeMap.set("UTCTimestamp",String),this.cacheTypeMap.set("UTCTimeOnly",String),this.cacheTypeMap.set("UTCDateOnly",String),this.cacheTypeMap.set("LocalMktDate",String),this.cacheTypeMap.set("TZTimeOnly",String),this.cacheTypeMap.set("TZTimestamp",String),this.cacheTypeMap.set("data",String),this.cacheTypeMap.set("XMLData",String),this.cacheTypeMap.set("Language",String),this.cacheTypeMap.set("Pattern",String),this.cacheTypeMap.set("Tenor",String),this.cacheTypeMap.set("Reserved100Plus",String),this.cacheTypeMap.set("Reserved1000Plus",String),this.cacheTypeMap.set("Reserved4000Plus",String)}processDatatype(e,d){this.fieldType.reset();let i=this.cacheMap.get(d);i&&(this.fieldType.setType(i),e.setType(this.fieldType),d==="int"||d==="Length"||d==="TagNum"||d==="SeqNum"||d==="NumInGroup"||d==="DayOfMonth"?e.setValue(Number(e.value)):(d==="float"||d==="Qty"||d==="Price"||d==="PriceOffset"||d==="Amt"||d==="Percentage")&&e.setValue(parseFloat(e.value)))}};var Dm=[{DisplayOrder:0,Description:"Session level messages to establish and control a FIX session",Volume:"FIXT.1.1",FIXMLFileName:"session",NotReqXML:1,SectionID:"Session",Name:"Session"},{DisplayOrder:1,Description:"Pre trade messages including reference data, market data, quoting, news and email, indication of interest",Volume:"3",FIXMLFileName:"pretrade",NotReqXML:0,SectionID:"PreTrade",Name:"PreTrade"},{DisplayOrder:2,Description:"Order handling and execution messages",Volume:"4",FIXMLFileName:"trade",NotReqXML:0,SectionID:"Trade",Name:"Trade"},{DisplayOrder:3,Description:"Post trade messages including trade reporting, allocation, collateral, confirmation, position maintenance, registration instruction, and settlement instructions",Volume:"5",FIXMLFileName:"posttrade",NotReqXML:0,SectionID:"PostTrade",Name:"PostTrade"},{DisplayOrder:4,Description:"Infrastructure messages for application sequencing, business reject, network and user management",Volume:"1",FIXMLFileName:"infrastructure",NotReqXML:0,SectionID:"Infrastructure",Name:"Infrastructure"}];var Pr=class{sectionID=null;name=null;displayOrder=null;volume=null;notReqXML=null;fixmlFileName=null;description=null;reset(){this.sectionID=null,this.name=null,this.displayOrder=null,this.volume=null,this.notReqXML=null,this.fixmlFileName=null,this.description=null}setSection(e){this.sectionID=e.SectionID,this.name=e.Name,this.displayOrder=e.DisplayOrder,this.volume=e.Volume,this.notReqXML=e.NotReqXML===1,this.fixmlFileName=e.FIXMLFileName,this.description=e.Description}};var wr=class{sections=Dm;cacheMap=new Map;sectionType=new Pr;constructor(){this.sections.forEach(e=>{this.cacheMap.set(e.SectionID,e)})}processSection(e,d){this.sectionType.reset();let i=this.cacheMap.get(d);i&&(this.sectionType.setSection(i),e.setSection(this.sectionType))}};var Nr=class{fields=gm;cacheMap=new Map;messages=new Fr;categories=new Xr;sections=new wr;dataTypes=new Sr;constructor(){this.fields.forEach(e=>{this.cacheMap.set(Number(e.Tag)>>0,e)})}processField(e,d){let i=this.cacheMap.get(d.tag);i?(d.tag===35&&this.messages.setMessageType(e,d),d.tag===34&&this.messages.setMessageSequence(e,Number(d.value)),d.setName(i.Name),d.setDescription(i.Description),i.BaseCategory&&(this.categories.processCategory(d,i.BaseCategory),d.category.sectionID&&this.sections.processSection(d,d.category.sectionID)),this.dataTypes.processDatatype(d,i.Type)):(d.setType(null),d.setValue(d.value))}};var Co=Vn(Bg());var _g={version:"5.3.5",build:"2022-11-23T19:56:45.405Z"},Xa="FIX.5.0SP2",U0=30,xa="",Qg="=",zg=/[.*+?^${}()|[\]\\]/g,jg=/8=FIXT?\.\d\.\d([^\d]+)/i,cp=100,zs={enabled:!0},O0=()=>{let t=new Date;return`${t.toLocaleString("en-us",{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/(\d+)\/(\d+)\/(\d+)/,"$3$1$2")}-${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padEnd(9,"0")}`},st=(...t)=>zs.enabled?console.log(`[${O0()}]`,...t):null,tn=(...t)=>zs.enabled?console.warn(`[${O0()}]`,...t):null,Sa=(...t)=>zs.enabled?console.error(`[${O0()}]`,...t):null;var kn=(t,e)=>{let d=`00${t}`;return d.substr(d.length-e)},YT=t=>{let e=t.getTimezoneOffset()*6e4;return t.setTime(t.getTime()+e),t},Hg=t=>{isNaN(t.getTime())&&Sa("Invalid date specified!");let e=YT(t);return`${e.getFullYear()}${kn(e.getMonth()+1,2)}${kn(e.getDate(),2)}-${kn(e.getHours(),2)}:${kn(e.getMinutes(),2)}:${kn(e.getSeconds(),2)}.${kn(e.getMilliseconds(),3)}`};var $T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ZT=t=>{let e=$T.indexOf(t);return e<0?void 0:e},V0=t=>{let e=`${t}`;if(e=e.replace(/[ \t\n\f\r]/g,""),e.length%4===0&&(e=e.replace(/==?$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return null;let d="",i=0,a=0;return[...e].forEach(o=>{i<<=6,i|=ZT(o),a+=6,a===24&&(d+=String.fromCharCode((i&16711680)>>16),d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255),i=a=0)}),a===12?(i>>=4,d+=String.fromCharCode(i)):a===18&&(i>>=2,d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255)),d};var JT=t=>t==null||t.length===0,rt=class{static validateLicense(){return rt.licenseProcessing||rt.licenseKeyId?!0:(rt.outputInvalidLicenseKey(),!1)}static formatDate(e){let d=["January","February","March","April","May","June","July","August","September","October","November","December"],i=e.getDate(),a=e.getMonth(),o=e.getFullYear();return`${i} ${d[a]} ${o}`}static getReleaseDate(){return new Date(parseInt(V0(rt.RELEASE_INFORMATION),10))}static async setLicenseKey(e){if(!rt.licenseProcessing){if(rt.licenseProcessing=!0,rt.licenseKey=e,JT(rt.licenseKey))rt.outputMissingLicenseKey();else try{let d=await(0,Co.readKey)({armoredKey:rt.PUBLIC_KEY}),i=await(0,Co.readCleartextMessage)({cleartextMessage:V0(rt.licenseKey)}),a=await(0,Co.verify)({message:i,verificationKeys:d}),{verified:o,keyID:s}=a.signatures[0];await o;let[,,r,p]=i.getText().split("|");rt.validateKey(s.toHex(),Number(r),p==="true")}catch{rt.outputInvalidLicenseKey(),rt.licenseProcessing=!1;return}return Promise.resolve()}}static validateKey(e,d,i){let a=rt.getReleaseDate(),o=new Date(d),s=!1,r=!1;if(isNaN(o.getTime())||(s=!0,r=a<o),s){if(!r){let p=rt.formatDate(o),c=rt.formatDate(a);return rt.outputIncompatibleVersion(p,c),!1}}else return rt.outputInvalidLicenseKey(),!1;return rt.licenseKeyId=e,rt.licenseProcessing=!1,rt.licenseExpiry=rt.formatDate(o),rt.licenseIsTrial=i,rt.outputValidLicense(),!0}static outputValidLicense(){st(`[FIXParser Enterprise ${rt.licenseIsTrial?"TRIAL ":""}License] - Valid until ${rt.licenseExpiry}`)}static outputInvalidLicenseKey(){console.error("********************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *********************************************"),console.error("********************************************** Invalid License *****************************************************"),console.error("* -- Access to this feature requires license for FIXParser Enterprise -- *"),console.error("* Your license for FIXParser Enterprise is not valid - please contact info@fixparser.io to obtain a valid license. *"),console.error("********************************************************************************************************************"),console.error("********************************************************************************************************************")}static outputMissingLicenseKey(){console.error("******************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *******************************************"),console.error("******************************************* License Key Not Found ************************************************"),console.error("* Please visit https://fixparser.io to purchase a FIXParser Enterprise license *"),console.error("******************************************************************************************************************"),console.error("******************************************************************************************************************")}static outputIncompatibleVersion(e,d){console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************"),console.error("* FIXParser Enterprise License *"),console.error("* License not compatible with installed version of FIXParser Enterprise. *"),console.error("* *"),console.error("* Your FIXParser License entitles you to all versions of FIXParser that we release within the time covered by your license *"),console.error("* - typically we provide one year licenses which entitles you to all releases / updates of FIXParser within that year. *"),console.error("* Your license has an end (expiry) date which stops the license key working with versions of FIXParser released after the *"),console.error(`* license end date. The license key that you have expires on ${e}, however the version of FIXParser you *`),console.error(`* are trying to use was released on ${d}. *`),console.error("* *"),console.error("* Please contact info@fixparser.io to renew your subscription to new versions and get a new license key to work with this *"),console.error("* version of FIXParser. *"),console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************")}},Ot=rt;Kt(Ot,"RELEASE_INFORMATION","MTY2OTIzMzQwNTQwNQ=="),Kt(Ot,"licenseKey"),Kt(Ot,"licenseKeyId",null),Kt(Ot,"licenseExpiry",null),Kt(Ot,"licenseIsTrial",!1),Kt(Ot,"licenseProcessing",!1),Kt(Ot,"PUBLIC_KEY",`-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
1835
|
+
Yx = tenor expression for "years", e.g. "Y1", where "x" is any integer > 0`,Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"Tenor"},{Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:100,Description:'Values "100" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved100Plus"},{Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:1e3,Description:'Values "1000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved1000Plus"},{Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',added:"FIX.4.4",BaseType:"Pattern",XML:{MinInclusive:4e3,Description:'Values "4000" and above are reserved for bilaterally agreed upon user defined enumerations.',Base:"xs:integer",BuiltIn:0},addedEP:-1,Name:"Reserved4000Plus"},{Description:"Contains an XML document raw data with no format or content restrictions. XMLData fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH).",added:"FIX.5.0",BaseType:"String",XML:{Base:"xs:string",BuiltIn:0},addedEP:-1,Name:"XMLData"},{Description:"Identifier for a national language - uses ISO 639-1 standard",added:"FIX.5.0SP1",BaseType:"String",XML:{Base:"xs:language",BuiltIn:1},Example:"en (English), es (spanish), etc.",addedEP:90,Name:"Language"}];var xr=class{name=null;baseType=null;description=null;added=null;constructor(){this.reset()}reset(){this.name=null,this.baseType=null,this.description=null,this.added=null}setType(e){this.name=e.Name,this.baseType=e.BaseType,this.description=e.Description,this.added=e.added}};var Sr=class{dataTypes=vm;cacheMap=new Map;cacheTypeMap=new Map;fieldType=new xr;constructor(){this.dataTypes.forEach(e=>{this.cacheMap.set(e.Name,e)}),this.cacheTypeMap.set("int",parseInt),this.cacheTypeMap.set("Length",parseInt),this.cacheTypeMap.set("TagNum",parseInt),this.cacheTypeMap.set("SeqNum",parseInt),this.cacheTypeMap.set("NumInGroup",parseInt),this.cacheTypeMap.set("DayOfMonth",parseInt),this.cacheTypeMap.set("float",parseFloat),this.cacheTypeMap.set("Qty",parseFloat),this.cacheTypeMap.set("Price",parseFloat),this.cacheTypeMap.set("PriceOffset",parseFloat),this.cacheTypeMap.set("Amt",parseFloat),this.cacheTypeMap.set("Percentage",parseFloat),this.cacheTypeMap.set("char",String),this.cacheTypeMap.set("Boolean",String),this.cacheTypeMap.set("String",String),this.cacheTypeMap.set("MultipleCharValue",String),this.cacheTypeMap.set("MultipleStringValue",String),this.cacheTypeMap.set("Country",String),this.cacheTypeMap.set("Currency",String),this.cacheTypeMap.set("Exchange",String),this.cacheTypeMap.set("MonthYear",String),this.cacheTypeMap.set("UTCTimestamp",String),this.cacheTypeMap.set("UTCTimeOnly",String),this.cacheTypeMap.set("UTCDateOnly",String),this.cacheTypeMap.set("LocalMktDate",String),this.cacheTypeMap.set("TZTimeOnly",String),this.cacheTypeMap.set("TZTimestamp",String),this.cacheTypeMap.set("data",String),this.cacheTypeMap.set("XMLData",String),this.cacheTypeMap.set("Language",String),this.cacheTypeMap.set("Pattern",String),this.cacheTypeMap.set("Tenor",String),this.cacheTypeMap.set("Reserved100Plus",String),this.cacheTypeMap.set("Reserved1000Plus",String),this.cacheTypeMap.set("Reserved4000Plus",String)}processDatatype(e,d){this.fieldType.reset();let i=this.cacheMap.get(d);i&&(this.fieldType.setType(i),e.setType(this.fieldType),d==="int"||d==="Length"||d==="TagNum"||d==="SeqNum"||d==="NumInGroup"||d==="DayOfMonth"?e.setValue(Number(e.value)):(d==="float"||d==="Qty"||d==="Price"||d==="PriceOffset"||d==="Amt"||d==="Percentage")&&e.setValue(parseFloat(e.value)))}};var Dm=[{DisplayOrder:0,Description:"Session level messages to establish and control a FIX session",Volume:"FIXT.1.1",FIXMLFileName:"session",NotReqXML:1,SectionID:"Session",Name:"Session"},{DisplayOrder:1,Description:"Pre trade messages including reference data, market data, quoting, news and email, indication of interest",Volume:"3",FIXMLFileName:"pretrade",NotReqXML:0,SectionID:"PreTrade",Name:"PreTrade"},{DisplayOrder:2,Description:"Order handling and execution messages",Volume:"4",FIXMLFileName:"trade",NotReqXML:0,SectionID:"Trade",Name:"Trade"},{DisplayOrder:3,Description:"Post trade messages including trade reporting, allocation, collateral, confirmation, position maintenance, registration instruction, and settlement instructions",Volume:"5",FIXMLFileName:"posttrade",NotReqXML:0,SectionID:"PostTrade",Name:"PostTrade"},{DisplayOrder:4,Description:"Infrastructure messages for application sequencing, business reject, network and user management",Volume:"1",FIXMLFileName:"infrastructure",NotReqXML:0,SectionID:"Infrastructure",Name:"Infrastructure"}];var Pr=class{sectionID=null;name=null;displayOrder=null;volume=null;notReqXML=null;fixmlFileName=null;description=null;reset(){this.sectionID=null,this.name=null,this.displayOrder=null,this.volume=null,this.notReqXML=null,this.fixmlFileName=null,this.description=null}setSection(e){this.sectionID=e.SectionID,this.name=e.Name,this.displayOrder=e.DisplayOrder,this.volume=e.Volume,this.notReqXML=e.NotReqXML===1,this.fixmlFileName=e.FIXMLFileName,this.description=e.Description}};var wr=class{sections=Dm;cacheMap=new Map;sectionType=new Pr;constructor(){this.sections.forEach(e=>{this.cacheMap.set(e.SectionID,e)})}processSection(e,d){this.sectionType.reset();let i=this.cacheMap.get(d);i&&(this.sectionType.setSection(i),e.setSection(this.sectionType))}};var Nr=class{fields=gm;cacheMap=new Map;messages=new Fr;categories=new Xr;sections=new wr;dataTypes=new Sr;constructor(){this.fields.forEach(e=>{this.cacheMap.set(Number(e.Tag)>>0,e)})}processField(e,d){let i=this.cacheMap.get(d.tag);i?(d.tag===35&&this.messages.setMessageType(e,d),d.tag===34&&this.messages.setMessageSequence(e,Number(d.value)),d.setName(i.Name),d.setDescription(i.Description),i.BaseCategory&&(this.categories.processCategory(d,i.BaseCategory),d.category.sectionID&&this.sections.processSection(d,d.category.sectionID)),this.dataTypes.processDatatype(d,i.Type)):(d.setType(null),d.setValue(d.value))}};var Co=Vn(Bg());var _g={version:"5.3.6",build:"2022-11-23T20:00:29.783Z"},Xa="FIX.5.0SP2",U0=30,xa="",Qg="=",zg=/[.*+?^${}()|[\]\\]/g,jg=/8=FIXT?\.\d\.\d([^\d]+)/i,cp=100,zs={enabled:!0},O0=()=>{let t=new Date;return`${t.toLocaleString("en-us",{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/(\d+)\/(\d+)\/(\d+)/,"$3$1$2")}-${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padEnd(9,"0")}`},st=(...t)=>zs.enabled?console.log(`[${O0()}]`,...t):null,tn=(...t)=>zs.enabled?console.warn(`[${O0()}]`,...t):null,Sa=(...t)=>zs.enabled?console.error(`[${O0()}]`,...t):null;var kn=(t,e)=>{let d=`00${t}`;return d.substr(d.length-e)},YT=t=>{let e=t.getTimezoneOffset()*6e4;return t.setTime(t.getTime()+e),t},Hg=t=>{isNaN(t.getTime())&&Sa("Invalid date specified!");let e=YT(t);return`${e.getFullYear()}${kn(e.getMonth()+1,2)}${kn(e.getDate(),2)}-${kn(e.getHours(),2)}:${kn(e.getMinutes(),2)}:${kn(e.getSeconds(),2)}.${kn(e.getMilliseconds(),3)}`};var $T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ZT=t=>{let e=$T.indexOf(t);return e<0?void 0:e},V0=t=>{let e=`${t}`;if(e=e.replace(/[ \t\n\f\r]/g,""),e.length%4===0&&(e=e.replace(/==?$/,"")),e.length%4===1||/[^+/0-9A-Za-z]/.test(e))return null;let d="",i=0,a=0;return[...e].forEach(o=>{i<<=6,i|=ZT(o),a+=6,a===24&&(d+=String.fromCharCode((i&16711680)>>16),d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255),i=a=0)}),a===12?(i>>=4,d+=String.fromCharCode(i)):a===18&&(i>>=2,d+=String.fromCharCode((i&65280)>>8),d+=String.fromCharCode(i&255)),d};var JT=t=>t==null||t.length===0,rt=class{static validateLicense(){return rt.licenseProcessing||rt.licenseKeyId?!0:(rt.outputInvalidLicenseKey(),!1)}static formatDate(e){let d=["January","February","March","April","May","June","July","August","September","October","November","December"],i=e.getDate(),a=e.getMonth(),o=e.getFullYear();return`${i} ${d[a]} ${o}`}static getReleaseDate(){return new Date(parseInt(V0(rt.RELEASE_INFORMATION),10))}static async setLicenseKey(e){if(!rt.licenseProcessing){if(rt.licenseProcessing=!0,rt.licenseKey=e,JT(rt.licenseKey))rt.outputMissingLicenseKey();else try{let d=await(0,Co.readKey)({armoredKey:rt.PUBLIC_KEY}),i=await(0,Co.readCleartextMessage)({cleartextMessage:V0(rt.licenseKey)}),a=await(0,Co.verify)({message:i,verificationKeys:d}),{verified:o,keyID:s}=a.signatures[0];await o;let[,,r,p]=i.getText().split("|");rt.validateKey(s.toHex(),Number(r),p==="true")}catch{rt.outputInvalidLicenseKey(),rt.licenseProcessing=!1;return}return Promise.resolve()}}static validateKey(e,d,i){let a=rt.getReleaseDate(),o=new Date(d),s=!1,r=!1;if(isNaN(o.getTime())||(s=!0,r=a<o),s){if(!r){let p=rt.formatDate(o),c=rt.formatDate(a);return rt.outputIncompatibleVersion(p,c),!1}}else return rt.outputInvalidLicenseKey(),!1;return rt.licenseKeyId=e,rt.licenseProcessing=!1,rt.licenseExpiry=rt.formatDate(o),rt.licenseIsTrial=i,rt.outputValidLicense(),!0}static outputValidLicense(){st(`[FIXParser Enterprise ${rt.licenseIsTrial?"TRIAL ":""}License] - Valid until ${rt.licenseExpiry}`)}static outputInvalidLicenseKey(){console.error("********************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *********************************************"),console.error("********************************************** Invalid License *****************************************************"),console.error("* -- Access to this feature requires license for FIXParser Enterprise -- *"),console.error("* Your license for FIXParser Enterprise is not valid - please contact info@fixparser.io to obtain a valid license. *"),console.error("********************************************************************************************************************"),console.error("********************************************************************************************************************")}static outputMissingLicenseKey(){console.error("******************************************************************************************************************"),console.error("***************************************** FIXParser Enterprise License *******************************************"),console.error("******************************************* License Key Not Found ************************************************"),console.error("* Please visit https://fixparser.io to purchase a FIXParser Enterprise license *"),console.error("******************************************************************************************************************"),console.error("******************************************************************************************************************")}static outputIncompatibleVersion(e,d){console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************"),console.error("* FIXParser Enterprise License *"),console.error("* License not compatible with installed version of FIXParser Enterprise. *"),console.error("* *"),console.error("* Your FIXParser License entitles you to all versions of FIXParser that we release within the time covered by your license *"),console.error("* - typically we provide one year licenses which entitles you to all releases / updates of FIXParser within that year. *"),console.error("* Your license has an end (expiry) date which stops the license key working with versions of FIXParser released after the *"),console.error(`* license end date. The license key that you have expires on ${e}, however the version of FIXParser you *`),console.error(`* are trying to use was released on ${d}. *`),console.error("* *"),console.error("* Please contact info@fixparser.io to renew your subscription to new versions and get a new license key to work with this *"),console.error("* version of FIXParser. *"),console.error("******************************************************************************************************************************"),console.error("******************************************************************************************************************************")}},Ot=rt;Kt(Ot,"RELEASE_INFORMATION","MTY2OTIzMzYyOTc4Mw=="),Kt(Ot,"licenseKey"),Kt(Ot,"licenseKeyId",null),Kt(Ot,"licenseExpiry",null),Kt(Ot,"licenseIsTrial",!1),Kt(Ot,"licenseProcessing",!1),Kt(Ot,"PUBLIC_KEY",`-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
1836
1836
|
|
|
1837
1837
|
xjMEYSAlmRYJKwYBBAHaRw8BAQdATxsL8ZGu79iIXGoMwAGxis0Ot6zN+c+H
|
|
1838
1838
|
FiEfymdU5QHNIGZpeHBhcnNlci5pbyA8aW5mb0BmaXhwYXJzZXIuaW8+wowE
|