-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEpictic.min.js
More file actions
3 lines (3 loc) · 2.36 KB
/
Epictic.min.js
File metadata and controls
3 lines (3 loc) · 2.36 KB
1
2
3
/*! @preserve Epictic - v0.0.1 - * https://github.com/bosnian
* Copyright (c) 2016 Ammar Hadzic; Licensed MIT */
var Epic={_shared:null,_lib:{_key:null,_url:null,_base:{},track:function(F,u){var t={key:this._key,content:{base:this._base,properties:u,name:F}};this._sendRequest(new XMLHttpRequest,t)},register:function(F){this._base=this._mergeObjects(this._base,F)},reset:function(){this._base={},this._key=null,this._url=null},_sendRequest:function(F,u){F.open("POST",this._url,!0),F.setRequestHeader("Content-type","application/json"),F.send(JSON.stringify(u))},_mergeObjects:function(F,u){var t={};for(var i in F)t[i]=F[i];for(var i in u)t[i]=u[i];return t}},init:function(F,u){return F&&u&&this._validateUrl(F)&&"string"==typeof u?(this._lib._url=F,this._lib._key=u,this._lib):null},initShared:function(F,u){return F&&u&&this._validateUrl(F)&&"string"==typeof u?(this._lib._url=F,this._lib._key=u,this._shared=this._lib,this._shared):null},initShared:function(F,u){return F&&u&&this._validateUrl(F)&&"string"==typeof u?(this._lib._url=F,this._lib._key=u,this._shared=this._lib,this._shared):null},shared:function(){return this._shared},_validateUrl:function(F){var u=/(localhost)./,t=/^(http?|https?):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;return t.test(F)||u.test(F)}};