@grafana/faro-core 1.0.0-beta3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/README.md +14 -12
  2. package/dist/bundle/faro-core.iife.js +1 -0
  3. package/dist/cjs/api/events/initialize.js +1 -1
  4. package/dist/cjs/api/events/initialize.js.map +1 -1
  5. package/dist/cjs/api/exceptions/initialize.js +1 -1
  6. package/dist/cjs/api/exceptions/initialize.js.map +1 -1
  7. package/dist/cjs/api/initialize.js +3 -3
  8. package/dist/cjs/api/initialize.js.map +1 -1
  9. package/dist/cjs/api/logs/initialize.js +1 -1
  10. package/dist/cjs/api/logs/initialize.js.map +1 -1
  11. package/dist/cjs/api/measurements/initialize.js +1 -1
  12. package/dist/cjs/api/measurements/initialize.js.map +1 -1
  13. package/dist/cjs/api/meta/initialize.js +14 -1
  14. package/dist/cjs/api/meta/initialize.js.map +1 -1
  15. package/dist/cjs/api/meta/types.js.map +1 -1
  16. package/dist/cjs/api/traces/initialize.js +1 -1
  17. package/dist/cjs/api/traces/initialize.js.map +1 -1
  18. package/dist/cjs/config/types.js.map +1 -1
  19. package/dist/cjs/{utils/extensions.js → extensions/baseExtension.js} +15 -17
  20. package/dist/cjs/extensions/baseExtension.js.map +1 -0
  21. package/dist/cjs/extensions/index.js +6 -0
  22. package/dist/cjs/extensions/index.js.map +1 -0
  23. package/dist/cjs/extensions/types.js +3 -0
  24. package/dist/cjs/extensions/types.js.map +1 -0
  25. package/dist/cjs/index.js +12 -11
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/initialize.js +11 -21
  28. package/dist/cjs/initialize.js.map +1 -1
  29. package/dist/cjs/instrumentations/base.js +6 -3
  30. package/dist/cjs/instrumentations/base.js.map +1 -1
  31. package/dist/cjs/instrumentations/index.js +3 -1
  32. package/dist/cjs/instrumentations/index.js.map +1 -1
  33. package/dist/cjs/instrumentations/initialize.js +8 -2
  34. package/dist/cjs/instrumentations/initialize.js.map +1 -1
  35. package/dist/cjs/instrumentations/registerInitial.js +9 -0
  36. package/dist/cjs/instrumentations/registerInitial.js.map +1 -0
  37. package/dist/cjs/instrumentations/types.js.map +1 -1
  38. package/dist/cjs/internalLogger/const.js.map +1 -1
  39. package/dist/cjs/internalLogger/createInternalLogger.js.map +1 -1
  40. package/dist/cjs/internalLogger/index.js +2 -1
  41. package/dist/cjs/internalLogger/index.js.map +1 -1
  42. package/dist/cjs/internalLogger/initialize.js.map +1 -1
  43. package/dist/cjs/metas/index.js +3 -1
  44. package/dist/cjs/metas/index.js.map +1 -1
  45. package/dist/cjs/metas/initialize.js +4 -30
  46. package/dist/cjs/metas/initialize.js.map +1 -1
  47. package/dist/cjs/metas/registerInitial.js +42 -0
  48. package/dist/cjs/metas/registerInitial.js.map +1 -0
  49. package/dist/cjs/metas/types.js.map +1 -1
  50. package/dist/cjs/sdk/faroGlobalObject.js.map +1 -1
  51. package/dist/cjs/sdk/index.js +3 -3
  52. package/dist/cjs/sdk/index.js.map +1 -1
  53. package/dist/cjs/sdk/internalFaroGlobalObject.js.map +1 -1
  54. package/dist/cjs/sdk/{register.js → registerFaro.js} +13 -3
  55. package/dist/cjs/sdk/registerFaro.js.map +1 -0
  56. package/dist/cjs/semantic.js +1 -0
  57. package/dist/cjs/semantic.js.map +1 -1
  58. package/dist/cjs/testUtils/mockConfig.js.map +1 -1
  59. package/dist/cjs/transports/base.js +2 -2
  60. package/dist/cjs/transports/base.js.map +1 -1
  61. package/dist/cjs/transports/index.js +3 -1
  62. package/dist/cjs/transports/index.js.map +1 -1
  63. package/dist/cjs/transports/initialize.js +5 -4
  64. package/dist/cjs/transports/initialize.js.map +1 -1
  65. package/dist/cjs/transports/registerInitial.js +11 -0
  66. package/dist/cjs/transports/registerInitial.js.map +1 -0
  67. package/dist/cjs/transports/types.js.map +1 -1
  68. package/dist/cjs/unpatchedConsole/initialize.js.map +1 -1
  69. package/dist/cjs/utils/deepEqual.js +58 -5
  70. package/dist/cjs/utils/deepEqual.js.map +1 -1
  71. package/dist/cjs/utils/index.js +1 -3
  72. package/dist/cjs/utils/index.js.map +1 -1
  73. package/dist/cjs/utils/shortId.js.map +1 -1
  74. package/dist/cjs/version.js +2 -2
  75. package/dist/cjs/version.js.map +1 -1
  76. package/dist/esm/api/events/initialize.js +1 -1
  77. package/dist/esm/api/events/initialize.js.map +1 -1
  78. package/dist/esm/api/exceptions/initialize.js +1 -1
  79. package/dist/esm/api/exceptions/initialize.js.map +1 -1
  80. package/dist/esm/api/initialize.js +3 -3
  81. package/dist/esm/api/initialize.js.map +1 -1
  82. package/dist/esm/api/logs/initialize.js +1 -1
  83. package/dist/esm/api/logs/initialize.js.map +1 -1
  84. package/dist/esm/api/measurements/initialize.js +1 -1
  85. package/dist/esm/api/measurements/initialize.js.map +1 -1
  86. package/dist/esm/api/meta/initialize.js +14 -1
  87. package/dist/esm/api/meta/initialize.js.map +1 -1
  88. package/dist/esm/api/meta/types.js.map +1 -1
  89. package/dist/esm/api/traces/initialize.js +1 -1
  90. package/dist/esm/api/traces/initialize.js.map +1 -1
  91. package/dist/esm/config/types.js.map +1 -1
  92. package/dist/esm/extensions/baseExtension.js +23 -0
  93. package/dist/esm/extensions/baseExtension.js.map +1 -0
  94. package/dist/esm/extensions/index.js +2 -0
  95. package/dist/esm/extensions/index.js.map +1 -0
  96. package/dist/esm/extensions/types.js +2 -0
  97. package/dist/esm/extensions/types.js.map +1 -0
  98. package/dist/esm/index.js +4 -3
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/initialize.js +14 -23
  101. package/dist/esm/initialize.js.map +1 -1
  102. package/dist/esm/instrumentations/base.js +6 -1
  103. package/dist/esm/instrumentations/base.js.map +1 -1
  104. package/dist/esm/instrumentations/index.js +1 -0
  105. package/dist/esm/instrumentations/index.js.map +1 -1
  106. package/dist/esm/instrumentations/initialize.js +8 -2
  107. package/dist/esm/instrumentations/initialize.js.map +1 -1
  108. package/dist/esm/instrumentations/registerInitial.js +4 -0
  109. package/dist/esm/instrumentations/registerInitial.js.map +1 -0
  110. package/dist/esm/instrumentations/types.js.map +1 -1
  111. package/dist/esm/internalLogger/const.js.map +1 -1
  112. package/dist/esm/internalLogger/createInternalLogger.js.map +1 -1
  113. package/dist/esm/internalLogger/index.js +1 -1
  114. package/dist/esm/internalLogger/index.js.map +1 -1
  115. package/dist/esm/internalLogger/initialize.js.map +1 -1
  116. package/dist/esm/metas/index.js +1 -0
  117. package/dist/esm/metas/index.js.map +1 -1
  118. package/dist/esm/metas/initialize.js +4 -18
  119. package/dist/esm/metas/initialize.js.map +1 -1
  120. package/dist/esm/metas/registerInitial.js +25 -0
  121. package/dist/esm/metas/registerInitial.js.map +1 -0
  122. package/dist/esm/metas/types.js.map +1 -1
  123. package/dist/esm/sdk/faroGlobalObject.js.map +1 -1
  124. package/dist/esm/sdk/index.js +1 -1
  125. package/dist/esm/sdk/index.js.map +1 -1
  126. package/dist/esm/sdk/internalFaroGlobalObject.js.map +1 -1
  127. package/dist/esm/sdk/registerFaro.js +21 -0
  128. package/dist/esm/sdk/registerFaro.js.map +1 -0
  129. package/dist/esm/semantic.js +1 -0
  130. package/dist/esm/semantic.js.map +1 -1
  131. package/dist/esm/testUtils/mockConfig.js.map +1 -1
  132. package/dist/esm/transports/base.js +1 -1
  133. package/dist/esm/transports/base.js.map +1 -1
  134. package/dist/esm/transports/index.js +1 -0
  135. package/dist/esm/transports/index.js.map +1 -1
  136. package/dist/esm/transports/initialize.js +5 -4
  137. package/dist/esm/transports/initialize.js.map +1 -1
  138. package/dist/esm/transports/registerInitial.js +6 -0
  139. package/dist/esm/transports/registerInitial.js.map +1 -0
  140. package/dist/esm/transports/types.js.map +1 -1
  141. package/dist/esm/unpatchedConsole/initialize.js.map +1 -1
  142. package/dist/esm/utils/deepEqual.js +55 -2
  143. package/dist/esm/utils/deepEqual.js.map +1 -1
  144. package/dist/esm/utils/index.js +0 -1
  145. package/dist/esm/utils/index.js.map +1 -1
  146. package/dist/esm/utils/shortId.js.map +1 -1
  147. package/dist/esm/version.js +2 -2
  148. package/dist/esm/version.js.map +1 -1
  149. package/dist/{cjs → types}/api/events/index.d.ts +0 -0
  150. package/dist/{cjs → types}/api/events/initialize.d.ts +2 -1
  151. package/dist/{cjs → types}/api/events/types.d.ts +0 -0
  152. package/dist/{cjs → types}/api/exceptions/const.d.ts +0 -0
  153. package/dist/{cjs → types}/api/exceptions/index.d.ts +0 -0
  154. package/dist/{cjs → types}/api/exceptions/initialize.d.ts +2 -1
  155. package/dist/{cjs → types}/api/exceptions/types.d.ts +0 -0
  156. package/dist/{cjs → types}/api/index.d.ts +0 -0
  157. package/dist/types/api/initialize.d.ts +7 -0
  158. package/dist/{cjs → types}/api/logs/index.d.ts +0 -0
  159. package/dist/{esm → types}/api/logs/initialize.d.ts +2 -1
  160. package/dist/{cjs → types}/api/logs/types.d.ts +0 -0
  161. package/dist/{cjs → types}/api/measurements/index.d.ts +0 -0
  162. package/dist/{esm → types}/api/measurements/initialize.d.ts +2 -1
  163. package/dist/{cjs → types}/api/measurements/types.d.ts +0 -0
  164. package/dist/{cjs → types}/api/meta/index.d.ts +0 -0
  165. package/dist/types/api/meta/initialize.d.ts +7 -0
  166. package/dist/types/api/meta/types.d.ts +10 -0
  167. package/dist/{cjs → types}/api/traces/index.d.ts +0 -0
  168. package/dist/types/api/traces/initialize.d.ts +7 -0
  169. package/dist/{cjs → types}/api/traces/types.d.ts +0 -0
  170. package/dist/{cjs → types}/api/types.d.ts +0 -0
  171. package/dist/{cjs → types}/config/const.d.ts +0 -0
  172. package/dist/{cjs → types}/config/index.d.ts +0 -0
  173. package/dist/{esm → types}/config/types.d.ts +2 -1
  174. package/dist/types/extensions/baseExtension.d.ts +15 -0
  175. package/dist/types/extensions/index.d.ts +2 -0
  176. package/dist/types/extensions/types.d.ts +16 -0
  177. package/dist/{cjs → types}/globalObject/globalObject.d.ts +0 -0
  178. package/dist/{cjs → types}/globalObject/index.d.ts +0 -0
  179. package/dist/{cjs → types}/index.d.ts +7 -5
  180. package/dist/{cjs → types}/initialize.d.ts +0 -0
  181. package/dist/{cjs → types}/instrumentations/base.d.ts +5 -1
  182. package/dist/{cjs → types}/instrumentations/index.d.ts +1 -0
  183. package/dist/types/instrumentations/initialize.d.ts +8 -0
  184. package/dist/types/instrumentations/registerInitial.d.ts +2 -0
  185. package/dist/{cjs → types}/instrumentations/types.d.ts +5 -1
  186. package/dist/{cjs → types}/internalLogger/const.d.ts +0 -0
  187. package/dist/{cjs → types}/internalLogger/createInternalLogger.d.ts +0 -0
  188. package/dist/{cjs → types}/internalLogger/index.d.ts +1 -1
  189. package/dist/{cjs → types}/internalLogger/initialize.d.ts +0 -0
  190. package/dist/{cjs → types}/internalLogger/types.d.ts +0 -0
  191. package/dist/{cjs → types}/metas/index.d.ts +2 -1
  192. package/dist/types/metas/initialize.d.ts +5 -0
  193. package/dist/types/metas/registerInitial.d.ts +2 -0
  194. package/dist/{cjs → types}/metas/types.d.ts +4 -1
  195. package/dist/{cjs → types}/sdk/const.d.ts +0 -0
  196. package/dist/{cjs → types}/sdk/faroGlobalObject.d.ts +0 -0
  197. package/dist/{cjs → types}/sdk/index.d.ts +1 -1
  198. package/dist/{cjs → types}/sdk/internalFaroGlobalObject.d.ts +0 -0
  199. package/dist/{esm/sdk/types.d.ts → types/sdk/registerFaro.d.ts} +3 -11
  200. package/dist/{cjs → types}/sdk/types.d.ts +0 -0
  201. package/dist/{cjs → types}/semantic.d.ts +1 -0
  202. package/dist/{cjs → types}/testUtils/index.d.ts +0 -0
  203. package/dist/{cjs → types}/testUtils/mockConfig.d.ts +0 -0
  204. package/dist/{cjs → types}/testUtils/mockInternalLogger.d.ts +0 -0
  205. package/dist/{cjs → types}/testUtils/mockStacktraceParser.d.ts +0 -0
  206. package/dist/{cjs → types}/testUtils/mockTransport.d.ts +1 -1
  207. package/dist/{cjs → types}/testUtils/testPromise.d.ts +0 -0
  208. package/dist/{cjs → types}/transports/base.d.ts +1 -1
  209. package/dist/{cjs → types}/transports/const.d.ts +0 -0
  210. package/dist/{cjs → types}/transports/index.d.ts +1 -0
  211. package/dist/{cjs → types}/transports/initialize.d.ts +3 -1
  212. package/dist/types/transports/registerInitial.d.ts +2 -0
  213. package/dist/{esm → types}/transports/types.d.ts +1 -1
  214. package/dist/{cjs → types}/transports/utils.d.ts +0 -0
  215. package/dist/{cjs → types}/unpatchedConsole/const.d.ts +0 -0
  216. package/dist/{cjs → types}/unpatchedConsole/index.d.ts +0 -0
  217. package/dist/{cjs → types}/unpatchedConsole/initialize.d.ts +0 -0
  218. package/dist/{cjs → types}/unpatchedConsole/types.d.ts +0 -0
  219. package/dist/{cjs → types}/utils/baseObject.d.ts +0 -0
  220. package/dist/types/utils/deepEqual.d.ts +1 -0
  221. package/dist/{cjs → types}/utils/getCurrentTimestamp.d.ts +0 -0
  222. package/dist/{cjs → types}/utils/index.d.ts +0 -2
  223. package/dist/{cjs → types}/utils/is.d.ts +0 -0
  224. package/dist/{cjs → types}/utils/logLevels.d.ts +0 -0
  225. package/dist/{cjs → types}/utils/noop.d.ts +0 -0
  226. package/dist/{cjs → types}/utils/promiseBuffer.d.ts +0 -0
  227. package/dist/{cjs → types}/utils/shortId.d.ts +0 -0
  228. package/dist/types/version.d.ts +1 -0
  229. package/package.json +21 -15
  230. package/dist/cjs/api/events/initialize.test.d.ts +0 -1
  231. package/dist/cjs/api/events/initialize.test.js +0 -92
  232. package/dist/cjs/api/events/initialize.test.js.map +0 -1
  233. package/dist/cjs/api/exceptions/initialize.test.d.ts +0 -1
  234. package/dist/cjs/api/exceptions/initialize.test.js +0 -138
  235. package/dist/cjs/api/exceptions/initialize.test.js.map +0 -1
  236. package/dist/cjs/api/initialize.d.ts +0 -6
  237. package/dist/cjs/api/logs/initialize.d.ts +0 -7
  238. package/dist/cjs/api/logs/initialize.test.d.ts +0 -1
  239. package/dist/cjs/api/logs/initialize.test.js +0 -88
  240. package/dist/cjs/api/logs/initialize.test.js.map +0 -1
  241. package/dist/cjs/api/measurements/initialize.d.ts +0 -7
  242. package/dist/cjs/api/measurements/initialize.test.d.ts +0 -1
  243. package/dist/cjs/api/measurements/initialize.test.js +0 -123
  244. package/dist/cjs/api/measurements/initialize.test.js.map +0 -1
  245. package/dist/cjs/api/meta/initialize.d.ts +0 -6
  246. package/dist/cjs/api/meta/types.d.ts +0 -8
  247. package/dist/cjs/api/traces/initialize.d.ts +0 -6
  248. package/dist/cjs/config/types.d.ts +0 -26
  249. package/dist/cjs/faro.test.d.ts +0 -1
  250. package/dist/cjs/faro.test.js +0 -42
  251. package/dist/cjs/faro.test.js.map +0 -1
  252. package/dist/cjs/instrumentations/initialize.d.ts +0 -4
  253. package/dist/cjs/metas/initialize.d.ts +0 -4
  254. package/dist/cjs/metas/initialize.test.d.ts +0 -1
  255. package/dist/cjs/metas/initialize.test.js +0 -21
  256. package/dist/cjs/metas/initialize.test.js.map +0 -1
  257. package/dist/cjs/sdk/register.d.ts +0 -4
  258. package/dist/cjs/sdk/register.js.map +0 -1
  259. package/dist/cjs/transports/transports.test.d.ts +0 -1
  260. package/dist/cjs/transports/transports.test.js +0 -141
  261. package/dist/cjs/transports/transports.test.js.map +0 -1
  262. package/dist/cjs/transports/types.d.ts +0 -37
  263. package/dist/cjs/utils/deepEqual.d.ts +0 -2
  264. package/dist/cjs/utils/extensions.d.ts +0 -19
  265. package/dist/cjs/utils/extensions.js.map +0 -1
  266. package/dist/cjs/utils/promiseBuffer.test.d.ts +0 -1
  267. package/dist/cjs/utils/promiseBuffer.test.js +0 -146
  268. package/dist/cjs/utils/promiseBuffer.test.js.map +0 -1
  269. package/dist/cjs/version.d.ts +0 -1
  270. package/dist/esm/api/events/index.d.ts +0 -2
  271. package/dist/esm/api/events/initialize.d.ts +0 -7
  272. package/dist/esm/api/events/initialize.test.d.ts +0 -1
  273. package/dist/esm/api/events/initialize.test.js +0 -87
  274. package/dist/esm/api/events/initialize.test.js.map +0 -1
  275. package/dist/esm/api/events/types.d.ts +0 -15
  276. package/dist/esm/api/exceptions/const.d.ts +0 -1
  277. package/dist/esm/api/exceptions/index.d.ts +0 -3
  278. package/dist/esm/api/exceptions/initialize.d.ts +0 -7
  279. package/dist/esm/api/exceptions/initialize.test.d.ts +0 -1
  280. package/dist/esm/api/exceptions/initialize.test.js +0 -133
  281. package/dist/esm/api/exceptions/initialize.test.js.map +0 -1
  282. package/dist/esm/api/exceptions/types.d.ts +0 -32
  283. package/dist/esm/api/index.d.ts +0 -9
  284. package/dist/esm/api/initialize.d.ts +0 -6
  285. package/dist/esm/api/logs/index.d.ts +0 -2
  286. package/dist/esm/api/logs/initialize.test.d.ts +0 -1
  287. package/dist/esm/api/logs/initialize.test.js +0 -83
  288. package/dist/esm/api/logs/initialize.test.js.map +0 -1
  289. package/dist/esm/api/logs/types.d.ts +0 -18
  290. package/dist/esm/api/measurements/index.d.ts +0 -2
  291. package/dist/esm/api/measurements/initialize.test.d.ts +0 -1
  292. package/dist/esm/api/measurements/initialize.test.js +0 -107
  293. package/dist/esm/api/measurements/initialize.test.js.map +0 -1
  294. package/dist/esm/api/measurements/types.d.ts +0 -16
  295. package/dist/esm/api/meta/index.d.ts +0 -2
  296. package/dist/esm/api/meta/initialize.d.ts +0 -6
  297. package/dist/esm/api/meta/types.d.ts +0 -8
  298. package/dist/esm/api/traces/index.d.ts +0 -2
  299. package/dist/esm/api/traces/initialize.d.ts +0 -6
  300. package/dist/esm/api/traces/types.d.ts +0 -20
  301. package/dist/esm/api/types.d.ts +0 -8
  302. package/dist/esm/config/const.d.ts +0 -1
  303. package/dist/esm/config/index.d.ts +0 -2
  304. package/dist/esm/faro.test.d.ts +0 -1
  305. package/dist/esm/faro.test.js +0 -40
  306. package/dist/esm/faro.test.js.map +0 -1
  307. package/dist/esm/globalObject/globalObject.d.ts +0 -7
  308. package/dist/esm/globalObject/index.d.ts +0 -2
  309. package/dist/esm/index.d.ts +0 -22
  310. package/dist/esm/initialize.d.ts +0 -3
  311. package/dist/esm/instrumentations/base.d.ts +0 -5
  312. package/dist/esm/instrumentations/index.d.ts +0 -3
  313. package/dist/esm/instrumentations/initialize.d.ts +0 -4
  314. package/dist/esm/instrumentations/types.d.ts +0 -10
  315. package/dist/esm/internalLogger/const.d.ts +0 -11
  316. package/dist/esm/internalLogger/createInternalLogger.d.ts +0 -4
  317. package/dist/esm/internalLogger/index.d.ts +0 -4
  318. package/dist/esm/internalLogger/initialize.d.ts +0 -5
  319. package/dist/esm/internalLogger/types.d.ts +0 -7
  320. package/dist/esm/metas/index.d.ts +0 -2
  321. package/dist/esm/metas/initialize.d.ts +0 -4
  322. package/dist/esm/metas/initialize.test.d.ts +0 -1
  323. package/dist/esm/metas/initialize.test.js +0 -19
  324. package/dist/esm/metas/initialize.test.js.map +0 -1
  325. package/dist/esm/metas/types.d.ts +0 -56
  326. package/dist/esm/sdk/const.d.ts +0 -1
  327. package/dist/esm/sdk/faroGlobalObject.d.ts +0 -2
  328. package/dist/esm/sdk/index.d.ts +0 -4
  329. package/dist/esm/sdk/internalFaroGlobalObject.d.ts +0 -4
  330. package/dist/esm/sdk/register.d.ts +0 -4
  331. package/dist/esm/sdk/register.js +0 -11
  332. package/dist/esm/sdk/register.js.map +0 -1
  333. package/dist/esm/semantic.d.ts +0 -7
  334. package/dist/esm/testUtils/index.d.ts +0 -6
  335. package/dist/esm/testUtils/mockConfig.d.ts +0 -2
  336. package/dist/esm/testUtils/mockInternalLogger.d.ts +0 -2
  337. package/dist/esm/testUtils/mockStacktraceParser.d.ts +0 -2
  338. package/dist/esm/testUtils/mockTransport.d.ts +0 -12
  339. package/dist/esm/testUtils/testPromise.d.ts +0 -7
  340. package/dist/esm/transports/base.d.ts +0 -6
  341. package/dist/esm/transports/const.d.ts +0 -8
  342. package/dist/esm/transports/index.d.ts +0 -5
  343. package/dist/esm/transports/initialize.d.ts +0 -6
  344. package/dist/esm/transports/transports.test.d.ts +0 -1
  345. package/dist/esm/transports/transports.test.js +0 -110
  346. package/dist/esm/transports/transports.test.js.map +0 -1
  347. package/dist/esm/transports/utils.d.ts +0 -2
  348. package/dist/esm/unpatchedConsole/const.d.ts +0 -2
  349. package/dist/esm/unpatchedConsole/index.d.ts +0 -3
  350. package/dist/esm/unpatchedConsole/initialize.d.ts +0 -4
  351. package/dist/esm/unpatchedConsole/types.d.ts +0 -1
  352. package/dist/esm/utils/baseObject.d.ts +0 -6
  353. package/dist/esm/utils/deepEqual.d.ts +0 -2
  354. package/dist/esm/utils/extensions.d.ts +0 -19
  355. package/dist/esm/utils/extensions.js +0 -23
  356. package/dist/esm/utils/extensions.js.map +0 -1
  357. package/dist/esm/utils/getCurrentTimestamp.d.ts +0 -1
  358. package/dist/esm/utils/index.d.ts +0 -12
  359. package/dist/esm/utils/is.d.ts +0 -31
  360. package/dist/esm/utils/logLevels.d.ts +0 -10
  361. package/dist/esm/utils/noop.d.ts +0 -1
  362. package/dist/esm/utils/promiseBuffer.d.ts +0 -14
  363. package/dist/esm/utils/promiseBuffer.test.d.ts +0 -1
  364. package/dist/esm/utils/promiseBuffer.test.js +0 -87
  365. package/dist/esm/utils/promiseBuffer.test.js.map +0 -1
  366. package/dist/esm/utils/shortId.d.ts +0 -1
  367. package/dist/esm/version.d.ts +0 -1
