@grafana/faro-core 1.0.0-beta2 → 1.0.0-beta3

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 (255) hide show
  1. package/README.md +67 -13
  2. package/dist/cjs/api/events/index.d.ts +1 -1
  3. package/dist/cjs/api/events/index.js.map +1 -1
  4. package/dist/cjs/api/events/initialize.js.map +1 -1
  5. package/dist/cjs/api/events/initialize.test.js.map +1 -1
  6. package/dist/cjs/api/events/types.d.ts +1 -1
  7. package/dist/cjs/api/events/types.js.map +1 -1
  8. package/dist/cjs/api/exceptions/const.js.map +1 -1
  9. package/dist/cjs/api/exceptions/index.js.map +1 -1
  10. package/dist/cjs/api/exceptions/initialize.js.map +1 -1
  11. package/dist/cjs/api/exceptions/initialize.test.js.map +1 -1
  12. package/dist/cjs/api/exceptions/types.d.ts +1 -1
  13. package/dist/cjs/api/exceptions/types.js.map +1 -1
  14. package/dist/cjs/api/index.d.ts +2 -2
  15. package/dist/cjs/api/index.js.map +1 -1
  16. package/dist/cjs/api/initialize.js.map +1 -1
  17. package/dist/cjs/api/logs/index.js.map +1 -1
  18. package/dist/cjs/api/logs/initialize.js.map +1 -1
  19. package/dist/cjs/api/logs/initialize.test.js.map +1 -1
  20. package/dist/cjs/api/logs/types.d.ts +1 -1
  21. package/dist/cjs/api/logs/types.js.map +1 -1
  22. package/dist/cjs/api/measurements/index.js.map +1 -1
  23. package/dist/cjs/api/measurements/initialize.js.map +1 -1
  24. package/dist/cjs/api/measurements/initialize.test.js.map +1 -1
  25. package/dist/cjs/api/measurements/types.js.map +1 -1
  26. package/dist/cjs/api/meta/index.js.map +1 -1
  27. package/dist/cjs/api/meta/initialize.js.map +1 -1
  28. package/dist/cjs/api/meta/types.js.map +1 -1
  29. package/dist/cjs/api/traces/index.d.ts +1 -1
  30. package/dist/cjs/api/traces/index.js.map +1 -1
  31. package/dist/cjs/api/traces/initialize.js.map +1 -1
  32. package/dist/cjs/api/traces/types.d.ts +2 -8
  33. package/dist/cjs/api/traces/types.js.map +1 -1
  34. package/dist/cjs/api/types.d.ts +2 -2
  35. package/dist/cjs/api/types.js.map +1 -1
  36. package/dist/cjs/config/const.js.map +1 -1
  37. package/dist/cjs/config/index.js.map +1 -1
  38. package/dist/cjs/config/types.d.ts +1 -1
  39. package/dist/cjs/config/types.js.map +1 -1
  40. package/dist/cjs/faro.test.js.map +1 -1
  41. package/dist/cjs/globalObject/globalObject.d.ts +1 -1
  42. package/dist/cjs/globalObject/globalObject.js.map +1 -1
  43. package/dist/cjs/globalObject/index.js.map +1 -1
  44. package/dist/cjs/index.d.ts +1 -1
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/cjs/initialize.js.map +1 -1
  47. package/dist/cjs/instrumentations/base.js.map +1 -1
  48. package/dist/cjs/instrumentations/index.js.map +1 -1
  49. package/dist/cjs/instrumentations/initialize.js.map +1 -1
  50. package/dist/cjs/instrumentations/types.js.map +1 -1
  51. package/dist/cjs/internalLogger/const.js.map +1 -1
  52. package/dist/cjs/internalLogger/createInternalLogger.js.map +1 -1
  53. package/dist/cjs/internalLogger/index.js.map +1 -1
  54. package/dist/cjs/internalLogger/initialize.js.map +1 -1
  55. package/dist/cjs/internalLogger/types.js.map +1 -1
  56. package/dist/cjs/metas/index.js.map +1 -1
  57. package/dist/cjs/metas/initialize.js.map +1 -1
  58. package/dist/cjs/metas/initialize.test.js.map +1 -1
  59. package/dist/cjs/metas/types.d.ts +4 -4
  60. package/dist/cjs/metas/types.js.map +1 -1
  61. package/dist/cjs/sdk/const.js.map +1 -1
  62. package/dist/cjs/sdk/faroGlobalObject.js.map +1 -1
  63. package/dist/cjs/sdk/index.js.map +1 -1
  64. package/dist/cjs/sdk/internalFaroGlobalObject.js.map +1 -1
  65. package/dist/cjs/sdk/register.js.map +1 -1
  66. package/dist/cjs/sdk/types.js.map +1 -1
  67. package/dist/cjs/semantic.js.map +1 -1
  68. package/dist/cjs/testUtils/index.js.map +1 -1
  69. package/dist/cjs/testUtils/mockConfig.js.map +1 -1
  70. package/dist/cjs/testUtils/mockInternalLogger.js.map +1 -1
  71. package/dist/cjs/testUtils/mockStacktraceParser.js.map +1 -1
  72. package/dist/cjs/testUtils/mockTransport.d.ts +1 -1
  73. package/dist/cjs/testUtils/mockTransport.js.map +1 -1
  74. package/dist/cjs/testUtils/testPromise.js.map +1 -1
  75. package/dist/cjs/transports/base.js.map +1 -1
  76. package/dist/cjs/transports/const.js.map +1 -1
  77. package/dist/cjs/transports/index.js.map +1 -1
  78. package/dist/cjs/transports/initialize.js +3 -8
  79. package/dist/cjs/transports/initialize.js.map +1 -1
  80. package/dist/cjs/transports/transports.test.js +19 -0
  81. package/dist/cjs/transports/transports.test.js.map +1 -1
  82. package/dist/cjs/transports/types.d.ts +2 -2
  83. package/dist/cjs/transports/types.js.map +1 -1
  84. package/dist/cjs/transports/utils.js.map +1 -1
  85. package/dist/cjs/unpatchedConsole/const.js.map +1 -1
  86. package/dist/cjs/unpatchedConsole/index.js.map +1 -1
  87. package/dist/cjs/unpatchedConsole/initialize.js.map +1 -1
  88. package/dist/cjs/unpatchedConsole/types.d.ts +1 -1
  89. package/dist/cjs/unpatchedConsole/types.js.map +1 -1
  90. package/dist/cjs/utils/baseObject.d.ts +3 -3
  91. package/dist/cjs/utils/baseObject.js.map +1 -1
  92. package/dist/cjs/utils/deepEqual.js.map +1 -1
  93. package/dist/cjs/utils/extensions.js.map +1 -1
  94. package/dist/cjs/utils/getCurrentTimestamp.js.map +1 -1
  95. package/dist/cjs/utils/index.js.map +1 -1
  96. package/dist/cjs/utils/is.d.ts +1 -1
  97. package/dist/cjs/utils/is.js.map +1 -1
  98. package/dist/cjs/utils/logLevels.js.map +1 -1
  99. package/dist/cjs/utils/noop.js.map +1 -1
  100. package/dist/cjs/utils/promiseBuffer.d.ts +1 -1
  101. package/dist/cjs/utils/promiseBuffer.js.map +1 -1
  102. package/dist/cjs/utils/promiseBuffer.test.js +1 -1
  103. package/dist/cjs/utils/promiseBuffer.test.js.map +1 -1
  104. package/dist/cjs/utils/shortId.js.map +1 -1
  105. package/dist/cjs/version.d.ts +1 -1
  106. package/dist/cjs/version.js +1 -1
  107. package/dist/cjs/version.js.map +1 -1
  108. package/dist/esm/api/events/index.d.ts +1 -1
  109. package/dist/esm/api/events/index.js.map +1 -1
  110. package/dist/esm/api/events/initialize.js.map +1 -1
  111. package/dist/esm/api/events/initialize.test.js.map +1 -1
  112. package/dist/esm/api/events/types.d.ts +1 -1
  113. package/dist/esm/api/events/types.js.map +1 -1
  114. package/dist/esm/api/exceptions/const.js.map +1 -1
  115. package/dist/esm/api/exceptions/index.js.map +1 -1
  116. package/dist/esm/api/exceptions/initialize.js.map +1 -1
  117. package/dist/esm/api/exceptions/initialize.test.js.map +1 -1
  118. package/dist/esm/api/exceptions/types.d.ts +1 -1
  119. package/dist/esm/api/exceptions/types.js.map +1 -1
  120. package/dist/esm/api/index.d.ts +2 -2
  121. package/dist/esm/api/index.js.map +1 -1
  122. package/dist/esm/api/initialize.js.map +1 -1
  123. package/dist/esm/api/logs/index.js.map +1 -1
  124. package/dist/esm/api/logs/initialize.js.map +1 -1
  125. package/dist/esm/api/logs/initialize.test.js.map +1 -1
  126. package/dist/esm/api/logs/types.d.ts +1 -1
  127. package/dist/esm/api/logs/types.js.map +1 -1
  128. package/dist/esm/api/measurements/index.js.map +1 -1
  129. package/dist/esm/api/measurements/initialize.js.map +1 -1
  130. package/dist/esm/api/measurements/initialize.test.js.map +1 -1
  131. package/dist/esm/api/measurements/types.js.map +1 -1
  132. package/dist/esm/api/meta/index.js.map +1 -1
  133. package/dist/esm/api/meta/initialize.js.map +1 -1
  134. package/dist/esm/api/meta/types.js.map +1 -1
  135. package/dist/esm/api/traces/index.d.ts +1 -1
  136. package/dist/esm/api/traces/index.js.map +1 -1
  137. package/dist/esm/api/traces/initialize.js.map +1 -1
  138. package/dist/esm/api/traces/types.d.ts +2 -8
  139. package/dist/esm/api/traces/types.js.map +1 -1
  140. package/dist/esm/api/types.d.ts +2 -2
  141. package/dist/esm/api/types.js.map +1 -1
  142. package/dist/esm/config/const.js.map +1 -1
  143. package/dist/esm/config/index.js.map +1 -1
  144. package/dist/esm/config/types.d.ts +1 -1
  145. package/dist/esm/config/types.js.map +1 -1
  146. package/dist/esm/faro.test.js.map +1 -1
  147. package/dist/esm/globalObject/globalObject.d.ts +1 -1
  148. package/dist/esm/globalObject/globalObject.js.map +1 -1
  149. package/dist/esm/globalObject/index.js.map +1 -1
  150. package/dist/esm/index.d.ts +1 -1
  151. package/dist/esm/index.js.map +1 -1
  152. package/dist/esm/initialize.js.map +1 -1
  153. package/dist/esm/instrumentations/base.js.map +1 -1
  154. package/dist/esm/instrumentations/index.js.map +1 -1
  155. package/dist/esm/instrumentations/initialize.js.map +1 -1
  156. package/dist/esm/instrumentations/types.js.map +1 -1
  157. package/dist/esm/internalLogger/const.js.map +1 -1
  158. package/dist/esm/internalLogger/createInternalLogger.js.map +1 -1
  159. package/dist/esm/internalLogger/index.js.map +1 -1
  160. package/dist/esm/internalLogger/initialize.js.map +1 -1
  161. package/dist/esm/internalLogger/types.js.map +1 -1
  162. package/dist/esm/metas/index.js.map +1 -1
  163. package/dist/esm/metas/initialize.js.map +1 -1
  164. package/dist/esm/metas/initialize.test.js.map +1 -1
  165. package/dist/esm/metas/types.d.ts +4 -4
  166. package/dist/esm/metas/types.js.map +1 -1
  167. package/dist/esm/sdk/const.js.map +1 -1
  168. package/dist/esm/sdk/faroGlobalObject.js.map +1 -1
  169. package/dist/esm/sdk/index.js.map +1 -1
  170. package/dist/esm/sdk/internalFaroGlobalObject.js.map +1 -1
  171. package/dist/esm/sdk/register.js.map +1 -1
  172. package/dist/esm/sdk/types.js.map +1 -1
  173. package/dist/esm/semantic.js.map +1 -1
  174. package/dist/esm/testUtils/index.js.map +1 -1
  175. package/dist/esm/testUtils/mockConfig.js.map +1 -1
  176. package/dist/esm/testUtils/mockInternalLogger.js.map +1 -1
  177. package/dist/esm/testUtils/mockStacktraceParser.js.map +1 -1
  178. package/dist/esm/testUtils/mockTransport.d.ts +1 -1
  179. package/dist/esm/testUtils/mockTransport.js.map +1 -1
  180. package/dist/esm/testUtils/testPromise.js.map +1 -1
  181. package/dist/esm/transports/base.js.map +1 -1
  182. package/dist/esm/transports/const.js.map +1 -1
  183. package/dist/esm/transports/index.js.map +1 -1
  184. package/dist/esm/transports/initialize.js +3 -8
  185. package/dist/esm/transports/initialize.js.map +1 -1
  186. package/dist/esm/transports/transports.test.js +19 -0
  187. package/dist/esm/transports/transports.test.js.map +1 -1
  188. package/dist/esm/transports/types.d.ts +2 -2
  189. package/dist/esm/transports/types.js.map +1 -1
  190. package/dist/esm/transports/utils.js.map +1 -1
  191. package/dist/esm/unpatchedConsole/const.js.map +1 -1
  192. package/dist/esm/unpatchedConsole/index.js.map +1 -1
  193. package/dist/esm/unpatchedConsole/initialize.js.map +1 -1
  194. package/dist/esm/unpatchedConsole/types.d.ts +1 -1
  195. package/dist/esm/unpatchedConsole/types.js.map +1 -1
  196. package/dist/esm/utils/baseObject.d.ts +3 -3
  197. package/dist/esm/utils/baseObject.js.map +1 -1
  198. package/dist/esm/utils/deepEqual.js.map +1 -1
  199. package/dist/esm/utils/extensions.js.map +1 -1
  200. package/dist/esm/utils/getCurrentTimestamp.js.map +1 -1
  201. package/dist/esm/utils/index.js.map +1 -1
  202. package/dist/esm/utils/is.d.ts +1 -1
  203. package/dist/esm/utils/is.js.map +1 -1
  204. package/dist/esm/utils/logLevels.js.map +1 -1
  205. package/dist/esm/utils/noop.js.map +1 -1
  206. package/dist/esm/utils/promiseBuffer.d.ts +1 -1
  207. package/dist/esm/utils/promiseBuffer.js.map +1 -1
  208. package/dist/esm/utils/promiseBuffer.test.js.map +1 -1
  209. package/dist/esm/utils/shortId.js.map +1 -1
  210. package/dist/esm/version.d.ts +1 -1
  211. package/dist/esm/version.js +1 -1
  212. package/dist/esm/version.js.map +1 -1
  213. package/package.json +12 -4
  214. package/dist/cjs/agent/agentGlobalObject.d.ts +0 -2
  215. package/dist/cjs/agent/agentGlobalObject.js +0 -23
  216. package/dist/cjs/agent/agentGlobalObject.js.map +0 -1
  217. package/dist/cjs/agent/const.d.ts +0 -1
  218. package/dist/cjs/agent/const.js +0 -5
  219. package/dist/cjs/agent/const.js.map +0 -1
  220. package/dist/cjs/agent/index.d.ts +0 -4
  221. package/dist/cjs/agent/index.js +0 -13
  222. package/dist/cjs/agent/index.js.map +0 -1
  223. package/dist/cjs/agent/initialize.d.ts +0 -4
  224. package/dist/cjs/agent/initialize.js +0 -15
  225. package/dist/cjs/agent/initialize.js.map +0 -1
  226. package/dist/cjs/agent/internalAgentGlobalObject.d.ts +0 -4
  227. package/dist/cjs/agent/internalAgentGlobalObject.js +0 -29
  228. package/dist/cjs/agent/internalAgentGlobalObject.js.map +0 -1
  229. package/dist/cjs/agent/types.d.ts +0 -18
  230. package/dist/cjs/agent/types.js +0 -3
  231. package/dist/cjs/agent/types.js.map +0 -1
  232. package/dist/cjs/agent.test.d.ts +0 -1
  233. package/dist/cjs/agent.test.js +0 -42
  234. package/dist/cjs/agent.test.js.map +0 -1
  235. package/dist/esm/agent/agentGlobalObject.d.ts +0 -2
  236. package/dist/esm/agent/agentGlobalObject.js +0 -19
  237. package/dist/esm/agent/agentGlobalObject.js.map +0 -1
  238. package/dist/esm/agent/const.d.ts +0 -1
  239. package/dist/esm/agent/const.js +0 -2
  240. package/dist/esm/agent/const.js.map +0 -1
  241. package/dist/esm/agent/index.d.ts +0 -4
  242. package/dist/esm/agent/index.js +0 -4
  243. package/dist/esm/agent/index.js.map +0 -1
  244. package/dist/esm/agent/initialize.d.ts +0 -4
  245. package/dist/esm/agent/initialize.js +0 -11
  246. package/dist/esm/agent/initialize.js.map +0 -1
  247. package/dist/esm/agent/internalAgentGlobalObject.d.ts +0 -4
  248. package/dist/esm/agent/internalAgentGlobalObject.js +0 -23
  249. package/dist/esm/agent/internalAgentGlobalObject.js.map +0 -1
  250. package/dist/esm/agent/types.d.ts +0 -18
  251. package/dist/esm/agent/types.js +0 -2
  252. package/dist/esm/agent/types.js.map +0 -1
  253. package/dist/esm/agent.test.d.ts +0 -1
  254. package/dist/esm/agent.test.js +0 -40
  255. package/dist/esm/agent.test.js.map +0 -1
