@amplitude/analytics-core 2.5.6 → 2.6.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 (389) hide show
  1. package/lib/cjs/analytics-connector.d.ts +5 -0
  2. package/lib/cjs/analytics-connector.d.ts.map +1 -0
  3. package/lib/cjs/analytics-connector.js +20 -0
  4. package/lib/cjs/analytics-connector.js.map +1 -0
  5. package/lib/cjs/config.d.ts +107 -3
  6. package/lib/cjs/config.d.ts.map +1 -1
  7. package/lib/cjs/config.js +3 -3
  8. package/lib/cjs/config.js.map +1 -1
  9. package/lib/cjs/cookie-name.d.ts +3 -0
  10. package/lib/cjs/cookie-name.d.ts.map +1 -0
  11. package/lib/cjs/cookie-name.js +15 -0
  12. package/lib/cjs/cookie-name.js.map +1 -0
  13. package/lib/cjs/core-client.d.ts +154 -14
  14. package/lib/cjs/core-client.d.ts.map +1 -1
  15. package/lib/cjs/core-client.js +1 -1
  16. package/lib/cjs/core-client.js.map +1 -1
  17. package/lib/cjs/event-bridge/event-bridge-channel.d.ts +4 -3
  18. package/lib/cjs/event-bridge/event-bridge-channel.d.ts.map +1 -1
  19. package/lib/cjs/event-bridge/event-bridge-channel.js.map +1 -1
  20. package/lib/cjs/event-bridge/event-bridge-container.d.ts +1 -1
  21. package/lib/cjs/event-bridge/event-bridge-container.d.ts.map +1 -1
  22. package/lib/cjs/event-bridge/event-bridge-container.js.map +1 -1
  23. package/lib/cjs/event-bridge/event-bridge.d.ts +9 -2
  24. package/lib/cjs/event-bridge/event-bridge.d.ts.map +1 -1
  25. package/lib/cjs/event-bridge/event-bridge.js.map +1 -1
  26. package/lib/cjs/global-scope.d.ts +2 -0
  27. package/lib/cjs/global-scope.d.ts.map +1 -0
  28. package/lib/cjs/global-scope.js +28 -0
  29. package/lib/cjs/global-scope.js.map +1 -0
  30. package/lib/cjs/identify.d.ts +48 -1
  31. package/lib/cjs/identify.d.ts.map +1 -1
  32. package/lib/cjs/identify.js +32 -16
  33. package/lib/cjs/identify.js.map +1 -1
  34. package/lib/cjs/index.d.ts +37 -8
  35. package/lib/cjs/index.d.ts.map +1 -1
  36. package/lib/cjs/index.js +39 -6
  37. package/lib/cjs/index.js.map +1 -1
  38. package/lib/cjs/language.d.ts +2 -0
  39. package/lib/cjs/language.d.ts.map +1 -0
  40. package/lib/cjs/language.js +13 -0
  41. package/lib/cjs/language.js.map +1 -0
  42. package/lib/cjs/logger.d.ts +27 -1
  43. package/lib/cjs/logger.d.ts.map +1 -1
  44. package/lib/cjs/logger.js +8 -8
  45. package/lib/cjs/logger.js.map +1 -1
  46. package/lib/cjs/plugins/destination.d.ts +14 -3
  47. package/lib/cjs/plugins/destination.d.ts.map +1 -1
  48. package/lib/cjs/plugins/destination.js +8 -8
  49. package/lib/cjs/plugins/destination.js.map +1 -1
  50. package/lib/cjs/plugins/identity.d.ts +11 -0
  51. package/lib/cjs/plugins/identity.d.ts.map +1 -0
  52. package/lib/cjs/plugins/identity.js +37 -0
  53. package/lib/cjs/plugins/identity.js.map +1 -0
  54. package/lib/cjs/query-params.d.ts +3 -0
  55. package/lib/cjs/query-params.d.ts.map +1 -0
  56. package/lib/cjs/query-params.js +36 -0
  57. package/lib/cjs/query-params.js.map +1 -0
  58. package/lib/cjs/revenue.d.ts +43 -1
  59. package/lib/cjs/revenue.d.ts.map +1 -1
  60. package/lib/cjs/revenue.js +28 -8
  61. package/lib/cjs/revenue.js.map +1 -1
  62. package/lib/cjs/session.d.ts +2 -0
  63. package/lib/cjs/session.d.ts.map +1 -0
  64. package/lib/cjs/session.js +11 -0
  65. package/lib/cjs/session.js.map +1 -0
  66. package/lib/cjs/storage/cookie.d.ts +13 -0
  67. package/lib/cjs/storage/cookie.d.ts.map +1 -0
  68. package/lib/cjs/storage/cookie.js +172 -0
  69. package/lib/cjs/storage/cookie.js.map +1 -0
  70. package/lib/cjs/storage/helpers.d.ts +2 -0
  71. package/lib/cjs/storage/helpers.d.ts.map +1 -0
  72. package/lib/cjs/storage/helpers.js +11 -0
  73. package/lib/cjs/storage/helpers.js.map +1 -0
  74. package/lib/cjs/storage/memory.d.ts +1 -1
  75. package/lib/cjs/storage/memory.d.ts.map +1 -1
  76. package/lib/cjs/storage/memory.js.map +1 -1
  77. package/lib/cjs/timeline.d.ts +8 -3
  78. package/lib/cjs/timeline.d.ts.map +1 -1
  79. package/lib/cjs/timeline.js.map +1 -1
  80. package/lib/cjs/transports/base.d.ts +4 -1
  81. package/lib/cjs/transports/base.d.ts.map +1 -1
  82. package/lib/cjs/transports/base.js +13 -16
  83. package/lib/cjs/transports/base.js.map +1 -1
  84. package/lib/cjs/transports/fetch.d.ts +8 -0
  85. package/lib/cjs/transports/fetch.d.ts.map +1 -0
  86. package/lib/cjs/transports/fetch.js +50 -0
  87. package/lib/cjs/transports/fetch.js.map +1 -0
  88. package/lib/cjs/types/browser-client.d.ts +131 -0
  89. package/lib/cjs/types/browser-client.d.ts.map +1 -0
  90. package/lib/cjs/types/browser-client.js +3 -0
  91. package/lib/cjs/types/browser-client.js.map +1 -0
  92. package/lib/cjs/types/browser-config.d.ts +216 -0
  93. package/lib/cjs/types/browser-config.d.ts.map +1 -0
  94. package/lib/cjs/types/browser-config.js +3 -0
  95. package/lib/cjs/types/browser-config.js.map +1 -0
  96. package/lib/cjs/types/constants.d.ts.map +1 -0
  97. package/lib/cjs/types/constants.js.map +1 -0
  98. package/lib/cjs/types/element-interactions.d.ts +73 -0
  99. package/lib/cjs/types/element-interactions.d.ts.map +1 -0
  100. package/lib/cjs/types/element-interactions.js +34 -0
  101. package/lib/cjs/types/element-interactions.js.map +1 -0
  102. package/lib/cjs/types/event/base-event.d.ts +64 -0
  103. package/lib/cjs/types/event/base-event.d.ts.map +1 -0
  104. package/lib/cjs/types/event/base-event.js +3 -0
  105. package/lib/cjs/types/event/base-event.js.map +1 -0
  106. package/lib/cjs/types/event/event.d.ts +68 -0
  107. package/lib/cjs/types/event/event.d.ts.map +1 -0
  108. package/lib/cjs/types/event/event.js +31 -0
  109. package/lib/cjs/types/event/event.js.map +1 -0
  110. package/lib/cjs/types/event/ingestion-metadata.d.ts +19 -0
  111. package/lib/cjs/types/event/ingestion-metadata.d.ts.map +1 -0
  112. package/lib/cjs/types/event/ingestion-metadata.js +3 -0
  113. package/lib/cjs/types/event/ingestion-metadata.js.map +1 -0
  114. package/lib/cjs/types/event/plan.d.ts +14 -0
  115. package/lib/cjs/types/event/plan.d.ts.map +1 -0
  116. package/lib/cjs/types/event/plan.js +3 -0
  117. package/lib/cjs/types/event/plan.js.map +1 -0
  118. package/lib/cjs/types/event-callback.d.ts +3 -0
  119. package/lib/cjs/types/event-callback.d.ts.map +1 -0
  120. package/lib/cjs/types/event-callback.js +3 -0
  121. package/lib/cjs/types/event-callback.js.map +1 -0
  122. package/lib/cjs/types/loglevel.d.ts +8 -0
  123. package/lib/cjs/types/loglevel.d.ts.map +1 -0
  124. package/lib/cjs/types/loglevel.js +12 -0
  125. package/lib/cjs/types/loglevel.js.map +1 -0
  126. package/lib/cjs/types/messages.d.ts.map +1 -0
  127. package/lib/cjs/types/messages.js.map +1 -0
  128. package/lib/cjs/types/offline.d.ts +2 -0
  129. package/lib/cjs/types/offline.d.ts.map +1 -0
  130. package/lib/cjs/types/offline.js +5 -0
  131. package/lib/cjs/types/offline.js.map +1 -0
  132. package/lib/cjs/types/page-view-tracking.d.ts +9 -0
  133. package/lib/cjs/types/page-view-tracking.d.ts.map +1 -0
  134. package/lib/cjs/types/page-view-tracking.js +3 -0
  135. package/lib/cjs/types/page-view-tracking.js.map +1 -0
  136. package/lib/cjs/types/payload.d.ts +13 -0
  137. package/lib/cjs/types/payload.d.ts.map +1 -0
  138. package/lib/cjs/types/payload.js +3 -0
  139. package/lib/cjs/types/payload.js.map +1 -0
  140. package/lib/cjs/types/plugin.d.ts +30 -0
  141. package/lib/cjs/types/plugin.d.ts.map +1 -0
  142. package/lib/cjs/types/plugin.js +3 -0
  143. package/lib/cjs/types/plugin.js.map +1 -0
  144. package/lib/cjs/types/response.d.ts +81 -0
  145. package/lib/cjs/types/response.d.ts.map +1 -0
  146. package/lib/cjs/types/response.js +3 -0
  147. package/lib/cjs/types/response.js.map +1 -0
  148. package/lib/cjs/types/result.d.ts +7 -0
  149. package/lib/cjs/types/result.d.ts.map +1 -0
  150. package/lib/cjs/types/result.js +3 -0
  151. package/lib/cjs/types/result.js.map +1 -0
  152. package/lib/cjs/types/server-zone.d.ts +9 -0
  153. package/lib/cjs/types/server-zone.d.ts.map +1 -0
  154. package/lib/cjs/types/server-zone.js +12 -0
  155. package/lib/cjs/types/server-zone.js.map +1 -0
  156. package/lib/cjs/types/status.d.ts +22 -0
  157. package/lib/cjs/types/status.d.ts.map +1 -0
  158. package/lib/cjs/types/status.js +26 -0
  159. package/lib/cjs/types/status.js.map +1 -0
  160. package/lib/cjs/types/storage.d.ts +16 -0
  161. package/lib/cjs/types/storage.d.ts.map +1 -0
  162. package/lib/cjs/types/storage.js +3 -0
  163. package/lib/cjs/types/storage.js.map +1 -0
  164. package/lib/cjs/types/transport.d.ts +7 -0
  165. package/lib/cjs/types/transport.d.ts.map +1 -0
  166. package/lib/cjs/types/transport.js +3 -0
  167. package/lib/cjs/types/transport.js.map +1 -0
  168. package/lib/cjs/types/user-session.d.ts +11 -0
  169. package/lib/cjs/types/user-session.d.ts.map +1 -0
  170. package/lib/cjs/types/user-session.js +3 -0
  171. package/lib/cjs/types/user-session.js.map +1 -0
  172. package/lib/cjs/utils/debug.d.ts +1 -1
  173. package/lib/cjs/utils/debug.d.ts.map +1 -1
  174. package/lib/cjs/utils/debug.js +2 -6
  175. package/lib/cjs/utils/debug.js.map +1 -1
  176. package/lib/cjs/utils/event-builder.d.ts +5 -2
  177. package/lib/cjs/utils/event-builder.d.ts.map +1 -1
  178. package/lib/cjs/utils/event-builder.js +5 -5
  179. package/lib/cjs/utils/event-builder.js.map +1 -1
  180. package/lib/cjs/utils/result-builder.d.ts +2 -1
  181. package/lib/cjs/utils/result-builder.d.ts.map +1 -1
  182. package/lib/cjs/utils/result-builder.js +2 -2
  183. package/lib/cjs/utils/result-builder.js.map +1 -1
  184. package/lib/cjs/utils/return-wrapper.d.ts +3 -1
  185. package/lib/cjs/utils/return-wrapper.d.ts.map +1 -1
  186. package/lib/cjs/utils/return-wrapper.js.map +1 -1
  187. package/lib/esm/analytics-connector.d.ts +5 -0
  188. package/lib/esm/analytics-connector.d.ts.map +1 -0
  189. package/lib/esm/analytics-connector.js +14 -0
  190. package/lib/esm/analytics-connector.js.map +1 -0
  191. package/lib/esm/config.d.ts +107 -3
  192. package/lib/esm/config.d.ts.map +1 -1
  193. package/lib/esm/config.js +2 -2
  194. package/lib/esm/config.js.map +1 -1
  195. package/lib/esm/cookie-name.d.ts +3 -0
  196. package/lib/esm/cookie-name.d.ts.map +1 -0
  197. package/lib/esm/cookie-name.js +10 -0
  198. package/lib/esm/cookie-name.js.map +1 -0
  199. package/lib/esm/core-client.d.ts +154 -14
  200. package/lib/esm/core-client.d.ts.map +1 -1
  201. package/lib/esm/core-client.js +1 -1
  202. package/lib/esm/core-client.js.map +1 -1
  203. package/lib/esm/event-bridge/event-bridge-channel.d.ts +4 -3
  204. package/lib/esm/event-bridge/event-bridge-channel.d.ts.map +1 -1
  205. package/lib/esm/event-bridge/event-bridge-channel.js.map +1 -1
  206. package/lib/esm/event-bridge/event-bridge-container.d.ts +1 -1
  207. package/lib/esm/event-bridge/event-bridge-container.d.ts.map +1 -1
  208. package/lib/esm/event-bridge/event-bridge-container.js.map +1 -1
  209. package/lib/esm/event-bridge/event-bridge.d.ts +9 -2
  210. package/lib/esm/event-bridge/event-bridge.d.ts.map +1 -1
  211. package/lib/esm/event-bridge/event-bridge.js.map +1 -1
  212. package/lib/esm/global-scope.d.ts +2 -0
  213. package/lib/esm/global-scope.d.ts.map +1 -0
  214. package/lib/esm/global-scope.js +24 -0
  215. package/lib/esm/global-scope.js.map +1 -0
  216. package/lib/esm/identify.d.ts +48 -1
  217. package/lib/esm/identify.d.ts.map +1 -1
  218. package/lib/esm/identify.js +18 -2
  219. package/lib/esm/identify.js.map +1 -1
  220. package/lib/esm/index.d.ts +37 -8
  221. package/lib/esm/index.d.ts.map +1 -1
  222. package/lib/esm/index.js +16 -2
  223. package/lib/esm/index.js.map +1 -1
  224. package/lib/esm/language.d.ts +2 -0
  225. package/lib/esm/language.d.ts.map +1 -0
  226. package/lib/esm/language.js +9 -0
  227. package/lib/esm/language.js.map +1 -0
  228. package/lib/esm/logger.d.ts +27 -1
  229. package/lib/esm/logger.d.ts.map +1 -1
  230. package/lib/esm/logger.js +1 -1
  231. package/lib/esm/logger.js.map +1 -1
  232. package/lib/esm/plugins/destination.d.ts +14 -3
  233. package/lib/esm/plugins/destination.d.ts.map +1 -1
  234. package/lib/esm/plugins/destination.js +3 -3
  235. package/lib/esm/plugins/destination.js.map +1 -1
  236. package/lib/esm/plugins/identity.d.ts +11 -0
  237. package/lib/esm/plugins/identity.d.ts.map +1 -0
  238. package/lib/esm/plugins/identity.js +34 -0
  239. package/lib/esm/plugins/identity.js.map +1 -0
  240. package/lib/esm/query-params.d.ts +3 -0
  241. package/lib/esm/query-params.d.ts.map +1 -0
  242. package/lib/esm/query-params.js +31 -0
  243. package/lib/esm/query-params.js.map +1 -0
  244. package/lib/esm/revenue.d.ts +43 -1
  245. package/lib/esm/revenue.d.ts.map +1 -1
  246. package/lib/esm/revenue.js +21 -1
  247. package/lib/esm/revenue.js.map +1 -1
  248. package/lib/esm/session.d.ts +2 -0
  249. package/lib/esm/session.d.ts.map +1 -0
  250. package/lib/esm/session.js +7 -0
  251. package/lib/esm/session.js.map +1 -0
  252. package/lib/esm/storage/cookie.d.ts +13 -0
  253. package/lib/esm/storage/cookie.d.ts.map +1 -0
  254. package/lib/esm/storage/cookie.js +169 -0
  255. package/lib/esm/storage/cookie.js.map +1 -0
  256. package/lib/esm/storage/helpers.d.ts +2 -0
  257. package/lib/esm/storage/helpers.d.ts.map +1 -0
  258. package/lib/esm/storage/helpers.js +7 -0
  259. package/lib/esm/storage/helpers.js.map +1 -0
  260. package/lib/esm/storage/memory.d.ts +1 -1
  261. package/lib/esm/storage/memory.d.ts.map +1 -1
  262. package/lib/esm/storage/memory.js.map +1 -1
  263. package/lib/esm/timeline.d.ts +8 -3
  264. package/lib/esm/timeline.d.ts.map +1 -1
  265. package/lib/esm/timeline.js.map +1 -1
  266. package/lib/esm/transports/base.d.ts +4 -1
  267. package/lib/esm/transports/base.d.ts.map +1 -1
  268. package/lib/esm/transports/base.js +1 -4
  269. package/lib/esm/transports/base.js.map +1 -1
  270. package/lib/esm/transports/fetch.d.ts +8 -0
  271. package/lib/esm/transports/fetch.d.ts.map +1 -0
  272. package/lib/esm/transports/fetch.js +47 -0
  273. package/lib/esm/transports/fetch.js.map +1 -0
  274. package/lib/esm/types/browser-client.d.ts +131 -0
  275. package/lib/esm/types/browser-client.d.ts.map +1 -0
  276. package/lib/esm/types/browser-client.js +2 -0
  277. package/lib/esm/types/browser-client.js.map +1 -0
  278. package/lib/esm/types/browser-config.d.ts +216 -0
  279. package/lib/esm/types/browser-config.d.ts.map +1 -0
  280. package/lib/esm/types/browser-config.js +2 -0
  281. package/lib/esm/types/browser-config.js.map +1 -0
  282. package/lib/esm/types/constants.d.ts.map +1 -0
  283. package/lib/esm/types/constants.js.map +1 -0
  284. package/lib/esm/types/element-interactions.d.ts +73 -0
  285. package/lib/esm/types/element-interactions.d.ts.map +1 -0
  286. package/lib/esm/types/element-interactions.js +31 -0
  287. package/lib/esm/types/element-interactions.js.map +1 -0
  288. package/lib/esm/types/event/base-event.d.ts +64 -0
  289. package/lib/esm/types/event/base-event.d.ts.map +1 -0
  290. package/lib/esm/types/event/base-event.js +2 -0
  291. package/lib/esm/types/event/base-event.js.map +1 -0
  292. package/lib/esm/types/event/event.d.ts +68 -0
  293. package/lib/esm/types/event/event.d.ts.map +1 -0
  294. package/lib/esm/types/event/event.js +28 -0
  295. package/lib/esm/types/event/event.js.map +1 -0
  296. package/lib/esm/types/event/ingestion-metadata.d.ts +19 -0
  297. package/lib/esm/types/event/ingestion-metadata.d.ts.map +1 -0
  298. package/lib/esm/types/event/ingestion-metadata.js +2 -0
  299. package/lib/esm/types/event/ingestion-metadata.js.map +1 -0
  300. package/lib/esm/types/event/plan.d.ts +14 -0
  301. package/lib/esm/types/event/plan.d.ts.map +1 -0
  302. package/lib/esm/types/event/plan.js +2 -0
  303. package/lib/esm/types/event/plan.js.map +1 -0
  304. package/lib/esm/types/event-callback.d.ts +3 -0
  305. package/lib/esm/types/event-callback.d.ts.map +1 -0
  306. package/lib/esm/types/event-callback.js +2 -0
  307. package/lib/esm/types/event-callback.js.map +1 -0
  308. package/lib/esm/types/loglevel.d.ts +8 -0
  309. package/lib/esm/types/loglevel.d.ts.map +1 -0
  310. package/lib/esm/types/loglevel.js +9 -0
  311. package/lib/esm/types/loglevel.js.map +1 -0
  312. package/lib/esm/types/messages.d.ts.map +1 -0
  313. package/lib/esm/types/messages.js.map +1 -0
  314. package/lib/esm/types/offline.d.ts +2 -0
  315. package/lib/esm/types/offline.d.ts.map +1 -0
  316. package/lib/esm/types/offline.js +2 -0
  317. package/lib/esm/types/offline.js.map +1 -0
  318. package/lib/esm/types/page-view-tracking.d.ts +9 -0
  319. package/lib/esm/types/page-view-tracking.d.ts.map +1 -0
  320. package/lib/esm/types/page-view-tracking.js +2 -0
  321. package/lib/esm/types/page-view-tracking.js.map +1 -0
  322. package/lib/esm/types/payload.d.ts +13 -0
  323. package/lib/esm/types/payload.d.ts.map +1 -0
  324. package/lib/esm/types/payload.js +2 -0
  325. package/lib/esm/types/payload.js.map +1 -0
  326. package/lib/esm/types/plugin.d.ts +30 -0
  327. package/lib/esm/types/plugin.d.ts.map +1 -0
  328. package/lib/esm/types/plugin.js +2 -0
  329. package/lib/esm/types/plugin.js.map +1 -0
  330. package/lib/esm/types/response.d.ts +81 -0
  331. package/lib/esm/types/response.d.ts.map +1 -0
  332. package/lib/esm/types/response.js +2 -0
  333. package/lib/esm/types/response.js.map +1 -0
  334. package/lib/esm/types/result.d.ts +7 -0
  335. package/lib/esm/types/result.d.ts.map +1 -0
  336. package/lib/esm/types/result.js +2 -0
  337. package/lib/esm/types/result.js.map +1 -0
  338. package/lib/esm/types/server-zone.d.ts +9 -0
  339. package/lib/esm/types/server-zone.d.ts.map +1 -0
  340. package/lib/esm/types/server-zone.js +9 -0
  341. package/lib/esm/types/server-zone.js.map +1 -0
  342. package/lib/esm/types/status.d.ts +22 -0
  343. package/lib/esm/types/status.d.ts.map +1 -0
  344. package/lib/esm/types/status.js +23 -0
  345. package/lib/esm/types/status.js.map +1 -0
  346. package/lib/esm/types/storage.d.ts +16 -0
  347. package/lib/esm/types/storage.d.ts.map +1 -0
  348. package/lib/esm/types/storage.js +2 -0
  349. package/lib/esm/types/storage.js.map +1 -0
  350. package/lib/esm/types/transport.d.ts +7 -0
  351. package/lib/esm/types/transport.d.ts.map +1 -0
  352. package/lib/esm/types/transport.js +2 -0
  353. package/lib/esm/types/transport.js.map +1 -0
  354. package/lib/esm/types/user-session.d.ts +11 -0
  355. package/lib/esm/types/user-session.d.ts.map +1 -0
  356. package/lib/esm/types/user-session.js +2 -0
  357. package/lib/esm/types/user-session.js.map +1 -0
  358. package/lib/esm/utils/debug.d.ts +1 -1
  359. package/lib/esm/utils/debug.d.ts.map +1 -1
  360. package/lib/esm/utils/debug.js +1 -5
  361. package/lib/esm/utils/debug.js.map +1 -1
  362. package/lib/esm/utils/event-builder.d.ts +5 -2
  363. package/lib/esm/utils/event-builder.d.ts.map +1 -1
  364. package/lib/esm/utils/event-builder.js +1 -1
  365. package/lib/esm/utils/event-builder.js.map +1 -1
  366. package/lib/esm/utils/result-builder.d.ts +2 -1
  367. package/lib/esm/utils/result-builder.d.ts.map +1 -1
  368. package/lib/esm/utils/result-builder.js +1 -1
  369. package/lib/esm/utils/result-builder.js.map +1 -1
  370. package/lib/esm/utils/return-wrapper.d.ts +3 -1
  371. package/lib/esm/utils/return-wrapper.d.ts.map +1 -1
  372. package/lib/esm/utils/return-wrapper.js.map +1 -1
  373. package/package.json +2 -3
  374. package/lib/cjs/constants.d.ts.map +0 -1
  375. package/lib/cjs/constants.js.map +0 -1
  376. package/lib/cjs/messages.d.ts.map +0 -1
  377. package/lib/cjs/messages.js.map +0 -1
  378. package/lib/esm/constants.d.ts.map +0 -1
  379. package/lib/esm/constants.js.map +0 -1
  380. package/lib/esm/messages.d.ts.map +0 -1
  381. package/lib/esm/messages.js.map +0 -1
  382. /package/lib/cjs/{constants.d.ts → types/constants.d.ts} +0 -0
  383. /package/lib/cjs/{constants.js → types/constants.js} +0 -0
  384. /package/lib/cjs/{messages.d.ts → types/messages.d.ts} +0 -0
  385. /package/lib/cjs/{messages.js → types/messages.js} +0 -0
  386. /package/lib/esm/{constants.d.ts → types/constants.d.ts} +0 -0
  387. /package/lib/esm/{constants.js → types/constants.js} +0 -0
  388. /package/lib/esm/{messages.d.ts → types/messages.d.ts} +0 -0
  389. /package/lib/esm/{messages.js → types/messages.js} +0 -0
@@ -1,4 +1,15 @@
1
- import { Config, DestinationContext as Context, DestinationPlugin, Event, InvalidResponse, PayloadTooLargeResponse, RateLimitResponse, Response, Result, SuccessResponse } from '@amplitude/analytics-types';
1
+ import { DestinationPlugin } from '../types/plugin';
2
+ import { Event } from '../types/event/event';
3
+ import { Result } from '../types/result';
4
+ import { Response, InvalidResponse, PayloadTooLargeResponse, RateLimitResponse, SuccessResponse } from '../types/response';
5
+ import { IConfig } from '../config';
6
+ import { EventCallback } from '../types/event-callback';
7
+ export interface Context {
8
+ event: Event;
9
+ attempts: number;
10
+ callback: EventCallback;
11
+ timeout: number;
12
+ }
2
13
  export declare function getResponseBodyString(res: Response): string;
3
14
  export declare class Destination implements DestinationPlugin {
4
15
  name: string;
@@ -6,12 +17,12 @@ export declare class Destination implements DestinationPlugin {
6
17
  retryTimeout: number;
7
18
  throttleTimeout: number;
8
19
  storageKey: string;
9
- config: Config;
20
+ config: IConfig;
10
21
  scheduleId: ReturnType<typeof setTimeout> | null;
11
22
  scheduledTimeout: number;
12
23
  flushId: ReturnType<typeof setTimeout> | null;
13
24
  queue: Context[];
14
- setup(config: Config): Promise<undefined>;
25
+ setup(config: IConfig): Promise<undefined>;
15
26
  execute(event: Event): Promise<Result>;
16
27
  removeEventsExceedFlushMaxRetries(list: Context[]): Context[];
17
28
  scheduleEvents(list: Context[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"destination.d.ts","sourceRoot":"","sources":["../../../src/plugins/destination.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,IAAI,OAAO,EAC7B,iBAAiB,EACjB,KAAK,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,MAAM,EAEN,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAmBpC,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,UAUlD;AAED,qBAAa,WAAY,YAAW,iBAAiB;IACnD,IAAI,SAAe;IACnB,IAAI,gBAA0B;IAE9B,YAAY,SAAQ;IACpB,eAAe,SAAS;IACxB,UAAU,SAAM;IAIhB,MAAM,EAAE,MAAM,CAAC;IAKf,UAAU,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAExD,gBAAgB,SAAK;IAGrB,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IACrD,KAAK,EAAE,OAAO,EAAE,CAAM;IAEhB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAY/C,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBtC,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE;IAWjD,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;IAU9B,QAAQ,CAAC,OAAO,EAAE,MAAM;IAsBxB,aAAa;IAMP,KAAK,CAAC,QAAQ,UAAQ;IAoCtB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,UAAO;IA2C3C,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;IA6B7C,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IAI3D,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IA+B3D,6BAA6B,CAAC,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE;IAe3E,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IA+B/D,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE;IAUnC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAK7D;;;;;;OAMG;IACH,UAAU;IASV;;OAEG;IACH,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE;CAOvC"}
1
+ {"version":3,"file":"destination.d.ts","sourceRoot":"","sources":["../../../src/plugins/destination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EACL,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAa3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,UAUlD;AAED,qBAAa,WAAY,YAAW,iBAAiB;IACnD,IAAI,SAAe;IACnB,IAAI,gBAA0B;IAE9B,YAAY,SAAQ;IACpB,eAAe,SAAS;IACxB,UAAU,SAAM;IAIhB,MAAM,EAAE,OAAO,CAAC;IAKhB,UAAU,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAExD,gBAAgB,SAAK;IAGrB,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IACrD,KAAK,EAAE,OAAO,EAAE,CAAM;IAEhB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAYhD,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBtC,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE;IAWjD,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;IAU9B,QAAQ,CAAC,OAAO,EAAE,MAAM;IAsBxB,aAAa;IAMP,KAAK,CAAC,QAAQ,UAAQ;IAoCtB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,UAAO;IA2C3C,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;IA6B7C,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IAI3D,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IA+B3D,6BAA6B,CAAC,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE;IAe3E,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IA+B/D,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE;IAUnC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAK7D;;;;;;OAMG;IACH,UAAU;IASV;;OAEG;IACH,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE;CAOvC"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Destination = exports.getResponseBodyString = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var analytics_types_1 = require("@amplitude/analytics-types");
6
- var messages_1 = require("../messages");
7
- var constants_1 = require("../constants");
5
+ var status_1 = require("../types/status");
6
+ var messages_1 = require("../types/messages");
7
+ var constants_1 = require("../types/constants");
8
8
  var chunk_1 = require("../utils/chunk");
9
9
  var result_builder_1 = require("../utils/result-builder");
10
10
  var config_1 = require("../config");
@@ -232,7 +232,7 @@ var Destination = /** @class */ (function () {
232
232
  e_1 = _a.sent();
233
233
  errorMessage = getErrorMessage(e_1);
234
234
  this.config.loggerProvider.error(errorMessage);
235
- this.handleResponse({ status: analytics_types_1.Status.Failed, statusCode: 0 }, list);
235
+ this.handleResponse({ status: status_1.Status.Failed, statusCode: 0 }, list);
236
236
  return [3 /*break*/, 4];
237
237
  case 4: return [2 /*return*/];
238
238
  }
@@ -242,19 +242,19 @@ var Destination = /** @class */ (function () {
242
242
  Destination.prototype.handleResponse = function (res, list) {
243
243
  var status = res.status;
244
244
  switch (status) {
245
- case analytics_types_1.Status.Success: {
245
+ case status_1.Status.Success: {
246
246
  this.handleSuccessResponse(res, list);
247
247
  break;
248
248
  }
249
- case analytics_types_1.Status.Invalid: {
249
+ case status_1.Status.Invalid: {
250
250
  this.handleInvalidResponse(res, list);
251
251
  break;
252
252
  }
253
- case analytics_types_1.Status.PayloadTooLarge: {
253
+ case status_1.Status.PayloadTooLarge: {
254
254
  this.handlePayloadTooLargeResponse(res, list);
255
255
  break;
256
256
  }
257
- case analytics_types_1.Status.RateLimit: {
257
+ case status_1.Status.RateLimit: {
258
258
  this.handleRateLimitResponse(res, list);
259
259
  break;
260
260
  }
@@ -1 +1 @@
1
- {"version":3,"file":"destination.js","sourceRoot":"","sources":["../../../src/plugins/destination.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Config,\n DestinationContext as Context,\n DestinationPlugin,\n Event,\n InvalidResponse,\n PayloadTooLargeResponse,\n RateLimitResponse,\n Response,\n Result,\n Status,\n SuccessResponse,\n} from '@amplitude/analytics-types';\nimport {\n INVALID_API_KEY,\n MAX_RETRIES_EXCEEDED_MESSAGE,\n MISSING_API_KEY_MESSAGE,\n SUCCESS_MESSAGE,\n UNEXPECTED_ERROR_MESSAGE,\n} from '../messages';\nimport { STORAGE_PREFIX } from '../constants';\nimport { chunk } from '../utils/chunk';\nimport { buildResult } from '../utils/result-builder';\nimport { createServerConfig, RequestMetadata } from '../config';\nimport { UUID } from '../utils/uuid';\n\nfunction getErrorMessage(error: unknown) {\n if (error instanceof Error) return error.message;\n return String(error);\n}\n\nexport function getResponseBodyString(res: Response) {\n let responseBodyString = '';\n try {\n if ('body' in res) {\n responseBodyString = JSON.stringify(res.body, null, 2);\n }\n } catch {\n // to avoid crash, but don't care about the error, add comment to avoid empty block lint error\n }\n return responseBodyString;\n}\n\nexport class Destination implements DestinationPlugin {\n name = 'amplitude';\n type = 'destination' as const;\n\n retryTimeout = 1000;\n throttleTimeout = 30000;\n storageKey = '';\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: Config;\n // Indicator of whether events that are scheduled (but not flushed yet).\n // When flush:\n // 1. assign `scheduleId` to `flushId`\n // 2. set `scheduleId` to null\n scheduleId: ReturnType<typeof setTimeout> | null = null;\n // Timeout in milliseconds of current schedule\n scheduledTimeout = 0;\n // Indicator of whether current flush resolves.\n // When flush resolves, set `flushId` to null\n flushId: ReturnType<typeof setTimeout> | null = null;\n queue: Context[] = [];\n\n async setup(config: Config): Promise<undefined> {\n this.config = config;\n\n this.storageKey = `${STORAGE_PREFIX}_${this.config.apiKey.substring(0, 10)}`;\n const unsent = await this.config.storageProvider?.get(this.storageKey);\n if (unsent && unsent.length > 0) {\n void Promise.all(unsent.map((event) => this.execute(event))).catch();\n }\n\n return Promise.resolve(undefined);\n }\n\n execute(event: Event): Promise<Result> {\n // Assign insert_id for dropping invalid event later\n if (!event.insert_id) {\n event.insert_id = UUID();\n }\n\n return new Promise((resolve) => {\n const context = {\n event,\n attempts: 0,\n callback: (result: Result) => resolve(result),\n timeout: 0,\n };\n this.queue.push(context);\n this.schedule(this.config.flushIntervalMillis);\n this.saveEvents();\n });\n }\n\n removeEventsExceedFlushMaxRetries(list: Context[]) {\n return list.filter((context) => {\n context.attempts += 1;\n if (context.attempts < this.config.flushMaxRetries) {\n return true;\n }\n void this.fulfillRequest([context], 500, MAX_RETRIES_EXCEEDED_MESSAGE);\n return false;\n });\n }\n\n scheduleEvents(list: Context[]) {\n list.forEach((context) => {\n this.schedule(context.timeout === 0 ? this.config.flushIntervalMillis : context.timeout);\n });\n }\n\n // Schedule a flush in timeout when\n // 1. No schedule\n // 2. Timeout greater than existing timeout.\n // This makes sure that when throttled, no flush when throttle timeout expires.\n schedule(timeout: number) {\n if (this.config.offline) {\n return;\n }\n\n if (this.scheduleId === null || (this.scheduleId && timeout > this.scheduledTimeout)) {\n if (this.scheduleId) {\n clearTimeout(this.scheduleId);\n }\n this.scheduledTimeout = timeout;\n this.scheduleId = setTimeout(() => {\n this.queue = this.queue.map((context) => {\n context.timeout = 0;\n return context;\n });\n void this.flush(true);\n }, timeout);\n return;\n }\n }\n\n // Mark current schedule is flushed.\n resetSchedule() {\n this.scheduleId = null;\n this.scheduledTimeout = 0;\n }\n\n // Flush all events regardless of their timeout\n async flush(useRetry = false) {\n // Skip flush if offline\n if (this.config.offline) {\n this.resetSchedule();\n this.config.loggerProvider.debug('Skipping flush while offline.');\n return;\n }\n\n if (this.flushId) {\n this.resetSchedule();\n this.config.loggerProvider.debug('Skipping flush because previous flush has not resolved.');\n return;\n }\n\n this.flushId = this.scheduleId;\n this.resetSchedule();\n\n const list: Context[] = [];\n const later: Context[] = [];\n this.queue.forEach((context) => (context.timeout === 0 ? list.push(context) : later.push(context)));\n\n const batches = chunk(list, this.config.flushQueueSize);\n\n // Promise.all() doesn't guarantee resolve order.\n // Sequentially resolve to make sure backend receives events in order\n await batches.reduce(async (promise, batch) => {\n await promise;\n return await this.send(batch, useRetry);\n }, Promise.resolve());\n\n // Mark current flush is done\n this.flushId = null;\n\n this.scheduleEvents(this.queue);\n }\n\n async send(list: Context[], useRetry = true) {\n if (!this.config.apiKey) {\n return this.fulfillRequest(list, 400, MISSING_API_KEY_MESSAGE);\n }\n\n const payload = {\n api_key: this.config.apiKey,\n events: list.map((context) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { extra, ...eventWithoutExtra } = context.event;\n return eventWithoutExtra;\n }),\n options: {\n min_id_length: this.config.minIdLength,\n },\n client_upload_time: new Date().toISOString(),\n request_metadata: this.config.requestMetadata,\n };\n this.config.requestMetadata = new RequestMetadata();\n\n try {\n const { serverUrl } = createServerConfig(this.config.serverUrl, this.config.serverZone, this.config.useBatch);\n const res = await this.config.transportProvider.send(serverUrl, payload);\n if (res === null) {\n this.fulfillRequest(list, 0, UNEXPECTED_ERROR_MESSAGE);\n return;\n }\n if (!useRetry) {\n if ('body' in res) {\n this.fulfillRequest(list, res.statusCode, `${res.status}: ${getResponseBodyString(res)}`);\n } else {\n this.fulfillRequest(list, res.statusCode, res.status);\n }\n return;\n }\n this.handleResponse(res, list);\n } catch (e) {\n const errorMessage = getErrorMessage(e);\n this.config.loggerProvider.error(errorMessage);\n this.handleResponse({ status: Status.Failed, statusCode: 0 }, list);\n }\n }\n\n handleResponse(res: Response, list: Context[]) {\n const { status } = res;\n\n switch (status) {\n case Status.Success: {\n this.handleSuccessResponse(res, list);\n break;\n }\n case Status.Invalid: {\n this.handleInvalidResponse(res, list);\n break;\n }\n case Status.PayloadTooLarge: {\n this.handlePayloadTooLargeResponse(res, list);\n break;\n }\n case Status.RateLimit: {\n this.handleRateLimitResponse(res, list);\n break;\n }\n default: {\n // log intermediate event status before retry\n this.config.loggerProvider.warn(`{code: 0, error: \"Status '${status}' provided for ${list.length} events\"}`);\n this.handleOtherResponse(list);\n break;\n }\n }\n }\n\n handleSuccessResponse(res: SuccessResponse, list: Context[]) {\n this.fulfillRequest(list, res.statusCode, SUCCESS_MESSAGE);\n }\n\n handleInvalidResponse(res: InvalidResponse, list: Context[]) {\n if (res.body.missingField || res.body.error.startsWith(INVALID_API_KEY)) {\n this.fulfillRequest(list, res.statusCode, res.body.error);\n return;\n }\n\n const dropIndex = [\n ...Object.values(res.body.eventsWithInvalidFields),\n ...Object.values(res.body.eventsWithMissingFields),\n ...Object.values(res.body.eventsWithInvalidIdLengths),\n ...res.body.silencedEvents,\n ].flat();\n const dropIndexSet = new Set(dropIndex);\n\n const retry = list.filter((context, index) => {\n if (dropIndexSet.has(index)) {\n this.fulfillRequest([context], res.statusCode, res.body.error);\n return;\n }\n return true;\n });\n\n if (retry.length > 0) {\n // log intermediate event status before retry\n this.config.loggerProvider.warn(getResponseBodyString(res));\n }\n\n const tryable = this.removeEventsExceedFlushMaxRetries(retry);\n this.scheduleEvents(tryable);\n }\n\n handlePayloadTooLargeResponse(res: PayloadTooLargeResponse, list: Context[]) {\n if (list.length === 1) {\n this.fulfillRequest(list, res.statusCode, res.body.error);\n return;\n }\n\n // log intermediate event status before retry\n this.config.loggerProvider.warn(getResponseBodyString(res));\n\n this.config.flushQueueSize /= 2;\n\n const tryable = this.removeEventsExceedFlushMaxRetries(list);\n this.scheduleEvents(tryable);\n }\n\n handleRateLimitResponse(res: RateLimitResponse, list: Context[]) {\n const dropUserIds = Object.keys(res.body.exceededDailyQuotaUsers);\n const dropDeviceIds = Object.keys(res.body.exceededDailyQuotaDevices);\n const throttledIndex = res.body.throttledEvents;\n const dropUserIdsSet = new Set(dropUserIds);\n const dropDeviceIdsSet = new Set(dropDeviceIds);\n const throttledIndexSet = new Set(throttledIndex);\n\n const retry = list.filter((context, index) => {\n if (\n (context.event.user_id && dropUserIdsSet.has(context.event.user_id)) ||\n (context.event.device_id && dropDeviceIdsSet.has(context.event.device_id))\n ) {\n this.fulfillRequest([context], res.statusCode, res.body.error);\n return;\n }\n if (throttledIndexSet.has(index)) {\n context.timeout = this.throttleTimeout;\n }\n return true;\n });\n\n if (retry.length > 0) {\n // log intermediate event status before retry\n this.config.loggerProvider.warn(getResponseBodyString(res));\n }\n\n const tryable = this.removeEventsExceedFlushMaxRetries(retry);\n this.scheduleEvents(tryable);\n }\n\n handleOtherResponse(list: Context[]) {\n const later = list.map((context) => {\n context.timeout = context.attempts * this.retryTimeout;\n return context;\n });\n\n const tryable = this.removeEventsExceedFlushMaxRetries(later);\n this.scheduleEvents(tryable);\n }\n\n fulfillRequest(list: Context[], code: number, message: string) {\n this.removeEvents(list);\n list.forEach((context) => context.callback(buildResult(context.event, code, message)));\n }\n\n /**\n * This is called on\n * 1) new events are added to queue; or\n * 2) response comes back for a request\n *\n * Update the event storage based on the queue\n */\n saveEvents() {\n if (!this.config.storageProvider) {\n return;\n }\n\n const updatedEvents = this.queue.map((context) => context.event);\n void this.config.storageProvider.set(this.storageKey, updatedEvents);\n }\n\n /**\n * This is called on response comes back for a request\n */\n removeEvents(eventsToRemove: Context[]) {\n this.queue = this.queue.filter(\n (queuedContext) => !eventsToRemove.some((context) => context.event.insert_id === queuedContext.event.insert_id),\n );\n\n this.saveEvents();\n }\n}\n"]}
1
+ {"version":3,"file":"destination.js","sourceRoot":"","sources":["../../../src/plugins/destination.ts"],"names":[],"mappings":"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","sourcesContent":["import { DestinationPlugin } from '../types/plugin';\nimport { Event } from '../types/event/event';\nimport { Result } from '../types/result';\nimport { Status } from '../types/status';\nimport {\n Response,\n InvalidResponse,\n PayloadTooLargeResponse,\n RateLimitResponse,\n SuccessResponse,\n} from '../types/response';\nimport {\n INVALID_API_KEY,\n MAX_RETRIES_EXCEEDED_MESSAGE,\n MISSING_API_KEY_MESSAGE,\n SUCCESS_MESSAGE,\n UNEXPECTED_ERROR_MESSAGE,\n} from '../types/messages';\nimport { STORAGE_PREFIX } from '../types/constants';\nimport { chunk } from '../utils/chunk';\nimport { buildResult } from '../utils/result-builder';\nimport { createServerConfig, RequestMetadata } from '../config';\nimport { UUID } from '../utils/uuid';\nimport { IConfig } from '../config';\nimport { EventCallback } from '../types/event-callback';\n\nexport interface Context {\n event: Event;\n attempts: number;\n callback: EventCallback;\n timeout: number;\n}\n\nfunction getErrorMessage(error: unknown) {\n if (error instanceof Error) return error.message;\n return String(error);\n}\n\nexport function getResponseBodyString(res: Response) {\n let responseBodyString = '';\n try {\n if ('body' in res) {\n responseBodyString = JSON.stringify(res.body, null, 2);\n }\n } catch {\n // to avoid crash, but don't care about the error, add comment to avoid empty block lint error\n }\n return responseBodyString;\n}\n\nexport class Destination implements DestinationPlugin {\n name = 'amplitude';\n type = 'destination' as const;\n\n retryTimeout = 1000;\n throttleTimeout = 30000;\n storageKey = '';\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: IConfig;\n // Indicator of whether events that are scheduled (but not flushed yet).\n // When flush:\n // 1. assign `scheduleId` to `flushId`\n // 2. set `scheduleId` to null\n scheduleId: ReturnType<typeof setTimeout> | null = null;\n // Timeout in milliseconds of current schedule\n scheduledTimeout = 0;\n // Indicator of whether current flush resolves.\n // When flush resolves, set `flushId` to null\n flushId: ReturnType<typeof setTimeout> | null = null;\n queue: Context[] = [];\n\n async setup(config: IConfig): Promise<undefined> {\n this.config = config;\n\n this.storageKey = `${STORAGE_PREFIX}_${this.config.apiKey.substring(0, 10)}`;\n const unsent = await this.config.storageProvider?.get(this.storageKey);\n if (unsent && unsent.length > 0) {\n void Promise.all(unsent.map((event) => this.execute(event))).catch();\n }\n\n return Promise.resolve(undefined);\n }\n\n execute(event: Event): Promise<Result> {\n // Assign insert_id for dropping invalid event later\n if (!event.insert_id) {\n event.insert_id = UUID();\n }\n\n return new Promise((resolve) => {\n const context = {\n event,\n attempts: 0,\n callback: (result: Result) => resolve(result),\n timeout: 0,\n };\n this.queue.push(context);\n this.schedule(this.config.flushIntervalMillis);\n this.saveEvents();\n });\n }\n\n removeEventsExceedFlushMaxRetries(list: Context[]) {\n return list.filter((context) => {\n context.attempts += 1;\n if (context.attempts < this.config.flushMaxRetries) {\n return true;\n }\n void this.fulfillRequest([context], 500, MAX_RETRIES_EXCEEDED_MESSAGE);\n return false;\n });\n }\n\n scheduleEvents(list: Context[]) {\n list.forEach((context) => {\n this.schedule(context.timeout === 0 ? this.config.flushIntervalMillis : context.timeout);\n });\n }\n\n // Schedule a flush in timeout when\n // 1. No schedule\n // 2. Timeout greater than existing timeout.\n // This makes sure that when throttled, no flush when throttle timeout expires.\n schedule(timeout: number) {\n if (this.config.offline) {\n return;\n }\n\n if (this.scheduleId === null || (this.scheduleId && timeout > this.scheduledTimeout)) {\n if (this.scheduleId) {\n clearTimeout(this.scheduleId);\n }\n this.scheduledTimeout = timeout;\n this.scheduleId = setTimeout(() => {\n this.queue = this.queue.map((context) => {\n context.timeout = 0;\n return context;\n });\n void this.flush(true);\n }, timeout);\n return;\n }\n }\n\n // Mark current schedule is flushed.\n resetSchedule() {\n this.scheduleId = null;\n this.scheduledTimeout = 0;\n }\n\n // Flush all events regardless of their timeout\n async flush(useRetry = false) {\n // Skip flush if offline\n if (this.config.offline) {\n this.resetSchedule();\n this.config.loggerProvider.debug('Skipping flush while offline.');\n return;\n }\n\n if (this.flushId) {\n this.resetSchedule();\n this.config.loggerProvider.debug('Skipping flush because previous flush has not resolved.');\n return;\n }\n\n this.flushId = this.scheduleId;\n this.resetSchedule();\n\n const list: Context[] = [];\n const later: Context[] = [];\n this.queue.forEach((context) => (context.timeout === 0 ? list.push(context) : later.push(context)));\n\n const batches = chunk(list, this.config.flushQueueSize);\n\n // Promise.all() doesn't guarantee resolve order.\n // Sequentially resolve to make sure backend receives events in order\n await batches.reduce(async (promise, batch) => {\n await promise;\n return await this.send(batch, useRetry);\n }, Promise.resolve());\n\n // Mark current flush is done\n this.flushId = null;\n\n this.scheduleEvents(this.queue);\n }\n\n async send(list: Context[], useRetry = true) {\n if (!this.config.apiKey) {\n return this.fulfillRequest(list, 400, MISSING_API_KEY_MESSAGE);\n }\n\n const payload = {\n api_key: this.config.apiKey,\n events: list.map((context) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { extra, ...eventWithoutExtra } = context.event;\n return eventWithoutExtra;\n }),\n options: {\n min_id_length: this.config.minIdLength,\n },\n client_upload_time: new Date().toISOString(),\n request_metadata: this.config.requestMetadata,\n };\n this.config.requestMetadata = new RequestMetadata();\n\n try {\n const { serverUrl } = createServerConfig(this.config.serverUrl, this.config.serverZone, this.config.useBatch);\n const res = await this.config.transportProvider.send(serverUrl, payload);\n if (res === null) {\n this.fulfillRequest(list, 0, UNEXPECTED_ERROR_MESSAGE);\n return;\n }\n if (!useRetry) {\n if ('body' in res) {\n this.fulfillRequest(list, res.statusCode, `${res.status}: ${getResponseBodyString(res)}`);\n } else {\n this.fulfillRequest(list, res.statusCode, res.status);\n }\n return;\n }\n this.handleResponse(res, list);\n } catch (e) {\n const errorMessage = getErrorMessage(e);\n this.config.loggerProvider.error(errorMessage);\n this.handleResponse({ status: Status.Failed, statusCode: 0 }, list);\n }\n }\n\n handleResponse(res: Response, list: Context[]) {\n const { status } = res;\n\n switch (status) {\n case Status.Success: {\n this.handleSuccessResponse(res, list);\n break;\n }\n case Status.Invalid: {\n this.handleInvalidResponse(res, list);\n break;\n }\n case Status.PayloadTooLarge: {\n this.handlePayloadTooLargeResponse(res, list);\n break;\n }\n case Status.RateLimit: {\n this.handleRateLimitResponse(res, list);\n break;\n }\n default: {\n // log intermediate event status before retry\n this.config.loggerProvider.warn(`{code: 0, error: \"Status '${status}' provided for ${list.length} events\"}`);\n this.handleOtherResponse(list);\n break;\n }\n }\n }\n\n handleSuccessResponse(res: SuccessResponse, list: Context[]) {\n this.fulfillRequest(list, res.statusCode, SUCCESS_MESSAGE);\n }\n\n handleInvalidResponse(res: InvalidResponse, list: Context[]) {\n if (res.body.missingField || res.body.error.startsWith(INVALID_API_KEY)) {\n this.fulfillRequest(list, res.statusCode, res.body.error);\n return;\n }\n\n const dropIndex = [\n ...Object.values(res.body.eventsWithInvalidFields),\n ...Object.values(res.body.eventsWithMissingFields),\n ...Object.values(res.body.eventsWithInvalidIdLengths),\n ...res.body.silencedEvents,\n ].flat();\n const dropIndexSet = new Set(dropIndex);\n\n const retry = list.filter((context, index) => {\n if (dropIndexSet.has(index)) {\n this.fulfillRequest([context], res.statusCode, res.body.error);\n return;\n }\n return true;\n });\n\n if (retry.length > 0) {\n // log intermediate event status before retry\n this.config.loggerProvider.warn(getResponseBodyString(res));\n }\n\n const tryable = this.removeEventsExceedFlushMaxRetries(retry);\n this.scheduleEvents(tryable);\n }\n\n handlePayloadTooLargeResponse(res: PayloadTooLargeResponse, list: Context[]) {\n if (list.length === 1) {\n this.fulfillRequest(list, res.statusCode, res.body.error);\n return;\n }\n\n // log intermediate event status before retry\n this.config.loggerProvider.warn(getResponseBodyString(res));\n\n this.config.flushQueueSize /= 2;\n\n const tryable = this.removeEventsExceedFlushMaxRetries(list);\n this.scheduleEvents(tryable);\n }\n\n handleRateLimitResponse(res: RateLimitResponse, list: Context[]) {\n const dropUserIds = Object.keys(res.body.exceededDailyQuotaUsers);\n const dropDeviceIds = Object.keys(res.body.exceededDailyQuotaDevices);\n const throttledIndex = res.body.throttledEvents;\n const dropUserIdsSet = new Set(dropUserIds);\n const dropDeviceIdsSet = new Set(dropDeviceIds);\n const throttledIndexSet = new Set(throttledIndex);\n\n const retry = list.filter((context, index) => {\n if (\n (context.event.user_id && dropUserIdsSet.has(context.event.user_id)) ||\n (context.event.device_id && dropDeviceIdsSet.has(context.event.device_id))\n ) {\n this.fulfillRequest([context], res.statusCode, res.body.error);\n return;\n }\n if (throttledIndexSet.has(index)) {\n context.timeout = this.throttleTimeout;\n }\n return true;\n });\n\n if (retry.length > 0) {\n // log intermediate event status before retry\n this.config.loggerProvider.warn(getResponseBodyString(res));\n }\n\n const tryable = this.removeEventsExceedFlushMaxRetries(retry);\n this.scheduleEvents(tryable);\n }\n\n handleOtherResponse(list: Context[]) {\n const later = list.map((context) => {\n context.timeout = context.attempts * this.retryTimeout;\n return context;\n });\n\n const tryable = this.removeEventsExceedFlushMaxRetries(later);\n this.scheduleEvents(tryable);\n }\n\n fulfillRequest(list: Context[], code: number, message: string) {\n this.removeEvents(list);\n list.forEach((context) => context.callback(buildResult(context.event, code, message)));\n }\n\n /**\n * This is called on\n * 1) new events are added to queue; or\n * 2) response comes back for a request\n *\n * Update the event storage based on the queue\n */\n saveEvents() {\n if (!this.config.storageProvider) {\n return;\n }\n\n const updatedEvents = this.queue.map((context) => context.event);\n void this.config.storageProvider.set(this.storageKey, updatedEvents);\n }\n\n /**\n * This is called on response comes back for a request\n */\n removeEvents(eventsToRemove: Context[]) {\n this.queue = this.queue.filter(\n (queuedContext) => !eventsToRemove.some((context) => context.event.insert_id === queuedContext.event.insert_id),\n );\n\n this.saveEvents();\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { BeforePlugin } from '../types/plugin';
2
+ import { IConfig } from '../config';
3
+ import { Event } from '../types/event/event';
4
+ export declare class IdentityEventSender implements BeforePlugin {
5
+ name: string;
6
+ type: "before";
7
+ identityStore: import("@amplitude/analytics-connector/dist/types/src/identityStore").IdentityStoreImpl;
8
+ execute(context: Event): Promise<Event>;
9
+ setup(config: IConfig): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/plugins/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,qBAAa,mBAAoB,YAAW,YAAY;IACtD,IAAI,SAAc;IAClB,IAAI,WAAqB;IAEzB,aAAa,0FAAyC;IAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAQvC,KAAK,CAAC,MAAM,EAAE,OAAO;CAK5B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentityEventSender = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var analytics_connector_1 = require("../analytics-connector");
6
+ var IdentityEventSender = /** @class */ (function () {
7
+ function IdentityEventSender() {
8
+ this.name = 'identity';
9
+ this.type = 'before';
10
+ this.identityStore = (0, analytics_connector_1.getAnalyticsConnector)().identityStore;
11
+ }
12
+ IdentityEventSender.prototype.execute = function (context) {
13
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
14
+ var userProperties;
15
+ return tslib_1.__generator(this, function (_a) {
16
+ userProperties = context.user_properties;
17
+ if (userProperties) {
18
+ this.identityStore.editIdentity().updateUserProperties(userProperties).commit();
19
+ }
20
+ return [2 /*return*/, context];
21
+ });
22
+ });
23
+ };
24
+ IdentityEventSender.prototype.setup = function (config) {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
26
+ return tslib_1.__generator(this, function (_a) {
27
+ if (config.instanceName) {
28
+ this.identityStore = (0, analytics_connector_1.getAnalyticsConnector)(config.instanceName).identityStore;
29
+ }
30
+ return [2 /*return*/];
31
+ });
32
+ });
33
+ };
34
+ return IdentityEventSender;
35
+ }());
36
+ exports.IdentityEventSender = IdentityEventSender;
37
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/plugins/identity.ts"],"names":[],"mappings":";;;;AAGA,8DAA+D;AAE/D;IAAA;QACE,SAAI,GAAG,UAAU,CAAC;QAClB,SAAI,GAAG,QAAiB,CAAC;QAEzB,kBAAa,GAAG,IAAA,2CAAqB,GAAE,CAAC,aAAa,CAAC;IAexD,CAAC;IAbO,qCAAO,GAAb,UAAc,OAAc;;;;gBACpB,cAAc,GAAG,OAAO,CAAC,eAAsC,CAAC;gBACtE,IAAI,cAAc,EAAE;oBAClB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjF;gBACD,sBAAO,OAAO,EAAC;;;KAChB;IAEK,mCAAK,GAAX,UAAY,MAAe;;;gBACzB,IAAI,MAAM,CAAC,YAAY,EAAE;oBACvB,IAAI,CAAC,aAAa,GAAG,IAAA,2CAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;iBAC/E;;;;KACF;IACH,0BAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,kDAAmB","sourcesContent":["import { BeforePlugin } from '../types/plugin';\nimport { IConfig } from '../config';\nimport { Event } from '../types/event/event';\nimport { getAnalyticsConnector } from '../analytics-connector';\n\nexport class IdentityEventSender implements BeforePlugin {\n name = 'identity';\n type = 'before' as const;\n\n identityStore = getAnalyticsConnector().identityStore;\n\n async execute(context: Event): Promise<Event> {\n const userProperties = context.user_properties as Record<string, any>;\n if (userProperties) {\n this.identityStore.editIdentity().updateUserProperties(userProperties).commit();\n }\n return context;\n }\n\n async setup(config: IConfig) {\n if (config.instanceName) {\n this.identityStore = getAnalyticsConnector(config.instanceName).identityStore;\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const getQueryParams: () => Record<string, string | undefined>;
2
+ export declare const tryDecodeURIComponent: (value?: string) => string;
3
+ //# sourceMappingURL=query-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,QAAO,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAkBlE,CAAC;AAEF,eAAO,MAAM,qBAAqB,4BAMjC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tryDecodeURIComponent = exports.getQueryParams = void 0;
4
+ var global_scope_1 = require("./global-scope");
5
+ var getQueryParams = function () {
6
+ var _a;
7
+ var globalScope = (0, global_scope_1.getGlobalScope)();
8
+ /* istanbul ignore if */
9
+ if (!((_a = globalScope === null || globalScope === void 0 ? void 0 : globalScope.location) === null || _a === void 0 ? void 0 : _a.search)) {
10
+ return {};
11
+ }
12
+ var pairs = globalScope.location.search.substring(1).split('&').filter(Boolean);
13
+ var params = pairs.reduce(function (acc, curr) {
14
+ var query = curr.split('=', 2);
15
+ var key = (0, exports.tryDecodeURIComponent)(query[0]);
16
+ var value = (0, exports.tryDecodeURIComponent)(query[1]);
17
+ if (!value) {
18
+ return acc;
19
+ }
20
+ acc[key] = value;
21
+ return acc;
22
+ }, {});
23
+ return params;
24
+ };
25
+ exports.getQueryParams = getQueryParams;
26
+ var tryDecodeURIComponent = function (value) {
27
+ if (value === void 0) { value = ''; }
28
+ try {
29
+ return decodeURIComponent(value);
30
+ }
31
+ catch (_a) {
32
+ return '';
33
+ }
34
+ };
35
+ exports.tryDecodeURIComponent = tryDecodeURIComponent;
36
+ //# sourceMappingURL=query-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEzC,IAAM,cAAc,GAAG;;IAC5B,IAAM,WAAW,GAAG,IAAA,6BAAc,GAAE,CAAC;IACrC,wBAAwB;IACxB,IAAI,CAAC,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,0CAAE,MAAM,CAAA,EAAE;QAClC,OAAO,EAAE,CAAC;KACX;IACD,IAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqC,UAAC,GAAG,EAAE,IAAI;QACxE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,IAAM,GAAG,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAM,KAAK,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,cAAc,kBAkBzB;AAEK,IAAM,qBAAqB,GAAG,UAAC,KAAU;IAAV,sBAAA,EAAA,UAAU;IAC9C,IAAI;QACF,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAClC;IAAC,WAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC","sourcesContent":["import { getGlobalScope } from './global-scope';\n\nexport const getQueryParams = (): Record<string, string | undefined> => {\n const globalScope = getGlobalScope();\n /* istanbul ignore if */\n if (!globalScope?.location?.search) {\n return {};\n }\n const pairs = globalScope.location.search.substring(1).split('&').filter(Boolean);\n const params = pairs.reduce<Record<string, string | undefined>>((acc, curr) => {\n const query = curr.split('=', 2);\n const key = tryDecodeURIComponent(query[0]);\n const value = tryDecodeURIComponent(query[1]);\n if (!value) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n return params;\n};\n\nexport const tryDecodeURIComponent = (value = '') => {\n try {\n return decodeURIComponent(value);\n } catch {\n return '';\n }\n};\n"]}
@@ -1,4 +1,17 @@
1
- import { RevenueEventProperties, Revenue as IRevenue, ValidPropertyType } from '@amplitude/analytics-types';
1
+ export interface IRevenue {
2
+ getEventProperties(): RevenueEventProperties;
3
+ setProductId(productId: string): IRevenue;
4
+ setQuantity(quantity: number): IRevenue;
5
+ setPrice(price: number): IRevenue;
6
+ setRevenueType(revenueType: string): IRevenue;
7
+ setCurrency(currency: string): IRevenue;
8
+ setEventProperties(properties: {
9
+ [key: string]: any;
10
+ }): IRevenue;
11
+ setRevenue(revenue: number): IRevenue;
12
+ setReceipt(receipt: string): IRevenue;
13
+ setReceiptSig(receiptSig: string): IRevenue;
14
+ }
2
15
  export declare class Revenue implements IRevenue {
3
16
  private productId;
4
17
  private quantity;
@@ -7,6 +20,8 @@ export declare class Revenue implements IRevenue {
7
20
  private currency?;
8
21
  private properties?;
9
22
  private revenue?;
23
+ private receipt?;
24
+ private receiptSig?;
10
25
  constructor();
11
26
  setProductId(productId: string): this;
12
27
  setQuantity(quantity: number): this;
@@ -14,9 +29,36 @@ export declare class Revenue implements IRevenue {
14
29
  setRevenueType(revenueType: string): this;
15
30
  setCurrency(currency: string): this;
16
31
  setRevenue(revenue: number): this;
32
+ setReceipt(receipt: string): this;
33
+ setReceiptSig(receiptSig: string): this;
17
34
  setEventProperties(properties: {
18
35
  [key: string]: ValidPropertyType;
19
36
  }): this;
20
37
  getEventProperties(): RevenueEventProperties;
21
38
  }
39
+ export interface RevenueEventProperties {
40
+ [RevenueProperty.REVENUE_PRODUCT_ID]?: string;
41
+ [RevenueProperty.REVENUE_QUANTITY]?: number;
42
+ [RevenueProperty.REVENUE_PRICE]?: number;
43
+ [RevenueProperty.REVENUE_TYPE]?: string;
44
+ [RevenueProperty.REVENUE_CURRENCY]?: string;
45
+ [RevenueProperty.REVENUE]?: number;
46
+ [RevenueProperty.RECEIPT]?: string;
47
+ [RevenueProperty.RECEIPT_SIG]?: string;
48
+ }
49
+ export declare enum RevenueProperty {
50
+ REVENUE_PRODUCT_ID = "$productId",
51
+ REVENUE_QUANTITY = "$quantity",
52
+ REVENUE_PRICE = "$price",
53
+ REVENUE_TYPE = "$revenueType",
54
+ REVENUE_CURRENCY = "$currency",
55
+ REVENUE = "$revenue",
56
+ RECEIPT = "$receipt",
57
+ RECEIPT_SIG = "$receiptSig"
58
+ }
59
+ export type ValidPropertyType = number | string | boolean | Array<string | number> | {
60
+ [key: string]: ValidPropertyType;
61
+ } | Array<{
62
+ [key: string]: ValidPropertyType;
63
+ }>;
22
64
  //# sourceMappingURL=revenue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revenue.d.ts","sourceRoot":"","sources":["../../src/revenue.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,OAAO,IAAI,QAAQ,EACnB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAGpC,qBAAa,OAAQ,YAAW,QAAQ;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAS;;IAQzB,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,WAAW,CAAC,QAAQ,EAAE,MAAM;IAO5B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB,cAAc,CAAC,WAAW,EAAE,MAAM;IAKlC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAK5B,UAAU,CAAC,OAAO,EAAE,MAAM;IAK1B,kBAAkB,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE;IAOnE,kBAAkB,IAAI,sBAAsB;CAU7C"}
1
+ {"version":3,"file":"revenue.d.ts","sourceRoot":"","sources":["../../src/revenue.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,kBAAkB,IAAI,sBAAsB,CAAC;IAC7C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAClC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,kBAAkB,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,QAAQ,CAAC;IACjE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IACtC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IACtC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC7C;AAED,qBAAa,OAAQ,YAAW,QAAQ;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;;IAQ5B,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,WAAW,CAAC,QAAQ,EAAE,MAAM;IAO5B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB,cAAc,CAAC,WAAW,EAAE,MAAM;IAKlC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAK5B,UAAU,CAAC,OAAO,EAAE,MAAM;IAK1B,UAAU,CAAC,OAAO,EAAE,MAAM;IAK1B,aAAa,CAAC,UAAU,EAAE,MAAM;IAKhC,kBAAkB,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE;IAOnE,kBAAkB,IAAI,sBAAsB;CAY7C;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9C,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC5C,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC5C,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC;IACnC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC;IACnC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,oBAAY,eAAe;IACzB,kBAAkB,eAAe;IACjC,gBAAgB,cAAc;IAC9B,aAAa,WAAW;IACxB,YAAY,iBAAiB;IAC7B,gBAAgB,cAAc;IAC9B,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,WAAW,gBAAgB;CAC5B;AAED,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GACtB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAAE,GACpC,KAAK,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAAE,CAAC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Revenue = void 0;
3
+ exports.RevenueProperty = exports.Revenue = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var analytics_types_1 = require("@amplitude/analytics-types");
6
5
  var valid_properties_1 = require("./utils/valid-properties");
7
6
  var Revenue = /** @class */ (function () {
8
7
  function Revenue() {
@@ -36,6 +35,14 @@ var Revenue = /** @class */ (function () {
36
35
  this.revenue = revenue;
37
36
  return this;
38
37
  };
38
+ Revenue.prototype.setReceipt = function (receipt) {
39
+ this.receipt = receipt;
40
+ return this;
41
+ };
42
+ Revenue.prototype.setReceiptSig = function (receiptSig) {
43
+ this.receiptSig = receiptSig;
44
+ return this;
45
+ };
39
46
  Revenue.prototype.setEventProperties = function (properties) {
40
47
  if ((0, valid_properties_1.isValidObject)(properties)) {
41
48
  this.properties = properties;
@@ -44,15 +51,28 @@ var Revenue = /** @class */ (function () {
44
51
  };
45
52
  Revenue.prototype.getEventProperties = function () {
46
53
  var eventProperties = this.properties ? tslib_1.__assign({}, this.properties) : {};
47
- eventProperties[analytics_types_1.RevenueProperty.REVENUE_PRODUCT_ID] = this.productId;
48
- eventProperties[analytics_types_1.RevenueProperty.REVENUE_QUANTITY] = this.quantity;
49
- eventProperties[analytics_types_1.RevenueProperty.REVENUE_PRICE] = this.price;
50
- eventProperties[analytics_types_1.RevenueProperty.REVENUE_TYPE] = this.revenueType;
51
- eventProperties[analytics_types_1.RevenueProperty.REVENUE_CURRENCY] = this.currency;
52
- eventProperties[analytics_types_1.RevenueProperty.REVENUE] = this.revenue;
54
+ eventProperties[RevenueProperty.REVENUE_PRODUCT_ID] = this.productId;
55
+ eventProperties[RevenueProperty.REVENUE_QUANTITY] = this.quantity;
56
+ eventProperties[RevenueProperty.REVENUE_PRICE] = this.price;
57
+ eventProperties[RevenueProperty.REVENUE_TYPE] = this.revenueType;
58
+ eventProperties[RevenueProperty.REVENUE_CURRENCY] = this.currency;
59
+ eventProperties[RevenueProperty.REVENUE] = this.revenue;
60
+ eventProperties[RevenueProperty.RECEIPT] = this.receipt;
61
+ eventProperties[RevenueProperty.RECEIPT_SIG] = this.receiptSig;
53
62
  return eventProperties;
54
63
  };
55
64
  return Revenue;
56
65
  }());
57
66
  exports.Revenue = Revenue;
67
+ var RevenueProperty;
68
+ (function (RevenueProperty) {
69
+ RevenueProperty["REVENUE_PRODUCT_ID"] = "$productId";
70
+ RevenueProperty["REVENUE_QUANTITY"] = "$quantity";
71
+ RevenueProperty["REVENUE_PRICE"] = "$price";
72
+ RevenueProperty["REVENUE_TYPE"] = "$revenueType";
73
+ RevenueProperty["REVENUE_CURRENCY"] = "$currency";
74
+ RevenueProperty["REVENUE"] = "$revenue";
75
+ RevenueProperty["RECEIPT"] = "$receipt";
76
+ RevenueProperty["RECEIPT_SIG"] = "$receiptSig";
77
+ })(RevenueProperty = exports.RevenueProperty || (exports.RevenueProperty = {}));
58
78
  //# sourceMappingURL=revenue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"revenue.js","sourceRoot":"","sources":["../../src/revenue.ts"],"names":[],"mappings":";;;;AAAA,8DAKoC;AACpC,6DAAyD;AAEzD;IASE;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,8BAAY,GAAZ,UAAa,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAAW,GAAX,UAAY,QAAgB;QAC1B,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAAQ,GAAR,UAAS,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAc,GAAd,UAAe,WAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAAW,GAAX,UAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAAU,GAAV,UAAW,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAkB,GAAlB,UAAmB,UAAgD;QACjE,IAAI,IAAA,gCAAa,EAAC,UAAU,CAAC,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAkB,GAAlB;QACE,IAAM,eAAe,GAA2B,IAAI,CAAC,UAAU,CAAC,CAAC,sBAAM,IAAI,CAAC,UAAU,EAAG,CAAC,CAAC,EAAE,CAAC;QAC9F,eAAe,CAAC,iCAAe,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACrE,eAAe,CAAC,iCAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClE,eAAe,CAAC,iCAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5D,eAAe,CAAC,iCAAe,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACjE,eAAe,CAAC,iCAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClE,eAAe,CAAC,iCAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACxD,OAAO,eAAe,CAAC;IACzB,CAAC;IACH,cAAC;AAAD,CAAC,AAhED,IAgEC;AAhEY,0BAAO","sourcesContent":["import {\n RevenueProperty,\n RevenueEventProperties,\n Revenue as IRevenue,\n ValidPropertyType,\n} from '@amplitude/analytics-types';\nimport { isValidObject } from './utils/valid-properties';\n\nexport class Revenue implements IRevenue {\n private productId: string;\n private quantity: number;\n private price: number;\n private revenueType?: string;\n private currency?: string;\n private properties?: { [key: string]: any };\n private revenue?: number;\n\n constructor() {\n this.productId = '';\n this.quantity = 1;\n this.price = 0.0;\n }\n\n setProductId(productId: string) {\n this.productId = productId;\n return this;\n }\n\n setQuantity(quantity: number) {\n if (quantity > 0) {\n this.quantity = quantity;\n }\n return this;\n }\n\n setPrice(price: number) {\n this.price = price;\n return this;\n }\n\n setRevenueType(revenueType: string) {\n this.revenueType = revenueType;\n return this;\n }\n\n setCurrency(currency: string) {\n this.currency = currency;\n return this;\n }\n\n setRevenue(revenue: number) {\n this.revenue = revenue;\n return this;\n }\n\n setEventProperties(properties: { [key: string]: ValidPropertyType }) {\n if (isValidObject(properties)) {\n this.properties = properties;\n }\n return this;\n }\n\n getEventProperties(): RevenueEventProperties {\n const eventProperties: RevenueEventProperties = this.properties ? { ...this.properties } : {};\n eventProperties[RevenueProperty.REVENUE_PRODUCT_ID] = this.productId;\n eventProperties[RevenueProperty.REVENUE_QUANTITY] = this.quantity;\n eventProperties[RevenueProperty.REVENUE_PRICE] = this.price;\n eventProperties[RevenueProperty.REVENUE_TYPE] = this.revenueType;\n eventProperties[RevenueProperty.REVENUE_CURRENCY] = this.currency;\n eventProperties[RevenueProperty.REVENUE] = this.revenue;\n return eventProperties;\n }\n}\n"]}
1
+ {"version":3,"file":"revenue.js","sourceRoot":"","sources":["../../src/revenue.ts"],"names":[],"mappings":";;;;AAAA,6DAAyD;AAezD;IAWE;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,8BAAY,GAAZ,UAAa,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAAW,GAAX,UAAY,QAAgB;QAC1B,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAAQ,GAAR,UAAS,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAc,GAAd,UAAe,WAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAAW,GAAX,UAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAAU,GAAV,UAAW,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAAU,GAAV,UAAW,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAAa,GAAb,UAAc,UAAkB;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAkB,GAAlB,UAAmB,UAAgD;QACjE,IAAI,IAAA,gCAAa,EAAC,UAAU,CAAC,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAkB,GAAlB;QACE,IAAM,eAAe,GAA2B,IAAI,CAAC,UAAU,CAAC,CAAC,sBAAM,IAAI,CAAC,UAAU,EAAG,CAAC,CAAC,EAAE,CAAC;QAC9F,eAAe,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACrE,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClE,eAAe,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5D,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACjE,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACxD,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACxD,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/D,OAAO,eAAe,CAAC;IACzB,CAAC;IACH,cAAC;AAAD,CAAC,AA9ED,IA8EC;AA9EY,0BAAO;AA2FpB,IAAY,eASX;AATD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,iDAA8B,CAAA;IAC9B,2CAAwB,CAAA;IACxB,gDAA6B,CAAA;IAC7B,iDAA8B,CAAA;IAC9B,uCAAoB,CAAA;IACpB,uCAAoB,CAAA;IACpB,8CAA2B,CAAA;AAC7B,CAAC,EATW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAS1B","sourcesContent":["import { isValidObject } from './utils/valid-properties';\n\nexport interface IRevenue {\n getEventProperties(): RevenueEventProperties;\n setProductId(productId: string): IRevenue;\n setQuantity(quantity: number): IRevenue;\n setPrice(price: number): IRevenue;\n setRevenueType(revenueType: string): IRevenue;\n setCurrency(currency: string): IRevenue;\n setEventProperties(properties: { [key: string]: any }): IRevenue;\n setRevenue(revenue: number): IRevenue;\n setReceipt(receipt: string): IRevenue;\n setReceiptSig(receiptSig: string): IRevenue;\n}\n\nexport class Revenue implements IRevenue {\n private productId: string;\n private quantity: number;\n private price: number;\n private revenueType?: string;\n private currency?: string;\n private properties?: { [key: string]: any };\n private revenue?: number;\n private receipt?: string;\n private receiptSig?: string;\n\n constructor() {\n this.productId = '';\n this.quantity = 1;\n this.price = 0.0;\n }\n\n setProductId(productId: string) {\n this.productId = productId;\n return this;\n }\n\n setQuantity(quantity: number) {\n if (quantity > 0) {\n this.quantity = quantity;\n }\n return this;\n }\n\n setPrice(price: number) {\n this.price = price;\n return this;\n }\n\n setRevenueType(revenueType: string) {\n this.revenueType = revenueType;\n return this;\n }\n\n setCurrency(currency: string) {\n this.currency = currency;\n return this;\n }\n\n setRevenue(revenue: number) {\n this.revenue = revenue;\n return this;\n }\n\n setReceipt(receipt: string) {\n this.receipt = receipt;\n return this;\n }\n\n setReceiptSig(receiptSig: string) {\n this.receiptSig = receiptSig;\n return this;\n }\n\n setEventProperties(properties: { [key: string]: ValidPropertyType }) {\n if (isValidObject(properties)) {\n this.properties = properties;\n }\n return this;\n }\n\n getEventProperties(): RevenueEventProperties {\n const eventProperties: RevenueEventProperties = this.properties ? { ...this.properties } : {};\n eventProperties[RevenueProperty.REVENUE_PRODUCT_ID] = this.productId;\n eventProperties[RevenueProperty.REVENUE_QUANTITY] = this.quantity;\n eventProperties[RevenueProperty.REVENUE_PRICE] = this.price;\n eventProperties[RevenueProperty.REVENUE_TYPE] = this.revenueType;\n eventProperties[RevenueProperty.REVENUE_CURRENCY] = this.currency;\n eventProperties[RevenueProperty.REVENUE] = this.revenue;\n eventProperties[RevenueProperty.RECEIPT] = this.receipt;\n eventProperties[RevenueProperty.RECEIPT_SIG] = this.receiptSig;\n return eventProperties;\n }\n}\n\nexport interface RevenueEventProperties {\n [RevenueProperty.REVENUE_PRODUCT_ID]?: string;\n [RevenueProperty.REVENUE_QUANTITY]?: number;\n [RevenueProperty.REVENUE_PRICE]?: number;\n [RevenueProperty.REVENUE_TYPE]?: string;\n [RevenueProperty.REVENUE_CURRENCY]?: string;\n [RevenueProperty.REVENUE]?: number;\n [RevenueProperty.RECEIPT]?: string;\n [RevenueProperty.RECEIPT_SIG]?: string;\n}\n\nexport enum RevenueProperty {\n REVENUE_PRODUCT_ID = '$productId',\n REVENUE_QUANTITY = '$quantity',\n REVENUE_PRICE = '$price',\n REVENUE_TYPE = '$revenueType',\n REVENUE_CURRENCY = '$currency',\n REVENUE = '$revenue',\n RECEIPT = '$receipt',\n RECEIPT_SIG = '$receiptSig',\n}\n\nexport type ValidPropertyType =\n | number\n | string\n | boolean\n | Array<string | number>\n | { [key: string]: ValidPropertyType }\n | Array<{ [key: string]: ValidPropertyType }>;\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const isNewSession: (sessionTimeout: number, lastEventTime?: number) => boolean;
2
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,OAKzF,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNewSession = void 0;
4
+ var isNewSession = function (sessionTimeout, lastEventTime) {
5
+ if (lastEventTime === void 0) { lastEventTime = Date.now(); }
6
+ var currentTime = Date.now();
7
+ var timeSinceLastEvent = currentTime - lastEventTime;
8
+ return timeSinceLastEvent > sessionTimeout;
9
+ };
10
+ exports.isNewSession = isNewSession;
11
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;;AAAO,IAAM,YAAY,GAAG,UAAC,cAAsB,EAAE,aAAkC;IAAlC,8BAAA,EAAA,gBAAwB,IAAI,CAAC,GAAG,EAAE;IACrF,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC;IAEvD,OAAO,kBAAkB,GAAG,cAAc,CAAC;AAC7C,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB","sourcesContent":["export const isNewSession = (sessionTimeout: number, lastEventTime: number = Date.now()): boolean => {\n const currentTime = Date.now();\n const timeSinceLastEvent = currentTime - lastEventTime;\n\n return timeSinceLastEvent > sessionTimeout;\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import { Storage, CookieStorageOptions } from '../types/storage';
2
+ export declare class CookieStorage<T> implements Storage<T> {
3
+ options: CookieStorageOptions;
4
+ private static testValue;
5
+ constructor(options?: CookieStorageOptions);
6
+ isEnabled(): Promise<boolean>;
7
+ get(key: string): Promise<T | undefined>;
8
+ getRaw(key: string): Promise<string | undefined>;
9
+ set(key: string, value: T | null): Promise<void>;
10
+ remove(key: string): Promise<void>;
11
+ reset(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAqB;gBAEjC,OAAO,CAAC,EAAE,oBAAoB;IAIpC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmBxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}