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