package/README.md CHANGED
@@ -72,13 +72,15 @@ The `api` property on the Faro instance contains all the necessary methods to pu
72
72
  - `pushError` - is a method to push an error/exception to the Faro instance. It accepts a mandatory `message` parameter
73
73
  and an optional one where you can set:
74
74
 
75
- - `skipDedupe` - a flag for enforcing event push even if the event is identical to the previous one.
75
+ - `skipDedupe` - a flag for enforcing error push even if the error is identical to the previous one.
76
76
  - `stackFrames` - an array of stack frames. Defaults to parsing `error.stack` if present.
77
77
  - `type` - the type of exception. Default value: `error.name` or `"error"`.
78
78
 
79
79
  ```ts
80
80
  faro.api.pushError(new Error('This is an error'));
81
81
 
82
+ faro.api.pushError(new Error('This is an unhandled exception'), { skipDedupe: true });
83
+
82
84
  faro.api.pushError(new Error('This is an unhandled exception'), { type: 'unhandledException' });
83
85
 
84
86
  faro.api.pushError(new Error('This is an error with stack frames'), {
@@ -93,16 +95,44 @@ The `api` property on the Faro instance contains all the necessary methods to pu
93
95
  });
94
96
  ```
95
97
 
98
+ ## Events
99
+
100
+ - `pushEvent` - is a method to push an event to the Faro instance. It accepts a mandatory `name` parameter and a couple
101
+ of optional parameters.
102
+
103
+ The first optional parameter is called `attributes` and it is a key-value object where you can set additional
104
+ properties for your event.
105
+
106
+ The second optional parameter is called `domain` and it is a string that's used to group events together.
107
+
108
+ The third optional parameter is an optional `options` object where you can set:
109
+
110
+ - `skipDedupe` - a flag for enforcing event push even if the event is identical to the previous one.
111
+
112
+ ```ts
113
+ faro.api.pushEvent('user-logged-in');
114
+
115
+ faro.api.pushEvent('user-logged-in', { username: 'the-user-id' });
116
+
117
+ faro.api.pushEvent('user-logged-in', { username: 'the-user-id' }, 'auth');
118
+
119
+ faro.api.pushEvent('user-logged-in', { username: 'the-user-id' }, 'auth', { skipDedupe: true });
120
+ ```
121
+
96
122
  ## Logs
