@amplitude/analytics-core 2.5.5 → 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 (403) hide show
  1. package/lib/cjs/__mocks__/logger.js +1 -0
  2. package/lib/cjs/__mocks__/logger.js.map +1 -1
  3. package/lib/cjs/analytics-connector.d.ts +5 -0
  4. package/lib/cjs/analytics-connector.d.ts.map +1 -0
  5. package/lib/cjs/analytics-connector.js +20 -0
  6. package/lib/cjs/analytics-connector.js.map +1 -0
  7. package/lib/cjs/config.d.ts +107 -3
  8. package/lib/cjs/config.d.ts.map +1 -1
  9. package/lib/cjs/config.js +4 -3
  10. package/lib/cjs/config.js.map +1 -1
  11. package/lib/cjs/cookie-name.d.ts +3 -0
  12. package/lib/cjs/cookie-name.d.ts.map +1 -0
  13. package/lib/cjs/cookie-name.js +15 -0
  14. package/lib/cjs/cookie-name.js.map +1 -0
  15. package/lib/cjs/core-client.d.ts +154 -14
  16. package/lib/cjs/core-client.d.ts.map +1 -1
  17. package/lib/cjs/core-client.js +2 -1
  18. package/lib/cjs/core-client.js.map +1 -1
  19. package/lib/cjs/event-bridge/event-bridge-channel.d.ts +4 -3
  20. package/lib/cjs/event-bridge/event-bridge-channel.d.ts.map +1 -1
  21. package/lib/cjs/event-bridge/event-bridge-channel.js +1 -0
  22. package/lib/cjs/event-bridge/event-bridge-channel.js.map +1 -1
  23. package/lib/cjs/event-bridge/event-bridge-container.d.ts +1 -1
  24. package/lib/cjs/event-bridge/event-bridge-container.d.ts.map +1 -1
  25. package/lib/cjs/event-bridge/event-bridge-container.js +1 -0
  26. package/lib/cjs/event-bridge/event-bridge-container.js.map +1 -1
  27. package/lib/cjs/event-bridge/event-bridge.d.ts +9 -2
  28. package/lib/cjs/event-bridge/event-bridge.d.ts.map +1 -1
  29. package/lib/cjs/event-bridge/event-bridge.js +1 -0
  30. package/lib/cjs/event-bridge/event-bridge.js.map +1 -1
  31. package/lib/cjs/global-scope.d.ts +2 -0
  32. package/lib/cjs/global-scope.d.ts.map +1 -0
  33. package/lib/cjs/global-scope.js +28 -0
  34. package/lib/cjs/global-scope.js.map +1 -0
  35. package/lib/cjs/identify.d.ts +48 -1
  36. package/lib/cjs/identify.d.ts.map +1 -1
  37. package/lib/cjs/identify.js +33 -16
  38. package/lib/cjs/identify.js.map +1 -1
  39. package/lib/cjs/index.d.ts +37 -8
  40. package/lib/cjs/index.d.ts.map +1 -1
  41. package/lib/cjs/index.js +40 -6
  42. package/lib/cjs/index.js.map +1 -1
  43. package/lib/cjs/language.d.ts +2 -0
  44. package/lib/cjs/language.d.ts.map +1 -0
  45. package/lib/cjs/language.js +13 -0
  46. package/lib/cjs/language.js.map +1 -0
  47. package/lib/cjs/logger.d.ts +27 -1
  48. package/lib/cjs/logger.d.ts.map +1 -1
  49. package/lib/cjs/logger.js +9 -8
  50. package/lib/cjs/logger.js.map +1 -1
  51. package/lib/cjs/plugins/destination.d.ts +20 -7
  52. package/lib/cjs/plugins/destination.d.ts.map +1 -1
  53. package/lib/cjs/plugins/destination.js +70 -56
  54. package/lib/cjs/plugins/destination.js.map +1 -1
  55. package/lib/cjs/plugins/identity.d.ts +11 -0
  56. package/lib/cjs/plugins/identity.d.ts.map +1 -0
  57. package/lib/cjs/plugins/identity.js +37 -0
  58. package/lib/cjs/plugins/identity.js.map +1 -0
  59. package/lib/cjs/query-params.d.ts +3 -0
  60. package/lib/cjs/query-params.d.ts.map +1 -0
  61. package/lib/cjs/query-params.js +36 -0
  62. package/lib/cjs/query-params.js.map +1 -0
  63. package/lib/cjs/revenue.d.ts +45 -1
  64. package/lib/cjs/revenue.d.ts.map +1 -1
  65. package/lib/cjs/revenue.js +33 -7
  66. package/lib/cjs/revenue.js.map +1 -1
  67. package/lib/cjs/session.d.ts +2 -0
  68. package/lib/cjs/session.d.ts.map +1 -0
  69. package/lib/cjs/session.js +11 -0
  70. package/lib/cjs/session.js.map +1 -0
  71. package/lib/cjs/storage/cookie.d.ts +13 -0
  72. package/lib/cjs/storage/cookie.d.ts.map +1 -0
  73. package/lib/cjs/storage/cookie.js +172 -0
  74. package/lib/cjs/storage/cookie.js.map +1 -0
  75. package/lib/cjs/storage/helpers.d.ts +2 -0
  76. package/lib/cjs/storage/helpers.d.ts.map +1 -0
  77. package/lib/cjs/storage/helpers.js +11 -0
  78. package/lib/cjs/storage/helpers.js.map +1 -0
  79. package/lib/cjs/storage/memory.d.ts +1 -1
  80. package/lib/cjs/storage/memory.d.ts.map +1 -1
  81. package/lib/cjs/storage/memory.js +1 -0
  82. package/lib/cjs/storage/memory.js.map +1 -1
  83. package/lib/cjs/timeline.d.ts +8 -3
  84. package/lib/cjs/timeline.d.ts.map +1 -1
  85. package/lib/cjs/timeline.js +1 -0
  86. package/lib/cjs/timeline.js.map +1 -1
  87. package/lib/cjs/transports/base.d.ts +4 -1
  88. package/lib/cjs/transports/base.d.ts.map +1 -1
  89. package/lib/cjs/transports/base.js +14 -16
  90. package/lib/cjs/transports/base.js.map +1 -1
  91. package/lib/cjs/transports/fetch.d.ts +8 -0
  92. package/lib/cjs/transports/fetch.d.ts.map +1 -0
  93. package/lib/cjs/transports/fetch.js +50 -0
  94. package/lib/cjs/transports/fetch.js.map +1 -0
  95. package/lib/cjs/types/browser-client.d.ts +131 -0
  96. package/lib/cjs/types/browser-client.d.ts.map +1 -0
  97. package/lib/cjs/types/browser-client.js +3 -0
  98. package/lib/cjs/types/browser-client.js.map +1 -0
  99. package/lib/cjs/types/browser-config.d.ts +216 -0
  100. package/lib/cjs/types/browser-config.d.ts.map +1 -0
  101. package/lib/cjs/types/browser-config.js +3 -0
  102. package/lib/cjs/types/browser-config.js.map +1 -0
  103. package/lib/cjs/types/constants.d.ts.map +1 -0
  104. package/lib/cjs/{constants.js → types/constants.js} +1 -0
  105. package/lib/cjs/types/constants.js.map +1 -0
  106. package/lib/cjs/types/element-interactions.d.ts +73 -0
  107. package/lib/cjs/types/element-interactions.d.ts.map +1 -0
  108. package/lib/cjs/types/element-interactions.js +34 -0
  109. package/lib/cjs/types/element-interactions.js.map +1 -0
  110. package/lib/cjs/types/event/base-event.d.ts +64 -0
  111. package/lib/cjs/types/event/base-event.d.ts.map +1 -0
  112. package/lib/cjs/types/event/base-event.js +3 -0
  113. package/lib/cjs/types/event/base-event.js.map +1 -0
  114. package/lib/cjs/types/event/event.d.ts +68 -0
  115. package/lib/cjs/types/event/event.d.ts.map +1 -0
  116. package/lib/cjs/types/event/event.js +31 -0
  117. package/lib/cjs/types/event/event.js.map +1 -0
  118. package/lib/cjs/types/event/ingestion-metadata.d.ts +19 -0
  119. package/lib/cjs/types/event/ingestion-metadata.d.ts.map +1 -0
  120. package/lib/cjs/types/event/ingestion-metadata.js +3 -0
  121. package/lib/cjs/types/event/ingestion-metadata.js.map +1 -0
  122. package/lib/cjs/types/event/plan.d.ts +14 -0
  123. package/lib/cjs/types/event/plan.d.ts.map +1 -0
  124. package/lib/cjs/types/event/plan.js +3 -0
  125. package/lib/cjs/types/event/plan.js.map +1 -0
  126. package/lib/cjs/types/event-callback.d.ts +3 -0
  127. package/lib/cjs/types/event-callback.d.ts.map +1 -0
  128. package/lib/cjs/types/event-callback.js +3 -0
  129. package/lib/cjs/types/event-callback.js.map +1 -0
  130. package/lib/cjs/types/loglevel.d.ts +8 -0
  131. package/lib/cjs/types/loglevel.d.ts.map +1 -0
  132. package/lib/cjs/types/loglevel.js +12 -0
  133. package/lib/cjs/types/loglevel.js.map +1 -0
  134. package/lib/cjs/types/messages.d.ts.map +1 -0
  135. package/lib/cjs/{messages.js → types/messages.js} +1 -0
  136. package/lib/cjs/types/messages.js.map +1 -0
  137. package/lib/cjs/types/offline.d.ts +2 -0
  138. package/lib/cjs/types/offline.d.ts.map +1 -0
  139. package/lib/cjs/types/offline.js +5 -0
  140. package/lib/cjs/types/offline.js.map +1 -0
  141. package/lib/cjs/types/page-view-tracking.d.ts +9 -0
  142. package/lib/cjs/types/page-view-tracking.d.ts.map +1 -0
  143. package/lib/cjs/types/page-view-tracking.js +3 -0
  144. package/lib/cjs/types/page-view-tracking.js.map +1 -0
  145. package/lib/cjs/types/payload.d.ts +13 -0
  146. package/lib/cjs/types/payload.d.ts.map +1 -0
  147. package/lib/cjs/types/payload.js +3 -0
  148. package/lib/cjs/types/payload.js.map +1 -0
  149. package/lib/cjs/types/plugin.d.ts +30 -0
  150. package/lib/cjs/types/plugin.d.ts.map +1 -0
  151. package/lib/cjs/types/plugin.js +3 -0
  152. package/lib/cjs/types/plugin.js.map +1 -0
  153. package/lib/cjs/types/response.d.ts +81 -0
  154. package/lib/cjs/types/response.d.ts.map +1 -0
  155. package/lib/cjs/types/response.js +3 -0
  156. package/lib/cjs/types/response.js.map +1 -0
  157. package/lib/cjs/types/result.d.ts +7 -0
  158. package/lib/cjs/types/result.d.ts.map +1 -0
  159. package/lib/cjs/types/result.js +3 -0
  160. package/lib/cjs/types/result.js.map +1 -0
  161. package/lib/cjs/types/server-zone.d.ts +9 -0
  162. package/lib/cjs/types/server-zone.d.ts.map +1 -0
  163. package/lib/cjs/types/server-zone.js +12 -0
  164. package/lib/cjs/types/server-zone.js.map +1 -0
  165. package/lib/cjs/types/status.d.ts +22 -0
  166. package/lib/cjs/types/status.d.ts.map +1 -0
  167. package/lib/cjs/types/status.js +26 -0
  168. package/lib/cjs/types/status.js.map +1 -0
  169. package/lib/cjs/types/storage.d.ts +16 -0
  170. package/lib/cjs/types/storage.d.ts.map +1 -0
  171. package/lib/cjs/types/storage.js +3 -0
  172. package/lib/cjs/types/storage.js.map +1 -0
  173. package/lib/cjs/types/transport.d.ts +7 -0
  174. package/lib/cjs/types/transport.d.ts.map +1 -0
  175. package/lib/cjs/types/transport.js +3 -0
  176. package/lib/cjs/types/transport.js.map +1 -0
  177. package/lib/cjs/types/user-session.d.ts +11 -0
  178. package/lib/cjs/types/user-session.d.ts.map +1 -0
  179. package/lib/cjs/types/user-session.js +3 -0
  180. package/lib/cjs/types/user-session.js.map +1 -0
  181. package/lib/cjs/utils/chunk.js +1 -0
  182. package/lib/cjs/utils/chunk.js.map +1 -1
  183. package/lib/cjs/utils/debug.d.ts +1 -1
  184. package/lib/cjs/utils/debug.d.ts.map +1 -1
  185. package/lib/cjs/utils/debug.js +3 -6
  186. package/lib/cjs/utils/debug.js.map +1 -1
  187. package/lib/cjs/utils/event-builder.d.ts +5 -2
  188. package/lib/cjs/utils/event-builder.d.ts.map +1 -1
  189. package/lib/cjs/utils/event-builder.js +6 -5
  190. package/lib/cjs/utils/event-builder.js.map +1 -1
  191. package/lib/cjs/utils/result-builder.d.ts +2 -1
  192. package/lib/cjs/utils/result-builder.d.ts.map +1 -1
  193. package/lib/cjs/utils/result-builder.js +3 -2
  194. package/lib/cjs/utils/result-builder.js.map +1 -1
  195. package/lib/cjs/utils/return-wrapper.d.ts +3 -1
  196. package/lib/cjs/utils/return-wrapper.d.ts.map +1 -1
  197. package/lib/cjs/utils/return-wrapper.js +1 -0
  198. package/lib/cjs/utils/return-wrapper.js.map +1 -1
  199. package/lib/cjs/utils/uuid.js +1 -0
  200. package/lib/cjs/utils/uuid.js.map +1 -1
  201. package/lib/cjs/utils/valid-properties.js +1 -0
  202. package/lib/cjs/utils/valid-properties.js.map +1 -1
  203. package/lib/esm/analytics-connector.d.ts +5 -0
  204. package/lib/esm/analytics-connector.d.ts.map +1 -0
  205. package/lib/esm/analytics-connector.js +14 -0
  206. package/lib/esm/analytics-connector.js.map +1 -0
  207. package/lib/esm/config.d.ts +107 -3
  208. package/lib/esm/config.d.ts.map +1 -1
  209. package/lib/esm/config.js +2 -2
  210. package/lib/esm/config.js.map +1 -1
  211. package/lib/esm/cookie-name.d.ts +3 -0
  212. package/lib/esm/cookie-name.d.ts.map +1 -0
  213. package/lib/esm/cookie-name.js +10 -0
  214. package/lib/esm/cookie-name.js.map +1 -0
  215. package/lib/esm/core-client.d.ts +154 -14
  216. package/lib/esm/core-client.d.ts.map +1 -1
  217. package/lib/esm/core-client.js +1 -1
  218. package/lib/esm/core-client.js.map +1 -1
  219. package/lib/esm/event-bridge/event-bridge-channel.d.ts +4 -3
  220. package/lib/esm/event-bridge/event-bridge-channel.d.ts.map +1 -1
  221. package/lib/esm/event-bridge/event-bridge-channel.js.map +1 -1
  222. package/lib/esm/event-bridge/event-bridge-container.d.ts +1 -1
  223. package/lib/esm/event-bridge/event-bridge-container.d.ts.map +1 -1
  224. package/lib/esm/event-bridge/event-bridge-container.js.map +1 -1
  225. package/lib/esm/event-bridge/event-bridge.d.ts +9 -2
  226. package/lib/esm/event-bridge/event-bridge.d.ts.map +1 -1
  227. package/lib/esm/event-bridge/event-bridge.js.map +1 -1
  228. package/lib/esm/global-scope.d.ts +2 -0
  229. package/lib/esm/global-scope.d.ts.map +1 -0
  230. package/lib/esm/global-scope.js +24 -0
  231. package/lib/esm/global-scope.js.map +1 -0
  232. package/lib/esm/identify.d.ts +48 -1
  233. package/lib/esm/identify.d.ts.map +1 -1
  234. package/lib/esm/identify.js +18 -2
  235. package/lib/esm/identify.js.map +1 -1
  236. package/lib/esm/index.d.ts +37 -8
  237. package/lib/esm/index.d.ts.map +1 -1
  238. package/lib/esm/index.js +16 -2
  239. package/lib/esm/index.js.map +1 -1
  240. package/lib/esm/language.d.ts +2 -0
  241. package/lib/esm/language.d.ts.map +1 -0
  242. package/lib/esm/language.js +9 -0
  243. package/lib/esm/language.js.map +1 -0
  244. package/lib/esm/logger.d.ts +27 -1
  245. package/lib/esm/logger.d.ts.map +1 -1
  246. package/lib/esm/logger.js +1 -1
  247. package/lib/esm/logger.js.map +1 -1
  248. package/lib/esm/plugins/destination.d.ts +20 -7
  249. package/lib/esm/plugins/destination.d.ts.map +1 -1
  250. package/lib/esm/plugins/destination.js +64 -51
  251. package/lib/esm/plugins/destination.js.map +1 -1
  252. package/lib/esm/plugins/identity.d.ts +11 -0
  253. package/lib/esm/plugins/identity.d.ts.map +1 -0
  254. package/lib/esm/plugins/identity.js +34 -0
  255. package/lib/esm/plugins/identity.js.map +1 -0
  256. package/lib/esm/query-params.d.ts +3 -0
  257. package/lib/esm/query-params.d.ts.map +1 -0
  258. package/lib/esm/query-params.js +31 -0
  259. package/lib/esm/query-params.js.map +1 -0
  260. package/lib/esm/revenue.d.ts +45 -1
  261. package/lib/esm/revenue.d.ts.map +1 -1
  262. package/lib/esm/revenue.js +26 -1
  263. package/lib/esm/revenue.js.map +1 -1
  264. package/lib/esm/session.d.ts +2 -0
  265. package/lib/esm/session.d.ts.map +1 -0
  266. package/lib/esm/session.js +7 -0
  267. package/lib/esm/session.js.map +1 -0
  268. package/lib/esm/storage/cookie.d.ts +13 -0
  269. package/lib/esm/storage/cookie.d.ts.map +1 -0
  270. package/lib/esm/storage/cookie.js +169 -0
  271. package/lib/esm/storage/cookie.js.map +1 -0
  272. package/lib/esm/storage/helpers.d.ts +2 -0
  273. package/lib/esm/storage/helpers.d.ts.map +1 -0
  274. package/lib/esm/storage/helpers.js +7 -0
  275. package/lib/esm/storage/helpers.js.map +1 -0
  276. package/lib/esm/storage/memory.d.ts +1 -1
  277. package/lib/esm/storage/memory.d.ts.map +1 -1
  278. package/lib/esm/storage/memory.js.map +1 -1
  279. package/lib/esm/timeline.d.ts +8 -3
  280. package/lib/esm/timeline.d.ts.map +1 -1
  281. package/lib/esm/timeline.js.map +1 -1
  282. package/lib/esm/transports/base.d.ts +4 -1
  283. package/lib/esm/transports/base.d.ts.map +1 -1
  284. package/lib/esm/transports/base.js +1 -4
  285. package/lib/esm/transports/base.js.map +1 -1
  286. package/lib/esm/transports/fetch.d.ts +8 -0
  287. package/lib/esm/transports/fetch.d.ts.map +1 -0
  288. package/lib/esm/transports/fetch.js +47 -0
  289. package/lib/esm/transports/fetch.js.map +1 -0
  290. package/lib/esm/types/browser-client.d.ts +131 -0
  291. package/lib/esm/types/browser-client.d.ts.map +1 -0
  292. package/lib/esm/types/browser-client.js +2 -0
  293. package/lib/esm/types/browser-client.js.map +1 -0
  294. package/lib/esm/types/browser-config.d.ts +216 -0
  295. package/lib/esm/types/browser-config.d.ts.map +1 -0
  296. package/lib/esm/types/browser-config.js +2 -0
  297. package/lib/esm/types/browser-config.js.map +1 -0
  298. package/lib/esm/types/constants.d.ts.map +1 -0
  299. package/lib/esm/types/constants.js.map +1 -0
  300. package/lib/esm/types/element-interactions.d.ts +73 -0
  301. package/lib/esm/types/element-interactions.d.ts.map +1 -0
  302. package/lib/esm/types/element-interactions.js +31 -0
  303. package/lib/esm/types/element-interactions.js.map +1 -0
  304. package/lib/esm/types/event/base-event.d.ts +64 -0
  305. package/lib/esm/types/event/base-event.d.ts.map +1 -0
  306. package/lib/esm/types/event/base-event.js +2 -0
  307. package/lib/esm/types/event/base-event.js.map +1 -0
  308. package/lib/esm/types/event/event.d.ts +68 -0
  309. package/lib/esm/types/event/event.d.ts.map +1 -0
  310. package/lib/esm/types/event/event.js +28 -0
  311. package/lib/esm/types/event/event.js.map +1 -0
  312. package/lib/esm/types/event/ingestion-metadata.d.ts +19 -0
  313. package/lib/esm/types/event/ingestion-metadata.d.ts.map +1 -0
  314. package/lib/esm/types/event/ingestion-metadata.js +2 -0
  315. package/lib/esm/types/event/ingestion-metadata.js.map +1 -0
  316. package/lib/esm/types/event/plan.d.ts +14 -0
  317. package/lib/esm/types/event/plan.d.ts.map +1 -0
  318. package/lib/esm/types/event/plan.js +2 -0
  319. package/lib/esm/types/event/plan.js.map +1 -0
  320. package/lib/esm/types/event-callback.d.ts +3 -0
  321. package/lib/esm/types/event-callback.d.ts.map +1 -0
  322. package/lib/esm/types/event-callback.js +2 -0
  323. package/lib/esm/types/event-callback.js.map +1 -0
  324. package/lib/esm/types/loglevel.d.ts +8 -0
  325. package/lib/esm/types/loglevel.d.ts.map +1 -0
  326. package/lib/esm/types/loglevel.js +9 -0
  327. package/lib/esm/types/loglevel.js.map +1 -0
  328. package/lib/esm/types/messages.d.ts.map +1 -0
  329. package/lib/esm/types/messages.js.map +1 -0
  330. package/lib/esm/types/offline.d.ts +2 -0
  331. package/lib/esm/types/offline.d.ts.map +1 -0
  332. package/lib/esm/types/offline.js +2 -0
  333. package/lib/esm/types/offline.js.map +1 -0
  334. package/lib/esm/types/page-view-tracking.d.ts +9 -0
  335. package/lib/esm/types/page-view-tracking.d.ts.map +1 -0
  336. package/lib/esm/types/page-view-tracking.js +2 -0
  337. package/lib/esm/types/page-view-tracking.js.map +1 -0
  338. package/lib/esm/types/payload.d.ts +13 -0
  339. package/lib/esm/types/payload.d.ts.map +1 -0
  340. package/lib/esm/types/payload.js +2 -0
  341. package/lib/esm/types/payload.js.map +1 -0
  342. package/lib/esm/types/plugin.d.ts +30 -0
  343. package/lib/esm/types/plugin.d.ts.map +1 -0
  344. package/lib/esm/types/plugin.js +2 -0
  345. package/lib/esm/types/plugin.js.map +1 -0
  346. package/lib/esm/types/response.d.ts +81 -0
  347. package/lib/esm/types/response.d.ts.map +1 -0
  348. package/lib/esm/types/response.js +2 -0
  349. package/lib/esm/types/response.js.map +1 -0
  350. package/lib/esm/types/result.d.ts +7 -0
  351. package/lib/esm/types/result.d.ts.map +1 -0
  352. package/lib/esm/types/result.js +2 -0
  353. package/lib/esm/types/result.js.map +1 -0
  354. package/lib/esm/types/server-zone.d.ts +9 -0
  355. package/lib/esm/types/server-zone.d.ts.map +1 -0
  356. package/lib/esm/types/server-zone.js +9 -0
  357. package/lib/esm/types/server-zone.js.map +1 -0
  358. package/lib/esm/types/status.d.ts +22 -0
  359. package/lib/esm/types/status.d.ts.map +1 -0
  360. package/lib/esm/types/status.js +23 -0
  361. package/lib/esm/types/status.js.map +1 -0
  362. package/lib/esm/types/storage.d.ts +16 -0
  363. package/lib/esm/types/storage.d.ts.map +1 -0
  364. package/lib/esm/types/storage.js +2 -0
  365. package/lib/esm/types/storage.js.map +1 -0
  366. package/lib/esm/types/transport.d.ts +7 -0
  367. package/lib/esm/types/transport.d.ts.map +1 -0
  368. package/lib/esm/types/transport.js +2 -0
  369. package/lib/esm/types/transport.js.map +1 -0
  370. package/lib/esm/types/user-session.d.ts +11 -0
  371. package/lib/esm/types/user-session.d.ts.map +1 -0
  372. package/lib/esm/types/user-session.js +2 -0
  373. package/lib/esm/types/user-session.js.map +1 -0
  374. package/lib/esm/utils/debug.d.ts +1 -1
  375. package/lib/esm/utils/debug.d.ts.map +1 -1
  376. package/lib/esm/utils/debug.js +1 -5
  377. package/lib/esm/utils/debug.js.map +1 -1
  378. package/lib/esm/utils/event-builder.d.ts +5 -2
  379. package/lib/esm/utils/event-builder.d.ts.map +1 -1
  380. package/lib/esm/utils/event-builder.js +1 -1
  381. package/lib/esm/utils/event-builder.js.map +1 -1
  382. package/lib/esm/utils/result-builder.d.ts +2 -1
  383. package/lib/esm/utils/result-builder.d.ts.map +1 -1
  384. package/lib/esm/utils/result-builder.js +1 -1
  385. package/lib/esm/utils/result-builder.js.map +1 -1
  386. package/lib/esm/utils/return-wrapper.d.ts +3 -1
  387. package/lib/esm/utils/return-wrapper.d.ts.map +1 -1
  388. package/lib/esm/utils/return-wrapper.js.map +1 -1
  389. package/package.json +2 -3
  390. package/lib/cjs/constants.d.ts.map +0 -1
  391. package/lib/cjs/constants.js.map +0 -1
  392. package/lib/cjs/messages.d.ts.map +0 -1
  393. package/lib/cjs/messages.js.map +0 -1
  394. package/lib/esm/constants.d.ts.map +0 -1
  395. package/lib/esm/constants.js.map +0 -1
  396. package/lib/esm/messages.d.ts.map +0 -1
  397. package/lib/esm/messages.js.map +0 -1
  398. /package/lib/cjs/{constants.d.ts → types/constants.d.ts} +0 -0
  399. /package/lib/cjs/{messages.d.ts → types/messages.d.ts} +0 -0
  400. /package/lib/esm/{constants.d.ts → types/constants.d.ts} +0 -0
  401. /package/lib/esm/{constants.js → types/constants.js} +0 -0
  402. /package/lib/esm/{messages.d.ts → types/messages.d.ts} +0 -0
  403. /package/lib/esm/{messages.js → types/messages.js} +0 -0
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":"","sourcesContent":["export interface Storage<T> {\n isEnabled(): Promise<boolean>;\n get(key: string): Promise<T | undefined>;\n getRaw(key: string): Promise<string | undefined>;\n set(key: string, value: T): Promise<void>;\n remove(key: string): Promise<void>;\n reset(): Promise<void>;\n}\n\nexport interface CookieStorageOptions {\n domain?: string;\n expirationDays?: number;\n sameSite?: string;\n secure?: boolean;\n}\n\nexport type IdentityStorageType = 'cookie' | 'localStorage' | 'sessionStorage' | 'none';\n"]}
@@ -0,0 +1,7 @@
1
+ import { Payload } from './payload';
2
+ import { Response } from './response';
3
+ export interface Transport {
4
+ send(serverUrl: string, payload: Payload): Promise<Response | null>;
5
+ }
6
+ export type TransportType = 'xhr' | 'beacon' | 'fetch';
7
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/types/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/types/transport.ts"],"names":[],"mappings":"","sourcesContent":["import { Payload } from './payload';\nimport { Response } from './response';\n\nexport interface Transport {\n send(serverUrl: string, payload: Payload): Promise<Response | null>;\n}\n\nexport type TransportType = 'xhr' | 'beacon' | 'fetch';\n"]}
@@ -0,0 +1,11 @@
1
+ export interface UserSession {
2
+ userId?: string;
3
+ deviceId?: string;
4
+ sessionId?: number;
5
+ lastEventTime?: number;
6
+ optOut: boolean;
7
+ lastEventId?: number;
8
+ pageCounter?: number;
9
+ debugLogsEnabled?: boolean;
10
+ }
11
+ //# sourceMappingURL=user-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-session.d.ts","sourceRoot":"","sources":["../../../src/types/user-session.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-session.js","sourceRoot":"","sources":["../../../src/types/user-session.ts"],"names":[],"mappings":"","sourcesContent":["export interface UserSession {\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n lastEventTime?: number;\n optOut: boolean;\n lastEventId?: number;\n pageCounter?: number;\n debugLogsEnabled?: boolean;\n}\n"]}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  // Creates an array of elements split into groups the length of size.
2
3
  // If array can't be split evenly, the final chunk will be the remaining elements.
