@ht-sdks/events-sdk-js-browser 1.0.4

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 (689) hide show
  1. package/LICENSE.MD +45 -0
  2. package/README.md +227 -0
  3. package/dist/cjs/browser/browser-umd.js +21 -0
  4. package/dist/cjs/browser/browser-umd.js.map +1 -0
  5. package/dist/cjs/browser/index.js +351 -0
  6. package/dist/cjs/browser/index.js.map +1 -0
  7. package/dist/cjs/browser/standalone-analytics.js +62 -0
  8. package/dist/cjs/browser/standalone-analytics.js.map +1 -0
  9. package/dist/cjs/browser/standalone-interface.js +3 -0
  10. package/dist/cjs/browser/standalone-interface.js.map +1 -0
  11. package/dist/cjs/browser/standalone.js +95 -0
  12. package/dist/cjs/browser/standalone.js.map +1 -0
  13. package/dist/cjs/core/analytics/index.js +589 -0
  14. package/dist/cjs/core/analytics/index.js.map +1 -0
  15. package/dist/cjs/core/analytics/interfaces.js +3 -0
  16. package/dist/cjs/core/analytics/interfaces.js.map +1 -0
  17. package/dist/cjs/core/arguments-resolver/index.js +134 -0
  18. package/dist/cjs/core/arguments-resolver/index.js.map +1 -0
  19. package/dist/cjs/core/auto-track.js +108 -0
  20. package/dist/cjs/core/auto-track.js.map +1 -0
  21. package/dist/cjs/core/buffer/index.js +303 -0
  22. package/dist/cjs/core/buffer/index.js.map +1 -0
  23. package/dist/cjs/core/callback/index.js +7 -0
  24. package/dist/cjs/core/callback/index.js.map +1 -0
  25. package/dist/cjs/core/connection/index.js +16 -0
  26. package/dist/cjs/core/connection/index.js.map +1 -0
  27. package/dist/cjs/core/constants/index.js +5 -0
  28. package/dist/cjs/core/constants/index.js.map +1 -0
  29. package/dist/cjs/core/context/index.js +19 -0
  30. package/dist/cjs/core/context/index.js.map +1 -0
  31. package/dist/cjs/core/environment/index.js +12 -0
  32. package/dist/cjs/core/environment/index.js.map +1 -0
  33. package/dist/cjs/core/events/index.js +138 -0
  34. package/dist/cjs/core/events/index.js.map +1 -0
  35. package/dist/cjs/core/events/interfaces.js +3 -0
  36. package/dist/cjs/core/events/interfaces.js.map +1 -0
  37. package/dist/cjs/core/inspector/index.js +14 -0
  38. package/dist/cjs/core/inspector/index.js.map +1 -0
  39. package/dist/cjs/core/page/add-page-context.js +25 -0
  40. package/dist/cjs/core/page/add-page-context.js.map +1 -0
  41. package/dist/cjs/core/page/get-page-context.js +92 -0
  42. package/dist/cjs/core/page/get-page-context.js.map +1 -0
  43. package/dist/cjs/core/page/index.js +6 -0
  44. package/dist/cjs/core/page/index.js.map +1 -0
  45. package/dist/cjs/core/plugin/index.js +3 -0
  46. package/dist/cjs/core/plugin/index.js.map +1 -0
  47. package/dist/cjs/core/query-string/gracefulDecodeURIComponent.js +20 -0
  48. package/dist/cjs/core/query-string/gracefulDecodeURIComponent.js.map +1 -0
  49. package/dist/cjs/core/query-string/index.js +48 -0
  50. package/dist/cjs/core/query-string/index.js.map +1 -0
  51. package/dist/cjs/core/query-string/pickPrefix.js +20 -0
  52. package/dist/cjs/core/query-string/pickPrefix.js.map +1 -0
  53. package/dist/cjs/core/queue/event-queue.js +27 -0
  54. package/dist/cjs/core/queue/event-queue.js.map +1 -0
  55. package/dist/cjs/core/session/index.js +71 -0
  56. package/dist/cjs/core/session/index.js.map +1 -0
  57. package/dist/cjs/core/stats/index.js +23 -0
  58. package/dist/cjs/core/stats/index.js.map +1 -0
  59. package/dist/cjs/core/stats/remote-metrics.js +111 -0
  60. package/dist/cjs/core/stats/remote-metrics.js.map +1 -0
  61. package/dist/cjs/core/storage/cookieStorage.js +72 -0
  62. package/dist/cjs/core/storage/cookieStorage.js.map +1 -0
  63. package/dist/cjs/core/storage/index.js +64 -0
  64. package/dist/cjs/core/storage/index.js.map +1 -0
  65. package/dist/cjs/core/storage/localStorage.js +51 -0
  66. package/dist/cjs/core/storage/localStorage.js.map +1 -0
  67. package/dist/cjs/core/storage/memoryStorage.js +24 -0
  68. package/dist/cjs/core/storage/memoryStorage.js.map +1 -0
  69. package/dist/cjs/core/storage/settings.js +16 -0
  70. package/dist/cjs/core/storage/settings.js.map +1 -0
  71. package/dist/cjs/core/storage/types.js +9 -0
  72. package/dist/cjs/core/storage/types.js.map +1 -0
  73. package/dist/cjs/core/storage/universalStorage.js +66 -0
  74. package/dist/cjs/core/storage/universalStorage.js.map +1 -0
  75. package/dist/cjs/core/user/index.js +273 -0
  76. package/dist/cjs/core/user/index.js.map +1 -0
  77. package/dist/cjs/core/user/migrate.js +114 -0
  78. package/dist/cjs/core/user/migrate.js.map +1 -0
  79. package/dist/cjs/core/user/tld.js +64 -0
  80. package/dist/cjs/core/user/tld.js.map +1 -0
  81. package/dist/cjs/core/user/vendor/crypto-es/lib/aes.js +248 -0
  82. package/dist/cjs/core/user/vendor/crypto-es/lib/aes.js.map +1 -0
  83. package/dist/cjs/core/user/vendor/crypto-es/lib/cipher-core.js +841 -0
  84. package/dist/cjs/core/user/vendor/crypto-es/lib/cipher-core.js.map +1 -0
  85. package/dist/cjs/core/user/vendor/crypto-es/lib/core.js +747 -0
  86. package/dist/cjs/core/user/vendor/crypto-es/lib/core.js.map +1 -0
  87. package/dist/cjs/core/user/vendor/crypto-es/lib/enc-base64.js +102 -0
  88. package/dist/cjs/core/user/vendor/crypto-es/lib/enc-base64.js.map +1 -0
  89. package/dist/cjs/core/user/vendor/crypto-es/lib/evpkdf.js +105 -0
  90. package/dist/cjs/core/user/vendor/crypto-es/lib/evpkdf.js.map +1 -0
  91. package/dist/cjs/core/user/vendor/crypto-es/lib/md5.js +217 -0
  92. package/dist/cjs/core/user/vendor/crypto-es/lib/md5.js.map +1 -0
  93. package/dist/cjs/generated/version.js +6 -0
  94. package/dist/cjs/generated/version.js.map +1 -0
  95. package/dist/cjs/index.js +16 -0
  96. package/dist/cjs/index.js.map +1 -0
  97. package/dist/cjs/lib/bind-all.js +17 -0
  98. package/dist/cjs/lib/bind-all.js.map +1 -0
  99. package/dist/cjs/lib/browser-polyfill.js +22 -0
  100. package/dist/cjs/lib/browser-polyfill.js.map +1 -0
  101. package/dist/cjs/lib/client-hints/index.js +21 -0
  102. package/dist/cjs/lib/client-hints/index.js.map +1 -0
  103. package/dist/cjs/lib/client-hints/interfaces.js +3 -0
  104. package/dist/cjs/lib/client-hints/interfaces.js.map +1 -0
  105. package/dist/cjs/lib/create-deferred.js +21 -0
  106. package/dist/cjs/lib/create-deferred.js.map +1 -0
  107. package/dist/cjs/lib/csp-detection.js +8 -0
  108. package/dist/cjs/lib/csp-detection.js.map +1 -0
  109. package/dist/cjs/lib/embedded-write-key.js +22 -0
  110. package/dist/cjs/lib/embedded-write-key.js.map +1 -0
  111. package/dist/cjs/lib/fetch.js +19 -0
  112. package/dist/cjs/lib/fetch.js.map +1 -0
  113. package/dist/cjs/lib/get-global.js +21 -0
  114. package/dist/cjs/lib/get-global.js.map +1 -0
  115. package/dist/cjs/lib/get-process-env.js +15 -0
  116. package/dist/cjs/lib/get-process-env.js.map +1 -0
  117. package/dist/cjs/lib/global-analytics-helper.js +34 -0
  118. package/dist/cjs/lib/global-analytics-helper.js.map +1 -0
  119. package/dist/cjs/lib/group-by.js +28 -0
  120. package/dist/cjs/lib/group-by.js.map +1 -0
  121. package/dist/cjs/lib/is-plan-event-enabled.js +20 -0
  122. package/dist/cjs/lib/is-plan-event-enabled.js.map +1 -0
  123. package/dist/cjs/lib/is-thenable.js +15 -0
  124. package/dist/cjs/lib/is-thenable.js.map +1 -0
  125. package/dist/cjs/lib/load-script.js +56 -0
  126. package/dist/cjs/lib/load-script.js.map +1 -0
  127. package/dist/cjs/lib/merged-options.js +31 -0
  128. package/dist/cjs/lib/merged-options.js.map +1 -0
  129. package/dist/cjs/lib/on-page-change.js +35 -0
  130. package/dist/cjs/lib/on-page-change.js.map +1 -0
  131. package/dist/cjs/lib/p-while.js +25 -0
  132. package/dist/cjs/lib/p-while.js.map +1 -0
  133. package/dist/cjs/lib/parse-cdn.js +55 -0
  134. package/dist/cjs/lib/parse-cdn.js.map +1 -0
  135. package/dist/cjs/lib/pick.js +19 -0
  136. package/dist/cjs/lib/pick.js.map +1 -0
  137. package/dist/cjs/lib/priority-queue/backoff.js +10 -0
  138. package/dist/cjs/lib/priority-queue/backoff.js.map +1 -0
  139. package/dist/cjs/lib/priority-queue/index.js +7 -0
  140. package/dist/cjs/lib/priority-queue/index.js.map +1 -0
  141. package/dist/cjs/lib/priority-queue/persisted.js +108 -0
  142. package/dist/cjs/lib/priority-queue/persisted.js.map +1 -0
  143. package/dist/cjs/lib/sleep.js +10 -0
  144. package/dist/cjs/lib/sleep.js.map +1 -0
  145. package/dist/cjs/lib/to-facade.js +32 -0
  146. package/dist/cjs/lib/to-facade.js.map +1 -0
  147. package/dist/cjs/lib/version-type.js +14 -0
  148. package/dist/cjs/lib/version-type.js.map +1 -0
  149. package/dist/cjs/node/index.js +43 -0
  150. package/dist/cjs/node/index.js.map +1 -0
  151. package/dist/cjs/node/node.browser.js +13 -0
  152. package/dist/cjs/node/node.browser.js.map +1 -0
  153. package/dist/cjs/plugins/ajs-destination/index.js +345 -0
  154. package/dist/cjs/plugins/ajs-destination/index.js.map +1 -0
  155. package/dist/cjs/plugins/ajs-destination/loader.js +110 -0
  156. package/dist/cjs/plugins/ajs-destination/loader.js.map +1 -0
  157. package/dist/cjs/plugins/ajs-destination/types.js +3 -0
  158. package/dist/cjs/plugins/ajs-destination/types.js.map +1 -0
  159. package/dist/cjs/plugins/ajs-destination/utils.js +23 -0
  160. package/dist/cjs/plugins/ajs-destination/utils.js.map +1 -0
  161. package/dist/cjs/plugins/analytics-node/index.js +65 -0
  162. package/dist/cjs/plugins/analytics-node/index.js.map +1 -0
  163. package/dist/cjs/plugins/env-enrichment/index.js +181 -0
  164. package/dist/cjs/plugins/env-enrichment/index.js.map +1 -0
  165. package/dist/cjs/plugins/hightouchio/batched-dispatcher.js +113 -0
  166. package/dist/cjs/plugins/hightouchio/batched-dispatcher.js.map +1 -0
  167. package/dist/cjs/plugins/hightouchio/fetch-dispatcher.js +21 -0
  168. package/dist/cjs/plugins/hightouchio/fetch-dispatcher.js.map +1 -0
  169. package/dist/cjs/plugins/hightouchio/index.js +100 -0
  170. package/dist/cjs/plugins/hightouchio/index.js.map +1 -0
  171. package/dist/cjs/plugins/hightouchio/normalize.js +54 -0
  172. package/dist/cjs/plugins/hightouchio/normalize.js.map +1 -0
  173. package/dist/cjs/plugins/hightouchio/schedule-flush.js +76 -0
  174. package/dist/cjs/plugins/hightouchio/schedule-flush.js.map +1 -0
  175. package/dist/cjs/plugins/legacy-video-plugins/index.js +25 -0
  176. package/dist/cjs/plugins/legacy-video-plugins/index.js.map +1 -0
  177. package/dist/cjs/plugins/middleware/index.js +124 -0
  178. package/dist/cjs/plugins/middleware/index.js.map +1 -0
  179. package/dist/cjs/plugins/remote-loader/index.js +236 -0
  180. package/dist/cjs/plugins/remote-loader/index.js.map +1 -0
  181. package/dist/cjs/plugins/remote-middleware/index.js +70 -0
  182. package/dist/cjs/plugins/remote-middleware/index.js.map +1 -0
  183. package/dist/cjs/plugins/routing-middleware/index.js +26 -0
  184. package/dist/cjs/plugins/routing-middleware/index.js.map +1 -0
  185. package/dist/cjs/plugins/schema-filter/index.js +67 -0
  186. package/dist/cjs/plugins/schema-filter/index.js.map +1 -0
  187. package/dist/cjs/plugins/validation/index.js +33 -0
  188. package/dist/cjs/plugins/validation/index.js.map +1 -0
  189. package/dist/pkg/browser/browser-umd.js +18 -0
  190. package/dist/pkg/browser/browser-umd.js.map +1 -0
  191. package/dist/pkg/browser/index.js +347 -0
  192. package/dist/pkg/browser/index.js.map +1 -0
  193. package/dist/pkg/browser/standalone-analytics.js +58 -0
  194. package/dist/pkg/browser/standalone-analytics.js.map +1 -0
  195. package/dist/pkg/browser/standalone-interface.js +2 -0
  196. package/dist/pkg/browser/standalone-interface.js.map +1 -0
  197. package/dist/pkg/browser/standalone.js +93 -0
  198. package/dist/pkg/browser/standalone.js.map +1 -0
  199. package/dist/pkg/core/analytics/index.js +586 -0
  200. package/dist/pkg/core/analytics/index.js.map +1 -0
  201. package/dist/pkg/core/analytics/interfaces.js +2 -0
  202. package/dist/pkg/core/analytics/interfaces.js.map +1 -0
  203. package/dist/pkg/core/arguments-resolver/index.js +127 -0
  204. package/dist/pkg/core/arguments-resolver/index.js.map +1 -0
  205. package/dist/pkg/core/auto-track.js +103 -0
  206. package/dist/pkg/core/auto-track.js.map +1 -0
  207. package/dist/pkg/core/buffer/index.js +295 -0
  208. package/dist/pkg/core/buffer/index.js.map +1 -0
  209. package/dist/pkg/core/callback/index.js +2 -0
  210. package/dist/pkg/core/callback/index.js.map +1 -0
  211. package/dist/pkg/core/connection/index.js +11 -0
  212. package/dist/pkg/core/connection/index.js.map +1 -0
  213. package/dist/pkg/core/constants/index.js +2 -0
  214. package/dist/pkg/core/constants/index.js.map +1 -0
  215. package/dist/pkg/core/context/index.js +16 -0
  216. package/dist/pkg/core/context/index.js.map +1 -0
  217. package/dist/pkg/core/environment/index.js +7 -0
  218. package/dist/pkg/core/environment/index.js.map +1 -0
  219. package/dist/pkg/core/events/index.js +135 -0
  220. package/dist/pkg/core/events/index.js.map +1 -0
  221. package/dist/pkg/core/events/interfaces.js +2 -0
  222. package/dist/pkg/core/events/interfaces.js.map +1 -0
  223. package/dist/pkg/core/inspector/index.js +10 -0
  224. package/dist/pkg/core/inspector/index.js.map +1 -0
  225. package/dist/pkg/core/page/add-page-context.js +21 -0
  226. package/dist/pkg/core/page/add-page-context.js.map +1 -0
  227. package/dist/pkg/core/page/get-page-context.js +84 -0
  228. package/dist/pkg/core/page/get-page-context.js.map +1 -0
  229. package/dist/pkg/core/page/index.js +3 -0
  230. package/dist/pkg/core/page/index.js.map +1 -0
  231. package/dist/pkg/core/plugin/index.js +2 -0
  232. package/dist/pkg/core/plugin/index.js.map +1 -0
  233. package/dist/pkg/core/query-string/gracefulDecodeURIComponent.js +16 -0
  234. package/dist/pkg/core/query-string/gracefulDecodeURIComponent.js.map +1 -0
  235. package/dist/pkg/core/query-string/index.js +44 -0
  236. package/dist/pkg/core/query-string/index.js.map +1 -0
  237. package/dist/pkg/core/query-string/pickPrefix.js +16 -0
  238. package/dist/pkg/core/query-string/pickPrefix.js.map +1 -0
  239. package/dist/pkg/core/queue/event-queue.js +24 -0
  240. package/dist/pkg/core/queue/event-queue.js.map +1 -0
  241. package/dist/pkg/core/session/index.js +63 -0
  242. package/dist/pkg/core/session/index.js.map +1 -0
  243. package/dist/pkg/core/stats/index.js +20 -0
  244. package/dist/pkg/core/stats/index.js.map +1 -0
  245. package/dist/pkg/core/stats/remote-metrics.js +108 -0
  246. package/dist/pkg/core/stats/remote-metrics.js.map +1 -0
  247. package/dist/pkg/core/storage/cookieStorage.js +69 -0
  248. package/dist/pkg/core/storage/cookieStorage.js.map +1 -0
  249. package/dist/pkg/core/storage/index.js +58 -0
  250. package/dist/pkg/core/storage/index.js.map +1 -0
  251. package/dist/pkg/core/storage/localStorage.js +48 -0
  252. package/dist/pkg/core/storage/localStorage.js.map +1 -0
  253. package/dist/pkg/core/storage/memoryStorage.js +21 -0
  254. package/dist/pkg/core/storage/memoryStorage.js.map +1 -0
  255. package/dist/pkg/core/storage/settings.js +11 -0
  256. package/dist/pkg/core/storage/settings.js.map +1 -0
  257. package/dist/pkg/core/storage/types.js +6 -0
  258. package/dist/pkg/core/storage/types.js.map +1 -0
  259. package/dist/pkg/core/storage/universalStorage.js +63 -0
  260. package/dist/pkg/core/storage/universalStorage.js.map +1 -0
  261. package/dist/pkg/core/user/index.js +270 -0
  262. package/dist/pkg/core/user/index.js.map +1 -0
  263. package/dist/pkg/core/user/migrate.js +109 -0
  264. package/dist/pkg/core/user/migrate.js.map +1 -0
  265. package/dist/pkg/core/user/tld.js +59 -0
  266. package/dist/pkg/core/user/tld.js.map +1 -0
  267. package/dist/pkg/core/user/vendor/crypto-es/lib/aes.js +245 -0
  268. package/dist/pkg/core/user/vendor/crypto-es/lib/aes.js.map +1 -0
  269. package/dist/pkg/core/user/vendor/crypto-es/lib/cipher-core.js +838 -0
  270. package/dist/pkg/core/user/vendor/crypto-es/lib/cipher-core.js.map +1 -0
  271. package/dist/pkg/core/user/vendor/crypto-es/lib/core.js +744 -0
  272. package/dist/pkg/core/user/vendor/crypto-es/lib/core.js.map +1 -0
  273. package/dist/pkg/core/user/vendor/crypto-es/lib/enc-base64.js +98 -0
  274. package/dist/pkg/core/user/vendor/crypto-es/lib/enc-base64.js.map +1 -0
  275. package/dist/pkg/core/user/vendor/crypto-es/lib/evpkdf.js +101 -0
  276. package/dist/pkg/core/user/vendor/crypto-es/lib/evpkdf.js.map +1 -0
  277. package/dist/pkg/core/user/vendor/crypto-es/lib/md5.js +214 -0
  278. package/dist/pkg/core/user/vendor/crypto-es/lib/md5.js.map +1 -0
  279. package/dist/pkg/generated/version.js +3 -0
  280. package/dist/pkg/generated/version.js.map +1 -0
  281. package/dist/pkg/index.js +10 -0
  282. package/dist/pkg/index.js.map +1 -0
  283. package/dist/pkg/lib/bind-all.js +14 -0
  284. package/dist/pkg/lib/bind-all.js.map +1 -0
  285. package/dist/pkg/lib/browser-polyfill.js +18 -0
  286. package/dist/pkg/lib/browser-polyfill.js.map +1 -0
  287. package/dist/pkg/lib/client-hints/index.js +17 -0
  288. package/dist/pkg/lib/client-hints/index.js.map +1 -0
  289. package/dist/pkg/lib/client-hints/interfaces.js +2 -0
  290. package/dist/pkg/lib/client-hints/interfaces.js.map +1 -0
  291. package/dist/pkg/lib/create-deferred.js +17 -0
  292. package/dist/pkg/lib/create-deferred.js.map +1 -0
  293. package/dist/pkg/lib/csp-detection.js +4 -0
  294. package/dist/pkg/lib/csp-detection.js.map +1 -0
  295. package/dist/pkg/lib/embedded-write-key.js +18 -0
  296. package/dist/pkg/lib/embedded-write-key.js.map +1 -0
  297. package/dist/pkg/lib/fetch.js +14 -0
  298. package/dist/pkg/lib/fetch.js.map +1 -0
  299. package/dist/pkg/lib/get-global.js +17 -0
  300. package/dist/pkg/lib/get-global.js.map +1 -0
  301. package/dist/pkg/lib/get-process-env.js +11 -0
  302. package/dist/pkg/lib/get-process-env.js.map +1 -0
  303. package/dist/pkg/lib/global-analytics-helper.js +28 -0
  304. package/dist/pkg/lib/global-analytics-helper.js.map +1 -0
  305. package/dist/pkg/lib/group-by.js +24 -0
  306. package/dist/pkg/lib/group-by.js.map +1 -0
  307. package/dist/pkg/lib/is-plan-event-enabled.js +16 -0
  308. package/dist/pkg/lib/is-plan-event-enabled.js.map +1 -0
  309. package/dist/pkg/lib/is-thenable.js +11 -0
  310. package/dist/pkg/lib/is-thenable.js.map +1 -0
  311. package/dist/pkg/lib/load-script.js +51 -0
  312. package/dist/pkg/lib/load-script.js.map +1 -0
  313. package/dist/pkg/lib/merged-options.js +27 -0
  314. package/dist/pkg/lib/merged-options.js.map +1 -0
  315. package/dist/pkg/lib/on-page-change.js +31 -0
  316. package/dist/pkg/lib/on-page-change.js.map +1 -0
  317. package/dist/pkg/lib/p-while.js +21 -0
  318. package/dist/pkg/lib/p-while.js.map +1 -0
  319. package/dist/pkg/lib/parse-cdn.js +49 -0
  320. package/dist/pkg/lib/parse-cdn.js.map +1 -0
  321. package/dist/pkg/lib/pick.js +15 -0
  322. package/dist/pkg/lib/pick.js.map +1 -0
  323. package/dist/pkg/lib/priority-queue/backoff.js +6 -0
  324. package/dist/pkg/lib/priority-queue/backoff.js.map +1 -0
  325. package/dist/pkg/lib/priority-queue/index.js +3 -0
  326. package/dist/pkg/lib/priority-queue/index.js.map +1 -0
  327. package/dist/pkg/lib/priority-queue/persisted.js +105 -0
  328. package/dist/pkg/lib/priority-queue/persisted.js.map +1 -0
  329. package/dist/pkg/lib/sleep.js +6 -0
  330. package/dist/pkg/lib/sleep.js.map +1 -0
  331. package/dist/pkg/lib/to-facade.js +28 -0
  332. package/dist/pkg/lib/to-facade.js.map +1 -0
  333. package/dist/pkg/lib/version-type.js +9 -0
  334. package/dist/pkg/lib/version-type.js.map +1 -0
  335. package/dist/pkg/node/index.js +40 -0
  336. package/dist/pkg/node/index.js.map +1 -0
  337. package/dist/pkg/node/node.browser.js +10 -0
  338. package/dist/pkg/node/node.browser.js.map +1 -0
  339. package/dist/pkg/plugins/ajs-destination/index.js +341 -0
  340. package/dist/pkg/plugins/ajs-destination/index.js.map +1 -0
  341. package/dist/pkg/plugins/ajs-destination/loader.js +102 -0
  342. package/dist/pkg/plugins/ajs-destination/loader.js.map +1 -0
  343. package/dist/pkg/plugins/ajs-destination/types.js +2 -0
  344. package/dist/pkg/plugins/ajs-destination/types.js.map +1 -0
  345. package/dist/pkg/plugins/ajs-destination/utils.js +18 -0
  346. package/dist/pkg/plugins/ajs-destination/utils.js.map +1 -0
  347. package/dist/pkg/plugins/analytics-node/index.js +60 -0
  348. package/dist/pkg/plugins/analytics-node/index.js.map +1 -0
  349. package/dist/pkg/plugins/env-enrichment/index.js +176 -0
  350. package/dist/pkg/plugins/env-enrichment/index.js.map +1 -0
  351. package/dist/pkg/plugins/hightouchio/batched-dispatcher.js +110 -0
  352. package/dist/pkg/plugins/hightouchio/batched-dispatcher.js.map +1 -0
  353. package/dist/pkg/plugins/hightouchio/fetch-dispatcher.js +18 -0
  354. package/dist/pkg/plugins/hightouchio/fetch-dispatcher.js.map +1 -0
  355. package/dist/pkg/plugins/hightouchio/index.js +96 -0
  356. package/dist/pkg/plugins/hightouchio/index.js.map +1 -0
  357. package/dist/pkg/plugins/hightouchio/normalize.js +50 -0
  358. package/dist/pkg/plugins/hightouchio/normalize.js.map +1 -0
  359. package/dist/pkg/plugins/hightouchio/schedule-flush.js +72 -0
  360. package/dist/pkg/plugins/hightouchio/schedule-flush.js.map +1 -0
  361. package/dist/pkg/plugins/legacy-video-plugins/index.js +25 -0
  362. package/dist/pkg/plugins/legacy-video-plugins/index.js.map +1 -0
  363. package/dist/pkg/plugins/middleware/index.js +119 -0
  364. package/dist/pkg/plugins/middleware/index.js.map +1 -0
  365. package/dist/pkg/plugins/remote-loader/index.js +232 -0
  366. package/dist/pkg/plugins/remote-loader/index.js.map +1 -0
  367. package/dist/pkg/plugins/remote-middleware/index.js +66 -0
  368. package/dist/pkg/plugins/remote-middleware/index.js.map +1 -0
  369. package/dist/pkg/plugins/routing-middleware/index.js +21 -0
  370. package/dist/pkg/plugins/routing-middleware/index.js.map +1 -0
  371. package/dist/pkg/plugins/schema-filter/index.js +63 -0
  372. package/dist/pkg/plugins/schema-filter/index.js.map +1 -0
  373. package/dist/pkg/plugins/validation/index.js +30 -0
  374. package/dist/pkg/plugins/validation/index.js.map +1 -0
  375. package/dist/types/browser/browser-umd.d.ts +2 -0
  376. package/dist/types/browser/browser-umd.d.ts.map +1 -0
  377. package/dist/types/browser/index.d.ts +109 -0
  378. package/dist/types/browser/index.d.ts.map +1 -0
  379. package/dist/types/browser/standalone-analytics.d.ts +2 -0
  380. package/dist/types/browser/standalone-analytics.d.ts.map +1 -0
  381. package/dist/types/browser/standalone-interface.d.ts +10 -0
  382. package/dist/types/browser/standalone-interface.d.ts.map +1 -0
  383. package/dist/types/browser/standalone.d.ts +2 -0
  384. package/dist/types/browser/standalone.d.ts.map +1 -0
  385. package/dist/types/core/analytics/index.d.ts +149 -0
  386. package/dist/types/core/analytics/index.d.ts.map +1 -0
  387. package/dist/types/core/analytics/interfaces.d.ts +77 -0
  388. package/dist/types/core/analytics/interfaces.d.ts.map +1 -0
  389. package/dist/types/core/arguments-resolver/index.d.ts +34 -0
  390. package/dist/types/core/arguments-resolver/index.d.ts.map +1 -0
  391. package/dist/types/core/auto-track.d.ts +10 -0
  392. package/dist/types/core/auto-track.d.ts.map +1 -0
  393. package/dist/types/core/buffer/index.d.ts +102 -0
  394. package/dist/types/core/buffer/index.d.ts.map +1 -0
  395. package/dist/types/core/callback/index.d.ts +2 -0
  396. package/dist/types/core/callback/index.d.ts.map +1 -0
  397. package/dist/types/core/connection/index.d.ts +3 -0
  398. package/dist/types/core/connection/index.d.ts.map +1 -0
  399. package/dist/types/core/constants/index.d.ts +2 -0
  400. package/dist/types/core/constants/index.d.ts.map +1 -0
  401. package/dist/types/core/context/index.d.ts +9 -0
  402. package/dist/types/core/context/index.d.ts.map +1 -0
  403. package/dist/types/core/environment/index.d.ts +3 -0
  404. package/dist/types/core/environment/index.d.ts.map +1 -0
  405. package/dist/types/core/events/index.d.ts +22 -0
  406. package/dist/types/core/events/index.d.ts.map +1 -0
  407. package/dist/types/core/events/interfaces.d.ts +9 -0
  408. package/dist/types/core/events/interfaces.d.ts.map +1 -0
  409. package/dist/types/core/inspector/index.d.ts +3 -0
  410. package/dist/types/core/inspector/index.d.ts.map +1 -0
  411. package/dist/types/core/page/add-page-context.d.ts +9 -0
  412. package/dist/types/core/page/add-page-context.d.ts.map +1 -0
  413. package/dist/types/core/page/get-page-context.d.ts +45 -0
  414. package/dist/types/core/page/get-page-context.d.ts.map +1 -0
  415. package/dist/types/core/page/index.d.ts +3 -0
  416. package/dist/types/core/page/index.d.ts.map +1 -0
  417. package/dist/types/core/plugin/index.d.ts +11 -0
  418. package/dist/types/core/plugin/index.d.ts.map +1 -0
  419. package/dist/types/core/query-string/gracefulDecodeURIComponent.d.ts +9 -0
  420. package/dist/types/core/query-string/gracefulDecodeURIComponent.d.ts.map +1 -0
  421. package/dist/types/core/query-string/index.d.ts +7 -0
  422. package/dist/types/core/query-string/index.d.ts.map +1 -0
  423. package/dist/types/core/query-string/pickPrefix.d.ts +9 -0
  424. package/dist/types/core/query-string/pickPrefix.d.ts.map +1 -0
  425. package/dist/types/core/queue/event-queue.d.ts +10 -0
  426. package/dist/types/core/queue/event-queue.d.ts.map +1 -0
  427. package/dist/types/core/session/index.d.ts +32 -0
  428. package/dist/types/core/session/index.d.ts.map +1 -0
  429. package/dist/types/core/stats/index.d.ts +7 -0
  430. package/dist/types/core/stats/index.d.ts.map +1 -0
  431. package/dist/types/core/stats/remote-metrics.d.ts +32 -0
  432. package/dist/types/core/stats/remote-metrics.d.ts.map +1 -0
  433. package/dist/types/core/storage/cookieStorage.d.ts +21 -0
  434. package/dist/types/core/storage/cookieStorage.d.ts.map +1 -0
  435. package/dist/types/core/storage/index.d.ts +22 -0
  436. package/dist/types/core/storage/index.d.ts.map +1 -0
  437. package/dist/types/core/storage/localStorage.d.ts +11 -0
  438. package/dist/types/core/storage/localStorage.d.ts.map +1 -0
  439. package/dist/types/core/storage/memoryStorage.d.ts +11 -0
  440. package/dist/types/core/storage/memoryStorage.d.ts.map +1 -0
  441. package/dist/types/core/storage/settings.d.ts +8 -0
  442. package/dist/types/core/storage/settings.d.ts.map +1 -0
  443. package/dist/types/core/storage/types.d.ts +43 -0
  444. package/dist/types/core/storage/types.d.ts.map +1 -0
  445. package/dist/types/core/storage/universalStorage.d.ts +13 -0
  446. package/dist/types/core/storage/universalStorage.d.ts.map +1 -0
  447. package/dist/types/core/user/index.d.ts +81 -0
  448. package/dist/types/core/user/index.d.ts.map +1 -0
  449. package/dist/types/core/user/migrate.d.ts +11 -0
  450. package/dist/types/core/user/migrate.d.ts.map +1 -0
  451. package/dist/types/core/user/tld.d.ts +2 -0
  452. package/dist/types/core/user/tld.d.ts.map +1 -0
  453. package/dist/types/core/user/vendor/crypto-es/lib/aes.d.ts +23 -0
  454. package/dist/types/core/user/vendor/crypto-es/lib/aes.d.ts.map +1 -0
  455. package/dist/types/core/user/vendor/crypto-es/lib/cipher-core.d.ts +436 -0
  456. package/dist/types/core/user/vendor/crypto-es/lib/cipher-core.d.ts.map +1 -0
  457. package/dist/types/core/user/vendor/crypto-es/lib/core.d.ts +432 -0
  458. package/dist/types/core/user/vendor/crypto-es/lib/core.d.ts.map +1 -0
  459. package/dist/types/core/user/vendor/crypto-es/lib/enc-base64.d.ts +36 -0
  460. package/dist/types/core/user/vendor/crypto-es/lib/enc-base64.d.ts.map +1 -0
  461. package/dist/types/core/user/vendor/crypto-es/lib/evpkdf.d.ts +51 -0
  462. package/dist/types/core/user/vendor/crypto-es/lib/evpkdf.d.ts.map +1 -0
  463. package/dist/types/core/user/vendor/crypto-es/lib/md5.d.ts +41 -0
  464. package/dist/types/core/user/vendor/crypto-es/lib/md5.d.ts.map +1 -0
  465. package/dist/types/generated/version.d.ts +2 -0
  466. package/dist/types/generated/version.d.ts.map +1 -0
  467. package/dist/types/index.d.ts +12 -0
  468. package/dist/types/index.d.ts.map +1 -0
  469. package/dist/types/lib/bind-all.d.ts +4 -0
  470. package/dist/types/lib/bind-all.d.ts.map +1 -0
  471. package/dist/types/lib/browser-polyfill.d.ts +2 -0
  472. package/dist/types/lib/browser-polyfill.d.ts.map +1 -0
  473. package/dist/types/lib/client-hints/index.d.ts +3 -0
  474. package/dist/types/lib/client-hints/index.d.ts.map +1 -0
  475. package/dist/types/lib/client-hints/interfaces.d.ts +28 -0
  476. package/dist/types/lib/client-hints/interfaces.d.ts.map +1 -0
  477. package/dist/types/lib/create-deferred.d.ts +9 -0
  478. package/dist/types/lib/create-deferred.d.ts.map +1 -0
  479. package/dist/types/lib/csp-detection.d.ts +6 -0
  480. package/dist/types/lib/csp-detection.d.ts.map +1 -0
  481. package/dist/types/lib/embedded-write-key.d.ts +7 -0
  482. package/dist/types/lib/embedded-write-key.d.ts.map +1 -0
  483. package/dist/types/lib/fetch.d.ts +5 -0
  484. package/dist/types/lib/fetch.d.ts.map +1 -0
  485. package/dist/types/lib/get-global.d.ts +2 -0
  486. package/dist/types/lib/get-global.d.ts.map +1 -0
  487. package/dist/types/lib/get-process-env.d.ts +8 -0
  488. package/dist/types/lib/get-process-env.d.ts.map +1 -0
  489. package/dist/types/lib/global-analytics-helper.d.ts +18 -0
  490. package/dist/types/lib/global-analytics-helper.d.ts.map +1 -0
  491. package/dist/types/lib/group-by.d.ts +4 -0
  492. package/dist/types/lib/group-by.d.ts.map +1 -0
  493. package/dist/types/lib/is-plan-event-enabled.d.ts +9 -0
  494. package/dist/types/lib/is-plan-event-enabled.d.ts.map +1 -0
  495. package/dist/types/lib/is-thenable.d.ts +6 -0
  496. package/dist/types/lib/is-thenable.d.ts.map +1 -0
  497. package/dist/types/lib/load-script.d.ts +3 -0
  498. package/dist/types/lib/load-script.d.ts.map +1 -0
  499. package/dist/types/lib/merged-options.d.ts +13 -0
  500. package/dist/types/lib/merged-options.d.ts.map +1 -0
  501. package/dist/types/lib/on-page-change.d.ts +11 -0
  502. package/dist/types/lib/on-page-change.d.ts.map +1 -0
  503. package/dist/types/lib/p-while.d.ts +2 -0
  504. package/dist/types/lib/p-while.d.ts.map +1 -0
  505. package/dist/types/lib/parse-cdn.d.ts +4 -0
  506. package/dist/types/lib/parse-cdn.d.ts.map +1 -0
  507. package/dist/types/lib/pick.d.ts +3 -0
  508. package/dist/types/lib/pick.d.ts.map +1 -0
  509. package/dist/types/lib/priority-queue/backoff.d.ts +13 -0
  510. package/dist/types/lib/priority-queue/backoff.d.ts.map +1 -0
  511. package/dist/types/lib/priority-queue/index.d.ts +3 -0
  512. package/dist/types/lib/priority-queue/index.d.ts.map +1 -0
  513. package/dist/types/lib/priority-queue/persisted.d.ts +6 -0
  514. package/dist/types/lib/priority-queue/persisted.d.ts.map +1 -0
  515. package/dist/types/lib/sleep.d.ts +2 -0
  516. package/dist/types/lib/sleep.d.ts.map +1 -0
  517. package/dist/types/lib/to-facade.d.ts +7 -0
  518. package/dist/types/lib/to-facade.d.ts.map +1 -0
  519. package/dist/types/lib/version-type.d.ts +5 -0
  520. package/dist/types/lib/version-type.d.ts.map +1 -0
  521. package/dist/types/node/index.d.ts +8 -0
  522. package/dist/types/node/index.d.ts.map +1 -0
  523. package/dist/types/node/node.browser.d.ts +4 -0
  524. package/dist/types/node/node.browser.d.ts.map +1 -0
  525. package/dist/types/plugins/ajs-destination/index.d.ts +42 -0
  526. package/dist/types/plugins/ajs-destination/index.d.ts.map +1 -0
  527. package/dist/types/plugins/ajs-destination/loader.d.ts +12 -0
  528. package/dist/types/plugins/ajs-destination/loader.d.ts.map +1 -0
  529. package/dist/types/plugins/ajs-destination/types.d.ts +36 -0
  530. package/dist/types/plugins/ajs-destination/types.d.ts.map +1 -0
  531. package/dist/types/plugins/ajs-destination/utils.d.ts +5 -0
  532. package/dist/types/plugins/ajs-destination/utils.d.ts.map +1 -0
  533. package/dist/types/plugins/analytics-node/index.d.ts +12 -0
  534. package/dist/types/plugins/analytics-node/index.d.ts.map +1 -0
  535. package/dist/types/plugins/env-enrichment/index.d.ts +25 -0
  536. package/dist/types/plugins/env-enrichment/index.d.ts.map +1 -0
  537. package/dist/types/plugins/hightouchio/batched-dispatcher.d.ts +8 -0
  538. package/dist/types/plugins/hightouchio/batched-dispatcher.d.ts.map +1 -0
  539. package/dist/types/plugins/hightouchio/fetch-dispatcher.d.ts +8 -0
  540. package/dist/types/plugins/hightouchio/fetch-dispatcher.d.ts.map +1 -0
  541. package/dist/types/plugins/hightouchio/index.d.ts +26 -0
  542. package/dist/types/plugins/hightouchio/index.d.ts.map +1 -0
  543. package/dist/types/plugins/hightouchio/normalize.d.ts +6 -0
  544. package/dist/types/plugins/hightouchio/normalize.d.ts.map +1 -0
  545. package/dist/types/plugins/hightouchio/schedule-flush.d.ts +5 -0
  546. package/dist/types/plugins/hightouchio/schedule-flush.d.ts.map +1 -0
  547. package/dist/types/plugins/legacy-video-plugins/index.d.ts +3 -0
  548. package/dist/types/plugins/legacy-video-plugins/index.d.ts.map +1 -0
  549. package/dist/types/plugins/middleware/index.d.ts +18 -0
  550. package/dist/types/plugins/middleware/index.d.ts.map +1 -0
  551. package/dist/types/plugins/remote-loader/index.d.ts +47 -0
  552. package/dist/types/plugins/remote-loader/index.d.ts.map +1 -0
  553. package/dist/types/plugins/remote-middleware/index.d.ts +5 -0
  554. package/dist/types/plugins/remote-middleware/index.d.ts.map +1 -0
  555. package/dist/types/plugins/routing-middleware/index.d.ts +13 -0
  556. package/dist/types/plugins/routing-middleware/index.d.ts.map +1 -0
  557. package/dist/types/plugins/schema-filter/index.d.ts +5 -0
  558. package/dist/types/plugins/schema-filter/index.d.ts.map +1 -0
  559. package/dist/types/plugins/validation/index.d.ts +3 -0
  560. package/dist/types/plugins/validation/index.d.ts.map +1 -0
  561. package/dist/umd/799.bundle.cf7e55682bfd23cde904.js +2 -0
  562. package/dist/umd/799.bundle.cf7e55682bfd23cde904.js.map +1 -0
  563. package/dist/umd/870.bundle.6d7307379da86a3bf277.js +2 -0
  564. package/dist/umd/870.bundle.6d7307379da86a3bf277.js.map +1 -0
  565. package/dist/umd/ajs-destination.bundle.5a985a542b0de08e3e49.js +2 -0
  566. package/dist/umd/ajs-destination.bundle.5a985a542b0de08e3e49.js.map +1 -0
  567. package/dist/umd/auto-track.bundle.08c0e0f63bb92f96f8b5.js +2 -0
  568. package/dist/umd/auto-track.bundle.08c0e0f63bb92f96f8b5.js.map +1 -0
  569. package/dist/umd/events.min.js +2 -0
  570. package/dist/umd/events.min.js.map +1 -0
  571. package/dist/umd/index.js +2 -0
  572. package/dist/umd/index.js.map +1 -0
  573. package/dist/umd/legacyVideos.bundle.6250709892bb05b68333.js +2 -0
  574. package/dist/umd/legacyVideos.bundle.6250709892bb05b68333.js.map +1 -0
  575. package/dist/umd/queryString.bundle.e47b8db88c102418c8c2.js +2 -0
  576. package/dist/umd/queryString.bundle.e47b8db88c102418c8c2.js.map +1 -0
  577. package/dist/umd/remoteMiddleware.bundle.4da71e934f9fcee73678.js +2 -0
  578. package/dist/umd/remoteMiddleware.bundle.4da71e934f9fcee73678.js.map +1 -0
  579. package/dist/umd/schemaFilter.bundle.a17fd62888b293279f4b.js +2 -0
  580. package/dist/umd/schemaFilter.bundle.a17fd62888b293279f4b.js.map +1 -0
  581. package/dist/umd/tsub-middleware.bundle.a9604b3195f6189e429b.js +2 -0
  582. package/dist/umd/tsub-middleware.bundle.a9604b3195f6189e429b.js.map +1 -0
  583. package/package.json +106 -0
  584. package/src/browser/browser-umd.ts +19 -0
  585. package/src/browser/index.ts +486 -0
  586. package/src/browser/standalone-analytics.ts +62 -0
  587. package/src/browser/standalone-interface.ts +11 -0
  588. package/src/browser/standalone.ts +92 -0
  589. package/src/core/analytics/index.ts +672 -0
  590. package/src/core/analytics/interfaces.ts +100 -0
  591. package/src/core/arguments-resolver/index.ts +200 -0
  592. package/src/core/auto-track.ts +152 -0
  593. package/src/core/buffer/index.ts +371 -0
  594. package/src/core/callback/index.ts +1 -0
  595. package/src/core/connection/index.ts +13 -0
  596. package/src/core/constants/index.ts +1 -0
  597. package/src/core/context/index.ts +21 -0
  598. package/src/core/environment/index.ts +7 -0
  599. package/src/core/events/index.ts +277 -0
  600. package/src/core/events/interfaces.ts +36 -0
  601. package/src/core/inspector/index.ts +14 -0
  602. package/src/core/page/add-page-context.ts +33 -0
  603. package/src/core/page/get-page-context.ts +140 -0
  604. package/src/core/page/index.ts +2 -0
  605. package/src/core/plugin/index.ts +12 -0
  606. package/src/core/query-string/gracefulDecodeURIComponent.ts +16 -0
  607. package/src/core/query-string/index.ts +64 -0
  608. package/src/core/query-string/pickPrefix.ts +20 -0
  609. package/src/core/queue/event-queue.ts +22 -0
  610. package/src/core/session/index.ts +107 -0
  611. package/src/core/stats/index.ts +15 -0
  612. package/src/core/stats/remote-metrics.ts +144 -0
  613. package/src/core/storage/cookieStorage.ts +80 -0
  614. package/src/core/storage/index.ts +64 -0
  615. package/src/core/storage/localStorage.ts +45 -0
  616. package/src/core/storage/memoryStorage.ts +22 -0
  617. package/src/core/storage/settings.ts +23 -0
  618. package/src/core/storage/types.ts +49 -0
  619. package/src/core/storage/universalStorage.ts +78 -0
  620. package/src/core/user/index.ts +399 -0
  621. package/src/core/user/migrate.ts +126 -0
  622. package/src/core/user/tld.ts +65 -0
  623. package/src/core/user/vendor/crypto-es/LICENSE +53 -0
  624. package/src/core/user/vendor/crypto-es/lib/aes.ts +302 -0
  625. package/src/core/user/vendor/crypto-es/lib/cipher-core.ts +922 -0
  626. package/src/core/user/vendor/crypto-es/lib/core.ts +806 -0
  627. package/src/core/user/vendor/crypto-es/lib/enc-base64.ts +110 -0
  628. package/src/core/user/vendor/crypto-es/lib/evpkdf.ts +110 -0
  629. package/src/core/user/vendor/crypto-es/lib/md5.ts +238 -0
  630. package/src/core/user/vendor/readme.md +7 -0
  631. package/src/generated/version.ts +2 -0
  632. package/src/index.ts +13 -0
  633. package/src/lib/bind-all.ts +19 -0
  634. package/src/lib/browser-polyfill.ts +23 -0
  635. package/src/lib/client-hints/index.ts +16 -0
  636. package/src/lib/client-hints/interfaces.ts +42 -0
  637. package/src/lib/create-deferred.ts +16 -0
  638. package/src/lib/csp-detection.ts +8 -0
  639. package/src/lib/embedded-write-key.ts +24 -0
  640. package/src/lib/fetch.ts +10 -0
  641. package/src/lib/get-global.ts +16 -0
  642. package/src/lib/get-process-env.ts +11 -0
  643. package/src/lib/global-analytics-helper.ts +31 -0
  644. package/src/lib/group-by.ts +30 -0
  645. package/src/lib/is-plan-event-enabled.ts +20 -0
  646. package/src/lib/is-thenable.ts +9 -0
  647. package/src/lib/load-script.ts +66 -0
  648. package/src/lib/merged-options.ts +46 -0
  649. package/src/lib/on-page-change.ts +29 -0
  650. package/src/lib/p-while.ts +12 -0
  651. package/src/lib/parse-cdn.ts +56 -0
  652. package/src/lib/pick.ts +28 -0
  653. package/src/lib/priority-queue/backoff.ts +24 -0
  654. package/src/lib/priority-queue/index.ts +6 -0
  655. package/src/lib/priority-queue/persisted.ts +127 -0
  656. package/src/lib/sleep.ts +4 -0
  657. package/src/lib/to-facade.ts +50 -0
  658. package/src/lib/version-type.ts +10 -0
  659. package/src/node/index.ts +36 -0
  660. package/src/node/node.browser.ts +7 -0
  661. package/src/plugins/ajs-destination/index.ts +392 -0
  662. package/src/plugins/ajs-destination/loader.ts +129 -0
  663. package/src/plugins/ajs-destination/types.ts +44 -0
  664. package/src/plugins/ajs-destination/utils.ts +32 -0
  665. package/src/plugins/analytics-node/index.ts +67 -0
  666. package/src/plugins/env-enrichment/index.ts +208 -0
  667. package/src/plugins/hightouchio/batched-dispatcher.ts +127 -0
  668. package/src/plugins/hightouchio/fetch-dispatcher.ts +27 -0
  669. package/src/plugins/hightouchio/index.ts +147 -0
  670. package/src/plugins/hightouchio/normalize.ts +71 -0
  671. package/src/plugins/hightouchio/schedule-flush.ts +58 -0
  672. package/src/plugins/legacy-video-plugins/index.ts +16 -0
  673. package/src/plugins/middleware/index.ts +131 -0
  674. package/src/plugins/remote-loader/index.ts +256 -0
  675. package/src/plugins/remote-middleware/index.ts +44 -0
  676. package/src/plugins/routing-middleware/index.ts +37 -0
  677. package/src/plugins/schema-filter/index.ts +90 -0
  678. package/src/plugins/validation/index.ts +44 -0
  679. package/src/test-helpers/browser-storage.ts +75 -0
  680. package/src/test-helpers/factories.ts +18 -0
  681. package/src/test-helpers/fetch-parse.ts +8 -0
  682. package/src/test-helpers/fixtures/cdn-settings.ts +301 -0
  683. package/src/test-helpers/fixtures/classic-destination.ts +25 -0
  684. package/src/test-helpers/fixtures/client-hints.ts +28 -0
  685. package/src/test-helpers/fixtures/create-fetch-method.ts +30 -0
  686. package/src/test-helpers/fixtures/index.ts +4 -0
  687. package/src/test-helpers/fixtures/page-context.ts +11 -0
  688. package/src/test-helpers/test-writekeys.ts +5 -0
  689. package/src/test-helpers/type-assertions.ts +11 -0
@@ -0,0 +1,747 @@
1
+ "use strict";
2
+ //@ts-nocheck
3
+ /* eslint-disable no-use-before-define */
4
+ var _a, _b, _c, _d, _e, _f;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HMAC = exports.Hasher = exports.BufferedBlockAlgorithm = exports.Utf8 = exports.Latin1 = exports.Hex = exports.WordArray = exports.Base = void 0;
7
+ var tslib_1 = require("tslib");
8
+ var crypto = ((_a = (typeof globalThis != 'undefined' ? globalThis : void 0)) === null || _a === void 0 ? void 0 : _a.crypto) ||
9
+ ((_b = (typeof global != 'undefined' ? global : void 0)) === null || _b === void 0 ? void 0 : _b.crypto) ||
10
+ ((_c = (typeof window != 'undefined' ? window : void 0)) === null || _c === void 0 ? void 0 : _c.crypto) ||
11
+ ((_d = (typeof self != 'undefined' ? self : void 0)) === null || _d === void 0 ? void 0 : _d.crypto) ||
12
+ ((_f = (_e = (typeof frames != 'undefined' ? frames : void 0)) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.crypto);
13
+ var randomWordArray;
14
+ if (crypto) {
15
+ randomWordArray = function (nBytes) {
16
+ var words = [];
17
+ for (var i = 0, rcache = void 0; i < nBytes; i += 4) {
18
+ words.push(crypto.getRandomValues(new Uint32Array(1))[0]);
19
+ }
20
+ return new WordArray(words, nBytes);
21
+ };
22
+ }
23
+ else {
24
+ // Because there is no global crypto property in this context, cryptographically unsafe Math.random() is used.
25
+ randomWordArray = function (nBytes) {
26
+ var words = [];
27
+ var r = function (m_w) {
28
+ var _m_w = m_w;
29
+ var _m_z = 0x3ade68b1;
30
+ var mask = 0xffffffff;
31
+ return function () {
32
+ _m_z = (0x9069 * (_m_z & 0xffff) + (_m_z >> 0x10)) & mask;
33
+ _m_w = (0x4650 * (_m_w & 0xffff) + (_m_w >> 0x10)) & mask;
34
+ var result = ((_m_z << 0x10) + _m_w) & mask;
35
+ result /= 0x100000000;
36
+ result += 0.5;
37
+ return result * (Math.random() > 0.5 ? 1 : -1);
38
+ };
39
+ };
40
+ for (var i = 0, rcache = void 0; i < nBytes; i += 4) {
41
+ var _r = r((rcache || Math.random()) * 0x100000000);
42
+ rcache = _r() * 0x3ade67b7;
43
+ words.push((_r() * 0x100000000) | 0);
44
+ }
45
+ return new WordArray(words, nBytes);
46
+ };
47
+ }
48
+ /**
49
+ * Base class for inheritance.
50
+ */
51
+ var Base = /** @class */ (function () {
52
+ function Base() {
53
+ }
54
+ /**
55
+ * Extends this object and runs the init method.
56
+ * Arguments to create() will be passed to init().
57
+ *
58
+ * @return {Object} The new object.
59
+ *
60
+ * @static
61
+ *
62
+ * @example
63
+ *
64
+ * var instance = MyType.create();
65
+ */
66
+ Base.create = function () {
67
+ var args = [];
68
+ for (var _i = 0; _i < arguments.length; _i++) {
69
+ args[_i] = arguments[_i];
70
+ }
71
+ return new (this.bind.apply(this, tslib_1.__spreadArray([void 0], args, false)))();
72
+ };
73
+ /**
74
+ * Copies properties into this object.
75
+ *
76
+ * @param {Object} properties The properties to mix in.
77
+ *
78
+ * @example
79
+ *
80
+ * MyType.mixIn({
81
+ * field: 'value'
82
+ * });
83
+ */
84
+ Base.prototype.mixIn = function (properties) {
85
+ return Object.assign(this, properties);
86
+ };
87
+ /**
88
+ * Creates a copy of this object.
89
+ *
90
+ * @return {Object} The clone.
91
+ *
92
+ * @example
93
+ *
94
+ * var clone = instance.clone();
95
+ */
96
+ Base.prototype.clone = function () {
97
+ var clone = new this.constructor();
98
+ Object.assign(clone, this);
99
+ return clone;
100
+ };
101
+ return Base;
102
+ }());
103
+ exports.Base = Base;
104
+ /**
105
+ * An array of 32-bit words.
106
+ *
107
+ * @property {Array} words The array of 32-bit words.
108
+ * @property {number} sigBytes The number of significant bytes in this word array.
109
+ */
110
+ var WordArray = /** @class */ (function (_super) {
111
+ tslib_1.__extends(WordArray, _super);
112
+ /**
113
+ * Initializes a newly created word array.
114
+ *
115
+ * @param {Array} words (Optional) An array of 32-bit words.
116
+ * @param {number} sigBytes (Optional) The number of significant bytes in the words.
117
+ *
118
+ * @example
119
+ *
120
+ * var wordArray = CryptoJS.lib.WordArray.create();
121
+ * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
122
+ * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
123
+ */
124
+ function WordArray(words, sigBytes) {
125
+ if (words === void 0) { words = []; }
126
+ if (sigBytes === void 0) { sigBytes = words.length * 4; }
127
+ var _this = _super.call(this) || this;
128
+ var typedArray = words;
129
+ // Convert buffers to uint8
130
+ if (typedArray instanceof ArrayBuffer) {
131
+ typedArray = new Uint8Array(typedArray);
132
+ }
133
+ // Convert other array views to uint8
134
+ if (typedArray instanceof Int8Array ||
135
+ typedArray instanceof Uint8ClampedArray ||
136
+ typedArray instanceof Int16Array ||
137
+ typedArray instanceof Uint16Array ||
138
+ typedArray instanceof Int32Array ||
139
+ typedArray instanceof Uint32Array ||
140
+ typedArray instanceof Float32Array ||
141
+ typedArray instanceof Float64Array) {
142
+ typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
143
+ }
144
+ // Handle Uint8Array
145
+ if (typedArray instanceof Uint8Array) {
146
+ // Shortcut
147
+ var typedArrayByteLength = typedArray.byteLength;
148
+ // Extract bytes
149
+ var _words = [];
150
+ for (var i = 0; i < typedArrayByteLength; i += 1) {
151
+ _words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);
152
+ }
153
+ // Initialize this word array
154
+ _this.words = _words;
155
+ _this.sigBytes = typedArrayByteLength;
156
+ }
157
+ else {
158
+ // Else call normal init
159
+ _this.words = words;
160
+ _this.sigBytes = sigBytes;
161
+ }
162
+ return _this;
163
+ }
164
+ /**
165
+ * Converts this word array to a string.
166
+ *
167
+ * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
168
+ *
169
+ * @return {string} The stringified word array.
170
+ *
171
+ * @example
172
+ *
173
+ * var string = wordArray + '';
174
+ * var string = wordArray.toString();
175
+ * var string = wordArray.toString(CryptoJS.enc.Utf8);
176
+ */
177
+ WordArray.prototype.toString = function (encoder) {
178
+ if (encoder === void 0) { encoder = exports.Hex; }
179
+ return encoder.stringify(this);
180
+ };
181
+ /**
182
+ * Concatenates a word array to this word array.
183
+ *
184
+ * @param {WordArray} wordArray The word array to append.
185
+ *
186
+ * @return {WordArray} This word array.
187
+ *
188
+ * @example
189
+ *
190
+ * wordArray1.concat(wordArray2);
191
+ */
192
+ WordArray.prototype.concat = function (wordArray) {
193
+ // Shortcuts
194
+ var thisWords = this.words;
195
+ var thatWords = wordArray.words;
196
+ var thisSigBytes = this.sigBytes;
197
+ var thatSigBytes = wordArray.sigBytes;
198
+ // Clamp excess bits
199
+ this.clamp();
200
+ // Concat
201
+ if (thisSigBytes % 4) {
202
+ // Copy one byte at a time
203
+ for (var i = 0; i < thatSigBytes; i += 1) {
204
+ var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
205
+ thisWords[(thisSigBytes + i) >>> 2] |=
206
+ thatByte << (24 - ((thisSigBytes + i) % 4) * 8);
207
+ }
208
+ }
209
+ else {
210
+ // Copy one word at a time
211
+ for (var i = 0; i < thatSigBytes; i += 4) {
212
+ thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];
213
+ }
214
+ }
215
+ this.sigBytes += thatSigBytes;
216
+ // Chainable
217
+ return this;
218
+ };
219
+ /**
220
+ * Removes insignificant bits.
221
+ *
222
+ * @example
223
+ *
224
+ * wordArray.clamp();
225
+ */
226
+ WordArray.prototype.clamp = function () {
227
+ // Shortcuts
228
+ var _a = this, words = _a.words, sigBytes = _a.sigBytes;
229
+ // Clamp
230
+ words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);
231
+ words.length = Math.ceil(sigBytes / 4);
232
+ };
233
+ /**
234
+ * Creates a copy of this word array.
235
+ *
236
+ * @return {WordArray} The clone.
237
+ *
238
+ * @example
239
+ *
240
+ * var clone = wordArray.clone();
241
+ */
242
+ WordArray.prototype.clone = function () {
243
+ var clone = _super.prototype.clone.call(this);
244
+ clone.words = this.words.slice(0);
245
+ return clone;
246
+ };
247
+ /**
248
+ * Creates a word array filled with random bytes.
249
+ *
250
+ * @param {number} nBytes The number of random bytes to generate.
251
+ *
252
+ * @return {WordArray} The random word array.
253
+ *
254
+ * @static
255
+ *
256
+ * @example
257
+ *
258
+ * var wordArray = CryptoJS.lib.WordArray.random(16);
259
+ */
260
+ WordArray.random = randomWordArray;
261
+ return WordArray;
262
+ }(Base));
263
+ exports.WordArray = WordArray;
264
+ /**
265
+ * Hex encoding strategy.
266
+ */
267
+ exports.Hex = {
268
+ /**
269
+ * Converts a word array to a hex string.
270
+ *
271
+ * @param {WordArray} wordArray The word array.
272
+ *
273
+ * @return {string} The hex string.
274
+ *
275
+ * @static
276
+ *
277
+ * @example
278
+ *
279
+ * var hexString = CryptoJS.enc.Hex.stringify(wordArray);
280
+ */
281
+ stringify: function (wordArray) {
282
+ // Shortcuts
283
+ var words = wordArray.words, sigBytes = wordArray.sigBytes;
284
+ // Convert
285
+ var hexChars = [];
286
+ for (var i = 0; i < sigBytes; i += 1) {
287
+ var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
288
+ hexChars.push((bite >>> 4).toString(16));
289
+ hexChars.push((bite & 0x0f).toString(16));
290
+ }
291
+ return hexChars.join('');
292
+ },
293
+ /**
294
+ * Converts a hex string to a word array.
295
+ *
296
+ * @param {string} hexStr The hex string.
297
+ *
298
+ * @return {WordArray} The word array.
299
+ *
300
+ * @static
301
+ *
302
+ * @example
303
+ *
304
+ * var wordArray = CryptoJS.enc.Hex.parse(hexString);
305
+ */
306
+ parse: function (hexStr) {
307
+ // Shortcut
308
+ var hexStrLength = hexStr.length;
309
+ // Convert
310
+ var words = [];
311
+ for (var i = 0; i < hexStrLength; i += 2) {
312
+ words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);
313
+ }
314
+ return new WordArray(words, hexStrLength / 2);
315
+ },
316
+ };
317
+ /**
318
+ * Latin1 encoding strategy.
319
+ */
320
+ exports.Latin1 = {
321
+ /**
322
+ * Converts a word array to a Latin1 string.
323
+ *
324
+ * @param {WordArray} wordArray The word array.
325
+ *
326
+ * @return {string} The Latin1 string.
327
+ *
328
+ * @static
329
+ *
330
+ * @example
331
+ *
332
+ * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
333
+ */
334
+ stringify: function (wordArray) {
335
+ // Shortcuts
336
+ var words = wordArray.words, sigBytes = wordArray.sigBytes;
337
+ // Convert
338
+ var latin1Chars = [];
339
+ for (var i = 0; i < sigBytes; i += 1) {
340
+ var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
341
+ latin1Chars.push(String.fromCharCode(bite));
342
+ }
343
+ return latin1Chars.join('');
344
+ },
345
+ /**
346
+ * Converts a Latin1 string to a word array.
347
+ *
348
+ * @param {string} latin1Str The Latin1 string.
349
+ *
350
+ * @return {WordArray} The word array.
351
+ *
352
+ * @static
353
+ *
354
+ * @example
355
+ *
356
+ * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
357
+ */
358
+ parse: function (latin1Str) {
359
+ // Shortcut
360
+ var latin1StrLength = latin1Str.length;
361
+ // Convert
362
+ var words = [];
363
+ for (var i = 0; i < latin1StrLength; i += 1) {
364
+ words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
365
+ }
366
+ return new WordArray(words, latin1StrLength);
367
+ },
368
+ };
369
+ /**
370
+ * UTF-8 encoding strategy.
371
+ */
372
+ exports.Utf8 = {
373
+ /**
374
+ * Converts a word array to a UTF-8 string.
375
+ *
376
+ * @param {WordArray} wordArray The word array.
377
+ *
378
+ * @return {string} The UTF-8 string.
379
+ *
380
+ * @static
381
+ *
382
+ * @example
383
+ *
384
+ * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
385
+ */
386
+ stringify: function (wordArray) {
387
+ try {
388
+ return decodeURIComponent(escape(exports.Latin1.stringify(wordArray)));
389
+ }
390
+ catch (e) {
391
+ throw new Error('Malformed UTF-8 data');
392
+ }
393
+ },
394
+ /**
395
+ * Converts a UTF-8 string to a word array.
396
+ *
397
+ * @param {string} utf8Str The UTF-8 string.
398
+ *
399
+ * @return {WordArray} The word array.
400
+ *
401
+ * @static
402
+ *
403
+ * @example
404
+ *
405
+ * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
406
+ */
407
+ parse: function (utf8Str) {
408
+ return exports.Latin1.parse(unescape(encodeURIComponent(utf8Str)));
409
+ },
410
+ };
411
+ /**
412
+ * Abstract buffered block algorithm template.
413
+ *
414
+ * The property blockSize must be implemented in a concrete subtype.
415
+ *
416
+ * @property {number} _minBufferSize
417
+ *
418
+ * The number of blocks that should be kept unprocessed in the buffer. Default: 0
419
+ */
420
+ var BufferedBlockAlgorithm = /** @class */ (function (_super) {
421
+ tslib_1.__extends(BufferedBlockAlgorithm, _super);
422
+ function BufferedBlockAlgorithm() {
423
+ var _this = _super.call(this) || this;
424
+ _this._minBufferSize = 0;
425
+ return _this;
426
+ }
427
+ /**
428
+ * Resets this block algorithm's data buffer to its initial state.
429
+ *
430
+ * @example
431
+ *
432
+ * bufferedBlockAlgorithm.reset();
433
+ */
434
+ BufferedBlockAlgorithm.prototype.reset = function () {
435
+ // Initial values
436
+ this._data = new WordArray();
437
+ this._nDataBytes = 0;
438
+ };
439
+ /**
440
+ * Adds new data to this block algorithm's buffer.
441
+ *
442
+ * @param {WordArray|string} data
443
+ *
444
+ * The data to append. Strings are converted to a WordArray using UTF-8.
445
+ *
446
+ * @example
447
+ *
448
+ * bufferedBlockAlgorithm._append('data');
449
+ * bufferedBlockAlgorithm._append(wordArray);
450
+ */
451
+ BufferedBlockAlgorithm.prototype._append = function (data) {
452
+ var m_data = data;
453
+ // Convert string to WordArray, else assume WordArray already
454
+ if (typeof m_data === 'string') {
455
+ m_data = exports.Utf8.parse(m_data);
456
+ }
457
+ // Append
458
+ this._data.concat(m_data);
459
+ this._nDataBytes += m_data.sigBytes;
460
+ };
461
+ /**
462
+ * Processes available data blocks.
463
+ *
464
+ * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
465
+ *
466
+ * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
467
+ *
468
+ * @return {WordArray} The processed data.
469
+ *
470
+ * @example
471
+ *
472
+ * var processedData = bufferedBlockAlgorithm._process();
473
+ * var processedData = bufferedBlockAlgorithm._process(!!'flush');
474
+ */
475
+ BufferedBlockAlgorithm.prototype._process = function (doFlush) {
476
+ var processedWords;
477
+ // Shortcuts
478
+ var _a = this, data = _a._data, blockSize = _a.blockSize;
479
+ var dataWords = data.words;
480
+ var dataSigBytes = data.sigBytes;
481
+ var blockSizeBytes = blockSize * 4;
482
+ // Count blocks ready
483
+ var nBlocksReady = dataSigBytes / blockSizeBytes;
484
+ if (doFlush) {
485
+ // Round up to include partial blocks
486
+ nBlocksReady = Math.ceil(nBlocksReady);
487
+ }
488
+ else {
489
+ // Round down to include only full blocks,
490
+ // less the number of blocks that must remain in the buffer
491
+ nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
492
+ }
493
+ // Count words ready
494
+ var nWordsReady = nBlocksReady * blockSize;
495
+ // Count bytes ready
496
+ var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
497
+ // Process blocks
498
+ if (nWordsReady) {
499
+ for (var offset = 0; offset < nWordsReady; offset += blockSize) {
500
+ // Perform concrete-algorithm logic
501
+ this._doProcessBlock(dataWords, offset);
502
+ }
503
+ // Remove processed words
504
+ processedWords = dataWords.splice(0, nWordsReady);
505
+ data.sigBytes -= nBytesReady;
506
+ }
507
+ // Return processed words
508
+ return new WordArray(processedWords, nBytesReady);
509
+ };
510
+ /**
511
+ * Creates a copy of this object.
512
+ *
513
+ * @return {Object} The clone.
514
+ *
515
+ * @example
516
+ *
517
+ * var clone = bufferedBlockAlgorithm.clone();
518
+ */
519
+ BufferedBlockAlgorithm.prototype.clone = function () {
520
+ var clone = _super.prototype.clone.call(this);
521
+ clone._data = this._data.clone();
522
+ return clone;
523
+ };
524
+ return BufferedBlockAlgorithm;
525
+ }(Base));
526
+ exports.BufferedBlockAlgorithm = BufferedBlockAlgorithm;
527
+ /**
528
+ * Abstract hasher template.
529
+ *
530
+ * @property {number} blockSize
531
+ *
532
+ * The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
533
+ */
534
+ var Hasher = /** @class */ (function (_super) {
535
+ tslib_1.__extends(Hasher, _super);
536
+ function Hasher(cfg) {
537
+ var _this = _super.call(this) || this;
538
+ _this.blockSize = 512 / 32;
539
+ /**
540
+ * Configuration options.
541
+ */
542
+ _this.cfg = Object.assign(new Base(), cfg);
543
+ // Set initial values
544
+ _this.reset();
545
+ return _this;
546
+ }
547
+ /**
548
+ * Creates a shortcut function to a hasher's object interface.
549
+ *
550
+ * @param {Hasher} SubHasher The hasher to create a helper for.
551
+ *
552
+ * @return {Function} The shortcut function.
553
+ *
554
+ * @static
555
+ *
556
+ * @example
557
+ *
558
+ * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
559
+ */
560
+ Hasher._createHelper = function (SubHasher) {
561
+ return function (message, cfg) { return new SubHasher(cfg).finalize(message); };
562
+ };
563
+ /**
564
+ * Creates a shortcut function to the HMAC's object interface.
565
+ *
566
+ * @param {Hasher} SubHasher The hasher to use in this HMAC helper.
567
+ *
568
+ * @return {Function} The shortcut function.
569
+ *
570
+ * @static
571
+ *
572
+ * @example
573
+ *
574
+ * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
575
+ */
576
+ Hasher._createHmacHelper = function (SubHasher) {
577
+ return function (message, key) { return new HMAC(SubHasher, key).finalize(message); };
578
+ };
579
+ /**
580
+ * Resets this hasher to its initial state.
581
+ *
582
+ * @example
583
+ *
584
+ * hasher.reset();
585
+ */
586
+ Hasher.prototype.reset = function () {
587
+ // Reset data buffer
588
+ _super.prototype.reset.call(this);
589
+ // Perform concrete-hasher logic
590
+ this._doReset();
591
+ };
592
+ /**
593
+ * Updates this hasher with a message.
594
+ *
595
+ * @param {WordArray|string} messageUpdate The message to append.
596
+ *
597
+ * @return {Hasher} This hasher.
598
+ *
599
+ * @example
600
+ *
601
+ * hasher.update('message');
602
+ * hasher.update(wordArray);
603
+ */
604
+ Hasher.prototype.update = function (messageUpdate) {
605
+ // Append
606
+ this._append(messageUpdate);
607
+ // Update the hash
608
+ this._process();
609
+ // Chainable
610
+ return this;
611
+ };
612
+ /**
613
+ * Finalizes the hash computation.
614
+ * Note that the finalize operation is effectively a destructive, read-once operation.
615
+ *
616
+ * @param {WordArray|string} messageUpdate (Optional) A final message update.
617
+ *
618
+ * @return {WordArray} The hash.
619
+ *
620
+ * @example
621
+ *
622
+ * var hash = hasher.finalize();
623
+ * var hash = hasher.finalize('message');
624
+ * var hash = hasher.finalize(wordArray);
625
+ */
626
+ Hasher.prototype.finalize = function (messageUpdate) {
627
+ // Final message update
628
+ if (messageUpdate) {
629
+ this._append(messageUpdate);
630
+ }
631
+ // Perform concrete-hasher logic
632
+ var hash = this._doFinalize();
633
+ return hash;
634
+ };
635
+ return Hasher;
636
+ }(BufferedBlockAlgorithm));
637
+ exports.Hasher = Hasher;
638
+ /**
639
+ * HMAC algorithm.
640
+ */
641
+ var HMAC = /** @class */ (function (_super) {
642
+ tslib_1.__extends(HMAC, _super);
643
+ /**
644
+ * Initializes a newly created HMAC.
645
+ *
646
+ * @param {Hasher} SubHasher The hash algorithm to use.
647
+ * @param {WordArray|string} key The secret key.
648
+ *
649
+ * @example
650
+ *
651
+ * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
652
+ */
653
+ function HMAC(SubHasher, key) {
654
+ var _this = _super.call(this) || this;
655
+ var hasher = new SubHasher();
656
+ _this._hasher = hasher;
657
+ // Convert string to WordArray, else assume WordArray already
658
+ var _key = key;
659
+ if (typeof _key === 'string') {
660
+ _key = exports.Utf8.parse(_key);
661
+ }
662
+ // Shortcuts
663
+ var hasherBlockSize = hasher.blockSize;
664
+ var hasherBlockSizeBytes = hasherBlockSize * 4;
665
+ // Allow arbitrary length keys
666
+ if (_key.sigBytes > hasherBlockSizeBytes) {
667
+ _key = hasher.finalize(key);
668
+ }
669
+ // Clamp excess bits
670
+ _key.clamp();
671
+ // Clone key for inner and outer pads
672
+ var oKey = _key.clone();
673
+ _this._oKey = oKey;
674
+ var iKey = _key.clone();
675
+ _this._iKey = iKey;
676
+ // Shortcuts
677
+ var oKeyWords = oKey.words;
678
+ var iKeyWords = iKey.words;
679
+ // XOR keys with pad constants
680
+ for (var i = 0; i < hasherBlockSize; i += 1) {
681
+ oKeyWords[i] ^= 0x5c5c5c5c;
682
+ iKeyWords[i] ^= 0x36363636;
683
+ }
684
+ oKey.sigBytes = hasherBlockSizeBytes;
685
+ iKey.sigBytes = hasherBlockSizeBytes;
686
+ // Set initial values
687
+ _this.reset();
688
+ return _this;
689
+ }
690
+ /**
691
+ * Resets this HMAC to its initial state.
692
+ *
693
+ * @example
694
+ *
695
+ * hmacHasher.reset();
696
+ */
697
+ HMAC.prototype.reset = function () {
698
+ // Shortcut
699
+ var hasher = this._hasher;
700
+ // Reset
701
+ hasher.reset();
702
+ hasher.update(this._iKey);
703
+ };
704
+ /**
705
+ * Updates this HMAC with a message.
706
+ *
707
+ * @param {WordArray|string} messageUpdate The message to append.
708
+ *
709
+ * @return {HMAC} This HMAC instance.
710
+ *
711
+ * @example
712
+ *
713
+ * hmacHasher.update('message');
714
+ * hmacHasher.update(wordArray);
715
+ */
716
+ HMAC.prototype.update = function (messageUpdate) {
717
+ this._hasher.update(messageUpdate);
718
+ // Chainable
719
+ return this;
720
+ };
721
+ /**
722
+ * Finalizes the HMAC computation.
723
+ * Note that the finalize operation is effectively a destructive, read-once operation.
724
+ *
725
+ * @param {WordArray|string} messageUpdate (Optional) A final message update.
726
+ *
727
+ * @return {WordArray} The HMAC.
728
+ *
729
+ * @example
730
+ *
731
+ * var hmac = hmacHasher.finalize();
732
+ * var hmac = hmacHasher.finalize('message');
733
+ * var hmac = hmacHasher.finalize(wordArray);
734
+ */
735
+ HMAC.prototype.finalize = function (messageUpdate) {
736
+ // Shortcut
737
+ var hasher = this._hasher;
738
+ // Compute HMAC
739
+ var innerHash = hasher.finalize(messageUpdate);
740
+ hasher.reset();
741
+ var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
742
+ return hmac;
743
+ };
744
+ return HMAC;
745
+ }(Base));
746
+ exports.HMAC = HMAC;
747
+ //# sourceMappingURL=core.js.map