@jolibox/sdk 1.1.13-beta.1 → 1.1.13-beta.10
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/.rush/temp/package-deps_build.json +3 -6
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +1 -1
- package/dist/index.js +199 -199
- package/dist/loader/h5.d.ts +5 -0
- package/package.json +3 -3
- package/sdk.build.log +4 -4
- package/src/loader/h5.ts +8 -3
- package/src/loader/index.ts +3 -3
- package/dist/loader/__tests__/local-storage.test.d.ts +0 -1
- package/dist/loader/__tests__/localstorage-protector.d.ts +0 -14
- package/dist/loader/local-storage.d.ts +0 -1
- package/src/loader/__tests__/local-storage.test.ts +0 -36
- package/src/loader/__tests__/localstorage-protector.ts +0 -191
- package/src/loader/local-storage.ts +0 -33
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"packages/sdk/.eslintrc.js": "c11c589d14fe58bf4d37d259d8323b193bab6092",
|
|
5
5
|
"packages/sdk/README.md": "5660cd88848b7a5428394cc34d881a35dd402188",
|
|
6
6
|
"packages/sdk/esbuild.config.js": "1725a85515499085a7c9799b834c6f632073401c",
|
|
7
|
-
"packages/sdk/package.json": "
|
|
7
|
+
"packages/sdk/package.json": "5d0f08d497a7ee0c4abec44c88485b24ed3c143f",
|
|
8
8
|
"packages/sdk/src/api/__tests__/canIUse.test.ts": "300e4de3768f9510e956050d326d4977bc621f34",
|
|
9
9
|
"packages/sdk/src/api/can-i-use.ts": "4fd7efe21419d39e535584d7ab8e6a3c4e186877",
|
|
10
10
|
"packages/sdk/src/api/get-system-info.ts": "c73be9f62c7055093effadaf6c48c54d6f383542",
|
|
@@ -13,12 +13,9 @@
|
|
|
13
13
|
"packages/sdk/src/api/request.ts": "117baeceb72bd1602a01f3e1fe586faaea48d155",
|
|
14
14
|
"packages/sdk/src/events.ts": "fc2df274eeedce36bedfc7d01ec580dba16e4502",
|
|
15
15
|
"packages/sdk/src/index.ts": "81e4bc4294f165bd26fb60984fdc05154dabbcd3",
|
|
16
|
-
"packages/sdk/src/loader/__tests__/local-storage.test.ts": "2bbba3ebb42bd358bc81a1364722f03f99196c8b",
|
|
17
|
-
"packages/sdk/src/loader/__tests__/localstorage-protector.ts": "8ce7129462d41c9b7ea3ec3c892211c4d625a95d",
|
|
18
16
|
"packages/sdk/src/loader/__tests__/version.test.ts": "338ca817bfcb672d1065d6f32872b57bc43951b5",
|
|
19
|
-
"packages/sdk/src/loader/h5.ts": "
|
|
20
|
-
"packages/sdk/src/loader/index.ts": "
|
|
21
|
-
"packages/sdk/src/loader/local-storage.ts": "0505b2160694b609d7417d254b8e9eabf3cbfb12",
|
|
17
|
+
"packages/sdk/src/loader/h5.ts": "462dd8c9c6ef6761d8139026b45d98d559db7e38",
|
|
18
|
+
"packages/sdk/src/loader/index.ts": "d50f70d6ec8f67c78d9dfeed8c812400f524a746",
|
|
22
19
|
"packages/sdk/src/loader/native.ts": "5f9f068c328222a28b457d19841b93c4a13ecccb",
|
|
23
20
|
"packages/sdk/src/loader/version.ts": "deacf56606b2c47f93e0dfa35e5b5dfbe774c69f",
|
|
24
21
|
"packages/sdk/src/sdks/ads.ts": "d12ffe12be857f216a59a742f54395e31888adb5",
|
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var L=Object.defineProperty,st=Object.defineProperties,it=Object.getOwnPropertyDescriptor,at=Object.getOwnPropertyDescriptors,ct=Object.getOwnPropertyNames,me=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var de=(e,t,r)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,D=(e,t)=>{for(var r in t||(t={}))ue.call(t,r)&&de(e,r,t[r]);if(me)for(var r of me(t))lt.call(t,r)&&de(e,r,t[r]);return e},A=(e,t)=>st(e,at(t));var mt=(e,t)=>{for(var r in t)L(e,r,{get:t[r],enumerable:!0})},dt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ct(t))!ue.call(e,o)&&o!==r&&L(e,o,{get:()=>t[o],enumerable:!(n=it(t,o))||n.enumerable});return e};var ut=e=>dt(L({},"__esModule",{value:!0}),e);var m=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{a(r.next(l))}catch(i){o(i)}},c=l=>{try{a(r.throw(l))}catch(i){o(i)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,c);a((r=r.apply(e,t)).next())});var mr={};mt(mr,{JoliboxSDK:()=>$});module.exports=ut(mr);if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}var Y=Object.defineProperty,pt=Object.defineProperties,ft=Object.getOwnPropertyDescriptor,ht=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,fe=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ge=(e,t)=>{for(var r in t||(t={}))gt.call(t,r)&&fe(e,r,t[r]);if(pe)for(var r of pe(t))_t.call(t,r)&&fe(e,r,t[r]);return e},Et=(e,t)=>pt(e,ht(t)),yt=(e,t)=>{for(var r in t)Y(e,r,{get:t[r],enumerable:!0})},_e=(e,t,r,n)=>{for(var o=n>1?void 0:n?ft(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(o=(n?c(t,r,o):c(o))||o);return n&&o&&Y(t,r,o),o},vt=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{a(r.next(l))}catch(i){o(i)}},c=l=>{try{a(r.throw(l))}catch(i){o(i)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,c);a((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}function St(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function X(e){return typeof e=="string"}function Ee(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function bt(e){return typeof e=="undefined"}function xt(e){return bt(e)||e===null}function Rt(e){return typeof e=="function"}function ye(e){let t=e,r=null,n=function(...o){return r||(r=new t(...o)),r};return n.prototype=t.prototype,n}var wt=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(wt||{}),It=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},ve=class extends It{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}};var Se=class extends ve{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_FETCH_ERROR",this.priority="P0"}},S=class extends ve{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_EVAL_ERROR",this.priority="P0"}};function b(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}var Tt={log:b("log"),warn:b("warn"),info:b("info"),error:b("error"),debug:b("debug")};Object.assign(globalThis,{logger:Tt});var be=Symbol.for("Jolibox.canIUseMap"),Lt={};globalThis[be]=Lt;var xe={get config(){return globalThis[be]}};function Z(e,t,r){let n=0;if(e!==t){let o=e.split("."),s=t.split("."),c=Math.max(o.length,s.length);for(let a=0;a<c;a++){let l=parseInt(o[a],10)||0,i=parseInt(s[a],10)||0;if(l>i){n=1;break}else if(l<i){n=-1;break}}}if(!r)return n;switch(r){case">":return n>0;case"<":return n<0;case"=":return n===0;case">=":return n>=0;case"<=":return n<=0;default:return!1}}var ee=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(ee||{}),te=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(te||{}),Dt=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Dt||{}),he=["name","params"],At=["name","type","location","target","extra","timestamp","userId"],Ut=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function P(e,t){return t.map(r=>{if(r==="params"&&e[r]){let n=e[r];return Object.keys(n).reduce((o,s)=>(o[s]=String(n[s]),o),{})}return e[r]})}function Ot(e){let t=e.location?P(e.location,he):null,r=e.target?P(e.target,he):null;return P(Et(ge({},e),{location:t,target:r}),At)}function Re(e){let t=e.events.map(n=>Ot(n)),r=P(e.device,Ut);return[e.protocolVersion,t,r,e.project]}var Pt=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)});var U={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},kt=()=>U.isiOS?"iOS":U.isAndroid?"Android":U.isMac?"Mac":U.isFacebook?"Facebook":"PC",Ct="device_id",Kt="advertising_id",we=e=>(localStorage.getItem(e)||localStorage.setItem(e,Pt()),localStorage.getItem(e)),Mt=()=>we(Ct),Nt=()=>we(Kt),jt=e=>e.charAt(0).toUpperCase()+e.slice(1),Jt=()=>{var e;let t=new URLSearchParams(window.location.search);return jt((e=t.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Ie=e=>{let t="JoliboxWebSDK",r=kt(),n=navigator.language,o=Mt(),s=Nt();return`${t} (${Jt()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${o} adid/${s} version/${e||""}`},W=class z{constructor(t){this.element=t,this.next=z.Undefined,this.prev=z.Undefined}};W.Undefined=new W(void 0);var d=W,Ft=class{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let e=this._first;for(;e!==d.Undefined;){let t=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=t}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new d(e);if(this._first===d.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==d.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==d.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==d.Undefined&&e.next!==d.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===d.Undefined&&e.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):e.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):e.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==d.Undefined;)yield e.element,e=e.next}},Bt=0,O=class{constructor(e){this.value=e,this.id=Bt++}},x=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof O&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var n,o,s,c,a,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new O(t);this._listeners?this._listeners instanceof O?this._listeners=[this._listeners,i]:this._listeners.push(i):((o=(n=this.options)==null?void 0:n.onWillAddFirstListener)==null||o.call(n,this),this._listeners=i,(c=(s=this.options)==null?void 0:s.onDidFirstListener)==null||c.call(s,this)),(l=(a=this.options)==null?void 0:a.onDidAddListener)==null||l.call(a,this),this._size++}),this._event}_deliver(e,t){var r;if(!e)return;let n=((r=this.options)==null?void 0:r.onListenerError)||Error.constructor;if(!n){e.value(t);return}try{e.value(t)}catch(o){n(o)}}fire(e){this._listeners&&(this._listeners instanceof O?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},re=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var r;let n=(r=this.listeners.get(e))!=null?r:new x,o=c=>t(...c.args);this.listerHandlerMap.set(t,o),n.event(o),this.listeners.set(e,n);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)n.fire(ge({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Ft,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},q={};yt(q,{None:()=>Vt,filter:()=>Gt,once:()=>Te,toPromise:()=>$t});var Vt=()=>{console.log("[Jolibox SDK] None Event")};function $t(e){return new Promise(t=>Te(e)(t))}function Te(e){return(t,r=null)=>{let n=!1;return e(o=>{if(!n)return n=!0,t.call(r,o)},null)}}function Gt(e,t){return(r=>{let n,o={onWillAddFirstListener(){n=r(s.fire,s)}},s=new x(o);return s.event})((r,n=null)=>e(o=>t(o)&&r.call(n,o),null))}var G=Symbol.for("Jolibox.hostEmitter"),Ht=()=>{let e=new re;return globalThis[G]||(globalThis[G]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[G]},Le=Ht();function Wt(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)zt(e[n],t[n])}function zt(e,t){if(X(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Rt(t)){try{if(e instanceof t)return}catch(r){}if(!xt(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var k=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new x,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let o of e.metadata.args)r.push(o.constraint);let n=e.handler;e.handler=function(...o){return Wt(o,r),n(...o)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};k=_e([ye],k);var Q=class{constructor(){this._onWillExecuteCommand=new x,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new x,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new k,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=St(3e4)),this._starActivation}executeCommand(e,...t){return vt(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),q.toPromise(q.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};Q=_e([ye],Q);var H=Symbol.for("Jolibox.commands");function h(){if(globalThis[H])return globalThis[H];let e=new k,t=new Q,r={registerCommand(n,o,s){e.registerCommand({id:n,handler:o,metadata:s})},executeCommand(n,...o){return t.executeCommand(n,...o)},excuteCommandSync(n,...o){return t.executeCommandThowErr(n,...o)}};return globalThis[H]=r,r}var C=new URLSearchParams(window.location.search).get("joliboxEnv")==="staging";function qt(){let e=new URLSearchParams(window.location.search),t={};return e.forEach((r,n)=>{t[n]=r}),{name:"GamePage",params:t}}function Qt(){return{platform:1e3,os:"h5",appVersion:"1.1.13-beta.1",appId:"1",model:"UnknownModel",brand:"UnknownBrand",uuid:"1",jsSdkVersion:"1.1.13-beta.1",extra:{}}}var De={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}},Yt=()=>{var t;let e=(t=De[window.location.host])!=null?t:De.default;return C?e.test:e.prod},Xt=Yt(),Ue=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal},Ae;(Ae=AbortSignal.timeout)!=null||(AbortSignal.timeout=Ue);var Zt=()=>{var t;return(t=new URLSearchParams(window.location.search).get("joliSource"))!=null?t:null},er=Zt(),tr=e=>m(void 0,null,function*(){try{let r=`${Xt}/report`,n=Ie("1.1.13-beta.1"),o=er,s={"Content-Type":"application/json"};return n&&(s["x-user-agent"]=n),o&&(s["x-joli-source"]=o),yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(e),signal:Ue(5e3)})}catch(t){return console.error("Error posting to reporter:",t),null}});function y(e){return m(this,null,function*(){try{let t={name:"globalJsError",type:ee.ErrorTrace,location:qt(),target:null,extra:e,timestamp:Date.now(),userId:null},r=Qt(),o={protocolVersion:"1.0.0",events:[t],device:r,project:te.WebSDK},s=Re(o);yield tr(s)}catch(t){console.error("Failed to track error:",t)}})}document.addEventListener("DOMContentLoaded",()=>Le.emit("onDocumentReady",R.startTime));var rr=()=>{let e=0;return{set startTime(t){e=t},get startTime(){return e}}},R=rr(),Oe=h(),ne=e=>{Oe.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify(e)}}).catch(t=>{console.error(`Fallback report: ${t} ${JSON.stringify(e)}`),y({err:JSON.stringify({message:t.message,source:t.source,lineno:t.lineno,colno:t.colno,error:t.error})})})},oe=ne;window.addEventListener("unhandledrejection",ne.bind(void 0));window.addEventListener("error",ne.bind(void 0));window.onerror=(e,t,r,n,o)=>{Oe.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})}}).catch(s=>{y({err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})})})};var se=e=>{var a,l,i;let t=e.split("-")[1];t&&(e=e.replace(`-${t}`,""));let r=e.split("+")[1];r&&(e=e.replace(`+${r}`,""));let n=e.split(".").slice(0,3),[o,s,c]=[(a=n[0])!=null?a:"0",(l=n[1])!=null?l:"0",(i=n[2])!=null?i:"0"];return{major:o,minor:s,patch:c,prerelease:t,build:r}},w=e=>parseInt(se(e).major,10),I=(e,t)=>{let{major:r,minor:n,patch:o,prerelease:s}=se(e),{major:c,minor:a,patch:l,prerelease:i}=se(t);return r!==c?r>c?1:-1:n!==a?n>a?1:-1:o!==l?o>l?1:-1:s&&!i?-1:!s&&i?1:s&&i?s>i?1:s<i?-1:0:0};var Pe=h(),K=(e,t)=>{Pe.executeCommand("ReportSDK.traceSystem",{event:e,info:t})},v=(e,t,r)=>{Pe.executeCommand("ReportSDK.traceSystemTimeline",{event:e,duration:t,extra:r})};function ke(){try{if(window.__joliboxLocalStorage__)return window.__joliboxLocalStorage__;let e=Object.getOwnPropertyDescriptor(window,"localStorage");if(e&&e.get){let n=e.get.call(window);return window.__joliboxLocalStorage__=n,n}if(e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(window),"localStorage"),e&&e.get)return e.get.call(window);let t=Window.prototype,r=Object.getOwnPropertyDescriptor(t,"localStorage");if(r&&r.get){let n=r.get.call(window);return window.__joliboxLocalStorage__=n,n}return localStorage}catch(e){return console.warn("Failed to get original localStorage, fallback to default implementation",e),localStorage}}var Ne="jolibox-sdk-loadermeta";ke();var Me,T=JSON.parse((Me=window.__joliboxLocalStorage__.getItem(Ne))!=null?Me:"{}"),ie=Date.now(),Ce=(e,t)=>e>t&&Math.abs(e-t)/(1e3*60*60*24)>=7,Ke=e=>!/^(Failed to fetch version|Couldn't find the requested file)/.test(e);function nr(){return m(this,null,function*(){let t=`${C?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/version-metadata`;try{let r=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}),{implement_version:n,bootstrap_version:o}=yield r.json(),s=A(D({},T),{timestamp:ie});if(o){let{bootstrap_version:c}=T;if(!(c&&I(c,o)>=0)){let a=yield(yield fetch(ae(o))).text();Ke(a)&&(s=A(D({},s),{bootstrap_version:o,bootstrap_script:a}))}}if(n){let{implement_version:c}=T;if(!(c&&I(c,n)>=0)){let a=yield(yield fetch(ce(n))).text();Ke(a)&&(s=A(D({},s),{implement_version:n,implement_script:a}))}}window.__joliboxLocalStorage__.setItem(Ne,JSON.stringify(s))}catch(r){console.warn("Failed to fetch loader metadata: ",r)}})}var je=e=>{let{currentMajorVersion:t,currentVersion:r,bootstrapUrl:n,implementUrl:o}=e;function s(){let{bootstrap_version:i,bootstrap_script:g,timestamp:_}=T;if(i&&g&&_&&!Ce(ie,_)&&w(i)==t&&I(i,r)>=0)return{script:g,type:"localscript"};try{let p=new XMLHttpRequest;return p.open("GET",n,!1),p.send(),{script:p.responseText,type:"fetch_from_cdn"}}catch(p){let u=new Se(`Bootstrap module faile to fetch ${p}`);y({err:`${u}`})}}function c(){var p;let i=Date.now();K("jsSdkBegin",{t:i}),R.startTime=i;let{script:g,type:_}=(p=s())!=null?p:{};if(g){let u=document.createElement("script");u.type="text/javascript",u.innerHTML=g,document.head.appendChild(u),v("bootstrapModuleLoaded",Date.now()-i,{type:_})}}function a(i){(_=>m(this,null,function*(){try{let p=new Blob([_],{type:"application/javascript"}),u=URL.createObjectURL(p),ot=yield import(u);return URL.revokeObjectURL(u),ot}catch(p){let u=new S(`implement module evaluate error in h5:${p} `);y({err:`${u}`})}}))(i)}function l(){let i=Date.now(),{implement_script:g,implement_version:_,timestamp:p}=T;if(g&&_&&p&&!Ce(ie,p)&&w(_)==t&&I(_,r)>=0){a(g),v("implementModuleLoaded",Date.now()-i,{type:"loadscript"});return}let u=document.createElement("script");u.type="module",u.crossOrigin="anonymous",u.src=o,u.onload=()=>{v("implementModuleLoaded",Date.now()-i,{type:"fetch_from_cdn"})},document.head.appendChild(u)}return()=>{try{c(),l(),nr()}catch(i){let g=new S(`module evaluate error: ${i}`);y({err:`${g}`})}}};var Je=(e,t)=>{let r=o=>{let s=e({path:o});if(!s)throw`module ${o} load failed ${s}`;return s};function n(o){(c=>m(this,null,function*(){try{let a=new Blob([c],{type:"application/javascript"}),l=URL.createObjectURL(a),i=yield import(l);return URL.revokeObjectURL(l),i}catch(a){oe(new S(`implement module evaluate error in native:${a} `))}}))(o)}return()=>{try{let o=Date.now();K("jsSdkBegin",{t:o}),R.startTime=o;let s=r(t.bootstrapUrl),c=document.createElement("script");c.type="text/javascript",c.innerHTML=s,document.head.appendChild(c),v("bootstrapModuleLoaded",Date.now()-o,{type:"native"});let a=Date.now(),l=r(t.implementUrl);n(l),v("implementModuleLoaded",Date.now()-a,{type:"native"})}catch(o){console.error(`native load script error: ${o}`),oe(new S(`module load failed ${o}`))}}};var or="1.1.13-beta.1",M=or,Ve=w(M),$e=!!(navigator.userAgent||"").includes("JoliboxPlatformSDK"),sr=$e?e=>{let t=window.prompt("invoke",JSON.stringify({event:"loadScriptSync",paramsString:JSON.stringify(e)}));if(t){let{data:r}=JSON.parse(t);return r}}:void 0,ae=e=>`https://cdn.jsdelivr.net/npm/@jolibox/bootstrap@${e}/dist/index.js`,ce=e=>`https://cdn.jsdelivr.net/npm/@jolibox/implement@${e}/dist/index.js`,ir=e=>/^\d+\.\d+\.\d+$/.test(e),Ge=ir(M)?Ve:M,Fe=ae(Ge),Be=ce(Ge);function ar(){$e?Je(sr,{bootstrapUrl:Fe,implementUrl:Be})():je({bootstrapUrl:Fe,implementUrl:Be,currentMajorVersion:Ve,currentVersion:M})()}ar();var He=h();function We(){return He.excuteCommandSync("API.getSystemInfoSync")}function ze(){return He.excuteCommandSync("API.env")}function qe(e,t){var r;return(r=xe.config[e])==null?void 0:r[t]}function Qe(e,t,r){let n=Array.isArray(t)?t:t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n)if(o&&(typeof o=="object"||Array.isArray(o)))o=o[s];else return r;return o===void 0?r:o}var Xe="1.1.13-beta.1";function E(e){var a,l;let r=(l=(a=ze().data)==null?void 0:a.deviceInfo)==null?void 0:l.platform;if(!r)return!1;let[n,...o]=e.split(":"),s=qe(r=="h5"?r:"native",n);if(!s)return!1;let c=s.version;return typeof c!="string"||Z(Xe,c,"<")?!1:o.length===0?!0:Ye(s,o)||Ye(s.properties,o)}function Ye(e,t){if(!e)return!1;let r=Qe(e,t);return r?Ee(r)?!0:X(r)?Z(Xe,r,">="):!1:!1}var Ze=h();function et(){return m(this,null,function*(){return E("login")?yield Ze.executeCommand("API.login"):{code:"FAILURE",message:"[Jolibox SDK]login is not supported in this platform"}})}function tt(){return m(this,null,function*(){return E("checkSession")?yield Ze.executeCommand("API.checkSession"):{code:"FAILURE",message:"[Jolibox SDK]checkSession is not supported in this platform"}})}var cr=h();function rt(e){return m(this,null,function*(){return E("request")?yield cr.executeCommand("HttpSDK.request",e):{code:"FAILURE",message:"[Jolibox SDK]request is not supported in this platform"}})}var le=class{constructor(){this.loadFinished=()=>{let t=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(t)};this.notifyLoadProgress=t=>{let r=Math.ceil(t),n=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:r});window.dispatchEvent(n)}}},nt=window.JoliboxRuntime||le;var f=class{constructor(){this.commands=h();this._emitter=new re}addEventListener(t,r){this._emitter.on(t,(...n)=>r(n[0]))}triggerEvent(t,r){this._emitter.emit(t,r)}canUse(t){return E(t)}canIUseIfThrow(t){if(!this.canUse(t))return{code:"FAILURE",message:`[Jolibox SDK] ${t} is not supported in this platform`}}};var lr="LifecycleSDK.onReady",N=class extends f{constructor(){super()}onReady(t){let r=n=>{t.call(this,n),this.triggerEvent(lr,n)};this.commands.executeCommand("LifecycleSDK.onReady",r.bind(this))}exit(t){let r=this.canIUseIfThrow("lifeCycle.exit");if(r)return r;this.commands.executeCommand("LifecycleSDK.exit",t.onBeforeExit,t.shouldStay)}onJoliboxHide(t){this.commands.executeCommand("LifecycleSDK.onJoliboxHide",t.bind(this))}onJoliboxShow(t){this.commands.executeCommand("LifecycleSDK.onJoliboxShow",t.bind(this))}};var j=class extends f{getItem(t){return m(this,null,function*(){return yield this.commands.executeCommand("StorageSDK.getItem",t)})}setItem(t,r){return m(this,null,function*(){if(t.length>128)return{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key should be less than 128"};let n=typeof r=="string"?r:String(r);return t.length+n.length>1024?{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key and value should be less than 1024"}:yield this.commands.executeCommand("StorageSDK.setItem",t,r)})}removeItem(t){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.removeItem",t)})}clear(){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.clear")})}};var J=class extends f{constructor(){super();this.init=r=>{this.commands.executeCommand("AdsSDK.init",r)};this.adConfig=r=>{this.commands.executeCommand("AdsSDK.adConfig",r)};this.adBreak=r=>{this.commands.executeCommand("AdsSDK.adBreak",r)};this.adUnit=r=>{this.commands.executeCommand("AdsSDK.adUnit",r)}}};var F=class extends f{showKeyboard(t){let r=this.canIUseIfThrow("keyboard.showKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.showKeyboard",t)}updateKeyboard(t){let r=this.canIUseIfThrow("keyboard.updateKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.updateKeyboard",{value:t})}hideKeyboard(){let t=this.canIUseIfThrow("keyboard.hideKeyboard");if(t)return t;this.commands.executeCommand("KeyboardSDK.hideKeyboard")}};var B=class extends f{onLevelFinished(t,r,n){return m(this,null,function*(){let o=this.canIUseIfThrow("TaskTrackerSDK.onLevelFinished");return o?Promise.resolve(o):yield this.commands.executeCommand("TaskTrackerSDK.levelFinished",t,{result:r,duration:n})})}onTaskFinished(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskFinished");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskFinished",t,{duration:r}))})}onTaskEvent(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskEvent");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskEvent",t,r))})}onLevelUpgrade(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onLevelUpgrade");return n||(yield this.commands.executeCommand("TaskTrackerSDK.levelUpgrade",t,r))})}onHistoryUserLevel(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserLevel");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserLevel",t))})}onHistoryUserScore(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserScore");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserScore",t))})}};var V=class extends f{openSchema(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openSchema");return r||(yield this.commands.executeCommand("RouterSDK.openSchema",t))})}openPage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openPage");return r||(yield this.commands.executeCommand("RouterSDK.openPage",t))})}closePage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.closePage");return r||(yield this.commands.executeCommand("RouterSDK.closePage",t))})}};var $=class{constructor(){this.jssdkVersion="1.1.13-beta.1";this.runtime=new nt;this.ads=new J;this.lifecycle=new N;this.storage=new j;this.keyboard=new F;this.task=new B;this.router=new V;this.getSystemInfoSync=We.bind(this);this.canIUse=E.bind(this);this.login=et.bind(this);this.checkSession=tt.bind(this);this.request=rt.bind(this);window.joliboxsdk={runtime:this.runtime,ads:this.ads,lifecycle:this.lifecycle,storage:this.storage,keyboard:this.keyboard,task:this.task,router:this.router}}};window.JoliboxSDK=$;
|
|
1
|
+
"use strict";var L=Object.defineProperty,st=Object.defineProperties,it=Object.getOwnPropertyDescriptor,at=Object.getOwnPropertyDescriptors,ct=Object.getOwnPropertyNames,me=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var de=(e,t,r)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t)=>{for(var r in t||(t={}))ue.call(t,r)&&de(e,r,t[r]);if(me)for(var r of me(t))lt.call(t,r)&&de(e,r,t[r]);return e},D=(e,t)=>st(e,at(t));var mt=(e,t)=>{for(var r in t)L(e,r,{get:t[r],enumerable:!0})},dt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ct(t))!ue.call(e,o)&&o!==r&&L(e,o,{get:()=>t[o],enumerable:!(n=it(t,o))||n.enumerable});return e};var ut=e=>dt(L({},"__esModule",{value:!0}),e);var m=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{c(r.next(l))}catch(i){o(i)}},a=l=>{try{c(r.throw(l))}catch(i){o(i)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);c((r=r.apply(e,t)).next())});var ur={};mt(ur,{JoliboxSDK:()=>$});module.exports=ut(ur);if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}var Y=Object.defineProperty,pt=Object.defineProperties,ft=Object.getOwnPropertyDescriptor,ht=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,fe=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ge=(e,t)=>{for(var r in t||(t={}))gt.call(t,r)&&fe(e,r,t[r]);if(pe)for(var r of pe(t))_t.call(t,r)&&fe(e,r,t[r]);return e},yt=(e,t)=>pt(e,ht(t)),Et=(e,t)=>{for(var r in t)Y(e,r,{get:t[r],enumerable:!0})},_e=(e,t,r,n)=>{for(var o=n>1?void 0:n?ft(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(o=(n?a(t,r,o):a(o))||o);return n&&o&&Y(t,r,o),o},vt=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{c(r.next(l))}catch(i){o(i)}},a=l=>{try{c(r.throw(l))}catch(i){o(i)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);c((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}function bt(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function Q(e){return typeof e=="string"}function ye(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function St(e){return typeof e=="undefined"}function xt(e){return St(e)||e===null}function Rt(e){return typeof e=="function"}function Ee(e){let t=e,r=null,n=function(...o){return r||(r=new t(...o)),r};return n.prototype=t.prototype,n}var wt=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(wt||{}),It=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},ve=class extends It{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}};var be=class extends ve{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_FETCH_ERROR",this.priority="P0"}},b=class extends ve{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_EVAL_ERROR",this.priority="P0"}};function S(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}var Tt={log:S("log"),warn:S("warn"),info:S("info"),error:S("error"),debug:S("debug")};Object.assign(globalThis,{logger:Tt});var Se=Symbol.for("Jolibox.canIUseMap"),Lt={};globalThis[Se]=Lt;var xe={get config(){return globalThis[Se]}};function X(e,t,r){let n=0;if(e!==t){let o=e.split("."),s=t.split("."),a=Math.max(o.length,s.length);for(let c=0;c<a;c++){let l=parseInt(o[c],10)||0,i=parseInt(s[c],10)||0;if(l>i){n=1;break}else if(l<i){n=-1;break}}}if(!r)return n;switch(r){case">":return n>0;case"<":return n<0;case"=":return n===0;case">=":return n>=0;case"<=":return n<=0;default:return!1}}var Z=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(Z||{}),ee=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(ee||{}),At=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(At||{}),he=["name","params"],Dt=["name","type","location","target","extra","timestamp","userId"],Ut=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function P(e,t){return t.map(r=>{if(r==="params"&&e[r]){let n=e[r];return Object.keys(n).reduce((o,s)=>(o[s]=String(n[s]),o),{})}return e[r]})}function Ot(e){let t=e.location?P(e.location,he):null,r=e.target?P(e.target,he):null;return P(yt(ge({},e),{location:t,target:r}),Dt)}function Re(e){let t=e.events.map(n=>Ot(n)),r=P(e.device,Ut);return[e.protocolVersion,t,r,e.project]}var Pt=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)});function te(){try{if(window.__joliboxLocalStorage__)return window.__joliboxLocalStorage__;let e=Object.getOwnPropertyDescriptor(window,"localStorage");if(e&&e.get){let n=e.get.call(window);return window.__joliboxLocalStorage__=n,n}if(e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(window),"localStorage"),e&&e.get)return e.get.call(window);let t=Window.prototype,r=Object.getOwnPropertyDescriptor(t,"localStorage");if(r&&r.get){let n=r.get.call(window);return window.__joliboxLocalStorage__=n,n}return localStorage}catch(e){return console.warn("Failed to get original localStorage, fallback to default implementation",e),localStorage}}te();var U={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},kt=()=>U.isiOS?"iOS":U.isAndroid?"Android":U.isMac?"Mac":U.isFacebook?"Facebook":"PC",Ct="device_id",Kt="advertising_id",we=e=>(window.__joliboxLocalStorage__.getItem(e)||window.__joliboxLocalStorage__.setItem(e,Pt()),window.__joliboxLocalStorage__.getItem(e)),Mt=()=>new URLSearchParams(window.location.search).get("deviceId")||we(Ct),jt=()=>we(Kt),Nt=e=>e.charAt(0).toUpperCase()+e.slice(1),Jt=()=>{var e;let t=new URLSearchParams(window.location.search);return Nt((e=t.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Ie=e=>{let t="JoliboxWebSDK",r=kt(),n=navigator.language,o=Mt(),s=jt();return`${t} (${Jt()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${o} adid/${s} version/${e||""}`},H=class W{constructor(t){this.element=t,this.next=W.Undefined,this.prev=W.Undefined}};H.Undefined=new H(void 0);var d=H,Ft=class{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let e=this._first;for(;e!==d.Undefined;){let t=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=t}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new d(e);if(this._first===d.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==d.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==d.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==d.Undefined&&e.next!==d.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===d.Undefined&&e.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):e.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):e.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==d.Undefined;)yield e.element,e=e.next}},Bt=0,O=class{constructor(e){this.value=e,this.id=Bt++}},x=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof O&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var n,o,s,a,c,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new O(t);this._listeners?this._listeners instanceof O?this._listeners=[this._listeners,i]:this._listeners.push(i):((o=(n=this.options)==null?void 0:n.onWillAddFirstListener)==null||o.call(n,this),this._listeners=i,(a=(s=this.options)==null?void 0:s.onDidFirstListener)==null||a.call(s,this)),(l=(c=this.options)==null?void 0:c.onDidAddListener)==null||l.call(c,this),this._size++}),this._event}_deliver(e,t){var r;if(!e)return;let n=((r=this.options)==null?void 0:r.onListenerError)||Error.constructor;if(!n){e.value(t);return}try{e.value(t)}catch(o){n(o)}}fire(e){this._listeners&&(this._listeners instanceof O?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},re=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var r;let n=(r=this.listeners.get(e))!=null?r:new x,o=a=>t(...a.args);this.listerHandlerMap.set(t,o),n.event(o),this.listeners.set(e,n);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)n.fire(ge({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Ft,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},z={};Et(z,{None:()=>Vt,filter:()=>Gt,once:()=>Te,toPromise:()=>$t});var Vt=()=>{console.log("[Jolibox SDK] None Event")};function $t(e){return new Promise(t=>Te(e)(t))}function Te(e){return(t,r=null)=>{let n=!1;return e(o=>{if(!n)return n=!0,t.call(r,o)},null)}}function Gt(e,t){return(r=>{let n,o={onWillAddFirstListener(){n=r(s.fire,s)}},s=new x(o);return s.event})((r,n=null)=>e(o=>t(o)&&r.call(n,o),null))}var G=Symbol.for("Jolibox.hostEmitter"),Ht=()=>{let e=new re;return globalThis[G]||(globalThis[G]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[G]},Le=Ht();function Wt(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)zt(e[n],t[n])}function zt(e,t){if(Q(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Rt(t)){try{if(e instanceof t)return}catch(r){}if(!xt(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var k=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new x,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let o of e.metadata.args)r.push(o.constraint);let n=e.handler;e.handler=function(...o){return Wt(o,r),n(...o)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};k=_e([Ee],k);var q=class{constructor(){this._onWillExecuteCommand=new x,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new x,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new k,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=bt(3e4)),this._starActivation}executeCommand(e,...t){return vt(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),z.toPromise(z.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};q=_e([Ee],q);var Ae=Symbol.for("Jolibox.commands");function qt(){return typeof globalThis!="undefined"?globalThis[Ae]:void 0}function Yt(e){typeof globalThis!="undefined"&&(globalThis[Ae]=e)}function h(){let e=qt();if(e)return e;let t=new k,r=new q,n={registerCommand(o,s,a){t.registerCommand({id:o,handler:s,metadata:a})},executeCommand(o,...s){return r.executeCommand(o,...s)},excuteCommandSync(o,...s){return r.executeCommandThowErr(o,...s)}};return Yt(n),n}var C=new URLSearchParams(window.location.search).get("joliboxEnv")==="staging";function Qt(){let e=new URLSearchParams(window.location.search),t={};return e.forEach((r,n)=>{t[n]=r}),{name:"GamePage",params:t}}function Xt(){return{platform:1e3,os:"h5",appVersion:"1.1.13-beta.10",appId:"1",model:"UnknownModel",brand:"UnknownBrand",uuid:"1",jsSdkVersion:"1.1.13-beta.10",extra:{}}}var De={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}},Zt=()=>{var t;let e=(t=De[window.location.host])!=null?t:De.default;return C?e.test:e.prod},er=Zt(),Oe=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal},Ue;(Ue=AbortSignal.timeout)!=null||(AbortSignal.timeout=Oe);var tr=()=>{var t;return(t=new URLSearchParams(window.location.search).get("joliSource"))!=null?t:null},rr=tr(),nr=e=>m(void 0,null,function*(){try{let r=`${er}/report`,n=Ie("1.1.13-beta.10"),o=rr,s={"Content-Type":"application/json"};return n&&(s["x-user-agent"]=n),o&&(s["x-joli-source"]=o),yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(e),signal:Oe(5e3)})}catch(t){return console.error("Error posting to reporter:",t),null}});function E(e){return m(this,null,function*(){try{let t={name:"globalJsError",type:Z.ErrorTrace,location:Qt(),target:null,extra:e,timestamp:Date.now(),userId:null},r=Xt(),o={protocolVersion:"1.0.0",events:[t],device:r,project:ee.WebSDK},s=Re(o);yield nr(s)}catch(t){console.error("Failed to track error:",t)}})}document.addEventListener("DOMContentLoaded",()=>Le.emit("onDocumentReady",R.startTime));var or=()=>{let e=0;return{set startTime(t){e=t},get startTime(){return e}}},R=or(),Pe=h(),ne=e=>{Pe.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify(e)}}).catch(t=>{console.error(`Fallback report: ${t} ${JSON.stringify(e)}`),E({err:JSON.stringify({message:t.message,source:t.source,lineno:t.lineno,colno:t.colno,error:t.error})})})},oe=ne;window.addEventListener("unhandledrejection",ne.bind(void 0));window.addEventListener("error",ne.bind(void 0));window.onerror=(e,t,r,n,o)=>{Pe.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})}}).catch(s=>{E({err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})})})};var se=e=>{var c,l,i;let t=e.split("-")[1];t&&(e=e.replace(`-${t}`,""));let r=e.split("+")[1];r&&(e=e.replace(`+${r}`,""));let n=e.split(".").slice(0,3),[o,s,a]=[(c=n[0])!=null?c:"0",(l=n[1])!=null?l:"0",(i=n[2])!=null?i:"0"];return{major:o,minor:s,patch:a,prerelease:t,build:r}},w=e=>parseInt(se(e).major,10),I=(e,t)=>{let{major:r,minor:n,patch:o,prerelease:s}=se(e),{major:a,minor:c,patch:l,prerelease:i}=se(t);return r!==a?r>a?1:-1:n!==c?n>c?1:-1:o!==l?o>l?1:-1:s&&!i?-1:!s&&i?1:s&&i?s>i?1:s<i?-1:0:0};var ke=h(),K=(e,t)=>{ke.executeCommand("ReportSDK.traceSystem",{event:e,info:t})},v=(e,t,r)=>{ke.executeCommand("ReportSDK.traceSystemTimeline",{event:e,duration:t,extra:r})};te();var je="jolibox-sdk-loadermeta",Me,T=JSON.parse((Me=window.__joliboxLocalStorage__.getItem(je))!=null?Me:"{}"),ie=Date.now(),Ce=(e,t)=>e>t&&Math.abs(e-t)/(1e3*60*60*24)>=7,Ke=e=>!/^(Failed to fetch version|Couldn't find the requested file)/.test(e);function sr(){return m(this,null,function*(){let t=`${C?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/version-metadata`;try{let r=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}),{implement_version:n,bootstrap_version:o}=yield r.json(),s=D(A({},T),{timestamp:ie});if(o){let{bootstrap_version:a}=T;if(!(a&&I(a,o)>=0)){let c=yield(yield fetch(ae(o))).text();Ke(c)&&(s=D(A({},s),{bootstrap_version:o,bootstrap_script:c}))}}if(n){let{implement_version:a}=T;if(!(a&&I(a,n)>=0)){let c=yield(yield fetch(ce(n))).text();Ke(c)&&(s=D(A({},s),{implement_version:n,implement_script:c}))}}window.__joliboxLocalStorage__.setItem(je,JSON.stringify(s))}catch(r){console.warn("Failed to fetch loader metadata: ",r)}})}var Ne=e=>{let{currentMajorVersion:t,currentVersion:r,bootstrapUrl:n,implementUrl:o}=e;function s(){let{bootstrap_version:i,bootstrap_script:g,timestamp:_}=T;if(i&&g&&_&&!Ce(ie,_)&&w(i)==t&&I(i,r)>=0)return{script:g,type:"localscript"};try{let p=new XMLHttpRequest;return p.open("GET",n,!1),p.send(),{script:p.responseText,type:"fetch_from_cdn"}}catch(p){let u=new be(`Bootstrap module faile to fetch ${p}`);E({err:`${u}`})}}function a(){var p;let i=Date.now();K("jsSdkBegin",{t:i}),R.startTime=i;let{script:g,type:_}=(p=s())!=null?p:{};if(g){let u=document.createElement("script");u.type="text/javascript",u.innerHTML=g,document.head.appendChild(u),v("bootstrapModuleLoaded",Date.now()-i,{type:_})}}function c(i){(_=>m(this,null,function*(){try{let p=new Blob([_],{type:"application/javascript"}),u=URL.createObjectURL(p),ot=yield import(u);return URL.revokeObjectURL(u),ot}catch(p){let u=new b(`implement module evaluate error in h5:${p} `);E({err:`${u}`})}}))(i)}function l(){let i=Date.now(),{implement_script:g,implement_version:_,timestamp:p}=T;if(g&&_&&p&&!Ce(ie,p)&&w(_)==t&&I(_,r)>=0){c(g),v("implementModuleLoaded",Date.now()-i,{type:"loadscript"});return}let u=document.createElement("script");u.type="module",u.crossOrigin="anonymous",u.src=o,u.onload=()=>{v("implementModuleLoaded",Date.now()-i,{type:"fetch_from_cdn"})},document.head.appendChild(u)}return()=>{try{a(),l(),sr()}catch(i){let g=new b(`module evaluate error: ${i}`);E({err:`${g}`})}}};var Je=(e,t)=>{let r=o=>{let s=e({path:o});if(!s)throw`module ${o} load failed ${s}`;return s};function n(o){(a=>m(this,null,function*(){try{let c=new Blob([a],{type:"application/javascript"}),l=URL.createObjectURL(c),i=yield import(l);return URL.revokeObjectURL(l),i}catch(c){oe(new b(`implement module evaluate error in native:${c} `))}}))(o)}return()=>{try{let o=Date.now();K("jsSdkBegin",{t:o}),R.startTime=o;let s=r(t.bootstrapUrl),a=document.createElement("script");a.type="text/javascript",a.innerHTML=s,document.head.appendChild(a),v("bootstrapModuleLoaded",Date.now()-o,{type:"native"});let c=Date.now(),l=r(t.implementUrl);n(l),v("implementModuleLoaded",Date.now()-c,{type:"native"})}catch(o){console.error(`native load script error: ${o}`),oe(new b(`module load failed ${o}`))}}};var ir="1.1.13-beta.10",M=ir,Ve=w(M),$e=!!(navigator.userAgent||"").includes("JoliboxPlatformSDK"),ar=$e?e=>{let t=window.prompt("invoke",JSON.stringify({event:"loadScriptSync",paramsString:JSON.stringify(e)}));if(t){let{data:r}=JSON.parse(t);return r}}:void 0,ae=e=>`https://jsdelivr.jolibox.com/npm/@jolibox/bootstrap@${e}/dist/index.js`,ce=e=>`https://jsdelivr.jolibox.com/npm/@jolibox/implement@${e}/dist/index.js`,cr=e=>/^\d+\.\d+\.\d+$/.test(e),Ge=cr(M)?Ve:M,Fe=ae(Ge),Be=ce(Ge);function lr(){$e?Je(ar,{bootstrapUrl:Fe,implementUrl:Be})():Ne({bootstrapUrl:Fe,implementUrl:Be,currentMajorVersion:Ve,currentVersion:M})()}lr();var He=h();function We(){return He.excuteCommandSync("API.getSystemInfoSync")}function ze(){return He.excuteCommandSync("API.env")}function qe(e,t){var r;return(r=xe.config[e])==null?void 0:r[t]}function Ye(e,t,r){let n=Array.isArray(t)?t:t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n)if(o&&(typeof o=="object"||Array.isArray(o)))o=o[s];else return r;return o===void 0?r:o}var Xe="1.1.13-beta.10";function y(e){var c,l;let r=(l=(c=ze().data)==null?void 0:c.deviceInfo)==null?void 0:l.platform;if(!r)return!1;let[n,...o]=e.split(":"),s=qe(r=="h5"?r:"native",n);if(!s)return!1;let a=s.version;return typeof a!="string"||X(Xe,a,"<")?!1:o.length===0?!0:Qe(s,o)||Qe(s.properties,o)}function Qe(e,t){if(!e)return!1;let r=Ye(e,t);return r?ye(r)?!0:Q(r)?X(Xe,r,">="):!1:!1}var Ze=h();function et(){return m(this,null,function*(){return y("login")?yield Ze.executeCommand("API.login"):{code:"FAILURE",message:"[Jolibox SDK]login is not supported in this platform"}})}function tt(){return m(this,null,function*(){return y("checkSession")?yield Ze.executeCommand("API.checkSession"):{code:"FAILURE",message:"[Jolibox SDK]checkSession is not supported in this platform"}})}var mr=h();function rt(e){return m(this,null,function*(){return y("request")?yield mr.executeCommand("HttpSDK.request",e):{code:"FAILURE",message:"[Jolibox SDK]request is not supported in this platform"}})}var le=class{constructor(){this.loadFinished=()=>{let t=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(t)};this.notifyLoadProgress=t=>{let r=Math.ceil(t),n=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:r});window.dispatchEvent(n)}}},nt=window.JoliboxRuntime||le;var f=class{constructor(){this.commands=h();this._emitter=new re}addEventListener(t,r){this._emitter.on(t,(...n)=>r(n[0]))}triggerEvent(t,r){this._emitter.emit(t,r)}canUse(t){return y(t)}canIUseIfThrow(t){if(!this.canUse(t))return{code:"FAILURE",message:`[Jolibox SDK] ${t} is not supported in this platform`}}};var dr="LifecycleSDK.onReady",j=class extends f{constructor(){super()}onReady(t){let r=n=>{t.call(this,n),this.triggerEvent(dr,n)};this.commands.executeCommand("LifecycleSDK.onReady",r.bind(this))}exit(t){let r=this.canIUseIfThrow("lifeCycle.exit");if(r)return r;this.commands.executeCommand("LifecycleSDK.exit",t.onBeforeExit,t.shouldStay)}onJoliboxHide(t){this.commands.executeCommand("LifecycleSDK.onJoliboxHide",t.bind(this))}onJoliboxShow(t){this.commands.executeCommand("LifecycleSDK.onJoliboxShow",t.bind(this))}};var N=class extends f{getItem(t){return m(this,null,function*(){return yield this.commands.executeCommand("StorageSDK.getItem",t)})}setItem(t,r){return m(this,null,function*(){if(t.length>128)return{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key should be less than 128"};let n=typeof r=="string"?r:String(r);return t.length+n.length>1024?{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key and value should be less than 1024"}:yield this.commands.executeCommand("StorageSDK.setItem",t,r)})}removeItem(t){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.removeItem",t)})}clear(){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.clear")})}};var J=class extends f{constructor(){super();this.init=r=>{this.commands.executeCommand("AdsSDK.init",r)};this.adConfig=r=>{this.commands.executeCommand("AdsSDK.adConfig",r)};this.adBreak=r=>{this.commands.executeCommand("AdsSDK.adBreak",r)};this.adUnit=r=>{this.commands.executeCommand("AdsSDK.adUnit",r)}}};var F=class extends f{showKeyboard(t){let r=this.canIUseIfThrow("keyboard.showKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.showKeyboard",t)}updateKeyboard(t){let r=this.canIUseIfThrow("keyboard.updateKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.updateKeyboard",{value:t})}hideKeyboard(){let t=this.canIUseIfThrow("keyboard.hideKeyboard");if(t)return t;this.commands.executeCommand("KeyboardSDK.hideKeyboard")}};var B=class extends f{onLevelFinished(t,r,n){return m(this,null,function*(){let o=this.canIUseIfThrow("TaskTrackerSDK.onLevelFinished");return o?Promise.resolve(o):yield this.commands.executeCommand("TaskTrackerSDK.levelFinished",t,{result:r,duration:n})})}onTaskFinished(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskFinished");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskFinished",t,{duration:r}))})}onTaskEvent(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskEvent");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskEvent",t,r))})}onLevelUpgrade(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onLevelUpgrade");return n||(yield this.commands.executeCommand("TaskTrackerSDK.levelUpgrade",t,r))})}onHistoryUserLevel(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserLevel");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserLevel",t))})}onHistoryUserScore(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserScore");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserScore",t))})}};var V=class extends f{openSchema(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openSchema");return r||(yield this.commands.executeCommand("RouterSDK.openSchema",t))})}openPage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openPage");return r||(yield this.commands.executeCommand("RouterSDK.openPage",t))})}closePage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.closePage");return r||(yield this.commands.executeCommand("RouterSDK.closePage",t))})}};var $=class{constructor(){this.jssdkVersion="1.1.13-beta.10";this.runtime=new nt;this.ads=new J;this.lifecycle=new j;this.storage=new N;this.keyboard=new F;this.task=new B;this.router=new V;this.getSystemInfoSync=We.bind(this);this.canIUse=y.bind(this);this.login=et.bind(this);this.checkSession=tt.bind(this);this.request=rt.bind(this);window.joliboxsdk={runtime:this.runtime,ads:this.ads,lifecycle:this.lifecycle,storage:this.storage,keyboard:this.keyboard,task:this.task,router:this.router}}};window.JoliboxSDK=$;
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var nt=Object.defineProperty,ot=Object.defineProperties;var st=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;var me=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L=(e,t)=>{for(var r in t||(t={}))it.call(t,r)&&me(e,r,t[r]);if(le)for(var r of le(t))at.call(t,r)&&me(e,r,t[r]);return e},D=(e,t)=>ot(e,st(t));var m=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{a(r.next(l))}catch(i){o(i)}},c=l=>{try{a(r.throw(l))}catch(i){o(i)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,c);a((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}var q=Object.defineProperty,ct=Object.defineProperties,lt=Object.getOwnPropertyDescriptor,mt=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,ue=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))dt.call(t,r)&&ue(e,r,t[r]);if(de)for(var r of de(t))ut.call(t,r)&&ue(e,r,t[r]);return e},pt=(e,t)=>ct(e,mt(t)),ft=(e,t)=>{for(var r in t)q(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,n)=>{for(var o=n>1?void 0:n?lt(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(o=(n?c(t,r,o):c(o))||o);return n&&o&&q(t,r,o),o},ht=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{a(r.next(l))}catch(i){o(i)}},c=l=>{try{a(r.throw(l))}catch(i){o(i)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,c);a((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}function gt(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function Q(e){return typeof e=="string"}function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function _t(e){return typeof e=="undefined"}function Et(e){return _t(e)||e===null}function yt(e){return typeof e=="function"}function _e(e){let t=e,r=null,n=function(...o){return r||(r=new t(...o)),r};return n.prototype=t.prototype,n}var vt=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(vt||{}),St=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},Ee=class extends St{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}};var ye=class extends Ee{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_FETCH_ERROR",this.priority="P0"}},S=class extends Ee{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_EVAL_ERROR",this.priority="P0"}};function b(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}var bt={log:b("log"),warn:b("warn"),info:b("info"),error:b("error"),debug:b("debug")};Object.assign(globalThis,{logger:bt});var ve=Symbol.for("Jolibox.canIUseMap"),xt={};globalThis[ve]=xt;var Se={get config(){return globalThis[ve]}};function Y(e,t,r){let n=0;if(e!==t){let o=e.split("."),s=t.split("."),c=Math.max(o.length,s.length);for(let a=0;a<c;a++){let l=parseInt(o[a],10)||0,i=parseInt(s[a],10)||0;if(l>i){n=1;break}else if(l<i){n=-1;break}}}if(!r)return n;switch(r){case">":return n>0;case"<":return n<0;case"=":return n===0;case">=":return n>=0;case"<=":return n<=0;default:return!1}}var X=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(X||{}),Z=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(Z||{}),Rt=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Rt||{}),pe=["name","params"],wt=["name","type","location","target","extra","timestamp","userId"],It=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function O(e,t){return t.map(r=>{if(r==="params"&&e[r]){let n=e[r];return Object.keys(n).reduce((o,s)=>(o[s]=String(n[s]),o),{})}return e[r]})}function Tt(e){let t=e.location?O(e.location,pe):null,r=e.target?O(e.target,pe):null;return O(pt(fe({},e),{location:t,target:r}),wt)}function be(e){let t=e.events.map(n=>Tt(n)),r=O(e.device,It);return[e.protocolVersion,t,r,e.project]}var Lt=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)});var A={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},Dt=()=>A.isiOS?"iOS":A.isAndroid?"Android":A.isMac?"Mac":A.isFacebook?"Facebook":"PC",At="device_id",Ut="advertising_id",xe=e=>(localStorage.getItem(e)||localStorage.setItem(e,Lt()),localStorage.getItem(e)),Ot=()=>xe(At),Pt=()=>xe(Ut),kt=e=>e.charAt(0).toUpperCase()+e.slice(1),Ct=()=>{var e;let t=new URLSearchParams(window.location.search);return kt((e=t.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Re=e=>{let t="JoliboxWebSDK",r=Dt(),n=navigator.language,o=Ot(),s=Pt();return`${t} (${Ct()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${o} adid/${s} version/${e||""}`},G=class H{constructor(t){this.element=t,this.next=H.Undefined,this.prev=H.Undefined}};G.Undefined=new G(void 0);var d=G,Kt=class{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let e=this._first;for(;e!==d.Undefined;){let t=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=t}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new d(e);if(this._first===d.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==d.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==d.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==d.Undefined&&e.next!==d.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===d.Undefined&&e.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):e.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):e.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==d.Undefined;)yield e.element,e=e.next}},Mt=0,U=class{constructor(e){this.value=e,this.id=Mt++}},x=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof U&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var n,o,s,c,a,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new U(t);this._listeners?this._listeners instanceof U?this._listeners=[this._listeners,i]:this._listeners.push(i):((o=(n=this.options)==null?void 0:n.onWillAddFirstListener)==null||o.call(n,this),this._listeners=i,(c=(s=this.options)==null?void 0:s.onDidFirstListener)==null||c.call(s,this)),(l=(a=this.options)==null?void 0:a.onDidAddListener)==null||l.call(a,this),this._size++}),this._event}_deliver(e,t){var r;if(!e)return;let n=((r=this.options)==null?void 0:r.onListenerError)||Error.constructor;if(!n){e.value(t);return}try{e.value(t)}catch(o){n(o)}}fire(e){this._listeners&&(this._listeners instanceof U?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},ee=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var r;let n=(r=this.listeners.get(e))!=null?r:new x,o=c=>t(...c.args);this.listerHandlerMap.set(t,o),n.event(o),this.listeners.set(e,n);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)n.fire(fe({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Kt,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},W={};ft(W,{None:()=>Nt,filter:()=>Jt,once:()=>we,toPromise:()=>jt});var Nt=()=>{console.log("[Jolibox SDK] None Event")};function jt(e){return new Promise(t=>we(e)(t))}function we(e){return(t,r=null)=>{let n=!1;return e(o=>{if(!n)return n=!0,t.call(r,o)},null)}}function Jt(e,t){return(r=>{let n,o={onWillAddFirstListener(){n=r(s.fire,s)}},s=new x(o);return s.event})((r,n=null)=>e(o=>t(o)&&r.call(n,o),null))}var V=Symbol.for("Jolibox.hostEmitter"),Ft=()=>{let e=new ee;return globalThis[V]||(globalThis[V]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[V]},Ie=Ft();function Bt(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Vt(e[n],t[n])}function Vt(e,t){if(Q(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(yt(t)){try{if(e instanceof t)return}catch(r){}if(!Et(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var P=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new x,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let o of e.metadata.args)r.push(o.constraint);let n=e.handler;e.handler=function(...o){return Bt(o,r),n(...o)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};P=he([_e],P);var z=class{constructor(){this._onWillExecuteCommand=new x,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new x,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new P,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=gt(3e4)),this._starActivation}executeCommand(e,...t){return ht(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),W.toPromise(W.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};z=he([_e],z);var $=Symbol.for("Jolibox.commands");function h(){if(globalThis[$])return globalThis[$];let e=new P,t=new z,r={registerCommand(n,o,s){e.registerCommand({id:n,handler:o,metadata:s})},executeCommand(n,...o){return t.executeCommand(n,...o)},excuteCommandSync(n,...o){return t.executeCommandThowErr(n,...o)}};return globalThis[$]=r,r}var k=new URLSearchParams(window.location.search).get("joliboxEnv")==="staging";function $t(){let e=new URLSearchParams(window.location.search),t={};return e.forEach((r,n)=>{t[n]=r}),{name:"GamePage",params:t}}function Gt(){return{platform:1e3,os:"h5",appVersion:"1.1.13-beta.1",appId:"1",model:"UnknownModel",brand:"UnknownBrand",uuid:"1",jsSdkVersion:"1.1.13-beta.1",extra:{}}}var Te={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}},Ht=()=>{var t;let e=(t=Te[window.location.host])!=null?t:Te.default;return k?e.test:e.prod},Wt=Ht(),De=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal},Le;(Le=AbortSignal.timeout)!=null||(AbortSignal.timeout=De);var zt=()=>{var t;return(t=new URLSearchParams(window.location.search).get("joliSource"))!=null?t:null},qt=zt(),Qt=e=>m(void 0,null,function*(){try{let r=`${Wt}/report`,n=Re("1.1.13-beta.1"),o=qt,s={"Content-Type":"application/json"};return n&&(s["x-user-agent"]=n),o&&(s["x-joli-source"]=o),yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(e),signal:De(5e3)})}catch(t){return console.error("Error posting to reporter:",t),null}});function y(e){return m(this,null,function*(){try{let t={name:"globalJsError",type:X.ErrorTrace,location:$t(),target:null,extra:e,timestamp:Date.now(),userId:null},r=Gt(),o={protocolVersion:"1.0.0",events:[t],device:r,project:Z.WebSDK},s=be(o);yield Qt(s)}catch(t){console.error("Failed to track error:",t)}})}document.addEventListener("DOMContentLoaded",()=>Ie.emit("onDocumentReady",R.startTime));var Yt=()=>{let e=0;return{set startTime(t){e=t},get startTime(){return e}}},R=Yt(),Ae=h(),te=e=>{Ae.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify(e)}}).catch(t=>{console.error(`Fallback report: ${t} ${JSON.stringify(e)}`),y({err:JSON.stringify({message:t.message,source:t.source,lineno:t.lineno,colno:t.colno,error:t.error})})})},re=te;window.addEventListener("unhandledrejection",te.bind(void 0));window.addEventListener("error",te.bind(void 0));window.onerror=(e,t,r,n,o)=>{Ae.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})}}).catch(s=>{y({err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})})})};var ne=e=>{var a,l,i;let t=e.split("-")[1];t&&(e=e.replace(`-${t}`,""));let r=e.split("+")[1];r&&(e=e.replace(`+${r}`,""));let n=e.split(".").slice(0,3),[o,s,c]=[(a=n[0])!=null?a:"0",(l=n[1])!=null?l:"0",(i=n[2])!=null?i:"0"];return{major:o,minor:s,patch:c,prerelease:t,build:r}},w=e=>parseInt(ne(e).major,10),I=(e,t)=>{let{major:r,minor:n,patch:o,prerelease:s}=ne(e),{major:c,minor:a,patch:l,prerelease:i}=ne(t);return r!==c?r>c?1:-1:n!==a?n>a?1:-1:o!==l?o>l?1:-1:s&&!i?-1:!s&&i?1:s&&i?s>i?1:s<i?-1:0:0};var Ue=h(),C=(e,t)=>{Ue.executeCommand("ReportSDK.traceSystem",{event:e,info:t})},v=(e,t,r)=>{Ue.executeCommand("ReportSDK.traceSystemTimeline",{event:e,duration:t,extra:r})};function Oe(){try{if(window.__joliboxLocalStorage__)return window.__joliboxLocalStorage__;let e=Object.getOwnPropertyDescriptor(window,"localStorage");if(e&&e.get){let n=e.get.call(window);return window.__joliboxLocalStorage__=n,n}if(e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(window),"localStorage"),e&&e.get)return e.get.call(window);let t=Window.prototype,r=Object.getOwnPropertyDescriptor(t,"localStorage");if(r&&r.get){let n=r.get.call(window);return window.__joliboxLocalStorage__=n,n}return localStorage}catch(e){return console.warn("Failed to get original localStorage, fallback to default implementation",e),localStorage}}var Ke="jolibox-sdk-loadermeta";Oe();var Ce,T=JSON.parse((Ce=window.__joliboxLocalStorage__.getItem(Ke))!=null?Ce:"{}"),oe=Date.now(),Pe=(e,t)=>e>t&&Math.abs(e-t)/(1e3*60*60*24)>=7,ke=e=>!/^(Failed to fetch version|Couldn't find the requested file)/.test(e);function Xt(){return m(this,null,function*(){let t=`${k?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/version-metadata`;try{let r=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}),{implement_version:n,bootstrap_version:o}=yield r.json(),s=D(L({},T),{timestamp:oe});if(o){let{bootstrap_version:c}=T;if(!(c&&I(c,o)>=0)){let a=yield(yield fetch(se(o))).text();ke(a)&&(s=D(L({},s),{bootstrap_version:o,bootstrap_script:a}))}}if(n){let{implement_version:c}=T;if(!(c&&I(c,n)>=0)){let a=yield(yield fetch(ie(n))).text();ke(a)&&(s=D(L({},s),{implement_version:n,implement_script:a}))}}window.__joliboxLocalStorage__.setItem(Ke,JSON.stringify(s))}catch(r){console.warn("Failed to fetch loader metadata: ",r)}})}var Me=e=>{let{currentMajorVersion:t,currentVersion:r,bootstrapUrl:n,implementUrl:o}=e;function s(){let{bootstrap_version:i,bootstrap_script:g,timestamp:_}=T;if(i&&g&&_&&!Pe(oe,_)&&w(i)==t&&I(i,r)>=0)return{script:g,type:"localscript"};try{let p=new XMLHttpRequest;return p.open("GET",n,!1),p.send(),{script:p.responseText,type:"fetch_from_cdn"}}catch(p){let u=new ye(`Bootstrap module faile to fetch ${p}`);y({err:`${u}`})}}function c(){var p;let i=Date.now();C("jsSdkBegin",{t:i}),R.startTime=i;let{script:g,type:_}=(p=s())!=null?p:{};if(g){let u=document.createElement("script");u.type="text/javascript",u.innerHTML=g,document.head.appendChild(u),v("bootstrapModuleLoaded",Date.now()-i,{type:_})}}function a(i){(_=>m(this,null,function*(){try{let p=new Blob([_],{type:"application/javascript"}),u=URL.createObjectURL(p),rt=yield import(u);return URL.revokeObjectURL(u),rt}catch(p){let u=new S(`implement module evaluate error in h5:${p} `);y({err:`${u}`})}}))(i)}function l(){let i=Date.now(),{implement_script:g,implement_version:_,timestamp:p}=T;if(g&&_&&p&&!Pe(oe,p)&&w(_)==t&&I(_,r)>=0){a(g),v("implementModuleLoaded",Date.now()-i,{type:"loadscript"});return}let u=document.createElement("script");u.type="module",u.crossOrigin="anonymous",u.src=o,u.onload=()=>{v("implementModuleLoaded",Date.now()-i,{type:"fetch_from_cdn"})},document.head.appendChild(u)}return()=>{try{c(),l(),Xt()}catch(i){let g=new S(`module evaluate error: ${i}`);y({err:`${g}`})}}};var Ne=(e,t)=>{let r=o=>{let s=e({path:o});if(!s)throw`module ${o} load failed ${s}`;return s};function n(o){(c=>m(this,null,function*(){try{let a=new Blob([c],{type:"application/javascript"}),l=URL.createObjectURL(a),i=yield import(l);return URL.revokeObjectURL(l),i}catch(a){re(new S(`implement module evaluate error in native:${a} `))}}))(o)}return()=>{try{let o=Date.now();C("jsSdkBegin",{t:o}),R.startTime=o;let s=r(t.bootstrapUrl),c=document.createElement("script");c.type="text/javascript",c.innerHTML=s,document.head.appendChild(c),v("bootstrapModuleLoaded",Date.now()-o,{type:"native"});let a=Date.now(),l=r(t.implementUrl);n(l),v("implementModuleLoaded",Date.now()-a,{type:"native"})}catch(o){console.error(`native load script error: ${o}`),re(new S(`module load failed ${o}`))}}};var Zt="1.1.13-beta.1",K=Zt,Fe=w(K),Be=!!(navigator.userAgent||"").includes("JoliboxPlatformSDK"),er=Be?e=>{let t=window.prompt("invoke",JSON.stringify({event:"loadScriptSync",paramsString:JSON.stringify(e)}));if(t){let{data:r}=JSON.parse(t);return r}}:void 0,se=e=>`https://cdn.jsdelivr.net/npm/@jolibox/bootstrap@${e}/dist/index.js`,ie=e=>`https://cdn.jsdelivr.net/npm/@jolibox/implement@${e}/dist/index.js`,tr=e=>/^\d+\.\d+\.\d+$/.test(e),Ve=tr(K)?Fe:K,je=se(Ve),Je=ie(Ve);function rr(){Be?Ne(er,{bootstrapUrl:je,implementUrl:Je})():Me({bootstrapUrl:je,implementUrl:Je,currentMajorVersion:Fe,currentVersion:K})()}rr();var $e=h();function Ge(){return $e.excuteCommandSync("API.getSystemInfoSync")}function He(){return $e.excuteCommandSync("API.env")}function We(e,t){var r;return(r=Se.config[e])==null?void 0:r[t]}function ze(e,t,r){let n=Array.isArray(t)?t:t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n)if(o&&(typeof o=="object"||Array.isArray(o)))o=o[s];else return r;return o===void 0?r:o}var Qe="1.1.13-beta.1";function E(e){var a,l;let r=(l=(a=He().data)==null?void 0:a.deviceInfo)==null?void 0:l.platform;if(!r)return!1;let[n,...o]=e.split(":"),s=We(r=="h5"?r:"native",n);if(!s)return!1;let c=s.version;return typeof c!="string"||Y(Qe,c,"<")?!1:o.length===0?!0:qe(s,o)||qe(s.properties,o)}function qe(e,t){if(!e)return!1;let r=ze(e,t);return r?ge(r)?!0:Q(r)?Y(Qe,r,">="):!1:!1}var Ye=h();function Xe(){return m(this,null,function*(){return E("login")?yield Ye.executeCommand("API.login"):{code:"FAILURE",message:"[Jolibox SDK]login is not supported in this platform"}})}function Ze(){return m(this,null,function*(){return E("checkSession")?yield Ye.executeCommand("API.checkSession"):{code:"FAILURE",message:"[Jolibox SDK]checkSession is not supported in this platform"}})}var nr=h();function et(e){return m(this,null,function*(){return E("request")?yield nr.executeCommand("HttpSDK.request",e):{code:"FAILURE",message:"[Jolibox SDK]request is not supported in this platform"}})}var ae=class{constructor(){this.loadFinished=()=>{let t=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(t)};this.notifyLoadProgress=t=>{let r=Math.ceil(t),n=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:r});window.dispatchEvent(n)}}},tt=window.JoliboxRuntime||ae;var f=class{constructor(){this.commands=h();this._emitter=new ee}addEventListener(t,r){this._emitter.on(t,(...n)=>r(n[0]))}triggerEvent(t,r){this._emitter.emit(t,r)}canUse(t){return E(t)}canIUseIfThrow(t){if(!this.canUse(t))return{code:"FAILURE",message:`[Jolibox SDK] ${t} is not supported in this platform`}}};var or="LifecycleSDK.onReady",M=class extends f{constructor(){super()}onReady(t){let r=n=>{t.call(this,n),this.triggerEvent(or,n)};this.commands.executeCommand("LifecycleSDK.onReady",r.bind(this))}exit(t){let r=this.canIUseIfThrow("lifeCycle.exit");if(r)return r;this.commands.executeCommand("LifecycleSDK.exit",t.onBeforeExit,t.shouldStay)}onJoliboxHide(t){this.commands.executeCommand("LifecycleSDK.onJoliboxHide",t.bind(this))}onJoliboxShow(t){this.commands.executeCommand("LifecycleSDK.onJoliboxShow",t.bind(this))}};var N=class extends f{getItem(t){return m(this,null,function*(){return yield this.commands.executeCommand("StorageSDK.getItem",t)})}setItem(t,r){return m(this,null,function*(){if(t.length>128)return{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key should be less than 128"};let n=typeof r=="string"?r:String(r);return t.length+n.length>1024?{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key and value should be less than 1024"}:yield this.commands.executeCommand("StorageSDK.setItem",t,r)})}removeItem(t){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.removeItem",t)})}clear(){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.clear")})}};var j=class extends f{constructor(){super();this.init=r=>{this.commands.executeCommand("AdsSDK.init",r)};this.adConfig=r=>{this.commands.executeCommand("AdsSDK.adConfig",r)};this.adBreak=r=>{this.commands.executeCommand("AdsSDK.adBreak",r)};this.adUnit=r=>{this.commands.executeCommand("AdsSDK.adUnit",r)}}};var J=class extends f{showKeyboard(t){let r=this.canIUseIfThrow("keyboard.showKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.showKeyboard",t)}updateKeyboard(t){let r=this.canIUseIfThrow("keyboard.updateKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.updateKeyboard",{value:t})}hideKeyboard(){let t=this.canIUseIfThrow("keyboard.hideKeyboard");if(t)return t;this.commands.executeCommand("KeyboardSDK.hideKeyboard")}};var F=class extends f{onLevelFinished(t,r,n){return m(this,null,function*(){let o=this.canIUseIfThrow("TaskTrackerSDK.onLevelFinished");return o?Promise.resolve(o):yield this.commands.executeCommand("TaskTrackerSDK.levelFinished",t,{result:r,duration:n})})}onTaskFinished(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskFinished");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskFinished",t,{duration:r}))})}onTaskEvent(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskEvent");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskEvent",t,r))})}onLevelUpgrade(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onLevelUpgrade");return n||(yield this.commands.executeCommand("TaskTrackerSDK.levelUpgrade",t,r))})}onHistoryUserLevel(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserLevel");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserLevel",t))})}onHistoryUserScore(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserScore");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserScore",t))})}};var B=class extends f{openSchema(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openSchema");return r||(yield this.commands.executeCommand("RouterSDK.openSchema",t))})}openPage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openPage");return r||(yield this.commands.executeCommand("RouterSDK.openPage",t))})}closePage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.closePage");return r||(yield this.commands.executeCommand("RouterSDK.closePage",t))})}};var ce=class{constructor(){this.jssdkVersion="1.1.13-beta.1";this.runtime=new tt;this.ads=new j;this.lifecycle=new M;this.storage=new N;this.keyboard=new J;this.task=new F;this.router=new B;this.getSystemInfoSync=Ge.bind(this);this.canIUse=E.bind(this);this.login=Xe.bind(this);this.checkSession=Ze.bind(this);this.request=et.bind(this);window.joliboxsdk={runtime:this.runtime,ads:this.ads,lifecycle:this.lifecycle,storage:this.storage,keyboard:this.keyboard,task:this.task,router:this.router}}};window.JoliboxSDK=ce;export{ce as JoliboxSDK};
|
|
1
|
+
var nt=Object.defineProperty,ot=Object.defineProperties;var st=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;var me=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L=(e,t)=>{for(var r in t||(t={}))it.call(t,r)&&me(e,r,t[r]);if(le)for(var r of le(t))at.call(t,r)&&me(e,r,t[r]);return e},A=(e,t)=>ot(e,st(t));var m=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{c(r.next(l))}catch(i){o(i)}},a=l=>{try{c(r.throw(l))}catch(i){o(i)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);c((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}var z=Object.defineProperty,ct=Object.defineProperties,lt=Object.getOwnPropertyDescriptor,mt=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,ue=(e,t,r)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))dt.call(t,r)&&ue(e,r,t[r]);if(de)for(var r of de(t))ut.call(t,r)&&ue(e,r,t[r]);return e},pt=(e,t)=>ct(e,mt(t)),ft=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,n)=>{for(var o=n>1?void 0:n?lt(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(o=(n?a(t,r,o):a(o))||o);return n&&o&&z(t,r,o),o},ht=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{c(r.next(l))}catch(i){o(i)}},a=l=>{try{c(r.throw(l))}catch(i){o(i)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);c((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}function gt(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function q(e){return typeof e=="string"}function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function _t(e){return typeof e=="undefined"}function yt(e){return _t(e)||e===null}function Et(e){return typeof e=="function"}function _e(e){let t=e,r=null,n=function(...o){return r||(r=new t(...o)),r};return n.prototype=t.prototype,n}var vt=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(vt||{}),bt=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},ye=class extends bt{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}};var Ee=class extends ye{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_FETCH_ERROR",this.priority="P0"}},b=class extends ye{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_EVAL_ERROR",this.priority="P0"}};function S(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}var St={log:S("log"),warn:S("warn"),info:S("info"),error:S("error"),debug:S("debug")};Object.assign(globalThis,{logger:St});var ve=Symbol.for("Jolibox.canIUseMap"),xt={};globalThis[ve]=xt;var be={get config(){return globalThis[ve]}};function Y(e,t,r){let n=0;if(e!==t){let o=e.split("."),s=t.split("."),a=Math.max(o.length,s.length);for(let c=0;c<a;c++){let l=parseInt(o[c],10)||0,i=parseInt(s[c],10)||0;if(l>i){n=1;break}else if(l<i){n=-1;break}}}if(!r)return n;switch(r){case">":return n>0;case"<":return n<0;case"=":return n===0;case">=":return n>=0;case"<=":return n<=0;default:return!1}}var Q=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(Q||{}),X=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(X||{}),Rt=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Rt||{}),pe=["name","params"],wt=["name","type","location","target","extra","timestamp","userId"],It=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function O(e,t){return t.map(r=>{if(r==="params"&&e[r]){let n=e[r];return Object.keys(n).reduce((o,s)=>(o[s]=String(n[s]),o),{})}return e[r]})}function Tt(e){let t=e.location?O(e.location,pe):null,r=e.target?O(e.target,pe):null;return O(pt(fe({},e),{location:t,target:r}),wt)}function Se(e){let t=e.events.map(n=>Tt(n)),r=O(e.device,It);return[e.protocolVersion,t,r,e.project]}var Lt=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)});function Z(){try{if(window.__joliboxLocalStorage__)return window.__joliboxLocalStorage__;let e=Object.getOwnPropertyDescriptor(window,"localStorage");if(e&&e.get){let n=e.get.call(window);return window.__joliboxLocalStorage__=n,n}if(e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(window),"localStorage"),e&&e.get)return e.get.call(window);let t=Window.prototype,r=Object.getOwnPropertyDescriptor(t,"localStorage");if(r&&r.get){let n=r.get.call(window);return window.__joliboxLocalStorage__=n,n}return localStorage}catch(e){return console.warn("Failed to get original localStorage, fallback to default implementation",e),localStorage}}Z();var D={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},At=()=>D.isiOS?"iOS":D.isAndroid?"Android":D.isMac?"Mac":D.isFacebook?"Facebook":"PC",Dt="device_id",Ut="advertising_id",xe=e=>(window.__joliboxLocalStorage__.getItem(e)||window.__joliboxLocalStorage__.setItem(e,Lt()),window.__joliboxLocalStorage__.getItem(e)),Ot=()=>new URLSearchParams(window.location.search).get("deviceId")||xe(Dt),Pt=()=>xe(Ut),kt=e=>e.charAt(0).toUpperCase()+e.slice(1),Ct=()=>{var e;let t=new URLSearchParams(window.location.search);return kt((e=t.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Re=e=>{let t="JoliboxWebSDK",r=At(),n=navigator.language,o=Ot(),s=Pt();return`${t} (${Ct()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${o} adid/${s} version/${e||""}`},$=class G{constructor(t){this.element=t,this.next=G.Undefined,this.prev=G.Undefined}};$.Undefined=new $(void 0);var d=$,Kt=class{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let e=this._first;for(;e!==d.Undefined;){let t=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=t}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new d(e);if(this._first===d.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==d.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==d.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==d.Undefined&&e.next!==d.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===d.Undefined&&e.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):e.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):e.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==d.Undefined;)yield e.element,e=e.next}},Mt=0,U=class{constructor(e){this.value=e,this.id=Mt++}},x=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof U&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var n,o,s,a,c,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new U(t);this._listeners?this._listeners instanceof U?this._listeners=[this._listeners,i]:this._listeners.push(i):((o=(n=this.options)==null?void 0:n.onWillAddFirstListener)==null||o.call(n,this),this._listeners=i,(a=(s=this.options)==null?void 0:s.onDidFirstListener)==null||a.call(s,this)),(l=(c=this.options)==null?void 0:c.onDidAddListener)==null||l.call(c,this),this._size++}),this._event}_deliver(e,t){var r;if(!e)return;let n=((r=this.options)==null?void 0:r.onListenerError)||Error.constructor;if(!n){e.value(t);return}try{e.value(t)}catch(o){n(o)}}fire(e){this._listeners&&(this._listeners instanceof U?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},ee=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var r;let n=(r=this.listeners.get(e))!=null?r:new x,o=a=>t(...a.args);this.listerHandlerMap.set(t,o),n.event(o),this.listeners.set(e,n);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)n.fire(fe({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Kt,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},H={};ft(H,{None:()=>jt,filter:()=>Jt,once:()=>we,toPromise:()=>Nt});var jt=()=>{console.log("[Jolibox SDK] None Event")};function Nt(e){return new Promise(t=>we(e)(t))}function we(e){return(t,r=null)=>{let n=!1;return e(o=>{if(!n)return n=!0,t.call(r,o)},null)}}function Jt(e,t){return(r=>{let n,o={onWillAddFirstListener(){n=r(s.fire,s)}},s=new x(o);return s.event})((r,n=null)=>e(o=>t(o)&&r.call(n,o),null))}var V=Symbol.for("Jolibox.hostEmitter"),Ft=()=>{let e=new ee;return globalThis[V]||(globalThis[V]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[V]},Ie=Ft();function Bt(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Vt(e[n],t[n])}function Vt(e,t){if(q(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Et(t)){try{if(e instanceof t)return}catch(r){}if(!yt(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var P=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new x,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let o of e.metadata.args)r.push(o.constraint);let n=e.handler;e.handler=function(...o){return Bt(o,r),n(...o)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};P=he([_e],P);var W=class{constructor(){this._onWillExecuteCommand=new x,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new x,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new P,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=gt(3e4)),this._starActivation}executeCommand(e,...t){return ht(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),H.toPromise(H.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};W=he([_e],W);var Te=Symbol.for("Jolibox.commands");function $t(){return typeof globalThis!="undefined"?globalThis[Te]:void 0}function Gt(e){typeof globalThis!="undefined"&&(globalThis[Te]=e)}function h(){let e=$t();if(e)return e;let t=new P,r=new W,n={registerCommand(o,s,a){t.registerCommand({id:o,handler:s,metadata:a})},executeCommand(o,...s){return r.executeCommand(o,...s)},excuteCommandSync(o,...s){return r.executeCommandThowErr(o,...s)}};return Gt(n),n}var k=new URLSearchParams(window.location.search).get("joliboxEnv")==="staging";function Ht(){let e=new URLSearchParams(window.location.search),t={};return e.forEach((r,n)=>{t[n]=r}),{name:"GamePage",params:t}}function Wt(){return{platform:1e3,os:"h5",appVersion:"1.1.13-beta.10",appId:"1",model:"UnknownModel",brand:"UnknownBrand",uuid:"1",jsSdkVersion:"1.1.13-beta.10",extra:{}}}var Le={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}},zt=()=>{var t;let e=(t=Le[window.location.host])!=null?t:Le.default;return k?e.test:e.prod},qt=zt(),De=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal},Ae;(Ae=AbortSignal.timeout)!=null||(AbortSignal.timeout=De);var Yt=()=>{var t;return(t=new URLSearchParams(window.location.search).get("joliSource"))!=null?t:null},Qt=Yt(),Xt=e=>m(void 0,null,function*(){try{let r=`${qt}/report`,n=Re("1.1.13-beta.10"),o=Qt,s={"Content-Type":"application/json"};return n&&(s["x-user-agent"]=n),o&&(s["x-joli-source"]=o),yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(e),signal:De(5e3)})}catch(t){return console.error("Error posting to reporter:",t),null}});function E(e){return m(this,null,function*(){try{let t={name:"globalJsError",type:Q.ErrorTrace,location:Ht(),target:null,extra:e,timestamp:Date.now(),userId:null},r=Wt(),o={protocolVersion:"1.0.0",events:[t],device:r,project:X.WebSDK},s=Se(o);yield Xt(s)}catch(t){console.error("Failed to track error:",t)}})}document.addEventListener("DOMContentLoaded",()=>Ie.emit("onDocumentReady",R.startTime));var Zt=()=>{let e=0;return{set startTime(t){e=t},get startTime(){return e}}},R=Zt(),Ue=h(),te=e=>{Ue.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify(e)}}).catch(t=>{console.error(`Fallback report: ${t} ${JSON.stringify(e)}`),E({err:JSON.stringify({message:t.message,source:t.source,lineno:t.lineno,colno:t.colno,error:t.error})})})},re=te;window.addEventListener("unhandledrejection",te.bind(void 0));window.addEventListener("error",te.bind(void 0));window.onerror=(e,t,r,n,o)=>{Ue.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})}}).catch(s=>{E({err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})})})};var ne=e=>{var c,l,i;let t=e.split("-")[1];t&&(e=e.replace(`-${t}`,""));let r=e.split("+")[1];r&&(e=e.replace(`+${r}`,""));let n=e.split(".").slice(0,3),[o,s,a]=[(c=n[0])!=null?c:"0",(l=n[1])!=null?l:"0",(i=n[2])!=null?i:"0"];return{major:o,minor:s,patch:a,prerelease:t,build:r}},w=e=>parseInt(ne(e).major,10),I=(e,t)=>{let{major:r,minor:n,patch:o,prerelease:s}=ne(e),{major:a,minor:c,patch:l,prerelease:i}=ne(t);return r!==a?r>a?1:-1:n!==c?n>c?1:-1:o!==l?o>l?1:-1:s&&!i?-1:!s&&i?1:s&&i?s>i?1:s<i?-1:0:0};var Oe=h(),C=(e,t)=>{Oe.executeCommand("ReportSDK.traceSystem",{event:e,info:t})},v=(e,t,r)=>{Oe.executeCommand("ReportSDK.traceSystemTimeline",{event:e,duration:t,extra:r})};Z();var Ke="jolibox-sdk-loadermeta",Ce,T=JSON.parse((Ce=window.__joliboxLocalStorage__.getItem(Ke))!=null?Ce:"{}"),oe=Date.now(),Pe=(e,t)=>e>t&&Math.abs(e-t)/(1e3*60*60*24)>=7,ke=e=>!/^(Failed to fetch version|Couldn't find the requested file)/.test(e);function er(){return m(this,null,function*(){let t=`${k?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/version-metadata`;try{let r=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}),{implement_version:n,bootstrap_version:o}=yield r.json(),s=A(L({},T),{timestamp:oe});if(o){let{bootstrap_version:a}=T;if(!(a&&I(a,o)>=0)){let c=yield(yield fetch(se(o))).text();ke(c)&&(s=A(L({},s),{bootstrap_version:o,bootstrap_script:c}))}}if(n){let{implement_version:a}=T;if(!(a&&I(a,n)>=0)){let c=yield(yield fetch(ie(n))).text();ke(c)&&(s=A(L({},s),{implement_version:n,implement_script:c}))}}window.__joliboxLocalStorage__.setItem(Ke,JSON.stringify(s))}catch(r){console.warn("Failed to fetch loader metadata: ",r)}})}var Me=e=>{let{currentMajorVersion:t,currentVersion:r,bootstrapUrl:n,implementUrl:o}=e;function s(){let{bootstrap_version:i,bootstrap_script:g,timestamp:_}=T;if(i&&g&&_&&!Pe(oe,_)&&w(i)==t&&I(i,r)>=0)return{script:g,type:"localscript"};try{let p=new XMLHttpRequest;return p.open("GET",n,!1),p.send(),{script:p.responseText,type:"fetch_from_cdn"}}catch(p){let u=new Ee(`Bootstrap module faile to fetch ${p}`);E({err:`${u}`})}}function a(){var p;let i=Date.now();C("jsSdkBegin",{t:i}),R.startTime=i;let{script:g,type:_}=(p=s())!=null?p:{};if(g){let u=document.createElement("script");u.type="text/javascript",u.innerHTML=g,document.head.appendChild(u),v("bootstrapModuleLoaded",Date.now()-i,{type:_})}}function c(i){(_=>m(this,null,function*(){try{let p=new Blob([_],{type:"application/javascript"}),u=URL.createObjectURL(p),rt=yield import(u);return URL.revokeObjectURL(u),rt}catch(p){let u=new b(`implement module evaluate error in h5:${p} `);E({err:`${u}`})}}))(i)}function l(){let i=Date.now(),{implement_script:g,implement_version:_,timestamp:p}=T;if(g&&_&&p&&!Pe(oe,p)&&w(_)==t&&I(_,r)>=0){c(g),v("implementModuleLoaded",Date.now()-i,{type:"loadscript"});return}let u=document.createElement("script");u.type="module",u.crossOrigin="anonymous",u.src=o,u.onload=()=>{v("implementModuleLoaded",Date.now()-i,{type:"fetch_from_cdn"})},document.head.appendChild(u)}return()=>{try{a(),l(),er()}catch(i){let g=new b(`module evaluate error: ${i}`);E({err:`${g}`})}}};var je=(e,t)=>{let r=o=>{let s=e({path:o});if(!s)throw`module ${o} load failed ${s}`;return s};function n(o){(a=>m(this,null,function*(){try{let c=new Blob([a],{type:"application/javascript"}),l=URL.createObjectURL(c),i=yield import(l);return URL.revokeObjectURL(l),i}catch(c){re(new b(`implement module evaluate error in native:${c} `))}}))(o)}return()=>{try{let o=Date.now();C("jsSdkBegin",{t:o}),R.startTime=o;let s=r(t.bootstrapUrl),a=document.createElement("script");a.type="text/javascript",a.innerHTML=s,document.head.appendChild(a),v("bootstrapModuleLoaded",Date.now()-o,{type:"native"});let c=Date.now(),l=r(t.implementUrl);n(l),v("implementModuleLoaded",Date.now()-c,{type:"native"})}catch(o){console.error(`native load script error: ${o}`),re(new b(`module load failed ${o}`))}}};var tr="1.1.13-beta.10",K=tr,Fe=w(K),Be=!!(navigator.userAgent||"").includes("JoliboxPlatformSDK"),rr=Be?e=>{let t=window.prompt("invoke",JSON.stringify({event:"loadScriptSync",paramsString:JSON.stringify(e)}));if(t){let{data:r}=JSON.parse(t);return r}}:void 0,se=e=>`https://jsdelivr.jolibox.com/npm/@jolibox/bootstrap@${e}/dist/index.js`,ie=e=>`https://jsdelivr.jolibox.com/npm/@jolibox/implement@${e}/dist/index.js`,nr=e=>/^\d+\.\d+\.\d+$/.test(e),Ve=nr(K)?Fe:K,Ne=se(Ve),Je=ie(Ve);function or(){Be?je(rr,{bootstrapUrl:Ne,implementUrl:Je})():Me({bootstrapUrl:Ne,implementUrl:Je,currentMajorVersion:Fe,currentVersion:K})()}or();var $e=h();function Ge(){return $e.excuteCommandSync("API.getSystemInfoSync")}function He(){return $e.excuteCommandSync("API.env")}function We(e,t){var r;return(r=be.config[e])==null?void 0:r[t]}function ze(e,t,r){let n=Array.isArray(t)?t:t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n)if(o&&(typeof o=="object"||Array.isArray(o)))o=o[s];else return r;return o===void 0?r:o}var Ye="1.1.13-beta.10";function y(e){var c,l;let r=(l=(c=He().data)==null?void 0:c.deviceInfo)==null?void 0:l.platform;if(!r)return!1;let[n,...o]=e.split(":"),s=We(r=="h5"?r:"native",n);if(!s)return!1;let a=s.version;return typeof a!="string"||Y(Ye,a,"<")?!1:o.length===0?!0:qe(s,o)||qe(s.properties,o)}function qe(e,t){if(!e)return!1;let r=ze(e,t);return r?ge(r)?!0:q(r)?Y(Ye,r,">="):!1:!1}var Qe=h();function Xe(){return m(this,null,function*(){return y("login")?yield Qe.executeCommand("API.login"):{code:"FAILURE",message:"[Jolibox SDK]login is not supported in this platform"}})}function Ze(){return m(this,null,function*(){return y("checkSession")?yield Qe.executeCommand("API.checkSession"):{code:"FAILURE",message:"[Jolibox SDK]checkSession is not supported in this platform"}})}var sr=h();function et(e){return m(this,null,function*(){return y("request")?yield sr.executeCommand("HttpSDK.request",e):{code:"FAILURE",message:"[Jolibox SDK]request is not supported in this platform"}})}var ae=class{constructor(){this.loadFinished=()=>{let t=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(t)};this.notifyLoadProgress=t=>{let r=Math.ceil(t),n=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:r});window.dispatchEvent(n)}}},tt=window.JoliboxRuntime||ae;var f=class{constructor(){this.commands=h();this._emitter=new ee}addEventListener(t,r){this._emitter.on(t,(...n)=>r(n[0]))}triggerEvent(t,r){this._emitter.emit(t,r)}canUse(t){return y(t)}canIUseIfThrow(t){if(!this.canUse(t))return{code:"FAILURE",message:`[Jolibox SDK] ${t} is not supported in this platform`}}};var ir="LifecycleSDK.onReady",M=class extends f{constructor(){super()}onReady(t){let r=n=>{t.call(this,n),this.triggerEvent(ir,n)};this.commands.executeCommand("LifecycleSDK.onReady",r.bind(this))}exit(t){let r=this.canIUseIfThrow("lifeCycle.exit");if(r)return r;this.commands.executeCommand("LifecycleSDK.exit",t.onBeforeExit,t.shouldStay)}onJoliboxHide(t){this.commands.executeCommand("LifecycleSDK.onJoliboxHide",t.bind(this))}onJoliboxShow(t){this.commands.executeCommand("LifecycleSDK.onJoliboxShow",t.bind(this))}};var j=class extends f{getItem(t){return m(this,null,function*(){return yield this.commands.executeCommand("StorageSDK.getItem",t)})}setItem(t,r){return m(this,null,function*(){if(t.length>128)return{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key should be less than 128"};let n=typeof r=="string"?r:String(r);return t.length+n.length>1024?{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key and value should be less than 1024"}:yield this.commands.executeCommand("StorageSDK.setItem",t,r)})}removeItem(t){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.removeItem",t)})}clear(){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.clear")})}};var N=class extends f{constructor(){super();this.init=r=>{this.commands.executeCommand("AdsSDK.init",r)};this.adConfig=r=>{this.commands.executeCommand("AdsSDK.adConfig",r)};this.adBreak=r=>{this.commands.executeCommand("AdsSDK.adBreak",r)};this.adUnit=r=>{this.commands.executeCommand("AdsSDK.adUnit",r)}}};var J=class extends f{showKeyboard(t){let r=this.canIUseIfThrow("keyboard.showKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.showKeyboard",t)}updateKeyboard(t){let r=this.canIUseIfThrow("keyboard.updateKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.updateKeyboard",{value:t})}hideKeyboard(){let t=this.canIUseIfThrow("keyboard.hideKeyboard");if(t)return t;this.commands.executeCommand("KeyboardSDK.hideKeyboard")}};var F=class extends f{onLevelFinished(t,r,n){return m(this,null,function*(){let o=this.canIUseIfThrow("TaskTrackerSDK.onLevelFinished");return o?Promise.resolve(o):yield this.commands.executeCommand("TaskTrackerSDK.levelFinished",t,{result:r,duration:n})})}onTaskFinished(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskFinished");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskFinished",t,{duration:r}))})}onTaskEvent(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskEvent");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskEvent",t,r))})}onLevelUpgrade(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onLevelUpgrade");return n||(yield this.commands.executeCommand("TaskTrackerSDK.levelUpgrade",t,r))})}onHistoryUserLevel(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserLevel");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserLevel",t))})}onHistoryUserScore(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserScore");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserScore",t))})}};var B=class extends f{openSchema(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openSchema");return r||(yield this.commands.executeCommand("RouterSDK.openSchema",t))})}openPage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openPage");return r||(yield this.commands.executeCommand("RouterSDK.openPage",t))})}closePage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.closePage");return r||(yield this.commands.executeCommand("RouterSDK.closePage",t))})}};var ce=class{constructor(){this.jssdkVersion="1.1.13-beta.10";this.runtime=new tt;this.ads=new N;this.lifecycle=new M;this.storage=new j;this.keyboard=new J;this.task=new F;this.router=new B;this.getSystemInfoSync=Ge.bind(this);this.canIUse=y.bind(this);this.login=Xe.bind(this);this.checkSession=Ze.bind(this);this.request=et.bind(this);window.joliboxsdk={runtime:this.runtime,ads:this.ads,lifecycle:this.lifecycle,storage:this.storage,keyboard:this.keyboard,task:this.task,router:this.router}}};window.JoliboxSDK=ce;export{ce as JoliboxSDK};
|
package/dist/index.iife.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var nt=Object.defineProperty,ot=Object.defineProperties;var st=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;var me=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L=(e,t)=>{for(var r in t||(t={}))it.call(t,r)&&me(e,r,t[r]);if(le)for(var r of le(t))at.call(t,r)&&me(e,r,t[r]);return e},D=(e,t)=>ot(e,st(t));var m=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{a(r.next(l))}catch(i){o(i)}},c=l=>{try{a(r.throw(l))}catch(i){o(i)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,c);a((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}var q=Object.defineProperty,ct=Object.defineProperties,lt=Object.getOwnPropertyDescriptor,mt=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,ue=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))dt.call(t,r)&&ue(e,r,t[r]);if(de)for(var r of de(t))ut.call(t,r)&&ue(e,r,t[r]);return e},pt=(e,t)=>ct(e,mt(t)),ft=(e,t)=>{for(var r in t)q(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,n)=>{for(var o=n>1?void 0:n?lt(t,r):t,s=e.length-1,c;s>=0;s--)(c=e[s])&&(o=(n?c(t,r,o):c(o))||o);return n&&o&&q(t,r,o),o},ht=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{a(r.next(l))}catch(i){o(i)}},c=l=>{try{a(r.throw(l))}catch(i){o(i)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,c);a((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}function gt(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function Q(e){return typeof e=="string"}function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function _t(e){return typeof e=="undefined"}function Et(e){return _t(e)||e===null}function yt(e){return typeof e=="function"}function _e(e){let t=e,r=null,n=function(...o){return r||(r=new t(...o)),r};return n.prototype=t.prototype,n}var vt=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(vt||{}),St=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},Ee=class extends St{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}};var ye=class extends Ee{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_FETCH_ERROR",this.priority="P0"}},S=class extends Ee{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_EVAL_ERROR",this.priority="P0"}};function b(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}var bt={log:b("log"),warn:b("warn"),info:b("info"),error:b("error"),debug:b("debug")};Object.assign(globalThis,{logger:bt});var ve=Symbol.for("Jolibox.canIUseMap"),xt={};globalThis[ve]=xt;var Se={get config(){return globalThis[ve]}};function Y(e,t,r){let n=0;if(e!==t){let o=e.split("."),s=t.split("."),c=Math.max(o.length,s.length);for(let a=0;a<c;a++){let l=parseInt(o[a],10)||0,i=parseInt(s[a],10)||0;if(l>i){n=1;break}else if(l<i){n=-1;break}}}if(!r)return n;switch(r){case">":return n>0;case"<":return n<0;case"=":return n===0;case">=":return n>=0;case"<=":return n<=0;default:return!1}}var X=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(X||{}),Z=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(Z||{}),Rt=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Rt||{}),pe=["name","params"],wt=["name","type","location","target","extra","timestamp","userId"],It=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function O(e,t){return t.map(r=>{if(r==="params"&&e[r]){let n=e[r];return Object.keys(n).reduce((o,s)=>(o[s]=String(n[s]),o),{})}return e[r]})}function Tt(e){let t=e.location?O(e.location,pe):null,r=e.target?O(e.target,pe):null;return O(pt(fe({},e),{location:t,target:r}),wt)}function be(e){let t=e.events.map(n=>Tt(n)),r=O(e.device,It);return[e.protocolVersion,t,r,e.project]}var Lt=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)});var A={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},Dt=()=>A.isiOS?"iOS":A.isAndroid?"Android":A.isMac?"Mac":A.isFacebook?"Facebook":"PC",At="device_id",Ut="advertising_id",xe=e=>(localStorage.getItem(e)||localStorage.setItem(e,Lt()),localStorage.getItem(e)),Ot=()=>xe(At),Pt=()=>xe(Ut),kt=e=>e.charAt(0).toUpperCase()+e.slice(1),Ct=()=>{var e;let t=new URLSearchParams(window.location.search);return kt((e=t.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Re=e=>{let t="JoliboxWebSDK",r=Dt(),n=navigator.language,o=Ot(),s=Pt();return`${t} (${Ct()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${o} adid/${s} version/${e||""}`},G=class H{constructor(t){this.element=t,this.next=H.Undefined,this.prev=H.Undefined}};G.Undefined=new G(void 0);var d=G,Kt=class{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let e=this._first;for(;e!==d.Undefined;){let t=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=t}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new d(e);if(this._first===d.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==d.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==d.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==d.Undefined&&e.next!==d.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===d.Undefined&&e.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):e.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):e.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==d.Undefined;)yield e.element,e=e.next}},Mt=0,U=class{constructor(e){this.value=e,this.id=Mt++}},x=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof U&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var n,o,s,c,a,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new U(t);this._listeners?this._listeners instanceof U?this._listeners=[this._listeners,i]:this._listeners.push(i):((o=(n=this.options)==null?void 0:n.onWillAddFirstListener)==null||o.call(n,this),this._listeners=i,(c=(s=this.options)==null?void 0:s.onDidFirstListener)==null||c.call(s,this)),(l=(a=this.options)==null?void 0:a.onDidAddListener)==null||l.call(a,this),this._size++}),this._event}_deliver(e,t){var r;if(!e)return;let n=((r=this.options)==null?void 0:r.onListenerError)||Error.constructor;if(!n){e.value(t);return}try{e.value(t)}catch(o){n(o)}}fire(e){this._listeners&&(this._listeners instanceof U?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},ee=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var r;let n=(r=this.listeners.get(e))!=null?r:new x,o=c=>t(...c.args);this.listerHandlerMap.set(t,o),n.event(o),this.listeners.set(e,n);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)n.fire(fe({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Kt,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},W={};ft(W,{None:()=>Nt,filter:()=>Jt,once:()=>we,toPromise:()=>jt});var Nt=()=>{console.log("[Jolibox SDK] None Event")};function jt(e){return new Promise(t=>we(e)(t))}function we(e){return(t,r=null)=>{let n=!1;return e(o=>{if(!n)return n=!0,t.call(r,o)},null)}}function Jt(e,t){return(r=>{let n,o={onWillAddFirstListener(){n=r(s.fire,s)}},s=new x(o);return s.event})((r,n=null)=>e(o=>t(o)&&r.call(n,o),null))}var V=Symbol.for("Jolibox.hostEmitter"),Ft=()=>{let e=new ee;return globalThis[V]||(globalThis[V]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[V]},Ie=Ft();function Bt(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Vt(e[n],t[n])}function Vt(e,t){if(Q(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(yt(t)){try{if(e instanceof t)return}catch(r){}if(!Et(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var P=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new x,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let o of e.metadata.args)r.push(o.constraint);let n=e.handler;e.handler=function(...o){return Bt(o,r),n(...o)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};P=he([_e],P);var z=class{constructor(){this._onWillExecuteCommand=new x,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new x,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new P,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=gt(3e4)),this._starActivation}executeCommand(e,...t){return ht(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),W.toPromise(W.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};z=he([_e],z);var $=Symbol.for("Jolibox.commands");function h(){if(globalThis[$])return globalThis[$];let e=new P,t=new z,r={registerCommand(n,o,s){e.registerCommand({id:n,handler:o,metadata:s})},executeCommand(n,...o){return t.executeCommand(n,...o)},excuteCommandSync(n,...o){return t.executeCommandThowErr(n,...o)}};return globalThis[$]=r,r}var k=new URLSearchParams(window.location.search).get("joliboxEnv")==="staging";function $t(){let e=new URLSearchParams(window.location.search),t={};return e.forEach((r,n)=>{t[n]=r}),{name:"GamePage",params:t}}function Gt(){return{platform:1e3,os:"h5",appVersion:"1.1.13-beta.1",appId:"1",model:"UnknownModel",brand:"UnknownBrand",uuid:"1",jsSdkVersion:"1.1.13-beta.1",extra:{}}}var Te={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}},Ht=()=>{var t;let e=(t=Te[window.location.host])!=null?t:Te.default;return k?e.test:e.prod},Wt=Ht(),De=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal},Le;(Le=AbortSignal.timeout)!=null||(AbortSignal.timeout=De);var zt=()=>{var t;return(t=new URLSearchParams(window.location.search).get("joliSource"))!=null?t:null},qt=zt(),Qt=e=>m(void 0,null,function*(){try{let r=`${Wt}/report`,n=Re("1.1.13-beta.1"),o=qt,s={"Content-Type":"application/json"};return n&&(s["x-user-agent"]=n),o&&(s["x-joli-source"]=o),yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(e),signal:De(5e3)})}catch(t){return console.error("Error posting to reporter:",t),null}});function y(e){return m(this,null,function*(){try{let t={name:"globalJsError",type:X.ErrorTrace,location:$t(),target:null,extra:e,timestamp:Date.now(),userId:null},r=Gt(),o={protocolVersion:"1.0.0",events:[t],device:r,project:Z.WebSDK},s=be(o);yield Qt(s)}catch(t){console.error("Failed to track error:",t)}})}document.addEventListener("DOMContentLoaded",()=>Ie.emit("onDocumentReady",R.startTime));var Yt=()=>{let e=0;return{set startTime(t){e=t},get startTime(){return e}}},R=Yt(),Ae=h(),te=e=>{Ae.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify(e)}}).catch(t=>{console.error(`Fallback report: ${t} ${JSON.stringify(e)}`),y({err:JSON.stringify({message:t.message,source:t.source,lineno:t.lineno,colno:t.colno,error:t.error})})})},re=te;window.addEventListener("unhandledrejection",te.bind(void 0));window.addEventListener("error",te.bind(void 0));window.onerror=(e,t,r,n,o)=>{Ae.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})}}).catch(s=>{y({err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})})})};var ne=e=>{var a,l,i;let t=e.split("-")[1];t&&(e=e.replace(`-${t}`,""));let r=e.split("+")[1];r&&(e=e.replace(`+${r}`,""));let n=e.split(".").slice(0,3),[o,s,c]=[(a=n[0])!=null?a:"0",(l=n[1])!=null?l:"0",(i=n[2])!=null?i:"0"];return{major:o,minor:s,patch:c,prerelease:t,build:r}},w=e=>parseInt(ne(e).major,10),I=(e,t)=>{let{major:r,minor:n,patch:o,prerelease:s}=ne(e),{major:c,minor:a,patch:l,prerelease:i}=ne(t);return r!==c?r>c?1:-1:n!==a?n>a?1:-1:o!==l?o>l?1:-1:s&&!i?-1:!s&&i?1:s&&i?s>i?1:s<i?-1:0:0};var Ue=h(),C=(e,t)=>{Ue.executeCommand("ReportSDK.traceSystem",{event:e,info:t})},v=(e,t,r)=>{Ue.executeCommand("ReportSDK.traceSystemTimeline",{event:e,duration:t,extra:r})};function Oe(){try{if(window.__joliboxLocalStorage__)return window.__joliboxLocalStorage__;let e=Object.getOwnPropertyDescriptor(window,"localStorage");if(e&&e.get){let n=e.get.call(window);return window.__joliboxLocalStorage__=n,n}if(e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(window),"localStorage"),e&&e.get)return e.get.call(window);let t=Window.prototype,r=Object.getOwnPropertyDescriptor(t,"localStorage");if(r&&r.get){let n=r.get.call(window);return window.__joliboxLocalStorage__=n,n}return localStorage}catch(e){return console.warn("Failed to get original localStorage, fallback to default implementation",e),localStorage}}var Ke="jolibox-sdk-loadermeta";Oe();var Ce,T=JSON.parse((Ce=window.__joliboxLocalStorage__.getItem(Ke))!=null?Ce:"{}"),oe=Date.now(),Pe=(e,t)=>e>t&&Math.abs(e-t)/(1e3*60*60*24)>=7,ke=e=>!/^(Failed to fetch version|Couldn't find the requested file)/.test(e);function Xt(){return m(this,null,function*(){let t=`${k?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/version-metadata`;try{let r=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}),{implement_version:n,bootstrap_version:o}=yield r.json(),s=D(L({},T),{timestamp:oe});if(o){let{bootstrap_version:c}=T;if(!(c&&I(c,o)>=0)){let a=yield(yield fetch(se(o))).text();ke(a)&&(s=D(L({},s),{bootstrap_version:o,bootstrap_script:a}))}}if(n){let{implement_version:c}=T;if(!(c&&I(c,n)>=0)){let a=yield(yield fetch(ie(n))).text();ke(a)&&(s=D(L({},s),{implement_version:n,implement_script:a}))}}window.__joliboxLocalStorage__.setItem(Ke,JSON.stringify(s))}catch(r){console.warn("Failed to fetch loader metadata: ",r)}})}var Me=e=>{let{currentMajorVersion:t,currentVersion:r,bootstrapUrl:n,implementUrl:o}=e;function s(){let{bootstrap_version:i,bootstrap_script:g,timestamp:_}=T;if(i&&g&&_&&!Pe(oe,_)&&w(i)==t&&I(i,r)>=0)return{script:g,type:"localscript"};try{let p=new XMLHttpRequest;return p.open("GET",n,!1),p.send(),{script:p.responseText,type:"fetch_from_cdn"}}catch(p){let u=new ye(`Bootstrap module faile to fetch ${p}`);y({err:`${u}`})}}function c(){var p;let i=Date.now();C("jsSdkBegin",{t:i}),R.startTime=i;let{script:g,type:_}=(p=s())!=null?p:{};if(g){let u=document.createElement("script");u.type="text/javascript",u.innerHTML=g,document.head.appendChild(u),v("bootstrapModuleLoaded",Date.now()-i,{type:_})}}function a(i){(_=>m(this,null,function*(){try{let p=new Blob([_],{type:"application/javascript"}),u=URL.createObjectURL(p),rt=yield import(u);return URL.revokeObjectURL(u),rt}catch(p){let u=new S(`implement module evaluate error in h5:${p} `);y({err:`${u}`})}}))(i)}function l(){let i=Date.now(),{implement_script:g,implement_version:_,timestamp:p}=T;if(g&&_&&p&&!Pe(oe,p)&&w(_)==t&&I(_,r)>=0){a(g),v("implementModuleLoaded",Date.now()-i,{type:"loadscript"});return}let u=document.createElement("script");u.type="module",u.crossOrigin="anonymous",u.src=o,u.onload=()=>{v("implementModuleLoaded",Date.now()-i,{type:"fetch_from_cdn"})},document.head.appendChild(u)}return()=>{try{c(),l(),Xt()}catch(i){let g=new S(`module evaluate error: ${i}`);y({err:`${g}`})}}};var Ne=(e,t)=>{let r=o=>{let s=e({path:o});if(!s)throw`module ${o} load failed ${s}`;return s};function n(o){(c=>m(this,null,function*(){try{let a=new Blob([c],{type:"application/javascript"}),l=URL.createObjectURL(a),i=yield import(l);return URL.revokeObjectURL(l),i}catch(a){re(new S(`implement module evaluate error in native:${a} `))}}))(o)}return()=>{try{let o=Date.now();C("jsSdkBegin",{t:o}),R.startTime=o;let s=r(t.bootstrapUrl),c=document.createElement("script");c.type="text/javascript",c.innerHTML=s,document.head.appendChild(c),v("bootstrapModuleLoaded",Date.now()-o,{type:"native"});let a=Date.now(),l=r(t.implementUrl);n(l),v("implementModuleLoaded",Date.now()-a,{type:"native"})}catch(o){console.error(`native load script error: ${o}`),re(new S(`module load failed ${o}`))}}};var Zt="1.1.13-beta.1",K=Zt,Fe=w(K),Be=!!(navigator.userAgent||"").includes("JoliboxPlatformSDK"),er=Be?e=>{let t=window.prompt("invoke",JSON.stringify({event:"loadScriptSync",paramsString:JSON.stringify(e)}));if(t){let{data:r}=JSON.parse(t);return r}}:void 0,se=e=>`https://cdn.jsdelivr.net/npm/@jolibox/bootstrap@${e}/dist/index.js`,ie=e=>`https://cdn.jsdelivr.net/npm/@jolibox/implement@${e}/dist/index.js`,tr=e=>/^\d+\.\d+\.\d+$/.test(e),Ve=tr(K)?Fe:K,je=se(Ve),Je=ie(Ve);function rr(){Be?Ne(er,{bootstrapUrl:je,implementUrl:Je})():Me({bootstrapUrl:je,implementUrl:Je,currentMajorVersion:Fe,currentVersion:K})()}rr();var $e=h();function Ge(){return $e.excuteCommandSync("API.getSystemInfoSync")}function He(){return $e.excuteCommandSync("API.env")}function We(e,t){var r;return(r=Se.config[e])==null?void 0:r[t]}function ze(e,t,r){let n=Array.isArray(t)?t:t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n)if(o&&(typeof o=="object"||Array.isArray(o)))o=o[s];else return r;return o===void 0?r:o}var Qe="1.1.13-beta.1";function E(e){var a,l;let r=(l=(a=He().data)==null?void 0:a.deviceInfo)==null?void 0:l.platform;if(!r)return!1;let[n,...o]=e.split(":"),s=We(r=="h5"?r:"native",n);if(!s)return!1;let c=s.version;return typeof c!="string"||Y(Qe,c,"<")?!1:o.length===0?!0:qe(s,o)||qe(s.properties,o)}function qe(e,t){if(!e)return!1;let r=ze(e,t);return r?ge(r)?!0:Q(r)?Y(Qe,r,">="):!1:!1}var Ye=h();function Xe(){return m(this,null,function*(){return E("login")?yield Ye.executeCommand("API.login"):{code:"FAILURE",message:"[Jolibox SDK]login is not supported in this platform"}})}function Ze(){return m(this,null,function*(){return E("checkSession")?yield Ye.executeCommand("API.checkSession"):{code:"FAILURE",message:"[Jolibox SDK]checkSession is not supported in this platform"}})}var nr=h();function et(e){return m(this,null,function*(){return E("request")?yield nr.executeCommand("HttpSDK.request",e):{code:"FAILURE",message:"[Jolibox SDK]request is not supported in this platform"}})}var ae=class{constructor(){this.loadFinished=()=>{let t=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(t)};this.notifyLoadProgress=t=>{let r=Math.ceil(t),n=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:r});window.dispatchEvent(n)}}},tt=window.JoliboxRuntime||ae;var f=class{constructor(){this.commands=h();this._emitter=new ee}addEventListener(t,r){this._emitter.on(t,(...n)=>r(n[0]))}triggerEvent(t,r){this._emitter.emit(t,r)}canUse(t){return E(t)}canIUseIfThrow(t){if(!this.canUse(t))return{code:"FAILURE",message:`[Jolibox SDK] ${t} is not supported in this platform`}}};var or="LifecycleSDK.onReady",M=class extends f{constructor(){super()}onReady(t){let r=n=>{t.call(this,n),this.triggerEvent(or,n)};this.commands.executeCommand("LifecycleSDK.onReady",r.bind(this))}exit(t){let r=this.canIUseIfThrow("lifeCycle.exit");if(r)return r;this.commands.executeCommand("LifecycleSDK.exit",t.onBeforeExit,t.shouldStay)}onJoliboxHide(t){this.commands.executeCommand("LifecycleSDK.onJoliboxHide",t.bind(this))}onJoliboxShow(t){this.commands.executeCommand("LifecycleSDK.onJoliboxShow",t.bind(this))}};var N=class extends f{getItem(t){return m(this,null,function*(){return yield this.commands.executeCommand("StorageSDK.getItem",t)})}setItem(t,r){return m(this,null,function*(){if(t.length>128)return{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key should be less than 128"};let n=typeof r=="string"?r:String(r);return t.length+n.length>1024?{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key and value should be less than 1024"}:yield this.commands.executeCommand("StorageSDK.setItem",t,r)})}removeItem(t){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.removeItem",t)})}clear(){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.clear")})}};var j=class extends f{constructor(){super();this.init=r=>{this.commands.executeCommand("AdsSDK.init",r)};this.adConfig=r=>{this.commands.executeCommand("AdsSDK.adConfig",r)};this.adBreak=r=>{this.commands.executeCommand("AdsSDK.adBreak",r)};this.adUnit=r=>{this.commands.executeCommand("AdsSDK.adUnit",r)}}};var J=class extends f{showKeyboard(t){let r=this.canIUseIfThrow("keyboard.showKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.showKeyboard",t)}updateKeyboard(t){let r=this.canIUseIfThrow("keyboard.updateKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.updateKeyboard",{value:t})}hideKeyboard(){let t=this.canIUseIfThrow("keyboard.hideKeyboard");if(t)return t;this.commands.executeCommand("KeyboardSDK.hideKeyboard")}};var F=class extends f{onLevelFinished(t,r,n){return m(this,null,function*(){let o=this.canIUseIfThrow("TaskTrackerSDK.onLevelFinished");return o?Promise.resolve(o):yield this.commands.executeCommand("TaskTrackerSDK.levelFinished",t,{result:r,duration:n})})}onTaskFinished(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskFinished");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskFinished",t,{duration:r}))})}onTaskEvent(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskEvent");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskEvent",t,r))})}onLevelUpgrade(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onLevelUpgrade");return n||(yield this.commands.executeCommand("TaskTrackerSDK.levelUpgrade",t,r))})}onHistoryUserLevel(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserLevel");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserLevel",t))})}onHistoryUserScore(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserScore");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserScore",t))})}};var B=class extends f{openSchema(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openSchema");return r||(yield this.commands.executeCommand("RouterSDK.openSchema",t))})}openPage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openPage");return r||(yield this.commands.executeCommand("RouterSDK.openPage",t))})}closePage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.closePage");return r||(yield this.commands.executeCommand("RouterSDK.closePage",t))})}};var ce=class{constructor(){this.jssdkVersion="1.1.13-beta.1";this.runtime=new tt;this.ads=new j;this.lifecycle=new M;this.storage=new N;this.keyboard=new J;this.task=new F;this.router=new B;this.getSystemInfoSync=Ge.bind(this);this.canIUse=E.bind(this);this.login=Xe.bind(this);this.checkSession=Ze.bind(this);this.request=et.bind(this);window.joliboxsdk={runtime:this.runtime,ads:this.ads,lifecycle:this.lifecycle,storage:this.storage,keyboard:this.keyboard,task:this.task,router:this.router}}};window.JoliboxSDK=ce;})();
|
|
1
|
+
"use strict";(()=>{var nt=Object.defineProperty,ot=Object.defineProperties;var st=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;var me=(e,t,r)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L=(e,t)=>{for(var r in t||(t={}))it.call(t,r)&&me(e,r,t[r]);if(le)for(var r of le(t))at.call(t,r)&&me(e,r,t[r]);return e},A=(e,t)=>ot(e,st(t));var m=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{c(r.next(l))}catch(i){o(i)}},a=l=>{try{c(r.throw(l))}catch(i){o(i)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);c((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}var z=Object.defineProperty,ct=Object.defineProperties,lt=Object.getOwnPropertyDescriptor,mt=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,ue=(e,t,r)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))dt.call(t,r)&&ue(e,r,t[r]);if(de)for(var r of de(t))ut.call(t,r)&&ue(e,r,t[r]);return e},pt=(e,t)=>ct(e,mt(t)),ft=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,n)=>{for(var o=n>1?void 0:n?lt(t,r):t,s=e.length-1,a;s>=0;s--)(a=e[s])&&(o=(n?a(t,r,o):a(o))||o);return n&&o&&z(t,r,o),o},ht=(e,t,r)=>new Promise((n,o)=>{var s=l=>{try{c(r.next(l))}catch(i){o(i)}},a=l=>{try{c(r.throw(l))}catch(i){o(i)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);c((r=r.apply(e,t)).next())});if(typeof window!="undefined"&&!window.AbortController){let e=function(){this.signal=new t};e.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let r=new Event("abort");this.signal.dispatchEvent(r)};let t=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(t.prototype,"aborted",{get:function(){return this._aborted}}),t.prototype.addEventListener=function(r,n){this._eventListeners[r]||(this._eventListeners[r]=[]),this._eventListeners[r].push(n)},t.prototype.removeEventListener=function(r,n){if(!this._eventListeners[r])return;let o=this._eventListeners[r].indexOf(n);o!==-1&&this._eventListeners[r].splice(o,1)},t.prototype.dispatchEvent=function(r){if(this._eventListeners[r.type])for(let n of this._eventListeners[r.type])n.call(this,r)},window.AbortController=e,window.AbortSignal=t}function gt(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function q(e){return typeof e=="string"}function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function _t(e){return typeof e=="undefined"}function yt(e){return _t(e)||e===null}function Et(e){return typeof e=="function"}function _e(e){let t=e,r=null,n=function(...o){return r||(r=new t(...o)),r};return n.prototype=t.prototype,n}var vt=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(vt||{}),bt=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},ye=class extends bt{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}};var Ee=class extends ye{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_FETCH_ERROR",this.priority="P0"}},b=class extends ye{constructor(){super(...arguments),this.name="INTERNAL_JS_MODULE_EVAL_ERROR",this.priority="P0"}};function S(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}var St={log:S("log"),warn:S("warn"),info:S("info"),error:S("error"),debug:S("debug")};Object.assign(globalThis,{logger:St});var ve=Symbol.for("Jolibox.canIUseMap"),xt={};globalThis[ve]=xt;var be={get config(){return globalThis[ve]}};function Y(e,t,r){let n=0;if(e!==t){let o=e.split("."),s=t.split("."),a=Math.max(o.length,s.length);for(let c=0;c<a;c++){let l=parseInt(o[c],10)||0,i=parseInt(s[c],10)||0;if(l>i){n=1;break}else if(l<i){n=-1;break}}}if(!r)return n;switch(r){case">":return n>0;case"<":return n<0;case"=":return n===0;case">=":return n>=0;case"<=":return n<=0;default:return!1}}var Q=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(Q||{}),X=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(X||{}),Rt=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Rt||{}),pe=["name","params"],wt=["name","type","location","target","extra","timestamp","userId"],It=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function O(e,t){return t.map(r=>{if(r==="params"&&e[r]){let n=e[r];return Object.keys(n).reduce((o,s)=>(o[s]=String(n[s]),o),{})}return e[r]})}function Tt(e){let t=e.location?O(e.location,pe):null,r=e.target?O(e.target,pe):null;return O(pt(fe({},e),{location:t,target:r}),wt)}function Se(e){let t=e.events.map(n=>Tt(n)),r=O(e.device,It);return[e.protocolVersion,t,r,e.project]}var Lt=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)});function Z(){try{if(window.__joliboxLocalStorage__)return window.__joliboxLocalStorage__;let e=Object.getOwnPropertyDescriptor(window,"localStorage");if(e&&e.get){let n=e.get.call(window);return window.__joliboxLocalStorage__=n,n}if(e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(window),"localStorage"),e&&e.get)return e.get.call(window);let t=Window.prototype,r=Object.getOwnPropertyDescriptor(t,"localStorage");if(r&&r.get){let n=r.get.call(window);return window.__joliboxLocalStorage__=n,n}return localStorage}catch(e){return console.warn("Failed to get original localStorage, fallback to default implementation",e),localStorage}}Z();var D={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},At=()=>D.isiOS?"iOS":D.isAndroid?"Android":D.isMac?"Mac":D.isFacebook?"Facebook":"PC",Dt="device_id",Ut="advertising_id",xe=e=>(window.__joliboxLocalStorage__.getItem(e)||window.__joliboxLocalStorage__.setItem(e,Lt()),window.__joliboxLocalStorage__.getItem(e)),Ot=()=>new URLSearchParams(window.location.search).get("deviceId")||xe(Dt),Pt=()=>xe(Ut),kt=e=>e.charAt(0).toUpperCase()+e.slice(1),Ct=()=>{var e;let t=new URLSearchParams(window.location.search);return kt((e=t.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Re=e=>{let t="JoliboxWebSDK",r=At(),n=navigator.language,o=Ot(),s=Pt();return`${t} (${Ct()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${o} adid/${s} version/${e||""}`},$=class G{constructor(t){this.element=t,this.next=G.Undefined,this.prev=G.Undefined}};$.Undefined=new $(void 0);var d=$,Kt=class{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let e=this._first;for(;e!==d.Undefined;){let t=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=t}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new d(e);if(this._first===d.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==d.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==d.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==d.Undefined&&e.next!==d.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===d.Undefined&&e.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):e.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):e.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==d.Undefined;)yield e.element,e=e.next}},Mt=0,U=class{constructor(e){this.value=e,this.id=Mt++}},x=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof U&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var n,o,s,a,c,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new U(t);this._listeners?this._listeners instanceof U?this._listeners=[this._listeners,i]:this._listeners.push(i):((o=(n=this.options)==null?void 0:n.onWillAddFirstListener)==null||o.call(n,this),this._listeners=i,(a=(s=this.options)==null?void 0:s.onDidFirstListener)==null||a.call(s,this)),(l=(c=this.options)==null?void 0:c.onDidAddListener)==null||l.call(c,this),this._size++}),this._event}_deliver(e,t){var r;if(!e)return;let n=((r=this.options)==null?void 0:r.onListenerError)||Error.constructor;if(!n){e.value(t);return}try{e.value(t)}catch(o){n(o)}}fire(e){this._listeners&&(this._listeners instanceof U?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},ee=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var r;let n=(r=this.listeners.get(e))!=null?r:new x,o=a=>t(...a.args);this.listerHandlerMap.set(t,o),n.event(o),this.listeners.set(e,n);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)n.fire(fe({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Kt,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},H={};ft(H,{None:()=>jt,filter:()=>Jt,once:()=>we,toPromise:()=>Nt});var jt=()=>{console.log("[Jolibox SDK] None Event")};function Nt(e){return new Promise(t=>we(e)(t))}function we(e){return(t,r=null)=>{let n=!1;return e(o=>{if(!n)return n=!0,t.call(r,o)},null)}}function Jt(e,t){return(r=>{let n,o={onWillAddFirstListener(){n=r(s.fire,s)}},s=new x(o);return s.event})((r,n=null)=>e(o=>t(o)&&r.call(n,o),null))}var V=Symbol.for("Jolibox.hostEmitter"),Ft=()=>{let e=new ee;return globalThis[V]||(globalThis[V]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[V]},Ie=Ft();function Bt(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Vt(e[n],t[n])}function Vt(e,t){if(q(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Et(t)){try{if(e instanceof t)return}catch(r){}if(!yt(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}var P=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new x,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let o of e.metadata.args)r.push(o.constraint);let n=e.handler;e.handler=function(...o){return Bt(o,r),n(...o)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};P=he([_e],P);var W=class{constructor(){this._onWillExecuteCommand=new x,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new x,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new P,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=gt(3e4)),this._starActivation}executeCommand(e,...t){return ht(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),H.toPromise(H.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};W=he([_e],W);var Te=Symbol.for("Jolibox.commands");function $t(){return typeof globalThis!="undefined"?globalThis[Te]:void 0}function Gt(e){typeof globalThis!="undefined"&&(globalThis[Te]=e)}function h(){let e=$t();if(e)return e;let t=new P,r=new W,n={registerCommand(o,s,a){t.registerCommand({id:o,handler:s,metadata:a})},executeCommand(o,...s){return r.executeCommand(o,...s)},excuteCommandSync(o,...s){return r.executeCommandThowErr(o,...s)}};return Gt(n),n}var k=new URLSearchParams(window.location.search).get("joliboxEnv")==="staging";function Ht(){let e=new URLSearchParams(window.location.search),t={};return e.forEach((r,n)=>{t[n]=r}),{name:"GamePage",params:t}}function Wt(){return{platform:1e3,os:"h5",appVersion:"1.1.13-beta.10",appId:"1",model:"UnknownModel",brand:"UnknownBrand",uuid:"1",jsSdkVersion:"1.1.13-beta.10",extra:{}}}var Le={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}},zt=()=>{var t;let e=(t=Le[window.location.host])!=null?t:Le.default;return k?e.test:e.prod},qt=zt(),De=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal},Ae;(Ae=AbortSignal.timeout)!=null||(AbortSignal.timeout=De);var Yt=()=>{var t;return(t=new URLSearchParams(window.location.search).get("joliSource"))!=null?t:null},Qt=Yt(),Xt=e=>m(void 0,null,function*(){try{let r=`${qt}/report`,n=Re("1.1.13-beta.10"),o=Qt,s={"Content-Type":"application/json"};return n&&(s["x-user-agent"]=n),o&&(s["x-joli-source"]=o),yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(e),signal:De(5e3)})}catch(t){return console.error("Error posting to reporter:",t),null}});function E(e){return m(this,null,function*(){try{let t={name:"globalJsError",type:Q.ErrorTrace,location:Ht(),target:null,extra:e,timestamp:Date.now(),userId:null},r=Wt(),o={protocolVersion:"1.0.0",events:[t],device:r,project:X.WebSDK},s=Se(o);yield Xt(s)}catch(t){console.error("Failed to track error:",t)}})}document.addEventListener("DOMContentLoaded",()=>Ie.emit("onDocumentReady",R.startTime));var Zt=()=>{let e=0;return{set startTime(t){e=t},get startTime(){return e}}},R=Zt(),Ue=h(),te=e=>{Ue.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify(e)}}).catch(t=>{console.error(`Fallback report: ${t} ${JSON.stringify(e)}`),E({err:JSON.stringify({message:t.message,source:t.source,lineno:t.lineno,colno:t.colno,error:t.error})})})},re=te;window.addEventListener("unhandledrejection",te.bind(void 0));window.addEventListener("error",te.bind(void 0));window.onerror=(e,t,r,n,o)=>{Ue.executeCommand("ReportSDK.traceSystem",{event:"globalJsError",info:{err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})}}).catch(s=>{E({err:JSON.stringify({message:e,source:t,lineno:r,colno:n,error:o})})})};var ne=e=>{var c,l,i;let t=e.split("-")[1];t&&(e=e.replace(`-${t}`,""));let r=e.split("+")[1];r&&(e=e.replace(`+${r}`,""));let n=e.split(".").slice(0,3),[o,s,a]=[(c=n[0])!=null?c:"0",(l=n[1])!=null?l:"0",(i=n[2])!=null?i:"0"];return{major:o,minor:s,patch:a,prerelease:t,build:r}},w=e=>parseInt(ne(e).major,10),I=(e,t)=>{let{major:r,minor:n,patch:o,prerelease:s}=ne(e),{major:a,minor:c,patch:l,prerelease:i}=ne(t);return r!==a?r>a?1:-1:n!==c?n>c?1:-1:o!==l?o>l?1:-1:s&&!i?-1:!s&&i?1:s&&i?s>i?1:s<i?-1:0:0};var Oe=h(),C=(e,t)=>{Oe.executeCommand("ReportSDK.traceSystem",{event:e,info:t})},v=(e,t,r)=>{Oe.executeCommand("ReportSDK.traceSystemTimeline",{event:e,duration:t,extra:r})};Z();var Ke="jolibox-sdk-loadermeta",Ce,T=JSON.parse((Ce=window.__joliboxLocalStorage__.getItem(Ke))!=null?Ce:"{}"),oe=Date.now(),Pe=(e,t)=>e>t&&Math.abs(e-t)/(1e3*60*60*24)>=7,ke=e=>!/^(Failed to fetch version|Couldn't find the requested file)/.test(e);function er(){return m(this,null,function*(){let t=`${k?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/version-metadata`;try{let r=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}),{implement_version:n,bootstrap_version:o}=yield r.json(),s=A(L({},T),{timestamp:oe});if(o){let{bootstrap_version:a}=T;if(!(a&&I(a,o)>=0)){let c=yield(yield fetch(se(o))).text();ke(c)&&(s=A(L({},s),{bootstrap_version:o,bootstrap_script:c}))}}if(n){let{implement_version:a}=T;if(!(a&&I(a,n)>=0)){let c=yield(yield fetch(ie(n))).text();ke(c)&&(s=A(L({},s),{implement_version:n,implement_script:c}))}}window.__joliboxLocalStorage__.setItem(Ke,JSON.stringify(s))}catch(r){console.warn("Failed to fetch loader metadata: ",r)}})}var Me=e=>{let{currentMajorVersion:t,currentVersion:r,bootstrapUrl:n,implementUrl:o}=e;function s(){let{bootstrap_version:i,bootstrap_script:g,timestamp:_}=T;if(i&&g&&_&&!Pe(oe,_)&&w(i)==t&&I(i,r)>=0)return{script:g,type:"localscript"};try{let p=new XMLHttpRequest;return p.open("GET",n,!1),p.send(),{script:p.responseText,type:"fetch_from_cdn"}}catch(p){let u=new Ee(`Bootstrap module faile to fetch ${p}`);E({err:`${u}`})}}function a(){var p;let i=Date.now();C("jsSdkBegin",{t:i}),R.startTime=i;let{script:g,type:_}=(p=s())!=null?p:{};if(g){let u=document.createElement("script");u.type="text/javascript",u.innerHTML=g,document.head.appendChild(u),v("bootstrapModuleLoaded",Date.now()-i,{type:_})}}function c(i){(_=>m(this,null,function*(){try{let p=new Blob([_],{type:"application/javascript"}),u=URL.createObjectURL(p),rt=yield import(u);return URL.revokeObjectURL(u),rt}catch(p){let u=new b(`implement module evaluate error in h5:${p} `);E({err:`${u}`})}}))(i)}function l(){let i=Date.now(),{implement_script:g,implement_version:_,timestamp:p}=T;if(g&&_&&p&&!Pe(oe,p)&&w(_)==t&&I(_,r)>=0){c(g),v("implementModuleLoaded",Date.now()-i,{type:"loadscript"});return}let u=document.createElement("script");u.type="module",u.crossOrigin="anonymous",u.src=o,u.onload=()=>{v("implementModuleLoaded",Date.now()-i,{type:"fetch_from_cdn"})},document.head.appendChild(u)}return()=>{try{a(),l(),er()}catch(i){let g=new b(`module evaluate error: ${i}`);E({err:`${g}`})}}};var je=(e,t)=>{let r=o=>{let s=e({path:o});if(!s)throw`module ${o} load failed ${s}`;return s};function n(o){(a=>m(this,null,function*(){try{let c=new Blob([a],{type:"application/javascript"}),l=URL.createObjectURL(c),i=yield import(l);return URL.revokeObjectURL(l),i}catch(c){re(new b(`implement module evaluate error in native:${c} `))}}))(o)}return()=>{try{let o=Date.now();C("jsSdkBegin",{t:o}),R.startTime=o;let s=r(t.bootstrapUrl),a=document.createElement("script");a.type="text/javascript",a.innerHTML=s,document.head.appendChild(a),v("bootstrapModuleLoaded",Date.now()-o,{type:"native"});let c=Date.now(),l=r(t.implementUrl);n(l),v("implementModuleLoaded",Date.now()-c,{type:"native"})}catch(o){console.error(`native load script error: ${o}`),re(new b(`module load failed ${o}`))}}};var tr="1.1.13-beta.10",K=tr,Fe=w(K),Be=!!(navigator.userAgent||"").includes("JoliboxPlatformSDK"),rr=Be?e=>{let t=window.prompt("invoke",JSON.stringify({event:"loadScriptSync",paramsString:JSON.stringify(e)}));if(t){let{data:r}=JSON.parse(t);return r}}:void 0,se=e=>`https://jsdelivr.jolibox.com/npm/@jolibox/bootstrap@${e}/dist/index.js`,ie=e=>`https://jsdelivr.jolibox.com/npm/@jolibox/implement@${e}/dist/index.js`,nr=e=>/^\d+\.\d+\.\d+$/.test(e),Ve=nr(K)?Fe:K,Ne=se(Ve),Je=ie(Ve);function or(){Be?je(rr,{bootstrapUrl:Ne,implementUrl:Je})():Me({bootstrapUrl:Ne,implementUrl:Je,currentMajorVersion:Fe,currentVersion:K})()}or();var $e=h();function Ge(){return $e.excuteCommandSync("API.getSystemInfoSync")}function He(){return $e.excuteCommandSync("API.env")}function We(e,t){var r;return(r=be.config[e])==null?void 0:r[t]}function ze(e,t,r){let n=Array.isArray(t)?t:t.replace(/\[(\d+)\]/g,".$1").split("."),o=e;for(let s of n)if(o&&(typeof o=="object"||Array.isArray(o)))o=o[s];else return r;return o===void 0?r:o}var Ye="1.1.13-beta.10";function y(e){var c,l;let r=(l=(c=He().data)==null?void 0:c.deviceInfo)==null?void 0:l.platform;if(!r)return!1;let[n,...o]=e.split(":"),s=We(r=="h5"?r:"native",n);if(!s)return!1;let a=s.version;return typeof a!="string"||Y(Ye,a,"<")?!1:o.length===0?!0:qe(s,o)||qe(s.properties,o)}function qe(e,t){if(!e)return!1;let r=ze(e,t);return r?ge(r)?!0:q(r)?Y(Ye,r,">="):!1:!1}var Qe=h();function Xe(){return m(this,null,function*(){return y("login")?yield Qe.executeCommand("API.login"):{code:"FAILURE",message:"[Jolibox SDK]login is not supported in this platform"}})}function Ze(){return m(this,null,function*(){return y("checkSession")?yield Qe.executeCommand("API.checkSession"):{code:"FAILURE",message:"[Jolibox SDK]checkSession is not supported in this platform"}})}var sr=h();function et(e){return m(this,null,function*(){return y("request")?yield sr.executeCommand("HttpSDK.request",e):{code:"FAILURE",message:"[Jolibox SDK]request is not supported in this platform"}})}var ae=class{constructor(){this.loadFinished=()=>{let t=new Event("JOLIBOX_RUNTIME_LOAD_FINISHED");window.dispatchEvent(t)};this.notifyLoadProgress=t=>{let r=Math.ceil(t),n=new CustomEvent("JOLIBOX_RUNTIME_LOAD_PROGRESS",{detail:r});window.dispatchEvent(n)}}},tt=window.JoliboxRuntime||ae;var f=class{constructor(){this.commands=h();this._emitter=new ee}addEventListener(t,r){this._emitter.on(t,(...n)=>r(n[0]))}triggerEvent(t,r){this._emitter.emit(t,r)}canUse(t){return y(t)}canIUseIfThrow(t){if(!this.canUse(t))return{code:"FAILURE",message:`[Jolibox SDK] ${t} is not supported in this platform`}}};var ir="LifecycleSDK.onReady",M=class extends f{constructor(){super()}onReady(t){let r=n=>{t.call(this,n),this.triggerEvent(ir,n)};this.commands.executeCommand("LifecycleSDK.onReady",r.bind(this))}exit(t){let r=this.canIUseIfThrow("lifeCycle.exit");if(r)return r;this.commands.executeCommand("LifecycleSDK.exit",t.onBeforeExit,t.shouldStay)}onJoliboxHide(t){this.commands.executeCommand("LifecycleSDK.onJoliboxHide",t.bind(this))}onJoliboxShow(t){this.commands.executeCommand("LifecycleSDK.onJoliboxShow",t.bind(this))}};var j=class extends f{getItem(t){return m(this,null,function*(){return yield this.commands.executeCommand("StorageSDK.getItem",t)})}setItem(t,r){return m(this,null,function*(){if(t.length>128)return{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key should be less than 128"};let n=typeof r=="string"?r:String(r);return t.length+n.length>1024?{code:"PARAMETER_ERROR",message:"[SDK] cloud storage setItem error: length of key and value should be less than 1024"}:yield this.commands.executeCommand("StorageSDK.setItem",t,r)})}removeItem(t){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.removeItem",t)})}clear(){return m(this,null,function*(){return this.commands.executeCommand("StorageSDK.clear")})}};var N=class extends f{constructor(){super();this.init=r=>{this.commands.executeCommand("AdsSDK.init",r)};this.adConfig=r=>{this.commands.executeCommand("AdsSDK.adConfig",r)};this.adBreak=r=>{this.commands.executeCommand("AdsSDK.adBreak",r)};this.adUnit=r=>{this.commands.executeCommand("AdsSDK.adUnit",r)}}};var J=class extends f{showKeyboard(t){let r=this.canIUseIfThrow("keyboard.showKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.showKeyboard",t)}updateKeyboard(t){let r=this.canIUseIfThrow("keyboard.updateKeyboard");if(r)return r;this.commands.executeCommand("KeyboardSDK.updateKeyboard",{value:t})}hideKeyboard(){let t=this.canIUseIfThrow("keyboard.hideKeyboard");if(t)return t;this.commands.executeCommand("KeyboardSDK.hideKeyboard")}};var F=class extends f{onLevelFinished(t,r,n){return m(this,null,function*(){let o=this.canIUseIfThrow("TaskTrackerSDK.onLevelFinished");return o?Promise.resolve(o):yield this.commands.executeCommand("TaskTrackerSDK.levelFinished",t,{result:r,duration:n})})}onTaskFinished(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskFinished");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskFinished",t,{duration:r}))})}onTaskEvent(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onTaskEvent");return n||(yield this.commands.executeCommand("TaskTrackerSDK.taskEvent",t,r))})}onLevelUpgrade(t,r){return m(this,null,function*(){let n=this.canIUseIfThrow("TaskTrackerSDK.onLevelUpgrade");return n||(yield this.commands.executeCommand("TaskTrackerSDK.levelUpgrade",t,r))})}onHistoryUserLevel(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserLevel");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserLevel",t))})}onHistoryUserScore(t){return m(this,null,function*(){let r=this.canIUseIfThrow("TaskTrackerSDK.onHistoryUserScore");return r||(yield this.commands.executeCommand("TaskTrackerSDK.historyUserScore",t))})}};var B=class extends f{openSchema(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openSchema");return r||(yield this.commands.executeCommand("RouterSDK.openSchema",t))})}openPage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.openPage");return r||(yield this.commands.executeCommand("RouterSDK.openPage",t))})}closePage(t){return m(this,null,function*(){let r=this.canIUseIfThrow("router.closePage");return r||(yield this.commands.executeCommand("RouterSDK.closePage",t))})}};var ce=class{constructor(){this.jssdkVersion="1.1.13-beta.10";this.runtime=new tt;this.ads=new N;this.lifecycle=new M;this.storage=new j;this.keyboard=new J;this.task=new F;this.router=new B;this.getSystemInfoSync=Ge.bind(this);this.canIUse=y.bind(this);this.login=Xe.bind(this);this.checkSession=Ze.bind(this);this.request=et.bind(this);window.joliboxsdk={runtime:this.runtime,ads:this.ads,lifecycle:this.lifecycle,storage:this.storage,keyboard:this.keyboard,task:this.task,router:this.router}}};window.JoliboxSDK=ce;})();
|