@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
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ErrorSource = void 0;
6
+ exports.NO_ERROR_STACK_PRESENT_MESSAGE = exports.ErrorSource = void 0;
7
7
  exports.computeRawError = computeRawError;
8
8
  exports.createHandlingStack = createHandlingStack;
9
9
  exports.flattenErrorCauses = flattenErrorCauses;
@@ -11,15 +11,12 @@ exports.formatErrorMessage = formatErrorMessage;
11
11
  exports.formatUnknownError = formatUnknownError;
12
12
  exports.getFileFromStackTraceString = getFileFromStackTraceString;
13
13
  exports.toStackTraceString = toStackTraceString;
14
-
15
14
  var _tools = require("./tools");
16
-
17
15
  var _jsonStringify = require("../helper/serialisation/jsonStringify");
18
-
19
16
  var _tracekit = require("../tracekit");
20
-
21
17
  var _monitor = require("../helper/monitor");
22
-
18
+ var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';
19
+ exports.NO_ERROR_STACK_PRESENT_MESSAGE = NO_ERROR_STACK_PRESENT_MESSAGE;
23
20
  var ErrorSource = {
24
21
  AGENT: 'agent',
25
22
  CONSOLE: 'console',
@@ -29,7 +26,6 @@ var ErrorSource = {
29
26
  CUSTOM: 'custom'
30
27
  };
31
28
  exports.ErrorSource = ErrorSource;
32
-
33
29
  function computeRawError(data) {
34
30
  var stackTrace = data.stackTrace;
35
31
  var originalError = data.originalError;
@@ -38,33 +34,39 @@ function computeRawError(data) {
38
34
  var nonErrorPrefix = data.nonErrorPrefix;
39
35
  var source = data.source;
40
36
  var handling = data.handling;
41
-
42
- if (!stackTrace || stackTrace.message === undefined && !(originalError instanceof Error)) {
43
- return {
44
- startClocks: startClocks,
45
- source: source,
46
- handling: handling,
47
- originalError: originalError,
48
- message: nonErrorPrefix + ' ' + (0, _jsonStringify.jsonStringify)(originalError),
49
- stack: 'No stack, consider using an instance of Error',
50
- handlingStack: handlingStack,
51
- type: stackTrace && stackTrace.name
52
- };
53
- }
54
-
37
+ var isErrorInstance = originalError instanceof Error;
38
+ var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);
39
+ var stack = hasUsableStack(isErrorInstance, stackTrace) ? toStackTraceString(stackTrace) : NO_ERROR_STACK_PRESENT_MESSAGE;
40
+ var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;
41
+ var type = stackTrace && stackTrace.name;
55
42
  return {
56
43
  startClocks: startClocks,
57
44
  source: source,
58
45
  handling: handling,
59
46
  originalError: originalError,
60
- message: stackTrace.message || 'Empty message',
61
- stack: toStackTraceString(stackTrace),
47
+ message: message,
48
+ stack: stack,
62
49
  handlingStack: handlingStack,
63
- type: stackTrace.name,
64
- causes: flattenErrorCauses(originalError, source)
50
+ type: type,
51
+ causes: causes
65
52
  };
66
53
  }
67
-
54
+ function computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {
55
+ // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)
56
+ // TODO rework tracekit integration to avoid scattering error building logic
57
+ return stackTrace && stackTrace.message && stackTrace && stackTrace.name ? stackTrace.message : !isErrorInstance ? nonErrorPrefix + ' ' + (0, _jsonStringify.jsonStringify)(sanitize(originalError)) : 'Empty message';
58
+ }
59
+ function hasUsableStack(isErrorInstance, stackTrace) {
60
+ if (stackTrace === undefined) {
61
+ return false;
62
+ }
63
+ if (isErrorInstance) {
64
+ return true;
65
+ }
66
+ // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]
67
+ // TODO rework tracekit integration to avoid generating those unusable stack
68
+ return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);
69
+ }
68
70
  function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingStack) {
69
71
  if (!stackTrace || stackTrace.message === undefined && !(errorObject instanceof Error)) {
70
72
  return {
@@ -74,7 +76,6 @@ function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingSta
74
76
  type: stackTrace && stackTrace.name
75
77
  };
76
78
  }
77
-
78
79
  return {
79
80
  message: stackTrace.message || 'Empty message',
80
81
  stack: toStackTraceString(stackTrace),
@@ -89,8 +90,6 @@ function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingSta
89
90
  - Has to be called at the utmost position of the call stack.
90
91
  - No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.
91
92
  */
92
-
93
-
94
93
  function createHandlingStack() {
95
94
  /**
96
95
  * Skip the two internal frames:
@@ -100,8 +99,9 @@ function createHandlingStack() {
100
99
  */
101
100
  var internalFramesToSkip = 2;
102
101
  var error = new Error();
103
- var formattedStack; // IE needs to throw the error to fill in the stack trace
102
+ var formattedStack;
104
103
 
104
+ // IE needs to throw the error to fill in the stack trace
105
105
  if (!error.stack) {
106
106
  try {
107
107
  throw error;
@@ -109,7 +109,6 @@ function createHandlingStack() {
109
109
  (0, _tools.noop)();
110
110
  }
111
111
  }
112
-
113
112
  (0, _monitor.callMonitored)(function () {
114
113
  var stackTrace = (0, _tracekit.computeStackTrace)(error);
115
114
  stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);
@@ -117,7 +116,6 @@ function createHandlingStack() {
117
116
  });
118
117
  return formattedStack;
119
118
  }
120
-
121
119
  function toStackTraceString(stack) {
122
120
  var result = formatErrorMessage(stack);
123
121
  (0, _tools.each)(stack.stack, function (frame) {
@@ -129,20 +127,16 @@ function toStackTraceString(stack) {
129
127
  });
130
128
  return result;
131
129
  }
132
-
133
130
  function formatErrorMessage(stack) {
134
131
  return (stack.name || 'Error') + ': ' + stack.message;
135
132
  }
136
-
137
133
  function getFileFromStackTraceString(stack) {
138
134
  var execResult = /@ (.+)/.exec(stack);
139
135
  return execResult && execResult[1];
140
136
  }
141
-
142
137
  function flattenErrorCauses(error, parentSource) {
143
138
  var currentError = error;
144
139
  var causes = [];
145
-
146
140
  while (currentError && currentError.cause instanceof Error && causes.length < 10) {
147
141
  var stackTrace = (0, _tracekit.computeStackTrace)(currentError.cause);
148
142
  causes.push({
@@ -153,6 +147,6 @@ function flattenErrorCauses(error, parentSource) {
153
147
  });
154
148
  currentError = currentError.cause;
155
149
  }
156
-
157
150
  return causes.length ? causes : undefined;
158
- }
151
+ }
152
+ //# sourceMappingURL=errorTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorTools.js","names":["_tools","require","_jsonStringify","_tracekit","_monitor","NO_ERROR_STACK_PRESENT_MESSAGE","exports","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","jsonStringify","sanitize","length","url","formatUnknownError","errorObject","createHandlingStack","internalFramesToSkip","error","formattedStack","e","noop","callMonitored","computeStackTrace","slice","result","formatErrorMessage","each","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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"}
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.eventEmitter = void 0;
7
-
8
7
  var _tools = require("./tools");
9
-
10
8
  var EventEmitter = function EventEmitter() {
11
9
  this._events = [];
12
10
  this.pendingEvents = [];
13
11
  };
14
-
15
12
  EventEmitter.prototype = {
16
13
  emit: function emit(type) {
17
14
  var args = [].slice.call(arguments, 1);
@@ -19,7 +16,6 @@ EventEmitter.prototype = {
19
16
  if (val.type !== type) {
20
17
  return false;
21
18
  }
22
-
23
19
  val.callback.apply(val.context, args);
24
20
  });
25
21
  },
@@ -27,7 +23,6 @@ EventEmitter.prototype = {
27
23
  if (typeof callback !== 'function') {
28
24
  return;
29
25
  }
30
-
31
26
  this._events.push({
32
27
  type: event,
33
28
  callback: callback,
@@ -36,4 +31,5 @@ EventEmitter.prototype = {
36
31
  }
37
32
  };
38
33
  var eventEmitter = new EventEmitter();
39
- exports.eventEmitter = eventEmitter;
34
+ exports.eventEmitter = eventEmitter;
35
+ //# sourceMappingURL=eventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventEmitter.js","names":["_tools","require","EventEmitter","_events","pendingEvents","prototype","emit","type","args","slice","call","arguments","each","val","callback","apply","context","on","event","push","eventEmitter","exports"],"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,IAAAA,MAAA,GAAAC,OAAA;AACA,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;IACtC,IAAAC,WAAI,EAAC,IAAI,CAACT,OAAO,EAAE,UAAUU,GAAG,EAAE;MAChC,IAAIA,GAAG,CAACN,IAAI,KAAKA,IAAI,EAAE;QACrB,OAAO,KAAK;MACd;MACAM,GAAG,CAACC,QAAQ,CAACC,KAAK,CAACF,GAAG,CAACG,OAAO,EAAER,IAAI,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EACDS,EAAE,EAAE,SAAAA,GAAUC,KAAK,EAAEJ,QAAQ,EAAEE,OAAO,EAAE;IACtC,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;MAClC;IACF;IACA,IAAI,CAACX,OAAO,CAACgB,IAAI,CAAC;MAChBZ,IAAI,EAAEW,KAAK;MACXJ,QAAQ,EAAEA,QAAQ;MAClBE,OAAO,EAAEA,OAAO,IAAI;IACtB,CAAC,CAAC;EACJ;AACF,CAAC;AACM,IAAII,YAAY,GAAG,IAAIlB,YAAY,CAAC,CAAC;AAAAmB,OAAA,CAAAD,YAAA,GAAAA,YAAA"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getZoneJsOriginalValue = getZoneJsOriginalValue;
7
-
8
7
  /**
9
8
  * Gets the original value for a DOM API that was potentially patched by Zone.js.
10
9
  *
@@ -21,14 +20,12 @@ exports.getZoneJsOriginalValue = getZoneJsOriginalValue;
21
20
  function getZoneJsOriginalValue(target, name) {
22
21
  var browserWindow = window;
23
22
  var original;
24
-
25
23
  if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {
26
24
  original = target[browserWindow.Zone.__symbol__(name)];
27
25
  }
28
-
29
26
  if (!original) {
30
27
  original = target[name];
31
28
  }
32
-
33
29
  return original;
34
- }
30
+ }
31
+ //# 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;AACO,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"}
@@ -6,26 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.instrumentMethod = instrumentMethod;
7
7
  exports.instrumentMethodAndCallOriginal = instrumentMethodAndCallOriginal;
8
8
  exports.instrumentSetter = instrumentSetter;
9
-
10
9
  var _tools = require("./tools");
11
-
12
10
  var _timer = require("./timer");
13
-
14
11
  var _monitor = require("./monitor");
15
-
16
12
  function instrumentMethod(object, method, instrumentationFactory) {
17
13
  var original = object[method];
18
14
  var instrumentation = instrumentationFactory(original);
19
-
20
15
  var instrumentationWrapper = function instrumentationWrapper() {
21
16
  if (typeof instrumentation !== 'function') {
22
17
  return undefined;
23
- } // eslint-disable-next-line @typescript-eslint/no-unsafe-return
24
-
25
-
18
+ }
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
26
20
  return instrumentation.apply(this, arguments);
27
21
  };
28
-
29
22
  object[method] = instrumentationWrapper;
30
23
  return {
31
24
  stop: function stop() {
@@ -37,53 +30,47 @@ function instrumentMethod(object, method, instrumentationFactory) {
37
30
  }
38
31
  };
39
32
  }
40
-
41
33
  function instrumentMethodAndCallOriginal(object, method, aliasOption) {
42
34
  return instrumentMethod(object, method, function (original) {
43
35
  return function () {
44
36
  var result;
45
-
46
37
  if (aliasOption && aliasOption.before) {
47
- (0, _monitor.callMonitored)(aliasOption.before, this, arguments); // aliasOption.before.apply(this, arguments)
38
+ (0, _monitor.callMonitored)(aliasOption.before, this, arguments);
39
+ // aliasOption.before.apply(this, arguments)
48
40
  }
49
41
 
50
42
  if (typeof original === 'function') {
51
43
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call
52
44
  result = original.apply(this, arguments);
53
45
  }
54
-
55
46
  if (aliasOption && aliasOption.after) {
56
- (0, _monitor.callMonitored)(aliasOption.after, this, arguments); // aliasOption.after.apply(this, arguments)
47
+ (0, _monitor.callMonitored)(aliasOption.after, this, arguments);
48
+ // aliasOption.after.apply(this, arguments)
57
49
  }
58
50
 
59
51
  return result;
60
52
  };
61
53
  });
62
54
  }
63
-
64
55
  function instrumentSetter(object, property, after) {
65
56
  var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);
66
-
67
57
  if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {
68
58
  return {
69
59
  stop: _tools.noop
70
60
  };
71
- } // Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular
61
+ }
62
+ // Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular
72
63
  // component, see issue RUMF-1443
73
-
74
-
75
64
  var instrumentation = function instrumentation(thisObject, value) {
76
65
  // put hooked setter into event loop to avoid of set latency
77
66
  (0, _timer.setTimeout)(function () {
78
67
  after(thisObject, value);
79
68
  }, 0);
80
69
  };
81
-
82
70
  var instrumentationWrapper = function instrumentationWrapper(value) {
83
71
  originalDescriptor.set.call(this, value);
84
72
  instrumentation(this, value);
85
73
  };
86
-
87
74
  Object.defineProperty(object, property, {
88
75
  set: instrumentationWrapper
89
76
  });
@@ -96,4 +83,5 @@ function instrumentSetter(object, property, after) {
96
83
  }
97
84
  }
98
85
  };
99
- }
86
+ }
87
+ //# sourceMappingURL=instrumentMethod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentMethod.js","names":["_tools","require","_timer","_monitor","instrumentMethod","object","method","instrumentationFactory","original","instrumentation","instrumentationWrapper","undefined","apply","arguments","stop","instrumentMethodAndCallOriginal","aliasOption","result","before","callMonitored","after","instrumentSetter","property","originalDescriptor","Object","getOwnPropertyDescriptor","set","configurable","noop","thisObject","value","setTimeout","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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"}
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.LifeCycle = LifeCycle;
7
7
  exports.LifeCycleEventType = void 0;
8
-
9
8
  var _tools = require("./tools");
10
-
11
9
  var LifeCycleEventType = {
12
10
  PERFORMANCE_ENTRIES_COLLECTED: 'PERFORMANCE_ENTRIES_COLLECTED',
13
11
  AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',
@@ -26,15 +24,12 @@ var LifeCycleEventType = {
26
24
  LOG_COLLECTED: 'LOG_COLLECTED'
27
25
  };
28
26
  exports.LifeCycleEventType = LifeCycleEventType;
29
-
30
27
  function LifeCycle() {
31
28
  this.callbacks = {};
32
29
  }
33
-
34
30
  LifeCycle.prototype = {
35
31
  notify: function notify(eventType, data) {
36
32
  var eventCallbacks = this.callbacks[eventType];
37
-
38
33
  if (eventCallbacks) {
39
34
  (0, _tools.each)(eventCallbacks, function (callback) {
40
35
  callback(data);
@@ -45,11 +40,8 @@ LifeCycle.prototype = {
45
40
  if (!this.callbacks[eventType]) {
46
41
  this.callbacks[eventType] = [];
47
42
  }
48
-
49
43
  this.callbacks[eventType].push(callback);
50
-
51
44
  var _this = this;
52
-
53
45
  return {
54
46
  unsubscribe: function unsubscribe() {
55
47
  _this.callbacks[eventType] = (0, _tools.filter)(_this.callbacks[eventType], function (other) {
@@ -58,4 +50,5 @@ LifeCycle.prototype = {
58
50
  }
59
51
  };
60
52
  }
61
- };
53
+ };
54
+ //# sourceMappingURL=lifeCycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifeCycle.js","names":["_tools","require","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","exports","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","each","callback","subscribe","push","_this","unsubscribe","filter","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,IAAAA,MAAA,GAAAC,OAAA;AACO,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;AAAAC,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA;AACM,SAASiB,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;MAClB,IAAAC,WAAI,EAACD,cAAc,EAAE,UAAUE,QAAQ,EAAE;QACvCA,QAAQ,CAACH,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDI,SAAS,EAAE,SAAAA,UAAUL,SAAS,EAAEI,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACP,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACM,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,GAAG,IAAAS,aAAM,EACjCF,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUU,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKN,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC"}
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.limitModification = limitModification;
7
-
8
7
  var _tools = require("./tools");
9
-
10
8
  var _sanitize = require("./sanitize");
11
-
12
- 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; } } }; }
13
-
9
+ 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; } } }; }
14
10
  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); }
15
-
16
11
  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; }
17
-
18
12
  /**
19
13
  * Current limitation:
20
14
  * - field path do not support array, 'a.b.c' only
@@ -27,7 +21,6 @@ function limitModification(object, modifiableFieldPaths, modifier) {
27
21
  var fieldType = filedPaths[1];
28
22
  var newValue = get(clone, fieldPath);
29
23
  var newType = (0, _tools.getType)(newValue);
30
-
31
24
  if (newType === fieldType) {
32
25
  set(object, fieldPath, (0, _sanitize.sanitize)(newValue));
33
26
  } else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {
@@ -36,21 +29,16 @@ function limitModification(object, modifiableFieldPaths, modifier) {
36
29
  });
37
30
  return result;
38
31
  }
39
-
40
32
  function get(object, path) {
41
33
  var current = object;
42
-
43
34
  var _iterator = _createForOfIteratorHelper(path.split('.')),
44
- _step;
45
-
35
+ _step;
46
36
  try {
47
37
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
48
38
  var field = _step.value;
49
-
50
39
  if (!isValidObjectContaining(current, field)) {
51
40
  return;
52
41
  }
53
-
54
42
  current = current[field];
55
43
  }
56
44
  } catch (err) {
@@ -58,21 +46,16 @@ function get(object, path) {
58
46
  } finally {
59
47
  _iterator.f();
60
48
  }
61
-
62
49
  return current;
63
50
  }
64
-
65
51
  function set(object, path, value) {
66
52
  var current = object;
67
53
  var fields = path.split('.');
68
-
69
54
  for (var i = 0; i < fields.length; i += 1) {
70
55
  var field = fields[i];
71
-
72
56
  if (!isValidObject(current)) {
73
57
  return;
74
58
  }
75
-
76
59
  if (i !== fields.length - 1) {
77
60
  current = current[field];
78
61
  } else {
@@ -80,11 +63,10 @@ function set(object, path, value) {
80
63
  }
81
64
  }
82
65
  }
83
-
84
66
  function isValidObject(object) {
85
67
  return (0, _tools.getType)(object) === 'object';
86
68
  }
87
-
88
69
  function isValidObjectContaining(object, field) {
89
70
  return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);
90
- }
71
+ }
72
+ //# sourceMappingURL=limitModification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limitModification.js","names":["_tools","require","_sanitize","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","limitModification","object","modifiableFieldPaths","modifier","clone","deepClone","result","each","objectEntries","filedPaths","fieldPath","fieldType","newValue","get","newType","getType","set","sanitize","path","current","_iterator","split","_step","field","isValidObjectContaining","fields","isValidObject","hasOwnProperty"],"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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"}
@@ -6,34 +6,26 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.userAgent = exports.isIos = exports.isAndroid = exports.JsBirdge = void 0;
7
7
  var userAgent = navigator.userAgent.toLowerCase();
8
8
  exports.userAgent = userAgent;
9
-
10
9
  var isAndroid = function isAndroid() {
11
10
  return /android/.test(userAgent);
12
11
  };
13
-
14
12
  exports.isAndroid = isAndroid;
15
-
16
13
  var isIos = function isIos() {
17
14
  return /iphone os/.test(userAgent);
18
15
  };
19
-
20
16
  exports.isIos = isIos;
21
-
22
17
  var JsBirdge = function JsBirdge() {
23
18
  this.bridge = window['FTWebViewJavascriptBridge'];
24
19
  this.tagMaps = {};
25
20
  window.mapWebViewCallBack = {};
26
-
27
21
  try {
28
22
  this.initBridge();
29
23
  } catch (err) {}
30
24
  };
31
-
32
25
  exports.JsBirdge = JsBirdge;
33
26
  JsBirdge.prototype = {
34
27
  initBridge: function initBridge() {
35
28
  var _this = this;
36
-
37
29
  if (isIos()) {
38
30
  if (!_this.bridge) {
39
31
  if (window.WVJBCallbacks) {
@@ -61,20 +53,14 @@ JsBirdge.prototype = {
61
53
  if (typeof params === 'undefined') {
62
54
  params = {};
63
55
  }
64
-
65
56
  var _this = this;
66
-
67
57
  var tag = 'Unique id:' + new Date().getTime();
68
-
69
58
  if (params.name) {
70
59
  _this.tagMaps[params.name] = tag;
71
-
72
60
  window.mapWebViewCallBack[tag] = function (ret, err) {
73
61
  return Promise.resolve(ret, err);
74
62
  };
75
-
76
63
  params['_tag'] = tag;
77
-
78
64
  try {
79
65
  if (isIos()) {
80
66
  _this.bridge.callHandler('sendEvent', JSON.stringify(params), 'mapWebViewCallBack');
@@ -90,19 +76,14 @@ JsBirdge.prototype = {
90
76
  },
91
77
  addEventListener: function addEventListener(params, callback) {
92
78
  var tag = 'Unique id:' + new Date().getTime();
93
-
94
79
  var _this = this;
95
-
96
80
  if (params.name) {
97
81
  _this.tagMaps[params.name] = tag;
98
-
99
82
  window.mapWebViewCallBack[tag] = function (ret, err) {
100
83
  callback(ret, err);
101
84
  return;
102
85
  };
103
-
104
86
  params['_tag'] = tag;
105
-
106
87
  try {
107
88
  if (isIos()) {
108
89
  _this.bridge.callHandler('addEventListener', JSON.stringify(params), 'mapWebViewCallBack');
@@ -118,4 +99,5 @@ JsBirdge.prototype = {
118
99
  }
119
100
  };
120
101
  var JsBirdge = JsBirdge;
121
- exports.JsBirdge = JsBirdge;
102
+ exports.JsBirdge = JsBirdge;
103
+ //# sourceMappingURL=mobileUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobileUtil.js","names":["userAgent","navigator","toLowerCase","exports","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":";;;;;;AAAO,IAAIA,SAAS,GAAGC,SAAS,CAACD,SAAS,CAACE,WAAW,CAAC,CAAC;AAAAC,OAAA,CAAAH,SAAA,GAAAA,SAAA;AACjD,IAAII,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAe;EACjC,OAAO,SAAS,CAACC,IAAI,CAACL,SAAS,CAAC;AAClC,CAAC;AAAAG,OAAA,CAAAC,SAAA,GAAAA,SAAA;AACM,IAAIE,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAe;EAC7B,OAAO,WAAW,CAACD,IAAI,CAACL,SAAS,CAAC;AACpC,CAAC;AAAAG,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAED,IAAIC,QAAQ,GAAG,SAAAA,SAAA,EAAY;EACzB,IAAI,CAACC,MAAM,GAAGC,MAAM,CAAC,2BAA2B,CAAC;EACjD,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC;EACjBD,MAAM,CAACE,kBAAkB,GAAG,CAAC,CAAC;EAC9B,IAAI;IACF,IAAI,CAACC,UAAU,CAAC,CAAC;EACnB,CAAC,CAAC,OAAOC,GAAG,EAAE,CAAC;AACjB,CAAC;AAAAV,OAAA,CAAAI,QAAA,GAAAA,QAAA;AACDA,QAAQ,CAACO,SAAS,GAAG;EACnBF,UAAU,EAAE,SAAAA,WAAA,EAAY;IACtB,IAAIG,KAAK,GAAG,IAAI;IAChB,IAAIT,KAAK,CAAC,CAAC,EAAE;MACX,IAAI,CAACS,KAAK,CAACP,MAAM,EAAE;QACjB,IAAIC,MAAM,CAACO,aAAa,EAAE;UACxBP,MAAM,CAACO,aAAa,CAACC,IAAI,CAAC,UAAUT,MAAM,EAAE;YAC1CO,KAAK,CAACP,MAAM,GAAGA,MAAM;UACvB,CAAC,CAAC;UACF;QACF,CAAC,MAAM;UACLC,MAAM,CAACO,aAAa,GAAG,CACrB,UAAUR,MAAM,EAAE;YAChBO,KAAK,CAACP,MAAM,GAAGA,MAAM;YACrB;UACF,CAAC,CACF;UACD,IAAIU,UAAU,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;UACjDF,UAAU,CAACG,KAAK,CAACC,OAAO,GAAG,MAAM;UACjCJ,UAAU,CAACK,GAAG,GAAG,gCAAgC;UACjDJ,QAAQ,CAACK,eAAe,CAACC,WAAW,CAACP,UAAU,CAAC;UAChDQ,UAAU,CAAC,YAAY;YACrBP,QAAQ,CAACK,eAAe,CAACG,WAAW,CAACT,UAAU,CAAC;UAClD,CAAC,EAAE,CAAC,CAAC;QACP;MACF;IACF;EACF,CAAC;EACDU,SAAS,EAAE,SAAAA,UAAUC,MAAM,EAAEC,QAAQ,EAAE;IACrC,IAAI,OAAOD,MAAM,KAAK,WAAW,EAAE;MACjCA,MAAM,GAAG,CAAC,CAAC;IACb;IACA,IAAId,KAAK,GAAG,IAAI;IAChB,IAAIgB,GAAG,GAAG,YAAY,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IAC7C,IAAIJ,MAAM,CAACK,IAAI,EAAE;MACfnB,KAAK,CAACL,OAAO,CAACmB,MAAM,CAACK,IAAI,CAAC,GAAGH,GAAG;MAChCtB,MAAM,CAACE,kBAAkB,CAACoB,GAAG,CAAC,GAAG,UAAUI,GAAG,EAAEtB,GAAG,EAAE;QACnD,OAAOuB,OAAO,CAACC,OAAO,CAACF,GAAG,EAAEtB,GAAG,CAAC;MAClC,CAAC;MACDgB,MAAM,CAAC,MAAM,CAAC,GAAGE,GAAG;MACpB,IAAI;QACF,IAAIzB,KAAK,CAAC,CAAC,EAAE;UACXS,KAAK,CAACP,MAAM,CAAC8B,WAAW,CACtB,WAAW,EACXC,IAAI,CAACC,SAAS,CAACX,MAAM,CAAC,EACtB,oBACF,CAAC;QACH,CAAC,MAAM;UACLd,KAAK,CAACP,MAAM,CAACoB,SAAS,CAACW,IAAI,CAACC,SAAS,CAACX,MAAM,CAAC,EAAE,oBAAoB,CAAC;QACtE;MACF,CAAC,CAAC,OAAOhB,GAAG,EAAE,CAAC;IACjB,CAAC,MAAM;MACLiB,QAAQ,CAAC;QAAEW,KAAK,EAAE;MAAe,CAAC,CAAC;IACrC;EACF,CAAC;EACDC,gBAAgB,EAAE,SAAAA,iBAAUb,MAAM,EAAEC,QAAQ,EAAE;IAC5C,IAAIC,GAAG,GAAG,YAAY,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IAC7C,IAAIlB,KAAK,GAAG,IAAI;IAChB,IAAIc,MAAM,CAACK,IAAI,EAAE;MACfnB,KAAK,CAACL,OAAO,CAACmB,MAAM,CAACK,IAAI,CAAC,GAAGH,GAAG;MAChCtB,MAAM,CAACE,kBAAkB,CAACoB,GAAG,CAAC,GAAG,UAAUI,GAAG,EAAEtB,GAAG,EAAE;QACnDiB,QAAQ,CAACK,GAAG,EAAEtB,GAAG,CAAC;QAClB;MACF,CAAC;MACDgB,MAAM,CAAC,MAAM,CAAC,GAAGE,GAAG;MACpB,IAAI;QACF,IAAIzB,KAAK,CAAC,CAAC,EAAE;UACXS,KAAK,CAACP,MAAM,CAAC8B,WAAW,CACtB,kBAAkB,EAClBC,IAAI,CAACC,SAAS,CAACX,MAAM,CAAC,EACtB,oBACF,CAAC;QACH,CAAC,MAAM;UACLd,KAAK,CAACP,MAAM,CAACkC,gBAAgB,CAC3BH,IAAI,CAACC,SAAS,CAACX,MAAM,CAAC,EACtB,oBACF,CAAC;QACH;MACF,CAAC,CAAC,OAAOhB,GAAG,EAAE,CAAC;IACjB,CAAC,MAAM;MACLiB,QAAQ,CAAC;QAAEW,KAAK,EAAE;MAAe,CAAC,CAAC;IACrC;EACF;AACF,CAAC;AAEM,IAAIlC,QAAQ,GAAGA,QAAQ;AAAAJ,OAAA,CAAAI,QAAA,GAAAA,QAAA"}