@jolibox/common 1.1.11 → 1.1.13-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +1 -1
- package/package.json +6 -5
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var A=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var Ae=Object.prototype.hasOwnProperty;var ie=(n,e)=>{for(var r in e)A(n,r,{get:e[r],enumerable:!0})},Ce=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ie(e))!Ae.call(n,o)&&o!==r&&A(n,o,{get:()=>e[o],enumerable:!(t=oe(e,o))||t.enumerable});return n};var be=n=>Ce(A({},"__esModule",{value:!0}),n),C=(n,e,r,t)=>{for(var o=t>1?void 0:t?oe(e,r):e,i=n.length-1,s;i>=0;i--)(s=n[i])&&(o=(t?s(e,r,o):s(o))||o);return t&&o&&A(e,r,o),o};var mn={};ie(mn,{ADVERTISING_ID:()=>Te,APIError:()=>W,BaseError:()=>g,DEVICE_ID:()=>ge,Deferred:()=>k,EPlatform:()=>fe,EProject:()=>pe,EventEmitter:()=>E,EventType:()=>ue,EventUtils:()=>x,InternalApplyNativeError:()=>j,InternalBufferError:()=>$,InternalContextError:()=>z,InternalError:()=>m,InternalGlobalJSError:()=>B,InternalInvokeMethodError:()=>G,InternalInvokeNativeError:()=>K,InternalJSCoreNotFoundError:()=>J,InternalJSModuleEvalError:()=>H,InternalJSModuleFetchError:()=>F,InternalMetricReportError:()=>Q,InternalReporterError:()=>X,InternalSchemaParseError:()=>V,LoadScriptCode:()=>le,Singleton:()=>_,UserCustomError:()=>h,UserError:()=>f,UserFetchError:()=>S,UserFunctionEvalError:()=>D,UserGlobalError:()=>L,UserValidateError:()=>U,canIUseConfig:()=>ze,compareVersion:()=>We,createCommands:()=>ln,createRunTaskQueue:()=>Pe,debounce:()=>je,get:()=>Be,getAdvertisingId:()=>xe,getDeviceId:()=>Ee,getPlatform:()=>ye,getStorage:()=>Z,getUtmSource:()=>Re,hostEmitter:()=>dn,isArray:()=>Ue,isBoolean:()=>De,isDefined:()=>Ve,isFunction:()=>O,isIterable:()=>Se,isNumber:()=>Le,isObject:()=>se,isPromiseLike:()=>Fe,isString:()=>b,isStringArray:()=>ke,isTypedArray:()=>Me,isUndefined:()=>ae,isUndefinedOrNull:()=>N,isValidUUIDV4:()=>Ze,logger:()=>Y,mergeArray:()=>Ke,mergeWith:()=>He,microTask:()=>we,platform:()=>I,promisifyAPI:()=>Oe,serializeEventPackage:()=>qe,sleep:()=>Ne,timeout:()=>M,uuidv4:()=>q,validateConstraint:()=>he,validateConstraints:()=>ne,wrapUserFunction:()=>Je,xUserAgent:()=>nn});module.exports=be(mn);function M(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function Ne(n){return new Promise(e=>setTimeout(e,n))}function Oe(n){return e=>new Promise((r,t)=>{n({...e,success:r,fail(o){let i=new Error(o.errMsg);t(i)}})})}function we(n){if(n)Promise.resolve().then(n);else return Promise.resolve()}var k=class{constructor(){this.state="pending";this.promise=new Promise((e,r)=>{this.resolve=t=>{this.state==="pending"&&(this.state="fulfilled",e(t))},this.reject=t=>{this.state==="pending"&&(this.state="rejected",r(t))}})}};function Pe(){let n=[],e=!1,r=async()=>{let t=n.shift();if(t){e=!0;try{await t()}finally{e=!1,r()}}};return t=>{n.push(t),e||r()}}function b(n){return typeof n=="string"}function ke(n){return Array.isArray(n)&&n.every(e=>b(e))}function se(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function Me(n){let e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function Ue(n){return typeof n=="object"&&Array.isArray(n)}function Le(n){return typeof n=="number"&&!isNaN(n)}function Se(n){return!!n&&typeof n[Symbol.iterator]=="function"}function De(n){return n===!0||n===!1}function ae(n){return typeof n>"u"}function Ve(n){return!N(n)}function N(n){return ae(n)||n===null}function O(n){return typeof n=="function"}function Fe(n){return se(n)&&O(n.then)}function _(n){let e=n,r=null,t=function(...o){return r||(r=new e(...o)),r};return t.prototype=e.prototype,t}function He(n,e,r){if(typeof r!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function t(o,i){for(let s in i)if(Object.prototype.hasOwnProperty.call(i,s)){let c=o[s],a=i[s],p=r(c,a,s,o,i);p!==void 0?o[s]=p:de(a)&&de(c)?o[s]=t({...c},a):Array.isArray(a)&&Array.isArray(c)?o[s]=[...c,...a]:o[s]=a}return o}return t(n,e)}function de(n){return n&&typeof n=="object"&&n.constructor===Object}function Ke(n,e){if(Array.isArray(n))return n.concat(e)}function je(n,e,r={}){let t=null,o,i,s,{leading:c=!1,trailing:a=!0}=r,p=()=>(s=n.apply(i,o),o=void 0,i=void 0,s),l=function(...ve){o=ve,i=this;let re=c&&!t;if(t&&clearTimeout(t),t=setTimeout(()=>{t=null,a&&!re&&p()},e),re)return p()};return l.cancel=()=>{t&&clearTimeout(t),t=null,o=i=void 0},l.flush=()=>{if(t)return clearTimeout(t),t=null,p()},l}var le=(a=>(a[a.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",a[a.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",a[a.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",a[a.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",a[a.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",a[a.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",a[a.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",a[a.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",a))(le||{}),g=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}},m=class extends g{constructor(){super(...arguments);this.kind="INTERNAL_ERROR"}},f=class extends g{constructor(){super(...arguments);this.kind="USER_ERROR"}},U=class extends f{constructor(){super(...arguments);this.name="USER_VALIDATE_ERROR"}},L=class extends f{constructor(){super(...arguments);this.name="USER_GLOBAL_ERROR";this.priority="P1"}},h=class extends f{constructor(r,t,o){super(r);this.message=r;this.errNo=t;this.name="USER_CUSTOM_ERROR";this.errMsg=r,o&&(this.extra=Object.assign({},this.extra,o))}},S=class extends f{constructor(r,t,o){super(r);this.message=r;this.errNo=t;this.name="USER_FETCH_ERROR";this.errMsg=r,o&&(this.extra=Object.assign({},this.extra,o))}},D=class extends f{constructor(){super(...arguments);this.name="USER_CALLBACK_ERROR"}},V=class extends m{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},F=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},H=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},K=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},j=class extends m{constructor(r,t,o,i){super(r);this.errNo=t;this.name="INTERNAL_APPLY_NATIVE_ERROR";this.errorType=o,this.errorCode=i}},G=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},J=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},$=class extends m{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},z=class extends m{constructor(r,t){super(r);this.message=r;this.name="INTERNAL_CONTEXT_ERROR";this.property=t}},B=class extends m{constructor(){super(...arguments);this.name="INTERNAL_GLOBAL_JS_ERROR";this.priority="P1"}},W=class extends g{constructor(r,t,o,i,s){super(r);this.message=r;this.code=t;this.kind="API_ERROR";this.name="API_ERROR";o&&(this.errorType=o),i!==void 0&&(this.stack=i),s&&(this.priority=s)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},Q=class extends m{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},X=class extends m{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function Ge(n,e){return(...r)=>e(n,...r)}function Je(n){return e=>Ge(e,function(r,...t){if(typeof r=="function")try{return r.apply(this,t)}catch(o){n(new h(`${o}`))}})}function v(n){return(...e)=>{(globalThis.VConsole?.[n]??globalThis.console[n])(...e)}}var Y={log:v("log"),warn:v("warn"),info:v("info"),error:v("error"),debug:v("debug")};Object.assign(globalThis,{logger:Y});var me=Symbol.for("Jolibox.canIUseMap"),$e={};globalThis[me]=$e;var ze={get config(){return globalThis[me]}};function Be(n,e,r){let t=n;for(let o of e)if(t&&typeof t=="object")t=t[o];else return r;return t===void 0?r:t}function We(n,e,r){let t=0;if(n!==e){let o=n.split("."),i=e.split("."),s=Math.max(o.length,i.length);for(let c=0;c<s;c++){let a=parseInt(o[c],10)||0,p=parseInt(i[c],10)||0;if(a>p){t=1;break}else if(a<p){t=-1;break}}}if(!r)return t;switch(r){case">":return t>0;case"<":return t<0;case"=":return t===0;case">=":return t>=0;case"<=":return t<=0;default:return!1}}var ue=(t=>(t[t.System=1e3]="System",t[t.ErrorTrace=1001]="ErrorTrace",t[t.UserDefined=1002]="UserDefined",t))(ue||{}),pe=(i=>(i.MiniGame="mini-game",i.MiniDrama="mini-drama",i.App="app",i.WebSDK="web-sdk",i.AppSDK="app-sdk",i))(pe||{}),fe=(l=>(l[l.App=0]="App",l[l.H5=1]="H5",l[l.Weapp=2]="Weapp",l[l.Alipay=3]="Alipay",l[l.Gcash=4]="Gcash",l[l.Dana=5]="Dana",l[l.Umma=6]="Umma",l[l.WebSDK=1e3]="WebSDK",l[l.AppSDK=1001]="AppSDK",l[l.Other=9999]="Other",l))(fe||{}),ce=["name","params"],Qe=["name","type","location","target","extra","timestamp","userId"],Xe=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function w(n,e){return e.map(r=>{if(r==="params"&&n[r]){let t=n[r];return Object.keys(t).reduce((o,i)=>(o[i]=String(t[i]),o),{})}return n[r]})}function Ye(n){let e=n.location?w(n.location,ce):null,r=n.target?w(n.target,ce):null;return w({...n,location:e,target:r},Qe)}function qe(n){let e=n.events.map(t=>Ye(t)),r=w(n.device,Xe);return[n.protocolVersion,e,r,n.project]}var q=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),Ze=n=>/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i.test(n);var I={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let n=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[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")},ye=()=>I.isiOS?"iOS":I.isAndroid?"Android":I.isMac?"Mac":I.isFacebook?"Facebook":"PC",ge="device_id",Te="advertising_id",Z=n=>(localStorage.getItem(n)||localStorage.setItem(n,q()),localStorage.getItem(n)),Ee=()=>Z(ge),xe=()=>Z(Te),en=n=>n.charAt(0).toUpperCase()+n.slice(1),Re=()=>{let n=new URLSearchParams(window.location.search);return en(n.get("utm_source")??"")||"JoliboxSDK"},nn=n=>{let e="JoliboxWebSDK",r=ye(),t=navigator.language,o=Ee(),i=xe();return`${e} (${Re()}${r}; UnknownModel; UnknownSystemVersion; ${t}) uuid/${o} adid/${i} version/${n||""}`};var d=class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}},P=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 r=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=r}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,r){let t=new d(e);if(this._first===d.Undefined)this._first=t,this._last=t;else if(r){let i=this._last;this._last=t,t.prev=i,i.next=t}else{let i=this._first;this._first=t,t.next=i,i.prev=t}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(t))}}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 r=e.prev;r.next=e.next,e.next.prev=r}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}};var tn=0,T=class{constructor(e){this.value=e;this.id=tn++}},u=class{constructor(e){this.options=e;this._size=0}dispose(e){this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof T&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(r=>r?.value===e)):(this._listeners=void 0,this._size=0)),this.options?.onDidRemoveLastListener?.())}get event(){return this._event??=(e,r)=>{if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(e=e.bind(r));let t=new T(e);this._listeners?this._listeners instanceof T?this._listeners=[this._listeners,t]:this._listeners.push(t):(this.options?.onWillAddFirstListener?.(this),this._listeners=t,this.options?.onDidFirstListener?.(this)),this.options?.onDidAddListener?.(this),this._size++},this._event}_deliver(e,r){if(!e)return;let t=this.options?.onListenerError||Error.constructor;if(!t){e.value(r);return}try{e.value(r)}catch(o){t(o)}}fire(e){this._listeners&&(this._listeners instanceof T?this._deliver(this._listeners,e):this._listeners.forEach(r=>this._deliver(r,e)))}hasListeners(){return this._size>0}},E=class{constructor(){this.listeners=new Map;this.listerHandlerMap=new WeakMap;this.cachedEventQueue=new Map}on(e,r){let t=this.listeners.get(e)??new u,o=s=>r(...s.args);this.listerHandlerMap.set(r,o),t.event(o),this.listeners.set(e,t);let i=this.cachedEventQueue.get(e);if(i)for(;i.size>0;)t.fire({event:e,...i.shift()})}off(e,r){let t=this.listeners.get(e);if(t){let o=this.listerHandlerMap.get(r);t.dispose(o)}}emit(e,...r){let t=this.listeners.get(e);if(t)t.fire({event:e,args:r});else{let o=this.cachedEventQueue.get(e);o||(o=new P,this.cachedEventQueue.set(e,o)),o.push({args:r})}}};var x={};ie(x,{None:()=>rn,filter:()=>sn,once:()=>_e,toPromise:()=>on});var rn=()=>{console.log("[Jolibox SDK] None Event")};function on(n){return new Promise(e=>_e(n)(e))}function _e(n){return(e,r=null)=>{let t=!1;return n(i=>{if(!t)return t=!0,e.call(r,i)},null)}}function sn(n,e){return(t=>{let o,i={onWillAddFirstListener(){o=t(s.fire,s)}},s=new u(i);return s.event})((t,o=null)=>n(i=>e(i)&&t.call(o,i),null))}var ee=Symbol.for("Jolibox.hostEmitter"),an=()=>{let n=new E;return globalThis[ee]||(globalThis[ee]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[ee]},dn=an();function ne(n,e){let r=Math.min(n.length,e.length);for(let t=0;t<r;t++)he(n[t],e[t])}function he(n,e){if(b(e)){if(typeof n!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(O(e)){try{if(n instanceof e)return}catch{}if(!N(n)&&n.constructor===e||e.length===1&&e.call(void 0,n)===!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 y=class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new u;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 o=[];for(let s of e.metadata.args)o.push(s.constraint);let i=e.handler;e.handler=function(...s){return ne(s,o),i(...s)}}let{id:r}=e;this._commands.get(r)&&console.info(`[Jolibox SDK] duplicated command is registered ${r}`),this._commands.set(r,e),this._onDidRegisterCommand.fire(r)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let r of this._commands.keys()){let t=this.getCommand(r);t&&e.set(r,t)}return e}};y=C([_],y);var R=class{constructor(){this._onWillExecuteCommand=new u;this.onWillExecuteCommand=this._onWillExecuteCommand.event;this._onDidExecuteCommand=new u;this.onDidExecuteCommand=this._onDidExecuteCommand.event;this.registry=new y;this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=M(3e4)),this._starActivation}async executeCommand(e,...r){return this.registry.getCommand(e)?this._tryExecuteCommand(e,r):(await Promise.all([Promise.race([this._activateStar(),x.toPromise(x.filter(this.registry.onDidRegisterCommand,o=>o===e))])]),this._tryExecuteCommand(e,r))}executeCommandThowErr(e,...r){if(!!!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let o=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:r});let i=this.invokeFunction(o.handler,...r);return this._onDidExecuteCommand.fire({commandId:e,args:r}),i}_tryExecuteCommand(e,r){let t=this.registry.getCommand(e);if(!t)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:r});let o=this.invokeFunction(t.handler,...r);return this._onDidExecuteCommand.fire({commandId:e,args:r}),Promise.resolve(o)}catch(o){return Promise.reject(o)}}invokeFunction(e,...r){let t=!1;try{return e(...r)}finally{t=!0}}};R=C([_],R);var te=Symbol.for("Jolibox.commands");function ln(){if(globalThis[te])return globalThis[te];let n=new y,e=new R,r={registerCommand(t,o,i){n.registerCommand({id:t,handler:o,metadata:i})},executeCommand(t,...o){return e.executeCommand(t,...o)},excuteCommandSync(t,...o){return e.executeCommandThowErr(t,...o)}};return globalThis[te]=r,r}
|
|
1
|
+
"use strict";var v=Object.defineProperty,Pe=Object.defineProperties,me=Object.getOwnPropertyDescriptor,ke=Object.getOwnPropertyDescriptors,Le=Object.getOwnPropertyNames,de=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable;var le=(n,e,t)=>e in n?v(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,f=(n,e)=>{for(var t in e||(e={}))ce.call(e,t)&&le(n,t,e[t]);if(de)for(var t of de(e))Me.call(e,t)&&le(n,t,e[t]);return n},N=(n,e)=>Pe(n,ke(e));var ue=(n,e)=>{for(var t in e)v(n,t,{get:e[t],enumerable:!0})},Se=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Le(e))!ce.call(n,o)&&o!==t&&v(n,o,{get:()=>e[o],enumerable:!(r=me(e,o))||r.enumerable});return n};var Ue=n=>Se(v({},"__esModule",{value:!0}),n),O=(n,e,t,r)=>{for(var o=r>1?void 0:r?me(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(o=(r?a(e,t,o):a(o))||o);return r&&o&&v(e,t,o),o};var w=(n,e,t)=>new Promise((r,o)=>{var i=s=>{try{m(t.next(s))}catch(c){o(c)}},a=s=>{try{m(t.throw(s))}catch(c){o(c)}},m=s=>s.done?r(s.value):Promise.resolve(s.value).then(i,a);m((t=t.apply(n,e)).next())});var xn={};ue(xn,{ADVERTISING_ID:()=>be,APIError:()=>q,BaseError:()=>T,DEVICE_ID:()=>ve,Deferred:()=>U,EPlatform:()=>he,EProject:()=>Re,EventEmitter:()=>h,EventType:()=>xe,EventUtils:()=>E,InternalApplyNativeError:()=>z,InternalBufferError:()=>Q,InternalContextError:()=>X,InternalError:()=>u,InternalGlobalJSError:()=>Y,InternalInvokeMethodError:()=>B,InternalInvokeNativeError:()=>$,InternalJSCoreNotFoundError:()=>W,InternalJSModuleEvalError:()=>J,InternalJSModuleFetchError:()=>G,InternalMetricReportError:()=>Z,InternalReporterError:()=>ee,InternalSchemaParseError:()=>K,LoadScriptCode:()=>ge,Singleton:()=>b,UserCustomError:()=>I,UserError:()=>y,UserFetchError:()=>H,UserFunctionEvalError:()=>j,UserGlobalError:()=>F,UserValidateError:()=>V,canIUseConfig:()=>nn,compareVersion:()=>rn,createCommands:()=>Tn,createRunTaskQueue:()=>He,debounce:()=>Ye,get:()=>tn,getAdvertisingId:()=>Ae,getDeviceId:()=>Ie,getPlatform:()=>_e,getStorage:()=>re,getUtmSource:()=>Ce,hostEmitter:()=>En,isArray:()=>Ge,isBoolean:()=>ze,isDefined:()=>Be,isFunction:()=>L,isIterable:()=>$e,isNumber:()=>Je,isObject:()=>pe,isPromiseLike:()=>We,isString:()=>P,isStringArray:()=>je,isTypedArray:()=>Ke,isUndefined:()=>fe,isUndefinedOrNull:()=>k,isValidUUIDV4:()=>ln,logger:()=>ne,mergeArray:()=>Xe,mergeWith:()=>Qe,microTask:()=>Fe,platform:()=>C,promisifyAPI:()=>Ve,serializeEventPackage:()=>dn,sleep:()=>De,timeout:()=>D,uuidv4:()=>te,validateConstraint:()=>Oe,validateConstraints:()=>ie,wrapUserFunction:()=>Ze,xUserAgent:()=>cn});module.exports=Ue(xn);if(typeof window!="undefined"&&!window.AbortController){let n=function(){this.signal=new e};n.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let t=new Event("abort");this.signal.dispatchEvent(t)};let e=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(e.prototype,"aborted",{get:function(){return this._aborted}}),e.prototype.addEventListener=function(t,r){this._eventListeners[t]||(this._eventListeners[t]=[]),this._eventListeners[t].push(r)},e.prototype.removeEventListener=function(t,r){if(!this._eventListeners[t])return;let o=this._eventListeners[t].indexOf(r);o!==-1&&this._eventListeners[t].splice(o,1)},e.prototype.dispatchEvent=function(t){if(this._eventListeners[t.type])for(let r of this._eventListeners[t.type])r.call(this,t)},window.AbortController=n,window.AbortSignal=e}function D(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function De(n){return new Promise(e=>setTimeout(e,n))}function Ve(n){return e=>new Promise((t,r)=>{n(N(f({},e),{success:t,fail(o){let i=new Error(o.errMsg);r(i)}}))})}function Fe(n){if(n)Promise.resolve().then(n);else return Promise.resolve()}var U=class{constructor(){this.state="pending";this.promise=new Promise((e,t)=>{this.resolve=r=>{this.state==="pending"&&(this.state="fulfilled",e(r))},this.reject=r=>{this.state==="pending"&&(this.state="rejected",t(r))}})}};function He(){let n=[],e=!1,t=()=>w(this,null,function*(){let r=n.shift();if(r){e=!0;try{yield r()}finally{e=!1,t()}}});return r=>{n.push(r),e||t()}}function P(n){return typeof n=="string"}function je(n){return Array.isArray(n)&&n.every(e=>P(e))}function pe(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function Ke(n){let e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function Ge(n){return typeof n=="object"&&Array.isArray(n)}function Je(n){return typeof n=="number"&&!isNaN(n)}function $e(n){return!!n&&typeof n[Symbol.iterator]=="function"}function ze(n){return n===!0||n===!1}function fe(n){return typeof n=="undefined"}function Be(n){return!k(n)}function k(n){return fe(n)||n===null}function L(n){return typeof n=="function"}function We(n){return pe(n)&&L(n.then)}function b(n){let e=n,t=null,r=function(...o){return t||(t=new e(...o)),t};return r.prototype=e.prototype,r}function Qe(n,e,t){if(typeof t!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function r(o,i){for(let a in i)if(Object.prototype.hasOwnProperty.call(i,a)){let m=o[a],s=i[a],c=t(m,s,a,o,i);c!==void 0?o[a]=c:ye(s)&&ye(m)?o[a]=r(f({},m),s):Array.isArray(s)&&Array.isArray(m)?o[a]=[...m,...s]:o[a]=s}return o}return r(n,e)}function ye(n){return n&&typeof n=="object"&&n.constructor===Object}function Xe(n,e){if(Array.isArray(n))return n.concat(e)}function Ye(n,e,t={}){let r=null,o,i,a,{leading:m=!1,trailing:s=!0}=t,c=()=>(a=n.apply(i,o),o=void 0,i=void 0,a),d=function(...we){o=we,i=this;let ae=m&&!r;if(r&&clearTimeout(r),r=setTimeout(()=>{r=null,s&&!ae&&c()},e),ae)return c()};return d.cancel=()=>{r&&clearTimeout(r),r=null,o=i=void 0},d.flush=()=>{if(r)return clearTimeout(r),r=null,c()},d}var ge=(s=>(s[s.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",s[s.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",s[s.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",s[s.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",s[s.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",s[s.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",s[s.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",s[s.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",s))(ge||{}),T=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}},u=class extends T{constructor(){super(...arguments);this.kind="INTERNAL_ERROR"}},y=class extends T{constructor(){super(...arguments);this.kind="USER_ERROR"}},V=class extends y{constructor(){super(...arguments);this.name="USER_VALIDATE_ERROR"}},F=class extends y{constructor(){super(...arguments);this.name="USER_GLOBAL_ERROR";this.priority="P1"}},I=class extends y{constructor(t,r,o){super(t);this.message=t;this.errNo=r;this.name="USER_CUSTOM_ERROR";this.errMsg=t,o&&(this.extra=Object.assign({},this.extra,o))}},H=class extends y{constructor(t,r,o){super(t);this.message=t;this.errNo=r;this.name="USER_FETCH_ERROR";this.errMsg=t,o&&(this.extra=Object.assign({},this.extra,o))}},j=class extends y{constructor(){super(...arguments);this.name="USER_CALLBACK_ERROR"}},K=class extends u{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},G=class extends u{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},J=class extends u{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},$=class extends u{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},z=class extends u{constructor(t,r,o,i){super(t);this.errNo=r;this.name="INTERNAL_APPLY_NATIVE_ERROR";this.errorType=o,this.errorCode=i}},B=class extends u{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},W=class extends u{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},Q=class extends u{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},X=class extends u{constructor(t,r){super(t);this.message=t;this.name="INTERNAL_CONTEXT_ERROR";this.property=r}},Y=class extends u{constructor(){super(...arguments);this.name="INTERNAL_GLOBAL_JS_ERROR";this.priority="P1"}},q=class extends T{constructor(t,r,o,i,a){super(t);this.message=t;this.code=r;this.kind="API_ERROR";this.name="API_ERROR";o&&(this.errorType=o),i!==void 0&&(this.stack=i),a&&(this.priority=a)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},Z=class extends u{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},ee=class extends u{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function qe(n,e){return(...t)=>e(n,...t)}function Ze(n){return e=>qe(e,function(t,...r){if(typeof t=="function")try{return t.apply(this,r)}catch(o){n(new I(`${o}`))}})}function A(n){return(...e)=>{var r,o;((o=(r=globalThis.VConsole)==null?void 0:r[n])!=null?o:globalThis.console[n])(...e)}}var ne={log:A("log"),warn:A("warn"),info:A("info"),error:A("error"),debug:A("debug")};Object.assign(globalThis,{logger:ne});var Ee=Symbol.for("Jolibox.canIUseMap"),en={};globalThis[Ee]=en;var nn={get config(){return globalThis[Ee]}};function tn(n,e,t){let r=n;for(let o of e)if(r&&typeof r=="object")r=r[o];else return t;return r===void 0?t:r}function rn(n,e,t){let r=0;if(n!==e){let o=n.split("."),i=e.split("."),a=Math.max(o.length,i.length);for(let m=0;m<a;m++){let s=parseInt(o[m],10)||0,c=parseInt(i[m],10)||0;if(s>c){r=1;break}else if(s<c){r=-1;break}}}if(!t)return r;switch(t){case">":return r>0;case"<":return r<0;case"=":return r===0;case">=":return r>=0;case"<=":return r<=0;default:return!1}}var xe=(r=>(r[r.System=1e3]="System",r[r.ErrorTrace=1001]="ErrorTrace",r[r.UserDefined=1002]="UserDefined",r))(xe||{}),Re=(i=>(i.MiniGame="mini-game",i.MiniDrama="mini-drama",i.App="app",i.WebSDK="web-sdk",i.AppSDK="app-sdk",i))(Re||{}),he=(d=>(d[d.App=0]="App",d[d.H5=1]="H5",d[d.Weapp=2]="Weapp",d[d.Alipay=3]="Alipay",d[d.Gcash=4]="Gcash",d[d.Dana=5]="Dana",d[d.Umma=6]="Umma",d[d.WebSDK=1e3]="WebSDK",d[d.AppSDK=1001]="AppSDK",d[d.Other=9999]="Other",d))(he||{}),Te=["name","params"],on=["name","type","location","target","extra","timestamp","userId"],sn=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function M(n,e){return e.map(t=>{if(t==="params"&&n[t]){let r=n[t];return Object.keys(r).reduce((o,i)=>(o[i]=String(r[i]),o),{})}return n[t]})}function an(n){let e=n.location?M(n.location,Te):null,t=n.target?M(n.target,Te):null;return M(N(f({},n),{location:e,target:t}),on)}function dn(n){let e=n.events.map(r=>an(r)),t=M(n.device,sn);return[n.protocolVersion,e,t,n.project]}var te=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),ln=n=>/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i.test(n);var C={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let n=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[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")},_e=()=>C.isiOS?"iOS":C.isAndroid?"Android":C.isMac?"Mac":C.isFacebook?"Facebook":"PC",ve="device_id",be="advertising_id",re=n=>(localStorage.getItem(n)||localStorage.setItem(n,te()),localStorage.getItem(n)),Ie=()=>re(ve),Ae=()=>re(be),mn=n=>n.charAt(0).toUpperCase()+n.slice(1),Ce=()=>{var e;let n=new URLSearchParams(window.location.search);return mn((e=n.get("utm_source"))!=null?e:"")||"JoliboxSDK"},cn=n=>{let e="JoliboxWebSDK",t=_e(),r=navigator.language,o=Ie(),i=Ae();return`${e} (${Ce()}${t}; UnknownModel; UnknownSystemVersion; ${r}) uuid/${o} adid/${i} version/${n||""}`};var x=class x{constructor(e){this.element=e,this.next=x.Undefined,this.prev=x.Undefined}};x.Undefined=new x(void 0);var l=x,S=class{constructor(){this._first=l.Undefined;this._last=l.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===l.Undefined}clear(){let e=this._first;for(;e!==l.Undefined;){let t=e.next;e.prev=l.Undefined,e.next=l.Undefined,e=t}this._first=l.Undefined,this._last=l.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new l(e);if(this._first===l.Undefined)this._first=r,this._last=r;else if(t){let i=this._last;this._last=r,r.prev=i,i.next=r}else{let i=this._first;this._first=r,r.next=i,i.prev=r}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(r))}}shift(){if(this._first!==l.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==l.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==l.Undefined&&e.next!==l.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===l.Undefined&&e.next===l.Undefined?(this._first=l.Undefined,this._last=l.Undefined):e.next===l.Undefined?(this._last=this._last.prev,this._last.next=l.Undefined):e.prev===l.Undefined&&(this._first=this._first.next,this._first.prev=l.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==l.Undefined;)yield e.element,e=e.next}};var un=0,R=class{constructor(e){this.value=e;this.id=un++}},p=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 R&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(o=>(o==null?void 0:o.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 i,a,m,s,c,d;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let o=new R(t);this._listeners?this._listeners instanceof R?this._listeners=[this._listeners,o]:this._listeners.push(o):((a=(i=this.options)==null?void 0:i.onWillAddFirstListener)==null||a.call(i,this),this._listeners=o,(s=(m=this.options)==null?void 0:m.onDidFirstListener)==null||s.call(m,this)),(d=(c=this.options)==null?void 0:c.onDidAddListener)==null||d.call(c,this),this._size++}),this._event}_deliver(e,t){var o;if(!e)return;let r=((o=this.options)==null?void 0:o.onListenerError)||Error.constructor;if(!r){e.value(t);return}try{e.value(t)}catch(i){r(i)}}fire(e){this._listeners&&(this._listeners instanceof R?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},h=class{constructor(){this.listeners=new Map;this.listerHandlerMap=new WeakMap;this.cachedEventQueue=new Map}on(e,t){var a;let r=(a=this.listeners.get(e))!=null?a:new p,o=m=>t(...m.args);this.listerHandlerMap.set(t,o),r.event(o),this.listeners.set(e,r);let i=this.cachedEventQueue.get(e);if(i)for(;i.size>0;)r.fire(f({event:e},i.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let o=this.listerHandlerMap.get(t);r.dispose(o)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let o=this.cachedEventQueue.get(e);o||(o=new S,this.cachedEventQueue.set(e,o)),o.push({args:t})}}};var E={};ue(E,{None:()=>pn,filter:()=>yn,once:()=>Ne,toPromise:()=>fn});var pn=()=>{console.log("[Jolibox SDK] None Event")};function fn(n){return new Promise(e=>Ne(n)(e))}function Ne(n){return(e,t=null)=>{let r=!1;return n(i=>{if(!r)return r=!0,e.call(t,i)},null)}}function yn(n,e){return(r=>{let o,i={onWillAddFirstListener(){o=r(a.fire,a)}},a=new p(i);return a.event})((r,o=null)=>n(i=>e(i)&&r.call(o,i),null))}var oe=Symbol.for("Jolibox.hostEmitter"),gn=()=>{let n=new h;return globalThis[oe]||(globalThis[oe]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[oe]},En=gn();function ie(n,e){let t=Math.min(n.length,e.length);for(let r=0;r<t;r++)Oe(n[r],e[r])}function Oe(n,e){if(P(e)){if(typeof n!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(L(e)){try{if(n instanceof e)return}catch(t){}if(!k(n)&&n.constructor===e||e.length===1&&e.call(void 0,n)===!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 g=class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new p;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 o=[];for(let a of e.metadata.args)o.push(a.constraint);let i=e.handler;e.handler=function(...a){return ie(a,o),i(...a)}}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}};g=O([b],g);var _=class{constructor(){this._onWillExecuteCommand=new p;this.onWillExecuteCommand=this._onWillExecuteCommand.event;this._onDidExecuteCommand=new p;this.onDidExecuteCommand=this._onDidExecuteCommand.event;this.registry=new g;this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=D(3e4)),this._starActivation}executeCommand(e,...t){return w(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),E.toPromise(E.filter(this.registry.onDidRegisterCommand,o=>o===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!!!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let o=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let i=this.invokeFunction(o.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),i}_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 o=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(o)}catch(o){return Promise.reject(o)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};_=O([b],_);var se=Symbol.for("Jolibox.commands");function Tn(){if(globalThis[se])return globalThis[se];let n=new g,e=new _,t={registerCommand(r,o,i){n.registerCommand({id:r,handler:o,metadata:i})},executeCommand(r,...o){return e.executeCommand(r,...o)},excuteCommandSync(r,...o){return e.executeCommandThowErr(r,...o)}};return globalThis[se]=t,t}
|
package/dist/index.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var U=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var me=(n,e)=>{for(var r in e)U(n,r,{get:e[r],enumerable:!0})};var h=(n,e,r,t)=>{for(var o=t>1?void 0:t?le(e,r):e,i=n.length-1,s;i>=0;i--)(s=n[i])&&(o=(t?s(e,r,o):s(o))||o);return t&&o&&U(e,r,o),o};function S(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function Se(n){return new Promise(e=>setTimeout(e,n))}function De(n){return e=>new Promise((r,t)=>{n({...e,success:r,fail(o){let i=new Error(o.errMsg);t(i)}})})}function Ve(n){if(n)Promise.resolve().then(n);else return Promise.resolve()}var L=class{constructor(){this.state="pending";this.promise=new Promise((e,r)=>{this.resolve=t=>{this.state==="pending"&&(this.state="fulfilled",e(t))},this.reject=t=>{this.state==="pending"&&(this.state="rejected",r(t))}})}};function Fe(){let n=[],e=!1,r=async()=>{let t=n.shift();if(t){e=!0;try{await t()}finally{e=!1,r()}}};return t=>{n.push(t),e||r()}}function N(n){return typeof n=="string"}function Ke(n){return Array.isArray(n)&&n.every(e=>N(e))}function ce(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function je(n){let e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function Ge(n){return typeof n=="object"&&Array.isArray(n)}function Je(n){return typeof n=="number"&&!isNaN(n)}function $e(n){return!!n&&typeof n[Symbol.iterator]=="function"}function ze(n){return n===!0||n===!1}function ue(n){return typeof n>"u"}function Be(n){return!O(n)}function O(n){return ue(n)||n===null}function w(n){return typeof n=="function"}function We(n){return ce(n)&&w(n.then)}function v(n){let e=n,r=null,t=function(...o){return r||(r=new e(...o)),r};return t.prototype=e.prototype,t}function Ye(n,e,r){if(typeof r!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function t(o,i){for(let s in i)if(Object.prototype.hasOwnProperty.call(i,s)){let c=o[s],a=i[s],p=r(c,a,s,o,i);p!==void 0?o[s]=p:D(a)&&D(c)?o[s]=t({...c},a):Array.isArray(a)&&Array.isArray(c)?o[s]=[...c,...a]:o[s]=a}return o}return t(n,e)}function D(n){return n&&typeof n=="object"&&n.constructor===Object}function qe(n,e){if(Array.isArray(n))return n.concat(e)}function en(n,e,r={}){let t=null,o,i,s,{leading:c=!1,trailing:a=!0}=r,p=()=>(s=n.apply(i,o),o=void 0,i=void 0,s),l=function(...de){o=de,i=this;let M=c&&!t;if(t&&clearTimeout(t),t=setTimeout(()=>{t=null,a&&!M&&p()},e),M)return p()};return l.cancel=()=>{t&&clearTimeout(t),t=null,o=i=void 0},l.flush=()=>{if(t)return clearTimeout(t),t=null,p()},l}var pe=(a=>(a[a.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",a[a.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",a[a.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",a[a.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",a[a.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",a[a.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",a[a.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",a[a.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",a))(pe||{}),E=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}},m=class extends E{constructor(){super(...arguments);this.kind="INTERNAL_ERROR"}},y=class extends E{constructor(){super(...arguments);this.kind="USER_ERROR"}},V=class extends y{constructor(){super(...arguments);this.name="USER_VALIDATE_ERROR"}},F=class extends y{constructor(){super(...arguments);this.name="USER_GLOBAL_ERROR";this.priority="P1"}},I=class extends y{constructor(r,t,o){super(r);this.message=r;this.errNo=t;this.name="USER_CUSTOM_ERROR";this.errMsg=r,o&&(this.extra=Object.assign({},this.extra,o))}},H=class extends y{constructor(r,t,o){super(r);this.message=r;this.errNo=t;this.name="USER_FETCH_ERROR";this.errMsg=r,o&&(this.extra=Object.assign({},this.extra,o))}},K=class extends y{constructor(){super(...arguments);this.name="USER_CALLBACK_ERROR"}},j=class extends m{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},G=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},J=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},$=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},z=class extends m{constructor(r,t,o,i){super(r);this.errNo=t;this.name="INTERNAL_APPLY_NATIVE_ERROR";this.errorType=o,this.errorCode=i}},B=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},W=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},Q=class extends m{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},X=class extends m{constructor(r,t){super(r);this.message=r;this.name="INTERNAL_CONTEXT_ERROR";this.property=t}},Y=class extends m{constructor(){super(...arguments);this.name="INTERNAL_GLOBAL_JS_ERROR";this.priority="P1"}},q=class extends E{constructor(r,t,o,i,s){super(r);this.message=r;this.code=t;this.kind="API_ERROR";this.name="API_ERROR";o&&(this.errorType=o),i!==void 0&&(this.stack=i),s&&(this.priority=s)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},Z=class extends m{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},ee=class extends m{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function fe(n,e){return(...r)=>e(n,...r)}function sn(n){return e=>fe(e,function(r,...t){if(typeof r=="function")try{return r.apply(this,t)}catch(o){n(new I(`${o}`))}})}function x(n){return(...e)=>{(globalThis.VConsole?.[n]??globalThis.console[n])(...e)}}var ne={log:x("log"),warn:x("warn"),info:x("info"),error:x("error"),debug:x("debug")};Object.assign(globalThis,{logger:ne});var te=Symbol.for("Jolibox.canIUseMap"),ye={};globalThis[te]=ye;var un={get config(){return globalThis[te]}};function pn(n,e,r){let t=n;for(let o of e)if(t&&typeof t=="object")t=t[o];else return r;return t===void 0?r:t}function yn(n,e,r){let t=0;if(n!==e){let o=n.split("."),i=e.split("."),s=Math.max(o.length,i.length);for(let c=0;c<s;c++){let a=parseInt(o[c],10)||0,p=parseInt(i[c],10)||0;if(a>p){t=1;break}else if(a<p){t=-1;break}}}if(!r)return t;switch(r){case">":return t>0;case"<":return t<0;case"=":return t===0;case">=":return t>=0;case"<=":return t<=0;default:return!1}}var ge=(t=>(t[t.System=1e3]="System",t[t.ErrorTrace=1001]="ErrorTrace",t[t.UserDefined=1002]="UserDefined",t))(ge||{}),Te=(i=>(i.MiniGame="mini-game",i.MiniDrama="mini-drama",i.App="app",i.WebSDK="web-sdk",i.AppSDK="app-sdk",i))(Te||{}),Ee=(l=>(l[l.App=0]="App",l[l.H5=1]="H5",l[l.Weapp=2]="Weapp",l[l.Alipay=3]="Alipay",l[l.Gcash=4]="Gcash",l[l.Dana=5]="Dana",l[l.Umma=6]="Umma",l[l.WebSDK=1e3]="WebSDK",l[l.AppSDK=1001]="AppSDK",l[l.Other=9999]="Other",l))(Ee||{}),re=["name","params"],xe=["name","type","location","target","extra","timestamp","userId"],Re=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function A(n,e){return e.map(r=>{if(r==="params"&&n[r]){let t=n[r];return Object.keys(t).reduce((o,i)=>(o[i]=String(t[i]),o),{})}return n[r]})}function _e(n){let e=n.location?A(n.location,re):null,r=n.target?A(n.target,re):null;return A({...n,location:e,target:r},xe)}function Tn(n){let e=n.events.map(t=>_e(t)),r=A(n.device,Re);return[n.protocolVersion,e,r,n.project]}var oe=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),xn=n=>/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i.test(n);var C={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let n=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[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")},he=()=>C.isiOS?"iOS":C.isAndroid?"Android":C.isMac?"Mac":C.isFacebook?"Facebook":"PC",ve="device_id",Ie="advertising_id",ie=n=>(localStorage.getItem(n)||localStorage.setItem(n,oe()),localStorage.getItem(n)),Ae=()=>ie(ve),Ce=()=>ie(Ie),be=n=>n.charAt(0).toUpperCase()+n.slice(1),Ne=()=>{let n=new URLSearchParams(window.location.search);return be(n.get("utm_source")??"")||"JoliboxSDK"},hn=n=>{let e="JoliboxWebSDK",r=he(),t=navigator.language,o=Ae(),i=Ce();return`${e} (${Ne()}${r}; UnknownModel; UnknownSystemVersion; ${t}) uuid/${o} adid/${i} version/${n||""}`};var d=class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}},b=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 r=e.next;e.prev=d.Undefined,e.next=d.Undefined,e=r}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,r){let t=new d(e);if(this._first===d.Undefined)this._first=t,this._last=t;else if(r){let i=this._last;this._last=t,t.prev=i,i.next=t}else{let i=this._first;this._first=t,t.next=i,i.prev=t}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(t))}}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 r=e.prev;r.next=e.next,e.next.prev=r}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}};var Oe=0,g=class{constructor(e){this.value=e;this.id=Oe++}},u=class{constructor(e){this.options=e;this._size=0}dispose(e){this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof g&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(r=>r?.value===e)):(this._listeners=void 0,this._size=0)),this.options?.onDidRemoveLastListener?.())}get event(){return this._event??=(e,r)=>{if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(e=e.bind(r));let t=new g(e);this._listeners?this._listeners instanceof g?this._listeners=[this._listeners,t]:this._listeners.push(t):(this.options?.onWillAddFirstListener?.(this),this._listeners=t,this.options?.onDidFirstListener?.(this)),this.options?.onDidAddListener?.(this),this._size++},this._event}_deliver(e,r){if(!e)return;let t=this.options?.onListenerError||Error.constructor;if(!t){e.value(r);return}try{e.value(r)}catch(o){t(o)}}fire(e){this._listeners&&(this._listeners instanceof g?this._deliver(this._listeners,e):this._listeners.forEach(r=>this._deliver(r,e)))}hasListeners(){return this._size>0}},R=class{constructor(){this.listeners=new Map;this.listerHandlerMap=new WeakMap;this.cachedEventQueue=new Map}on(e,r){let t=this.listeners.get(e)??new u,o=s=>r(...s.args);this.listerHandlerMap.set(r,o),t.event(o),this.listeners.set(e,t);let i=this.cachedEventQueue.get(e);if(i)for(;i.size>0;)t.fire({event:e,...i.shift()})}off(e,r){let t=this.listeners.get(e);if(t){let o=this.listerHandlerMap.get(r);t.dispose(o)}}emit(e,...r){let t=this.listeners.get(e);if(t)t.fire({event:e,args:r});else{let o=this.cachedEventQueue.get(e);o||(o=new b,this.cachedEventQueue.set(e,o)),o.push({args:r})}}};var _={};me(_,{None:()=>we,filter:()=>ke,once:()=>se,toPromise:()=>Pe});var we=()=>{console.log("[Jolibox SDK] None Event")};function Pe(n){return new Promise(e=>se(n)(e))}function se(n){return(e,r=null)=>{let t=!1;return n(i=>{if(!t)return t=!0,e.call(r,i)},null)}}function ke(n,e){return(t=>{let o,i={onWillAddFirstListener(){o=t(s.fire,s)}},s=new u(i);return s.event})((t,o=null)=>n(i=>e(i)&&t.call(o,i),null))}var P=Symbol.for("Jolibox.hostEmitter"),Me=()=>{let n=new R;return globalThis[P]||(globalThis[P]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[P]},Jn=Me();function ae(n,e){let r=Math.min(n.length,e.length);for(let t=0;t<r;t++)Ue(n[t],e[t])}function Ue(n,e){if(N(e)){if(typeof n!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(w(e)){try{if(n instanceof e)return}catch{}if(!O(n)&&n.constructor===e||e.length===1&&e.call(void 0,n)===!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 f=class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new u;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 o=[];for(let s of e.metadata.args)o.push(s.constraint);let i=e.handler;e.handler=function(...s){return ae(s,o),i(...s)}}let{id:r}=e;this._commands.get(r)&&console.info(`[Jolibox SDK] duplicated command is registered ${r}`),this._commands.set(r,e),this._onDidRegisterCommand.fire(r)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let r of this._commands.keys()){let t=this.getCommand(r);t&&e.set(r,t)}return e}};f=h([v],f);var T=class{constructor(){this._onWillExecuteCommand=new u;this.onWillExecuteCommand=this._onWillExecuteCommand.event;this._onDidExecuteCommand=new u;this.onDidExecuteCommand=this._onDidExecuteCommand.event;this.registry=new f;this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=S(3e4)),this._starActivation}async executeCommand(e,...r){return this.registry.getCommand(e)?this._tryExecuteCommand(e,r):(await Promise.all([Promise.race([this._activateStar(),_.toPromise(_.filter(this.registry.onDidRegisterCommand,o=>o===e))])]),this._tryExecuteCommand(e,r))}executeCommandThowErr(e,...r){if(!!!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let o=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:r});let i=this.invokeFunction(o.handler,...r);return this._onDidExecuteCommand.fire({commandId:e,args:r}),i}_tryExecuteCommand(e,r){let t=this.registry.getCommand(e);if(!t)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:r});let o=this.invokeFunction(t.handler,...r);return this._onDidExecuteCommand.fire({commandId:e,args:r}),Promise.resolve(o)}catch(o){return Promise.reject(o)}}invokeFunction(e,...r){let t=!1;try{return e(...r)}finally{t=!0}}};T=h([v],T);var k=Symbol.for("Jolibox.commands");function ft(){if(globalThis[k])return globalThis[k];let n=new f,e=new T,r={registerCommand(t,o,i){n.registerCommand({id:t,handler:o,metadata:i})},executeCommand(t,...o){return e.executeCommand(t,...o)},excuteCommandSync(t,...o){return e.executeCommandThowErr(t,...o)}};return globalThis[k]=r,r}export{Ie as ADVERTISING_ID,q as APIError,E as BaseError,ve as DEVICE_ID,L as Deferred,Ee as EPlatform,Te as EProject,R as EventEmitter,ge as EventType,_ as EventUtils,z as InternalApplyNativeError,Q as InternalBufferError,X as InternalContextError,m as InternalError,Y as InternalGlobalJSError,B as InternalInvokeMethodError,$ as InternalInvokeNativeError,W as InternalJSCoreNotFoundError,J as InternalJSModuleEvalError,G as InternalJSModuleFetchError,Z as InternalMetricReportError,ee as InternalReporterError,j as InternalSchemaParseError,pe as LoadScriptCode,v as Singleton,I as UserCustomError,y as UserError,H as UserFetchError,K as UserFunctionEvalError,F as UserGlobalError,V as UserValidateError,un as canIUseConfig,yn as compareVersion,ft as createCommands,Fe as createRunTaskQueue,en as debounce,pn as get,Ce as getAdvertisingId,Ae as getDeviceId,he as getPlatform,ie as getStorage,Ne as getUtmSource,Jn as hostEmitter,Ge as isArray,ze as isBoolean,Be as isDefined,w as isFunction,$e as isIterable,Je as isNumber,ce as isObject,We as isPromiseLike,N as isString,Ke as isStringArray,je as isTypedArray,ue as isUndefined,O as isUndefinedOrNull,xn as isValidUUIDV4,ne as logger,qe as mergeArray,Ye as mergeWith,Ve as microTask,C as platform,De as promisifyAPI,Tn as serializeEventPackage,Se as sleep,S as timeout,oe as uuidv4,Ue as validateConstraint,ae as validateConstraints,sn as wrapUserFunction,hn as xUserAgent};
|
|
1
|
+
var k=Object.defineProperty,ye=Object.defineProperties,ge=Object.getOwnPropertyDescriptor,Ee=Object.getOwnPropertyDescriptors;var F=Object.getOwnPropertySymbols;var Te=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var H=(n,e,t)=>e in n?k(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,f=(n,e)=>{for(var t in e||(e={}))Te.call(e,t)&&H(n,t,e[t]);if(F)for(var t of F(e))xe.call(e,t)&&H(n,t,e[t]);return n},b=(n,e)=>ye(n,Ee(e));var Re=(n,e)=>{for(var t in e)k(n,t,{get:e[t],enumerable:!0})};var I=(n,e,t,r)=>{for(var o=r>1?void 0:r?ge(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(o=(r?a(e,t,o):a(o))||o);return r&&o&&k(e,t,o),o};var A=(n,e,t)=>new Promise((r,o)=>{var i=s=>{try{m(t.next(s))}catch(c){o(c)}},a=s=>{try{m(t.throw(s))}catch(c){o(c)}},m=s=>s.done?r(s.value):Promise.resolve(s.value).then(i,a);m((t=t.apply(n,e)).next())});if(typeof window!="undefined"&&!window.AbortController){let n=function(){this.signal=new e};n.prototype.abort=function(){this.signal._aborted=!0,typeof this.signal.onabort=="function"&&this.signal.onabort(new Event("abort"));let t=new Event("abort");this.signal.dispatchEvent(t)};let e=function(){this._aborted=!1,this.aborted=!1,this.onabort=null,this._eventListeners={}};Object.defineProperty(e.prototype,"aborted",{get:function(){return this._aborted}}),e.prototype.addEventListener=function(t,r){this._eventListeners[t]||(this._eventListeners[t]=[]),this._eventListeners[t].push(r)},e.prototype.removeEventListener=function(t,r){if(!this._eventListeners[t])return;let o=this._eventListeners[t].indexOf(r);o!==-1&&this._eventListeners[t].splice(o,1)},e.prototype.dispatchEvent=function(t){if(this._eventListeners[t.type])for(let r of this._eventListeners[t.type])r.call(this,t)},window.AbortController=n,window.AbortSignal=e}function K(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function ze(n){return new Promise(e=>setTimeout(e,n))}function Be(n){return e=>new Promise((t,r)=>{n(b(f({},e),{success:t,fail(o){let i=new Error(o.errMsg);r(i)}}))})}function We(n){if(n)Promise.resolve().then(n);else return Promise.resolve()}var j=class{constructor(){this.state="pending";this.promise=new Promise((e,t)=>{this.resolve=r=>{this.state==="pending"&&(this.state="fulfilled",e(r))},this.reject=r=>{this.state==="pending"&&(this.state="rejected",t(r))}})}};function Qe(){let n=[],e=!1,t=()=>A(this,null,function*(){let r=n.shift();if(r){e=!0;try{yield r()}finally{e=!1,t()}}});return r=>{n.push(r),e||t()}}function L(n){return typeof n=="string"}function Ze(n){return Array.isArray(n)&&n.every(e=>L(e))}function he(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function en(n){let e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function nn(n){return typeof n=="object"&&Array.isArray(n)}function tn(n){return typeof n=="number"&&!isNaN(n)}function rn(n){return!!n&&typeof n[Symbol.iterator]=="function"}function on(n){return n===!0||n===!1}function _e(n){return typeof n=="undefined"}function sn(n){return!M(n)}function M(n){return _e(n)||n===null}function S(n){return typeof n=="function"}function an(n){return he(n)&&S(n.then)}function C(n){let e=n,t=null,r=function(...o){return t||(t=new e(...o)),t};return r.prototype=e.prototype,r}function un(n,e,t){if(typeof t!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function r(o,i){for(let a in i)if(Object.prototype.hasOwnProperty.call(i,a)){let m=o[a],s=i[a],c=t(m,s,a,o,i);c!==void 0?o[a]=c:G(s)&&G(m)?o[a]=r(f({},m),s):Array.isArray(s)&&Array.isArray(m)?o[a]=[...m,...s]:o[a]=s}return o}return r(n,e)}function G(n){return n&&typeof n=="object"&&n.constructor===Object}function pn(n,e){if(Array.isArray(n))return n.concat(e)}function En(n,e,t={}){let r=null,o,i,a,{leading:m=!1,trailing:s=!0}=t,c=()=>(a=n.apply(i,o),o=void 0,i=void 0,a),d=function(...fe){o=fe,i=this;let V=m&&!r;if(r&&clearTimeout(r),r=setTimeout(()=>{r=null,s&&!V&&c()},e),V)return c()};return d.cancel=()=>{r&&clearTimeout(r),r=null,o=i=void 0},d.flush=()=>{if(r)return clearTimeout(r),r=null,c()},d}var ve=(s=>(s[s.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",s[s.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",s[s.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",s[s.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",s[s.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",s[s.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",s[s.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",s[s.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",s))(ve||{}),h=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}},u=class extends h{constructor(){super(...arguments);this.kind="INTERNAL_ERROR"}},g=class extends h{constructor(){super(...arguments);this.kind="USER_ERROR"}},J=class extends g{constructor(){super(...arguments);this.name="USER_VALIDATE_ERROR"}},$=class extends g{constructor(){super(...arguments);this.name="USER_GLOBAL_ERROR";this.priority="P1"}},N=class extends g{constructor(t,r,o){super(t);this.message=t;this.errNo=r;this.name="USER_CUSTOM_ERROR";this.errMsg=t,o&&(this.extra=Object.assign({},this.extra,o))}},z=class extends g{constructor(t,r,o){super(t);this.message=t;this.errNo=r;this.name="USER_FETCH_ERROR";this.errMsg=t,o&&(this.extra=Object.assign({},this.extra,o))}},B=class extends g{constructor(){super(...arguments);this.name="USER_CALLBACK_ERROR"}},W=class extends u{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},Q=class extends u{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},X=class extends u{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},Y=class extends u{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},q=class extends u{constructor(t,r,o,i){super(t);this.errNo=r;this.name="INTERNAL_APPLY_NATIVE_ERROR";this.errorType=o,this.errorCode=i}},Z=class extends u{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},ee=class extends u{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},ne=class extends u{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},te=class extends u{constructor(t,r){super(t);this.message=t;this.name="INTERNAL_CONTEXT_ERROR";this.property=r}},re=class extends u{constructor(){super(...arguments);this.name="INTERNAL_GLOBAL_JS_ERROR";this.priority="P1"}},oe=class extends h{constructor(t,r,o,i,a){super(t);this.message=t;this.code=r;this.kind="API_ERROR";this.name="API_ERROR";o&&(this.errorType=o),i!==void 0&&(this.stack=i),a&&(this.priority=a)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},ie=class extends u{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},se=class extends u{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function be(n,e){return(...t)=>e(n,...t)}function bn(n){return e=>be(e,function(t,...r){if(typeof t=="function")try{return t.apply(this,r)}catch(o){n(new N(`${o}`))}})}function _(n){return(...e)=>{var r,o;((o=(r=globalThis.VConsole)==null?void 0:r[n])!=null?o:globalThis.console[n])(...e)}}var ae={log:_("log"),warn:_("warn"),info:_("info"),error:_("error"),debug:_("debug")};Object.assign(globalThis,{logger:ae});var de=Symbol.for("Jolibox.canIUseMap"),Ie={};globalThis[de]=Ie;var Ln={get config(){return globalThis[de]}};function Mn(n,e,t){let r=n;for(let o of e)if(r&&typeof r=="object")r=r[o];else return t;return r===void 0?t:r}function Dn(n,e,t){let r=0;if(n!==e){let o=n.split("."),i=e.split("."),a=Math.max(o.length,i.length);for(let m=0;m<a;m++){let s=parseInt(o[m],10)||0,c=parseInt(i[m],10)||0;if(s>c){r=1;break}else if(s<c){r=-1;break}}}if(!t)return r;switch(t){case">":return r>0;case"<":return r<0;case"=":return r===0;case">=":return r>=0;case"<=":return r<=0;default:return!1}}var Ae=(r=>(r[r.System=1e3]="System",r[r.ErrorTrace=1001]="ErrorTrace",r[r.UserDefined=1002]="UserDefined",r))(Ae||{}),Ce=(i=>(i.MiniGame="mini-game",i.MiniDrama="mini-drama",i.App="app",i.WebSDK="web-sdk",i.AppSDK="app-sdk",i))(Ce||{}),Ne=(d=>(d[d.App=0]="App",d[d.H5=1]="H5",d[d.Weapp=2]="Weapp",d[d.Alipay=3]="Alipay",d[d.Gcash=4]="Gcash",d[d.Dana=5]="Dana",d[d.Umma=6]="Umma",d[d.WebSDK=1e3]="WebSDK",d[d.AppSDK=1001]="AppSDK",d[d.Other=9999]="Other",d))(Ne||{}),le=["name","params"],Oe=["name","type","location","target","extra","timestamp","userId"],we=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function O(n,e){return e.map(t=>{if(t==="params"&&n[t]){let r=n[t];return Object.keys(r).reduce((o,i)=>(o[i]=String(r[i]),o),{})}return n[t]})}function Pe(n){let e=n.location?O(n.location,le):null,t=n.target?O(n.target,le):null;return O(b(f({},n),{location:e,target:t}),Oe)}function Hn(n){let e=n.events.map(r=>Pe(r)),t=O(n.device,we);return[n.protocolVersion,e,t,n.project]}var me=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),Jn=n=>/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i.test(n);var w={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let n=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[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")},ke=()=>w.isiOS?"iOS":w.isAndroid?"Android":w.isMac?"Mac":w.isFacebook?"Facebook":"PC",Le="device_id",Me="advertising_id",ce=n=>(localStorage.getItem(n)||localStorage.setItem(n,me()),localStorage.getItem(n)),Se=()=>ce(Le),Ue=()=>ce(Me),De=n=>n.charAt(0).toUpperCase()+n.slice(1),Ve=()=>{var e;let n=new URLSearchParams(window.location.search);return De((e=n.get("utm_source"))!=null?e:"")||"JoliboxSDK"},Wn=n=>{let e="JoliboxWebSDK",t=ke(),r=navigator.language,o=Se(),i=Ue();return`${e} (${Ve()}${t}; UnknownModel; UnknownSystemVersion; ${r}) uuid/${o} adid/${i} version/${n||""}`};var E=class E{constructor(e){this.element=e,this.next=E.Undefined,this.prev=E.Undefined}};E.Undefined=new E(void 0);var l=E,P=class{constructor(){this._first=l.Undefined;this._last=l.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===l.Undefined}clear(){let e=this._first;for(;e!==l.Undefined;){let t=e.next;e.prev=l.Undefined,e.next=l.Undefined,e=t}this._first=l.Undefined,this._last=l.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new l(e);if(this._first===l.Undefined)this._first=r,this._last=r;else if(t){let i=this._last;this._last=r,r.prev=i,i.next=r}else{let i=this._first;this._first=r,r.next=i,i.prev=r}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(r))}}shift(){if(this._first!==l.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==l.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==l.Undefined&&e.next!==l.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===l.Undefined&&e.next===l.Undefined?(this._first=l.Undefined,this._last=l.Undefined):e.next===l.Undefined?(this._last=this._last.prev,this._last.next=l.Undefined):e.prev===l.Undefined&&(this._first=this._first.next,this._first.prev=l.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==l.Undefined;)yield e.element,e=e.next}};var Fe=0,T=class{constructor(e){this.value=e;this.id=Fe++}},p=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 T&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(o=>(o==null?void 0:o.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 i,a,m,s,c,d;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let o=new T(t);this._listeners?this._listeners instanceof T?this._listeners=[this._listeners,o]:this._listeners.push(o):((a=(i=this.options)==null?void 0:i.onWillAddFirstListener)==null||a.call(i,this),this._listeners=o,(s=(m=this.options)==null?void 0:m.onDidFirstListener)==null||s.call(m,this)),(d=(c=this.options)==null?void 0:c.onDidAddListener)==null||d.call(c,this),this._size++}),this._event}_deliver(e,t){var o;if(!e)return;let r=((o=this.options)==null?void 0:o.onListenerError)||Error.constructor;if(!r){e.value(t);return}try{e.value(t)}catch(i){r(i)}}fire(e){this._listeners&&(this._listeners instanceof T?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},v=class{constructor(){this.listeners=new Map;this.listerHandlerMap=new WeakMap;this.cachedEventQueue=new Map}on(e,t){var a;let r=(a=this.listeners.get(e))!=null?a:new p,o=m=>t(...m.args);this.listerHandlerMap.set(t,o),r.event(o),this.listeners.set(e,r);let i=this.cachedEventQueue.get(e);if(i)for(;i.size>0;)r.fire(f({event:e},i.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let o=this.listerHandlerMap.get(t);r.dispose(o)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let o=this.cachedEventQueue.get(e);o||(o=new P,this.cachedEventQueue.set(e,o)),o.push({args:t})}}};var x={};Re(x,{None:()=>He,filter:()=>Ke,once:()=>ue,toPromise:()=>je});var He=()=>{console.log("[Jolibox SDK] None Event")};function je(n){return new Promise(e=>ue(n)(e))}function ue(n){return(e,t=null)=>{let r=!1;return n(i=>{if(!r)return r=!0,e.call(t,i)},null)}}function Ke(n,e){return(r=>{let o,i={onWillAddFirstListener(){o=r(a.fire,a)}},a=new p(i);return a.event})((r,o=null)=>n(i=>e(i)&&r.call(o,i),null))}var U=Symbol.for("Jolibox.hostEmitter"),Ge=()=>{let n=new v;return globalThis[U]||(globalThis[U]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[U]},vt=Ge();function pe(n,e){let t=Math.min(n.length,e.length);for(let r=0;r<t;r++)Je(n[r],e[r])}function Je(n,e){if(L(e)){if(typeof n!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(S(e)){try{if(n instanceof e)return}catch(t){}if(!M(n)&&n.constructor===e||e.length===1&&e.call(void 0,n)===!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 y=class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new p;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 o=[];for(let a of e.metadata.args)o.push(a.constraint);let i=e.handler;e.handler=function(...a){return pe(a,o),i(...a)}}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}};y=I([C],y);var R=class{constructor(){this._onWillExecuteCommand=new p;this.onWillExecuteCommand=this._onWillExecuteCommand.event;this._onDidExecuteCommand=new p;this.onDidExecuteCommand=this._onDidExecuteCommand.event;this.registry=new y;this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=K(3e4)),this._starActivation}executeCommand(e,...t){return A(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),x.toPromise(x.filter(this.registry.onDidRegisterCommand,o=>o===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!!!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let o=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let i=this.invokeFunction(o.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),i}_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 o=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(o)}catch(o){return Promise.reject(o)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};R=I([C],R);var D=Symbol.for("Jolibox.commands");function qt(){if(globalThis[D])return globalThis[D];let n=new y,e=new R,t={registerCommand(r,o,i){n.registerCommand({id:r,handler:o,metadata:i})},executeCommand(r,...o){return e.executeCommand(r,...o)},excuteCommandSync(r,...o){return e.executeCommandThowErr(r,...o)}};return globalThis[D]=t,t}export{Me as ADVERTISING_ID,oe as APIError,h as BaseError,Le as DEVICE_ID,j as Deferred,Ne as EPlatform,Ce as EProject,v as EventEmitter,Ae as EventType,x as EventUtils,q as InternalApplyNativeError,ne as InternalBufferError,te as InternalContextError,u as InternalError,re as InternalGlobalJSError,Z as InternalInvokeMethodError,Y as InternalInvokeNativeError,ee as InternalJSCoreNotFoundError,X as InternalJSModuleEvalError,Q as InternalJSModuleFetchError,ie as InternalMetricReportError,se as InternalReporterError,W as InternalSchemaParseError,ve as LoadScriptCode,C as Singleton,N as UserCustomError,g as UserError,z as UserFetchError,B as UserFunctionEvalError,$ as UserGlobalError,J as UserValidateError,Ln as canIUseConfig,Dn as compareVersion,qt as createCommands,Qe as createRunTaskQueue,En as debounce,Mn as get,Ue as getAdvertisingId,Se as getDeviceId,ke as getPlatform,ce as getStorage,Ve as getUtmSource,vt as hostEmitter,nn as isArray,on as isBoolean,sn as isDefined,S as isFunction,rn as isIterable,tn as isNumber,he as isObject,an as isPromiseLike,L as isString,Ze as isStringArray,en as isTypedArray,_e as isUndefined,M as isUndefinedOrNull,Jn as isValidUUIDV4,ae as logger,pn as mergeArray,un as mergeWith,We as microTask,w as platform,Be as promisifyAPI,Hn as serializeEventPackage,ze as sleep,K as timeout,me as uuidv4,Je as validateConstraint,pe as validateConstraints,bn as wrapUserFunction,Wn as xUserAgent};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jolibox/common",
|
|
3
3
|
"description": "This project is common utils for both sdk & implementation",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.13-beta.1",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.es.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,20 +11,21 @@
|
|
|
11
11
|
"README.md"
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@jolibox/types": "1.1.
|
|
14
|
+
"@jolibox/types": "1.1.13-beta.1"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"typescript": "5.7.3",
|
|
18
18
|
"@types/jest": "28.1.1",
|
|
19
19
|
"rimraf": "6.0.1",
|
|
20
20
|
"esbuild": "0.24.2",
|
|
21
|
-
"@jolibox/eslint-config": "1.0.0"
|
|
21
|
+
"@jolibox/eslint-config": "1.0.0",
|
|
22
|
+
"@babel/core": "7.23.3"
|
|
22
23
|
},
|
|
23
24
|
"scripts": {
|
|
24
25
|
"clean": "rimraf ./dist",
|
|
25
26
|
"build": "npm run clean && npm run build:cjs && npm run build:esm && tsc",
|
|
26
|
-
"build:cjs": "esbuild
|
|
27
|
-
"build:esm": "esbuild
|
|
27
|
+
"build:cjs": "node esbuild.config.js --format=cjs",
|
|
28
|
+
"build:esm": "node esbuild.config.js --format=esm",
|
|
28
29
|
"test": "jest"
|
|
29
30
|
},
|
|
30
31
|
"readme": "# Jolibox JSSDK Interface\n"
|