@prismicio/manager 0.0.1

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 (471) hide show
  1. package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js +168 -0
  2. package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js.map +1 -0
  3. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.js +91 -0
  4. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.js.map +1 -0
  5. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.js +17 -0
  6. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.js.map +1 -0
  7. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.js +187 -0
  8. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.js.map +1 -0
  9. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.js +90 -0
  10. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.js.map +1 -0
  11. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.js +64 -0
  12. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.js.map +1 -0
  13. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.js +17 -0
  14. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.js.map +1 -0
  15. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js +323 -0
  16. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -0
  17. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.js +55 -0
  18. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.js.map +1 -0
  19. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.js +245 -0
  20. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.js.map +1 -0
  21. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.js +103 -0
  22. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.js.map +1 -0
  23. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.js +15 -0
  24. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.js.map +1 -0
  25. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js +119 -0
  26. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -0
  27. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.js +34 -0
  28. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.js.map +1 -0
  29. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.js +14 -0
  30. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.js.map +1 -0
  31. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.js +9 -0
  32. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.js.map +1 -0
  33. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.js +25 -0
  34. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.js.map +1 -0
  35. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js +56 -0
  36. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -0
  37. package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js +134 -0
  38. package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js.map +1 -0
  39. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.js +21 -0
  40. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.js.map +1 -0
  41. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.js +24 -0
  42. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.js.map +1 -0
  43. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.js +81 -0
  44. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.js.map +1 -0
  45. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.js +37 -0
  46. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.js.map +1 -0
  47. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js +67 -0
  48. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -0
  49. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.js +5 -0
  50. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.js.map +1 -0
  51. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.js +33 -0
  52. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.js.map +1 -0
  53. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.js +17 -0
  54. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.js.map +1 -0
  55. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.js +12 -0
  56. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.js.map +1 -0
  57. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.js +10 -0
  58. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.js.map +1 -0
  59. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.js +10 -0
  60. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.js.map +1 -0
  61. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.js +16 -0
  62. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.js.map +1 -0
  63. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.js +10 -0
  64. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.js.map +1 -0
  65. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js +1234 -0
  66. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -0
  67. package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.js +14 -0
  68. package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.js.map +1 -0
  69. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js +34 -0
  70. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js.map +1 -0
  71. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js +98 -0
  72. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -0
  73. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js +32 -0
  74. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -0
  75. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js +90 -0
  76. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -0
  77. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.js +46 -0
  78. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.js.map +1 -0
  79. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.js +66 -0
  80. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.js.map +1 -0
  81. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js +93 -0
  82. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -0
  83. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js +278 -0
  84. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -0
  85. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/cohort-api.js +89 -0
  86. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/cohort-api.js.map +1 -0
  87. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/fetcher.js +114 -0
  88. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/fetcher.js.map +1 -0
  89. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/poller.js +115 -0
  90. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/poller.js.map +1 -0
  91. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/storage.js +46 -0
  92. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/storage.js.map +1 -0
  93. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js +86 -0
  94. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -0
  95. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js +122 -0
  96. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -0
  97. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.js +195 -0
  98. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.js.map +1 -0
  99. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/streamer.js +149 -0
  100. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/streamer.js.map +1 -0
  101. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/updater.js +107 -0
  102. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/updater.js.map +1 -0
  103. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js +168 -0
  104. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -0
  105. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js +114 -0
  106. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -0
  107. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/stream.js +164 -0
  108. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/stream.js.map +1 -0
  109. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/cohort.js +14 -0
  110. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/cohort.js.map +1 -0
  111. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.js +75 -0
  112. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.js.map +1 -0
  113. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/loglevel.js +23 -0
  114. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/loglevel.js.map +1 -0
  115. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js +73 -0
  116. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -0
  117. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.js +99 -0
  118. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.js.map +1 -0
  119. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cohort.js +85 -0
  120. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cohort.js.map +1 -0
  121. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/config.js +47 -0
  122. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/config.js.map +1 -0
  123. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.js +25 -0
  124. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.js.map +1 -0
  125. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.js +68 -0
  126. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.js.map +1 -0
  127. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/threading.js +97 -0
  128. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/threading.js.map +1 -0
  129. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.js +20 -0
  130. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.js.map +1 -0
  131. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.js +57 -0
  132. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.js.map +1 -0
  133. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.js +47 -0
  134. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.js.map +1 -0
  135. package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.js +133 -0
  136. package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.js.map +1 -0
  137. package/dist/_node_modules/common-tags/es/commaLists/commaLists.js +6 -0
  138. package/dist/_node_modules/common-tags/es/commaLists/commaLists.js.map +1 -0
  139. package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.js +6 -0
  140. package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.js.map +1 -0
  141. package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.js +6 -0
  142. package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.js.map +1 -0
  143. package/dist/_node_modules/common-tags/es/html/html.js +8 -0
  144. package/dist/_node_modules/common-tags/es/html/html.js.map +1 -0
  145. package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js +33 -0
  146. package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js.map +1 -0
  147. package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.js +6 -0
  148. package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.js.map +1 -0
  149. package/dist/_node_modules/common-tags/es/oneLine/oneLine.js +5 -0
  150. package/dist/_node_modules/common-tags/es/oneLine/oneLine.js.map +1 -0
  151. package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js +6 -0
  152. package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js.map +1 -0
  153. package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js +6 -0
  154. package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js.map +1 -0
  155. package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js +6 -0
  156. package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js.map +1 -0
  157. package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js +6 -0
  158. package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js.map +1 -0
  159. package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.js +5 -0
  160. package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.js.map +1 -0
  161. package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js +20 -0
  162. package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js.map +1 -0
  163. package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js +14 -0
  164. package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js.map +1 -0
  165. package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js +18 -0
  166. package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js.map +1 -0
  167. package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.js +8 -0
  168. package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.js.map +1 -0
  169. package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js +16 -0
  170. package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js.map +1 -0
  171. package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.js +8 -0
  172. package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.js.map +1 -0
  173. package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js +36 -0
  174. package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js.map +1 -0
  175. package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.js +5 -0
  176. package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.js.map +1 -0
  177. package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js +22 -0
  178. package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js.map +1 -0
  179. package/dist/_node_modules/data-uri-to-buffer/dist/index.js +41 -0
  180. package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -0
  181. package/dist/_node_modules/eventsource/lib/eventsource.js +384 -0
  182. package/dist/_node_modules/eventsource/lib/eventsource.js.map +1 -0
  183. package/dist/_node_modules/fetch-blob/file.js +41 -0
  184. package/dist/_node_modules/fetch-blob/file.js.map +1 -0
  185. package/dist/_node_modules/fetch-blob/from.js +9 -0
  186. package/dist/_node_modules/fetch-blob/from.js.map +1 -0
  187. package/dist/_node_modules/fetch-blob/index.js +201 -0
  188. package/dist/_node_modules/fetch-blob/index.js.map +1 -0
  189. package/dist/_node_modules/fetch-blob/streams.js +52 -0
  190. package/dist/_node_modules/fetch-blob/streams.js.map +1 -0
  191. package/dist/_node_modules/formdata-polyfill/esm.min.js +90 -0
  192. package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -0
  193. package/dist/_node_modules/get-port/index.js +115 -0
  194. package/dist/_node_modules/get-port/index.js.map +1 -0
  195. package/dist/_node_modules/node-domexception/index.js +20 -0
  196. package/dist/_node_modules/node-domexception/index.js.map +1 -0
  197. package/dist/_node_modules/node-fetch/src/body.js +259 -0
  198. package/dist/_node_modules/node-fetch/src/body.js.map +1 -0
  199. package/dist/_node_modules/node-fetch/src/errors/abort-error.js +10 -0
  200. package/dist/_node_modules/node-fetch/src/errors/abort-error.js.map +1 -0
  201. package/dist/_node_modules/node-fetch/src/errors/base.js +17 -0
  202. package/dist/_node_modules/node-fetch/src/errors/base.js.map +1 -0
  203. package/dist/_node_modules/node-fetch/src/errors/fetch-error.js +19 -0
  204. package/dist/_node_modules/node-fetch/src/errors/fetch-error.js.map +1 -0
  205. package/dist/_node_modules/node-fetch/src/headers.js +189 -0
  206. package/dist/_node_modules/node-fetch/src/headers.js.map +1 -0
  207. package/dist/_node_modules/node-fetch/src/index.js +290 -0
  208. package/dist/_node_modules/node-fetch/src/index.js.map +1 -0
  209. package/dist/_node_modules/node-fetch/src/request.js +203 -0
  210. package/dist/_node_modules/node-fetch/src/request.js.map +1 -0
  211. package/dist/_node_modules/node-fetch/src/response.js +123 -0
  212. package/dist/_node_modules/node-fetch/src/response.js.map +1 -0
  213. package/dist/_node_modules/node-fetch/src/utils/get-search.js +12 -0
  214. package/dist/_node_modules/node-fetch/src/utils/get-search.js.map +1 -0
  215. package/dist/_node_modules/node-fetch/src/utils/is-redirect.js +8 -0
  216. package/dist/_node_modules/node-fetch/src/utils/is-redirect.js.map +1 -0
  217. package/dist/_node_modules/node-fetch/src/utils/is.js +28 -0
  218. package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -0
  219. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js +356 -0
  220. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -0
  221. package/dist/_node_modules/node-fetch/src/utils/referrer.js +149 -0
  222. package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -0
  223. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +3818 -0
  224. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -0
  225. package/dist/_virtual/_commonjsHelpers.js +35 -0
  226. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  227. package/dist/_virtual/assignment-filter.js +5 -0
  228. package/dist/_virtual/assignment-filter.js.map +1 -0
  229. package/dist/_virtual/assignment-service.js +5 -0
  230. package/dist/_virtual/assignment-service.js.map +1 -0
  231. package/dist/_virtual/assignment.js +5 -0
  232. package/dist/_virtual/assignment.js.map +1 -0
  233. package/dist/_virtual/backoff.js +5 -0
  234. package/dist/_virtual/backoff.js.map +1 -0
  235. package/dist/_virtual/cache.js +5 -0
  236. package/dist/_virtual/cache.js.map +1 -0
  237. package/dist/_virtual/cache2.js +5 -0
  238. package/dist/_virtual/cache2.js.map +1 -0
  239. package/dist/_virtual/client.js +5 -0
  240. package/dist/_virtual/client.js.map +1 -0
  241. package/dist/_virtual/client2.js +5 -0
  242. package/dist/_virtual/client2.js.map +1 -0
  243. package/dist/_virtual/cohort-api.js +5 -0
  244. package/dist/_virtual/cohort-api.js.map +1 -0
  245. package/dist/_virtual/cohort.js +5 -0
  246. package/dist/_virtual/cohort.js.map +1 -0
  247. package/dist/_virtual/cohort2.js +5 -0
  248. package/dist/_virtual/cohort2.js.map +1 -0
  249. package/dist/_virtual/config.js +5 -0
  250. package/dist/_virtual/config.js.map +1 -0
  251. package/dist/_virtual/config2.js +5 -0
  252. package/dist/_virtual/config2.js.map +1 -0
  253. package/dist/_virtual/cookie.js +5 -0
  254. package/dist/_virtual/cookie.js.map +1 -0
  255. package/dist/_virtual/experiment-core.esm.js +7 -0
  256. package/dist/_virtual/experiment-core.esm.js.map +1 -0
  257. package/dist/_virtual/factory.js +5 -0
  258. package/dist/_virtual/factory.js.map +1 -0
  259. package/dist/_virtual/fetcher.js +5 -0
  260. package/dist/_virtual/fetcher.js.map +1 -0
  261. package/dist/_virtual/fetcher2.js +5 -0
  262. package/dist/_virtual/fetcher2.js.map +1 -0
  263. package/dist/_virtual/hash.js +5 -0
  264. package/dist/_virtual/hash.js.map +1 -0
  265. package/dist/_virtual/http.js +5 -0
  266. package/dist/_virtual/http.js.map +1 -0
  267. package/dist/_virtual/index.js +6 -0
  268. package/dist/_virtual/index.js.map +1 -0
  269. package/dist/_virtual/index2.js +5 -0
  270. package/dist/_virtual/index2.js.map +1 -0
  271. package/dist/_virtual/index3.js +3 -0
  272. package/dist/_virtual/index3.js.map +1 -0
  273. package/dist/_virtual/index4.js +7 -0
  274. package/dist/_virtual/index4.js.map +1 -0
  275. package/dist/_virtual/logger.js +5 -0
  276. package/dist/_virtual/logger.js.map +1 -0
  277. package/dist/_virtual/loglevel.js +5 -0
  278. package/dist/_virtual/loglevel.js.map +1 -0
  279. package/dist/_virtual/poller.js +5 -0
  280. package/dist/_virtual/poller.js.map +1 -0
  281. package/dist/_virtual/poller2.js +5 -0
  282. package/dist/_virtual/poller2.js.map +1 -0
  283. package/dist/_virtual/ponyfill.es2018.js +5 -0
  284. package/dist/_virtual/ponyfill.es2018.js.map +1 -0
  285. package/dist/_virtual/storage.js +5 -0
  286. package/dist/_virtual/storage.js.map +1 -0
  287. package/dist/_virtual/stream-flag-api.js +5 -0
  288. package/dist/_virtual/stream-flag-api.js.map +1 -0
  289. package/dist/_virtual/stream.js +5 -0
  290. package/dist/_virtual/stream.js.map +1 -0
  291. package/dist/_virtual/streamer.js +5 -0
  292. package/dist/_virtual/streamer.js.map +1 -0
  293. package/dist/_virtual/streams.js +3 -0
  294. package/dist/_virtual/streams.js.map +1 -0
  295. package/dist/_virtual/streams2.js +5 -0
  296. package/dist/_virtual/streams2.js.map +1 -0
  297. package/dist/_virtual/threading.js +5 -0
  298. package/dist/_virtual/threading.js.map +1 -0
  299. package/dist/_virtual/time.js +5 -0
  300. package/dist/_virtual/time.js.map +1 -0
  301. package/dist/_virtual/updater.js +5 -0
  302. package/dist/_virtual/updater.js.map +1 -0
  303. package/dist/_virtual/user.js +5 -0
  304. package/dist/_virtual/user.js.map +1 -0
  305. package/dist/_virtual/variant.js +5 -0
  306. package/dist/_virtual/variant.js.map +1 -0
  307. package/dist/_virtual/version.js +5 -0
  308. package/dist/_virtual/version.js.map +1 -0
  309. package/dist/auth/PrismicAuthManager.d.ts +47 -0
  310. package/dist/auth/PrismicAuthManager.js +214 -0
  311. package/dist/auth/PrismicAuthManager.js.map +1 -0
  312. package/dist/auth/createPrismicAuthManager.d.ts +4 -0
  313. package/dist/auth/createPrismicAuthManager.js +8 -0
  314. package/dist/auth/createPrismicAuthManager.js.map +1 -0
  315. package/dist/auth/createPrismicAuthManagerMiddleware.d.ts +13 -0
  316. package/dist/auth/createPrismicAuthManagerMiddleware.js +39 -0
  317. package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -0
  318. package/dist/constants/API_ENDPOINTS.d.ts +9 -0
  319. package/dist/constants/API_ENDPOINTS.js +73 -0
  320. package/dist/constants/API_ENDPOINTS.js.map +1 -0
  321. package/dist/constants/API_TOKENS.d.ts +6 -0
  322. package/dist/constants/API_TOKENS.js +27 -0
  323. package/dist/constants/API_TOKENS.js.map +1 -0
  324. package/dist/constants/APPLICATION_MODE.d.ts +8 -0
  325. package/dist/constants/APPLICATION_MODE.js +12 -0
  326. package/dist/constants/APPLICATION_MODE.js.map +1 -0
  327. package/dist/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.d.ts +1 -0
  328. package/dist/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.js +5 -0
  329. package/dist/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.js.map +1 -0
  330. package/dist/constants/PRISMIC_CLI_USER_AGENT.d.ts +1 -0
  331. package/dist/constants/PRISMIC_CLI_USER_AGENT.js +5 -0
  332. package/dist/constants/PRISMIC_CLI_USER_AGENT.js.map +1 -0
  333. package/dist/constants/PRISMIC_CONFIG_FILENAME.d.ts +1 -0
  334. package/dist/constants/PRISMIC_CONFIG_FILENAME.js +5 -0
  335. package/dist/constants/PRISMIC_CONFIG_FILENAME.js.map +1 -0
  336. package/dist/constants/SLICEMACHINE_CONFIG_FILENAME.d.ts +1 -0
  337. package/dist/constants/SLICEMACHINE_CONFIG_FILENAME.js +5 -0
  338. package/dist/constants/SLICEMACHINE_CONFIG_FILENAME.js.map +1 -0
  339. package/dist/constants/TS_CONFIG_FILENAME.d.ts +1 -0
  340. package/dist/constants/TS_CONFIG_FILENAME.js +5 -0
  341. package/dist/constants/TS_CONFIG_FILENAME.js.map +1 -0
  342. package/dist/errors.d.ts +43 -0
  343. package/dist/errors.js +20 -0
  344. package/dist/errors.js.map +1 -0
  345. package/dist/index.d.ts +4 -0
  346. package/dist/index.js +5 -0
  347. package/dist/index.js.map +1 -0
  348. package/dist/lib/DecodeError.d.ts +13 -0
  349. package/dist/lib/DecodeError.js +21 -0
  350. package/dist/lib/DecodeError.js.map +1 -0
  351. package/dist/lib/assertPluginsInitialized.d.ts +2 -0
  352. package/dist/lib/assertPluginsInitialized.js +9 -0
  353. package/dist/lib/assertPluginsInitialized.js.map +1 -0
  354. package/dist/lib/castArray.d.ts +1 -0
  355. package/dist/lib/castArray.js +7 -0
  356. package/dist/lib/castArray.js.map +1 -0
  357. package/dist/lib/decode.d.ts +10 -0
  358. package/dist/lib/decode.js +14 -0
  359. package/dist/lib/decode.js.map +1 -0
  360. package/dist/lib/decodeHookResult.d.ts +7 -0
  361. package/dist/lib/decodeHookResult.js +21 -0
  362. package/dist/lib/decodeHookResult.js.map +1 -0
  363. package/dist/lib/decodePackageJSON.d.ts +12 -0
  364. package/dist/lib/decodePrismicConfig.d.ts +3 -0
  365. package/dist/lib/decodePrismicConfig.js +22 -0
  366. package/dist/lib/decodePrismicConfig.js.map +1 -0
  367. package/dist/lib/fetchNPMPackageVersions.d.ts +5 -0
  368. package/dist/lib/fetchNPMPackageVersions.js +24 -0
  369. package/dist/lib/fetchNPMPackageVersions.js.map +1 -0
  370. package/dist/lib/format.d.ts +12 -0
  371. package/dist/lib/format.js +30 -0
  372. package/dist/lib/format.js.map +1 -0
  373. package/dist/lib/installDependencies.d.ts +13 -0
  374. package/dist/lib/installDependencies.js +45 -0
  375. package/dist/lib/installDependencies.js.map +1 -0
  376. package/dist/lib/locateFileUpward.d.ts +10 -0
  377. package/dist/lib/locateFileUpward.js +29 -0
  378. package/dist/lib/locateFileUpward.js.map +1 -0
  379. package/dist/lib/prismicrc.d.ts +8 -0
  380. package/dist/lib/prismicrc.js +29 -0
  381. package/dist/lib/prismicrc.js.map +1 -0
  382. package/dist/lib/trailingSlash.d.ts +1 -0
  383. package/dist/lib/trailingSlash.js +7 -0
  384. package/dist/lib/trailingSlash.js.map +1 -0
  385. package/dist/lib/typesInternalSchemas.d.ts +12 -0
  386. package/dist/lib/typesInternalSchemas.js +29 -0
  387. package/dist/lib/typesInternalSchemas.js.map +1 -0
  388. package/dist/managers/BaseManager.d.ts +27 -0
  389. package/dist/managers/BaseManager.js +48 -0
  390. package/dist/managers/BaseManager.js.map +1 -0
  391. package/dist/managers/PrismicManager.d.ts +33 -0
  392. package/dist/managers/PrismicManager.js +60 -0
  393. package/dist/managers/PrismicManager.js.map +1 -0
  394. package/dist/managers/createPrismicManager.d.ts +4 -0
  395. package/dist/managers/createPrismicManager.js +8 -0
  396. package/dist/managers/createPrismicManager.js.map +1 -0
  397. package/dist/managers/customTypes/CustomTypesManager.d.ts +44 -0
  398. package/dist/managers/customTypes/CustomTypesManager.js +111 -0
  399. package/dist/managers/customTypes/CustomTypesManager.js.map +1 -0
  400. package/dist/managers/customTypes/types.d.ts +2 -0
  401. package/dist/managers/plugins/PluginsManager.d.ts +13 -0
  402. package/dist/managers/plugins/PluginsManager.js +30 -0
  403. package/dist/managers/plugins/PluginsManager.js.map +1 -0
  404. package/dist/managers/prismicRepository/PrismicRepositoryManager.d.ts +12 -0
  405. package/dist/managers/prismicRepository/PrismicRepositoryManager.js +79 -0
  406. package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -0
  407. package/dist/managers/prismicRepository/types.d.ts +17 -0
  408. package/dist/managers/prismicRepository/types.js +24 -0
  409. package/dist/managers/prismicRepository/types.js.map +1 -0
  410. package/dist/managers/project/ProjectManager.d.ts +51 -0
  411. package/dist/managers/project/ProjectManager.js +208 -0
  412. package/dist/managers/project/ProjectManager.js.map +1 -0
  413. package/dist/managers/slices/SlicesManager.d.ts +61 -0
  414. package/dist/managers/slices/SlicesManager.js +169 -0
  415. package/dist/managers/slices/SlicesManager.js.map +1 -0
  416. package/dist/managers/telemetry/TelemetryManager.d.ts +23 -0
  417. package/dist/managers/telemetry/TelemetryManager.js +133 -0
  418. package/dist/managers/telemetry/TelemetryManager.js.map +1 -0
  419. package/dist/managers/telemetry/types.d.ts +35 -0
  420. package/dist/managers/telemetry/types.js +15 -0
  421. package/dist/managers/telemetry/types.js.map +1 -0
  422. package/dist/managers/user/UserManager.d.ts +22 -0
  423. package/dist/managers/user/UserManager.js +22 -0
  424. package/dist/managers/user/UserManager.js.map +1 -0
  425. package/dist/managers/versions/VersionsManager.d.ts +21 -0
  426. package/dist/managers/versions/VersionsManager.js +39 -0
  427. package/dist/managers/versions/VersionsManager.js.map +1 -0
  428. package/dist/types.d.ts +32 -0
  429. package/package.json +100 -0
  430. package/src/auth/PrismicAuthManager.ts +346 -0
  431. package/src/auth/createPrismicAuthManager.ts +11 -0
  432. package/src/auth/createPrismicAuthManagerMiddleware.ts +79 -0
  433. package/src/constants/API_ENDPOINTS.ts +106 -0
  434. package/src/constants/API_TOKENS.ts +29 -0
  435. package/src/constants/APPLICATION_MODE.ts +8 -0
  436. package/src/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.ts +1 -0
  437. package/src/constants/PRISMIC_CLI_USER_AGENT.ts +1 -0
  438. package/src/constants/PRISMIC_CONFIG_FILENAME.ts +1 -0
  439. package/src/constants/SLICEMACHINE_CONFIG_FILENAME.ts +1 -0
  440. package/src/constants/TS_CONFIG_FILENAME.ts +1 -0
  441. package/src/errors.ts +109 -0
  442. package/src/index.ts +5 -0
  443. package/src/lib/DecodeError.ts +31 -0
  444. package/src/lib/assertPluginsInitialized.ts +11 -0
  445. package/src/lib/castArray.ts +3 -0
  446. package/src/lib/decode.ts +28 -0
  447. package/src/lib/decodeHookResult.ts +36 -0
  448. package/src/lib/decodePackageJSON.ts +18 -0
  449. package/src/lib/decodePrismicConfig.ts +26 -0
  450. package/src/lib/fetchNPMPackageVersions.ts +45 -0
  451. package/src/lib/format.ts +34 -0
  452. package/src/lib/installDependencies.ts +74 -0
  453. package/src/lib/locateFileUpward.ts +53 -0
  454. package/src/lib/prismicrc.ts +41 -0
  455. package/src/lib/trailingSlash.ts +5 -0
  456. package/src/lib/typesInternalSchemas.ts +42 -0
  457. package/src/managers/BaseManager.ts +74 -0
  458. package/src/managers/PrismicManager.ts +81 -0
  459. package/src/managers/createPrismicManager.ts +9 -0
  460. package/src/managers/customTypes/CustomTypesManager.ts +221 -0
  461. package/src/managers/customTypes/types.ts +3 -0
  462. package/src/managers/plugins/PluginsManager.ts +44 -0
  463. package/src/managers/prismicRepository/PrismicRepositoryManager.ts +120 -0
  464. package/src/managers/prismicRepository/types.ts +23 -0
  465. package/src/managers/project/ProjectManager.ts +354 -0
  466. package/src/managers/slices/SlicesManager.ts +308 -0
  467. package/src/managers/telemetry/TelemetryManager.ts +227 -0
  468. package/src/managers/telemetry/types.ts +62 -0
  469. package/src/managers/user/UserManager.ts +35 -0
  470. package/src/managers/versions/VersionsManager.ts +53 -0
  471. package/src/types.ts +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiment-core.esm.js","sources":["../../../../../../../node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nfunction __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nfunction __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nvar EvaluationOperator = {\n IS: 'is',\n IS_NOT: 'is not',\n CONTAINS: 'contains',\n DOES_NOT_CONTAIN: 'does not contain',\n LESS_THAN: 'less',\n LESS_THAN_EQUALS: 'less or equal',\n GREATER_THAN: 'greater',\n GREATER_THAN_EQUALS: 'greater or equal',\n VERSION_LESS_THAN: 'version less',\n VERSION_LESS_THAN_EQUALS: 'version less or equal',\n VERSION_GREATER_THAN: 'version greater',\n VERSION_GREATER_THAN_EQUALS: 'version greater or equal',\n SET_IS: 'set is',\n SET_IS_NOT: 'set is not',\n SET_CONTAINS: 'set contains',\n SET_DOES_NOT_CONTAIN: 'set does not contain',\n SET_CONTAINS_ANY: 'set contains any',\n SET_DOES_NOT_CONTAIN_ANY: 'set does not contain any',\n REGEX_MATCH: 'regex match',\n REGEX_DOES_NOT_MATCH: 'regex does not match',\n};\n\nvar stringToUtf8ByteArray = function (str) {\n var out = [];\n var p = 0;\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c < 128) {\n out[p++] = c;\n }\n else if (c < 2048) {\n out[p++] = (c >> 6) | 192;\n out[p++] = (c & 63) | 128;\n }\n else if ((c & 0xfc00) == 0xd800 &&\n i + 1 < str.length &&\n (str.charCodeAt(i + 1) & 0xfc00) == 0xdc00) {\n // Surrogate Pair\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\n out[p++] = (c >> 18) | 240;\n out[p++] = ((c >> 12) & 63) | 128;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n else {\n out[p++] = (c >> 12) | 224;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n }\n return Uint8Array.from(out);\n};\n\nvar C1_32 = -0x3361d2af;\nvar C2_32 = 0x1b873593;\nvar R1_32 = 15;\nvar R2_32 = 13;\nvar M_32 = 5;\nvar N_32 = -0x19ab949c;\nvar hash32x86 = function (input, seed) {\n if (seed === void 0) { seed = 0; }\n var data = stringToUtf8ByteArray(input);\n var length = data.length;\n var nBlocks = length >> 2;\n var hash = seed;\n // body\n for (var i = 0; i < nBlocks; i++) {\n var index_1 = i << 2;\n var k = readIntLe(data, index_1);\n hash = mix32(k, hash);\n }\n // tail\n var index = nBlocks << 2;\n var k1 = 0;\n switch (length - index) {\n case 3:\n k1 ^= data[index + 2] << 16;\n k1 ^= data[index + 1] << 8;\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n case 2:\n k1 ^= data[index + 1] << 8;\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n case 1:\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n }\n hash ^= length;\n return fmix32(hash) >>> 0;\n};\nvar mix32 = function (k, hash) {\n var kResult = k;\n var hashResult = hash;\n kResult = Math.imul(kResult, C1_32);\n kResult = rotateLeft(kResult, R1_32);\n kResult = Math.imul(kResult, C2_32);\n hashResult ^= kResult;\n hashResult = rotateLeft(hashResult, R2_32);\n hashResult = Math.imul(hashResult, M_32);\n return (hashResult + N_32) | 0;\n};\nvar fmix32 = function (hash) {\n var hashResult = hash;\n hashResult ^= hashResult >>> 16;\n hashResult = Math.imul(hashResult, -0x7a143595);\n hashResult ^= hashResult >>> 13;\n hashResult = Math.imul(hashResult, -0x3d4d51cb);\n hashResult ^= hashResult >>> 16;\n return hashResult;\n};\nvar rotateLeft = function (x, n, width) {\n if (width === void 0) { width = 32; }\n if (n > width)\n n = n % width;\n var mask = (0xffffffff << (width - n)) >>> 0;\n var r = (((x & mask) >>> 0) >>> (width - n)) >>> 0;\n return ((x << n) | r) >>> 0;\n};\nvar readIntLe = function (data, index) {\n if (index === void 0) { index = 0; }\n var n = (data[index] << 24) |\n (data[index + 1] << 16) |\n (data[index + 2] << 8) |\n data[index + 3];\n return reverseBytes(n);\n};\nvar reverseBytes = function (n) {\n return (((n & -0x1000000) >>> 24) |\n ((n & 0x00ff0000) >>> 8) |\n ((n & 0x0000ff00) << 8) |\n ((n & 0x000000ff) << 24));\n};\n\nvar select = function (selectable, selector) {\n var e_1, _a;\n if (!selector || selector.length === 0) {\n return undefined;\n }\n try {\n for (var selector_1 = __values(selector), selector_1_1 = selector_1.next(); !selector_1_1.done; selector_1_1 = selector_1.next()) {\n var selectorElement = selector_1_1.value;\n if (!selectorElement || !selectable || typeof selectable !== 'object') {\n return undefined;\n }\n selectable = selectable[selectorElement];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (selector_1_1 && !selector_1_1.done && (_a = selector_1.return)) _a.call(selector_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!selectable) {\n return undefined;\n }\n else {\n return selectable;\n }\n};\n\n// major and minor should be non-negative numbers separated by a dot\nvar MAJOR_MINOR_REGEX = '(\\\\d+)\\\\.(\\\\d+)';\n// patch should be a non-negative number\nvar PATCH_REGEX = '(\\\\d+)';\n// prerelease is optional. If provided, it should be a hyphen followed by a\n// series of dot separated identifiers where an identifer can contain anything in [-0-9a-zA-Z]\nvar PRERELEASE_REGEX = '(-(([-\\\\w]+\\\\.?)*))?';\n// version pattern should be major.minor(.patchAndPreRelease) where .patchAndPreRelease is optional\nvar VERSION_PATTERN = \"^\".concat(MAJOR_MINOR_REGEX, \"(\\\\.\").concat(PATCH_REGEX).concat(PRERELEASE_REGEX, \")?$\");\nvar SemanticVersion = /** @class */ (function () {\n function SemanticVersion(major, minor, patch, preRelease) {\n if (preRelease === void 0) { preRelease = undefined; }\n this.major = major;\n this.minor = minor;\n this.patch = patch;\n this.preRelease = preRelease;\n }\n SemanticVersion.parse = function (version) {\n if (!version) {\n return undefined;\n }\n var matchGroup = new RegExp(VERSION_PATTERN).exec(version);\n if (!matchGroup) {\n return undefined;\n }\n var major = Number(matchGroup[1]);\n var minor = Number(matchGroup[2]);\n if (isNaN(major) || isNaN(minor)) {\n return undefined;\n }\n var patch = Number(matchGroup[4]) || 0;\n var preRelease = matchGroup[5] || undefined;\n return new SemanticVersion(major, minor, patch, preRelease);\n };\n SemanticVersion.prototype.compareTo = function (other) {\n if (this.major > other.major)\n return 1;\n if (this.major < other.major)\n return -1;\n if (this.minor > other.minor)\n return 1;\n if (this.minor < other.minor)\n return -1;\n if (this.patch > other.patch)\n return 1;\n if (this.patch < other.patch)\n return -1;\n if (this.preRelease && !other.preRelease)\n return -1;\n if (!this.preRelease && other.preRelease)\n return 1;\n if (this.preRelease && other.preRelease) {\n if (this.preRelease > other.preRelease)\n return 1;\n if (this.preRelease < other.preRelease)\n return -1;\n return 0;\n }\n return 0;\n };\n return SemanticVersion;\n}());\n\nvar EvaluationEngine = /** @class */ (function () {\n function EvaluationEngine() {\n }\n EvaluationEngine.prototype.evaluate = function (context, flags) {\n var e_1, _a;\n var results = {};\n var target = {\n context: context,\n result: results,\n };\n try {\n for (var flags_1 = __values(flags), flags_1_1 = flags_1.next(); !flags_1_1.done; flags_1_1 = flags_1.next()) {\n var flag = flags_1_1.value;\n // Evaluate flag and update results.\n var variant = this.evaluateFlag(target, flag);\n if (variant) {\n results[flag.key] = variant;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (flags_1_1 && !flags_1_1.done && (_a = flags_1.return)) _a.call(flags_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return results;\n };\n EvaluationEngine.prototype.evaluateFlag = function (target, flag) {\n var e_2, _a;\n var result;\n try {\n for (var _b = __values(flag.segments), _c = _b.next(); !_c.done; _c = _b.next()) {\n var segment = _c.value;\n result = this.evaluateSegment(target, flag, segment);\n if (result) {\n // Merge all metadata into the result\n var metadata = __assign(__assign(__assign({}, flag.metadata), segment.metadata), result.metadata);\n result = __assign(__assign({}, result), { metadata: metadata });\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n };\n EvaluationEngine.prototype.evaluateSegment = function (target, flag, segment) {\n var e_3, _a, e_4, _b;\n if (!segment.conditions) {\n // Null conditions always match\n var variantKey = this.bucket(target, segment);\n if (variantKey !== undefined) {\n return flag.variants[variantKey];\n }\n else {\n return undefined;\n }\n }\n try {\n // Outer list logic is \"or\" (||)\n for (var _c = __values(segment.conditions), _d = _c.next(); !_d.done; _d = _c.next()) {\n var conditions = _d.value;\n var match = true;\n try {\n for (var conditions_1 = (e_4 = void 0, __values(conditions)), conditions_1_1 = conditions_1.next(); !conditions_1_1.done; conditions_1_1 = conditions_1.next()) {\n var condition = conditions_1_1.value;\n match = this.matchCondition(target, condition);\n if (!match) {\n break;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (conditions_1_1 && !conditions_1_1.done && (_b = conditions_1.return)) _b.call(conditions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n // On match, bucket the user.\n if (match) {\n var variantKey = this.bucket(target, segment);\n if (variantKey !== undefined) {\n return flag.variants[variantKey];\n }\n else {\n return undefined;\n }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return undefined;\n };\n EvaluationEngine.prototype.matchCondition = function (target, condition) {\n var propValue = select(target, condition.selector);\n // We need special matching for null properties and set type prop values\n // and operators. All other values are matched as strings, since the\n // filter values are always strings.\n if (!propValue) {\n return this.matchNull(condition.op, condition.values);\n }\n else if (this.isSetOperator(condition.op)) {\n var propValueStringList = this.coerceStringArray(propValue);\n if (!propValueStringList) {\n return false;\n }\n return this.matchSet(propValueStringList, condition.op, condition.values);\n }\n else {\n var propValueString = this.coerceString(propValue);\n if (propValueString !== undefined) {\n return this.matchString(propValueString, condition.op, condition.values);\n }\n else {\n return false;\n }\n }\n };\n EvaluationEngine.prototype.getHash = function (key) {\n return hash32x86(key);\n };\n EvaluationEngine.prototype.bucket = function (target, segment) {\n var e_5, _a, e_6, _b;\n if (!segment.bucket) {\n // A null bucket means the segment is fully rolled out. Select the\n // default variant.\n return segment.variant;\n }\n // Select the bucketing value.\n var bucketingValue = this.coerceString(select(target, segment.bucket.selector));\n if (!bucketingValue || bucketingValue.length === 0) {\n // A null or empty bucketing value cannot be bucketed. Select the\n // default variant.\n return segment.variant;\n }\n // Salt and has the value, and compute the allocation and distribution\n // values.\n var keyToHash = \"\".concat(segment.bucket.salt, \"/\").concat(bucketingValue);\n var hash = this.getHash(keyToHash);\n var allocationValue = hash % 100;\n var distributionValue = Math.floor(hash / 100);\n try {\n for (var _c = __values(segment.bucket.allocations), _d = _c.next(); !_d.done; _d = _c.next()) {\n var allocation = _d.value;\n var allocationStart = allocation.range[0];\n var allocationEnd = allocation.range[1];\n if (allocationValue >= allocationStart &&\n allocationValue < allocationEnd) {\n try {\n for (var _e = (e_6 = void 0, __values(allocation.distributions)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var distribution = _f.value;\n var distributionStart = distribution.range[0];\n var distributionEnd = distribution.range[1];\n if (distributionValue >= distributionStart &&\n distributionValue < distributionEnd) {\n return distribution.variant;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return segment.variant;\n };\n EvaluationEngine.prototype.matchNull = function (op, filterValues) {\n var containsNone = this.containsNone(filterValues);\n switch (op) {\n case EvaluationOperator.IS:\n case EvaluationOperator.CONTAINS:\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n case EvaluationOperator.SET_IS:\n case EvaluationOperator.SET_CONTAINS:\n case EvaluationOperator.SET_CONTAINS_ANY:\n return containsNone;\n case EvaluationOperator.IS_NOT:\n case EvaluationOperator.DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return !containsNone;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchSet = function (propValues, op, filterValues) {\n switch (op) {\n case EvaluationOperator.SET_IS:\n return this.setEquals(propValues, filterValues);\n case EvaluationOperator.SET_IS_NOT:\n return !this.setEquals(propValues, filterValues);\n case EvaluationOperator.SET_CONTAINS:\n return this.matchesSetContainsAll(propValues, filterValues);\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n return !this.matchesSetContainsAll(propValues, filterValues);\n case EvaluationOperator.SET_CONTAINS_ANY:\n return this.matchesSetContainsAny(propValues, filterValues);\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return !this.matchesSetContainsAny(propValues, filterValues);\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchString = function (propValue, op, filterValues) {\n var _this = this;\n switch (op) {\n case EvaluationOperator.IS:\n return this.matchesIs(propValue, filterValues);\n case EvaluationOperator.IS_NOT:\n return !this.matchesIs(propValue, filterValues);\n case EvaluationOperator.CONTAINS:\n return this.matchesContains(propValue, filterValues);\n case EvaluationOperator.DOES_NOT_CONTAIN:\n return !this.matchesContains(propValue, filterValues);\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.GREATER_THAN_EQUALS:\n return this.matchesComparable(propValue, op, filterValues, function (value) { return _this.parseNumber(value); }, this.comparator);\n case EvaluationOperator.VERSION_LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return this.matchesComparable(propValue, op, filterValues, function (value) { return SemanticVersion.parse(value); }, this.versionComparator);\n case EvaluationOperator.REGEX_MATCH:\n return this.matchesRegex(propValue, filterValues);\n case EvaluationOperator.REGEX_DOES_NOT_MATCH:\n return !this.matchesRegex(propValue, filterValues);\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchesIs = function (propValue, filterValues) {\n if (this.containsBooleans(filterValues)) {\n var lower_1 = propValue.toLowerCase();\n if (lower_1 === 'true' || lower_1 === 'false') {\n return filterValues.some(function (value) { return value.toLowerCase() === lower_1; });\n }\n }\n return filterValues.some(function (value) { return propValue === value; });\n };\n EvaluationEngine.prototype.matchesContains = function (propValue, filterValues) {\n var e_7, _a;\n try {\n for (var filterValues_1 = __values(filterValues), filterValues_1_1 = filterValues_1.next(); !filterValues_1_1.done; filterValues_1_1 = filterValues_1.next()) {\n var filterValue = filterValues_1_1.value;\n if (propValue.toLowerCase().includes(filterValue.toLowerCase())) {\n return true;\n }\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (filterValues_1_1 && !filterValues_1_1.done && (_a = filterValues_1.return)) _a.call(filterValues_1);\n }\n finally { if (e_7) throw e_7.error; }\n }\n return false;\n };\n EvaluationEngine.prototype.matchesComparable = function (propValue, op, filterValues, typeTransformer, typeComparator) {\n var _this = this;\n var propValueTransformed = typeTransformer(propValue);\n var filterValuesTransformed = filterValues\n .map(function (filterValue) {\n return typeTransformer(filterValue);\n })\n .filter(function (filterValue) {\n return filterValue !== undefined;\n });\n if (propValueTransformed === undefined ||\n filterValuesTransformed.length === 0) {\n return filterValues.some(function (filterValue) {\n return _this.comparator(propValue, op, filterValue);\n });\n }\n else {\n return filterValuesTransformed.some(function (filterValueTransformed) {\n return typeComparator(propValueTransformed, op, filterValueTransformed);\n });\n }\n };\n EvaluationEngine.prototype.comparator = function (propValue, op, filterValue) {\n switch (op) {\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN:\n return propValue < filterValue;\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n return propValue <= filterValue;\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN:\n return propValue > filterValue;\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return propValue >= filterValue;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.versionComparator = function (propValue, op, filterValue) {\n var compareTo = propValue.compareTo(filterValue);\n switch (op) {\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN:\n return compareTo < 0;\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n return compareTo <= 0;\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN:\n return compareTo > 0;\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return compareTo >= 0;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchesRegex = function (propValue, filterValues) {\n return filterValues.some(function (filterValue) {\n return Boolean(new RegExp(filterValue).exec(propValue));\n });\n };\n EvaluationEngine.prototype.containsNone = function (filterValues) {\n return filterValues.some(function (filterValue) {\n return filterValue === '(none)';\n });\n };\n EvaluationEngine.prototype.containsBooleans = function (filterValues) {\n return filterValues.some(function (filterValue) {\n switch (filterValue.toLowerCase()) {\n case 'true':\n case 'false':\n return true;\n default:\n return false;\n }\n });\n };\n EvaluationEngine.prototype.parseNumber = function (value) {\n var _a;\n return (_a = Number(value)) !== null && _a !== void 0 ? _a : undefined;\n };\n EvaluationEngine.prototype.coerceString = function (value) {\n if (!value) {\n return undefined;\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n };\n EvaluationEngine.prototype.coerceStringArray = function (value) {\n var _this = this;\n if (Array.isArray(value)) {\n var anyArray = value;\n return anyArray\n .map(function (e) { return _this.coerceString(e); })\n .filter(Boolean);\n }\n var stringValue = String(value);\n try {\n var parsedValue = JSON.parse(stringValue);\n if (Array.isArray(parsedValue)) {\n var anyArray = value;\n return anyArray\n .map(function (e) { return _this.coerceString(e); })\n .filter(Boolean);\n }\n else {\n return undefined;\n }\n }\n catch (_a) {\n return undefined;\n }\n };\n EvaluationEngine.prototype.isSetOperator = function (op) {\n switch (op) {\n case EvaluationOperator.SET_IS:\n case EvaluationOperator.SET_IS_NOT:\n case EvaluationOperator.SET_CONTAINS:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_CONTAINS_ANY:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return true;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.setEquals = function (xa, ya) {\n var xs = new Set(xa);\n var ys = new Set(ya);\n return xs.size === ys.size && __spreadArray([], __read(ys), false).every(function (y) { return xs.has(y); });\n };\n EvaluationEngine.prototype.matchesSetContainsAll = function (propValues, filterValues) {\n var e_8, _a;\n if (propValues.length < filterValues.length) {\n return false;\n }\n try {\n for (var filterValues_2 = __values(filterValues), filterValues_2_1 = filterValues_2.next(); !filterValues_2_1.done; filterValues_2_1 = filterValues_2.next()) {\n var filterValue = filterValues_2_1.value;\n if (!this.matchesIs(filterValue, propValues)) {\n return false;\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (filterValues_2_1 && !filterValues_2_1.done && (_a = filterValues_2.return)) _a.call(filterValues_2);\n }\n finally { if (e_8) throw e_8.error; }\n }\n return true;\n };\n EvaluationEngine.prototype.matchesSetContainsAny = function (propValues, filterValues) {\n var e_9, _a;\n try {\n for (var filterValues_3 = __values(filterValues), filterValues_3_1 = filterValues_3.next(); !filterValues_3_1.done; filterValues_3_1 = filterValues_3.next()) {\n var filterValue = filterValues_3_1.value;\n if (this.matchesIs(filterValue, propValues)) {\n return true;\n }\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (filterValues_3_1 && !filterValues_3_1.done && (_a = filterValues_3.return)) _a.call(filterValues_3);\n }\n finally { if (e_9) throw e_9.error; }\n }\n return false;\n };\n return EvaluationEngine;\n}());\n\nvar topologicalSort = function (flags, flagKeys) {\n var e_1, _a;\n var available = __assign({}, flags);\n var result = [];\n var startingKeys = flagKeys || Object.keys(available);\n try {\n for (var startingKeys_1 = __values(startingKeys), startingKeys_1_1 = startingKeys_1.next(); !startingKeys_1_1.done; startingKeys_1_1 = startingKeys_1.next()) {\n var flagKey = startingKeys_1_1.value;\n var traversal = parentTraversal(flagKey, available);\n if (traversal) {\n result.push.apply(result, __spreadArray([], __read(traversal), false));\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (startingKeys_1_1 && !startingKeys_1_1.done && (_a = startingKeys_1.return)) _a.call(startingKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n};\nvar parentTraversal = function (flagKey, available, path) {\n var e_2, _a;\n if (path === void 0) { path = []; }\n var flag = available[flagKey];\n if (!flag) {\n return undefined;\n }\n else if (!flag.dependencies || flag.dependencies.length === 0) {\n delete available[flag.key];\n return [flag];\n }\n path.push(flag.key);\n var result = [];\n var _loop_1 = function (parentKey) {\n if (path.some(function (p) { return p === parentKey; })) {\n throw Error(\"Detected a cycle between flags \".concat(path));\n }\n var traversal = parentTraversal(parentKey, available, path);\n if (traversal) {\n result.push.apply(result, __spreadArray([], __read(traversal), false));\n }\n };\n try {\n for (var _b = __values(flag.dependencies), _c = _b.next(); !_c.done; _c = _b.next()) {\n var parentKey = _c.value;\n _loop_1(parentKey);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n result.push(flag);\n path.pop();\n delete available[flag.key];\n return result;\n};\n\n/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.5';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasatob = typeof atob === 'function';\nconst _hasbtoa = typeof btoa === 'function';\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = (a => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function' ? Uint8Array.from.bind(Uint8Array) : it => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = src => src.replace(/=/g, '').replace(/[+\\/]/g, m0 => m0 == '+' ? '-' : '_');\nconst _tidyB64 = s => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = bin => {\n // console.log('polyfilled');\n let u32,\n c0,\n c1,\n c2,\n asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 || (c1 = bin.charCodeAt(i++)) > 255 || (c2 = bin.charCodeAt(i++)) > 255) throw new TypeError('invalid character found');\n u32 = c0 << 16 | c1 << 8 | c2;\n asc += b64chs[u32 >> 18 & 63] + b64chs[u32 >> 12 & 63] + b64chs[u32 >> 6 & 63] + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = _hasbtoa ? bin => btoa(bin) : _hasBuffer ? bin => Buffer.from(bin, 'binary').toString('base64') : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer ? u8a => Buffer.from(u8a).toString('base64') : u8a => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n};\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = c => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c : cc < 0x800 ? _fromCC(0xc0 | cc >>> 6) + _fromCC(0x80 | cc & 0x3f) : _fromCC(0xe0 | cc >>> 12 & 0x0f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n } else {\n var cc = 0x10000 + (c.charCodeAt(0) - 0xD800) * 0x400 + (c.charCodeAt(1) - 0xDC00);\n return _fromCC(0xf0 | cc >>> 18 & 0x07) + _fromCC(0x80 | cc >>> 12 & 0x3f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = u => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer ? s => Buffer.from(s, 'utf8').toString('base64') : _TE ? s => _fromUint8Array(_TE.encode(s)) : s => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe ? _mkUriSafe(_encode(src)) : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = src => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = cccc => {\n switch (cccc.length) {\n case 4:\n var cp = (0x07 & cccc.charCodeAt(0)) << 18 | (0x3f & cccc.charCodeAt(1)) << 12 | (0x3f & cccc.charCodeAt(2)) << 6 | 0x3f & cccc.charCodeAt(3),\n offset = cp - 0x10000;\n return _fromCC((offset >>> 10) + 0xD800) + _fromCC((offset & 0x3FF) + 0xDC00);\n case 3:\n return _fromCC((0x0f & cccc.charCodeAt(0)) << 12 | (0x3f & cccc.charCodeAt(1)) << 6 | 0x3f & cccc.charCodeAt(2));\n default:\n return _fromCC((0x1f & cccc.charCodeAt(0)) << 6 | 0x3f & cccc.charCodeAt(1));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = b => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = asc => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc)) throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24,\n bin = '',\n r1,\n r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18 | b64tab[asc.charAt(i++)] << 12 | (r1 = b64tab[asc.charAt(i++)]) << 6 | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = _hasatob ? asc => atob(_tidyB64(asc)) : _hasBuffer ? asc => Buffer.from(asc, 'base64').toString('binary') : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer ? a => _U8Afrom(Buffer.from(a, 'base64')) : a => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = a => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer ? a => Buffer.from(a, 'base64').toString('utf8') : _TD ? a => _TD.decode(_toUint8Array(a)) : a => btou(_atob(a));\nconst _unURI = a => _tidyB64(a.replace(/[-_]/g, m0 => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = src => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = src => {\n if (typeof src !== 'string') return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = v => {\n return {\n value: v,\n enumerable: false,\n writable: true,\n configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () {\n return decode(this);\n });\n _add('toBase64', function (urlsafe) {\n return encode(this, urlsafe);\n });\n _add('toBase64URI', function () {\n return encode(this, true);\n });\n _add('toBase64URL', function () {\n return encode(this, true);\n });\n _add('toUint8Array', function () {\n return toUint8Array(this);\n });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) {\n return fromUint8Array(this, urlsafe);\n });\n _add('toBase64URI', function () {\n return fromUint8Array(this, true);\n });\n _add('toBase64URL', function () {\n return fromUint8Array(this, true);\n });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n\nvar FetchError = /** @class */ (function (_super) {\n __extends(FetchError, _super);\n function FetchError(statusCode, message) {\n var _this = _super.call(this, message) || this;\n _this.statusCode = statusCode;\n Object.setPrototypeOf(_this, FetchError.prototype);\n return _this;\n }\n return FetchError;\n}(Error));\n\nvar SdkEvaluationApi = /** @class */ (function () {\n function SdkEvaluationApi(deploymentKey, serverUrl, httpClient) {\n this.deploymentKey = deploymentKey;\n this.serverUrl = serverUrl;\n this.httpClient = httpClient;\n }\n SdkEvaluationApi.prototype.getVariants = function (user, options) {\n return __awaiter(this, void 0, void 0, function () {\n var userJsonBase64, headers, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n userJsonBase64 = gBase64.encodeURL(JSON.stringify(user));\n headers = {\n Authorization: \"Api-Key \".concat(this.deploymentKey),\n 'X-Amp-Exp-User': userJsonBase64,\n };\n if (options === null || options === void 0 ? void 0 : options.flagKeys) {\n headers['X-Amp-Exp-Flag-Keys'] = gBase64.encodeURL(JSON.stringify(options.flagKeys));\n }\n if (options === null || options === void 0 ? void 0 : options.trackingOption) {\n headers['X-Amp-Exp-Track'] = options.trackingOption;\n }\n return [4 /*yield*/, this.httpClient.request({\n requestUrl: \"\".concat(this.serverUrl, \"/sdk/v2/vardata?v=0\"),\n method: 'GET',\n headers: headers,\n timeoutMillis: options === null || options === void 0 ? void 0 : options.timeoutMillis,\n })];\n case 1:\n response = _a.sent();\n if (response.status != 200) {\n throw new FetchError(response.status, \"Fetch error response: status=\".concat(response.status));\n }\n return [2 /*return*/, JSON.parse(response.body)];\n }\n });\n });\n };\n return SdkEvaluationApi;\n}());\n\nvar SdkFlagApi = /** @class */ (function () {\n function SdkFlagApi(deploymentKey, serverUrl, httpClient) {\n this.deploymentKey = deploymentKey;\n this.serverUrl = serverUrl;\n this.httpClient = httpClient;\n }\n SdkFlagApi.prototype.getFlags = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var headers, response, flagsArray;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n headers = {\n Authorization: \"Api-Key \".concat(this.deploymentKey),\n };\n if ((options === null || options === void 0 ? void 0 : options.libraryName) && (options === null || options === void 0 ? void 0 : options.libraryVersion)) {\n headers['X-Amp-Exp-Library'] = \"\".concat(options.libraryName, \"/\").concat(options.libraryVersion);\n }\n return [4 /*yield*/, this.httpClient.request({\n requestUrl: \"\".concat(this.serverUrl, \"/sdk/v2/flags\"),\n method: 'GET',\n headers: headers,\n timeoutMillis: options === null || options === void 0 ? void 0 : options.timeoutMillis,\n })];\n case 1:\n response = _a.sent();\n if (response.status != 200) {\n throw Error(\"Flags error response: status=\".concat(response.status));\n }\n flagsArray = JSON.parse(response.body);\n return [2 /*return*/, flagsArray.reduce(function (map, flag) {\n map[flag.key] = flag;\n return map;\n }, {})];\n }\n });\n });\n };\n return SdkFlagApi;\n}());\n\nvar safeGlobal = typeof globalThis !== 'undefined' ? globalThis : global || self;\n\nvar Poller = /** @class */ (function () {\n function Poller(action, ms) {\n this.poller = undefined;\n this.action = action;\n this.ms = ms;\n }\n Poller.prototype.start = function () {\n if (this.poller) {\n return;\n }\n this.poller = safeGlobal.setInterval(this.action, this.ms);\n void this.action();\n };\n Poller.prototype.stop = function () {\n if (!this.poller) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n safeGlobal.clearInterval(this.poller);\n this.poller = undefined;\n };\n return Poller;\n}());\n\nexport { EvaluationEngine, EvaluationOperator, FetchError, Poller, SdkEvaluationApi, SdkFlagApi, safeGlobal, topologicalSort };\n"],"names":["d","b","__assign","SemanticVersion","version","EvaluationEngine","parentKey","FetchError","SdkEvaluationApi","SdkFlagApi","Poller"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,14 @@
1
+ import { __exports as version } from "../../../../../_virtual/version.js";
2
+ var hasRequiredVersion;
3
+ function requireVersion() {
4
+ if (hasRequiredVersion) return version;
5
+ hasRequiredVersion = 1;
6
+ Object.defineProperty(version, "__esModule", { value: true });
7
+ version.version = void 0;
8
+ version.version = "1.12.1";
9
+ return version;
10
+ }
11
+ export {
12
+ requireVersion as __require
13
+ };
14
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sources":["../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/gen/version.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// generated by genversion\nexports.version = '1.12.1';\n"],"names":[],"mappings":";;;;;AACA,SAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,UAAA,UAAkB;AAElB,UAAA,UAAkB;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,34 @@
1
+ import { __exports as assignmentFilter } from "../../../../../../_virtual/assignment-filter.js";
2
+ import { __require as requireCache } from "../util/cache.js";
3
+ import { __require as requireAssignmentService } from "./assignment-service.js";
4
+ var hasRequiredAssignmentFilter;
5
+ function requireAssignmentFilter() {
6
+ if (hasRequiredAssignmentFilter) return assignmentFilter;
7
+ hasRequiredAssignmentFilter = 1;
8
+ Object.defineProperty(assignmentFilter, "__esModule", { value: true });
9
+ assignmentFilter.InMemoryAssignmentFilter = void 0;
10
+ const cache_1 = requireCache();
11
+ const assignment_service_1 = requireAssignmentService();
12
+ class InMemoryAssignmentFilter {
13
+ constructor(size, ttlMillis = assignment_service_1.DAY_MILLIS) {
14
+ this.cache = new cache_1.Cache(size, ttlMillis);
15
+ }
16
+ shouldTrack(assignment) {
17
+ if (Object.keys(assignment.results).length === 0) {
18
+ return false;
19
+ }
20
+ const canonicalAssignment = assignment.canonicalize();
21
+ const track = this.cache.get(canonicalAssignment) == void 0;
22
+ if (track) {
23
+ this.cache.put(canonicalAssignment, 0);
24
+ }
25
+ return track;
26
+ }
27
+ }
28
+ assignmentFilter.InMemoryAssignmentFilter = InMemoryAssignmentFilter;
29
+ return assignmentFilter;
30
+ }
31
+ export {
32
+ requireAssignmentFilter as __require
33
+ };
34
+ //# sourceMappingURL=assignment-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignment-filter.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InMemoryAssignmentFilter = void 0;\nconst cache_1 = require(\"../util/cache\");\nconst assignment_service_1 = require(\"./assignment-service\");\nclass InMemoryAssignmentFilter {\n constructor(size, ttlMillis = assignment_service_1.DAY_MILLIS) {\n this.cache = new cache_1.Cache(size, ttlMillis);\n }\n shouldTrack(assignment) {\n if (Object.keys(assignment.results).length === 0) {\n // Don't track empty assignments.\n return false;\n }\n const canonicalAssignment = assignment.canonicalize();\n const track = this.cache.get(canonicalAssignment) == undefined;\n if (track) {\n this.cache.put(canonicalAssignment, 0);\n }\n return track;\n }\n}\nexports.InMemoryAssignmentFilter = InMemoryAssignmentFilter;\n"],"names":["require$$0","require$$1"],"mappings":";;;;;;;AACA,SAAO,eAAe,kBAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,mBAAA,2BAAmC;AACnC,QAAM,UAAUA,aAAA;AAChB,QAAM,uBAAuBC,yBAAA;AAAA,EAC7B,MAAM,yBAAyB;AAAA,IAC3B,YAAY,MAAM,YAAY,qBAAqB,YAAY;AAC3D,WAAK,QAAQ,IAAI,QAAQ,MAAM,MAAM,SAAS;AAAA,IACtD;AAAA,IACI,YAAY,YAAY;AACpB,UAAI,OAAO,KAAK,WAAW,OAAO,EAAE,WAAW,GAAG;AAE9C,eAAO;AAAA,MACnB;AACQ,YAAM,sBAAsB,WAAW,aAAY;AACnD,YAAM,QAAQ,KAAK,MAAM,IAAI,mBAAmB,KAAK;AACrD,UAAI,OAAO;AACP,aAAK,MAAM,IAAI,qBAAqB,CAAC;AAAA,MACjD;AACQ,aAAO;AAAA,IACf;AAAA,EACA;AACA,mBAAA,2BAAmC;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,98 @@
1
+ import { __exports as assignmentService } from "../../../../../../_virtual/assignment-service.js";
2
+ import { __require as requireHash } from "../util/hash.js";
3
+ var hasRequiredAssignmentService;
4
+ function requireAssignmentService() {
5
+ if (hasRequiredAssignmentService) return assignmentService;
6
+ hasRequiredAssignmentService = 1;
7
+ (function(exports$1) {
8
+ var __awaiter = assignmentService && assignmentService.__awaiter || function(thisArg, _arguments, P, generator) {
9
+ function adopt(value) {
10
+ return value instanceof P ? value : new P(function(resolve) {
11
+ resolve(value);
12
+ });
13
+ }
14
+ return new (P || (P = Promise))(function(resolve, reject) {
15
+ function fulfilled(value) {
16
+ try {
17
+ step(generator.next(value));
18
+ } catch (e) {
19
+ reject(e);
20
+ }
21
+ }
22
+ function rejected(value) {
23
+ try {
24
+ step(generator["throw"](value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ }
29
+ function step(result) {
30
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
31
+ }
32
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33
+ });
34
+ };
35
+ Object.defineProperty(exports$1, "__esModule", { value: true });
36
+ exports$1.toEvent = exports$1.AmplitudeAssignmentService = exports$1.FLAG_TYPE_MUTUAL_EXCLUSION_GROUP = exports$1.DAY_MILLIS = void 0;
37
+ const hash_1 = requireHash();
38
+ exports$1.DAY_MILLIS = 24 * 60 * 60 * 1e3;
39
+ exports$1.FLAG_TYPE_MUTUAL_EXCLUSION_GROUP = "mutual-exclusion-group";
40
+ class AmplitudeAssignmentService {
41
+ constructor(amplitude, assignmentFilter) {
42
+ this.amplitude = amplitude;
43
+ this.assignmentFilter = assignmentFilter;
44
+ }
45
+ track(assignment) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ if (this.assignmentFilter.shouldTrack(assignment)) {
48
+ this.amplitude.logEvent((0, exports$1.toEvent)(assignment));
49
+ }
50
+ });
51
+ }
52
+ }
53
+ exports$1.AmplitudeAssignmentService = AmplitudeAssignmentService;
54
+ const toEvent = (assignment) => {
55
+ var _a, _b, _c, _d;
56
+ const event = {
57
+ event_type: "[Experiment] Assignment",
58
+ user_id: assignment.user.user_id,
59
+ device_id: assignment.user.device_id,
60
+ event_properties: {},
61
+ user_properties: {}
62
+ };
63
+ const set = {};
64
+ const unset = {};
65
+ for (const flagKey in assignment.results) {
66
+ const variant = assignment.results[flagKey];
67
+ if (!variant.key) {
68
+ continue;
69
+ }
70
+ const version = (_a = variant.metadata) === null || _a === void 0 ? void 0 : _a.flagVersion;
71
+ const segmentName = (_b = variant.metadata) === null || _b === void 0 ? void 0 : _b.segmentName;
72
+ const flagType = (_c = variant.metadata) === null || _c === void 0 ? void 0 : _c.flagType;
73
+ const isDefault = (_d = variant.metadata) === null || _d === void 0 ? void 0 : _d.default;
74
+ event.event_properties[`${flagKey}.variant`] = variant.key;
75
+ if (version && segmentName) {
76
+ event.event_properties[`${flagKey}.details`] = `v${version} rule:${segmentName}`;
77
+ }
78
+ if (flagType != exports$1.FLAG_TYPE_MUTUAL_EXCLUSION_GROUP) {
79
+ if (isDefault) {
80
+ unset[`[Experiment] ${flagKey}`] = "-";
81
+ } else {
82
+ set[`[Experiment] ${flagKey}`] = variant.key;
83
+ }
84
+ }
85
+ }
86
+ event.user_properties["$set"] = set;
87
+ event.user_properties["$unset"] = unset;
88
+ event.insert_id = `${event.user_id} ${event.device_id} ${(0, hash_1.hashCode)(assignment.canonicalize())} ${Math.floor(assignment.timestamp / exports$1.DAY_MILLIS)}`;
89
+ return event;
90
+ };
91
+ exports$1.toEvent = toEvent;
92
+ })(assignmentService);
93
+ return assignmentService;
94
+ }
95
+ export {
96
+ requireAssignmentService as __require
97
+ };
98
+ //# sourceMappingURL=assignment-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignment-service.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js"],"sourcesContent":["\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toEvent = exports.AmplitudeAssignmentService = exports.FLAG_TYPE_MUTUAL_EXCLUSION_GROUP = exports.DAY_MILLIS = void 0;\nconst hash_1 = require(\"../util/hash\");\nexports.DAY_MILLIS = 24 * 60 * 60 * 1000;\nexports.FLAG_TYPE_MUTUAL_EXCLUSION_GROUP = 'mutual-exclusion-group';\nclass AmplitudeAssignmentService {\n constructor(amplitude, assignmentFilter) {\n this.amplitude = amplitude;\n this.assignmentFilter = assignmentFilter;\n }\n track(assignment) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.assignmentFilter.shouldTrack(assignment)) {\n this.amplitude.logEvent((0, exports.toEvent)(assignment));\n }\n });\n }\n}\nexports.AmplitudeAssignmentService = AmplitudeAssignmentService;\nconst toEvent = (assignment) => {\n var _a, _b, _c, _d;\n const event = {\n event_type: '[Experiment] Assignment',\n user_id: assignment.user.user_id,\n device_id: assignment.user.device_id,\n event_properties: {},\n user_properties: {},\n };\n const set = {};\n const unset = {};\n for (const flagKey in assignment.results) {\n const variant = assignment.results[flagKey];\n if (!variant.key) {\n continue;\n }\n const version = (_a = variant.metadata) === null || _a === void 0 ? void 0 : _a.flagVersion;\n const segmentName = (_b = variant.metadata) === null || _b === void 0 ? void 0 : _b.segmentName;\n const flagType = (_c = variant.metadata) === null || _c === void 0 ? void 0 : _c.flagType;\n const isDefault = (_d = variant.metadata) === null || _d === void 0 ? void 0 : _d.default;\n event.event_properties[`${flagKey}.variant`] = variant.key;\n if (version && segmentName) {\n event.event_properties[`${flagKey}.details`] = `v${version} rule:${segmentName}`;\n }\n if (flagType != exports.FLAG_TYPE_MUTUAL_EXCLUSION_GROUP) {\n if (isDefault) {\n unset[`[Experiment] ${flagKey}`] = '-';\n }\n else {\n set[`[Experiment] ${flagKey}`] = variant.key;\n }\n }\n }\n event.user_properties['$set'] = set;\n event.user_properties['$unset'] = unset;\n event.insert_id = `${event.user_id} ${event.device_id} ${(0, hash_1.hashCode)(assignment.canonicalize())} ${Math.floor(assignment.timestamp / exports.DAY_MILLIS)}`;\n return event;\n};\nexports.toEvent = toEvent;\n"],"names":["this","exports","require$$0"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,32 @@
1
+ import { __exports as assignment } from "../../../../../../_virtual/assignment.js";
2
+ var hasRequiredAssignment;
3
+ function requireAssignment() {
4
+ if (hasRequiredAssignment) return assignment;
5
+ hasRequiredAssignment = 1;
6
+ Object.defineProperty(assignment, "__esModule", { value: true });
7
+ assignment.Assignment = void 0;
8
+ class Assignment {
9
+ constructor(user, results) {
10
+ this.timestamp = Date.now();
11
+ this.user = user;
12
+ this.results = results;
13
+ }
14
+ canonicalize() {
15
+ var _a, _b, _c;
16
+ let canonical = `${(_a = this.user.user_id) === null || _a === void 0 ? void 0 : _a.trim()} ${(_b = this.user.device_id) === null || _b === void 0 ? void 0 : _b.trim()} `;
17
+ for (const key of Object.keys(this.results).sort()) {
18
+ const variant = this.results[key];
19
+ if (variant === null || variant === void 0 ? void 0 : variant.key) {
20
+ canonical += key.trim() + " " + ((_c = variant === null || variant === void 0 ? void 0 : variant.key) === null || _c === void 0 ? void 0 : _c.trim()) + " ";
21
+ }
22
+ }
23
+ return canonical;
24
+ }
25
+ }
26
+ assignment.Assignment = Assignment;
27
+ return assignment;
28
+ }
29
+ export {
30
+ requireAssignment as __require
31
+ };
32
+ //# sourceMappingURL=assignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignment.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Assignment = void 0;\nclass Assignment {\n constructor(user, results) {\n this.timestamp = Date.now();\n this.user = user;\n this.results = results;\n }\n canonicalize() {\n var _a, _b, _c;\n let canonical = `${(_a = this.user.user_id) === null || _a === void 0 ? void 0 : _a.trim()} ${(_b = this.user.device_id) === null || _b === void 0 ? void 0 : _b.trim()} `;\n for (const key of Object.keys(this.results).sort()) {\n const variant = this.results[key];\n if (variant === null || variant === void 0 ? void 0 : variant.key) {\n canonical += key.trim() + ' ' + ((_c = variant === null || variant === void 0 ? void 0 : variant.key) === null || _c === void 0 ? void 0 : _c.trim()) + ' ';\n }\n }\n return canonical;\n }\n}\nexports.Assignment = Assignment;\n"],"names":[],"mappings":";;;;;AACA,SAAO,eAAe,YAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,aAAA,aAAqB;AAAA,EACrB,MAAM,WAAW;AAAA,IACb,YAAY,MAAM,SAAS;AACvB,WAAK,YAAY,KAAK,IAAG;AACzB,WAAK,OAAO;AACZ,WAAK,UAAU;AAAA,IACvB;AAAA,IACI,eAAe;AACX,UAAI,IAAI,IAAI;AACZ,UAAI,YAAY,IAAI,KAAK,KAAK,KAAK,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAI,CAAE,KAAK,KAAK,KAAK,KAAK,eAAe,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAI,CAAE;AACvK,iBAAW,OAAO,OAAO,KAAK,KAAK,OAAO,EAAE,QAAQ;AAChD,cAAM,UAAU,KAAK,QAAQ,GAAG;AAChC,YAAI,YAAY,QAAQ,YAAY,SAAS,SAAS,QAAQ,KAAK;AAC/D,uBAAa,IAAI,KAAI,IAAK,QAAQ,KAAK,YAAY,QAAQ,YAAY,SAAS,SAAS,QAAQ,SAAS,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAI,KAAM;AAAA,QACxK;AAAA,MACA;AACQ,aAAO;AAAA,IACf;AAAA,EACA;AACA,aAAA,aAAqB;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,90 @@
1
+ import { __exports as cookie } from "../../../../../_virtual/cookie.js";
2
+ import { __require as requireLogger } from "./util/logger.js";
3
+ var hasRequiredCookie;
4
+ function requireCookie() {
5
+ if (hasRequiredCookie) return cookie;
6
+ hasRequiredCookie = 1;
7
+ Object.defineProperty(cookie, "__esModule", { value: true });
8
+ cookie.AmplitudeCookie = void 0;
9
+ const logger_1 = requireLogger();
10
+ class AmplitudeCookie {
11
+ /**
12
+ * @param amplitudeApiKey The Amplitude API Key
13
+ * @param newFormat True if the cookie is in the Browser SDK 2.0 format
14
+ * @returns The cookie name that Amplitude sets for the provided
15
+ * Amplitude API Key
16
+ */
17
+ static cookieName(amplitudeApiKey, newFormat = false) {
18
+ if (newFormat) {
19
+ if ((amplitudeApiKey === null || amplitudeApiKey === void 0 ? void 0 : amplitudeApiKey.length) < 10) {
20
+ throw Error("Invalid Amplitude API Key");
21
+ } else {
22
+ return "AMP_" + amplitudeApiKey.substring(0, 10);
23
+ }
24
+ }
25
+ if ((amplitudeApiKey === null || amplitudeApiKey === void 0 ? void 0 : amplitudeApiKey.length) < 6) {
26
+ throw Error("Invalid Amplitude API Key");
27
+ }
28
+ return "amp_" + amplitudeApiKey.substring(0, 6);
29
+ }
30
+ /**
31
+ * @param amplitudeCookie A string from the amplitude cookie
32
+ * @param newFormat True if the cookie is in the Browser SDK 2.0 format
33
+ * @returns a ExperimentUser context containing a device_id and user_id
34
+ * (if available)
35
+ */
36
+ static parse(amplitudeCookie, newFormat = false) {
37
+ if (newFormat) {
38
+ const decoding = Buffer.from(amplitudeCookie, "base64").toString("utf-8");
39
+ try {
40
+ const userSession = JSON.parse(decodeURIComponent(decoding));
41
+ return {
42
+ device_id: userSession.deviceId,
43
+ user_id: userSession.userId
44
+ };
45
+ } catch (e) {
46
+ const logger = new logger_1.ConsoleLogger();
47
+ logger.error(`Error parsing the Amplitude cookie: ${e.message}`);
48
+ return {};
49
+ }
50
+ }
51
+ const values = amplitudeCookie.split(".");
52
+ let user_id = void 0;
53
+ if (values[1]) {
54
+ try {
55
+ user_id = Buffer.from(values[1], "base64").toString("utf-8");
56
+ } catch (e) {
57
+ user_id = void 0;
58
+ }
59
+ }
60
+ return {
61
+ device_id: values[0],
62
+ user_id
63
+ };
64
+ }
65
+ /**
66
+ * Generates a cookie string to set for the Amplitude Javascript SDK
67
+ * @param deviceId A device id to set
68
+ * @param newFormat True if the cookie is in the Browser SDK 2.0 format
69
+ * @returns A cookie string to set for the Amplitude Javascript SDK to read
70
+ */
71
+ static generate(deviceId, newFormat = false) {
72
+ if (!newFormat) {
73
+ return deviceId + "..........";
74
+ }
75
+ const userSessionHash = {
76
+ deviceId
77
+ };
78
+ const json_data = JSON.stringify(userSessionHash);
79
+ const encoded_json = encodeURIComponent(json_data);
80
+ const base64Encoded = Buffer.from(encoded_json).toString("base64");
81
+ return base64Encoded;
82
+ }
83
+ }
84
+ cookie.AmplitudeCookie = AmplitudeCookie;
85
+ return cookie;
86
+ }
87
+ export {
88
+ requireCookie as __require
89
+ };
90
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sources":["../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/cookie.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AmplitudeCookie = void 0;\nconst logger_1 = require(\"./util/logger\");\n/**\n * This class provides utility functions for parsing and handling identity\n * from Amplitude cookies.\n */\nclass AmplitudeCookie {\n /**\n * @param amplitudeApiKey The Amplitude API Key\n * @param newFormat True if the cookie is in the Browser SDK 2.0 format\n * @returns The cookie name that Amplitude sets for the provided\n * Amplitude API Key\n */\n static cookieName(amplitudeApiKey, newFormat = false) {\n if (newFormat) {\n if ((amplitudeApiKey === null || amplitudeApiKey === void 0 ? void 0 : amplitudeApiKey.length) < 10) {\n throw Error('Invalid Amplitude API Key');\n }\n else {\n return 'AMP_' + amplitudeApiKey.substring(0, 10);\n }\n }\n if ((amplitudeApiKey === null || amplitudeApiKey === void 0 ? void 0 : amplitudeApiKey.length) < 6) {\n throw Error('Invalid Amplitude API Key');\n }\n return 'amp_' + amplitudeApiKey.substring(0, 6);\n }\n /**\n * @param amplitudeCookie A string from the amplitude cookie\n * @param newFormat True if the cookie is in the Browser SDK 2.0 format\n * @returns a ExperimentUser context containing a device_id and user_id\n * (if available)\n */\n static parse(amplitudeCookie, newFormat = false) {\n if (newFormat) {\n const decoding = Buffer.from(amplitudeCookie, 'base64').toString('utf-8');\n try {\n const userSession = JSON.parse(decodeURIComponent(decoding));\n return {\n device_id: userSession.deviceId,\n user_id: userSession.userId,\n };\n }\n catch (e) {\n const logger = new logger_1.ConsoleLogger();\n logger.error(`Error parsing the Amplitude cookie: ${e.message}`);\n return {};\n }\n }\n const values = amplitudeCookie.split('.');\n let user_id = undefined;\n if (values[1]) {\n try {\n user_id = Buffer.from(values[1], 'base64').toString('utf-8');\n }\n catch (e) {\n user_id = undefined;\n }\n }\n return {\n device_id: values[0],\n user_id,\n };\n }\n /**\n * Generates a cookie string to set for the Amplitude Javascript SDK\n * @param deviceId A device id to set\n * @param newFormat True if the cookie is in the Browser SDK 2.0 format\n * @returns A cookie string to set for the Amplitude Javascript SDK to read\n */\n static generate(deviceId, newFormat = false) {\n if (!newFormat) {\n return deviceId + '..........';\n }\n const userSessionHash = {\n deviceId: deviceId,\n };\n const json_data = JSON.stringify(userSessionHash);\n const encoded_json = encodeURIComponent(json_data);\n const base64Encoded = Buffer.from(encoded_json).toString('base64');\n return base64Encoded;\n }\n}\nexports.AmplitudeCookie = AmplitudeCookie;\n"],"names":["require$$0"],"mappings":";;;;;;AACA,SAAO,eAAe,QAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,SAAA,kBAA0B;AAC1B,QAAM,WAAWA,cAAA;AAAA,EAKjB,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOlB,OAAO,WAAW,iBAAiB,YAAY,OAAO;AAClD,UAAI,WAAW;AACX,aAAK,oBAAoB,QAAQ,oBAAoB,SAAS,SAAS,gBAAgB,UAAU,IAAI;AACjG,gBAAM,MAAM,2BAA2B;AAAA,QACvD,OACiB;AACD,iBAAO,SAAS,gBAAgB,UAAU,GAAG,EAAE;AAAA,QAC/D;AAAA,MACA;AACQ,WAAK,oBAAoB,QAAQ,oBAAoB,SAAS,SAAS,gBAAgB,UAAU,GAAG;AAChG,cAAM,MAAM,2BAA2B;AAAA,MACnD;AACQ,aAAO,SAAS,gBAAgB,UAAU,GAAG,CAAC;AAAA,IACtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOI,OAAO,MAAM,iBAAiB,YAAY,OAAO;AAC7C,UAAI,WAAW;AACX,cAAM,WAAW,OAAO,KAAK,iBAAiB,QAAQ,EAAE,SAAS,OAAO;AACxE,YAAI;AACA,gBAAM,cAAc,KAAK,MAAM,mBAAmB,QAAQ,CAAC;AAC3D,iBAAO;AAAA,YACH,WAAW,YAAY;AAAA,YACvB,SAAS,YAAY;AAAA;QAEzC,SACmB,GAAG;AACN,gBAAM,SAAS,IAAI,SAAS,cAAa;AACzC,iBAAO,MAAM,uCAAuC,EAAE,OAAO,EAAE;AAC/D,iBAAO,CAAA;AAAA,QACvB;AAAA,MACA;AACQ,YAAM,SAAS,gBAAgB,MAAM,GAAG;AACxC,UAAI,UAAU;AACd,UAAI,OAAO,CAAC,GAAG;AACX,YAAI;AACA,oBAAU,OAAO,KAAK,OAAO,CAAC,GAAG,QAAQ,EAAE,SAAS,OAAO;AAAA,QAC3E,SACmB,GAAG;AACN,oBAAU;AAAA,QAC1B;AAAA,MACA;AACQ,aAAO;AAAA,QACH,WAAW,OAAO,CAAC;AAAA,QACnB;AAAA;IAEZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOI,OAAO,SAAS,UAAU,YAAY,OAAO;AACzC,UAAI,CAAC,WAAW;AACZ,eAAO,WAAW;AAAA,MAC9B;AACQ,YAAM,kBAAkB;AAAA,QACpB;AAAA;AAEJ,YAAM,YAAY,KAAK,UAAU,eAAe;AAChD,YAAM,eAAe,mBAAmB,SAAS;AACjD,YAAM,gBAAgB,OAAO,KAAK,YAAY,EAAE,SAAS,QAAQ;AACjE,aAAO;AAAA,IACf;AAAA,EACA;AACA,SAAA,kBAA0B;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,46 @@
1
+ import { __exports as factory } from "../../../../../_virtual/factory.js";
2
+ import { __require as requireCache } from "./local/cache.js";
3
+ import { __require as requireClient } from "./local/client.js";
4
+ import { __require as requireClient$1 } from "./remote/client.js";
5
+ var hasRequiredFactory;
6
+ function requireFactory() {
7
+ if (hasRequiredFactory) return factory;
8
+ hasRequiredFactory = 1;
9
+ Object.defineProperty(factory, "__esModule", { value: true });
10
+ factory.Experiment = void 0;
11
+ const cache_1 = requireCache();
12
+ const client_1 = requireClient();
13
+ const client_2 = requireClient$1();
14
+ const remoteEvaluationInstances = {};
15
+ const localEvaluationInstances = {};
16
+ const initialize = (apiKey, config) => {
17
+ return initializeRemote(apiKey, config);
18
+ };
19
+ const initializeRemote = (apiKey, config) => {
20
+ const instanceKey = getInstanceKey(apiKey, config === null || config === void 0 ? void 0 : config.instanceName);
21
+ if (!remoteEvaluationInstances[instanceKey]) {
22
+ remoteEvaluationInstances[instanceKey] = new client_2.RemoteEvaluationClient(apiKey, config);
23
+ }
24
+ return remoteEvaluationInstances[instanceKey];
25
+ };
26
+ const initializeLocal = (apiKey, config) => {
27
+ const instanceKey = getInstanceKey(apiKey, config === null || config === void 0 ? void 0 : config.instanceName);
28
+ if (!localEvaluationInstances[instanceKey]) {
29
+ localEvaluationInstances[instanceKey] = new client_1.LocalEvaluationClient(apiKey, config, new cache_1.InMemoryFlagConfigCache());
30
+ }
31
+ return localEvaluationInstances[instanceKey];
32
+ };
33
+ const getInstanceKey = (apiKey, instanceName) => {
34
+ return `${apiKey}-${instanceName}`;
35
+ };
36
+ factory.Experiment = {
37
+ initialize,
38
+ initializeRemote,
39
+ initializeLocal
40
+ };
41
+ return factory;
42
+ }
43
+ export {
44
+ requireFactory as __require
45
+ };
46
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sources":["../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/factory.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Experiment = void 0;\nconst cache_1 = require(\"./local/cache\");\nconst client_1 = require(\"./local/client\");\nconst client_2 = require(\"./remote/client\");\nconst remoteEvaluationInstances = {};\nconst localEvaluationInstances = {};\n/**\n * Initializes a singleton {@link ExperimentClient} for remote evaluation.\n *\n * @param apiKey The environment API Key\n * @param config See {@link ExperimentConfig} for config options\n * @deprecated use initializeRemote\n */\nconst initialize = (apiKey, config) => {\n return initializeRemote(apiKey, config);\n};\n/**\n * Initializes a remote evaluation client.\n *\n * @param apiKey The environment API Key\n * @param config See {@link ExperimentConfig} for config options\n */\nconst initializeRemote = (apiKey, config) => {\n const instanceKey = getInstanceKey(apiKey, config === null || config === void 0 ? void 0 : config.instanceName);\n if (!remoteEvaluationInstances[instanceKey]) {\n remoteEvaluationInstances[instanceKey] = new client_2.RemoteEvaluationClient(apiKey, config);\n }\n return remoteEvaluationInstances[instanceKey];\n};\n/**\n * Initialize a local evaluation client.\n *\n * A local evaluation client can evaluate local flags or experiments for a user\n * without requiring a remote call to the amplitude evaluation server. In order\n * to best leverage local evaluation, all flags and experiments being evaluated\n * server side should be configured as local.\n *\n * @param apiKey The environment API Key\n * @param config See {@link ExperimentConfig} for config options\n * @returns The local evaluation client.\n */\nconst initializeLocal = (apiKey, config) => {\n const instanceKey = getInstanceKey(apiKey, config === null || config === void 0 ? void 0 : config.instanceName);\n if (!localEvaluationInstances[instanceKey]) {\n localEvaluationInstances[instanceKey] = new client_1.LocalEvaluationClient(apiKey, config, new cache_1.InMemoryFlagConfigCache());\n }\n return localEvaluationInstances[instanceKey];\n};\nconst getInstanceKey = (apiKey, instanceName) => {\n return `${apiKey}-${instanceName}`;\n};\n/**\n * Provides factory methods for storing singleton instances of\n * {@link ExperimentClient}.\n *\n * @category Core Usage\n */\nexports.Experiment = {\n initialize,\n initializeRemote,\n initializeLocal,\n};\n"],"names":["require$$0","require$$1","require$$2"],"mappings":";;;;;;;;AACA,SAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,UAAA,aAAqB;AACrB,QAAM,UAAUA,aAAA;AAChB,QAAM,WAAWC,cAAA;AACjB,QAAM,WAAWC,gBAAA;AACjB,QAAM,4BAA4B,CAAA;AAClC,QAAM,2BAA2B,CAAA;AAQjC,QAAM,aAAa,CAAC,QAAQ,WAAW;AACnC,WAAO,iBAAiB,QAAQ,MAAM;AAAA,EAC1C;AAOA,QAAM,mBAAmB,CAAC,QAAQ,WAAW;AACzC,UAAM,cAAc,eAAe,QAAQ,WAAW,QAAQ,WAAW,SAAS,SAAS,OAAO,YAAY;AAC9G,QAAI,CAAC,0BAA0B,WAAW,GAAG;AACzC,gCAA0B,WAAW,IAAI,IAAI,SAAS,uBAAuB,QAAQ,MAAM;AAAA,IACnG;AACI,WAAO,0BAA0B,WAAW;AAAA,EAChD;AAaA,QAAM,kBAAkB,CAAC,QAAQ,WAAW;AACxC,UAAM,cAAc,eAAe,QAAQ,WAAW,QAAQ,WAAW,SAAS,SAAS,OAAO,YAAY;AAC9G,QAAI,CAAC,yBAAyB,WAAW,GAAG;AACxC,+BAAyB,WAAW,IAAI,IAAI,SAAS,sBAAsB,QAAQ,QAAQ,IAAI,QAAQ,yBAAyB;AAAA,IACxI;AACI,WAAO,yBAAyB,WAAW;AAAA,EAC/C;AACA,QAAM,iBAAiB,CAAC,QAAQ,iBAAiB;AAC7C,WAAO,GAAG,MAAM,IAAI,YAAY;AAAA,EACpC;AAOA,UAAA,aAAqB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA;;;","x_google_ignoreList":[0]}