97
123
 
98
124
  - `pushLog` - is a method to register a log event. The method accepts a mandatory `args` parameter which is an array of
99
- arguments that will be stringified and send to the transports. The other two parameters are optional: `logLevel` is
100
- the type of message that we register and `context` is a plain object containing primitive values that will be
101
- recorded along with the message.
125
+ arguments that will be stringified and sent to the transports and an optional one where you can set:
126
+
127
+ - `skipDedupe` - a flag for enforcing log push even if the log is identical to the previous one.
128
+ - `logLevel` - the type of message that we register.
129
+ - `context` - a plain object containing primitive values that will be recorded along with the message.
102
130
 
103
131
  ```ts
104
132
  faro.api.pushLog(['This is a log', 'With another message']);
105
133
 
134
+ faro.api.pushLog(['This is a log'], { skipDedupe: true });
135
+
106
136
  faro.api.pushLog(['This is a warning'], { level: LogLevel.WARN });
107
137
 
108
138
  faro.api.pushLog(['This is a log with context'], {
@@ -117,7 +147,7 @@ The `api` property on the Faro instance contains all the necessary methods to pu
117
147
  - `pushMeasurement` - is a method for registering metrics. The method accepts a mandatory `payload` parameter and an
118
148
  optional parameter for passing additional options:
119
149
 
120
- - `span` - the span where the exception has occurred. Default value: `undefined`.
150
+ - `skipDedupe` - a flag for enforcing measurement push even if the measurement is identical to the previous one.
121
151
 
122
152
  ```ts
123
153
  faro.api.pushMeasurement({
@@ -134,16 +164,40 @@ The `api` property on the Faro instance contains all the necessary methods to pu
134
164
  my_custom_metric: Math.random(),
135
165
  },
136
166
  },
137
- {
138
- span: mySpan,
139
- }
167
+ { skipDedupe: true }
140
168
  );