@@ -1,8 +0,0 @@
1
- import type { MetaSession, MetaUser } from '../../metas';
2
- export interface MetaAPI {
3
- setUser: (user: MetaUser) => void;
4
- resetUser: () => void;
5
- setSession: (session: MetaSession) => void;
6
- resetSession: () => void;
7
- getSession: () => MetaSession | undefined;
8
- }
@@ -1,6 +0,0 @@
1
- import type { Config } from '../../config';
2
- import type { InternalLogger } from '../../internalLogger';
3
- import type { Metas } from '../../metas';
4
- import { Transports } from '../../transports';
5
- import type { TracesAPI } from './types';
6
- export declare function initializeTracesAPI(internalLogger: InternalLogger, _config: Config, transports: Transports, metas: Metas): TracesAPI;
@@ -1,26 +0,0 @@
1
- import type { APIEvent, StacktraceParser } from '../api';
2
- import type { Instrumentation } from '../instrumentations';
3
- import type { InternalLoggerLevel } from '../internalLogger';
4
- import type { MetaApp, MetaItem, MetaSession, MetaUser } from '../metas';
5
- import type { BeforeSendHook, Transport } from '../transports';
6
- import type { UnpatchedConsole } from '../unpatchedConsole';
7
- export interface Config<P = APIEvent> {
8
- app: MetaApp;
9
- dedupe: boolean;
10
- globalObjectKey: string;
11
- isolate: boolean;
12
- instrumentations: Instrumentation[];
13
- internalLoggerLevel: InternalLoggerLevel;
14
- metas: MetaItem[];
15
- parseStacktrace: StacktraceParser;
16
- paused: boolean;
17
- preventGlobalExposure: boolean;
18
- transports: Transport[];
19
- unpatchedConsole: UnpatchedConsole;
20
- beforeSend?: BeforeSendHook<P>;
21
- ignoreErrors?: Patterns;
22
- session?: MetaSession;
23
- user?: MetaUser;
24
- eventDomain?: string;
25
- }
26
- export type Patterns = Array<string | RegExp>;
@@ -1 +0,0 @@
1
- export {};
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var initialize_1 = require("./initialize");
4
- var testUtils_1 = require("./testUtils");
5
- describe('faro', function () {
6
- it("can be started paused and doesn't ingest events until unpaused", function () {
7
- var transport = new testUtils_1.MockTransport();
8
- var config = (0, testUtils_1.mockConfig)({
9
- isolate: true,
10
- paused: true,
11
- transports: [transport],
12
- });
13
- var faro = (0, initialize_1.initializeFaro)(config);
14
- faro.api.pushLog(['test']);
15
- expect(transport.items).toHaveLength(0);
16
- faro.unpause();
17
- faro.api.pushLog(['test2']);
18
- expect(transport.items).toHaveLength(1);
19
- var item = transport.items[0];
20
- expect(item.payload.message).toEqual('test2');
21
- });
22
- it('can be started unpaused, then paused and unpaused again', function () {
23
- var _a, _b;
24
- var transport = new testUtils_1.MockTransport();
25
- var config = (0, testUtils_1.mockConfig)({
26
- isolate: true,
27
- transports: [transport],
28
- });
29
- var faro = (0, initialize_1.initializeFaro)(config);
30
- faro.api.pushLog(['test1']);
31
- expect(transport.items).toHaveLength(1);
32
- faro.pause();
33
- faro.api.pushLog(['test2']);
34
- expect(transport.items).toHaveLength(1);
35
- faro.unpause();
36
- faro.api.pushLog(['test3']);
37
- var items = transport.items;
38
- expect((_a = items[0]) === null || _a === void 0 ? void 0 : _a.payload.message).toEqual('test1');
39
- expect((_b = items[1]) === null || _b === void 0 ? void 0 : _b.payload.message).toEqual('test3');
40
- });
41
- });
42
- //# sourceMappingURL=faro.test.js.map
@@ -1 +0,0 @@
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,4 +0,0 @@
1
- import type { Config } from '../config';
2
- import type { InternalLogger } from '../internalLogger';
3
- import type { Instrumentations } from './types';
4
- export declare function initializeInstrumentations(internalLogger: InternalLogger, _config: Config): Instrumentations;
@@ -1,4 +0,0 @@
1
- import type { Config } from '../config';
2
- import type { InternalLogger } from '../internalLogger';
3
- import type { Metas } from './types';
4
- export declare function initializeMetas(internalLogger: InternalLogger, config: Config): Metas;
@@ -1 +0,0 @@
1
- export {};
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var testUtils_1 = require("../testUtils");
4
- var initialize_1 = require("./initialize");
5
- describe('metas', function () {
6
- it('can set listeners and they will be notified on meta changes', function () {
7
- var config = (0, testUtils_1.mockConfig)();
8
- var metas = (0, initialize_1.initializeMetas)(testUtils_1.mockInternalLogger, config);
9
- var listener = jest.fn(function () { });
10
- metas.addListener(listener);
11
- metas.add({ user: { id: 'foo' } });
12
- expect(listener).toHaveBeenCalledTimes(1);
13
- expect(listener).toHaveBeenLastCalledWith(metas.value);
14
- metas.add({ session: { id: '1' } });
15
- expect(listener).toHaveBeenCalledTimes(2);
16
- metas.removeListener(listener);
17
- metas.add({ session: { id: '2' } });
18
- expect(listener).toHaveBeenCalledTimes(2);
19
- });
20
- });
21
- //# sourceMappingURL=initialize.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize.test.js","sourceRoot":"","sources":["../../../src/metas/initialize.test.ts"],"names":[],"mappings":";;AAAA,0CAA8D;AAC9D,2CAA+C;AAE/C,QAAQ,CAAC,OAAO,EAAE;IAChB,EAAE,CAAC,6DAA6D,EAAE;QAChE,IAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;QAC5B,IAAM,KAAK,GAAG,IAAA,4BAAe,EAAC,8BAAkB,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,cAAO,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5B,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvD,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE/B,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { mockConfig, mockInternalLogger } from '../testUtils';\nimport { initializeMetas } from './initialize';\n\ndescribe('metas', () => {\n it('can set listeners and they will be notified on meta changes', () => {\n const config = mockConfig();\n const metas = initializeMetas(mockInternalLogger, config);\n const listener = jest.fn(() => {});\n metas.addListener(listener);\n\n metas.add({ user: { id: 'foo' } });\n expect(listener).toHaveBeenCalledTimes(1);\n expect(listener).toHaveBeenLastCalledWith(metas.value);\n\n metas.add({ session: { id: '1' } });\n expect(listener).toHaveBeenCalledTimes(2);\n metas.removeListener(listener);\n\n metas.add({ session: { id: '2' } });\n expect(listener).toHaveBeenCalledTimes(2);\n });\n});\n\nexport {};\n"]}
@@ -1,4 +0,0 @@
1
- import type { InternalLogger } from '../internalLogger';
2
- import type { Faro } from './types';
3
- export declare let faro: Faro;
4
- export declare function registerFaro(internalLogger: InternalLogger, newFaro: Faro): Faro;
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/sdk/register.ts"],"names":[],"mappings":";;;AACA,uDAA2D;AAC3D,uEAA2E;AAGhE,QAAA,IAAI,GAAS,EAAU,CAAC;AAEnC,SAAgB,YAAY,CAAC,cAA8B,EAAE,OAAa;IACxE,cAAc,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE1C,YAAI,GAAG,OAAO,CAAC;IAEf,IAAA,wDAA6B,EAAC,YAAI,CAAC,CAAC;IAEpC,IAAA,wCAAqB,EAAC,YAAI,CAAC,CAAC;IAE5B,OAAO,YAAI,CAAC;AACd,CAAC;AAVD,oCAUC","sourcesContent":["import type { InternalLogger } from '../internalLogger';\nimport { setFaroOnGlobalObject } from './faroGlobalObject';\nimport { setInternalFaroOnGlobalObject } from './internalFaroGlobalObject';\nimport type { Faro } from './types';\n\nexport let faro: Faro = {} as Faro;\n\nexport function registerFaro(internalLogger: InternalLogger, newFaro: Faro): Faro {\n internalLogger.debug('Initializing Faro');\n\n faro = newFaro;\n\n setInternalFaroOnGlobalObject(faro);\n\n setFaroOnGlobalObject(faro);\n\n return faro;\n}\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,141 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- var testUtils_1 = require("../testUtils");
30
- var utils_1 = require("../utils");
31
- var version_1 = require("../version");
32
- var base_1 = require("./base");
33
- var const_1 = require("./const");
34
- var initialize_1 = require("./initialize");
35
- var MockTransport = /** @class */ (function (_super) {
36
- __extends(MockTransport, _super);
37
- function MockTransport() {
38
- var _this = _super !== null && _super.apply(this, arguments) || this;
39
- _this.name = '@grafana/transport-mock';
40
- _this.version = version_1.VERSION;
41
- _this.sentItems = [];
42
- return _this;
43
- }
44
- MockTransport.prototype.send = function (item) {
45
- this.sentItems.push(item);
46
- };
47
- return MockTransport;
48
- }(base_1.BaseTransport));
49
- describe('transports', function () {
50
- describe('config.ignoreErrors', function () {
51
- it('will filter out errors by string or regex', function () {
52
- var _a;
53
- var transport = new MockTransport();
54
- var config = {
55
- transports: [transport],
56
- ignoreErrors: ['Error: ResizeObserver', /FetchError[:\s\w\/]*pwc/],
57
- };
58
- var transports = (0, initialize_1.initializeTransports)(testUtils_1.mockInternalLogger, config);
59
- transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));
60
- transports.execute(makeExceptionTransportItem('TypeError', '_.viz is undefined'));
61
- transports.execute(makeExceptionTransportItem('FetchError', '404 \n Instantiating https://pwc.grafana.net/public/react-router-dom'));
62
- transports.execute(makeExceptionTransportItem('FetchError', '404 \n Instantiating https://pwc.grafana.net/public/@emotion/css'));
63
- expect(transport.sentItems).toHaveLength(1);
64
- expect(((_a = transport.sentItems[0]) === null || _a === void 0 ? void 0 : _a.payload).type).toEqual('TypeError');
65
- });
66
- });
67
- describe('config.beforeSend', function () {
68
- it('will not send events that are rejected by beforeSend hook', function () {
69
- var _a;
70
- var transport = new MockTransport();
71
- var hookedItems = [];
72
- var config = {
73
- transports: [transport],
74
- beforeSend: function (item) {
75
- hookedItems.push(item);
76
- if (item.type === const_1.TransportItemType.EXCEPTION && item.payload.type === 'TypeError') {
77
- return null;
78
- }
79
- return item;
80
- },
81
- };
82
- var transports = (0, initialize_1.initializeTransports)(testUtils_1.mockInternalLogger, config);
83
- transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));
84
- transports.execute(makeExceptionTransportItem('TypeError', '_.viz is undefined'));
85
- expect(transport.sentItems).toHaveLength(1);
86
- expect(hookedItems).toHaveLength(2);
87
- expect(((_a = transport.sentItems[0]) === null || _a === void 0 ? void 0 : _a.payload).type).toEqual('Error');
88
- });
89
- it('events can be modified by beforeSend hook', function () {
90
- var _a;
91
- var transport = new MockTransport();
92
- var config = {
93
- transports: [transport],
94
- beforeSend: function (item) {
95
- if (item.type === const_1.TransportItemType.EXCEPTION) {
96
- return __assign(__assign({}, item), { payload: __assign(__assign({}, item.payload), { type: 'NewType' }) });
97
- }
98
- return item;
99
- },
100
- };
101
- var transports = (0, initialize_1.initializeTransports)(testUtils_1.mockInternalLogger, config);
102
- transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));
103
- expect(transport.sentItems).toHaveLength(1);
104
- expect(((_a = transport.sentItems[0]) === null || _a === void 0 ? void 0 : _a.payload).type).toEqual('NewType');
105
- });
106
- });
107
- describe('multiple transports of the same type', function () {
108
- var transport1 = new MockTransport();
109
- var transport2 = new MockTransport();
110
- var config = {
111
- transports: [transport1, transport2],
112
- };
113
- var transports = (0, initialize_1.initializeTransports)(testUtils_1.mockInternalLogger, config);
114
- it('will all be added and receive events', function () {
115
- transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));
116
- expect(transport1.sentItems).toHaveLength(1);
117
- expect(transport2.sentItems).toHaveLength(1);
118
- });
119
- it('one of them can be removed by instance', function () {
120
- transports.remove(transport1);
121
- transports.execute(makeExceptionTransportItem('Error', 'Kaboom'));
122
- expect(transport1.sentItems).toHaveLength(1);
123
- expect(transport2.sentItems).toHaveLength(2);
124
- });
125
- });
126
- });
127
- function makeExceptionTransportItem(type, value) {
128
- return {
129
- type: const_1.TransportItemType.EXCEPTION,
130
- payload: {
131
- type: type,
132
- value: value,
133
- timestamp: (0, utils_1.getCurrentTimestamp)(),
134
- stacktrace: {
135
- frames: [],
136
- },
137
- },
138
- meta: {},
139
- };
140
- }
141
- //# sourceMappingURL=transports.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transports.test.js","sourceRoot":"","sources":["../../../src/transports/transports.test.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExceptionEvent } from '../api';\nimport type { Config } from '../config';\nimport { mockInternalLogger } from '../testUtils';\nimport { getCurrentTimestamp } from '../utils';\nimport { VERSION } from '../version';\nimport { BaseTransport } from './base';\nimport { TransportItemType } from './const';\nimport { initializeTransports } from './initialize';\nimport type { Transport, TransportItem } from './types';\n\nclass MockTransport extends BaseTransport implements Transport {\n readonly name = '@grafana/transport-mock';\n readonly version = VERSION;\n\n sentItems: TransportItem[] = [];\n\n send(item: TransportItem): void | Promise<void> {\n this.sentItems.push(item);\n }\n}\n\ndescribe('transports', () => {\n describe('config.ignoreErrors', () => {\n it('will filter out errors by string or regex', () => {\n const transport = new MockTransport();\n const config = {\n transports: [transport],\n ignoreErrors: ['Error: ResizeObserver', /FetchError[:\\s\\w\\/]*pwc/],\n } as any as Config;\n\n const transports = initializeTransports(mockInternalLogger, config);\n\n transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));\n transports.execute(makeExceptionTransportItem('TypeError', '_.viz is undefined'));\n transports.execute(\n makeExceptionTransportItem(\n 'FetchError',\n '404 \\n Instantiating https://pwc.grafana.net/public/react-router-dom'\n )\n );\n transports.execute(\n makeExceptionTransportItem('FetchError', '404 \\n Instantiating https://pwc.grafana.net/public/@emotion/css')\n );\n expect(transport.sentItems).toHaveLength(1);\n expect((transport.sentItems[0]?.payload as ErrorEvent).type).toEqual('TypeError');\n });\n });\n\n describe('config.beforeSend', () => {\n it('will not send events that are rejected by beforeSend hook', () => {\n const transport = new MockTransport();\n const hookedItems: TransportItem[] = [];\n const config = {\n transports: [transport],\n beforeSend: (item: TransportItem) => {\n hookedItems.push(item);\n if (item.type === TransportItemType.EXCEPTION && (item.payload as ErrorEvent).type === 'TypeError') {\n return null;\n }\n return item;\n },\n } as any as Config;\n\n const transports = initializeTransports(mockInternalLogger, config);\n transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));\n transports.execute(makeExceptionTransportItem('TypeError', '_.viz is undefined'));\n expect(transport.sentItems).toHaveLength(1);\n expect(hookedItems).toHaveLength(2);\n expect((transport.sentItems[0]?.payload as ErrorEvent).type).toEqual('Error');\n });\n\n it('events can be modified by beforeSend hook', () => {\n const transport = new MockTransport();\n const config = {\n transports: [transport],\n beforeSend: (item: TransportItem) => {\n if (item.type === TransportItemType.EXCEPTION) {\n return {\n ...item,\n payload: {\n ...item.payload,\n type: 'NewType',\n },\n };\n }\n return item;\n },\n } as any as Config;\n\n const transports = initializeTransports(mockInternalLogger, config);\n transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));\n expect(transport.sentItems).toHaveLength(1);\n expect((transport.sentItems[0]?.payload as ErrorEvent).type).toEqual('NewType');\n });\n });\n\n describe('multiple transports of the same type', () => {\n const transport1 = new MockTransport();\n const transport2 = new MockTransport();\n\n const config = {\n transports: [transport1, transport2],\n } as any as Config;\n const transports = initializeTransports(mockInternalLogger, config);\n\n it('will all be added and receive events', () => {\n transports.execute(makeExceptionTransportItem('Error', 'ResizeObserver loop limit exceeded'));\n expect(transport1.sentItems).toHaveLength(1);\n expect(transport2.sentItems).toHaveLength(1);\n });\n\n it('one of them can be removed by instance', () => {\n transports.remove(transport1);\n transports.execute(makeExceptionTransportItem('Error', 'Kaboom'));\n expect(transport1.sentItems).toHaveLength(1);\n expect(transport2.sentItems).toHaveLength(2);\n });\n });\n});\n\nfunction makeExceptionTransportItem(type: string, value: string): TransportItem<ExceptionEvent> {\n return {\n type: TransportItemType.EXCEPTION,\n payload: {\n type,\n value,\n timestamp: getCurrentTimestamp(),\n stacktrace: {\n frames: [],\n },\n },\n meta: {},\n };\n}\n\nexport {};\n"]}
@@ -1,37 +0,0 @@
1
- import type { APIEvent, EventEvent, ExceptionEvent, LogEvent, MeasurementEvent, TraceEvent } from '../api';
2
- import type { Patterns } from '../config';
3
- import type { Meta } from '../metas';
4
- import type { Extension } from '../utils';
5
- import type { TransportItemType } from './const';
6
- export type TransportItemPayload<P = APIEvent> = P;
7
- export type BeforeSendHook<P = APIEvent> = (item: TransportItem<P>) => TransportItem<P> | null;
8
- export interface TransportItem<P = APIEvent> {
9
- type: TransportItemType;
10
- payload: TransportItemPayload<P>;
11
- meta: Meta;
12
- }
13
- export interface Transport extends Extension {
14
- send(item: TransportItem): void | Promise<void>;
15
- getIgnoreUrls(): Patterns;
16
- }
17
- export interface TransportBody {
18
- meta: Meta;
19
- exceptions?: ExceptionEvent[];
20
- logs?: LogEvent[];
21
- measurements?: MeasurementEvent[];
22
- traces?: TraceEvent;
23
- events?: EventEvent[];
24
- }
25
- export interface Transports {
26
- add: (...transports: Transport[]) => void;
27
- addBeforeSendHooks: (...hooks: Array<BeforeSendHook | undefined>) => void;
28
- addIgnoreErrorsPatterns: (...ignoreErrorsPatterns: Array<Patterns | undefined>) => void;
29
- execute: (transportItem: TransportItem) => void;
30
- getBeforeSendHooks: () => BeforeSendHook[];
31
- isPaused: () => boolean;
32
- remove: (...transports: Transport[]) => void;
33
- removeBeforeSendHooks: (...hooks: Array<BeforeSendHook | undefined>) => void;
34
- transports: Transport[];
35
- pause: () => void;
36
- unpause: () => void;
37
- }
@@ -1,2 +0,0 @@
1
- import deepEqual from 'fast-deep-equal';
2
- export { deepEqual };
@@ -1,19 +0,0 @@
1
- import type { Faro } from '../sdk';
2
- export interface Extension {
3
- readonly name: string;
4
- readonly version: string;
5
- get faro(): Faro;
6
- logDebug(...args: unknown[]): void;
7
- logInfo(...args: unknown[]): void;
8
- logWarn(...args: unknown[]): void;
9
- logError(...args: unknown[]): void;
10
- }
11
- export declare abstract class BaseExtension implements Extension {
12
- abstract readonly name: string;
13
- abstract readonly version: string;
14
- get faro(): Faro;
15
- logDebug(...args: unknown[]): void;
16
- logInfo(...args: unknown[]): void;
17
- logWarn(...args: unknown[]): void;
18
- logError(...args: unknown[]): void;
19
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/utils/extensions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8BAA8B;AAe9B;IAAA;IAuBA,CAAC;IAnBC,sBAAI,+BAAI;aAAR;YACE,OAAO,UAAI,CAAC;QACd,CAAC;;;OAAA;IAED,gCAAQ,GAAR;;QAAS,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACzB,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,0CAAE,KAAK,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,SAAC,CAAC;IAC9D,CAAC;IAED,+BAAO,GAAP;;QAAQ,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACxB,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,0CAAE,IAAI,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,SAAC,CAAC;IAC7D,CAAC;IAED,+BAAO,GAAP;;QAAQ,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACxB,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,0CAAE,IAAI,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,SAAC,CAAC;IAC7D,CAAC;IAED,gCAAQ,GAAR;;QAAS,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,yBAAkB;;QACzB,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,0CAAE,KAAK,0BAAC,UAAG,IAAI,CAAC,IAAI,OAAI,GAAK,IAAI,SAAC,CAAC;IAC9D,CAAC;IACH,oBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBqB,sCAAa","sourcesContent":["import { faro } from '../sdk';\nimport type { Faro } from '../sdk';\n\nexport interface Extension {\n readonly name: string;\n readonly version: string;\n\n get faro(): Faro;\n\n logDebug(...args: unknown[]): void;\n logInfo(...args: unknown[]): void;\n logWarn(...args: unknown[]): void;\n logError(...args: unknown[]): void;\n}\n\nexport abstract class BaseExtension implements Extension {\n abstract readonly name: string;\n abstract readonly version: string;\n\n get faro(): Faro {\n return faro;\n }\n\n logDebug(...args: unknown[]): void {\n this.faro?.internalLogger?.debug(`${this.name}\\n`, ...args);\n }\n\n logInfo(...args: unknown[]): void {\n this.faro?.internalLogger?.info(`${this.name}\\n`, ...args);\n }\n\n logWarn(...args: unknown[]): void {\n this.faro?.internalLogger?.warn(`${this.name}\\n`, ...args);\n }\n\n logError(...args: unknown[]): void {\n this.faro?.internalLogger?.error(`${this.name}\\n`, ...args);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,146 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var testUtils_1 = require("../testUtils");
40
- var promiseBuffer_1 = require("./promiseBuffer");
41
- function defer(fn) {
42
- return __awaiter(this, void 0, void 0, function () {
43
- return __generator(this, function (_a) {
44
- return [2 /*return*/, new Promise(function (resolve) {
45
- setImmediate(function () {
46
- fn();
47
- resolve();
48
- });
49
- })];
50
- });
51
- });
52
- }
53
- describe('PromiseBuffer', function () {
54
- it('add() new promise that resolves when task is completed', function () { return __awaiter(void 0, void 0, void 0, function () {
55
- var buf, _a;
56
- return __generator(this, function (_b) {
57
- switch (_b.label) {
58
- case 0:
59
- buf = (0, promiseBuffer_1.createPromiseBuffer)({ size: 2, concurrency: 2 });
60
- _a = expect;
61
- return [4 /*yield*/, buf.add(function () { return Promise.resolve('hi'); })];
62
- case 1:
63
- _a.apply(void 0, [_b.sent()]).toEqual('hi');
64
- return [2 /*return*/];
65
- }
66
- });
67
- }); });
68
- it('executes tasks concurrently, limited to concurrency setting', function () { return __awaiter(void 0, void 0, void 0, function () {
69
- var promises, buf, addTask;
70
- var _a, _b, _c, _d;
71
- return __generator(this, function (_e) {
72
- switch (_e.label) {
73
- case 0:
74
- promises = [];
75
- buf = (0, promiseBuffer_1.createPromiseBuffer)({
76
- size: 10,
77
- concurrency: 2,
78
- });
79
- addTask = function (id) {
80
- return buf.add(function () {
81
- var prom = (0, testUtils_1.createTestPromise)(id);
82
- promises.push(prom);
83
- return prom.promise;
84
- });
85
- };
86
- addTask(1);
87
- addTask(2);
88
- addTask(3);
89
- // 1 & 2 have started to execute. 3d is not started
90
- expect(promises).toHaveLength(2);
91
- expect((_a = promises[0]) === null || _a === void 0 ? void 0 : _a.id).toEqual(1);
92
- expect((_b = promises[1]) === null || _b === void 0 ? void 0 : _b.id).toEqual(2);
93
- // resolve first two
94
- (_c = promises[0]) === null || _c === void 0 ? void 0 : _c.resolve();
95
- (_d = promises[1]) === null || _d === void 0 ? void 0 : _d.resolve();
96
- return [4 /*yield*/, defer(function () {
97
- var _a, _b;
98
- // 3 has started to be executed
99
- expect(promises).toHaveLength(3);
100
- expect((_a = promises[2]) === null || _a === void 0 ? void 0 : _a.id).toEqual(3);
101
- (_b = promises[2]) === null || _b === void 0 ? void 0 : _b.resolve();
102
- })];
103
- case 1:
104
- _e.sent();
105
- return [2 /*return*/];
106
- }
107
- });
108
- }); });
109
- it('rejects tasks that exceed buffer size', function () { return __awaiter(void 0, void 0, void 0, function () {
110
- var promises, buf, addTask;
111
- var _a;
112
- return __generator(this, function (_b) {
113
- switch (_b.label) {
114
- case 0:
115
- promises = [];
116
- buf = (0, promiseBuffer_1.createPromiseBuffer)({
117
- size: 3,
118
- concurrency: 2,
119
- });
120
- addTask = function (id) {
121
- return buf.add(function () {
122
- var prom = (0, testUtils_1.createTestPromise)(id);
123
- promises.push(prom);
124
- return prom.promise;
125
- });
126
- };
127
- // adding 3 tasks works, 2 of them begin executing
128
- addTask(1);
129
- addTask(2);
130
- addTask(3);
131
- expect(promises).toHaveLength(2);
132
- // adding 4th task fails
133
- expect(function () { return addTask(4); }).toThrow('Task buffer full');
134
- // finishing a task allows new tasks to be added again
135
- (_a = promises[0]) === null || _a === void 0 ? void 0 : _a.resolve();
136
- return [4 /*yield*/, defer(function () {
137
- addTask(4);
138
- })];
139
- case 1:
140
- _b.sent();
141
- return [2 /*return*/];
142
- }
143
- });
144
- }); });
145
- });
146
- //# sourceMappingURL=promiseBuffer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promiseBuffer.test.js","sourceRoot":"","sources":["../../../src/utils/promiseBuffer.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTestPromise, TestPromise } from '../testUtils';\nimport { createPromiseBuffer } from './promiseBuffer';\n\nasync function defer(fn: () => void) {\n return new Promise<void>((resolve) => {\n setImmediate(() => {\n fn();\n resolve();\n });\n });\n}\n\ndescribe('PromiseBuffer', () => {\n it('add() new promise that resolves when task is completed', async () => {\n const buf = createPromiseBuffer({ size: 2, concurrency: 2 });\n expect(await buf.add(() => Promise.resolve('hi'))).toEqual('hi');\n });\n\n it('executes tasks concurrently, limited to concurrency setting', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 10,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n addTask(1);\n addTask(2);\n addTask(3);\n\n // 1 & 2 have started to execute. 3d is not started\n expect(promises).toHaveLength(2);\n expect(promises[0]?.id).toEqual(1);\n expect(promises[1]?.id).toEqual(2);\n\n // resolve first two\n promises[0]?.resolve();\n promises[1]?.resolve();\n\n await defer(() => {\n // 3 has started to be executed\n expect(promises).toHaveLength(3);\n expect(promises[2]?.id).toEqual(3);\n promises[2]?.resolve();\n });\n });\n\n it('rejects tasks that exceed buffer size', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 3,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n // adding 3 tasks works, 2 of them begin executing\n addTask(1);\n addTask(2);\n addTask(3);\n expect(promises).toHaveLength(2);\n // adding 4th task fails\n expect(() => addTask(4)).toThrow('Task buffer full');\n\n // finishing a task allows new tasks to be added again\n promises[0]?.resolve();\n\n await defer(() => {\n addTask(4);\n });\n });\n});\n\nexport {};\n"]}
@@ -1 +0,0 @@
1
- export declare const VERSION = "1.0.0-beta3";
@@ -1,2 +0,0 @@
1
- export type { EventAttributes, EventEvent, EventsAPI } from './types';
2
- export { initializeEventsAPI } from './initialize';
@@ -1,7 +0,0 @@
1
- import type { Config } from '../../config';
2
- import type { InternalLogger } from '../../internalLogger';
3
- import type { Metas } from '../../metas';
4
- import { Transports } from '../../transports';
5
- import type { TracesAPI } from '../traces';
6
- import type { EventsAPI } from './types';
7
- export declare function initializeEventsAPI(internalLogger: InternalLogger, config: Config, transports: Transports, metas: Metas, tracesApi: TracesAPI): EventsAPI;
@@ -1 +0,0 @@
1
- export {};