@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.
- package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js +168 -0
- package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.js +91 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.js +17 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.js +187 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.js +90 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.js +64 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.js +17 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js +323 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.js +55 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.js +245 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.js +103 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.js +15 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js +119 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.js +34 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.js +14 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.js +9 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.js +25 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js +56 -0
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js +134 -0
- package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.js +21 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.js +24 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.js +81 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.js +37 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js +67 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.js +5 -0
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.js +33 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.js +17 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.js +12 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.js +10 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.js +10 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.js +16 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.js.map +1 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.js +10 -0
- package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js +1234 -0
- package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.js +14 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js +34 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js +98 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js +32 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js +90 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.js +46 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.js +66 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js +93 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js +278 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/cohort-api.js +89 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/cohort-api.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/fetcher.js +114 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/fetcher.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/poller.js +115 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/poller.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/storage.js +46 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cohort/storage.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js +86 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js +122 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.js +195 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/streamer.js +149 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/streamer.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/updater.js +107 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/updater.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js +168 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js +114 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/stream.js +164 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/stream.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/cohort.js +14 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/cohort.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.js +75 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/loglevel.js +23 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/loglevel.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js +73 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.js +99 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cohort.js +85 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cohort.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/config.js +47 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/config.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.js +25 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.js +68 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/threading.js +97 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/threading.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.js +20 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.js +57 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.js.map +1 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.js +47 -0
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.js.map +1 -0
- package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.js +133 -0
- package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.js.map +1 -0
- package/dist/_node_modules/common-tags/es/commaLists/commaLists.js +6 -0
- package/dist/_node_modules/common-tags/es/commaLists/commaLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.js +6 -0
- package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.js.map +1 -0
- package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.js +6 -0
- package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.js.map +1 -0
- package/dist/_node_modules/common-tags/es/html/html.js +8 -0
- package/dist/_node_modules/common-tags/es/html/html.js.map +1 -0
- package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js +33 -0
- package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.js +6 -0
- package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLine/oneLine.js +5 -0
- package/dist/_node_modules/common-tags/es/oneLine/oneLine.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.js +5 -0
- package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.js.map +1 -0
- package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js +20 -0
- package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js +14 -0
- package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js +18 -0
- package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.js +8 -0
- package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.js.map +1 -0
- package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js +16 -0
- package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.js +8 -0
- package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.js.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js +36 -0
- package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.js +5 -0
- package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.js.map +1 -0
- package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js +22 -0
- package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js.map +1 -0
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js +41 -0
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -0
- package/dist/_node_modules/eventsource/lib/eventsource.js +384 -0
- package/dist/_node_modules/eventsource/lib/eventsource.js.map +1 -0
- package/dist/_node_modules/fetch-blob/file.js +41 -0
- package/dist/_node_modules/fetch-blob/file.js.map +1 -0
- package/dist/_node_modules/fetch-blob/from.js +9 -0
- package/dist/_node_modules/fetch-blob/from.js.map +1 -0
- package/dist/_node_modules/fetch-blob/index.js +201 -0
- package/dist/_node_modules/fetch-blob/index.js.map +1 -0
- package/dist/_node_modules/fetch-blob/streams.js +52 -0
- package/dist/_node_modules/fetch-blob/streams.js.map +1 -0
- package/dist/_node_modules/formdata-polyfill/esm.min.js +90 -0
- package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -0
- package/dist/_node_modules/get-port/index.js +115 -0
- package/dist/_node_modules/get-port/index.js.map +1 -0
- package/dist/_node_modules/node-domexception/index.js +20 -0
- package/dist/_node_modules/node-domexception/index.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/body.js +259 -0
- package/dist/_node_modules/node-fetch/src/body.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/abort-error.js +10 -0
- package/dist/_node_modules/node-fetch/src/errors/abort-error.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/base.js +17 -0
- package/dist/_node_modules/node-fetch/src/errors/base.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.js +19 -0
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/headers.js +189 -0
- package/dist/_node_modules/node-fetch/src/headers.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/index.js +290 -0
- package/dist/_node_modules/node-fetch/src/index.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/request.js +203 -0
- package/dist/_node_modules/node-fetch/src/request.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/response.js +123 -0
- package/dist/_node_modules/node-fetch/src/response.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/get-search.js +12 -0
- package/dist/_node_modules/node-fetch/src/utils/get-search.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/is-redirect.js +8 -0
- package/dist/_node_modules/node-fetch/src/utils/is-redirect.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/is.js +28 -0
- package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js +356 -0
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/referrer.js +149 -0
- package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -0
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +3818 -0
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +35 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/assignment-filter.js +5 -0
- package/dist/_virtual/assignment-filter.js.map +1 -0
- package/dist/_virtual/assignment-service.js +5 -0
- package/dist/_virtual/assignment-service.js.map +1 -0
- package/dist/_virtual/assignment.js +5 -0
- package/dist/_virtual/assignment.js.map +1 -0
- package/dist/_virtual/backoff.js +5 -0
- package/dist/_virtual/backoff.js.map +1 -0
- package/dist/_virtual/cache.js +5 -0
- package/dist/_virtual/cache.js.map +1 -0
- package/dist/_virtual/cache2.js +5 -0
- package/dist/_virtual/cache2.js.map +1 -0
- package/dist/_virtual/client.js +5 -0
- package/dist/_virtual/client.js.map +1 -0
- package/dist/_virtual/client2.js +5 -0
- package/dist/_virtual/client2.js.map +1 -0
- package/dist/_virtual/cohort-api.js +5 -0
- package/dist/_virtual/cohort-api.js.map +1 -0
- package/dist/_virtual/cohort.js +5 -0
- package/dist/_virtual/cohort.js.map +1 -0
- package/dist/_virtual/cohort2.js +5 -0
- package/dist/_virtual/cohort2.js.map +1 -0
- package/dist/_virtual/config.js +5 -0
- package/dist/_virtual/config.js.map +1 -0
- package/dist/_virtual/config2.js +5 -0
- package/dist/_virtual/config2.js.map +1 -0
- package/dist/_virtual/cookie.js +5 -0
- package/dist/_virtual/cookie.js.map +1 -0
- package/dist/_virtual/experiment-core.esm.js +7 -0
- package/dist/_virtual/experiment-core.esm.js.map +1 -0
- package/dist/_virtual/factory.js +5 -0
- package/dist/_virtual/factory.js.map +1 -0
- package/dist/_virtual/fetcher.js +5 -0
- package/dist/_virtual/fetcher.js.map +1 -0
- package/dist/_virtual/fetcher2.js +5 -0
- package/dist/_virtual/fetcher2.js.map +1 -0
- package/dist/_virtual/hash.js +5 -0
- package/dist/_virtual/hash.js.map +1 -0
- package/dist/_virtual/http.js +5 -0
- package/dist/_virtual/http.js.map +1 -0
- package/dist/_virtual/index.js +6 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index2.js +5 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.js +3 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/index4.js +7 -0
- package/dist/_virtual/index4.js.map +1 -0
- package/dist/_virtual/logger.js +5 -0
- package/dist/_virtual/logger.js.map +1 -0
- package/dist/_virtual/loglevel.js +5 -0
- package/dist/_virtual/loglevel.js.map +1 -0
- package/dist/_virtual/poller.js +5 -0
- package/dist/_virtual/poller.js.map +1 -0
- package/dist/_virtual/poller2.js +5 -0
- package/dist/_virtual/poller2.js.map +1 -0
- package/dist/_virtual/ponyfill.es2018.js +5 -0
- package/dist/_virtual/ponyfill.es2018.js.map +1 -0
- package/dist/_virtual/storage.js +5 -0
- package/dist/_virtual/storage.js.map +1 -0
- package/dist/_virtual/stream-flag-api.js +5 -0
- package/dist/_virtual/stream-flag-api.js.map +1 -0
- package/dist/_virtual/stream.js +5 -0
- package/dist/_virtual/stream.js.map +1 -0
- package/dist/_virtual/streamer.js +5 -0
- package/dist/_virtual/streamer.js.map +1 -0
- package/dist/_virtual/streams.js +3 -0
- package/dist/_virtual/streams.js.map +1 -0
- package/dist/_virtual/streams2.js +5 -0
- package/dist/_virtual/streams2.js.map +1 -0
- package/dist/_virtual/threading.js +5 -0
- package/dist/_virtual/threading.js.map +1 -0
- package/dist/_virtual/time.js +5 -0
- package/dist/_virtual/time.js.map +1 -0
- package/dist/_virtual/updater.js +5 -0
- package/dist/_virtual/updater.js.map +1 -0
- package/dist/_virtual/user.js +5 -0
- package/dist/_virtual/user.js.map +1 -0
- package/dist/_virtual/variant.js +5 -0
- package/dist/_virtual/variant.js.map +1 -0
- package/dist/_virtual/version.js +5 -0
- package/dist/_virtual/version.js.map +1 -0
- package/dist/auth/PrismicAuthManager.d.ts +47 -0
- package/dist/auth/PrismicAuthManager.js +214 -0
- package/dist/auth/PrismicAuthManager.js.map +1 -0
- package/dist/auth/createPrismicAuthManager.d.ts +4 -0
- package/dist/auth/createPrismicAuthManager.js +8 -0
- package/dist/auth/createPrismicAuthManager.js.map +1 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.d.ts +13 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.js +39 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -0
- package/dist/constants/API_ENDPOINTS.d.ts +9 -0
- package/dist/constants/API_ENDPOINTS.js +73 -0
- package/dist/constants/API_ENDPOINTS.js.map +1 -0
- package/dist/constants/API_TOKENS.d.ts +6 -0
- package/dist/constants/API_TOKENS.js +27 -0
- package/dist/constants/API_TOKENS.js.map +1 -0
- package/dist/constants/APPLICATION_MODE.d.ts +8 -0
- package/dist/constants/APPLICATION_MODE.js +12 -0
- package/dist/constants/APPLICATION_MODE.js.map +1 -0
- package/dist/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.d.ts +1 -0
- package/dist/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.js +5 -0
- package/dist/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.js.map +1 -0
- package/dist/constants/PRISMIC_CLI_USER_AGENT.d.ts +1 -0
- package/dist/constants/PRISMIC_CLI_USER_AGENT.js +5 -0
- package/dist/constants/PRISMIC_CLI_USER_AGENT.js.map +1 -0
- package/dist/constants/PRISMIC_CONFIG_FILENAME.d.ts +1 -0
- package/dist/constants/PRISMIC_CONFIG_FILENAME.js +5 -0
- package/dist/constants/PRISMIC_CONFIG_FILENAME.js.map +1 -0
- package/dist/constants/SLICEMACHINE_CONFIG_FILENAME.d.ts +1 -0
- package/dist/constants/SLICEMACHINE_CONFIG_FILENAME.js +5 -0
- package/dist/constants/SLICEMACHINE_CONFIG_FILENAME.js.map +1 -0
- package/dist/constants/TS_CONFIG_FILENAME.d.ts +1 -0
- package/dist/constants/TS_CONFIG_FILENAME.js +5 -0
- package/dist/constants/TS_CONFIG_FILENAME.js.map +1 -0
- package/dist/errors.d.ts +43 -0
- package/dist/errors.js +20 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/DecodeError.d.ts +13 -0
- package/dist/lib/DecodeError.js +21 -0
- package/dist/lib/DecodeError.js.map +1 -0
- package/dist/lib/assertPluginsInitialized.d.ts +2 -0
- package/dist/lib/assertPluginsInitialized.js +9 -0
- package/dist/lib/assertPluginsInitialized.js.map +1 -0
- package/dist/lib/castArray.d.ts +1 -0
- package/dist/lib/castArray.js +7 -0
- package/dist/lib/castArray.js.map +1 -0
- package/dist/lib/decode.d.ts +10 -0
- package/dist/lib/decode.js +14 -0
- package/dist/lib/decode.js.map +1 -0
- package/dist/lib/decodeHookResult.d.ts +7 -0
- package/dist/lib/decodeHookResult.js +21 -0
- package/dist/lib/decodeHookResult.js.map +1 -0
- package/dist/lib/decodePackageJSON.d.ts +12 -0
- package/dist/lib/decodePrismicConfig.d.ts +3 -0
- package/dist/lib/decodePrismicConfig.js +22 -0
- package/dist/lib/decodePrismicConfig.js.map +1 -0
- package/dist/lib/fetchNPMPackageVersions.d.ts +5 -0
- package/dist/lib/fetchNPMPackageVersions.js +24 -0
- package/dist/lib/fetchNPMPackageVersions.js.map +1 -0
- package/dist/lib/format.d.ts +12 -0
- package/dist/lib/format.js +30 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/installDependencies.d.ts +13 -0
- package/dist/lib/installDependencies.js +45 -0
- package/dist/lib/installDependencies.js.map +1 -0
- package/dist/lib/locateFileUpward.d.ts +10 -0
- package/dist/lib/locateFileUpward.js +29 -0
- package/dist/lib/locateFileUpward.js.map +1 -0
- package/dist/lib/prismicrc.d.ts +8 -0
- package/dist/lib/prismicrc.js +29 -0
- package/dist/lib/prismicrc.js.map +1 -0
- package/dist/lib/trailingSlash.d.ts +1 -0
- package/dist/lib/trailingSlash.js +7 -0
- package/dist/lib/trailingSlash.js.map +1 -0
- package/dist/lib/typesInternalSchemas.d.ts +12 -0
- package/dist/lib/typesInternalSchemas.js +29 -0
- package/dist/lib/typesInternalSchemas.js.map +1 -0
- package/dist/managers/BaseManager.d.ts +27 -0
- package/dist/managers/BaseManager.js +48 -0
- package/dist/managers/BaseManager.js.map +1 -0
- package/dist/managers/PrismicManager.d.ts +33 -0
- package/dist/managers/PrismicManager.js +60 -0
- package/dist/managers/PrismicManager.js.map +1 -0
- package/dist/managers/createPrismicManager.d.ts +4 -0
- package/dist/managers/createPrismicManager.js +8 -0
- package/dist/managers/createPrismicManager.js.map +1 -0
- package/dist/managers/customTypes/CustomTypesManager.d.ts +44 -0
- package/dist/managers/customTypes/CustomTypesManager.js +111 -0
- package/dist/managers/customTypes/CustomTypesManager.js.map +1 -0
- package/dist/managers/customTypes/types.d.ts +2 -0
- package/dist/managers/plugins/PluginsManager.d.ts +13 -0
- package/dist/managers/plugins/PluginsManager.js +30 -0
- package/dist/managers/plugins/PluginsManager.js.map +1 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.d.ts +12 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.js +79 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -0
- package/dist/managers/prismicRepository/types.d.ts +17 -0
- package/dist/managers/prismicRepository/types.js +24 -0
- package/dist/managers/prismicRepository/types.js.map +1 -0
- package/dist/managers/project/ProjectManager.d.ts +51 -0
- package/dist/managers/project/ProjectManager.js +208 -0
- package/dist/managers/project/ProjectManager.js.map +1 -0
- package/dist/managers/slices/SlicesManager.d.ts +61 -0
- package/dist/managers/slices/SlicesManager.js +169 -0
- package/dist/managers/slices/SlicesManager.js.map +1 -0
- package/dist/managers/telemetry/TelemetryManager.d.ts +23 -0
- package/dist/managers/telemetry/TelemetryManager.js +133 -0
- package/dist/managers/telemetry/TelemetryManager.js.map +1 -0
- package/dist/managers/telemetry/types.d.ts +35 -0
- package/dist/managers/telemetry/types.js +15 -0
- package/dist/managers/telemetry/types.js.map +1 -0
- package/dist/managers/user/UserManager.d.ts +22 -0
- package/dist/managers/user/UserManager.js +22 -0
- package/dist/managers/user/UserManager.js.map +1 -0
- package/dist/managers/versions/VersionsManager.d.ts +21 -0
- package/dist/managers/versions/VersionsManager.js +39 -0
- package/dist/managers/versions/VersionsManager.js.map +1 -0
- package/dist/types.d.ts +32 -0
- package/package.json +100 -0
- package/src/auth/PrismicAuthManager.ts +346 -0
- package/src/auth/createPrismicAuthManager.ts +11 -0
- package/src/auth/createPrismicAuthManagerMiddleware.ts +79 -0
- package/src/constants/API_ENDPOINTS.ts +106 -0
- package/src/constants/API_TOKENS.ts +29 -0
- package/src/constants/APPLICATION_MODE.ts +8 -0
- package/src/constants/PRISMIC_CLI_NPM_PACKAGE_NAME.ts +1 -0
- package/src/constants/PRISMIC_CLI_USER_AGENT.ts +1 -0
- package/src/constants/PRISMIC_CONFIG_FILENAME.ts +1 -0
- package/src/constants/SLICEMACHINE_CONFIG_FILENAME.ts +1 -0
- package/src/constants/TS_CONFIG_FILENAME.ts +1 -0
- package/src/errors.ts +109 -0
- package/src/index.ts +5 -0
- package/src/lib/DecodeError.ts +31 -0
- package/src/lib/assertPluginsInitialized.ts +11 -0
- package/src/lib/castArray.ts +3 -0
- package/src/lib/decode.ts +28 -0
- package/src/lib/decodeHookResult.ts +36 -0
- package/src/lib/decodePackageJSON.ts +18 -0
- package/src/lib/decodePrismicConfig.ts +26 -0
- package/src/lib/fetchNPMPackageVersions.ts +45 -0
- package/src/lib/format.ts +34 -0
- package/src/lib/installDependencies.ts +74 -0
- package/src/lib/locateFileUpward.ts +53 -0
- package/src/lib/prismicrc.ts +41 -0
- package/src/lib/trailingSlash.ts +5 -0
- package/src/lib/typesInternalSchemas.ts +42 -0
- package/src/managers/BaseManager.ts +74 -0
- package/src/managers/PrismicManager.ts +81 -0
- package/src/managers/createPrismicManager.ts +9 -0
- package/src/managers/customTypes/CustomTypesManager.ts +221 -0
- package/src/managers/customTypes/types.ts +3 -0
- package/src/managers/plugins/PluginsManager.ts +44 -0
- package/src/managers/prismicRepository/PrismicRepositoryManager.ts +120 -0
- package/src/managers/prismicRepository/types.ts +23 -0
- package/src/managers/project/ProjectManager.ts +354 -0
- package/src/managers/slices/SlicesManager.ts +308 -0
- package/src/managers/telemetry/TelemetryManager.ts +227 -0
- package/src/managers/telemetry/types.ts +62 -0
- package/src/managers/user/UserManager.ts +35 -0
- package/src/managers/versions/VersionsManager.ts +53 -0
- package/src/types.ts +41 -0
package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.js
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { __exports as streamFlagApi } from "../../../../../../_virtual/stream-flag-api.js";
|
|
2
|
+
import { __require as requireStream } from "../transport/stream.js";
|
|
3
|
+
var hasRequiredStreamFlagApi;
|
|
4
|
+
function requireStreamFlagApi() {
|
|
5
|
+
if (hasRequiredStreamFlagApi) return streamFlagApi;
|
|
6
|
+
hasRequiredStreamFlagApi = 1;
|
|
7
|
+
var __awaiter = streamFlagApi && streamFlagApi.__awaiter || function(thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) {
|
|
9
|
+
return value instanceof P ? value : new P(function(resolve) {
|
|
10
|
+
resolve(value);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
return new (P || (P = Promise))(function(resolve, reject) {
|
|
14
|
+
function fulfilled(value) {
|
|
15
|
+
try {
|
|
16
|
+
step(generator.next(value));
|
|
17
|
+
} catch (e) {
|
|
18
|
+
reject(e);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function rejected(value) {
|
|
22
|
+
try {
|
|
23
|
+
step(generator["throw"](value));
|
|
24
|
+
} catch (e) {
|
|
25
|
+
reject(e);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function step(result) {
|
|
29
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
30
|
+
}
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(streamFlagApi, "__esModule", { value: true });
|
|
35
|
+
streamFlagApi.SdkStreamFlagApi = void 0;
|
|
36
|
+
const stream_1 = requireStream();
|
|
37
|
+
const DEFAULT_INITIAL_CONN_TIMEOUT = 1e3;
|
|
38
|
+
const DEFAULT_TRY_ATTEMPTS = 2;
|
|
39
|
+
const DEFAULT_TRY_WAIT_TIMEOUT = 1e3;
|
|
40
|
+
class SdkStreamFlagApi {
|
|
41
|
+
constructor(deploymentKey, serverUrl, eventSourceFactory, streamConnTimeoutMillis, streamFlagConnTimeoutMillis = DEFAULT_INITIAL_CONN_TIMEOUT, streamFlagTryAttempts = DEFAULT_TRY_ATTEMPTS, streamFlagTryDelayMillis = DEFAULT_TRY_WAIT_TIMEOUT) {
|
|
42
|
+
this.isClosedAndNotTrying = true;
|
|
43
|
+
this.api = new stream_1.SdkStream(deploymentKey, serverUrl + "/sdk/stream/v1/flags", eventSourceFactory, streamConnTimeoutMillis);
|
|
44
|
+
this.streamFlagConnTimeoutMillis = Math.max(0, streamFlagConnTimeoutMillis);
|
|
45
|
+
this.streamFlagTryAttempts = Math.max(1, streamFlagTryAttempts);
|
|
46
|
+
this.streamFlagTryDelayMillis = Math.max(0, streamFlagTryDelayMillis);
|
|
47
|
+
}
|
|
48
|
+
// A try:
|
|
49
|
+
// Try connect and receive at least one single flag update.
|
|
50
|
+
connectTry(options) {
|
|
51
|
+
let timeout = void 0;
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
53
|
+
const dealWithFlagUpdateInOneTry = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
if (timeout) {
|
|
55
|
+
clearTimeout(timeout);
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
SdkStreamFlagApi.parseFlagConfigs(data);
|
|
59
|
+
} catch (e) {
|
|
60
|
+
return reject(stream_1.DEFAULT_STREAM_ERR_EVENTS.DATA_UNPARSABLE);
|
|
61
|
+
}
|
|
62
|
+
this.api.onUpdate = (data2) => this.handleNewMsg(data2, false);
|
|
63
|
+
this.api.onError = (err) => this.errorAndRetry(err);
|
|
64
|
+
try {
|
|
65
|
+
yield this.handleNewMsg(data, true);
|
|
66
|
+
resolve();
|
|
67
|
+
} catch (_a) {
|
|
68
|
+
reject();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
this.api.onUpdate = dealWithFlagUpdateInOneTry;
|
|
72
|
+
const dealWithErrorInOneTry = (err) => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
if (timeout) {
|
|
74
|
+
clearTimeout(timeout);
|
|
75
|
+
}
|
|
76
|
+
reject(err);
|
|
77
|
+
});
|
|
78
|
+
this.api.onError = dealWithErrorInOneTry;
|
|
79
|
+
this.api.connect(options);
|
|
80
|
+
timeout = setTimeout(() => {
|
|
81
|
+
dealWithErrorInOneTry(stream_1.DEFAULT_STREAM_ERR_EVENTS.TIMEOUT);
|
|
82
|
+
}, this.streamFlagConnTimeoutMillis);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// Do try up to 2 times. If any of error is fatal, stop any further tries.
|
|
86
|
+
// If trials times reached, fatal error.
|
|
87
|
+
connect(options) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
if (!this.isClosedAndNotTrying) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.isClosedAndNotTrying = false;
|
|
93
|
+
this.options = options;
|
|
94
|
+
const attempts = this.streamFlagTryAttempts;
|
|
95
|
+
const delay = this.streamFlagTryDelayMillis;
|
|
96
|
+
for (let i = 0; i < attempts; i++) {
|
|
97
|
+
try {
|
|
98
|
+
return yield this.connectTry(options);
|
|
99
|
+
} catch (e) {
|
|
100
|
+
if (this.isClosedAndNotTrying) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const err = e;
|
|
104
|
+
if (this.isFatal(err) || i == attempts - 1) {
|
|
105
|
+
this.close();
|
|
106
|
+
throw err;
|
|
107
|
+
}
|
|
108
|
+
this.closeForRetry();
|
|
109
|
+
yield new Promise((resolve) => setTimeout(resolve, delay));
|
|
110
|
+
if (this.isClosedAndNotTrying) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
// Close stream.
|
|
118
|
+
close() {
|
|
119
|
+
this.closeForRetry();
|
|
120
|
+
this.isClosedAndNotTrying = true;
|
|
121
|
+
}
|
|
122
|
+
// Close stream, but we know there will be another try happening very soon.
|
|
123
|
+
closeForRetry() {
|
|
124
|
+
this.api.close();
|
|
125
|
+
}
|
|
126
|
+
get isClosed() {
|
|
127
|
+
return this.isClosedAndNotTrying;
|
|
128
|
+
}
|
|
129
|
+
// Fatal error if 501 Unimplemented.
|
|
130
|
+
isFatal(err) {
|
|
131
|
+
return err && (err === null || err === void 0 ? void 0 : err.status) == 501;
|
|
132
|
+
}
|
|
133
|
+
// If error during normal operation, retry init connection up to 2 times.
|
|
134
|
+
errorAndRetry(err) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
if (this.isFatal(err)) {
|
|
137
|
+
this.close();
|
|
138
|
+
yield this.fatalErr(err);
|
|
139
|
+
} else {
|
|
140
|
+
this.close();
|
|
141
|
+
this.connect(this.options).catch((err2) => {
|
|
142
|
+
this.fatalErr(err2);
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// No more retry, 501 unimplemented. Need fallback.
|
|
148
|
+
fatalErr(err) {
|
|
149
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
if (this.onError) {
|
|
151
|
+
try {
|
|
152
|
+
yield this.onError(err);
|
|
153
|
+
} catch (_a) {
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
// Handles new messages, parse them, and handoff to application. Retries if have parsing error.
|
|
159
|
+
handleNewMsg(data, isInit) {
|
|
160
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
+
let flagConfigs;
|
|
162
|
+
try {
|
|
163
|
+
flagConfigs = SdkStreamFlagApi.parseFlagConfigs(data);
|
|
164
|
+
} catch (e) {
|
|
165
|
+
this.errorAndRetry(stream_1.DEFAULT_STREAM_ERR_EVENTS.DATA_UNPARSABLE);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const updateFunc = isInit && this.onInitUpdate ? this.onInitUpdate : this.onUpdate;
|
|
169
|
+
if (updateFunc) {
|
|
170
|
+
try {
|
|
171
|
+
yield updateFunc(flagConfigs);
|
|
172
|
+
} catch (e) {
|
|
173
|
+
if (isInit) {
|
|
174
|
+
throw e;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
// Parse message. Throws if unparsable.
|
|
181
|
+
static parseFlagConfigs(data) {
|
|
182
|
+
const flagsArray = JSON.parse(data);
|
|
183
|
+
return flagsArray.reduce((map, flag) => {
|
|
184
|
+
map[flag.key] = flag;
|
|
185
|
+
return map;
|
|
186
|
+
}, {});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
streamFlagApi.SdkStreamFlagApi = SdkStreamFlagApi;
|
|
190
|
+
return streamFlagApi;
|
|
191
|
+
}
|
|
192
|
+
export {
|
|
193
|
+
requireStreamFlagApi as __require
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=stream-flag-api.js.map
|
package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-flag-api.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/stream-flag-api.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.SdkStreamFlagApi = void 0;\nconst stream_1 = require(\"../transport/stream\");\nconst DEFAULT_INITIAL_CONN_TIMEOUT = 1000;\nconst DEFAULT_TRY_ATTEMPTS = 2;\nconst DEFAULT_TRY_WAIT_TIMEOUT = 1000;\n/**\n * This class receives flag config updates from server.\n * It also handles errors, retries, flag parsing, and initial flags on connection, in addition to SdkStreamApi.\n */\nclass SdkStreamFlagApi {\n constructor(deploymentKey, serverUrl, eventSourceFactory, streamConnTimeoutMillis, streamFlagConnTimeoutMillis = DEFAULT_INITIAL_CONN_TIMEOUT, streamFlagTryAttempts = DEFAULT_TRY_ATTEMPTS, streamFlagTryDelayMillis = DEFAULT_TRY_WAIT_TIMEOUT) {\n // Flag for whether the stream is open and retrying or closed. This is to avoid calling connect() twice.\n this.isClosedAndNotTrying = true;\n this.api = new stream_1.SdkStream(deploymentKey, serverUrl + '/sdk/stream/v1/flags', eventSourceFactory, streamConnTimeoutMillis);\n this.streamFlagConnTimeoutMillis = Math.max(0, streamFlagConnTimeoutMillis);\n this.streamFlagTryAttempts = Math.max(1, streamFlagTryAttempts);\n this.streamFlagTryDelayMillis = Math.max(0, streamFlagTryDelayMillis);\n }\n // A try:\n // Try connect and receive at least one single flag update.\n connectTry(options) {\n // Timeout for initial connection. Makes sure the connection do not exceed a certain interval.\n let timeout = undefined;\n return new Promise((resolve, reject) => {\n // On connection and receiving first update, success, set future flag update callback and error handling retries.\n const dealWithFlagUpdateInOneTry = (data) => __awaiter(this, void 0, void 0, function* () {\n if (timeout) {\n clearTimeout(timeout);\n }\n try {\n // Make sure valid flag configs.\n SdkStreamFlagApi.parseFlagConfigs(data);\n }\n catch (e) {\n return reject(stream_1.DEFAULT_STREAM_ERR_EVENTS.DATA_UNPARSABLE);\n }\n // Update the callbacks.\n this.api.onUpdate = (data) => this.handleNewMsg(data, false);\n this.api.onError = (err) => this.errorAndRetry(err);\n // Handoff data to application. Make sure it finishes processing initial new flag configs.\n try {\n yield this.handleNewMsg(data, true);\n // Resolve promise which declares client ready.\n resolve();\n }\n catch (_a) {\n reject();\n }\n });\n this.api.onUpdate = dealWithFlagUpdateInOneTry;\n // If it fails to connect, fails try.\n // If it disconnects before flag update, fails try.\n const dealWithErrorInOneTry = (err) => __awaiter(this, void 0, void 0, function* () {\n if (timeout) {\n clearTimeout(timeout);\n }\n reject(err); // Reject promise which will either retry or fatal err.\n });\n this.api.onError = dealWithErrorInOneTry;\n // Try connect.\n this.api.connect(options);\n // If it fails to return flag update within limit time, fails try.\n timeout = setTimeout(() => {\n dealWithErrorInOneTry(stream_1.DEFAULT_STREAM_ERR_EVENTS.TIMEOUT);\n }, this.streamFlagConnTimeoutMillis);\n });\n }\n // Do try up to 2 times. If any of error is fatal, stop any further tries.\n // If trials times reached, fatal error.\n connect(options) {\n return __awaiter(this, void 0, void 0, function* () {\n // Makes sure there is no other connect running.\n if (!this.isClosedAndNotTrying) {\n return;\n }\n this.isClosedAndNotTrying = false;\n this.options = options; // Save options for retries in case of errors.\n const attempts = this.streamFlagTryAttempts;\n const delay = this.streamFlagTryDelayMillis;\n for (let i = 0; i < attempts; i++) {\n try {\n // Try.\n return yield this.connectTry(options);\n }\n catch (e) {\n if (this.isClosedAndNotTrying) {\n // There's a call to close while waiting for connection.\n return;\n }\n // connectTry() does not call close or closeForRetry on error.\n const err = e;\n if (this.isFatal(err) || i == attempts - 1) {\n // We want to throw exception instead of call onError callback.\n this.close();\n throw err;\n }\n // Retry.\n this.closeForRetry();\n yield new Promise((resolve) => setTimeout(resolve, delay));\n if (this.isClosedAndNotTrying) {\n // There's a call to close while waiting for retry.\n return;\n }\n }\n }\n });\n }\n // Close stream.\n close() {\n this.closeForRetry();\n this.isClosedAndNotTrying = true;\n }\n // Close stream, but we know there will be another try happening very soon.\n closeForRetry() {\n this.api.close();\n }\n get isClosed() {\n return this.isClosedAndNotTrying;\n }\n // Fatal error if 501 Unimplemented.\n isFatal(err) {\n return err && (err === null || err === void 0 ? void 0 : err.status) == 501;\n }\n // If error during normal operation, retry init connection up to 2 times.\n errorAndRetry(err) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.isFatal(err)) {\n this.close();\n yield this.fatalErr(err);\n }\n else {\n this.close(); // Not closeForRetry(), connect checks for isClosedAndNotTrying.\n this.connect(this.options).catch((err) => {\n this.fatalErr(err);\n });\n }\n });\n }\n // No more retry, 501 unimplemented. Need fallback.\n fatalErr(err) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.onError) {\n try {\n yield this.onError(err);\n // eslint-disable-next-line no-empty\n }\n catch (_a) { } // Don't care about application errors after handoff.\n }\n });\n }\n // Handles new messages, parse them, and handoff to application. Retries if have parsing error.\n handleNewMsg(data, isInit) {\n return __awaiter(this, void 0, void 0, function* () {\n let flagConfigs;\n try {\n flagConfigs = SdkStreamFlagApi.parseFlagConfigs(data);\n }\n catch (e) {\n this.errorAndRetry(stream_1.DEFAULT_STREAM_ERR_EVENTS.DATA_UNPARSABLE);\n return;\n }\n // Put update outside try catch. onUpdate error doesn't mean stream error.\n const updateFunc = isInit && this.onInitUpdate ? this.onInitUpdate : this.onUpdate;\n if (updateFunc) {\n try {\n yield updateFunc(flagConfigs);\n }\n catch (e) {\n // Only care about application errors after handoff if initing. Ensure init is success.\n if (isInit) {\n throw e;\n }\n }\n }\n });\n }\n // Parse message. Throws if unparsable.\n static parseFlagConfigs(data) {\n const flagsArray = JSON.parse(data);\n return flagsArray.reduce((map, flag) => {\n map[flag.key] = flag;\n return map;\n }, {});\n }\n}\nexports.SdkStreamFlagApi = SdkStreamFlagApi;\n"],"names":["this","require$$0","data","err"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { __exports as streamer } from "../../../../../../_virtual/streamer.js";
|
|
2
|
+
import { __require as requireVersion } from "../../gen/version.js";
|
|
3
|
+
import { __require as requireConfig } from "../types/config.js";
|
|
4
|
+
import { __require as requireLoglevel } from "../types/loglevel.js";
|
|
5
|
+
import { __require as requireLogger } from "../util/logger.js";
|
|
6
|
+
import { __require as requireStreamFlagApi } from "./stream-flag-api.js";
|
|
7
|
+
import { __require as requireUpdater } from "./updater.js";
|
|
8
|
+
var hasRequiredStreamer;
|
|
9
|
+
function requireStreamer() {
|
|
10
|
+
if (hasRequiredStreamer) return streamer;
|
|
11
|
+
hasRequiredStreamer = 1;
|
|
12
|
+
var __awaiter = streamer && streamer.__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(streamer, "__esModule", { value: true });
|
|
40
|
+
streamer.FlagConfigStreamer = void 0;
|
|
41
|
+
const version_1 = requireVersion();
|
|
42
|
+
const config_1 = requireConfig();
|
|
43
|
+
const loglevel_1 = requireLoglevel();
|
|
44
|
+
const logger_1 = requireLogger();
|
|
45
|
+
const stream_flag_api_1 = requireStreamFlagApi();
|
|
46
|
+
const updater_1 = requireUpdater();
|
|
47
|
+
class FlagConfigStreamer extends updater_1.FlagConfigUpdaterBase {
|
|
48
|
+
constructor(apiKey, poller, cache, streamEventSourceFactory, streamFlagConnTimeoutMillis = config_1.LocalEvaluationDefaults.streamFlagConnTimeoutMillis, streamFlagTryAttempts, streamFlagTryDelayMillis, streamFlagRetryDelayMillis, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, cohortStorage, cohortFetcher, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {
|
|
49
|
+
super(cache, cohortStorage, cohortFetcher, logLevel, loggerProvider);
|
|
50
|
+
this.logger.debug("[Experiment] streamer - init");
|
|
51
|
+
this.poller = poller;
|
|
52
|
+
this.stream = new stream_flag_api_1.SdkStreamFlagApi(apiKey, serverUrl, streamEventSourceFactory, streamFlagConnTimeoutMillis, streamFlagConnTimeoutMillis, streamFlagTryAttempts, streamFlagTryDelayMillis);
|
|
53
|
+
this.streamFlagRetryDelayMillis = streamFlagRetryDelayMillis;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Fetch initial flag configurations and start polling for updates.
|
|
57
|
+
*
|
|
58
|
+
* You must call this function to begin polling for flag config updates.
|
|
59
|
+
* The promise returned by this function is resolved when the initial call
|
|
60
|
+
* to fetch the flag configuration completes.
|
|
61
|
+
*
|
|
62
|
+
* Calling this function while the poller is already running does nothing.
|
|
63
|
+
*/
|
|
64
|
+
start(onChange) {
|
|
65
|
+
const _super = Object.create(null, {
|
|
66
|
+
_update: { get: () => super._update }
|
|
67
|
+
});
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
this.stream.onError = (e) => {
|
|
70
|
+
const err = e;
|
|
71
|
+
this.logger.debug(`[Experiment] streamer - onError, fallback to poller, err status: ${err === null || err === void 0 ? void 0 : err.status}, err message: ${err === null || err === void 0 ? void 0 : err.message}, err ${err}`);
|
|
72
|
+
this.poller.start(onChange);
|
|
73
|
+
this.startRetryStreamInterval();
|
|
74
|
+
};
|
|
75
|
+
this.stream.onInitUpdate = (flagConfigs) => __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
this.logger.debug("[Experiment] streamer - receives updates");
|
|
77
|
+
yield _super._update.call(this, flagConfigs, onChange);
|
|
78
|
+
this.logger.debug("[Experiment] streamer - start flags stream success");
|
|
79
|
+
});
|
|
80
|
+
this.stream.onUpdate = (flagConfigs) => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
this.logger.debug("[Experiment] streamer - receives updates");
|
|
82
|
+
yield _super._update.call(this, flagConfigs, onChange);
|
|
83
|
+
});
|
|
84
|
+
try {
|
|
85
|
+
this.clearRetryStreamInterval();
|
|
86
|
+
yield this.stream.connect({
|
|
87
|
+
libraryName: "experiment-node-server",
|
|
88
|
+
libraryVersion: version_1.version
|
|
89
|
+
});
|
|
90
|
+
this.poller.stop();
|
|
91
|
+
} catch (e) {
|
|
92
|
+
const err = e;
|
|
93
|
+
this.logger.debug(`[Experiment] streamer - start stream failed, fallback to poller, err status: ${err === null || err === void 0 ? void 0 : err.status}, err message: ${err === null || err === void 0 ? void 0 : err.message}, err ${err}`);
|
|
94
|
+
yield this.poller.start(onChange);
|
|
95
|
+
this.startRetryStreamInterval();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Stop polling for flag configurations.
|
|
101
|
+
*
|
|
102
|
+
* Calling this function while the poller is not running will do nothing.
|
|
103
|
+
*/
|
|
104
|
+
stop() {
|
|
105
|
+
this.logger.debug("[Experiment] streamer - stop");
|
|
106
|
+
this.clearRetryStreamInterval();
|
|
107
|
+
this.poller.stop();
|
|
108
|
+
this.stream.close();
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Force a flag config fetch and cache the update with an optional callback
|
|
112
|
+
* which gets called if the flag configs change in any way.
|
|
113
|
+
*
|
|
114
|
+
* @param onChange optional callback which will get called if the flag configs
|
|
115
|
+
* in the cache have changed.
|
|
116
|
+
*/
|
|
117
|
+
update(onChange) {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
this.poller.update(onChange);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
// Retry stream after a while.
|
|
123
|
+
startRetryStreamInterval() {
|
|
124
|
+
this.clearRetryStreamInterval();
|
|
125
|
+
this.streamRetryInterval = setInterval(() => {
|
|
126
|
+
this.logger.debug("[Experiment] streamer - retry stream");
|
|
127
|
+
this.stream.connect().then(() => {
|
|
128
|
+
this.logger.debug("[Experiment] streamer - retry stream success");
|
|
129
|
+
this.clearRetryStreamInterval();
|
|
130
|
+
this.poller.stop();
|
|
131
|
+
}).catch(() => {
|
|
132
|
+
});
|
|
133
|
+
}, this.streamFlagRetryDelayMillis);
|
|
134
|
+
}
|
|
135
|
+
// Clear retry interval.
|
|
136
|
+
clearRetryStreamInterval() {
|
|
137
|
+
if (this.streamRetryInterval) {
|
|
138
|
+
clearInterval(this.streamRetryInterval);
|
|
139
|
+
this.streamRetryInterval = void 0;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
streamer.FlagConfigStreamer = FlagConfigStreamer;
|
|
144
|
+
return streamer;
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
requireStreamer as __require
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=streamer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamer.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/streamer.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.FlagConfigStreamer = void 0;\nconst version_1 = require(\"../../gen/version\");\nconst config_1 = require(\"../types/config\");\nconst loglevel_1 = require(\"../types/loglevel\");\nconst logger_1 = require(\"../util/logger\");\nconst stream_flag_api_1 = require(\"./stream-flag-api\");\nconst updater_1 = require(\"./updater\");\nclass FlagConfigStreamer extends updater_1.FlagConfigUpdaterBase {\n constructor(apiKey, poller, cache, streamEventSourceFactory, streamFlagConnTimeoutMillis = config_1.LocalEvaluationDefaults.streamFlagConnTimeoutMillis, streamFlagTryAttempts, streamFlagTryDelayMillis, streamFlagRetryDelayMillis, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, cohortStorage, cohortFetcher, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {\n super(cache, cohortStorage, cohortFetcher, logLevel, loggerProvider);\n this.logger.debug('[Experiment] streamer - init');\n this.poller = poller;\n this.stream = new stream_flag_api_1.SdkStreamFlagApi(apiKey, serverUrl, streamEventSourceFactory, streamFlagConnTimeoutMillis, streamFlagConnTimeoutMillis, streamFlagTryAttempts, streamFlagTryDelayMillis);\n this.streamFlagRetryDelayMillis = streamFlagRetryDelayMillis;\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 this.stream.onError = (e) => {\n const err = e;\n this.logger.debug(`[Experiment] streamer - onError, fallback to poller, err status: ${err === null || err === void 0 ? void 0 : err.status}, err message: ${err === null || err === void 0 ? void 0 : err.message}, err ${err}`);\n this.poller.start(onChange);\n this.startRetryStreamInterval();\n };\n this.stream.onInitUpdate = (flagConfigs) => __awaiter(this, void 0, void 0, function* () {\n this.logger.debug('[Experiment] streamer - receives updates');\n yield _super._update.call(this, flagConfigs, onChange);\n this.logger.debug('[Experiment] streamer - start flags stream success');\n });\n this.stream.onUpdate = (flagConfigs) => __awaiter(this, void 0, void 0, function* () {\n this.logger.debug('[Experiment] streamer - receives updates');\n yield _super._update.call(this, flagConfigs, onChange);\n });\n try {\n // Clear retry timeout. If stream isn't connected, we're trying now.\n // If stream is connected, timeout will be undefined and connect will do nothing.\n this.clearRetryStreamInterval();\n // stream connect error will be raised, not through calling onError.\n // So onError won't be called.\n // If close is called during connect, connect will return success. No sideeffects here.\n yield this.stream.connect({\n libraryName: 'experiment-node-server',\n libraryVersion: version_1.version,\n });\n this.poller.stop();\n }\n catch (e) {\n const err = e;\n this.logger.debug(`[Experiment] streamer - start stream failed, fallback to poller, err status: ${err === null || err === void 0 ? void 0 : err.status}, err message: ${err === null || err === void 0 ? void 0 : err.message}, err ${err}`);\n yield this.poller.start(onChange);\n this.startRetryStreamInterval();\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 this.logger.debug('[Experiment] streamer - stop');\n this.clearRetryStreamInterval();\n this.poller.stop();\n this.stream.close();\n }\n /**\n * Force a flag config fetch and cache the update with an optional callback\n * which gets called if the flag configs change in any way.\n *\n * @param onChange optional callback which will get called if the flag configs\n * in the cache have changed.\n */\n update(onChange) {\n return __awaiter(this, void 0, void 0, function* () {\n this.poller.update(onChange);\n });\n }\n // Retry stream after a while.\n startRetryStreamInterval() {\n this.clearRetryStreamInterval();\n this.streamRetryInterval = setInterval(() => {\n this.logger.debug('[Experiment] streamer - retry stream');\n this.stream\n .connect()\n .then(() => {\n this.logger.debug('[Experiment] streamer - retry stream success');\n // Clear interval.\n this.clearRetryStreamInterval();\n // Stop poller.\n this.poller.stop();\n })\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n .catch(() => { });\n }, this.streamFlagRetryDelayMillis);\n }\n // Clear retry interval.\n clearRetryStreamInterval() {\n if (this.streamRetryInterval) {\n clearInterval(this.streamRetryInterval);\n this.streamRetryInterval = undefined;\n }\n }\n}\nexports.FlagConfigStreamer = FlagConfigStreamer;\n"],"names":["this","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { __exports as updater } from "../../../../../../_virtual/updater.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 hasRequiredUpdater;
|
|
6
|
+
function requireUpdater() {
|
|
7
|
+
if (hasRequiredUpdater) return updater;
|
|
8
|
+
hasRequiredUpdater = 1;
|
|
9
|
+
var __awaiter = updater && updater.__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(updater, "__esModule", { value: true });
|
|
37
|
+
updater.FlagConfigUpdaterBase = void 0;
|
|
38
|
+
const loglevel_1 = requireLoglevel();
|
|
39
|
+
const cohort_1 = requireCohort();
|
|
40
|
+
const logger_1 = requireLogger();
|
|
41
|
+
class FlagConfigUpdaterBase {
|
|
42
|
+
constructor(cache, cohortStorage, cohortFetcher, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {
|
|
43
|
+
this.cache = cache;
|
|
44
|
+
this.cohortFetcher = cohortFetcher;
|
|
45
|
+
this.cohortStorage = cohortStorage;
|
|
46
|
+
this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);
|
|
47
|
+
}
|
|
48
|
+
_update(flagConfigs, onChange) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
let changed = false;
|
|
51
|
+
if (onChange) {
|
|
52
|
+
const current = yield this.cache.getAll();
|
|
53
|
+
if (!Object.is(current, flagConfigs)) {
|
|
54
|
+
changed = true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const cohortIds = cohort_1.CohortUtils.extractCohortIds(flagConfigs);
|
|
58
|
+
if (cohortIds && cohortIds.size > 0 && !this.cohortFetcher) {
|
|
59
|
+
this.logger.error("Cohorts found in flag configs but no cohort download configured");
|
|
60
|
+
} else {
|
|
61
|
+
yield this.downloadNewCohorts(cohortIds);
|
|
62
|
+
}
|
|
63
|
+
yield this.cache.clear();
|
|
64
|
+
yield this.cache.putAll(flagConfigs);
|
|
65
|
+
yield this.removeUnusedCohorts(cohortIds);
|
|
66
|
+
if (changed) {
|
|
67
|
+
yield onChange(this.cache);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
downloadNewCohorts(cohortIds) {
|
|
72
|
+
var _a;
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const oldCohortIds = (_a = this.cohortStorage) === null || _a === void 0 ? void 0 : _a.getAllCohortIds();
|
|
75
|
+
const newCohortIds = cohort_1.CohortUtils.setSubtract(cohortIds, oldCohortIds);
|
|
76
|
+
const failedCohortIds = /* @__PURE__ */ new Set();
|
|
77
|
+
const cohortDownloadPromises = [...newCohortIds].map((cohortId) => {
|
|
78
|
+
var _a2;
|
|
79
|
+
return (_a2 = this.cohortFetcher) === null || _a2 === void 0 ? void 0 : _a2.fetch(cohortId).then((cohort) => {
|
|
80
|
+
if (cohort) {
|
|
81
|
+
this.cohortStorage.put(cohort);
|
|
82
|
+
}
|
|
83
|
+
}).catch((err) => {
|
|
84
|
+
this.logger.error(`[Experiment] Cohort download failed ${cohortId}`, err);
|
|
85
|
+
failedCohortIds.add(cohortId);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
yield Promise.all(cohortDownloadPromises);
|
|
89
|
+
return failedCohortIds;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
removeUnusedCohorts(validCohortIds) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const cohortIdsToBeRemoved = cohort_1.CohortUtils.setSubtract(this.cohortStorage.getAllCohortIds(), validCohortIds);
|
|
95
|
+
cohortIdsToBeRemoved.forEach((id) => {
|
|
96
|
+
this.cohortStorage.delete(id);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
updater.FlagConfigUpdaterBase = FlagConfigUpdaterBase;
|
|
102
|
+
return updater;
|
|
103
|
+
}
|
|
104
|
+
export {
|
|
105
|
+
requireUpdater as __require
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/updater.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.FlagConfigUpdaterBase = void 0;\nconst loglevel_1 = require(\"../types/loglevel\");\nconst cohort_1 = require(\"../util/cohort\");\nconst logger_1 = require(\"../util/logger\");\nclass FlagConfigUpdaterBase {\n constructor(cache, cohortStorage, cohortFetcher, logLevel = loglevel_1.LogLevel.Error, loggerProvider = new logger_1.ConsoleLogger()) {\n this.cache = cache;\n this.cohortFetcher = cohortFetcher;\n this.cohortStorage = cohortStorage;\n this.logger = new logger_1.AmplitudeLogger(logLevel, loggerProvider);\n }\n _update(flagConfigs, onChange) {\n return __awaiter(this, void 0, void 0, function* () {\n let changed = false;\n if (onChange) {\n const current = yield this.cache.getAll();\n if (!Object.is(current, flagConfigs)) {\n changed = true;\n }\n }\n // Get all cohort needs update.\n const cohortIds = cohort_1.CohortUtils.extractCohortIds(flagConfigs);\n if (cohortIds && cohortIds.size > 0 && !this.cohortFetcher) {\n this.logger.error('Cohorts found in flag configs but no cohort download configured');\n }\n else {\n // Download new cohorts into cohortStorage.\n yield this.downloadNewCohorts(cohortIds);\n }\n // Update the flags with new flags.\n yield this.cache.clear();\n yield this.cache.putAll(flagConfigs);\n // Remove cohorts not used by new flags.\n yield this.removeUnusedCohorts(cohortIds);\n if (changed) {\n yield onChange(this.cache);\n }\n });\n }\n downloadNewCohorts(cohortIds) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const oldCohortIds = (_a = this.cohortStorage) === null || _a === void 0 ? void 0 : _a.getAllCohortIds();\n const newCohortIds = cohort_1.CohortUtils.setSubtract(cohortIds, oldCohortIds);\n const failedCohortIds = new Set();\n const cohortDownloadPromises = [...newCohortIds].map((cohortId) => {\n var _a;\n return (_a = this.cohortFetcher) === null || _a === void 0 ? void 0 : _a.fetch(cohortId).then((cohort) => {\n if (cohort) {\n this.cohortStorage.put(cohort);\n }\n }).catch((err) => {\n this.logger.error(`[Experiment] Cohort download failed ${cohortId}`, err);\n failedCohortIds.add(cohortId);\n });\n });\n yield Promise.all(cohortDownloadPromises);\n return failedCohortIds;\n });\n }\n removeUnusedCohorts(validCohortIds) {\n return __awaiter(this, void 0, void 0, function* () {\n const cohortIdsToBeRemoved = cohort_1.CohortUtils.setSubtract(this.cohortStorage.getAllCohortIds(), validCohortIds);\n cohortIdsToBeRemoved.forEach((id) => {\n this.cohortStorage.delete(id);\n });\n });\n }\n}\nexports.FlagConfigUpdaterBase = FlagConfigUpdaterBase;\n"],"names":["this","require$$0","require$$1","require$$2","_a"],"mappings":"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","x_google_ignoreList":[0]}
|