@ohbug/core 2.0.2 → 2.0.3

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.js CHANGED
@@ -1,5 +1,5 @@
1
- var _=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames,U=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var v=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t)=>{for(var n in t||(t={}))N.call(t,n)&&v(e,n,t[n]);if(U)for(var n of U(t))$.call(t,n)&&v(e,n,t[n]);return e};var B=(e,t)=>{for(var n in t)_(e,n,{get:t[n],enumerable:!0})},H=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of J(t))!N.call(e,i)&&i!==n&&_(e,i,{get:()=>t[i],enumerable:!(r=F(t,i))||r.enumerable});return e};var q=e=>H(_({},"__esModule",{value:!0}),e);var Z={};B(Z,{Client:()=>Y,EventTypes:()=>K,createExtensionUI:()=>Q,defineExtension:()=>z,isEvent:()=>M});module.exports=q(Z);var m=require("@ohbug/utils");var u=require("@ohbug/utils"),V={apiKey:{defaultValue:void 0,message:"is required",validate:e=>Boolean(e)&&(0,u.isString)(e)},appVersion:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},appType:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},releaseStage:{defaultValue:"production",message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},endpoint:{defaultValue:"http://localhost:6660",message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},maxActions:{defaultValue:30,message:"should be a number between 0 and 100",validate:e=>e===void 0||(0,u.isNumber)(e)&&e>=1&&e<=100},onEvent:{defaultValue:e=>e,message:"should be a function",validate:e=>e===void 0||(0,u.isFunction)(e)},onNotify:{defaultValue:()=>{},message:"should be a function",validate:e=>e===void 0||(0,u.isFunction)(e)},logger:{defaultValue:u.logger,message:"should be null or an object with methods { log, info, warn, error }",validate:e=>e===void 0||e&&["log","info","warn","error"].reduce((t,n)=>t&&typeof e[n]=="function",!0)},user:{defaultValue:void 0,message:"should be an object and have up to 6 attributes",validate:e=>e===void 0||(0,u.isObject)(e)&&Object.keys(e).length<=6},metaData:{defaultValue:void 0,message:"should be an object",validate:e=>e===void 0||(0,u.isObject)(e)}};var c=require("@ohbug/utils");var p=class{type;timestamp;message;data;constructor(t,n,r,i){this.type=r,this.timestamp=i||new Date().toISOString(),this.message=t,this.data=n}};function W(e,t){return new Error(`Invalid configuration
1
+ var _=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames,U=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var v=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t)=>{for(var n in t||(t={}))N.call(t,n)&&v(e,n,t[n]);if(U)for(var n of U(t))$.call(t,n)&&v(e,n,t[n]);return e};var B=(e,t)=>{for(var n in t)_(e,n,{get:t[n],enumerable:!0})},H=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of J(t))!N.call(e,i)&&i!==n&&_(e,i,{get:()=>t[i],enumerable:!(r=F(t,i))||r.enumerable});return e};var q=e=>H(_({},"__esModule",{value:!0}),e);var Z={};B(Z,{Client:()=>Y,EventTypes:()=>K,createExtensionUI:()=>Q,defineExtension:()=>z,isEvent:()=>R});module.exports=q(Z);var m=require("@ohbug/utils");var u=require("@ohbug/utils"),V={apiKey:{defaultValue:void 0,message:"is required",validate:e=>Boolean(e)&&(0,u.isString)(e)},appVersion:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},appType:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},releaseStage:{defaultValue:"production",message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},endpoint:{defaultValue:"http://localhost:6660",message:"should be a string",validate:e=>e===void 0||(0,u.isString)(e)},maxActions:{defaultValue:30,message:"should be a number between 0 and 100",validate:e=>e===void 0||(0,u.isNumber)(e)&&e>=1&&e<=100},onEvent:{defaultValue:e=>e,message:"should be a function",validate:e=>e===void 0||(0,u.isFunction)(e)},onNotify:{defaultValue:()=>{},message:"should be a function",validate:e=>e===void 0||(0,u.isFunction)(e)},logger:{defaultValue:u.logger,message:"should be null or an object with methods { log, info, warn, error }",validate:e=>e===void 0||e&&["log","info","warn","error"].reduce((t,n)=>t&&typeof e[n]=="function",!0)},user:{defaultValue:void 0,message:"should be an object and have up to 6 attributes",validate:e=>e===void 0||(0,u.isObject)(e)&&Object.keys(e).length<=6},metadata:{defaultValue:void 0,message:"should be an object",validate:e=>e===void 0||(0,u.isObject)(e)}};var c=require("@ohbug/utils");var p=class{type;timestamp;message;data;constructor(t,n,r,i){this.type=r,this.timestamp=i||new Date().toISOString(),this.message=t,this.data=n}};function W(e,t){return new Error(`Invalid configuration
2
2
  ${Object.keys(e).map(n=>`- ${n} ${e[n]}, got ${JSON.stringify(t[n])}`).join(`
3
3
  `)}
4
4
  `)}function y(e,t){return new Error(`Invalid data
5
- - ${e}, got ${JSON.stringify(t)}`)}function D(e,t,n){!t||(e[t]=n)}function E(e,t){if(e[t])return e[t]}function C(e,t){if(e[t])return delete e[t]}var S=class{apiKey;appVersion;appType;timestamp;category;type;sdk;device;detail;user;actions;metaData;releaseStage;__client;constructor(t,n){let{apiKey:r,appVersion:i,appType:o,releaseStage:a,timestamp:h,category:g,type:d,sdk:f,detail:b,device:R,user:x,actions:G,metaData:A}=t;this.apiKey=r,this.appVersion=i,this.appType=o,this.releaseStage=a,this.timestamp=h,this.category=g,this.type=d,this.sdk=f,this.detail=b,this.device=R,this.user=x,this.actions=G,this.metaData=A!=null?A:{},this.__client=n}get __isOhbugEvent(){return!0}addAction(t,n,r,i){var f,b;let o=this.actions,a=(0,c.isString)(t)?t:"",h=n||{},g=(0,c.isString)(r)?r:"",d=new p(a,h,g,i);o.length>=((b=(f=this.__client)==null?void 0:f.__config.maxActions)!=null?b:30)&&o.shift(),o.push(d)}getUser(){return this.user}setUser(t){var n;if((0,c.isObject)(t)&&Object.keys(t).length<=6)return this.user=O(O({},this.user),t),this.getUser();(n=this.__client)==null||n.__logger.error(y("setUser should be an object and have up to 6 attributes",t))}addMetaData(t,n){return D(this.metaData,t,n)}getMetaData(t){return E(this.metaData,t)}deleteMetaData(t){return C(this.metaData,t)}toJSON(){let{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:h,device:g,detail:d,user:f,actions:b,metaData:R,releaseStage:x}=this;return{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:h,device:g,detail:d,user:f,actions:b,metaData:R,releaseStage:x}}};function w(e,t){let{apiKey:n,appVersion:r,appType:i,releaseStage:o}=t.__config,a=new Date().toISOString(),h=t.__device(t),g,d,f;return(0,c.isObject)(e)&&Object.prototype.hasOwnProperty.call(e,"type")&&Object.prototype.hasOwnProperty.call(e,"detail")?(g=e.category||"error",d=e.type,f=e.detail):(g="error",d="unknownError",f=e),new S({apiKey:n,appVersion:r,appType:i,timestamp:a,category:g,type:d,sdk:t.__sdk,device:h,user:t.__user,detail:f,actions:t.__actions,metaData:t.__metaData,releaseStage:o},t)}function j(e,t){let n=[t.__config.onEvent,...t.__extensions.map(({onEvent:r})=>r)].filter(r=>(0,c.isFunction)(r));return n.length===0?e:n.reduce((r,i)=>r&&(0,c.isFunction)(i)?i(r,t):null,e)}function M(e){return Boolean(e==null?void 0:e.__isOhbugEvent)}var I=require("@ohbug/utils");function X(e,t){[t.__config.onNotify,...t.__extensions.filter(({onNotify:r})=>(0,I.isFunction)(r)).map(({onNotify:r})=>r)].forEach(r=>r==null?void 0:r(e,t))}async function k(e,t){try{let n=null;return e&&(n=await t.__notifier(e),X(e,t)),n}catch(n){t.__logger.error(n)}}function P(e,t){return Object.keys(t).reduce((r,i)=>{let o=e[i],{defaultValue:a,message:h,validate:g}=t[i];return o!==void 0?g(o)?r.config[i]=o:(r.config[i]=a,r.errors[i]=h):r.config[i]=a,r},{config:{},errors:{}})}var Y=class{__sdk;__config;__logger;__device;__notifier;__extensions;__actions;__user;__metaData;constructor({sdk:t,config:n,schema:r=V,device:i,notifier:o}){let{config:a,errors:h}=P(n,r);this.__sdk=t,this.__config=a,this.__logger=a.logger,this.__device=i,this.__notifier=o,this.__extensions=[],this.__actions=[],this.__user=a.user,this.__metaData={},(0,m.isObject)(a.metaData)&&Object.keys(a.metaData).forEach(g=>{this.addMetaData(g,a.metaData[g])}),Object.keys(h).length&&this.__logger.warn(W(h,n))}use(t){var n;return this.__extensions.push(t),(n=t.setup)==null||n.call(t,this),this}createEvent(t){let n=w(t,this);return j(n,this)}notify(t,n){let r;return Boolean(t)&&!M(t)?r=this.createEvent(t):r=t,n&&(r=n(r)),k(r,this)}addAction(t,n,r,i){let o=this.__actions,a=(0,m.isString)(t)?t:"",h=n||{},g=(0,m.isString)(r)?r:"",d=new p(a,h,g,i);o.length>=this.__config.maxActions&&o.shift(),o.push(d)}getUser(){return this.__user}setUser(t){if((0,m.isObject)(t)&&Object.keys(t).length<=6)return this.__user=O(O({},this.__user),t),this.getUser();this.__logger.warn(y("setUser should be an object and have up to 6 attributes",t))}addMetaData(t,n){return D(this.__metaData,t,n)}getMetaData(t){return E(this.__metaData,t)}deleteMetaData(t){return C(this.__metaData,t)}};function z(e){return e}function Q(e){return e}var K=(s=>(s.UNCAUGHT_ERROR="uncaughtError",s.RESOURCE_ERROR="resourceError",s.UNHANDLEDREJECTION_ERROR="unhandledrejectionError",s.AJAX_ERROR="ajaxError",s.FETCH_ERROR="fetchError",s.WEBSOCKET_ERROR="websocketError",s.UNKNOWN_ERROR="unknownError",s.MESSAGE="message",s.FEEDBACK="feedback",s.VIEW="view",s.REACT="react",s.VUE="vue",s.ANGULAR="angular",s.MINIAPP_ERROR="miniappError",s.MINIAPP_UNHANDLEDREJECTION_ERROR="miniappUnhandledrejectionError",s.MINIAPP_PAGENOTFOUND_ERROR="miniappPagenotfoundError",s.MINIAPP_MEMORYWARNING_ERROR="miniappMemorywarningError",s))(K||{});0&&(module.exports={Client,EventTypes,createExtensionUI,defineExtension,isEvent});
5
+ - ${e}, got ${JSON.stringify(t)}`)}function E(e,t,n){!t||(e[t]=n)}function C(e,t){if(e[t])return e[t]}function M(e,t){if(e[t])return delete e[t]}var S=class{apiKey;appVersion;appType;timestamp;category;type;sdk;device;detail;user;actions;metadata;releaseStage;__client;constructor(t,n){let{apiKey:r,appVersion:i,appType:o,releaseStage:a,timestamp:h,category:g,type:d,sdk:f,detail:b,device:D,user:x,actions:G,metadata:A}=t;this.apiKey=r,this.appVersion=i,this.appType=o,this.releaseStage=a,this.timestamp=h,this.category=g,this.type=d,this.sdk=f,this.detail=b,this.device=D,this.user=x,this.actions=G,this.metadata=A!=null?A:{},this.__client=n}get __isOhbugEvent(){return!0}addAction(t,n,r,i){var f,b;let o=this.actions,a=(0,c.isString)(t)?t:"",h=n||{},g=(0,c.isString)(r)?r:"",d=new p(a,h,g,i);o.length>=((b=(f=this.__client)==null?void 0:f.__config.maxActions)!=null?b:30)&&o.shift(),o.push(d)}getUser(){return this.user}setUser(t){var n;if((0,c.isObject)(t)&&Object.keys(t).length<=6)return this.user=O(O({},this.user),t),this.getUser();(n=this.__client)==null||n.__logger.error(y("setUser should be an object and have up to 6 attributes",t))}addMetadata(t,n){return E(this.metadata,t,n)}getMetadata(t){return C(this.metadata,t)}deleteMetadata(t){return M(this.metadata,t)}toJSON(){let{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:h,device:g,detail:d,user:f,actions:b,metadata:D,releaseStage:x}=this;return{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:h,device:g,detail:d,user:f,actions:b,metadata:D,releaseStage:x}}};function w(e,t){let{apiKey:n,appVersion:r,appType:i,releaseStage:o}=t.__config,a=new Date().toISOString(),h=t.__device(t),g,d,f;return(0,c.isObject)(e)&&Object.prototype.hasOwnProperty.call(e,"type")&&Object.prototype.hasOwnProperty.call(e,"detail")?(g=e.category||"error",d=e.type,f=e.detail):(g="error",d="unknownError",f=e),new S({apiKey:n,appVersion:r,appType:i,timestamp:a,category:g,type:d,sdk:t.__sdk,device:h,user:t.__user,detail:f,actions:t.__actions,metadata:t.__metadata,releaseStage:o},t)}function j(e,t){let n=[t.__config.onEvent,...t.__extensions.map(({onEvent:r})=>r)].filter(r=>(0,c.isFunction)(r));return n.length===0?e:n.reduce((r,i)=>r&&(0,c.isFunction)(i)?i(r,t):null,e)}function R(e){return Boolean(e==null?void 0:e.__isOhbugEvent)}var I=require("@ohbug/utils");function X(e,t){[t.__config.onNotify,...t.__extensions.filter(({onNotify:r})=>(0,I.isFunction)(r)).map(({onNotify:r})=>r)].forEach(r=>r==null?void 0:r(e,t))}async function k(e,t){try{let n=null;return e&&(n=await t.__notifier(e),X(e,t)),n}catch(n){t.__logger.error(n)}}function P(e,t){return Object.keys(t).reduce((r,i)=>{let o=e[i],{defaultValue:a,message:h,validate:g}=t[i];return o!==void 0?g(o)?r.config[i]=o:(r.config[i]=a,r.errors[i]=h):r.config[i]=a,r},{config:{},errors:{}})}var Y=class{__sdk;__config;__logger;__device;__notifier;__extensions;__actions;__user;__metadata;constructor({sdk:t,config:n,schema:r=V,device:i,notifier:o}){let{config:a,errors:h}=P(n,r);this.__sdk=t,this.__config=a,this.__logger=a.logger,this.__device=i,this.__notifier=o,this.__extensions=[],this.__actions=[],this.__user=a.user,this.__metadata={},(0,m.isObject)(a.metadata)&&Object.keys(a.metadata).forEach(g=>{this.addMetadata(g,a.metadata[g])}),Object.keys(h).length&&this.__logger.warn(W(h,n))}use(t){var n;return this.__extensions.push(t),(n=t.setup)==null||n.call(t,this),this}createEvent(t){let n=w(t,this);return j(n,this)}notify(t,n){let r;return Boolean(t)&&!R(t)?r=this.createEvent(t):r=t,n&&(r=n(r)),k(r,this)}addAction(t,n,r,i){let o=this.__actions,a=(0,m.isString)(t)?t:"",h=n||{},g=(0,m.isString)(r)?r:"",d=new p(a,h,g,i);o.length>=this.__config.maxActions&&o.shift(),o.push(d)}getUser(){return this.__user}setUser(t){if((0,m.isObject)(t)&&Object.keys(t).length<=6)return this.__user=O(O({},this.__user),t),this.getUser();this.__logger.warn(y("setUser should be an object and have up to 6 attributes",t))}addMetadata(t,n){return E(this.__metadata,t,n)}getMetadata(t){return C(this.__metadata,t)}deleteMetadata(t){return M(this.__metadata,t)}};function z(e){return e}function Q(e){return e}var K=(s=>(s.UNCAUGHT_ERROR="uncaughtError",s.RESOURCE_ERROR="resourceError",s.UNHANDLEDREJECTION_ERROR="unhandledrejectionError",s.AJAX_ERROR="ajaxError",s.FETCH_ERROR="fetchError",s.WEBSOCKET_ERROR="websocketError",s.UNKNOWN_ERROR="unknownError",s.MESSAGE="message",s.FEEDBACK="feedback",s.VIEW="view",s.REACT="react",s.VUE="vue",s.ANGULAR="angular",s.MINIAPP_ERROR="miniappError",s.MINIAPP_UNHANDLEDREJECTION_ERROR="miniappUnhandledrejectionError",s.MINIAPP_PAGENOTFOUND_ERROR="miniappPagenotfoundError",s.MINIAPP_MEMORYWARNING_ERROR="miniappMemorywarningError",s))(K||{});0&&(module.exports={Client,EventTypes,createExtensionUI,defineExtension,isEvent});
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- var $=Object.defineProperty;var A=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var S=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))B.call(t,n)&&S(e,n,t[n]);if(A)for(var n of A(t))H.call(t,n)&&S(e,n,t[n]);return e};import{isObject as G,isString as F}from"@ohbug/utils";import{isFunction as U,isNumber as q,isObject as v,isString as p,logger as X}from"@ohbug/utils";var N={apiKey:{defaultValue:void 0,message:"is required",validate:e=>Boolean(e)&&p(e)},appVersion:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||p(e)},appType:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||p(e)},releaseStage:{defaultValue:"production",message:"should be a string",validate:e=>e===void 0||p(e)},endpoint:{defaultValue:"http://localhost:6660",message:"should be a string",validate:e=>e===void 0||p(e)},maxActions:{defaultValue:30,message:"should be a number between 0 and 100",validate:e=>e===void 0||q(e)&&e>=1&&e<=100},onEvent:{defaultValue:e=>e,message:"should be a function",validate:e=>e===void 0||U(e)},onNotify:{defaultValue:()=>{},message:"should be a function",validate:e=>e===void 0||U(e)},logger:{defaultValue:X,message:"should be null or an object with methods { log, info, warn, error }",validate:e=>e===void 0||e&&["log","info","warn","error"].reduce((t,n)=>t&&typeof e[n]=="function",!0)},user:{defaultValue:void 0,message:"should be an object and have up to 6 attributes",validate:e=>e===void 0||v(e)&&Object.keys(e).length<=6},metaData:{defaultValue:void 0,message:"should be an object",validate:e=>e===void 0||v(e)}};import{isFunction as W,isObject as j,isString as w}from"@ohbug/utils";var O=class{type;timestamp;message;data;constructor(t,n,r,i){this.type=r,this.timestamp=i||new Date().toISOString(),this.message=t,this.data=n}};function V(e,t){return new Error(`Invalid configuration
1
+ var $=Object.defineProperty;var A=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var S=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))B.call(t,n)&&S(e,n,t[n]);if(A)for(var n of A(t))H.call(t,n)&&S(e,n,t[n]);return e};import{isObject as G,isString as F}from"@ohbug/utils";import{isFunction as U,isNumber as q,isObject as v,isString as p,logger as X}from"@ohbug/utils";var N={apiKey:{defaultValue:void 0,message:"is required",validate:e=>Boolean(e)&&p(e)},appVersion:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||p(e)},appType:{defaultValue:void 0,message:"should be a string",validate:e=>e===void 0||p(e)},releaseStage:{defaultValue:"production",message:"should be a string",validate:e=>e===void 0||p(e)},endpoint:{defaultValue:"http://localhost:6660",message:"should be a string",validate:e=>e===void 0||p(e)},maxActions:{defaultValue:30,message:"should be a number between 0 and 100",validate:e=>e===void 0||q(e)&&e>=1&&e<=100},onEvent:{defaultValue:e=>e,message:"should be a function",validate:e=>e===void 0||U(e)},onNotify:{defaultValue:()=>{},message:"should be a function",validate:e=>e===void 0||U(e)},logger:{defaultValue:X,message:"should be null or an object with methods { log, info, warn, error }",validate:e=>e===void 0||e&&["log","info","warn","error"].reduce((t,n)=>t&&typeof e[n]=="function",!0)},user:{defaultValue:void 0,message:"should be an object and have up to 6 attributes",validate:e=>e===void 0||v(e)&&Object.keys(e).length<=6},metadata:{defaultValue:void 0,message:"should be an object",validate:e=>e===void 0||v(e)}};import{isFunction as W,isObject as j,isString as w}from"@ohbug/utils";var O=class{type;timestamp;message;data;constructor(t,n,r,i){this.type=r,this.timestamp=i||new Date().toISOString(),this.message=t,this.data=n}};function V(e,t){return new Error(`Invalid configuration
2
2
  ${Object.keys(e).map(n=>`- ${n} ${e[n]}, got ${JSON.stringify(t[n])}`).join(`
3
3
  `)}
4
4
  `)}function m(e,t){return new Error(`Invalid data
5
- - ${e}, got ${JSON.stringify(t)}`)}function _(e,t,n){!t||(e[t]=n)}function y(e,t){if(e[t])return e[t]}function D(e,t){if(e[t])return delete e[t]}var R=class{apiKey;appVersion;appType;timestamp;category;type;sdk;device;detail;user;actions;metaData;releaseStage;__client;constructor(t,n){let{apiKey:r,appVersion:i,appType:o,releaseStage:a,timestamp:u,category:g,type:h,sdk:d,detail:c,device:E,user:C,actions:J,metaData:M}=t;this.apiKey=r,this.appVersion=i,this.appType=o,this.releaseStage=a,this.timestamp=u,this.category=g,this.type=h,this.sdk=d,this.detail=c,this.device=E,this.user=C,this.actions=J,this.metaData=M!=null?M:{},this.__client=n}get __isOhbugEvent(){return!0}addAction(t,n,r,i){var d,c;let o=this.actions,a=w(t)?t:"",u=n||{},g=w(r)?r:"",h=new O(a,u,g,i);o.length>=((c=(d=this.__client)==null?void 0:d.__config.maxActions)!=null?c:30)&&o.shift(),o.push(h)}getUser(){return this.user}setUser(t){var n;if(j(t)&&Object.keys(t).length<=6)return this.user=b(b({},this.user),t),this.getUser();(n=this.__client)==null||n.__logger.error(m("setUser should be an object and have up to 6 attributes",t))}addMetaData(t,n){return _(this.metaData,t,n)}getMetaData(t){return y(this.metaData,t)}deleteMetaData(t){return D(this.metaData,t)}toJSON(){let{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:u,device:g,detail:h,user:d,actions:c,metaData:E,releaseStage:C}=this;return{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:u,device:g,detail:h,user:d,actions:c,metaData:E,releaseStage:C}}};function I(e,t){let{apiKey:n,appVersion:r,appType:i,releaseStage:o}=t.__config,a=new Date().toISOString(),u=t.__device(t),g,h,d;return j(e)&&Object.prototype.hasOwnProperty.call(e,"type")&&Object.prototype.hasOwnProperty.call(e,"detail")?(g=e.category||"error",h=e.type,d=e.detail):(g="error",h="unknownError",d=e),new R({apiKey:n,appVersion:r,appType:i,timestamp:a,category:g,type:h,sdk:t.__sdk,device:u,user:t.__user,detail:d,actions:t.__actions,metaData:t.__metaData,releaseStage:o},t)}function k(e,t){let n=[t.__config.onEvent,...t.__extensions.map(({onEvent:r})=>r)].filter(r=>W(r));return n.length===0?e:n.reduce((r,i)=>r&&W(i)?i(r,t):null,e)}function x(e){return Boolean(e==null?void 0:e.__isOhbugEvent)}import{isFunction as Y}from"@ohbug/utils";function z(e,t){[t.__config.onNotify,...t.__extensions.filter(({onNotify:r})=>Y(r)).map(({onNotify:r})=>r)].forEach(r=>r==null?void 0:r(e,t))}async function P(e,t){try{let n=null;return e&&(n=await t.__notifier(e),z(e,t)),n}catch(n){t.__logger.error(n)}}function K(e,t){return Object.keys(t).reduce((r,i)=>{let o=e[i],{defaultValue:a,message:u,validate:g}=t[i];return o!==void 0?g(o)?r.config[i]=o:(r.config[i]=a,r.errors[i]=u):r.config[i]=a,r},{config:{},errors:{}})}var _t=class{__sdk;__config;__logger;__device;__notifier;__extensions;__actions;__user;__metaData;constructor({sdk:t,config:n,schema:r=N,device:i,notifier:o}){let{config:a,errors:u}=K(n,r);this.__sdk=t,this.__config=a,this.__logger=a.logger,this.__device=i,this.__notifier=o,this.__extensions=[],this.__actions=[],this.__user=a.user,this.__metaData={},G(a.metaData)&&Object.keys(a.metaData).forEach(g=>{this.addMetaData(g,a.metaData[g])}),Object.keys(u).length&&this.__logger.warn(V(u,n))}use(t){var n;return this.__extensions.push(t),(n=t.setup)==null||n.call(t,this),this}createEvent(t){let n=I(t,this);return k(n,this)}notify(t,n){let r;return Boolean(t)&&!x(t)?r=this.createEvent(t):r=t,n&&(r=n(r)),P(r,this)}addAction(t,n,r,i){let o=this.__actions,a=F(t)?t:"",u=n||{},g=F(r)?r:"",h=new O(a,u,g,i);o.length>=this.__config.maxActions&&o.shift(),o.push(h)}getUser(){return this.__user}setUser(t){if(G(t)&&Object.keys(t).length<=6)return this.__user=b(b({},this.__user),t),this.getUser();this.__logger.warn(m("setUser should be an object and have up to 6 attributes",t))}addMetaData(t,n){return _(this.__metaData,t,n)}getMetaData(t){return y(this.__metaData,t)}deleteMetaData(t){return D(this.__metaData,t)}};function Et(e){return e}function Ct(e){return e}var Q=(s=>(s.UNCAUGHT_ERROR="uncaughtError",s.RESOURCE_ERROR="resourceError",s.UNHANDLEDREJECTION_ERROR="unhandledrejectionError",s.AJAX_ERROR="ajaxError",s.FETCH_ERROR="fetchError",s.WEBSOCKET_ERROR="websocketError",s.UNKNOWN_ERROR="unknownError",s.MESSAGE="message",s.FEEDBACK="feedback",s.VIEW="view",s.REACT="react",s.VUE="vue",s.ANGULAR="angular",s.MINIAPP_ERROR="miniappError",s.MINIAPP_UNHANDLEDREJECTION_ERROR="miniappUnhandledrejectionError",s.MINIAPP_PAGENOTFOUND_ERROR="miniappPagenotfoundError",s.MINIAPP_MEMORYWARNING_ERROR="miniappMemorywarningError",s))(Q||{});export{_t as Client,Q as EventTypes,Ct as createExtensionUI,Et as defineExtension,x as isEvent};
5
+ - ${e}, got ${JSON.stringify(t)}`)}function _(e,t,n){!t||(e[t]=n)}function y(e,t){if(e[t])return e[t]}function E(e,t){if(e[t])return delete e[t]}var D=class{apiKey;appVersion;appType;timestamp;category;type;sdk;device;detail;user;actions;metadata;releaseStage;__client;constructor(t,n){let{apiKey:r,appVersion:i,appType:o,releaseStage:a,timestamp:u,category:g,type:h,sdk:d,detail:c,device:C,user:M,actions:J,metadata:R}=t;this.apiKey=r,this.appVersion=i,this.appType=o,this.releaseStage=a,this.timestamp=u,this.category=g,this.type=h,this.sdk=d,this.detail=c,this.device=C,this.user=M,this.actions=J,this.metadata=R!=null?R:{},this.__client=n}get __isOhbugEvent(){return!0}addAction(t,n,r,i){var d,c;let o=this.actions,a=w(t)?t:"",u=n||{},g=w(r)?r:"",h=new O(a,u,g,i);o.length>=((c=(d=this.__client)==null?void 0:d.__config.maxActions)!=null?c:30)&&o.shift(),o.push(h)}getUser(){return this.user}setUser(t){var n;if(j(t)&&Object.keys(t).length<=6)return this.user=b(b({},this.user),t),this.getUser();(n=this.__client)==null||n.__logger.error(m("setUser should be an object and have up to 6 attributes",t))}addMetadata(t,n){return _(this.metadata,t,n)}getMetadata(t){return y(this.metadata,t)}deleteMetadata(t){return E(this.metadata,t)}toJSON(){let{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:u,device:g,detail:h,user:d,actions:c,metadata:C,releaseStage:M}=this;return{apiKey:t,appVersion:n,appType:r,timestamp:i,category:o,type:a,sdk:u,device:g,detail:h,user:d,actions:c,metadata:C,releaseStage:M}}};function I(e,t){let{apiKey:n,appVersion:r,appType:i,releaseStage:o}=t.__config,a=new Date().toISOString(),u=t.__device(t),g,h,d;return j(e)&&Object.prototype.hasOwnProperty.call(e,"type")&&Object.prototype.hasOwnProperty.call(e,"detail")?(g=e.category||"error",h=e.type,d=e.detail):(g="error",h="unknownError",d=e),new D({apiKey:n,appVersion:r,appType:i,timestamp:a,category:g,type:h,sdk:t.__sdk,device:u,user:t.__user,detail:d,actions:t.__actions,metadata:t.__metadata,releaseStage:o},t)}function k(e,t){let n=[t.__config.onEvent,...t.__extensions.map(({onEvent:r})=>r)].filter(r=>W(r));return n.length===0?e:n.reduce((r,i)=>r&&W(i)?i(r,t):null,e)}function x(e){return Boolean(e==null?void 0:e.__isOhbugEvent)}import{isFunction as Y}from"@ohbug/utils";function z(e,t){[t.__config.onNotify,...t.__extensions.filter(({onNotify:r})=>Y(r)).map(({onNotify:r})=>r)].forEach(r=>r==null?void 0:r(e,t))}async function P(e,t){try{let n=null;return e&&(n=await t.__notifier(e),z(e,t)),n}catch(n){t.__logger.error(n)}}function K(e,t){return Object.keys(t).reduce((r,i)=>{let o=e[i],{defaultValue:a,message:u,validate:g}=t[i];return o!==void 0?g(o)?r.config[i]=o:(r.config[i]=a,r.errors[i]=u):r.config[i]=a,r},{config:{},errors:{}})}var _t=class{__sdk;__config;__logger;__device;__notifier;__extensions;__actions;__user;__metadata;constructor({sdk:t,config:n,schema:r=N,device:i,notifier:o}){let{config:a,errors:u}=K(n,r);this.__sdk=t,this.__config=a,this.__logger=a.logger,this.__device=i,this.__notifier=o,this.__extensions=[],this.__actions=[],this.__user=a.user,this.__metadata={},G(a.metadata)&&Object.keys(a.metadata).forEach(g=>{this.addMetadata(g,a.metadata[g])}),Object.keys(u).length&&this.__logger.warn(V(u,n))}use(t){var n;return this.__extensions.push(t),(n=t.setup)==null||n.call(t,this),this}createEvent(t){let n=I(t,this);return k(n,this)}notify(t,n){let r;return Boolean(t)&&!x(t)?r=this.createEvent(t):r=t,n&&(r=n(r)),P(r,this)}addAction(t,n,r,i){let o=this.__actions,a=F(t)?t:"",u=n||{},g=F(r)?r:"",h=new O(a,u,g,i);o.length>=this.__config.maxActions&&o.shift(),o.push(h)}getUser(){return this.__user}setUser(t){if(G(t)&&Object.keys(t).length<=6)return this.__user=b(b({},this.__user),t),this.getUser();this.__logger.warn(m("setUser should be an object and have up to 6 attributes",t))}addMetadata(t,n){return _(this.__metadata,t,n)}getMetadata(t){return y(this.__metadata,t)}deleteMetadata(t){return E(this.__metadata,t)}};function Ct(e){return e}function Mt(e){return e}var Q=(s=>(s.UNCAUGHT_ERROR="uncaughtError",s.RESOURCE_ERROR="resourceError",s.UNHANDLEDREJECTION_ERROR="unhandledrejectionError",s.AJAX_ERROR="ajaxError",s.FETCH_ERROR="fetchError",s.WEBSOCKET_ERROR="websocketError",s.UNKNOWN_ERROR="unknownError",s.MESSAGE="message",s.FEEDBACK="feedback",s.VIEW="view",s.REACT="react",s.VUE="vue",s.ANGULAR="angular",s.MINIAPP_ERROR="miniappError",s.MINIAPP_UNHANDLEDREJECTION_ERROR="miniappUnhandledrejectionError",s.MINIAPP_PAGENOTFOUND_ERROR="miniappPagenotfoundError",s.MINIAPP_MEMORYWARNING_ERROR="miniappMemorywarningError",s))(Q||{});export{_t as Client,Q as EventTypes,Mt as createExtensionUI,Ct as defineExtension,x as isEvent};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ohbug/core",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Responsible for managing Ohbug's workflow",
5
5
  "license": "Apache-2.0",
6
6
  "author": "chenyueban <jasonchan0527@gmail.com>",
@@ -30,8 +30,8 @@
30
30
  "access": "public"
31
31
  },
32
32
  "dependencies": {
33
- "@ohbug/types": "2.0.2",
34
- "@ohbug/utils": "2.0.2"
33
+ "@ohbug/types": "2.0.3",
34
+ "@ohbug/utils": "2.0.3"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsup",