@aicore/core-analytics-client-lib 1.0.10 → 1.0.11
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/README.md +0 -6
- package/dist/analytics.min.js +2 -2
- package/dist/analytics.min.js.map +1 -1
- package/package.json +6 -6
- package/src/analytics.js +2 -2
package/README.md
CHANGED
|
@@ -143,12 +143,6 @@ window.analytics.debugMode = true;
|
|
|
143
143
|
initAnalyticsSession("accountID", "appName");
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
-
To see info level logs that shows actual analytics data being sent to server, set or unset the below property:
|
|
147
|
-
```js
|
|
148
|
-
window.analytics.debugInfoLogsEnable = true;
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
|
|
152
146
|
# Contribute to core-analytics-client-lib
|
|
153
147
|
|
|
154
148
|
## Building
|
package/dist/analytics.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function initAnalyticsSession(e,t,n,o,a){let i,r,s,l,u,c,d,f,y={};const
|
|
2
|
-
typically means that you may be sending too many value events? .`),U("Sending Analytics data of length: ",n.length,"B"),e=["Sending data:",
|
|
1
|
+
function initAnalyticsSession(e,t,n,o,a){let i,r,s,l,u,c,d,f,y={};const v="aicore.analytics.userID",g="aicore.analytics.sessionID",p=1e4;let m=null;var w,h,b,C="undefined"==typeof window;let I="https://analytics.core.ai",S,D,E=0,T=!1;function U(...e){window.analytics.debugMode&&console.log("analytics client: ",...e)}function A(...e){window.analytics.debugMode&&console.error("analytics client: ",...e)}if(C)throw new Error("Node environment is not currently supported");function N(){return{schemaVersion:1,accountID:i,appName:r,uuid:s,sessionID:l,unixTimestampUTC:+new Date,numEventsTotal:0,events:{}}}function $(){if(!m)throw new Error("Please call initSession before using any analytics event")}function k(e){e.backoffCount=(e.backoffCount||0)+1,U(`Failed to call core analytics server. Will retry in ${30*e.backoffCount}s: `),setTimeout(()=>{R(e)},3e4*e.backoffCount)}function B(t){var e,n=JSON.stringify(t);n.length>p&&console.warn(`Analytics event generated is very large at greater than ${n.length}B. This
|
|
2
|
+
typically means that you may be sending too many value events? .`),U("Sending Analytics data of length: ",n.length,"B"),e=["Sending data:",t],window.analytics.debugMode&&console.info("analytics client: ",...e),window.navigator.onLine?window.fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:n}).then(e=>{200!==e.status&&(400!==e.status?k(t):console.error("Bad Request, this is most likely a problem with the library, update to latest version."))}).catch(e=>{A(e),k(t)}):k(t)}function R(e){T||(e||(e=m,E=0,L(),m=N()),0!==e.numEventsTotal&&B(e))}function L(e){S&&(clearInterval(S),S=null),e||(S=setInterval(()=>{E+=c},1e3*c))}function M(e){L(e),D&&(clearInterval(D),D=null),e||(D=setInterval(R,1e3*u))}function _(n,o,a,i=1,r=0){if(!T){var s=n,l=o,u=a,c=i,d=r;if($(),!s||!l||!u)throw new Error("missing eventType or category or subCategory");if("number"!=typeof c||c<0)throw new Error("invalid count, count should be a positive number");if("number"!=typeof d)throw new Error("invalid value, value should be a number");{s=n;l=o;u=a;let e=m.events;e[s]=e[s]||{},e[s][l]=e[s][l]||{},e[s][l][u]=e[s][l][u]||{time:[],valueCount:[]}}let t=m.events;c=t[n][o][a].time;if((0<c.length?c[c.length-1]:null)===E){d=t[n][o][a].valueCount.length-1;{var s=d,l=n,u=o,c=a,d=i,f=r;let t=m.events;var e="number"==typeof t[l][u][c].valueCount[s];if(e&&0===f)t[l][u][c].valueCount[s]+=d;else if(e&&0!==f){let e={};e[f]=d,e[0]=t[l][u][c].valueCount[s],t[l][u][c].valueCount[s]=e}else if(!e){let e=t[l][u][c].valueCount[s];e[f]=(e[f]||0)+d}m.numEventsTotal+=1}}else{if(t[n][o][a].time.push(E),0===r)t[n][o][a].valueCount.push(i);else{let e={};e[r]=i,t[n][o][a].valueCount.push(e)}m.numEventsTotal+=1}}}if(!e||!t)throw new Error("accountID and appName must exist for init");d=n?n.toString().replace(/\/$/,""):I,i=e,r=t,u=o||60,c=a||3,f=d+"/ingest",s=function(){let e=localStorage.getItem(v);return e||(e=crypto.randomUUID(),localStorage.setItem(v,e)),e}(),l=function(){let e=sessionStorage.getItem(g);return e||(e=Math.random().toString(36).substr(2,10),sessionStorage.setItem(g,e)),e}(),m=N(),M(),w=o,h=a,new Promise(t=>{var e;window.navigator.onLine?(e=d+(`/getAppConfig?accountID=${i}&appName=`+r),window.fetch(e).then(e=>{switch(e.status){case 200:return void e.json().then(e=>{t(e)}).catch(e=>{A("remote response invalid. Continuing with defaults.",e),t({})});case 400:A("Bad Request, check library version compatible?",e),t({});break;default:A("Could not update from remote config. Continuing with defaults.",e),t({})}}).catch(e=>{A("Could not update from remote config. Continuing with defaults.",e),t({})})):t({})}).then(e=>{y!=={}&&(y=e,u=w||y.postIntervalSecondsInit||60,c=h||y.granularitySecInit||3,d=y.analyticsURLInit||d||I,M(T=!0===y.disabled),U(`Init analytics Config from remote. disabled: ${T}
|
|
3
3
|
postIntervalSeconds:${u}, granularitySec: ${c} ,URL: `+d),T&&console.warn(`Core Analytics is disabled from the server for app: ${i}:`+r))});for(b of analytics._initData)_(...b);analytics._initData=[],analytics._getCurrentAnalyticsEvent=function(){return $(),JSON.parse(JSON.stringify(m))},analytics._getAppConfig=function(){return{accountID:i,appName:r,disabled:T,uuid:s,sessionID:l,postIntervalSeconds:u,granularitySec:c,analyticsURL:d,serverConfig:y}},analytics.event=_}window.analytics||(window.analytics={_initData:[],debugMode:!1}),void 0===window.crypto&&(window.crypto={}),"randomUUID"in crypto||(crypto.randomUUID=function(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))});
|
|
4
4
|
//# sourceMappingURL=analytics.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"src/analytics.js","sources":["src/analytics.js"],"names":["initAnalyticsSession","accountIDInit","appNameInit","analyticsURLInit","postIntervalSecondsInit","granularitySecInit","let","accountID","appName","userID","sessionID","postIntervalSeconds","granularitySec","analyticsURL","postURL","serverConfig","USERID_LOCAL_STORAGE_KEY","SESSION_ID_LOCAL_STORAGE_KEY","POST_LARGE_DATA_THRESHOLD_BYTES","currentAnalyticsEvent","postIntervalSecondsInitial","granularitySecInitial","eventData","IS_NODE_ENV","window","DEFAULT_BASE_URL","granularityTimer","postTimer","currentQuantisedTime","disabled","debugLog","args","analytics","debugMode","console","log","debugError","error","Error","_createAnalyticsEvent","schemaVersion","uuid","unixTimestampUTC","Date","numEventsTotal","events","_validateCurrentState","_retryPost","eventToSend","backoffCount","setTimeout","_postCurrentAnalyticsEvent","DEFAULT_RETRY_TIME_IN_SECONDS","_postEventWithRetry","textToSend","JSON","stringify","length","warn","debugInfo","
|
|
1
|
+
{"version":3,"sourceRoot":"src/analytics.js","sources":["src/analytics.js"],"names":["initAnalyticsSession","accountIDInit","appNameInit","analyticsURLInit","postIntervalSecondsInit","granularitySecInit","let","accountID","appName","userID","sessionID","postIntervalSeconds","granularitySec","analyticsURL","postURL","serverConfig","USERID_LOCAL_STORAGE_KEY","SESSION_ID_LOCAL_STORAGE_KEY","POST_LARGE_DATA_THRESHOLD_BYTES","currentAnalyticsEvent","postIntervalSecondsInitial","granularitySecInitial","eventData","IS_NODE_ENV","window","DEFAULT_BASE_URL","granularityTimer","postTimer","currentQuantisedTime","disabled","debugLog","args","analytics","debugMode","console","log","debugError","error","Error","_createAnalyticsEvent","schemaVersion","uuid","unixTimestampUTC","Date","numEventsTotal","events","_validateCurrentState","_retryPost","eventToSend","backoffCount","setTimeout","_postCurrentAnalyticsEvent","DEFAULT_RETRY_TIME_IN_SECONDS","_postEventWithRetry","textToSend","JSON","stringify","length","warn","debugInfo","info","navigator","onLine","fetch","method","headers","Content-Type","body","then","res","status","catch","_resetGranularityTimer","disable","clearInterval","setInterval","_setupTimers","event","eventType","eventCategory","subCategory","eventCount","eventValue","_validateEvent","category","count","value","_ensureAnalyticsEventExists","time","valueCount","timeArray","modificationIndex","_updateExistingAnalyticsEvent","index","newValue","storedValueIsCount","newValueCount","storedValueObject","push","toString","replace","localUserID","localStorage","getItem","crypto","randomUUID","setItem","_getOrCreateUserID","localSessionID","sessionStorage","Math","random","substr","_getOrCreateSessionID","Promise","configURL","json","serverResponse","resolve","err","updatedServerConfig","_initData","_getCurrentAnalyticsEvent","parse","_getAppConfig","c","getRandomValues","Uint8Array"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aicore/core-analytics-client-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Analytics client library for https://github.com/aicore/Core-Analytics-Server",
|
|
5
5
|
"main": "dist/analytics.min.js",
|
|
6
6
|
"type": "module",
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/aicore/core-analytics-client-lib#readme",
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@commitlint/cli": "
|
|
51
|
-
"@commitlint/config-conventional": "
|
|
52
|
-
"c8": "7.11.
|
|
50
|
+
"@commitlint/cli": "17.0.2",
|
|
51
|
+
"@commitlint/config-conventional": "17.0.2",
|
|
52
|
+
"c8": "7.11.3",
|
|
53
53
|
"chai": "4.3.6",
|
|
54
|
-
"eslint": "8.
|
|
54
|
+
"eslint": "8.16.0",
|
|
55
55
|
"husky": "7.0.4",
|
|
56
56
|
"mocha": "9.2.2",
|
|
57
57
|
"uglify-js": "3.15.5",
|
|
58
|
-
"http-server": "14.1.
|
|
58
|
+
"http-server": "14.1.1"
|
|
59
59
|
}
|
|
60
60
|
}
|
package/src/analytics.js
CHANGED
|
@@ -65,7 +65,7 @@ function initAnalyticsSession(accountIDInit, appNameInit, analyticsURLInit,
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
function debugInfo(...args) {
|
|
68
|
-
if(window.analytics.debugMode
|
|
68
|
+
if(window.analytics.debugMode){
|
|
69
69
|
console.info("analytics client: ", ...args);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -146,7 +146,7 @@ function initAnalyticsSession(accountIDInit, appNameInit, analyticsURLInit,
|
|
|
146
146
|
typically means that you may be sending too many value events? .`);
|
|
147
147
|
}
|
|
148
148
|
debugLog("Sending Analytics data of length: ", textToSend.length, "B");
|
|
149
|
-
debugInfo("Sending data:",
|
|
149
|
+
debugInfo("Sending data:", eventToSend);
|
|
150
150
|
if(!window.navigator.onLine){
|
|
151
151
|
_retryPost(eventToSend);
|
|
152
152
|
// chrome shows all network failure requests in console. In offline mode, we don't want to bomb debug
|