3
4
  // Works similary as https://lodash.com/docs/4.17.15#chunk
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../../src/utils/chunk.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,kFAAkF;AAClF,0DAA0D;;;AAEnD,IAAM,KAAK,GAAG,UAAI,GAAQ,EAAE,IAAY;IAC7C,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,MAAM,CAAQ,UAAC,MAAM,EAAE,OAAO,EAAE,KAAK;QAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACvB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SACzB;QACD,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAVW,QAAA,KAAK,SAUhB","sourcesContent":["// Creates an array of elements split into groups the length of size.\n// If array can't be split evenly, the final chunk will be the remaining elements.\n// Works similary as https://lodash.com/docs/4.17.15#chunk\n\nexport const chunk = <T>(arr: T[], size: number) => {\n const chunkSize = Math.max(size, 1);\n return arr.reduce<T[][]>((chunks, element, index) => {\n const chunkIndex = Math.floor(index / chunkSize);\n if (!chunks[chunkIndex]) {\n chunks[chunkIndex] = [];\n }\n chunks[chunkIndex].push(element);\n return chunks;\n }, []);\n};\n"]}
1
+ {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../../src/utils/chunk.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,kFAAkF;AAClF,0DAA0D;;;AAEnD,IAAM,KAAK,GAAG,UAAI,GAAQ,EAAE,IAAY;IAC7C,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,MAAM,CAAQ,UAAC,MAAM,EAAE,OAAO,EAAE,KAAK;QAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACvB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SACzB;QACD,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAVW,QAAA,KAAK,SAUhB","sourcesContent":["// Creates an array of elements split into groups the length of size.\n// If array can't be split evenly, the final chunk will be the remaining elements.\n// Works similary as https://lodash.com/docs/4.17.15#chunk\n\nexport const chunk = <T>(arr: T[], size: number) => {\n const chunkSize = Math.max(size, 1);\n return arr.reduce<T[][]>((chunks, element, index) => {\n const chunkIndex = Math.floor(index / chunkSize);\n if (!chunks[chunkIndex]) {\n chunks[chunkIndex] = [];\n }\n chunks[chunkIndex].push(element);\n return chunks;\n }, []);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { LogConfig } from '@amplitude/analytics-types';
1
+ import { LogConfig } from '../logger';
2
2
  import { AmplitudeCore } from '../core-client';
3
3
  export declare const getStacktrace: (ignoreDepth?: number) => string[];
4
4
  export declare const getClientLogConfig: (client: AmplitudeCore) => () => LogConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAgB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,aAAa,4BAAsB,MAAM,EAMrD,CAAC;AAGF,eAAO,MAAM,kBAAkB,WAAY,aAAa,WAAS,SAMhE,CAAC;AAGF,eAAO,MAAM,oBAAoB,QAAS,GAAG,QAAQ,MAAM,KAAG,GAW7D,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,aAAa,SAAS,MAAM,MAAM,CAAC;;CAM1E,CAAC;AAEF,eAAO,MAAM,YAAY,sDAGb,MAAM,gBACA,MAAM,SAAS;;4BAElB,GAAG,sBA2Cf,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,aAAa,4BAAsB,MAAM,EAMrD,CAAC;AAGF,eAAO,MAAM,kBAAkB,WAAY,aAAa,WAAS,SAMhE,CAAC;AAGF,eAAO,MAAM,oBAAoB,QAAS,GAAG,QAAQ,MAAM,KAAG,GAW7D,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,aAAa,SAAS,MAAM,MAAM,CAAC;;CAM1E,CAAC;AAEF,eAAO,MAAM,YAAY,sDAGb,MAAM,gBACA,MAAM,SAAS;;4BAElB,GAAG,sBA2Cf,CAAC"}
@@ -1,11 +1,8 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.debugWrapper = exports.getClientStates = exports.getValueByStringPath = exports.getClientLogConfig = exports.getStacktrace = void 0;
3
4
  var tslib_1 = require("tslib");
4
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
- /* eslint-disable @typescript-eslint/no-unsafe-call */
7
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
8
- var analytics_types_1 = require("@amplitude/analytics-types");
5
+ var loglevel_1 = require("../types/loglevel");
9
6
  var getStacktrace = function (ignoreDepth) {
10
7
  if (ignoreDepth === void 0) { ignoreDepth = 0; }
11
8
  var trace = new Error().stack || '';
@@ -78,7 +75,7 @@ var debugWrapper = function (fn, fnName, getLogConfig, getStates, fnContext) {
78
75
  }
79
76
  var _a = getLogConfig(), logger = _a.logger, logLevel = _a.logLevel;
80
77
  // return early if possible to reduce overhead
81
- if ((logLevel && logLevel < analytics_types_1.LogLevel.Debug) || !logLevel || !logger) {
78
+ if ((logLevel && logLevel < loglevel_1.LogLevel.Debug) || !logLevel || !logger) {
82
79
  return fn.apply(fnContext, args);
83
80
  }
84
81
  var debugContext = {
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,+DAA+D;AAC/D,sDAAsD;AACtD,6DAA6D;AAC7D,8DAA+E;AAGxE,IAAM,aAAa,GAAG,UAAC,WAAe;IAAf,4BAAA,EAAA,eAAe;IAC3C,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;IACtC,OAAO,KAAK;SACT,KAAK,CAAC,IAAI,CAAC;SACX,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC;SACtB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,EAAE,EAAX,CAAW,CAAC,CAAC;AAChC,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AAEF,qEAAqE;AAC9D,IAAM,kBAAkB,GAAG,UAAC,MAAqB,IAAK,OAAA;IACrD,IAAA,0BAA4C,MAAM,CAAC,MAAM,CAAE,EAAzC,MAAM,oBAAA,EAAE,QAAQ,cAAyB,CAAC;IAClE,OAAO;QACL,MAAM,QAAA;QACN,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC,EAN4D,CAM5D,CAAC;AANW,QAAA,kBAAkB,sBAM7B;AAEF,6GAA6G;AACtG,IAAM,oBAAoB,GAAG,UAAC,GAAQ,EAAE,IAAY;;IACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,gCAAgC;IAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;;QACtD,KAAmB,IAAA,KAAA,iBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,gBAAA,4BAAE;YAA/B,IAAM,IAAI,WAAA;YACb,IAAI,IAAI,IAAI,GAAG,EAAE;gBACf,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;aACjB;iBAAM;gBACL,OAAO;aACR;SACF;;;;;;;;;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B;AAEK,IAAM,eAAe,GAAG,UAAC,MAAqB,EAAE,KAAoB,IAAK,OAAA;;IAC9E,IAAM,GAAG,GAA2B,EAAE,CAAC;;QACvC,KAAmB,IAAA,UAAA,iBAAA,KAAK,CAAA,4BAAA,+CAAE;YAArB,IAAM,IAAI,kBAAA;YACb,GAAG,CAAC,IAAI,CAAC,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAChD;;;;;;;;;IACD,OAAO,GAAG,CAAC;AACb,CAAC,EAN+E,CAM/E,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,IAAM,YAAY,GACvB,UACE,EAAqB,EACrB,MAAc,EACd,YAA6B,EAC7B,SAAwC,EACxC,SAAqB;IAArB,0BAAA,EAAA,gBAAqB;IAEvB,OAAA;QAAC,cAAU;aAAV,UAAU,EAAV,qBAAU,EAAV,IAAU;YAAV,yBAAU;;QACH,IAAA,KAAuB,YAAY,EAAE,EAAnC,MAAM,YAAA,EAAE,QAAQ,cAAmB,CAAC;QAC5C,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,0BAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnE,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAClC;QACD,IAAM,YAAY,GAAiB;YACjC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,MAAM;YACZ,IAAI,MAAA;YACJ,UAAU,EAAE,IAAA,qBAAa,EAAC,CAAC,CAAC;YAC5B,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAChC;YACD,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE;YACpC,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;SAC1C;QACD,IAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,MAAM,IAAK,MAAc,CAAC,OAAO,EAAE;YACrC,2CAA2C;YAC1C,MAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3B,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE;oBACpC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;iBACzC;gBACD,IAAI,YAAY,CAAC,IAAI,EAAE;oBACrB,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBAClD;gBACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE;gBACpC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;aACzC;YACD,IAAI,YAAY,CAAC,IAAI,EAAE;gBACrB,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAClD;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;AAzCD,CAyCC,CAAC;AAjDS,QAAA,YAAY,gBAiDrB","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { LogLevel, LogConfig, DebugContext } from '@amplitude/analytics-types';\nimport { AmplitudeCore } from '../core-client';\n\nexport const getStacktrace = (ignoreDepth = 0): string[] => {\n const trace = new Error().stack || '';\n return trace\n .split('\\n')\n .slice(2 + ignoreDepth)\n .map((text) => text.trim());\n};\n\n// This hook makes sure we always get the latest logger and logLevel.\nexport const getClientLogConfig = (client: AmplitudeCore) => (): LogConfig => {\n const { loggerProvider: logger, logLevel } = { ...client.config };\n return {\n logger,\n logLevel,\n };\n};\n\n// This is a convenient function to get the attribute from object with string path, similar to lodash '#get'.\nexport const getValueByStringPath = (obj: any, path: string): any => {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n path = path.replace(/^\\./, ''); // strip a leading dot\n for (const attr of path.split('.')) {\n if (attr in obj) {\n obj = obj[attr];\n } else {\n return;\n }\n }\n return obj;\n};\n\nexport const getClientStates = (client: AmplitudeCore, paths: Array<string>) => (): { [key: string]: any } => {\n const res: { [key: string]: any } = {};\n for (const path of paths) {\n res[path] = getValueByStringPath(client, path);\n }\n return res;\n};\n\nexport const debugWrapper =\n <T extends Array<any>, R>(\n fn: (...args: T) => R,\n fnName: string,\n getLogConfig: () => LogConfig,\n getStates?: () => { [key: string]: any },\n fnContext: any = null,\n ) =>\n (...args: T): R => {\n const { logger, logLevel } = getLogConfig();\n // return early if possible to reduce overhead\n if ((logLevel && logLevel < LogLevel.Debug) || !logLevel || !logger) {\n return fn.apply(fnContext, args);\n }\n const debugContext: DebugContext = {\n type: 'invoke public method',\n name: fnName,\n args,\n stacktrace: getStacktrace(1),\n time: {\n start: new Date().toISOString(),\n },\n states: {},\n };\n if (getStates && debugContext.states) {\n debugContext.states.before = getStates();\n }\n const result = fn.apply(fnContext, args);\n if (result && (result as any).promise) {\n // if result is a promise, add the callback\n (result as any).promise.then(() => {\n if (getStates && debugContext.states) {\n debugContext.states.after = getStates();\n }\n if (debugContext.time) {\n debugContext.time.end = new Date().toISOString();\n }\n logger.debug(JSON.stringify(debugContext, null, 2));\n });\n } else {\n if (getStates && debugContext.states) {\n debugContext.states.after = getStates();\n }\n if (debugContext.time) {\n debugContext.time.end = new Date().toISOString();\n }\n logger.debug(JSON.stringify(debugContext, null, 2));\n }\n return result;\n };\n"]}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { LogConfig, DebugContext } from '../logger';\nimport { LogLevel } from '../types/loglevel';\nimport { AmplitudeCore } from '../core-client';\n\nexport const getStacktrace = (ignoreDepth = 0): string[] => {\n const trace = new Error().stack || '';\n return trace\n .split('\\n')\n .slice(2 + ignoreDepth)\n .map((text) => text.trim());\n};\n\n// This hook makes sure we always get the latest logger and logLevel.\nexport const getClientLogConfig = (client: AmplitudeCore) => (): LogConfig => {\n const { loggerProvider: logger, logLevel } = { ...client.config };\n return {\n logger,\n logLevel,\n };\n};\n\n// This is a convenient function to get the attribute from object with string path, similar to lodash '#get'.\nexport const getValueByStringPath = (obj: any, path: string): any => {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n path = path.replace(/^\\./, ''); // strip a leading dot\n for (const attr of path.split('.')) {\n if (attr in obj) {\n obj = obj[attr];\n } else {\n return;\n }\n }\n return obj;\n};\n\nexport const getClientStates = (client: AmplitudeCore, paths: Array<string>) => (): { [key: string]: any } => {\n const res: { [key: string]: any } = {};\n for (const path of paths) {\n res[path] = getValueByStringPath(client, path);\n }\n return res;\n};\n\nexport const debugWrapper =\n <T extends Array<any>, R>(\n fn: (...args: T) => R,\n fnName: string,\n getLogConfig: () => LogConfig,\n getStates?: () => { [key: string]: any },\n fnContext: any = null,\n ) =>\n (...args: T): R => {\n const { logger, logLevel } = getLogConfig();\n // return early if possible to reduce overhead\n if ((logLevel && logLevel < LogLevel.Debug) || !logLevel || !logger) {\n return fn.apply(fnContext, args);\n }\n const debugContext: DebugContext = {\n type: 'invoke public method',\n name: fnName,\n args,\n stacktrace: getStacktrace(1),\n time: {\n start: new Date().toISOString(),\n },\n states: {},\n };\n if (getStates && debugContext.states) {\n debugContext.states.before = getStates();\n }\n const result = fn.apply(fnContext, args);\n if (result && (result as any).promise) {\n // if result is a promise, add the callback\n (result as any).promise.then(() => {\n if (getStates && debugContext.states) {\n debugContext.states.after = getStates();\n }\n if (debugContext.time) {\n debugContext.time.end = new Date().toISOString();\n }\n logger.debug(JSON.stringify(debugContext, null, 2));\n });\n } else {\n if (getStates && debugContext.states) {\n debugContext.states.after = getStates();\n }\n if (debugContext.time) {\n debugContext.time.end = new Date().toISOString();\n }\n logger.debug(JSON.stringify(debugContext, null, 2));\n }\n return result;\n };\n"]}
@@ -1,7 +1,10 @@
1
- import { BaseEvent, TrackEvent, IdentifyEvent, GroupIdentifyEvent, Identify as IIdentify, Revenue, RevenueEvent, EventOptions } from '@amplitude/analytics-types';
1
+ import { IIdentify } from '../identify';
2
+ import { IRevenue } from '../revenue';
3
+ import { BaseEvent, EventOptions } from '../types/event/base-event';
4
+ import { TrackEvent, IdentifyEvent, GroupIdentifyEvent, RevenueEvent } from '../types/event/event';
2
5
  export declare const createTrackEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) => TrackEvent;
3
6
  export declare const createIdentifyEvent: (identify: IIdentify, eventOptions?: EventOptions) => IdentifyEvent;
4
7
  export declare const createGroupIdentifyEvent: (groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions) => GroupIdentifyEvent;
5
8
  export declare const createGroupEvent: (groupType: string, groupName: string | string[], eventOptions?: EventOptions) => IdentifyEvent;
6
- export declare const createRevenueEvent: (revenue: Revenue, eventOptions?: EventOptions) => RevenueEvent;
9
+ export declare const createRevenueEvent: (revenue: IRevenue, eventOptions?: EventOptions) => RevenueEvent;
7
10
  //# sourceMappingURL=event-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,kBAAkB,EAElB,QAAQ,IAAI,SAAS,EACrB,OAAO,EACP,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,gBAAgB,eACf,SAAS,GAAG,MAAM,oBACZ,OAAO,MAAM,EAAE,GAAG,CAAC,iBACtB,YAAY,KAC1B,UAOF,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAc,SAAS,iBAAiB,YAAY,KAAG,aAQtF,CAAC;AAEF,eAAO,MAAM,wBAAwB,cACxB,MAAM,aACN,MAAM,GAAG,MAAM,EAAE,YAClB,SAAS,iBACJ,YAAY,KAC1B,kBAWF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,aAAa,MAAM,GAAG,MAAM,EAAE,iBAAiB,YAAY,kBAa5G,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,OAAO,iBAAiB,YAAY,KAAG,YAMlF,CAAC"}
1
+ {"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAoB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErH,eAAO,MAAM,gBAAgB,eACf,SAAS,GAAG,MAAM,oBACZ,OAAO,MAAM,EAAE,GAAG,CAAC,iBACtB,YAAY,KAC1B,UAOF,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAc,SAAS,iBAAiB,YAAY,KAAG,aAQtF,CAAC;AAEF,eAAO,MAAM,wBAAwB,cACxB,MAAM,aACN,MAAM,GAAG,MAAM,EAAE,YAClB,SAAS,iBACJ,YAAY,KAC1B,kBAWF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,aAAa,MAAM,GAAG,MAAM,EAAE,iBAAiB,YAAY,kBAa5G,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,QAAQ,iBAAiB,YAAY,KAAG,YAMnF,CAAC"}
@@ -1,21 +1,22 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.createRevenueEvent = exports.createGroupEvent = exports.createGroupIdentifyEvent = exports.createIdentifyEvent = exports.createTrackEvent = void 0;
3
4
  var tslib_1 = require("tslib");
4
- var analytics_types_1 = require("@amplitude/analytics-types");
5
5
  var identify_1 = require("../identify");
6
+ var event_1 = require("../types/event/event");
6
7
  var createTrackEvent = function (eventInput, eventProperties, eventOptions) {
7
8
  var baseEvent = typeof eventInput === 'string' ? { event_type: eventInput } : eventInput;
8
9
  return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, baseEvent), eventOptions), (eventProperties && { event_properties: eventProperties }));
9
10
  };
