@cloudcare/browser-core 3.0.23 → 3.1.0
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/cjs/browser/addEventListener.js +11 -14
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/cookie.js +3 -14
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.js +8 -23
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/htmlDomUtils.js +3 -9
- package/cjs/browser/htmlDomUtils.js.map +1 -0
- package/cjs/browser/pageExitObservable.js +3 -9
- package/cjs/browser/pageExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.js +2 -4
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/scroll.js +32 -0
- package/cjs/browser/scroll.js.map +1 -0
- package/cjs/browser/xhrObservable.js +2 -21
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/configuration/configuration.js +9 -20
- package/cjs/configuration/configuration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +6 -20
- package/cjs/configuration/transportConfiguration.js.map +1 -0
- package/cjs/console/consoleObservable.js +7 -21
- package/cjs/console/consoleObservable.js.map +1 -0
- package/cjs/dataMap.js +24 -10
- package/cjs/dataMap.js.map +1 -0
- package/cjs/error/trackRuntimeError.js +3 -7
- package/cjs/error/trackRuntimeError.js.map +1 -0
- package/cjs/helper/boundedBuffer.js +2 -6
- package/cjs/helper/boundedBuffer.js.map +1 -0
- package/cjs/helper/byteUtils.js +6 -16
- package/cjs/helper/byteUtils.js.map +1 -0
- package/cjs/helper/catchUserErrors.js +2 -4
- package/cjs/helper/catchUserErrors.js.map +1 -0
- package/cjs/helper/contextHistory.js +21 -37
- package/cjs/helper/contextHistory.js.map +1 -0
- package/cjs/helper/createEventRateLimiter.js +2 -10
- package/cjs/helper/createEventRateLimiter.js.map +1 -0
- package/cjs/helper/deviceInfo.js +10 -64
- package/cjs/helper/deviceInfo.js.map +1 -0
- package/cjs/helper/display.js +2 -5
- package/cjs/helper/display.js.map +1 -0
- package/cjs/helper/enums.js +8 -2
- package/cjs/helper/enums.js.map +1 -0
- package/cjs/helper/errorTools.js +38 -40
- package/cjs/helper/errorTools.js.map +1 -0
- package/cjs/helper/eventEmitter.js +2 -6
- package/cjs/helper/eventEmitter.js.map +1 -0
- package/cjs/helper/getZoneJsOriginalValue.js +2 -5
- package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/helper/instrumentMethod.js +11 -21
- package/cjs/helper/instrumentMethod.js.map +1 -0
- package/cjs/helper/lifeCycle.js +2 -9
- package/cjs/helper/lifeCycle.js.map +1 -0
- package/cjs/helper/limitModification.js +4 -22
- package/cjs/helper/limitModification.js.map +1 -0
- package/cjs/helper/mobileUtil.js +2 -20
- package/cjs/helper/mobileUtil.js.map +1 -0
- package/cjs/helper/monitor.js +50 -0
- package/cjs/helper/monitor.js.map +1 -0
- package/cjs/helper/observable.js +2 -9
- package/cjs/helper/observable.js.map +1 -0
- package/cjs/helper/readBytesFromStream.js +8 -16
- package/cjs/helper/readBytesFromStream.js.map +1 -0
- package/cjs/helper/sanitize.js +38 -61
- package/cjs/helper/sanitize.js.map +1 -0
- package/cjs/helper/serialisation/contextManager.js +5 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -0
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/cjs/helper/serialisation/jsonStringify.js +6 -12
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
- package/cjs/helper/serialisation/rowData.js +3 -10
- package/cjs/helper/serialisation/rowData.js.map +1 -0
- package/cjs/helper/timer.js +5 -9
- package/cjs/helper/timer.js.map +1 -0
- package/cjs/helper/tools.js +58 -463
- package/cjs/helper/tools.js.map +1 -0
- package/cjs/helper/urlPolyfill.js +5 -18
- package/cjs/helper/urlPolyfill.js.map +1 -0
- package/cjs/index.js +35 -93
- package/cjs/index.js.map +1 -0
- package/cjs/init.js +24 -36
- package/cjs/init.js.map +1 -0
- package/cjs/report/reportObservable.js +8 -26
- package/cjs/report/reportObservable.js.map +1 -0
- package/cjs/session/sessionConstants.js +2 -3
- package/cjs/session/sessionConstants.js.map +1 -0
- package/cjs/session/sessionCookieStore.js +11 -46
- package/cjs/session/sessionCookieStore.js.map +1 -0
- package/cjs/session/sessionManagement.js +2 -19
- package/cjs/session/sessionManagement.js.map +1 -0
- package/cjs/session/sessionStore.js +3 -28
- package/cjs/session/sessionStore.js.map +1 -0
- package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/synthetics/usr.js +2 -8
- package/cjs/synthetics/usr.js.map +1 -0
- package/cjs/telemetry/telemetry.js +125 -0
- package/cjs/telemetry/telemetry.js.map +1 -0
- package/cjs/telemetry/types.js +17 -0
- package/cjs/telemetry/types.js.map +1 -0
- package/cjs/tracekit/computeStackTrace.js +4 -34
- package/cjs/tracekit/computeStackTrace.js.map +1 -0
- package/cjs/tracekit/index.js +2 -3
- package/cjs/tracekit/index.js.map +1 -0
- package/cjs/tracekit/tracekit.js +3 -18
- package/cjs/tracekit/tracekit.js.map +1 -0
- package/cjs/transport/batch.js +7 -56
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.js +2 -7
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.js +8 -21
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.js +8 -20
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.js +2 -6
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +4 -23
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/cjs/transport/startBatchWithReplica.js +2 -7
- package/cjs/transport/startBatchWithReplica.js.map +1 -0
- package/cjs/user/index.js +2 -3
- package/cjs/user/index.js.map +1 -0
- package/cjs/user/user.js +3 -8
- package/cjs/user/user.js.map +1 -0
- package/cjs/worker.js +2 -2
- package/cjs/worker.js.map +1 -0
- package/esm/browser/addEventListener.js +11 -10
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/cookie.js +3 -6
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.js +8 -17
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/htmlDomUtils.js +3 -2
- package/esm/browser/htmlDomUtils.js.map +1 -0
- package/esm/browser/pageExitObservable.js +3 -2
- package/esm/browser/pageExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.js +2 -1
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/scroll.js +25 -0
- package/esm/browser/scroll.js.map +1 -0
- package/esm/browser/xhrObservable.js +2 -14
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/configuration/configuration.js +9 -9
- package/esm/configuration/configuration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +6 -17
- package/esm/configuration/transportConfiguration.js.map +1 -0
- package/esm/console/consoleObservable.js +7 -12
- package/esm/console/consoleObservable.js.map +1 -0
- package/esm/dataMap.js +24 -8
- package/esm/dataMap.js.map +1 -0
- package/esm/error/trackRuntimeError.js +4 -3
- package/esm/error/trackRuntimeError.js.map +1 -0
- package/esm/helper/boundedBuffer.js +2 -4
- package/esm/helper/boundedBuffer.js.map +1 -0
- package/esm/helper/byteUtils.js +6 -13
- package/esm/helper/byteUtils.js.map +1 -0
- package/esm/helper/catchUserErrors.js +2 -2
- package/esm/helper/catchUserErrors.js.map +1 -0
- package/esm/helper/contextHistory.js +21 -33
- package/esm/helper/contextHistory.js.map +1 -0
- package/esm/helper/createEventRateLimiter.js +2 -6
- package/esm/helper/createEventRateLimiter.js.map +1 -0
- package/esm/helper/deviceInfo.js +10 -62
- package/esm/helper/deviceInfo.js.map +1 -0
- package/esm/helper/display.js +2 -3
- package/esm/helper/display.js.map +1 -0
- package/esm/helper/enums.js +6 -1
- package/esm/helper/enums.js.map +1 -0
- package/esm/helper/errorTools.js +36 -28
- package/esm/helper/errorTools.js.map +1 -0
- package/esm/helper/eventEmitter.js +2 -5
- package/esm/helper/eventEmitter.js.map +1 -0
- package/esm/helper/getZoneJsOriginalValue.js +2 -4
- package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
- package/esm/helper/instrumentMethod.js +11 -16
- package/esm/helper/instrumentMethod.js.map +1 -0
- package/esm/helper/lifeCycle.js +2 -5
- package/esm/helper/lifeCycle.js.map +1 -0
- package/esm/helper/limitModification.js +5 -20
- package/esm/helper/limitModification.js.map +1 -0
- package/esm/helper/mobileUtil.js +2 -16
- package/esm/helper/mobileUtil.js.map +1 -0
- package/esm/helper/monitor.js +39 -0
- package/esm/helper/monitor.js.map +1 -0
- package/esm/helper/observable.js +2 -7
- package/esm/helper/observable.js.map +1 -0
- package/esm/helper/readBytesFromStream.js +8 -15
- package/esm/helper/readBytesFromStream.js.map +1 -0
- package/esm/helper/sanitize.js +40 -57
- package/esm/helper/sanitize.js.map +1 -0
- package/esm/helper/serialisation/contextManager.js +5 -9
- package/esm/helper/serialisation/contextManager.js.map +1 -0
- package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
- package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/esm/helper/serialisation/jsonStringify.js +7 -10
- package/esm/helper/serialisation/jsonStringify.js.map +1 -0
- package/esm/helper/serialisation/rowData.js +3 -4
- package/esm/helper/serialisation/rowData.js.map +1 -0
- package/esm/helper/timer.js +5 -3
- package/esm/helper/timer.js.map +1 -0
- package/esm/helper/tools.js +58 -273
- package/esm/helper/tools.js.map +1 -0
- package/esm/helper/urlPolyfill.js +5 -9
- package/esm/helper/urlPolyfill.js.map +1 -0
- package/esm/index.js +5 -1
- package/esm/index.js.map +1 -0
- package/esm/init.js +25 -31
- package/esm/init.js.map +1 -0
- package/esm/report/reportObservable.js +8 -19
- package/esm/report/reportObservable.js.map +1 -0
- package/esm/session/sessionConstants.js +2 -1
- package/esm/session/sessionConstants.js.map +1 -0
- package/esm/session/sessionCookieStore.js +11 -38
- package/esm/session/sessionCookieStore.js.map +1 -0
- package/esm/session/sessionManagement.js +2 -8
- package/esm/session/sessionManagement.js.map +1 -0
- package/esm/session/sessionStore.js +4 -22
- package/esm/session/sessionStore.js.map +1 -0
- package/esm/synthetics/syntheticsWorkerValues.js +2 -1
- package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/synthetics/usr.js +2 -3
- package/esm/synthetics/usr.js.map +1 -0
- package/esm/telemetry/telemetry.js +111 -0
- package/esm/telemetry/telemetry.js.map +1 -0
- package/esm/telemetry/types.js +9 -0
- package/esm/telemetry/types.js.map +1 -0
- package/esm/tracekit/computeStackTrace.js +4 -31
- package/esm/tracekit/computeStackTrace.js.map +1 -0
- package/esm/tracekit/index.js +2 -1
- package/esm/tracekit/index.js.map +1 -0
- package/esm/tracekit/tracekit.js +5 -14
- package/esm/tracekit/tracekit.js.map +1 -0
- package/esm/transport/batch.js +9 -47
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.js +2 -5
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.js +11 -20
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.js +8 -18
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.js +2 -1
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.js +4 -17
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/transport/startBatchWithReplica.js +2 -3
- package/esm/transport/startBatchWithReplica.js.map +1 -0
- package/esm/user/index.js.map +1 -0
- package/esm/user/user.js +4 -5
- package/esm/user/user.js.map +1 -0
- package/esm/worker.js.map +1 -0
- package/package.json +2 -2
- package/src/browser/addEventListener.js +8 -7
- package/src/browser/fetchObservable.js +12 -3
- package/src/browser/scroll.js +25 -0
- package/src/configuration/configuration.js +16 -0
- package/src/configuration/transportConfiguration.js +2 -2
- package/src/console/consoleObservable.js +4 -2
- package/src/dataMap.js +17 -3
- package/src/error/trackRuntimeError.js +2 -2
- package/src/helper/contextHistory.js +3 -3
- package/src/helper/enums.js +4 -0
- package/src/helper/errorTools.js +55 -24
- package/src/helper/instrumentMethod.js +5 -2
- package/src/helper/monitor.js +44 -0
- package/src/helper/observable.js +10 -8
- package/src/helper/readBytesFromStream.js +5 -5
- package/src/helper/timer.js +3 -3
- package/src/helper/tools.js +2 -17
- package/src/index.js +4 -0
- package/src/init.js +19 -21
- package/src/report/reportObservable.js +6 -5
- package/src/telemetry/telemetry.js +164 -0
- package/src/telemetry/types.js +9 -0
- package/src/transport/batch.js +4 -4
- package/src/transport/httpRequest.js +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","names":["DOM_EVENT","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","ActionType","CUSTOM","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\n\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":"AAAA,OAAO,IAAIA,SAAS,GAAG;EACrBC,aAAa,EAAE,cAAc;EAC7BC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,UAAU;EACrBC,QAAQ,EAAE,SAAS;EACnBC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,iBAAiB,EAAE,kBAAkB;EACrCC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,kBAAkB,EAAE,kBAAkB;EACtCC,YAAY,EAAE,aAAa;EAC3BC,UAAU,EAAE,WAAW;EACvBC,cAAc,EAAE,eAAe;EAC/BC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,UAAU,EAAE,WAAW;EACvBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE,aAAa;EAC3BC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,yBAAyB,EAAE,yBAAyB;EACpDC,gBAAgB,EAAE;AACpB,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG;EACxBC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,GAAG,EAAE,KAAK;EACVC,EAAE,EAAE,IAAI;EACRC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,IAAIC,UAAU,GAAG;EACtB3C,KAAK,EAAE,OAAO;EACd4C,MAAM,EAAE;AACV,CAAC;AACD,OAAO,IAAIC,eAAe,GAAG;EAC3BC,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE;AACd,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG;EACxBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,IAAIC,eAAe,GAAG;EAC3BC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE;AAChB,CAAC;AACD,OAAO,IAAIC,WAAW,GAAG;EACvBvB,KAAK,EAAEJ,YAAY,CAACI,KAAK;EACzBF,GAAG,EAAEF,YAAY,CAACE;AACpB,CAAC;AAED,OAAO,IAAI0B,SAAS,GAAG;EACrBC,OAAO,EAAE,SAAS;EAClBC,mBAAmB,EAAE,QAAQ;EAC7BC,oBAAoB,EAAE,sBAAsB;EAC5CC,eAAe,EAAE,iBAAiB;EAClCC,kBAAkB,EAAE,uBAAuB;EAC3CC,aAAa,EAAE,eAAe;EAC9BC,MAAM,EAAE;AACV,CAAC;AACD,OAAO,IAAIC,aAAa,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE;AACb,CAAC;AACD,OAAO,IAAIC,cAAc,GAAG;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE;AACZ,CAAC"}
|
package/esm/helper/errorTools.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { each, noop } from './tools';
|
|
2
2
|
import { jsonStringify } from '../helper/serialisation/jsonStringify';
|
|
3
3
|
import { computeStackTrace } from '../tracekit';
|
|
4
|
+
import { callMonitored } from '../helper/monitor';
|
|
5
|
+
export var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';
|
|
4
6
|
export var ErrorSource = {
|
|
5
7
|
AGENT: 'agent',
|
|
6
8
|
CONSOLE: 'console',
|
|
@@ -17,32 +19,39 @@ export function computeRawError(data) {
|
|
|
17
19
|
var nonErrorPrefix = data.nonErrorPrefix;
|
|
18
20
|
var source = data.source;
|
|
19
21
|
var handling = data.handling;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
handling: handling,
|
|
26
|
-
originalError: originalError,
|
|
27
|
-
message: nonErrorPrefix + ' ' + jsonStringify(originalError),
|
|
28
|
-
stack: 'No stack, consider using an instance of Error',
|
|
29
|
-
handlingStack: handlingStack,
|
|
30
|
-
type: stackTrace && stackTrace.name
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
|
|
22
|
+
var isErrorInstance = originalError instanceof Error;
|
|
23
|
+
var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);
|
|
24
|
+
var stack = hasUsableStack(isErrorInstance, stackTrace) ? toStackTraceString(stackTrace) : NO_ERROR_STACK_PRESENT_MESSAGE;
|
|
25
|
+
var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;
|
|
26
|
+
var type = stackTrace && stackTrace.name;
|
|
34
27
|
return {
|
|
35
28
|
startClocks: startClocks,
|
|
36
29
|
source: source,
|
|
37
30
|
handling: handling,
|
|
38
31
|
originalError: originalError,
|
|
39
|
-
message:
|
|
40
|
-
stack:
|
|
32
|
+
message: message,
|
|
33
|
+
stack: stack,
|
|
41
34
|
handlingStack: handlingStack,
|
|
42
|
-
type:
|
|
43
|
-
causes:
|
|
35
|
+
type: type,
|
|
36
|
+
causes: causes
|
|
44
37
|
};
|
|
45
38
|
}
|
|
39
|
+
function computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {
|
|
40
|
+
// Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)
|
|
41
|
+
// TODO rework tracekit integration to avoid scattering error building logic
|
|
42
|
+
return stackTrace && stackTrace.message && stackTrace && stackTrace.name ? stackTrace.message : !isErrorInstance ? nonErrorPrefix + ' ' + jsonStringify(sanitize(originalError)) : 'Empty message';
|
|
43
|
+
}
|
|
44
|
+
function hasUsableStack(isErrorInstance, stackTrace) {
|
|
45
|
+
if (stackTrace === undefined) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (isErrorInstance) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
// handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]
|
|
52
|
+
// TODO rework tracekit integration to avoid generating those unusable stack
|
|
53
|
+
return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);
|
|
54
|
+
}
|
|
46
55
|
export function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingStack) {
|
|
47
56
|
if (!stackTrace || stackTrace.message === undefined && !(errorObject instanceof Error)) {
|
|
48
57
|
return {
|
|
@@ -52,7 +61,6 @@ export function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, hand
|
|
|
52
61
|
type: stackTrace && stackTrace.name
|
|
53
62
|
};
|
|
54
63
|
}
|
|
55
|
-
|
|
56
64
|
return {
|
|
57
65
|
message: stackTrace.message || 'Empty message',
|
|
58
66
|
stack: toStackTraceString(stackTrace),
|
|
@@ -67,7 +75,6 @@ export function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, hand
|
|
|
67
75
|
- Has to be called at the utmost position of the call stack.
|
|
68
76
|
- No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.
|
|
69
77
|
*/
|
|
70
|
-
|
|
71
78
|
export function createHandlingStack() {
|
|
72
79
|
/**
|
|
73
80
|
* Skip the two internal frames:
|
|
@@ -77,8 +84,9 @@ export function createHandlingStack() {
|
|
|
77
84
|
*/
|
|
78
85
|
var internalFramesToSkip = 2;
|
|
79
86
|
var error = new Error();
|
|
80
|
-
var formattedStack;
|
|
87
|
+
var formattedStack;
|
|
81
88
|
|
|
89
|
+
// IE needs to throw the error to fill in the stack trace
|
|
82
90
|
if (!error.stack) {
|
|
83
91
|
try {
|
|
84
92
|
throw error;
|
|
@@ -86,10 +94,11 @@ export function createHandlingStack() {
|
|
|
86
94
|
noop();
|
|
87
95
|
}
|
|
88
96
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
callMonitored(function () {
|
|
98
|
+
var stackTrace = computeStackTrace(error);
|
|
99
|
+
stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);
|
|
100
|
+
formattedStack = toStackTraceString(stackTrace);
|
|
101
|
+
});
|
|
93
102
|
return formattedStack;
|
|
94
103
|
}
|
|
95
104
|
export function toStackTraceString(stack) {
|
|
@@ -113,7 +122,6 @@ export function getFileFromStackTraceString(stack) {
|
|
|
113
122
|
export function flattenErrorCauses(error, parentSource) {
|
|
114
123
|
var currentError = error;
|
|
115
124
|
var causes = [];
|
|
116
|
-
|
|
117
125
|
while (currentError && currentError.cause instanceof Error && causes.length < 10) {
|
|
118
126
|
var stackTrace = computeStackTrace(currentError.cause);
|
|
119
127
|
causes.push({
|
|
@@ -124,6 +132,6 @@ export function flattenErrorCauses(error, parentSource) {
|
|
|
124
132
|
});
|
|
125
133
|
currentError = currentError.cause;
|
|
126
134
|
}
|
|
127
|
-
|
|
128
135
|
return causes.length ? causes : undefined;
|
|
129
|
-
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=errorTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorTools.js","names":["each","noop","jsonStringify","computeStackTrace","callMonitored","NO_ERROR_STACK_PRESENT_MESSAGE","ErrorSource","AGENT","CONSOLE","NETWORK","SOURCE","LOGGER","CUSTOM","computeRawError","data","stackTrace","originalError","handlingStack","startClocks","nonErrorPrefix","source","handling","isErrorInstance","Error","message","computeMessage","stack","hasUsableStack","toStackTraceString","causes","flattenErrorCauses","undefined","type","name","sanitize","length","url","formatUnknownError","errorObject","createHandlingStack","internalFramesToSkip","error","formattedStack","e","slice","result","formatErrorMessage","frame","func","args","join","line","column","getFileFromStackTraceString","execResult","exec","parentSource","currentError","cause","push"],"sources":["../../src/helper/errorTools.js"],"sourcesContent":["import { each, noop } from './tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { computeStackTrace } from '../tracekit'\nimport { callMonitored } from '../helper/monitor'\nexport var NO_ERROR_STACK_PRESENT_MESSAGE =\n 'No stack, consider using an instance of Error'\nexport var ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n NETWORK: 'network',\n SOURCE: 'source',\n LOGGER: 'logger',\n CUSTOM: 'custom'\n}\n\nexport function computeRawError(data) {\n var stackTrace = data.stackTrace\n var originalError = data.originalError\n var handlingStack = data.handlingStack\n var startClocks = data.startClocks\n var nonErrorPrefix = data.nonErrorPrefix\n var source = data.source\n var handling = data.handling\n var isErrorInstance = originalError instanceof Error\n var message = computeMessage(\n stackTrace,\n isErrorInstance,\n nonErrorPrefix,\n originalError\n )\n var stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE\n var causes = isErrorInstance\n ? flattenErrorCauses(originalError, source)\n : undefined\n var type = stackTrace && stackTrace.name\n\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n originalError: originalError,\n message: message,\n stack: stack,\n handlingStack: handlingStack,\n type: type,\n causes: causes\n }\n}\nfunction computeMessage(\n stackTrace,\n isErrorInstance,\n nonErrorPrefix,\n originalError\n) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return stackTrace && stackTrace.message && stackTrace && stackTrace.name\n ? stackTrace.message\n : !isErrorInstance\n ? nonErrorPrefix + ' ' + jsonStringify(sanitize(originalError))\n : 'Empty message'\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false\n }\n if (isErrorInstance) {\n return true\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return (\n stackTrace.stack.length > 0 &&\n (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined)\n )\n}\n\nexport function formatUnknownError(\n stackTrace,\n errorObject,\n nonErrorPrefix,\n handlingStack\n) {\n if (\n !stackTrace ||\n (stackTrace.message === undefined && !(errorObject instanceof Error))\n ) {\n return {\n message: nonErrorPrefix + '' + jsonStringify(errorObject),\n stack: 'No stack, consider using an instance of Error',\n handlingStack: handlingStack,\n type: stackTrace && stackTrace.name\n }\n }\n return {\n message: stackTrace.message || 'Empty message',\n stack: toStackTraceString(stackTrace),\n handlingStack: handlingStack,\n type: stackTrace.name\n }\n}\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2\n var error = new Error()\n var formattedStack\n\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error\n } catch (e) {\n noop()\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error)\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip)\n formattedStack = toStackTraceString(stackTrace)\n })\n\n return formattedStack\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack)\n each(stack.stack, function (frame) {\n var func = frame.func === '?' ? '<anonymous>' : frame.func\n var args =\n frame.args && frame.args.length > 0\n ? '(' + frame.args.join(', ') + ')'\n : ''\n var line = frame.line ? ':' + frame.line : ''\n var column = frame.line && frame.column ? ':' + frame.column : ''\n result += '\\n at ' + func + args + ' @ ' + frame.url + line + column\n })\n return result\n}\nexport function formatErrorMessage(stack) {\n return (stack.name || 'Error') + ': ' + stack.message\n}\nexport function getFileFromStackTraceString(stack) {\n var execResult = /@ (.+)/.exec(stack)\n return execResult && execResult[1]\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error\n var causes = []\n while (\n currentError &&\n currentError.cause instanceof Error &&\n causes.length < 10\n ) {\n var stackTrace = computeStackTrace(currentError.cause)\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace && stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace)\n })\n currentError = currentError.cause\n }\n return causes.length ? causes : undefined\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { each } from './tools';
|
|
2
|
-
|
|
3
2
|
var EventEmitter = function EventEmitter() {
|
|
4
3
|
this._events = [];
|
|
5
4
|
this.pendingEvents = [];
|
|
6
5
|
};
|
|
7
|
-
|
|
8
6
|
EventEmitter.prototype = {
|
|
9
7
|
emit: function emit(type) {
|
|
10
8
|
var args = [].slice.call(arguments, 1);
|
|
@@ -12,7 +10,6 @@ EventEmitter.prototype = {
|
|
|
12
10
|
if (val.type !== type) {
|
|
13
11
|
return false;
|
|
14
12
|
}
|
|
15
|
-
|
|
16
13
|
val.callback.apply(val.context, args);
|
|
17
14
|
});
|
|
18
15
|
},
|
|
@@ -20,7 +17,6 @@ EventEmitter.prototype = {
|
|
|
20
17
|
if (typeof callback !== 'function') {
|
|
21
18
|
return;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
20
|
this._events.push({
|
|
25
21
|
type: event,
|
|
26
22
|
callback: callback,
|
|
@@ -28,4 +24,5 @@ EventEmitter.prototype = {
|
|
|
28
24
|
});
|
|
29
25
|
}
|
|
30
26
|
};
|
|
31
|
-
export var eventEmitter = new EventEmitter();
|
|
27
|
+
export var eventEmitter = new EventEmitter();
|
|
28
|
+
//# sourceMappingURL=eventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventEmitter.js","names":["each","EventEmitter","_events","pendingEvents","prototype","emit","type","args","slice","call","arguments","val","callback","apply","context","on","event","push","eventEmitter"],"sources":["../../src/helper/eventEmitter.js"],"sourcesContent":["import { each } from './tools'\nvar EventEmitter = function () {\n this._events = []\n this.pendingEvents = []\n}\n\nEventEmitter.prototype = {\n emit: function (type) {\n var args = [].slice.call(arguments, 1)\n each(this._events, function (val) {\n if (val.type !== type) {\n return false\n }\n val.callback.apply(val.context, args)\n })\n },\n on: function (event, callback, context) {\n if (typeof callback !== 'function') {\n return\n }\n this._events.push({\n type: event,\n callback: callback,\n context: context || this\n })\n }\n}\nexport var eventEmitter = new EventEmitter()\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,SAAS;AAC9B,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAe;EAC7B,IAAI,CAACC,OAAO,GAAG,EAAE;EACjB,IAAI,CAACC,aAAa,GAAG,EAAE;AACzB,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBC,IAAI,EAAE,SAAAA,KAAUC,IAAI,EAAE;IACpB,IAAIC,IAAI,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,EAAE,CAAC,CAAC;IACtCV,IAAI,CAAC,IAAI,CAACE,OAAO,EAAE,UAAUS,GAAG,EAAE;MAChC,IAAIA,GAAG,CAACL,IAAI,KAAKA,IAAI,EAAE;QACrB,OAAO,KAAK;MACd;MACAK,GAAG,CAACC,QAAQ,CAACC,KAAK,CAACF,GAAG,CAACG,OAAO,EAAEP,IAAI,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EACDQ,EAAE,EAAE,SAAAA,GAAUC,KAAK,EAAEJ,QAAQ,EAAEE,OAAO,EAAE;IACtC,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;MAClC;IACF;IACA,IAAI,CAACV,OAAO,CAACe,IAAI,CAAC;MAChBX,IAAI,EAAEU,KAAK;MACXJ,QAAQ,EAAEA,QAAQ;MAClBE,OAAO,EAAEA,OAAO,IAAI;IACtB,CAAC,CAAC;EACJ;AACF,CAAC;AACD,OAAO,IAAII,YAAY,GAAG,IAAIjB,YAAY,CAAC,CAAC"}
|
|
@@ -14,14 +14,12 @@
|
|
|
14
14
|
export function getZoneJsOriginalValue(target, name) {
|
|
15
15
|
var browserWindow = window;
|
|
16
16
|
var original;
|
|
17
|
-
|
|
18
17
|
if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {
|
|
19
18
|
original = target[browserWindow.Zone.__symbol__(name)];
|
|
20
19
|
}
|
|
21
|
-
|
|
22
20
|
if (!original) {
|
|
23
21
|
original = target[name];
|
|
24
22
|
}
|
|
25
|
-
|
|
26
23
|
return original;
|
|
27
|
-
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=getZoneJsOriginalValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getZoneJsOriginalValue.js","names":["getZoneJsOriginalValue","target","name","browserWindow","window","original","Zone","__symbol__"],"sources":["../../src/helper/getZoneJsOriginalValue.js"],"sourcesContent":["/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n var browserWindow = window\n var original\n if (\n browserWindow.Zone &&\n typeof browserWindow.Zone.__symbol__ === 'function'\n ) {\n original = target[browserWindow.Zone.__symbol__(name)]\n }\n if (!original) {\n original = target[name]\n }\n return original\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,sBAAsBA,CAACC,MAAM,EAAEC,IAAI,EAAE;EACnD,IAAIC,aAAa,GAAGC,MAAM;EAC1B,IAAIC,QAAQ;EACZ,IACEF,aAAa,CAACG,IAAI,IAClB,OAAOH,aAAa,CAACG,IAAI,CAACC,UAAU,KAAK,UAAU,EACnD;IACAF,QAAQ,GAAGJ,MAAM,CAACE,aAAa,CAACG,IAAI,CAACC,UAAU,CAACL,IAAI,CAAC,CAAC;EACxD;EACA,IAAI,CAACG,QAAQ,EAAE;IACbA,QAAQ,GAAGJ,MAAM,CAACC,IAAI,CAAC;EACzB;EACA,OAAOG,QAAQ;AACjB"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { noop } from './tools';
|
|
2
2
|
import { setTimeout } from './timer';
|
|
3
|
+
import { callMonitored } from './monitor';
|
|
3
4
|
export function instrumentMethod(object, method, instrumentationFactory) {
|
|
4
5
|
var original = object[method];
|
|
5
6
|
var instrumentation = instrumentationFactory(original);
|
|
6
|
-
|
|
7
7
|
var instrumentationWrapper = function instrumentationWrapper() {
|
|
8
8
|
if (typeof instrumentation !== 'function') {
|
|
9
9
|
return undefined;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
}
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
13
12
|
return instrumentation.apply(this, arguments);
|
|
14
13
|
};
|
|
15
|
-
|
|
16
14
|
object[method] = instrumentationWrapper;
|
|
17
15
|
return {
|
|
18
16
|
stop: function stop() {
|
|
@@ -28,18 +26,18 @@ export function instrumentMethodAndCallOriginal(object, method, aliasOption) {
|
|
|
28
26
|
return instrumentMethod(object, method, function (original) {
|
|
29
27
|
return function () {
|
|
30
28
|
var result;
|
|
31
|
-
|
|
32
29
|
if (aliasOption && aliasOption.before) {
|
|
33
|
-
aliasOption.before
|
|
30
|
+
callMonitored(aliasOption.before, this, arguments);
|
|
31
|
+
// aliasOption.before.apply(this, arguments)
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
if (typeof original === 'function') {
|
|
37
35
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
38
36
|
result = original.apply(this, arguments);
|
|
39
37
|
}
|
|
40
|
-
|
|
41
38
|
if (aliasOption && aliasOption.after) {
|
|
42
|
-
aliasOption.after
|
|
39
|
+
callMonitored(aliasOption.after, this, arguments);
|
|
40
|
+
// aliasOption.after.apply(this, arguments)
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
return result;
|
|
@@ -48,27 +46,23 @@ export function instrumentMethodAndCallOriginal(object, method, aliasOption) {
|
|
|
48
46
|
}
|
|
49
47
|
export function instrumentSetter(object, property, after) {
|
|
50
48
|
var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);
|
|
51
|
-
|
|
52
49
|
if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {
|
|
53
50
|
return {
|
|
54
51
|
stop: noop
|
|
55
52
|
};
|
|
56
|
-
}
|
|
53
|
+
}
|
|
54
|
+
// Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular
|
|
57
55
|
// component, see issue RUMF-1443
|
|
58
|
-
|
|
59
|
-
|
|
60
56
|
var instrumentation = function instrumentation(thisObject, value) {
|
|
61
57
|
// put hooked setter into event loop to avoid of set latency
|
|
62
58
|
setTimeout(function () {
|
|
63
59
|
after(thisObject, value);
|
|
64
60
|
}, 0);
|
|
65
61
|
};
|
|
66
|
-
|
|
67
62
|
var instrumentationWrapper = function instrumentationWrapper(value) {
|
|
68
63
|
originalDescriptor.set.call(this, value);
|
|
69
64
|
instrumentation(this, value);
|
|
70
65
|
};
|
|
71
|
-
|
|
72
66
|
Object.defineProperty(object, property, {
|
|
73
67
|
set: instrumentationWrapper
|
|
74
68
|
});
|
|
@@ -81,4 +75,5 @@ export function instrumentSetter(object, property, after) {
|
|
|
81
75
|
}
|
|
82
76
|
}
|
|
83
77
|
};
|
|
84
|
-
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=instrumentMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentMethod.js","names":["noop","setTimeout","callMonitored","instrumentMethod","object","method","instrumentationFactory","original","instrumentation","instrumentationWrapper","undefined","apply","arguments","stop","instrumentMethodAndCallOriginal","aliasOption","result","before","after","instrumentSetter","property","originalDescriptor","Object","getOwnPropertyDescriptor","set","configurable","thisObject","value","call","defineProperty"],"sources":["../../src/helper/instrumentMethod.js"],"sourcesContent":["import { noop } from './tools'\nimport { setTimeout } from './timer'\nimport { callMonitored } from './monitor'\nexport function instrumentMethod(object, method, instrumentationFactory) {\n var original = object[method]\n\n var instrumentation = instrumentationFactory(original)\n\n var instrumentationWrapper = function () {\n if (typeof instrumentation !== 'function') {\n return undefined\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments)\n }\n object[method] = instrumentationWrapper\n return {\n stop: function () {\n if (object[method] === instrumentationWrapper) {\n object[method] = original\n } else {\n instrumentation = original\n }\n }\n }\n}\n\nexport function instrumentMethodAndCallOriginal(object, method, aliasOption) {\n return instrumentMethod(object, method, function (original) {\n return function () {\n var result\n if (aliasOption && aliasOption.before) {\n callMonitored(aliasOption.before, this, arguments)\n // aliasOption.before.apply(this, arguments)\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, arguments)\n }\n if (aliasOption && aliasOption.after) {\n callMonitored(aliasOption.after, this, arguments)\n // aliasOption.after.apply(this, arguments)\n }\n return result\n }\n })\n}\n\nexport function instrumentSetter(object, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(object, property)\n if (\n !originalDescriptor ||\n !originalDescriptor.set ||\n !originalDescriptor.configurable\n ) {\n return { stop: noop }\n }\n // Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular\n // component, see issue RUMF-1443\n var instrumentation = function (thisObject, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n after(thisObject, value)\n }, 0)\n }\n\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value)\n instrumentation(this, value)\n }\n\n Object.defineProperty(object, property, {\n set: instrumentationWrapper\n })\n\n return {\n stop: function () {\n if (\n Object.getOwnPropertyDescriptor(object, property) &&\n Object.getOwnPropertyDescriptor(object, property).set ===\n instrumentationWrapper\n ) {\n Object.defineProperty(object, property, originalDescriptor)\n } else {\n instrumentation = noop\n }\n }\n }\n}\n"],"mappings":"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"}
|
package/esm/helper/lifeCycle.js
CHANGED
|
@@ -22,7 +22,6 @@ export function LifeCycle() {
|
|
|
22
22
|
LifeCycle.prototype = {
|
|
23
23
|
notify: function notify(eventType, data) {
|
|
24
24
|
var eventCallbacks = this.callbacks[eventType];
|
|
25
|
-
|
|
26
25
|
if (eventCallbacks) {
|
|
27
26
|
each(eventCallbacks, function (callback) {
|
|
28
27
|
callback(data);
|
|
@@ -33,11 +32,8 @@ LifeCycle.prototype = {
|
|
|
33
32
|
if (!this.callbacks[eventType]) {
|
|
34
33
|
this.callbacks[eventType] = [];
|
|
35
34
|
}
|
|
36
|
-
|
|
37
35
|
this.callbacks[eventType].push(callback);
|
|
38
|
-
|
|
39
36
|
var _this = this;
|
|
40
|
-
|
|
41
37
|
return {
|
|
42
38
|
unsubscribe: function unsubscribe() {
|
|
43
39
|
_this.callbacks[eventType] = filter(_this.callbacks[eventType], function (other) {
|
|
@@ -46,4 +42,5 @@ LifeCycle.prototype = {
|
|
|
46
42
|
}
|
|
47
43
|
};
|
|
48
44
|
}
|
|
49
|
-
};
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=lifeCycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifeCycle.js","names":["each","filter","LifeCycleEventType","PERFORMANCE_ENTRIES_COLLECTED","AUTO_ACTION_COMPLETED","VIEW_CREATED","VIEW_UPDATED","VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","callback","subscribe","push","_this","unsubscribe","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n PERFORMANCE_ENTRIES_COLLECTED: 'PERFORMANCE_ENTRIES_COLLECTED',\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,SAAS;AACtC,OAAO,IAAIC,kBAAkB,GAAG;EAC9BC,6BAA6B,EAAE,+BAA+B;EAC9DC,qBAAqB,EAAE,uBAAuB;EAC9CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,UAAU,EAAE,YAAY;EACxBC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AACD,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,SAAAA,OAAUC,SAAS,EAAEC,IAAI,EAAE;IACjC,IAAIC,cAAc,GAAG,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC;IAC9C,IAAIE,cAAc,EAAE;MAClBxB,IAAI,CAACwB,cAAc,EAAE,UAAUC,QAAQ,EAAE;QACvCA,QAAQ,CAACF,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDG,SAAS,EAAE,SAAAA,UAAUJ,SAAS,EAAEG,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACN,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACK,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACT,SAAS,CAACG,SAAS,CAAC,GAAGrB,MAAM,CACjC2B,KAAK,CAACT,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUQ,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKL,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it
|
|
2
|
-
|
|
1
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
3
2
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
-
|
|
5
3
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
-
|
|
7
4
|
import { extend2Lev, each, objectEntries, getType, deepClone } from './tools';
|
|
8
5
|
import { sanitize } from './sanitize';
|
|
6
|
+
|
|
9
7
|
/**
|
|
10
8
|
* Current limitation:
|
|
11
9
|
* - field path do not support array, 'a.b.c' only
|
|
12
10
|
*/
|
|
13
|
-
|
|
14
11
|
export function limitModification(object, modifiableFieldPaths, modifier) {
|
|
15
12
|
var clone = deepClone(object);
|
|
16
13
|
var result = modifier(clone);
|
|
@@ -19,7 +16,6 @@ export function limitModification(object, modifiableFieldPaths, modifier) {
|
|
|
19
16
|
var fieldType = filedPaths[1];
|
|
20
17
|
var newValue = get(clone, fieldPath);
|
|
21
18
|
var newType = getType(newValue);
|
|
22
|
-
|
|
23
19
|
if (newType === fieldType) {
|
|
24
20
|
set(object, fieldPath, sanitize(newValue));
|
|
25
21
|
} else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {
|
|
@@ -28,21 +24,16 @@ export function limitModification(object, modifiableFieldPaths, modifier) {
|
|
|
28
24
|
});
|
|
29
25
|
return result;
|
|
30
26
|
}
|
|
31
|
-
|
|
32
27
|
function get(object, path) {
|
|
33
28
|
var current = object;
|
|
34
|
-
|
|
35
29
|
var _iterator = _createForOfIteratorHelper(path.split('.')),
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
_step;
|
|
38
31
|
try {
|
|
39
32
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
40
33
|
var field = _step.value;
|
|
41
|
-
|
|
42
34
|
if (!isValidObjectContaining(current, field)) {
|
|
43
35
|
return;
|
|
44
36
|
}
|
|
45
|
-
|
|
46
37
|
current = current[field];
|
|
47
38
|
}
|
|
48
39
|
} catch (err) {
|
|
@@ -50,21 +41,16 @@ function get(object, path) {
|
|
|
50
41
|
} finally {
|
|
51
42
|
_iterator.f();
|
|
52
43
|
}
|
|
53
|
-
|
|
54
44
|
return current;
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
function set(object, path, value) {
|
|
58
47
|
var current = object;
|
|
59
48
|
var fields = path.split('.');
|
|
60
|
-
|
|
61
49
|
for (var i = 0; i < fields.length; i += 1) {
|
|
62
50
|
var field = fields[i];
|
|
63
|
-
|
|
64
51
|
if (!isValidObject(current)) {
|
|
65
52
|
return;
|
|
66
53
|
}
|
|
67
|
-
|
|
68
54
|
if (i !== fields.length - 1) {
|
|
69
55
|
current = current[field];
|
|
70
56
|
} else {
|
|
@@ -72,11 +58,10 @@ function set(object, path, value) {
|
|
|
72
58
|
}
|
|
73
59
|
}
|
|
74
60
|
}
|
|
75
|
-
|
|
76
61
|
function isValidObject(object) {
|
|
77
62
|
return getType(object) === 'object';
|
|
78
63
|
}
|
|
79
|
-
|
|
80
64
|
function isValidObjectContaining(object, field) {
|
|
81
65
|
return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);
|
|
82
|
-
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=limitModification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limitModification.js","names":["extend2Lev","each","objectEntries","getType","deepClone","sanitize","limitModification","object","modifiableFieldPaths","modifier","clone","result","filedPaths","fieldPath","fieldType","newValue","get","newType","set","path","current","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","field","value","isValidObjectContaining","err","e","f","fields","i","length","isValidObject","Object","prototype","hasOwnProperty","call"],"sources":["../../src/helper/limitModification.js"],"sourcesContent":["import { extend2Lev, each, objectEntries, getType, deepClone } from './tools'\nimport { sanitize } from './sanitize'\n\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object)\n var result = modifier(clone)\n each(objectEntries(modifiableFieldPaths), function (filedPaths) {\n var fieldPath = filedPaths[0]\n var fieldType = filedPaths[1]\n var newValue = get(clone, fieldPath)\n var newType = getType(newValue)\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue))\n } else if (\n fieldType === 'object' &&\n (newType === 'undefined' || newType === 'null')\n ) {\n set(object, fieldPath, {})\n }\n })\n\n return result\n}\n\nfunction get(object, path) {\n var current = object\n for (var field of path.split('.')) {\n if (!isValidObjectContaining(current, field)) {\n return\n }\n current = current[field]\n }\n return current\n}\n\nfunction set(object, path, value) {\n var current = object\n var fields = path.split('.')\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i]\n if (!isValidObject(current)) {\n return\n }\n if (i !== fields.length - 1) {\n current = current[field]\n } else {\n current[field] = value\n }\n }\n}\n\nfunction isValidObject(object) {\n return getType(object) === 'object'\n}\n\nfunction isValidObjectContaining(object, field) {\n return (\n isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field)\n )\n}\n"],"mappings":"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"}
|
package/esm/helper/mobileUtil.js
CHANGED
|
@@ -5,21 +5,17 @@ export var isAndroid = function isAndroid() {
|
|
|
5
5
|
export var isIos = function isIos() {
|
|
6
6
|
return /iphone os/.test(userAgent);
|
|
7
7
|
};
|
|
8
|
-
|
|
9
8
|
var JsBirdge = function JsBirdge() {
|
|
10
9
|
this.bridge = window['FTWebViewJavascriptBridge'];
|
|
11
10
|
this.tagMaps = {};
|
|
12
11
|
window.mapWebViewCallBack = {};
|
|
13
|
-
|
|
14
12
|
try {
|
|
15
13
|
this.initBridge();
|
|
16
14
|
} catch (err) {}
|
|
17
15
|
};
|
|
18
|
-
|
|
19
16
|
JsBirdge.prototype = {
|
|
20
17
|
initBridge: function initBridge() {
|
|
21
18
|
var _this = this;
|
|
22
|
-
|
|
23
19
|
if (isIos()) {
|
|
24
20
|
if (!_this.bridge) {
|
|
25
21
|
if (window.WVJBCallbacks) {
|
|
@@ -47,20 +43,14 @@ JsBirdge.prototype = {
|
|
|
47
43
|
if (typeof params === 'undefined') {
|
|
48
44
|
params = {};
|
|
49
45
|
}
|
|
50
|
-
|
|
51
46
|
var _this = this;
|
|
52
|
-
|
|
53
47
|
var tag = 'Unique id:' + new Date().getTime();
|
|
54
|
-
|
|
55
48
|
if (params.name) {
|
|
56
49
|
_this.tagMaps[params.name] = tag;
|
|
57
|
-
|
|
58
50
|
window.mapWebViewCallBack[tag] = function (ret, err) {
|
|
59
51
|
return Promise.resolve(ret, err);
|
|
60
52
|
};
|
|
61
|
-
|
|
62
53
|
params['_tag'] = tag;
|
|
63
|
-
|
|
64
54
|
try {
|
|
65
55
|
if (isIos()) {
|
|
66
56
|
_this.bridge.callHandler('sendEvent', JSON.stringify(params), 'mapWebViewCallBack');
|
|
@@ -76,19 +66,14 @@ JsBirdge.prototype = {
|
|
|
76
66
|
},
|
|
77
67
|
addEventListener: function addEventListener(params, callback) {
|
|
78
68
|
var tag = 'Unique id:' + new Date().getTime();
|
|
79
|
-
|
|
80
69
|
var _this = this;
|
|
81
|
-
|
|
82
70
|
if (params.name) {
|
|
83
71
|
_this.tagMaps[params.name] = tag;
|
|
84
|
-
|
|
85
72
|
window.mapWebViewCallBack[tag] = function (ret, err) {
|
|
86
73
|
callback(ret, err);
|
|
87
74
|
return;
|
|
88
75
|
};
|
|
89
|
-
|
|
90
76
|
params['_tag'] = tag;
|
|
91
|
-
|
|
92
77
|
try {
|
|
93
78
|
if (isIos()) {
|
|
94
79
|
_this.bridge.callHandler('addEventListener', JSON.stringify(params), 'mapWebViewCallBack');
|
|
@@ -103,4 +88,5 @@ JsBirdge.prototype = {
|
|
|
103
88
|
}
|
|
104
89
|
}
|
|
105
90
|
};
|
|
106
|
-
export var JsBirdge = JsBirdge;
|
|
91
|
+
export var JsBirdge = JsBirdge;
|
|
92
|
+
//# sourceMappingURL=mobileUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobileUtil.js","names":["userAgent","navigator","toLowerCase","isAndroid","test","isIos","JsBirdge","bridge","window","tagMaps","mapWebViewCallBack","initBridge","err","prototype","_this","WVJBCallbacks","push","WVJBIframe","document","createElement","style","display","src","documentElement","appendChild","setTimeout","removeChild","sendEvent","params","callback","tag","Date","getTime","name","ret","Promise","resolve","callHandler","JSON","stringify","error","addEventListener"],"sources":["../../src/helper/mobileUtil.js"],"sourcesContent":["export var userAgent = navigator.userAgent.toLowerCase()\nexport var isAndroid = function () {\n return /android/.test(userAgent)\n}\nexport var isIos = function () {\n return /iphone os/.test(userAgent)\n}\n\nvar JsBirdge = function () {\n this.bridge = window['FTWebViewJavascriptBridge']\n this.tagMaps = {}\n window.mapWebViewCallBack = {}\n try {\n this.initBridge()\n } catch (err) {}\n}\nJsBirdge.prototype = {\n initBridge: function () {\n var _this = this\n if (isIos()) {\n if (!_this.bridge) {\n if (window.WVJBCallbacks) {\n window.WVJBCallbacks.push(function (bridge) {\n _this.bridge = bridge\n })\n return\n } else {\n window.WVJBCallbacks = [\n function (bridge) {\n _this.bridge = bridge\n return\n }\n ]\n var WVJBIframe = document.createElement('iframe')\n WVJBIframe.style.display = 'none'\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'\n document.documentElement.appendChild(WVJBIframe)\n setTimeout(function () {\n document.documentElement.removeChild(WVJBIframe)\n }, 0)\n }\n }\n }\n },\n sendEvent: function (params, callback) {\n if (typeof params === 'undefined') {\n params = {}\n }\n var _this = this\n var tag = 'Unique id:' + new Date().getTime()\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n return Promise.resolve(ret, err)\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'sendEvent',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.sendEvent(JSON.stringify(params), 'mapWebViewCallBack')\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入发送事件的名称!!' })\n }\n },\n addEventListener: function (params, callback) {\n var tag = 'Unique id:' + new Date().getTime()\n var _this = this\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n callback(ret, err)\n return\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'addEventListener',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.addEventListener(\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入监听事件的名称!!' })\n }\n }\n}\n\nexport var JsBirdge = JsBirdge\n"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ConsoleApiName, display } from './display';
|
|
2
|
+
var onMonitorErrorCollected;
|
|
3
|
+
var debugMode = false;
|
|
4
|
+
export function startMonitorErrorCollection(newOnMonitorErrorCollected) {
|
|
5
|
+
onMonitorErrorCollected = newOnMonitorErrorCollected;
|
|
6
|
+
}
|
|
7
|
+
export function setDebugMode(newDebugMode) {
|
|
8
|
+
debugMode = newDebugMode;
|
|
9
|
+
}
|
|
10
|
+
export function resetMonitor() {
|
|
11
|
+
onMonitorErrorCollected = undefined;
|
|
12
|
+
debugMode = false;
|
|
13
|
+
}
|
|
14
|
+
export function monitor(fn) {
|
|
15
|
+
return function () {
|
|
16
|
+
return callMonitored(fn, this, arguments);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function callMonitored(fn, context, args) {
|
|
20
|
+
try {
|
|
21
|
+
return fn.apply(context, args);
|
|
22
|
+
} catch (e) {
|
|
23
|
+
displayIfDebugEnabled(ConsoleApiName.error, e);
|
|
24
|
+
if (onMonitorErrorCollected) {
|
|
25
|
+
try {
|
|
26
|
+
onMonitorErrorCollected(e);
|
|
27
|
+
} catch (e) {
|
|
28
|
+
displayIfDebugEnabled(ConsoleApiName.error, e);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function displayIfDebugEnabled(api) {
|
|
34
|
+
var args = [].slice.call(arguments, 1);
|
|
35
|
+
if (debugMode) {
|
|
36
|
+
display.apply(null, [api, '[MONITOR]'].concat(args));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor.js","names":["ConsoleApiName","display","onMonitorErrorCollected","debugMode","startMonitorErrorCollection","newOnMonitorErrorCollected","setDebugMode","newDebugMode","resetMonitor","undefined","monitor","fn","callMonitored","arguments","context","args","apply","e","displayIfDebugEnabled","error","api","slice","call","concat"],"sources":["../../src/helper/monitor.js"],"sourcesContent":["import { ConsoleApiName, display } from './display'\nvar onMonitorErrorCollected\nvar debugMode = false\n\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected\n}\n\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode\n}\n\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined\n debugMode = false\n}\n\nexport function monitor(fn) {\n return function () {\n return callMonitored(fn, this, arguments)\n }\n}\n\nexport function callMonitored(fn, context, args) {\n try {\n return fn.apply(context, args)\n } catch (e) {\n displayIfDebugEnabled(ConsoleApiName.error, e)\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e)\n } catch (e) {\n displayIfDebugEnabled(ConsoleApiName.error, e)\n }\n }\n }\n}\n\nexport function displayIfDebugEnabled(api) {\n var args = [].slice.call(arguments, 1)\n if (debugMode) {\n display.apply(null, [api, '[MONITOR]'].concat(args))\n }\n}\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,OAAO,QAAQ,WAAW;AACnD,IAAIC,uBAAuB;AAC3B,IAAIC,SAAS,GAAG,KAAK;AAErB,OAAO,SAASC,2BAA2BA,CAACC,0BAA0B,EAAE;EACtEH,uBAAuB,GAAGG,0BAA0B;AACtD;AAEA,OAAO,SAASC,YAAYA,CAACC,YAAY,EAAE;EACzCJ,SAAS,GAAGI,YAAY;AAC1B;AAEA,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC7BN,uBAAuB,GAAGO,SAAS;EACnCN,SAAS,GAAG,KAAK;AACnB;AAEA,OAAO,SAASO,OAAOA,CAACC,EAAE,EAAE;EAC1B,OAAO,YAAY;IACjB,OAAOC,aAAa,CAACD,EAAE,EAAE,IAAI,EAAEE,SAAS,CAAC;EAC3C,CAAC;AACH;AAEA,OAAO,SAASD,aAAaA,CAACD,EAAE,EAAEG,OAAO,EAAEC,IAAI,EAAE;EAC/C,IAAI;IACF,OAAOJ,EAAE,CAACK,KAAK,CAACF,OAAO,EAAEC,IAAI,CAAC;EAChC,CAAC,CAAC,OAAOE,CAAC,EAAE;IACVC,qBAAqB,CAAClB,cAAc,CAACmB,KAAK,EAAEF,CAAC,CAAC;IAC9C,IAAIf,uBAAuB,EAAE;MAC3B,IAAI;QACFA,uBAAuB,CAACe,CAAC,CAAC;MAC5B,CAAC,CAAC,OAAOA,CAAC,EAAE;QACVC,qBAAqB,CAAClB,cAAc,CAACmB,KAAK,EAAEF,CAAC,CAAC;MAChD;IACF;EACF;AACF;AAEA,OAAO,SAASC,qBAAqBA,CAACE,GAAG,EAAE;EACzC,IAAIL,IAAI,GAAG,EAAE,CAACM,KAAK,CAACC,IAAI,CAACT,SAAS,EAAE,CAAC,CAAC;EACtC,IAAIV,SAAS,EAAE;IACbF,OAAO,CAACe,KAAK,CAAC,IAAI,EAAE,CAACI,GAAG,EAAE,WAAW,CAAC,CAACG,MAAM,CAACR,IAAI,CAAC,CAAC;EACtD;AACF"}
|
package/esm/helper/observable.js
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
import { each, filter, map } from './tools';
|
|
2
|
-
|
|
3
2
|
var _Observable = function _Observable(onFirstSubscribe) {
|
|
4
3
|
this.observers = [];
|
|
5
4
|
this.onLastUnsubscribe = undefined;
|
|
6
5
|
this.onFirstSubscribe = onFirstSubscribe;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
7
|
_Observable.prototype = {
|
|
10
8
|
subscribe: function subscribe(f) {
|
|
11
9
|
if (!this.observers.length && this.onFirstSubscribe) {
|
|
12
10
|
this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
this.observers.push(f);
|
|
16
|
-
|
|
17
13
|
var _this = this;
|
|
18
|
-
|
|
19
14
|
return {
|
|
20
15
|
unsubscribe: function unsubscribe() {
|
|
21
16
|
_this.observers = filter(_this.observers, function (other) {
|
|
22
17
|
return f !== other;
|
|
23
18
|
});
|
|
24
|
-
|
|
25
19
|
if (!_this.observers.length && _this.onLastUnsubscribe) {
|
|
26
20
|
_this.onLastUnsubscribe();
|
|
27
21
|
}
|
|
@@ -50,4 +44,5 @@ export function mergeObservables() {
|
|
|
50
44
|
};
|
|
51
45
|
});
|
|
52
46
|
return globalObservable;
|
|
53
|
-
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=observable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observable.js","names":["each","filter","map","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","length","push","_this","unsubscribe","other","notify","data","observer","Observable","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined\n }\n this.observers.push(f)\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n var globalObservable = new Observable(function () {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n return globalObservable\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,EAAEC,GAAG,QAAQ,SAAS;AAC3C,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,SAAAA,UAAUC,CAAC,EAAE;IACtB,IAAI,CAAC,IAAI,CAACL,SAAS,CAACM,MAAM,IAAI,IAAI,CAACP,gBAAgB,EAAE;MACnD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACF,gBAAgB,CAAC,CAAC,IAAIG,SAAS;IAC/D;IACA,IAAI,CAACF,SAAS,CAACO,IAAI,CAACF,CAAC,CAAC;IACtB,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACR,SAAS,GAAGJ,MAAM,CAACY,KAAK,CAACR,SAAS,EAAE,UAAUU,KAAK,EAAE;UACzD,OAAOL,CAAC,KAAKK,KAAK;QACpB,CAAC,CAAC;QACF,IAAI,CAACF,KAAK,CAACR,SAAS,CAACM,MAAM,IAAIE,KAAK,CAACP,iBAAiB,EAAE;UACtDO,KAAK,CAACP,iBAAiB,CAAC,CAAC;QAC3B;MACF;IACF,CAAC;EACH,CAAC;EACDU,MAAM,EAAE,SAAAA,OAAUC,IAAI,EAAE;IACtBjB,IAAI,CAAC,IAAI,CAACK,SAAS,EAAE,UAAUa,QAAQ,EAAE;MACvCA,QAAQ,CAACD,IAAI,CAAC;IAChB,CAAC,CAAC;EACJ;AACF,CAAC;AACD,OAAO,IAAIE,UAAU,GAAGhB,WAAW;AAEnC,OAAO,SAASiB,gBAAgBA,CAAA,EAAG;EACjC,IAAIC,WAAW,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;EAC1C,IAAIC,gBAAgB,GAAG,IAAIN,UAAU,CAAC,YAAY;IAChD,IAAIO,aAAa,GAAGxB,GAAG,CAACmB,WAAW,EAAE,UAAUM,UAAU,EAAE;MACzD,OAAOA,UAAU,CAAClB,SAAS,CAAC,UAAUQ,IAAI,EAAE;QAC1C,OAAOQ,gBAAgB,CAACT,MAAM,CAACC,IAAI,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,YAAY;MACjB,OAAOjB,IAAI,CAAC0B,aAAa,EAAE,UAAUE,YAAY,EAAE;QACjD,OAAOA,YAAY,CAACd,WAAW,CAAC,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;EACF,OAAOW,gBAAgB;AACzB"}
|