@aws-amplify/analytics 7.0.1-console-preview.d745d43.0 → 7.0.1-mjs-test.20ead30.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 (556) hide show
  1. package/{lib → dist/cjs}/apis/disable.js +4 -2
  2. package/dist/cjs/apis/disable.js.map +1 -0
  3. package/{lib → dist/cjs}/apis/enable.js +4 -2
  4. package/dist/cjs/apis/enable.js.map +1 -0
  5. package/{lib → dist/cjs}/apis/index.js +3 -1
  6. package/dist/cjs/apis/index.js.map +1 -0
  7. package/dist/cjs/errors/AnalyticsError.js +21 -0
  8. package/dist/cjs/errors/AnalyticsError.js.map +1 -0
  9. package/{lib → dist/cjs}/errors/assertValidationError.js +9 -7
  10. package/dist/cjs/errors/assertValidationError.js.map +1 -0
  11. package/{lib → dist/cjs}/errors/index.js +3 -1
  12. package/dist/cjs/errors/index.js.map +1 -0
  13. package/{lib → dist/cjs}/errors/validation.js +13 -12
  14. package/dist/cjs/errors/validation.js.map +1 -0
  15. package/{lib → dist/cjs}/index.js +3 -1
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/providers/kinesis/apis/flushEvents.js +37 -0
  18. package/dist/cjs/providers/kinesis/apis/flushEvents.js.map +1 -0
  19. package/{lib → dist/cjs}/providers/kinesis/apis/index.js +3 -1
  20. package/dist/cjs/providers/kinesis/apis/index.js.map +1 -0
  21. package/dist/cjs/providers/kinesis/apis/record.js +48 -0
  22. package/dist/cjs/providers/kinesis/apis/record.js.map +1 -0
  23. package/{lib/providers/personalize → dist/cjs/providers/kinesis}/index.js +3 -1
  24. package/dist/cjs/providers/kinesis/index.js.map +1 -0
  25. package/{lib → dist/cjs}/providers/kinesis/types/buffer.js +3 -1
  26. package/dist/cjs/providers/kinesis/types/buffer.js.map +1 -0
  27. package/{lib/providers/kinesis-firehose → dist/cjs/providers/kinesis}/types/index.js +3 -1
  28. package/dist/cjs/providers/kinesis/types/index.js.map +1 -0
  29. package/{lib/providers/personalize → dist/cjs/providers/kinesis}/types/inputs.js +3 -1
  30. package/dist/cjs/providers/kinesis/types/inputs.js.map +1 -0
  31. package/{lib → dist/cjs}/providers/kinesis/utils/constants.js +3 -1
  32. package/dist/cjs/providers/kinesis/utils/constants.js.map +1 -0
  33. package/dist/cjs/providers/kinesis/utils/getEventBuffer.js +74 -0
  34. package/dist/cjs/providers/kinesis/utils/getEventBuffer.js.map +1 -0
  35. package/dist/cjs/providers/kinesis/utils/resolveConfig.js +27 -0
  36. package/dist/cjs/providers/kinesis/utils/resolveConfig.js.map +1 -0
  37. package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js +36 -0
  38. package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js.map +1 -0
  39. package/{lib/providers/personalize → dist/cjs/providers/kinesis-firehose}/apis/index.js +3 -1
  40. package/dist/cjs/providers/kinesis-firehose/apis/index.js.map +1 -0
  41. package/dist/cjs/providers/kinesis-firehose/apis/record.js +45 -0
  42. package/dist/cjs/providers/kinesis-firehose/apis/record.js.map +1 -0
  43. package/{lib → dist/cjs}/providers/kinesis-firehose/index.js +3 -1
  44. package/dist/cjs/providers/kinesis-firehose/index.js.map +1 -0
  45. package/{lib/providers/personalize → dist/cjs/providers/kinesis-firehose}/types/buffer.js +3 -1
  46. package/dist/cjs/providers/kinesis-firehose/types/buffer.js.map +1 -0
  47. package/{lib/providers/kinesis → dist/cjs/providers/kinesis-firehose}/types/index.js +3 -1
  48. package/dist/cjs/providers/kinesis-firehose/types/index.js.map +1 -0
  49. package/{lib/providers/kinesis → dist/cjs/providers/kinesis-firehose}/types/inputs.js +3 -1
  50. package/dist/cjs/providers/kinesis-firehose/types/inputs.js.map +1 -0
  51. package/{lib → dist/cjs}/providers/kinesis-firehose/utils/constants.js +3 -1
  52. package/dist/cjs/providers/kinesis-firehose/utils/constants.js.map +1 -0
  53. package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js +73 -0
  54. package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js.map +1 -0
  55. package/{lib → dist/cjs}/providers/kinesis-firehose/utils/index.js +3 -1
  56. package/dist/cjs/providers/kinesis-firehose/utils/index.js.map +1 -0
  57. package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js +27 -0
  58. package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js.map +1 -0
  59. package/dist/cjs/providers/personalize/apis/flushEvents.js +35 -0
  60. package/dist/cjs/providers/personalize/apis/flushEvents.js.map +1 -0
  61. package/{lib/providers/kinesis-firehose → dist/cjs/providers/personalize}/apis/index.js +3 -1
  62. package/dist/cjs/providers/personalize/apis/index.js.map +1 -0
  63. package/dist/cjs/providers/personalize/apis/record.js +73 -0
  64. package/dist/cjs/providers/personalize/apis/record.js.map +1 -0
  65. package/{lib/providers/kinesis → dist/cjs/providers/personalize}/index.js +3 -1
  66. package/dist/cjs/providers/personalize/index.js.map +1 -0
  67. package/{lib/providers/kinesis-firehose → dist/cjs/providers/personalize}/types/buffer.js +3 -1
  68. package/dist/cjs/providers/personalize/types/buffer.js.map +1 -0
  69. package/{lib → dist/cjs}/providers/personalize/types/index.js +3 -1
  70. package/dist/cjs/providers/personalize/types/index.js.map +1 -0
  71. package/{lib/providers/kinesis-firehose → dist/cjs/providers/personalize}/types/inputs.js +3 -1
  72. package/dist/cjs/providers/personalize/types/inputs.js.map +1 -0
  73. package/dist/cjs/providers/personalize/utils/autoTrackMedia.js +183 -0
  74. package/dist/cjs/providers/personalize/utils/autoTrackMedia.js.map +1 -0
  75. package/dist/cjs/providers/personalize/utils/cachedSession.js +51 -0
  76. package/dist/cjs/providers/personalize/utils/cachedSession.js.map +1 -0
  77. package/{lib → dist/cjs}/providers/personalize/utils/constants.js +3 -1
  78. package/dist/cjs/providers/personalize/utils/constants.js.map +1 -0
  79. package/dist/cjs/providers/personalize/utils/getEventBuffer.js +75 -0
  80. package/dist/cjs/providers/personalize/utils/getEventBuffer.js.map +1 -0
  81. package/{lib → dist/cjs}/providers/personalize/utils/index.js +3 -1
  82. package/dist/cjs/providers/personalize/utils/index.js.map +1 -0
  83. package/dist/cjs/providers/personalize/utils/resolveConfig.js +28 -0
  84. package/dist/cjs/providers/personalize/utils/resolveConfig.js.map +1 -0
  85. package/{lib → dist/cjs}/providers/pinpoint/apis/configureAutoTrack.js +9 -7
  86. package/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js.map +1 -0
  87. package/dist/cjs/providers/pinpoint/apis/flushEvents.js +27 -0
  88. package/dist/cjs/providers/pinpoint/apis/flushEvents.js.map +1 -0
  89. package/{lib/providers/pinpoint/apis/identifyUser.d.ts → dist/cjs/providers/pinpoint/apis/identifyUser.js} +28 -2
  90. package/dist/cjs/providers/pinpoint/apis/identifyUser.js.map +1 -0
  91. package/{lib → dist/cjs}/providers/pinpoint/apis/index.js +3 -1
  92. package/dist/cjs/providers/pinpoint/apis/index.js.map +1 -0
  93. package/{lib → dist/cjs}/providers/pinpoint/apis/record.js +18 -17
  94. package/dist/cjs/providers/pinpoint/apis/record.js.map +1 -0
  95. package/{lib → dist/cjs}/providers/pinpoint/index.js +3 -1
  96. package/dist/cjs/providers/pinpoint/index.js.map +1 -0
  97. package/{lib → dist/cjs}/providers/pinpoint/types/index.js +3 -1
  98. package/dist/cjs/providers/pinpoint/types/index.js.map +1 -0
  99. package/{lib → dist/cjs}/providers/pinpoint/types/inputs.js +3 -1
  100. package/dist/cjs/providers/pinpoint/types/inputs.js.map +1 -0
  101. package/{lib → dist/cjs}/providers/pinpoint/types/options.js +3 -1
  102. package/dist/cjs/providers/pinpoint/types/options.js.map +1 -0
  103. package/{lib → dist/cjs}/providers/pinpoint/utils/index.js +3 -1
  104. package/dist/cjs/providers/pinpoint/utils/index.js.map +1 -0
  105. package/{lib → dist/cjs}/providers/pinpoint/utils/resolveConfig.js +8 -7
  106. package/dist/cjs/providers/pinpoint/utils/resolveConfig.js.map +1 -0
  107. package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js +18 -0
  108. package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js.map +1 -0
  109. package/{lib → dist/cjs}/setupTests.js +4 -2
  110. package/dist/cjs/setupTests.js.map +1 -0
  111. package/dist/cjs/trackers/EventTracker.js +100 -0
  112. package/dist/cjs/trackers/EventTracker.js.map +1 -0
  113. package/{lib → dist/cjs}/trackers/PageViewTracker.js +44 -46
  114. package/dist/cjs/trackers/PageViewTracker.js.map +1 -0
  115. package/{lib → dist/cjs}/trackers/SessionTracker.js +28 -32
  116. package/dist/cjs/trackers/SessionTracker.js.map +1 -0
  117. package/{lib → dist/cjs}/trackers/SessionTracker.native.js +28 -32
  118. package/dist/cjs/trackers/SessionTracker.native.js.map +1 -0
  119. package/{lib → dist/cjs}/trackers/index.js +3 -1
  120. package/dist/cjs/trackers/index.js.map +1 -0
  121. package/dist/cjs/types/index.js +6 -0
  122. package/dist/cjs/types/index.js.map +1 -0
  123. package/dist/cjs/types/inputs.js +6 -0
  124. package/dist/cjs/types/inputs.js.map +1 -0
  125. package/{lib → dist/cjs}/types/kinesis.js +3 -1
  126. package/dist/cjs/types/kinesis.js.map +1 -0
  127. package/{lib → dist/cjs}/types/options.js +3 -1
  128. package/dist/cjs/types/options.js.map +1 -0
  129. package/{lib → dist/cjs}/types/trackers.js +3 -1
  130. package/dist/cjs/types/trackers.js.map +1 -0
  131. package/dist/cjs/utils/eventBuffer/EventBuffer.js +65 -0
  132. package/dist/cjs/utils/eventBuffer/EventBuffer.js.map +1 -0
  133. package/{lib → dist/cjs}/utils/eventBuffer/index.js +3 -1
  134. package/dist/cjs/utils/eventBuffer/index.js.map +1 -0
  135. package/{lib → dist/cjs}/utils/eventBuffer/types.js +3 -1
  136. package/dist/cjs/utils/eventBuffer/types.js.map +1 -0
  137. package/dist/cjs/utils/groupBy.js +14 -0
  138. package/dist/cjs/utils/groupBy.js.map +1 -0
  139. package/{lib → dist/cjs}/utils/index.js +3 -1
  140. package/dist/cjs/utils/index.js.map +1 -0
  141. package/dist/cjs/utils/resolveCredentials.js +15 -0
  142. package/dist/cjs/utils/resolveCredentials.js.map +1 -0
  143. package/{lib → dist/cjs}/utils/statusHelpers.js +7 -5
  144. package/dist/cjs/utils/statusHelpers.js.map +1 -0
  145. package/{lib → dist/cjs}/utils/trackerConfigHelpers.js +5 -3
  146. package/dist/cjs/utils/trackerConfigHelpers.js.map +1 -0
  147. package/{lib → dist/cjs}/utils/trackerConfigHelpers.native.js +5 -3
  148. package/dist/cjs/utils/trackerConfigHelpers.native.js.map +1 -0
  149. package/{lib → dist/cjs}/utils/trackerHelpers.js +8 -6
  150. package/dist/cjs/utils/trackerHelpers.js.map +1 -0
  151. package/{lib → dist/cjs}/utils/userAgent.js +6 -4
  152. package/dist/cjs/utils/userAgent.js.map +1 -0
  153. package/dist/esm/apis/disable.mjs +22 -0
  154. package/dist/esm/apis/disable.mjs.map +1 -0
  155. package/dist/esm/apis/enable.mjs +21 -0
  156. package/dist/esm/apis/enable.mjs.map +1 -0
  157. package/dist/esm/apis/index.mjs +3 -0
  158. package/dist/esm/apis/index.mjs.map +1 -0
  159. package/dist/esm/errors/AnalyticsError.mjs +19 -0
  160. package/dist/esm/errors/AnalyticsError.mjs.map +1 -0
  161. package/dist/esm/errors/assertValidationError.mjs +21 -0
  162. package/dist/esm/errors/assertValidationError.mjs.map +1 -0
  163. package/dist/esm/errors/index.mjs +4 -0
  164. package/dist/esm/errors/index.mjs.map +1 -0
  165. package/{lib-esm/errors/validation.js → dist/esm/errors/validation.mjs} +14 -12
  166. package/dist/esm/errors/validation.mjs.map +1 -0
  167. package/dist/esm/index.mjs +9 -0
  168. package/dist/esm/index.mjs.map +1 -0
  169. package/dist/esm/providers/kinesis/apis/flushEvents.mjs +41 -0
  170. package/dist/esm/providers/kinesis/apis/flushEvents.mjs.map +1 -0
  171. package/dist/esm/providers/kinesis/apis/index.mjs +3 -0
  172. package/dist/esm/providers/kinesis/apis/index.mjs.map +1 -0
  173. package/dist/esm/providers/kinesis/apis/record.mjs +53 -0
  174. package/dist/esm/providers/kinesis/apis/record.mjs.map +1 -0
  175. package/dist/esm/providers/kinesis/index.mjs +3 -0
  176. package/dist/esm/providers/kinesis/index.mjs.map +1 -0
  177. package/dist/esm/providers/kinesis/types/buffer.mjs +2 -0
  178. package/dist/esm/providers/kinesis/types/buffer.mjs.map +1 -0
  179. package/dist/esm/providers/kinesis/types/index.mjs +2 -0
  180. package/dist/esm/providers/kinesis/types/index.mjs.map +1 -0
  181. package/dist/esm/providers/kinesis/types/inputs.mjs +2 -0
  182. package/dist/esm/providers/kinesis/types/inputs.mjs.map +1 -0
  183. package/{lib-esm/providers/kinesis-firehose/utils/constants.js → dist/esm/providers/kinesis/utils/constants.mjs} +4 -1
  184. package/dist/esm/providers/kinesis/utils/constants.mjs.map +1 -0
  185. package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs +79 -0
  186. package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs.map +1 -0
  187. package/dist/esm/providers/kinesis/utils/resolveConfig.mjs +27 -0
  188. package/dist/esm/providers/kinesis/utils/resolveConfig.mjs.map +1 -0
  189. package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs +41 -0
  190. package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs.map +1 -0
  191. package/dist/esm/providers/kinesis-firehose/apis/index.mjs +3 -0
  192. package/dist/esm/providers/kinesis-firehose/apis/index.mjs.map +1 -0
  193. package/dist/esm/providers/kinesis-firehose/apis/record.mjs +51 -0
  194. package/dist/esm/providers/kinesis-firehose/apis/record.mjs.map +1 -0
  195. package/dist/esm/providers/kinesis-firehose/index.mjs +3 -0
  196. package/dist/esm/providers/kinesis-firehose/index.mjs.map +1 -0
  197. package/dist/esm/providers/kinesis-firehose/types/buffer.mjs +2 -0
  198. package/dist/esm/providers/kinesis-firehose/types/buffer.mjs.map +1 -0
  199. package/dist/esm/providers/kinesis-firehose/types/index.mjs +2 -0
  200. package/dist/esm/providers/kinesis-firehose/types/index.mjs.map +1 -0
  201. package/dist/esm/providers/kinesis-firehose/types/inputs.mjs +2 -0
  202. package/dist/esm/providers/kinesis-firehose/types/inputs.mjs.map +1 -0
  203. package/{lib-esm/providers/kinesis/utils/constants.js → dist/esm/providers/kinesis-firehose/utils/constants.mjs} +4 -1
  204. package/dist/esm/providers/kinesis-firehose/utils/constants.mjs.map +1 -0
  205. package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs +78 -0
  206. package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs.map +1 -0
  207. package/dist/esm/providers/kinesis-firehose/utils/index.mjs +3 -0
  208. package/dist/esm/providers/kinesis-firehose/utils/index.mjs.map +1 -0
  209. package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs +27 -0
  210. package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs.map +1 -0
  211. package/dist/esm/providers/personalize/apis/flushEvents.mjs +41 -0
  212. package/dist/esm/providers/personalize/apis/flushEvents.mjs.map +1 -0
  213. package/dist/esm/providers/personalize/apis/index.mjs +3 -0
  214. package/dist/esm/providers/personalize/apis/index.mjs.map +1 -0
  215. package/dist/esm/providers/personalize/apis/record.mjs +81 -0
  216. package/dist/esm/providers/personalize/apis/record.mjs.map +1 -0
  217. package/dist/esm/providers/personalize/index.mjs +3 -0
  218. package/dist/esm/providers/personalize/index.mjs.map +1 -0
  219. package/dist/esm/providers/personalize/types/buffer.mjs +2 -0
  220. package/dist/esm/providers/personalize/types/buffer.mjs.map +1 -0
  221. package/dist/esm/providers/personalize/types/index.mjs +2 -0
  222. package/dist/esm/providers/personalize/types/index.mjs.map +1 -0
  223. package/dist/esm/providers/personalize/types/inputs.mjs +2 -0
  224. package/dist/esm/providers/personalize/types/inputs.mjs.map +1 -0
  225. package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs +181 -0
  226. package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs.map +1 -0
  227. package/dist/esm/providers/personalize/utils/cachedSession.mjs +48 -0
  228. package/dist/esm/providers/personalize/utils/cachedSession.mjs.map +1 -0
  229. package/dist/esm/providers/personalize/utils/constants.mjs +12 -0
  230. package/dist/esm/providers/personalize/utils/constants.mjs.map +1 -0
  231. package/dist/esm/providers/personalize/utils/getEventBuffer.mjs +80 -0
  232. package/dist/esm/providers/personalize/utils/getEventBuffer.mjs.map +1 -0
  233. package/dist/esm/providers/personalize/utils/index.mjs +6 -0
  234. package/dist/esm/providers/personalize/utils/index.mjs.map +1 -0
  235. package/dist/esm/providers/personalize/utils/resolveConfig.mjs +34 -0
  236. package/dist/esm/providers/personalize/utils/resolveConfig.mjs.map +1 -0
  237. package/{lib-esm/providers/pinpoint/apis/configureAutoTrack.js → dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs} +15 -6
  238. package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs.map +1 -0
  239. package/dist/esm/providers/pinpoint/apis/flushEvents.mjs +31 -0
  240. package/dist/esm/providers/pinpoint/apis/flushEvents.mjs.map +1 -0
  241. package/{lib-esm/providers/pinpoint/apis/identifyUser.js → dist/esm/providers/pinpoint/apis/identifyUser.mjs} +29 -30
  242. package/dist/esm/providers/pinpoint/apis/identifyUser.mjs.map +1 -0
  243. package/dist/esm/providers/pinpoint/apis/index.mjs +5 -0
  244. package/dist/esm/providers/pinpoint/apis/index.mjs.map +1 -0
  245. package/{lib-esm/providers/pinpoint/apis/record.js → dist/esm/providers/pinpoint/apis/record.mjs} +27 -17
  246. package/dist/esm/providers/pinpoint/apis/record.mjs.map +1 -0
  247. package/dist/esm/providers/pinpoint/index.mjs +5 -0
  248. package/dist/esm/providers/pinpoint/index.mjs.map +1 -0
  249. package/dist/esm/providers/pinpoint/types/index.mjs +2 -0
  250. package/dist/esm/providers/pinpoint/types/index.mjs.map +1 -0
  251. package/dist/esm/providers/pinpoint/types/inputs.mjs +2 -0
  252. package/dist/esm/providers/pinpoint/types/inputs.mjs.map +1 -0
  253. package/dist/esm/providers/pinpoint/types/options.mjs +2 -0
  254. package/dist/esm/providers/pinpoint/types/options.mjs.map +1 -0
  255. package/dist/esm/providers/pinpoint/utils/index.mjs +3 -0
  256. package/dist/esm/providers/pinpoint/utils/index.mjs.map +1 -0
  257. package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs +19 -0
  258. package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs.map +1 -0
  259. package/{lib-esm → dist/esm}/providers/pinpoint/utils/resolveCredentials.d.ts +1 -1
  260. package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs +18 -0
  261. package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs.map +1 -0
  262. package/{lib-esm/setupTests.js → dist/esm/setupTests.mjs} +2 -2
  263. package/dist/esm/setupTests.mjs.map +1 -0
  264. package/dist/esm/trackers/EventTracker.mjs +98 -0
  265. package/dist/esm/trackers/EventTracker.mjs.map +1 -0
  266. package/{lib-esm/trackers/PageViewTracker.js → dist/esm/trackers/PageViewTracker.mjs} +44 -45
  267. package/dist/esm/trackers/PageViewTracker.mjs.map +1 -0
  268. package/{lib-esm/trackers/SessionTracker.native.js → dist/esm/trackers/SessionTracker.mjs} +27 -30
  269. package/dist/esm/trackers/SessionTracker.mjs.map +1 -0
  270. package/{lib-esm/trackers/SessionTracker.js → dist/esm/trackers/SessionTracker.native.mjs} +27 -30
  271. package/dist/esm/trackers/SessionTracker.native.mjs.map +1 -0
  272. package/dist/esm/trackers/index.mjs +4 -0
  273. package/dist/esm/trackers/index.mjs.map +1 -0
  274. package/dist/esm/types/index.mjs +2 -0
  275. package/dist/esm/types/index.mjs.map +1 -0
  276. package/dist/esm/types/inputs.mjs +2 -0
  277. package/dist/esm/types/inputs.mjs.map +1 -0
  278. package/dist/esm/types/kinesis.mjs +2 -0
  279. package/dist/esm/types/kinesis.mjs.map +1 -0
  280. package/dist/esm/types/options.mjs +2 -0
  281. package/dist/esm/types/options.mjs.map +1 -0
  282. package/dist/esm/types/trackers.mjs +2 -0
  283. package/dist/esm/types/trackers.mjs.map +1 -0
  284. package/dist/esm/utils/eventBuffer/EventBuffer.mjs +63 -0
  285. package/dist/esm/utils/eventBuffer/EventBuffer.mjs.map +1 -0
  286. package/dist/esm/utils/eventBuffer/index.mjs +2 -0
  287. package/dist/esm/utils/eventBuffer/index.mjs.map +1 -0
  288. package/dist/esm/utils/eventBuffer/types.mjs +2 -0
  289. package/dist/esm/utils/eventBuffer/types.mjs.map +1 -0
  290. package/dist/esm/utils/groupBy.mjs +11 -0
  291. package/dist/esm/utils/groupBy.mjs.map +1 -0
  292. package/dist/esm/utils/index.mjs +8 -0
  293. package/dist/esm/utils/index.mjs.map +1 -0
  294. package/{lib-esm → dist/esm}/utils/resolveCredentials.d.ts +1 -1
  295. package/dist/esm/utils/resolveCredentials.mjs +15 -0
  296. package/dist/esm/utils/resolveCredentials.mjs.map +1 -0
  297. package/dist/esm/utils/statusHelpers.mjs +16 -0
  298. package/dist/esm/utils/statusHelpers.mjs.map +1 -0
  299. package/dist/esm/utils/trackerConfigHelpers.mjs +17 -0
  300. package/dist/esm/utils/trackerConfigHelpers.mjs.map +1 -0
  301. package/dist/esm/utils/trackerConfigHelpers.native.mjs +16 -0
  302. package/dist/esm/utils/trackerConfigHelpers.native.mjs.map +1 -0
  303. package/{lib-esm/utils/trackerHelpers.js → dist/esm/utils/trackerHelpers.mjs} +11 -5
  304. package/dist/esm/utils/trackerHelpers.mjs.map +1 -0
  305. package/dist/esm/utils/userAgent.mjs +19 -0
  306. package/dist/esm/utils/userAgent.mjs.map +1 -0
  307. package/kinesis/package.json +5 -4
  308. package/kinesis-firehose/package.json +5 -4
  309. package/package.json +45 -40
  310. package/personalize/package.json +5 -4
  311. package/pinpoint/package.json +5 -4
  312. package/src/providers/kinesis/utils/getEventBuffer.ts +6 -7
  313. package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +6 -7
  314. package/src/providers/personalize/utils/getEventBuffer.ts +6 -7
  315. package/src/trackers/SessionTracker.native.ts +2 -3
  316. package/src/trackers/SessionTracker.ts +2 -3
  317. package/lib/apis/disable.d.ts +0 -8
  318. package/lib/apis/enable.d.ts +0 -7
  319. package/lib/apis/index.d.ts +0 -2
  320. package/lib/errors/AnalyticsError.d.ts +0 -7
  321. package/lib/errors/AnalyticsError.js +0 -23
  322. package/lib/errors/assertValidationError.d.ts +0 -5
  323. package/lib/errors/index.d.ts +0 -3
  324. package/lib/errors/validation.d.ts +0 -12
  325. package/lib/index.d.ts +0 -3
  326. package/lib/providers/kinesis/apis/flushEvents.d.ts +0 -8
  327. package/lib/providers/kinesis/apis/flushEvents.js +0 -38
  328. package/lib/providers/kinesis/apis/index.d.ts +0 -2
  329. package/lib/providers/kinesis/apis/record.d.ts +0 -2
  330. package/lib/providers/kinesis/apis/record.js +0 -48
  331. package/lib/providers/kinesis/index.d.ts +0 -1
  332. package/lib/providers/kinesis/types/buffer.d.ts +0 -15
  333. package/lib/providers/kinesis/types/index.d.ts +0 -2
  334. package/lib/providers/kinesis/types/inputs.d.ts +0 -6
  335. package/lib/providers/kinesis/utils/constants.d.ts +0 -6
  336. package/lib/providers/kinesis/utils/getEventBuffer.d.ts +0 -3
  337. package/lib/providers/kinesis/utils/getEventBuffer.js +0 -103
  338. package/lib/providers/kinesis/utils/resolveConfig.d.ts +0 -7
  339. package/lib/providers/kinesis/utils/resolveConfig.js +0 -24
  340. package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +0 -8
  341. package/lib/providers/kinesis-firehose/apis/flushEvents.js +0 -37
  342. package/lib/providers/kinesis-firehose/apis/index.d.ts +0 -2
  343. package/lib/providers/kinesis-firehose/apis/record.d.ts +0 -2
  344. package/lib/providers/kinesis-firehose/apis/record.js +0 -45
  345. package/lib/providers/kinesis-firehose/index.d.ts +0 -1
  346. package/lib/providers/kinesis-firehose/types/buffer.d.ts +0 -15
  347. package/lib/providers/kinesis-firehose/types/index.d.ts +0 -2
  348. package/lib/providers/kinesis-firehose/types/inputs.d.ts +0 -5
  349. package/lib/providers/kinesis-firehose/utils/constants.d.ts +0 -6
  350. package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +0 -3
  351. package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +0 -100
  352. package/lib/providers/kinesis-firehose/utils/index.d.ts +0 -2
  353. package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +0 -7
  354. package/lib/providers/kinesis-firehose/utils/resolveConfig.js +0 -24
  355. package/lib/providers/personalize/apis/flushEvents.d.ts +0 -8
  356. package/lib/providers/personalize/apis/flushEvents.js +0 -36
  357. package/lib/providers/personalize/apis/index.d.ts +0 -2
  358. package/lib/providers/personalize/apis/record.d.ts +0 -2
  359. package/lib/providers/personalize/apis/record.js +0 -87
  360. package/lib/providers/personalize/index.d.ts +0 -1
  361. package/lib/providers/personalize/types/buffer.d.ts +0 -16
  362. package/lib/providers/personalize/types/index.d.ts +0 -2
  363. package/lib/providers/personalize/types/inputs.d.ts +0 -7
  364. package/lib/providers/personalize/utils/autoTrackMedia.d.ts +0 -10
  365. package/lib/providers/personalize/utils/autoTrackMedia.js +0 -183
  366. package/lib/providers/personalize/utils/cachedSession.d.ts +0 -5
  367. package/lib/providers/personalize/utils/cachedSession.js +0 -61
  368. package/lib/providers/personalize/utils/constants.d.ts +0 -7
  369. package/lib/providers/personalize/utils/getEventBuffer.d.ts +0 -3
  370. package/lib/providers/personalize/utils/getEventBuffer.js +0 -100
  371. package/lib/providers/personalize/utils/index.d.ts +0 -5
  372. package/lib/providers/personalize/utils/resolveConfig.d.ts +0 -7
  373. package/lib/providers/personalize/utils/resolveConfig.js +0 -25
  374. package/lib/providers/pinpoint/apis/configureAutoTrack.d.ts +0 -15
  375. package/lib/providers/pinpoint/apis/flushEvents.d.ts +0 -8
  376. package/lib/providers/pinpoint/apis/flushEvents.js +0 -28
  377. package/lib/providers/pinpoint/apis/identifyUser.js +0 -83
  378. package/lib/providers/pinpoint/apis/index.d.ts +0 -4
  379. package/lib/providers/pinpoint/apis/record.d.ts +0 -30
  380. package/lib/providers/pinpoint/index.d.ts +0 -2
  381. package/lib/providers/pinpoint/types/index.d.ts +0 -2
  382. package/lib/providers/pinpoint/types/inputs.d.ts +0 -15
  383. package/lib/providers/pinpoint/types/options.d.ts +0 -5
  384. package/lib/providers/pinpoint/utils/index.d.ts +0 -2
  385. package/lib/providers/pinpoint/utils/resolveConfig.d.ts +0 -7
  386. package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +0 -7
  387. package/lib/providers/pinpoint/utils/resolveCredentials.js +0 -24
  388. package/lib/setupTests.d.ts +0 -1
  389. package/lib/trackers/EventTracker.d.ts +0 -10
  390. package/lib/trackers/EventTracker.js +0 -104
  391. package/lib/trackers/PageViewTracker.d.ts +0 -18
  392. package/lib/trackers/SessionTracker.d.ts +0 -13
  393. package/lib/trackers/SessionTracker.native.d.ts +0 -13
  394. package/lib/trackers/index.d.ts +0 -3
  395. package/lib/tsconfig.tsbuildinfo +0 -1
  396. package/lib/types/index.d.ts +0 -3
  397. package/lib/types/index.js +0 -4
  398. package/lib/types/inputs.d.ts +0 -35
  399. package/lib/types/inputs.js +0 -4
  400. package/lib/types/kinesis.d.ts +0 -8
  401. package/lib/types/options.d.ts +0 -4
  402. package/lib/types/trackers.d.ts +0 -22
  403. package/lib/utils/eventBuffer/EventBuffer.d.ts +0 -16
  404. package/lib/utils/eventBuffer/EventBuffer.js +0 -91
  405. package/lib/utils/eventBuffer/index.d.ts +0 -2
  406. package/lib/utils/eventBuffer/types.d.ts +0 -8
  407. package/lib/utils/groupBy.d.ts +0 -1
  408. package/lib/utils/groupBy.js +0 -15
  409. package/lib/utils/index.d.ts +0 -7
  410. package/lib/utils/resolveCredentials.d.ts +0 -4
  411. package/lib/utils/resolveCredentials.js +0 -21
  412. package/lib/utils/statusHelpers.d.ts +0 -6
  413. package/lib/utils/trackerConfigHelpers.d.ts +0 -5
  414. package/lib/utils/trackerConfigHelpers.native.d.ts +0 -5
  415. package/lib/utils/trackerHelpers.d.ts +0 -9
  416. package/lib/utils/userAgent.d.ts +0 -4
  417. package/lib-esm/apis/disable.js +0 -11
  418. package/lib-esm/apis/enable.js +0 -10
  419. package/lib-esm/apis/index.js +0 -4
  420. package/lib-esm/errors/AnalyticsError.js +0 -20
  421. package/lib-esm/errors/assertValidationError.js +0 -17
  422. package/lib-esm/errors/index.js +0 -5
  423. package/lib-esm/index.js +0 -5
  424. package/lib-esm/providers/kinesis/apis/flushEvents.js +0 -34
  425. package/lib-esm/providers/kinesis/apis/index.js +0 -4
  426. package/lib-esm/providers/kinesis/apis/record.js +0 -44
  427. package/lib-esm/providers/kinesis/index.js +0 -3
  428. package/lib-esm/providers/kinesis/types/buffer.js +0 -3
  429. package/lib-esm/providers/kinesis/types/index.js +0 -3
  430. package/lib-esm/providers/kinesis/types/inputs.js +0 -3
  431. package/lib-esm/providers/kinesis/utils/getEventBuffer.js +0 -99
  432. package/lib-esm/providers/kinesis/utils/resolveConfig.js +0 -20
  433. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +0 -33
  434. package/lib-esm/providers/kinesis-firehose/apis/index.js +0 -4
  435. package/lib-esm/providers/kinesis-firehose/apis/record.js +0 -41
  436. package/lib-esm/providers/kinesis-firehose/index.js +0 -3
  437. package/lib-esm/providers/kinesis-firehose/types/buffer.js +0 -3
  438. package/lib-esm/providers/kinesis-firehose/types/index.js +0 -3
  439. package/lib-esm/providers/kinesis-firehose/types/inputs.js +0 -3
  440. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +0 -96
  441. package/lib-esm/providers/kinesis-firehose/utils/index.js +0 -4
  442. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +0 -20
  443. package/lib-esm/providers/personalize/apis/flushEvents.js +0 -32
  444. package/lib-esm/providers/personalize/apis/index.js +0 -4
  445. package/lib-esm/providers/personalize/apis/record.js +0 -83
  446. package/lib-esm/providers/personalize/index.js +0 -3
  447. package/lib-esm/providers/personalize/types/buffer.js +0 -3
  448. package/lib-esm/providers/personalize/types/index.js +0 -3
  449. package/lib-esm/providers/personalize/types/inputs.js +0 -3
  450. package/lib-esm/providers/personalize/utils/autoTrackMedia.js +0 -179
  451. package/lib-esm/providers/personalize/utils/cachedSession.js +0 -56
  452. package/lib-esm/providers/personalize/utils/constants.js +0 -9
  453. package/lib-esm/providers/personalize/utils/getEventBuffer.js +0 -96
  454. package/lib-esm/providers/personalize/utils/index.js +0 -7
  455. package/lib-esm/providers/personalize/utils/resolveConfig.js +0 -21
  456. package/lib-esm/providers/pinpoint/apis/flushEvents.js +0 -24
  457. package/lib-esm/providers/pinpoint/apis/index.js +0 -6
  458. package/lib-esm/providers/pinpoint/index.js +0 -3
  459. package/lib-esm/providers/pinpoint/types/index.js +0 -3
  460. package/lib-esm/providers/pinpoint/types/inputs.js +0 -3
  461. package/lib-esm/providers/pinpoint/types/options.js +0 -3
  462. package/lib-esm/providers/pinpoint/utils/index.js +0 -4
  463. package/lib-esm/providers/pinpoint/utils/resolveConfig.js +0 -14
  464. package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +0 -20
  465. package/lib-esm/trackers/EventTracker.js +0 -101
  466. package/lib-esm/trackers/index.js +0 -5
  467. package/lib-esm/tsconfig.tsbuildinfo +0 -1
  468. package/lib-esm/types/index.js +0 -3
  469. package/lib-esm/types/inputs.js +0 -3
  470. package/lib-esm/types/kinesis.js +0 -3
  471. package/lib-esm/types/options.js +0 -3
  472. package/lib-esm/types/trackers.js +0 -3
  473. package/lib-esm/utils/eventBuffer/EventBuffer.js +0 -88
  474. package/lib-esm/utils/eventBuffer/index.js +0 -3
  475. package/lib-esm/utils/eventBuffer/types.js +0 -3
  476. package/lib-esm/utils/groupBy.js +0 -11
  477. package/lib-esm/utils/index.js +0 -9
  478. package/lib-esm/utils/resolveCredentials.js +0 -17
  479. package/lib-esm/utils/statusHelpers.js +0 -13
  480. package/lib-esm/utils/trackerConfigHelpers.js +0 -11
  481. package/lib-esm/utils/trackerConfigHelpers.native.js +0 -10
  482. package/lib-esm/utils/userAgent.js +0 -15
  483. /package/{lib-esm → dist/esm}/apis/disable.d.ts +0 -0
  484. /package/{lib-esm → dist/esm}/apis/enable.d.ts +0 -0
  485. /package/{lib-esm → dist/esm}/apis/index.d.ts +0 -0
  486. /package/{lib-esm → dist/esm}/errors/AnalyticsError.d.ts +0 -0
  487. /package/{lib-esm → dist/esm}/errors/assertValidationError.d.ts +0 -0
  488. /package/{lib-esm → dist/esm}/errors/index.d.ts +0 -0
  489. /package/{lib-esm → dist/esm}/errors/validation.d.ts +0 -0
  490. /package/{lib-esm → dist/esm}/index.d.ts +0 -0
  491. /package/{lib-esm → dist/esm}/providers/kinesis/apis/flushEvents.d.ts +0 -0
  492. /package/{lib-esm → dist/esm}/providers/kinesis/apis/index.d.ts +0 -0
  493. /package/{lib-esm → dist/esm}/providers/kinesis/apis/record.d.ts +0 -0
  494. /package/{lib-esm → dist/esm}/providers/kinesis/index.d.ts +0 -0
  495. /package/{lib-esm → dist/esm}/providers/kinesis/types/buffer.d.ts +0 -0
  496. /package/{lib-esm → dist/esm}/providers/kinesis/types/index.d.ts +0 -0
  497. /package/{lib-esm → dist/esm}/providers/kinesis/types/inputs.d.ts +0 -0
  498. /package/{lib-esm → dist/esm}/providers/kinesis/utils/constants.d.ts +0 -0
  499. /package/{lib-esm → dist/esm}/providers/kinesis/utils/getEventBuffer.d.ts +0 -0
  500. /package/{lib-esm → dist/esm}/providers/kinesis/utils/resolveConfig.d.ts +0 -0
  501. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/apis/flushEvents.d.ts +0 -0
  502. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/apis/index.d.ts +0 -0
  503. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/apis/record.d.ts +0 -0
  504. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/index.d.ts +0 -0
  505. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/types/buffer.d.ts +0 -0
  506. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/types/index.d.ts +0 -0
  507. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/types/inputs.d.ts +0 -0
  508. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/constants.d.ts +0 -0
  509. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/getEventBuffer.d.ts +0 -0
  510. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/index.d.ts +0 -0
  511. /package/{lib-esm → dist/esm}/providers/kinesis-firehose/utils/resolveConfig.d.ts +0 -0
  512. /package/{lib-esm → dist/esm}/providers/personalize/apis/flushEvents.d.ts +0 -0
  513. /package/{lib-esm → dist/esm}/providers/personalize/apis/index.d.ts +0 -0
  514. /package/{lib-esm → dist/esm}/providers/personalize/apis/record.d.ts +0 -0
  515. /package/{lib-esm → dist/esm}/providers/personalize/index.d.ts +0 -0
  516. /package/{lib-esm → dist/esm}/providers/personalize/types/buffer.d.ts +0 -0
  517. /package/{lib-esm → dist/esm}/providers/personalize/types/index.d.ts +0 -0
  518. /package/{lib-esm → dist/esm}/providers/personalize/types/inputs.d.ts +0 -0
  519. /package/{lib-esm → dist/esm}/providers/personalize/utils/autoTrackMedia.d.ts +0 -0
  520. /package/{lib-esm → dist/esm}/providers/personalize/utils/cachedSession.d.ts +0 -0
  521. /package/{lib-esm → dist/esm}/providers/personalize/utils/constants.d.ts +0 -0
  522. /package/{lib-esm → dist/esm}/providers/personalize/utils/getEventBuffer.d.ts +0 -0
  523. /package/{lib-esm → dist/esm}/providers/personalize/utils/index.d.ts +0 -0
  524. /package/{lib-esm → dist/esm}/providers/personalize/utils/resolveConfig.d.ts +0 -0
  525. /package/{lib-esm → dist/esm}/providers/pinpoint/apis/configureAutoTrack.d.ts +0 -0
  526. /package/{lib-esm → dist/esm}/providers/pinpoint/apis/flushEvents.d.ts +0 -0
  527. /package/{lib-esm → dist/esm}/providers/pinpoint/apis/identifyUser.d.ts +0 -0
  528. /package/{lib-esm → dist/esm}/providers/pinpoint/apis/index.d.ts +0 -0
  529. /package/{lib-esm → dist/esm}/providers/pinpoint/apis/record.d.ts +0 -0
  530. /package/{lib-esm → dist/esm}/providers/pinpoint/index.d.ts +0 -0
  531. /package/{lib-esm → dist/esm}/providers/pinpoint/types/index.d.ts +0 -0
  532. /package/{lib-esm → dist/esm}/providers/pinpoint/types/inputs.d.ts +0 -0
  533. /package/{lib-esm → dist/esm}/providers/pinpoint/types/options.d.ts +0 -0
  534. /package/{lib-esm → dist/esm}/providers/pinpoint/utils/index.d.ts +0 -0
  535. /package/{lib-esm → dist/esm}/providers/pinpoint/utils/resolveConfig.d.ts +0 -0
  536. /package/{lib-esm → dist/esm}/setupTests.d.ts +0 -0
  537. /package/{lib-esm → dist/esm}/trackers/EventTracker.d.ts +0 -0
  538. /package/{lib-esm → dist/esm}/trackers/PageViewTracker.d.ts +0 -0
  539. /package/{lib-esm → dist/esm}/trackers/SessionTracker.d.ts +0 -0
  540. /package/{lib-esm → dist/esm}/trackers/SessionTracker.native.d.ts +0 -0
  541. /package/{lib-esm → dist/esm}/trackers/index.d.ts +0 -0
  542. /package/{lib-esm → dist/esm}/types/index.d.ts +0 -0
  543. /package/{lib-esm → dist/esm}/types/inputs.d.ts +0 -0
  544. /package/{lib-esm → dist/esm}/types/kinesis.d.ts +0 -0
  545. /package/{lib-esm → dist/esm}/types/options.d.ts +0 -0
  546. /package/{lib-esm → dist/esm}/types/trackers.d.ts +0 -0
  547. /package/{lib-esm → dist/esm}/utils/eventBuffer/EventBuffer.d.ts +0 -0
  548. /package/{lib-esm → dist/esm}/utils/eventBuffer/index.d.ts +0 -0
  549. /package/{lib-esm → dist/esm}/utils/eventBuffer/types.d.ts +0 -0
  550. /package/{lib-esm → dist/esm}/utils/groupBy.d.ts +0 -0
  551. /package/{lib-esm → dist/esm}/utils/index.d.ts +0 -0
  552. /package/{lib-esm → dist/esm}/utils/statusHelpers.d.ts +0 -0
  553. /package/{lib-esm → dist/esm}/utils/trackerConfigHelpers.d.ts +0 -0
  554. /package/{lib-esm → dist/esm}/utils/trackerConfigHelpers.native.d.ts +0 -0
  555. /package/{lib-esm → dist/esm}/utils/trackerHelpers.d.ts +0 -0
  556. /package/{lib-esm → dist/esm}/utils/userAgent.d.ts +0 -0
