@hlmr/sdk-js 1.0.22 → 1.0.25
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/dist/cjs/client/HlmrClient.d.ts +11 -1
- package/dist/cjs/client/HlmrClient.d.ts.map +1 -1
- package/dist/cjs/client/HlmrClient.js +17 -0
- package/dist/cjs/client/HlmrClient.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/modules/events.d.ts +49 -0
- package/dist/cjs/modules/events.d.ts.map +1 -0
- package/dist/cjs/modules/events.js +405 -0
- package/dist/cjs/modules/events.js.map +1 -0
- package/dist/cjs/types/events.d.ts +86 -0
- package/dist/cjs/types/events.d.ts.map +1 -0
- package/dist/cjs/types/events.js +3 -0
- package/dist/cjs/types/events.js.map +1 -0
- package/dist/esm/client/HlmrClient.d.ts +11 -1
- package/dist/esm/client/HlmrClient.d.ts.map +1 -1
- package/dist/esm/client/HlmrClient.js +17 -0
- package/dist/esm/client/HlmrClient.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/events.d.ts +49 -0
- package/dist/esm/modules/events.d.ts.map +1 -0
- package/dist/esm/modules/events.js +401 -0
- package/dist/esm/modules/events.js.map +1 -0
- package/dist/esm/types/events.d.ts +86 -0
- package/dist/esm/types/events.d.ts.map +1 -0
- package/dist/esm/types/events.js +2 -0
- package/dist/esm/types/events.js.map +1 -0
- package/dist/types/client/HlmrClient.d.ts +11 -1
- package/dist/types/client/HlmrClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/events.d.ts +49 -0
- package/dist/types/modules/events.d.ts.map +1 -0
- package/dist/types/types/events.d.ts +86 -0
- package/dist/types/types/events.d.ts.map +1 -0
- package/dist/umd/hlmr-sdk.js +419 -1
- package/dist/umd/hlmr-sdk.js.map +1 -1
- package/dist/umd/hlmr-sdk.min.js +1 -1
- package/dist/umd/hlmr-sdk.min.js.map +1 -1
- package/package.json +1 -1
package/dist/umd/hlmr-sdk.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).HlmrSDK={})}(this,function(t){"use strict";const e={production:{name:"production",url:"https://api.hlmr.io",description:"Environnement de production"},development:{name:"development",url:"https://api.dev.hlmr.io",description:"Environnement de développement"},staging:{name:"staging",url:"https://api.stg.hlmr.io",description:"Environnement de staging"}};class r extends Error{constructor(t,e,n,i,o){super(t),this.name="HlmrApiError",this.statusCode=e,this.code=n,this.response=i,this.originalError=o,Error.captureStackTrace&&Error.captureStackTrace(this,r)}static fromJSendResponse(t,e){if("fail"===t.status){return new r(t.data.detail||"Validation failed",e,"VALIDATION_ERROR",t)}if("error"===t.status){const n=t;return new r(n.message||"Server error",e,n.code||"SERVER_ERROR",t)}return new r("Unknown API error",e,"UNKNOWN_ERROR",t)}static networkError(t){return new r(`Network error: ${t.message}`,0,"NETWORK_ERROR",void 0,t)}static timeoutError(t){return new r(`Request timeout after ${t}ms`,0,"TIMEOUT_ERROR")}static configError(t){return new r(`Configuration error: ${t}`,0,"CONFIG_ERROR")}isAuthError(){return 401===this.statusCode}isPermissionError(){return 403===this.statusCode}isValidationError(){return this.statusCode>=400&&this.statusCode<500&&"VALIDATION_ERROR"===this.code}isServerError(){return this.statusCode>=500}isNetworkError(){return"NETWORK_ERROR"===this.code}isTimeoutError(){return"TIMEOUT_ERROR"===this.code}}function n(t){return"object"==typeof t&&null!==t&&"string"==typeof t.status&&["success","fail","error"].includes(t.status)}function i(t){return"success"===t.status&&"data"in t}class o{constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}setBearerToken(t){this.config.bearerToken=t}clearBearerToken(){delete this.config.bearerToken}setAppSecret(t){this.config.appSecret=t}clearAppSecret(){delete this.config.appSecret}buildUrl(t,e="v1"){if(t.startsWith("http://")||t.startsWith("https://"))return t;const r=this.config.baseUrl.replace(/\/$/,""),n=t.replace(/^\//,"");return n.match(/^v\d+\//)?`${r}/${n}`:e?`${r}/${e}/${n}`:`${r}/${n}`}buildHeaders(t={}){const e={"Content-Type":"application/json","X-App-ID":this.config.appId,"X-SDK-Referrer":"hlmr-sdk-js@1.0.6",...this.config.customHeaders,...t.headers};return this.config.appSecret&&!t.skipAuth?e["X-App-Secret"]=this.config.appSecret:this.config.bearerToken&&!t.skipAuth&&(e.Authorization=`Bearer ${this.config.bearerToken}`),e}createTimeoutController(t){const e=new AbortController;return setTimeout(()=>e.abort(),t),e}async processResponse(t){const e={};let o;t.headers.forEach((t,r)=>{e[r]=t});const s=t.headers.get("content-type");if(s&&s.includes("application/json"))try{o=await t.json()}catch(e){o=await t.text()}else o=await t.text();if(n(o)){if(!t.ok)throw r.fromJSendResponse(o,t.status);if(i(o))return{status:t.status,statusText:t.statusText,headers:e,data:o.data}}if(!t.ok)throw new r(`HTTP ${t.status}: ${t.statusText}`,t.status,"HTTP_ERROR");return{status:t.status,statusText:t.statusText,headers:e,data:o}}async request(t,e,n,i={}){const o=this.buildUrl(e,i.apiVersion),s=this.buildHeaders(i),a=i.timeout||this.config.timeout||3e4;this.config.debug&&console.log(`[HlmrSDK] ${t} ${o}`,{headers:s,body:n});const c={method:t,headers:s,signal:this.createTimeoutController(a).signal};n&&["POST","PUT","PATCH"].includes(t.toUpperCase())&&(c.body="string"==typeof n?n:JSON.stringify(n));try{let t=await fetch(o,c);if(307===t.status||301===t.status||302===t.status){const e=t.headers.get("location");if(e){console.warn(`[HlmrSDK] Received ${t.status} redirect for ${o}. Following redirect to ${e}. Please update your code to use the correct URL with trailing slash.`);const r=e.startsWith("http")?e:new URL(e,o).toString();t=await fetch(r,c)}}const e=await this.processResponse(t);return this.config.debug&&console.log("[HlmrSDK] Response:",e),e}catch(t){if(t instanceof r)throw t;if(t instanceof Error){if("AbortError"===t.name)throw r.timeoutError(a);throw r.networkError(t)}throw new r("Unknown error occurred",0,"UNKNOWN_ERROR")}}async get(t,e){return this.request("GET",t,void 0,e)}async post(t,e,r){return this.request("POST",t,e,r)}async put(t,e,r){return this.request("PUT",t,e,r)}async patch(t,e,r){return this.request("PATCH",t,e,r)}async delete(t,e){return this.request("DELETE",t,void 0,e)}async directRequest(t,e="GET",n,i={}){const o={"Content-Type":"application/json",...i.headers},s=i.timeout||this.config.timeout||3e4,a=this.createTimeoutController(s);this.config.debug&&console.log(`[HlmrSDK] Direct ${e} ${t}`,{headers:o,body:n});const c={method:e,headers:o,signal:a.signal};n&&["POST","PUT","PATCH"].includes(e)&&(c.body="string"==typeof n?n:JSON.stringify(n));try{const e=await fetch(t,c),r=await this.processResponse(e);return this.config.debug&&console.log("[HlmrSDK] Direct Response:",r),r}catch(t){if(t instanceof r)throw t;if(t instanceof Error){if("AbortError"===t.name)throw r.timeoutError(s);throw r.networkError(t)}throw new r("Unknown error occurred",0,"UNKNOWN_ERROR")}}}class s{constructor(t){this.http=t}async validateRedirect(t,e){const r={app_id:t,redirect_uri:e};return(await this.http.post(`apps/${t}/validate-redirect`,r,{skipAuth:!0})).data}}class a{constructor(t){this.http=t}async getProfile(){return(await this.http.get("users/profile")).data}}class c{constructor(t){this.http=t}async ping(t){let e="ping";if(t){const r=new URLSearchParams;void 0!==t.idle&&r.append("idle",String(t.idle)),void 0!==t.app&&r.append("app",String(t.app)),void 0!==t.lat&&r.append("lat",String(t.lat)),void 0!==t.lng&&r.append("lng",String(t.lng)),void 0!==t.device&&r.append("device",String(t.device));const n=r.toString();n&&(e=`${e}?${n}`)}return(await this.http.get(e,{apiVersion:""})).data}async version(){return(await this.http.get("version",{apiVersion:"",skipAuth:!0})).data}async checkServiceReady(t){return(await this.http.get(`ready/${t}`,{apiVersion:"",skipAuth:!0})).data}}class p{constructor(t){this.http=t}async logSession(t,e){return(await this.http.post(`apps/${t}/sessions`,e||{})).data}}class u{constructor(t){const e=this.buildConfig(t);this.httpClient=new o(e),this.auth=new s(this.httpClient),this.user=new a(this.httpClient),this.system=new c(this.httpClient),this.apps=new p(this.httpClient)}buildConfig(t){var n,i,o;let s;if("string"==typeof t.environment){const n=e[t.environment];if(!n)throw r.configError(`Unknown environment: ${t.environment}`);s=n.url}else s=t.environment&&"object"==typeof t.environment?t.environment.url:e.production.url;if(!t.appId||"string"!=typeof t.appId)throw r.configError("appId is required and must be a string");return{baseUrl:s,appId:t.appId,bearerToken:t.bearerToken,appSecret:t.appSecret,timeout:(null===(n=t.config)||void 0===n?void 0:n.timeout)||3e4,customHeaders:(null===(i=t.config)||void 0===i?void 0:i.customHeaders)||{},debug:(null===(o=t.config)||void 0===o?void 0:o.debug)||!1}}setBearerToken(t){if(!t||"string"!=typeof t)throw r.configError("Bearer token must be a non-empty string");this.httpClient.setBearerToken(t)}clearBearerToken(){this.httpClient.clearBearerToken()}setAppSecret(t){if(!t||"string"!=typeof t)throw r.configError("App secret must be a non-empty string");this.httpClient.setAppSecret(t)}clearAppSecret(){this.httpClient.clearAppSecret()}getConfig(){return{baseUrl:this.httpClient.config.baseUrl,appId:this.httpClient.config.appId,timeout:this.httpClient.config.timeout,customHeaders:{...this.httpClient.config.customHeaders},debug:this.httpClient.config.debug}}updateConfig(t){this.httpClient.updateConfig(t)}setDebug(t){this.httpClient.updateConfig({debug:t})}static forEnvironment(t,e,r){return new u({environment:t,appId:e,bearerToken:r})}static forProduction(t="default",e){return u.forEnvironment("production",t,e)}static forDevelopment(t="default",e){return u.forEnvironment("development",t,e)}static forStaging(t="default",e){return u.forEnvironment("staging",t,e)}async directRequest(t,e="GET",r,n){return this.httpClient.directRequest(t,e,r,n)}}function d(t){if(t)try{t()}catch(t){console.warn("[AuthUtils] Error clearing app-specific cache:",t)}try{localStorage.clear()}catch(t){}try{sessionStorage.clear()}catch(t){}try{document.cookie.split(";").forEach(t=>{const e=t.indexOf("="),r=e>-1?t.substr(0,e).trim():t.trim();document.cookie=`${r}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${r}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=${window.location.hostname}`,document.cookie=`${r}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=.${window.location.hostname}`})}catch(t){}}function h(){window.history.pushState(null,"",window.location.href);const t=()=>{window.history.pushState(null,"",window.location.href)};window.addEventListener("popstate",t),setTimeout(()=>{window.removeEventListener("popstate",t)},5e3)}t.AppsModule=p,t.HlmrApiError=r,t.HlmrClient=u,t.SDK_NAME="hlmr-sdk-js",t.SDK_VERSION="1.0.0",t.clearAllCache=d,t.isJSendError=function(t){return"error"===t.status&&"message"in t},t.isJSendFail=function(t){return"fail"===t.status&&"data"in t},t.isJSendResponse=n,t.isJSendSuccess=i,t.performLogout=function(t={}){const{redirectUrl:e,onClearCache:r,idpBaseUrl:n,clientId:i,callbackPath:o}=t;let s;if(d(r),h(),e)s=e;else if(n&&i&&o){const t=`${n}/login?client_id=${i}&redirect_uri=${encodeURIComponent(window.location.origin+o)}`;s=`${n}/logout?redirect_uri=${encodeURIComponent(t)}`}else s="/login";window.location.replace(s)},t.preventBackNavigation=h});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).HlmrSDK={})}(this,function(t){"use strict";const e={production:{name:"production",url:"https://api.hlmr.io",description:"Environnement de production"},development:{name:"development",url:"https://api.dev.hlmr.io",description:"Environnement de développement"},staging:{name:"staging",url:"https://api.stg.hlmr.io",description:"Environnement de staging"}};class s extends Error{constructor(t,e,n,i,o){super(t),this.name="HlmrApiError",this.statusCode=e,this.code=n,this.response=i,this.originalError=o,Error.captureStackTrace&&Error.captureStackTrace(this,s)}static fromJSendResponse(t,e){if("fail"===t.status){return new s(t.data.detail||"Validation failed",e,"VALIDATION_ERROR",t)}if("error"===t.status){const n=t;return new s(n.message||"Server error",e,n.code||"SERVER_ERROR",t)}return new s("Unknown API error",e,"UNKNOWN_ERROR",t)}static networkError(t){return new s(`Network error: ${t.message}`,0,"NETWORK_ERROR",void 0,t)}static timeoutError(t){return new s(`Request timeout after ${t}ms`,0,"TIMEOUT_ERROR")}static configError(t){return new s(`Configuration error: ${t}`,0,"CONFIG_ERROR")}isAuthError(){return 401===this.statusCode}isPermissionError(){return 403===this.statusCode}isValidationError(){return this.statusCode>=400&&this.statusCode<500&&"VALIDATION_ERROR"===this.code}isServerError(){return this.statusCode>=500}isNetworkError(){return"NETWORK_ERROR"===this.code}isTimeoutError(){return"TIMEOUT_ERROR"===this.code}}function n(t){return"object"==typeof t&&null!==t&&"string"==typeof t.status&&["success","fail","error"].includes(t.status)}function i(t){return"success"===t.status&&"data"in t}class o{constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}setBearerToken(t){this.config.bearerToken=t}clearBearerToken(){delete this.config.bearerToken}setAppSecret(t){this.config.appSecret=t}clearAppSecret(){delete this.config.appSecret}buildUrl(t,e="v1"){if(t.startsWith("http://")||t.startsWith("https://"))return t;const s=this.config.baseUrl.replace(/\/$/,""),n=t.replace(/^\//,"");return n.match(/^v\d+\//)?`${s}/${n}`:e?`${s}/${e}/${n}`:`${s}/${n}`}buildHeaders(t={}){const e={"Content-Type":"application/json","X-App-ID":this.config.appId,"X-SDK-Referrer":"hlmr-sdk-js@1.0.6",...this.config.customHeaders,...t.headers};return this.config.appSecret&&!t.skipAuth?e["X-App-Secret"]=this.config.appSecret:this.config.bearerToken&&!t.skipAuth&&(e.Authorization=`Bearer ${this.config.bearerToken}`),e}createTimeoutController(t){const e=new AbortController;return setTimeout(()=>e.abort(),t),e}async processResponse(t){const e={};let o;t.headers.forEach((t,s)=>{e[s]=t});const r=t.headers.get("content-type");if(r&&r.includes("application/json"))try{o=await t.json()}catch(e){o=await t.text()}else o=await t.text();if(n(o)){if(!t.ok)throw s.fromJSendResponse(o,t.status);if(i(o))return{status:t.status,statusText:t.statusText,headers:e,data:o.data}}if(!t.ok)throw new s(`HTTP ${t.status}: ${t.statusText}`,t.status,"HTTP_ERROR");return{status:t.status,statusText:t.statusText,headers:e,data:o}}async request(t,e,n,i={}){const o=this.buildUrl(e,i.apiVersion),r=this.buildHeaders(i),c=i.timeout||this.config.timeout||3e4;this.config.debug&&console.log(`[HlmrSDK] ${t} ${o}`,{headers:r,body:n});const a={method:t,headers:r,signal:this.createTimeoutController(c).signal};n&&["POST","PUT","PATCH"].includes(t.toUpperCase())&&(a.body="string"==typeof n?n:JSON.stringify(n));try{let t=await fetch(o,a);if(307===t.status||301===t.status||302===t.status){const e=t.headers.get("location");if(e){console.warn(`[HlmrSDK] Received ${t.status} redirect for ${o}. Following redirect to ${e}. Please update your code to use the correct URL with trailing slash.`);const s=e.startsWith("http")?e:new URL(e,o).toString();t=await fetch(s,a)}}const e=await this.processResponse(t);return this.config.debug&&console.log("[HlmrSDK] Response:",e),e}catch(t){if(t instanceof s)throw t;if(t instanceof Error){if("AbortError"===t.name)throw s.timeoutError(c);throw s.networkError(t)}throw new s("Unknown error occurred",0,"UNKNOWN_ERROR")}}async get(t,e){return this.request("GET",t,void 0,e)}async post(t,e,s){return this.request("POST",t,e,s)}async put(t,e,s){return this.request("PUT",t,e,s)}async patch(t,e,s){return this.request("PATCH",t,e,s)}async delete(t,e){return this.request("DELETE",t,void 0,e)}async directRequest(t,e="GET",n,i={}){const o={"Content-Type":"application/json",...i.headers},r=i.timeout||this.config.timeout||3e4,c=this.createTimeoutController(r);this.config.debug&&console.log(`[HlmrSDK] Direct ${e} ${t}`,{headers:o,body:n});const a={method:e,headers:o,signal:c.signal};n&&["POST","PUT","PATCH"].includes(e)&&(a.body="string"==typeof n?n:JSON.stringify(n));try{const e=await fetch(t,a),s=await this.processResponse(e);return this.config.debug&&console.log("[HlmrSDK] Direct Response:",s),s}catch(t){if(t instanceof s)throw t;if(t instanceof Error){if("AbortError"===t.name)throw s.timeoutError(r);throw s.networkError(t)}throw new s("Unknown error occurred",0,"UNKNOWN_ERROR")}}}class r{constructor(t){this.http=t}async validateRedirect(t,e){const s={app_id:t,redirect_uri:e};return(await this.http.post(`apps/${t}/validate-redirect`,s,{skipAuth:!0})).data}}class c{constructor(t){this.http=t}async getProfile(){return(await this.http.get("users/profile")).data}}class a{constructor(t){this.http=t}async ping(t){let e="ping";if(t){const s=new URLSearchParams;void 0!==t.idle&&s.append("idle",String(t.idle)),void 0!==t.app&&s.append("app",String(t.app)),void 0!==t.lat&&s.append("lat",String(t.lat)),void 0!==t.lng&&s.append("lng",String(t.lng)),void 0!==t.device&&s.append("device",String(t.device));const n=s.toString();n&&(e=`${e}?${n}`)}return(await this.http.get(e,{apiVersion:""})).data}async version(){return(await this.http.get("version",{apiVersion:"",skipAuth:!0})).data}async checkServiceReady(t){return(await this.http.get(`ready/${t}`,{apiVersion:"",skipAuth:!0})).data}}class h{constructor(t){this.http=t}async logSession(t,e){return(await this.http.post(`apps/${t}/sessions`,e||{})).data}}const u={pingInterval:3e4,autoReconnect:!0,maxReconnectAttempts:5,reconnectDelay:1e3,maxReconnectDelay:3e4,debug:!1};class l{constructor(t,e){this.ws=null,this.pingIntervalId=null,this.reconnectAttempts=0,this.reconnectTimeoutId=null,this.isConnecting=!1,this.isManualDisconnect=!1,this.subscriptions=new Map,this.pendingSubscriptions=new Map,this.listeners=new Map,this.userId=null,this.bearerToken=null,this.authResolve=null,this.authReject=null,this.http=t,this.config={...u,...e};const s=t.config;this.bearerToken=s.bearerToken||null}async connect(){if(this.ws&&this.ws.readyState===WebSocket.OPEN)throw new Error("Already connected");if(this.isConnecting)throw new Error("Connection in progress");return this.isConnecting=!0,this.isManualDisconnect=!1,this.reconnectAttempts=0,this._connect()}async _connect(){return new Promise((t,e)=>{try{this.authResolve=t,this.authReject=e;const s=this._buildWebSocketUrl();this.config.debug&&console.log("[EventsModule] Connecting to:",s),this.ws=new WebSocket(s);const n=setTimeout(()=>{this.ws&&this.ws.readyState!==WebSocket.OPEN&&(this.ws.close(),this.isConnecting=!1,this.authResolve=null,this.authReject=null,e(new Error("Connection timeout")))},1e4);this.ws.onopen=()=>{if(this.config.debug&&console.log("[EventsModule] WebSocket connected, sending auth..."),clearTimeout(n),this.bearerToken){const t={type:"auth",token:this.bearerToken};this.ws.send(JSON.stringify(t)),this.config.debug&&console.log("[EventsModule] Sent auth message")}else this.isConnecting=!1,this.authResolve=null,this.authReject=null,this.ws.close(1008,"Missing authentication token"),e(new Error("Missing authentication token"))},this.ws.onmessage=t=>{try{const e=JSON.parse(t.data);this._handleMessage(e)}catch(t){this.config.debug&&console.error("[EventsModule] Failed to parse message:",t)}},this.ws.onerror=t=>{this.config.debug&&console.error("[EventsModule] WebSocket error:",t),clearTimeout(n),this.isConnecting=!1,this.authResolve=null,this.authReject=null,this._emit("error",new Error("WebSocket error")),e(new Error("WebSocket error"))},this.ws.onclose=t=>{this.config.debug&&console.log("[EventsModule] WebSocket closed:",t.code,t.reason),clearTimeout(n),this._stopPingInterval(),this.isConnecting=!1,this.authReject&&(this.authReject(new Error(t.reason||"Connection closed before authentication")),this.authResolve=null,this.authReject=null),this._emit("disconnect",t.reason||"Connection closed"),!this.isManualDisconnect&&this.config.autoReconnect&&this._scheduleReconnect()}}catch(t){this.isConnecting=!1,this.authResolve=null,this.authReject=null,e(t)}})}disconnect(){this.isManualDisconnect=!0,this._cleanup(),this.ws&&(this.ws.close(1e3,"Client disconnect"),this.ws=null),this.config.debug&&console.log("[EventsModule] Disconnected")}async subscribe(t,e,s){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)throw new Error("Not connected");const n=this._generateId();return new Promise((i,o)=>{const r=s?{domain:t,resource:e,options:s}:{domain:t,resource:e},c={resolve:t=>{this.subscriptions.set(t.id,r),i(t)},reject:o,...r};this.pendingSubscriptions.set(n,c);const a={type:"subscribe",subscription_id:n,domain:t,resource:e,options:{filters:(null==s?void 0:s.filters)||{},include_data:(null==s?void 0:s.include_data)||!1}};this.ws.send(JSON.stringify(a)),this.config.debug&&console.log("[EventsModule] Subscribing:",a),setTimeout(()=>{this.pendingSubscriptions.has(n)&&(this.pendingSubscriptions.delete(n),o(new Error("Subscription timeout")))},1e4)})}async unsubscribe(t){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)throw new Error("Not connected");return new Promise((e,s)=>{const n={type:"unsubscribe",subscription_id:t};this.ws.send(JSON.stringify(n)),this.subscriptions.delete(t),this.config.debug&&console.log("[EventsModule] Unsubscribing:",t),e()})}on(t,e){this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(e)}off(t,e){const s=this.listeners.get(t);s&&s.delete(e)}get isConnected(){return null!==this.ws&&this.ws.readyState===WebSocket.OPEN}get currentUserId(){return this.userId}getSubscriptions(){return new Map(this.subscriptions)}ping(){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"ping"}))}updateConfig(t){this.config={...this.config,...t},this.ws&&this.ws.readyState===WebSocket.OPEN&&(this._stopPingInterval(),this._startPingInterval())}_buildWebSocketUrl(){return`${this.http.config.baseUrl.replace("https://","wss://").replace("http://","ws://")}/v1/events/ws`}_handleMessage(t){var e;switch(this.config.debug&&console.log("[EventsModule] Message received:",t),t.type){case"connected":this.isConnecting=!1,this.userId=t.user_id,this._emit("connect",t),this.authResolve&&(this.authResolve(t),this.authResolve=null,this.authReject=null),this._startPingInterval(),this.reconnectAttempts>0&&this._resubscribeAll(),this.reconnectAttempts=0;break;case"auth_error":this.isConnecting=!1;const s=t.error||"Authentication failed";this.authReject&&(this.authReject(new Error(s)),this.authResolve=null,this.authReject=null),null===(e=this.ws)||void 0===e||e.close(1008,s);break;case"subscription_confirmed":this._handleSubscriptionConfirmed(t);break;case"unsubscribed":this.subscriptions.delete(t.subscription_id);break;case"notification":this._emit("notification",t);break;case"system_notification":this._emit("system_notification",t);break;case"pong":break;case"error":this._emit("error",t);break;default:this.config.debug&&console.warn("[EventsModule] Unknown message type:",t.type)}}_handleSubscriptionConfirmed(t){const e=this.pendingSubscriptions.get(t.subscription_id);if(e){this.pendingSubscriptions.delete(t.subscription_id);const s={id:t.subscription_id,domain:t.domain,resource:t.resource,filters:t.filters};e.resolve(s)}this._emit("subscription_confirmed",t)}_emit(t,...e){const s=this.listeners.get(t);s&&s.forEach(s=>{try{s(...e)}catch(e){console.error(`[EventsModule] Error in ${t} listener:`,e)}})}_startPingInterval(){this.config.pingInterval>0&&(this.pingIntervalId=setInterval(()=>{this.ping()},this.config.pingInterval),this.config.debug&&console.log("[EventsModule] Ping interval started:",this.config.pingInterval))}_stopPingInterval(){this.pingIntervalId&&(clearInterval(this.pingIntervalId),this.pingIntervalId=null)}_scheduleReconnect(){if(this.reconnectAttempts>=this.config.maxReconnectAttempts)return this.config.debug&&console.log("[EventsModule] Max reconnect attempts reached"),void this._emit("error",new Error("Max reconnect attempts reached"));this.reconnectAttempts++;const t=Math.min(this.config.reconnectDelay*Math.pow(2,this.reconnectAttempts-1),this.config.maxReconnectDelay);this.config.debug&&console.log(`[EventsModule] Reconnecting in ${t}ms (attempt ${this.reconnectAttempts})`),this._emit("reconnecting",this.reconnectAttempts),this.reconnectTimeoutId=setTimeout(async()=>{try{await this._connect()}catch(t){this.config.debug&&console.error("[EventsModule] Reconnect failed:",t)}},t)}async _resubscribeAll(){this.config.debug&&console.log("[EventsModule] Re-subscribing to",this.subscriptions.size,"subscriptions");const t=new Map(this.subscriptions);this.subscriptions.clear();for(const[e,s]of t)try{await this.subscribe(s.domain,s.resource,s.options),this.config.debug&&console.log("[EventsModule] Re-subscribed:",s.domain,s.resource)}catch(t){this.config.debug&&console.error("[EventsModule] Failed to re-subscribe:",t)}}_cleanup(){this._stopPingInterval(),this.reconnectTimeoutId&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=null);for(const t of this.pendingSubscriptions.values())t.reject(new Error("Connection closed"));this.pendingSubscriptions.clear()}_generateId(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}}class d{constructor(t){const e=this.buildConfig(t);this.httpClient=new o(e),this.auth=new r(this.httpClient),this.user=new c(this.httpClient),this.system=new a(this.httpClient),this.apps=new h(this.httpClient),this.events=new l(this.httpClient,t.eventsConfig)}buildConfig(t){var n,i,o;let r;if("string"==typeof t.environment){const n=e[t.environment];if(!n)throw s.configError(`Unknown environment: ${t.environment}`);r=n.url}else r=t.environment&&"object"==typeof t.environment?t.environment.url:e.production.url;if(!t.appId||"string"!=typeof t.appId)throw s.configError("appId is required and must be a string");return{baseUrl:r,appId:t.appId,bearerToken:t.bearerToken,appSecret:t.appSecret,timeout:(null===(n=t.config)||void 0===n?void 0:n.timeout)||3e4,customHeaders:(null===(i=t.config)||void 0===i?void 0:i.customHeaders)||{},debug:(null===(o=t.config)||void 0===o?void 0:o.debug)||!1}}setBearerToken(t){if(!t||"string"!=typeof t)throw s.configError("Bearer token must be a non-empty string");this.httpClient.setBearerToken(t)}clearBearerToken(){this.httpClient.clearBearerToken()}setAppSecret(t){if(!t||"string"!=typeof t)throw s.configError("App secret must be a non-empty string");this.httpClient.setAppSecret(t)}clearAppSecret(){this.httpClient.clearAppSecret()}getConfig(){return{baseUrl:this.httpClient.config.baseUrl,appId:this.httpClient.config.appId,timeout:this.httpClient.config.timeout,customHeaders:{...this.httpClient.config.customHeaders},debug:this.httpClient.config.debug}}updateConfig(t){this.httpClient.updateConfig(t)}setDebug(t){this.httpClient.updateConfig({debug:t})}static forEnvironment(t,e,s){return new d({environment:t,appId:e,bearerToken:s})}static forProduction(t="default",e){return d.forEnvironment("production",t,e)}static forDevelopment(t="default",e){return d.forEnvironment("development",t,e)}static forStaging(t="default",e){return d.forEnvironment("staging",t,e)}async directRequest(t,e="GET",s,n){return this.httpClient.directRequest(t,e,s,n)}async get(t,e){return this.httpClient.get(t,e)}async post(t,e,s){return this.httpClient.post(t,e,s)}async put(t,e,s){return this.httpClient.put(t,e,s)}async patch(t,e,s){return this.httpClient.patch(t,e,s)}async delete(t,e){return this.httpClient.delete(t,e)}}function p(t){if(t)try{t()}catch(t){console.warn("[AuthUtils] Error clearing app-specific cache:",t)}try{localStorage.clear()}catch(t){}try{sessionStorage.clear()}catch(t){}try{document.cookie.split(";").forEach(t=>{const e=t.indexOf("="),s=e>-1?t.substr(0,e).trim():t.trim();document.cookie=`${s}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${s}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=${window.location.hostname}`,document.cookie=`${s}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=.${window.location.hostname}`})}catch(t){}}function g(){window.history.pushState(null,"",window.location.href);const t=()=>{window.history.pushState(null,"",window.location.href)};window.addEventListener("popstate",t),setTimeout(()=>{window.removeEventListener("popstate",t)},5e3)}t.AppsModule=h,t.EventsModule=l,t.HlmrApiError=s,t.HlmrClient=d,t.SDK_NAME="hlmr-sdk-js",t.SDK_VERSION="1.0.25",t.clearAllCache=p,t.isJSendError=function(t){return"error"===t.status&&"message"in t},t.isJSendFail=function(t){return"fail"===t.status&&"data"in t},t.isJSendResponse=n,t.isJSendSuccess=i,t.performLogout=function(t={}){const{redirectUrl:e,onClearCache:s,idpBaseUrl:n,clientId:i,callbackPath:o}=t;let r;if(p(s),g(),e)r=e;else if(n&&i&&o){const t=`${n}/login?client_id=${i}&redirect_uri=${encodeURIComponent(window.location.origin+o)}`;r=`${n}/logout?redirect_uri=${encodeURIComponent(t)}`}else r="/login";window.location.replace(r)},t.preventBackNavigation=g});
|
|
2
2
|
//# sourceMappingURL=hlmr-sdk.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hlmr-sdk.min.js","sources":["../../../src/types/common.ts","../../../src/types/errors.ts","../../../src/utils/jsend.ts","../../../src/utils/http.ts","../../../src/modules/auth.ts","../../../src/modules/user.ts","../../../src/modules/system.ts","../../../src/modules/apps.ts","../../../src/client/HlmrClient.ts","../../../src/utils/auth.ts","../../../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["ENVIRONMENTS","production","name","url","description","development","staging","HlmrApiError","Error","constructor","message","statusCode","code","response","originalError","super","this","captureStackTrace","fromJSendResponse","status","data","detail","errorResponse","networkError","undefined","timeoutError","timeout","configError","isAuthError","isPermissionError","isValidationError","isServerError","isNetworkError","isTimeoutError","isJSendResponse","includes","isJSendSuccess","HttpClient","config","updateConfig","updates","setBearerToken","token","bearerToken","clearBearerToken","setAppSecret","secret","appSecret","clearAppSecret","buildUrl","path","apiVersion","startsWith","baseUrl","replace","cleanPath","match","buildHeaders","options","headers","appId","customHeaders","skipAuth","createTimeoutController","controller","AbortController","setTimeout","abort","processResponse","forEach","value","key","contentType","get","json","error","text","ok","statusText","request","method","body","debug","console","log","requestInit","signal","toUpperCase","JSON","stringify","fetch","location","warn","redirectUrl","URL","toString","result","post","put","patch","directRequest","AuthModule","http","validateRedirect","redirectUri","app_id","redirect_uri","UserModule","getProfile","SystemModule","ping","params","URLSearchParams","idle","append","String","app","lat","lng","device","queryString","version","checkServiceReady","serviceName","AppsModule","logSession","extras","HlmrClient","buildConfig","httpClient","auth","user","system","apps","environment","env","_a","_b","_c","getConfig","setDebug","enabled","forEnvironment","forProduction","forDevelopment","forStaging","clearAllCache","onClearCache","e","localStorage","clear","sessionStorage","document","cookie","split","c","eqPos","indexOf","substr","trim","window","hostname","preventBackNavigation","history","pushState","href","handlePopState","addEventListener","removeEventListener","idpBaseUrl","clientId","callbackPath","finalRedirectUrl","finalLoginUrl","encodeURIComponent","origin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hlmr-sdk.min.js","sources":["../../../src/types/common.ts","../../../src/types/errors.ts","../../../src/utils/jsend.ts","../../../src/utils/http.ts","../../../src/modules/auth.ts","../../../src/modules/user.ts","../../../src/modules/system.ts","../../../src/modules/apps.ts","../../../src/modules/events.ts","../../../src/client/HlmrClient.ts","../../../src/utils/auth.ts","../../../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ENVIRONMENTS","production","name","url","description","development","staging","HlmrApiError","Error","constructor","message","statusCode","code","response","originalError","super","this","captureStackTrace","fromJSendResponse","status","data","detail","errorResponse","networkError","undefined","timeoutError","timeout","configError","isAuthError","isPermissionError","isValidationError","isServerError","isNetworkError","isTimeoutError","isJSendResponse","includes","isJSendSuccess","HttpClient","config","updateConfig","updates","setBearerToken","token","bearerToken","clearBearerToken","setAppSecret","secret","appSecret","clearAppSecret","buildUrl","path","apiVersion","startsWith","baseUrl","replace","cleanPath","match","buildHeaders","options","headers","appId","customHeaders","skipAuth","createTimeoutController","controller","AbortController","setTimeout","abort","processResponse","forEach","value","key","contentType","get","json","error","text","ok","statusText","request","method","body","debug","console","log","requestInit","signal","toUpperCase","JSON","stringify","fetch","location","warn","redirectUrl","URL","toString","result","post","put","patch","directRequest","AuthModule","http","validateRedirect","redirectUri","app_id","redirect_uri","UserModule","getProfile","SystemModule","ping","params","URLSearchParams","idle","append","String","app","lat","lng","device","queryString","version","checkServiceReady","serviceName","AppsModule","logSession","extras","DEFAULT_CONFIG","pingInterval","autoReconnect","maxReconnectAttempts","reconnectDelay","maxReconnectDelay","EventsModule","ws","pingIntervalId","reconnectAttempts","reconnectTimeoutId","isConnecting","isManualDisconnect","subscriptions","Map","pendingSubscriptions","listeners","userId","authResolve","authReject","httpConfig","connect","readyState","WebSocket","OPEN","_connect","Promise","resolve","reject","wsUrl","_buildWebSocketUrl","connectionTimeout","close","onopen","clearTimeout","authMessage","type","send","onmessage","event","parse","_handleMessage","err","onerror","_emit","onclose","reason","_stopPingInterval","_scheduleReconnect","disconnect","_cleanup","subscribe","domain","resource","subscriptionId","_generateId","subscriptionData","pendingData","sub","set","id","subscription_id","filters","include_data","has","delete","unsubscribe","on","callback","Set","add","off","isConnected","currentUserId","getSubscriptions","_startPingInterval","user_id","_resubscribeAll","_a","_handleSubscriptionConfirmed","pending","subscription","args","setInterval","clearInterval","delay","Math","min","pow","async","size","subscriptionsToRestore","clear","values","c","r","random","HlmrClient","buildConfig","httpClient","auth","user","system","apps","events","eventsConfig","environment","env","_b","_c","getConfig","setDebug","enabled","forEnvironment","forProduction","forDevelopment","forStaging","clearAllCache","onClearCache","e","localStorage","sessionStorage","document","cookie","split","eqPos","indexOf","substr","trim","window","hostname","preventBackNavigation","history","pushState","href","handlePopState","addEventListener","removeEventListener","idpBaseUrl","clientId","callbackPath","finalRedirectUrl","finalLoginUrl","encodeURIComponent","origin"],"mappings":"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"}
|