@genesislcap/design-system-configurator 14.69.2 → 14.69.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/dist/{212.212.7b9a402462ebe7f686ef.js → 212.212.48d925aff09d41c36084.js} +4 -4
  2. package/dist/212.5b9b281a1d8295abaa7d34e2ffb8ad62.js.map +1 -0
  3. package/dist/{361.361.3b58c94732e244576991.js → 361.361.e59584164ef237d04ea7.js} +1 -1
  4. package/dist/402.402.baa51b77fe8e05dce53a.js +2 -0
  5. package/dist/402.d1ab2352a13e2a06ffb11aa10f2314d2.js.map +1 -0
  6. package/dist/{495.495.5e16e85a1df9f51f246f.js → 495.495.f243f10d12afadd180d7.js} +2 -2
  7. package/dist/{659.659.0f5f23c17f2c4d15dd0a.js → 659.659.09de0adde4d94ad1f278.js} +2 -2
  8. package/dist/659.841c7ec2bd5de0c3e6e7c296e9de56c3.js.map +1 -0
  9. package/dist/{688.688.4a19c5fe8f5076f04db7.js → 688.688.5c1eb888203208c894b2.js} +1 -1
  10. package/dist/{755.755.3c7a6cb6ae6ffc2c0d7a.js → 755.755.becf3cc05f56ed9f1868.js} +1 -1
  11. package/dist/{designSystemConfigurator.6152f0695251999b6b6e49e07532036f.js.map → designSystemConfigurator.860023f5d4bf9cdbc3e23dd1bef16c9e.js.map} +1 -1
  12. package/dist/index.html +1 -1
  13. package/dist/{main.fa923abd2e659bb679a58d757a24fc37.js.map → main.0b104bf414d7284add72b0dd806a1c1f.js.map} +1 -1
  14. package/dist/{main.324b011af68d6b9bf481.js → main.3ebbaacc9cb5dc7be575.js} +2 -2
  15. package/dist/{npm.lodash.913.d264c63c00ee3a0ea033.js → npm.lodash.913.24664fb76d7b7c26630a.js} +1 -1
  16. package/dist/remoteEntry.js +2 -2
  17. package/package.json +7 -7
  18. package/dist/212.ad9aab02c414dcb69ed001b56dbad639.js.map +0 -1
  19. package/dist/402.402.67d05a9564f2bf613c6b.js +0 -2
  20. package/dist/402.6ea0e13b1c444508a878cf2f48d3ea9b.js.map +0 -1
  21. package/dist/659.0fa4e3d87da3edc49a6c81e060003194.js.map +0 -1
  22. /package/dist/{212.212.7b9a402462ebe7f686ef.js.LICENSE.txt → 212.212.48d925aff09d41c36084.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_genesislcap_design_system_configurator=self.webpackChunk_genesislcap_design_system_configurator||[]).push([[659],{35991:(e,t,s)=>{s.d(t,{g:()=>b});var i=s(186),r=s(83147),o=s(75951),n=s(26714),a=s(62646),c=s(9162),d=s(19082),h=s(4077),E=s(75527),l=s(22296);const u=o.DI.createInterface();function g(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(l.k.warn("PasswordCredential not available in this browser."),!1):(l.k.warn("CredentialsContainer not available in this browser."),!1)}const S=":";function _(e="",t=S,s){return e.split(t,s).map((e=>e.trim())).filter((e=>""!==e))}function T(e,t=S){const s="string"==typeof e&&e.trim();return!!s&&s.includes(t)}function R(e,t=S){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function v(e,t=S){for(const s of e)if(T(s,t))return s;return e.find((e=>"string"==typeof e&&!!e.trim()))}function p(e,t,s){const i="string"==typeof e&&e.trim();return!i||s&&!i.includes(s)||R(i)>1?s&&t&&s!==t?`${t}:${s}`:t||s:i}function m(e="credential"){l.k.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const O={password:!0,mediation:"optional"},A={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let I=class{constructor(e,t=A){this.session=e,this.config=t}createBasicCredentials(e){return{type:h.G.BASIC,username:e.username,password:e.password}}createRefreshCredentials(e){var t,s;return{type:h.G.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(s=null==e?void 0:e.refreshToken)&&void 0!==s?s:this.getRefreshToken()}}createSSOCredentials(e){var t;return{type:h.G.SSO,ssoToken:null!==(t=null==e?void 0:e.ssoToken)&&void 0!==t?t:this.getSSOToken()}}validateBasicCredentials(e){return e&&!!e.username&&!!e.password}validateRefreshCredentials(e){return e&&!!e.refreshToken&&!!e.username}validateSSOCredentials(e){return e&&!!e.ssoToken}validateUserCredentialData(e,t){const s=e&&!!e.id&&!!e.name&&!e.name.includes(S)&&R(e.id)<=1;return t?s&&!!e.password:s}normaliseLegacyCredentialData(e,t){if(this.validateUserCredentialData(e,!0))return[e,!0];if(this.validateUserCredentialData(t))return[t,!1];if(e)try{const t=e,[s]=_(t.name||t.id),[i,r]=_(v([t.id,t.name]));return[{id:p(t.id||t.name,s,r),name:s,password:t.password||""},!0]}catch(e){m("PasswordCredential")}if(t)try{const e=t,[s]=_(e.name||e.username||e.organisation),[i,r]=_(v([e.organisation||e.username||e.name]));return[{id:p(e.id||e.username||e.name,s,r),name:s,password:e.password||""},!1]}catch(e){m("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(!g())return;const t=new PasswordCredential(e);return l.k.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)}))}getCredentialsFromContainer(e=O){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(g())return l.k.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)}))}storeCredentialsInCookie(e){const{password:t}=e,s=(0,i.__rest)(e,["password"]),r=this.config.cookie.storePasswords?e:s;return l.k.debug("Storing credentials in cookie"),!!d.Z.set(this.config.cookie.name,JSON.stringify(r),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){l.k.debug("Getting credentials from cookie");const e=d.Z.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(g()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))}))}getCredentials(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return g()?this.getCredentialsFromContainer(e):Promise.resolve(this.getCredentialsFromCookie())}))}getSSOToken(){return this.session.getSessionStorageItem("ssoToken")}getUsername(){return this.session.getSessionStorageItem("username")}getRefreshToken(){return this.session.getSessionStorageItem("refreshToken")}removeCookie(){d.Z.remove(this.config.cookie.name,{domain:location.hostname,path:this.config.cookie.path})}removeSSOToken(){this.session.removeSessionStorageItem("ssoToken")}removeUsername(){this.session.removeSessionStorageItem("username")}removeRefreshToken(){this.session.removeSessionStorageItem("refreshToken")}removeAll(){this.removeCookie(),this.removeSSOToken(),this.removeUsername(),this.removeRefreshToken()}preventSilentAccess(){return g()&&navigator.credentials.preventSilentAccess()}};I=(0,i.__decorate)([(0,i.__param)(0,E.z),(0,i.__param)(1,(0,o.optional)(u))],I);const f=o.DI.createInterface((e=>e.singleton(I)));class M{constructor(e){Object.assign(this,e)}hasAdminProfile(){return this.hasProfile("ADMIN")}hasPermission(e){return this.hasKey(this.permissions,e)}hasProfile(e){return this.hasKey(this.profiles,e)}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some((t=>e.includes(t))))}}(0,i.__decorate)([r.observable],M.prototype,"permissions",void 0),(0,i.__decorate)([r.observable],M.prototype,"profiles",void 0),(0,i.__decorate)([r.observable],M.prototype,"username",void 0);let N=class{loggedUserResultChanged(e,t){var s;null===(s=this.isLoggedInSubject)||void 0===s||s.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return!!this.loggedUserResult&&!(!this.loggedUserResult.authToken||!this.loggedUserResult.sessionId)}constructor(e,t,s,i){this.session=e,this.connect=t,this.messageBuilder=s,this.credentialManager=i,this.isWorking=!1,this.isLoggedInSubject=new n.X(!1)}login(e){var t;return(0,i.__awaiter)(this,void 0,void 0,(function*(){this.isWorking=!0;try{const s=this.messageBuilder.createLoginMessage(e),i=yield this.connect.send(s);if(!i||i.ERROR||(null===(t=i.DETAILS)||void 0===t?void 0:t.ERROR))throw new h.l(s,i);this.applyAuthResults({authToken:i.SESSION_AUTH_TOKEN,refreshToken:i.REFRESH_AUTH_TOKEN,profiles:i.PROFILE,username:i.USER_NAME,permissions:i.PERMISSION,sessionId:i.SESSION_ID}),this.session.setAuthResult(i),l.k.debug("Login Authentication Result:",i)}catch(e){if(l.k.error("Login Authentication Error:",e),!(e instanceof h.l&&e.isIgnorableError()))throw this.removeAuthResults(),e;l.k.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult}))}logout(){var e;return(0,i.__awaiter)(this,void 0,void 0,(function*(){this.isWorking=!0;let t={success:!1};try{const s=this.messageBuilder.createLogoutMessage(this.loggedUserResult);this.session.deleteUserFromSessionStorage(),this.connect.setValidSession(!1);const{CODE:i,DETAILS:r,ERROR:o,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(s),d=null!==(e=null==r?void 0:r.ERROR)&&void 0!==e?e:o,h=n===c.Cs.LOGOUT_NACK;h&&l.k.warn("Unexpected Logout NACK received during logout.",d),t={success:n===c.Cs.LOGOUT_ACK||i===c.QT.SESSION_NOT_FOUND||h,error:d},a&&window.open(a,"_self")}catch(e){const s=new h.l(e.sentMessage,e.receivedMessage);if(l.k.error("Logout Authentication Error:",s),!s.isIgnorableError())throw e;l.k.warn("Ignoring authentication error as it is a known edge case."),t.success=!0}finally{this.removeAuthResults(),this.isWorking=!1}return t}))}reAuthFromSession(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(yield this.ensureConnection()){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.connect.send(e);if((null==t?void 0:t.MESSAGE_TYPE)===c.N$.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.connect.setValidSession(!0),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.connect.setValidSession(!1),!1}))}ensureConnection(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(this.connect.isConnected)return!0;const e=this.session.getSessionStorageItem("hostUrl");return!!e&&this.connect.connect(e)}))}getLoggedUserFromMessage(e){const t=e.USER_NAME,s=e.SESSION_AUTH_TOKEN,i=e.REFRESH_AUTH_TOKEN;return t&&s&&i?{username:t,authToken:s,refreshToken:i,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?(this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId},this.currentUser=new M({permissions:e.permissions,profiles:e.profiles,username:e.username})):this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null,this.currentUser=null}};(0,i.__decorate)([r.observable],N.prototype,"isWorking",void 0),(0,i.__decorate)([r.observable],N.prototype,"currentUser",void 0),(0,i.__decorate)([r.observable],N.prototype,"loggedUserResult",void 0),(0,i.__decorate)([r.volatile],N.prototype,"isLoggedIn",null),N=(0,i.__decorate)([(0,i.__param)(0,E.z),(0,i.__param)(1,a.lj),(0,i.__param)(2,c.sW),(0,i.__param)(3,f)],N);const b=o.DI.createInterface((e=>e.singleton(N)))},4077:(e,t,s)=>{var i;s.d(t,{G:()=>i,l:()=>r}),function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(i||(i={}));class r extends Error{constructor(e,t,s="Auth Failed \n"){super(s),this.sent=e,this.received=t,Object.setPrototypeOf(this,r.prototype)}isIgnorableError(){var e,t,s,i;return null===(i=null===(s=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===s?void 0:s.toLowerCase())||void 0===i?void 0:i.includes("request needs the user to be logged")}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map((e=>this.errorDetailFormatter(e))).join("\n"):""}getDetailsError(){var e,t,s,i;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(i=null===(s=this.received)||void 0===s?void 0:s.DETAILS)||void 0===i?void 0:i.ERROR.map((e=>this.errorDetailFormatter(e))).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasErrorCode(e){var t,s;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(s=this.received)||void 0===s?void 0:s.ERROR.some((t=>t.CODE===e)))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}},62646:(e,t,s)=>{s.d(t,{lj:()=>q});var i=s(186),r=s(39111),o=s(83147),n=s(75951);class a{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map}getMetadataFor(e){return this.cachedMetadata.get(e)}getJsonSchemaFor(e){return this.cachedJsonSchema.get(e)}hasMetadataFor(e){return this.cachedMetadata.has(e)}hasJsonSchemaFor(e){return this.cachedJsonSchema.has(e)}setMetadataFor(e,t){this.cachedMetadata.set(e,t)}setJsonSchemaFor(e,t){this.cachedJsonSchema.set(e,t)}}const c=n.DI.createInterface((e=>e.singleton(a))),d=new RegExp(/wss?:\/\/[-a-zA-Z0-9@:%._\+~#=]{1,256}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)\b\/*$/,"i");var h=s(22296);const E=n.DI.createInterface(),l=n.DI.createInterface();var u=s(26714),g=s(16697),S=s(56383),_=s(29866),T=s(40804),R=s(7211),v=s(44866),p=s(75527);class m{serialize(e){return JSON.stringify(e)}deserialize(e){return e?"string"==typeof e?JSON.parse(e):e.data?JSON.parse(e.data):e.text().then((e=>JSON.parse(e))):Promise.resolve({})}}const O=n.DI.createInterface((e=>e.singleton(m)));let A=class{constructor(e){this.serializer=e}get(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=yield fetch(e,Object.assign(Object.assign({},t),{method:"GET"}));return(t.serializer||this.serializer).deserialize(s)}))}post(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=yield fetch(e,Object.assign(Object.assign({},t),{method:"POST"}));return(t.serializer||this.serializer).deserialize(s)}))}};A=(0,i.__decorate)([(0,i.__param)(0,O)],A);const I=n.DI.createInterface((e=>e.singleton(A)));var f=s(9162);const M={polling:Object.assign({POLLING_MAP:{EVENT_AMEND_USER:{TEMP_FREQUENCY:500,AMOUNT_OF_POLLS:5,QUERIES:["ALL_USERS"]}},POLLING_INTERVAL_MAP:{ALL_TRADES:5e3,ALL_USERS:5e3,ALL_PROCESSES_STATUS:1e4},POLLING_FREQUENCY:5e3},{})};let N=class e{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,s,i,r,o=M){var n;this.http=e,this.messageBuilder=t,this.session=s,this.metaCache=i,this.serializer=r,this.config=o,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new u.X(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.asObservable(),this.ongoingTurbo={},this.streams=new Map}checkHost(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){try{return this.getMessage({MESSAGE_TYPE:f.Cs.HEARTBEAT_PING,SOURCE_REF:"host check"}).then((e=>e.MESSAGE_TYPE===f.Cs.HEARTBEAT_PONG))}catch(e){return h.k.error(e),!1}}))}send(t,s){return this.http.post(e.getUrl(this.host,t),{body:e.getBody(t),headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}httpMode(){return!0}setValidSession(e){h.k.warn("setValidSession() called while in http polling mode.")}connect(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.host=e,this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then((e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e)))}))}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return h.k.debug(`HTTP MODE - ${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.send(s).then((e=>(this.dataLogoff(s.SOURCE_REF).catch((e=>h.k.error(e))),e)))}))}stream(e,t,s,i){const r=this.messageBuilder.createDataLogonMessage(e,i);h.k.debug(`HTTP MODE - ${r.MESSAGE_TYPE} (stream) message created -> `,r);const o=r.SOURCE_REF;this.streams.set(o,{SOURCE_REF:o,POLLING_FREQUENCY:new u.X(this.config.polling.POLLING_FREQUENCY),RESOURCE_NAME:e});const n=this.streams.get(o).POLLING_FREQUENCY,a=(0,g.z)((0,S.D)(this.send(r)),n.pipe((0,_.w)((e=>(0,T.F)(e)))).pipe((0,_.w)((()=>(0,S.D)(this.getMessage(r)))))).pipe((0,R.o)((()=>this.streams.has(o))),(0,v.x)((()=>{h.k.debug(`Terminating stream for ${e} - ${o}`),this.dataLogoff(o)})));return this.streams.get(o).STREAM=a,a}getMessage(t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.http.get(e.getUrl(this.host,t),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}))}getMoreRows(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return h.k.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)}))}dataLogoff(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then((t=>(this.streams.has(e)&&(h.k.debug(`Removing stream ${e}`),this.streams.delete(e)),t)))}))}getMetadata(e,t=!0){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMetaRequestMessage(e);return h.k.debug(`HTTP MODE - ${t.MESSAGE_TYPE} (metadata) message created -> `,t),this.send(t).then((e=>e.DETAILS))}))}getJSONSchema(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMetaRequestMessage(e,f.N$.JSON_SCHEMA_REQUEST);return h.k.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)}))}request(e,t){const s=this.messageBuilder.createRequestMessage(e,t);return h.k.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (request server) message created -> `,s),this.send(s)}commitEvent(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createCommitMessage(e,t);return h.k.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (commit) message created -> `,s),this.send(s).then((t=>(this.maybeTurbo(e,t),t)))}))}maybeTurbo(e,t){var s;if(!(null===(s=null==t?void 0:t.MESSAGE_TYPE)||void 0===s?void 0:s.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void h.k.debug(`${e} polling frequency is already accelerated.`);const i=this.config.polling.POLLING_MAP[e];if(!(null==i?void 0:i.TEMP_FREQUENCY)||!i.AMOUNT_OF_POLLS)return;const r=i.TEMP_FREQUENCY,o=r*i.AMOUNT_OF_POLLS,n=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of i.QUERIES)a[e]=r,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);h.k.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${r}ms DURATION=${o}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout((()=>{h.k.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:n}}),this.ongoingTurbo[e]=!1}),o)}updateIntervals(e){const{POLLING_INTERVAL_MAP:t}=e.polling;t&&(this.config.polling.POLLING_INTERVAL_MAP=t,this.handlePollingIntervalMapUpdate(t))}handlePollingIntervalMapUpdate(e){if(e)for(const t in e){if(!e.hasOwnProperty(t))continue;const s=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=s,h.k.debug(`Setting polling frequency for ${t} = ${s}`),[...this.streams.values()].filter((e=>e.RESOURCE_NAME===t)).forEach((e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(s)}))}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const s=t.MESSAGE_TYPE;let i=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return s===f.N$.DATA_LOGON&&(i=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${i}`}};(0,i.__decorate)([o.observable],N.prototype,"host",void 0),(0,i.__decorate)([o.observable],N.prototype,"isWorking",void 0),(0,i.__decorate)([o.observable],N.prototype,"_isConnected",void 0),(0,i.__decorate)([o.volatile],N.prototype,"isConnected",null),N=(0,i.__decorate)([(0,i.__param)(0,I),(0,i.__param)(1,f.sW),(0,i.__param)(2,p.z),(0,i.__param)(3,c),(0,i.__param)(4,r.JSONSerializer),(0,i.__param)(5,(0,n.optional)(l))],N);const b=n.DI.createInterface((e=>e.singleton(N)));var C=s(72284),U=s(98239),L=s(37674),k=s(30094),w=s(30526),P=s(52702),D=s(68370),y=s(52354),G=s(2355);const F=1e4,H=6e4;var V;!function(e){e.Linear="linear",e.Exponential="exponential"}(V||(V={}));const $=(e,t)=>{const{reconnectInterval:s=F}=e,i=s>H?H:s,r=Math.round(Math.log2(H/i));return i*Math.pow(2,t%r)},Y=e=>{const{reconnectInterval:t=F}=e;return t>H?H:t};class W extends C.x{constructor(){super()}}class B{constructor(e,t,s,i){this._message=e,this._onMessage=t,this._onError=s,this._isSubscription=i}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let K=class{isConnectedChanged(e,t){this.isConnectedSubject.next(t)}constructor(e,t,s,i){this.messageBuilder=e,this.session=t,this.serializer=s,this.uuid=i,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.isConnectedSubject=new u.X(!1),this.isConnected=!1,this.hasValidSession=!1,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.isReconnecting=!1,this.socketMessages=()=>this.wsMessages}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e,t,s){return this.url=e,this.connectOptions=t,this.reconnectOptions=s,new Promise((e=>{var t,s,r,o;h.k.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`);(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(s=this.socketSubscription)||void 0===s||s.unsubscribe(),this.websocket=new y.p({url:this.url,openObserver:{next:()=>{this.isConnected=!0,this.session.setSessionStorageItem("hostUrl",this.url),this.prepareHeartbeat(),h.k.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.disconnectedByServer=!t.wasClean,this.isConnected=!1,this.disconnectedByServer&&h.k.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:this.serializer.serialize,deserializer:this.serializer.deserialize});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(r=this.connectOptions)||void 0===r?void 0:r.connectObserver)&&void 0!==o?o:{next:e=>(0,i.__awaiter)(this,void 0,void 0,(function*(){var t;const s=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.info,s);const{SOURCE_REF:i,MESSAGE_TYPE:r}=e,o=this.getMessageHandler(i,r);if(!o)return;let n=!1;switch(e.MESSAGE_TYPE){case f.N$.EVENT_LOGIN_AUTH_ACK:{this.hasValidSession=!0;const s=e.DETAILS;s.HEARTBEAT_INTERVAL_SECS&&void 0===(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatInterval)&&(this.heartbeatInterval=s.HEARTBEAT_INTERVAL_SECS*this.secondsMultiplier,this.prepareHeartbeat());break}case f.Cs.LOGOUT_ACK:return this.hasValidSession=!1,o.onReceivedMessage.call(this,e),void this.cleanMessages();case f.Cs.LOGON_ACK:return;case f.Cs.LOGOFF_ACK:if(e.LOGGED_OUT&&this.hasValidSession){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);t?t.MESSAGE_TYPE===f.N$.EVENT_LOGIN_AUTH_ACK&&(this.session.setAuthResult(t),this.wsMessageHandlers.forEach((e=>{e.isSubscription&&(e.sentMessage.SESSION_AUTH_TOKEN=t.SESSION_AUTH_TOKEN,this.websocket.next(e.sentMessage))}))):this.hasValidSession=!1}break;case f.Cs.QUERY_UPDATE:if(!o.isSubscription){const e=this.messageBuilder.createDataLogoffMessage(i);this.send(e)}break;case f.Cs.MSG_NACK:n=!0}n?o.onReceivedError.call(this,{receivedMessage:e,sentMessage:o.sentMessage}):o.onReceivedMessage.call(this,e),this.wsMessages.next(e),o.isSubscription||this.removeMessageHandler(i)})),error:e=>{h.k.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.disconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():h.k.info("Connection is now closed")}})}))}prepareHeartbeat(){var e,t,s,r;this.heartbeatSubscription&&this.heartbeatSubscription.unsubscribe();const o=()=>(0,i.__awaiter)(this,void 0,void 0,(function*(){if(!this.isConnected)return;const e={MESSAGE_TYPE:f.Cs.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId()},t=yield this.send(e);this.heartbeatIsEnabled=t.MESSAGE_TYPE===f.Cs.HEARTBEAT_PONG&&t.SOURCE_REF===e.SOURCE_REF}));if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(r=null===(s=this.connectOptions)||void 0===s?void 0:s.heartbeatInterval)&&void 0!==r?r:this.heartbeatInterval;this.heartbeatSubscription=(0,U.H)(e,e).pipe((0,R.o)((()=>this.websocket&&this.isConnected)),(0,w.b)((()=>this.heartbeatLoggingIsEnabled&&h.k.debug(`Sending a heartbeat ping every ${e} ms`)))).subscribe((()=>o()))}}reconnect(){var e,t,s,i,r;const o=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||o)return;this.isReconnecting=!0;const n=(null===(s=this.reconnectOptions)||void 0===s?void 0:s.reconnectStrategy)===V.Exponential?$:Y,a=this.isConnectedSubject.asObservable().pipe((0,_.w)((e=>e?(0,L.of)(-1):((e,t)=>new G.y((s=>{let i,r=0;return function o(){s.next(r),clearTimeout(i),i=setTimeout(o,t(e,r)),r+=1}(),()=>{clearTimeout(i)}})))(this.reconnectOptions,n).pipe((0,P.z)((e=>{var t,s,i;let r;return r=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(i=null===(s=this.reconnectOptions)||void 0===s?void 0:s.reconnectAttempts)&&void 0!==i?i:10,e<r?(0,L.of)(e):(0,k._)((()=>new Error(`Max reconnect attempts ${r} reached.`)))}))))),(0,R.o)((()=>this.websocket&&!this.isConnected)));a.subscribe(null!==(r=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectObserver)&&void 0!==r?r:{next:e=>{h.k.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;h.k.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.isReconnecting=!1},complete:()=>{h.k.info(this.isConnected?"Reconnected":"Disconnected"),this.isReconnecting=!1,this.wsMessageHandlers.forEach((e=>{e.isSubscription&&this.websocket.next(e.sentMessage)}))}})}reset(){this.isConnected=!1,this.websocket&&this.websocket.complete(),this.websocket=null,this.cleanMessages()}cleanMessages(){this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new W,this.wsMessageHandlers=new Map}send(e,t=!0){if(!this.isConnected)return void Promise.reject(new Error("WebSocket connection is closed"));const s=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.info,s),new Promise(((s,i)=>{const r=e=>{s(e)},o=e=>{i(e)};t&&this.setMessageHandler(e,r,o),this.websocket.next(e)}))}sendForStream(e,t,s){if(!this.isConnected)return(0,k._)((()=>new Error("WebSocket connection is closed")));if(!this.hasValidSession)return(0,k._)((()=>new Error("WebSocket connection is open but there is no valid/active session, please check your auth flow")));const i=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.info,i),this.setMessageHandler(e,t,s,!0),this.websocket.next(e),(0,S.D)(this.wsMessages.pipe((0,D.h)((t=>t.SOURCE_REF===e.SOURCE_REF))))}setMessageHandler(e,t,s,i=!1){const r=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.debug,r),this.wsMessageHandlers.set(e.SOURCE_REF,new B(e,t,s,i))}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const s=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,h.k.debug,s),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,s){switch(e){case f.Cs.HEARTBEAT_PING:case f.Cs.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(s);break;default:this.messageLoggingIsEnabled&&t(s)}}};(0,i.__decorate)([o.observable],K.prototype,"websocket",void 0),(0,i.__decorate)([o.observable],K.prototype,"wsMessages",void 0),(0,i.__decorate)([o.observable],K.prototype,"wsMessageHandlers",void 0),(0,i.__decorate)([o.observable],K.prototype,"isConnected",void 0),(0,i.__decorate)([o.observable],K.prototype,"disconnectedByServer",void 0),(0,i.__decorate)([o.observable],K.prototype,"hasValidSession",void 0),(0,i.__decorate)([o.observable],K.prototype,"heartbeatIsEnabled",void 0),(0,i.__decorate)([o.observable],K.prototype,"isReconnecting",void 0),K=(0,i.__decorate)([(0,i.__param)(0,f.sW),(0,i.__param)(1,p.z),(0,i.__param)(2,O),(0,i.__param)(3,r.UUID)],K);const x=n.DI.createInterface((e=>e.singleton(K))),j={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0}};let Q=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}constructor(e,t,s,i=j){this.socket=e,this.messageBuilder=t,this.metaCache=s,this.config=i,this.isWorking=!1}httpMode(){return!1}setValidSession(e){this.socket.hasValidSession=e}send(e,t){return this.socket.send(e,t)}connect(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.socket.reset(),d.test(e)?this.socket.connect(e,this.config.connect,this.config.reconnect):(h.k.error(`Specified host (${e}) is not valid WebSocket url. Connection will not proceed.`),void h.k.warn("Make sure the host url starts with wss:// or ws://"))}))}disconnect(){this.socket.reset()}snapshot(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return h.k.debug(`${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.socket.send(s)}))}stream(e,t,s,i){const r=this.messageBuilder.createDataLogonMessage(e,i);return h.k.debug(`${r.MESSAGE_TYPE} (stream) message created -> `,r),this.socket.sendForStream(r,t,s)}getMoreRows(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return h.k.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t,!1)}))}dataLogoff(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return h.k.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)}))}getMetadata(e,t=!0){var s;return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(t&&this.metaCache.hasMetadataFor(e))return h.k.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);let r;h.k.debug(`${i.MESSAGE_TYPE} (metadata) message created -> `,i);try{this.isWorking=!0;const t=yield this.socket.send(i);r=null!==(s=null==t?void 0:t.DETAILS)&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setMetadataFor(e,r)}catch(e){h.k.error(e)}finally{this.isWorking=!1}return r}))}getJSONSchema(e,t=!0){var s;return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(t&&this.metaCache.hasJsonSchemaFor(e))return h.k.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const i=this.messageBuilder.createMetaRequestMessage(e,f.N$.JSON_SCHEMA_REQUEST);let r;h.k.debug(`${i.MESSAGE_TYPE} (json schema) message created -> `,i);try{this.isWorking=!0,r=null!==(s=yield this.socket.send(i))&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setJsonSchemaFor(e,r)}catch(e){h.k.error(e)}finally{this.isWorking=!1}return r}))}request(e,t){const s=this.messageBuilder.createRequestMessage(e,t);return h.k.debug(`${s.MESSAGE_TYPE} (request server) message created -> `,s),this.socket.send(s)}commitEvent(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createCommitMessage(e,t);return h.k.debug(`${s.MESSAGE_TYPE} (commit) message created -> `,s),this.socket.send(s)}))}};(0,i.__decorate)([o.observable],Q.prototype,"isWorking",void 0),(0,i.__decorate)([o.volatile],Q.prototype,"isConnected",null),Q=(0,i.__decorate)([(0,i.__param)(0,x),(0,i.__param)(1,f.sW),(0,i.__param)(2,c),(0,i.__param)(3,(0,n.optional)(E))],Q);const J="true"===r.FORCE_HTTP||!1,z=n.DI.createInterface((e=>e.singleton(Q))),q=n.DI.createInterface((e=>J?e.aliasTo(b):e.aliasTo(z)))},9162:(e,t,s)=>{s.d(t,{Cs:()=>i,N$:()=>r,QT:()=>o,sW:()=>l});var i,r,o,n=s(186),a=s(39111),c=s(75951),d=s(4077),h=s(75527);!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE"}(i||(i={})),function(e){e.EVENT_LOGIN_AUTH="EVENT_LOGIN_AUTH",e.EVENT_LOGIN_AUTH_ACK="EVENT_LOGIN_AUTH_ACK",e.EVENT_LOGIN_AUTH_NACK="EVENT_LOGIN_AUTH_NACK",e.EVENT_LOGOUT="EVENT_LOGOUT",e.DATA_LOGON="DATA_LOGON",e.DATA_LOGOFF="DATA_LOGOFF",e.META_REQUEST="META_REQUEST",e.JSON_SCHEMA_REQUEST="JSON_SCHEMA_REQUEST",e.RESOURCES_REQUEST="RESOURCES_REQUEST",e.EVENT_CHANGE_USER_PASSWORD="EVENT_CHANGE_USER_PASSWORD",e.EVENT_SELF_SERVICE_PASSWORD_RESET="EVENT_SELF_SERVICE_PASSWORD_RESET",e.EVENT_PASSWORD_RESET_ACTION="EVENT_PASSWORD_RESET_ACTION"}(r||(r={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(o||(o={}));let E=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case d.G.BASIC:t={USER_NAME:e.username,PASSWORD:e.password};break;case d.G.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken};break;case d.G.SSO:t={SSO_TOKEN:e.ssoToken};break;case d.G.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,s;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(s=e.sessionId)&&void 0!==s?s:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:r.DATA_LOGOFF,SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createRequestMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e.startsWith("REQ_")?e:`REQ_${e}`},t)}createMetaRequestMessage(e,t=r.META_REQUEST){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:t,DETAILS:{FEATURE:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createCommitMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e},t)}createRefreshTokenMessage(){return{SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken")}}}createChangePasswordMessage(e,t,s){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:s}}}createForgotPasswordMessage(e,t,s=e){return{USER_NAME:s,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,s,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:s}}}createMoreRowsMessage(e){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:i.MORE_ROWS,DETAILS:{SOURCE_REF:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const s={"Content-type":t};return e.SOURCE_REF&&(s["source-ref"]=e.SOURCE_REF,s.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(s["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===r.EVENT_LOGOUT&&(s["SESSION-ID"]=e.SESSION_ID),s}};E=(0,n.__decorate)([(0,n.__param)(0,h.z),(0,n.__param)(1,a.UUID)],E);const l=c.DI.createInterface((e=>e.singleton(E)))},5127:(e,t,s)=>{s.d(t,{$:()=>r});var i=s(22296);function r(e,t="ROW_REF"){const s=e=>{const s=Object.assign(Object.assign({},e),{[t]:e.DETAILS[t]});return delete s.DETAILS,s},r=[],o=[],n=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":r.push(s(t));break;case"MODIFY":n.push(s(t));break;case"DELETE":o.push(s(t));break;default:i.k.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:r,deletes:o,updates:n,SOURCE_REF:e.SOURCE_REF}}},6852:(e,t,s)=>{s.d(t,{Yh:()=>v});var i=s(186),r=s(83147),o=s(75951),n=s(98239),a=s(19788),c=s(56383),d=s(29866),h=s(7211),E=s(35991),l=s(62646),u=s(66306),g=s(22296);var S=s(5127),_=s(82940);const T={options:{criteria:"",isSnapshot:!1,maxRows:_.WJ.MAX_ROWS_250,maxView:_.WJ.MAX_VIEW_1000,pollingInterval:_.WJ.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1},criteriaToFields:function(e){const t=e.split("&&").map((e=>e.trim())),s={};return t.forEach((e=>{const t=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),i=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");s[t]=i})),s},dataServerResultFilter:S.$};let R=class{constructor(e,t,s=T){this.connect=e,this.auth=t,this.config=s,this.initialized=!1,this.readOnly=!0,this.originalFieldDef=[],this.requestFields=[],this.fieldMetadata=[],this.availableIndexes=[]}validResourceName(e){return!!e&&!!e.trim().length}init(e,t=!0){var s;return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(!this.validResourceName(null==e?void 0:e.resourceName))return!1;if(this.options=Object.assign(Object.assign({},this.config.options),e),t){g.k.debug(`Initializing ${this.options.resourceName} Datasource`);const t=yield this.connect.getMetadata(this.options.resourceName).catch((t=>g.k.error(`Metadata Fetch failed for ${e.resourceName}:`,t)));if(!t)return this.deinit(),!1;this.resourceType=t.TYPE,this.availableIndexes=null!==(s=t.INDEXES)&&void 0!==s?s:[],this.originalFieldDef=(0,u.C)(t),this.fieldMetadata=(0,u.i)(this.originalFieldDef),this.requestFields=t.REQUEST_FIELD||[],g.k.debug(`Datasource for ${this.options.resourceName} is ready`)}return this.options.isSnapshot||(this._stream=yield this.createStream()),this.initialized=!0,this.initialized}))}deinit(){this.initialized=!1,this.options=void 0,this.resourceType=void 0,this.availableIndexes=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[]}get stream(){return this._stream}get params(){const e={CRITERIA_MATCH:this.options.criteria,FIELDS:this.options.fields,MAX_ROWS:this.options.maxRows,MAX_VIEW:this.options.maxView,MOVING_VIEW:this.options.movingView,POLLING_INTERVAL:this.options.pollingInterval,REQUEST:this.options.request,REVERSE:this.options.reverse};if(this.options.orderBy)if(this.availableIndexes.findIndex((e=>e.NAME===this.options.orderBy))>-1)e.ORDER_BY=this.options.orderBy;else{const e=this.availableIndexes.map((e=>e.NAME));g.k.warn("Specified [orderBy] index is not valid and will not be used. See https://learn.genesis.global/docs/database/data-types/index-entities/ - Available indexes:",e)}return g.k.debug("Getting configured params:",e),e}snapshot(){var e;return(0,i.__awaiter)(this,void 0,void 0,(function*(){switch(g.k.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case _._g.DATASERVER:return this.connect.snapshot(this.options.resourceName,this.params);case _._g.REQUEST_SERVER:{const t=this.params,{REQUEST:s,CRITERIA_MATCH:r}=t,o={DETAILS:(0,i.__rest)(t,["REQUEST","CRITERIA_MATCH"]),REQUEST:Object.assign(Object.assign(Object.assign({},Object.fromEntries(this.requestFields.map((e=>[e.NAME,"*"])))),this.params.REQUEST),(null===(e=null==this?void 0:this.options)||void 0===e?void 0:e.criteria)?this.config.criteriaToFields(this.options.criteria):{})};return this.connect.request(this.options.resourceName,o)}default:throw new Error(`Snapshot not supported for selected resource type: ${this.resourceType}`)}}))}snapshotFiltered(e="ROW_REF"){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.snapshot();return Array.isArray(t)?t:t.REPLY?t.REPLY:t.ROW?this.config.dataServerResultFilter(t,e).inserts:void 0}))}createStream(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(![_._g.DATASERVER,_._g.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===_._g.DATASERVER?this.createDataserverStream():(g.k.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())}))}createDataserverStream(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.connect.stream(this.options.resourceName,(e=>{}),(e=>g.k.error(e)),this.params)}))}createReqRepStream(){return(0,n.H)(0,this.params.POLLING_INTERVAL).pipe((0,d.w)((()=>(0,a.a)([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe((0,h.o)((()=>this.connect.isConnected&&this.auth.isLoggedIn)),(0,d.w)((()=>(0,c.D)(this.snapshot())))))))}};(0,i.__decorate)([r.observable],R.prototype,"initialized",void 0),(0,i.__decorate)([r.observable],R.prototype,"readOnly",void 0),(0,i.__decorate)([r.volatile],R.prototype,"stream",null),R=(0,i.__decorate)([(0,i.__param)(0,l.lj),(0,i.__param)(1,E.g),(0,i.__param)(2,(0,o.optional)(_.tt))],R);const v=o.DI.createInterface((e=>e.transient(R)))},82940:(e,t,s)=>{s.d(t,{WJ:()=>o,_g:()=>i,tt:()=>n});var i,r=s(75951);!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(i||(i={}));class o{}o.MAX_ROWS_250=250,o.MAX_VIEW_1000=1e3,o.REQ_REP_POLLING_INTERVAL_MS=1e4,o.DATASERVER_ROW_ID="ROW_REF",o.REQUEST_SERVER_ROW_ID="RECORD_ID";const n=r.DI.createInterface()},32449:(e,t,s)=>{function i(e,t=";"){return e?e.split(t).map((e=>e.trim())).sort(((e,t)=>e.localeCompare(t))).join(t):e}s.d(t,{p:()=>i})},83123:(e,t,s)=>{var i;s.d(t,{E:()=>r,r:()=>i}),function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.ENUM="ENUM",e.DATE="DATE",e.DATETIME="DATETIME",e.CUSTOM="CUSTOM"}(i||(i={}));const r={STRING:i.STRING,ENUM:i.ENUM,BOOLEAN:i.BOOLEAN,INT:i.NUMBER,DOUBLE:i.NUMBER,BIGDECIMAL:i.NUMBER,DATE:i.DATE,DATETIME:i.DATETIME}},66306:(e,t,s)=>{s.d(t,{C:()=>a,i:()=>n});var i=s(82940),r=s(22296),o=s(83123);const n=e=>e?e.map((e=>{const t={name:e.NAME,type:o.E[e.TYPE]||o.r.STRING};if(e.TYPE===o.r.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){r.k.error(e),t.enumOptions=[]}return t})):null,a=e=>{const t=null==e?void 0:e.TYPE;if(t===i._g.DATASERVER)return e.FIELD||[];if(t===i._g.REQUEST_SERVER)return e.REPLY_FIELD||[];throw new Error(`Unsupported resource type: ${t}`)}},75527:(e,t,s)=>{s.d(t,{z:()=>o});var i=s(75951);class r{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach((e=>this.removeSessionStorageItem(e)))}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID)}captureReturnUrl(){const{pathname:e,search:t,hash:s}=location;if("/login"===e)return;const i=`${"/"!==e?e:""}`;this.returnUrl=`${i}${t}${s}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,s){"local"===s?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const o=i.DI.createInterface((e=>e.singleton(r)))},22296:(e,t,s)=>{s.d(t,{k:()=>r});var i=s(39111);const r=(0,i.createLogger)("foundation-comms")}}]);
2
- //# sourceMappingURL=659.0fa4e3d87da3edc49a6c81e060003194.js.map
1
+ "use strict";(self.webpackChunk_genesislcap_design_system_configurator=self.webpackChunk_genesislcap_design_system_configurator||[]).push([[659],{35991:(e,t,s)=>{s.d(t,{g:()=>b});var i=s(186),r=s(83147),o=s(75951),n=s(26714),a=s(62646),c=s(9162),d=s(19082),h=s(4077),E=s(75527),l=s(22296);const u=o.DI.createInterface();function g(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(l.k.warn("PasswordCredential not available in this browser."),!1):(l.k.warn("CredentialsContainer not available in this browser."),!1)}const S=":";function _(e="",t=S,s){return e.split(t,s).map((e=>e.trim())).filter((e=>""!==e))}function T(e,t=S){const s="string"==typeof e&&e.trim();return!!s&&s.includes(t)}function R(e,t=S){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function v(e,t=S){for(const s of e)if(T(s,t))return s;return e.find((e=>"string"==typeof e&&!!e.trim()))}function p(e,t,s){const i="string"==typeof e&&e.trim();return!i||s&&!i.includes(s)||R(i)>1?s&&t&&s!==t?`${t}:${s}`:t||s:i}function m(e="credential"){l.k.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const O={password:!0,mediation:"optional"},A={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let I=class{constructor(e,t=A){this.session=e,this.config=t}createBasicCredentials(e){return{type:h.G.BASIC,username:e.username,password:e.password}}createRefreshCredentials(e){var t,s;return{type:h.G.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(s=null==e?void 0:e.refreshToken)&&void 0!==s?s:this.getRefreshToken()}}createSSOCredentials(e){var t;return{type:h.G.SSO,ssoToken:null!==(t=null==e?void 0:e.ssoToken)&&void 0!==t?t:this.getSSOToken()}}validateBasicCredentials(e){return e&&!!e.username&&!!e.password}validateRefreshCredentials(e){return e&&!!e.refreshToken&&!!e.username}validateSSOCredentials(e){return e&&!!e.ssoToken}validateUserCredentialData(e,t){const s=e&&!!e.id&&!!e.name&&!e.name.includes(S)&&R(e.id)<=1;return t?s&&!!e.password:s}normaliseLegacyCredentialData(e,t){if(this.validateUserCredentialData(e,!0))return[e,!0];if(this.validateUserCredentialData(t))return[t,!1];if(e)try{const t=e,[s]=_(t.name||t.id),[i,r]=_(v([t.id,t.name]));return[{id:p(t.id||t.name,s,r),name:s,password:t.password||""},!0]}catch(e){m("PasswordCredential")}if(t)try{const e=t,[s]=_(e.name||e.username||e.organisation),[i,r]=_(v([e.organisation||e.username||e.name]));return[{id:p(e.id||e.username||e.name,s,r),name:s,password:e.password||""},!1]}catch(e){m("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(!g())return;const t=new PasswordCredential(e);return l.k.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)}))}getCredentialsFromContainer(e=O){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(g())return l.k.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)}))}storeCredentialsInCookie(e){const{password:t}=e,s=(0,i.__rest)(e,["password"]),r=this.config.cookie.storePasswords?e:s;return l.k.debug("Storing credentials in cookie"),!!d.Z.set(this.config.cookie.name,JSON.stringify(r),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){l.k.debug("Getting credentials from cookie");const e=d.Z.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(g()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))}))}getCredentials(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return g()?this.getCredentialsFromContainer(e):Promise.resolve(this.getCredentialsFromCookie())}))}getSSOToken(){return this.session.getSessionStorageItem("ssoToken")}getUsername(){return this.session.getSessionStorageItem("username")}getRefreshToken(){return this.session.getSessionStorageItem("refreshToken")}removeCookie(){d.Z.remove(this.config.cookie.name,{domain:location.hostname,path:this.config.cookie.path})}removeSSOToken(){this.session.removeSessionStorageItem("ssoToken")}removeUsername(){this.session.removeSessionStorageItem("username")}removeRefreshToken(){this.session.removeSessionStorageItem("refreshToken")}removeAll(){this.removeCookie(),this.removeSSOToken(),this.removeUsername(),this.removeRefreshToken()}preventSilentAccess(){return g()&&navigator.credentials.preventSilentAccess()}};I=(0,i.__decorate)([(0,i.__param)(0,E.z),(0,i.__param)(1,(0,o.optional)(u))],I);const f=o.DI.createInterface((e=>e.singleton(I)));class M{constructor(e){Object.assign(this,e)}hasAdminProfile(){return this.hasProfile("ADMIN")}hasPermission(e){return this.hasKey(this.permissions,e)}hasProfile(e){return this.hasKey(this.profiles,e)}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some((t=>e.includes(t))))}}(0,i.__decorate)([r.observable],M.prototype,"permissions",void 0),(0,i.__decorate)([r.observable],M.prototype,"profiles",void 0),(0,i.__decorate)([r.observable],M.prototype,"username",void 0);let N=class{loggedUserResultChanged(e,t){var s;null===(s=this.isLoggedInSubject)||void 0===s||s.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return!!this.loggedUserResult&&!(!this.loggedUserResult.authToken||!this.loggedUserResult.sessionId)}constructor(e,t,s,i){this.session=e,this.connect=t,this.messageBuilder=s,this.credentialManager=i,this.isWorking=!1,this.isLoggedInSubject=new n.X(!1)}login(e){var t;return(0,i.__awaiter)(this,void 0,void 0,(function*(){this.isWorking=!0;try{const s=this.messageBuilder.createLoginMessage(e),i=yield this.connect.send(s);if(!i||i.ERROR||(null===(t=i.DETAILS)||void 0===t?void 0:t.ERROR))throw new h.l(s,i);this.applyAuthResults({authToken:i.SESSION_AUTH_TOKEN,refreshToken:i.REFRESH_AUTH_TOKEN,profiles:i.PROFILE,username:i.USER_NAME,permissions:i.PERMISSION,sessionId:i.SESSION_ID}),this.session.setAuthResult(i),l.k.debug("Login Authentication Result:",i)}catch(e){if(l.k.error("Login Authentication Error:",e),!(e instanceof h.l&&e.isIgnorableError()))throw this.removeAuthResults(),e;l.k.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult}))}logout(){var e;return(0,i.__awaiter)(this,void 0,void 0,(function*(){this.isWorking=!0;let t={success:!1};try{const s=this.messageBuilder.createLogoutMessage(this.loggedUserResult);this.session.deleteUserFromSessionStorage(),this.connect.setValidSession(!1);const{CODE:i,DETAILS:r,ERROR:o,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(s),d=null!==(e=null==r?void 0:r.ERROR)&&void 0!==e?e:o,h=n===c.Cs.LOGOUT_NACK;h&&l.k.warn("Unexpected Logout NACK received during logout.",d),t={success:n===c.Cs.LOGOUT_ACK||i===c.QT.SESSION_NOT_FOUND||h,error:d},a&&window.open(a,"_self")}catch(e){const s=new h.l(e.sentMessage,e.receivedMessage);if(l.k.error("Logout Authentication Error:",s),!s.isIgnorableError())throw e;l.k.warn("Ignoring authentication error as it is a known edge case."),t.success=!0}finally{this.removeAuthResults(),this.isWorking=!1}return t}))}reAuthFromSession(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(yield this.ensureConnection()){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.connect.send(e);if((null==t?void 0:t.MESSAGE_TYPE)===c.N$.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.connect.setValidSession(!0),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.connect.setValidSession(!1),!1}))}ensureConnection(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(this.connect.isConnected)return!0;const e=this.session.getSessionStorageItem("hostUrl");return!!e&&this.connect.connect(e)}))}getLoggedUserFromMessage(e){const t=e.USER_NAME,s=e.SESSION_AUTH_TOKEN,i=e.REFRESH_AUTH_TOKEN;return t&&s&&i?{username:t,authToken:s,refreshToken:i,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?(this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId},this.currentUser=new M({permissions:e.permissions,profiles:e.profiles,username:e.username})):this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null,this.currentUser=null}};(0,i.__decorate)([r.observable],N.prototype,"isWorking",void 0),(0,i.__decorate)([r.observable],N.prototype,"currentUser",void 0),(0,i.__decorate)([r.observable],N.prototype,"loggedUserResult",void 0),(0,i.__decorate)([r.volatile],N.prototype,"isLoggedIn",null),N=(0,i.__decorate)([(0,i.__param)(0,E.z),(0,i.__param)(1,a.lj),(0,i.__param)(2,c.sW),(0,i.__param)(3,f)],N);const b=o.DI.createInterface((e=>e.singleton(N)))},4077:(e,t,s)=>{var i;s.d(t,{G:()=>i,l:()=>r}),function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(i||(i={}));class r extends Error{constructor(e,t,s="Auth Failed \n"){super(s),this.sent=e,this.received=t,Object.setPrototypeOf(this,r.prototype)}isIgnorableError(){var e,t,s,i;return null===(i=null===(s=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===s?void 0:s.toLowerCase())||void 0===i?void 0:i.includes("request needs the user to be logged")}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map((e=>this.errorDetailFormatter(e))).join("\n"):""}getDetailsError(){var e,t,s,i;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(i=null===(s=this.received)||void 0===s?void 0:s.DETAILS)||void 0===i?void 0:i.ERROR.map((e=>this.errorDetailFormatter(e))).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasErrorCode(e){var t,s;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(s=this.received)||void 0===s?void 0:s.ERROR.some((t=>t.CODE===e)))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}},62646:(e,t,s)=>{s.d(t,{lj:()=>q});var i=s(186),r=s(95189),o=s(83147),n=s(75951);class a{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map}getMetadataFor(e){return this.cachedMetadata.get(e)}getJsonSchemaFor(e){return this.cachedJsonSchema.get(e)}hasMetadataFor(e){return this.cachedMetadata.has(e)}hasJsonSchemaFor(e){return this.cachedJsonSchema.has(e)}setMetadataFor(e,t){this.cachedMetadata.set(e,t)}setJsonSchemaFor(e,t){this.cachedJsonSchema.set(e,t)}}const c=n.DI.createInterface((e=>e.singleton(a))),d=new RegExp(/wss?:\/\/[-a-zA-Z0-9@:%._\+~#=]{1,256}\b([-a-zA-Z0-9()@:%_\+.~#?&\/=]*)\b\/*$/,"i");var h=s(22296);const E=n.DI.createInterface(),l=n.DI.createInterface();var u=s(26714),g=s(16697),S=s(56383),_=s(29866),T=s(40804),R=s(7211),v=s(44866),p=s(75527);class m{serialize(e){return JSON.stringify(e)}deserialize(e){return e?"string"==typeof e?JSON.parse(e):e.data?JSON.parse(e.data):e.text().then((e=>JSON.parse(e))):Promise.resolve({})}}const O=n.DI.createInterface((e=>e.singleton(m)));let A=class{constructor(e){this.serializer=e}get(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=yield fetch(e,Object.assign(Object.assign({},t),{method:"GET"}));return(t.serializer||this.serializer).deserialize(s)}))}post(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=yield fetch(e,Object.assign(Object.assign({},t),{method:"POST"}));return(t.serializer||this.serializer).deserialize(s)}))}};A=(0,i.__decorate)([(0,i.__param)(0,O)],A);const I=n.DI.createInterface((e=>e.singleton(A)));var f=s(9162);const M={polling:Object.assign({POLLING_MAP:{EVENT_AMEND_USER:{TEMP_FREQUENCY:500,AMOUNT_OF_POLLS:5,QUERIES:["ALL_USERS"]}},POLLING_INTERVAL_MAP:{ALL_TRADES:5e3,ALL_USERS:5e3,ALL_PROCESSES_STATUS:1e4},POLLING_FREQUENCY:5e3},{})};let N=class e{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,s,i,r,o=M){var n;this.http=e,this.messageBuilder=t,this.session=s,this.metaCache=i,this.serializer=r,this.config=o,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new u.X(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.asObservable(),this.ongoingTurbo={},this.streams=new Map}checkHost(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){try{return this.getMessage({MESSAGE_TYPE:f.Cs.HEARTBEAT_PING,SOURCE_REF:"host check"}).then((e=>e.MESSAGE_TYPE===f.Cs.HEARTBEAT_PONG))}catch(e){return h.k.error(e),!1}}))}send(t,s){return this.http.post(e.getUrl(this.host,t),{body:e.getBody(t),headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}httpMode(){return!0}setValidSession(e){h.k.warn("setValidSession() called while in http polling mode.")}connect(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.host=e,this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then((e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e)))}))}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return h.k.debug(`HTTP MODE - ${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.send(s).then((e=>(this.dataLogoff(s.SOURCE_REF).catch((e=>h.k.error(e))),e)))}))}stream(e,t,s,i){const r=this.messageBuilder.createDataLogonMessage(e,i);h.k.debug(`HTTP MODE - ${r.MESSAGE_TYPE} (stream) message created -> `,r);const o=r.SOURCE_REF;this.streams.set(o,{SOURCE_REF:o,POLLING_FREQUENCY:new u.X(this.config.polling.POLLING_FREQUENCY),RESOURCE_NAME:e});const n=this.streams.get(o).POLLING_FREQUENCY,a=(0,g.z)((0,S.D)(this.send(r)),n.pipe((0,_.w)((e=>(0,T.F)(e)))).pipe((0,_.w)((()=>(0,S.D)(this.getMessage(r)))))).pipe((0,R.o)((()=>this.streams.has(o))),(0,v.x)((()=>{h.k.debug(`Terminating stream for ${e} - ${o}`),this.dataLogoff(o)})));return this.streams.get(o).STREAM=a,a}getMessage(t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.http.get(e.getUrl(this.host,t),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})}))}getMoreRows(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return h.k.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)}))}dataLogoff(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then((t=>(this.streams.has(e)&&(h.k.debug(`Removing stream ${e}`),this.streams.delete(e)),t)))}))}getMetadata(e,t=!0){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMetaRequestMessage(e);return h.k.debug(`HTTP MODE - ${t.MESSAGE_TYPE} (metadata) message created -> `,t),this.send(t).then((e=>e.DETAILS))}))}getJSONSchema(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMetaRequestMessage(e,f.N$.JSON_SCHEMA_REQUEST);return h.k.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)}))}request(e,t){const s=this.messageBuilder.createRequestMessage(e,t);return h.k.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (request server) message created -> `,s),this.send(s)}commitEvent(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createCommitMessage(e,t);return h.k.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (commit) message created -> `,s),this.send(s).then((t=>(this.maybeTurbo(e,t),t)))}))}maybeTurbo(e,t){var s;if(!(null===(s=null==t?void 0:t.MESSAGE_TYPE)||void 0===s?void 0:s.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void h.k.debug(`${e} polling frequency is already accelerated.`);const i=this.config.polling.POLLING_MAP[e];if(!(null==i?void 0:i.TEMP_FREQUENCY)||!i.AMOUNT_OF_POLLS)return;const r=i.TEMP_FREQUENCY,o=r*i.AMOUNT_OF_POLLS,n=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of i.QUERIES)a[e]=r,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);h.k.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${r}ms DURATION=${o}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout((()=>{h.k.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:n}}),this.ongoingTurbo[e]=!1}),o)}updateIntervals(e){const{POLLING_INTERVAL_MAP:t}=e.polling;t&&(this.config.polling.POLLING_INTERVAL_MAP=t,this.handlePollingIntervalMapUpdate(t))}handlePollingIntervalMapUpdate(e){if(e)for(const t in e){if(!e.hasOwnProperty(t))continue;const s=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=s,h.k.debug(`Setting polling frequency for ${t} = ${s}`),[...this.streams.values()].filter((e=>e.RESOURCE_NAME===t)).forEach((e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(s)}))}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const s=t.MESSAGE_TYPE;let i=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return s===f.N$.DATA_LOGON&&(i=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${i}`}};(0,i.__decorate)([o.observable],N.prototype,"host",void 0),(0,i.__decorate)([o.observable],N.prototype,"isWorking",void 0),(0,i.__decorate)([o.observable],N.prototype,"_isConnected",void 0),(0,i.__decorate)([o.volatile],N.prototype,"isConnected",null),N=(0,i.__decorate)([(0,i.__param)(0,I),(0,i.__param)(1,f.sW),(0,i.__param)(2,p.z),(0,i.__param)(3,c),(0,i.__param)(4,r.JSONSerializer),(0,i.__param)(5,(0,n.optional)(l))],N);const b=n.DI.createInterface((e=>e.singleton(N)));var C=s(72284),U=s(98239),L=s(37674),k=s(30094),w=s(30526),P=s(52702),D=s(68370),y=s(52354),G=s(2355);const F=1e4,H=6e4;var V;!function(e){e.Linear="linear",e.Exponential="exponential"}(V||(V={}));const $=(e,t)=>{const{reconnectInterval:s=F}=e,i=s>H?H:s,r=Math.round(Math.log2(H/i));return i*Math.pow(2,t%r)},Y=e=>{const{reconnectInterval:t=F}=e;return t>H?H:t};class W extends C.x{constructor(){super()}}class B{constructor(e,t,s,i){this._message=e,this._onMessage=t,this._onError=s,this._isSubscription=i}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let K=class{isConnectedChanged(e,t){this.isConnectedSubject.next(t)}constructor(e,t,s,i){this.messageBuilder=e,this.session=t,this.serializer=s,this.uuid=i,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.isConnectedSubject=new u.X(!1),this.isConnected=!1,this.hasValidSession=!1,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.isReconnecting=!1,this.socketMessages=()=>this.wsMessages}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e,t,s){return this.url=e,this.connectOptions=t,this.reconnectOptions=s,new Promise((e=>{var t,s,r,o;h.k.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`);(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(s=this.socketSubscription)||void 0===s||s.unsubscribe(),this.websocket=new y.p({url:this.url,openObserver:{next:()=>{this.isConnected=!0,this.session.setSessionStorageItem("hostUrl",this.url),this.prepareHeartbeat(),h.k.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.disconnectedByServer=!t.wasClean,this.isConnected=!1,this.disconnectedByServer&&h.k.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:this.serializer.serialize,deserializer:this.serializer.deserialize});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(r=this.connectOptions)||void 0===r?void 0:r.connectObserver)&&void 0!==o?o:{next:e=>(0,i.__awaiter)(this,void 0,void 0,(function*(){var t;const s=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.info,s);const{SOURCE_REF:i,MESSAGE_TYPE:r}=e,o=this.getMessageHandler(i,r);if(!o)return;let n=!1;switch(e.MESSAGE_TYPE){case f.N$.EVENT_LOGIN_AUTH_ACK:{this.hasValidSession=!0;const s=e.DETAILS;s.HEARTBEAT_INTERVAL_SECS&&void 0===(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatInterval)&&(this.heartbeatInterval=s.HEARTBEAT_INTERVAL_SECS*this.secondsMultiplier,this.prepareHeartbeat());break}case f.Cs.LOGOUT_ACK:return this.hasValidSession=!1,o.onReceivedMessage.call(this,e),void this.cleanMessages();case f.Cs.LOGON_ACK:return;case f.Cs.LOGOFF_ACK:if(e.LOGGED_OUT&&this.hasValidSession){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);t?t.MESSAGE_TYPE===f.N$.EVENT_LOGIN_AUTH_ACK&&(this.session.setAuthResult(t),this.wsMessageHandlers.forEach((e=>{e.isSubscription&&(e.sentMessage.SESSION_AUTH_TOKEN=t.SESSION_AUTH_TOKEN,this.websocket.next(e.sentMessage))}))):this.hasValidSession=!1}break;case f.Cs.QUERY_UPDATE:if(!o.isSubscription){const e=this.messageBuilder.createDataLogoffMessage(i);this.send(e)}break;case f.Cs.MSG_NACK:n=!0}n?o.onReceivedError.call(this,{receivedMessage:e,sentMessage:o.sentMessage}):o.onReceivedMessage.call(this,e),this.wsMessages.next(e),o.isSubscription||this.removeMessageHandler(i)})),error:e=>{h.k.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.disconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():h.k.info("Connection is now closed")}})}))}prepareHeartbeat(){var e,t,s,r;this.heartbeatSubscription&&this.heartbeatSubscription.unsubscribe();const o=()=>(0,i.__awaiter)(this,void 0,void 0,(function*(){if(!this.isConnected)return;const e={MESSAGE_TYPE:f.Cs.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId()},t=yield this.send(e);this.heartbeatIsEnabled=t.MESSAGE_TYPE===f.Cs.HEARTBEAT_PONG&&t.SOURCE_REF===e.SOURCE_REF}));if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(r=null===(s=this.connectOptions)||void 0===s?void 0:s.heartbeatInterval)&&void 0!==r?r:this.heartbeatInterval;this.heartbeatSubscription=(0,U.H)(e,e).pipe((0,R.o)((()=>this.websocket&&this.isConnected)),(0,w.b)((()=>this.heartbeatLoggingIsEnabled&&h.k.debug(`Sending a heartbeat ping every ${e} ms`)))).subscribe((()=>o()))}}reconnect(){var e,t,s,i,r;const o=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||o)return;this.isReconnecting=!0;const n=(null===(s=this.reconnectOptions)||void 0===s?void 0:s.reconnectStrategy)===V.Exponential?$:Y,a=this.isConnectedSubject.asObservable().pipe((0,_.w)((e=>e?(0,L.of)(-1):((e,t)=>new G.y((s=>{let i,r=0;return function o(){s.next(r),clearTimeout(i),i=setTimeout(o,t(e,r)),r+=1}(),()=>{clearTimeout(i)}})))(this.reconnectOptions,n).pipe((0,P.z)((e=>{var t,s,i;let r;return r=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(i=null===(s=this.reconnectOptions)||void 0===s?void 0:s.reconnectAttempts)&&void 0!==i?i:10,e<r?(0,L.of)(e):(0,k._)((()=>new Error(`Max reconnect attempts ${r} reached.`)))}))))),(0,R.o)((()=>this.websocket&&!this.isConnected)));a.subscribe(null!==(r=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectObserver)&&void 0!==r?r:{next:e=>{h.k.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;h.k.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.isReconnecting=!1},complete:()=>{h.k.info(this.isConnected?"Reconnected":"Disconnected"),this.isReconnecting=!1,this.wsMessageHandlers.forEach((e=>{e.isSubscription&&this.websocket.next(e.sentMessage)}))}})}reset(){this.isConnected=!1,this.websocket&&this.websocket.complete(),this.websocket=null,this.cleanMessages()}cleanMessages(){this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new W,this.wsMessageHandlers=new Map}send(e,t=!0){if(!this.isConnected)return void Promise.reject(new Error("WebSocket connection is closed"));const s=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.info,s),new Promise(((s,i)=>{const r=e=>{s(e)},o=e=>{i(e)};t&&this.setMessageHandler(e,r,o),this.websocket.next(e)}))}sendForStream(e,t,s){if(!this.isConnected)return(0,k._)((()=>new Error("WebSocket connection is closed")));if(!this.hasValidSession)return(0,k._)((()=>new Error("WebSocket connection is open but there is no valid/active session, please check your auth flow")));const i=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.info,i),this.setMessageHandler(e,t,s,!0),this.websocket.next(e),(0,S.D)(this.wsMessages.pipe((0,D.h)((t=>t.SOURCE_REF===e.SOURCE_REF))))}setMessageHandler(e,t,s,i=!1){const r=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,h.k.debug,r),this.wsMessageHandlers.set(e.SOURCE_REF,new B(e,t,s,i))}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const s=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,h.k.debug,s),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,s){switch(e){case f.Cs.HEARTBEAT_PING:case f.Cs.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(s);break;default:this.messageLoggingIsEnabled&&t(s)}}};(0,i.__decorate)([o.observable],K.prototype,"websocket",void 0),(0,i.__decorate)([o.observable],K.prototype,"wsMessages",void 0),(0,i.__decorate)([o.observable],K.prototype,"wsMessageHandlers",void 0),(0,i.__decorate)([o.observable],K.prototype,"isConnected",void 0),(0,i.__decorate)([o.observable],K.prototype,"disconnectedByServer",void 0),(0,i.__decorate)([o.observable],K.prototype,"hasValidSession",void 0),(0,i.__decorate)([o.observable],K.prototype,"heartbeatIsEnabled",void 0),(0,i.__decorate)([o.observable],K.prototype,"isReconnecting",void 0),K=(0,i.__decorate)([(0,i.__param)(0,f.sW),(0,i.__param)(1,p.z),(0,i.__param)(2,O),(0,i.__param)(3,r.UUID)],K);const x=n.DI.createInterface((e=>e.singleton(K))),j={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0}};let Q=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}constructor(e,t,s,i=j){this.socket=e,this.messageBuilder=t,this.metaCache=s,this.config=i,this.isWorking=!1}httpMode(){return!1}setValidSession(e){this.socket.hasValidSession=e}send(e,t){return this.socket.send(e,t)}connect(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.socket.reset(),d.test(e)?this.socket.connect(e,this.config.connect,this.config.reconnect):(h.k.error(`Specified host (${e}) is not valid WebSocket url. Connection will not proceed.`),void h.k.warn("Make sure the host url starts with wss:// or ws://"))}))}disconnect(){this.socket.reset()}snapshot(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return h.k.debug(`${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.socket.send(s)}))}stream(e,t,s,i){const r=this.messageBuilder.createDataLogonMessage(e,i);return h.k.debug(`${r.MESSAGE_TYPE} (stream) message created -> `,r),this.socket.sendForStream(r,t,s)}getMoreRows(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return h.k.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t,!1)}))}dataLogoff(e){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return h.k.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)}))}getMetadata(e,t=!0){var s;return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(t&&this.metaCache.hasMetadataFor(e))return h.k.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);let r;h.k.debug(`${i.MESSAGE_TYPE} (metadata) message created -> `,i);try{this.isWorking=!0;const t=yield this.socket.send(i);r=null!==(s=null==t?void 0:t.DETAILS)&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setMetadataFor(e,r)}catch(e){h.k.error(e)}finally{this.isWorking=!1}return r}))}getJSONSchema(e,t=!0){var s;return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(t&&this.metaCache.hasJsonSchemaFor(e))return h.k.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const i=this.messageBuilder.createMetaRequestMessage(e,f.N$.JSON_SCHEMA_REQUEST);let r;h.k.debug(`${i.MESSAGE_TYPE} (json schema) message created -> `,i);try{this.isWorking=!0,r=null!==(s=yield this.socket.send(i))&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setJsonSchemaFor(e,r)}catch(e){h.k.error(e)}finally{this.isWorking=!1}return r}))}request(e,t){const s=this.messageBuilder.createRequestMessage(e,t);return h.k.debug(`${s.MESSAGE_TYPE} (request server) message created -> `,s),this.socket.send(s)}commitEvent(e,t){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const s=this.messageBuilder.createCommitMessage(e,t);return h.k.debug(`${s.MESSAGE_TYPE} (commit) message created -> `,s),this.socket.send(s)}))}};(0,i.__decorate)([o.observable],Q.prototype,"isWorking",void 0),(0,i.__decorate)([o.volatile],Q.prototype,"isConnected",null),Q=(0,i.__decorate)([(0,i.__param)(0,x),(0,i.__param)(1,f.sW),(0,i.__param)(2,c),(0,i.__param)(3,(0,n.optional)(E))],Q);const J="true"===r.FORCE_HTTP||!1,z=n.DI.createInterface((e=>e.singleton(Q))),q=n.DI.createInterface((e=>J?e.aliasTo(b):e.aliasTo(z)))},9162:(e,t,s)=>{s.d(t,{Cs:()=>i,N$:()=>r,QT:()=>o,sW:()=>l});var i,r,o,n=s(186),a=s(95189),c=s(75951),d=s(4077),h=s(75527);!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE"}(i||(i={})),function(e){e.EVENT_LOGIN_AUTH="EVENT_LOGIN_AUTH",e.EVENT_LOGIN_AUTH_ACK="EVENT_LOGIN_AUTH_ACK",e.EVENT_LOGIN_AUTH_NACK="EVENT_LOGIN_AUTH_NACK",e.EVENT_LOGOUT="EVENT_LOGOUT",e.DATA_LOGON="DATA_LOGON",e.DATA_LOGOFF="DATA_LOGOFF",e.META_REQUEST="META_REQUEST",e.JSON_SCHEMA_REQUEST="JSON_SCHEMA_REQUEST",e.RESOURCES_REQUEST="RESOURCES_REQUEST",e.EVENT_CHANGE_USER_PASSWORD="EVENT_CHANGE_USER_PASSWORD",e.EVENT_SELF_SERVICE_PASSWORD_RESET="EVENT_SELF_SERVICE_PASSWORD_RESET",e.EVENT_PASSWORD_RESET_ACTION="EVENT_PASSWORD_RESET_ACTION"}(r||(r={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(o||(o={}));let E=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case d.G.BASIC:t={USER_NAME:e.username,PASSWORD:e.password};break;case d.G.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken};break;case d.G.SSO:t={SSO_TOKEN:e.ssoToken};break;case d.G.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,s;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(s=e.sessionId)&&void 0!==s?s:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:r.DATA_LOGOFF,SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createRequestMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e.startsWith("REQ_")?e:`REQ_${e}`},t)}createMetaRequestMessage(e,t=r.META_REQUEST){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:t,DETAILS:{FEATURE:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createCommitMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e},t)}createRefreshTokenMessage(){return{SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken")}}}createChangePasswordMessage(e,t,s){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:s}}}createForgotPasswordMessage(e,t,s=e){return{USER_NAME:s,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,s,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:s}}}createMoreRowsMessage(e){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:i.MORE_ROWS,DETAILS:{SOURCE_REF:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const s={"Content-type":t};return e.SOURCE_REF&&(s["source-ref"]=e.SOURCE_REF,s.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(s["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===r.EVENT_LOGOUT&&(s["SESSION-ID"]=e.SESSION_ID),s}};E=(0,n.__decorate)([(0,n.__param)(0,h.z),(0,n.__param)(1,a.UUID)],E);const l=c.DI.createInterface((e=>e.singleton(E)))},5127:(e,t,s)=>{s.d(t,{$:()=>r});var i=s(22296);function r(e,t="ROW_REF"){const s=e=>{const s=Object.assign(Object.assign({},e),{[t]:e.DETAILS[t]});return delete s.DETAILS,s},r=[],o=[],n=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":r.push(s(t));break;case"MODIFY":n.push(s(t));break;case"DELETE":o.push(s(t));break;default:i.k.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:r,deletes:o,updates:n,SOURCE_REF:e.SOURCE_REF}}},6852:(e,t,s)=>{s.d(t,{Yh:()=>v});var i=s(186),r=s(83147),o=s(75951),n=s(98239),a=s(19788),c=s(56383),d=s(29866),h=s(7211),E=s(35991),l=s(62646),u=s(66306),g=s(22296);var S=s(5127),_=s(82940);const T={options:{criteria:"",isSnapshot:!1,maxRows:_.WJ.MAX_ROWS_250,maxView:_.WJ.MAX_VIEW_1000,pollingInterval:_.WJ.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1},criteriaToFields:function(e){const t=e.split("&&").map((e=>e.trim())),s={};return t.forEach((e=>{const t=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),i=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");s[t]=i})),s},dataServerResultFilter:S.$};let R=class{constructor(e,t,s=T){this.connect=e,this.auth=t,this.config=s,this.initialized=!1,this.readOnly=!0,this.originalFieldDef=[],this.requestFields=[],this.fieldMetadata=[],this.availableIndexes=[]}validResourceName(e){return!!e&&!!e.trim().length}init(e,t=!0){var s;return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(!this.validResourceName(null==e?void 0:e.resourceName))return!1;if(this.options=Object.assign(Object.assign({},this.config.options),e),t){g.k.debug(`Initializing ${this.options.resourceName} Datasource`);const t=yield this.connect.getMetadata(this.options.resourceName).catch((t=>g.k.error(`Metadata Fetch failed for ${e.resourceName}:`,t)));if(!t)return this.deinit(),!1;this.resourceType=t.TYPE,this.availableIndexes=null!==(s=t.INDEXES)&&void 0!==s?s:[],this.originalFieldDef=(0,u.C)(t),this.fieldMetadata=(0,u.i)(this.originalFieldDef),this.requestFields=t.REQUEST_FIELD||[],g.k.debug(`Datasource for ${this.options.resourceName} is ready`)}return this.options.isSnapshot||(this._stream=yield this.createStream()),this.initialized=!0,this.initialized}))}deinit(){this.initialized=!1,this.options=void 0,this.resourceType=void 0,this.availableIndexes=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[]}get stream(){return this._stream}get params(){const e={CRITERIA_MATCH:this.options.criteria,FIELDS:this.options.fields,MAX_ROWS:this.options.maxRows,MAX_VIEW:this.options.maxView,MOVING_VIEW:this.options.movingView,POLLING_INTERVAL:this.options.pollingInterval,REQUEST:this.options.request,REVERSE:this.options.reverse};if(this.options.orderBy)if(this.availableIndexes.findIndex((e=>e.NAME===this.options.orderBy))>-1)e.ORDER_BY=this.options.orderBy;else{const e=this.availableIndexes.map((e=>e.NAME));g.k.warn("Specified [orderBy] index is not valid and will not be used. See https://learn.genesis.global/docs/database/data-types/index-entities/ - Available indexes:",e)}return g.k.debug("Getting configured params:",e),e}snapshot(){var e;return(0,i.__awaiter)(this,void 0,void 0,(function*(){switch(g.k.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case _._g.DATASERVER:return this.connect.snapshot(this.options.resourceName,this.params);case _._g.REQUEST_SERVER:{const t=this.params,{REQUEST:s,CRITERIA_MATCH:r}=t,o={DETAILS:(0,i.__rest)(t,["REQUEST","CRITERIA_MATCH"]),REQUEST:Object.assign(Object.assign(Object.assign({},Object.fromEntries(this.requestFields.map((e=>[e.NAME,"*"])))),this.params.REQUEST),(null===(e=null==this?void 0:this.options)||void 0===e?void 0:e.criteria)?this.config.criteriaToFields(this.options.criteria):{})};return this.connect.request(this.options.resourceName,o)}default:throw new Error(`Snapshot not supported for selected resource type: ${this.resourceType}`)}}))}snapshotFiltered(e="ROW_REF"){return(0,i.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.snapshot();return Array.isArray(t)?t:t.REPLY?t.REPLY:t.ROW?this.config.dataServerResultFilter(t,e).inserts:void 0}))}createStream(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){if(![_._g.DATASERVER,_._g.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===_._g.DATASERVER?this.createDataserverStream():(g.k.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())}))}createDataserverStream(){return(0,i.__awaiter)(this,void 0,void 0,(function*(){return this.connect.stream(this.options.resourceName,(e=>{}),(e=>g.k.error(e)),this.params)}))}createReqRepStream(){return(0,n.H)(0,this.params.POLLING_INTERVAL).pipe((0,d.w)((()=>(0,a.a)([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe((0,h.o)((()=>this.connect.isConnected&&this.auth.isLoggedIn)),(0,d.w)((()=>(0,c.D)(this.snapshot())))))))}};(0,i.__decorate)([r.observable],R.prototype,"initialized",void 0),(0,i.__decorate)([r.observable],R.prototype,"readOnly",void 0),(0,i.__decorate)([r.volatile],R.prototype,"stream",null),R=(0,i.__decorate)([(0,i.__param)(0,l.lj),(0,i.__param)(1,E.g),(0,i.__param)(2,(0,o.optional)(_.tt))],R);const v=o.DI.createInterface((e=>e.transient(R)))},82940:(e,t,s)=>{s.d(t,{WJ:()=>o,_g:()=>i,tt:()=>n});var i,r=s(75951);!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(i||(i={}));class o{}o.MAX_ROWS_250=250,o.MAX_VIEW_1000=1e3,o.REQ_REP_POLLING_INTERVAL_MS=1e4,o.DATASERVER_ROW_ID="ROW_REF",o.REQUEST_SERVER_ROW_ID="RECORD_ID";const n=r.DI.createInterface()},32449:(e,t,s)=>{function i(e,t=";"){return e?e.split(t).map((e=>e.trim())).sort(((e,t)=>e.localeCompare(t))).join(t):e}s.d(t,{p:()=>i})},83123:(e,t,s)=>{var i;s.d(t,{E:()=>r,r:()=>i}),function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.ENUM="ENUM",e.DATE="DATE",e.DATETIME="DATETIME",e.CUSTOM="CUSTOM"}(i||(i={}));const r={STRING:i.STRING,ENUM:i.ENUM,BOOLEAN:i.BOOLEAN,INT:i.NUMBER,DOUBLE:i.NUMBER,BIGDECIMAL:i.NUMBER,DATE:i.DATE,DATETIME:i.DATETIME}},66306:(e,t,s)=>{s.d(t,{C:()=>a,i:()=>n});var i=s(82940),r=s(22296),o=s(83123);const n=e=>e?e.map((e=>{const t={name:e.NAME,type:o.E[e.TYPE]||o.r.STRING};if(e.TYPE===o.r.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){r.k.error(e),t.enumOptions=[]}return t})):null,a=e=>{const t=null==e?void 0:e.TYPE;if(t===i._g.DATASERVER)return e.FIELD||[];if(t===i._g.REQUEST_SERVER)return e.REPLY_FIELD||[];throw new Error(`Unsupported resource type: ${t}`)}},75527:(e,t,s)=>{s.d(t,{z:()=>o});var i=s(75951);class r{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach((e=>this.removeSessionStorageItem(e)))}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID)}captureReturnUrl(){const{pathname:e,search:t,hash:s}=location;if("/login"===e)return;const i=`${"/"!==e?e:""}`;this.returnUrl=`${i}${t}${s}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,s){"local"===s?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const o=i.DI.createInterface((e=>e.singleton(r)))},22296:(e,t,s)=>{s.d(t,{k:()=>r});var i=s(95189);const r=(0,i.createLogger)("foundation-comms")}}]);
2
+ //# sourceMappingURL=659.841c7ec2bd5de0c3e6e7c296e9de56c3.js.map