@cloudcare/browser-core 3.0.29 → 3.1.1

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.
Files changed (265) hide show
  1. package/cjs/browser/addEventListener.js +3 -8
  2. package/cjs/browser/addEventListener.js.map +1 -0
  3. package/cjs/browser/cookie.js +3 -14
  4. package/cjs/browser/cookie.js.map +1 -0
  5. package/cjs/browser/fetchObservable.js +4 -21
  6. package/cjs/browser/fetchObservable.js.map +1 -0
  7. package/cjs/browser/htmlDomUtils.js +3 -9
  8. package/cjs/browser/htmlDomUtils.js.map +1 -0
  9. package/cjs/browser/pageExitObservable.js +3 -9
  10. package/cjs/browser/pageExitObservable.js.map +1 -0
  11. package/cjs/browser/runOnReadyState.js +2 -4
  12. package/cjs/browser/runOnReadyState.js.map +1 -0
  13. package/cjs/browser/scroll.js +32 -0
  14. package/cjs/browser/scroll.js.map +1 -0
  15. package/cjs/browser/xhrObservable.js +2 -21
  16. package/cjs/browser/xhrObservable.js.map +1 -0
  17. package/cjs/configuration/configuration.js +9 -20
  18. package/cjs/configuration/configuration.js.map +1 -0
  19. package/cjs/configuration/transportConfiguration.js +6 -20
  20. package/cjs/configuration/transportConfiguration.js.map +1 -0
  21. package/cjs/console/consoleObservable.js +3 -21
  22. package/cjs/console/consoleObservable.js.map +1 -0
  23. package/cjs/dataMap.js +24 -10
  24. package/cjs/dataMap.js.map +1 -0
  25. package/cjs/error/trackRuntimeError.js +3 -7
  26. package/cjs/error/trackRuntimeError.js.map +1 -0
  27. package/cjs/helper/boundedBuffer.js +2 -6
  28. package/cjs/helper/boundedBuffer.js.map +1 -0
  29. package/cjs/helper/byteUtils.js +6 -16
  30. package/cjs/helper/byteUtils.js.map +1 -0
  31. package/cjs/helper/catchUserErrors.js +2 -4
  32. package/cjs/helper/catchUserErrors.js.map +1 -0
  33. package/cjs/helper/contextHistory.js +21 -37
  34. package/cjs/helper/contextHistory.js.map +1 -0
  35. package/cjs/helper/createEventRateLimiter.js +2 -10
  36. package/cjs/helper/createEventRateLimiter.js.map +1 -0
  37. package/cjs/helper/deviceInfo.js +10 -64
  38. package/cjs/helper/deviceInfo.js.map +1 -0
  39. package/cjs/helper/display.js +2 -5
  40. package/cjs/helper/display.js.map +1 -0
  41. package/cjs/helper/enums.js +8 -2
  42. package/cjs/helper/enums.js.map +1 -0
  43. package/cjs/helper/errorTools.js +32 -38
  44. package/cjs/helper/errorTools.js.map +1 -0
  45. package/cjs/helper/eventEmitter.js +2 -6
  46. package/cjs/helper/eventEmitter.js.map +1 -0
  47. package/cjs/helper/getZoneJsOriginalValue.js +2 -5
  48. package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
  49. package/cjs/helper/instrumentMethod.js +10 -22
  50. package/cjs/helper/instrumentMethod.js.map +1 -0
  51. package/cjs/helper/lifeCycle.js +2 -9
  52. package/cjs/helper/lifeCycle.js.map +1 -0
  53. package/cjs/helper/limitModification.js +4 -22
  54. package/cjs/helper/limitModification.js.map +1 -0
  55. package/cjs/helper/mobileUtil.js +2 -20
  56. package/cjs/helper/mobileUtil.js.map +1 -0
  57. package/cjs/helper/monitor.js +2 -11
  58. package/cjs/helper/monitor.js.map +1 -0
  59. package/cjs/helper/observable.js +2 -9
  60. package/cjs/helper/observable.js.map +1 -0
  61. package/cjs/helper/readBytesFromStream.js +4 -14
  62. package/cjs/helper/readBytesFromStream.js.map +1 -0
  63. package/cjs/helper/sanitize.js +38 -61
  64. package/cjs/helper/sanitize.js.map +1 -0
  65. package/cjs/helper/serialisation/contextManager.js +5 -15
  66. package/cjs/helper/serialisation/contextManager.js.map +1 -0
  67. package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
  68. package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
  69. package/cjs/helper/serialisation/jsonStringify.js +6 -12
  70. package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
  71. package/cjs/helper/serialisation/rowData.js +3 -10
  72. package/cjs/helper/serialisation/rowData.js.map +1 -0
  73. package/cjs/helper/timer.js +2 -8
  74. package/cjs/helper/timer.js.map +1 -0
  75. package/cjs/helper/tools.js +57 -444
  76. package/cjs/helper/tools.js.map +1 -0
  77. package/cjs/helper/urlPolyfill.js +5 -18
  78. package/cjs/helper/urlPolyfill.js.map +1 -0
  79. package/cjs/index.js +24 -95
  80. package/cjs/index.js.map +1 -0
  81. package/cjs/init.js +14 -20
  82. package/cjs/init.js.map +1 -0
  83. package/cjs/report/reportObservable.js +5 -24
  84. package/cjs/report/reportObservable.js.map +1 -0
  85. package/cjs/session/sessionConstants.js +2 -3
  86. package/cjs/session/sessionConstants.js.map +1 -0
  87. package/cjs/session/sessionCookieStore.js +11 -46
  88. package/cjs/session/sessionCookieStore.js.map +1 -0
  89. package/cjs/session/sessionManagement.js +2 -19
  90. package/cjs/session/sessionManagement.js.map +1 -0
  91. package/cjs/session/sessionStore.js +3 -28
  92. package/cjs/session/sessionStore.js.map +1 -0
  93. package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
  94. package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
  95. package/cjs/synthetics/usr.js +2 -8
  96. package/cjs/synthetics/usr.js.map +1 -0
  97. package/cjs/telemetry/telemetry.js +125 -0
  98. package/cjs/telemetry/telemetry.js.map +1 -0
  99. package/cjs/telemetry/types.js +17 -0
  100. package/cjs/telemetry/types.js.map +1 -0
  101. package/cjs/tracekit/computeStackTrace.js +4 -34
  102. package/cjs/tracekit/computeStackTrace.js.map +1 -0
  103. package/cjs/tracekit/index.js +2 -3
  104. package/cjs/tracekit/index.js.map +1 -0
  105. package/cjs/tracekit/tracekit.js +3 -18
  106. package/cjs/tracekit/tracekit.js.map +1 -0
  107. package/cjs/transport/batch.js +5 -54
  108. package/cjs/transport/batch.js.map +1 -0
  109. package/cjs/transport/eventBridge.js +2 -7
  110. package/cjs/transport/eventBridge.js.map +1 -0
  111. package/cjs/transport/flushController.js +8 -21
  112. package/cjs/transport/flushController.js.map +1 -0
  113. package/cjs/transport/httpRequest.js +4 -18
  114. package/cjs/transport/httpRequest.js.map +1 -0
  115. package/cjs/transport/index.js +2 -6
  116. package/cjs/transport/index.js.map +1 -0
  117. package/cjs/transport/sendWithRetryStrategy.js +3 -27
  118. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  119. package/cjs/transport/startBatchWithReplica.js +2 -7
  120. package/cjs/transport/startBatchWithReplica.js.map +1 -0
  121. package/cjs/user/index.js +2 -3
  122. package/cjs/user/index.js.map +1 -0
  123. package/cjs/user/user.js +3 -8
  124. package/cjs/user/user.js.map +1 -0
  125. package/cjs/worker.js +2 -2
  126. package/cjs/worker.js.map +1 -0
  127. package/esm/browser/addEventListener.js +3 -3
  128. package/esm/browser/addEventListener.js.map +1 -0
  129. package/esm/browser/cookie.js +3 -6
  130. package/esm/browser/cookie.js.map +1 -0
  131. package/esm/browser/fetchObservable.js +4 -14
  132. package/esm/browser/fetchObservable.js.map +1 -0
  133. package/esm/browser/htmlDomUtils.js +3 -2
  134. package/esm/browser/htmlDomUtils.js.map +1 -0
  135. package/esm/browser/pageExitObservable.js +3 -2
  136. package/esm/browser/pageExitObservable.js.map +1 -0
  137. package/esm/browser/runOnReadyState.js +2 -1
  138. package/esm/browser/runOnReadyState.js.map +1 -0
  139. package/esm/browser/scroll.js +25 -0
  140. package/esm/browser/scroll.js.map +1 -0
  141. package/esm/browser/xhrObservable.js +2 -14
  142. package/esm/browser/xhrObservable.js.map +1 -0
  143. package/esm/configuration/configuration.js +9 -9
  144. package/esm/configuration/configuration.js.map +1 -0
  145. package/esm/configuration/transportConfiguration.js +6 -17
  146. package/esm/configuration/transportConfiguration.js.map +1 -0
  147. package/esm/console/consoleObservable.js +3 -11
  148. package/esm/console/consoleObservable.js.map +1 -0
  149. package/esm/dataMap.js +24 -8
  150. package/esm/dataMap.js.map +1 -0
  151. package/esm/error/trackRuntimeError.js +4 -3
  152. package/esm/error/trackRuntimeError.js.map +1 -0
  153. package/esm/helper/boundedBuffer.js +2 -4
  154. package/esm/helper/boundedBuffer.js.map +1 -0
  155. package/esm/helper/byteUtils.js +6 -13
  156. package/esm/helper/byteUtils.js.map +1 -0
  157. package/esm/helper/catchUserErrors.js +2 -2
  158. package/esm/helper/catchUserErrors.js.map +1 -0
  159. package/esm/helper/contextHistory.js +21 -33
  160. package/esm/helper/contextHistory.js.map +1 -0
  161. package/esm/helper/createEventRateLimiter.js +2 -6
  162. package/esm/helper/createEventRateLimiter.js.map +1 -0
  163. package/esm/helper/deviceInfo.js +10 -62
  164. package/esm/helper/deviceInfo.js.map +1 -0
  165. package/esm/helper/display.js +2 -3
  166. package/esm/helper/display.js.map +1 -0
  167. package/esm/helper/enums.js +6 -1
  168. package/esm/helper/enums.js.map +1 -0
  169. package/esm/helper/errorTools.js +30 -25
  170. package/esm/helper/errorTools.js.map +1 -0
  171. package/esm/helper/eventEmitter.js +2 -5
  172. package/esm/helper/eventEmitter.js.map +1 -0
  173. package/esm/helper/getZoneJsOriginalValue.js +2 -4
  174. package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
  175. package/esm/helper/instrumentMethod.js +10 -16
  176. package/esm/helper/instrumentMethod.js.map +1 -0
  177. package/esm/helper/lifeCycle.js +2 -5
  178. package/esm/helper/lifeCycle.js.map +1 -0
  179. package/esm/helper/limitModification.js +5 -20
  180. package/esm/helper/limitModification.js.map +1 -0
  181. package/esm/helper/mobileUtil.js +2 -16
  182. package/esm/helper/mobileUtil.js.map +1 -0
  183. package/esm/helper/monitor.js +2 -3
  184. package/esm/helper/monitor.js.map +1 -0
  185. package/esm/helper/observable.js +2 -7
  186. package/esm/helper/observable.js.map +1 -0
  187. package/esm/helper/readBytesFromStream.js +4 -12
  188. package/esm/helper/readBytesFromStream.js.map +1 -0
  189. package/esm/helper/sanitize.js +40 -57
  190. package/esm/helper/sanitize.js.map +1 -0
  191. package/esm/helper/serialisation/contextManager.js +5 -9
  192. package/esm/helper/serialisation/contextManager.js.map +1 -0
  193. package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
  194. package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
  195. package/esm/helper/serialisation/jsonStringify.js +7 -10
  196. package/esm/helper/serialisation/jsonStringify.js.map +1 -0
  197. package/esm/helper/serialisation/rowData.js +3 -4
  198. package/esm/helper/serialisation/rowData.js.map +1 -0
  199. package/esm/helper/timer.js +2 -1
  200. package/esm/helper/timer.js.map +1 -0
  201. package/esm/helper/tools.js +57 -256
  202. package/esm/helper/tools.js.map +1 -0
  203. package/esm/helper/urlPolyfill.js +5 -9
  204. package/esm/helper/urlPolyfill.js.map +1 -0
  205. package/esm/index.js +4 -1
  206. package/esm/index.js.map +1 -0
  207. package/esm/init.js +14 -14
  208. package/esm/init.js.map +1 -0
  209. package/esm/report/reportObservable.js +5 -16
  210. package/esm/report/reportObservable.js.map +1 -0
  211. package/esm/session/sessionConstants.js +2 -1
  212. package/esm/session/sessionConstants.js.map +1 -0
  213. package/esm/session/sessionCookieStore.js +11 -38
  214. package/esm/session/sessionCookieStore.js.map +1 -0
  215. package/esm/session/sessionManagement.js +2 -8
  216. package/esm/session/sessionManagement.js.map +1 -0
  217. package/esm/session/sessionStore.js +4 -22
  218. package/esm/session/sessionStore.js.map +1 -0
  219. package/esm/synthetics/syntheticsWorkerValues.js +2 -1
  220. package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
  221. package/esm/synthetics/usr.js +2 -3
  222. package/esm/synthetics/usr.js.map +1 -0
  223. package/esm/telemetry/telemetry.js +111 -0
  224. package/esm/telemetry/telemetry.js.map +1 -0
  225. package/esm/telemetry/types.js +9 -0
  226. package/esm/telemetry/types.js.map +1 -0
  227. package/esm/tracekit/computeStackTrace.js +4 -31
  228. package/esm/tracekit/computeStackTrace.js.map +1 -0
  229. package/esm/tracekit/index.js +2 -1
  230. package/esm/tracekit/index.js.map +1 -0
  231. package/esm/tracekit/tracekit.js +5 -14
  232. package/esm/tracekit/tracekit.js.map +1 -0
  233. package/esm/transport/batch.js +7 -45
  234. package/esm/transport/batch.js.map +1 -0
  235. package/esm/transport/eventBridge.js +2 -5
  236. package/esm/transport/eventBridge.js.map +1 -0
  237. package/esm/transport/flushController.js +11 -20
  238. package/esm/transport/flushController.js.map +1 -0
  239. package/esm/transport/httpRequest.js +4 -15
  240. package/esm/transport/httpRequest.js.map +1 -0
  241. package/esm/transport/index.js +2 -1
  242. package/esm/transport/index.js.map +1 -0
  243. package/esm/transport/sendWithRetryStrategy.js +3 -21
  244. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  245. package/esm/transport/startBatchWithReplica.js +2 -3
  246. package/esm/transport/startBatchWithReplica.js.map +1 -0
  247. package/esm/user/index.js.map +1 -0
  248. package/esm/user/user.js +4 -5
  249. package/esm/user/user.js.map +1 -0
  250. package/esm/worker.js.map +1 -0
  251. package/package.json +2 -2
  252. package/src/browser/scroll.js +25 -0
  253. package/src/configuration/configuration.js +16 -0
  254. package/src/configuration/transportConfiguration.js +2 -2
  255. package/src/dataMap.js +17 -3
  256. package/src/error/trackRuntimeError.js +2 -2
  257. package/src/helper/contextHistory.js +3 -3
  258. package/src/helper/enums.js +4 -0
  259. package/src/helper/errorTools.js +49 -19
  260. package/src/helper/tools.js +1 -0
  261. package/src/index.js +3 -0
  262. package/src/report/reportObservable.js +3 -3
  263. package/src/telemetry/telemetry.js +165 -0
  264. package/src/telemetry/types.js +9 -0
  265. package/src/transport/sendWithRetryStrategy.js +1 -5