10
11
  exports.createTrackEvent = createTrackEvent;
11
12
  var createIdentifyEvent = function (identify, eventOptions) {
12
- var identifyEvent = tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: analytics_types_1.SpecialEventType.IDENTIFY, user_properties: identify.getUserProperties() });
13
+ var identifyEvent = tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: event_1.SpecialEventType.IDENTIFY, user_properties: identify.getUserProperties() });
13
14
  return identifyEvent;
14
15
  };
15
16
  exports.createIdentifyEvent = createIdentifyEvent;
16
17
  var createGroupIdentifyEvent = function (groupType, groupName, identify, eventOptions) {
17
18
  var _a;
18
- var groupIdentify = tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: analytics_types_1.SpecialEventType.GROUP_IDENTIFY, group_properties: identify.getUserProperties(), groups: (_a = {},
19
+ var groupIdentify = tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: event_1.SpecialEventType.GROUP_IDENTIFY, group_properties: identify.getUserProperties(), groups: (_a = {},
19
20
  _a[groupType] = groupName,
20
21
  _a) });
21
22
  return groupIdentify;
@@ -25,14 +26,14 @@ var createGroupEvent = function (groupType, groupName, eventOptions) {
25
26
  var _a;
26
27
  var identify = new identify_1.Identify();
27
28
  identify.set(groupType, groupName);
28
- var groupEvent = tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: analytics_types_1.SpecialEventType.IDENTIFY, user_properties: identify.getUserProperties(), groups: (_a = {},
29
+ var groupEvent = tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: event_1.SpecialEventType.IDENTIFY, user_properties: identify.getUserProperties(), groups: (_a = {},
29
30
  _a[groupType] = groupName,
30
31
  _a) });
31
32
  return groupEvent;
32
33
  };
33
34
  exports.createGroupEvent = createGroupEvent;
34
35
  var createRevenueEvent = function (revenue, eventOptions) {
35
- return tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: analytics_types_1.SpecialEventType.REVENUE, event_properties: revenue.getEventProperties() });
36
+ return tslib_1.__assign(tslib_1.__assign({}, eventOptions), { event_type: event_1.SpecialEventType.REVENUE, event_properties: revenue.getEventProperties() });
36
37
  };
37
38
  exports.createRevenueEvent = createRevenueEvent;
38
39
  //# sourceMappingURL=event-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-builder.js","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":";;;AAAA,8DAUoC;AACpC,wCAAuC;AAEhC,IAAM,gBAAgB,GAAG,UAC9B,UAA8B,EAC9B,eAAqC,EACrC,YAA2B;IAE3B,IAAM,SAAS,GAAc,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACtG,8DACK,SAAS,GACT,YAAY,GACZ,CAAC,eAAe,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,EAC7D;AACJ,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B;AAEK,IAAM,mBAAmB,GAAG,UAAC,QAAmB,EAAE,YAA2B;IAClF,IAAM,aAAa,yCACd,YAAY,KACf,UAAU,EAAE,kCAAgB,CAAC,QAAQ,EACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE,GAC9C,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B;AAEK,IAAM,wBAAwB,GAAG,UACtC,SAAiB,EACjB,SAA4B,EAC5B,QAAmB,EACnB,YAA2B;;IAE3B,IAAM,aAAa,yCACd,YAAY,KACf,UAAU,EAAE,kCAAgB,CAAC,cAAc,EAC3C,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC9C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;kBAEzB,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAhBW,QAAA,wBAAwB,4BAgBnC;AAEK,IAAM,gBAAgB,GAAG,UAAC,SAAiB,EAAE,SAA4B,EAAE,YAA2B;;IAC3G,IAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnC,IAAM,UAAU,yCACX,YAAY,KACf,UAAU,EAAE,kCAAgB,CAAC,QAAQ,EACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC7C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;kBAEzB,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAbW,QAAA,gBAAgB,oBAa3B;AAEK,IAAM,kBAAkB,GAAG,UAAC,OAAgB,EAAE,YAA2B;IAC9E,6CACK,YAAY,KACf,UAAU,EAAE,kCAAgB,CAAC,OAAO,EACpC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAC9C;AACJ,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B","sourcesContent":["import {\n BaseEvent,\n TrackEvent,\n IdentifyEvent,\n GroupIdentifyEvent,\n SpecialEventType,\n Identify as IIdentify,\n Revenue,\n RevenueEvent,\n EventOptions,\n} from '@amplitude/analytics-types';\nimport { Identify } from '../identify';\n\nexport const createTrackEvent = (\n eventInput: BaseEvent | string,\n eventProperties?: Record<string, any>,\n eventOptions?: EventOptions,\n): TrackEvent => {\n const baseEvent: BaseEvent = typeof eventInput === 'string' ? { event_type: eventInput } : eventInput;\n return {\n ...baseEvent,\n ...eventOptions,\n ...(eventProperties && { event_properties: eventProperties }),\n };\n};\n\nexport const createIdentifyEvent = (identify: IIdentify, eventOptions?: EventOptions): IdentifyEvent => {\n const identifyEvent: IdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n };\n\n return identifyEvent;\n};\n\nexport const createGroupIdentifyEvent = (\n groupType: string,\n groupName: string | string[],\n identify: IIdentify,\n eventOptions?: EventOptions,\n): GroupIdentifyEvent => {\n const groupIdentify: GroupIdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.GROUP_IDENTIFY,\n group_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n\n return groupIdentify;\n};\n\nexport const createGroupEvent = (groupType: string, groupName: string | string[], eventOptions?: EventOptions) => {\n const identify = new Identify();\n identify.set(groupType, groupName);\n\n const groupEvent: IdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n return groupEvent;\n};\n\nexport const createRevenueEvent = (revenue: Revenue, eventOptions?: EventOptions): RevenueEvent => {\n return {\n ...eventOptions,\n event_type: SpecialEventType.REVENUE,\n event_properties: revenue.getEventProperties(),\n };\n};\n"]}