141
169
  ```
142
170
 
171
+ ## Traces
172
+
173
+ - `pushTraces` - is a method for manually sending traces through the transports. The method only accepts a mandatory
174
+ `payload`.
175
+
176
+ ```ts
177
+ faro.api.pushTraces({
178
+ resourceSpans: [
179
+ /* OTel Traces */
180
+ ],
181
+ });
182
+ ```
183
+
184
+ - `getOTEL` - is a method for getting the OpenTelemetry instance used by Faro.
185
+
186
+ ```ts
187
+ const otel = faro.api.getOTEL();
188
+ ```
189
+
190
+ - `isOTELInitialized` - is a method for checking if OpenTelemetry package was correctly initialized and there is an
191
+ OpenTelemetry instance used by Faro.
192
+
193
+ ```ts
194
+ const isInitialized = faro.api.isOTELInitialized();
195
+ ```
196
+
143
197
  ## Instrumentations
144
198
 
145
- Instrumentations are packages that leverage the Faro Web SDK API to provide automatic mechanisms
146
- for collecting data. They are just simple functions that are executed when the agent is initialized.
199
+ Instrumentations are packages that leverage the Faro Web SDK API to provide automatic mechanisms for collecting data.
200
+ They are just simple functions that are executed when the agent is initialized.
147
201
 
148
202
  Please note that the `core` package does not contain any instrumentations out of the box and they should be provided by
149
203
  platform specific packages like [@grafana/faro-web-sdk](https://github.com/grafana/faro-web-sdk/tree/main/packages/web)
@@ -172,9 +226,9 @@ initializeFaro({
172
226
 
173
227
  Metas are objects that will be attached to every event that is triggered by the API.
174
228
 
175
- Out of the box, only one meta is provided: `sdk` which contains information about the Faro instance and its version. Additional
176
- metas can be provided by external packages like [@grafana/agent-meta-browser](https://github.com/grafana/faro-web-sdk/tree/main/packages/meta-browser)
177
- and [@grafana/agent-meta-page](https://github.com/grafana/faro-web-sdk/tree/main/packages/meta-page).
229
+ Out of the box, only one meta is provided: `sdk` which contains information about the Faro instance and its version.
230
+
231
+ Additional metas may be provided by platform packages like [@grafana/faro-web-sdk](https://github.com/grafana/faro-web-sdk/tree/main/).
178
232
 
179
233
  You can also define your own metas:
180
234
 
@@ -1,2 +1,2 @@
1
- export type { EventEvent, EventsAPI } from './types';
1
+ export type { EventAttributes, EventEvent, EventsAPI } from './types';
2
2
  export { initializeEventsAPI } from './initialize';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/events/index.ts"],"names":[],"mappings":";;;AACA,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/events/index.ts"],"names":[],"mappings":";;;AACA,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA","sourcesContent":["export type { EventAttributes, EventEvent, EventsAPI } from './types';\nexport { initializeEventsAPI } from './initialize';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/events/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAgF;AAChF,qCAAqE;AAIrE,SAAgB,mBAAmB,CACjC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;IAEpB,IAAI,WAAW,GAA8D,IAAI,CAAC;IAElF,IAAM,SAAS,GAA2B,UAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAmB;YAAnB,qBAAiB,EAAE,KAAA,EAAjB,UAAU,gBAAA;QAC/E,IAAI;YACF,IAAM,IAAI,GAA8B;gBACtC,IAAI,EAAE,KAAK,CAAC,KAAK;gBACjB,OAAO,EAAE;oBACP,IAAI,MAAA;oBACJ,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC,WAAW;oBACpC,UAAU,YAAA;oBACV,SAAS,EAAE,IAAA,2BAAmB,GAAE;oBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE;iBACnC;gBACD,IAAI,EAAE,8BAAiB,CAAC,KAAK;aAC9B,CAAC;YAEF,IAAM,cAAc,GAAG;gBACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;gBAClG,cAAc,CAAC,KAAK,CAAC,8DAA8D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnG,OAAO;aACR;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,cAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEF,OAAO;QACL,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AAhDD,kDAgDC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/events/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAgF;AAChF,qCAAqE;AAIrE,SAAgB,mBAAmB,CACjC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;IAEpB,IAAI,WAAW,GAA8D,IAAI,CAAC;IAElF,IAAM,SAAS,GAA2B,UAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAmB;YAAnB,qBAAiB,EAAE,KAAA,EAAjB,UAAU,gBAAA;QAC/E,IAAI;YACF,IAAM,IAAI,GAA8B;gBACtC,IAAI,EAAE,KAAK,CAAC,KAAK;gBACjB,OAAO,EAAE;oBACP,IAAI,MAAA;oBACJ,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC,WAAW;oBACpC,UAAU,YAAA;oBACV,SAAS,EAAE,IAAA,2BAAmB,GAAE;oBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE;iBACnC;gBACD,IAAI,EAAE,8BAAiB,CAAC,KAAK;aAC9B,CAAC;YAEF,IAAM,cAAc,GAAG;gBACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;gBAClG,cAAc,CAAC,KAAK,CAAC,8DAA8D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnG,OAAO;aACR;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,cAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEF,OAAO;QACL,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AAhDD,kDAgDC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItem, TransportItemType, Transports } from '../../transports';\nimport { deepEqual, getCurrentTimestamp, isNull } from '../../utils';\nimport type { TracesAPI } from '../traces';\nimport type { EventEvent, EventsAPI } from './types';\n\nexport function initializeEventsAPI(\n internalLogger: InternalLogger,\n config: Config,\n transports: Transports,\n metas: Metas,\n tracesApi: TracesAPI\n): EventsAPI {\n let lastPayload: Pick<EventEvent, 'name' | 'domain' | 'attributes'> | null = null;\n\n const pushEvent: EventsAPI['pushEvent'] = (name, attributes, domain, { skipDedupe } = {}) => {\n try {\n const item: TransportItem<EventEvent> = {\n meta: metas.value,\n payload: {\n name,\n domain: domain ?? config.eventDomain,\n attributes,\n timestamp: getCurrentTimestamp(),\n trace: tracesApi.getTraceContext(),\n },\n type: TransportItemType.EVENT,\n };\n\n const testingPayload = {\n name: item.payload.name,\n attributes: item.payload.attributes,\n domain: item.payload.domain,\n };\n\n if (!skipDedupe && config.dedupe && !isNull(lastPayload) && deepEqual(testingPayload, lastPayload)) {\n internalLogger.debug('Skipping event push because it is the same as the last one\\n', item.payload);\n\n return;\n }\n\n lastPayload = testingPayload;\n\n internalLogger.debug('Pushing event\\n', item);\n\n transports.execute(item);\n } catch (err) {\n internalLogger.error('Error pushing event', err);\n }\n };\n\n return {\n pushEvent,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/events/initialize.test.ts"],"names":[],"mappings":";;AAAA,qCAA8C;AAC9C,6CAAgF;AAChF,+CAAwD;AACxD,oCAAgD;AAChD,2CAAmD;AAGnD,QAAQ,CAAC,YAAY,EAAE;IACrB,SAAS,SAAS,CAAC,EAAkD;YAAlD,qBAAkC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAA,EAAhD,MAAM,YAAA;QACzB,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC;YACxB,MAAM,QAAA;YACN,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QACH,IAAM,UAAU,GAAG,IAAA,iCAAoB,EAAC,8BAAkB,EAAE,MAAM,CAAC,CAAC;QACpE,IAAM,KAAK,GAAG,IAAA,uBAAe,EAAC,8BAAkB,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAM,SAAS,GAAG,IAAA,4BAAmB,EAAC,8BAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACrF,IAAM,GAAG,GAAG,IAAA,gCAAmB,EAAC,8BAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAE1F,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,WAAW,EAAE;QACpB,IAAI,GAAc,CAAC;QACnB,IAAI,SAAwB,CAAC;QAE7B,UAAU,CAAC;;YACT,KAAmB,SAAS,EAAE,EAA7B,GAAG,QAAA,EAAE,SAAS,QAAA,CAAgB;QACjC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,WAAW,EAAE;YACpB,EAAE,CAAC,wBAAwB,EAAE;gBAC3B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;oBACpB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;oBACpB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gEAAgE,EAAE;gBACnE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;oBACpB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;oBACpB,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE;gBAC9D,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE;oBACrB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE;oBACrB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4DAA4D,EAAE;gBAC/D,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE;oBACrB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE;oBACrB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE;oBACrB,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qCAAqC,EAAE;;gBACxC,KAAmB,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAA9C,GAAG,QAAA,EAAE,SAAS,QAAA,CAAiC;gBAEhD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE;gBAC3C,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/events/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeMetas } from '../../metas';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { initializeTransports } from '../../transports';\nimport { initializeTracesAPI } from '../traces';\nimport { initializeEventsAPI } from './initialize';\nimport type { EventsAPI } from './types';\n\ndescribe('api.events', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [EventsAPI, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n const transports = initializeTransports(mockInternalLogger, config);\n const metas = initializeMetas(mockInternalLogger, config);\n const tracesAPI = initializeTracesAPI(mockInternalLogger, config, transports, metas);\n const api = initializeEventsAPI(mockInternalLogger, config, transports, metas, tracesAPI);\n\n return [api, transport];\n }\n\n describe('pushEvent', () => {\n let api: EventsAPI;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n describe('Filtering', () => {\n it('filters the same event', () => {\n api.pushEvent('test', {\n a: '1',\n });\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test', {\n a: '1',\n });\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter events with same name and partially same values\", () => {\n api.pushEvent('test', {\n a: '1',\n });\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test', {\n a: '1',\n b: '2',\n });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter events with different name and same values\", () => {\n api.pushEvent('test1', {\n a: '1',\n });\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test2', {\n a: '1',\n });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters an event and doesn't filter the next different one\", () => {\n api.pushEvent('test1', {\n a: '1',\n });\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test1', {\n a: '1',\n });\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test2', {\n b: '1',\n });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n api.pushEvent('test');\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test');\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n api.pushEvent('test');\n expect(transport.items).toHaveLength(1);\n\n api.pushEvent('test', {}, undefined, { skipDedupe: true });\n expect(transport.items).toHaveLength(2);\n });\n });\n });\n});\n\nexport {};\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { TraceContext } from '../traces';
2
- export declare type EventAttributes = Record<string, string>;
2
+ export type EventAttributes = Record<string, string>;
3
3
  export interface EventEvent {
4
4
  name: string;
5
5
  timestamp: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/events/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/events/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { TraceContext } from '../traces';\n\nexport type EventAttributes = Record<string, string>;\n\nexport interface EventEvent {\n name: string;\n timestamp: string;\n\n domain?: string;\n attributes?: EventAttributes;\n trace?: TraceContext;\n}\n\nexport interface PushEventOptions {\n skipDedupe?: boolean;\n}\n\nexport interface EventsAPI {\n pushEvent: (name: string, attributes?: EventAttributes, domain?: string, options?: PushEventOptions) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/api/exceptions/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/api/exceptions/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,OAAO,CAAC","sourcesContent":["export const defaultExceptionType = 'Error';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,iCAA+C;AAAtC,6GAAA,oBAAoB,OAAA;AAE7B,2CAAuD;AAA9C,qHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,iCAA+C;AAAtC,6GAAA,oBAAoB,OAAA;AAE7B,2CAAuD;AAA9C,qHAAA,uBAAuB,OAAA","sourcesContent":["export { defaultExceptionType } from './const';\n\nexport { initializeExceptionsAPI } from './initialize';\n\nexport type {\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n PushErrorOptions,\n Stacktrace,\n StacktraceParser,\n} from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/exceptions/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAqD;AAErD,qCAAqE;AAErE,iCAA+C;AAG/C,IAAI,gBAA8C,CAAC;AAEnD,SAAgB,uBAAuB,CACrC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;;IAEpB,cAAc,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAEpD,IAAI,WAAW,GAAiE,IAAI,CAAC;IAErF,gBAAgB,GAAG,MAAA,MAAM,CAAC,eAAe,mCAAI,gBAAgB,CAAC;IAE9D,IAAM,sBAAsB,GAA4C,UAAC,mBAAmB;QAC1F,cAAc,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEnD,gBAAgB,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,gBAAgB,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAM,mBAAmB,GAAyC,cAAM,OAAA,gBAAgB,EAAhB,CAAgB,CAAC;IAEzF,IAAM,SAAS,GAA+B,UAAC,KAAK,EAAE,EAAsC;YAAtC,qBAAoC,EAAE,KAAA,EAApC,UAAU,gBAAA,EAAE,WAAW,iBAAA,EAAE,IAAI,UAAA;QACnF,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,4BAAoB,CAAC;QAElD,IAAM,IAAI,GAAkC;YAC1C,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,OAAO,EAAE;gBACP,IAAI,MAAA;gBACJ,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,SAAS,EAAE,IAAA,2BAAmB,GAAE;gBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE;aACnC;YACD,IAAI,EAAE,8BAAiB,CAAC,SAAS;SAClC,CAAC;QAEF,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE1F,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG;gBACxB,MAAM,EAAE,WAAW;aACpB,CAAC;SACH;QAED,IAAM,cAAc,GAAG;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;SACpC,CAAC;QAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;YAClG,cAAc,CAAC,KAAK,CAAC,8DAA8D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnG,OAAO;SACR;QAED,WAAW,GAAG,cAAc,CAAC;QAE7B,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAElD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE/C,OAAO;QACL,sBAAsB,wBAAA;QACtB,mBAAmB,qBAAA;QACnB,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AArED,0DAqEC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/exceptions/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAqD;AAErD,qCAAqE;AAErE,iCAA+C;AAG/C,IAAI,gBAA8C,CAAC;AAEnD,SAAgB,uBAAuB,CACrC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;;IAEpB,cAAc,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAEpD,IAAI,WAAW,GAAiE,IAAI,CAAC;IAErF,gBAAgB,GAAG,MAAA,MAAM,CAAC,eAAe,mCAAI,gBAAgB,CAAC;IAE9D,IAAM,sBAAsB,GAA4C,UAAC,mBAAmB;QAC1F,cAAc,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEnD,gBAAgB,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,gBAAgB,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAM,mBAAmB,GAAyC,cAAM,OAAA,gBAAgB,EAAhB,CAAgB,CAAC;IAEzF,IAAM,SAAS,GAA+B,UAAC,KAAK,EAAE,EAAsC;YAAtC,qBAAoC,EAAE,KAAA,EAApC,UAAU,gBAAA,EAAE,WAAW,iBAAA,EAAE,IAAI,UAAA;QACnF,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,4BAAoB,CAAC;QAElD,IAAM,IAAI,GAAkC;YAC1C,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,OAAO,EAAE;gBACP,IAAI,MAAA;gBACJ,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,SAAS,EAAE,IAAA,2BAAmB,GAAE;gBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE;aACnC;YACD,IAAI,EAAE,8BAAiB,CAAC,SAAS;SAClC,CAAC;QAEF,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE1F,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG;gBACxB,MAAM,EAAE,WAAW;aACpB,CAAC;SACH;QAED,IAAM,cAAc,GAAG;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;SACpC,CAAC;QAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;YAClG,cAAc,CAAC,KAAK,CAAC,8DAA8D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnG,OAAO;SACR;QAED,WAAW,GAAG,cAAc,CAAC;QAE7B,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAElD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE/C,OAAO;QACL,sBAAsB,wBAAA;QACtB,mBAAmB,qBAAA;QACnB,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AArED,0DAqEC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItemType } from '../../transports';\nimport type { TransportItem, Transports } from '../../transports';\nimport { deepEqual, getCurrentTimestamp, isNull } from '../../utils';\nimport type { TracesAPI } from '../traces';\nimport { defaultExceptionType } from './const';\nimport type { ExceptionEvent, ExceptionsAPI, StacktraceParser } from './types';\n\nlet stacktraceParser: StacktraceParser | undefined;\n\nexport function initializeExceptionsAPI(\n internalLogger: InternalLogger,\n config: Config,\n transports: Transports,\n metas: Metas,\n tracesApi: TracesAPI\n): ExceptionsAPI {\n internalLogger.debug('Initializing exceptions API');\n\n let lastPayload: Pick<ExceptionEvent, 'type' | 'value' | 'stacktrace'> | null = null;\n\n stacktraceParser = config.parseStacktrace ?? stacktraceParser;\n\n const changeStacktraceParser: ExceptionsAPI['changeStacktraceParser'] = (newStacktraceParser) => {\n internalLogger.debug('Changing stacktrace parser');\n\n stacktraceParser = newStacktraceParser ?? stacktraceParser;\n };\n\n const getStacktraceParser: ExceptionsAPI['getStacktraceParser'] = () => stacktraceParser;\n\n const pushError: ExceptionsAPI['pushError'] = (error, { skipDedupe, stackFrames, type } = {}) => {\n type = type || error.name || defaultExceptionType;\n\n const item: TransportItem<ExceptionEvent> = {\n meta: metas.value,\n payload: {\n type,\n value: error.message,\n timestamp: getCurrentTimestamp(),\n trace: tracesApi.getTraceContext(),\n },\n type: TransportItemType.EXCEPTION,\n };\n\n stackFrames = stackFrames ?? (error.stack ? stacktraceParser?.(error).frames : undefined);\n\n if (stackFrames?.length) {\n item.payload.stacktrace = {\n frames: stackFrames,\n };\n }\n\n const testingPayload = {\n type: item.payload.type,\n value: item.payload.value,\n stackTrace: item.payload.stacktrace,\n };\n\n if (!skipDedupe && config.dedupe && !isNull(lastPayload) && deepEqual(testingPayload, lastPayload)) {\n internalLogger.debug('Skipping error push because it is the same as the last one\\n', item.payload);\n\n return;\n }\n\n lastPayload = testingPayload;\n\n internalLogger.debug('Pushing exception\\n', item);\n\n transports.execute(item);\n };\n\n changeStacktraceParser(config.parseStacktrace);\n\n return {\n changeStacktraceParser,\n getStacktraceParser,\n pushError,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/exceptions/initialize.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/exceptions/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeMetas } from '../../metas';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { initializeTransports, TransportItemType } from '../../transports';\nimport { initializeTracesAPI } from '../traces';\nimport { initializeExceptionsAPI } from './initialize';\nimport type { ExceptionEvent, ExceptionsAPI, ExceptionStackFrame } from './types';\n\ndescribe('api.exceptions', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [ExceptionsAPI, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n const transports = initializeTransports(mockInternalLogger, config);\n const metas = initializeMetas(mockInternalLogger, config);\n const tracesAPI = initializeTracesAPI(mockInternalLogger, config, transports, metas);\n const api = initializeExceptionsAPI(mockInternalLogger, config, transports, metas, tracesAPI);\n\n return [api, transport];\n }\n\n describe('pushError', () => {\n let api: ExceptionsAPI;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n it('error with overrides', () => {\n const frames: ExceptionStackFrame[] = [\n {\n filename: 'foo.js',\n function: 'FooFn',\n colno: 4,\n lineno: 23,\n },\n {\n filename: 'bar.js',\n function: 'BarFn',\n colno: 6,\n lineno: 52,\n },\n ];\n\n api.pushError(new Error('test exception'), {\n stackFrames: frames,\n type: 'TestError',\n });\n\n expect(transport.items).toHaveLength(1);\n\n const payload = transport.items[0];\n expect(payload?.payload).toBeTruthy();\n expect(payload?.type).toEqual(TransportItemType.EXCEPTION);\n\n const evt = payload?.payload as ExceptionEvent;\n expect(evt.type).toEqual('TestError');\n expect(evt.value).toEqual('test exception');\n expect(evt.stacktrace).toEqual({ frames });\n });\n\n it('error without overrides', () => {\n const err = new Error('test');\n api.pushError(err);\n expect(transport.items).toHaveLength(1);\n\n const payload = transport.items[0];\n expect(payload?.meta.app?.name).toEqual('test');\n expect(payload?.payload).toBeTruthy();\n expect(payload?.type).toEqual(TransportItemType.EXCEPTION);\n\n const evt = payload?.payload as ExceptionEvent;\n expect(evt.type).toEqual('Error');\n expect(evt.value).toEqual('test');\n expect(evt.timestamp).toBeTruthy();\n\n const stacktrace = evt.stacktrace;\n expect(stacktrace).toBeTruthy();\n expect(stacktrace?.frames.length).toBeGreaterThan(3);\n expect(stacktrace?.frames[0]?.filename).toEqual('Error: test');\n });\n\n describe('Filtering', () => {\n it('filters the same event', () => {\n const error = new Error('test');\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter events with same message and different stacktrace\", () => {\n const error1 = new Error('test');\n const error2 = new Error('test');\n\n api.pushError(error1);\n expect(transport.items).toHaveLength(1);\n\n api.pushError(error2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter events with other message and same stacktrace\", () => {\n const error = new Error('test');\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n error.message = 'test2';\n api.pushError(error);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter events with same message and same stacktrace but different type\", () => {\n const error = new Error('test');\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n error.name = 'Another Type';\n api.pushError(error);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters an event and doesn't filter the next different one\", () => {\n const error = new Error('test');\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n error.name = 'Another Type';\n api.pushError(error);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n const error = new Error('test');\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n api.pushError(error);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n const error = new Error('test');\n\n api.pushError(error);\n expect(transport.items).toHaveLength(1);\n\n api.pushError(error, {\n skipDedupe: true,\n });\n expect(transport.items).toHaveLength(2);\n });\n });\n });\n});\n\nexport {};\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { TraceContext } from '../traces';
2
- export declare type StacktraceParser = (err: ExtendedError) => Stacktrace;
2
+ export type StacktraceParser = (err: ExtendedError) => Stacktrace;
3
3
  export interface ExceptionStackFrame {
4
4
  filename: string;
5
5
  function: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/exceptions/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/exceptions/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { TraceContext } from '../traces';\n\nexport type StacktraceParser = (err: ExtendedError) => Stacktrace;\n\nexport interface ExceptionStackFrame {\n filename: string;\n function: string;\n\n colno?: number;\n lineno?: number;\n}\n\nexport interface ExtendedError extends Error {\n columnNumber?: number;\n stacktrace?: Error['stack'];\n}\n\nexport interface Stacktrace {\n frames: ExceptionStackFrame[];\n}\n\nexport interface ExceptionEvent {\n timestamp: string;\n type: string;\n value: string;\n\n stacktrace?: Stacktrace;\n trace?: TraceContext;\n}\n\nexport interface PushErrorOptions {\n skipDedupe?: boolean;\n stackFrames?: ExceptionStackFrame[];\n type?: string;\n}\n\nexport interface ExceptionsAPI {\n changeStacktraceParser: (stacktraceParser: StacktraceParser) => void;\n getStacktraceParser: () => StacktraceParser | undefined;\n pushError: (value: Error, options?: PushErrorOptions) => void;\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  export { initializeAPI } from './initialize';
2
2
  export type { API, APIEvent } from './types';
3
+ export type { EventAttributes, EventEvent, EventsAPI } from './events';
3
4
  export { defaultExceptionType } from './exceptions';
4
5
  export type { ExceptionEvent, ExceptionStackFrame, ExceptionsAPI, ExtendedError, PushErrorOptions, Stacktrace, StacktraceParser, } from './exceptions';
5
6
  export type { LogContext, LogEvent, LogsAPI, PushLogOptions } from './logs';
6
7
  export type { MeasurementEvent, MeasurementsAPI, PushMeasurementOptions } from './measurements';
7
8
  export type { MetaAPI } from './meta';
8
- export type { InstrumentationLibrarySpan, OTELApi, ResourceSpan, TraceContext, TraceEvent, TracesAPI } from './traces';
9
- export type { EventEvent, EventsAPI } from './events';
9
+ export type { OTELApi, TraceContext, TraceEvent, TracesAPI } from './traces';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AAGtB,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AAKtB,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA","sourcesContent":["export { initializeAPI } from './initialize';\nexport type { API, APIEvent } from './types';\n\nexport type { EventAttributes, EventEvent, EventsAPI } from './events';\n\nexport { defaultExceptionType } from './exceptions';\nexport type {\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n PushErrorOptions,\n Stacktrace,\n StacktraceParser,\n} from './exceptions';\n\nexport type { LogContext, LogEvent, LogsAPI, PushLogOptions } from './logs';\n\nexport type { MeasurementEvent, MeasurementsAPI, PushMeasurementOptions } from './measurements';\n\nexport type { MetaAPI } from './meta';\n\nexport type { OTELApi, TraceContext, TraceEvent, TracesAPI } from './traces';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/api/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,mCAA+C;AAC/C,2CAAuD;AACvD,+BAA2C;AAC3C,+CAA2D;AAC3D,+BAA2C;AAC3C,mCAA+C;AAG/C,SAAgB,aAAa,CAC3B,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY;IAEZ,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEzC,IAAM,SAAS,GAAG,IAAA,4BAAmB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAEjF,iEACK,SAAS,GACT,IAAA,oCAAuB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,GAC7E,IAAA,wBAAiB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,GAC5D,IAAA,wBAAiB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,GACvE,IAAA,wCAAyB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,GAC/E,IAAA,4BAAmB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EAC5E;AACJ,CAAC;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/api/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,mCAA+C;AAC/C,2CAAuD;AACvD,+BAA2C;AAC3C,+CAA2D;AAC3D,+BAA2C;AAC3C,mCAA+C;AAG/C,SAAgB,aAAa,CAC3B,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY;IAEZ,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEzC,IAAM,SAAS,GAAG,IAAA,4BAAmB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAEjF,iEACK,SAAS,GACT,IAAA,oCAAuB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,GAC7E,IAAA,wBAAiB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,GAC5D,IAAA,wBAAiB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,GACvE,IAAA,wCAAyB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,GAC/E,IAAA,4BAAmB,EAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,EAC5E;AACJ,CAAC;AAlBD,sCAkBC","sourcesContent":["import type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport type { Transports } from '../transports';\nimport { initializeEventsAPI } from './events';\nimport { initializeExceptionsAPI } from './exceptions';\nimport { initializeLogsAPI } from './logs';\nimport { initializeMeasurementsAPI } from './measurements';\nimport { initializeMetaAPI } from './meta';\nimport { initializeTracesAPI } from './traces';\nimport type { API } from './types';\n\nexport function initializeAPI(\n internalLogger: InternalLogger,\n config: Config,\n transports: Transports,\n metas: Metas\n): API {\n internalLogger.debug('Initializing API');\n\n const tracesApi = initializeTracesAPI(internalLogger, config, transports, metas);\n\n return {\n ...tracesApi,\n ...initializeExceptionsAPI(internalLogger, config, transports, metas, tracesApi),\n ...initializeMetaAPI(internalLogger, config, transports, metas),\n ...initializeLogsAPI(internalLogger, config, transports, metas, tracesApi),\n ...initializeMeasurementsAPI(internalLogger, config, transports, metas, tracesApi),\n ...initializeEventsAPI(internalLogger, config, transports, metas, tracesApi),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/logs/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/logs/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA","sourcesContent":["export { initializeLogsAPI } from './initialize';\n\nexport type { LogContext, LogEvent, LogsAPI, PushLogOptions } from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/logs/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAoE;AAEpE,qCAAsF;AAItF,SAAgB,iBAAiB,CAC/B,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;IAEpB,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE9C,IAAI,WAAW,GAA2D,IAAI,CAAC;IAE/E,IAAM,OAAO,GAAuB,UAAC,IAAI,EAAE,EAAmC;YAAnC,qBAAiC,EAAE,KAAA,EAAjC,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAAA;QACrE,IAAI;YACF,IAAM,IAAI,GAA4B;gBACpC,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;yBACV,GAAG,CAAC,UAAC,GAAG;wBACP,IAAI;4BACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;yBACpB;wBAAC,OAAO,GAAG,EAAE;4BACZ,OAAO,EAAE,CAAC;yBACX;oBACH,CAAC,CAAC;yBACD,IAAI,CAAC,GAAG,CAAC;oBACZ,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,uBAAe;oBAC/B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;oBACtB,SAAS,EAAE,IAAA,2BAAmB,GAAE;oBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE;iBACnC;gBACD,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,IAAM,cAAc,GAAG;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;gBAClG,cAAc,CAAC,KAAK,CAAC,4DAA4D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEjG,OAAO;aACR;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAE5C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC;AA1DD,8CA0DC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/logs/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAoE;AAEpE,qCAAsF;AAItF,SAAgB,iBAAiB,CAC/B,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;IAEpB,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE9C,IAAI,WAAW,GAA2D,IAAI,CAAC;IAE/E,IAAM,OAAO,GAAuB,UAAC,IAAI,EAAE,EAAmC;YAAnC,qBAAiC,EAAE,KAAA,EAAjC,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAAA;QACrE,IAAI;YACF,IAAM,IAAI,GAA4B;gBACpC,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;yBACV,GAAG,CAAC,UAAC,GAAG;wBACP,IAAI;4BACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;yBACpB;wBAAC,OAAO,GAAG,EAAE;4BACZ,OAAO,EAAE,CAAC;yBACX;oBACH,CAAC,CAAC;yBACD,IAAI,CAAC,GAAG,CAAC;oBACZ,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,uBAAe;oBAC/B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;oBACtB,SAAS,EAAE,IAAA,2BAAmB,GAAE;oBAChC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE;iBACnC;gBACD,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,IAAM,cAAc,GAAG;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;gBAClG,cAAc,CAAC,KAAK,CAAC,4DAA4D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEjG,OAAO;aACR;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAE5C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC;AA1DD,8CA0DC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItem, TransportItemType } from '../../transports';\nimport type { Transports } from '../../transports';\nimport { deepEqual, defaultLogLevel, getCurrentTimestamp, isNull } from '../../utils';\nimport type { TracesAPI } from '../traces';\nimport type { LogEvent, LogsAPI } from './types';\n\nexport function initializeLogsAPI(\n internalLogger: InternalLogger,\n config: Config,\n transports: Transports,\n metas: Metas,\n tracesApi: TracesAPI\n): LogsAPI {\n internalLogger.debug('Initializing logs API');\n\n let lastPayload: Pick<LogEvent, 'message' | 'level' | 'context'> | null = null;\n\n const pushLog: LogsAPI['pushLog'] = (args, { context, level, skipDedupe } = {}) => {\n try {\n const item: TransportItem<LogEvent> = {\n type: TransportItemType.LOG,\n payload: {\n message: args\n .map((arg) => {\n try {\n return String(arg);\n } catch (err) {\n return '';\n }\n })\n .join(' '),\n level: level ?? defaultLogLevel,\n context: context ?? {},\n timestamp: getCurrentTimestamp(),\n trace: tracesApi.getTraceContext(),\n },\n meta: metas.value,\n };\n\n const testingPayload = {\n message: item.payload.message,\n level: item.payload.level,\n context: item.payload.context,\n };\n\n if (!skipDedupe && config.dedupe && !isNull(lastPayload) && deepEqual(testingPayload, lastPayload)) {\n internalLogger.debug('Skipping log push because it is the same as the last one\\n', item.payload);\n\n return;\n }\n\n lastPayload = testingPayload;\n\n internalLogger.debug('Pushing log\\n', item);\n\n transports.execute(item);\n } catch (err) {\n internalLogger.error('Error pushing log\\n', err);\n }\n };\n\n return {\n pushLog,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/logs/initialize.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/logs/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeMetas } from '../../metas';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { initializeTransports } from '../../transports';\nimport { LogLevel } from '../../utils';\nimport { initializeTracesAPI } from '../traces';\nimport { initializeLogsAPI } from './initialize';\nimport type { LogsAPI } from './types';\n\ndescribe('api.logs', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [LogsAPI, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n const transports = initializeTransports(mockInternalLogger, config);\n const metas = initializeMetas(mockInternalLogger, config);\n const tracesAPI = initializeTracesAPI(mockInternalLogger, config, transports, metas);\n const api = initializeLogsAPI(mockInternalLogger, config, transports, metas, tracesAPI);\n\n return [api, transport];\n }\n\n describe('pushLog', () => {\n let api: LogsAPI;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n describe('Filtering', () => {\n it('filters the same event', () => {\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter events with partially same message\", () => {\n api.pushLog(['test', 'another test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter events with same message and different level\", () => {\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test'], {\n level: LogLevel.INFO,\n });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter events with same message and same level but different context\", () => {\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test'], {\n context: {\n a: 1,\n },\n });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters an event and doesn't filter the next different one\", () => {\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test'], {\n level: LogLevel.ERROR,\n });\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n api.pushLog(['test']);\n expect(transport.items).toHaveLength(1);\n\n api.pushLog(['test'], { skipDedupe: true });\n expect(transport.items).toHaveLength(2);\n });\n });\n });\n});\n\nexport {};\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { BaseObject, LogLevel } from '../../utils';
2
2
  import type { TraceContext } from '../traces';
3
- export declare type LogContext = BaseObject;
3
+ export type LogContext = BaseObject;
4
4
  export interface LogEvent {
5
5
  context: LogContext;
6
6
  level: LogLevel;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/logs/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/logs/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseObject, LogLevel } from '../../utils';\nimport type { TraceContext } from '../traces';\n\nexport type LogContext = BaseObject;\n\nexport interface LogEvent {\n context: LogContext;\n level: LogLevel;\n message: string;\n timestamp: string;\n\n trace?: TraceContext;\n}\n\nexport interface PushLogOptions {\n context?: LogContext;\n level?: LogLevel;\n skipDedupe?: boolean;\n}\n\nexport interface LogsAPI {\n pushLog: (args: unknown[], options?: PushLogOptions) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/measurements/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAAhD,uHAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/measurements/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAAhD,uHAAA,yBAAyB,OAAA","sourcesContent":["export { initializeMeasurementsAPI } from './initialize';\n\nexport type { MeasurementEvent, MeasurementsAPI, PushMeasurementOptions } from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/measurements/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,+CAAoE;AAEpE,qCAAgD;AAIhD,SAAgB,yBAAyB,CACvC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;IAEpB,cAAc,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEtD,IAAI,WAAW,GAAqD,IAAI,CAAC;IAEzE,IAAM,eAAe,GAAuC,UAAC,OAAO,EAAE,EAAmB;YAAnB,qBAAiB,EAAE,KAAA,EAAjB,UAAU,gBAAA;QAChF,IAAI;YACF,IAAM,IAAI,GAAoC;gBAC5C,IAAI,EAAE,8BAAiB,CAAC,WAAW;gBACnC,OAAO,wBACF,OAAO,KACV,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE,GACnC;gBACD,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,IAAM,cAAc,GAAG;gBACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;gBAClG,cAAc,CAAC,KAAK,CAAC,oEAAoE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEzG,OAAO;aACR;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAEpD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC;IAEF,OAAO;QACL,eAAe,iBAAA;KAChB,CAAC;AACJ,CAAC;AA9CD,8DA8CC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/measurements/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,+CAAoE;AAEpE,qCAAgD;AAIhD,SAAgB,yBAAyB,CACvC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,KAAY,EACZ,SAAoB;IAEpB,cAAc,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEtD,IAAI,WAAW,GAAqD,IAAI,CAAC;IAEzE,IAAM,eAAe,GAAuC,UAAC,OAAO,EAAE,EAAmB;YAAnB,qBAAiB,EAAE,KAAA,EAAjB,UAAU,gBAAA;QAChF,IAAI;YACF,IAAM,IAAI,GAAoC;gBAC5C,IAAI,EAAE,8BAAiB,CAAC,WAAW;gBACnC,OAAO,wBACF,OAAO,KACV,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE,GACnC;gBACD,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,IAAM,cAAc,GAAG;gBACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,IAAI,IAAA,iBAAS,EAAC,cAAc,EAAE,WAAW,CAAC,EAAE;gBAClG,cAAc,CAAC,KAAK,CAAC,oEAAoE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEzG,OAAO;aACR;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAEpD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC;IAEF,OAAO;QACL,eAAe,iBAAA;KAChB,CAAC;AACJ,CAAC;AA9CD,8DA8CC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItem, TransportItemType } from '../../transports';\nimport type { Transports } from '../../transports';\nimport { deepEqual, isNull } from '../../utils';\nimport type { TracesAPI } from '../traces';\nimport type { MeasurementEvent, MeasurementsAPI } from './types';\n\nexport function initializeMeasurementsAPI(\n internalLogger: InternalLogger,\n config: Config,\n transports: Transports,\n metas: Metas,\n tracesApi: TracesAPI\n): MeasurementsAPI {\n internalLogger.debug('Initializing measurements API');\n\n let lastPayload: Pick<MeasurementEvent, 'type' | 'values'> | null = null;\n\n const pushMeasurement: MeasurementsAPI['pushMeasurement'] = (payload, { skipDedupe } = {}) => {\n try {\n const item: TransportItem<MeasurementEvent> = {\n type: TransportItemType.MEASUREMENT,\n payload: {\n ...payload,\n trace: tracesApi.getTraceContext(),\n },\n meta: metas.value,\n };\n\n const testingPayload = {\n type: item.payload.type,\n values: item.payload.values,\n };\n\n if (!skipDedupe && config.dedupe && !isNull(lastPayload) && deepEqual(testingPayload, lastPayload)) {\n internalLogger.debug('Skipping measurement push because it is the same as the last one\\n', item.payload);\n\n return;\n }\n\n lastPayload = testingPayload;\n\n internalLogger.debug('Pushing measurement\\n', item);\n\n transports.execute(item);\n } catch (err) {\n internalLogger.error('Error pushing measurement\\n', err);\n }\n };\n\n return {\n pushMeasurement,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/measurements/initialize.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../../src/api/measurements/initialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeMetas } from '../../metas';\nimport { mockConfig, mockInternalLogger, MockTransport } from '../../testUtils';\nimport { initializeTransports } from '../../transports';\nimport { initializeTracesAPI } from '../traces';\nimport { initializeMeasurementsAPI } from './initialize';\nimport type { MeasurementsAPI } from './types';\n\ndescribe('api.measurements', () => {\n function createAPI({ dedupe }: { dedupe: boolean } = { dedupe: true }): [MeasurementsAPI, MockTransport] {\n const transport = new MockTransport();\n const config = mockConfig({\n dedupe,\n transports: [transport],\n });\n const transports = initializeTransports(mockInternalLogger, config);\n const metas = initializeMetas(mockInternalLogger, config);\n const tracesAPI = initializeTracesAPI(mockInternalLogger, config, transports, metas);\n const api = initializeMeasurementsAPI(mockInternalLogger, config, transports, metas, tracesAPI);\n\n return [api, transport];\n }\n\n describe('pushMeasurement', () => {\n let api: MeasurementsAPI;\n let transport: MockTransport;\n\n beforeEach(() => {\n [api, transport] = createAPI();\n });\n\n describe('Filtering', () => {\n it('filters the same measurement', () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n });\n\n it(\"doesn't filter measurements with same type and partially same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n values: {\n ...measurement1.values,\n b: 2,\n },\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter measurements with different type and same values\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"filters a measurement and doesn't filter the next different one\", () => {\n const measurement1 = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n const measurement2 = {\n ...measurement1,\n type: 'web-vitals',\n };\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement1);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement2);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when dedupe is false\", () => {\n [api, transport] = createAPI({ dedupe: false });\n\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(2);\n });\n\n it(\"doesn't filter when skipDedupe is true\", () => {\n const measurement = {\n type: 'custom',\n values: {\n a: 1,\n },\n };\n\n api.pushMeasurement(measurement);\n expect(transport.items).toHaveLength(1);\n\n api.pushMeasurement(measurement, { skipDedupe: true });\n expect(transport.items).toHaveLength(2);\n });\n });\n });\n});\n\nexport {};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/measurements/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/measurements/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { TraceContext } from '../traces';\n\nexport interface MeasurementEvent<V extends { [label: string]: number } = { [label: string]: number }> {\n type: string;\n values: V;\n\n trace?: TraceContext;\n}\n\nexport interface PushMeasurementOptions {\n skipDedupe?: boolean;\n}\n\nexport interface MeasurementsAPI {\n pushMeasurement: (payload: MeasurementEvent, options?: PushMeasurementOptions) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/meta/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/meta/index.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA","sourcesContent":["export { initializeMetaAPI } from './initialize';\n\nexport type { MetaAPI } from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/meta/initialize.ts"],"names":[],"mappings":";;;AAMA,SAAgB,iBAAiB,CAC/B,cAA8B,EAC9B,OAAe,EACf,WAAuB,EACvB,KAAY;IAEZ,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE9C,IAAI,WAAW,GAA8B,SAAS,CAAC;IACvD,IAAI,QAAQ,GAA8B,SAAS,CAAC;IAEpD,IAAM,OAAO,GAAG,UAAC,IAAe;QAC9B,IAAI,QAAQ,EAAE;YACZ,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACxB;QAED,QAAQ,GAAG;YACT,IAAI,MAAA;SACL,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,UAAC,OAAqB;QACvC,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC3B;QAED,WAAW,GAAG;YACZ,OAAO,SAAA;SACR,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAM,UAAU,GAA0B,cAAM,OAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAnB,CAAmB,CAAC;IAEpE,OAAO;QACL,OAAO,SAAA;QACP,SAAS,EAAE,OAAO;QAClB,UAAU,YAAA;QACV,YAAY,EAAE,UAAU;QACxB,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AA5CD,8CA4CC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/meta/initialize.ts"],"names":[],"mappings":";;;AAMA,SAAgB,iBAAiB,CAC/B,cAA8B,EAC9B,OAAe,EACf,WAAuB,EACvB,KAAY;IAEZ,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE9C,IAAI,WAAW,GAA8B,SAAS,CAAC;IACvD,IAAI,QAAQ,GAA8B,SAAS,CAAC;IAEpD,IAAM,OAAO,GAAG,UAAC,IAAe;QAC9B,IAAI,QAAQ,EAAE;YACZ,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACxB;QAED,QAAQ,GAAG;YACT,IAAI,MAAA;SACL,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,UAAC,OAAqB;QACvC,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC3B;QAED,WAAW,GAAG;YACZ,OAAO,SAAA;SACR,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAM,UAAU,GAA0B,cAAM,OAAA,KAAK,CAAC,KAAK,CAAC,OAAO,EAAnB,CAAmB,CAAC;IAEpE,OAAO;QACL,OAAO,SAAA;QACP,SAAS,EAAE,OAAO;QAClB,UAAU,YAAA;QACV,YAAY,EAAE,UAAU;QACxB,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AA5CD,8CA4CC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas, MetaSession, MetaUser } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n internalLogger: InternalLogger,\n _config: Config,\n _transports: Transports,\n metas: Metas\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n\n const setUser = (user?: MetaUser) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession = (session?: MetaSession) => {\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session,\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n return {\n setUser,\n resetUser: setUser,\n setSession,\n resetSession: setSession,\n getSession,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/meta/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/meta/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MetaSession, MetaUser } from '../../metas';\n\nexport interface MetaAPI {\n setUser: (user: MetaUser) => void;\n resetUser: () => void;\n setSession: (session: MetaSession) => void;\n resetSession: () => void;\n getSession: () => MetaSession | undefined;\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  export { initializeTracesAPI } from './initialize';
2
- export type { InstrumentationLibrarySpan, OTELApi, ResourceSpan, TraceContext, TraceEvent, TracesAPI } from './types';
2
+ export type { OTELApi, TraceContext, TraceEvent, TracesAPI } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/traces/index.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/traces/index.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA","sourcesContent":["export { initializeTracesAPI } from './initialize';\n\nexport type { OTELApi, TraceContext, TraceEvent, TracesAPI } from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/traces/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAgF;AAGhF,SAAgB,mBAAmB,CACjC,cAA8B,EAC9B,OAAe,EACf,UAAsB,EACtB,KAAY;IAEZ,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhD,IAAI,IAAI,GAAwB,SAAS,CAAC;IAE1C,IAAM,QAAQ,GAA0B,UAAC,KAAK,EAAE,OAAO;QACrD,cAAc,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEnD,IAAI,GAAG;YACL,KAAK,OAAA;YACL,OAAO,SAAA;SACR,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,eAAe,GAAiC;QACpD,IAAM,GAAG,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,OAAO,CAAC,GAAG;YACT,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,QAAQ,EAAE,GAAG,CAAC,OAAO;gBACrB,OAAO,EAAE,GAAG,CAAC,MAAM;aACpB,CAAC;IACR,CAAC,CAAC;IAEF,IAAM,UAAU,GAA4B,UAAC,OAAO;QAClD,IAAI;YACF,IAAM,IAAI,GAA8B;gBACtC,IAAI,EAAE,8BAAiB,CAAC,KAAK;gBAC7B,OAAO,SAAA;gBACP,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,cAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;SACpD;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAyB,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;IAEjD,IAAM,iBAAiB,GAAmC,cAAM,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC;IAEvE,OAAO;QACL,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAzDD,kDAyDC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/traces/initialize.ts"],"names":[],"mappings":";;;AAGA,+CAAgF;AAGhF,SAAgB,mBAAmB,CACjC,cAA8B,EAC9B,OAAe,EACf,UAAsB,EACtB,KAAY;IAEZ,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhD,IAAI,IAAI,GAAwB,SAAS,CAAC;IAE1C,IAAM,QAAQ,GAA0B,UAAC,KAAK,EAAE,OAAO;QACrD,cAAc,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEnD,IAAI,GAAG;YACL,KAAK,OAAA;YACL,OAAO,SAAA;SACR,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,eAAe,GAAiC;QACpD,IAAM,GAAG,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9D,OAAO,CAAC,GAAG;YACT,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,QAAQ,EAAE,GAAG,CAAC,OAAO;gBACrB,OAAO,EAAE,GAAG,CAAC,MAAM;aACpB,CAAC;IACR,CAAC,CAAC;IAEF,IAAM,UAAU,GAA4B,UAAC,OAAO;QAClD,IAAI;YACF,IAAM,IAAI,GAA8B;gBACtC,IAAI,EAAE,8BAAiB,CAAC,KAAK;gBAC7B,OAAO,SAAA;gBACP,IAAI,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC;YAEF,cAAc,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;SACpD;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAyB,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;IAEjD,IAAM,iBAAiB,GAAmC,cAAM,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC;IAEvE,OAAO;QACL,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAzDD,kDAyDC","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Metas } from '../../metas';\nimport { TransportItem, TransportItemType, Transports } from '../../transports';\nimport type { OTELApi, TraceEvent, TracesAPI } from './types';\n\nexport function initializeTracesAPI(\n internalLogger: InternalLogger,\n _config: Config,\n transports: Transports,\n metas: Metas\n): TracesAPI {\n internalLogger.debug('Initializing traces API');\n\n let otel: OTELApi | undefined = undefined;\n\n const initOTEL: TracesAPI['initOTEL'] = (trace, context) => {\n internalLogger.debug('Initializing OpenTelemetry');\n\n otel = {\n trace,\n context,\n };\n };\n\n const getTraceContext: TracesAPI['getTraceContext'] = () => {\n const ctx = otel?.trace.getSpanContext(otel.context.active());\n\n return !ctx\n ? undefined\n : {\n trace_id: ctx.traceId,\n span_id: ctx.spanId,\n };\n };\n\n const pushTraces: TracesAPI['pushTraces'] = (payload) => {\n try {\n const item: TransportItem<TraceEvent> = {\n type: TransportItemType.TRACE,\n payload,\n meta: metas.value,\n };\n\n internalLogger.debug('Pushing trace\\n', item);\n\n transports.execute(item);\n } catch (err) {\n internalLogger.error('Error pushing trace\\n', err);\n }\n };\n\n const getOTEL: TracesAPI['getOTEL'] = () => otel;\n\n const isOTELInitialized: TracesAPI['isOTELInitialized'] = () => !!otel;\n\n return {\n getOTEL,\n getTraceContext,\n initOTEL,\n isOTELInitialized,\n pushTraces,\n };\n}\n"]}
@@ -1,13 +1,7 @@
1
1
  import type { ContextAPI as OTELContextAPI, TraceAPI as OTELTraceAPI } from '@opentelemetry/api';
2
- import type { IInstrumentationScope, IResourceSpans, IScopeSpans } from '@opentelemetry/otlp-transformer';
2
+ import type { IResourceSpans } from '@opentelemetry/otlp-transformer';
3
3
  export interface TraceEvent {
4
- resourceSpans?: ResourceSpan[];
5
- }
6
- export interface ResourceSpan extends Omit<IResourceSpans, 'scopeSpans'> {
7
- instrumentationLibrarySpans: InstrumentationLibrarySpan[];
8
- }
9
- export interface InstrumentationLibrarySpan extends Omit<IScopeSpans, 'scope'> {
10
- instrumentationLibrary?: IInstrumentationScope;
4
+ resourceSpans?: IResourceSpans[];
11
5
  }
12
6
  export interface OTELApi {
13
7
  trace: OTELTraceAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/traces/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/traces/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContextAPI as OTELContextAPI, TraceAPI as OTELTraceAPI } from '@opentelemetry/api';\nimport type { IResourceSpans } from '@opentelemetry/otlp-transformer';\n\n// TODO: Revert temporary patching\n// in latest OpenTelemetry packages protobuf type \"instrumentationLibrary\" has been renamed to \"scope\"\n// however on the Grafana Agent we use older OTel collector that doesn't have this change\n// temporarily patching types to the old shape until Grafana Agent catches up to otel-collector >= 0.52\nexport interface TraceEvent {\n resourceSpans?: IResourceSpans[];\n}\n\nexport interface OTELApi {\n trace: OTELTraceAPI;\n context: OTELContextAPI;\n}\n\nexport interface TracesAPI {\n getOTEL: () => OTELApi | undefined;\n getTraceContext: () => TraceContext | undefined;\n initOTEL: (trace: OTELTraceAPI, context: OTELContextAPI) => void;\n isOTELInitialized: () => boolean;\n pushTraces: (traces: TraceEvent) => void;\n}\n\n// trace context for logs, exceptions, measurements\nexport interface TraceContext {\n trace_id: string;\n span_id: string;\n}\n"]}
@@ -4,5 +4,5 @@ import type { LogEvent, LogsAPI } from './logs';
4
4
  import type { MeasurementEvent, MeasurementsAPI } from './measurements';
5
5
  import type { MetaAPI } from './meta';
6
6
  import type { TraceEvent, TracesAPI } from './traces';
7
- export declare type APIEvent = LogEvent | ExceptionEvent | MeasurementEvent | TraceEvent | EventEvent;
8
- export declare type API = LogsAPI & ExceptionsAPI & MeasurementsAPI & TracesAPI & MetaAPI & EventsAPI;
7
+ export type APIEvent = LogEvent | ExceptionEvent | MeasurementEvent | TraceEvent | EventEvent;
8
+ export type API = LogsAPI & ExceptionsAPI & MeasurementsAPI & TracesAPI & MetaAPI & EventsAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EventEvent, EventsAPI } from './events';\nimport type { ExceptionEvent, ExceptionsAPI } from './exceptions';\nimport type { LogEvent, LogsAPI } from './logs';\nimport type { MeasurementEvent, MeasurementsAPI } from './measurements';\nimport type { MetaAPI } from './meta';\nimport type { TraceEvent, TracesAPI } from './traces';\n\nexport type APIEvent = LogEvent | ExceptionEvent | MeasurementEvent | TraceEvent | EventEvent;\n\nexport type API = LogsAPI & ExceptionsAPI & MeasurementsAPI & TracesAPI & MetaAPI & EventsAPI;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/config/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/config/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,MAAM,CAAC","sourcesContent":["export const defaultGlobalObjectKey = 'faro';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AAAxC,+GAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AAAxC,+GAAA,sBAAsB,OAAA","sourcesContent":["export { defaultGlobalObjectKey } from './const';\n\nexport type { Config, Patterns } from './types';\n"]}
@@ -23,4 +23,4 @@ export interface Config<P = APIEvent> {
23
23
  user?: MetaUser;
24
24
  eventDomain?: string;
25
25
  }
26
- export declare type Patterns = Array<string | RegExp>;
26
+ export type Patterns = Array<string | RegExp>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { APIEvent, StacktraceParser } from '../api';\nimport type { Instrumentation } from '../instrumentations';\nimport type { InternalLoggerLevel } from '../internalLogger';\nimport type { MetaApp, MetaItem, MetaSession, MetaUser } from '../metas';\nimport type { BeforeSendHook, Transport } from '../transports';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\n\nexport interface Config<P = APIEvent> {\n app: MetaApp;\n dedupe: boolean;\n globalObjectKey: string;\n isolate: boolean;\n instrumentations: Instrumentation[];\n internalLoggerLevel: InternalLoggerLevel;\n metas: MetaItem[];\n parseStacktrace: StacktraceParser;\n paused: boolean;\n preventGlobalExposure: boolean;\n transports: Transport[];\n unpatchedConsole: UnpatchedConsole;\n\n beforeSend?: BeforeSendHook<P>;\n ignoreErrors?: Patterns;\n session?: MetaSession;\n user?: MetaUser;\n eventDomain?: string;\n}\n\nexport type Patterns = Array<string | RegExp>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"faro.test.js","sourceRoot":"","sources":["../../src/faro.test.ts"],"names":[],"mappings":";;AACA,2CAA8C;AAC9C,yCAAwD;AAGxD,QAAQ,CAAC,MAAM,EAAE;IACf,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC;YACxB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE;;QAC5D,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC;YACxB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,IAAM,KAAK,GAAG,SAAS,CAAC,KAAuC,CAAC;QAChE,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"faro.test.js","sourceRoot":"","sources":["../../src/faro.test.ts"],"names":[],"mappings":";;AACA,2CAA8C;AAC9C,yCAAwD;AAGxD,QAAQ,CAAC,MAAM,EAAE;IACf,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC;YACxB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE;;QAC5D,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC;YACxB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,IAAM,KAAK,GAAG,SAAS,CAAC,KAAuC,CAAC;QAChE,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import type { LogEvent } from './api';\nimport { initializeFaro } from './initialize';\nimport { mockConfig, MockTransport } from './testUtils';\nimport type { TransportItem } from './transports';\n\ndescribe('faro', () => {\n it(`can be started paused and doesn't ingest events until unpaused`, () => {\n const transport = new MockTransport();\n const config = mockConfig({\n isolate: true,\n paused: true,\n transports: [transport],\n });\n\n const faro = initializeFaro(config);\n faro.api.pushLog(['test']);\n expect(transport.items).toHaveLength(0);\n\n faro.unpause();\n faro.api.pushLog(['test2']);\n expect(transport.items).toHaveLength(1);\n\n const item = transport.items[0]! as TransportItem<LogEvent>;\n expect(item.payload.message).toEqual('test2');\n });\n\n it('can be started unpaused, then paused and unpaused again', () => {\n const transport = new MockTransport();\n const config = mockConfig({\n isolate: true,\n transports: [transport],\n });\n const faro = initializeFaro(config);\n\n faro.api.pushLog(['test1']);\n expect(transport.items).toHaveLength(1);\n\n faro.pause();\n faro.api.pushLog(['test2']);\n expect(transport.items).toHaveLength(1);\n\n faro.unpause();\n faro.api.pushLog(['test3']);\n const items = transport.items as Array<TransportItem<LogEvent>>;\n expect(items[0]?.payload.message).toEqual('test1');\n expect(items[1]?.payload.message).toEqual('test3');\n });\n});\n\nexport {};\n"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import type { Faro, internalGlobalObjectKey } from '../sdk';
3
- export declare type GlobalObject<T = typeof window | typeof global> = T & {
3
+ export type GlobalObject<T = typeof window | typeof global> = T & {
4
4
  [label: string]: Faro;
5
5
  [internalGlobalObjectKey]: Faro;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"globalObject.js","sourceRoot":"","sources":["../../../src/globalObject/globalObject.ts"],"names":[],"mappings":";;;AAQA,mGAAmG;AACtF,QAAA,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAiB,CAAC"}
1
+ {"version":3,"file":"globalObject.js","sourceRoot":"","sources":["../../../src/globalObject/globalObject.ts"],"names":[],"mappings":";;;AAQA,mGAAmG;AACtF,QAAA,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAiB,CAAC","sourcesContent":["import type { Faro, internalGlobalObjectKey } from '../sdk';\n\nexport type GlobalObject<T = typeof window | typeof global> = T & {\n [label: string]: Faro;\n\n [internalGlobalObjectKey]: Faro;\n};\n\n// This does not uses isUndefined method because it will throw an error in non-browser environments\nexport const globalObject = (typeof window === 'undefined' ? global : window) as GlobalObject;\n"]}