better-burying-point
Version:
最好的埋点解决方案,埋点业务与业务代码分离,支持框架Vue、React、Angular、小程序、原生js等项目使用
6 lines • 1.84 kB
JavaScript
/*!
* better-burying-point v1.0.1
* (c) 2019 huxing
* @license MIT
*/
var t,n;t=this,n=function(t){"use strict";var n={},e=".",r={type:function(t){return Object.prototype.toString.call(t).replace(/\[object\s|\]/g,"")},isString:function(t){return"String"===this.type(t)},isFunction:function(t){return"Function"===this.type(t)},isObject:function(t){return"Object"===this.type(t)}},i=function(t){var n=this;return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return t.apply(this,e),n.apply(this,e)}},o=function(t){var n=this;return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];var i=n.apply(this,e);return t.apply(this,e),i}},u=function(t,i){if(r.isString(t[0])){var o=function(t,n){var i=n.split(e),o=0,u=function(t){if(!r.isObject(t))return console.warn("\u8bf7\u4f7f\u7528setModule\u65b9\u6cd5\u8bbe\u7f6e\u5bf9\u8c61\u6a21\u5757"),!1;if(!i[o])return!1;var n=t[i[o]];return o++,r.isFunction(n)?n:u(n)};return u(t)}(n,t[0]);o&&(t[0]=o)}if(r.isFunction(t[0])){var u=t.slice(1);t[0].apply(this,u.concat(i))}else console.warn("\u6ca1\u6709\u627e\u5230\u6a21\u5757")};t.after=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return function(n,e,r){return r.value=o.call(r.value,(function(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];u.call(this,t,n)})),r}},t.before=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return function(n,e,r){return r.value=i.call(r.value,(function(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];u.call(this,t,n)})),r}},t.setModule=function(t){n=t},t.setSeparator=function(t){e=t},t.version="1.0.1",Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).BetterBuryingPoint={});