1
+ {"version":3,"file":"event-builder.js","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":";;;;AAAA,wCAAkD;AAGlD,8CAAqH;AAE9G,IAAM,gBAAgB,GAAG,UAC9B,UAA8B,EAC9B,eAAqC,EACrC,YAA2B;IAE3B,IAAM,SAAS,GAAc,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACtG,8DACK,SAAS,GACT,YAAY,GACZ,CAAC,eAAe,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,EAC7D;AACJ,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B;AAEK,IAAM,mBAAmB,GAAG,UAAC,QAAmB,EAAE,YAA2B;IAClF,IAAM,aAAa,yCACd,YAAY,KACf,UAAU,EAAE,wBAAgB,CAAC,QAAQ,EACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE,GAC9C,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B;AAEK,IAAM,wBAAwB,GAAG,UACtC,SAAiB,EACjB,SAA4B,EAC5B,QAAmB,EACnB,YAA2B;;IAE3B,IAAM,aAAa,yCACd,YAAY,KACf,UAAU,EAAE,wBAAgB,CAAC,cAAc,EAC3C,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC9C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;kBAEzB,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAhBW,QAAA,wBAAwB,4BAgBnC;AAEK,IAAM,gBAAgB,GAAG,UAAC,SAAiB,EAAE,SAA4B,EAAE,YAA2B;;IAC3G,IAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnC,IAAM,UAAU,yCACX,YAAY,KACf,UAAU,EAAE,wBAAgB,CAAC,QAAQ,EACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC7C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;kBAEzB,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAbW,QAAA,gBAAgB,oBAa3B;AAEK,IAAM,kBAAkB,GAAG,UAAC,OAAiB,EAAE,YAA2B;IAC/E,6CACK,YAAY,KACf,UAAU,EAAE,wBAAgB,CAAC,OAAO,EACpC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAC9C;AACJ,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B","sourcesContent":["import { Identify, IIdentify } from '../identify';\nimport { IRevenue } from '../revenue';\nimport { BaseEvent, EventOptions } from '../types/event/base-event';\nimport { TrackEvent, IdentifyEvent, GroupIdentifyEvent, SpecialEventType, RevenueEvent } from '../types/event/event';\n\nexport const createTrackEvent = (\n eventInput: BaseEvent | string,\n eventProperties?: Record<string, any>,\n eventOptions?: EventOptions,\n): TrackEvent => {\n const baseEvent: BaseEvent = typeof eventInput === 'string' ? { event_type: eventInput } : eventInput;\n return {\n ...baseEvent,\n ...eventOptions,\n ...(eventProperties && { event_properties: eventProperties }),\n };\n};\n\nexport const createIdentifyEvent = (identify: IIdentify, eventOptions?: EventOptions): IdentifyEvent => {\n const identifyEvent: IdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n };\n\n return identifyEvent;\n};\n\nexport const createGroupIdentifyEvent = (\n groupType: string,\n groupName: string | string[],\n identify: IIdentify,\n eventOptions?: EventOptions,\n): GroupIdentifyEvent => {\n const groupIdentify: GroupIdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.GROUP_IDENTIFY,\n group_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n\n return groupIdentify;\n};\n\nexport const createGroupEvent = (groupType: string, groupName: string | string[], eventOptions?: EventOptions) => {\n const identify = new Identify();\n identify.set(groupType, groupName);\n\n const groupEvent: IdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n return groupEvent;\n};\n\nexport const createRevenueEvent = (revenue: IRevenue, eventOptions?: EventOptions): RevenueEvent => {\n return {\n ...eventOptions,\n event_type: SpecialEventType.REVENUE,\n event_properties: revenue.getEventProperties(),\n };\n};\n"]}
@@ -1,3 +1,4 @@
1
- import { Event, Result } from '@amplitude/analytics-types';
1
+ import { Event } from '../types/event/event';
2
+ import { Result } from '../types/result';
2
3
  export declare const buildResult: (event: Event, code?: number, message?: string) => Result;
3
4
  //# sourceMappingURL=result-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/result-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAU,MAAM,4BAA4B,CAAC;AAEnE,eAAO,MAAM,WAAW,UAAW,KAAK,2BAAqB,MAAM,KAAoB,MAEtF,CAAC"}
1
+ {"version":3,"file":"result-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/result-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,eAAO,MAAM,WAAW,UAAW,KAAK,2BAAqB,MAAM,KAAoB,MAEtF,CAAC"}
@@ -1,9 +1,10 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.buildResult = void 0;
3
- var analytics_types_1 = require("@amplitude/analytics-types");
4
+ var status_1 = require("../types/status");
4
5
  var buildResult = function (event, code, message) {
5
6
  if (code === void 0) { code = 0; }
6
- if (message === void 0) { message = analytics_types_1.Status.Unknown; }
7
+ if (message === void 0) { message = status_1.Status.Unknown; }
7
8
  return { event: event, code: code, message: message };
8
9
  };
