@aws-amplify/analytics 7.0.1-preview-testing.be90020.0 → 7.0.1-ssr-api.df60e41.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 (372) hide show
  1. package/kinesis/package.json +7 -0
  2. package/kinesis-firehose/package.json +7 -0
  3. package/lib/apis/disable.d.ts +8 -0
  4. package/lib/apis/disable.js +14 -0
  5. package/lib/apis/enable.d.ts +7 -0
  6. package/lib/apis/enable.js +13 -0
  7. package/lib/apis/index.d.ts +2 -0
  8. package/lib/apis/index.js +9 -0
  9. package/lib/errors/AnalyticsError.d.ts +2 -2
  10. package/lib/errors/AnalyticsError.js +7 -11
  11. package/lib/errors/assertValidationError.d.ts +1 -1
  12. package/lib/errors/assertValidationError.js +9 -5
  13. package/lib/errors/validation.d.ts +5 -2
  14. package/lib/errors/validation.js +22 -11
  15. package/lib/index.d.ts +2 -1
  16. package/lib/index.js +6 -1
  17. package/lib/providers/kinesis/apis/flushEvents.d.ts +8 -0
  18. package/lib/providers/kinesis/apis/flushEvents.js +35 -0
  19. package/lib/providers/kinesis/apis/index.d.ts +2 -0
  20. package/lib/providers/kinesis/apis/index.js +9 -0
  21. package/lib/providers/kinesis/apis/record.d.ts +2 -0
  22. package/lib/providers/kinesis/apis/record.js +46 -0
  23. package/lib/providers/kinesis/index.d.ts +1 -0
  24. package/lib/providers/kinesis/index.js +8 -0
  25. package/lib/providers/kinesis/types/buffer.d.ts +15 -0
  26. package/lib/providers/kinesis/types/buffer.js +4 -0
  27. package/lib/providers/kinesis/types/index.d.ts +2 -0
  28. package/lib/providers/kinesis/types/index.js +4 -0
  29. package/lib/providers/kinesis/types/inputs.d.ts +6 -0
  30. package/lib/providers/kinesis/types/inputs.js +4 -0
  31. package/lib/providers/kinesis/utils/constants.d.ts +6 -0
  32. package/lib/providers/kinesis/utils/constants.js +11 -0
  33. package/lib/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  34. package/lib/providers/kinesis/utils/getEventBuffer.js +72 -0
  35. package/lib/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  36. package/lib/providers/kinesis/utils/resolveConfig.js +25 -0
  37. package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  38. package/lib/providers/kinesis-firehose/apis/flushEvents.js +34 -0
  39. package/lib/providers/kinesis-firehose/apis/index.d.ts +2 -0
  40. package/lib/providers/kinesis-firehose/apis/index.js +9 -0
  41. package/lib/providers/kinesis-firehose/apis/record.d.ts +2 -0
  42. package/lib/providers/kinesis-firehose/apis/record.js +43 -0
  43. package/lib/providers/kinesis-firehose/index.d.ts +1 -0
  44. package/lib/providers/kinesis-firehose/index.js +8 -0
  45. package/lib/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  46. package/lib/providers/kinesis-firehose/types/index.d.ts +2 -0
  47. package/lib/providers/kinesis-firehose/types/index.js +4 -0
  48. package/lib/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  49. package/lib/providers/kinesis-firehose/types/inputs.js +4 -0
  50. package/lib/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  51. package/lib/providers/kinesis-firehose/utils/constants.js +11 -0
  52. package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  53. package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +71 -0
  54. package/lib/providers/kinesis-firehose/utils/index.d.ts +2 -0
  55. package/lib/providers/kinesis-firehose/utils/index.js +9 -0
  56. package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  57. package/lib/providers/kinesis-firehose/utils/resolveConfig.js +25 -0
  58. package/lib/providers/personalize/apis/flushEvents.d.ts +8 -0
  59. package/lib/providers/personalize/apis/flushEvents.js +33 -0
  60. package/lib/providers/personalize/apis/index.d.ts +2 -0
  61. package/lib/providers/personalize/apis/index.js +9 -0
  62. package/lib/providers/personalize/apis/record.d.ts +2 -0
  63. package/lib/providers/personalize/apis/record.js +71 -0
  64. package/lib/providers/personalize/index.d.ts +1 -0
  65. package/lib/providers/personalize/index.js +8 -0
  66. package/lib/providers/personalize/types/buffer.d.ts +16 -0
  67. package/lib/providers/personalize/types/buffer.js +4 -0
  68. package/lib/providers/personalize/types/index.d.ts +2 -0
  69. package/lib/providers/personalize/types/index.js +4 -0
  70. package/lib/providers/personalize/types/inputs.d.ts +7 -0
  71. package/lib/providers/personalize/types/inputs.js +4 -0
  72. package/lib/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  73. package/lib/providers/personalize/utils/autoTrackMedia.js +181 -0
  74. package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
  75. package/lib/providers/personalize/utils/cachedSession.js +49 -0
  76. package/lib/providers/personalize/utils/constants.d.ts +7 -0
  77. package/lib/providers/personalize/utils/constants.js +12 -0
  78. package/lib/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  79. package/lib/providers/personalize/utils/getEventBuffer.js +73 -0
  80. package/lib/providers/personalize/utils/index.d.ts +5 -0
  81. package/lib/providers/personalize/utils/index.js +17 -0
  82. package/lib/providers/personalize/utils/resolveConfig.d.ts +7 -0
  83. package/lib/providers/personalize/utils/resolveConfig.js +26 -0
  84. package/lib/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
  85. package/lib/providers/pinpoint/apis/configureAutoTrack.js +35 -0
  86. package/lib/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  87. package/lib/providers/pinpoint/apis/flushEvents.js +25 -0
  88. package/lib/providers/pinpoint/apis/identifyUser.d.ts +7 -5
  89. package/lib/providers/pinpoint/apis/identifyUser.js +24 -32
  90. package/lib/providers/pinpoint/apis/index.d.ts +2 -0
  91. package/lib/providers/pinpoint/apis/index.js +5 -1
  92. package/lib/providers/pinpoint/apis/record.d.ts +8 -14
  93. package/lib/providers/pinpoint/apis/record.js +31 -34
  94. package/lib/providers/pinpoint/index.d.ts +2 -2
  95. package/lib/providers/pinpoint/index.js +3 -1
  96. package/lib/providers/pinpoint/types/index.d.ts +2 -2
  97. package/lib/providers/pinpoint/types/index.js +0 -3
  98. package/lib/providers/pinpoint/types/inputs.d.ts +8 -17
  99. package/lib/providers/pinpoint/types/options.d.ts +5 -0
  100. package/lib/providers/pinpoint/types/options.js +4 -0
  101. package/lib/providers/pinpoint/utils/resolveConfig.js +5 -6
  102. package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
  103. package/lib/providers/pinpoint/utils/resolveCredentials.js +7 -15
  104. package/lib/setupTests.js +1 -1
  105. package/lib/trackers/EventTracker.d.ts +10 -0
  106. package/lib/trackers/EventTracker.js +98 -0
  107. package/lib/trackers/PageViewTracker.d.ts +18 -0
  108. package/lib/trackers/PageViewTracker.js +112 -0
  109. package/lib/trackers/SessionTracker.d.ts +13 -0
  110. package/lib/trackers/SessionTracker.js +67 -0
  111. package/lib/trackers/SessionTracker.native.d.ts +13 -0
  112. package/lib/trackers/SessionTracker.native.js +67 -0
  113. package/lib/trackers/index.d.ts +3 -0
  114. package/lib/trackers/index.js +11 -0
  115. package/lib/tsconfig.tsbuildinfo +1 -1
  116. package/lib/types/index.d.ts +3 -1
  117. package/lib/types/index.js +0 -2
  118. package/lib/types/inputs.d.ts +35 -0
  119. package/lib/types/inputs.js +4 -0
  120. package/lib/types/kinesis.d.ts +8 -0
  121. package/lib/types/kinesis.js +4 -0
  122. package/lib/types/options.d.ts +4 -0
  123. package/lib/types/options.js +4 -0
  124. package/lib/types/trackers.d.ts +22 -0
  125. package/lib/types/trackers.js +4 -0
  126. package/lib/utils/eventBuffer/EventBuffer.d.ts +16 -0
  127. package/lib/utils/eventBuffer/EventBuffer.js +63 -0
  128. package/lib/utils/eventBuffer/index.d.ts +2 -0
  129. package/lib/utils/eventBuffer/index.js +7 -0
  130. package/lib/utils/eventBuffer/types.d.ts +8 -0
  131. package/lib/utils/eventBuffer/types.js +4 -0
  132. package/lib/utils/groupBy.d.ts +1 -0
  133. package/lib/utils/groupBy.js +12 -0
  134. package/lib/utils/index.d.ts +7 -0
  135. package/lib/utils/index.js +22 -0
  136. package/lib/utils/resolveCredentials.d.ts +4 -0
  137. package/lib/utils/resolveCredentials.js +13 -0
  138. package/lib/utils/statusHelpers.d.ts +6 -0
  139. package/lib/utils/statusHelpers.js +19 -0
  140. package/lib/utils/trackerConfigHelpers.d.ts +5 -0
  141. package/lib/utils/trackerConfigHelpers.js +15 -0
  142. package/lib/utils/trackerConfigHelpers.native.d.ts +5 -0
  143. package/lib/utils/trackerConfigHelpers.native.js +14 -0
  144. package/lib/utils/trackerHelpers.d.ts +9 -0
  145. package/lib/utils/trackerHelpers.js +44 -0
  146. package/lib/utils/userAgent.js +3 -3
  147. package/lib-esm/apis/disable.d.ts +8 -0
  148. package/lib-esm/apis/disable.js +11 -0
  149. package/lib-esm/apis/enable.d.ts +7 -0
  150. package/lib-esm/apis/enable.js +10 -0
  151. package/lib-esm/apis/index.d.ts +2 -0
  152. package/lib-esm/apis/index.js +4 -0
  153. package/lib-esm/errors/AnalyticsError.d.ts +2 -2
  154. package/lib-esm/errors/AnalyticsError.js +7 -12
  155. package/lib-esm/errors/assertValidationError.d.ts +1 -1
  156. package/lib-esm/errors/assertValidationError.js +7 -3
  157. package/lib-esm/errors/validation.d.ts +5 -2
  158. package/lib-esm/errors/validation.js +22 -11
  159. package/lib-esm/index.d.ts +2 -1
  160. package/lib-esm/index.js +2 -1
  161. package/lib-esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
  162. package/lib-esm/providers/kinesis/apis/flushEvents.js +31 -0
  163. package/lib-esm/providers/kinesis/apis/index.d.ts +2 -0
  164. package/lib-esm/providers/kinesis/apis/index.js +4 -0
  165. package/lib-esm/providers/kinesis/apis/record.d.ts +2 -0
  166. package/lib-esm/providers/kinesis/apis/record.js +42 -0
  167. package/lib-esm/providers/kinesis/index.d.ts +1 -0
  168. package/lib-esm/providers/kinesis/index.js +3 -0
  169. package/lib-esm/providers/kinesis/types/buffer.d.ts +15 -0
  170. package/lib-esm/providers/kinesis/types/buffer.js +3 -0
  171. package/lib-esm/providers/kinesis/types/index.d.ts +2 -0
  172. package/lib-esm/providers/kinesis/types/index.js +3 -0
  173. package/lib-esm/providers/kinesis/types/inputs.d.ts +6 -0
  174. package/lib-esm/providers/kinesis/types/inputs.js +3 -0
  175. package/lib-esm/providers/kinesis/utils/constants.d.ts +6 -0
  176. package/lib-esm/providers/kinesis/utils/constants.js +8 -0
  177. package/lib-esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  178. package/lib-esm/providers/kinesis/utils/getEventBuffer.js +68 -0
  179. package/lib-esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  180. package/lib-esm/providers/kinesis/utils/resolveConfig.js +21 -0
  181. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  182. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +30 -0
  183. package/lib-esm/providers/kinesis-firehose/apis/index.d.ts +2 -0
  184. package/lib-esm/providers/kinesis-firehose/apis/index.js +4 -0
  185. package/lib-esm/providers/kinesis-firehose/apis/record.d.ts +2 -0
  186. package/lib-esm/providers/kinesis-firehose/apis/record.js +39 -0
  187. package/lib-esm/providers/kinesis-firehose/index.d.ts +1 -0
  188. package/lib-esm/providers/kinesis-firehose/index.js +3 -0
  189. package/lib-esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  190. package/lib-esm/providers/kinesis-firehose/types/index.d.ts +2 -0
  191. package/lib-esm/providers/kinesis-firehose/types/index.js +3 -0
  192. package/lib-esm/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  193. package/lib-esm/providers/kinesis-firehose/types/inputs.js +3 -0
  194. package/lib-esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  195. package/lib-esm/providers/kinesis-firehose/utils/constants.js +8 -0
  196. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  197. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +67 -0
  198. package/lib-esm/providers/kinesis-firehose/utils/index.d.ts +2 -0
  199. package/lib-esm/providers/kinesis-firehose/utils/index.js +4 -0
  200. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  201. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +21 -0
  202. package/lib-esm/providers/personalize/apis/flushEvents.d.ts +8 -0
  203. package/lib-esm/providers/personalize/apis/flushEvents.js +29 -0
  204. package/lib-esm/providers/personalize/apis/index.d.ts +2 -0
  205. package/lib-esm/providers/personalize/apis/index.js +4 -0
  206. package/lib-esm/providers/personalize/apis/record.d.ts +2 -0
  207. package/lib-esm/providers/personalize/apis/record.js +67 -0
  208. package/lib-esm/providers/personalize/index.d.ts +1 -0
  209. package/lib-esm/providers/personalize/index.js +3 -0
  210. package/lib-esm/providers/personalize/types/buffer.d.ts +16 -0
  211. package/lib-esm/providers/personalize/types/buffer.js +3 -0
  212. package/lib-esm/providers/personalize/types/index.d.ts +2 -0
  213. package/lib-esm/providers/personalize/types/index.js +3 -0
  214. package/lib-esm/providers/personalize/types/inputs.d.ts +7 -0
  215. package/lib-esm/providers/personalize/types/inputs.js +3 -0
  216. package/lib-esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  217. package/lib-esm/providers/personalize/utils/autoTrackMedia.js +177 -0
  218. package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
  219. package/lib-esm/providers/personalize/utils/cachedSession.js +44 -0
  220. package/lib-esm/providers/personalize/utils/constants.d.ts +7 -0
  221. package/lib-esm/providers/personalize/utils/constants.js +9 -0
  222. package/lib-esm/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  223. package/lib-esm/providers/personalize/utils/getEventBuffer.js +69 -0
  224. package/lib-esm/providers/personalize/utils/index.d.ts +5 -0
  225. package/lib-esm/providers/personalize/utils/index.js +7 -0
  226. package/lib-esm/providers/personalize/utils/resolveConfig.d.ts +7 -0
  227. package/lib-esm/providers/personalize/utils/resolveConfig.js +22 -0
  228. package/lib-esm/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
  229. package/lib-esm/providers/pinpoint/apis/configureAutoTrack.js +31 -0
  230. package/lib-esm/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  231. package/lib-esm/providers/pinpoint/apis/flushEvents.js +21 -0
  232. package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +7 -5
  233. package/lib-esm/providers/pinpoint/apis/identifyUser.js +22 -30
  234. package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
  235. package/lib-esm/providers/pinpoint/apis/index.js +2 -0
  236. package/lib-esm/providers/pinpoint/apis/record.d.ts +8 -14
  237. package/lib-esm/providers/pinpoint/apis/record.js +26 -29
  238. package/lib-esm/providers/pinpoint/index.d.ts +2 -2
  239. package/lib-esm/providers/pinpoint/index.js +1 -1
  240. package/lib-esm/providers/pinpoint/types/index.d.ts +2 -2
  241. package/lib-esm/providers/pinpoint/types/index.js +1 -1
  242. package/lib-esm/providers/pinpoint/types/inputs.d.ts +8 -17
  243. package/lib-esm/providers/pinpoint/types/options.d.ts +5 -0
  244. package/lib-esm/providers/pinpoint/types/options.js +3 -0
  245. package/lib-esm/providers/pinpoint/utils/resolveConfig.js +3 -4
  246. package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
  247. package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +5 -13
  248. package/lib-esm/setupTests.js +1 -1
  249. package/lib-esm/trackers/EventTracker.d.ts +10 -0
  250. package/lib-esm/trackers/EventTracker.js +94 -0
  251. package/lib-esm/trackers/PageViewTracker.d.ts +18 -0
  252. package/lib-esm/trackers/PageViewTracker.js +108 -0
  253. package/lib-esm/trackers/SessionTracker.d.ts +13 -0
  254. package/lib-esm/trackers/SessionTracker.js +63 -0
  255. package/lib-esm/trackers/SessionTracker.native.d.ts +13 -0
  256. package/lib-esm/trackers/SessionTracker.native.js +63 -0
  257. package/lib-esm/trackers/index.d.ts +3 -0
  258. package/lib-esm/trackers/index.js +5 -0
  259. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  260. package/lib-esm/types/index.d.ts +3 -1
  261. package/lib-esm/types/index.js +1 -1
  262. package/lib-esm/types/inputs.d.ts +35 -0
  263. package/lib-esm/types/inputs.js +3 -0
  264. package/lib-esm/types/kinesis.d.ts +8 -0
  265. package/lib-esm/types/kinesis.js +3 -0
  266. package/lib-esm/types/options.d.ts +4 -0
  267. package/lib-esm/types/options.js +3 -0
  268. package/lib-esm/types/trackers.d.ts +22 -0
  269. package/lib-esm/types/trackers.js +3 -0
  270. package/lib-esm/utils/eventBuffer/EventBuffer.d.ts +16 -0
  271. package/lib-esm/utils/eventBuffer/EventBuffer.js +59 -0
  272. package/lib-esm/utils/eventBuffer/index.d.ts +2 -0
  273. package/lib-esm/utils/eventBuffer/index.js +3 -0
  274. package/lib-esm/utils/eventBuffer/types.d.ts +8 -0
  275. package/lib-esm/utils/eventBuffer/types.js +3 -0
  276. package/lib-esm/utils/groupBy.d.ts +1 -0
  277. package/lib-esm/utils/groupBy.js +8 -0
  278. package/lib-esm/utils/index.d.ts +7 -0
  279. package/lib-esm/utils/index.js +9 -0
  280. package/lib-esm/utils/resolveCredentials.d.ts +4 -0
  281. package/lib-esm/utils/resolveCredentials.js +9 -0
  282. package/lib-esm/utils/statusHelpers.d.ts +6 -0
  283. package/lib-esm/utils/statusHelpers.js +13 -0
  284. package/lib-esm/utils/trackerConfigHelpers.d.ts +5 -0
  285. package/lib-esm/utils/trackerConfigHelpers.js +11 -0
  286. package/lib-esm/utils/trackerConfigHelpers.native.d.ts +5 -0
  287. package/lib-esm/utils/trackerConfigHelpers.native.js +10 -0
  288. package/lib-esm/utils/trackerHelpers.d.ts +9 -0
  289. package/lib-esm/utils/trackerHelpers.js +40 -0
  290. package/lib-esm/utils/userAgent.js +2 -2
  291. package/package.json +39 -12
  292. package/personalize/package.json +7 -0
  293. package/src/apis/disable.ts +13 -0
  294. package/src/apis/enable.ts +12 -0
  295. package/src/apis/index.ts +5 -0
  296. package/src/errors/AnalyticsError.ts +5 -2
  297. package/src/errors/assertValidationError.ts +9 -3
  298. package/src/errors/validation.ts +16 -4
  299. package/src/index.ts +4 -0
  300. package/src/providers/kinesis/apis/flushEvents.ts +40 -0
  301. package/src/providers/kinesis/apis/index.ts +5 -0
  302. package/src/providers/kinesis/apis/record.ts +58 -0
  303. package/src/providers/kinesis/index.ts +4 -0
  304. package/src/providers/kinesis/types/buffer.ts +20 -0
  305. package/src/providers/kinesis/types/index.ts +5 -0
  306. package/src/providers/kinesis/types/inputs.ts +10 -0
  307. package/src/providers/kinesis/utils/constants.ts +9 -0
  308. package/src/providers/kinesis/utils/getEventBuffer.ts +109 -0
  309. package/src/providers/kinesis/utils/resolveConfig.ts +36 -0
  310. package/src/providers/kinesis-firehose/apis/flushEvents.ts +39 -0
  311. package/src/providers/kinesis-firehose/apis/index.ts +5 -0
  312. package/src/providers/kinesis-firehose/apis/record.ts +51 -0
  313. package/src/providers/kinesis-firehose/index.ts +4 -0
  314. package/src/providers/kinesis-firehose/types/buffer.ts +20 -0
  315. package/src/providers/kinesis-firehose/types/index.ts +9 -0
  316. package/src/providers/kinesis-firehose/types/inputs.ts +9 -0
  317. package/src/providers/kinesis-firehose/utils/constants.ts +9 -0
  318. package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +117 -0
  319. package/src/providers/kinesis-firehose/utils/index.ts +5 -0
  320. package/src/providers/kinesis-firehose/utils/resolveConfig.ts +36 -0
  321. package/src/providers/personalize/apis/flushEvents.ts +37 -0
  322. package/src/providers/personalize/apis/index.ts +5 -0
  323. package/src/providers/personalize/apis/record.ts +102 -0
  324. package/src/providers/personalize/index.ts +4 -0
  325. package/src/providers/personalize/types/buffer.ts +21 -0
  326. package/src/providers/personalize/types/index.ts +5 -0
  327. package/src/providers/personalize/types/inputs.ts +11 -0
  328. package/src/providers/personalize/utils/autoTrackMedia.ts +232 -0
  329. package/src/providers/personalize/utils/cachedSession.ts +68 -0
  330. package/src/providers/personalize/utils/constants.ts +12 -0
  331. package/src/providers/personalize/utils/getEventBuffer.ts +110 -0
  332. package/src/providers/personalize/utils/index.ts +11 -0
  333. package/src/providers/personalize/utils/resolveConfig.ts +41 -0
  334. package/src/providers/pinpoint/apis/configureAutoTrack.ts +49 -0
  335. package/src/providers/pinpoint/apis/flushEvents.ts +32 -0
  336. package/src/providers/pinpoint/apis/identifyUser.ts +20 -12
  337. package/src/providers/pinpoint/apis/index.ts +2 -0
  338. package/src/providers/pinpoint/apis/record.ts +31 -23
  339. package/src/providers/pinpoint/index.ts +6 -2
  340. package/src/providers/pinpoint/types/index.ts +6 -2
  341. package/src/providers/pinpoint/types/inputs.ts +11 -17
  342. package/src/providers/pinpoint/types/options.ts +12 -0
  343. package/src/trackers/EventTracker.ts +135 -0
  344. package/src/trackers/PageViewTracker.ts +160 -0
  345. package/src/trackers/SessionTracker.native.ts +105 -0
  346. package/src/trackers/SessionTracker.ts +105 -0
  347. package/src/trackers/index.ts +6 -0
  348. package/src/types/index.ts +8 -1
  349. package/src/types/inputs.ts +52 -0
  350. package/src/types/kinesis.ts +13 -0
  351. package/src/types/options.ts +7 -0
  352. package/src/types/trackers.ts +35 -0
  353. package/src/utils/eventBuffer/EventBuffer.ts +84 -0
  354. package/src/utils/eventBuffer/index.ts +5 -0
  355. package/src/utils/eventBuffer/types.ts +12 -0
  356. package/src/utils/groupBy.ts +12 -0
  357. package/src/utils/index.ts +21 -0
  358. package/src/utils/resolveCredentials.ts +14 -0
  359. package/src/utils/statusHelpers.ts +17 -0
  360. package/src/utils/trackerConfigHelpers.native.ts +18 -0
  361. package/src/utils/trackerConfigHelpers.ts +19 -0
  362. package/src/utils/trackerHelpers.ts +57 -0
  363. package/lib/providers/pinpoint/types/errors.d.ts +0 -9
  364. package/lib/providers/pinpoint/types/errors.js +0 -15
  365. package/lib/types/analytics.d.ts +0 -50
  366. package/lib-esm/providers/pinpoint/types/errors.d.ts +0 -9
  367. package/lib-esm/providers/pinpoint/types/errors.js +0 -12
  368. package/lib-esm/types/analytics.d.ts +0 -50
  369. package/src/providers/pinpoint/types/errors.ts +0 -12
  370. package/src/types/analytics.ts +0 -70
  371. /package/lib/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
  372. /package/lib-esm/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Base type for service options.