@@ -1,15 +1,16 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
5
6
  exports.record = void 0;
6
- var core_1 = require("@aws-amplify/core");
7
- var utils_1 = require("@aws-amplify/core/internals/utils");
8
- var pinpoint_1 = require("@aws-amplify/core/internals/providers/pinpoint");
9
- var errors_1 = require("../../../errors");
10
- var utils_2 = require("../../../utils");
11
- var utils_3 = require("../utils");
12
- var logger = new core_1.ConsoleLogger('Analytics');
7
+ const core_1 = require("@aws-amplify/core");
8
+ const utils_1 = require("@aws-amplify/core/internals/utils");
9
+ const pinpoint_1 = require("@aws-amplify/core/internals/providers/pinpoint");
10
+ const errors_1 = require("../../../errors");
11
+ const utils_2 = require("../../../utils");
12
+ const utils_3 = require("../utils");
13
+ const logger = new core_1.ConsoleLogger('Analytics');
13
14
  /**
14
15
  * Records an Analytic event to Pinpoint. Events will be buffered and periodically sent to Pinpoint.
15
16
  *
@@ -38,30 +39,30 @@ var logger = new core_1.ConsoleLogger('Analytics');
38
39
  * })
39
40
  * ```
40
41
  */
41
- var record = function (input) {
42
- var _a = (0, utils_3.resolveConfig)(), appId = _a.appId, region = _a.region;
42
+ const record = (input) => {
43
+ const { appId, region } = (0, utils_3.resolveConfig)();
43
44
  if (!(0, utils_2.isAnalyticsEnabled)()) {
44
45
  logger.debug('Analytics is disabled, event will not be recorded.');
45
46
  return;
46
47
  }
47
48
  (0, errors_1.assertValidationError)(!!input.name, errors_1.AnalyticsValidationErrorCode.NoEventName);
48
49
  (0, utils_3.resolveCredentials)()
49
- .then(function (_a) {
50
- var credentials = _a.credentials, identityId = _a.identityId;
50
+ .then(({ credentials, identityId }) => {
51
51
  core_1.Hub.dispatch('analytics', { event: 'record', data: input, message: 'Recording Analytics event' }, 'Analytics', utils_1.AMPLIFY_SYMBOL);
52
52
  (0, pinpoint_1.record)({
53
- appId: appId,
53
+ appId,
54
54
  category: 'Analytics',
55
- credentials: credentials,
55
+ credentials,
56
56
  event: input,
57
- identityId: identityId,
58
- region: region,
57
+ identityId,
58
+ region,
59
59
  userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.Record),
60
60
  });
61
61
  })
62
- .catch(function (e) {
62
+ .catch(e => {
63
63
  // An error occured while fetching credentials or persisting the event to the buffer
64
64
  logger.warn('Failed to record event.', e);
65
65
  });
66
66
  };
67
67
  exports.record = record;
68
+ //# sourceMappingURL=record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.js","sources":["../../../../../src/providers/pinpoint/apis/record.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.record = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst pinpoint_1 = require(\"@aws-amplify/core/internals/providers/pinpoint\");\nconst errors_1 = require(\"../../../errors\");\nconst utils_2 = require(\"../../../utils\");\nconst utils_3 = require(\"../utils\");\nconst logger = new core_1.ConsoleLogger('Analytics');\n/**\n * Records an Analytic event to Pinpoint. Events will be buffered and periodically sent to Pinpoint.\n *\n * @param {RecordInput} params The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * // Send an event to Pinpoint\n * record({ name: eventName })\n * ```\n *\n * @example\n * ```ts\n * // Send an event to Pinpoint with metrics & custom attributes\n * record({\n * name: eventName,\n * attributes: {\n * 'my-attribute': attributeValue\n * },\n * metrics: {\n * 'my-metric': metricValue\n * }\n * })\n * ```\n */\nconst record = (input) => {\n const { appId, region } = (0, utils_3.resolveConfig)();\n if (!(0, utils_2.isAnalyticsEnabled)()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n (0, errors_1.assertValidationError)(!!input.name, errors_1.AnalyticsValidationErrorCode.NoEventName);\n (0, utils_3.resolveCredentials)()\n .then(({ credentials, identityId }) => {\n core_1.Hub.dispatch('analytics', { event: 'record', data: input, message: 'Recording Analytics event' }, 'Analytics', utils_1.AMPLIFY_SYMBOL);\n (0, pinpoint_1.record)({\n appId,\n category: 'Analytics',\n credentials,\n event: input,\n identityId,\n region,\n userAgentValue: (0, utils_2.getAnalyticsUserAgentString)(utils_1.AnalyticsAction.Record),\n });\n })\n .catch(e => {\n // An error occured while fetching credentials or persisting the event to the buffer\n logger.warn('Failed to record event.', e);\n });\n};\nexports.record = record;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACxB,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,gDAAgD,CAAC,CAAC;AAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK;AAC1B,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC;AAC3D,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,kBAAkB,GAAG,EAAE;AAC5C,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC3E,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;AACzG,IAAI,IAAI,OAAO,CAAC,kBAAkB,GAAG;AACrC,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AAC/C,QAAQ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AACtJ,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;AAC/B,YAAY,KAAK;AACjB,YAAY,QAAQ,EAAE,WAAW;AACjC,YAAY,WAAW;AACvB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,UAAU;AACtB,YAAY,MAAM;AAClB,YAAY,cAAc,EAAE,IAAI,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;AACpG,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,CAAC,MAAM,GAAG,MAAM;;"}
@@ -1,4 +1,5 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -8,3 +9,4 @@ Object.defineProperty(exports, "record", { enumerable: true, get: function () {
8
9
  Object.defineProperty(exports, "identifyUser", { enumerable: true, get: function () { return apis_1.identifyUser; } });
9
10
  Object.defineProperty(exports, "flushEvents", { enumerable: true, get: function () { return apis_1.flushEvents; } });
10
11
  Object.defineProperty(exports, "configureAutoTrack", { enumerable: true, get: function () { return apis_1.configureAutoTrack; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/providers/pinpoint/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.configureAutoTrack = exports.flushEvents = exports.identifyUser = exports.record = void 0;\nvar apis_1 = require(\"./apis\");\nObject.defineProperty(exports, \"record\", { enumerable: true, get: function () { return apis_1.record; } });\nObject.defineProperty(exports, \"identifyUser\", { enumerable: true, get: function () { return apis_1.identifyUser; } });\nObject.defineProperty(exports, \"flushEvents\", { enumerable: true, get: function () { return apis_1.flushEvents; } });\nObject.defineProperty(exports, \"configureAutoTrack\", { enumerable: true, get: function () { return apis_1.configureAutoTrack; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AAClG,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3G,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;AACvH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;AACrH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;;"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/providers/pinpoint/types/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.js","sources":["../../../../../src/providers/pinpoint/types/inputs.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
@@ -1,4 +1,6 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sources":["../../../../../src/providers/pinpoint/types/options.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
@@ -1,4 +1,5 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,3 +8,4 @@ var resolveConfig_1 = require("./resolveConfig");
7
8
  Object.defineProperty(exports, "resolveConfig", { enumerable: true, get: function () { return resolveConfig_1.resolveConfig; } });
8
9
  var resolveCredentials_1 = require("./resolveCredentials");
9
10
  Object.defineProperty(exports, "resolveCredentials", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/providers/pinpoint/utils/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentials = exports.resolveConfig = void 0;\nvar resolveConfig_1 = require(\"./resolveConfig\");\nObject.defineProperty(exports, \"resolveConfig\", { enumerable: true, get: function () { return resolveConfig_1.resolveConfig; } });\nvar resolveCredentials_1 = require(\"./resolveCredentials\");\nObject.defineProperty(exports, \"resolveCredentials\", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC5D,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACjD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;AAClI,IAAI,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC3D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;;"}
@@ -1,18 +1,19 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
5
6
  exports.resolveConfig = void 0;
6
- var core_1 = require("@aws-amplify/core");
7
- var errors_1 = require("../../../errors");
7
+ const core_1 = require("@aws-amplify/core");
8
+ const errors_1 = require("../../../errors");
8
9
  /**
9
10
  * @internal
10
11
  */
11
- var resolveConfig = function () {
12
- var _a, _b;
13
- var _c = (_b = (_a = core_1.Amplify.getConfig().Analytics) === null || _a === void 0 ? void 0 : _a.Pinpoint) !== null && _b !== void 0 ? _b : {}, appId = _c.appId, region = _c.region;
12
+ const resolveConfig = () => {
13
+ const { appId, region } = core_1.Amplify.getConfig().Analytics?.Pinpoint ?? {};
14
14
  (0, errors_1.assertValidationError)(!!appId, errors_1.AnalyticsValidationErrorCode.NoAppId);
15
15
  (0, errors_1.assertValidationError)(!!region, errors_1.AnalyticsValidationErrorCode.NoRegion);
16
- return { appId: appId, region: region };
16
+ return { appId, region };
17
17
  };
18
18
  exports.resolveConfig = resolveConfig;
19
+ //# sourceMappingURL=resolveConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveConfig.js","sources":["../../../../../src/providers/pinpoint/utils/resolveConfig.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveConfig = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst errors_1 = require(\"../../../errors\");\n/**\n * @internal\n */\nconst resolveConfig = () => {\n const { appId, region } = core_1.Amplify.getConfig().Analytics?.Pinpoint ?? {};\n (0, errors_1.assertValidationError)(!!appId, errors_1.AnalyticsValidationErrorCode.NoAppId);\n (0, errors_1.assertValidationError)(!!region, errors_1.AnalyticsValidationErrorCode.NoRegion);\n return { appId, region };\n};\nexports.resolveConfig = resolveConfig;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C;AACA;AACA;AACA,MAAM,aAAa,GAAG,MAAM;AAC5B,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;AACnF,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAChG,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAClG,IAAI,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC;AACF,OAAO,CAAC,aAAa,GAAG,aAAa;;"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveCredentials = void 0;
7
+ const core_1 = require("@aws-amplify/core");
8
+ const errors_1 = require("../../../errors");
9
+ /**
10
+ * @internal
11
+ */
12
+ const resolveCredentials = async () => {
13
+ const { credentials, identityId } = await (0, core_1.fetchAuthSession)();
14
+ (0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);
15
+ return { credentials, identityId };
16
+ };
17
+ exports.resolveCredentials = resolveCredentials;
18
+ //# sourceMappingURL=resolveCredentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveCredentials.js","sources":["../../../../../src/providers/pinpoint/utils/resolveCredentials.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentials = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst errors_1 = require(\"../../../errors\");\n/**\n * @internal\n */\nconst resolveCredentials = async () => {\n const { credentials, identityId } = await (0, core_1.fetchAuthSession)();\n (0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);\n return { credentials, identityId };\n};\nexports.resolveCredentials = resolveCredentials;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5C;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,YAAY;AACvC,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC;AAC7E,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;AAC5G,IAAI,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC,CAAC;AACF,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
@@ -1,7 +1,9 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
- var anyGlobal = global;
5
+ const anyGlobal = global;
5
6
  anyGlobal.navigator = anyGlobal.navigator || {};
6
7
  // @ts-ignore
7
8
  anyGlobal.navigator.sendBeacon = anyGlobal.navigator.sendBeacon || jest.fn();
9
+ //# sourceMappingURL=setupTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTests.js","sources":["../../src/setupTests.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst anyGlobal = global;\nanyGlobal.navigator = anyGlobal.navigator || {};\n// @ts-ignore\nanyGlobal.navigator.sendBeacon = anyGlobal.navigator.sendBeacon || jest.fn();\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;AAChD;AACA,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE;;"}
@@ -0,0 +1,100 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EventTracker = void 0;
7
+ const core_1 = require("@aws-amplify/core");
8
+ const utils_1 = require("@aws-amplify/core/internals/utils");
9
+ const DEFAULT_EVENTS = ['click'];
10
+ const DEFAULT_SELECTOR_PREFIX = 'data-amplify-analytics-';
11
+ const DEFAULT_EVENT_NAME = 'event'; // Default event name as sent to the analytics provider
12
+ const logger = new core_1.ConsoleLogger('EventTracker');
13
+ class EventTracker {
14
+ constructor(eventRecorder, options) {
15
+ this.options = {};
16
+ this.trackerActive = false;
17
+ this.eventRecorder = eventRecorder;
18
+ this.handleDocEvent = this.handleDocEvent.bind(this);
19
+ this.configure(eventRecorder, options);
20
+ }
21
+ configure(eventRecorder, options) {
22
+ this.eventRecorder = eventRecorder;
23
+ // Clean up any existing listeners
24
+ this.cleanup();
25
+ // Apply defaults
26
+ this.options = {
27
+ attributes: options?.attributes ?? undefined,
28
+ events: options?.events ?? DEFAULT_EVENTS,
29
+ selectorPrefix: options?.selectorPrefix ?? DEFAULT_SELECTOR_PREFIX,
30
+ };
31
+ // Register event listeners
32
+ if ((0, utils_1.isBrowser)()) {
33
+ this.options.events?.forEach(targetEvent => {
34
+ document.addEventListener(targetEvent, this.handleDocEvent, {
35
+ capture: true,
36
+ });
37
+ });
38
+ this.trackerActive = true;
39
+ }
40
+ }
41
+ cleanup() {
42
+ // No-op if document listener is not active
43
+ if (!this.trackerActive) {
44
+ return;
45
+ }
46
+ // Clean up event listeners
47
+ this.options.events?.forEach(targetEvent => {
48
+ document.removeEventListener(targetEvent, this.handleDocEvent, {
49
+ capture: true,
50
+ });
51
+ });
52
+ }
53
+ handleDocEvent(event) {
54
+ /**
55
+ * Example DOM element:
56
+ *
57
+ * ```
58
+ * <button
59
+ * data-amplify-analytics-on="click"
60
+ * data-amplify-analytics-name="click"
61
+ * data-amplify-analytics-attrs="attr1:attr1_value,attr2:attr2_value"
62
+ * />
63
+ * ```
64
+ */
65
+ const triggerSelector = `[${this.options.selectorPrefix}on]`;
66
+ const attrSelector = `${this.options.selectorPrefix}attrs`;
67
+ const eventNameSelector = `${this.options.selectorPrefix}name`;
68
+ const eventSource = event.target;
69
+ // Validate that the triggering event type is being tracked
70
+ if (!this.options.events?.includes(event.type)) {
71
+ return;
72
+ }
73
+ if (eventSource instanceof HTMLElement) {
74
+ const target = eventSource.closest(triggerSelector);
75
+ if (target) {
76
+ // Parse event name from the element
77
+ const eventName = target.getAttribute(eventNameSelector) || DEFAULT_EVENT_NAME;
78
+ // Parse attributes from the element
79
+ const elementAttributes = {};
80
+ const rawElementAttributes = target.getAttribute(attrSelector);
81
+ rawElementAttributes?.split(/\s*,\s*/).forEach(attr => {
82
+ const tmp = attr.trim().split(/\s*:\s*/);
83
+ elementAttributes[tmp[0]] = tmp[1];
84
+ });
85
+ // Assemble final list of attributes
86
+ const attributes = Object.assign({
87
+ type: event.type,
88
+ target: `${target.localName} with id ${target.id}`,
89
+ }, this.options.attributes, elementAttributes);
90
+ logger.debug('Recording automatically tracked DOM event', {
91
+ eventName,
92
+ attributes,
93
+ });
94
+ this.eventRecorder(eventName, attributes);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ exports.EventTracker = EventTracker;
100
+ //# sourceMappingURL=EventTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventTracker.js","sources":["../../../src/trackers/EventTracker.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTracker = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst DEFAULT_EVENTS = ['click'];\nconst DEFAULT_SELECTOR_PREFIX = 'data-amplify-analytics-';\nconst DEFAULT_EVENT_NAME = 'event'; // Default event name as sent to the analytics provider\nconst logger = new core_1.ConsoleLogger('EventTracker');\nclass EventTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.trackerActive = false;\n this.eventRecorder = eventRecorder;\n this.handleDocEvent = this.handleDocEvent.bind(this);\n this.configure(eventRecorder, options);\n }\n configure(eventRecorder, options) {\n this.eventRecorder = eventRecorder;\n // Clean up any existing listeners\n this.cleanup();\n // Apply defaults\n this.options = {\n attributes: options?.attributes ?? undefined,\n events: options?.events ?? DEFAULT_EVENTS,\n selectorPrefix: options?.selectorPrefix ?? DEFAULT_SELECTOR_PREFIX,\n };\n // Register event listeners\n if ((0, utils_1.isBrowser)()) {\n this.options.events?.forEach(targetEvent => {\n document.addEventListener(targetEvent, this.handleDocEvent, {\n capture: true,\n });\n });\n this.trackerActive = true;\n }\n }\n cleanup() {\n // No-op if document listener is not active\n if (!this.trackerActive) {\n return;\n }\n // Clean up event listeners\n this.options.events?.forEach(targetEvent => {\n document.removeEventListener(targetEvent, this.handleDocEvent, {\n capture: true,\n });\n });\n }\n handleDocEvent(event) {\n /**\n * Example DOM element:\n *\n * ```\n * <button\n * data-amplify-analytics-on=\"click\"\n * data-amplify-analytics-name=\"click\"\n * data-amplify-analytics-attrs=\"attr1:attr1_value,attr2:attr2_value\"\n * />\n * ```\n */\n const triggerSelector = `[${this.options.selectorPrefix}on]`;\n const attrSelector = `${this.options.selectorPrefix}attrs`;\n const eventNameSelector = `${this.options.selectorPrefix}name`;\n const eventSource = event.target;\n // Validate that the triggering event type is being tracked\n if (!this.options.events?.includes(event.type)) {\n return;\n }\n if (eventSource instanceof HTMLElement) {\n const target = eventSource.closest(triggerSelector);\n if (target) {\n // Parse event name from the element\n const eventName = target.getAttribute(eventNameSelector) || DEFAULT_EVENT_NAME;\n // Parse attributes from the element\n const elementAttributes = {};\n const rawElementAttributes = target.getAttribute(attrSelector);\n rawElementAttributes?.split(/\\s*,\\s*/).forEach(attr => {\n const tmp = attr.trim().split(/\\s*:\\s*/);\n elementAttributes[tmp[0]] = tmp[1];\n });\n // Assemble final list of attributes\n const attributes = Object.assign({\n type: event.type,\n target: `${target.localName} with id ${target.id}`,\n }, this.options.attributes, elementAttributes);\n logger.debug('Recording automatically tracked DOM event', {\n eventName,\n attributes,\n });\n this.eventRecorder(eventName, attributes);\n }\n }\n }\n}\nexports.EventTracker = EventTracker;\n"],"names":[],"mappings":"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"}
@@ -1,19 +1,20 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
5
6
  exports.PageViewTracker = void 0;
6
- var core_1 = require("@aws-amplify/core");
7
- var utils_1 = require("@aws-amplify/core/internals/utils");
8
- var logger = new core_1.ConsoleLogger('PageViewTracker');
9
- var DEFAULT_EVENT_NAME = 'pageView';
10
- var DEFAULT_APP_TYPE = 'singlePage';
11
- var DEFAULT_URL_PROVIDER = function () {
7
+ const core_1 = require("@aws-amplify/core");
8
+ const utils_1 = require("@aws-amplify/core/internals/utils");
9
+ const logger = new core_1.ConsoleLogger('PageViewTracker');
10
+ const DEFAULT_EVENT_NAME = 'pageView';
11
+ const DEFAULT_APP_TYPE = 'singlePage';
12
+ const DEFAULT_URL_PROVIDER = () => {
12
13
  return window.location.origin + window.location.pathname;
13
14
  };
14
- var PREV_URL_STORAGE_KEY = 'aws-amplify-analytics-prevUrl';
15
- var PageViewTracker = /** @class */ (function () {
16
- function PageViewTracker(eventRecorder, options) {
15
+ const PREV_URL_STORAGE_KEY = 'aws-amplify-analytics-prevUrl';
16
+ class PageViewTracker {
17
+ constructor(eventRecorder, options) {
17
18
  this.options = {};
18
19
  this.trackerActive = true;
19
20
  this.eventRecorder = eventRecorder;
@@ -21,17 +22,16 @@ var PageViewTracker = /** @class */ (function () {
21
22
  this.handleLocationChange = this.handleLocationChange.bind(this);
22
23
  this.configure(eventRecorder, options);
23
24
  }
24
- PageViewTracker.prototype.configure = function (eventRecorder, options) {
25
- var _a, _b, _c, _d, _e, _f;
25
+ configure(eventRecorder, options) {
26
26
  this.eventRecorder = eventRecorder;
27
27
  // Clean up any existing listeners
28
28
  this.cleanup();
29
29
  // Apply defaults
30
30
  this.options = {
31
- appType: (_a = options === null || options === void 0 ? void 0 : options.appType) !== null && _a !== void 0 ? _a : DEFAULT_APP_TYPE,
32
- attributes: (_b = options === null || options === void 0 ? void 0 : options.attributes) !== null && _b !== void 0 ? _b : undefined,
33
- eventName: (_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.eventName) !== null && _d !== void 0 ? _d : DEFAULT_EVENT_NAME,
34
- urlProvider: (_f = (_e = this.options) === null || _e === void 0 ? void 0 : _e.urlProvider) !== null && _f !== void 0 ? _f : DEFAULT_URL_PROVIDER,
31
+ appType: options?.appType ?? DEFAULT_APP_TYPE,
32
+ attributes: options?.attributes ?? undefined,
33
+ eventName: this.options?.eventName ?? DEFAULT_EVENT_NAME,
34
+ urlProvider: this.options?.urlProvider ?? DEFAULT_URL_PROVIDER,
35
35
  };
36
36
  // Configure SPA or MPA page view tracking
37
37
  if ((0, utils_1.isBrowser)()) {
@@ -43,9 +43,8 @@ var PageViewTracker = /** @class */ (function () {
43
43
  }
44
44
  this.trackerActive = true;
45
45
  }
46
- };
47
- PageViewTracker.prototype.cleanup = function () {
48
- var _a, _b;
46
+ }
47
+ cleanup() {
49
48
  // No-op if document listener is not active
50
49
  if (!this.trackerActive) {
51
50
  return;
@@ -54,27 +53,26 @@ var PageViewTracker = /** @class */ (function () {
54
53
  if (this.spaTrackingActive) {
55
54
  window.history.pushState = this.originalPushState;
56
55
  window.history.replaceState = this.originalReplaceState;
57
- (_a = this.pushStateProxy) === null || _a === void 0 ? void 0 : _a.revoke();
58
- (_b = this.replaceStateProxy) === null || _b === void 0 ? void 0 : _b.revoke();
56
+ this.pushStateProxy?.revoke();
57
+ this.replaceStateProxy?.revoke();
59
58
  window.removeEventListener('popstate', this.handleLocationChange);
60
59
  this.spaTrackingActive = false;
61
60
  }
62
- };
63
- PageViewTracker.prototype.setupSPATracking = function () {
64
- var _this = this;
61
+ }
62
+ setupSPATracking() {
65
63
  if (!this.spaTrackingActive) {
66
64
  // Configure proxies on History APIs
67
65
  this.pushStateProxy = Proxy.revocable(window.history.pushState, {
68
- apply: function (target, thisArg, args) {
69
- var proxiedResult = target.apply(thisArg, args);
70
- _this.handleLocationChange();
66
+ apply: (target, thisArg, args) => {
67
+ const proxiedResult = target.apply(thisArg, args);
68
+ this.handleLocationChange();
71
69
  return proxiedResult;
72
70
  },
73
71
  });
74
72
  this.replaceStateProxy = Proxy.revocable(window.history.replaceState, {
75
- apply: function (target, thisArg, args) {
76
- var proxiedResult = target.apply(thisArg, args);
77
- _this.handleLocationChange();
73
+ apply: (target, thisArg, args) => {
74
+ const proxiedResult = target.apply(thisArg, args);
75
+ this.handleLocationChange();
78
76
  return proxiedResult;
79
77
  },
80
78
  });
@@ -86,31 +84,31 @@ var PageViewTracker = /** @class */ (function () {
86
84
  sessionStorage.removeItem(PREV_URL_STORAGE_KEY);
87
85
  this.spaTrackingActive = true;
88
86
  }
89
- };
90
- PageViewTracker.prototype.setupMPATracking = function () {
87
+ }
88
+ setupMPATracking() {
91
89
  this.handleLocationChange();
92
- };
93
- PageViewTracker.prototype.handleLocationChange = function () {
94
- var currentUrl = this.options.urlProvider();
95
- var eventName = this.options.eventName || DEFAULT_EVENT_NAME;
90
+ }
91
+ handleLocationChange() {
92
+ const currentUrl = this.options.urlProvider();
93
+ const eventName = this.options.eventName || DEFAULT_EVENT_NAME;
96
94
  if (this.urlHasChanged()) {
97
95
  sessionStorage.setItem(PREV_URL_STORAGE_KEY, currentUrl);
98
96
  // Assemble attribute list
99
- var attributes = Object.assign({
97
+ const attributes = Object.assign({
100
98
  url: currentUrl,
101
99
  }, this.options.attributes);
102
100
  logger.debug('Recording automatically tracked page view event', {
103
- eventName: eventName,
104
- attributes: attributes,
101
+ eventName,
102
+ attributes,
105
103
  });
106
104
  this.eventRecorder(eventName, attributes);
107
105
  }
108
- };
109
- PageViewTracker.prototype.urlHasChanged = function () {
110
- var prevUrl = sessionStorage.getItem(PREV_URL_STORAGE_KEY);
111
- var currUrl = this.options.urlProvider();
106
+ }
107
+ urlHasChanged() {
108
+ const prevUrl = sessionStorage.getItem(PREV_URL_STORAGE_KEY);
109
+ const currUrl = this.options.urlProvider();
112
110
  return currUrl !== prevUrl;
113
- };
114
- return PageViewTracker;
115
- }());
111
+ }
112
+ }
116
113
  exports.PageViewTracker = PageViewTracker;
114
+ //# sourceMappingURL=PageViewTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageViewTracker.js","sources":["../../../src/trackers/PageViewTracker.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PageViewTracker = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst logger = new core_1.ConsoleLogger('PageViewTracker');\nconst DEFAULT_EVENT_NAME = 'pageView';\nconst DEFAULT_APP_TYPE = 'singlePage';\nconst DEFAULT_URL_PROVIDER = () => {\n return window.location.origin + window.location.pathname;\n};\nconst PREV_URL_STORAGE_KEY = 'aws-amplify-analytics-prevUrl';\nclass PageViewTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.trackerActive = true;\n this.eventRecorder = eventRecorder;\n this.spaTrackingActive = false;\n this.handleLocationChange = this.handleLocationChange.bind(this);\n this.configure(eventRecorder, options);\n }\n configure(eventRecorder, options) {\n this.eventRecorder = eventRecorder;\n // Clean up any existing listeners\n this.cleanup();\n // Apply defaults\n this.options = {\n appType: options?.appType ?? DEFAULT_APP_TYPE,\n attributes: options?.attributes ?? undefined,\n eventName: this.options?.eventName ?? DEFAULT_EVENT_NAME,\n urlProvider: this.options?.urlProvider ?? DEFAULT_URL_PROVIDER,\n };\n // Configure SPA or MPA page view tracking\n if ((0, utils_1.isBrowser)()) {\n if (this.options.appType === 'singlePage') {\n this.setupSPATracking();\n }\n else {\n this.setupMPATracking();\n }\n this.trackerActive = true;\n }\n }\n cleanup() {\n // No-op if document listener is not active\n if (!this.trackerActive) {\n return;\n }\n // Clean up SPA page view listeners\n if (this.spaTrackingActive) {\n window.history.pushState = this.originalPushState;\n window.history.replaceState = this.originalReplaceState;\n this.pushStateProxy?.revoke();\n this.replaceStateProxy?.revoke();\n window.removeEventListener('popstate', this.handleLocationChange);\n this.spaTrackingActive = false;\n }\n }\n setupSPATracking() {\n if (!this.spaTrackingActive) {\n // Configure proxies on History APIs\n this.pushStateProxy = Proxy.revocable(window.history.pushState, {\n apply: (target, thisArg, args) => {\n const proxiedResult = target.apply(thisArg, args);\n this.handleLocationChange();\n return proxiedResult;\n },\n });\n this.replaceStateProxy = Proxy.revocable(window.history.replaceState, {\n apply: (target, thisArg, args) => {\n const proxiedResult = target.apply(thisArg, args);\n this.handleLocationChange();\n return proxiedResult;\n },\n });\n this.originalPushState = window.history.pushState;\n this.originalReplaceState = window.history.replaceState;\n window.history.pushState = this.pushStateProxy.proxy;\n window.history.replaceState = this.replaceStateProxy.proxy;\n window.addEventListener('popstate', this.handleLocationChange);\n sessionStorage.removeItem(PREV_URL_STORAGE_KEY);\n this.spaTrackingActive = true;\n }\n }\n setupMPATracking() {\n this.handleLocationChange();\n }\n handleLocationChange() {\n const currentUrl = this.options.urlProvider();\n const eventName = this.options.eventName || DEFAULT_EVENT_NAME;\n if (this.urlHasChanged()) {\n sessionStorage.setItem(PREV_URL_STORAGE_KEY, currentUrl);\n // Assemble attribute list\n const attributes = Object.assign({\n url: currentUrl,\n }, this.options.attributes);\n logger.debug('Recording automatically tracked page view event', {\n eventName,\n attributes,\n });\n this.eventRecorder(eventName, attributes);\n }\n }\n urlHasChanged() {\n const prevUrl = sessionStorage.getItem(PREV_URL_STORAGE_KEY);\n const currUrl = this.options.urlProvider();\n return currUrl !== prevUrl;\n }\n}\nexports.PageViewTracker = PageViewTracker;\n"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- "use strict";
1
+ 'use strict';
2
+
2
3
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
4
  // SPDX-License-Identifier: Apache-2.0
4
5
  Object.defineProperty(exports, "__esModule", { value: true });
5
6
  exports.SessionTracker = void 0;
6
- var utils_1 = require("@aws-amplify/core/internals/utils");
7
- var core_1 = require("@aws-amplify/core");
8
- var SESSION_START_EVENT = '_session.start';
9
- var SESSION_STOP_EVENT = '_session.stop';
10
- var logger = new core_1.ConsoleLogger('SessionTracker');
11
- var SessionTracker = /** @class */ (function () {
12
- function SessionTracker(eventRecorder, options) {
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ const core_1 = require("@aws-amplify/core");
9
+ const logger = new core_1.ConsoleLogger('SessionTracker');
10
+ class SessionTracker {
11
+ constructor(eventRecorder, options) {
13
12
  this.options = {};
14
13
  this.eventRecorder = eventRecorder;
15
14
  this.sessionTrackingActive = false;
@@ -17,57 +16,54 @@ var SessionTracker = /** @class */ (function () {
17
16
  this.handleStateChange = this.handleStateChange.bind(this);
18
17
  this.configure(eventRecorder, options);
19
18
  }
20
- SessionTracker.prototype.configure = function (eventRecorder, options) {
21
- var _a;
19
+ configure(eventRecorder, options) {
22
20
  this.eventRecorder = eventRecorder;
23
21
  // Clean up any existing listeners
24
22
  this.cleanup();
25
23
  // Apply defaults
26
24
  this.options = {
27
- attributes: (_a = options === null || options === void 0 ? void 0 : options.attributes) !== null && _a !== void 0 ? _a : {},
25
+ attributes: options?.attributes ?? {},
28
26
  };
29
27
  // Setup state listeners
30
28
  if (!this.sessionTrackingActive) {
31
29
  utils_1.sessionListener.addStateChangeListener(this.handleStateChange, !this.initialEventSent);
32
30
  this.sessionTrackingActive = true;
33
31
  }
34
- };
35
- SessionTracker.prototype.cleanup = function () {
32
+ }
33
+ cleanup() {
36
34
  if (this.sessionTrackingActive) {
37
35
  utils_1.sessionListener.removeStateChangeListener(this.handleStateChange);
38
36
  }
39
37
  this.sessionTrackingActive = false;
40
- };
41
- SessionTracker.prototype.handleStateChange = function (state) {
38
+ }
39
+ handleStateChange(state) {
42
40
  if (state === 'started') {
43
41
  this.sessionStarted();
44
42
  }
45
43
  else {
46
44
  this.sessionStopped();
47
45
  }
48
- };
49
- SessionTracker.prototype.sessionStarted = function () {
50
- var _a;
51
- var attributes = (_a = this.options.attributes) !== null && _a !== void 0 ? _a : {};
46
+ }
47
+ sessionStarted() {
48
+ const attributes = this.options.attributes ?? {};
52
49
  logger.debug('Recording automatically tracked page view event', {
53
- SESSION_START_EVENT: SESSION_START_EVENT,
54
- attributes: attributes,
50
+ SESSION_START_EVENT: utils_1.SESSION_START_EVENT,
51
+ attributes,
55
52
  });
56
- this.eventRecorder(SESSION_START_EVENT, attributes);
53
+ this.eventRecorder(utils_1.SESSION_START_EVENT, attributes);
57
54
  // NOTE: The initial event will not be re-sent on re-configuration (e.g. to add additional custom attributes)
58
55
  if (!this.initialEventSent) {
59
56
  this.initialEventSent = true;
60
57
  }
61
- };
62
- SessionTracker.prototype.sessionStopped = function () {
63
- var _a;
64
- var attributes = (_a = this.options.attributes) !== null && _a !== void 0 ? _a : {};
58
+ }
59
+ sessionStopped() {
60
+ const attributes = this.options.attributes ?? {};
65
61
  logger.debug('Recording automatically tracked page view event', {
66
- SESSION_STOP_EVENT: SESSION_STOP_EVENT,
67
- attributes: attributes,
62
+ SESSION_STOP_EVENT: utils_1.SESSION_STOP_EVENT,
63
+ attributes,
68
64
  });
69
- this.eventRecorder(SESSION_STOP_EVENT, attributes);
70
- };
71
- return SessionTracker;
72
- }());
65
+ this.eventRecorder(utils_1.SESSION_STOP_EVENT, attributes);
66
+ }
67
+ }
73
68
  exports.SessionTracker = SessionTracker;
69
+ //# sourceMappingURL=SessionTracker.js.map