@jolibox/common 1.1.4-beta.10 → 1.1.4-beta.12
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var le=Object.prototype.hasOwnProperty;var ee=(n,e)=>{for(var r in e)v(n,r,{get:e[r],enumerable:!0})},ue=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of me(e))!le.call(n,o)&&o!==r&&v(n,o,{get:()=>e[o],enumerable:!(t=Z(e,o))||t.enumerable});return n};var ce=n=>ue(v({},"__esModule",{value:!0}),n),C=(n,e,r,t)=>{for(var o=t>1?void 0:t?Z(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&&v(e,r,o),o};var je={};ee(je,{APIError:()=>G,BaseError:()=>E,Deferred:()=>P,EventEmitter:()=>T,EventUtils:()=>R,InternalApplyNativeError:()=>H,InternalBufferError:()=>J,InternalContextError:()=>z,InternalError:()=>m,InternalInvokeMethodError:()=>j,InternalInvokeNativeError:()=>V,InternalJSCoreNotFoundError:()=>K,InternalJSModuleEvalError:()=>F,InternalJSModuleFetchError:()=>D,InternalMetricReportError:()=>B,InternalReporterError:()=>W,InternalSchemaParseError:()=>S,LoadScriptCode:()=>oe,Singleton:()=>h,UserCustomError:()=>g,UserError:()=>p,UserFetchError:()=>M,UserFunctionEvalError:()=>U,UserGlobalError:()=>L,UserValidateError:()=>k,canIUseConfig:()=>we,compareVersion:()=>Le,createCommands:()=>He,createRunTaskQueue:()=>ye,debounce:()=>Ne,get:()=>ke,hostEmitter:()=>Ve,isArray:()=>_e,isBoolean:()=>xe,isDefined:()=>ve,isFunction:()=>N,isIterable:()=>ge,isNumber:()=>he,isObject:()=>ne,isPromiseLike:()=>Ce,isString:()=>I,isStringArray:()=>Te,isTypedArray:()=>Re,isUndefined:()=>te,isUndefinedOrNull:()=>b,logger:()=>$,mergeArray:()=>be,mergeWith:()=>Ie,microTask:()=>Ee,promisifyAPI:()=>fe,sleep:()=>pe,timeout:()=>w,validateConstraint:()=>ae,validateConstraints:()=>X,wrapUserFunction:()=>Oe});module.exports=ce(je);function w(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function pe(n){return new Promise(e=>setTimeout(e,n))}function fe(n){return e=>new Promise((r,t)=>{n({...e,success:r,fail(o){let i=new Error(o.errMsg);t(i)}})})}function Ee(n){if(n)Promise.resolve().then(n);else return Promise.resolve()}var P=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 ye(){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 I(n){return typeof n=="string"}function Te(n){return Array.isArray(n)&&n.every(e=>I(e))}function ne(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function Re(n){let e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function _e(n){return typeof n=="object"&&Array.isArray(n)}function he(n){return typeof n=="number"&&!isNaN(n)}function ge(n){return!!n&&typeof n[Symbol.iterator]=="function"}function xe(n){return n===!0||n===!1}function te(n){return typeof n>"u"}function ve(n){return!b(n)}function b(n){return te(n)||n===null}function N(n){return typeof n=="function"}function Ce(n){return ne(n)&&N(n.then)}function h(n){let e=n,r=null,t=function(...o){return r||(r=new e(...o)),r};return t.prototype=e.prototype,t}function Ie(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 l=o[s],a=i[s],c=r(l,a,s,o,i);c!==void 0?o[s]=c:re(a)&&re(l)?o[s]=t({...l},a):Array.isArray(a)&&Array.isArray(l)?o[s]=[...l,...a]:o[s]=a}return o}return t(n,e)}function re(n){return n&&typeof n=="object"&&n.constructor===Object}function be(n,e){if(Array.isArray(n))return n.concat(e)}function Ne(n,e,r={}){let t=null,o,i,s,{leading:l=!1,trailing:a=!0}=r,c=()=>(s=n.apply(i,o),o=void 0,i=void 0,s),O=function(...de){o=de,i=this;let q=l&&!t;if(t&&clearTimeout(t),t=setTimeout(()=>{t=null,a&&!q&&c()},e),q)return c()};return O.cancel=()=>{t&&clearTimeout(t),t=null,o=i=void 0},O.flush=()=>{if(t)return clearTimeout(t),t=null,c()},O}var oe=(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))(oe||{}),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"}},p=class extends E{constructor(){super(...arguments);this.kind="USER_ERROR"}},k=class extends p{constructor(){super(...arguments);this.name="USER_VALIDATE_ERROR"}},L=class extends p{constructor(){super(...arguments);this.name="USER_GLOBAL_ERROR";this.priority="P1"}},g=class extends p{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))}},M=class extends p{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))}},U=class extends p{constructor(){super(...arguments);this.name="USER_CALLBACK_ERROR"}},S=class extends m{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},D=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},F=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},V=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},H=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}},j=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},K=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},J=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}},G=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}}},B=class extends m{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},W=class extends m{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function Ae(n,e){return(...r)=>e(n,...r)}function Oe(n){return e=>Ae(e,function(r,...t){if(typeof r=="function")try{return r.apply(this,t)}catch(o){n(new g(`${o}`))}})}function x(n){return(...e)=>{(globalThis.VConsole?.[n]??globalThis.console[n])(...e)}}var $={log:x("log"),warn:x("warn"),info:x("info"),error:x("error"),debug:x("debug")};Object.assign(globalThis,{logger:$});var ie=Symbol.for("Jolibox.canIUseMap"),Pe={};globalThis[ie]=Pe;var we={get config(){return globalThis[ie]}};function ke(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 Le(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 l=0;l<s;l++){let a=parseInt(o[l],10)||0,c=parseInt(i[l],10)||0;if(a>c){t=1;break}else if(a<c){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 d=class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}},A=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 Me=0,y=class{constructor(e){this.value=e;this.id=Me++}},u=class{constructor(e){this.options=e;this._size=0}dispose(e){this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof y&&(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 y(e);this._listeners?this._listeners instanceof y?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 y?this._deliver(this._listeners,e):this._listeners.forEach(r=>this._deliver(r,e)))}hasListeners(){return this._size>0}},T=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 A,this.cachedEventQueue.set(e,o)),o.push({args:r})}}};var R={};ee(R,{None:()=>Ue,filter:()=>De,once:()=>se,toPromise:()=>Se});var Ue=()=>{console.log("[Jolibox SDK] None Event")};function Se(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 De(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 Q=Symbol.for("Jolibox.hostEmitter"),Fe=()=>{let n=new T;return globalThis[Q]||(globalThis[Q]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[Q]},Ve=Fe();function X(n,e){let r=Math.min(n.length,e.length);for(let t=0;t<r;t++)ae(n[t],e[t])}function ae(n,e){if(I(e)){if(typeof n!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(N(e)){try{if(n instanceof e)return}catch{}if(!b(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 X(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=C([h],f);var _=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=w(3e4)),this._starActivation}async executeCommand(e,...r){return this.registry.getCommand(e)?this._tryExecuteCommand(e,r):(await Promise.all([Promise.race([this._activateStar(),R.toPromise(R.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}}};_=C([h],_);var Y=Symbol.for("Jolibox.commands");function He(){if(globalThis[Y])return globalThis[Y];let n=new f,e=new _,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[Y]=r,r}
|
|
1
|
+
"use strict";var C=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var Ie=Object.prototype.hasOwnProperty;var oe=(n,e)=>{for(var r in e)C(n,r,{get:e[r],enumerable:!0})},Ce=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ve(e))!Ie.call(n,o)&&o!==r&&C(n,o,{get:()=>e[o],enumerable:!(t=re(e,o))||t.enumerable});return n};var Ae=n=>Ce(C({},"__esModule",{value:!0}),n),A=(n,e,r,t)=>{for(var o=t>1?void 0:t?re(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&&C(e,r,o),o};var mn={};oe(mn,{ADVERTISING_ID:()=>ge,APIError:()=>W,BaseError:()=>g,DEVICE_ID:()=>ye,Deferred:()=>k,EPlatform:()=>pe,EProject:()=>ue,EventEmitter:()=>E,EventType:()=>ce,EventUtils:()=>x,InternalApplyNativeError:()=>j,InternalBufferError:()=>G,InternalContextError:()=>J,InternalError:()=>l,InternalInvokeMethodError:()=>$,InternalInvokeNativeError:()=>K,InternalJSCoreNotFoundError:()=>z,InternalJSModuleEvalError:()=>H,InternalJSModuleFetchError:()=>F,InternalMetricReportError:()=>B,InternalReporterError:()=>Q,InternalSchemaParseError:()=>V,LoadScriptCode:()=>de,Singleton:()=>_,UserCustomError:()=>h,UserError:()=>f,UserFetchError:()=>L,UserFunctionEvalError:()=>D,UserGlobalError:()=>S,UserValidateError:()=>U,canIUseConfig:()=>Ge,compareVersion:()=>We,createCommands:()=>dn,createRunTaskQueue:()=>we,debounce:()=>Ke,get:()=>Je,getAdvertisingId:()=>Ee,getDeviceId:()=>Te,getPlatform:()=>fe,getStorage:()=>q,getUtmSource:()=>xe,hostEmitter:()=>an,isArray:()=>Me,isBoolean:()=>Le,isDefined:()=>De,isFunction:()=>O,isIterable:()=>Se,isNumber:()=>Ue,isObject:()=>ie,isPromiseLike:()=>Ve,isString:()=>b,isStringArray:()=>Pe,isTypedArray:()=>ke,isUndefined:()=>se,isUndefinedOrNull:()=>N,isValidUUIDV4:()=>qe,logger:()=>X,mergeArray:()=>He,mergeWith:()=>Fe,microTask:()=>Oe,platform:()=>I,promisifyAPI:()=>Ne,serializeEventPackage:()=>Ye,sleep:()=>be,timeout:()=>M,uuidv4:()=>Y,validateConstraint:()=>_e,validateConstraints:()=>ee,wrapUserFunction:()=>$e,xUserAgent:()=>en});module.exports=Ae(mn);function M(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function be(n){return new Promise(e=>setTimeout(e,n))}function Ne(n){return e=>new Promise((r,t)=>{n({...e,success:r,fail(o){let i=new Error(o.errMsg);t(i)}})})}function Oe(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 we(){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 Pe(n){return Array.isArray(n)&&n.every(e=>b(e))}function ie(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 Me(n){return typeof n=="object"&&Array.isArray(n)}function Ue(n){return typeof n=="number"&&!isNaN(n)}function Se(n){return!!n&&typeof n[Symbol.iterator]=="function"}function Le(n){return n===!0||n===!1}function se(n){return typeof n>"u"}function De(n){return!N(n)}function N(n){return se(n)||n===null}function O(n){return typeof n=="function"}function Ve(n){return ie(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 Fe(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:ae(a)&&ae(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 ae(n){return n&&typeof n=="object"&&n.constructor===Object}function He(n,e){if(Array.isArray(n))return n.concat(e)}function Ke(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),m=function(...he){o=he,i=this;let te=c&&!t;if(t&&clearTimeout(t),t=setTimeout(()=>{t=null,a&&!te&&p()},e),te)return p()};return m.cancel=()=>{t&&clearTimeout(t),t=null,o=i=void 0},m.flush=()=>{if(t)return clearTimeout(t),t=null,p()},m}var de=(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))(de||{}),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}},l=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"}},S=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))}},L=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 l{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},F=class extends l{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},H=class extends l{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},K=class extends l{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},j=class extends l{constructor(r,t,o,i){super(r);this.errNo=t;this.name="INTERNAL_APPLY_NATIVE_ERROR";this.errorType=o,this.errorCode=i}},$=class extends l{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},z=class extends l{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},G=class extends l{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},J=class extends l{constructor(r,t){super(r);this.message=r;this.name="INTERNAL_CONTEXT_ERROR";this.property=t}},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}}},B=class extends l{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},Q=class extends l{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function je(n,e){return(...r)=>e(n,...r)}function $e(n){return e=>je(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 X={log:v("log"),warn:v("warn"),info:v("info"),error:v("error"),debug:v("debug")};Object.assign(globalThis,{logger:X});var me=Symbol.for("Jolibox.canIUseMap"),ze={};globalThis[me]=ze;var Ge={get config(){return globalThis[me]}};function Je(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 ce=(t=>(t[t.System=1e3]="System",t[t.ErrorTrace=1001]="ErrorTrace",t[t.UserDefined=1002]="UserDefined",t))(ce||{}),ue=(i=>(i.MiniGame="mini-game",i.MiniDrama="mini-drama",i.App="app",i.WebSDK="web-sdk",i.AppSDK="app-sdk",i))(ue||{}),pe=(m=>(m[m.App=0]="App",m[m.H5=1]="H5",m[m.Weapp=2]="Weapp",m[m.Alipay=3]="Alipay",m[m.Gcash=4]="Gcash",m[m.Dana=5]="Dana",m[m.Umma=6]="Umma",m[m.WebSDK=1e3]="WebSDK",m[m.AppSDK=1001]="AppSDK",m[m.Other=9999]="Other",m))(pe||{}),le=["name","params"],Be=["name","type","location","target","extra","timestamp","userId"],Qe=["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 Xe(n){let e=n.location?w(n.location,le):null,r=n.target?w(n.target,le):null;return w({...n,location:e,target:r},Be)}function Ye(n){let e=n.events.map(t=>Xe(t)),r=w(n.device,Qe);return[n.protocolVersion,e,r,n.project]}var Y=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),qe=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")},fe=()=>I.isiOS?"iOS":I.isAndroid?"Android":I.isMac?"Mac":I.isFacebook?"Facebook":"PC",ye="device_id",ge="advertising_id",q=n=>(localStorage.getItem(n)||localStorage.setItem(n,Y()),localStorage.getItem(n)),Te=()=>q(ye),Ee=()=>q(ge),Ze=n=>n.charAt(0).toUpperCase()+n.slice(1),xe=()=>{let n=new URLSearchParams(window.location.search);return Ze(n.get("utm_source")??"")||"JoliboxSDK"},en=n=>{let e="JoliboxWebSDK",r=fe(),t=navigator.language,o=Te(),i=Ee();return`${e} (${xe()}${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 nn=0,T=class{constructor(e){this.value=e;this.id=nn++}},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={};oe(x,{None:()=>tn,filter:()=>on,once:()=>Re,toPromise:()=>rn});var tn=()=>{console.log("[Jolibox SDK] None Event")};function rn(n){return new Promise(e=>Re(n)(e))}function Re(n){return(e,r=null)=>{let t=!1;return n(i=>{if(!t)return t=!0,e.call(r,i)},null)}}function on(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 Z=Symbol.for("Jolibox.hostEmitter"),sn=()=>{let n=new E;return globalThis[Z]||(globalThis[Z]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[Z]},an=sn();function ee(n,e){let r=Math.min(n.length,e.length);for(let t=0;t<r;t++)_e(n[t],e[t])}function _e(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 ee(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=A([_],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=A([_],R);var ne=Symbol.for("Jolibox.commands");function dn(){if(globalThis[ne])return globalThis[ne];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[ne]=r,r}
|
package/dist/index.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var k=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var oe=(n,e)=>{for(var r in e)k(n,r,{get:e[r],enumerable:!0})};var g=(n,e,r,t)=>{for(var o=t>1?void 0:t?re(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&&k(e,r,o),o};function M(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function Te(n){return new Promise(e=>setTimeout(e,n))}function Re(n){return e=>new Promise((r,t)=>{n({...e,success:r,fail(o){let i=new Error(o.errMsg);t(i)}})})}function _e(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 he(){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 xe(n){return Array.isArray(n)&&n.every(e=>b(e))}function ie(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function ve(n){let e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function Ce(n){return typeof n=="object"&&Array.isArray(n)}function Ie(n){return typeof n=="number"&&!isNaN(n)}function be(n){return!!n&&typeof n[Symbol.iterator]=="function"}function Ne(n){return n===!0||n===!1}function se(n){return typeof n>"u"}function Ae(n){return!N(n)}function N(n){return se(n)||n===null}function A(n){return typeof n=="function"}function Oe(n){return ie(n)&&A(n.then)}function x(n){let e=n,r=null,t=function(...o){return r||(r=new e(...o)),r};return t.prototype=e.prototype,t}function ke(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 l=o[s],a=i[s],c=r(l,a,s,o,i);c!==void 0?o[s]=c:U(a)&&U(l)?o[s]=t({...l},a):Array.isArray(a)&&Array.isArray(l)?o[s]=[...l,...a]:o[s]=a}return o}return t(n,e)}function U(n){return n&&typeof n=="object"&&n.constructor===Object}function Le(n,e){if(Array.isArray(n))return n.concat(e)}function Ue(n,e,r={}){let t=null,o,i,s,{leading:l=!1,trailing:a=!0}=r,c=()=>(s=n.apply(i,o),o=void 0,i=void 0,s),I=function(...te){o=te,i=this;let w=l&&!t;if(t&&clearTimeout(t),t=setTimeout(()=>{t=null,a&&!w&&c()},e),w)return c()};return I.cancel=()=>{t&&clearTimeout(t),t=null,o=i=void 0},I.flush=()=>{if(t)return clearTimeout(t),t=null,c()},I}var ae=(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))(ae||{}),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}},m=class extends T{constructor(){super(...arguments);this.kind="INTERNAL_ERROR"}},f=class extends T{constructor(){super(...arguments);this.kind="USER_ERROR"}},S=class extends f{constructor(){super(...arguments);this.name="USER_VALIDATE_ERROR"}},D=class extends f{constructor(){super(...arguments);this.name="USER_GLOBAL_ERROR";this.priority="P1"}},v=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))}},F=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))}},V=class extends f{constructor(){super(...arguments);this.name="USER_CALLBACK_ERROR"}},H=class extends m{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},j=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},K=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},J=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}},G=class extends m{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},B=class extends m{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},W=class extends m{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},$=class extends m{constructor(r,t){super(r);this.message=r;this.name="INTERNAL_CONTEXT_ERROR";this.property=t}},Q=class extends T{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}}},X=class extends m{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},Y=class extends m{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function de(n,e){return(...r)=>e(n,...r)}function He(n){return e=>de(e,function(r,...t){if(typeof r=="function")try{return r.apply(this,t)}catch(o){n(new v(`${o}`))}})}function R(n){return(...e)=>{(globalThis.VConsole?.[n]??globalThis.console[n])(...e)}}var q={log:R("log"),warn:R("warn"),info:R("info"),error:R("error"),debug:R("debug")};Object.assign(globalThis,{logger:q});var Z=Symbol.for("Jolibox.canIUseMap"),me={};globalThis[Z]=me;var Be={get config(){return globalThis[Z]}};function We(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 Qe(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 l=0;l<s;l++){let a=parseInt(o[l],10)||0,c=parseInt(i[l],10)||0;if(a>c){t=1;break}else if(a<c){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 d=class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}},C=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 le=0,E=class{constructor(e){this.value=e;this.id=le++}},u=class{constructor(e){this.options=e;this._size=0}dispose(e){this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof E&&(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 E(e);this._listeners?this._listeners instanceof E?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 E?this._deliver(this._listeners,e):this._listeners.forEach(r=>this._deliver(r,e)))}hasListeners(){return this._size>0}},_=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 C,this.cachedEventQueue.set(e,o)),o.push({args:r})}}};var h={};oe(h,{None:()=>ue,filter:()=>pe,once:()=>ee,toPromise:()=>ce});var ue=()=>{console.log("[Jolibox SDK] None Event")};function ce(n){return new Promise(e=>ee(n)(e))}function ee(n){return(e,r=null)=>{let t=!1;return n(i=>{if(!t)return t=!0,e.call(r,i)},null)}}function pe(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 O=Symbol.for("Jolibox.hostEmitter"),fe=()=>{let n=new _;return globalThis[O]||(globalThis[O]={on:n.on.bind(n),off:n.off.bind(n),emit:n.emit.bind(n)}),globalThis[O]},En=fe();function ne(n,e){let r=Math.min(n.length,e.length);for(let t=0;t<r;t++)Ee(n[t],e[t])}function Ee(n,e){if(b(e)){if(typeof n!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(A(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 p=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}};p=g([x],p);var y=class{constructor(){this._onWillExecuteCommand=new u;this.onWillExecuteCommand=this._onWillExecuteCommand.event;this._onDidExecuteCommand=new u;this.onDidExecuteCommand=this._onDidExecuteCommand.event;this.registry=new p;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(),h.toPromise(h.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}}};y=g([x],y);var P=Symbol.for("Jolibox.commands");function Vn(){if(globalThis[P])return globalThis[P];let n=new p,e=new y,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[P]=r,r}export{Q as APIError,T as BaseError,L as Deferred,_ as EventEmitter,h as EventUtils,z as InternalApplyNativeError,W as InternalBufferError,$ as InternalContextError,m as InternalError,G as InternalInvokeMethodError,J as InternalInvokeNativeError,B as InternalJSCoreNotFoundError,K as InternalJSModuleEvalError,j as InternalJSModuleFetchError,X as InternalMetricReportError,Y as InternalReporterError,H as InternalSchemaParseError,ae as LoadScriptCode,x as Singleton,v as UserCustomError,f as UserError,F as UserFetchError,V as UserFunctionEvalError,D as UserGlobalError,S as UserValidateError,Be as canIUseConfig,Qe as compareVersion,Vn as createCommands,he as createRunTaskQueue,Ue as debounce,We as get,En as hostEmitter,Ce as isArray,Ne as isBoolean,Ae as isDefined,A as isFunction,be as isIterable,Ie as isNumber,ie as isObject,Oe as isPromiseLike,b as isString,xe as isStringArray,ve as isTypedArray,se as isUndefined,N as isUndefinedOrNull,q as logger,Le as mergeArray,ke as mergeWith,_e as microTask,Re as promisifyAPI,Te as sleep,M as timeout,Ee as validateConstraint,ne as validateConstraints,He as wrapUserFunction};
|
|
1
|
+
var U=Object.defineProperty;var de=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?de(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 L(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}function Se(n){return new Promise(e=>setTimeout(e,n))}function Le(n){return e=>new Promise((r,t)=>{n({...e,success:r,fail(o){let i=new Error(o.errMsg);t(i)}})})}function De(n){if(n)Promise.resolve().then(n);else return Promise.resolve()}var S=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 Ve(){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 He(n){return Array.isArray(n)&&n.every(e=>N(e))}function le(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 je(n){return typeof n=="object"&&Array.isArray(n)}function $e(n){return typeof n=="number"&&!isNaN(n)}function ze(n){return!!n&&typeof n[Symbol.iterator]=="function"}function Ge(n){return n===!0||n===!1}function ce(n){return typeof n>"u"}function Je(n){return!O(n)}function O(n){return ce(n)||n===null}function w(n){return typeof n=="function"}function We(n){return le(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 Xe(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 l=o[s],a=i[s],p=r(l,a,s,o,i);p!==void 0?o[s]=p:D(a)&&D(l)?o[s]=t({...l},a):Array.isArray(a)&&Array.isArray(l)?o[s]=[...l,...a]:o[s]=a}return o}return t(n,e)}function D(n){return n&&typeof n=="object"&&n.constructor===Object}function Ye(n,e){if(Array.isArray(n))return n.concat(e)}function Ze(n,e,r={}){let t=null,o,i,s,{leading:l=!1,trailing:a=!0}=r,p=()=>(s=n.apply(i,o),o=void 0,i=void 0,s),m=function(...ae){o=ae,i=this;let M=l&&!t;if(t&&clearTimeout(t),t=setTimeout(()=>{t=null,a&&!M&&p()},e),M)return p()};return m.cancel=()=>{t&&clearTimeout(t),t=null,o=i=void 0},m.flush=()=>{if(t)return clearTimeout(t),t=null,p()},m}var ue=(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))(ue||{}),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}},c=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 c{constructor(){super(...arguments);this.name="INTERNAL_SCHEMA_PARSE_ERROR";this.priority="P0"}},$=class extends c{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_FETCH_ERROR";this.priority="P0"}},z=class extends c{constructor(){super(...arguments);this.name="INTERNAL_JS_MODULE_EVAL_ERROR";this.priority="P0"}},G=class extends c{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},J=class extends c{constructor(r,t,o,i){super(r);this.errNo=t;this.name="INTERNAL_APPLY_NATIVE_ERROR";this.errorType=o,this.errorCode=i}},W=class extends c{constructor(){super(...arguments);this.name="INTERNAL_INVOKE_METHOD_ERROR"}},B=class extends c{constructor(){super(...arguments);this.name="INTERNAL_JSCORE_ERROR";this.priority="P0"}},Q=class extends c{constructor(){super(...arguments);this.name="INTERNAL_BUFFER_ERROR"}},X=class extends c{constructor(r,t){super(r);this.message=r;this.name="INTERNAL_CONTEXT_ERROR";this.property=t}},Y=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}}},q=class extends c{constructor(){super(...arguments);this.name="INTERNAL_METRIC_REPORT_ERROR"}},Z=class extends c{constructor(){super(...arguments);this.name="INTERNAL_REPORTER_ERROR"}};function pe(n,e){return(...r)=>e(n,...r)}function on(n){return e=>pe(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 ee={log:x("log"),warn:x("warn"),info:x("info"),error:x("error"),debug:x("debug")};Object.assign(globalThis,{logger:ee});var ne=Symbol.for("Jolibox.canIUseMap"),fe={};globalThis[ne]=fe;var cn={get config(){return globalThis[ne]}};function un(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 fn(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 l=0;l<s;l++){let a=parseInt(o[l],10)||0,p=parseInt(i[l],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 ye=(t=>(t[t.System=1e3]="System",t[t.ErrorTrace=1001]="ErrorTrace",t[t.UserDefined=1002]="UserDefined",t))(ye||{}),ge=(i=>(i.MiniGame="mini-game",i.MiniDrama="mini-drama",i.App="app",i.WebSDK="web-sdk",i.AppSDK="app-sdk",i))(ge||{}),Te=(m=>(m[m.App=0]="App",m[m.H5=1]="H5",m[m.Weapp=2]="Weapp",m[m.Alipay=3]="Alipay",m[m.Gcash=4]="Gcash",m[m.Dana=5]="Dana",m[m.Umma=6]="Umma",m[m.WebSDK=1e3]="WebSDK",m[m.AppSDK=1001]="AppSDK",m[m.Other=9999]="Other",m))(Te||{}),te=["name","params"],Ee=["name","type","location","target","extra","timestamp","userId"],xe=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];function C(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 Re(n){let e=n.location?C(n.location,te):null,r=n.target?C(n.target,te):null;return C({...n,location:e,target:r},Ee)}function gn(n){let e=n.events.map(t=>Re(t)),r=C(n.device,xe);return[n.protocolVersion,e,r,n.project]}var re=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),En=n=>/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i.test(n);var A={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=()=>A.isiOS?"iOS":A.isAndroid?"Android":A.isMac?"Mac":A.isFacebook?"Facebook":"PC",he="device_id",ve="advertising_id",oe=n=>(localStorage.getItem(n)||localStorage.setItem(n,re()),localStorage.getItem(n)),Ie=()=>oe(he),Ce=()=>oe(ve),Ae=n=>n.charAt(0).toUpperCase()+n.slice(1),be=()=>{let n=new URLSearchParams(window.location.search);return Ae(n.get("utm_source")??"")||"JoliboxSDK"},_n=n=>{let e="JoliboxWebSDK",r=_e(),t=navigator.language,o=Ie(),i=Ce();return`${e} (${be()}${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 Ne=0,g=class{constructor(e){this.value=e;this.id=Ne++}},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:()=>Oe,filter:()=>Pe,once:()=>ie,toPromise:()=>we});var Oe=()=>{console.log("[Jolibox SDK] None Event")};function we(n){return new Promise(e=>ie(n)(e))}function ie(n){return(e,r=null)=>{let t=!1;return n(i=>{if(!t)return t=!0,e.call(r,i)},null)}}function Pe(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"),ke=()=>{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]},$n=ke();function se(n,e){let r=Math.min(n.length,e.length);for(let t=0;t<r;t++)Me(n[t],e[t])}function Me(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 se(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=L(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 pt(){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{ve as ADVERTISING_ID,Y as APIError,E as BaseError,he as DEVICE_ID,S as Deferred,Te as EPlatform,ge as EProject,R as EventEmitter,ye as EventType,_ as EventUtils,J as InternalApplyNativeError,Q as InternalBufferError,X as InternalContextError,c as InternalError,W as InternalInvokeMethodError,G as InternalInvokeNativeError,B as InternalJSCoreNotFoundError,z as InternalJSModuleEvalError,$ as InternalJSModuleFetchError,q as InternalMetricReportError,Z as InternalReporterError,j as InternalSchemaParseError,ue as LoadScriptCode,v as Singleton,I as UserCustomError,y as UserError,H as UserFetchError,K as UserFunctionEvalError,F as UserGlobalError,V as UserValidateError,cn as canIUseConfig,fn as compareVersion,pt as createCommands,Ve as createRunTaskQueue,Ze as debounce,un as get,Ce as getAdvertisingId,Ie as getDeviceId,_e as getPlatform,oe as getStorage,be as getUtmSource,$n as hostEmitter,je as isArray,Ge as isBoolean,Je as isDefined,w as isFunction,ze as isIterable,$e as isNumber,le as isObject,We as isPromiseLike,N as isString,He as isStringArray,Ke as isTypedArray,ce as isUndefined,O as isUndefinedOrNull,En as isValidUUIDV4,ee as logger,Ye as mergeArray,Xe as mergeWith,De as microTask,A as platform,Le as promisifyAPI,gn as serializeEventPackage,Se as sleep,L as timeout,re as uuidv4,Me as validateConstraint,se as validateConstraints,on as wrapUserFunction,_n as xUserAgent};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare enum EventType {
|
|
2
|
+
System = 1000,// used for web sdk
|
|
3
|
+
ErrorTrace = 1001,// used for web sdk
|
|
4
|
+
UserDefined = 1002
|
|
5
|
+
}
|
|
6
|
+
export interface IPage {
|
|
7
|
+
name: string;
|
|
8
|
+
params: Record<string, string | boolean | number | null> | null;
|
|
9
|
+
}
|
|
10
|
+
export interface IEvent {
|
|
11
|
+
name: string;
|
|
12
|
+
type: EventType;
|
|
13
|
+
location: IPage | null;
|
|
14
|
+
target: IPage | null;
|
|
15
|
+
extra: Record<string, string | boolean | number | null> | null;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
userId: string | null;
|
|
18
|
+
}
|
|
19
|
+
export declare enum EProject {
|
|
20
|
+
MiniGame = "mini-game",
|
|
21
|
+
MiniDrama = "mini-drama",
|
|
22
|
+
App = "app",
|
|
23
|
+
WebSDK = "web-sdk",
|
|
24
|
+
AppSDK = "app-sdk"
|
|
25
|
+
}
|
|
26
|
+
export declare enum EPlatform {
|
|
27
|
+
App = 0,
|
|
28
|
+
H5 = 1,
|
|
29
|
+
Weapp = 2,
|
|
30
|
+
Alipay = 3,
|
|
31
|
+
Gcash = 4,
|
|
32
|
+
Dana = 5,
|
|
33
|
+
Umma = 6,
|
|
34
|
+
WebSDK = 1000,
|
|
35
|
+
AppSDK = 1001,
|
|
36
|
+
Other = 9999
|
|
37
|
+
}
|
|
38
|
+
export interface IDevice {
|
|
39
|
+
platform: EPlatform;
|
|
40
|
+
os: string;
|
|
41
|
+
appVersion: string;
|
|
42
|
+
appId: string;
|
|
43
|
+
model: string;
|
|
44
|
+
brand: string;
|
|
45
|
+
uuid: string;
|
|
46
|
+
jsSdkVersion: string | null;
|
|
47
|
+
extra: Record<string, string | boolean | number | null> | null;
|
|
48
|
+
}
|
|
49
|
+
export interface IEventPackage {
|
|
50
|
+
protocolVersion: string;
|
|
51
|
+
events: IEvent[];
|
|
52
|
+
device: IDevice;
|
|
53
|
+
project: EProject;
|
|
54
|
+
}
|
|
55
|
+
export declare function serializeEventPackage(eventPackage: IEventPackage): any[];
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const platform: {
|
|
2
|
+
isiOS: boolean;
|
|
3
|
+
iosVersion: () => number[];
|
|
4
|
+
isAndroid: boolean;
|
|
5
|
+
isMac: boolean;
|
|
6
|
+
isFacebook: boolean;
|
|
7
|
+
isPC: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const getPlatform: () => "Android" | "Mac" | "iOS" | "Facebook" | "PC";
|
|
10
|
+
export declare const DEVICE_ID = "device_id";
|
|
11
|
+
export declare const ADVERTISING_ID = "advertising_id";
|
|
12
|
+
export declare const getStorage: (cookieKey: string) => string;
|
|
13
|
+
export declare const getDeviceId: () => string;
|
|
14
|
+
export declare const getAdvertisingId: () => string;
|
|
15
|
+
export declare const getUtmSource: () => string;
|
|
16
|
+
export declare const xUserAgent: (appVersion: string) => string;
|
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-beta.
|
|
4
|
+
"version": "1.1.4-beta.12",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.es.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"README.md"
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@jolibox/types": "1.1.4-beta.
|
|
14
|
+
"@jolibox/types": "1.1.4-beta.12"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"typescript": "5.7.3",
|