3
+ */
4
+ export type AnalyticsServiceOptions = Record<string, unknown>;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ export type SessionTrackingOptions = {
2
+ attributes?: TrackerAttributes;
3
+ };
4
+ export type PageViewTrackingOptions = {
5
+ attributes?: TrackerAttributes;
6
+ eventName?: string;
7
+ urlProvider?: () => string;
8
+ appType?: 'multiPage' | 'singlePage';
9
+ };
10
+ export type EventTrackingOptions = {
11
+ attributes?: TrackerAttributes;
12
+ events?: DOMEvent[];
13
+ selectorPrefix?: string;
14
+ };
15
+ export type TrackerType = 'event' | 'pageView' | 'session';
16
+ export type TrackerAttributes = Record<string, string>;
17
+ export type TrackerEventRecorder = (eventName: string, attributes: TrackerAttributes) => void;
18
+ export type DOMEvent = keyof GlobalEventHandlersEventMap;
19
+ export interface TrackerInterface {
20
+ configure(eventRecorder: TrackerEventRecorder, options?: object): void;
21
+ cleanup(): void;
22
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import { EventBufferConfig, IAnalyticsClient } from './';
2
+ export declare class EventBuffer<T> {
3
+ private list;
4
+ private readonly config;
5
+ private getAnalyticsClient;
6
+ private timer?;
7
+ constructor(config: EventBufferConfig, getAnalyticsClient: () => IAnalyticsClient<T>);
8
+ append(...events: T[]): void;
9
+ flushAll(): Promise<void>;
10
+ release(): void;
11
+ get length(): number;
12
+ private head;
13
+ private insertAtBeginning;
14
+ private startEventLoop;
15
+ private submitEvents;
16
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.EventBuffer = void 0;
6
+ const core_1 = require("@aws-amplify/core");
7
+ const logger = new core_1.ConsoleLogger('EventBuffer');
8
+ class EventBuffer {
9
+ constructor(config, getAnalyticsClient) {
10
+ this.list = [];
11
+ this.config = config;
12
+ this.getAnalyticsClient = getAnalyticsClient;
13
+ this.startEventLoop();
14
+ }
15
+ append(...events) {
16
+ for (const event of events) {
17
+ if (this.list.length + 1 > this.config.bufferSize) {
18
+ logger.debug(`Exceed ${typeof event} event buffer limits, event dropped`);
19
+ continue;
20
+ }
21
+ this.list.push(event);
22
+ }
23
+ }
24
+ flushAll() {
25
+ return this.submitEvents(this.list.length);
26
+ }
27
+ release() {
28
+ this.list = [];
29
+ if (this.timer) {
30
+ clearInterval(this.timer);
31
+ }
32
+ }
33
+ get length() {
34
+ return this.list.length;
35
+ }
36
+ head(count) {
37
+ return this.list.splice(0, count);
38
+ }
39
+ insertAtBeginning(...data) {
40
+ this.list.unshift(...data);
41
+ }
42
+ startEventLoop() {
43
+ if (this.timer) {
44
+ clearInterval(this.timer);
45
+ }
46
+ const { flushSize, flushInterval } = this.config;
47
+ setInterval(() => {
48
+ this.submitEvents(flushSize);
49
+ }, flushInterval);
50
+ }
51
+ submitEvents(count) {
52
+ const events = this.head(count);
53
+ if (events.length === 0) {
54
+ return Promise.resolve();
55
+ }
56
+ return this.getAnalyticsClient()(events).then(result => {
57
+ if (result.length > 0) {
58
+ this.insertAtBeginning(...result);
59
+ }
60
+ });
61
+ }
62
+ }
63
+ exports.EventBuffer = EventBuffer;
@@ -0,0 +1,2 @@
1
+ export { EventBuffer } from './EventBuffer';
2
+ export { EventBufferConfig, IAnalyticsClient } from './types';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.EventBuffer = void 0;
6
+ var EventBuffer_1 = require("./EventBuffer");
7
+ Object.defineProperty(exports, "EventBuffer", { enumerable: true, get: function () { return EventBuffer_1.EventBuffer; } });
@@ -0,0 +1,8 @@
1
+ export interface IAnalyticsClient<T> {
2
+ (events: T[]): Promise<T[]>;
3
+ }
4
+ export type EventBufferConfig = {
5
+ flushSize: number;
6
+ flushInterval: number;
7
+ bufferSize: number;
8
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export declare const groupBy: <T>(getGroupId: (x: T) => string, list: T[]) => Record<string, T[]>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.groupBy = void 0;
6
+ const groupBy = (getGroupId, list) => {
7
+ return list.reduce((result, current) => {
8
+ const groupId = getGroupId(current);
9
+ return { ...result, [groupId]: [...(result[groupId] ?? []), current] };
10
+ }, {});
11
+ };
12
+ exports.groupBy = groupBy;
@@ -0,0 +1,7 @@
1
+ export { resolveCredentials } from './resolveCredentials';
2
+ export { groupBy } from './groupBy';
3
+ export { EventBuffer, IAnalyticsClient, EventBufferConfig, } from './eventBuffer';
4
+ export { enableAnalytics, disableAnalytics, isAnalyticsEnabled, } from './statusHelpers';
5
+ export { getAnalyticsUserAgent, getAnalyticsUserAgentString, } from './userAgent';
6
+ export { updateProviderTrackers } from './trackerHelpers';
7
+ export { validateTrackerConfiguration } from './trackerConfigHelpers';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.validateTrackerConfiguration = exports.updateProviderTrackers = exports.getAnalyticsUserAgentString = exports.getAnalyticsUserAgent = exports.isAnalyticsEnabled = exports.disableAnalytics = exports.enableAnalytics = exports.EventBuffer = exports.groupBy = exports.resolveCredentials = void 0;
6
+ var resolveCredentials_1 = require("./resolveCredentials");
7
+ Object.defineProperty(exports, "resolveCredentials", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });
8
+ var groupBy_1 = require("./groupBy");
9
+ Object.defineProperty(exports, "groupBy", { enumerable: true, get: function () { return groupBy_1.groupBy; } });
10
+ var eventBuffer_1 = require("./eventBuffer");
11
+ Object.defineProperty(exports, "EventBuffer", { enumerable: true, get: function () { return eventBuffer_1.EventBuffer; } });
12
+ var statusHelpers_1 = require("./statusHelpers");
13
+ Object.defineProperty(exports, "enableAnalytics", { enumerable: true, get: function () { return statusHelpers_1.enableAnalytics; } });
14
+ Object.defineProperty(exports, "disableAnalytics", { enumerable: true, get: function () { return statusHelpers_1.disableAnalytics; } });
15
+ Object.defineProperty(exports, "isAnalyticsEnabled", { enumerable: true, get: function () { return statusHelpers_1.isAnalyticsEnabled; } });
16
+ var userAgent_1 = require("./userAgent");
17
+ Object.defineProperty(exports, "getAnalyticsUserAgent", { enumerable: true, get: function () { return userAgent_1.getAnalyticsUserAgent; } });
18
+ Object.defineProperty(exports, "getAnalyticsUserAgentString", { enumerable: true, get: function () { return userAgent_1.getAnalyticsUserAgentString; } });
19
+ var trackerHelpers_1 = require("./trackerHelpers");
20
+ Object.defineProperty(exports, "updateProviderTrackers", { enumerable: true, get: function () { return trackerHelpers_1.updateProviderTrackers; } });
21
+ var trackerConfigHelpers_1 = require("./trackerConfigHelpers");
22
+ Object.defineProperty(exports, "validateTrackerConfiguration", { enumerable: true, get: function () { return trackerConfigHelpers_1.validateTrackerConfiguration; } });
@@ -0,0 +1,4 @@
1
+ export declare const resolveCredentials: () => Promise<{
2
+ credentials: import("@aws-amplify/core/lib-esm/libraryUtils").AWSCredentials;
3
+ identityId: string | undefined;
4
+ }>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.resolveCredentials = void 0;
6
+ const errors_1 = require("../errors");
7
+ const core_1 = require("@aws-amplify/core");
8
+ const resolveCredentials = async () => {
9
+ const { credentials, identityId } = await (0, core_1.fetchAuthSession)();
10
+ (0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);
11
+ return { credentials, identityId };
12
+ };
13
+ exports.resolveCredentials = resolveCredentials;
@@ -0,0 +1,6 @@
1
+ export declare const enableAnalytics: () => void;
2
+ export declare const disableAnalytics: () => void;
3
+ /**
4
+ * Returns the current status of the Analytics category.
5
+ */
6
+ export declare const isAnalyticsEnabled: () => boolean;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.isAnalyticsEnabled = exports.disableAnalytics = exports.enableAnalytics = void 0;
6
+ let analyticsEnabled = true;
7
+ const enableAnalytics = () => {
8
+ analyticsEnabled = true;
9
+ };
10
+ exports.enableAnalytics = enableAnalytics;
11
+ const disableAnalytics = () => {
12
+ analyticsEnabled = false;
13
+ };
14
+ exports.disableAnalytics = disableAnalytics;
15
+ /**
16
+ * Returns the current status of the Analytics category.
17
+ */
18
+ const isAnalyticsEnabled = () => analyticsEnabled;
19
+ exports.isAnalyticsEnabled = isAnalyticsEnabled;
@@ -0,0 +1,5 @@
1
+ import { AnalyticsConfigureAutoTrackInput } from '../types';
2
+ /**
3
+ * Validates tracker configuration.
4
+ */
5
+ export declare const validateTrackerConfiguration: (input: AnalyticsConfigureAutoTrackInput) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.validateTrackerConfiguration = void 0;
6
+ const errors_1 = require("../errors");
7
+ /**
8
+ * Validates tracker configuration.
9
+ */
10
+ const validateTrackerConfiguration = (input) => {
11
+ (0, errors_1.assertValidationError)(input.type === 'event' ||
12
+ input.type === 'pageView' ||
13
+ input.type === 'session', errors_1.AnalyticsValidationErrorCode.InvalidTracker);
14
+ };
15
+ exports.validateTrackerConfiguration = validateTrackerConfiguration;
@@ -0,0 +1,5 @@
1
+ import { AnalyticsConfigureAutoTrackInput } from '../types';
2
+ /**
3
+ * Validates tracker configuration.
4
+ */
5
+ export declare const validateTrackerConfiguration: (input: AnalyticsConfigureAutoTrackInput) => void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.validateTrackerConfiguration = void 0;
6
+ const errors_1 = require("../errors");
7
+ /**
8
+ * Validates tracker configuration.
9
+ */
10
+ const validateTrackerConfiguration = (input) => {
11
+ // React Native only supports session tracking
12
+ (0, errors_1.assertValidationError)(input.type === 'session', errors_1.AnalyticsValidationErrorCode.UnsupportedPlatform);
13
+ };
14
+ exports.validateTrackerConfiguration = validateTrackerConfiguration;
@@ -0,0 +1,9 @@
1
+ import { TrackerEventRecorder, TrackerInterface, TrackerType } from '../types/trackers';
2
+ import { ConfigureAutoTrackInput } from '../providers/pinpoint';
3
+ /**
4
+ * Updates a provider's trackers as appropriate for the provided auto-track configuration.
5
+ *
6
+ * @remark
7
+ * This utility will mutate the provider's configured trackers via `providerTrackers`.
8
+ */
9
+ export declare const updateProviderTrackers: (input: ConfigureAutoTrackInput, providerEventRecorder: TrackerEventRecorder, providerTrackers: Partial<Record<TrackerType, TrackerInterface>>) => void;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.updateProviderTrackers = void 0;
6
+ const trackers_1 = require("../trackers");
7
+ /**
8
+ * Updates a provider's trackers as appropriate for the provided auto-track configuration.
9
+ *
10
+ * @remark
11
+ * This utility will mutate the provider's configured trackers via `providerTrackers`.
12
+ */
13
+ const updateProviderTrackers = (input, providerEventRecorder, providerTrackers) => {
14
+ let trackerInstance;
15
+ const trackerType = input.type;
16
+ const currentTracker = providerTrackers[trackerType];
17
+ // Check if the tracker was disabled & should be cleaned up
18
+ if (!input.enable) {
19
+ if (currentTracker) {
20
+ currentTracker.cleanup();
21
+ delete providerTrackers[trackerType];
22
+ }
23
+ return;
24
+ }
25
+ // Re-configure the existing tracker, or create & configure an instance if it doesn't exist yet
26
+ if (currentTracker) {
27
+ currentTracker.configure(providerEventRecorder, input.options);
28
+ return;
29
+ }
30
+ // Create a new tracker instance for the type
31
+ if (trackerType === 'event') {
32
+ trackerInstance = new trackers_1.EventTracker(providerEventRecorder, input.options);
33
+ }
34
+ else if (trackerType === 'pageView') {
35
+ trackerInstance = new trackers_1.PageViewTracker(providerEventRecorder, input.options);
36
+ }
37
+ else if (trackerType === 'session') {
38
+ trackerInstance = new trackers_1.SessionTracker(providerEventRecorder, input.options);
39
+ }
40
+ if (trackerInstance) {
41
+ providerTrackers[trackerType] = trackerInstance;
42
+ }
43
+ };
44
+ exports.updateProviderTrackers = updateProviderTrackers;
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAnalyticsUserAgentString = exports.getAnalyticsUserAgent = void 0;
4
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
5
  // SPDX-License-Identifier: Apache-2.0
6
- var utils_1 = require("@aws-amplify/core/internals/utils");
6
+ const utils_1 = require("@aws-amplify/core/internals/utils");
7
7
  function getAnalyticsUserAgent(action) {
8
8
  return (0, utils_1.getAmplifyUserAgentObject)({
9
9
  category: utils_1.Category.Analytics,
10
- action: action,
10
+ action,
11
11
  });
12
12
  }
13
13
  exports.getAnalyticsUserAgent = getAnalyticsUserAgent;
14
14
  function getAnalyticsUserAgentString(action) {
15
15
  return (0, utils_1.getAmplifyUserAgent)({
16
16
  category: utils_1.Category.Analytics,
17
- action: action,
17
+ action,
18
18
  });
19
19
  }
20
20
  exports.getAnalyticsUserAgentString = getAnalyticsUserAgentString;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Disables the Analytics category.
3
+ *
4
+ * @note
5
+ * When Analytics is disabled events will not be buffered or transmitted to your selected service. Any auto-tracking
6
+ * behavior that you have configured via `configureAutoTrack` will not have any effect while Analytics is disabled.
7
+ */
8
+ export declare const disable: () => void;
@@ -0,0 +1,11 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { disableAnalytics } from '../utils';
4
+ /**
5
+ * Disables the Analytics category.
6
+ *
7
+ * @note
8
+ * When Analytics is disabled events will not be buffered or transmitted to your selected service. Any auto-tracking
9
+ * behavior that you have configured via `configureAutoTrack` will not have any effect while Analytics is disabled.
10
+ */
11
+ export const disable = disableAnalytics;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Enables the Analytics category to permit the transmission of events.
3
+ *
4
+ * @note
5
+ * Analytics is enabled by default. You do not need to call this API unless you have disabled Analytics.
6
+ */
7
+ export declare const enable: () => void;
@@ -0,0 +1,10 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { enableAnalytics } from '../utils';
4
+ /**
5
+ * Enables the Analytics category to permit the transmission of events.
6
+ *
7
+ * @note
8
+ * Analytics is enabled by default. You do not need to call this API unless you have disabled Analytics.
9
+ */
10
+ export const enable = enableAnalytics;
@@ -0,0 +1,2 @@
1
+ export { enable } from './enable';
2
+ export { disable } from './disable';
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { enable } from './enable';
4
+ export { disable } from './disable';
@@ -1,7 +1,7 @@
1
- import { AmplifyError, ErrorParams } from '@aws-amplify/core/internals/utils';
1
+ import { AmplifyError, AmplifyErrorParams } from '@aws-amplify/core/internals/utils';
2
2
  /**
3
3
  * @internal
4
4
  */
5
5
  export declare class AnalyticsError extends AmplifyError {
6
- constructor(params: ErrorParams);
6
+ constructor(params: AmplifyErrorParams);
7
7
  }
@@ -1,20 +1,15 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { __extends } from "tslib";
4
- import { AmplifyError } from '@aws-amplify/core/internals/utils';
3
+ import { AmplifyError, } from '@aws-amplify/core/internals/utils';
5
4
  /**
6
5
  * @internal
7
6
  */
8
- var AnalyticsError = /** @class */ (function (_super) {
9
- __extends(AnalyticsError, _super);
10
- function AnalyticsError(params) {
11
- var _this = _super.call(this, params) || this;
7
+ export class AnalyticsError extends AmplifyError {
8
+ constructor(params) {
9
+ super(params);
12
10
  // Hack for making the custom error class work when transpiled to es5
13
11
  // TODO: Delete the following 2 lines after we change the build target to >= es2015
14
- _this.constructor = AnalyticsError;
15
- Object.setPrototypeOf(_this, AnalyticsError.prototype);
16
- return _this;
12
+ this.constructor = AnalyticsError;
13
+ Object.setPrototypeOf(this, AnalyticsError.prototype);
17
14
  }
18
- return AnalyticsError;
19
- }(AmplifyError));
20
- export { AnalyticsError };
15
+ }
@@ -2,4 +2,4 @@ import { AnalyticsValidationErrorCode } from './validation';
2
2
  /**
3
3
  * @internal
4
4
  */
5
- export declare function assertValidationError(assertion: boolean, name: AnalyticsValidationErrorCode): asserts assertion;
5
+ export declare function assertValidationError(assertion: boolean, name: AnalyticsValidationErrorCode, message?: string): asserts assertion;
@@ -5,9 +5,13 @@ import { validationErrorMap } from './validation';
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export function assertValidationError(assertion, name) {
9
- var _a = validationErrorMap[name], message = _a.message, recoverySuggestion = _a.recoverySuggestion;
8
+ export function assertValidationError(assertion, name, message) {
9
+ const { message: defaultMessage, recoverySuggestion } = validationErrorMap[name];
10
10
  if (!assertion) {
11
- throw new AnalyticsError({ name: name, message: message, recoverySuggestion: recoverySuggestion });
11
+ throw new AnalyticsError({
12
+ name,
13
+ message: message ?? defaultMessage,
14
+ recoverySuggestion,
15
+ });
12
16
  }
13
17
  }
@@ -2,8 +2,11 @@ import { AmplifyErrorMap } from '@aws-amplify/core/internals/utils';
2
2
  export declare enum AnalyticsValidationErrorCode {
3
3
  NoAppId = "NoAppId",
4
4
  NoCredentials = "NoCredentials",
5
- NoEvent = "NoEvent",
6
5
  NoEventName = "NoEventName",
7
- NoRegion = "NoRegion"
6
+ NoRegion = "NoRegion",
7
+ InvalidTracker = "InvalidTracker",
8
+ UnsupportedPlatform = "UnsupportedPlatform",
9
+ NoTrackingId = "NoTrackingId",
10
+ InvalidFlushSize = "InvalidFlushSize"
8
11
  }
9
12
  export declare const validationErrorMap: AmplifyErrorMap<AnalyticsValidationErrorCode>;
@@ -1,28 +1,39 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- var _a;
4
3
  export var AnalyticsValidationErrorCode;
5
4
  (function (AnalyticsValidationErrorCode) {
6
5
  AnalyticsValidationErrorCode["NoAppId"] = "NoAppId";
7
6
  AnalyticsValidationErrorCode["NoCredentials"] = "NoCredentials";
8
- AnalyticsValidationErrorCode["NoEvent"] = "NoEvent";
9
7
  AnalyticsValidationErrorCode["NoEventName"] = "NoEventName";
10
8
  AnalyticsValidationErrorCode["NoRegion"] = "NoRegion";
9
+ AnalyticsValidationErrorCode["InvalidTracker"] = "InvalidTracker";
10
+ AnalyticsValidationErrorCode["UnsupportedPlatform"] = "UnsupportedPlatform";
11
+ AnalyticsValidationErrorCode["NoTrackingId"] = "NoTrackingId";
12
+ AnalyticsValidationErrorCode["InvalidFlushSize"] = "InvalidFlushSize";
11
13
  })(AnalyticsValidationErrorCode || (AnalyticsValidationErrorCode = {}));
12
- export var validationErrorMap = (_a = {},
13
- _a[AnalyticsValidationErrorCode.NoAppId] = {
14
+ export const validationErrorMap = {
15
+ [AnalyticsValidationErrorCode.NoAppId]: {
14
16
  message: 'Missing application id.',
15
17
  },
16
- _a[AnalyticsValidationErrorCode.NoCredentials] = {
18
+ [AnalyticsValidationErrorCode.NoCredentials]: {
17
19
  message: 'Credentials should not be empty.',
18
20
  },
19
- _a[AnalyticsValidationErrorCode.NoEvent] = {
20
- message: 'An event is required to record.',
21
- },
22
- _a[AnalyticsValidationErrorCode.NoEventName] = {
21
+ [AnalyticsValidationErrorCode.NoEventName]: {
23
22
  message: 'Events must specify a name.',
24
23
  },
25
- _a[AnalyticsValidationErrorCode.NoRegion] = {
24
+ [AnalyticsValidationErrorCode.NoRegion]: {
26
25
  message: 'Missing region.',
27
26
  },
28
- _a);
27
+ [AnalyticsValidationErrorCode.InvalidTracker]: {
28
+ message: 'Invalid tracker type specified.',
29
+ },
30
+ [AnalyticsValidationErrorCode.UnsupportedPlatform]: {
31
+ message: 'Only session tracking is supported on React Native.',
32
+ },
33
+ [AnalyticsValidationErrorCode.InvalidFlushSize]: {
34
+ message: 'Invalid FlushSize, it should be smaller than BufferSize',
35
+ },
36
+ [AnalyticsValidationErrorCode.NoTrackingId]: {
37
+ message: 'A trackingId is required to use Amazon Personalize',
38
+ },
39
+ };
@@ -1,2 +1,3 @@
1
- export { record, identifyUser, RecordInput, IdentifyUserInput, } from './providers/pinpoint';
1
+ export { record, identifyUser, configureAutoTrack, flushEvents, RecordInput, IdentifyUserInput, ConfigureAutoTrackInput, } from './providers/pinpoint';
2
+ export { enable, disable } from './apis';
2
3
  export { AnalyticsError } from './errors';
package/lib-esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export { record, identifyUser, } from './providers/pinpoint';
3
+ export { record, identifyUser, configureAutoTrack, flushEvents, } from './providers/pinpoint';
4
+ export { enable, disable } from './apis';
4
5
  export { AnalyticsError } from './errors';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Flushes all buffered Kinesis events to the service.
3
+ *
4
+ * @note
5
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
6
+ * this API may not be included in the flush.
7
+ */
8
+ export declare const flushEvents: () => void;
@@ -0,0 +1,31 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { resolveConfig } from '../utils/resolveConfig';
4
+ import { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';
5
+ import { getEventBuffer } from '../utils/getEventBuffer';
6
+ import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
7
+ import { ConsoleLogger } from '@aws-amplify/core';
8
+ const logger = new ConsoleLogger('Kinesis');
9
+ /**
10
+ * Flushes all buffered Kinesis events to the service.
11
+ *
12
+ * @note
13
+ * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking
14
+ * this API may not be included in the flush.
15
+ */
16
+ export const flushEvents = () => {
17
+ const { region, flushSize, flushInterval, bufferSize, resendLimit } = resolveConfig();
18
+ resolveCredentials()
19
+ .then(({ credentials, identityId }) => getEventBuffer({
20
+ region,
21
+ flushSize,
22
+ flushInterval,
23
+ bufferSize,
24
+ credentials,
25
+ identityId,
26
+ resendLimit,
27
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
28
+ }))
29
+ .then(eventBuffer => eventBuffer.flushAll())
30
+ .catch(e => logger.warn('Failed to flush events.', e));
31
+ };
@@ -0,0 +1,2 @@
1
+ export { record } from './record';
2
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { record } from './record';
4
+ export { flushEvents } from './flushEvents';
@@ -0,0 +1,2 @@
1
+ import { RecordInput } from '../types';
2
+ export declare const record: ({ streamName, partitionKey, data, }: RecordInput) => void;