@slicemachine/manager 0.24.15-beta.8 → 0.24.15
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.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.cjs.map +1 -1
- package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -1
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -1
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/enoent.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/enoent.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/parse.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/parse.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/escape.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/escape.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.js.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.cjs.map +1 -1
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.js.map +1 -1
- package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -1
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -1
- package/dist/_node_modules/execa/index.cjs +2 -2
- package/dist/_node_modules/execa/index.cjs.map +1 -1
- package/dist/_node_modules/execa/index.js +2 -2
- package/dist/_node_modules/execa/index.js.map +1 -1
- package/dist/_node_modules/execa/lib/command.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/command.js.map +1 -1
- package/dist/_node_modules/execa/lib/error.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/error.js.map +1 -1
- package/dist/_node_modules/execa/lib/kill.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/kill.js.map +1 -1
- package/dist/_node_modules/execa/lib/promise.cjs +2 -2
- package/dist/_node_modules/execa/lib/promise.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/promise.js +2 -2
- package/dist/_node_modules/execa/lib/promise.js.map +1 -1
- package/dist/_node_modules/execa/lib/stdio.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/stdio.js.map +1 -1
- package/dist/_node_modules/execa/lib/stream.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/stream.js.map +1 -1
- package/dist/_node_modules/execa/lib/verbose.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/verbose.js.map +1 -1
- package/dist/_node_modules/fetch-blob/file.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/file.js.map +1 -1
- package/dist/_node_modules/fetch-blob/index.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/index.js.map +1 -1
- package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -1
- package/dist/_node_modules/fetch-blob/streams.js.map +1 -1
- package/dist/_node_modules/file-type/core.cjs.map +1 -1
- package/dist/_node_modules/file-type/core.js.map +1 -1
- package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -1
- package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -1
- package/dist/_node_modules/get-port/index.cjs.map +1 -1
- package/dist/_node_modules/get-port/index.js.map +1 -1
- package/dist/_node_modules/get-stream/index.cjs.map +1 -1
- package/dist/_node_modules/get-stream/index.js.map +1 -1
- package/dist/_node_modules/human-signals/build/src/realtime.cjs.map +1 -1
- package/dist/_node_modules/human-signals/build/src/realtime.js.map +1 -1
- package/dist/_node_modules/isexe/index.cjs.map +1 -1
- package/dist/_node_modules/isexe/index.js.map +1 -1
- package/dist/_node_modules/mimic-fn/index.cjs.map +1 -1
- package/dist/_node_modules/mimic-fn/index.js.map +1 -1
- package/dist/_node_modules/node-domexception/index.cjs.map +1 -1
- package/dist/_node_modules/node-domexception/index.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/body.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/headers.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/index.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/request.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -1
- package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -1
- package/dist/_node_modules/npm-run-path/_node_modules/path-key/index.cjs.map +1 -0
- package/dist/_node_modules/npm-run-path/_node_modules/path-key/index.js.map +1 -0
- package/dist/_node_modules/{execa/_node_modules/npm-run-path → npm-run-path}/index.cjs +1 -1
- package/dist/_node_modules/npm-run-path/index.cjs.map +1 -0
- package/dist/_node_modules/{execa/_node_modules/npm-run-path → npm-run-path}/index.js +1 -1
- package/dist/_node_modules/npm-run-path/index.js.map +1 -0
- package/dist/_node_modules/{execa/_node_modules/onetime → onetime}/index.cjs +1 -1
- package/dist/_node_modules/onetime/index.cjs.map +1 -0
- package/dist/_node_modules/{execa/_node_modules/onetime → onetime}/index.js +1 -1
- package/dist/_node_modules/onetime/index.js.map +1 -0
- package/dist/_node_modules/p-limit/index.cjs.map +1 -1
- package/dist/_node_modules/p-limit/index.js.map +1 -1
- package/dist/_node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
- package/dist/_node_modules/r19/dist/handleRPCRequest.js.map +1 -1
- package/dist/_node_modules/shebang-command/index.cjs.map +1 -1
- package/dist/_node_modules/shebang-command/index.js.map +1 -1
- package/dist/_node_modules/signal-exit/index.cjs.map +1 -1
- package/dist/_node_modules/signal-exit/index.js.map +1 -1
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -1
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -1
- package/dist/_node_modules/which/which.cjs.map +1 -1
- package/dist/_node_modules/which/which.js.map +1 -1
- package/dist/_node_modules/zod/lib/index.cjs.map +1 -1
- package/dist/_node_modules/zod/lib/index.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.cjs +1 -4
- package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
- package/dist/_virtual/_commonjsHelpers.js +1 -4
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/auth/PrismicAuthManager.cjs.map +1 -1
- package/dist/auth/PrismicAuthManager.js.map +1 -1
- package/dist/auth/createPrismicAuthManagerMiddleware.cjs.map +1 -1
- package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -1
- package/dist/constants/API_ENDPOINTS.cjs.map +1 -1
- package/dist/constants/API_ENDPOINTS.js.map +1 -1
- package/dist/constants/API_TOKENS.cjs.map +1 -1
- package/dist/constants/API_TOKENS.js.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/getEnvironmentInfo.cjs.map +1 -1
- package/dist/getEnvironmentInfo.js.map +1 -1
- package/dist/lib/DecodeError.cjs.map +1 -1
- package/dist/lib/DecodeError.js.map +1 -1
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.cjs.map +1 -1
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.js.map +1 -1
- package/dist/lib/fetchGitHubReleaseBodyForRelease.cjs.map +1 -1
- package/dist/lib/fetchGitHubReleaseBodyForRelease.js.map +1 -1
- package/dist/lib/fetchNPMPackageVersions.cjs.map +1 -1
- package/dist/lib/fetchNPMPackageVersions.js.map +1 -1
- package/dist/lib/installDependencies.cjs.map +1 -1
- package/dist/lib/installDependencies.js.map +1 -1
- package/dist/lib/locateFileUpward.cjs.map +1 -1
- package/dist/lib/locateFileUpward.js.map +1 -1
- package/dist/lib/prismicrc.cjs.map +1 -1
- package/dist/lib/prismicrc.js.map +1 -1
- package/dist/managers/SliceMachineManager.cjs.map +1 -1
- package/dist/managers/SliceMachineManager.js.map +1 -1
- package/dist/managers/customTypes/CustomTypesManager.cjs.map +1 -1
- package/dist/managers/customTypes/CustomTypesManager.js.map +1 -1
- package/dist/managers/git/GitManager.cjs.map +1 -1
- package/dist/managers/git/GitManager.js.map +1 -1
- package/dist/managers/git/buildGitRepoSpecifier.cjs.map +1 -1
- package/dist/managers/git/buildGitRepoSpecifier.js.map +1 -1
- package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs.map +1 -1
- package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -1
- package/dist/managers/project/ProjectManager.cjs.map +1 -1
- package/dist/managers/project/ProjectManager.js.map +1 -1
- package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
- package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.cjs.map +1 -1
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.js.map +1 -1
- package/dist/managers/slices/SlicesManager.cjs.map +1 -1
- package/dist/managers/slices/SlicesManager.js.map +1 -1
- package/dist/managers/telemetry/TelemetryManager.cjs.map +1 -1
- package/dist/managers/telemetry/TelemetryManager.js.map +1 -1
- package/dist/managers/telemetry/types.cjs +4 -6
- package/dist/managers/telemetry/types.cjs.map +1 -1
- package/dist/managers/telemetry/types.d.ts +6 -7
- package/dist/managers/telemetry/types.js +4 -6
- package/dist/managers/telemetry/types.js.map +1 -1
- package/dist/managers/versions/VersionsManager.cjs.map +1 -1
- package/dist/managers/versions/VersionsManager.js.map +1 -1
- package/package.json +4 -5
- package/src/managers/telemetry/types.ts +12 -17
- package/dist/_node_modules/execa/_node_modules/npm-run-path/index.cjs.map +0 -1
- package/dist/_node_modules/execa/_node_modules/npm-run-path/index.js.map +0 -1
- package/dist/_node_modules/execa/_node_modules/onetime/index.cjs.map +0 -1
- package/dist/_node_modules/execa/_node_modules/onetime/index.js.map +0 -1
- package/dist/_node_modules/execa/_node_modules/path-key/index.cjs.map +0 -1
- package/dist/_node_modules/execa/_node_modules/path-key/index.js.map +0 -1
- /package/dist/_node_modules/{execa → npm-run-path}/_node_modules/path-key/index.cjs +0 -0
- /package/dist/_node_modules/{execa → npm-run-path}/_node_modules/path-key/index.js +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"experiment-core.esm.cjs","sources":["../../../../../../../node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nfunction __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nfunction __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nvar EvaluationOperator = {\n IS: 'is',\n IS_NOT: 'is not',\n CONTAINS: 'contains',\n DOES_NOT_CONTAIN: 'does not contain',\n LESS_THAN: 'less',\n LESS_THAN_EQUALS: 'less or equal',\n GREATER_THAN: 'greater',\n GREATER_THAN_EQUALS: 'greater or equal',\n VERSION_LESS_THAN: 'version less',\n VERSION_LESS_THAN_EQUALS: 'version less or equal',\n VERSION_GREATER_THAN: 'version greater',\n VERSION_GREATER_THAN_EQUALS: 'version greater or equal',\n SET_IS: 'set is',\n SET_IS_NOT: 'set is not',\n SET_CONTAINS: 'set contains',\n SET_DOES_NOT_CONTAIN: 'set does not contain',\n SET_CONTAINS_ANY: 'set contains any',\n SET_DOES_NOT_CONTAIN_ANY: 'set does not contain any',\n REGEX_MATCH: 'regex match',\n REGEX_DOES_NOT_MATCH: 'regex does not match',\n};\n\nvar stringToUtf8ByteArray = function (str) {\n var out = [];\n var p = 0;\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c < 128) {\n out[p++] = c;\n }\n else if (c < 2048) {\n out[p++] = (c >> 6) | 192;\n out[p++] = (c & 63) | 128;\n }\n else if ((c & 0xfc00) == 0xd800 &&\n i + 1 < str.length &&\n (str.charCodeAt(i + 1) & 0xfc00) == 0xdc00) {\n // Surrogate Pair\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\n out[p++] = (c >> 18) | 240;\n out[p++] = ((c >> 12) & 63) | 128;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n else {\n out[p++] = (c >> 12) | 224;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n }\n return Uint8Array.from(out);\n};\n\nvar C1_32 = -0x3361d2af;\nvar C2_32 = 0x1b873593;\nvar R1_32 = 15;\nvar R2_32 = 13;\nvar M_32 = 5;\nvar N_32 = -0x19ab949c;\nvar hash32x86 = function (input, seed) {\n if (seed === void 0) { seed = 0; }\n var data = stringToUtf8ByteArray(input);\n var length = data.length;\n var nBlocks = length >> 2;\n var hash = seed;\n // body\n for (var i = 0; i < nBlocks; i++) {\n var index_1 = i << 2;\n var k = readIntLe(data, index_1);\n hash = mix32(k, hash);\n }\n // tail\n var index = nBlocks << 2;\n var k1 = 0;\n switch (length - index) {\n case 3:\n k1 ^= data[index + 2] << 16;\n k1 ^= data[index + 1] << 8;\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n case 2:\n k1 ^= data[index + 1] << 8;\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n case 1:\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n }\n hash ^= length;\n return fmix32(hash) >>> 0;\n};\nvar mix32 = function (k, hash) {\n var kResult = k;\n var hashResult = hash;\n kResult = Math.imul(kResult, C1_32);\n kResult = rotateLeft(kResult, R1_32);\n kResult = Math.imul(kResult, C2_32);\n hashResult ^= kResult;\n hashResult = rotateLeft(hashResult, R2_32);\n hashResult = Math.imul(hashResult, M_32);\n return (hashResult + N_32) | 0;\n};\nvar fmix32 = function (hash) {\n var hashResult = hash;\n hashResult ^= hashResult >>> 16;\n hashResult = Math.imul(hashResult, -0x7a143595);\n hashResult ^= hashResult >>> 13;\n hashResult = Math.imul(hashResult, -0x3d4d51cb);\n hashResult ^= hashResult >>> 16;\n return hashResult;\n};\nvar rotateLeft = function (x, n, width) {\n if (width === void 0) { width = 32; }\n if (n > width)\n n = n % width;\n var mask = (0xffffffff << (width - n)) >>> 0;\n var r = (((x & mask) >>> 0) >>> (width - n)) >>> 0;\n return ((x << n) | r) >>> 0;\n};\nvar readIntLe = function (data, index) {\n if (index === void 0) { index = 0; }\n var n = (data[index] << 24) |\n (data[index + 1] << 16) |\n (data[index + 2] << 8) |\n data[index + 3];\n return reverseBytes(n);\n};\nvar reverseBytes = function (n) {\n return (((n & -0x1000000) >>> 24) |\n ((n & 0x00ff0000) >>> 8) |\n ((n & 0x0000ff00) << 8) |\n ((n & 0x000000ff) << 24));\n};\n\nvar select = function (selectable, selector) {\n var e_1, _a;\n if (!selector || selector.length === 0) {\n return undefined;\n }\n try {\n for (var selector_1 = __values(selector), selector_1_1 = selector_1.next(); !selector_1_1.done; selector_1_1 = selector_1.next()) {\n var selectorElement = selector_1_1.value;\n if (!selectorElement || !selectable || typeof selectable !== 'object') {\n return undefined;\n }\n selectable = selectable[selectorElement];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (selector_1_1 && !selector_1_1.done && (_a = selector_1.return)) _a.call(selector_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!selectable) {\n return undefined;\n }\n else {\n return selectable;\n }\n};\n\n// major and minor should be non-negative numbers separated by a dot\nvar MAJOR_MINOR_REGEX = '(\\\\d+)\\\\.(\\\\d+)';\n// patch should be a non-negative number\nvar PATCH_REGEX = '(\\\\d+)';\n// prerelease is optional. If provided, it should be a hyphen followed by a\n// series of dot separated identifiers where an identifer can contain anything in [-0-9a-zA-Z]\nvar PRERELEASE_REGEX = '(-(([-\\\\w]+\\\\.?)*))?';\n// version pattern should be major.minor(.patchAndPreRelease) where .patchAndPreRelease is optional\nvar VERSION_PATTERN = \"^\".concat(MAJOR_MINOR_REGEX, \"(\\\\.\").concat(PATCH_REGEX).concat(PRERELEASE_REGEX, \")?$\");\nvar SemanticVersion = /** @class */ (function () {\n function SemanticVersion(major, minor, patch, preRelease) {\n if (preRelease === void 0) { preRelease = undefined; }\n this.major = major;\n this.minor = minor;\n this.patch = patch;\n this.preRelease = preRelease;\n }\n SemanticVersion.parse = function (version) {\n if (!version) {\n return undefined;\n }\n var matchGroup = new RegExp(VERSION_PATTERN).exec(version);\n if (!matchGroup) {\n return undefined;\n }\n var major = Number(matchGroup[1]);\n var minor = Number(matchGroup[2]);\n if (isNaN(major) || isNaN(minor)) {\n return undefined;\n }\n var patch = Number(matchGroup[4]) || 0;\n var preRelease = matchGroup[5] || undefined;\n return new SemanticVersion(major, minor, patch, preRelease);\n };\n SemanticVersion.prototype.compareTo = function (other) {\n if (this.major > other.major)\n return 1;\n if (this.major < other.major)\n return -1;\n if (this.minor > other.minor)\n return 1;\n if (this.minor < other.minor)\n return -1;\n if (this.patch > other.patch)\n return 1;\n if (this.patch < other.patch)\n return -1;\n if (this.preRelease && !other.preRelease)\n return -1;\n if (!this.preRelease && other.preRelease)\n return 1;\n if (this.preRelease && other.preRelease) {\n if (this.preRelease > other.preRelease)\n return 1;\n if (this.preRelease < other.preRelease)\n return -1;\n return 0;\n }\n return 0;\n };\n return SemanticVersion;\n}());\n\nvar EvaluationEngine = /** @class */ (function () {\n function EvaluationEngine() {\n }\n EvaluationEngine.prototype.evaluate = function (context, flags) {\n var e_1, _a;\n var results = {};\n var target = {\n context: context,\n result: results,\n };\n try {\n for (var flags_1 = __values(flags), flags_1_1 = flags_1.next(); !flags_1_1.done; flags_1_1 = flags_1.next()) {\n var flag = flags_1_1.value;\n // Evaluate flag and update results.\n var variant = this.evaluateFlag(target, flag);\n if (variant) {\n results[flag.key] = variant;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (flags_1_1 && !flags_1_1.done && (_a = flags_1.return)) _a.call(flags_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return results;\n };\n EvaluationEngine.prototype.evaluateFlag = function (target, flag) {\n var e_2, _a;\n var result;\n try {\n for (var _b = __values(flag.segments), _c = _b.next(); !_c.done; _c = _b.next()) {\n var segment = _c.value;\n result = this.evaluateSegment(target, flag, segment);\n if (result) {\n // Merge all metadata into the result\n var metadata = __assign(__assign(__assign({}, flag.metadata), segment.metadata), result.metadata);\n result = __assign(__assign({}, result), { metadata: metadata });\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n };\n EvaluationEngine.prototype.evaluateSegment = function (target, flag, segment) {\n var e_3, _a, e_4, _b;\n if (!segment.conditions) {\n // Null conditions always match\n var variantKey = this.bucket(target, segment);\n if (variantKey !== undefined) {\n return flag.variants[variantKey];\n }\n else {\n return undefined;\n }\n }\n try {\n // Outer list logic is \"or\" (||)\n for (var _c = __values(segment.conditions), _d = _c.next(); !_d.done; _d = _c.next()) {\n var conditions = _d.value;\n var match = true;\n try {\n for (var conditions_1 = (e_4 = void 0, __values(conditions)), conditions_1_1 = conditions_1.next(); !conditions_1_1.done; conditions_1_1 = conditions_1.next()) {\n var condition = conditions_1_1.value;\n match = this.matchCondition(target, condition);\n if (!match) {\n break;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (conditions_1_1 && !conditions_1_1.done && (_b = conditions_1.return)) _b.call(conditions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n // On match, bucket the user.\n if (match) {\n var variantKey = this.bucket(target, segment);\n if (variantKey !== undefined) {\n return flag.variants[variantKey];\n }\n else {\n return undefined;\n }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return undefined;\n };\n EvaluationEngine.prototype.matchCondition = function (target, condition) {\n var propValue = select(target, condition.selector);\n // We need special matching for null properties and set type prop values\n // and operators. All other values are matched as strings, since the\n // filter values are always strings.\n if (!propValue) {\n return this.matchNull(condition.op, condition.values);\n }\n else if (this.isSetOperator(condition.op)) {\n var propValueStringList = this.coerceStringArray(propValue);\n if (!propValueStringList) {\n return false;\n }\n return this.matchSet(propValueStringList, condition.op, condition.values);\n }\n else {\n var propValueString = this.coerceString(propValue);\n if (propValueString !== undefined) {\n return this.matchString(propValueString, condition.op, condition.values);\n }\n else {\n return false;\n }\n }\n };\n EvaluationEngine.prototype.getHash = function (key) {\n return hash32x86(key);\n };\n EvaluationEngine.prototype.bucket = function (target, segment) {\n var e_5, _a, e_6, _b;\n if (!segment.bucket) {\n // A null bucket means the segment is fully rolled out. Select the\n // default variant.\n return segment.variant;\n }\n // Select the bucketing value.\n var bucketingValue = this.coerceString(select(target, segment.bucket.selector));\n if (!bucketingValue || bucketingValue.length === 0) {\n // A null or empty bucketing value cannot be bucketed. Select the\n // default variant.\n return segment.variant;\n }\n // Salt and has the value, and compute the allocation and distribution\n // values.\n var keyToHash = \"\".concat(segment.bucket.salt, \"/\").concat(bucketingValue);\n var hash = this.getHash(keyToHash);\n var allocationValue = hash % 100;\n var distributionValue = Math.floor(hash / 100);\n try {\n for (var _c = __values(segment.bucket.allocations), _d = _c.next(); !_d.done; _d = _c.next()) {\n var allocation = _d.value;\n var allocationStart = allocation.range[0];\n var allocationEnd = allocation.range[1];\n if (allocationValue >= allocationStart &&\n allocationValue < allocationEnd) {\n try {\n for (var _e = (e_6 = void 0, __values(allocation.distributions)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var distribution = _f.value;\n var distributionStart = distribution.range[0];\n var distributionEnd = distribution.range[1];\n if (distributionValue >= distributionStart &&\n distributionValue < distributionEnd) {\n return distribution.variant;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return segment.variant;\n };\n EvaluationEngine.prototype.matchNull = function (op, filterValues) {\n var containsNone = this.containsNone(filterValues);\n switch (op) {\n case EvaluationOperator.IS:\n case EvaluationOperator.CONTAINS:\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n case EvaluationOperator.SET_IS:\n case EvaluationOperator.SET_CONTAINS:\n case EvaluationOperator.SET_CONTAINS_ANY:\n return containsNone;\n case EvaluationOperator.IS_NOT:\n case EvaluationOperator.DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return !containsNone;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchSet = function (propValues, op, filterValues) {\n switch (op) {\n case EvaluationOperator.SET_IS:\n return this.setEquals(propValues, filterValues);\n case EvaluationOperator.SET_IS_NOT:\n return !this.setEquals(propValues, filterValues);\n case EvaluationOperator.SET_CONTAINS:\n return this.matchesSetContainsAll(propValues, filterValues);\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n return !this.matchesSetContainsAll(propValues, filterValues);\n case EvaluationOperator.SET_CONTAINS_ANY:\n return this.matchesSetContainsAny(propValues, filterValues);\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return !this.matchesSetContainsAny(propValues, filterValues);\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchString = function (propValue, op, filterValues) {\n var _this = this;\n switch (op) {\n case EvaluationOperator.IS:\n return this.matchesIs(propValue, filterValues);\n case EvaluationOperator.IS_NOT:\n return !this.matchesIs(propValue, filterValues);\n case EvaluationOperator.CONTAINS:\n return this.matchesContains(propValue, filterValues);\n case EvaluationOperator.DOES_NOT_CONTAIN:\n return !this.matchesContains(propValue, filterValues);\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.GREATER_THAN_EQUALS:\n return this.matchesComparable(propValue, op, filterValues, function (value) { return _this.parseNumber(value); }, this.comparator);\n case EvaluationOperator.VERSION_LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return this.matchesComparable(propValue, op, filterValues, function (value) { return SemanticVersion.parse(value); }, this.versionComparator);\n case EvaluationOperator.REGEX_MATCH:\n return this.matchesRegex(propValue, filterValues);\n case EvaluationOperator.REGEX_DOES_NOT_MATCH:\n return !this.matchesRegex(propValue, filterValues);\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchesIs = function (propValue, filterValues) {\n if (this.containsBooleans(filterValues)) {\n var lower_1 = propValue.toLowerCase();\n if (lower_1 === 'true' || lower_1 === 'false') {\n return filterValues.some(function (value) { return value.toLowerCase() === lower_1; });\n }\n }\n return filterValues.some(function (value) { return propValue === value; });\n };\n EvaluationEngine.prototype.matchesContains = function (propValue, filterValues) {\n var e_7, _a;\n try {\n for (var filterValues_1 = __values(filterValues), filterValues_1_1 = filterValues_1.next(); !filterValues_1_1.done; filterValues_1_1 = filterValues_1.next()) {\n var filterValue = filterValues_1_1.value;\n if (propValue.toLowerCase().includes(filterValue.toLowerCase())) {\n return true;\n }\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (filterValues_1_1 && !filterValues_1_1.done && (_a = filterValues_1.return)) _a.call(filterValues_1);\n }\n finally { if (e_7) throw e_7.error; }\n }\n return false;\n };\n EvaluationEngine.prototype.matchesComparable = function (propValue, op, filterValues, typeTransformer, typeComparator) {\n var _this = this;\n var propValueTransformed = typeTransformer(propValue);\n var filterValuesTransformed = filterValues\n .map(function (filterValue) {\n return typeTransformer(filterValue);\n })\n .filter(function (filterValue) {\n return filterValue !== undefined;\n });\n if (propValueTransformed === undefined ||\n filterValuesTransformed.length === 0) {\n return filterValues.some(function (filterValue) {\n return _this.comparator(propValue, op, filterValue);\n });\n }\n else {\n return filterValuesTransformed.some(function (filterValueTransformed) {\n return typeComparator(propValueTransformed, op, filterValueTransformed);\n });\n }\n };\n EvaluationEngine.prototype.comparator = function (propValue, op, filterValue) {\n switch (op) {\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN:\n return propValue < filterValue;\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n return propValue <= filterValue;\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN:\n return propValue > filterValue;\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return propValue >= filterValue;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.versionComparator = function (propValue, op, filterValue) {\n var compareTo = propValue.compareTo(filterValue);\n switch (op) {\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN:\n return compareTo < 0;\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n return compareTo <= 0;\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN:\n return compareTo > 0;\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return compareTo >= 0;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchesRegex = function (propValue, filterValues) {\n return filterValues.some(function (filterValue) {\n return Boolean(new RegExp(filterValue).exec(propValue));\n });\n };\n EvaluationEngine.prototype.containsNone = function (filterValues) {\n return filterValues.some(function (filterValue) {\n return filterValue === '(none)';\n });\n };\n EvaluationEngine.prototype.containsBooleans = function (filterValues) {\n return filterValues.some(function (filterValue) {\n switch (filterValue.toLowerCase()) {\n case 'true':\n case 'false':\n return true;\n default:\n return false;\n }\n });\n };\n EvaluationEngine.prototype.parseNumber = function (value) {\n var _a;\n return (_a = Number(value)) !== null && _a !== void 0 ? _a : undefined;\n };\n EvaluationEngine.prototype.coerceString = function (value) {\n if (!value) {\n return undefined;\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n };\n EvaluationEngine.prototype.coerceStringArray = function (value) {\n var _this = this;\n if (Array.isArray(value)) {\n var anyArray = value;\n return anyArray\n .map(function (e) { return _this.coerceString(e); })\n .filter(Boolean);\n }\n var stringValue = String(value);\n try {\n var parsedValue = JSON.parse(stringValue);\n if (Array.isArray(parsedValue)) {\n var anyArray = value;\n return anyArray\n .map(function (e) { return _this.coerceString(e); })\n .filter(Boolean);\n }\n else {\n return undefined;\n }\n }\n catch (_a) {\n return undefined;\n }\n };\n EvaluationEngine.prototype.isSetOperator = function (op) {\n switch (op) {\n case EvaluationOperator.SET_IS:\n case EvaluationOperator.SET_IS_NOT:\n case EvaluationOperator.SET_CONTAINS:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_CONTAINS_ANY:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return true;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.setEquals = function (xa, ya) {\n var xs = new Set(xa);\n var ys = new Set(ya);\n return xs.size === ys.size && __spreadArray([], __read(ys), false).every(function (y) { return xs.has(y); });\n };\n EvaluationEngine.prototype.matchesSetContainsAll = function (propValues, filterValues) {\n var e_8, _a;\n if (propValues.length < filterValues.length) {\n return false;\n }\n try {\n for (var filterValues_2 = __values(filterValues), filterValues_2_1 = filterValues_2.next(); !filterValues_2_1.done; filterValues_2_1 = filterValues_2.next()) {\n var filterValue = filterValues_2_1.value;\n if (!this.matchesIs(filterValue, propValues)) {\n return false;\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (filterValues_2_1 && !filterValues_2_1.done && (_a = filterValues_2.return)) _a.call(filterValues_2);\n }\n finally { if (e_8) throw e_8.error; }\n }\n return true;\n };\n EvaluationEngine.prototype.matchesSetContainsAny = function (propValues, filterValues) {\n var e_9, _a;\n try {\n for (var filterValues_3 = __values(filterValues), filterValues_3_1 = filterValues_3.next(); !filterValues_3_1.done; filterValues_3_1 = filterValues_3.next()) {\n var filterValue = filterValues_3_1.value;\n if (this.matchesIs(filterValue, propValues)) {\n return true;\n }\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (filterValues_3_1 && !filterValues_3_1.done && (_a = filterValues_3.return)) _a.call(filterValues_3);\n }\n finally { if (e_9) throw e_9.error; }\n }\n return false;\n };\n return EvaluationEngine;\n}());\n\nvar topologicalSort = function (flags, flagKeys) {\n var e_1, _a;\n var available = __assign({}, flags);\n var result = [];\n var startingKeys = flagKeys || Object.keys(available);\n try {\n for (var startingKeys_1 = __values(startingKeys), startingKeys_1_1 = startingKeys_1.next(); !startingKeys_1_1.done; startingKeys_1_1 = startingKeys_1.next()) {\n var flagKey = startingKeys_1_1.value;\n var traversal = parentTraversal(flagKey, available);\n if (traversal) {\n result.push.apply(result, __spreadArray([], __read(traversal), false));\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (startingKeys_1_1 && !startingKeys_1_1.done && (_a = startingKeys_1.return)) _a.call(startingKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n};\nvar parentTraversal = function (flagKey, available, path) {\n var e_2, _a;\n if (path === void 0) { path = []; }\n var flag = available[flagKey];\n if (!flag) {\n return undefined;\n }\n else if (!flag.dependencies || flag.dependencies.length === 0) {\n delete available[flag.key];\n return [flag];\n }\n path.push(flag.key);\n var result = [];\n var _loop_1 = function (parentKey) {\n if (path.some(function (p) { return p === parentKey; })) {\n throw Error(\"Detected a cycle between flags \".concat(path));\n }\n var traversal = parentTraversal(parentKey, available, path);\n if (traversal) {\n result.push.apply(result, __spreadArray([], __read(traversal), false));\n }\n };\n try {\n for (var _b = __values(flag.dependencies), _c = _b.next(); !_c.done; _c = _b.next()) {\n var parentKey = _c.value;\n _loop_1(parentKey);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n result.push(flag);\n path.pop();\n delete available[flag.key];\n return result;\n};\n\n/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.5';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasatob = typeof atob === 'function';\nconst _hasbtoa = typeof btoa === 'function';\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = (a => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function' ? Uint8Array.from.bind(Uint8Array) : it => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = src => src.replace(/=/g, '').replace(/[+\\/]/g, m0 => m0 == '+' ? '-' : '_');\nconst _tidyB64 = s => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = bin => {\n // console.log('polyfilled');\n let u32,\n c0,\n c1,\n c2,\n asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 || (c1 = bin.charCodeAt(i++)) > 255 || (c2 = bin.charCodeAt(i++)) > 255) throw new TypeError('invalid character found');\n u32 = c0 << 16 | c1 << 8 | c2;\n asc += b64chs[u32 >> 18 & 63] + b64chs[u32 >> 12 & 63] + b64chs[u32 >> 6 & 63] + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = _hasbtoa ? bin => btoa(bin) : _hasBuffer ? bin => Buffer.from(bin, 'binary').toString('base64') : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer ? u8a => Buffer.from(u8a).toString('base64') : u8a => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n};\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = c => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c : cc < 0x800 ? _fromCC(0xc0 | cc >>> 6) + _fromCC(0x80 | cc & 0x3f) : _fromCC(0xe0 | cc >>> 12 & 0x0f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n } else {\n var cc = 0x10000 + (c.charCodeAt(0) - 0xD800) * 0x400 + (c.charCodeAt(1) - 0xDC00);\n return _fromCC(0xf0 | cc >>> 18 & 0x07) + _fromCC(0x80 | cc >>> 12 & 0x3f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = u => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer ? s => Buffer.from(s, 'utf8').toString('base64') : _TE ? s => _fromUint8Array(_TE.encode(s)) : s => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe ? _mkUriSafe(_encode(src)) : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = src => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = cccc => {\n switch (cccc.length) {\n case 4:\n var cp = (0x07 & cccc.charCodeAt(0)) << 18 | (0x3f & cccc.charCodeAt(1)) << 12 | (0x3f & cccc.charCodeAt(2)) << 6 | 0x3f & cccc.charCodeAt(3),\n offset = cp - 0x10000;\n return _fromCC((offset >>> 10) + 0xD800) + _fromCC((offset & 0x3FF) + 0xDC00);\n case 3:\n return _fromCC((0x0f & cccc.charCodeAt(0)) << 12 | (0x3f & cccc.charCodeAt(1)) << 6 | 0x3f & cccc.charCodeAt(2));\n default:\n return _fromCC((0x1f & cccc.charCodeAt(0)) << 6 | 0x3f & cccc.charCodeAt(1));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = b => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = asc => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc)) throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24,\n bin = '',\n r1,\n r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18 | b64tab[asc.charAt(i++)] << 12 | (r1 = b64tab[asc.charAt(i++)]) << 6 | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = _hasatob ? asc => atob(_tidyB64(asc)) : _hasBuffer ? asc => Buffer.from(asc, 'base64').toString('binary') : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer ? a => _U8Afrom(Buffer.from(a, 'base64')) : a => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = a => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer ? a => Buffer.from(a, 'base64').toString('utf8') : _TD ? a => _TD.decode(_toUint8Array(a)) : a => btou(_atob(a));\nconst _unURI = a => _tidyB64(a.replace(/[-_]/g, m0 => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = src => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = src => {\n if (typeof src !== 'string') return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = v => {\n return {\n value: v,\n enumerable: false,\n writable: true,\n configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () {\n return decode(this);\n });\n _add('toBase64', function (urlsafe) {\n return encode(this, urlsafe);\n });\n _add('toBase64URI', function () {\n return encode(this, true);\n });\n _add('toBase64URL', function () {\n return encode(this, true);\n });\n _add('toUint8Array', function () {\n return toUint8Array(this);\n });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) {\n return fromUint8Array(this, urlsafe);\n });\n _add('toBase64URI', function () {\n return fromUint8Array(this, true);\n });\n _add('toBase64URL', function () {\n return fromUint8Array(this, true);\n });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n\nvar SdkEvaluationApi = /** @class */ (function () {\n function SdkEvaluationApi(deploymentKey, serverUrl, httpClient) {\n this.deploymentKey = deploymentKey;\n this.serverUrl = serverUrl;\n this.httpClient = httpClient;\n }\n SdkEvaluationApi.prototype.getVariants = function (user, options) {\n return __awaiter(this, void 0, void 0, function () {\n var userJsonBase64, headers, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n userJsonBase64 = gBase64.encodeURL(JSON.stringify(user));\n headers = {\n Authorization: \"Api-Key \".concat(this.deploymentKey),\n 'X-Amp-Exp-User': userJsonBase64,\n };\n if (options === null || options === void 0 ? void 0 : options.flagKeys) {\n headers['X-Amp-Exp-Flag-Keys'] = gBase64.encodeURL(JSON.stringify(options.flagKeys));\n }\n if (options === null || options === void 0 ? void 0 : options.trackingOption) {\n headers['X-Amp-Exp-Track'] = options.trackingOption;\n }\n return [4 /*yield*/, this.httpClient.request({\n requestUrl: \"\".concat(this.serverUrl, \"/sdk/v2/vardata?v=0\"),\n method: 'GET',\n headers: headers,\n timeoutMillis: options === null || options === void 0 ? void 0 : options.timeoutMillis,\n })];\n case 1:\n response = _a.sent();\n if (response.status != 200) {\n throw Error(\"Fetch error response: status=\".concat(response.status));\n }\n return [2 /*return*/, JSON.parse(response.body)];\n }\n });\n });\n };\n return SdkEvaluationApi;\n}());\n\nvar SdkFlagApi = /** @class */ (function () {\n function SdkFlagApi(deploymentKey, serverUrl, httpClient) {\n this.deploymentKey = deploymentKey;\n this.serverUrl = serverUrl;\n this.httpClient = httpClient;\n }\n SdkFlagApi.prototype.getFlags = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var headers, response, flagsArray;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n headers = {\n Authorization: \"Api-Key \".concat(this.deploymentKey),\n };\n if ((options === null || options === void 0 ? void 0 : options.libraryName) && (options === null || options === void 0 ? void 0 : options.libraryVersion)) {\n headers['X-Amp-Exp-Library'] = \"\".concat(options.libraryName, \"/\").concat(options.libraryVersion);\n }\n return [4 /*yield*/, this.httpClient.request({\n requestUrl: \"\".concat(this.serverUrl, \"/sdk/v2/flags\"),\n method: 'GET',\n headers: headers,\n timeoutMillis: options === null || options === void 0 ? void 0 : options.timeoutMillis,\n })];\n case 1:\n response = _a.sent();\n if (response.status != 200) {\n throw Error(\"Flags error response: status=\".concat(response.status));\n }\n flagsArray = JSON.parse(response.body);\n return [2 /*return*/, flagsArray.reduce(function (map, flag) {\n map[flag.key] = flag;\n return map;\n }, {})];\n }\n });\n });\n };\n return SdkFlagApi;\n}());\n\nvar safeGlobal = typeof globalThis !== 'undefined' ? globalThis : global || self;\n\nvar Poller = /** @class */ (function () {\n function Poller(action, ms) {\n this.poller = undefined;\n this.action = action;\n this.ms = ms;\n }\n Poller.prototype.start = function () {\n if (this.poller) {\n return;\n }\n this.poller = safeGlobal.setInterval(this.action, this.ms);\n void this.action();\n };\n Poller.prototype.stop = function () {\n if (!this.poller) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n safeGlobal.clearInterval(this.poller);\n this.poller = undefined;\n };\n return Poller;\n}());\n\nexport { EvaluationEngine, EvaluationOperator, Poller, SdkEvaluationApi, SdkFlagApi, safeGlobal, topologicalSort };\n"],"names":["__assign","SemanticVersion","version","EvaluationEngine","parentKey","SdkEvaluationApi","SdkFlagApi","Poller"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"experiment-core.esm.cjs","sources":["../../../../../../../node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nfunction __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nfunction __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nvar EvaluationOperator = {\n IS: 'is',\n IS_NOT: 'is not',\n CONTAINS: 'contains',\n DOES_NOT_CONTAIN: 'does not contain',\n LESS_THAN: 'less',\n LESS_THAN_EQUALS: 'less or equal',\n GREATER_THAN: 'greater',\n GREATER_THAN_EQUALS: 'greater or equal',\n VERSION_LESS_THAN: 'version less',\n VERSION_LESS_THAN_EQUALS: 'version less or equal',\n VERSION_GREATER_THAN: 'version greater',\n VERSION_GREATER_THAN_EQUALS: 'version greater or equal',\n SET_IS: 'set is',\n SET_IS_NOT: 'set is not',\n SET_CONTAINS: 'set contains',\n SET_DOES_NOT_CONTAIN: 'set does not contain',\n SET_CONTAINS_ANY: 'set contains any',\n SET_DOES_NOT_CONTAIN_ANY: 'set does not contain any',\n REGEX_MATCH: 'regex match',\n REGEX_DOES_NOT_MATCH: 'regex does not match',\n};\n\nvar stringToUtf8ByteArray = function (str) {\n var out = [];\n var p = 0;\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c < 128) {\n out[p++] = c;\n }\n else if (c < 2048) {\n out[p++] = (c >> 6) | 192;\n out[p++] = (c & 63) | 128;\n }\n else if ((c & 0xfc00) == 0xd800 &&\n i + 1 < str.length &&\n (str.charCodeAt(i + 1) & 0xfc00) == 0xdc00) {\n // Surrogate Pair\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\n out[p++] = (c >> 18) | 240;\n out[p++] = ((c >> 12) & 63) | 128;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n else {\n out[p++] = (c >> 12) | 224;\n out[p++] = ((c >> 6) & 63) | 128;\n out[p++] = (c & 63) | 128;\n }\n }\n return Uint8Array.from(out);\n};\n\nvar C1_32 = -0x3361d2af;\nvar C2_32 = 0x1b873593;\nvar R1_32 = 15;\nvar R2_32 = 13;\nvar M_32 = 5;\nvar N_32 = -0x19ab949c;\nvar hash32x86 = function (input, seed) {\n if (seed === void 0) { seed = 0; }\n var data = stringToUtf8ByteArray(input);\n var length = data.length;\n var nBlocks = length >> 2;\n var hash = seed;\n // body\n for (var i = 0; i < nBlocks; i++) {\n var index_1 = i << 2;\n var k = readIntLe(data, index_1);\n hash = mix32(k, hash);\n }\n // tail\n var index = nBlocks << 2;\n var k1 = 0;\n switch (length - index) {\n case 3:\n k1 ^= data[index + 2] << 16;\n k1 ^= data[index + 1] << 8;\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n case 2:\n k1 ^= data[index + 1] << 8;\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n case 1:\n k1 ^= data[index];\n k1 = Math.imul(k1, C1_32);\n k1 = rotateLeft(k1, R1_32);\n k1 = Math.imul(k1, C2_32);\n hash ^= k1;\n break;\n }\n hash ^= length;\n return fmix32(hash) >>> 0;\n};\nvar mix32 = function (k, hash) {\n var kResult = k;\n var hashResult = hash;\n kResult = Math.imul(kResult, C1_32);\n kResult = rotateLeft(kResult, R1_32);\n kResult = Math.imul(kResult, C2_32);\n hashResult ^= kResult;\n hashResult = rotateLeft(hashResult, R2_32);\n hashResult = Math.imul(hashResult, M_32);\n return (hashResult + N_32) | 0;\n};\nvar fmix32 = function (hash) {\n var hashResult = hash;\n hashResult ^= hashResult >>> 16;\n hashResult = Math.imul(hashResult, -0x7a143595);\n hashResult ^= hashResult >>> 13;\n hashResult = Math.imul(hashResult, -0x3d4d51cb);\n hashResult ^= hashResult >>> 16;\n return hashResult;\n};\nvar rotateLeft = function (x, n, width) {\n if (width === void 0) { width = 32; }\n if (n > width)\n n = n % width;\n var mask = (0xffffffff << (width - n)) >>> 0;\n var r = (((x & mask) >>> 0) >>> (width - n)) >>> 0;\n return ((x << n) | r) >>> 0;\n};\nvar readIntLe = function (data, index) {\n if (index === void 0) { index = 0; }\n var n = (data[index] << 24) |\n (data[index + 1] << 16) |\n (data[index + 2] << 8) |\n data[index + 3];\n return reverseBytes(n);\n};\nvar reverseBytes = function (n) {\n return (((n & -0x1000000) >>> 24) |\n ((n & 0x00ff0000) >>> 8) |\n ((n & 0x0000ff00) << 8) |\n ((n & 0x000000ff) << 24));\n};\n\nvar select = function (selectable, selector) {\n var e_1, _a;\n if (!selector || selector.length === 0) {\n return undefined;\n }\n try {\n for (var selector_1 = __values(selector), selector_1_1 = selector_1.next(); !selector_1_1.done; selector_1_1 = selector_1.next()) {\n var selectorElement = selector_1_1.value;\n if (!selectorElement || !selectable || typeof selectable !== 'object') {\n return undefined;\n }\n selectable = selectable[selectorElement];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (selector_1_1 && !selector_1_1.done && (_a = selector_1.return)) _a.call(selector_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!selectable) {\n return undefined;\n }\n else {\n return selectable;\n }\n};\n\n// major and minor should be non-negative numbers separated by a dot\nvar MAJOR_MINOR_REGEX = '(\\\\d+)\\\\.(\\\\d+)';\n// patch should be a non-negative number\nvar PATCH_REGEX = '(\\\\d+)';\n// prerelease is optional. If provided, it should be a hyphen followed by a\n// series of dot separated identifiers where an identifer can contain anything in [-0-9a-zA-Z]\nvar PRERELEASE_REGEX = '(-(([-\\\\w]+\\\\.?)*))?';\n// version pattern should be major.minor(.patchAndPreRelease) where .patchAndPreRelease is optional\nvar VERSION_PATTERN = \"^\".concat(MAJOR_MINOR_REGEX, \"(\\\\.\").concat(PATCH_REGEX).concat(PRERELEASE_REGEX, \")?$\");\nvar SemanticVersion = /** @class */ (function () {\n function SemanticVersion(major, minor, patch, preRelease) {\n if (preRelease === void 0) { preRelease = undefined; }\n this.major = major;\n this.minor = minor;\n this.patch = patch;\n this.preRelease = preRelease;\n }\n SemanticVersion.parse = function (version) {\n if (!version) {\n return undefined;\n }\n var matchGroup = new RegExp(VERSION_PATTERN).exec(version);\n if (!matchGroup) {\n return undefined;\n }\n var major = Number(matchGroup[1]);\n var minor = Number(matchGroup[2]);\n if (isNaN(major) || isNaN(minor)) {\n return undefined;\n }\n var patch = Number(matchGroup[4]) || 0;\n var preRelease = matchGroup[5] || undefined;\n return new SemanticVersion(major, minor, patch, preRelease);\n };\n SemanticVersion.prototype.compareTo = function (other) {\n if (this.major > other.major)\n return 1;\n if (this.major < other.major)\n return -1;\n if (this.minor > other.minor)\n return 1;\n if (this.minor < other.minor)\n return -1;\n if (this.patch > other.patch)\n return 1;\n if (this.patch < other.patch)\n return -1;\n if (this.preRelease && !other.preRelease)\n return -1;\n if (!this.preRelease && other.preRelease)\n return 1;\n if (this.preRelease && other.preRelease) {\n if (this.preRelease > other.preRelease)\n return 1;\n if (this.preRelease < other.preRelease)\n return -1;\n return 0;\n }\n return 0;\n };\n return SemanticVersion;\n}());\n\nvar EvaluationEngine = /** @class */ (function () {\n function EvaluationEngine() {\n }\n EvaluationEngine.prototype.evaluate = function (context, flags) {\n var e_1, _a;\n var results = {};\n var target = {\n context: context,\n result: results,\n };\n try {\n for (var flags_1 = __values(flags), flags_1_1 = flags_1.next(); !flags_1_1.done; flags_1_1 = flags_1.next()) {\n var flag = flags_1_1.value;\n // Evaluate flag and update results.\n var variant = this.evaluateFlag(target, flag);\n if (variant) {\n results[flag.key] = variant;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (flags_1_1 && !flags_1_1.done && (_a = flags_1.return)) _a.call(flags_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return results;\n };\n EvaluationEngine.prototype.evaluateFlag = function (target, flag) {\n var e_2, _a;\n var result;\n try {\n for (var _b = __values(flag.segments), _c = _b.next(); !_c.done; _c = _b.next()) {\n var segment = _c.value;\n result = this.evaluateSegment(target, flag, segment);\n if (result) {\n // Merge all metadata into the result\n var metadata = __assign(__assign(__assign({}, flag.metadata), segment.metadata), result.metadata);\n result = __assign(__assign({}, result), { metadata: metadata });\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n };\n EvaluationEngine.prototype.evaluateSegment = function (target, flag, segment) {\n var e_3, _a, e_4, _b;\n if (!segment.conditions) {\n // Null conditions always match\n var variantKey = this.bucket(target, segment);\n if (variantKey !== undefined) {\n return flag.variants[variantKey];\n }\n else {\n return undefined;\n }\n }\n try {\n // Outer list logic is \"or\" (||)\n for (var _c = __values(segment.conditions), _d = _c.next(); !_d.done; _d = _c.next()) {\n var conditions = _d.value;\n var match = true;\n try {\n for (var conditions_1 = (e_4 = void 0, __values(conditions)), conditions_1_1 = conditions_1.next(); !conditions_1_1.done; conditions_1_1 = conditions_1.next()) {\n var condition = conditions_1_1.value;\n match = this.matchCondition(target, condition);\n if (!match) {\n break;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (conditions_1_1 && !conditions_1_1.done && (_b = conditions_1.return)) _b.call(conditions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n // On match, bucket the user.\n if (match) {\n var variantKey = this.bucket(target, segment);\n if (variantKey !== undefined) {\n return flag.variants[variantKey];\n }\n else {\n return undefined;\n }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return undefined;\n };\n EvaluationEngine.prototype.matchCondition = function (target, condition) {\n var propValue = select(target, condition.selector);\n // We need special matching for null properties and set type prop values\n // and operators. All other values are matched as strings, since the\n // filter values are always strings.\n if (!propValue) {\n return this.matchNull(condition.op, condition.values);\n }\n else if (this.isSetOperator(condition.op)) {\n var propValueStringList = this.coerceStringArray(propValue);\n if (!propValueStringList) {\n return false;\n }\n return this.matchSet(propValueStringList, condition.op, condition.values);\n }\n else {\n var propValueString = this.coerceString(propValue);\n if (propValueString !== undefined) {\n return this.matchString(propValueString, condition.op, condition.values);\n }\n else {\n return false;\n }\n }\n };\n EvaluationEngine.prototype.getHash = function (key) {\n return hash32x86(key);\n };\n EvaluationEngine.prototype.bucket = function (target, segment) {\n var e_5, _a, e_6, _b;\n if (!segment.bucket) {\n // A null bucket means the segment is fully rolled out. Select the\n // default variant.\n return segment.variant;\n }\n // Select the bucketing value.\n var bucketingValue = this.coerceString(select(target, segment.bucket.selector));\n if (!bucketingValue || bucketingValue.length === 0) {\n // A null or empty bucketing value cannot be bucketed. Select the\n // default variant.\n return segment.variant;\n }\n // Salt and has the value, and compute the allocation and distribution\n // values.\n var keyToHash = \"\".concat(segment.bucket.salt, \"/\").concat(bucketingValue);\n var hash = this.getHash(keyToHash);\n var allocationValue = hash % 100;\n var distributionValue = Math.floor(hash / 100);\n try {\n for (var _c = __values(segment.bucket.allocations), _d = _c.next(); !_d.done; _d = _c.next()) {\n var allocation = _d.value;\n var allocationStart = allocation.range[0];\n var allocationEnd = allocation.range[1];\n if (allocationValue >= allocationStart &&\n allocationValue < allocationEnd) {\n try {\n for (var _e = (e_6 = void 0, __values(allocation.distributions)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var distribution = _f.value;\n var distributionStart = distribution.range[0];\n var distributionEnd = distribution.range[1];\n if (distributionValue >= distributionStart &&\n distributionValue < distributionEnd) {\n return distribution.variant;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return segment.variant;\n };\n EvaluationEngine.prototype.matchNull = function (op, filterValues) {\n var containsNone = this.containsNone(filterValues);\n switch (op) {\n case EvaluationOperator.IS:\n case EvaluationOperator.CONTAINS:\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n case EvaluationOperator.SET_IS:\n case EvaluationOperator.SET_CONTAINS:\n case EvaluationOperator.SET_CONTAINS_ANY:\n return containsNone;\n case EvaluationOperator.IS_NOT:\n case EvaluationOperator.DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return !containsNone;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchSet = function (propValues, op, filterValues) {\n switch (op) {\n case EvaluationOperator.SET_IS:\n return this.setEquals(propValues, filterValues);\n case EvaluationOperator.SET_IS_NOT:\n return !this.setEquals(propValues, filterValues);\n case EvaluationOperator.SET_CONTAINS:\n return this.matchesSetContainsAll(propValues, filterValues);\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n return !this.matchesSetContainsAll(propValues, filterValues);\n case EvaluationOperator.SET_CONTAINS_ANY:\n return this.matchesSetContainsAny(propValues, filterValues);\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return !this.matchesSetContainsAny(propValues, filterValues);\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchString = function (propValue, op, filterValues) {\n var _this = this;\n switch (op) {\n case EvaluationOperator.IS:\n return this.matchesIs(propValue, filterValues);\n case EvaluationOperator.IS_NOT:\n return !this.matchesIs(propValue, filterValues);\n case EvaluationOperator.CONTAINS:\n return this.matchesContains(propValue, filterValues);\n case EvaluationOperator.DOES_NOT_CONTAIN:\n return !this.matchesContains(propValue, filterValues);\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.GREATER_THAN_EQUALS:\n return this.matchesComparable(propValue, op, filterValues, function (value) { return _this.parseNumber(value); }, this.comparator);\n case EvaluationOperator.VERSION_LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return this.matchesComparable(propValue, op, filterValues, function (value) { return SemanticVersion.parse(value); }, this.versionComparator);\n case EvaluationOperator.REGEX_MATCH:\n return this.matchesRegex(propValue, filterValues);\n case EvaluationOperator.REGEX_DOES_NOT_MATCH:\n return !this.matchesRegex(propValue, filterValues);\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchesIs = function (propValue, filterValues) {\n if (this.containsBooleans(filterValues)) {\n var lower_1 = propValue.toLowerCase();\n if (lower_1 === 'true' || lower_1 === 'false') {\n return filterValues.some(function (value) { return value.toLowerCase() === lower_1; });\n }\n }\n return filterValues.some(function (value) { return propValue === value; });\n };\n EvaluationEngine.prototype.matchesContains = function (propValue, filterValues) {\n var e_7, _a;\n try {\n for (var filterValues_1 = __values(filterValues), filterValues_1_1 = filterValues_1.next(); !filterValues_1_1.done; filterValues_1_1 = filterValues_1.next()) {\n var filterValue = filterValues_1_1.value;\n if (propValue.toLowerCase().includes(filterValue.toLowerCase())) {\n return true;\n }\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (filterValues_1_1 && !filterValues_1_1.done && (_a = filterValues_1.return)) _a.call(filterValues_1);\n }\n finally { if (e_7) throw e_7.error; }\n }\n return false;\n };\n EvaluationEngine.prototype.matchesComparable = function (propValue, op, filterValues, typeTransformer, typeComparator) {\n var _this = this;\n var propValueTransformed = typeTransformer(propValue);\n var filterValuesTransformed = filterValues\n .map(function (filterValue) {\n return typeTransformer(filterValue);\n })\n .filter(function (filterValue) {\n return filterValue !== undefined;\n });\n if (propValueTransformed === undefined ||\n filterValuesTransformed.length === 0) {\n return filterValues.some(function (filterValue) {\n return _this.comparator(propValue, op, filterValue);\n });\n }\n else {\n return filterValuesTransformed.some(function (filterValueTransformed) {\n return typeComparator(propValueTransformed, op, filterValueTransformed);\n });\n }\n };\n EvaluationEngine.prototype.comparator = function (propValue, op, filterValue) {\n switch (op) {\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN:\n return propValue < filterValue;\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n return propValue <= filterValue;\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN:\n return propValue > filterValue;\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return propValue >= filterValue;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.versionComparator = function (propValue, op, filterValue) {\n var compareTo = propValue.compareTo(filterValue);\n switch (op) {\n case EvaluationOperator.LESS_THAN:\n case EvaluationOperator.VERSION_LESS_THAN:\n return compareTo < 0;\n case EvaluationOperator.LESS_THAN_EQUALS:\n case EvaluationOperator.VERSION_LESS_THAN_EQUALS:\n return compareTo <= 0;\n case EvaluationOperator.GREATER_THAN:\n case EvaluationOperator.VERSION_GREATER_THAN:\n return compareTo > 0;\n case EvaluationOperator.GREATER_THAN_EQUALS:\n case EvaluationOperator.VERSION_GREATER_THAN_EQUALS:\n return compareTo >= 0;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.matchesRegex = function (propValue, filterValues) {\n return filterValues.some(function (filterValue) {\n return Boolean(new RegExp(filterValue).exec(propValue));\n });\n };\n EvaluationEngine.prototype.containsNone = function (filterValues) {\n return filterValues.some(function (filterValue) {\n return filterValue === '(none)';\n });\n };\n EvaluationEngine.prototype.containsBooleans = function (filterValues) {\n return filterValues.some(function (filterValue) {\n switch (filterValue.toLowerCase()) {\n case 'true':\n case 'false':\n return true;\n default:\n return false;\n }\n });\n };\n EvaluationEngine.prototype.parseNumber = function (value) {\n var _a;\n return (_a = Number(value)) !== null && _a !== void 0 ? _a : undefined;\n };\n EvaluationEngine.prototype.coerceString = function (value) {\n if (!value) {\n return undefined;\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n };\n EvaluationEngine.prototype.coerceStringArray = function (value) {\n var _this = this;\n if (Array.isArray(value)) {\n var anyArray = value;\n return anyArray\n .map(function (e) { return _this.coerceString(e); })\n .filter(Boolean);\n }\n var stringValue = String(value);\n try {\n var parsedValue = JSON.parse(stringValue);\n if (Array.isArray(parsedValue)) {\n var anyArray = value;\n return anyArray\n .map(function (e) { return _this.coerceString(e); })\n .filter(Boolean);\n }\n else {\n return undefined;\n }\n }\n catch (_a) {\n return undefined;\n }\n };\n EvaluationEngine.prototype.isSetOperator = function (op) {\n switch (op) {\n case EvaluationOperator.SET_IS:\n case EvaluationOperator.SET_IS_NOT:\n case EvaluationOperator.SET_CONTAINS:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN:\n case EvaluationOperator.SET_CONTAINS_ANY:\n case EvaluationOperator.SET_DOES_NOT_CONTAIN_ANY:\n return true;\n default:\n return false;\n }\n };\n EvaluationEngine.prototype.setEquals = function (xa, ya) {\n var xs = new Set(xa);\n var ys = new Set(ya);\n return xs.size === ys.size && __spreadArray([], __read(ys), false).every(function (y) { return xs.has(y); });\n };\n EvaluationEngine.prototype.matchesSetContainsAll = function (propValues, filterValues) {\n var e_8, _a;\n if (propValues.length < filterValues.length) {\n return false;\n }\n try {\n for (var filterValues_2 = __values(filterValues), filterValues_2_1 = filterValues_2.next(); !filterValues_2_1.done; filterValues_2_1 = filterValues_2.next()) {\n var filterValue = filterValues_2_1.value;\n if (!this.matchesIs(filterValue, propValues)) {\n return false;\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (filterValues_2_1 && !filterValues_2_1.done && (_a = filterValues_2.return)) _a.call(filterValues_2);\n }\n finally { if (e_8) throw e_8.error; }\n }\n return true;\n };\n EvaluationEngine.prototype.matchesSetContainsAny = function (propValues, filterValues) {\n var e_9, _a;\n try {\n for (var filterValues_3 = __values(filterValues), filterValues_3_1 = filterValues_3.next(); !filterValues_3_1.done; filterValues_3_1 = filterValues_3.next()) {\n var filterValue = filterValues_3_1.value;\n if (this.matchesIs(filterValue, propValues)) {\n return true;\n }\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (filterValues_3_1 && !filterValues_3_1.done && (_a = filterValues_3.return)) _a.call(filterValues_3);\n }\n finally { if (e_9) throw e_9.error; }\n }\n return false;\n };\n return EvaluationEngine;\n}());\n\nvar topologicalSort = function (flags, flagKeys) {\n var e_1, _a;\n var available = __assign({}, flags);\n var result = [];\n var startingKeys = flagKeys || Object.keys(available);\n try {\n for (var startingKeys_1 = __values(startingKeys), startingKeys_1_1 = startingKeys_1.next(); !startingKeys_1_1.done; startingKeys_1_1 = startingKeys_1.next()) {\n var flagKey = startingKeys_1_1.value;\n var traversal = parentTraversal(flagKey, available);\n if (traversal) {\n result.push.apply(result, __spreadArray([], __read(traversal), false));\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (startingKeys_1_1 && !startingKeys_1_1.done && (_a = startingKeys_1.return)) _a.call(startingKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n};\nvar parentTraversal = function (flagKey, available, path) {\n var e_2, _a;\n if (path === void 0) { path = []; }\n var flag = available[flagKey];\n if (!flag) {\n return undefined;\n }\n else if (!flag.dependencies || flag.dependencies.length === 0) {\n delete available[flag.key];\n return [flag];\n }\n path.push(flag.key);\n var result = [];\n var _loop_1 = function (parentKey) {\n if (path.some(function (p) { return p === parentKey; })) {\n throw Error(\"Detected a cycle between flags \".concat(path));\n }\n var traversal = parentTraversal(parentKey, available, path);\n if (traversal) {\n result.push.apply(result, __spreadArray([], __read(traversal), false));\n }\n };\n try {\n for (var _b = __values(flag.dependencies), _c = _b.next(); !_c.done; _c = _b.next()) {\n var parentKey = _c.value;\n _loop_1(parentKey);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n result.push(flag);\n path.pop();\n delete available[flag.key];\n return result;\n};\n\n/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.5';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasatob = typeof atob === 'function';\nconst _hasbtoa = typeof btoa === 'function';\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = (a => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function' ? Uint8Array.from.bind(Uint8Array) : it => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = src => src.replace(/=/g, '').replace(/[+\\/]/g, m0 => m0 == '+' ? '-' : '_');\nconst _tidyB64 = s => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = bin => {\n // console.log('polyfilled');\n let u32,\n c0,\n c1,\n c2,\n asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 || (c1 = bin.charCodeAt(i++)) > 255 || (c2 = bin.charCodeAt(i++)) > 255) throw new TypeError('invalid character found');\n u32 = c0 << 16 | c1 << 8 | c2;\n asc += b64chs[u32 >> 18 & 63] + b64chs[u32 >> 12 & 63] + b64chs[u32 >> 6 & 63] + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = _hasbtoa ? bin => btoa(bin) : _hasBuffer ? bin => Buffer.from(bin, 'binary').toString('base64') : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer ? u8a => Buffer.from(u8a).toString('base64') : u8a => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n};\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = c => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c : cc < 0x800 ? _fromCC(0xc0 | cc >>> 6) + _fromCC(0x80 | cc & 0x3f) : _fromCC(0xe0 | cc >>> 12 & 0x0f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n } else {\n var cc = 0x10000 + (c.charCodeAt(0) - 0xD800) * 0x400 + (c.charCodeAt(1) - 0xDC00);\n return _fromCC(0xf0 | cc >>> 18 & 0x07) + _fromCC(0x80 | cc >>> 12 & 0x3f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = u => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer ? s => Buffer.from(s, 'utf8').toString('base64') : _TE ? s => _fromUint8Array(_TE.encode(s)) : s => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe ? _mkUriSafe(_encode(src)) : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = src => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = cccc => {\n switch (cccc.length) {\n case 4:\n var cp = (0x07 & cccc.charCodeAt(0)) << 18 | (0x3f & cccc.charCodeAt(1)) << 12 | (0x3f & cccc.charCodeAt(2)) << 6 | 0x3f & cccc.charCodeAt(3),\n offset = cp - 0x10000;\n return _fromCC((offset >>> 10) + 0xD800) + _fromCC((offset & 0x3FF) + 0xDC00);\n case 3:\n return _fromCC((0x0f & cccc.charCodeAt(0)) << 12 | (0x3f & cccc.charCodeAt(1)) << 6 | 0x3f & cccc.charCodeAt(2));\n default:\n return _fromCC((0x1f & cccc.charCodeAt(0)) << 6 | 0x3f & cccc.charCodeAt(1));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = b => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = asc => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc)) throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24,\n bin = '',\n r1,\n r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18 | b64tab[asc.charAt(i++)] << 12 | (r1 = b64tab[asc.charAt(i++)]) << 6 | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = _hasatob ? asc => atob(_tidyB64(asc)) : _hasBuffer ? asc => Buffer.from(asc, 'base64').toString('binary') : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer ? a => _U8Afrom(Buffer.from(a, 'base64')) : a => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = a => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer ? a => Buffer.from(a, 'base64').toString('utf8') : _TD ? a => _TD.decode(_toUint8Array(a)) : a => btou(_atob(a));\nconst _unURI = a => _tidyB64(a.replace(/[-_]/g, m0 => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = src => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = src => {\n if (typeof src !== 'string') return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = v => {\n return {\n value: v,\n enumerable: false,\n writable: true,\n configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () {\n return decode(this);\n });\n _add('toBase64', function (urlsafe) {\n return encode(this, urlsafe);\n });\n _add('toBase64URI', function () {\n return encode(this, true);\n });\n _add('toBase64URL', function () {\n return encode(this, true);\n });\n _add('toUint8Array', function () {\n return toUint8Array(this);\n });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) {\n return fromUint8Array(this, urlsafe);\n });\n _add('toBase64URI', function () {\n return fromUint8Array(this, true);\n });\n _add('toBase64URL', function () {\n return fromUint8Array(this, true);\n });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n\nvar SdkEvaluationApi = /** @class */ (function () {\n function SdkEvaluationApi(deploymentKey, serverUrl, httpClient) {\n this.deploymentKey = deploymentKey;\n this.serverUrl = serverUrl;\n this.httpClient = httpClient;\n }\n SdkEvaluationApi.prototype.getVariants = function (user, options) {\n return __awaiter(this, void 0, void 0, function () {\n var userJsonBase64, headers, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n userJsonBase64 = gBase64.encodeURL(JSON.stringify(user));\n headers = {\n Authorization: \"Api-Key \".concat(this.deploymentKey),\n 'X-Amp-Exp-User': userJsonBase64,\n };\n if (options === null || options === void 0 ? void 0 : options.flagKeys) {\n headers['X-Amp-Exp-Flag-Keys'] = gBase64.encodeURL(JSON.stringify(options.flagKeys));\n }\n if (options === null || options === void 0 ? void 0 : options.trackingOption) {\n headers['X-Amp-Exp-Track'] = options.trackingOption;\n }\n return [4 /*yield*/, this.httpClient.request({\n requestUrl: \"\".concat(this.serverUrl, \"/sdk/v2/vardata?v=0\"),\n method: 'GET',\n headers: headers,\n timeoutMillis: options === null || options === void 0 ? void 0 : options.timeoutMillis,\n })];\n case 1:\n response = _a.sent();\n if (response.status != 200) {\n throw Error(\"Fetch error response: status=\".concat(response.status));\n }\n return [2 /*return*/, JSON.parse(response.body)];\n }\n });\n });\n };\n return SdkEvaluationApi;\n}());\n\nvar SdkFlagApi = /** @class */ (function () {\n function SdkFlagApi(deploymentKey, serverUrl, httpClient) {\n this.deploymentKey = deploymentKey;\n this.serverUrl = serverUrl;\n this.httpClient = httpClient;\n }\n SdkFlagApi.prototype.getFlags = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var headers, response, flagsArray;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n headers = {\n Authorization: \"Api-Key \".concat(this.deploymentKey),\n };\n if ((options === null || options === void 0 ? void 0 : options.libraryName) && (options === null || options === void 0 ? void 0 : options.libraryVersion)) {\n headers['X-Amp-Exp-Library'] = \"\".concat(options.libraryName, \"/\").concat(options.libraryVersion);\n }\n return [4 /*yield*/, this.httpClient.request({\n requestUrl: \"\".concat(this.serverUrl, \"/sdk/v2/flags\"),\n method: 'GET',\n headers: headers,\n timeoutMillis: options === null || options === void 0 ? void 0 : options.timeoutMillis,\n })];\n case 1:\n response = _a.sent();\n if (response.status != 200) {\n throw Error(\"Flags error response: status=\".concat(response.status));\n }\n flagsArray = JSON.parse(response.body);\n return [2 /*return*/, flagsArray.reduce(function (map, flag) {\n map[flag.key] = flag;\n return map;\n }, {})];\n }\n });\n });\n };\n return SdkFlagApi;\n}());\n\nvar safeGlobal = typeof globalThis !== 'undefined' ? globalThis : global || self;\n\nvar Poller = /** @class */ (function () {\n function Poller(action, ms) {\n this.poller = undefined;\n this.action = action;\n this.ms = ms;\n }\n Poller.prototype.start = function () {\n if (this.poller) {\n return;\n }\n this.poller = safeGlobal.setInterval(this.action, this.ms);\n void this.action();\n };\n Poller.prototype.stop = function () {\n if (!this.poller) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n safeGlobal.clearInterval(this.poller);\n this.poller = undefined;\n };\n return Poller;\n}());\n\nexport { EvaluationEngine, EvaluationOperator, Poller, SdkEvaluationApi, SdkFlagApi, safeGlobal, topologicalSort };\n"],"names":["__assign","SemanticVersion","version","EvaluationEngine","parentKey","SdkEvaluationApi","SdkFlagApi","Poller"],"mappings":"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","x_google_ignoreList":[0]}
|