@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,114 @@
1
+ import { __exports as fetcher } from "../../../../../../../_virtual/fetcher2.js";
2
+ import { __require as requireVersion } from "../../../gen/version.js";
3
+ import { __require as requireHttp } from "../../transport/http.js";
4
+ import { __require as requireConfig } from "../../types/config.js";
5
+ import { __require as requireLoglevel } from "../../types/loglevel.js";
6
+ import { __require as requireLogger } from "../../util/logger.js";
7
+ import { __require as requireThreading } from "../../util/threading.js";
8
+ import { __require as requireTime } from "../../util/time.js";
9
+ import { __require as requireCohortApi } from "./cohort-api.js";
10
+ var hasRequiredFetcher;
11
+ function requireFetcher() {
12
+ if (hasRequiredFetcher) return fetcher;
13
+ hasRequiredFetcher = 1;
14
+ (function(exports$1) {
15
+ var __awaiter = fetcher && fetcher.__awaiter || function(thisArg, _arguments, P, generator) {
16
+ function adopt(value) {
17
+ return value instanceof P ? value : new P(function(resolve) {
18
+ resolve(value);
19
+ });
20
+ }
21
+ return new (P || (P = Promise))(function(resolve, reject) {
22
+ function fulfilled(value) {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ }
29
+ function rejected(value) {
30
+ try {
31
+ step(generator["throw"](value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ }
36
+ function step(result) {
37
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
38
+ }
39
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
40
+ });
41
+ };
42
+ Object.defineProperty(exports$1, "__esModule", { value: true });
43
+ exports$1.CohortFetcher = exports$1.COHORT_CONFIG_TIMEOUT = void 0;
44
+ const version_1 = requireVersion();
45
+ const http_1 = requireHttp();
46
+ const config_1 = requireConfig();
47
+ const loglevel_1 = requireLoglevel();
48
+ const logger_1 = requireLogger();
49
+ const threading_1 = requireThreading();
50
+ const time_1 = requireTime();
51
+ const cohort_api_1 = requireCohortApi();
52
+ exports$1.COHORT_CONFIG_TIMEOUT = 2e4;
53
+ const ATTEMPTS = 3;
54
+ class CohortFetcher {
55
+ constructor(apiKey, secretKey, httpClient, serverUrl = config_1.CohortSyncConfigDefaults.cohortServerUrl, maxCohortSize = config_1.CohortSyncConfigDefaults.maxCohortSize, cohortRequestDelayMillis = 100, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {
56
+ this.inProgressCohorts = {};
57
+ this.mutex = new threading_1.Mutex();
58
+ this.executor = new threading_1.Executor(4);
59
+ this.cohortApi = new cohort_api_1.SdkCohortApi(Buffer.from(apiKey + ":" + secretKey).toString("base64"), serverUrl, new http_1.WrapperClient(httpClient));
60
+ this.maxCohortSize = maxCohortSize;
61
+ this.cohortRequestDelayMillis = cohortRequestDelayMillis;
62
+ this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);
63
+ }
64
+ static getKey(cohortId, lastModified) {
65
+ return `${cohortId}_${lastModified ? lastModified : ""}`;
66
+ }
67
+ fetch(cohortId, lastModified) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const unlock = yield this.mutex.lock();
70
+ const key = CohortFetcher.getKey(cohortId, lastModified);
71
+ if (!this.inProgressCohorts[key]) {
72
+ this.inProgressCohorts[key] = this.executor.run(() => __awaiter(this, void 0, void 0, function* () {
73
+ this.logger.debug("Start downloading", cohortId);
74
+ for (let i = 0; i < ATTEMPTS; i++) {
75
+ try {
76
+ const cohort = yield this.cohortApi.getCohort({
77
+ libraryName: "experiment-node-server",
78
+ libraryVersion: version_1.version,
79
+ cohortId,
80
+ maxCohortSize: this.maxCohortSize,
81
+ lastModified,
82
+ timeoutMillis: exports$1.COHORT_CONFIG_TIMEOUT
83
+ });
84
+ const unlock2 = yield this.mutex.lock();
85
+ delete this.inProgressCohorts[key];
86
+ unlock2();
87
+ this.logger.debug("Stop downloading", cohortId);
88
+ return cohort;
89
+ } catch (e) {
90
+ if (i === ATTEMPTS - 1 || e instanceof cohort_api_1.CohortMaxSizeExceededError || e instanceof cohort_api_1.CohortClientRequestError) {
91
+ const unlock2 = yield this.mutex.lock();
92
+ delete this.inProgressCohorts[key];
93
+ unlock2();
94
+ throw e;
95
+ }
96
+ yield (0, time_1.sleep)(this.cohortRequestDelayMillis);
97
+ }
98
+ }
99
+ }));
100
+ }
101
+ const cohortPromise = this.inProgressCohorts[key];
102
+ unlock();
103
+ return cohortPromise;
104
+ });
105
+ }
106
+ }
107
+ exports$1.CohortFetcher = CohortFetcher;
108
+ })(fetcher);
109
+ return fetcher;
110
+ }
111
+ export {
112
+ requireFetcher as __require
113
+ };
114
+ //# sourceMappingURL=fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.js","sources":["../../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/fetcher.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.CohortFetcher = exports.COHORT_CONFIG_TIMEOUT = void 0;\nconst version_1 = require(\"../../../gen/version\");\nconst http_1 = require(\"../../transport/http\");\nconst config_1 = require(\"../../types/config\");\nconst loglevel_1 = require(\"../../types/loglevel\");\nconst logger_1 = require(\"../../util/logger\");\nconst threading_1 = require(\"../../util/threading\");\nconst time_1 = require(\"../../util/time\");\nconst cohort_api_1 = require(\"./cohort-api\");\nexports.COHORT_CONFIG_TIMEOUT = 20000;\nconst ATTEMPTS = 3;\nclass CohortFetcher {\n constructor(apiKey, secretKey, httpClient, serverUrl = config_1.CohortSyncConfigDefaults.cohortServerUrl, maxCohortSize = config_1.CohortSyncConfigDefaults.maxCohortSize, cohortRequestDelayMillis = 100, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {\n this.inProgressCohorts = {};\n this.mutex = new threading_1.Mutex();\n this.executor = new threading_1.Executor(4);\n this.cohortApi = new cohort_api_1.SdkCohortApi(Buffer.from(apiKey + ':' + secretKey).toString('base64'), serverUrl, new http_1.WrapperClient(httpClient));\n this.maxCohortSize = maxCohortSize;\n this.cohortRequestDelayMillis = cohortRequestDelayMillis;\n this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);\n }\n static getKey(cohortId, lastModified) {\n return `${cohortId}_${lastModified ? lastModified : ''}`;\n }\n fetch(cohortId, lastModified) {\n return __awaiter(this, void 0, void 0, function* () {\n // This block may have async and awaits. No guarantee that executions are not interleaved.\n const unlock = yield this.mutex.lock();\n const key = CohortFetcher.getKey(cohortId, lastModified);\n if (!this.inProgressCohorts[key]) {\n this.inProgressCohorts[key] = this.executor.run(() => __awaiter(this, void 0, void 0, function* () {\n this.logger.debug('Start downloading', cohortId);\n for (let i = 0; i < ATTEMPTS; i++) {\n try {\n const cohort = yield this.cohortApi.getCohort({\n libraryName: 'experiment-node-server',\n libraryVersion: version_1.version,\n cohortId: cohortId,\n maxCohortSize: this.maxCohortSize,\n lastModified: lastModified,\n timeoutMillis: exports.COHORT_CONFIG_TIMEOUT,\n });\n // Do unlock before return.\n const unlock = yield this.mutex.lock();\n delete this.inProgressCohorts[key];\n unlock();\n this.logger.debug('Stop downloading', cohortId);\n return cohort;\n }\n catch (e) {\n if (i === ATTEMPTS - 1 ||\n e instanceof cohort_api_1.CohortMaxSizeExceededError ||\n e instanceof cohort_api_1.CohortClientRequestError) {\n const unlock = yield this.mutex.lock();\n delete this.inProgressCohorts[key];\n unlock();\n throw e;\n }\n yield (0, time_1.sleep)(this.cohortRequestDelayMillis);\n }\n }\n }));\n }\n const cohortPromise = this.inProgressCohorts[key];\n unlock();\n return cohortPromise;\n });\n }\n}\nexports.CohortFetcher = CohortFetcher;\n"],"names":["this","exports","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","unlock"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,115 @@
1
+ import { __exports as poller } from "../../../../../../../_virtual/poller2.js";
2
+ import { __require as requireLoglevel } from "../../types/loglevel.js";
3
+ import { __require as requireCohort } from "../../util/cohort.js";
4
+ import { __require as requireLogger } from "../../util/logger.js";
5
+ var hasRequiredPoller;
6
+ function requirePoller() {
7
+ if (hasRequiredPoller) return poller;
8
+ hasRequiredPoller = 1;
9
+ var __awaiter = poller && poller.__awaiter || function(thisArg, _arguments, P, generator) {
10
+ function adopt(value) {
11
+ return value instanceof P ? value : new P(function(resolve) {
12
+ resolve(value);
13
+ });
14
+ }
15
+ return new (P || (P = Promise))(function(resolve, reject) {
16
+ function fulfilled(value) {
17
+ try {
18
+ step(generator.next(value));
19
+ } catch (e) {
20
+ reject(e);
21
+ }
22
+ }
23
+ function rejected(value) {
24
+ try {
25
+ step(generator["throw"](value));
26
+ } catch (e) {
27
+ reject(e);
28
+ }
29
+ }
30
+ function step(result) {
31
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
32
+ }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ Object.defineProperty(poller, "__esModule", { value: true });
37
+ poller.CohortPoller = void 0;
38
+ const loglevel_1 = requireLoglevel();
39
+ const cohort_1 = requireCohort();
40
+ const logger_1 = requireLogger();
41
+ class CohortPoller {
42
+ constructor(fetcher, storage, flagCache, pollingIntervalMillis = 6e4, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {
43
+ this.fetcher = fetcher;
44
+ this.storage = storage;
45
+ this.flagCache = flagCache;
46
+ this.pollingIntervalMillis = pollingIntervalMillis;
47
+ this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);
48
+ }
49
+ /**
50
+ * You must call this function to begin polling for cohort updates.
51
+ *
52
+ * Calling this function while the poller is already running does nothing.
53
+ */
54
+ start(onChange) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ if (!this.poller) {
57
+ this.logger.debug("[Experiment] cohort poller - start");
58
+ this.poller = setInterval(() => __awaiter(this, void 0, void 0, function* () {
59
+ try {
60
+ yield this.update(onChange);
61
+ } catch (e) {
62
+ this.logger.debug("[Experiment] cohort update failed", e);
63
+ }
64
+ }), this.pollingIntervalMillis);
65
+ }
66
+ });
67
+ }
68
+ /**
69
+ * Stop polling for cohorts.
70
+ *
71
+ * Calling this function while the poller is not running will do nothing.
72
+ */
73
+ stop() {
74
+ if (this.poller) {
75
+ this.logger.debug("[Experiment] cohort poller - stop");
76
+ clearTimeout(this.poller);
77
+ this.poller = void 0;
78
+ }
79
+ }
80
+ update(onChange) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ let changed = false;
83
+ const promises = [];
84
+ const cohortIds = cohort_1.CohortUtils.extractCohortIds(yield this.flagCache.getAll());
85
+ for (const cohortId of cohortIds) {
86
+ this.logger.debug(`[Experiment] updating cohort ${cohortId}`);
87
+ const existingCohort = this.storage.getCohort(cohortId);
88
+ let lastModified = void 0;
89
+ if (existingCohort) {
90
+ lastModified = existingCohort.lastModified;
91
+ }
92
+ promises.push(this.fetcher.fetch(cohortId, lastModified).then((cohort) => {
93
+ if (cohort) {
94
+ this.storage.put(cohort);
95
+ changed = true;
96
+ }
97
+ }).catch((err) => {
98
+ this.logger.error("[Experiment] cohort poll failed", err);
99
+ }));
100
+ }
101
+ yield Promise.all(promises);
102
+ this.logger.debug(`[Experiment] cohort polled, changed: ${changed}`);
103
+ if (onChange && changed) {
104
+ yield onChange(this.storage);
105
+ }
106
+ });
107
+ }
108
+ }
109
+ poller.CohortPoller = CohortPoller;
110
+ return poller;
111
+ }
112
+ export {
113
+ requirePoller as __require
114
+ };
115
+ //# sourceMappingURL=poller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller.js","sources":["../../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/poller.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.CohortPoller = void 0;\nconst loglevel_1 = require(\"../../types/loglevel\");\nconst cohort_1 = require(\"../../util/cohort\");\nconst logger_1 = require(\"../../util/logger\");\nclass CohortPoller {\n constructor(fetcher, storage, flagCache, pollingIntervalMillis = 60000, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {\n this.fetcher = fetcher;\n this.storage = storage;\n this.flagCache = flagCache;\n this.pollingIntervalMillis = pollingIntervalMillis;\n this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);\n }\n /**\n * You must call this function to begin polling for cohort updates.\n *\n * Calling this function while the poller is already running does nothing.\n */\n start(onChange) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.poller) {\n this.logger.debug('[Experiment] cohort poller - start');\n this.poller = setInterval(() => __awaiter(this, void 0, void 0, function* () {\n try {\n yield this.update(onChange);\n }\n catch (e) {\n this.logger.debug('[Experiment] cohort update failed', e);\n }\n }), this.pollingIntervalMillis);\n }\n });\n }\n /**\n * Stop polling for cohorts.\n *\n * Calling this function while the poller is not running will do nothing.\n */\n stop() {\n if (this.poller) {\n this.logger.debug('[Experiment] cohort poller - stop');\n clearTimeout(this.poller);\n this.poller = undefined;\n }\n }\n update(onChange) {\n return __awaiter(this, void 0, void 0, function* () {\n let changed = false;\n const promises = [];\n const cohortIds = cohort_1.CohortUtils.extractCohortIds(yield this.flagCache.getAll());\n for (const cohortId of cohortIds) {\n this.logger.debug(`[Experiment] updating cohort ${cohortId}`);\n // Get existing cohort and lastModified.\n const existingCohort = this.storage.getCohort(cohortId);\n let lastModified = undefined;\n if (existingCohort) {\n lastModified = existingCohort.lastModified;\n }\n promises.push(this.fetcher\n .fetch(cohortId, lastModified)\n .then((cohort) => {\n // Set.\n if (cohort) {\n this.storage.put(cohort);\n changed = true;\n }\n })\n .catch((err) => {\n this.logger.error('[Experiment] cohort poll failed', err);\n }));\n }\n yield Promise.all(promises);\n this.logger.debug(`[Experiment] cohort polled, changed: ${changed}`);\n if (onChange && changed) {\n yield onChange(this.storage);\n }\n });\n }\n}\nexports.CohortPoller = CohortPoller;\n"],"names":["this","require$$0","require$$1","require$$2"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,46 @@
1
+ import { __exports as storage } from "../../../../../../../_virtual/storage.js";
2
+ import { __require as requireCohort } from "../../types/cohort.js";
3
+ var hasRequiredStorage;
4
+ function requireStorage() {
5
+ if (hasRequiredStorage) return storage;
6
+ hasRequiredStorage = 1;
7
+ Object.defineProperty(storage, "__esModule", { value: true });
8
+ storage.InMemoryCohortStorage = void 0;
9
+ const cohort_1 = requireCohort();
10
+ class InMemoryCohortStorage {
11
+ constructor() {
12
+ this.store = {};
13
+ }
14
+ getAllCohortIds() {
15
+ return new Set(Object.keys(this.store));
16
+ }
17
+ getCohort(cohortId) {
18
+ return cohortId in this.store ? this.store[cohortId] : void 0;
19
+ }
20
+ getCohortsForUser(userId, cohortIds) {
21
+ return this.getCohortsForGroup(cohort_1.USER_GROUP_TYPE, userId, cohortIds);
22
+ }
23
+ getCohortsForGroup(groupType, groupName, cohortIds) {
24
+ var _a, _b;
25
+ const validCohortIds = /* @__PURE__ */ new Set();
26
+ for (const cohortId of cohortIds) {
27
+ if (((_a = this.store[cohortId]) === null || _a === void 0 ? void 0 : _a.groupType) == groupType && ((_b = this.store[cohortId]) === null || _b === void 0 ? void 0 : _b.memberIds.has(groupName))) {
28
+ validCohortIds.add(cohortId);
29
+ }
30
+ }
31
+ return validCohortIds;
32
+ }
33
+ put(cohort) {
34
+ this.store[cohort.cohortId] = cohort;
35
+ }
36
+ delete(cohortId) {
37
+ delete this.store[cohortId];
38
+ }
39
+ }
40
+ storage.InMemoryCohortStorage = InMemoryCohortStorage;
41
+ return storage;
42
+ }
43
+ export {
44
+ requireStorage as __require
45
+ };
46
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sources":["../../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/storage.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InMemoryCohortStorage = void 0;\nconst cohort_1 = require(\"../../types/cohort\");\nclass InMemoryCohortStorage {\n constructor() {\n this.store = {};\n }\n getAllCohortIds() {\n return new Set(Object.keys(this.store));\n }\n getCohort(cohortId) {\n return cohortId in this.store ? this.store[cohortId] : undefined;\n }\n getCohortsForUser(userId, cohortIds) {\n return this.getCohortsForGroup(cohort_1.USER_GROUP_TYPE, userId, cohortIds);\n }\n getCohortsForGroup(groupType, groupName, cohortIds) {\n var _a, _b;\n const validCohortIds = new Set();\n for (const cohortId of cohortIds) {\n if (((_a = this.store[cohortId]) === null || _a === void 0 ? void 0 : _a.groupType) == groupType &&\n ((_b = this.store[cohortId]) === null || _b === void 0 ? void 0 : _b.memberIds.has(groupName))) {\n validCohortIds.add(cohortId);\n }\n }\n return validCohortIds;\n }\n put(cohort) {\n this.store[cohort.cohortId] = cohort;\n }\n delete(cohortId) {\n delete this.store[cohortId];\n }\n}\nexports.InMemoryCohortStorage = InMemoryCohortStorage;\n"],"names":["require$$0"],"mappings":";;;;;;AACA,SAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,UAAA,wBAAgC;AAChC,QAAM,WAAWA,cAAA;AAAA,EACjB,MAAM,sBAAsB;AAAA,IACxB,cAAc;AACV,WAAK,QAAQ,CAAA;AAAA,IACrB;AAAA,IACI,kBAAkB;AACd,aAAO,IAAI,IAAI,OAAO,KAAK,KAAK,KAAK,CAAC;AAAA,IAC9C;AAAA,IACI,UAAU,UAAU;AAChB,aAAO,YAAY,KAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI;AAAA,IAC/D;AAAA,IACI,kBAAkB,QAAQ,WAAW;AACjC,aAAO,KAAK,mBAAmB,SAAS,iBAAiB,QAAQ,SAAS;AAAA,IAClF;AAAA,IACI,mBAAmB,WAAW,WAAW,WAAW;AAChD,UAAI,IAAI;AACR,YAAM,iBAAiB,oBAAI,IAAG;AAC9B,iBAAW,YAAY,WAAW;AAC9B,cAAM,KAAK,KAAK,MAAM,QAAQ,OAAO,QAAQ,OAAO,SAAS,SAAS,GAAG,cAAc,eACjF,KAAK,KAAK,MAAM,QAAQ,OAAO,QAAQ,OAAO,SAAS,SAAS,GAAG,UAAU,IAAI,SAAS,IAAI;AAChG,yBAAe,IAAI,QAAQ;AAAA,QAC3C;AAAA,MACA;AACQ,aAAO;AAAA,IACf;AAAA,IACI,IAAI,QAAQ;AACR,WAAK,MAAM,OAAO,QAAQ,IAAI;AAAA,IACtC;AAAA,IACI,OAAO,UAAU;AACb,aAAO,KAAK,MAAM,QAAQ;AAAA,IAClC;AAAA,EACA;AACA,UAAA,wBAAgC;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,86 @@
1
+ import { __exports as fetcher } from "../../../../../../_virtual/fetcher.js";
2
+ import require$$1 from "../../../../../../_virtual/experiment-core.esm.js";
3
+ import { __require as requireVersion } from "../../gen/version.js";
4
+ import { __require as requireHttp } from "../transport/http.js";
5
+ import { __require as requireConfig } from "../types/config.js";
6
+ import { __require as requireLoglevel } from "../types/loglevel.js";
7
+ import { __require as requireLogger } from "../util/logger.js";
8
+ var hasRequiredFetcher;
9
+ function requireFetcher() {
10
+ if (hasRequiredFetcher) return fetcher;
11
+ hasRequiredFetcher = 1;
12
+ var __awaiter = fetcher && fetcher.__awaiter || function(thisArg, _arguments, P, generator) {
13
+ function adopt(value) {
14
+ return value instanceof P ? value : new P(function(resolve) {
15
+ resolve(value);
16
+ });
17
+ }
18
+ return new (P || (P = Promise))(function(resolve, reject) {
19
+ function fulfilled(value) {
20
+ try {
21
+ step(generator.next(value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function rejected(value) {
27
+ try {
28
+ step(generator["throw"](value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ }
33
+ function step(result) {
34
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
35
+ }
36
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
37
+ });
38
+ };
39
+ Object.defineProperty(fetcher, "__esModule", { value: true });
40
+ fetcher.FlagConfigFetcher = void 0;
41
+ const experiment_core_1 = require$$1;
42
+ const version_1 = requireVersion();
43
+ const http_1 = requireHttp();
44
+ const config_1 = requireConfig();
45
+ const loglevel_1 = requireLoglevel();
46
+ const logger_1 = requireLogger();
47
+ const FLAG_CONFIG_TIMEOUT = 5e3;
48
+ class FlagConfigFetcher {
49
+ constructor(apiKey, httpClient, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {
50
+ this.apiKey = apiKey;
51
+ this.serverUrl = serverUrl;
52
+ this.flagApi = new experiment_core_1.SdkFlagApi(apiKey, serverUrl, new http_1.WrapperClient(httpClient));
53
+ this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);
54
+ }
55
+ /**
56
+ * Fetch local evaluation mode flag configs from the Experiment API server.
57
+ * These flag configs can be used to perform local evaluation.
58
+ *
59
+ * @returns The local evaluation mode flag configs for the initialized
60
+ * environment
61
+ */
62
+ fetch() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const flags = this.flagApi.getFlags({
65
+ libraryName: "experiment-node-server",
66
+ libraryVersion: version_1.version,
67
+ evaluationMode: "local",
68
+ timeoutMillis: FLAG_CONFIG_TIMEOUT
69
+ });
70
+ if (this.receiver) {
71
+ this.receiver(JSON.stringify(flags));
72
+ }
73
+ return flags;
74
+ });
75
+ }
76
+ setRawReceiver(rawReceiver) {
77
+ this.receiver = rawReceiver;
78
+ }
79
+ }
80
+ fetcher.FlagConfigFetcher = FlagConfigFetcher;
81
+ return fetcher;
82
+ }
83
+ export {
84
+ requireFetcher as __require
85
+ };
86
+ //# sourceMappingURL=fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.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.FlagConfigFetcher = void 0;\nconst experiment_core_1 = require(\"@amplitude/experiment-core\");\nconst version_1 = require(\"../../gen/version\");\nconst http_1 = require(\"../transport/http\");\nconst config_1 = require(\"../types/config\");\nconst loglevel_1 = require(\"../types/loglevel\");\nconst logger_1 = require(\"../util/logger\");\nconst FLAG_CONFIG_TIMEOUT = 5000;\nclass FlagConfigFetcher {\n constructor(apiKey, httpClient, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {\n this.apiKey = apiKey;\n this.serverUrl = serverUrl;\n this.flagApi = new experiment_core_1.SdkFlagApi(apiKey, serverUrl, new http_1.WrapperClient(httpClient));\n this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);\n }\n /**\n * Fetch local evaluation mode flag configs from the Experiment API server.\n * These flag configs can be used to perform local evaluation.\n *\n * @returns The local evaluation mode flag configs for the initialized\n * environment\n */\n fetch() {\n return __awaiter(this, void 0, void 0, function* () {\n const flags = this.flagApi.getFlags({\n libraryName: 'experiment-node-server',\n libraryVersion: version_1.version,\n evaluationMode: 'local',\n timeoutMillis: FLAG_CONFIG_TIMEOUT,\n });\n if (this.receiver) {\n this.receiver(JSON.stringify(flags));\n }\n return flags;\n });\n }\n setRawReceiver(rawReceiver) {\n this.receiver = rawReceiver;\n }\n}\nexports.FlagConfigFetcher = FlagConfigFetcher;\n"],"names":["this","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5"],"mappings":";;;;;;;;;;;AACA,MAAI,YAAaA,WAAQA,QAAK,aAAc,SAAU,SAAS,YAAY,GAAG,WAAW;AACrF,aAAS,MAAM,OAAO;AAAE,aAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,gBAAQ,KAAK;AAAA,MAAE,CAAE;AAAA,IAAE;AAC1G,WAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,eAAS,UAAU,OAAO;AAAE,YAAI;AAAE,eAAK,UAAU,KAAK,KAAK,CAAC;AAAA,QAAE,SAAU,GAAG;AAAE,iBAAO,CAAC;AAAA,QAAE;AAAA,MAAE;AACzF,eAAS,SAAS,OAAO;AAAE,YAAI;AAAE,eAAK,UAAU,OAAO,EAAE,KAAK,CAAC;AAAA,QAAE,SAAU,GAAG;AAAE,iBAAO,CAAC;AAAA,QAAE;AAAA,MAAE;AAC5F,eAAS,KAAK,QAAQ;AAAE,eAAO,OAAO,QAAQ,OAAO,KAAK,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK,WAAW,QAAQ;AAAA,MAAE;AAC5G,YAAM,YAAY,UAAU,MAAM,SAAS,cAAc,CAAA,CAAE,GAAG,MAAM;AAAA,IAC5E,CAAK;AAAA,EACL;AACA,SAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,UAAA,oBAA4B;AAC5B,QAAM,oBAAoBC;AAC1B,QAAM,YAAYC,eAAA;AAClB,QAAM,SAASC,YAAA;AACf,QAAM,WAAWC,cAAA;AACjB,QAAM,aAAaC,gBAAA;AACnB,QAAM,WAAWC,cAAA;AACjB,QAAM,sBAAsB;AAAA,EAC5B,MAAM,kBAAkB;AAAA,IACpB,YAAY,QAAQ,YAAY,YAAY,SAAS,wBAAwB,WAAW,WAAW,WAAW,SAAS,OAAO,iBAAiB,IAAI,SAAS,iBAAiB;AACzK,WAAK,SAAS;AACd,WAAK,YAAY;AACjB,WAAK,UAAU,IAAI,kBAAkB,WAAW,QAAQ,WAAW,IAAI,OAAO,cAAc,UAAU,CAAC;AACvG,WAAK,SAAS,IAAI,SAAS,gBAAgB,UAAU,cAAc;AAAA,IAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQI,QAAQ;AACJ,aAAO,UAAU,MAAM,QAAQ,QAAQ,aAAa;AAChD,cAAM,QAAQ,KAAK,QAAQ,SAAS;AAAA,UAChC,aAAa;AAAA,UACb,gBAAgB,UAAU;AAAA,UAC1B,gBAAgB;AAAA,UAChB,eAAe;AAAA,QAC/B,CAAa;AACD,YAAI,KAAK,UAAU;AACf,eAAK,SAAS,KAAK,UAAU,KAAK,CAAC;AAAA,QACnD;AACY,eAAO;AAAA,MACnB,CAAS;AAAA,IACT;AAAA,IACI,eAAe,aAAa;AACxB,WAAK,WAAW;AAAA,IACxB;AAAA,EACA;AACA,UAAA,oBAA4B;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,122 @@
1
+ import { __exports as poller } from "../../../../../../_virtual/poller.js";
2
+ import { __require as requireConfig } from "../types/config.js";
3
+ import { __require as requireLoglevel } from "../types/loglevel.js";
4
+ import { __require as requireBackoff } from "../util/backoff.js";
5
+ import { __require as requireLogger } from "../util/logger.js";
6
+ import { __require as requireUpdater } from "./updater.js";
7
+ var hasRequiredPoller;
8
+ function requirePoller() {
9
+ if (hasRequiredPoller) return poller;
10
+ hasRequiredPoller = 1;
11
+ var __awaiter = poller && poller.__awaiter || function(thisArg, _arguments, P, generator) {
12
+ function adopt(value) {
13
+ return value instanceof P ? value : new P(function(resolve) {
14
+ resolve(value);
15
+ });
16
+ }
17
+ return new (P || (P = Promise))(function(resolve, reject) {
18
+ function fulfilled(value) {
19
+ try {
20
+ step(generator.next(value));
21
+ } catch (e) {
22
+ reject(e);
23
+ }
24
+ }
25
+ function rejected(value) {
26
+ try {
27
+ step(generator["throw"](value));
28
+ } catch (e) {
29
+ reject(e);
30
+ }
31
+ }
32
+ function step(result) {
33
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
34
+ }
35
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
36
+ });
37
+ };
38
+ Object.defineProperty(poller, "__esModule", { value: true });
39
+ poller.FlagConfigPoller = void 0;
40
+ const config_1 = requireConfig();
41
+ const loglevel_1 = requireLoglevel();
42
+ const backoff_1 = requireBackoff();
43
+ const logger_1 = requireLogger();
44
+ const updater_1 = requireUpdater();
45
+ const BACKOFF_POLICY = {
46
+ attempts: 5,
47
+ min: 1,
48
+ max: 1,
49
+ scalar: 1
50
+ };
51
+ class FlagConfigPoller extends updater_1.FlagConfigUpdaterBase {
52
+ constructor(fetcher, cache, cohortStorage, cohortFetcher, pollingIntervalMillis = config_1.LocalEvaluationDefaults.flagConfigPollingIntervalMillis, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {
53
+ super(cache, cohortStorage, cohortFetcher, logLevel, loggerProvider);
54
+ this.fetcher = fetcher;
55
+ this.pollingIntervalMillis = pollingIntervalMillis;
56
+ }
57
+ /**
58
+ * Fetch initial flag configurations and start polling for updates.
59
+ *
60
+ * You must call this function to begin polling for flag config updates.
61
+ * The promise returned by this function is resolved when the initial call
62
+ * to fetch the flag configuration completes.
63
+ *
64
+ * Calling this function while the poller is already running does nothing.
65
+ */
66
+ start(onChange) {
67
+ const _super = Object.create(null, {
68
+ _update: { get: () => super._update }
69
+ });
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ if (!this.poller) {
72
+ this.logger.debug("[Experiment] poller - start");
73
+ this.poller = setInterval(() => __awaiter(this, void 0, void 0, function* () {
74
+ try {
75
+ yield this.update(onChange);
76
+ } catch (e) {
77
+ this.logger.debug("[Experiment] flag config update failed", e);
78
+ }
79
+ }), this.pollingIntervalMillis);
80
+ try {
81
+ const flagConfigs = yield (0, backoff_1.doWithBackoffFailLoudly)(() => __awaiter(this, void 0, void 0, function* () {
82
+ return yield this.fetcher.fetch();
83
+ }), BACKOFF_POLICY);
84
+ yield _super._update.call(this, flagConfigs, onChange);
85
+ } catch (e) {
86
+ this.logger.error("[Experiment] flag config initial poll failed, stopping", e);
87
+ this.stop();
88
+ throw e;
89
+ }
90
+ }
91
+ });
92
+ }
93
+ /**
94
+ * Stop polling for flag configurations.
95
+ *
96
+ * Calling this function while the poller is not running will do nothing.
97
+ */
98
+ stop() {
99
+ if (this.poller) {
100
+ this.logger.debug("[Experiment] poller - stop");
101
+ clearTimeout(this.poller);
102
+ this.poller = void 0;
103
+ }
104
+ }
105
+ update(onChange) {
106
+ const _super = Object.create(null, {
107
+ _update: { get: () => super._update }
108
+ });
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ this.logger.debug("[Experiment] updating flag configs");
111
+ const flagConfigs = yield this.fetcher.fetch();
112
+ yield _super._update.call(this, flagConfigs, onChange);
113
+ });
114
+ }
115
+ }
116
+ poller.FlagConfigPoller = FlagConfigPoller;
117
+ return poller;
118
+ }
119
+ export {
120
+ requirePoller as __require
121
+ };
122
+ //# sourceMappingURL=poller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/poller.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.FlagConfigPoller = void 0;\nconst config_1 = require(\"../types/config\");\nconst loglevel_1 = require(\"../types/loglevel\");\nconst backoff_1 = require(\"../util/backoff\");\nconst logger_1 = require(\"../util/logger\");\nconst updater_1 = require(\"./updater\");\nconst BACKOFF_POLICY = {\n attempts: 5,\n min: 1,\n max: 1,\n scalar: 1,\n};\nclass FlagConfigPoller extends updater_1.FlagConfigUpdaterBase {\n constructor(fetcher, cache, cohortStorage, cohortFetcher, pollingIntervalMillis = config_1.LocalEvaluationDefaults.flagConfigPollingIntervalMillis, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {\n super(cache, cohortStorage, cohortFetcher, logLevel, loggerProvider);\n this.fetcher = fetcher;\n this.pollingIntervalMillis = pollingIntervalMillis;\n }\n /**\n * Fetch initial flag configurations and start polling for updates.\n *\n * You must call this function to begin polling for flag config updates.\n * The promise returned by this function is resolved when the initial call\n * to fetch the flag configuration completes.\n *\n * Calling this function while the poller is already running does nothing.\n */\n start(onChange) {\n const _super = Object.create(null, {\n _update: { get: () => super._update }\n });\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.poller) {\n this.logger.debug('[Experiment] poller - start');\n this.poller = setInterval(() => __awaiter(this, void 0, void 0, function* () {\n try {\n yield this.update(onChange);\n }\n catch (e) {\n this.logger.debug('[Experiment] flag config update failed', e);\n }\n }), this.pollingIntervalMillis);\n // Fetch initial flag configs and await the result.\n try {\n const flagConfigs = yield (0, backoff_1.doWithBackoffFailLoudly)(() => __awaiter(this, void 0, void 0, function* () { return yield this.fetcher.fetch(); }), BACKOFF_POLICY);\n yield _super._update.call(this, flagConfigs, onChange);\n }\n catch (e) {\n this.logger.error('[Experiment] flag config initial poll failed, stopping', e);\n this.stop();\n throw e;\n }\n }\n });\n }\n /**\n * Stop polling for flag configurations.\n *\n * Calling this function while the poller is not running will do nothing.\n */\n stop() {\n if (this.poller) {\n this.logger.debug('[Experiment] poller - stop');\n clearTimeout(this.poller);\n this.poller = undefined;\n }\n }\n update(onChange) {\n const _super = Object.create(null, {\n _update: { get: () => super._update }\n });\n return __awaiter(this, void 0, void 0, function* () {\n this.logger.debug('[Experiment] updating flag configs');\n const flagConfigs = yield this.fetcher.fetch();\n yield _super._update.call(this, flagConfigs, onChange);\n });\n }\n}\nexports.FlagConfigPoller = FlagConfigPoller;\n"],"names":["this","require$$0","require$$1","require$$2","require$$3","require$$4"],"mappings":"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","x_google_ignoreList":[0]}