@@ -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"}
@@ -2,6 +2,7 @@ import { each, noop } from './tools';
2
2
  import { jsonStringify } from '../helper/serialisation/jsonStringify';
3
3
  import { computeStackTrace } from '../tracekit';
4
4
  import { callMonitored } from '../helper/monitor';
5
+ export var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';
5
6
  export var ErrorSource = {
6
7
  AGENT: 'agent',
7
8
  CONSOLE: 'console',
@@ -18,32 +19,39 @@ export function computeRawError(data) {
18
19
  var nonErrorPrefix = data.nonErrorPrefix;
19
20
  var source = data.source;
20
21
  var handling = data.handling;
21
-
22
- if (!stackTrace || stackTrace.message === undefined && !(originalError instanceof Error)) {
23
- return {
24
- startClocks: startClocks,
25
- source: source,
26
- handling: handling,
27
- originalError: originalError,
28
- message: nonErrorPrefix + ' ' + jsonStringify(originalError),
29
- stack: 'No stack, consider using an instance of Error',
30
- handlingStack: handlingStack,
31
- type: stackTrace && stackTrace.name
32
- };
33
- }
34
-
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;
35
27
  return {
36
28
  startClocks: startClocks,
37
29
  source: source,
38
30
  handling: handling,
39
31
  originalError: originalError,
40
- message: stackTrace.message || 'Empty message',
41
- stack: toStackTraceString(stackTrace),
32
+ message: message,
33
+ stack: stack,
42
34
  handlingStack: handlingStack,
43
- type: stackTrace.name,
44
- causes: flattenErrorCauses(originalError, source)
35
+ type: type,
36
+ causes: causes
45
37
  };
46
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
+ }
47
55
  export function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingStack) {
48
56
  if (!stackTrace || stackTrace.message === undefined && !(errorObject instanceof Error)) {
49
57
  return {
@@ -53,7 +61,6 @@ export function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, hand
53
61
  type: stackTrace && stackTrace.name
54
62
  };
55
63
  }
56
-
57
64
  return {
58
65
  message: stackTrace.message || 'Empty message',
59
66
  stack: toStackTraceString(stackTrace),
@@ -68,7 +75,6 @@ export function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, hand
68
75
  - Has to be called at the utmost position of the call stack.
69
76
  - No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.
70
77
  */
71
-
72
78
  export function createHandlingStack() {
73
79
  /**
74
80
  * Skip the two internal frames:
@@ -78,8 +84,9 @@ export function createHandlingStack() {
78
84
  */
79
85
  var internalFramesToSkip = 2;
80
86
  var error = new Error();
81
- var formattedStack; // IE needs to throw the error to fill in the stack trace
87
+ var formattedStack;
82
88
 
89
+ // IE needs to throw the error to fill in the stack trace
83
90
  if (!error.stack) {
84
91
  try {
85
92
  throw error;
@@ -87,7 +94,6 @@ export function createHandlingStack() {
87
94
  noop();
88
95
  }
89
96
  }
90
-
91
97
  callMonitored(function () {
92
98
  var stackTrace = computeStackTrace(error);
93
99
  stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);
@@ -116,7 +122,6 @@ export function getFileFromStackTraceString(stack) {
116
122
  export function flattenErrorCauses(error, parentSource) {
117
123
  var currentError = error;
118
124
  var causes = [];
119
-
120
125
  while (currentError && currentError.cause instanceof Error && causes.length < 10) {
121
126
  var stackTrace = computeStackTrace(currentError.cause);
122
127
  causes.push({
@@ -127,6 +132,6 @@ export function flattenErrorCauses(error, parentSource) {
127
132
  });
128
133
  currentError = currentError.cause;
129
134
  }
130
-
131
135
  return causes.length ? causes : undefined;
132
- }
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"}
@@ -4,16 +4,13 @@ import { callMonitored } from './monitor';
4
4
  export function instrumentMethod(object, method, instrumentationFactory) {
5
5
  var original = object[method];
6
6
  var instrumentation = instrumentationFactory(original);
7
-
8
7
  var instrumentationWrapper = function instrumentationWrapper() {
9
8
  if (typeof instrumentation !== 'function') {
10
9
  return undefined;
11
- } // eslint-disable-next-line @typescript-eslint/no-unsafe-return
12
-
13
-
10
+ }
11
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
14
12
  return instrumentation.apply(this, arguments);
15
13
  };
16
-
17
14
  object[method] = instrumentationWrapper;
18
15
  return {
19
16
  stop: function stop() {
@@ -29,18 +26,18 @@ export function instrumentMethodAndCallOriginal(object, method, aliasOption) {
29
26
  return instrumentMethod(object, method, function (original) {
30
27
  return function () {
31
28
  var result;
32
-
33
29
  if (aliasOption && aliasOption.before) {
34
- callMonitored(aliasOption.before, this, arguments); // aliasOption.before.apply(this, arguments)
30
+ callMonitored(aliasOption.before, this, arguments);
31
+ // aliasOption.before.apply(this, arguments)
35
32
  }
36
33
 
37
34
  if (typeof original === 'function') {
38
35
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call
39
36
  result = original.apply(this, arguments);
40
37
  }
41
-
42
38
  if (aliasOption && aliasOption.after) {
43
- callMonitored(aliasOption.after, this, arguments); // aliasOption.after.apply(this, arguments)
39
+ callMonitored(aliasOption.after, this, arguments);
40
+ // aliasOption.after.apply(this, arguments)
44
41
  }
45
42
 
46
43
  return result;
@@ -49,27 +46,23 @@ export function instrumentMethodAndCallOriginal(object, method, aliasOption) {
49
46
  }
50
47
  export function instrumentSetter(object, property, after) {
51
48
  var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);
52
-
53
49
  if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {
54
50
  return {
55
51
  stop: noop
56
52
  };
57
- } // Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular
53
+ }
54
+ // Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular
58
55
  // component, see issue RUMF-1443
59
-
60
-
61
56
  var instrumentation = function instrumentation(thisObject, value) {
62
57
  // put hooked setter into event loop to avoid of set latency
63
58
  setTimeout(function () {
64
59
  after(thisObject, value);
65
60
  }, 0);
66
61
  };
67
-
68
62
  var instrumentationWrapper = function instrumentationWrapper(value) {
69
63
  originalDescriptor.set.call(this, value);
70
64
  instrumentation(this, value);
71
65
  };
72
-
73
66
  Object.defineProperty(object, property, {
74
67
  set: instrumentationWrapper
75
68
  });
@@ -82,4 +75,5 @@ export function instrumentSetter(object, property, after) {
82
75
  }
83
76
  }
84
77
  };
85
- }
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":"AAAA,SAASA,IAAI,QAAQ,SAAS;AAC9B,SAASC,UAAU,QAAQ,SAAS;AACpC,SAASC,aAAa,QAAQ,WAAW;AACzC,OAAO,SAASC,gBAAgBA,CAACC,MAAM,EAAEC,MAAM,EAAEC,sBAAsB,EAAE;EACvE,IAAIC,QAAQ,GAAGH,MAAM,CAACC,MAAM,CAAC;EAE7B,IAAIG,eAAe,GAAGF,sBAAsB,CAACC,QAAQ,CAAC;EAEtD,IAAIE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAe;IACvC,IAAI,OAAOD,eAAe,KAAK,UAAU,EAAE;MACzC,OAAOE,SAAS;IAClB;IACA;IACA,OAAOF,eAAe,CAACG,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;EAC/C,CAAC;EACDR,MAAM,CAACC,MAAM,CAAC,GAAGI,sBAAsB;EACvC,OAAO;IACLI,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChB,IAAIT,MAAM,CAACC,MAAM,CAAC,KAAKI,sBAAsB,EAAE;QAC7CL,MAAM,CAACC,MAAM,CAAC,GAAGE,QAAQ;MAC3B,CAAC,MAAM;QACLC,eAAe,GAAGD,QAAQ;MAC5B;IACF;EACF,CAAC;AACH;AAEA,OAAO,SAASO,+BAA+BA,CAACV,MAAM,EAAEC,MAAM,EAAEU,WAAW,EAAE;EAC3E,OAAOZ,gBAAgB,CAACC,MAAM,EAAEC,MAAM,EAAE,UAAUE,QAAQ,EAAE;IAC1D,OAAO,YAAY;MACjB,IAAIS,MAAM;MACV,IAAID,WAAW,IAAIA,WAAW,CAACE,MAAM,EAAE;QACrCf,aAAa,CAACa,WAAW,CAACE,MAAM,EAAE,IAAI,EAAEL,SAAS,CAAC;QAClD;MACF;;MACA,IAAI,OAAOL,QAAQ,KAAK,UAAU,EAAE;QAClC;QACAS,MAAM,GAAGT,QAAQ,CAACI,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;MAC1C;MACA,IAAIG,WAAW,IAAIA,WAAW,CAACG,KAAK,EAAE;QACpChB,aAAa,CAACa,WAAW,CAACG,KAAK,EAAE,IAAI,EAAEN,SAAS,CAAC;QACjD;MACF;;MACA,OAAOI,MAAM;IACf,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASG,gBAAgBA,CAACf,MAAM,EAAEgB,QAAQ,EAAEF,KAAK,EAAE;EACxD,IAAIG,kBAAkB,GAAGC,MAAM,CAACC,wBAAwB,CAACnB,MAAM,EAAEgB,QAAQ,CAAC;EAC1E,IACE,CAACC,kBAAkB,IACnB,CAACA,kBAAkB,CAACG,GAAG,IACvB,CAACH,kBAAkB,CAACI,YAAY,EAChC;IACA,OAAO;MAAEZ,IAAI,EAAEb;IAAK,CAAC;EACvB;EACA;EACA;EACA,IAAIQ,eAAe,GAAG,SAAAA,gBAAUkB,UAAU,EAAEC,KAAK,EAAE;IACjD;IACA1B,UAAU,CAAC,YAAY;MACrBiB,KAAK,CAACQ,UAAU,EAAEC,KAAK,CAAC;IAC1B,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,IAAIlB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAakB,KAAK,EAAE;IAC5CN,kBAAkB,CAACG,GAAG,CAACI,IAAI,CAAC,IAAI,EAAED,KAAK,CAAC;IACxCnB,eAAe,CAAC,IAAI,EAAEmB,KAAK,CAAC;EAC9B,CAAC;EAEDL,MAAM,CAACO,cAAc,CAACzB,MAAM,EAAEgB,QAAQ,EAAE;IACtCI,GAAG,EAAEf;EACP,CAAC,CAAC;EAEF,OAAO;IACLI,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChB,IACES,MAAM,CAACC,wBAAwB,CAACnB,MAAM,EAAEgB,QAAQ,CAAC,IACjDE,MAAM,CAACC,wBAAwB,CAACnB,MAAM,EAAEgB,QAAQ,CAAC,CAACI,GAAG,KACnDf,sBAAsB,EACxB;QACAa,MAAM,CAACO,cAAc,CAACzB,MAAM,EAAEgB,QAAQ,EAAEC,kBAAkB,CAAC;MAC7D,CAAC,MAAM;QACLb,eAAe,GAAGR,IAAI;MACxB;IACF;EACF,CAAC;AACH"}
@@ -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; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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; } } }; }
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
- _step;
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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"}
@@ -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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"}
@@ -21,7 +21,6 @@ export function callMonitored(fn, context, args) {
21
21
  return fn.apply(context, args);
22
22
  } catch (e) {
23
23
  displayIfDebugEnabled(ConsoleApiName.error, e);
24
-
25
24
  if (onMonitorErrorCollected) {
26
25
  try {
27
26
  onMonitorErrorCollected(e);
@@ -33,8 +32,8 @@ export function callMonitored(fn, context, args) {
33
32
  }
34
33
  export function displayIfDebugEnabled(api) {
35
34
  var args = [].slice.call(arguments, 1);
36
-
37
35
  if (debugMode) {
38
36
  display.apply(null, [api, '[MONITOR]'].concat(args));
39
37
  }
40
- }
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"}
@@ -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"}