@aws-amplify/analytics 7.0.1-preview-testing.034e780.0 → 7.0.1-server-generate-client.1e317a1.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 (363) 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/assertValidationError.d.ts +1 -1
  11. package/lib/errors/assertValidationError.js +7 -3
  12. package/lib/errors/validation.d.ts +5 -2
  13. package/lib/errors/validation.js +16 -4
  14. package/lib/index.d.ts +2 -1
  15. package/lib/index.js +6 -1
  16. package/lib/providers/kinesis/apis/flushEvents.d.ts +8 -0
  17. package/lib/providers/kinesis/apis/flushEvents.js +38 -0
  18. package/lib/providers/kinesis/apis/index.d.ts +2 -0
  19. package/lib/providers/kinesis/apis/index.js +9 -0
  20. package/lib/providers/kinesis/apis/record.d.ts +2 -0
  21. package/lib/providers/kinesis/apis/record.js +48 -0
  22. package/lib/providers/kinesis/index.d.ts +1 -0
  23. package/lib/providers/kinesis/index.js +8 -0
  24. package/lib/providers/kinesis/types/buffer.d.ts +15 -0
  25. package/lib/providers/kinesis/types/buffer.js +4 -0
  26. package/lib/providers/kinesis/types/index.d.ts +2 -0
  27. package/lib/providers/kinesis/types/index.js +4 -0
  28. package/lib/providers/kinesis/types/inputs.d.ts +6 -0
  29. package/lib/providers/kinesis/types/inputs.js +4 -0
  30. package/lib/providers/kinesis/utils/constants.d.ts +6 -0
  31. package/lib/providers/kinesis/utils/constants.js +11 -0
  32. package/lib/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  33. package/lib/providers/kinesis/utils/getEventBuffer.js +103 -0
  34. package/lib/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  35. package/lib/providers/kinesis/utils/resolveConfig.js +24 -0
  36. package/lib/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  37. package/lib/providers/kinesis-firehose/apis/flushEvents.js +37 -0
  38. package/lib/providers/kinesis-firehose/apis/index.d.ts +2 -0
  39. package/lib/providers/kinesis-firehose/apis/index.js +9 -0
  40. package/lib/providers/kinesis-firehose/apis/record.d.ts +2 -0
  41. package/lib/providers/kinesis-firehose/apis/record.js +45 -0
  42. package/lib/providers/kinesis-firehose/index.d.ts +1 -0
  43. package/lib/providers/kinesis-firehose/index.js +8 -0
  44. package/lib/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  45. package/lib/providers/kinesis-firehose/types/index.d.ts +2 -0
  46. package/lib/providers/kinesis-firehose/types/index.js +4 -0
  47. package/lib/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  48. package/lib/providers/kinesis-firehose/types/inputs.js +4 -0
  49. package/lib/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  50. package/lib/providers/kinesis-firehose/utils/constants.js +11 -0
  51. package/lib/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  52. package/lib/providers/kinesis-firehose/utils/getEventBuffer.js +100 -0
  53. package/lib/providers/kinesis-firehose/utils/index.d.ts +2 -0
  54. package/lib/providers/kinesis-firehose/utils/index.js +9 -0
  55. package/lib/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  56. package/lib/providers/kinesis-firehose/utils/resolveConfig.js +24 -0
  57. package/lib/providers/personalize/apis/flushEvents.d.ts +8 -0
  58. package/lib/providers/personalize/apis/flushEvents.js +36 -0
  59. package/lib/providers/personalize/apis/index.d.ts +2 -0
  60. package/lib/providers/personalize/apis/index.js +9 -0
  61. package/lib/providers/personalize/apis/record.d.ts +2 -0
  62. package/lib/providers/personalize/apis/record.js +87 -0
  63. package/lib/providers/personalize/index.d.ts +1 -0
  64. package/lib/providers/personalize/index.js +8 -0
  65. package/lib/providers/personalize/types/buffer.d.ts +16 -0
  66. package/lib/providers/personalize/types/buffer.js +4 -0
  67. package/lib/providers/personalize/types/index.d.ts +2 -0
  68. package/lib/providers/personalize/types/index.js +4 -0
  69. package/lib/providers/personalize/types/inputs.d.ts +7 -0
  70. package/lib/providers/personalize/types/inputs.js +4 -0
  71. package/lib/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  72. package/lib/providers/personalize/utils/autoTrackMedia.js +183 -0
  73. package/lib/providers/personalize/utils/cachedSession.d.ts +5 -0
  74. package/lib/providers/personalize/utils/cachedSession.js +61 -0
  75. package/lib/providers/personalize/utils/constants.d.ts +7 -0
  76. package/lib/providers/personalize/utils/constants.js +12 -0
  77. package/lib/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  78. package/lib/providers/personalize/utils/getEventBuffer.js +100 -0
  79. package/lib/providers/personalize/utils/index.d.ts +5 -0
  80. package/lib/providers/personalize/utils/index.js +17 -0
  81. package/lib/providers/personalize/utils/resolveConfig.d.ts +7 -0
  82. package/lib/providers/personalize/utils/resolveConfig.js +25 -0
  83. package/lib/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
  84. package/lib/providers/pinpoint/apis/configureAutoTrack.js +35 -0
  85. package/lib/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  86. package/lib/providers/pinpoint/apis/flushEvents.js +28 -0
  87. package/lib/providers/pinpoint/apis/identifyUser.d.ts +7 -5
  88. package/lib/providers/pinpoint/apis/identifyUser.js +15 -11
  89. package/lib/providers/pinpoint/apis/index.d.ts +2 -0
  90. package/lib/providers/pinpoint/apis/index.js +5 -1
  91. package/lib/providers/pinpoint/apis/record.d.ts +8 -14
  92. package/lib/providers/pinpoint/apis/record.js +22 -24
  93. package/lib/providers/pinpoint/index.d.ts +2 -2
  94. package/lib/providers/pinpoint/index.js +3 -1
  95. package/lib/providers/pinpoint/types/index.d.ts +2 -2
  96. package/lib/providers/pinpoint/types/index.js +0 -3
  97. package/lib/providers/pinpoint/types/inputs.d.ts +8 -17
  98. package/lib/providers/pinpoint/types/options.d.ts +5 -0
  99. package/lib/providers/pinpoint/types/options.js +4 -0
  100. package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
  101. package/lib/trackers/EventTracker.d.ts +10 -0
  102. package/lib/trackers/EventTracker.js +104 -0
  103. package/lib/trackers/PageViewTracker.d.ts +18 -0
  104. package/lib/trackers/PageViewTracker.js +116 -0
  105. package/lib/trackers/SessionTracker.d.ts +13 -0
  106. package/lib/trackers/SessionTracker.js +73 -0
  107. package/lib/trackers/SessionTracker.native.d.ts +13 -0
  108. package/lib/trackers/SessionTracker.native.js +73 -0
  109. package/lib/trackers/index.d.ts +3 -0
  110. package/lib/trackers/index.js +11 -0
  111. package/lib/tsconfig.tsbuildinfo +1 -1
  112. package/lib/types/index.d.ts +3 -1
  113. package/lib/types/index.js +0 -2
  114. package/lib/types/inputs.d.ts +35 -0
  115. package/lib/types/inputs.js +4 -0
  116. package/lib/types/kinesis.d.ts +8 -0
  117. package/lib/types/kinesis.js +4 -0
  118. package/lib/types/options.d.ts +4 -0
  119. package/lib/types/options.js +4 -0
  120. package/lib/types/trackers.d.ts +22 -0
  121. package/lib/types/trackers.js +4 -0
  122. package/lib/utils/eventBuffer/EventBuffer.d.ts +16 -0
  123. package/lib/utils/eventBuffer/EventBuffer.js +91 -0
  124. package/lib/utils/eventBuffer/index.d.ts +2 -0
  125. package/lib/utils/eventBuffer/index.js +7 -0
  126. package/lib/utils/eventBuffer/types.d.ts +8 -0
  127. package/lib/utils/eventBuffer/types.js +4 -0
  128. package/lib/utils/groupBy.d.ts +1 -0
  129. package/lib/utils/groupBy.js +15 -0
  130. package/lib/utils/index.d.ts +7 -0
  131. package/lib/utils/index.js +22 -0
  132. package/lib/utils/resolveCredentials.d.ts +4 -0
  133. package/lib/utils/resolveCredentials.js +21 -0
  134. package/lib/utils/statusHelpers.d.ts +6 -0
  135. package/lib/utils/statusHelpers.js +19 -0
  136. package/lib/utils/trackerConfigHelpers.d.ts +5 -0
  137. package/lib/utils/trackerConfigHelpers.js +15 -0
  138. package/lib/utils/trackerConfigHelpers.native.d.ts +5 -0
  139. package/lib/utils/trackerConfigHelpers.native.js +14 -0
  140. package/lib/utils/trackerHelpers.d.ts +9 -0
  141. package/lib/utils/trackerHelpers.js +44 -0
  142. package/lib-esm/apis/disable.d.ts +8 -0
  143. package/lib-esm/apis/disable.js +11 -0
  144. package/lib-esm/apis/enable.d.ts +7 -0
  145. package/lib-esm/apis/enable.js +10 -0
  146. package/lib-esm/apis/index.d.ts +2 -0
  147. package/lib-esm/apis/index.js +4 -0
  148. package/lib-esm/errors/AnalyticsError.d.ts +2 -2
  149. package/lib-esm/errors/AnalyticsError.js +1 -1
  150. package/lib-esm/errors/assertValidationError.d.ts +1 -1
  151. package/lib-esm/errors/assertValidationError.js +7 -3
  152. package/lib-esm/errors/validation.d.ts +5 -2
  153. package/lib-esm/errors/validation.js +16 -4
  154. package/lib-esm/index.d.ts +2 -1
  155. package/lib-esm/index.js +2 -1
  156. package/lib-esm/providers/kinesis/apis/flushEvents.d.ts +8 -0
  157. package/lib-esm/providers/kinesis/apis/flushEvents.js +34 -0
  158. package/lib-esm/providers/kinesis/apis/index.d.ts +2 -0
  159. package/lib-esm/providers/kinesis/apis/index.js +4 -0
  160. package/lib-esm/providers/kinesis/apis/record.d.ts +2 -0
  161. package/lib-esm/providers/kinesis/apis/record.js +44 -0
  162. package/lib-esm/providers/kinesis/index.d.ts +1 -0
  163. package/lib-esm/providers/kinesis/index.js +3 -0
  164. package/lib-esm/providers/kinesis/types/buffer.d.ts +15 -0
  165. package/lib-esm/providers/kinesis/types/buffer.js +3 -0
  166. package/lib-esm/providers/kinesis/types/index.d.ts +2 -0
  167. package/lib-esm/providers/kinesis/types/index.js +3 -0
  168. package/lib-esm/providers/kinesis/types/inputs.d.ts +6 -0
  169. package/lib-esm/providers/kinesis/types/inputs.js +3 -0
  170. package/lib-esm/providers/kinesis/utils/constants.d.ts +6 -0
  171. package/lib-esm/providers/kinesis/utils/constants.js +8 -0
  172. package/lib-esm/providers/kinesis/utils/getEventBuffer.d.ts +3 -0
  173. package/lib-esm/providers/kinesis/utils/getEventBuffer.js +99 -0
  174. package/lib-esm/providers/kinesis/utils/resolveConfig.d.ts +7 -0
  175. package/lib-esm/providers/kinesis/utils/resolveConfig.js +20 -0
  176. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.d.ts +8 -0
  177. package/lib-esm/providers/kinesis-firehose/apis/flushEvents.js +33 -0
  178. package/lib-esm/providers/kinesis-firehose/apis/index.d.ts +2 -0
  179. package/lib-esm/providers/kinesis-firehose/apis/index.js +4 -0
  180. package/lib-esm/providers/kinesis-firehose/apis/record.d.ts +2 -0
  181. package/lib-esm/providers/kinesis-firehose/apis/record.js +41 -0
  182. package/lib-esm/providers/kinesis-firehose/index.d.ts +1 -0
  183. package/lib-esm/providers/kinesis-firehose/index.js +3 -0
  184. package/lib-esm/providers/kinesis-firehose/types/buffer.d.ts +15 -0
  185. package/lib-esm/providers/kinesis-firehose/types/index.d.ts +2 -0
  186. package/lib-esm/providers/kinesis-firehose/types/index.js +3 -0
  187. package/lib-esm/providers/kinesis-firehose/types/inputs.d.ts +5 -0
  188. package/lib-esm/providers/kinesis-firehose/types/inputs.js +3 -0
  189. package/lib-esm/providers/kinesis-firehose/utils/constants.d.ts +6 -0
  190. package/lib-esm/providers/kinesis-firehose/utils/constants.js +8 -0
  191. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.d.ts +3 -0
  192. package/lib-esm/providers/kinesis-firehose/utils/getEventBuffer.js +96 -0
  193. package/lib-esm/providers/kinesis-firehose/utils/index.d.ts +2 -0
  194. package/lib-esm/providers/kinesis-firehose/utils/index.js +4 -0
  195. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.d.ts +7 -0
  196. package/lib-esm/providers/kinesis-firehose/utils/resolveConfig.js +20 -0
  197. package/lib-esm/providers/personalize/apis/flushEvents.d.ts +8 -0
  198. package/lib-esm/providers/personalize/apis/flushEvents.js +32 -0
  199. package/lib-esm/providers/personalize/apis/index.d.ts +2 -0
  200. package/lib-esm/providers/personalize/apis/index.js +4 -0
  201. package/lib-esm/providers/personalize/apis/record.d.ts +2 -0
  202. package/lib-esm/providers/personalize/apis/record.js +83 -0
  203. package/lib-esm/providers/personalize/index.d.ts +1 -0
  204. package/lib-esm/providers/personalize/index.js +3 -0
  205. package/lib-esm/providers/personalize/types/buffer.d.ts +16 -0
  206. package/lib-esm/providers/personalize/types/buffer.js +3 -0
  207. package/lib-esm/providers/personalize/types/index.d.ts +2 -0
  208. package/lib-esm/providers/personalize/types/index.js +3 -0
  209. package/lib-esm/providers/personalize/types/inputs.d.ts +7 -0
  210. package/lib-esm/providers/personalize/types/inputs.js +3 -0
  211. package/lib-esm/providers/personalize/utils/autoTrackMedia.d.ts +10 -0
  212. package/lib-esm/providers/personalize/utils/autoTrackMedia.js +179 -0
  213. package/lib-esm/providers/personalize/utils/cachedSession.d.ts +5 -0
  214. package/lib-esm/providers/personalize/utils/cachedSession.js +56 -0
  215. package/lib-esm/providers/personalize/utils/constants.d.ts +7 -0
  216. package/lib-esm/providers/personalize/utils/constants.js +9 -0
  217. package/lib-esm/providers/personalize/utils/getEventBuffer.d.ts +3 -0
  218. package/lib-esm/providers/personalize/utils/getEventBuffer.js +96 -0
  219. package/lib-esm/providers/personalize/utils/index.d.ts +5 -0
  220. package/lib-esm/providers/personalize/utils/index.js +7 -0
  221. package/lib-esm/providers/personalize/utils/resolveConfig.d.ts +7 -0
  222. package/lib-esm/providers/personalize/utils/resolveConfig.js +21 -0
  223. package/lib-esm/providers/pinpoint/apis/configureAutoTrack.d.ts +15 -0
  224. package/lib-esm/providers/pinpoint/apis/configureAutoTrack.js +31 -0
  225. package/lib-esm/providers/pinpoint/apis/flushEvents.d.ts +8 -0
  226. package/lib-esm/providers/pinpoint/apis/flushEvents.js +24 -0
  227. package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +7 -5
  228. package/lib-esm/providers/pinpoint/apis/identifyUser.js +13 -9
  229. package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
  230. package/lib-esm/providers/pinpoint/apis/index.js +2 -0
  231. package/lib-esm/providers/pinpoint/apis/record.d.ts +8 -14
  232. package/lib-esm/providers/pinpoint/apis/record.js +20 -22
  233. package/lib-esm/providers/pinpoint/index.d.ts +2 -2
  234. package/lib-esm/providers/pinpoint/index.js +1 -1
  235. package/lib-esm/providers/pinpoint/types/index.d.ts +2 -2
  236. package/lib-esm/providers/pinpoint/types/index.js +1 -1
  237. package/lib-esm/providers/pinpoint/types/inputs.d.ts +8 -17
  238. package/lib-esm/providers/pinpoint/types/options.d.ts +5 -0
  239. package/lib-esm/providers/pinpoint/types/options.js +3 -0
  240. package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +1 -6
  241. package/lib-esm/trackers/EventTracker.d.ts +10 -0
  242. package/lib-esm/trackers/EventTracker.js +101 -0
  243. package/lib-esm/trackers/PageViewTracker.d.ts +18 -0
  244. package/lib-esm/trackers/PageViewTracker.js +113 -0
  245. package/lib-esm/trackers/SessionTracker.d.ts +13 -0
  246. package/lib-esm/trackers/SessionTracker.js +70 -0
  247. package/lib-esm/trackers/SessionTracker.native.d.ts +13 -0
  248. package/lib-esm/trackers/SessionTracker.native.js +70 -0
  249. package/lib-esm/trackers/index.d.ts +3 -0
  250. package/lib-esm/trackers/index.js +5 -0
  251. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  252. package/lib-esm/types/index.d.ts +3 -1
  253. package/lib-esm/types/index.js +1 -1
  254. package/lib-esm/types/inputs.d.ts +35 -0
  255. package/lib-esm/types/inputs.js +3 -0
  256. package/lib-esm/types/kinesis.d.ts +8 -0
  257. package/lib-esm/types/kinesis.js +3 -0
  258. package/lib-esm/types/options.d.ts +4 -0
  259. package/lib-esm/types/options.js +3 -0
  260. package/lib-esm/types/trackers.d.ts +22 -0
  261. package/lib-esm/types/trackers.js +3 -0
  262. package/lib-esm/utils/eventBuffer/EventBuffer.d.ts +16 -0
  263. package/lib-esm/utils/eventBuffer/EventBuffer.js +88 -0
  264. package/lib-esm/utils/eventBuffer/index.d.ts +2 -0
  265. package/lib-esm/utils/eventBuffer/index.js +3 -0
  266. package/lib-esm/utils/eventBuffer/types.d.ts +8 -0
  267. package/lib-esm/utils/eventBuffer/types.js +3 -0
  268. package/lib-esm/utils/groupBy.d.ts +1 -0
  269. package/lib-esm/utils/groupBy.js +11 -0
  270. package/lib-esm/utils/index.d.ts +7 -0
  271. package/lib-esm/utils/index.js +9 -0
  272. package/lib-esm/utils/resolveCredentials.d.ts +4 -0
  273. package/lib-esm/utils/resolveCredentials.js +17 -0
  274. package/lib-esm/utils/statusHelpers.d.ts +6 -0
  275. package/lib-esm/utils/statusHelpers.js +13 -0
  276. package/lib-esm/utils/trackerConfigHelpers.d.ts +5 -0
  277. package/lib-esm/utils/trackerConfigHelpers.js +11 -0
  278. package/lib-esm/utils/trackerConfigHelpers.native.d.ts +5 -0
  279. package/lib-esm/utils/trackerConfigHelpers.native.js +10 -0
  280. package/lib-esm/utils/trackerHelpers.d.ts +9 -0
  281. package/lib-esm/utils/trackerHelpers.js +40 -0
  282. package/package.json +39 -9
  283. package/personalize/package.json +7 -0
  284. package/src/apis/disable.ts +13 -0
  285. package/src/apis/enable.ts +12 -0
  286. package/src/apis/index.ts +5 -0
  287. package/src/errors/AnalyticsError.ts +5 -2
  288. package/src/errors/assertValidationError.ts +9 -3
  289. package/src/errors/validation.ts +16 -4
  290. package/src/index.ts +4 -0
  291. package/src/providers/kinesis/apis/flushEvents.ts +40 -0
  292. package/src/providers/kinesis/apis/index.ts +5 -0
  293. package/src/providers/kinesis/apis/record.ts +58 -0
  294. package/src/providers/kinesis/index.ts +4 -0
  295. package/src/providers/kinesis/types/buffer.ts +20 -0
  296. package/src/providers/kinesis/types/index.ts +5 -0
  297. package/src/providers/kinesis/types/inputs.ts +10 -0
  298. package/src/providers/kinesis/utils/constants.ts +9 -0
  299. package/src/providers/kinesis/utils/getEventBuffer.ts +110 -0
  300. package/src/providers/kinesis/utils/resolveConfig.ts +36 -0
  301. package/src/providers/kinesis-firehose/apis/flushEvents.ts +39 -0
  302. package/src/providers/kinesis-firehose/apis/index.ts +5 -0
  303. package/src/providers/kinesis-firehose/apis/record.ts +51 -0
  304. package/src/providers/kinesis-firehose/index.ts +4 -0
  305. package/src/providers/kinesis-firehose/types/buffer.ts +20 -0
  306. package/src/providers/kinesis-firehose/types/index.ts +9 -0
  307. package/src/providers/kinesis-firehose/types/inputs.ts +9 -0
  308. package/src/providers/kinesis-firehose/utils/constants.ts +9 -0
  309. package/src/providers/kinesis-firehose/utils/getEventBuffer.ts +118 -0
  310. package/src/providers/kinesis-firehose/utils/index.ts +5 -0
  311. package/src/providers/kinesis-firehose/utils/resolveConfig.ts +36 -0
  312. package/src/providers/personalize/apis/flushEvents.ts +37 -0
  313. package/src/providers/personalize/apis/index.ts +5 -0
  314. package/src/providers/personalize/apis/record.ts +102 -0
  315. package/src/providers/personalize/index.ts +4 -0
  316. package/src/providers/personalize/types/buffer.ts +21 -0
  317. package/src/providers/personalize/types/index.ts +5 -0
  318. package/src/providers/personalize/types/inputs.ts +11 -0
  319. package/src/providers/personalize/utils/autoTrackMedia.ts +232 -0
  320. package/src/providers/personalize/utils/cachedSession.ts +68 -0
  321. package/src/providers/personalize/utils/constants.ts +12 -0
  322. package/src/providers/personalize/utils/getEventBuffer.ts +111 -0
  323. package/src/providers/personalize/utils/index.ts +11 -0
  324. package/src/providers/personalize/utils/resolveConfig.ts +41 -0
  325. package/src/providers/pinpoint/apis/configureAutoTrack.ts +49 -0
  326. package/src/providers/pinpoint/apis/flushEvents.ts +32 -0
  327. package/src/providers/pinpoint/apis/identifyUser.ts +20 -12
  328. package/src/providers/pinpoint/apis/index.ts +2 -0
  329. package/src/providers/pinpoint/apis/record.ts +31 -23
  330. package/src/providers/pinpoint/index.ts +6 -2
  331. package/src/providers/pinpoint/types/index.ts +6 -2
  332. package/src/providers/pinpoint/types/inputs.ts +11 -17
  333. package/src/providers/pinpoint/types/options.ts +12 -0
  334. package/src/trackers/EventTracker.ts +135 -0
  335. package/src/trackers/PageViewTracker.ts +160 -0
  336. package/src/trackers/SessionTracker.native.ts +106 -0
  337. package/src/trackers/SessionTracker.ts +106 -0
  338. package/src/trackers/index.ts +6 -0
  339. package/src/types/index.ts +8 -1
  340. package/src/types/inputs.ts +52 -0
  341. package/src/types/kinesis.ts +13 -0
  342. package/src/types/options.ts +7 -0
  343. package/src/types/trackers.ts +35 -0
  344. package/src/utils/eventBuffer/EventBuffer.ts +84 -0
  345. package/src/utils/eventBuffer/index.ts +5 -0
  346. package/src/utils/eventBuffer/types.ts +12 -0
  347. package/src/utils/groupBy.ts +12 -0
  348. package/src/utils/index.ts +21 -0
  349. package/src/utils/resolveCredentials.ts +14 -0
  350. package/src/utils/statusHelpers.ts +17 -0
  351. package/src/utils/trackerConfigHelpers.native.ts +18 -0
  352. package/src/utils/trackerConfigHelpers.ts +19 -0
  353. package/src/utils/trackerHelpers.ts +57 -0
  354. package/lib/providers/pinpoint/types/errors.d.ts +0 -9
  355. package/lib/providers/pinpoint/types/errors.js +0 -15
  356. package/lib/types/analytics.d.ts +0 -50
  357. package/lib-esm/providers/pinpoint/types/errors.d.ts +0 -9
  358. package/lib-esm/providers/pinpoint/types/errors.js +0 -12
  359. package/lib-esm/types/analytics.d.ts +0 -50
  360. package/src/providers/pinpoint/types/errors.ts +0 -12
  361. package/src/types/analytics.ts +0 -70
  362. /package/lib/{types/analytics.js → providers/kinesis-firehose/types/buffer.js} +0 -0
  363. /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,91 @@
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 tslib_1 = require("tslib");
7
+ var core_1 = require("@aws-amplify/core");
8
+ var logger = new core_1.ConsoleLogger('EventBuffer');
9
+ var EventBuffer = /** @class */ (function () {
10
+ function EventBuffer(config, getAnalyticsClient) {
11
+ this.list = [];
12
+ this.config = config;
13
+ this.getAnalyticsClient = getAnalyticsClient;
14
+ this.startEventLoop();
15
+ }
16
+ EventBuffer.prototype.append = function () {
17
+ var e_1, _a;
18
+ var events = [];
19
+ for (var _i = 0; _i < arguments.length; _i++) {
20
+ events[_i] = arguments[_i];
21
+ }
22
+ try {
23
+ for (var events_1 = tslib_1.__values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {
24
+ var event_1 = events_1_1.value;
25
+ if (this.list.length + 1 > this.config.bufferSize) {
26
+ logger.debug("Exceed ".concat(typeof event_1, " event buffer limits, event dropped"));
27
+ continue;
28
+ }
29
+ this.list.push(event_1);
30
+ }
31
+ }
32
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
33
+ finally {
34
+ try {
35
+ if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);
36
+ }
37
+ finally { if (e_1) throw e_1.error; }
38
+ }
39
+ };
40
+ EventBuffer.prototype.flushAll = function () {
41
+ return this.submitEvents(this.list.length);
42
+ };
43
+ EventBuffer.prototype.release = function () {
44
+ this.list = [];
45
+ if (this.timer) {
46
+ clearInterval(this.timer);
47
+ }
48
+ };
49
+ Object.defineProperty(EventBuffer.prototype, "length", {
50
+ get: function () {
51
+ return this.list.length;
52
+ },
53
+ enumerable: false,
54
+ configurable: true
55
+ });
56
+ EventBuffer.prototype.head = function (count) {
57
+ return this.list.splice(0, count);
58
+ };
59
+ EventBuffer.prototype.insertAtBeginning = function () {
60
+ var _a;
61
+ var data = [];
62
+ for (var _i = 0; _i < arguments.length; _i++) {
63
+ data[_i] = arguments[_i];
64
+ }
65
+ (_a = this.list).unshift.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(data), false));
66
+ };
67
+ EventBuffer.prototype.startEventLoop = function () {
68
+ var _this = this;
69
+ if (this.timer) {
70
+ clearInterval(this.timer);
71
+ }
72
+ var _a = this.config, flushSize = _a.flushSize, flushInterval = _a.flushInterval;
73
+ setInterval(function () {
74
+ _this.submitEvents(flushSize);
75
+ }, flushInterval);
76
+ };
77
+ EventBuffer.prototype.submitEvents = function (count) {
78
+ var _this = this;
79
+ var events = this.head(count);
80
+ if (events.length === 0) {
81
+ return Promise.resolve();
82
+ }
83
+ return this.getAnalyticsClient()(events).then(function (result) {
84
+ if (result.length > 0) {
85
+ _this.insertAtBeginning.apply(_this, tslib_1.__spreadArray([], tslib_1.__read(result), false));
86
+ }
87
+ });
88
+ };
89
+ return EventBuffer;
90
+ }());
91
+ 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,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.groupBy = void 0;
6
+ var tslib_1 = require("tslib");
7
+ var groupBy = function (getGroupId, list) {
8
+ return list.reduce(function (result, current) {
9
+ var _a;
10
+ var _b;
11
+ var groupId = getGroupId(current);
12
+ return tslib_1.__assign(tslib_1.__assign({}, result), (_a = {}, _a[groupId] = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(((_b = result[groupId]) !== null && _b !== void 0 ? _b : [])), false), [current], false), _a));
13
+ }, {});
14
+ };
15
+ 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,21 @@
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
+ var tslib_1 = require("tslib");
7
+ var errors_1 = require("../errors");
8
+ var core_1 = require("@aws-amplify/core");
9
+ var resolveCredentials = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
10
+ var _a, credentials, identityId;
11
+ return tslib_1.__generator(this, function (_b) {
12
+ switch (_b.label) {
13
+ case 0: return [4 /*yield*/, (0, core_1.fetchAuthSession)()];
14
+ case 1:
15
+ _a = _b.sent(), credentials = _a.credentials, identityId = _a.identityId;
16
+ (0, errors_1.assertValidationError)(!!credentials, errors_1.AnalyticsValidationErrorCode.NoCredentials);
17
+ return [2 /*return*/, { credentials: credentials, identityId: identityId }];
18
+ }
19
+ });
20
+ }); };
21
+ 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
+ var analyticsEnabled = true;
7
+ var enableAnalytics = function () {
8
+ analyticsEnabled = true;
9
+ };
10
+ exports.enableAnalytics = enableAnalytics;
11
+ var disableAnalytics = function () {
12
+ analyticsEnabled = false;
13
+ };
14
+ exports.disableAnalytics = disableAnalytics;
15
+ /**
16
+ * Returns the current status of the Analytics category.
17
+ */
18
+ var isAnalyticsEnabled = function () { return 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
+ var errors_1 = require("../errors");
7
+ /**
8
+ * Validates tracker configuration.
9
+ */
10
+ var validateTrackerConfiguration = function (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
+ var errors_1 = require("../errors");
7
+ /**
8
+ * Validates tracker configuration.
9
+ */
10
+ var validateTrackerConfiguration = function (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
+ var 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
+ var updateProviderTrackers = function (input, providerEventRecorder, providerTrackers) {
14
+ var trackerInstance;
15
+ var trackerType = input.type;
16
+ var 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;
@@ -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 var 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 var 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,7 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { __extends } from "tslib";
4
- import { AmplifyError } from '@aws-amplify/core/internals/utils';
4
+ import { AmplifyError, } from '@aws-amplify/core/internals/utils';
5
5
  /**
6
6
  * @internal
7
7
  */
@@ -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
+ var _a = validationErrorMap[name], defaultMessage = _a.message, recoverySuggestion = _a.recoverySuggestion;
10
10
  if (!assertion) {
11
- throw new AnalyticsError({ name: name, message: message, recoverySuggestion: recoverySuggestion });
11
+ throw new AnalyticsError({
12
+ name: name,
13
+ message: message !== null && message !== void 0 ? message : defaultMessage,
14
+ recoverySuggestion: 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>;
@@ -5,9 +5,12 @@ export var AnalyticsValidationErrorCode;
5
5
  (function (AnalyticsValidationErrorCode) {
6
6
  AnalyticsValidationErrorCode["NoAppId"] = "NoAppId";
7
7
  AnalyticsValidationErrorCode["NoCredentials"] = "NoCredentials";
8
- AnalyticsValidationErrorCode["NoEvent"] = "NoEvent";
9
8
  AnalyticsValidationErrorCode["NoEventName"] = "NoEventName";
10
9
  AnalyticsValidationErrorCode["NoRegion"] = "NoRegion";
10
+ AnalyticsValidationErrorCode["InvalidTracker"] = "InvalidTracker";
11
+ AnalyticsValidationErrorCode["UnsupportedPlatform"] = "UnsupportedPlatform";
12
+ AnalyticsValidationErrorCode["NoTrackingId"] = "NoTrackingId";
13
+ AnalyticsValidationErrorCode["InvalidFlushSize"] = "InvalidFlushSize";
11
14
  })(AnalyticsValidationErrorCode || (AnalyticsValidationErrorCode = {}));
12
15
  export var validationErrorMap = (_a = {},
13
16
  _a[AnalyticsValidationErrorCode.NoAppId] = {
@@ -16,13 +19,22 @@ export var validationErrorMap = (_a = {},
16
19
  _a[AnalyticsValidationErrorCode.NoCredentials] = {
17
20
  message: 'Credentials should not be empty.',
18
21
  },
19
- _a[AnalyticsValidationErrorCode.NoEvent] = {
20
- message: 'An event is required to record.',
21
- },
22
22
  _a[AnalyticsValidationErrorCode.NoEventName] = {
23
23
  message: 'Events must specify a name.',
24
24
  },
25
25
  _a[AnalyticsValidationErrorCode.NoRegion] = {
26
26
  message: 'Missing region.',
27
27
  },
28
+ _a[AnalyticsValidationErrorCode.InvalidTracker] = {
29
+ message: 'Invalid tracker type specified.',
30
+ },
31
+ _a[AnalyticsValidationErrorCode.UnsupportedPlatform] = {
32
+ message: 'Only session tracking is supported on React Native.',
33
+ },
34
+ _a[AnalyticsValidationErrorCode.InvalidFlushSize] = {
35
+ message: 'Invalid FlushSize, it should be smaller than BufferSize',
36
+ },
37
+ _a[AnalyticsValidationErrorCode.NoTrackingId] = {
38
+ message: 'A trackingId is required to use Amazon Personalize',
39
+ },
28
40
  _a);
@@ -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,34 @@
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
+ var 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 var flushEvents = function () {
17
+ var _a = resolveConfig(), region = _a.region, flushSize = _a.flushSize, flushInterval = _a.flushInterval, bufferSize = _a.bufferSize, resendLimit = _a.resendLimit;
18
+ resolveCredentials()
19
+ .then(function (_a) {
20
+ var credentials = _a.credentials, identityId = _a.identityId;
21
+ return getEventBuffer({
22
+ region: region,
23
+ flushSize: flushSize,
24
+ flushInterval: flushInterval,
25
+ bufferSize: bufferSize,
26
+ credentials: credentials,
27
+ identityId: identityId,
28
+ resendLimit: resendLimit,
29
+ userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
30
+ });
31
+ })
32
+ .then(function (eventBuffer) { return eventBuffer.flushAll(); })
33
+ .catch(function (e) { return logger.warn('Failed to flush events.', e); });
34
+ };
@@ -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;