9
10
  exports.buildResult = buildResult;
@@ -1 +1 @@
1
- {"version":3,"file":"result-builder.js","sourceRoot":"","sources":["../../../src/utils/result-builder.ts"],"names":[],"mappings":";;AAAA,8DAAmE;AAE5D,IAAM,WAAW,GAAG,UAAC,KAAY,EAAE,IAAQ,EAAE,OAAgC;IAA1C,qBAAA,EAAA,QAAQ;IAAE,wBAAA,EAAA,UAAkB,wBAAM,CAAC,OAAO;IAClF,OAAO,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAClC,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB","sourcesContent":["import { Event, Result, Status } from '@amplitude/analytics-types';\n\nexport const buildResult = (event: Event, code = 0, message: string = Status.Unknown): Result => {\n return { event, code, message };\n};\n"]}
1
+ {"version":3,"file":"result-builder.js","sourceRoot":"","sources":["../../../src/utils/result-builder.ts"],"names":[],"mappings":";;;AAEA,0CAAyC;AAElC,IAAM,WAAW,GAAG,UAAC,KAAY,EAAE,IAAQ,EAAE,OAAgC;IAA1C,qBAAA,EAAA,QAAQ;IAAE,wBAAA,EAAA,UAAkB,eAAM,CAAC,OAAO;IAClF,OAAO,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAClC,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB","sourcesContent":["import { Event } from '../types/event/event';\nimport { Result } from '../types/result';\nimport { Status } from '../types/status';\n\nexport const buildResult = (event: Event, code = 0, message: string = Status.Unknown): Result => {\n return { event, code, message };\n};\n"]}
@@ -1,4 +1,6 @@
1
- import { AmplitudeReturn } from '@amplitude/analytics-types';
1
+ export interface AmplitudeReturn<T> {
2
+ promise: Promise<T>;
3
+ }
2
4
  export declare const returnWrapper: {
3
5
  (): AmplitudeReturn<void>;
4
6
  <T>(awaitable: Promise<T>): AmplitudeReturn<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"return-wrapper.d.ts","sourceRoot":"","sources":["../../../src/utils/return-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,eAAO,MAAM,aAAa,EAAE;IAC1B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;CAG/C,CAAC"}
1
+ {"version":3,"file":"return-wrapper.d.ts","sourceRoot":"","sources":["../../../src/utils/return-wrapper.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE;IAC1B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;CAG/C,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.returnWrapper = void 0;
3
4
  var returnWrapper = function (awaitable) { return ({
@@ -1 +1 @@
1
- {"version":3,"file":"return-wrapper.js","sourceRoot":"","sources":["../../../src/utils/return-wrapper.ts"],"names":[],"mappings":";;AAEO,IAAM,aAAa,GAGtB,UAAI,SAAsB,IAAK,OAAA,CAAC;IAClC,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE;CACxC,CAAC,EAFiC,CAEjC,CAAC;AALU,QAAA,aAAa,iBAKvB","sourcesContent":["import { AmplitudeReturn } from '@amplitude/analytics-types';\n\nexport const returnWrapper: {\n (): AmplitudeReturn<void>;\n <T>(awaitable: Promise<T>): AmplitudeReturn<T>;\n} = <T>(awaitable?: Promise<T>) => ({\n promise: awaitable || Promise.resolve(),\n});\n"]}
1
+ {"version":3,"file":"return-wrapper.js","sourceRoot":"","sources":["../../../src/utils/return-wrapper.ts"],"names":[],"mappings":";;;AAIO,IAAM,aAAa,GAGtB,UAAI,SAAsB,IAAK,OAAA,CAAC;IAClC,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE;CACxC,CAAC,EAFiC,CAEjC,CAAC;AALU,QAAA,aAAa,iBAKvB","sourcesContent":["export interface AmplitudeReturn<T> {\n promise: Promise<T>;\n}\n\nexport const returnWrapper: {\n (): AmplitudeReturn<void>;\n <T>(awaitable: Promise<T>): AmplitudeReturn<T>;\n} = <T>(awaitable?: Promise<T>) => ({\n promise: awaitable || Promise.resolve(),\n});\n"]}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.UUID = void 0;
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/utils/uuid.ts"],"names":[],"mappings":";;AAAA;;;;;;;GAOG;AACI,IAAM,IAAI,GAAG,UAAU,CAAO;IACnC,OAAO,CAAC,CAAC,wCAAwC;QAC/C,CAAC,CAAC,+BAA+B;YAC/B,CACE,CAAC,GAAG,iBAAiB;gBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB;oBAChC,EAAE,CAAC,IAAI,uBAAuB;oBAC9B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACX,CAAC,UAAU;iBACT,QAAQ,CAAC,EAAE,CAAC,CAAC,iBAAiB;QACnC,CAAC,CAAC,sCAAsC;YACtC,CACE,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa;gBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;gBACzB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;gBACzB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc;gBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,CACd,CAAC,iBAAiB;iBAChB,OAAO;YACN,YAAY;YACZ,QAAQ,EAAE,gCAAgC;YAC1C,YAAI,CACL,CAAC;AACV,CAAC,CAAC;AAvBW,QAAA,IAAI,QAuBf","sourcesContent":["/**\n * Source: [jed's gist]{@link https://gist.github.com/982883}.\n * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,\n * where each x is replaced with a random hexadecimal digit from 0 to f, and\n * y is replaced with a random hexadecimal digit from 8 to b.\n * Used to generate UUIDs for deviceIds.\n * @private\n */\nexport const UUID = function (a?: any): string {\n return a // if the placeholder was passed, return\n ? // a random number from 0 to 15\n (\n a ^ // unless b is 8,\n ((Math.random() * // in which case\n 16) >> // a random number from\n (a / 4))\n ) // 8 to 11\n .toString(16) // in hexadecimal\n : // or otherwise a concatenated string:\n (\n String(1e7) + // 10000000 +\n String(-1e3) + // -1000 +\n String(-4e3) + // -4000 +\n String(-8e3) + // -80000000 +\n String(-1e11)\n ) // -100000000000,\n .replace(\n // replacing\n /[018]/g, // zeroes, ones, and eights with\n UUID, // random hex digits\n );\n};\n"]}
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/utils/uuid.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACI,IAAM,IAAI,GAAG,UAAU,CAAO;IACnC,OAAO,CAAC,CAAC,wCAAwC;QAC/C,CAAC,CAAC,+BAA+B;YAC/B,CACE,CAAC,GAAG,iBAAiB;gBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB;oBAChC,EAAE,CAAC,IAAI,uBAAuB;oBAC9B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACX,CAAC,UAAU;iBACT,QAAQ,CAAC,EAAE,CAAC,CAAC,iBAAiB;QACnC,CAAC,CAAC,sCAAsC;YACtC,CACE,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa;gBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;gBACzB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;gBACzB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc;gBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,CACd,CAAC,iBAAiB;iBAChB,OAAO;YACN,YAAY;YACZ,QAAQ,EAAE,gCAAgC;YAC1C,YAAI,CACL,CAAC;AACV,CAAC,CAAC;AAvBW,QAAA,IAAI,QAuBf","sourcesContent":["/**\n * Source: [jed's gist]{@link https://gist.github.com/982883}.\n * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,\n * where each x is replaced with a random hexadecimal digit from 0 to f, and\n * y is replaced with a random hexadecimal digit from 8 to b.\n * Used to generate UUIDs for deviceIds.\n * @private\n */\nexport const UUID = function (a?: any): string {\n return a // if the placeholder was passed, return\n ? // a random number from 0 to 15\n (\n a ^ // unless b is 8,\n ((Math.random() * // in which case\n 16) >> // a random number from\n (a / 4))\n ) // 8 to 11\n .toString(16) // in hexadecimal\n : // or otherwise a concatenated string:\n (\n String(1e7) + // 10000000 +\n String(-1e3) + // -1000 +\n String(-4e3) + // -4000 +\n String(-8e3) + // -80000000 +\n String(-1e11)\n ) // -100000000000,\n .replace(\n // replacing\n /[018]/g, // zeroes, ones, and eights with\n UUID, // random hex digits\n );\n};\n"]}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.isValidProperties = exports.isValidObject = void 0;
3
4
  var tslib_1 = require("tslib");
@@ -1 +1 @@
1
- {"version":3,"file":"valid-properties.js","sourceRoot":"","sources":["../../../src/utils/valid-properties.ts"],"names":[],"mappings":";;;AAAA,IAAM,iBAAiB,GAAG,IAAI,CAAC;AAExB,IAAM,aAAa,GAAG,UAAC,UAAkC;IAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,iBAAiB,EAAE;QACtD,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAM,GAAG,IAAI,UAAU,EAAE;QAC5B,mEAAmE;QACnE,IAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAA,yBAAiB,EAAC,GAAG,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;KAClD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEK,IAAM,iBAAiB,GAAG,UAAC,QAAgB,EAAE,KAAU;;IAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;;YACnB,KAA2B,IAAA,UAAA,iBAAA,KAAK,CAAA,4BAAA,+CAAE;gBAA7B,IAAM,YAAY,kBAAA;gBACrB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBAC/B,OAAO,KAAK,CAAC;iBACd;qBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBAC3C,OAAO,GAAG,OAAO,IAAI,IAAA,qBAAa,EAAC,YAAsB,CAAC,CAAC;iBAC5D;qBAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,YAAY,CAAC,EAAE;oBAC9D,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,CAAC,OAAO,EAAE;oBACZ,OAAO,KAAK,CAAC;iBACd;aACF;;;;;;;;;KACF;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QAChD,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,iEAAiE;QACjE,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;KAC7B;SAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE;QAClE,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzBW,QAAA,iBAAiB,qBAyB5B","sourcesContent":["const MAX_PROPERTY_KEYS = 1000;\n\nexport const isValidObject = (properties: { [key: string]: any }): boolean => {\n if (Object.keys(properties).length > MAX_PROPERTY_KEYS) {\n return false;\n }\n for (const key in properties) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const value = properties[key];\n if (!isValidProperties(key, value)) return false;\n }\n return true;\n};\n\nexport const isValidProperties = (property: string, value: any): boolean => {\n if (typeof property !== 'string') return false;\n if (Array.isArray(value)) {\n let isValid = true;\n for (const valueElement of value) {\n if (Array.isArray(valueElement)) {\n return false;\n } else if (typeof valueElement === 'object') {\n isValid = isValid && isValidObject(valueElement as object);\n } else if (!['number', 'string'].includes(typeof valueElement)) {\n return false;\n }\n if (!isValid) {\n return false;\n }\n }\n } else if (value === null || value === undefined) {\n return false;\n } else if (typeof value === 'object') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return isValidObject(value);\n } else if (!['number', 'string', 'boolean'].includes(typeof value)) {\n return false;\n }\n return true;\n};\n"]}
1
+ {"version":3,"file":"valid-properties.js","sourceRoot":"","sources":["../../../src/utils/valid-properties.ts"],"names":[],"mappings":";;;;AAAA,IAAM,iBAAiB,GAAG,IAAI,CAAC;AAExB,IAAM,aAAa,GAAG,UAAC,UAAkC;IAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,iBAAiB,EAAE;QACtD,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAM,GAAG,IAAI,UAAU,EAAE;QAC5B,mEAAmE;QACnE,IAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAA,yBAAiB,EAAC,GAAG,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;KAClD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEK,IAAM,iBAAiB,GAAG,UAAC,QAAgB,EAAE,KAAU;;IAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;;YACnB,KAA2B,IAAA,UAAA,iBAAA,KAAK,CAAA,4BAAA,+CAAE;gBAA7B,IAAM,YAAY,kBAAA;gBACrB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBAC/B,OAAO,KAAK,CAAC;iBACd;qBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBAC3C,OAAO,GAAG,OAAO,IAAI,IAAA,qBAAa,EAAC,YAAsB,CAAC,CAAC;iBAC5D;qBAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,YAAY,CAAC,EAAE;oBAC9D,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,CAAC,OAAO,EAAE;oBACZ,OAAO,KAAK,CAAC;iBACd;aACF;;;;;;;;;KACF;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QAChD,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,iEAAiE;QACjE,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;KAC7B;SAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE;QAClE,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzBW,QAAA,iBAAiB,qBAyB5B","sourcesContent":["const MAX_PROPERTY_KEYS = 1000;\n\nexport const isValidObject = (properties: { [key: string]: any }): boolean => {\n if (Object.keys(properties).length > MAX_PROPERTY_KEYS) {\n return false;\n }\n for (const key in properties) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const value = properties[key];\n if (!isValidProperties(key, value)) return false;\n }\n return true;\n};\n\nexport const isValidProperties = (property: string, value: any): boolean => {\n if (typeof property !== 'string') return false;\n if (Array.isArray(value)) {\n let isValid = true;\n for (const valueElement of value) {\n if (Array.isArray(valueElement)) {\n return false;\n } else if (typeof valueElement === 'object') {\n isValid = isValid && isValidObject(valueElement as object);\n } else if (!['number', 'string'].includes(typeof valueElement)) {\n return false;\n }\n if (!isValid) {\n return false;\n }\n }\n } else if (value === null || value === undefined) {\n return false;\n } else if (typeof value === 'object') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return isValidObject(value);\n } else if (!['number', 'string', 'boolean'].includes(typeof value)) {\n return false;\n }\n return true;\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { AnalyticsConnector } from '@amplitude/analytics-connector';
2
+ export declare const getAnalyticsConnector: (instanceName?: string) => AnalyticsConnector;
3
+ export declare const setConnectorUserId: (userId: string | undefined, instanceName?: string) => void;
4
+ export declare const setConnectorDeviceId: (deviceId: string, instanceName?: string) => void;
5
+ //# sourceMappingURL=analytics-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-connector.d.ts","sourceRoot":"","sources":["../../src/analytics-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,6BAAyC,kBAE1E,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,GAAG,SAAS,iBAAiB,MAAM,KAAG,IAItF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,MAAM,iBAAiB,MAAM,KAAG,IAE9E,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { AnalyticsConnector } from '@amplitude/analytics-connector';
2
+ export var getAnalyticsConnector = function (instanceName) {
3
+ if (instanceName === void 0) { instanceName = '$default_instance'; }
4
+ return AnalyticsConnector.getInstance(instanceName);
5
+ };
6
+ export var setConnectorUserId = function (userId, instanceName) {
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ // @ts-ignore
9
+ getAnalyticsConnector(instanceName).identityStore.editIdentity().setUserId(userId).commit();
10
+ };
11
+ export var setConnectorDeviceId = function (deviceId, instanceName) {
12
+ getAnalyticsConnector(instanceName).identityStore.editIdentity().setDeviceId(deviceId).commit();
13
+ };
14
+ //# sourceMappingURL=analytics-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-connector.js","sourceRoot":"","sources":["../../src/analytics-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,YAAkC;IAAlC,6BAAA,EAAA,kCAAkC;IACtE,OAAO,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,MAA0B,EAAE,YAAqB;IAClF,6DAA6D;IAC7D,aAAa;IACb,qBAAqB,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9F,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,QAAgB,EAAE,YAAqB;IAC1E,qBAAqB,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAClG,CAAC,CAAC","sourcesContent":["import { AnalyticsConnector } from '@amplitude/analytics-connector';\n\nexport const getAnalyticsConnector = (instanceName = '$default_instance'): AnalyticsConnector => {\n return AnalyticsConnector.getInstance(instanceName);\n};\n\nexport const setConnectorUserId = (userId: string | undefined, instanceName?: string): void => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n getAnalyticsConnector(instanceName).identityStore.editIdentity().setUserId(userId).commit();\n};\n\nexport const setConnectorDeviceId = (deviceId: string, instanceName?: string): void => {\n getAnalyticsConnector(instanceName).identityStore.editIdentity().setDeviceId(deviceId).commit();\n};\n"]}
@@ -1,5 +1,12 @@
1
- import { Event, Config as IConfig, Logger as ILogger, LogLevel, Storage, Transport, Plan, IngestionMetadata, Options, ServerZoneType, OfflineDisabled, RequestMetadata as IRequestMetadata, HistogramOptions as IHistogramOptions, HistogramKey } from '@amplitude/analytics-types';
2
- import { Logger } from './logger';
1
+ import { OfflineDisabled } from './types/offline';
2
+ import { ServerZoneType } from './types/server-zone';
3
+ import { Transport } from './types/transport';
4
+ import { Event } from './types/event/event';
5
+ import { Plan } from './types/event/plan';
6
+ import { IngestionMetadata } from './types/event/ingestion-metadata';
7
+ import { Storage } from './types/storage';
8
+ import { Logger, ILogger } from './logger';
9
+ import { LogLevel } from './types/loglevel';
3
10
  export declare const getDefaultConfig: () => {
4
11
  flushMaxRetries: number;
5
12
  flushQueueSize: number;
@@ -13,6 +20,103 @@ export declare const getDefaultConfig: () => {
13
20
  serverZone: ServerZoneType;
14
21
  useBatch: boolean;
15
22
  };
23
+ export interface IConfig {
24
+ /**
25
+ * Your Amplitude Project API key.
26
+ */
27
+ apiKey: string;
28
+ /**
29
+ * The interval of uploading events to Amplitude in milliseconds.
30
+ */
31
+ flushIntervalMillis: number;
32
+ /**
33
+ * The maximum number of retries for failed upload attempts. This is only applicable to retryable errors.
34
+ */
35
+ flushMaxRetries: number;
36
+ /**
37
+ * The maximum number of events that are batched in a single upload attempt.
38
+ */
39
+ flushQueueSize: number;
40
+ /**
41
+ * The instance name. For tracking events to multiple Amplitude projects in your application.
42
+ */
43
+ instanceName?: string;
44
+ /**
45
+ * Level of logs to be printed in the developer console.
46
+ * Valid values are `LogLevel.None`, `LogLevel.Error`, `LogLevel.Warn`, `LogLevel.Verbose`, `LogLevel.Debug`
47
+ */
48
+ logLevel: LogLevel;
49
+ /**
50
+ * A custom Logger class to emit log messages to desired destination.
51
+ */
52
+ loggerProvider: ILogger;
53
+ /**
54
+ * The minimum length for the value of userId and deviceId properties.
55
+ */
56
+ minIdLength?: number;
57
+ /**
58
+ * Whether the SDK is connected to network.
59
+ */
60
+ offline?: boolean | typeof OfflineDisabled;
61
+ /**
62
+ * The flag to opt this device out of Amplitude tracking.
63
+ * If this flag is set, no additional information will be stored for the user.
64
+ */
65
+ optOut: boolean;
66
+ /**
67
+ * Tracking plan properties.
68
+ * Amplitude internal use.
69
+ */
70
+ plan?: Plan;
71
+ /**
72
+ * Ingestion metadata.
73
+ * Amplitude internal use.
74
+ */
75
+ ingestionMetadata?: IngestionMetadata;
76
+ /**
77
+ * The URL where events are upload to.
78
+ */
79
+ serverUrl?: string;
80
+ /**
81
+ * The Amplitude server zone.
82
+ * Set this to EU for Amplitude projects created in EU data center.
83
+ */
84
+ serverZone?: ServerZoneType;
85
+ /**
86
+ * The storage provider to persist unsent events.
87
+ */
88
+ storageProvider?: Storage<Event[]>;
89
+ /**
90
+ * A customer Transport Class for sending data to a server.
91
+ */
92
+ transportProvider: Transport;
93
+ /**
94
+ * The flag of whether to upload events to Batch API instead of the default HTTP V2 API.
95
+ */
96
+ useBatch: boolean;
97
+ /**
98
+ * Metrics of the SDK.
99
+ */
100
+ requestMetadata?: IRequestMetadata;
101
+ }
102
+ export interface IRequestMetadata {
103
+ sdk: {
104
+ metrics: {
105
+ histogram: IHistogramOptions;
106
+ };
107
+ };
108
+ recordHistogram<T extends HistogramKey>(key: T, value: IHistogramOptions[T]): void;
109
+ }
110
+ export interface IHistogramOptions {
111
+ remote_config_fetch_time_IDB?: number;
112
+ remote_config_fetch_time_API_success?: number;
113
+ remote_config_fetch_time_API_fail?: number;
114
+ }
115
+ export type HistogramKey = keyof IHistogramOptions;
116
+ export interface ConfigOptions extends Partial<IConfig> {
117
+ apiKey: string;
118
+ transportProvider: Transport;
119
+ }
16
120
  export declare class Config implements IConfig {
17
121
  apiKey: string;
18
122
  flushIntervalMillis: number;
@@ -34,7 +138,7 @@ export declare class Config implements IConfig {
34
138
  protected _optOut: boolean;
35
139
  get optOut(): boolean;
36
140
  set optOut(optOut: boolean);
37
- constructor(options: Options);
141
+ constructor(options: ConfigOptions);
38
142
  }
39
143
  export declare const getServerUrl: (serverZone: ServerZoneType, useBatch: boolean) => "https://api2.amplitude.com/2/httpapi" | "https://api.eu.amplitude.com/2/httpapi" | "https://api2.amplitude.com/batch" | "https://api.eu.amplitude.com/batch";
40
144
  export declare const createServerConfig: (serverUrl?: string, serverZone?: ServerZoneType, useBatch?: boolean) => {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,eAAe,EACf,eAAe,IAAI,gBAAgB,EACnC,gBAAgB,IAAI,iBAAiB,EACrC,YAAY,EACb,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAY3B,CAAC;AAEH,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,eAAe,CAAC;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,SAAS,CAAC,OAAO,UAAS;IAC1B,IAAI,MAAM,IAGS,OAAO,CADzB;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAEzB;gBAEW,OAAO,EAAE,OAAO;CAyB7B;AAED,eAAO,MAAM,YAAY,eAAgB,cAAc,YAAY,OAAO,kKAKzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,oCAEjB,cAAc,aAChB,OAAO;;;;;;CAUlB,CAAC;AAEF,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,GAAG,EAAE;QACH,OAAO,EAAE;YACP,SAAS,EAAE,gBAAgB,CAAC;SAC7B,CAAC;KACH,CAAC;;IAUF,eAAe,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAG3E;AAED,cAAM,gBAAiB,YAAW,iBAAiB;IACjD,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC5C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
package/lib/esm/config.js CHANGED
@@ -1,6 +1,6 @@
1
- import { LogLevel, } from '@amplitude/analytics-types';
2
- import { AMPLITUDE_SERVER_URL, AMPLITUDE_BATCH_SERVER_URL, EU_AMPLITUDE_SERVER_URL, EU_AMPLITUDE_BATCH_SERVER_URL, } from './constants';
1
+ import { AMPLITUDE_SERVER_URL, AMPLITUDE_BATCH_SERVER_URL, EU_AMPLITUDE_SERVER_URL, EU_AMPLITUDE_BATCH_SERVER_URL, } from './types/constants';
3
2
  import { Logger } from './logger';
3
+ import { LogLevel } from './types/loglevel';
4
4
  export var getDefaultConfig = function () { return ({
5
5
  flushMaxRetries: 12,
6
6
  flushQueueSize: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n LogLevel,\n Storage,\n Transport,\n Plan,\n IngestionMetadata,\n Options,\n ServerZoneType,\n OfflineDisabled,\n RequestMetadata as IRequestMetadata,\n HistogramOptions as IHistogramOptions,\n HistogramKey,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nexport const getDefaultConfig = () => ({\n flushMaxRetries: 12,\n flushQueueSize: 200,\n flushIntervalMillis: 10000,\n instanceName: '$default_instance',\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n offline: false,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: 'US' as ServerZoneType,\n useBatch: false,\n});\n\nexport class Config implements IConfig {\n apiKey: string;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n instanceName?: string;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n minIdLength?: number;\n offline?: boolean | typeof OfflineDisabled;\n plan?: Plan;\n ingestionMetadata?: IngestionMetadata;\n serverUrl: string | undefined;\n serverZone?: ServerZoneType;\n transportProvider: Transport;\n storageProvider?: Storage<Event[]>;\n useBatch: boolean;\n requestMetadata?: RequestMetadata;\n\n protected _optOut = false;\n get optOut() {\n return this._optOut;\n }\n set optOut(optOut: boolean) {\n this._optOut = optOut;\n }\n\n constructor(options: Options) {\n const defaultConfig = getDefaultConfig();\n this.apiKey = options.apiKey;\n this.flushIntervalMillis = options.flushIntervalMillis ?? defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.instanceName = options.instanceName || defaultConfig.instanceName;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel ?? defaultConfig.logLevel;\n this.minIdLength = options.minIdLength;\n this.plan = options.plan;\n this.ingestionMetadata = options.ingestionMetadata;\n this.offline = options.offline !== undefined ? options.offline : defaultConfig.offline;\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n this.loggerProvider.enable(this.logLevel);\n\n const serverConfig = createServerConfig(options.serverUrl, options.serverZone, options.useBatch);\n this.serverZone = serverConfig.serverZone;\n this.serverUrl = serverConfig.serverUrl;\n }\n}\n\nexport const getServerUrl = (serverZone: ServerZoneType, useBatch: boolean) => {\n if (serverZone === 'EU') {\n return useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL;\n }\n return useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL;\n};\n\nexport const createServerConfig = (\n serverUrl = '',\n serverZone: ServerZoneType = getDefaultConfig().serverZone,\n useBatch: boolean = getDefaultConfig().useBatch,\n) => {\n if (serverUrl) {\n return { serverUrl, serverZone: undefined };\n }\n const _serverZone = ['US', 'EU'].includes(serverZone) ? serverZone : getDefaultConfig().serverZone;\n return {\n serverZone: _serverZone,\n serverUrl: getServerUrl(_serverZone, useBatch),\n };\n};\n\nexport class RequestMetadata implements IRequestMetadata {\n sdk: {\n metrics: {\n histogram: HistogramOptions;\n };\n };\n\n constructor() {\n this.sdk = {\n metrics: {\n histogram: {},\n },\n };\n }\n\n recordHistogram<T extends HistogramKey>(key: T, value: HistogramOptions[T]) {\n this.sdk.metrics.histogram[key] = value;\n }\n}\n\nclass HistogramOptions implements IHistogramOptions {\n remote_config_fetch_time_IDB?: number;\n remote_config_fetch_time_API_success?: number;\n remote_config_fetch_time_API_fail?: number;\n}\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { OfflineDisabled } from './types/offline';\nimport { ServerZoneType } from './types/server-zone';\nimport { Transport } from './types/transport';\nimport { Event } from './types/event/event';\nimport { Plan } from './types/event/plan';\nimport { IngestionMetadata } from './types/event/ingestion-metadata';\nimport { Storage } from './types/storage';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './types/constants';\n\nimport { Logger, ILogger } from './logger';\nimport { LogLevel } from './types/loglevel';\n\nexport const getDefaultConfig = () => ({\n flushMaxRetries: 12,\n flushQueueSize: 200,\n flushIntervalMillis: 10000,\n instanceName: '$default_instance',\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n offline: false,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: 'US' as ServerZoneType,\n useBatch: false,\n});\n\nexport interface IConfig {\n /**\n * Your Amplitude Project API key.\n */\n apiKey: string;\n /**\n * The interval of uploading events to Amplitude in milliseconds.\n */\n flushIntervalMillis: number;\n /**\n * The maximum number of retries for failed upload attempts. This is only applicable to retryable errors.\n */\n flushMaxRetries: number;\n /**\n * The maximum number of events that are batched in a single upload attempt.\n */\n flushQueueSize: number;\n /**\n * The instance name. For tracking events to multiple Amplitude projects in your application.\n */\n instanceName?: string;\n /**\n * Level of logs to be printed in the developer console.\n * Valid values are `LogLevel.None`, `LogLevel.Error`, `LogLevel.Warn`, `LogLevel.Verbose`, `LogLevel.Debug`\n */\n logLevel: LogLevel;\n /**\n * A custom Logger class to emit log messages to desired destination.\n */\n loggerProvider: ILogger;\n /**\n * The minimum length for the value of userId and deviceId properties.\n */\n minIdLength?: number;\n /**\n * Whether the SDK is connected to network.\n */\n offline?: boolean | typeof OfflineDisabled;\n /**\n * The flag to opt this device out of Amplitude tracking.\n * If this flag is set, no additional information will be stored for the user.\n */\n optOut: boolean;\n /**\n * Tracking plan properties.\n * Amplitude internal use.\n */\n plan?: Plan;\n /**\n * Ingestion metadata.\n * Amplitude internal use.\n */\n ingestionMetadata?: IngestionMetadata;\n /**\n * The URL where events are upload to.\n */\n serverUrl?: string;\n /**\n * The Amplitude server zone.\n * Set this to EU for Amplitude projects created in EU data center.\n */\n serverZone?: ServerZoneType;\n /**\n * The storage provider to persist unsent events.\n */\n storageProvider?: Storage<Event[]>;\n /**\n * A customer Transport Class for sending data to a server.\n */\n transportProvider: Transport;\n /**\n * The flag of whether to upload events to Batch API instead of the default HTTP V2 API.\n */\n useBatch: boolean;\n /**\n * Metrics of the SDK.\n */\n requestMetadata?: IRequestMetadata;\n}\n\nexport interface IRequestMetadata {\n sdk: {\n metrics: {\n histogram: IHistogramOptions;\n };\n };\n\n recordHistogram<T extends HistogramKey>(key: T, value: IHistogramOptions[T]): void;\n}\n\nexport interface IHistogramOptions {\n remote_config_fetch_time_IDB?: number;\n remote_config_fetch_time_API_success?: number;\n remote_config_fetch_time_API_fail?: number;\n}\n\nexport type HistogramKey = keyof IHistogramOptions;\n\nexport interface ConfigOptions extends Partial<IConfig> {\n apiKey: string;\n transportProvider: Transport;\n}\n\nexport class Config implements IConfig {\n apiKey: string;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n instanceName?: string;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n minIdLength?: number;\n offline?: boolean | typeof OfflineDisabled;\n plan?: Plan;\n ingestionMetadata?: IngestionMetadata;\n serverUrl: string | undefined;\n serverZone?: ServerZoneType;\n transportProvider: Transport;\n storageProvider?: Storage<Event[]>;\n useBatch: boolean;\n requestMetadata?: RequestMetadata;\n\n protected _optOut = false;\n get optOut() {\n return this._optOut;\n }\n set optOut(optOut: boolean) {\n this._optOut = optOut;\n }\n\n constructor(options: ConfigOptions) {\n const defaultConfig = getDefaultConfig();\n this.apiKey = options.apiKey;\n this.flushIntervalMillis = options.flushIntervalMillis ?? defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.instanceName = options.instanceName || defaultConfig.instanceName;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel ?? defaultConfig.logLevel;\n this.minIdLength = options.minIdLength;\n this.plan = options.plan;\n this.ingestionMetadata = options.ingestionMetadata;\n this.offline = options.offline !== undefined ? options.offline : defaultConfig.offline;\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n this.loggerProvider.enable(this.logLevel);\n\n const serverConfig = createServerConfig(options.serverUrl, options.serverZone, options.useBatch);\n this.serverZone = serverConfig.serverZone;\n this.serverUrl = serverConfig.serverUrl;\n }\n}\n\nexport const getServerUrl = (serverZone: ServerZoneType, useBatch: boolean) => {\n if (serverZone === 'EU') {\n return useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL;\n }\n return useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL;\n};\n\nexport const createServerConfig = (\n serverUrl = '',\n serverZone: ServerZoneType = getDefaultConfig().serverZone,\n useBatch: boolean = getDefaultConfig().useBatch,\n) => {\n if (serverUrl) {\n return { serverUrl, serverZone: undefined };\n }\n const _serverZone = ['US', 'EU'].includes(serverZone) ? serverZone : getDefaultConfig().serverZone;\n return {\n serverZone: _serverZone,\n serverUrl: getServerUrl(_serverZone, useBatch),\n };\n};\n\nexport class RequestMetadata implements IRequestMetadata {\n sdk: {\n metrics: {\n histogram: HistogramOptions;\n };\n };\n\n constructor() {\n this.sdk = {\n metrics: {\n histogram: {},\n },\n };\n }\n\n recordHistogram<T extends HistogramKey>(key: T, value: HistogramOptions[T]) {\n this.sdk.metrics.histogram[key] = value;\n }\n}\n\nclass HistogramOptions implements IHistogramOptions {\n remote_config_fetch_time_IDB?: number;\n remote_config_fetch_time_API_success?: number;\n remote_config_fetch_time_API_fail?: number;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const getCookieName: (apiKey: string, postKey?: string, limit?: number) => string;
2
+ export declare const getOldCookieName: (apiKey: string) => string;
3
+ //# sourceMappingURL=cookie-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie-name.d.ts","sourceRoot":"","sources":["../../src/cookie-name.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,WAAY,MAAM,6CAE3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,MAAM,WAE9C,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AMPLITUDE_PREFIX } from './types/constants';
2
+ export var getCookieName = function (apiKey, postKey, limit) {
3
+ if (postKey === void 0) { postKey = ''; }
4
+ if (limit === void 0) { limit = 10; }
5
+ return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');
6
+ };
7
+ export var getOldCookieName = function (apiKey) {
8
+ return "".concat(AMPLITUDE_PREFIX.toLowerCase(), "_").concat(apiKey.substring(0, 6));
9
+ };
10
+ //# sourceMappingURL=cookie-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie-name.js","sourceRoot":"","sources":["../../src/cookie-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAAY,EAAE,KAAU;IAAxB,wBAAA,EAAA,YAAY;IAAE,sBAAA,EAAA,UAAU;IACpE,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,MAAc;IAC7C,OAAO,UAAG,gBAAgB,CAAC,WAAW,EAAE,cAAI,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;AACvE,CAAC,CAAC","sourcesContent":["import { AMPLITUDE_PREFIX } from './types/constants';\n\nexport const getCookieName = (apiKey: string, postKey = '', limit = 10) => {\n return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');\n};\n\nexport const getOldCookieName = (apiKey: string) => {\n return `${AMPLITUDE_PREFIX.toLowerCase()}_${apiKey.substring(0, 6)}`;\n};\n"]}