sentry-uniapp 1.0.12 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/README.md +11 -9
  2. package/dist/client.d.ts +42 -40
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +62 -41
  5. package/dist/client.js.map +1 -1
  6. package/dist/crossPlatform.d.ts +1 -1
  7. package/dist/crossPlatform.d.ts.map +1 -1
  8. package/dist/crossPlatform.js +26 -10
  9. package/dist/crossPlatform.js.map +1 -1
  10. package/dist/debug.d.ts +4 -0
  11. package/dist/debug.d.ts.map +1 -0
  12. package/dist/debug.js +23 -0
  13. package/dist/debug.js.map +1 -0
  14. package/dist/eventbuilder.d.ts +9 -10
  15. package/dist/eventbuilder.d.ts.map +1 -1
  16. package/dist/eventbuilder.js +131 -58
  17. package/dist/eventbuilder.js.map +1 -1
  18. package/dist/flags.js +1 -0
  19. package/dist/flags.js.map +1 -1
  20. package/dist/index.d.ts +10 -9
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +84 -21
  23. package/dist/index.js.map +1 -1
  24. package/dist/integrations/globalhandlers.d.ts +10 -44
  25. package/dist/integrations/globalhandlers.d.ts.map +1 -1
  26. package/dist/integrations/globalhandlers.js +101 -134
  27. package/dist/integrations/globalhandlers.js.map +1 -1
  28. package/dist/integrations/ignoreMpcrawlerErrors.d.ts +3 -18
  29. package/dist/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -1
  30. package/dist/integrations/ignoreMpcrawlerErrors.js +28 -28
  31. package/dist/integrations/ignoreMpcrawlerErrors.js.map +1 -1
  32. package/dist/integrations/index.d.ts +4 -6
  33. package/dist/integrations/index.d.ts.map +1 -1
  34. package/dist/integrations/index.js +12 -10
  35. package/dist/integrations/index.js.map +1 -1
  36. package/dist/integrations/router.d.ts +6 -24
  37. package/dist/integrations/router.d.ts.map +1 -1
  38. package/dist/integrations/router.js +39 -42
  39. package/dist/integrations/router.js.map +1 -1
  40. package/dist/integrations/system.d.ts +5 -16
  41. package/dist/integrations/system.d.ts.map +1 -1
  42. package/dist/integrations/system.js +62 -60
  43. package/dist/integrations/system.js.map +1 -1
  44. package/dist/parsers.d.ts +2 -2
  45. package/dist/parsers.d.ts.map +1 -1
  46. package/dist/parsers.js +27 -26
  47. package/dist/parsers.js.map +1 -1
  48. package/dist/polyfills.d.ts +5 -0
  49. package/dist/polyfills.d.ts.map +1 -0
  50. package/dist/polyfills.js +100 -0
  51. package/dist/polyfills.js.map +1 -0
  52. package/dist/sdk.d.ts +10 -85
  53. package/dist/sdk.d.ts.map +1 -1
  54. package/dist/sdk.js +69 -127
  55. package/dist/sdk.js.map +1 -1
  56. package/dist/tracekit.js +35 -33
  57. package/dist/tracekit.js.map +1 -1
  58. package/dist/transport.d.ts +7 -0
  59. package/dist/transport.d.ts.map +1 -0
  60. package/dist/transport.js +75 -0
  61. package/dist/transport.js.map +1 -0
  62. package/dist/transports/index.d.ts +1 -2
  63. package/dist/transports/index.d.ts.map +1 -1
  64. package/dist/transports/index.js +4 -4
  65. package/dist/transports/index.js.map +1 -1
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.d.ts.map +1 -1
  68. package/dist/version.js +2 -2
  69. package/dist/version.js.map +1 -1
  70. package/esm/client.d.ts +42 -40
  71. package/esm/client.d.ts.map +1 -1
  72. package/esm/client.js +59 -40
  73. package/esm/client.js.map +1 -1
  74. package/esm/crossPlatform.d.ts +1 -1
  75. package/esm/crossPlatform.d.ts.map +1 -1
  76. package/esm/crossPlatform.js +25 -10
  77. package/esm/crossPlatform.js.map +1 -1
  78. package/esm/debug.d.ts +4 -0
  79. package/esm/debug.d.ts.map +1 -0
  80. package/esm/debug.js +18 -0
  81. package/esm/debug.js.map +1 -0
  82. package/esm/eventbuilder.d.ts +9 -10
  83. package/esm/eventbuilder.d.ts.map +1 -1
  84. package/esm/eventbuilder.js +125 -52
  85. package/esm/eventbuilder.js.map +1 -1
  86. package/esm/flags.js +1 -1
  87. package/esm/flags.js.map +1 -1
  88. package/esm/index.d.ts +10 -9
  89. package/esm/index.d.ts.map +1 -1
  90. package/esm/index.js +13 -8
  91. package/esm/index.js.map +1 -1
  92. package/esm/integrations/globalhandlers.d.ts +10 -44
  93. package/esm/integrations/globalhandlers.d.ts.map +1 -1
  94. package/esm/integrations/globalhandlers.js +99 -133
  95. package/esm/integrations/globalhandlers.js.map +1 -1
  96. package/esm/integrations/ignoreMpcrawlerErrors.d.ts +3 -18
  97. package/esm/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -1
  98. package/esm/integrations/ignoreMpcrawlerErrors.js +25 -26
  99. package/esm/integrations/ignoreMpcrawlerErrors.js.map +1 -1
  100. package/esm/integrations/index.d.ts +4 -6
  101. package/esm/integrations/index.d.ts.map +1 -1
  102. package/esm/integrations/index.js +5 -6
  103. package/esm/integrations/index.js.map +1 -1
  104. package/esm/integrations/router.d.ts +6 -24
  105. package/esm/integrations/router.d.ts.map +1 -1
  106. package/esm/integrations/router.js +37 -41
  107. package/esm/integrations/router.js.map +1 -1
  108. package/esm/integrations/system.d.ts +5 -16
  109. package/esm/integrations/system.d.ts.map +1 -1
  110. package/esm/integrations/system.js +60 -59
  111. package/esm/integrations/system.js.map +1 -1
  112. package/esm/parsers.d.ts +2 -2
  113. package/esm/parsers.d.ts.map +1 -1
  114. package/esm/parsers.js +20 -19
  115. package/esm/parsers.js.map +1 -1
  116. package/esm/polyfills.d.ts +5 -0
  117. package/esm/polyfills.d.ts.map +1 -0
  118. package/esm/polyfills.js +100 -0
  119. package/esm/polyfills.js.map +1 -0
  120. package/esm/sdk.d.ts +10 -85
  121. package/esm/sdk.d.ts.map +1 -1
  122. package/esm/sdk.js +63 -120
  123. package/esm/sdk.js.map +1 -1
  124. package/esm/tracekit.js +33 -31
  125. package/esm/tracekit.js.map +1 -1
  126. package/esm/transport.d.ts +7 -0
  127. package/esm/transport.d.ts.map +1 -0
  128. package/esm/transport.js +71 -0
  129. package/esm/transport.js.map +1 -0
  130. package/esm/transports/index.d.ts +1 -2
  131. package/esm/transports/index.d.ts.map +1 -1
  132. package/esm/transports/index.js +1 -2
  133. package/esm/transports/index.js.map +1 -1
  134. package/esm/version.d.ts +1 -1
  135. package/esm/version.d.ts.map +1 -1
  136. package/esm/version.js +2 -3
  137. package/esm/version.js.map +1 -1
  138. package/package.json +23 -27
  139. package/dist/backend.d.ts +0 -41
  140. package/dist/backend.d.ts.map +0 -1
  141. package/dist/backend.js +0 -68
  142. package/dist/backend.js.map +0 -1
  143. package/dist/helpers.d.ts +0 -35
  144. package/dist/helpers.d.ts.map +0 -1
  145. package/dist/helpers.js +0 -236
  146. package/dist/helpers.js.map +0 -1
  147. package/dist/integrations/linkederrors.d.ts +0 -40
  148. package/dist/integrations/linkederrors.d.ts.map +0 -1
  149. package/dist/integrations/linkederrors.js +0 -65
  150. package/dist/integrations/linkederrors.js.map +0 -1
  151. package/dist/integrations/trycatch.d.ts +0 -26
  152. package/dist/integrations/trycatch.d.ts.map +0 -1
  153. package/dist/integrations/trycatch.js +0 -166
  154. package/dist/integrations/trycatch.js.map +0 -1
  155. package/dist/package.json +0 -52
  156. package/dist/sentry-uniapp.min.js +0 -3
  157. package/dist/sentry-uniapp.min.js.LICENSE.txt +0 -14
  158. package/dist/sentry-uniapp.min.js.map +0 -1
  159. package/dist/src/backend.d.ts +0 -41
  160. package/dist/src/backend.d.ts.map +0 -1
  161. package/dist/src/backend.js +0 -68
  162. package/dist/src/backend.js.map +0 -1
  163. package/dist/src/client.d.ts +0 -55
  164. package/dist/src/client.d.ts.map +0 -1
  165. package/dist/src/client.js +0 -51
  166. package/dist/src/client.js.map +0 -1
  167. package/dist/src/crossPlatform.d.ts +0 -18
  168. package/dist/src/crossPlatform.d.ts.map +0 -1
  169. package/dist/src/crossPlatform.js +0 -80
  170. package/dist/src/crossPlatform.js.map +0 -1
  171. package/dist/src/eventbuilder.d.ts +0 -11
  172. package/dist/src/eventbuilder.d.ts.map +0 -1
  173. package/dist/src/eventbuilder.js +0 -79
  174. package/dist/src/eventbuilder.js.map +0 -1
  175. package/dist/src/flags.d.ts +0 -3
  176. package/dist/src/flags.d.ts.map +0 -1
  177. package/dist/src/flags.js +0 -18
  178. package/dist/src/flags.js.map +0 -1
  179. package/dist/src/helpers.d.ts +0 -35
  180. package/dist/src/helpers.d.ts.map +0 -1
  181. package/dist/src/helpers.js +0 -236
  182. package/dist/src/helpers.js.map +0 -1
  183. package/dist/src/index.d.ts +0 -10
  184. package/dist/src/index.d.ts.map +0 -1
  185. package/dist/src/index.js +0 -40
  186. package/dist/src/index.js.map +0 -1
  187. package/dist/src/integrations/globalhandlers.d.ts +0 -47
  188. package/dist/src/integrations/globalhandlers.d.ts.map +0 -1
  189. package/dist/src/integrations/globalhandlers.js +0 -153
  190. package/dist/src/integrations/globalhandlers.js.map +0 -1
  191. package/dist/src/integrations/ignoreMpcrawlerErrors.d.ts +0 -21
  192. package/dist/src/integrations/ignoreMpcrawlerErrors.d.ts.map +0 -1
  193. package/dist/src/integrations/ignoreMpcrawlerErrors.js +0 -40
  194. package/dist/src/integrations/ignoreMpcrawlerErrors.js.map +0 -1
  195. package/dist/src/integrations/index.d.ts +0 -7
  196. package/dist/src/integrations/index.d.ts.map +0 -1
  197. package/dist/src/integrations/index.js +0 -14
  198. package/dist/src/integrations/index.js.map +0 -1
  199. package/dist/src/integrations/linkederrors.d.ts +0 -40
  200. package/dist/src/integrations/linkederrors.d.ts.map +0 -1
  201. package/dist/src/integrations/linkederrors.js +0 -65
  202. package/dist/src/integrations/linkederrors.js.map +0 -1
  203. package/dist/src/integrations/router.d.ts +0 -28
  204. package/dist/src/integrations/router.d.ts.map +0 -1
  205. package/dist/src/integrations/router.js +0 -47
  206. package/dist/src/integrations/router.js.map +0 -1
  207. package/dist/src/integrations/system.d.ts +0 -17
  208. package/dist/src/integrations/system.d.ts.map +0 -1
  209. package/dist/src/integrations/system.js +0 -65
  210. package/dist/src/integrations/system.js.map +0 -1
  211. package/dist/src/integrations/trycatch.d.ts +0 -26
  212. package/dist/src/integrations/trycatch.d.ts.map +0 -1
  213. package/dist/src/integrations/trycatch.js +0 -166
  214. package/dist/src/integrations/trycatch.js.map +0 -1
  215. package/dist/src/parsers.d.ts +0 -21
  216. package/dist/src/parsers.d.ts.map +0 -1
  217. package/dist/src/parsers.js +0 -97
  218. package/dist/src/parsers.js.map +0 -1
  219. package/dist/src/sdk.d.ts +0 -99
  220. package/dist/src/sdk.d.ts.map +0 -1
  221. package/dist/src/sdk.js +0 -155
  222. package/dist/src/sdk.js.map +0 -1
  223. package/dist/src/tracekit.d.ts +0 -38
  224. package/dist/src/tracekit.d.ts.map +0 -1
  225. package/dist/src/tracekit.js +0 -222
  226. package/dist/src/tracekit.js.map +0 -1
  227. package/dist/src/transports/base.d.ts +0 -22
  228. package/dist/src/transports/base.d.ts.map +0 -1
  229. package/dist/src/transports/base.js +0 -28
  230. package/dist/src/transports/base.js.map +0 -1
  231. package/dist/src/transports/index.d.ts +0 -3
  232. package/dist/src/transports/index.d.ts.map +0 -1
  233. package/dist/src/transports/index.js +0 -6
  234. package/dist/src/transports/index.js.map +0 -1
  235. package/dist/src/transports/xhr.d.ts +0 -10
  236. package/dist/src/transports/xhr.d.ts.map +0 -1
  237. package/dist/src/transports/xhr.js +0 -42
  238. package/dist/src/transports/xhr.js.map +0 -1
  239. package/dist/src/version.d.ts +0 -3
  240. package/dist/src/version.d.ts.map +0 -1
  241. package/dist/src/version.js +0 -6
  242. package/dist/src/version.js.map +0 -1
  243. package/dist/transports/base.d.ts +0 -22
  244. package/dist/transports/base.d.ts.map +0 -1
  245. package/dist/transports/base.js +0 -28
  246. package/dist/transports/base.js.map +0 -1
  247. package/dist/transports/xhr.d.ts +0 -10
  248. package/dist/transports/xhr.d.ts.map +0 -1
  249. package/dist/transports/xhr.js +0 -42
  250. package/dist/transports/xhr.js.map +0 -1
  251. package/dist/utils/debug-build.d.ts +0 -7
  252. package/dist/utils/debug-build.d.ts.map +0 -1
  253. package/dist/utils/debug-build.js +0 -9
  254. package/dist/utils/debug-build.js.map +0 -1
  255. package/dist/utils/logger.d.ts +0 -16
  256. package/dist/utils/logger.d.ts.map +0 -1
  257. package/dist/utils/logger.js +0 -50
  258. package/dist/utils/logger.js.map +0 -1
  259. package/esm/backend.d.ts +0 -41
  260. package/esm/backend.d.ts.map +0 -1
  261. package/esm/backend.js +0 -66
  262. package/esm/backend.js.map +0 -1
  263. package/esm/helpers.d.ts +0 -35
  264. package/esm/helpers.d.ts.map +0 -1
  265. package/esm/helpers.js +0 -229
  266. package/esm/helpers.js.map +0 -1
  267. package/esm/integrations/linkederrors.d.ts +0 -40
  268. package/esm/integrations/linkederrors.d.ts.map +0 -1
  269. package/esm/integrations/linkederrors.js +0 -63
  270. package/esm/integrations/linkederrors.js.map +0 -1
  271. package/esm/integrations/trycatch.d.ts +0 -26
  272. package/esm/integrations/trycatch.d.ts.map +0 -1
  273. package/esm/integrations/trycatch.js +0 -164
  274. package/esm/integrations/trycatch.js.map +0 -1
  275. package/esm/package.json +0 -52
  276. package/esm/src/backend.d.ts +0 -41
  277. package/esm/src/backend.d.ts.map +0 -1
  278. package/esm/src/backend.js +0 -66
  279. package/esm/src/backend.js.map +0 -1
  280. package/esm/src/client.d.ts +0 -55
  281. package/esm/src/client.d.ts.map +0 -1
  282. package/esm/src/client.js +0 -49
  283. package/esm/src/client.js.map +0 -1
  284. package/esm/src/crossPlatform.d.ts +0 -18
  285. package/esm/src/crossPlatform.d.ts.map +0 -1
  286. package/esm/src/crossPlatform.js +0 -77
  287. package/esm/src/crossPlatform.js.map +0 -1
  288. package/esm/src/eventbuilder.d.ts +0 -11
  289. package/esm/src/eventbuilder.d.ts.map +0 -1
  290. package/esm/src/eventbuilder.js +0 -75
  291. package/esm/src/eventbuilder.js.map +0 -1
  292. package/esm/src/flags.d.ts +0 -3
  293. package/esm/src/flags.d.ts.map +0 -1
  294. package/esm/src/flags.js +0 -16
  295. package/esm/src/flags.js.map +0 -1
  296. package/esm/src/helpers.d.ts +0 -35
  297. package/esm/src/helpers.d.ts.map +0 -1
  298. package/esm/src/helpers.js +0 -229
  299. package/esm/src/helpers.js.map +0 -1
  300. package/esm/src/index.d.ts +0 -10
  301. package/esm/src/index.d.ts.map +0 -1
  302. package/esm/src/index.js +0 -9
  303. package/esm/src/index.js.map +0 -1
  304. package/esm/src/integrations/globalhandlers.d.ts +0 -47
  305. package/esm/src/integrations/globalhandlers.d.ts.map +0 -1
  306. package/esm/src/integrations/globalhandlers.js +0 -151
  307. package/esm/src/integrations/globalhandlers.js.map +0 -1
  308. package/esm/src/integrations/ignoreMpcrawlerErrors.d.ts +0 -21
  309. package/esm/src/integrations/ignoreMpcrawlerErrors.d.ts.map +0 -1
  310. package/esm/src/integrations/ignoreMpcrawlerErrors.js +0 -38
  311. package/esm/src/integrations/ignoreMpcrawlerErrors.js.map +0 -1
  312. package/esm/src/integrations/index.d.ts +0 -7
  313. package/esm/src/integrations/index.d.ts.map +0 -1
  314. package/esm/src/integrations/index.js +0 -7
  315. package/esm/src/integrations/index.js.map +0 -1
  316. package/esm/src/integrations/linkederrors.d.ts +0 -40
  317. package/esm/src/integrations/linkederrors.d.ts.map +0 -1
  318. package/esm/src/integrations/linkederrors.js +0 -63
  319. package/esm/src/integrations/linkederrors.js.map +0 -1
  320. package/esm/src/integrations/router.d.ts +0 -28
  321. package/esm/src/integrations/router.d.ts.map +0 -1
  322. package/esm/src/integrations/router.js +0 -45
  323. package/esm/src/integrations/router.js.map +0 -1
  324. package/esm/src/integrations/system.d.ts +0 -17
  325. package/esm/src/integrations/system.d.ts.map +0 -1
  326. package/esm/src/integrations/system.js +0 -63
  327. package/esm/src/integrations/system.js.map +0 -1
  328. package/esm/src/integrations/trycatch.d.ts +0 -26
  329. package/esm/src/integrations/trycatch.d.ts.map +0 -1
  330. package/esm/src/integrations/trycatch.js +0 -164
  331. package/esm/src/integrations/trycatch.js.map +0 -1
  332. package/esm/src/parsers.d.ts +0 -21
  333. package/esm/src/parsers.d.ts.map +0 -1
  334. package/esm/src/parsers.js +0 -91
  335. package/esm/src/parsers.js.map +0 -1
  336. package/esm/src/sdk.d.ts +0 -99
  337. package/esm/src/sdk.d.ts.map +0 -1
  338. package/esm/src/sdk.js +0 -147
  339. package/esm/src/sdk.js.map +0 -1
  340. package/esm/src/tracekit.d.ts +0 -38
  341. package/esm/src/tracekit.d.ts.map +0 -1
  342. package/esm/src/tracekit.js +0 -219
  343. package/esm/src/tracekit.js.map +0 -1
  344. package/esm/src/transports/base.d.ts +0 -22
  345. package/esm/src/transports/base.d.ts.map +0 -1
  346. package/esm/src/transports/base.js +0 -26
  347. package/esm/src/transports/base.js.map +0 -1
  348. package/esm/src/transports/index.d.ts +0 -3
  349. package/esm/src/transports/index.d.ts.map +0 -1
  350. package/esm/src/transports/index.js +0 -3
  351. package/esm/src/transports/index.js.map +0 -1
  352. package/esm/src/transports/xhr.d.ts +0 -10
  353. package/esm/src/transports/xhr.d.ts.map +0 -1
  354. package/esm/src/transports/xhr.js +0 -40
  355. package/esm/src/transports/xhr.js.map +0 -1
  356. package/esm/src/version.d.ts +0 -3
  357. package/esm/src/version.d.ts.map +0 -1
  358. package/esm/src/version.js +0 -4
  359. package/esm/src/version.js.map +0 -1
  360. package/esm/transports/base.d.ts +0 -22
  361. package/esm/transports/base.d.ts.map +0 -1
  362. package/esm/transports/base.js +0 -26
  363. package/esm/transports/base.js.map +0 -1
  364. package/esm/transports/xhr.d.ts +0 -10
  365. package/esm/transports/xhr.d.ts.map +0 -1
  366. package/esm/transports/xhr.js +0 -40
  367. package/esm/transports/xhr.js.map +0 -1
  368. package/esm/utils/debug-build.d.ts +0 -7
  369. package/esm/utils/debug-build.d.ts.map +0 -1
  370. package/esm/utils/debug-build.js +0 -7
  371. package/esm/utils/debug-build.js.map +0 -1
  372. package/esm/utils/logger.d.ts +0 -25
  373. package/esm/utils/logger.d.ts.map +0 -1
  374. package/esm/utils/logger.js +0 -42
  375. package/esm/utils/logger.js.map +0 -1
package/esm/client.d.ts CHANGED
@@ -1,55 +1,57 @@
1
- import { BaseClient, Scope } from "@sentry/core";
2
- import { DsnLike, Event, EventHint } from "@sentry/types";
3
- import { MiniappBackend, MiniappOptions } from "./backend";
1
+ import { BaseClient } from '@sentry/core';
2
+ import type { ClientOptions, Event, EventHint, Scope, SeverityLevel } from '@sentry/core';
4
3
  /**
5
- * All properties the report dialog supports
4
+ * Configuration options for the Uniapp SDK.
6
5
  */
7
- export interface ReportDialogOptions {
8
- [key: string]: any;
9
- eventId?: string;
10
- dsn?: DsnLike;
11
- user?: {
12
- email?: string;
13
- name?: string;
6
+ export interface UniappOptions extends ClientOptions {
7
+ /**
8
+ * List of URLs to allow for error tracking.
9
+ */
10
+ allowUrls?: Array<string | RegExp>;
11
+ /**
12
+ * List of URLs to deny for error tracking.
13
+ */
14
+ denyUrls?: Array<string | RegExp>;
15
+ /**
16
+ * Extra options for global handlers integration
17
+ */
18
+ extraOptions?: {
19
+ onerror?: boolean;
20
+ onunhandledrejection?: boolean;
21
+ onpagenotfound?: boolean;
22
+ onmemorywarning?: boolean;
14
23
  };
15
- lang?: string;
16
- title?: string;
17
- subtitle?: string;
18
- subtitle2?: string;
19
- labelName?: string;
20
- labelEmail?: string;
21
- labelComments?: string;
22
- labelClose?: string;
23
- labelSubmit?: string;
24
- errorGeneric?: string;
25
- errorFormEntry?: string;
26
- successMessage?: string;
27
- /** Callback after reportDialog showed up */
28
- onLoad?(): void;
24
+ /**
25
+ * Enable debug logging
26
+ */
27
+ debug?: boolean;
29
28
  }
30
29
  /**
31
- * The Sentry Miniapp SDK Client.
32
- *
33
- * @see MiniappOptions for documentation on configuration options.
34
- * @see SentryClient for usage documentation.
30
+ * The Sentry Uniapp SDK Client.
35
31
  */
36
- export declare class MiniappClient extends BaseClient<MiniappBackend, MiniappOptions> {
32
+ export declare class UniappClient extends BaseClient<UniappOptions> {
37
33
  /**
38
- * Creates a new Miniapp SDK instance.
39
- *
40
- * @param options Configuration options for this SDK.
34
+ * Creates a new Uniapp SDK instance.
41
35
  */
42
- constructor(options?: MiniappOptions);
36
+ constructor(options: UniappOptions);
43
37
  /**
44
38
  * @inheritDoc
45
39
  */
46
- protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike<Event | null>;
40
+ protected _prepareEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike<Event | null>;
41
+ /**
42
+ * Create an event from an exception.
43
+ */
44
+ eventFromException(exception: any, hint?: EventHint): PromiseLike<Event>;
47
45
  /**
48
- * Show a report dialog to the user to send feedback to a specific event.
49
- * 向用户显示报告对话框以将反馈发送到特定事件。---> 小程序上暂时用不到&不考虑。
50
- *
51
- * @param options Set individual options for the dialog
46
+ * Create an event from a message.
52
47
  */
53
- showReportDialog(options?: ReportDialogOptions): void;
48
+ eventFromMessage(message: string, level?: SeverityLevel, hint?: EventHint): PromiseLike<Event>;
49
+ }
50
+ /**
51
+ * Options for showing the report dialog (not supported in miniapp environment)
52
+ */
53
+ export interface ReportDialogOptions {
54
+ eventId?: string;
55
+ [key: string]: any;
54
56
  }
55
57
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC;IAC3E;;;;OAIG;gBACgB,OAAO,GAAE,cAAmB;IAI/C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;IAsBjG;;;;;OAKG;IACI,gBAAgB,CAAC,OAAO,GAAE,mBAAwB,GAAG,IAAI;CAIjE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO1F;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU,CAAC,aAAa,CAAC;IACzD;;OAEG;gBACgB,OAAO,EAAE,aAAa;IAsBzC;;OAEG;IACH,SAAS,CAAC,aAAa,CACrB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,EACf,KAAK,CAAC,EAAE,KAAK,GACZ,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;IAoB5B;;OAEG;IACI,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;IAI/E;;OAEG;IACI,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,aAAsB,EAC7B,IAAI,CAAC,EAAE,SAAS,GACf,WAAW,CAAC,KAAK,CAAC;CAGtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
package/esm/client.js CHANGED
@@ -1,52 +1,71 @@
1
- import { __assign, __extends, __read, __spread } from "tslib";
2
- import { BaseClient } from "@sentry/core";
3
- import { MiniappBackend } from "./backend";
4
- import { SDK_NAME, SDK_VERSION } from "./version";
1
+ // logger is not exported from core in v8, stays in utils or needs check
2
+ // But based on user request, let's check other files.
3
+ // Actually, logger IS internal in v8 usually. Let's keep it if not deprecated or check specifically.
4
+ // User specifically mentioned extractExceptionKeysForMessage, isEvent, normalizeToSize.
5
+ // Let's stick to those for now, and check if logger is deprecated.
6
+ import { BaseClient } from '@sentry/core';
7
+ import { eventFromException, eventFromMessage } from './eventbuilder';
8
+ import { makeUniappTransport } from './transport';
9
+ import { SDK_NAME, SDK_VERSION } from './version';
10
+ import { debugLog, debugError } from './debug';
5
11
  /**
6
- * The Sentry Miniapp SDK Client.
7
- *
8
- * @see MiniappOptions for documentation on configuration options.
9
- * @see SentryClient for usage documentation.
12
+ * The Sentry Uniapp SDK Client.
10
13
  */
11
- var MiniappClient = /** @class */ (function (_super) {
12
- __extends(MiniappClient, _super);
14
+ export class UniappClient extends BaseClient {
13
15
  /**
14
- * Creates a new Miniapp SDK instance.
15
- *
16
- * @param options Configuration options for this SDK.
16
+ * Creates a new Uniapp SDK instance.
17
17
  */
18
- function MiniappClient(options) {
19
- if (options === void 0) { options = {}; }
20
- return _super.call(this, MiniappBackend, options) || this;
18
+ constructor(options) {
19
+ debugLog('[Sentry Client] Constructor called');
20
+ debugLog('[Sentry Client] options.dsn:', options.dsn);
21
+ debugLog('[Sentry Client] options.transport:', typeof options.transport);
22
+ // Set default transport if not provided
23
+ const clientOptions = {
24
+ transport: makeUniappTransport,
25
+ ...options,
26
+ };
27
+ debugLog('[Sentry Client] Calling super(options)...');
28
+ try {
29
+ super(clientOptions);
30
+ debugLog('[Sentry Client] super() completed successfully!');
31
+ }
32
+ catch (error) {
33
+ debugError('[Sentry Client] super() threw error:', error);
34
+ throw error;
35
+ }
36
+ debugLog('[Sentry Client] Constructor complete');
21
37
  }
22
38
  /**
23
39
  * @inheritDoc
24
40
  */
25
- MiniappClient.prototype._prepareEvent = function (event, scope, hint) {
26
- event.platform = event.platform || "javascript";
27
- event.sdk = __assign(__assign({}, event.sdk), { name: SDK_NAME, packages: __spread(((event.sdk && event.sdk.packages) || []), [
41
+ _prepareEvent(event, hint, scope) {
42
+ debugLog('[Sentry Client] _prepareEvent called for event:', event.event_id);
43
+ debugLog('[Sentry Client] Event type:', event.type);
44
+ debugLog('[Sentry Client] Event message:', event.message);
45
+ // Set SDK info
46
+ event.sdk = {
47
+ name: SDK_NAME,
48
+ packages: [
28
49
  {
29
- name: "npm:sentry-uniapp",
30
- version: SDK_VERSION
31
- }
32
- ]), version: SDK_VERSION });
33
- return _super.prototype._prepareEvent.call(this, event, scope, hint);
34
- };
35
- // protected setupIntegrations() {
36
- //
37
- // }
50
+ name: 'npm:sentry-uniapp',
51
+ version: SDK_VERSION,
52
+ },
53
+ ],
54
+ version: SDK_VERSION,
55
+ };
56
+ return super._prepareEvent(event, hint, scope);
57
+ }
38
58
  /**
39
- * Show a report dialog to the user to send feedback to a specific event.
40
- * 向用户显示报告对话框以将反馈发送到特定事件。---> 小程序上暂时用不到&不考虑。
41
- *
42
- * @param options Set individual options for the dialog
59
+ * Create an event from an exception.
43
60
  */
44
- MiniappClient.prototype.showReportDialog = function (options) {
45
- if (options === void 0) { options = {}; }
46
- // doesn't work without a document (React Native)
47
- console.log('sentry-uniapp 暂未实现该方法', options);
48
- };
49
- return MiniappClient;
50
- }(BaseClient));
51
- export { MiniappClient };
61
+ eventFromException(exception, hint) {
62
+ return Promise.resolve(eventFromException(exception, hint));
63
+ }
64
+ /**
65
+ * Create an event from a message.
66
+ */
67
+ eventFromMessage(message, level = 'info', hint) {
68
+ return Promise.resolve(eventFromMessage(message, level, hint));
69
+ }
70
+ }
52
71
  //# sourceMappingURL=client.js.map
package/esm/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAkB,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6BlD;;;;;GAKG;AACH;IAAmC,iCAA0C;IAC3E;;;;OAIG;IACH,uBAAmB,OAA4B;QAA5B,wBAAA,EAAA,YAA4B;eAC7C,kBAAM,cAAc,EAAE,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACO,qCAAa,GAAvB,UAAwB,KAAY,EAAE,KAAa,EAAE,IAAgB;QACnE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;QAChD,KAAK,CAAC,GAAG,yBACJ,KAAK,CAAC,GAAG,KACZ,IAAI,EAAE,QAAQ,EACd,QAAQ,WACH,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5C;oBACE,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,WAAW;iBACrB;gBAEH,OAAO,EAAE,WAAW,GACrB,CAAC;QAEF,OAAO,iBAAM,aAAa,YAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,kCAAkC;IAClC,EAAE;IACF,IAAI;IAEJ;;;;;OAKG;IACI,wCAAgB,GAAvB,UAAwB,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QACvD,iDAAiD;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACH,oBAAC;AAAD,CAAC,AA7CD,CAAmC,UAAU,GA6C5C","sourcesContent":["import { BaseClient, Scope } from \"@sentry/core\";\nimport { DsnLike, Event, EventHint } from \"@sentry/types\";\n\nimport { MiniappBackend, MiniappOptions } from \"./backend\";\nimport { SDK_NAME, SDK_VERSION } from \"./version\";\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * The Sentry Miniapp SDK Client.\n *\n * @see MiniappOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class MiniappClient extends BaseClient<MiniappBackend, MiniappOptions> {\n /**\n * Creates a new Miniapp SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: MiniappOptions = {}) {\n super(MiniappBackend, options);\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike<Event | null> {\n event.platform = event.platform || \"javascript\";\n event.sdk = {\n ...event.sdk,\n name: SDK_NAME,\n packages: [\n ...((event.sdk && event.sdk.packages) || []),\n {\n name: \"npm:sentry-uniapp\",\n version: SDK_VERSION\n }\n ],\n version: SDK_VERSION\n };\n\n return super._prepareEvent(event, scope, hint);\n }\n\n // protected setupIntegrations() {\n //\n // }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n * 向用户显示报告对话框以将反馈发送到特定事件。---> 小程序上暂时用不到&不考虑。\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n console.log('sentry-uniapp 暂未实现该方法', options);\n }\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,uDAAuD;AACvD,qGAAqG;AACrG,wFAAwF;AACxF,mEAAmE;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAgC/C;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAyB;IACzD;;OAEG;IACH,YAAmB,OAAsB;QACvC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QAC/C,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,QAAQ,CAAC,oCAAoC,EAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzE,wCAAwC;QACxC,MAAM,aAAa,GAAkB;YACnC,SAAS,EAAE,mBAAmB;YAC9B,GAAG,OAAO;SACX,CAAC;QAEF,QAAQ,CAAC,2CAA2C,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,KAAK,CAAC,aAAa,CAAC,CAAC;YACrB,QAAQ,CAAC,iDAAiD,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,QAAQ,CAAC,sCAAsC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACO,aAAa,CACrB,KAAY,EACZ,IAAe,EACf,KAAa;QAEb,QAAQ,CAAC,iDAAiD,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5E,QAAQ,CAAC,6BAA6B,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1D,eAAe;QACf,KAAK,CAAC,GAAG,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,WAAW;iBACrB;aACF;YACD,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,SAAc,EAAE,IAAgB;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACI,gBAAgB,CACrB,OAAe,EACf,QAAuB,MAAM,EAC7B,IAAgB;QAEhB,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -13,6 +13,6 @@ interface SDK {
13
13
  getLaunchOptionsSync?: Function;
14
14
  }
15
15
  declare const sdk: SDK;
16
- declare const appName: "unknown" | "uniapp" | "wechat" | "alipay" | "bytedance" | "dingtalk" | "qq" | "swan";
16
+ declare const appName: "uniapp" | "wechat" | "alipay" | "bytedance" | "dingtalk" | "qq" | "swan" | "unknown";
17
17
  export { sdk, appName };
18
18
  //# sourceMappingURL=crossPlatform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crossPlatform.d.ts","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,UAAU,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,aAAa,EAAE,QAAQ,CAAC;IACxB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACjC;AAkFD,QAAA,MAAM,GAAG,KAAW,CAAC;AACrB,QAAA,MAAM,OAAO,uFAAe,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC"}
1
+ {"version":3,"file":"crossPlatform.d.ts","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,UAAU,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,aAAa,EAAE,QAAQ,CAAC;IACxB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACjC;AAiGD,QAAA,MAAM,GAAG,KAAW,CAAC;AACrB,QAAA,MAAM,OAAO,uFAAe,CAAC;AAE7B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}
@@ -1,53 +1,68 @@
1
- var currentSdk = {
1
+ import { debugLog, debugError } from './debug';
2
+ let currentSdk = {
2
3
  // tslint:disable-next-line: no-empty
3
- request: function () {
4
+ request: () => {
4
5
  },
5
6
  // tslint:disable-next-line: no-empty
6
- httpRequest: function () {
7
+ httpRequest: () => {
7
8
  },
8
9
  // tslint:disable-next-line: no-empty
9
- getSystemInfoSync: function () {
10
+ getSystemInfoSync: () => {
10
11
  },
11
12
  // tslint:disable-next-line: no-empty
12
- getSystemInfo: function () {
13
+ getSystemInfo: () => {
13
14
  },
14
15
  };
15
16
  /**
16
17
  * 获取跨平台的 SDK
17
18
  */
18
- var getSDK = function () {
19
+ const getSDK = () => {
20
+ debugLog('[Sentry CrossPlatform] Detecting platform...');
21
+ debugLog('[Sentry CrossPlatform] typeof uni:', typeof uni);
22
+ debugLog('[Sentry CrossPlatform] typeof wx:', typeof wx);
19
23
  if (typeof uni === "object") {
24
+ debugLog('[Sentry CrossPlatform] Using uni SDK');
25
+ debugLog('[Sentry CrossPlatform] uni.request available:', typeof uni.request);
20
26
  currentSdk = uni;
21
27
  }
22
28
  else if (typeof wx === "object") {
29
+ debugLog('[Sentry CrossPlatform] Using wx SDK');
30
+ debugLog('[Sentry CrossPlatform] wx.request available:', typeof wx.request);
23
31
  currentSdk = wx;
24
32
  }
25
33
  else if (typeof my === "object") {
34
+ debugLog('[Sentry CrossPlatform] Using my SDK');
26
35
  currentSdk = my;
27
36
  }
28
37
  else if (typeof tt === "object") {
38
+ debugLog('[Sentry CrossPlatform] Using tt SDK');
29
39
  currentSdk = tt;
30
40
  }
31
41
  else if (typeof dd === "object") {
42
+ debugLog('[Sentry CrossPlatform] Using dd SDK');
32
43
  currentSdk = dd;
33
44
  }
34
45
  else if (typeof qq === "object") {
46
+ debugLog('[Sentry CrossPlatform] Using qq SDK');
35
47
  currentSdk = qq;
36
48
  }
37
49
  else if (typeof swan === "object") {
50
+ debugLog('[Sentry CrossPlatform] Using swan SDK');
38
51
  currentSdk = swan;
39
52
  }
40
53
  else {
54
+ debugError('[Sentry CrossPlatform] No supported platform detected!');
41
55
  // tslint:disable-next-line:no-console
42
56
  console.log("sentry-uniapp 暂不支持此平台, 快应用请使用 sentry-quickapp");
43
57
  }
58
+ debugLog('[Sentry CrossPlatform] Final SDK.request type:', typeof currentSdk.request);
44
59
  return currentSdk;
45
60
  };
46
61
  /**
47
62
  * 获取平台名称
48
63
  */
49
- var getAppName = function () {
50
- var currentAppName = "unknown";
64
+ const getAppName = () => {
65
+ let currentAppName = "unknown";
51
66
  if (typeof uni === "object") {
52
67
  currentAppName = "uniapp";
53
68
  }
@@ -71,7 +86,7 @@ var getAppName = function () {
71
86
  }
72
87
  return currentAppName;
73
88
  };
74
- var sdk = getSDK();
75
- var appName = getAppName();
89
+ const sdk = getSDK();
90
+ const appName = getAppName();
76
91
  export { sdk, appName };
77
92
  //# sourceMappingURL=crossPlatform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crossPlatform.js","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAqCA,IAAI,UAAU,GAAQ;IACpB,qCAAqC;IACrC,OAAO,EAAE;IACT,CAAC;IACD,qCAAqC;IACrC,WAAW,EAAE;IACb,CAAC;IACD,qCAAqC;IACrC,iBAAiB,EAAE;IACnB,CAAC;IACD,qCAAqC;IACrC,aAAa,EAAE;IACf,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,IAAM,MAAM,GAAG;IACb,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,UAAU,GAAG,GAAG,CAAC;KAClB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,UAAU,GAAG,IAAI,CAAC;KACnB;SAAM;QACL,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;KAC9D;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,IAAM,UAAU,GAAG;IACjB,IAAI,cAAc,GAAY,SAAS,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,WAAW,CAAC;KAC9B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,UAAU,CAAC;KAC7B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,IAAI,CAAC;KACvB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,cAAc,GAAG,MAAM,CAAC;KACzB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AACrB,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC","sourcesContent":["declare const uni: any; // uniapp\ndeclare const wx: any; // 微信小程序、微信小游戏\ndeclare const my: any; // 支付宝小程序\ndeclare const tt: any; // 字节跳动小程序\ndeclare const dd: any; // 钉钉小程序\ndeclare const qq: any; // QQ 小程序、QQ 小游戏\ndeclare const swan: any; // 百度小程序\n\n/**\n * 小程序平台 SDK 接口\n */\ninterface SDK {\n request: Function;\n httpRequest?: Function; // 针对钉钉小程序\n getSystemInfo: Function;\n getSystemInfoSync: Function;\n onError?: Function;\n onUnhandledRejection?: Function;\n onPageNotFound?: Function;\n onMemoryWarning?: Function;\n getLaunchOptionsSync?: Function;\n}\n\n/**\n * 小程序平台 接口\n */\ntype AppName =\n | \"uniapp\"\n | \"wechat\"\n | \"alipay\"\n | \"bytedance\"\n | \"dingtalk\"\n | \"qq\"\n | \"swan\"\n | \"quickapp\"\n | \"unknown\";\n\nlet currentSdk: SDK = {\n // tslint:disable-next-line: no-empty\n request: () => {\n },\n // tslint:disable-next-line: no-empty\n httpRequest: () => {\n },\n // tslint:disable-next-line: no-empty\n getSystemInfoSync: () => {\n },\n // tslint:disable-next-line: no-empty\n getSystemInfo: () => {\n },\n};\n\n/**\n * 获取跨平台的 SDK\n */\nconst getSDK = () => {\n if (typeof uni === \"object\") {\n currentSdk = uni;\n } else if (typeof wx === \"object\") {\n currentSdk = wx;\n } else if (typeof my === \"object\") {\n currentSdk = my;\n } else if (typeof tt === \"object\") {\n currentSdk = tt;\n } else if (typeof dd === \"object\") {\n currentSdk = dd;\n } else if (typeof qq === \"object\") {\n currentSdk = qq;\n } else if (typeof swan === \"object\") {\n currentSdk = swan;\n } else {\n // tslint:disable-next-line:no-console\n console.log(\"sentry-uniapp 暂不支持此平台, 快应用请使用 sentry-quickapp\");\n }\n\n return currentSdk;\n};\n\n/**\n * 获取平台名称\n */\nconst getAppName = () => {\n let currentAppName: AppName = \"unknown\";\n\n if (typeof uni === \"object\") {\n currentAppName = \"uniapp\";\n } else if (typeof wx === \"object\") {\n currentAppName = \"wechat\";\n } else if (typeof my === \"object\") {\n currentAppName = \"alipay\";\n } else if (typeof tt === \"object\") {\n currentAppName = \"bytedance\";\n } else if (typeof dd === \"object\") {\n currentAppName = \"dingtalk\";\n } else if (typeof qq === \"object\") {\n currentAppName = \"qq\";\n } else if (typeof swan === \"object\") {\n currentAppName = \"swan\";\n }\n\n return currentAppName;\n};\n\nconst sdk = getSDK();\nconst appName = getAppName();\n\nexport {sdk, appName};\n"]}
1
+ {"version":3,"file":"crossPlatform.js","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA+B/C,IAAI,UAAU,GAAQ;IACpB,qCAAqC;IACrC,OAAO,EAAE,GAAG,EAAE;IACd,CAAC;IACD,qCAAqC;IACrC,WAAW,EAAE,GAAG,EAAE;IAClB,CAAC;IACD,qCAAqC;IACrC,iBAAiB,EAAE,GAAG,EAAE;IACxB,CAAC;IACD,qCAAqC;IACrC,aAAa,EAAE,GAAG,EAAE;IACpB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,EAAE;IAClB,QAAQ,CAAC,8CAA8C,CAAC,CAAC;IACzD,QAAQ,CAAC,oCAAoC,EAAE,OAAO,GAAG,CAAC,CAAC;IAC3D,QAAQ,CAAC,mCAAmC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEzD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,QAAQ,CAAC,sCAAsC,CAAC,CAAC;QACjD,QAAQ,CAAC,+CAA+C,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9E,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAChD,QAAQ,CAAC,8CAA8C,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5E,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAChD,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAChD,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAChD,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAChD,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;QAClD,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,wDAAwD,CAAC,CAAC;QACrE,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,QAAQ,CAAC,gDAAgD,EAAE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IACtF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,IAAI,cAAc,GAAY,SAAS,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,cAAc,GAAG,QAAQ,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,GAAG,QAAQ,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,GAAG,QAAQ,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,GAAG,WAAW,CAAC;IAC/B,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,GAAG,UAAU,CAAC;IAC9B,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AACrB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAE7B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}
package/esm/debug.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function setDebugEnabled(enabled: boolean): void;
2
+ export declare function debugLog(...args: any[]): void;
3
+ export declare function debugError(...args: any[]): void;
4
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAI7C;AAED,wBAAgB,UAAU,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAI/C"}
package/esm/debug.js ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Debug logger utility
3
+ */
4
+ let debugEnabled = false;
5
+ export function setDebugEnabled(enabled) {
6
+ debugEnabled = enabled;
7
+ }
8
+ export function debugLog(...args) {
9
+ if (debugEnabled) {
10
+ console.log(...args);
11
+ }
12
+ }
13
+ export function debugError(...args) {
14
+ if (debugEnabled) {
15
+ console.error(...args);
16
+ }
17
+ }
18
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC5C,YAAY,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAW;IACnC,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAG,IAAW;IACrC,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC"}
@@ -1,11 +1,10 @@
1
- import { Event } from '@sentry/types';
2
- /** JSDoc */
3
- export declare function eventFromUnknownInput(exception: unknown, syntheticException?: Error, options?: {
4
- rejection?: boolean;
5
- attachStacktrace?: boolean;
6
- }): Event;
7
- /** JSDoc */
8
- export declare function eventFromString(input: string, syntheticException?: Error, options?: {
9
- attachStacktrace?: boolean;
10
- }): Event;
1
+ import type { Event, EventHint, SeverityLevel } from '@sentry/core';
2
+ /**
3
+ * Builds an Event from an Exception
4
+ */
5
+ export declare function eventFromException(exception: unknown, hint?: EventHint): Event;
6
+ /**
7
+ * Builds an Event from a Message
8
+ */
9
+ export declare function eventFromMessage(message: string, level?: SeverityLevel, hint?: EventHint): Event;
11
10
  //# sourceMappingURL=eventbuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventbuilder.d.ts","sourceRoot":"","sources":["../src/eventbuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAetC,YAAY;AACZ,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,kBAAkB,CAAC,EAAE,KAAK,EAC1B,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,KAAK,CAwDP;AAGD,YAAY;AACZ,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,kBAAkB,CAAC,EAAE,KAAK,EAC1B,OAAO,GAAE;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,KAAK,CAcP"}
1
+ {"version":3,"file":"eventbuilder.d.ts","sourceRoot":"","sources":["../src/eventbuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAa,aAAa,EAAc,MAAM,cAAc,CAAC;AAM3F;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAkB9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,aAAsB,EAC7B,IAAI,CAAC,EAAE,SAAS,GACf,KAAK,CAaP"}
@@ -1,75 +1,148 @@
1
- import { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, } from '@sentry/utils';
2
- import { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';
1
+ import { addExceptionMechanism, addExceptionTypeValue, extractExceptionKeysForMessage, normalizeToSize } from '@sentry/core';
2
+ import { exceptionFromStacktrace } from './parsers';
3
3
  import { computeStackTrace } from './tracekit';
4
- /** JSDoc */
5
- export function eventFromUnknownInput(exception, syntheticException, options) {
6
- if (options === void 0) { options = {}; }
7
- var event;
8
- if (isErrorEvent(exception) && exception.error) {
9
- // If it is an ErrorEvent with `error` property, extract it to get actual Error
10
- var errorEvent = exception;
11
- exception = errorEvent.error; // tslint:disable-line:no-parameter-reassignment
12
- event = eventFromStacktrace(computeStackTrace(exception));
13
- return event;
4
+ /**
5
+ * Builds an Event from an Exception
6
+ */
7
+ export function eventFromException(exception, hint) {
8
+ const syntheticException = (hint && hint.syntheticException) || undefined;
9
+ const event = eventFromUnknownInput(exception, syntheticException, {
10
+ attachStacktrace: hint === null || hint === void 0 ? void 0 : hint.attachStacktrace,
11
+ });
12
+ addExceptionMechanism(event, {
13
+ handled: true,
14
+ type: 'generic',
15
+ });
16
+ event.level = 'error';
17
+ if (hint && hint.event_id) {
18
+ event.event_id = hint.event_id;
14
19
  }
15
- if (isDOMError(exception) || isDOMException(exception)) {
16
- // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)
17
- // then we just extract the name and message, as they don't provide anything else
18
- // https://developer.mozilla.org/en-US/docs/Web/API/DOMError
19
- // https://developer.mozilla.org/en-US/docs/Web/API/DOMException
20
- var domException = exception;
21
- var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');
22
- var message = domException.message ? name_1 + ": " + domException.message : name_1;
23
- event = eventFromString(message, syntheticException, options);
24
- addExceptionTypeValue(event, message);
25
- return event;
20
+ return event;
21
+ }
22
+ /**
23
+ * Builds an Event from a Message
24
+ */
25
+ export function eventFromMessage(message, level = 'info', hint) {
26
+ const syntheticException = (hint && hint.syntheticException) || undefined;
27
+ const event = eventFromString(message, syntheticException, {
28
+ attachStacktrace: hint === null || hint === void 0 ? void 0 : hint.attachStacktrace,
29
+ });
30
+ event.level = level;
31
+ if (hint && hint.event_id) {
32
+ event.event_id = hint.event_id;
33
+ }
34
+ return event;
35
+ }
36
+ /**
37
+ * Builds an Event from an unknown input
38
+ */
39
+ function eventFromUnknownInput(exception, syntheticException, options = {}) {
40
+ let event;
41
+ // Check if it's an ErrorEvent
42
+ if (typeof exception === 'object' && exception !== null && 'error' in exception) {
43
+ const errorEvent = exception;
44
+ if (errorEvent.error) {
45
+ exception = errorEvent.error;
46
+ }
26
47
  }
27
- if (isError(exception)) {
28
- // we have a real Error object, do nothing
29
- event = eventFromStacktrace(computeStackTrace(exception));
48
+ // Check if it's an Error
49
+ if (exception instanceof Error) {
50
+ event = eventFromStacktrace(exception);
30
51
  return event;
31
52
  }
32
- if (isPlainObject(exception) || isEvent(exception)) {
33
- // If it is plain Object or Event, serialize it manually and extract options
34
- // This will allow us to group events based on top-level keys
35
- // which is much better than creating new group when any key/value change
36
- var objectException = exception;
37
- event = eventFromPlainObject(objectException, syntheticException, options.rejection);
53
+ // Check if it's a plain object
54
+ if (typeof exception === 'object' && exception !== null) {
55
+ const objectException = exception;
56
+ event = eventFromPlainObject(objectException, syntheticException);
38
57
  addExceptionMechanism(event, {
39
58
  synthetic: true,
40
59
  });
41
60
  return event;
42
61
  }
43
- // If none of previous checks were valid, then it means that it's not:
44
- // - an instance of DOMError
45
- // - an instance of DOMException
46
- // - an instance of Event
47
- // - an instance of Error
48
- // - a valid ErrorEvent (one with an error property)
49
- // - a plain Object
50
- //
51
- // So bail out and capture it as a simple message:
52
- event = eventFromString(exception, syntheticException, options);
53
- addExceptionTypeValue(event, "" + exception, undefined);
62
+ // For everything else, treat as string
63
+ event = eventFromString(String(exception), syntheticException, options);
64
+ addExceptionTypeValue(event, String(exception), undefined);
54
65
  addExceptionMechanism(event, {
55
66
  synthetic: true,
56
67
  });
57
68
  return event;
58
69
  }
59
- // this._options.attachStacktrace
60
- /** JSDoc */
61
- export function eventFromString(input, syntheticException, options) {
62
- if (options === void 0) { options = {}; }
63
- var event = {
70
+ /**
71
+ * Create event from string
72
+ */
73
+ function eventFromString(input, syntheticException, options = {}) {
74
+ const event = {
64
75
  message: input,
65
76
  };
66
77
  if (options.attachStacktrace && syntheticException) {
67
- var stacktrace = computeStackTrace(syntheticException);
68
- var frames_1 = prepareFramesForEvent(stacktrace.stack);
69
- event.stacktrace = {
70
- frames: frames_1,
78
+ const stacktrace = computeStackTrace(syntheticException);
79
+ const frames = prepareFramesForEvent(stacktrace.stack);
80
+ event.exception = {
81
+ values: [
82
+ {
83
+ value: input,
84
+ stacktrace: frames.length ? { frames: frames.reverse() } : undefined,
85
+ },
86
+ ],
71
87
  };
72
88
  }
73
89
  return event;
74
90
  }
91
+ /**
92
+ * Create event from stacktrace
93
+ */
94
+ function eventFromStacktrace(exception) {
95
+ const stacktrace = computeStackTrace(exception);
96
+ const exceptionData = exceptionFromStacktrace(stacktrace);
97
+ const event = {
98
+ exception: {
99
+ values: [exceptionData],
100
+ },
101
+ };
102
+ return event;
103
+ }
104
+ /**
105
+ * Create event from plain object
106
+ */
107
+ function eventFromPlainObject(exception, syntheticException) {
108
+ var _a, _b;
109
+ const message = `Non-Error exception captured with keys: ${extractExceptionKeysForMessage(exception)}`;
110
+ const event = {
111
+ exception: {
112
+ values: [
113
+ {
114
+ type: 'Error',
115
+ value: message,
116
+ },
117
+ ],
118
+ },
119
+ extra: {
120
+ __serialized__: normalizeToSize(exception),
121
+ },
122
+ };
123
+ if (syntheticException) {
124
+ const stacktrace = computeStackTrace(syntheticException);
125
+ const frames = prepareFramesForEvent(stacktrace.stack);
126
+ if ((_b = (_a = event.exception) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[0]) {
127
+ event.exception.values[0].stacktrace = frames.length
128
+ ? { frames: frames.reverse() }
129
+ : undefined;
130
+ }
131
+ }
132
+ return event;
133
+ }
134
+ /**
135
+ * Prepare frames for event
136
+ */
137
+ function prepareFramesForEvent(stack) {
138
+ if (!stack || !stack.length) {
139
+ return [];
140
+ }
141
+ return stack.map((frame) => ({
142
+ filename: frame.url,
143
+ function: frame.func || '?',
144
+ lineno: frame.line,
145
+ colno: frame.column,
146
+ }));
147
+ }
75
148
  //# sourceMappingURL=eventbuilder.js.map