@openmrs/esm-app-shell 5.3.3-pre.1296 → 5.3.3-pre.1307
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/.turbo/turbo-build.log +99 -99
- package/dist/2a3ddad6b76d5d45.js.map +1 -0
- package/dist/{34c38fe076a329c0.js.map → 695f23c4e6b3f009.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/{openmrs.48f493169669ae36.js → openmrs.3d6d74f187e24f08.js} +2 -2
- package/dist/openmrs.3d6d74f187e24f08.js.map +1 -0
- package/dist/service-worker.js +1 -1
- package/dist/service-worker.js.map +1 -1
- package/lib/{9b51c0739002f900.js → a3d13dc3f29cc2c8.js} +1 -1
- package/lib/esm-devtools-app/630.js.map +1 -1
- package/lib/esm-devtools-app/889.js +1 -1
- package/lib/esm-devtools-app/889.js.map +1 -1
- package/lib/esm-devtools-app/main.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +8 -8
- package/lib/esm-devtools-app/routes.json +1 -1
- package/lib/esm-implementer-tools-app/560.js.map +1 -1
- package/lib/esm-implementer-tools-app/587.js.map +1 -1
- package/lib/esm-implementer-tools-app/727.js.map +1 -1
- package/lib/esm-implementer-tools-app/889.js +1 -1
- package/lib/esm-implementer-tools-app/889.js.map +1 -1
- package/lib/esm-implementer-tools-app/main.js +1 -1
- package/lib/esm-implementer-tools-app/main.js.map +1 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json +8 -8
- package/lib/esm-implementer-tools-app/routes.json +1 -1
- package/lib/esm-login-app/370.js.map +1 -1
- package/lib/esm-login-app/889.js +1 -1
- package/lib/esm-login-app/889.js.map +1 -1
- package/lib/esm-login-app/main.js +1 -1
- package/lib/esm-login-app/main.js.map +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +10 -10
- package/lib/esm-login-app/routes.json +1 -1
- package/lib/esm-offline-tools-app/102.js.map +1 -1
- package/lib/esm-offline-tools-app/889.js +1 -1
- package/lib/esm-offline-tools-app/889.js.map +1 -1
- package/lib/esm-offline-tools-app/main.js +1 -1
- package/lib/esm-offline-tools-app/main.js.map +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +6 -6
- package/lib/esm-offline-tools-app/routes.json +1 -1
- package/lib/esm-primary-navigation-app/735.js.map +1 -1
- package/lib/esm-primary-navigation-app/889.js +1 -1
- package/lib/esm-primary-navigation-app/889.js.map +1 -1
- package/lib/esm-primary-navigation-app/main.js +1 -1
- package/lib/esm-primary-navigation-app/main.js.map +1 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +1 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +6 -6
- package/lib/esm-primary-navigation-app/routes.json +1 -1
- package/lib/{c18421aa23da4c70.js → f9f9ad7b04d63b74.js} +3 -3
- package/lib/index.html +1 -1
- package/lib/openmrs.js +52 -52
- package/lib/service-worker.js +5 -5
- package/package.json +3 -3
- package/src/apps.ts +2 -5
- package/src/helpers.ts +1 -1
- package/src/run.ts +1 -1
- package/src/service-worker/import-map-utils.ts +1 -1
- package/src/service-worker/message.ts +2 -1
- package/src/service-worker/routing.ts +1 -1
- package/src/service-worker/storage.ts +2 -1
- package/src/ui/breadcrumbs.tsx +2 -1
- package/dist/0cca64a12dd8e4d8.js.map +0 -1
- package/dist/openmrs.48f493169669ae36.js.map +0 -1
- /package/dist/{0cca64a12dd8e4d8.js → 2a3ddad6b76d5d45.js} +0 -0
- /package/dist/{34c38fe076a329c0.js → 695f23c4e6b3f009.js} +0 -0
- /package/dist/{openmrs.48f493169669ae36.js.LICENSE.txt → openmrs.3d6d74f187e24f08.js.LICENSE.txt} +0 -0
package/lib/openmrs.js
CHANGED
|
@@ -6336,7 +6336,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6336
6336
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6337
6337
|
|
|
6338
6338
|
"use strict";
|
|
6339
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenmrsFetchError: () => (/* binding */ OpenmrsFetchError),\n/* harmony export */ fhirBaseUrl: () => (/* binding */ fhirBaseUrl),\n/* harmony export */ makeUrl: () => (/* binding */ makeUrl),\n/* harmony export */ openmrsFetch: () => (/* binding */ openmrsFetch),\n/* harmony export */ openmrsObservableFetch: () => (/* binding */ openmrsObservableFetch),\n/* harmony export */ restBaseUrl: () => (/* binding */ restBaseUrl),\n/* harmony export */ sessionEndpoint: () => (/* binding */ sessionEndpoint)\n/* harmony export */ });\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es/isPlainObject */ \"../../../node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/** @module @category API */ function _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function construct(Parent, args, Class) {\n var a = [\n null\n ];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _set_prototype_of(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrap_native_super = function wrapNativeSuper(Class) {\n if (Class === null || !_is_native_function(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _set_prototype_of(Wrapper, Class);\n };\n return _wrap_native_super(Class);\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n\n\nvar restBaseUrl = \"/ws/rest/v1/\";\nvar fhirBaseUrl = \"/ws/fhir2/R4\";\nvar sessionEndpoint = \"\".concat(restBaseUrl, \"session\");\n/**\n * Append `path` to the OpenMRS SPA base.\n *\n * #### Example\n *\n * ```ts\n * makeUrl('/foo/bar');\n * // => '/openmrs/foo/bar'\n * ```\n */ function makeUrl(path) {\n if (path && path.startsWith(\"http\")) {\n return path;\n } else if (path[0] !== \"/\") {\n // ensure path starts with /\n path = \"/\" + path;\n }\n return window.openmrsBase + path;\n}\n/**\n * The openmrsFetch function is a wrapper around the\n * [browser's built-in fetch function](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch),\n * with extra handling for OpenMRS-specific API behaviors, such as\n * request headers, authentication, authorization, and the API urls.\n *\n * @param path A string url to make the request to. Note that the\n * openmrs base url (by default `/openmrs`) will be automatically\n * prepended to the URL, so there is no need to include it.\n * @param fetchInit A [fetch init object](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).\n * Note that the `body` property does not need to be `JSON.stringify()`ed\n * because openmrsFetch will do that for you.\n * @returns A [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n * that resolves with a [Response object](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n * Note that the openmrs version of the Response object has already\n * downloaded the HTTP response body as json, and has an additional\n * `data` property with the HTTP response json as a javascript object.\n *\n * #### Example\n * ```js\n * import { openmrsFetch } from '@openmrs/esm-api'\n * const abortController = new AbortController();\n * openmrsFetch('/ws/rest/v1/session', {signal: abortController.signal})\n * .then(response => {\n * console.log(response.data.authenticated)\n * })\n * .catch(err => {\n * console.error(err.status);\n * })\n * abortController.abort();\n * openmrsFetch('/ws/rest/v1/session', {\n * method: 'POST',\n * body: {\n * username: 'hi',\n * password: 'there',\n * }\n * })\n * ```\n *\n * #### Cancellation\n *\n * To cancel a network request, use an\n * [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort).\n * It is best practice to cancel your network requests when the user\n * navigates away from a page while the request is pending request, to\n * free up memory and network resources and to prevent race conditions.\n *\n * @category API\n */ function openmrsFetch(path) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof path !== \"string\") {\n throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");\n }\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");\n }\n // @ts-ignore\n if (!window.openmrsBase) {\n throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");\n }\n // Prefix the url with the openmrs spa base\n var url = makeUrl(path);\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */ if ((0,lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\n /* Add a request header to tell the server to respond with json,\n * since frontend code almost always wants json and the OpenMRS\n * server won't give you json unless you explicitly ask for it.\n * If a different Accept header is preferred, pass it into the fetchInit.\n * If no Accept header is desired, pass it in explicitly as null.\n */ if (typeof fetchInit.headers.Accept === \"undefined\") {\n fetchInit.headers.Accept = \"application/json\";\n }\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\n /* This tells the OpenMRS REST API not to return a WWW-Authenticate\n * header. Returning that header is useful when using the API, but\n * not from a UI.\n */ if (path.startsWith(restBaseUrl) && typeof fetchInit.headers[\"Disable-WWW-Authenticate\"] === \"undefined\") {\n fetchInit.headers[\"Disable-WWW-Authenticate\"] = \"true\";\n }\n if (path.startsWith(fhirBaseUrl)) {\n var urlUrl = new URL(url, window.location.toString());\n if (!urlUrl.searchParams.has(\"_summary\")) {\n urlUrl.searchParams.set(\"_summary\", \"data\");\n url = urlUrl.toString();\n }\n }\n /* We capture the stacktrace before making the request, so that if an error occurs we can\n * log a full stacktrace that includes the code that made the request and handled the response\n * Otherwise, we could run into situations where the stacktrace doesn't even show which code\n * called @openmrs/api.\n */ var requestStacktrace = Error();\n return window.fetch(url, fetchInit).then(function() {\n var _ref = _async_to_generator(function(r) {\n var response, redirectAuthFailure;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n response = r;\n if (!response.ok) return [\n 3,\n 1\n ];\n if (response.status === 204) {\n /* HTTP 204 - No Content\n * We should not try to download the empty response as json. Instead,\n * we return null since there is no response body.\n */ response.data = null;\n return [\n 2,\n response\n ];\n } else {\n // HTTP 200s - The request succeeded\n return [\n 2,\n response.clone().text().then(function(responseText) {\n try {\n if (responseText) {\n response.data = JSON.parse(responseText);\n }\n } catch (err) {\n // Server didn't respond with json\n }\n return response;\n })\n ];\n }\n return [\n 3,\n 3\n ];\n case 1:\n return [\n 4,\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)(\"@openmrs/esm-api\")\n ];\n case 2:\n redirectAuthFailure = _state.sent().redirectAuthFailure;\n if (url === makeUrl(sessionEndpoint) && response.status === 403 || redirectAuthFailure.enabled && redirectAuthFailure.errors.includes(response.status)) {\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.navigate)({\n to: redirectAuthFailure.url\n });\n /* We sometimes don't really want this promise to resolve since there's no response data,\n * nor do we want it to reject because that would trigger error handling. We instead\n * want it to remain in pending status while the navigation occurs.\n */ return [\n 2,\n redirectAuthFailure.resolvePromise ? Promise.resolve() : new Promise(function() {})\n ];\n } else {\n // Attempt to download a response body, if it has one\n return [\n 2,\n response.clone().text().then(function(responseText) {\n var responseBody = responseText;\n try {\n responseBody = JSON.parse(responseText);\n } catch (err) {\n // Server didn't respond with json, so just go with the response text string\n }\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, responseBody, requestStacktrace);\n }, function(err) {\n /* We weren't able to download a response body for this error.\n * Time to just give the best possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n })\n ];\n }\n _state.label = 3;\n case 3:\n return [\n 2\n ];\n }\n });\n });\n return function(r) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n/**\n * The openmrsObservableFetch function is a wrapper around openmrsFetch\n * that returns an [Observable](https://rxjs-dev.firebaseapp.com/guide/observable)\n * instead of a promise. It exists in case using an Observable is\n * preferred or more convenient than a promise.\n *\n * @param url See [[openmrsFetch]]\n * @param fetchInit See [[openmrsFetch]]\n * @returns An Observable that produces exactly one Response object.\n * The response object is exactly the same as for [[openmrsFetch]].\n *\n * #### Example\n *\n * ```js\n * import { openmrsObservableFetch } from '@openmrs/esm-api'\n * const subscription = openmrsObservableFetch('/ws/rest/v1/session').subscribe(\n * response => console.log(response.data),\n * err => {throw err},\n * () => console.log('finished')\n * )\n * subscription.unsubscribe()\n * ```\n *\n * #### Cancellation\n *\n * To cancel the network request, simply call `subscription.unsubscribe();`\n *\n * @category API\n */ function openmrsObservableFetch(url) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to openmrsObservableFetch must be either omitted or an object\");\n }\n var abortController = new AbortController();\n fetchInit.signal = abortController.signal;\n return new rxjs__WEBPACK_IMPORTED_MODULE_0__.Observable(function(observer) {\n var hasResponse = false;\n openmrsFetch(url, fetchInit).then(function(response) {\n hasResponse = true;\n observer.next(response);\n observer.complete();\n }, function(err) {\n hasResponse = true;\n observer.error(err);\n });\n return function() {\n if (!hasResponse) {\n abortController.abort();\n }\n };\n });\n}\nvar OpenmrsFetchError = /*#__PURE__*/ function(Error1) {\n \"use strict\";\n _inherits(OpenmrsFetchError, Error1);\n var _super = _create_super(OpenmrsFetchError);\n function OpenmrsFetchError(url, response, responseBody, requestStacktrace) {\n _class_call_check(this, OpenmrsFetchError);\n var _this;\n _this = _super.call(this);\n _define_property(_assert_this_initialized(_this), \"response\", void 0);\n _define_property(_assert_this_initialized(_this), \"responseBody\", void 0);\n _this.message = \"Server responded with \".concat(response.status, \" (\").concat(response.statusText, \") for url \").concat(url, \". Check err.responseBody or network tab in dev tools for more info\");\n requestStacktrace.message = _this.message;\n _this.responseBody = responseBody;\n _this.response = response;\n _this.stack = \"Stacktrace for outgoing request:\\n\".concat(requestStacktrace.stack, \"\\nStacktrace for incoming response:\\n\").concat(_this.stack);\n return _this;\n }\n return OpenmrsFetchError;\n}(_wrap_native_super(Error));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL29wZW5tcnMtZmV0Y2gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ1E7QUFDa0I7QUFDTTtBQUduRCxJQUFNSSxjQUFjLGVBQWU7QUFFbkMsSUFBTUMsY0FBYyxlQUFlO0FBRW5DLElBQU1DLGtCQUFrQixHQUFlLE9BQVpGLGFBQVksV0FBUztBQUV2RDs7Ozs7Ozs7O0NBU0MsR0FDTSxTQUFTRyxRQUFRQyxJQUFZLEVBQUU7SUFDcEMsSUFBSUEsUUFBUUEsS0FBS0MsVUFBVSxDQUFDLFNBQVM7UUFDbkMsT0FBT0Q7SUFDVCxPQUFPLElBQUlBLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSztRQUMxQiw0QkFBNEI7UUFDNUJBLE9BQU8sTUFBTUE7SUFDZixDQUFDO0lBRUQsT0FBT0UsT0FBT0MsV0FBVyxHQUFHSDtBQUM5QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWdEQyxHQUNNLFNBQVNJLGFBQXNCSixJQUFZLEVBQTBEO1FBQXhESyxZQUFBQSxpRUFBeUIsQ0FBQyxDQUFDO0lBQzdFLElBQUksT0FBT0wsU0FBUyxVQUFVO1FBQzVCLE1BQU1NLE1BQU0sbUZBQW1GO0lBQ2pHLENBQUM7SUFFRCxJQUFJLE9BQU9ELGNBQWMsVUFBVTtRQUNqQyxNQUFNQyxNQUFNLHVG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QUNDbkMsR0FBVyxFQUFFaUIsUUFBa0IsRUFBRWlCLFlBQWlDLEVBQUVyQixpQkFBd0I7Z0NBRDdGc0I7OztRQVNYbEIsa0RBQUFBLFlBQUFBLEtBQUFBO1FBQ0FpQixrREFBQUEsZ0JBQUFBLEtBQUFBO1FBUEUsTUFBS1ksT0FBTyxHQUFHLHlCQUE2QzdCLE9BQXBCQSxTQUFTRyxNQUFNLEVBQUMsTUFBb0NwQixPQUFoQ2lCLFNBQVM4QixVQUFVLEVBQUMsY0FBZ0IsT0FBSi9DLEtBQUk7UUFDaEdhLGtCQUFrQmlDLE9BQU8sR0FBRyxNQUFLQSxPQUFPO1FBQ3hDLE1BQUtaLFlBQVksR0FBR0E7UUFDcEIsTUFBS2pCLFFBQVEsR0FBR0E7UUFDaEIsTUFBSytCLEtBQUssR0FBRyxxQ0FBb0csT0FBL0RuQyxrQkFBa0JtQyxLQUFLLEVBQUMseUNBQWtELE9BQVgsTUFBS0EsS0FBSzs7O1dBUGxIYjtxQkFBMEJwQyxRQVd0QyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL29wZW5tcnMtZmV0Y2gudHM/ZGVhMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgaXNQbGFpbk9iamVjdCBmcm9tICdsb2Rhc2gtZXMvaXNQbGFpbk9iamVjdCc7XG5pbXBvcnQgeyBnZXRDb25maWcsIG5hdmlnYXRlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQgeyBGZXRjaFJlc3BvbnNlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCByZXN0QmFzZVVybCA9ICcvd3MvcmVzdC92MS8nO1xuXG5leHBvcnQgY29uc3QgZmhpckJhc2VVcmwgPSAnL3dzL2ZoaXIyL1I0JztcblxuZXhwb3J0IGNvbnN0IHNlc3Npb25FbmRwb2ludCA9IGAke3Jlc3RCYXNlVXJsfXNlc3Npb25gO1xuXG4vKipcbiAqIEFwcGVuZCBgcGF0aGAgdG8gdGhlIE9wZW5NUlMgU1BBIGJhc2UuXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIG1ha2VVcmwoJy9mb28vYmFyJyk7XG4gKiAvLyA9PiAnL29wZW5tcnMvZm9vL2JhcidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZVVybChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHBhdGggJiYgcGF0aC5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfSBlbHNlIGlmIChwYXRoWzBdICE9PSAnLycpIHtcbiAgICAvLyBlbnN1cmUgcGF0aCBzdGFydHMgd2l0aCAvXG4gICAgcGF0aCA9ICcvJyArIHBhdGg7XG4gIH1cblxuICByZXR1cm4gd2luZG93Lm9wZW5tcnNCYXNlICsgcGF0aDtcbn1cblxuLyoqXG4gKiBUaGUgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlXG4gKiBbYnJvd3NlcidzIGJ1aWx0LWluIGZldGNoIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRmV0Y2hfQVBJL1VzaW5nX0ZldGNoKSxcbiAqIHdpdGggZXh0cmEgaGFuZGxpbmcgZm9yIE9wZW5NUlMtc3BlY2lmaWMgQVBJIGJlaGF2aW9ycywgc3VjaCBhc1xuICogcmVxdWVzdCBoZWFkZXJzLCBhdXRoZW50aWNhdGlvbiwgYXV0aG9yaXphdGlvbiwgYW5kIHRoZSBBUEkgdXJscy5cbiAqXG4gKiBAcGFyYW0gcGF0aCBBIHN0cmluZyB1cmwgdG8gbWFrZSB0aGUgcmVxdWVzdCB0by4gTm90ZSB0aGF0IHRoZVxuICogICBvcGVubXJzIGJhc2UgdXJsIChieSBkZWZhdWx0IGAvb3Blbm1yc2ApIHdpbGwgYmUgYXV0b21hdGljYWxseVxuICogICBwcmVwZW5kZWQgdG8gdGhlIFVSTCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIGl0LlxuICogQHBhcmFtIGZldGNoSW5pdCBBIFtmZXRjaCBpbml0IG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUvZmV0Y2gjU3ludGF4KS5cbiAqICAgTm90ZSB0aGF0IHRoZSBgYm9keWAgcHJvcGVydHkgZG9lcyBub3QgbmVlZCB0byBiZSBgSlNPTi5zdHJpbmdpZnkoKWBlZFxuICogICBiZWNhdXNlIG9wZW5tcnNGZXRjaCB3aWxsIGRvIHRoYXQgZm9yIHlvdS5cbiAqIEByZXR1cm5zIEEgW1Byb21pc2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1Byb21pc2UpXG4gKiAgIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIFtSZXNwb25zZSBvYmplY3RdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNwb25zZSkuXG4gKiAgIE5vdGUgdGhhdCB0aGUgb3Blbm1ycyB2ZXJzaW9uIG9mIHRoZSBSZXNwb25zZSBvYmplY3QgaGFzIGFscmVhZHlcbiAqICAgZG93bmxvYWRlZCB0aGUgSFRUUCByZXNwb25zZSBib2R5IGFzIGpzb24sIGFuZCBoYXMgYW4gYWRkaXRpb25hbFxuICogICBgZGF0YWAgcHJvcGVydHkgd2l0aCB0aGUgSFRUUCByZXNwb25zZSBqc29uIGFzIGEgamF2YXNjcmlwdCBvYmplY3QuXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgb3Blbm1yc0ZldGNoIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSdcbiAqIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAqIG9wZW5tcnNGZXRjaCgnL3dzL3Jlc3QvdjEvc2Vzc2lvbicsIHtzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWx9KVxuICogICAudGhlbihyZXNwb25zZSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YS5hdXRoZW50aWNhdGVkKVxuICogICB9KVxuICogICAuY2F0Y2goZXJyID0+IHtcbiAqICAgICBjb25zb2xlLmVycm9yKGVyci5zdGF0dXMpO1xuICogICB9KVxuICogYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gKiBvcGVubXJzRmV0Y2goJy93cy9yZXN0L3YxL3Nlc3Npb24nLCB7XG4gKiAgIG1ldGhvZDogJ1BPU1QnLFxuICogICBib2R5OiB7XG4gKiAgICAgdXNlcm5hbWU6ICdoaScsXG4gKiAgICAgcGFzc3dvcmQ6ICd0aGVyZScsXG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiAjIyMjIENhbmNlbGxhdGlvblxuICpcbiAqIFRvIGNhbmNlbCBhIG5ldHdvcmsgcmVxdWVzdCwgdXNlIGFuXG4gKiBbQWJvcnRDb250cm9sbGVyXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQWJvcnRDb250cm9sbGVyL2Fib3J0KS5cbiAqIEl0IGlzIGJlc3QgcHJhY3RpY2UgdG8gY2FuY2VsIHlvdXIgbmV0d29yayByZXF1ZXN0cyB3aGVuIHRoZSB1c2VyXG4gKiBuYXZpZ2F0ZXMgYXdheSBmcm9tIGEgcGFnZSB3aGlsZSB0aGUgcmVxdWVzdCBpcyBwZW5kaW5nIHJlcXVlc3QsIHRvXG4gKiBmcmVlIHVwIG1lbW9yeSBhbmQgbmV0d29yayByZXNvdXJjZXMgYW5kIHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zLlxuICpcbiAqIEBjYXRlZ29yeSBBUElcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNGZXRjaDxUID0gYW55PihwYXRoOiBzdHJpbmcsIGZldGNoSW5pdDogRmV0Y2hDb25maWcgPSB7fSk6IFByb21pc2U8RmV0Y2hSZXNwb25zZTxUPj4ge1xuICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJUaGUgZmlyc3QgYXJndW1lbnQgdG8gQG9wZW5tcnMvYXBpJ3Mgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIG11c3QgYmUgYSB1cmwgc3RyaW5nXCIpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIEBvcGVubXJzL2FwaSdzIG9wZW5tcnNGZXRjaCBmdW5jdGlvbiBtdXN0IGJlIGEgcGxhaW4gb2JqZWN0LlwiKTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaWYgKCF3aW5kb3cub3Blbm1yc0Jhc2UpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIFwiQG9wZW5tcnMvYXBpIGlzIHJ1bm5pbmcgaW4gYSBicm93c2VyIHRoYXQgZG9lc24ndCBoYXZlIHdpbmRvdy5vcGVubXJzQmFzZSwgd2hpY2ggaXMgcHJvdmlkZWQgYnkgb3Blbm1ycy1tb2R1bGUtc3BhJ3MgSFRNTCBmaWxlLlwiLFxuICAgICk7XG4gIH1cblxuICAvLyBQcmVmaXggdGhlIHVybCB3aXRoIHRoZSBvcGVubXJzIHNwYSBiYXNlXG4gIGxldCB1cmw6IHN0cmluZyA9IG1ha2VVcmwocGF0aCk7XG5cbiAgLy8gV2UncmUgZ29pbmcgdG8gbmVlZCBzb21lIGhlYWRlcnNcbiAgaWYgKCFmZXRjaEluaXQuaGVhZGVycykge1xuICAgIGZldGNoSW5pdC5oZWFkZXJzID0ge307XG4gIH1cblxuICAvKiBBdXRvbWF0aWNhbGx5IHN0cmluZ2lmeSBqYXZhc2NyaXB0IG9iamVjdHMgYmVpbmcgc2VudCBpbiB0aGVcbiAgICogcmVxdWVzdCBib2R5LlxuICAgKi9cbiAgaWYgKGlzUGxhaW5PYmplY3QoZmV0Y2hJbml0LmJvZHkpKSB7XG4gICAgZmV0Y2hJbml0LmJvZHkgPSBKU09OLnN0cmluZ2lmeShmZXRjaEluaXQuYm9keSk7XG4gIH1cblxuICAvKiBBZGQgYSByZXF1ZXN0IGhlYWRlciB0byB0ZWxsIHRoZSBzZXJ2ZXIgdG8gcmVzcG9uZCB3aXRoIGpzb24sXG4gICAqIHNpbmNlIGZyb250ZW5kIGNvZGUgYWxtb3N0IGFsd2F5cyB3YW50cyBqc29uIGFuZCB0aGUgT3Blbk1SU1xuICAgKiBzZXJ2ZXIgd29uJ3QgZ2l2ZSB5b3UganNvbiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgYXNrIGZvciBpdC5cbiAgICogSWYgYSBkaWZmZXJlbnQgQWNjZXB0IGhlYWRlciBpcyBwcmVmZXJyZWQsIHBhc3MgaXQgaW50byB0aGUgZmV0Y2hJbml0LlxuICAgKiBJZiBubyBBY2NlcHQgaGVhZGVyIGlzIGRlc2lyZWQsIHBhc3MgaXQgaW4gZXhwbGljaXRseSBhcyBudWxsLlxuICAgKi9cbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgZmV0Y2hJbml0LmhlYWRlcnMuQWNjZXB0ID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICB9XG5cbiAgaWYgKGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQ7XG4gIH1cblxuICAvKiBUaGlzIHRlbGxzIHRoZSBPcGVuTVJTIFJFU1QgQVBJIG5vdCB0byByZXR1cm4gYSBXV1ctQXV0aGVudGljYXRlXG4gICAqIGhlYWRlci4gUmV0dXJuaW5nIHRoYXQgaGVhZGVyIGlzIHVzZWZ1bCB3aGVuIHVzaW5nIHRoZSBBUEksIGJ1dFxuICAgKiBub3QgZnJvbSBhIFVJLlxuICAgKi9cbiAgaWYgKHBhdGguc3RhcnRzV2l0aChyZXN0QmFzZVVybCkgJiYgdHlwZW9mIGZldGNoSW5pdC5oZWFkZXJzWydEaXNhYmxlLVdXVy1BdXRoZW50aWNhdGUnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBmZXRjaEluaXQuaGVhZGVyc1snRGlzYWJsZS1XV1ctQXV0aGVudGljYXRlJ10gPSAndHJ1ZSc7XG4gIH1cblxuICBpZiAocGF0aC5zdGFydHNXaXRoKGZoaXJCYXNlVXJsKSkge1xuICAgIGNvbnN0IHVybFVybCA9IG5ldyBVUkwodXJsLCB3aW5kb3cubG9jYXRpb24udG9TdHJpbmcoKSk7XG4gICAgaWYgKCF1cmxVcmwuc2VhcmNoUGFyYW1zLmhhcygnX3N1bW1hcnknKSkge1xuICAgICAgdXJsVXJsLnNlYXJjaFBhcmFtcy5zZXQoJ19zdW1tYXJ5JywgJ2RhdGEnKTtcbiAgICAgIHVybCA9IHVybFVybC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qIFdlIGNhcHR1cmUgdGhlIHN0YWNrdHJhY2UgYmVmb3JlIG1ha2luZyB0aGUgcmVxdWVzdCwgc28gdGhhdCBpZiBhbiBlcnJvciBvY2N1cnMgd2UgY2FuXG4gICAqIGxvZyBhIGZ1bGwgc3RhY2t0cmFjZSB0aGF0IGluY2x1ZGVzIHRoZSBjb2RlIHRoYXQgbWFkZSB0aGUgcmVxdWVzdCBhbmQgaGFuZGxlZCB0aGUgcmVzcG9uc2VcbiAgICogT3RoZXJ3aXNlLCB3ZSBjb3VsZCBydW4gaW50byBzaXR1YXRpb25zIHdoZXJlIHRoZSBzdGFja3RyYWNlIGRvZXNuJ3QgZXZlbiBzaG93IHdoaWNoIGNvZGVcbiAgICogY2FsbGVkIEBvcGVubXJzL2FwaS5cbiAgICovXG4gIGNvbnN0IHJlcXVlc3RTdGFja3RyYWNlID0gRXJyb3IoKTtcblxuICByZXR1cm4gd2luZG93LmZldGNoKHVybCwgZmV0Y2hJbml0IGFzIFJlcXVlc3RJbml0KS50aGVuKGFzeW5jIChyKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSByIGFzIEZldGNoUmVzcG9uc2U8VD47XG4gICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgLyogSFRUUCAyMDQgLSBObyBDb250ZW50XG4gICAgICAgICAqIFdlIHNob3VsZCBub3QgdHJ5IHRvIGRvd25sb2FkIHRoZSBlbXB0eSByZXNwb25zZSBhcyBqc29uLiBJbnN0ZWFkLFxuICAgICAgICAgKiB3ZSByZXR1cm4gbnVsbCBzaW5jZSB0aGVyZSBpcyBubyByZXNwb25zZSBib2R5LlxuICAgICAgICAgKi9cbiAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG51bGwgYXMgdW5rbm93biBhcyBUO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBIVFRQIDIwMHMgLSBUaGUgcmVxdWVzdCBzdWNjZWVkZWRcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAudGV4dCgpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlVGV4dCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlVGV4dCkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEgPSBKU09OLnBhcnNlKHJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZGlkbid0IHJlc3BvbmQgd2l0aCBqc29uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qIEhUVFAgcmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBpbiAyMDBzLiBVc3VhbGx5IHRoaXMgd2lsbCBtZWFuXG4gICAgICAgKiBlaXRoZXIgSFRUUCA0MDBzIChiYWQgcmVxdWVzdCBmcm9tIGJyb3dzZXIpIG9yIEhUVFAgNTAwcyAoc2VydmVyIGVycm9yKVxuICAgICAgICogT3VyIGdvYWwgaXMgdG8gY29tZSB1cCB3aXRoIGJlc3QgcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZVxuICAgICAgICogdG8gaGVscCBkZXZlbG9wZXJzIHVuZGVyc3RhbmQgdGhlIHByb2JsZW0gYW5kIGRlYnVnXG4gICAgICAgKi9cblxuICAgICAgLypcbiAgICAgICAqUmVkaXJlY3QgdG8gZ2l2ZW4gdXJsIHdoZW4gcmVkaXJlY3Qgb24gYXV0aCBmYWlsdXJlIGlzIGVuYWJsZWRcbiAgICAgICAqL1xuICAgICAgY29uc3QgeyByZWRpcmVjdEF1dGhGYWlsdXJlIH0gPSBhd2FpdCBnZXRDb25maWcoJ0BvcGVubXJzL2VzbS1hcGknKTtcblxuICAgICAgaWYgKFxuICAgICAgICAodXJsID09PSBtYWtlVXJsKHNlc3Npb25FbmRwb2ludCkgJiYgcmVzcG9uc2Uuc3RhdHVzID09PSA0MDMpIHx8XG4gICAgICAgIChyZWRpcmVjdEF1dGhGYWlsdXJlLmVuYWJsZWQgJiYgcmVkaXJlY3RBdXRoRmFpbHVyZS5lcnJvcnMuaW5jbHVkZXMocmVzcG9uc2Uuc3RhdHVzKSlcbiAgICAgICkge1xuICAgICAgICBuYXZpZ2F0ZSh7IHRvOiByZWRpcmVjdEF1dGhGYWlsdXJlLnVybCB9KTtcblxuICAgICAgICAvKiBXZSBzb21ldGltZXMgZG9uJ3QgcmVhbGx5IHdhbnQgdGhpcyBwcm9taXNlIHRvIHJlc29sdmUgc2luY2UgdGhlcmUncyBubyByZXNwb25zZSBkYXRhLFxuICAgICAgICAgKiBub3IgZG8gd2Ugd2FudCBpdCB0byByZWplY3QgYmVjYXVzZSB0aGF0IHdvdWxkIHRyaWdnZXIgZXJyb3IgaGFuZGxpbmcuIFdlIGluc3RlYWRcbiAgICAgICAgICogd2FudCBpdCB0byByZW1haW4gaW4gcGVuZGluZyBzdGF0dXMgd2hpbGUgdGhlIG5hdmlnYXRpb24gb2NjdXJzLlxuICAgICAgICAgKi9cbiAgICAgICAgcmV0dXJuIHJlZGlyZWN0QXV0aEZhaWx1cmUucmVzb2x2ZVByb21pc2VcbiAgICAgICAgICA/IChQcm9taXNlLnJlc29sdmUoKSBhcyB1bmtub3duIGFzIFByb21pc2U8RmV0Y2hSZXNwb25zZT4pXG4gICAgICAgICAgOiBuZXcgUHJvbWlzZTxGZXRjaFJlc3BvbnNlPigoKSA9PiB7fSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBdHRlbXB0IHRvIGRvd25sb2FkIGEgcmVzcG9uc2UgYm9keSwgaWYgaXQgaGFzIG9uZVxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICAgICAgICAuY2xvbmUoKVxuICAgICAgICAgIC50ZXh0KClcbiAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgIChyZXNwb25zZVRleHQpID0+IHtcbiAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlQm9keSA9IHJlc3BvbnNlVGV4dDtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXNwb25zZUJvZHkgPSBKU09OLnBhcnNlKHJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIC8vIFNlcnZlciBkaWRuJ3QgcmVzcG9uZCB3aXRoIGpzb24sIHNvIGp1c3QgZ28gd2l0aCB0aGUgcmVzcG9uc2UgdGV4dCBzdHJpbmdcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8qIE1ha2UgdGhlIGZldGNoIHByb21pc2UgZ28gaW50byBcInJlamVjdGVkXCIgc3RhdHVzLCB3aXRoIHRoZSBiZXN0XG4gICAgICAgICAgICAgICAqIHBvc3NpYmxlIHN0YWNrdHJhY2UgYW5kIGVycm9yIG1lc3NhZ2UuXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgT3Blbm1yc0ZldGNoRXJyb3IodXJsLCByZXNwb25zZSwgcmVzcG9uc2VCb2R5LCByZXF1ZXN0U3RhY2t0cmFjZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAvKiBXZSB3ZXJlbid0IGFibGUgdG8gZG93bmxvYWQgYSByZXNwb25zZSBib2R5IGZvciB0aGlzIGVycm9yLlxuICAgICAgICAgICAgICAgKiBUaW1lIHRvIGp1c3QgZ2l2ZSB0aGUgYmVzdCBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlLlxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgdGhyb3cgbmV3IE9wZW5tcnNGZXRjaEVycm9yKHVybCwgcmVzcG9uc2UsIG51bGwsIHJlcXVlc3RTdGFja3RyYWNlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFRoZSBvcGVubXJzT2JzZXJ2YWJsZUZldGNoIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBhcm91bmQgb3Blbm1yc0ZldGNoXG4gKiB0aGF0IHJldHVybnMgYW4gW09ic2VydmFibGVdKGh0dHBzOi8vcnhqcy1kZXYuZmlyZWJhc2VhcHAuY29tL2d1aWRlL29ic2VydmFibGUpXG4gKiBpbnN0ZWFkIG9mIGEgcHJvbWlzZS4gSXQgZXhpc3RzIGluIGNhc2UgdXNpbmcgYW4gT2JzZXJ2YWJsZSBpc1xuICogcHJlZmVycmVkIG9yIG1vcmUgY29udmVuaWVudCB0aGFuIGEgcHJvbWlzZS5cbiAqXG4gKiBAcGFyYW0gdXJsIFNlZSBbW29wZW5tcnNGZXRjaF1dXG4gKiBAcGFyYW0gZmV0Y2hJbml0IFNlZSBbW29wZW5tcnNGZXRjaF1dXG4gKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgcHJvZHVjZXMgZXhhY3RseSBvbmUgUmVzcG9uc2Ugb2JqZWN0LlxuICogVGhlIHJlc3BvbnNlIG9iamVjdCBpcyBleGFjdGx5IHRoZSBzYW1lIGFzIGZvciBbW29wZW5tcnNGZXRjaF1dLlxuICpcbiAqICMjIyMgRXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBvcGVubXJzT2JzZXJ2YWJsZUZldGNoIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSdcbiAqIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2goJy93cy9yZXN0L3YxL3Nlc3Npb24nKS5zdWJzY3JpYmUoXG4gKiAgIHJlc3BvbnNlID0+IGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEpLFxuICogICBlcnIgPT4ge3Rocm93IGVycn0sXG4gKiAgICgpID0+IGNvbnNvbGUubG9nKCdmaW5pc2hlZCcpXG4gKiApXG4gKiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICogYGBgXG4gKlxuICogIyMjIyBDYW5jZWxsYXRpb25cbiAqXG4gKiBUbyBjYW5jZWwgdGhlIG5ldHdvcmsgcmVxdWVzdCwgc2ltcGx5IGNhbGwgYHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO2BcbiAqXG4gKiBAY2F0ZWdvcnkgQVBJXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvcGVubXJzT2JzZXJ2YWJsZUZldGNoPFQ+KHVybDogc3RyaW5nLCBmZXRjaEluaXQ6IEZldGNoQ29uZmlnID0ge30pIHtcbiAgaWYgKHR5cGVvZiBmZXRjaEluaXQgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgRXJyb3IoJ1RoZSBzZWNvbmQgYXJndW1lbnQgdG8gb3Blbm1yc09ic2VydmFibGVGZXRjaCBtdXN0IGJlIGVpdGhlciBvbWl0dGVkIG9yIGFuIG9iamVjdCcpO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZldGNoSW5pdC5zaWduYWwgPSBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxGZXRjaFJlc3BvbnNlPFQ+Pigob2JzZXJ2ZXIpID0+IHtcbiAgICBsZXQgaGFzUmVzcG9uc2UgPSBmYWxzZTtcblxuICAgIG9wZW5tcnNGZXRjaCh1cmwsIGZldGNoSW5pdCkudGhlbihcbiAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBoYXNSZXNwb25zZSA9IHRydWU7XG4gICAgICAgIG9ic2VydmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfSxcbiAgICAgIChlcnIpID0+IHtcbiAgICAgICAgaGFzUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICghaGFzUmVzcG9uc2UpIHtcbiAgICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjbGFzcyBPcGVubXJzRmV0Y2hFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IodXJsOiBzdHJpbmcsIHJlc3BvbnNlOiBSZXNwb25zZSwgcmVzcG9uc2VCb2R5OiBSZXNwb25zZUJvZHkgfCBudWxsLCByZXF1ZXN0U3RhY2t0cmFjZTogRXJyb3IpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubWVzc2FnZSA9IGBTZXJ2ZXIgcmVzcG9uZGVkIHdpdGggJHtyZXNwb25zZS5zdGF0dXN9ICgke3Jlc3BvbnNlLnN0YXR1c1RleHR9KSBmb3IgdXJsICR7dXJsfS4gQ2hlY2sgZXJyLnJlc3BvbnNlQm9keSBvciBuZXR3b3JrIHRhYiBpbiBkZXYgdG9vbHMgZm9yIG1vcmUgaW5mb2A7XG4gICAgcmVxdWVzdFN0YWNrdHJhY2UubWVzc2FnZSA9IHRoaXMubWVzc2FnZTtcbiAgICB0aGlzLnJlc3BvbnNlQm9keSA9IHJlc3BvbnNlQm9keTtcbiAgICB0aGlzLnJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgdGhpcy5zdGFjayA9IGBTdGFja3RyYWNlIGZvciBvdXRnb2luZyByZXF1ZXN0OlxcbiR7cmVxdWVzdFN0YWNrdHJhY2Uuc3RhY2t9XFxuU3RhY2t0cmFjZSBmb3IgaW5jb21pbmcgcmVzcG9uc2U6XFxuJHt0aGlzLnN0YWNrfWA7XG4gIH1cbiAgcmVzcG9uc2U6IFJlc3BvbnNlO1xuICByZXNwb25zZUJvZHk6IHN0cmluZyB8IEZldGNoUmVzcG9uc2VKc29uIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaENvbmZpZyBleHRlbmRzIE9taXQ8UmVxdWVzdEluaXQsICdib2R5JyB8ICdoZWFkZXJzJz4ge1xuICBoZWFkZXJzPzogRmV0Y2hIZWFkZXJzO1xuICBib2R5PzogRmV0Y2hCb2R5IHwgc3RyaW5nO1xufVxuXG50eXBlIFJlc3BvbnNlQm9keSA9IHN0cmluZyB8IEZldGNoUmVzcG9uc2VKc29uO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoSGVhZGVycyB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bGw7XG59XG5cbmludGVyZmFjZSBGZXRjaEJvZHkge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hSZXNwb25zZUpzb24ge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG4iXSwibmFtZXMiOlsiT2JzZXJ2YWJsZSIsImlzUGxhaW5PYmplY3QiLCJnZXRDb25maWciLCJuYXZpZ2F0ZSIsInJlc3RCYXNlVXJsIiwiZmhpckJhc2VVcmwiLCJzZXNzaW9uRW5kcG9pbnQiLCJtYWtlVXJsIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJ3aW5kb3ciLCJvcGVubXJzQmFzZSIsIm9wZW5tcnNGZXRjaCIsImZldGNoSW5pdCIsIkVycm9yIiwidXJsIiwiaGVhZGVycyIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwiQWNjZXB0IiwidXJsVXJsIiwiVVJMIiwibG9jYXRpb24iLCJ0b1N0cmluZyIsInNlYXJjaFBhcmFtcyIsImhhcyIsInNldCIsInJlcXVlc3RTdGFja3RyYWNlIiwiZmV0Y2giLCJ0aGVuIiwiciIsInJlc3BvbnNlIiwicmVkaXJlY3RBdXRoRmFpbHVyZSIsIm9rIiwic3RhdHVzIiwiZGF0YSIsImNsb25lIiwidGV4dCIsInJlc3BvbnNlVGV4dCIsInBhcnNlIiwiZXJyIiwiZW5hYmxlZCIsImVycm9ycyIsImluY2x1ZGVzIiwidG8iLCJyZXNvbHZlUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVzcG9uc2VCb2R5IiwiT3Blbm1yc0ZldGNoRXJyb3IiLCJvcGVubXJzT2JzZXJ2YWJsZUZldGNoIiwiYWJvcnRDb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwic2lnbmFsIiwib2JzZXJ2ZXIiLCJoYXNSZXNwb25zZSIsIm5leHQiLCJjb21wbGV0ZSIsImVycm9yIiwiYWJvcnQiLCJtZXNzYWdlIiwic3RhdHVzVGV4dCIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/openmrs-fetch.ts\n");
|
|
6339
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpenmrsFetchError: () => (/* binding */ OpenmrsFetchError),\n/* harmony export */ fhirBaseUrl: () => (/* binding */ fhirBaseUrl),\n/* harmony export */ makeUrl: () => (/* binding */ makeUrl),\n/* harmony export */ openmrsFetch: () => (/* binding */ openmrsFetch),\n/* harmony export */ openmrsObservableFetch: () => (/* binding */ openmrsObservableFetch),\n/* harmony export */ restBaseUrl: () => (/* binding */ restBaseUrl),\n/* harmony export */ sessionEndpoint: () => (/* binding */ sessionEndpoint)\n/* harmony export */ });\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es/isPlainObject */ \"../../../node_modules/lodash-es/isPlainObject.js\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/** @module @category API */ function _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function construct(Parent, args, Class) {\n var a = [\n null\n ];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _set_prototype_of(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrap_native_super = function wrapNativeSuper(Class) {\n if (Class === null || !_is_native_function(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _set_prototype_of(Wrapper, Class);\n };\n return _wrap_native_super(Class);\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n\n\nvar restBaseUrl = \"/ws/rest/v1/\";\nvar fhirBaseUrl = \"/ws/fhir2/R4\";\nvar sessionEndpoint = \"\".concat(restBaseUrl, \"session\");\n/**\n * Append `path` to the OpenMRS SPA base.\n *\n * #### Example\n *\n * ```ts\n * makeUrl('/foo/bar');\n * // => '/openmrs/foo/bar'\n * ```\n */ function makeUrl(path) {\n if (path && path.startsWith(\"http\")) {\n return path;\n } else if (path[0] !== \"/\") {\n // ensure path starts with /\n path = \"/\" + path;\n }\n return window.openmrsBase + path;\n}\n/**\n * The openmrsFetch function is a wrapper around the\n * [browser's built-in fetch function](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch),\n * with extra handling for OpenMRS-specific API behaviors, such as\n * request headers, authentication, authorization, and the API urls.\n *\n * @param path A string url to make the request to. Note that the\n * openmrs base url (by default `/openmrs`) will be automatically\n * prepended to the URL, so there is no need to include it.\n * @param fetchInit A [fetch init object](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).\n * Note that the `body` property does not need to be `JSON.stringify()`ed\n * because openmrsFetch will do that for you.\n * @returns A [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n * that resolves with a [Response object](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n * Note that the openmrs version of the Response object has already\n * downloaded the HTTP response body as json, and has an additional\n * `data` property with the HTTP response json as a javascript object.\n *\n * #### Example\n * ```js\n * import { openmrsFetch } from '@openmrs/esm-api'\n * const abortController = new AbortController();\n * openmrsFetch('/ws/rest/v1/session', {signal: abortController.signal})\n * .then(response => {\n * console.log(response.data.authenticated)\n * })\n * .catch(err => {\n * console.error(err.status);\n * })\n * abortController.abort();\n * openmrsFetch('/ws/rest/v1/session', {\n * method: 'POST',\n * body: {\n * username: 'hi',\n * password: 'there',\n * }\n * })\n * ```\n *\n * #### Cancellation\n *\n * To cancel a network request, use an\n * [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort).\n * It is best practice to cancel your network requests when the user\n * navigates away from a page while the request is pending request, to\n * free up memory and network resources and to prevent race conditions.\n *\n * @category API\n */ function openmrsFetch(path) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof path !== \"string\") {\n throw Error(\"The first argument to @openmrs/api's openmrsFetch function must be a url string\");\n }\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\");\n }\n // @ts-ignore\n if (!window.openmrsBase) {\n throw Error(\"@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.\");\n }\n // Prefix the url with the openmrs spa base\n var url = makeUrl(path);\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */ if ((0,lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\n /* Add a request header to tell the server to respond with json,\n * since frontend code almost always wants json and the OpenMRS\n * server won't give you json unless you explicitly ask for it.\n * If a different Accept header is preferred, pass it into the fetchInit.\n * If no Accept header is desired, pass it in explicitly as null.\n */ if (typeof fetchInit.headers.Accept === \"undefined\") {\n fetchInit.headers.Accept = \"application/json\";\n }\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\n /* This tells the OpenMRS REST API not to return a WWW-Authenticate\n * header. Returning that header is useful when using the API, but\n * not from a UI.\n */ if (path.startsWith(restBaseUrl) && typeof fetchInit.headers[\"Disable-WWW-Authenticate\"] === \"undefined\") {\n fetchInit.headers[\"Disable-WWW-Authenticate\"] = \"true\";\n }\n if (path.startsWith(fhirBaseUrl)) {\n var urlUrl = new URL(url, window.location.toString());\n if (!urlUrl.searchParams.has(\"_summary\")) {\n urlUrl.searchParams.set(\"_summary\", \"data\");\n url = urlUrl.toString();\n }\n }\n /* We capture the stacktrace before making the request, so that if an error occurs we can\n * log a full stacktrace that includes the code that made the request and handled the response\n * Otherwise, we could run into situations where the stacktrace doesn't even show which code\n * called @openmrs/api.\n */ var requestStacktrace = Error();\n return window.fetch(url, fetchInit).then(function() {\n var _ref = _async_to_generator(function(r) {\n var response, redirectAuthFailure;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n response = r;\n if (!response.ok) return [\n 3,\n 1\n ];\n if (response.status === 204) {\n /* HTTP 204 - No Content\n * We should not try to download the empty response as json. Instead,\n * we return null since there is no response body.\n */ response.data = null;\n return [\n 2,\n response\n ];\n } else {\n // HTTP 200s - The request succeeded\n return [\n 2,\n response.clone().text().then(function(responseText) {\n try {\n if (responseText) {\n response.data = JSON.parse(responseText);\n }\n } catch (err) {\n // Server didn't respond with json\n }\n return response;\n })\n ];\n }\n return [\n 3,\n 3\n ];\n case 1:\n return [\n 4,\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)(\"@openmrs/esm-api\")\n ];\n case 2:\n redirectAuthFailure = _state.sent().redirectAuthFailure;\n if (url === makeUrl(sessionEndpoint) && response.status === 403 || redirectAuthFailure.enabled && redirectAuthFailure.errors.includes(response.status)) {\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.navigate)({\n to: redirectAuthFailure.url\n });\n /* We sometimes don't really want this promise to resolve since there's no response data,\n * nor do we want it to reject because that would trigger error handling. We instead\n * want it to remain in pending status while the navigation occurs.\n */ return [\n 2,\n redirectAuthFailure.resolvePromise ? Promise.resolve() : new Promise(function() {})\n ];\n } else {\n // Attempt to download a response body, if it has one\n return [\n 2,\n response.clone().text().then(function(responseText) {\n var responseBody = responseText;\n try {\n responseBody = JSON.parse(responseText);\n } catch (err) {\n // Server didn't respond with json, so just go with the response text string\n }\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, responseBody, requestStacktrace);\n }, function(err) {\n /* We weren't able to download a response body for this error.\n * Time to just give the best possible stacktrace and error message.\n */ throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n })\n ];\n }\n _state.label = 3;\n case 3:\n return [\n 2\n ];\n }\n });\n });\n return function(r) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n/**\n * The openmrsObservableFetch function is a wrapper around openmrsFetch\n * that returns an [Observable](https://rxjs-dev.firebaseapp.com/guide/observable)\n * instead of a promise. It exists in case using an Observable is\n * preferred or more convenient than a promise.\n *\n * @param url See [[openmrsFetch]]\n * @param fetchInit See [[openmrsFetch]]\n * @returns An Observable that produces exactly one Response object.\n * The response object is exactly the same as for [[openmrsFetch]].\n *\n * #### Example\n *\n * ```js\n * import { openmrsObservableFetch } from '@openmrs/esm-api'\n * const subscription = openmrsObservableFetch('/ws/rest/v1/session').subscribe(\n * response => console.log(response.data),\n * err => {throw err},\n * () => console.log('finished')\n * )\n * subscription.unsubscribe()\n * ```\n *\n * #### Cancellation\n *\n * To cancel the network request, simply call `subscription.unsubscribe();`\n *\n * @category API\n */ function openmrsObservableFetch(url) {\n var fetchInit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (typeof fetchInit !== \"object\") {\n throw Error(\"The second argument to openmrsObservableFetch must be either omitted or an object\");\n }\n var abortController = new AbortController();\n fetchInit.signal = abortController.signal;\n return new rxjs__WEBPACK_IMPORTED_MODULE_0__.Observable(function(observer) {\n var hasResponse = false;\n openmrsFetch(url, fetchInit).then(function(response) {\n hasResponse = true;\n observer.next(response);\n observer.complete();\n }, function(err) {\n hasResponse = true;\n observer.error(err);\n });\n return function() {\n if (!hasResponse) {\n abortController.abort();\n }\n };\n });\n}\nvar OpenmrsFetchError = /*#__PURE__*/ function(Error1) {\n \"use strict\";\n _inherits(OpenmrsFetchError, Error1);\n var _super = _create_super(OpenmrsFetchError);\n function OpenmrsFetchError(url, response, responseBody, requestStacktrace) {\n _class_call_check(this, OpenmrsFetchError);\n var _this;\n _this = _super.call(this);\n _define_property(_assert_this_initialized(_this), \"response\", void 0);\n _define_property(_assert_this_initialized(_this), \"responseBody\", void 0);\n _this.message = \"Server responded with \".concat(response.status, \" (\").concat(response.statusText, \") for url \").concat(url, \". Check err.responseBody or network tab in dev tools for more info\");\n requestStacktrace.message = _this.message;\n _this.responseBody = responseBody;\n _this.response = response;\n _this.stack = \"Stacktrace for outgoing request:\\n\".concat(requestStacktrace.stack, \"\\nStacktrace for incoming response:\\n\").concat(_this.stack);\n return _this;\n }\n return OpenmrsFetchError;\n}(_wrap_native_super(Error));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL29wZW5tcnMtZmV0Y2gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ1E7QUFDa0I7QUFDTTtBQUduRCxJQUFNSSxjQUFjLGVBQWU7QUFFbkMsSUFBTUMsY0FBYyxlQUFlO0FBRW5DLElBQU1DLGtCQUFrQixHQUFlLE9BQVpGLGFBQVksV0FBUztBQUV2RDs7Ozs7Ozs7O0NBU0MsR0FDTSxTQUFTRyxRQUFRQyxJQUFZLEVBQUU7SUFDcEMsSUFBSUEsUUFBUUEsS0FBS0MsVUFBVSxDQUFDLFNBQVM7UUFDbkMsT0FBT0Q7SUFDVCxPQUFPLElBQUlBLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSztRQUMxQiw0QkFBNEI7UUFDNUJBLE9BQU8sTUFBTUE7SUFDZixDQUFDO0lBRUQsT0FBT0UsT0FBT0MsV0FBVyxHQUFHSDtBQUM5QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWdEQyxHQUNNLFNBQVNJLGFBQXNCSixJQUFZLEVBQTBEO1FBQXhESyxZQUFBQSxpRUFBeUIsQ0FBQyxDQUFDO0lBQzdFLElBQUksT0FBT0wsU0FBUyxVQUFVO1FBQzVCLE1BQU1NLE1BQU0sbUZBQW1GO0lBQ2pHLENBQUM7SUFFRCxJQUFJLE9BQU9ELGNBQWMsVUFBVTtRQUNqQyxNQUFNQyxNQUFNLHVG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QUNDbkMsR0FBVyxFQUFFaUIsUUFBa0IsRUFBRWlCLFlBQWlDLEVBQUVyQixpQkFBd0I7Z0NBRDdGc0I7OztRQVNYbEIsa0RBQUFBLFlBQUFBLEtBQUFBO1FBQ0FpQixrREFBQUEsZ0JBQUFBLEtBQUFBO1FBUEUsTUFBS1ksT0FBTyxHQUFHLHlCQUE2QzdCLE9BQXBCQSxTQUFTRyxNQUFNLEVBQUMsTUFBb0NwQixPQUFoQ2lCLFNBQVM4QixVQUFVLEVBQUMsY0FBZ0IsT0FBSi9DLEtBQUk7UUFDaEdhLGtCQUFrQmlDLE9BQU8sR0FBRyxNQUFLQSxPQUFPO1FBQ3hDLE1BQUtaLFlBQVksR0FBR0E7UUFDcEIsTUFBS2pCLFFBQVEsR0FBR0E7UUFDaEIsTUFBSytCLEtBQUssR0FBRyxxQ0FBb0csT0FBL0RuQyxrQkFBa0JtQyxLQUFLLEVBQUMseUNBQWtELE9BQVgsTUFBS0EsS0FBSzs7O1dBUGxIYjtxQkFBMEJwQyxRQVd0QyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL29wZW5tcnMtZmV0Y2gudHM/ZGVhMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgaXNQbGFpbk9iamVjdCBmcm9tICdsb2Rhc2gtZXMvaXNQbGFpbk9iamVjdCc7XG5pbXBvcnQgeyBnZXRDb25maWcsIG5hdmlnYXRlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHJlc3RCYXNlVXJsID0gJy93cy9yZXN0L3YxLyc7XG5cbmV4cG9ydCBjb25zdCBmaGlyQmFzZVVybCA9ICcvd3MvZmhpcjIvUjQnO1xuXG5leHBvcnQgY29uc3Qgc2Vzc2lvbkVuZHBvaW50ID0gYCR7cmVzdEJhc2VVcmx9c2Vzc2lvbmA7XG5cbi8qKlxuICogQXBwZW5kIGBwYXRoYCB0byB0aGUgT3Blbk1SUyBTUEEgYmFzZS5cbiAqXG4gKiAjIyMjIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogbWFrZVVybCgnL2Zvby9iYXInKTtcbiAqIC8vID0+ICcvb3Blbm1ycy9mb28vYmFyJ1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlVXJsKHBhdGg6IHN0cmluZykge1xuICBpZiAocGF0aCAmJiBwYXRoLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgIHJldHVybiBwYXRoO1xuICB9IGVsc2UgaWYgKHBhdGhbMF0gIT09ICcvJykge1xuICAgIC8vIGVuc3VyZSBwYXRoIHN0YXJ0cyB3aXRoIC9cbiAgICBwYXRoID0gJy8nICsgcGF0aDtcbiAgfVxuXG4gIHJldHVybiB3aW5kb3cub3Blbm1yc0Jhc2UgKyBwYXRoO1xufVxuXG4vKipcbiAqIFRoZSBvcGVubXJzRmV0Y2ggZnVuY3Rpb24gaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGVcbiAqIFticm93c2VyJ3MgYnVpbHQtaW4gZmV0Y2ggZnVuY3Rpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9GZXRjaF9BUEkvVXNpbmdfRmV0Y2gpLFxuICogd2l0aCBleHRyYSBoYW5kbGluZyBmb3IgT3Blbk1SUy1zcGVjaWZpYyBBUEkgYmVoYXZpb3JzLCBzdWNoIGFzXG4gKiByZXF1ZXN0IGhlYWRlcnMsIGF1dGhlbnRpY2F0aW9uLCBhdXRob3JpemF0aW9uLCBhbmQgdGhlIEFQSSB1cmxzLlxuICpcbiAqIEBwYXJhbSBwYXRoIEEgc3RyaW5nIHVybCB0byBtYWtlIHRoZSByZXF1ZXN0IHRvLiBOb3RlIHRoYXQgdGhlXG4gKiAgIG9wZW5tcnMgYmFzZSB1cmwgKGJ5IGRlZmF1bHQgYC9vcGVubXJzYCkgd2lsbCBiZSBhdXRvbWF0aWNhbGx5XG4gKiAgIHByZXBlbmRlZCB0byB0aGUgVVJMLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGluY2x1ZGUgaXQuXG4gKiBAcGFyYW0gZmV0Y2hJbml0IEEgW2ZldGNoIGluaXQgb2JqZWN0XShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZS9mZXRjaCNTeW50YXgpLlxuICogICBOb3RlIHRoYXQgdGhlIGBib2R5YCBwcm9wZXJ0eSBkb2VzIG5vdCBuZWVkIHRvIGJlIGBKU09OLnN0cmluZ2lmeSgpYGVkXG4gKiAgIGJlY2F1c2Ugb3Blbm1yc0ZldGNoIHdpbGwgZG8gdGhhdCBmb3IgeW91LlxuICogQHJldHVybnMgQSBbUHJvbWlzZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvUHJvbWlzZSlcbiAqICAgdGhhdCByZXNvbHZlcyB3aXRoIGEgW1Jlc3BvbnNlIG9iamVjdF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1Jlc3BvbnNlKS5cbiAqICAgTm90ZSB0aGF0IHRoZSBvcGVubXJzIHZlcnNpb24gb2YgdGhlIFJlc3BvbnNlIG9iamVjdCBoYXMgYWxyZWFkeVxuICogICBkb3dubG9hZGVkIHRoZSBIVFRQIHJlc3BvbnNlIGJvZHkgYXMganNvbiwgYW5kIGhhcyBhbiBhZGRpdGlvbmFsXG4gKiAgIGBkYXRhYCBwcm9wZXJ0eSB3aXRoIHRoZSBIVFRQIHJlc3BvbnNlIGpzb24gYXMgYSBqYXZhc2NyaXB0IG9iamVjdC5cbiAqXG4gKiAjIyMjIEV4YW1wbGVcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBvcGVubXJzRmV0Y2ggfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJ1xuICogY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICogb3Blbm1yc0ZldGNoKCcvd3MvcmVzdC92MS9zZXNzaW9uJywge3NpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbH0pXG4gKiAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhLmF1dGhlbnRpY2F0ZWQpXG4gKiAgIH0pXG4gKiAgIC5jYXRjaChlcnIgPT4ge1xuICogICAgIGNvbnNvbGUuZXJyb3IoZXJyLnN0YXR1cyk7XG4gKiAgIH0pXG4gKiBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAqIG9wZW5tcnNGZXRjaCgnL3dzL3Jlc3QvdjEvc2Vzc2lvbicsIHtcbiAqICAgbWV0aG9kOiAnUE9TVCcsXG4gKiAgIGJvZHk6IHtcbiAqICAgICB1c2VybmFtZTogJ2hpJyxcbiAqICAgICBwYXNzd29yZDogJ3RoZXJlJyxcbiAqICAgfVxuICogfSlcbiAqIGBgYFxuICpcbiAqICMjIyMgQ2FuY2VsbGF0aW9uXG4gKlxuICogVG8gY2FuY2VsIGEgbmV0d29yayByZXF1ZXN0LCB1c2UgYW5cbiAqIFtBYm9ydENvbnRyb2xsZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9BYm9ydENvbnRyb2xsZXIvYWJvcnQpLlxuICogSXQgaXMgYmVzdCBwcmFjdGljZSB0byBjYW5jZWwgeW91ciBuZXR3b3JrIHJlcXVlc3RzIHdoZW4gdGhlIHVzZXJcbiAqIG5hdmlnYXRlcyBhd2F5IGZyb20gYSBwYWdlIHdoaWxlIHRoZSByZXF1ZXN0IGlzIHBlbmRpbmcgcmVxdWVzdCwgdG9cbiAqIGZyZWUgdXAgbWVtb3J5IGFuZCBuZXR3b3JrIHJlc291cmNlcyBhbmQgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbnMuXG4gKlxuICogQGNhdGVnb3J5IEFQSVxuICovXG5leHBvcnQgZnVuY3Rpb24gb3Blbm1yc0ZldGNoPFQgPSBhbnk+KHBhdGg6IHN0cmluZywgZmV0Y2hJbml0OiBGZXRjaENvbmZpZyA9IHt9KTogUHJvbWlzZTxGZXRjaFJlc3BvbnNlPFQ+PiB7XG4gIGlmICh0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBFcnJvcihcIlRoZSBmaXJzdCBhcmd1bWVudCB0byBAb3Blbm1ycy9hcGkncyBvcGVubXJzRmV0Y2ggZnVuY3Rpb24gbXVzdCBiZSBhIHVybCBzdHJpbmdcIik7XG4gIH1cblxuICBpZiAodHlwZW9mIGZldGNoSW5pdCAhPT0gJ29iamVjdCcpIHtcbiAgICB0aHJvdyBFcnJvcihcIlRoZSBzZWNvbmQgYXJndW1lbnQgdG8gQG9wZW5tcnMvYXBpJ3Mgb3Blbm1yc0ZldGNoIGZ1bmN0aW9uIG11c3QgYmUgYSBwbGFpbiBvYmplY3QuXCIpO1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBpZiAoIXdpbmRvdy5vcGVubXJzQmFzZSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgXCJAb3Blbm1ycy9hcGkgaXMgcnVubmluZyBpbiBhIGJyb3dzZXIgdGhhdCBkb2Vzbid0IGhhdmUgd2luZG93Lm9wZW5tcnNCYXNlLCB3aGljaCBpcyBwcm92aWRlZCBieSBvcGVubXJzLW1vZHVsZS1zcGEncyBIVE1MIGZpbGUuXCIsXG4gICAgKTtcbiAgfVxuXG4gIC8vIFByZWZpeCB0aGUgdXJsIHdpdGggdGhlIG9wZW5tcnMgc3BhIGJhc2VcbiAgbGV0IHVybDogc3RyaW5nID0gbWFrZVVybChwYXRoKTtcblxuICAvLyBXZSdyZSBnb2luZyB0byBuZWVkIHNvbWUgaGVhZGVyc1xuICBpZiAoIWZldGNoSW5pdC5oZWFkZXJzKSB7XG4gICAgZmV0Y2hJbml0LmhlYWRlcnMgPSB7fTtcbiAgfVxuXG4gIC8qIEF1dG9tYXRpY2FsbHkgc3RyaW5naWZ5IGphdmFzY3JpcHQgb2JqZWN0cyBiZWluZyBzZW50IGluIHRoZVxuICAgKiByZXF1ZXN0IGJvZHkuXG4gICAqL1xuICBpZiAoaXNQbGFpbk9iamVjdChmZXRjaEluaXQuYm9keSkpIHtcbiAgICBmZXRjaEluaXQuYm9keSA9IEpTT04uc3RyaW5naWZ5KGZldGNoSW5pdC5ib2R5KTtcbiAgfVxuXG4gIC8qIEFkZCBhIHJlcXVlc3QgaGVhZGVyIHRvIHRlbGwgdGhlIHNlcnZlciB0byByZXNwb25kIHdpdGgganNvbixcbiAgICogc2luY2UgZnJvbnRlbmQgY29kZSBhbG1vc3QgYWx3YXlzIHdhbnRzIGpzb24gYW5kIHRoZSBPcGVuTVJTXG4gICAqIHNlcnZlciB3b24ndCBnaXZlIHlvdSBqc29uIHVubGVzcyB5b3UgZXhwbGljaXRseSBhc2sgZm9yIGl0LlxuICAgKiBJZiBhIGRpZmZlcmVudCBBY2NlcHQgaGVhZGVyIGlzIHByZWZlcnJlZCwgcGFzcyBpdCBpbnRvIHRoZSBmZXRjaEluaXQuXG4gICAqIElmIG5vIEFjY2VwdCBoZWFkZXIgaXMgZGVzaXJlZCwgcGFzcyBpdCBpbiBleHBsaWNpdGx5IGFzIG51bGwuXG4gICAqL1xuICBpZiAodHlwZW9mIGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBmZXRjaEluaXQuaGVhZGVycy5BY2NlcHQgPSAnYXBwbGljYXRpb24vanNvbic7XG4gIH1cblxuICBpZiAoZmV0Y2hJbml0LmhlYWRlcnMuQWNjZXB0ID09PSBudWxsKSB7XG4gICAgZGVsZXRlIGZldGNoSW5pdC5oZWFkZXJzLkFjY2VwdDtcbiAgfVxuXG4gIC8qIFRoaXMgdGVsbHMgdGhlIE9wZW5NUlMgUkVTVCBBUEkgbm90IHRvIHJldHVybiBhIFdXVy1BdXRoZW50aWNhdGVcbiAgICogaGVhZGVyLiBSZXR1cm5pbmcgdGhhdCBoZWFkZXIgaXMgdXNlZnVsIHdoZW4gdXNpbmcgdGhlIEFQSSwgYnV0XG4gICAqIG5vdCBmcm9tIGEgVUkuXG4gICAqL1xuICBpZiAocGF0aC5zdGFydHNXaXRoKHJlc3RCYXNlVXJsKSAmJiB0eXBlb2YgZmV0Y2hJbml0LmhlYWRlcnNbJ0Rpc2FibGUtV1dXLUF1dGhlbnRpY2F0ZSddID09PSAndW5kZWZpbmVkJykge1xuICAgIGZldGNoSW5pdC5oZWFkZXJzWydEaXNhYmxlLVdXVy1BdXRoZW50aWNhdGUnXSA9ICd0cnVlJztcbiAgfVxuXG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoZmhpckJhc2VVcmwpKSB7XG4gICAgY29uc3QgdXJsVXJsID0gbmV3IFVSTCh1cmwsIHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKTtcbiAgICBpZiAoIXVybFVybC5zZWFyY2hQYXJhbXMuaGFzKCdfc3VtbWFyeScpKSB7XG4gICAgICB1cmxVcmwuc2VhcmNoUGFyYW1zLnNldCgnX3N1bW1hcnknLCAnZGF0YScpO1xuICAgICAgdXJsID0gdXJsVXJsLnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyogV2UgY2FwdHVyZSB0aGUgc3RhY2t0cmFjZSBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0LCBzbyB0aGF0IGlmIGFuIGVycm9yIG9jY3VycyB3ZSBjYW5cbiAgICogbG9nIGEgZnVsbCBzdGFja3RyYWNlIHRoYXQgaW5jbHVkZXMgdGhlIGNvZGUgdGhhdCBtYWRlIHRoZSByZXF1ZXN0IGFuZCBoYW5kbGVkIHRoZSByZXNwb25zZVxuICAgKiBPdGhlcndpc2UsIHdlIGNvdWxkIHJ1biBpbnRvIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHN0YWNrdHJhY2UgZG9lc24ndCBldmVuIHNob3cgd2hpY2ggY29kZVxuICAgKiBjYWxsZWQgQG9wZW5tcnMvYXBpLlxuICAgKi9cbiAgY29uc3QgcmVxdWVzdFN0YWNrdHJhY2UgPSBFcnJvcigpO1xuXG4gIHJldHVybiB3aW5kb3cuZmV0Y2godXJsLCBmZXRjaEluaXQgYXMgUmVxdWVzdEluaXQpLnRoZW4oYXN5bmMgKHIpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHIgYXMgRmV0Y2hSZXNwb25zZTxUPjtcbiAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkge1xuICAgICAgICAvKiBIVFRQIDIwNCAtIE5vIENvbnRlbnRcbiAgICAgICAgICogV2Ugc2hvdWxkIG5vdCB0cnkgdG8gZG93bmxvYWQgdGhlIGVtcHR5IHJlc3BvbnNlIGFzIGpzb24uIEluc3RlYWQsXG4gICAgICAgICAqIHdlIHJldHVybiBudWxsIHNpbmNlIHRoZXJlIGlzIG5vIHJlc3BvbnNlIGJvZHkuXG4gICAgICAgICAqL1xuICAgICAgICByZXNwb25zZS5kYXRhID0gbnVsbCBhcyB1bmtub3duIGFzIFQ7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEhUVFAgMjAwcyAtIFRoZSByZXF1ZXN0IHN1Y2NlZWRlZFxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICAgICAgICAuY2xvbmUoKVxuICAgICAgICAgIC50ZXh0KClcbiAgICAgICAgICAudGhlbigocmVzcG9uc2VUZXh0KSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBpZiAocmVzcG9uc2VUZXh0KSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSA9IEpTT04ucGFyc2UocmVzcG9uc2VUZXh0KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgIC8vIFNlcnZlciBkaWRuJ3QgcmVzcG9uZCB3aXRoIGpzb25cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLyogSFRUUCByZXNwb25zZSBzdGF0dXMgaXMgbm90IGluIDIwMHMuIFVzdWFsbHkgdGhpcyB3aWxsIG1lYW5cbiAgICAgICAqIGVpdGhlciBIVFRQIDQwMHMgKGJhZCByZXF1ZXN0IGZyb20gYnJvd3Nlcikgb3IgSFRUUCA1MDBzIChzZXJ2ZXIgZXJyb3IpXG4gICAgICAgKiBPdXIgZ29hbCBpcyB0byBjb21lIHVwIHdpdGggYmVzdCBwb3NzaWJsZSBzdGFja3RyYWNlIGFuZCBlcnJvciBtZXNzYWdlXG4gICAgICAgKiB0byBoZWxwIGRldmVsb3BlcnMgdW5kZXJzdGFuZCB0aGUgcHJvYmxlbSBhbmQgZGVidWdcbiAgICAgICAqL1xuXG4gICAgICAvKlxuICAgICAgICpSZWRpcmVjdCB0byBnaXZlbiB1cmwgd2hlbiByZWRpcmVjdCBvbiBhdXRoIGZhaWx1cmUgaXMgZW5hYmxlZFxuICAgICAgICovXG4gICAgICBjb25zdCB7IHJlZGlyZWN0QXV0aEZhaWx1cmUgfSA9IGF3YWl0IGdldENvbmZpZygnQG9wZW5tcnMvZXNtLWFwaScpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICh1cmwgPT09IG1ha2VVcmwoc2Vzc2lvbkVuZHBvaW50KSAmJiByZXNwb25zZS5zdGF0dXMgPT09IDQwMykgfHxcbiAgICAgICAgKHJlZGlyZWN0QXV0aEZhaWx1cmUuZW5hYmxlZCAmJiByZWRpcmVjdEF1dGhGYWlsdXJlLmVycm9ycy5pbmNsdWRlcyhyZXNwb25zZS5zdGF0dXMpKVxuICAgICAgKSB7XG4gICAgICAgIG5hdmlnYXRlKHsgdG86IHJlZGlyZWN0QXV0aEZhaWx1cmUudXJsIH0pO1xuXG4gICAgICAgIC8qIFdlIHNvbWV0aW1lcyBkb24ndCByZWFsbHkgd2FudCB0aGlzIHByb21pc2UgdG8gcmVzb2x2ZSBzaW5jZSB0aGVyZSdzIG5vIHJlc3BvbnNlIGRhdGEsXG4gICAgICAgICAqIG5vciBkbyB3ZSB3YW50IGl0IHRvIHJlamVjdCBiZWNhdXNlIHRoYXQgd291bGQgdHJpZ2dlciBlcnJvciBoYW5kbGluZy4gV2UgaW5zdGVhZFxuICAgICAgICAgKiB3YW50IGl0IHRvIHJlbWFpbiBpbiBwZW5kaW5nIHN0YXR1cyB3aGlsZSB0aGUgbmF2aWdhdGlvbiBvY2N1cnMuXG4gICAgICAgICAqL1xuICAgICAgICByZXR1cm4gcmVkaXJlY3RBdXRoRmFpbHVyZS5yZXNvbHZlUHJvbWlzZVxuICAgICAgICAgID8gKFByb21pc2UucmVzb2x2ZSgpIGFzIHVua25vd24gYXMgUHJvbWlzZTxGZXRjaFJlc3BvbnNlPilcbiAgICAgICAgICA6IG5ldyBQcm9taXNlPEZldGNoUmVzcG9uc2U+KCgpID0+IHt9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gZG93bmxvYWQgYSByZXNwb25zZSBib2R5LCBpZiBpdCBoYXMgb25lXG4gICAgICAgIHJldHVybiByZXNwb25zZVxuICAgICAgICAgIC5jbG9uZSgpXG4gICAgICAgICAgLnRleHQoKVxuICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgKHJlc3BvbnNlVGV4dCkgPT4ge1xuICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VCb2R5ID0gcmVzcG9uc2VUZXh0O1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlQm9keSA9IEpTT04ucGFyc2UocmVzcG9uc2VUZXh0KTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gU2VydmVyIGRpZG4ndCByZXNwb25kIHdpdGgganNvbiwgc28ganVzdCBnbyB3aXRoIHRoZSByZXNwb25zZSB0ZXh0IHN0cmluZ1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLyogTWFrZSB0aGUgZmV0Y2ggcHJvbWlzZSBnbyBpbnRvIFwicmVqZWN0ZWRcIiBzdGF0dXMsIHdpdGggdGhlIGJlc3RcbiAgICAgICAgICAgICAgICogcG9zc2libGUgc3RhY2t0cmFjZSBhbmQgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIHRocm93IG5ldyBPcGVubXJzRmV0Y2hFcnJvcih1cmwsIHJlc3BvbnNlLCByZXNwb25zZUJvZHksIHJlcXVlc3RTdGFja3RyYWNlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIC8qIFdlIHdlcmVuJ3QgYWJsZSB0byBkb3dubG9hZCBhIHJlc3BvbnNlIGJvZHkgZm9yIHRoaXMgZXJyb3IuXG4gICAgICAgICAgICAgICAqIFRpbWUgdG8ganVzdCBnaXZlIHRoZSBiZXN0IHBvc3NpYmxlIHN0YWNrdHJhY2UgYW5kIGVycm9yIG1lc3NhZ2UuXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgT3Blbm1yc0ZldGNoRXJyb3IodXJsLCByZXNwb25zZSwgbnVsbCwgcmVxdWVzdFN0YWNrdHJhY2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogVGhlIG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2ggZnVuY3Rpb24gaXMgYSB3cmFwcGVyIGFyb3VuZCBvcGVubXJzRmV0Y2hcbiAqIHRoYXQgcmV0dXJucyBhbiBbT2JzZXJ2YWJsZV0oaHR0cHM6Ly9yeGpzLWRldi5maXJlYmFzZWFwcC5jb20vZ3VpZGUvb2JzZXJ2YWJsZSlcbiAqIGluc3RlYWQgb2YgYSBwcm9taXNlLiBJdCBleGlzdHMgaW4gY2FzZSB1c2luZyBhbiBPYnNlcnZhYmxlIGlzXG4gKiBwcmVmZXJyZWQgb3IgbW9yZSBjb252ZW5pZW50IHRoYW4gYSBwcm9taXNlLlxuICpcbiAqIEBwYXJhbSB1cmwgU2VlIFtbb3Blbm1yc0ZldGNoXV1cbiAqIEBwYXJhbSBmZXRjaEluaXQgU2VlIFtbb3Blbm1yc0ZldGNoXV1cbiAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBwcm9kdWNlcyBleGFjdGx5IG9uZSBSZXNwb25zZSBvYmplY3QuXG4gKiBUaGUgcmVzcG9uc2Ugb2JqZWN0IGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgZm9yIFtbb3Blbm1yc0ZldGNoXV0uXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKlxuICogYGBganNcbiAqIGltcG9ydCB7IG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2ggfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJ1xuICogY29uc3Qgc3Vic2NyaXB0aW9uID0gb3Blbm1yc09ic2VydmFibGVGZXRjaCgnL3dzL3Jlc3QvdjEvc2Vzc2lvbicpLnN1YnNjcmliZShcbiAqICAgcmVzcG9uc2UgPT4gY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSksXG4gKiAgIGVyciA9PiB7dGhyb3cgZXJyfSxcbiAqICAgKCkgPT4gY29uc29sZS5sb2coJ2ZpbmlzaGVkJylcbiAqIClcbiAqIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gKiBgYGBcbiAqXG4gKiAjIyMjIENhbmNlbGxhdGlvblxuICpcbiAqIFRvIGNhbmNlbCB0aGUgbmV0d29yayByZXF1ZXN0LCBzaW1wbHkgY2FsbCBgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7YFxuICpcbiAqIEBjYXRlZ29yeSBBUElcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2g8VD4odXJsOiBzdHJpbmcsIGZldGNoSW5pdDogRmV0Y2hDb25maWcgPSB7fSkge1xuICBpZiAodHlwZW9mIGZldGNoSW5pdCAhPT0gJ29iamVjdCcpIHtcbiAgICB0aHJvdyBFcnJvcignVGhlIHNlY29uZCBhcmd1bWVudCB0byBvcGVubXJzT2JzZXJ2YWJsZUZldGNoIG11c3QgYmUgZWl0aGVyIG9taXR0ZWQgb3IgYW4gb2JqZWN0Jyk7XG4gIH1cblxuICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgZmV0Y2hJbml0LnNpZ25hbCA9IGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPEZldGNoUmVzcG9uc2U8VD4+KChvYnNlcnZlcikgPT4ge1xuICAgIGxldCBoYXNSZXNwb25zZSA9IGZhbHNlO1xuXG4gICAgb3Blbm1yc0ZldGNoKHVybCwgZmV0Y2hJbml0KS50aGVuKFxuICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGhhc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXNwb25zZSk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9LFxuICAgICAgKGVycikgPT4ge1xuICAgICAgICBoYXNSZXNwb25zZSA9IHRydWU7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKCFoYXNSZXNwb25zZSkge1xuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5tcnNGZXRjaEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih1cmw6IHN0cmluZywgcmVzcG9uc2U6IFJlc3BvbnNlLCByZXNwb25zZUJvZHk6IFJlc3BvbnNlQm9keSB8IG51bGwsIHJlcXVlc3RTdGFja3RyYWNlOiBFcnJvcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5tZXNzYWdlID0gYFNlcnZlciByZXNwb25kZWQgd2l0aCAke3Jlc3BvbnNlLnN0YXR1c30gKCR7cmVzcG9uc2Uuc3RhdHVzVGV4dH0pIGZvciB1cmwgJHt1cmx9LiBDaGVjayBlcnIucmVzcG9uc2VCb2R5IG9yIG5ldHdvcmsgdGFiIGluIGRldiB0b29scyBmb3IgbW9yZSBpbmZvYDtcbiAgICByZXF1ZXN0U3RhY2t0cmFjZS5tZXNzYWdlID0gdGhpcy5tZXNzYWdlO1xuICAgIHRoaXMucmVzcG9uc2VCb2R5ID0gcmVzcG9uc2VCb2R5O1xuICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICB0aGlzLnN0YWNrID0gYFN0YWNrdHJhY2UgZm9yIG91dGdvaW5nIHJlcXVlc3Q6XFxuJHtyZXF1ZXN0U3RhY2t0cmFjZS5zdGFja31cXG5TdGFja3RyYWNlIGZvciBpbmNvbWluZyByZXNwb25zZTpcXG4ke3RoaXMuc3RhY2t9YDtcbiAgfVxuICByZXNwb25zZTogUmVzcG9uc2U7XG4gIHJlc3BvbnNlQm9keTogc3RyaW5nIHwgRmV0Y2hSZXNwb25zZUpzb24gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoQ29uZmlnIGV4dGVuZHMgT21pdDxSZXF1ZXN0SW5pdCwgJ2JvZHknIHwgJ2hlYWRlcnMnPiB7XG4gIGhlYWRlcnM/OiBGZXRjaEhlYWRlcnM7XG4gIGJvZHk/OiBGZXRjaEJvZHkgfCBzdHJpbmc7XG59XG5cbnR5cGUgUmVzcG9uc2VCb2R5ID0gc3RyaW5nIHwgRmV0Y2hSZXNwb25zZUpzb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hIZWFkZXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVsbDtcbn1cblxuaW50ZXJmYWNlIEZldGNoQm9keSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaFJlc3BvbnNlSnNvbiB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbiJdLCJuYW1lcyI6WyJPYnNlcnZhYmxlIiwiaXNQbGFpbk9iamVjdCIsImdldENvbmZpZyIsIm5hdmlnYXRlIiwicmVzdEJhc2VVcmwiLCJmaGlyQmFzZVVybCIsInNlc3Npb25FbmRwb2ludCIsIm1ha2VVcmwiLCJwYXRoIiwic3RhcnRzV2l0aCIsIndpbmRvdyIsIm9wZW5tcnNCYXNlIiwib3Blbm1yc0ZldGNoIiwiZmV0Y2hJbml0IiwiRXJyb3IiLCJ1cmwiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJBY2NlcHQiLCJ1cmxVcmwiLCJVUkwiLCJsb2NhdGlvbiIsInRvU3RyaW5nIiwic2VhcmNoUGFyYW1zIiwiaGFzIiwic2V0IiwicmVxdWVzdFN0YWNrdHJhY2UiLCJmZXRjaCIsInRoZW4iLCJyIiwicmVzcG9uc2UiLCJyZWRpcmVjdEF1dGhGYWlsdXJlIiwib2siLCJzdGF0dXMiLCJkYXRhIiwiY2xvbmUiLCJ0ZXh0IiwicmVzcG9uc2VUZXh0IiwicGFyc2UiLCJlcnIiLCJlbmFibGVkIiwiZXJyb3JzIiwiaW5jbHVkZXMiLCJ0byIsInJlc29sdmVQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZXNwb25zZUJvZHkiLCJPcGVubXJzRmV0Y2hFcnJvciIsIm9wZW5tcnNPYnNlcnZhYmxlRmV0Y2giLCJhYm9ydENvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJzaWduYWwiLCJvYnNlcnZlciIsImhhc1Jlc3BvbnNlIiwibmV4dCIsImNvbXBsZXRlIiwiZXJyb3IiLCJhYm9ydCIsIm1lc3NhZ2UiLCJzdGF0dXNUZXh0Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/openmrs-fetch.ts\n");
|
|
6340
6340
|
|
|
6341
6341
|
/***/ }),
|
|
6342
6342
|
|
|
@@ -6369,7 +6369,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6369
6369
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6370
6370
|
|
|
6371
6371
|
"use strict";
|
|
6372
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fetchCurrentPatient: () => (/* binding */ fetchCurrentPatient)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_offline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-offline */ \"../../framework/esm-offline/src/index.ts\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n\nfunction fetchCurrentPatient(patientUuid, fetchInit) {\n return _fetchCurrentPatient.apply(this, arguments);\n}\nfunction _fetchCurrentPatient() {\n _fetchCurrentPatient = _async_to_generator(function(patientUuid, fetchInit) {\n var includeOfflinePatients, err, _ref, onlinePatient, offlinePatient;\n var _arguments = arguments;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n includeOfflinePatients = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : true;\n if (!patientUuid) return [\n 3,\n 2\n ];\n err = null;\n return [\n 4,\n Promise.all([\n (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(\"\".concat(_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.fhirBaseUrl, \"/Patient/\").concat(patientUuid), fetchInit).catch(function(e) {\n return err = e;\n }),\n includeOfflinePatients ? getOfflineRegisteredPatientAsFhirPatient(patientUuid) : Promise.resolve(null)\n ])\n ];\n case 1:\n _ref = _sliced_to_array.apply(void 0, [\n _state.sent(),\n 2\n ]), onlinePatient = _ref[0], offlinePatient = _ref[1];\n if (onlinePatient.ok) {\n return [\n 2,\n onlinePatient.data\n ];\n }\n if (offlinePatient) {\n return [\n 2,\n offlinePatient\n ];\n }\n if (err) {\n throw err;\n }\n _state.label = 2;\n case 2:\n return [\n 2,\n null\n ];\n }\n });\n });\n return _fetchCurrentPatient.apply(this, arguments);\n}\nfunction getOfflineRegisteredPatientAsFhirPatient(patientUuid) {\n return _getOfflineRegisteredPatientAsFhirPatient.apply(this, arguments);\n}\nfunction _getOfflineRegisteredPatientAsFhirPatient() {\n _getOfflineRegisteredPatientAsFhirPatient = _async_to_generator(function(patientUuid) {\n var patientRegistrationSyncItems, patientSyncItem, _patientSyncItem_fhirPatient;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_openmrs_esm_offline__WEBPACK_IMPORTED_MODULE_0__.getSynchronizationItems)(\"patient-registration\")\n ];\n case 1:\n patientRegistrationSyncItems = _state.sent();\n patientSyncItem = patientRegistrationSyncItems.find(function(item) {\n return item.fhirPatient.id === patientUuid;\n });\n return [\n 2,\n (_patientSyncItem_fhirPatient = patientSyncItem === null || patientSyncItem === void 0 ? void 0 : patientSyncItem.fhirPatient) !== null && _patientSyncItem_fhirPatient !== void 0 ? _patientSyncItem_fhirPatient : null\n ];\n }\n });\n });\n return _getOfflineRegisteredPatientAsFhirPatient.apply(this, arguments);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy9jdXJyZW50LXBhdGllbnQudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNxQztBQUNXO0FBa0JuRSxTQUFlRyxvQkFDcEJDLFdBQXdCLEVBQ3hCQyxTQUF1QjtXQUZIRjtDQTRCckI7U0E1QnFCQTtJQUFBQSx1QkFBZiw2QkFDTEMsV0FBd0IsRUFDeEJDLFNBQXVCLEVBRU87WUFEOUJDLHdCQUdNQyxLQUNvQyxNQUFqQ0MsZUFBZUM7Ozs7O29CQUp4QkgseUJBQUFBLG9FQUFrQyxJQUFJO3lCQUVsQ0YsYUFBQUE7Ozs7b0JBQ0VHLE1BQW9CLElBQUk7b0JBQ1k7O3dCQUFNRyxRQUFRQyxHQUFHOzRCQUN2RFQsNERBQVlBLENBQWUsR0FBMEJFLE9BQXZCSCx1REFBV0EsRUFBQyxhQUF1QixPQUFaRyxjQUFlQyxXQUFXTyxLQUFLLENBQ2xGLFNBQUNDO3VDQUFPTixNQUFNTTs7NEJBRWhCUCx5QkFBeUJRLHlDQUF5Q1YsZUFBZU0sUUFBUUssT0FBTyxDQUFDLElBQUksQ0FBQzs7OztvQkFKaEU7d0JBQUE7O3dCQUFqQ1AsZ0JBQWlDLFNBQWxCQyxpQkFBa0I7b0JBT3hDLElBQUlELGNBQWNRLEVBQUUsRUFBRTt3QkFDcEI7OzRCQUFPUixjQUFjUyxJQUFJOztvQkFDM0IsQ0FBQztvQkFFRCxJQUFJUixnQkFBZ0I7d0JBQ2xCOzs0QkFBT0E7O29CQUNULENBQUM7b0JBRUQsSUFBSUYsS0FBSzt3QkFDUCxNQUFNQSxJQUFJO29CQUNaLENBQUM7OztvQkFHSDs7d0JBQU8sSUFBSTs7OztJQUNiO1dBNUJzQko7O1NBOEJQVyx5Q0FBeUNWLFdBQW1CO1dBQTVEVTs7U0FBQUE7SUFBQUEsNENBQWYsNkJBQXdEVixXQUFtQixFQUFnQztZQUNuR2MsOEJBR0FDLGlCQUVDQTs7OztvQkFMOEI7O3dCQUFNbkIsNkVBQXVCQSxDQUUvRDs7O29CQUZHa0IsK0JBQStCO29CQUcvQkMsa0JBQWtCRCw2QkFBNkJFLElBQUksQ0FBQyxTQUFDQzsrQkFBU0EsS0FBS0MsV0FBVyxDQUFDQyxFQUFFLEtBQUtuQjs7b0JBRTVGOzt3QkFBT2UsQ0FBQUEsK0JBQUFBLDRCQUFBQSw2QkFBQUEsS0FBQUEsSUFBQUEsZ0JBQWlCRyxXQUFXLGNBQTVCSCwwQ0FBQUEsK0JBQWdDLElBQUk7Ozs7SUFDN0M7V0FQZUwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL3NyYy9zaGFyZWQtYXBpLW9iamVjdHMvY3VycmVudC1wYXRpZW50LnRzPzc0NjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqL1xuaW1wb3J0IHsgZ2V0U3luY2hyb25pemF0aW9uSXRlbXMgfSBmcm9tICdAb3Blbm1ycy9lc20tb2ZmbGluZSc7XG5pbXBvcnQgeyBGZXRjaENvbmZpZywgZmhpckJhc2VVcmwsIG9wZW5tcnNGZXRjaCB9IGZyb20gJy4uL29wZW5tcnMtZmV0Y2gnO1xuaW1wb3J0IHsgRmV0Y2hSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgQ3VycmVudFBhdGllbnQgPSBmaGlyLlBhdGllbnQgfCBGZXRjaFJlc3BvbnNlPGZoaXIuUGF0aWVudD47XG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbnRQYXRpZW50T3B0aW9ucyB7XG4gIGluY2x1ZGVDb25maWc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGllbnRXaXRoRnVsbFJlc3BvbnNlIGV4dGVuZHMgQ3VycmVudFBhdGllbnRPcHRpb25zIHtcbiAgaW5jbHVkZUNvbmZpZzogdHJ1ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmx5VGhlUGF0aWVudCBleHRlbmRzIEN1cnJlbnRQYXRpZW50T3B0aW9ucyB7XG4gIGluY2x1ZGVDb25maWc6IGZhbHNlO1xufVxuXG5leHBvcnQgdHlwZSBQYXRpZW50VXVpZCA9IHN0cmluZyB8IG51bGw7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEN1cnJlbnRQYXRpZW50KFxuICBwYXRpZW50VXVpZDogUGF0aWVudFV1aWQsXG4gIGZldGNoSW5pdD86IEZldGNoQ29uZmlnLFxuICBpbmNsdWRlT2ZmbGluZVBhdGllbnRzOiBib29sZWFuID0gdHJ1ZSxcbik6IFByb21pc2U8Zmhpci5QYXRpZW50IHwgbnVsbD4ge1xuICBpZiAocGF0aWVudFV1aWQpIHtcbiAgICBsZXQgZXJyOiBFcnJvciB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IFtvbmxpbmVQYXRpZW50LCBvZmZsaW5lUGF0aWVudF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBvcGVubXJzRmV0Y2g8Zmhpci5QYXRpZW50PihgJHtmaGlyQmFzZVVybH0vUGF0aWVudC8ke3BhdGllbnRVdWlkfWAsIGZldGNoSW5pdCkuY2F0Y2g8RmV0Y2hSZXNwb25zZTxmaGlyLlBhdGllbnQ+PihcbiAgICAgICAgKGUpID0+IChlcnIgPSBlKSxcbiAgICAgICksXG4gICAgICBpbmNsdWRlT2ZmbGluZVBhdGllbnRzID8gZ2V0T2ZmbGluZVJlZ2lzdGVyZWRQYXRpZW50QXNGaGlyUGF0aWVudChwYXRpZW50VXVpZCkgOiBQcm9taXNlLnJlc29sdmUobnVsbCksXG4gICAgXSk7XG5cbiAgICBpZiAob25saW5lUGF0aWVudC5vaykge1xuICAgICAgcmV0dXJuIG9ubGluZVBhdGllbnQuZGF0YTtcbiAgICB9XG5cbiAgICBpZiAob2ZmbGluZVBhdGllbnQpIHtcbiAgICAgIHJldHVybiBvZmZsaW5lUGF0aWVudDtcbiAgICB9XG5cbiAgICBpZiAoZXJyKSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldE9mZmxpbmVSZWdpc3RlcmVkUGF0aWVudEFzRmhpclBhdGllbnQocGF0aWVudFV1aWQ6IHN0cmluZyk6IFByb21pc2U8Zmhpci5QYXRpZW50IHwgbnVsbD4ge1xuICBjb25zdCBwYXRpZW50UmVnaXN0cmF0aW9uU3luY0l0ZW1zID0gYXdhaXQgZ2V0U3luY2hyb25pemF0aW9uSXRlbXM8e1xuICAgIGZoaXJQYXRpZW50OiBmaGlyLlBhdGllbnQ7XG4gIH0+KCdwYXRpZW50LXJlZ2lzdHJhdGlvbicpO1xuICBjb25zdCBwYXRpZW50U3luY0l0ZW0gPSBwYXRpZW50UmVnaXN0cmF0aW9uU3luY0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZmhpclBhdGllbnQuaWQgPT09IHBhdGllbnRVdWlkKTtcblxuICByZXR1cm4gcGF0aWVudFN5bmNJdGVtPy5maGlyUGF0aWVudCA/PyBudWxsO1xufVxuIl0sIm5hbWVzIjpbImdldFN5bmNocm9uaXphdGlvbkl0ZW1zIiwiZmhpckJhc2VVcmwiLCJvcGVubXJzRmV0Y2giLCJmZXRjaEN1cnJlbnRQYXRpZW50IiwicGF0aWVudFV1aWQiLCJmZXRjaEluaXQiLCJpbmNsdWRlT2ZmbGluZVBhdGllbnRzIiwiZXJyIiwib25saW5lUGF0aWVudCIsIm9mZmxpbmVQYXRpZW50IiwiUHJvbWlzZSIsImFsbCIsImNhdGNoIiwiZSIsImdldE9mZmxpbmVSZWdpc3RlcmVkUGF0aWVudEFzRmhpclBhdGllbnQiLCJyZXNvbHZlIiwib2siLCJkYXRhIiwicGF0aWVudFJlZ2lzdHJhdGlvblN5bmNJdGVtcyIsInBhdGllbnRTeW5jSXRlbSIsImZpbmQiLCJpdGVtIiwiZmhpclBhdGllbnQiLCJpZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/shared-api-objects/current-patient.ts\n");
|
|
6372
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fetchCurrentPatient: () => (/* binding */ fetchCurrentPatient)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_offline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-offline */ \"../../framework/esm-offline/src/index.ts\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n\nfunction fetchCurrentPatient(patientUuid, fetchInit) {\n return _fetchCurrentPatient.apply(this, arguments);\n}\nfunction _fetchCurrentPatient() {\n _fetchCurrentPatient = _async_to_generator(function(patientUuid, fetchInit) {\n var includeOfflinePatients, err, _ref, onlinePatient, offlinePatient;\n var _arguments = arguments;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n includeOfflinePatients = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : true;\n if (!patientUuid) return [\n 3,\n 2\n ];\n err = null;\n return [\n 4,\n Promise.all([\n (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsFetch)(\"\".concat(_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.fhirBaseUrl, \"/Patient/\").concat(patientUuid), fetchInit).catch(function(e) {\n return err = e;\n }),\n includeOfflinePatients ? getOfflineRegisteredPatientAsFhirPatient(patientUuid) : Promise.resolve(null)\n ])\n ];\n case 1:\n _ref = _sliced_to_array.apply(void 0, [\n _state.sent(),\n 2\n ]), onlinePatient = _ref[0], offlinePatient = _ref[1];\n if (onlinePatient.ok) {\n return [\n 2,\n onlinePatient.data\n ];\n }\n if (offlinePatient) {\n return [\n 2,\n offlinePatient\n ];\n }\n if (err) {\n throw err;\n }\n _state.label = 2;\n case 2:\n return [\n 2,\n null\n ];\n }\n });\n });\n return _fetchCurrentPatient.apply(this, arguments);\n}\nfunction getOfflineRegisteredPatientAsFhirPatient(patientUuid) {\n return _getOfflineRegisteredPatientAsFhirPatient.apply(this, arguments);\n}\nfunction _getOfflineRegisteredPatientAsFhirPatient() {\n _getOfflineRegisteredPatientAsFhirPatient = _async_to_generator(function(patientUuid) {\n var patientRegistrationSyncItems, patientSyncItem, _patientSyncItem_fhirPatient;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_openmrs_esm_offline__WEBPACK_IMPORTED_MODULE_0__.getSynchronizationItems)(\"patient-registration\")\n ];\n case 1:\n patientRegistrationSyncItems = _state.sent();\n patientSyncItem = patientRegistrationSyncItems.find(function(item) {\n return item.fhirPatient.id === patientUuid;\n });\n return [\n 2,\n (_patientSyncItem_fhirPatient = patientSyncItem === null || patientSyncItem === void 0 ? void 0 : patientSyncItem.fhirPatient) !== null && _patientSyncItem_fhirPatient !== void 0 ? _patientSyncItem_fhirPatient : null\n ];\n }\n });\n });\n return _getOfflineRegisteredPatientAsFhirPatient.apply(this, arguments);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy9jdXJyZW50LXBhdGllbnQudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNxQztBQUVGO0FBa0J0RCxTQUFlRyxvQkFDcEJDLFdBQXdCLEVBQ3hCQyxTQUF1QjtXQUZIRjtDQTRCckI7U0E1QnFCQTtJQUFBQSx1QkFBZiw2QkFDTEMsV0FBd0IsRUFDeEJDLFNBQXVCLEVBRU87WUFEOUJDLHdCQUdNQyxLQUNvQyxNQUFqQ0MsZUFBZUM7Ozs7O29CQUp4QkgseUJBQUFBLG9FQUFrQyxJQUFJO3lCQUVsQ0YsYUFBQUE7Ozs7b0JBQ0VHLE1BQW9CLElBQUk7b0JBQ1k7O3dCQUFNRyxRQUFRQyxHQUFHOzRCQUN2RFQsNERBQVlBLENBQWUsR0FBMEJFLE9BQXZCSCx1REFBV0EsRUFBQyxhQUF1QixPQUFaRyxjQUFlQyxXQUFXTyxLQUFLLENBQ2xGLFNBQUNDO3VDQUFPTixNQUFNTTs7NEJBRWhCUCx5QkFBeUJRLHlDQUF5Q1YsZUFBZU0sUUFBUUssT0FBTyxDQUFDLElBQUksQ0FBQzs7OztvQkFKaEU7d0JBQUE7O3dCQUFqQ1AsZ0JBQWlDLFNBQWxCQyxpQkFBa0I7b0JBT3hDLElBQUlELGNBQWNRLEVBQUUsRUFBRTt3QkFDcEI7OzRCQUFPUixjQUFjUyxJQUFJOztvQkFDM0IsQ0FBQztvQkFFRCxJQUFJUixnQkFBZ0I7d0JBQ2xCOzs0QkFBT0E7O29CQUNULENBQUM7b0JBRUQsSUFBSUYsS0FBSzt3QkFDUCxNQUFNQSxJQUFJO29CQUNaLENBQUM7OztvQkFHSDs7d0JBQU8sSUFBSTs7OztJQUNiO1dBNUJzQko7O1NBOEJQVyx5Q0FBeUNWLFdBQW1CO1dBQTVEVTs7U0FBQUE7SUFBQUEsNENBQWYsNkJBQXdEVixXQUFtQixFQUFnQztZQUNuR2MsOEJBR0FDLGlCQUVDQTs7OztvQkFMOEI7O3dCQUFNbkIsNkVBQXVCQSxDQUUvRDs7O29CQUZHa0IsK0JBQStCO29CQUcvQkMsa0JBQWtCRCw2QkFBNkJFLElBQUksQ0FBQyxTQUFDQzsrQkFBU0EsS0FBS0MsV0FBVyxDQUFDQyxFQUFFLEtBQUtuQjs7b0JBRTVGOzt3QkFBT2UsQ0FBQUEsK0JBQUFBLDRCQUFBQSw2QkFBQUEsS0FBQUEsSUFBQUEsZ0JBQWlCRyxXQUFXLGNBQTVCSCwwQ0FBQUEsK0JBQWdDLElBQUk7Ozs7SUFDN0M7V0FQZUwiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL3NyYy9zaGFyZWQtYXBpLW9iamVjdHMvY3VycmVudC1wYXRpZW50LnRzPzc0NjAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqL1xuaW1wb3J0IHsgZ2V0U3luY2hyb25pemF0aW9uSXRlbXMgfSBmcm9tICdAb3Blbm1ycy9lc20tb2ZmbGluZSc7XG5pbXBvcnQgdHlwZSB7IEZldGNoQ29uZmlnIH0gZnJvbSAnLi4vb3Blbm1ycy1mZXRjaCc7XG5pbXBvcnQgeyBmaGlyQmFzZVVybCwgb3Blbm1yc0ZldGNoIH0gZnJvbSAnLi4vb3Blbm1ycy1mZXRjaCc7XG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEN1cnJlbnRQYXRpZW50ID0gZmhpci5QYXRpZW50IHwgRmV0Y2hSZXNwb25zZTxmaGlyLlBhdGllbnQ+O1xuZXhwb3J0IGludGVyZmFjZSBDdXJyZW50UGF0aWVudE9wdGlvbnMge1xuICBpbmNsdWRlQ29uZmlnPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRpZW50V2l0aEZ1bGxSZXNwb25zZSBleHRlbmRzIEN1cnJlbnRQYXRpZW50T3B0aW9ucyB7XG4gIGluY2x1ZGVDb25maWc6IHRydWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25seVRoZVBhdGllbnQgZXh0ZW5kcyBDdXJyZW50UGF0aWVudE9wdGlvbnMge1xuICBpbmNsdWRlQ29uZmlnOiBmYWxzZTtcbn1cblxuZXhwb3J0IHR5cGUgUGF0aWVudFV1aWQgPSBzdHJpbmcgfCBudWxsO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hDdXJyZW50UGF0aWVudChcbiAgcGF0aWVudFV1aWQ6IFBhdGllbnRVdWlkLFxuICBmZXRjaEluaXQ/OiBGZXRjaENvbmZpZyxcbiAgaW5jbHVkZU9mZmxpbmVQYXRpZW50czogYm9vbGVhbiA9IHRydWUsXG4pOiBQcm9taXNlPGZoaXIuUGF0aWVudCB8IG51bGw+IHtcbiAgaWYgKHBhdGllbnRVdWlkKSB7XG4gICAgbGV0IGVycjogRXJyb3IgfCBudWxsID0gbnVsbDtcbiAgICBjb25zdCBbb25saW5lUGF0aWVudCwgb2ZmbGluZVBhdGllbnRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgb3Blbm1yc0ZldGNoPGZoaXIuUGF0aWVudD4oYCR7ZmhpckJhc2VVcmx9L1BhdGllbnQvJHtwYXRpZW50VXVpZH1gLCBmZXRjaEluaXQpLmNhdGNoPEZldGNoUmVzcG9uc2U8Zmhpci5QYXRpZW50Pj4oXG4gICAgICAgIChlKSA9PiAoZXJyID0gZSksXG4gICAgICApLFxuICAgICAgaW5jbHVkZU9mZmxpbmVQYXRpZW50cyA/IGdldE9mZmxpbmVSZWdpc3RlcmVkUGF0aWVudEFzRmhpclBhdGllbnQocGF0aWVudFV1aWQpIDogUHJvbWlzZS5yZXNvbHZlKG51bGwpLFxuICAgIF0pO1xuXG4gICAgaWYgKG9ubGluZVBhdGllbnQub2spIHtcbiAgICAgIHJldHVybiBvbmxpbmVQYXRpZW50LmRhdGE7XG4gICAgfVxuXG4gICAgaWYgKG9mZmxpbmVQYXRpZW50KSB7XG4gICAgICByZXR1cm4gb2ZmbGluZVBhdGllbnQ7XG4gICAgfVxuXG4gICAgaWYgKGVycikge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRPZmZsaW5lUmVnaXN0ZXJlZFBhdGllbnRBc0ZoaXJQYXRpZW50KHBhdGllbnRVdWlkOiBzdHJpbmcpOiBQcm9taXNlPGZoaXIuUGF0aWVudCB8IG51bGw+IHtcbiAgY29uc3QgcGF0aWVudFJlZ2lzdHJhdGlvblN5bmNJdGVtcyA9IGF3YWl0IGdldFN5bmNocm9uaXphdGlvbkl0ZW1zPHtcbiAgICBmaGlyUGF0aWVudDogZmhpci5QYXRpZW50O1xuICB9PigncGF0aWVudC1yZWdpc3RyYXRpb24nKTtcbiAgY29uc3QgcGF0aWVudFN5bmNJdGVtID0gcGF0aWVudFJlZ2lzdHJhdGlvblN5bmNJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmZoaXJQYXRpZW50LmlkID09PSBwYXRpZW50VXVpZCk7XG5cbiAgcmV0dXJuIHBhdGllbnRTeW5jSXRlbT8uZmhpclBhdGllbnQgPz8gbnVsbDtcbn1cbiJdLCJuYW1lcyI6WyJnZXRTeW5jaHJvbml6YXRpb25JdGVtcyIsImZoaXJCYXNlVXJsIiwib3Blbm1yc0ZldGNoIiwiZmV0Y2hDdXJyZW50UGF0aWVudCIsInBhdGllbnRVdWlkIiwiZmV0Y2hJbml0IiwiaW5jbHVkZU9mZmxpbmVQYXRpZW50cyIsImVyciIsIm9ubGluZVBhdGllbnQiLCJvZmZsaW5lUGF0aWVudCIsIlByb21pc2UiLCJhbGwiLCJjYXRjaCIsImUiLCJnZXRPZmZsaW5lUmVnaXN0ZXJlZFBhdGllbnRBc0ZoaXJQYXRpZW50IiwicmVzb2x2ZSIsIm9rIiwiZGF0YSIsInBhdGllbnRSZWdpc3RyYXRpb25TeW5jSXRlbXMiLCJwYXRpZW50U3luY0l0ZW0iLCJmaW5kIiwiaXRlbSIsImZoaXJQYXRpZW50IiwiaWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/shared-api-objects/current-patient.ts\n");
|
|
6373
6373
|
|
|
6374
6374
|
/***/ }),
|
|
6375
6375
|
|
|
@@ -6391,7 +6391,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6391
6391
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6392
6392
|
|
|
6393
6393
|
"use strict";
|
|
6394
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLocations: () => (/* binding */ getLocations),\n/* harmony export */ toLocationObject: () => (/* binding */ toLocationObject)\n/* harmony export */ });\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/** @module @category API */ \n\nfunction toLocationObject(openmrsRestForm) {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display\n };\n}\nfunction getLocations() {\n var tagUuidOrName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n var url = \"/ws/rest/v1/location\" + (tagUuidOrName ? \"?tag=\" + tagUuidOrName : \"\");\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__.openmrsObservableFetch)(url).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.map)(function(results) {\n var locations = results.data.results.map(toLocationObject);\n return locations;\n })).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6394
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLocations: () => (/* binding */ getLocations),\n/* harmony export */ toLocationObject: () => (/* binding */ toLocationObject)\n/* harmony export */ });\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/** @module @category API */ \n\nfunction toLocationObject(openmrsRestForm) {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display\n };\n}\nfunction getLocations() {\n var tagUuidOrName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n var url = \"/ws/rest/v1/location\" + (tagUuidOrName ? \"?tag=\" + tagUuidOrName : \"\");\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__.openmrsObservableFetch)(url).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.map)(function(results) {\n var locations = results.data.results.map(toLocationObject);\n return locations;\n })).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy9sb2NhdGlvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLDBCQUEwQixHQUVpQjtBQUNlO0FBR25ELFNBQVNHLGlCQUFpQkMsZUFBb0IsRUFBWTtJQUMvRCxPQUFPO1FBQ0xDLE1BQU1ELGdCQUFnQkMsSUFBSTtRQUMxQkMsU0FBU0YsZ0JBQWdCRSxPQUFPO0lBQ2xDO0FBQ0YsQ0FBQztBQUVNLFNBQVNDLGVBQStFO1FBQWxFQyxnQkFBQUEsaUVBQStCLElBQUk7SUFDOUQsSUFBTUMsTUFBTSx5QkFBMEJELENBQUFBLGdCQUFnQixVQUFVQSxnQkFBZ0IsRUFBRTtJQUNsRixPQUFPTixzRUFBc0JBLENBQU1PLEtBQ2hDQyxJQUFJLENBQ0hWLG1EQUFHQSxDQUFDLFNBQUNXLFNBQVk7UUFDZixJQUFNQyxZQUE2QkQsUUFBUUUsSUFBSSxDQUFDRixPQUFPLENBQUNYLEdBQUcsQ0FBQ0c7UUFDNUQsT0FBT1M7SUFDVCxJQUVERixJQUFJLENBQUNULG9EQUFJQSxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy9sb2NhdGlvbi50cz9kN2Q0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb3Blbm1yc09ic2VydmFibGVGZXRjaCB9IGZyb20gJy4uL29wZW5tcnMtZmV0Y2gnO1xuaW1wb3J0IHR5cGUgeyBMb2NhdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRvTG9jYXRpb25PYmplY3Qob3Blbm1yc1Jlc3RGb3JtOiBhbnkpOiBMb2NhdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdXVpZDogb3Blbm1yc1Jlc3RGb3JtLnV1aWQsXG4gICAgZGlzcGxheTogb3Blbm1yc1Jlc3RGb3JtLmRpc3BsYXksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhdGlvbnModGFnVXVpZE9yTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiBPYnNlcnZhYmxlPEFycmF5PExvY2F0aW9uPj4ge1xuICBjb25zdCB1cmwgPSBgL3dzL3Jlc3QvdjEvbG9jYXRpb25gICsgKHRhZ1V1aWRPck5hbWUgPyAnP3RhZz0nICsgdGFnVXVpZE9yTmFtZSA6ICcnKTtcbiAgcmV0dXJuIG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2g8YW55Pih1cmwpXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdHMpID0+IHtcbiAgICAgICAgY29uc3QgbG9jYXRpb25zOiBBcnJheTxMb2NhdGlvbj4gPSByZXN1bHRzLmRhdGEucmVzdWx0cy5tYXAodG9Mb2NhdGlvbk9iamVjdCk7XG4gICAgICAgIHJldHVybiBsb2NhdGlvbnM7XG4gICAgICB9KSxcbiAgICApXG4gICAgLnBpcGUodGFrZSgxKSk7XG59XG4iXSwibmFtZXMiOlsibWFwIiwidGFrZSIsIm9wZW5tcnNPYnNlcnZhYmxlRmV0Y2giLCJ0b0xvY2F0aW9uT2JqZWN0Iiwib3Blbm1yc1Jlc3RGb3JtIiwidXVpZCIsImRpc3BsYXkiLCJnZXRMb2NhdGlvbnMiLCJ0YWdVdWlkT3JOYW1lIiwidXJsIiwicGlwZSIsInJlc3VsdHMiLCJsb2NhdGlvbnMiLCJkYXRhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/shared-api-objects/location.ts\n");
|
|
6395
6395
|
|
|
6396
6396
|
/***/ }),
|
|
6397
6397
|
|
|
@@ -6402,7 +6402,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6402
6402
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6403
6403
|
|
|
6404
6404
|
"use strict";
|
|
6405
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getVisitTypes: () => (/* binding */ getVisitTypes),\n/* harmony export */ toVisitTypeObject: () => (/* binding */ toVisitTypeObject)\n/* harmony export */ });\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/** @module @category API */ \n\nfunction toVisitTypeObject(openmrsRestForm) {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display,\n name: openmrsRestForm.name\n };\n}\nfunction getVisitTypes() {\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__.openmrsObservableFetch)(\"/ws/rest/v1/visittype\").pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.map)(function(results) {\n var visitTypes = results.data.results.map(toVisitTypeObject);\n return visitTypes;\n })).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6405
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getVisitTypes: () => (/* binding */ getVisitTypes),\n/* harmony export */ toVisitTypeObject: () => (/* binding */ toVisitTypeObject)\n/* harmony export */ });\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/** @module @category API */ \n\nfunction toVisitTypeObject(openmrsRestForm) {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display,\n name: openmrsRestForm.name\n };\n}\nfunction getVisitTypes() {\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_0__.openmrsObservableFetch)(\"/ws/rest/v1/visittype\").pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.map)(function(results) {\n var visitTypes = results.data.results.map(toVisitTypeObject);\n return visitTypes;\n })).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy92aXNpdC10eXBlLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsMEJBQTBCLEdBRWlCO0FBQ2U7QUFHbkQsU0FBU0csa0JBQWtCQyxlQUFvQixFQUFhO0lBQ2pFLE9BQU87UUFDTEMsTUFBTUQsZ0JBQWdCQyxJQUFJO1FBQzFCQyxTQUFTRixnQkFBZ0JFLE9BQU87UUFDaENDLE1BQU1ILGdCQUFnQkcsSUFBSTtJQUM1QjtBQUNGLENBQUM7QUFFTSxTQUFTQyxnQkFBOEM7SUFDNUQsT0FBT04sc0VBQXNCQSxDQUFPLHlCQUNqQ08sSUFBSSxDQUNIVCxtREFBR0EsQ0FBQyxTQUFDVSxTQUFZO1FBQ2YsSUFBTUMsYUFBK0JELFFBQVFFLElBQUksQ0FBQ0YsT0FBTyxDQUFDVixHQUFHLENBQUNHO1FBQzlELE9BQU9RO0lBQ1QsSUFFREYsSUFBSSxDQUFDUixvREFBSUEsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL3NyYy9zaGFyZWQtYXBpLW9iamVjdHMvdmlzaXQtdHlwZS50cz8yMzMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb3Blbm1yc09ic2VydmFibGVGZXRjaCB9IGZyb20gJy4uL29wZW5tcnMtZmV0Y2gnO1xuaW1wb3J0IHR5cGUgeyBWaXNpdFR5cGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1Zpc2l0VHlwZU9iamVjdChvcGVubXJzUmVzdEZvcm06IGFueSk6IFZpc2l0VHlwZSB7XG4gIHJldHVybiB7XG4gICAgdXVpZDogb3Blbm1yc1Jlc3RGb3JtLnV1aWQsXG4gICAgZGlzcGxheTogb3Blbm1yc1Jlc3RGb3JtLmRpc3BsYXksXG4gICAgbmFtZTogb3Blbm1yc1Jlc3RGb3JtLm5hbWUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXNpdFR5cGVzKCk6IE9ic2VydmFibGU8QXJyYXk8VmlzaXRUeXBlPj4ge1xuICByZXR1cm4gb3Blbm1yc09ic2VydmFibGVGZXRjaDxhbnk+KGAvd3MvcmVzdC92MS92aXNpdHR5cGVgKVxuICAgIC5waXBlKFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2l0VHlwZXM6IEFycmF5PFZpc2l0VHlwZT4gPSByZXN1bHRzLmRhdGEucmVzdWx0cy5tYXAodG9WaXNpdFR5cGVPYmplY3QpO1xuICAgICAgICByZXR1cm4gdmlzaXRUeXBlcztcbiAgICAgIH0pLFxuICAgIClcbiAgICAucGlwZSh0YWtlKDEpKTtcbn1cbiJdLCJuYW1lcyI6WyJtYXAiLCJ0YWtlIiwib3Blbm1yc09ic2VydmFibGVGZXRjaCIsInRvVmlzaXRUeXBlT2JqZWN0Iiwib3Blbm1yc1Jlc3RGb3JtIiwidXVpZCIsImRpc3BsYXkiLCJuYW1lIiwiZ2V0VmlzaXRUeXBlcyIsInBpcGUiLCJyZXN1bHRzIiwidmlzaXRUeXBlcyIsImRhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/shared-api-objects/visit-type.ts\n");
|
|
6406
6406
|
|
|
6407
6407
|
/***/ }),
|
|
6408
6408
|
|
|
@@ -6413,7 +6413,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6413
6413
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6414
6414
|
|
|
6415
6415
|
"use strict";
|
|
6416
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VisitMode: () => (/* binding */ VisitMode),\n/* harmony export */ VisitStatus: () => (/* binding */ VisitStatus),\n/* harmony export */ defaultVisitCustomRepresentation: () => (/* binding */ defaultVisitCustomRepresentation),\n/* harmony export */ getStartedVisit: () => (/* binding */ getStartedVisit),\n/* harmony export */ getVisitStore: () => (/* binding */ getVisitStore),\n/* harmony export */ getVisitsForPatient: () => (/* binding */ getVisitsForPatient),\n/* harmony export */ saveVisit: () => (/* binding */ saveVisit),\n/* harmony export */ setCurrentVisit: () => (/* binding */ setCurrentVisit),\n/* harmony export */ updateVisit: () => (/* binding */ updateVisit)\n/* harmony export */ });\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category API */ \n\n\n\nvar defaultVisitCustomRepresentation = \"custom:(uuid,encounters:(uuid,encounterDatetime,\" + \"form:(uuid,name),location:ref,\" + \"encounterType:ref,encounterProviders:(uuid,display,\" + \"provider:(uuid,display))),patient:(uuid,uuid),\" + \"visitType:(uuid,name,display),\" + \"attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),\" + \"location:(uuid,name,display),startDatetime,stopDatetime)\";\nvar initialState = getVisitLocalStorage() || {\n patientUuid: null,\n manuallySetVisitUuid: null\n};\nfunction getVisitStore() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__.getGlobalStore)(\"visit\", initialState);\n}\nfunction setCurrentVisit(patientUuid, visitUuid) {\n getVisitStore().setState({\n patientUuid: patientUuid,\n manuallySetVisitUuid: visitUuid\n });\n}\ngetVisitStore().subscribe(function(state) {\n setVisitLocalStorage(state);\n});\nfunction setVisitLocalStorage(value) {\n localStorage.setItem(\"openmrs:visitStoreState\", JSON.stringify(value));\n}\nfunction getVisitLocalStorage() {\n try {\n return JSON.parse(localStorage.getItem(\"openmrs:visitStoreState\") || \"null\");\n } catch (e) {\n return null;\n }\n}\nfunction getVisitsForPatient(patientUuid, abortController, v) {\n var custom = v !== null && v !== void 0 ? v : defaultVisitCustomRepresentation;\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsObservableFetch)(\"/ws/rest/v1/visit?patient=\".concat(patientUuid, \"&v=\").concat(custom), {\n signal: abortController.signal,\n method: \"GET\",\n headers: {\n \"Content-type\": \"application/json\"\n }\n }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.take)(1)).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)(function(response) {\n return response;\n }));\n}\nfunction saveVisit(payload, abortController) {\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsObservableFetch)(\"/ws/rest/v1/visit\", {\n signal: abortController.signal,\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/json\"\n },\n body: payload\n });\n}\nfunction updateVisit(uuid, payload, abortController) {\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsObservableFetch)(\"/ws/rest/v1/visit/\".concat(uuid), {\n signal: abortController.signal,\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/json\"\n },\n body: payload\n });\n}\n/** @deprecated */ var getStartedVisit = new rxjs__WEBPACK_IMPORTED_MODULE_0__.BehaviorSubject(null);\nvar VisitMode;\n(function(VisitMode) {\n VisitMode[\"NEWVISIT\"] = \"startVisit\";\n VisitMode[\"EDITVISIT\"] = \"editVisit\";\n VisitMode[\"LOADING\"] = \"loadingVisit\";\n})(VisitMode || (VisitMode = {}));\nvar VisitStatus;\n(function(VisitStatus) {\n VisitStatus[\"NOTSTARTED\"] = \"notStarted\";\n VisitStatus[\"ONGOING\"] = \"ongoing\";\n})(VisitStatus || (VisitStatus = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy92aXNpdC11dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEIsR0FDeUI7QUFDUjtBQUNlO0FBRU47QUFFN0MsSUFBTUssbUNBQ1gscURBQ0EsbUNBQ0Esd0RBQ0EsbURBQ0EsbUNBQ0EsaUZBQ0EsMkRBQTJEO0FBTzdELElBQU1DLGVBQWVDLDBCQUEwQjtJQUM3Q0MsYUFBYSxJQUFJO0lBQ2pCQyxzQkFBc0IsSUFBSTtBQUM1QjtBQUNPLFNBQVNDLGdCQUFnQjtJQUM5QixPQUFPTixrRUFBY0EsQ0FBa0IsU0FBU0U7QUFDbEQsQ0FBQztBQUVNLFNBQVNLLGdCQUFnQkgsV0FBbUIsRUFBRUksU0FBaUIsRUFBRTtJQUN0RUYsZ0JBQWdCRyxRQUFRLENBQUM7UUFBRUwsYUFBQUE7UUFBYUMsc0JBQXNCRztJQUFVO0FBQzFFLENBQUM7QUFFREYsZ0JBQWdCSSxTQUFTLENBQUMsU0FBQ0MsT0FBVTtJQUNuQ0MscUJBQXFCRDtBQUN2QjtBQUVBLFNBQVNDLHFCQUFxQkMsS0FBc0IsRUFBRTtJQUNwREMsYUFBYUMsT0FBTyxDQUFDLDJCQUEyQkMsS0FBS0MsU0FBUyxDQUFDSjtBQUNqRTtBQUVBLFNBQVNWLHVCQUErQztJQUN0RCxJQUFJO1FBQ0YsT0FBT2EsS0FBS0UsS0FBSyxDQUFDSixhQUFhSyxPQUFPLENBQUMsOEJBQThCO0lBQ3ZFLEVBQUUsT0FBT0MsR0FBRztRQUNWLE9BQU8sSUFBSTtJQUNiO0FBQ0Y7QUFFTyxTQUFTQyxvQkFDZGpCLFdBQW1CLEVBQ25Ca0IsZUFBZ0MsRUFDaENDLENBQVUsRUFDNEM7SUFDdEQsSUFBTUMsU0FBU0QsY0FBQUEsZUFBQUEsSUFBS3RCLGdDQUFnQztJQUVwRCxPQUFPRixzRUFBc0JBLENBQUMsNkJBQThDeUIsT0FBakJwQixhQUFZLE9BQVksT0FBUG9CLFNBQVU7UUFDcEZDLFFBQVFILGdCQUFnQkcsTUFBTTtRQUM5QkMsUUFBUTtRQUNSQyxTQUFTO1lBQ1AsZ0JBQWdCO1FBQ2xCO0lBQ0YsR0FDR0MsSUFBSSxDQUFDL0Isb0RBQUlBLENBQUMsSUFDVitCLElBQUksQ0FDSDlCLG1EQUFHQSxDQUFDLFNBQUMrQixVQUF1RDtRQUMxRCxPQUFPQTtJQUNUO0FBRU4sQ0FBQztBQUVNLFNBQVNDLFVBQVVDLE9BQXdCLEVBQUVULGVBQWdDLEVBQWtDO0lBQ3BILE9BQU92QixzRUFBc0JBLENBQUUscUJBQW9CO1FBQ2pEMEIsUUFBUUgsZ0JBQWdCRyxNQUFNO1FBQzlCQyxRQUFRO1FBQ1JDLFNBQVM7WUFDUCxnQkFBZ0I7UUFDbEI7UUFDQUssTUFBTUQ7SUFDUjtBQUNGLENBQUM7QUFFTSxTQUFTRSxZQUNkQyxJQUFZLEVBQ1pILE9BQTJCLEVBQzNCVCxlQUFnQyxFQUNmO0lBQ2pCLE9BQU92QixzRUFBc0JBLENBQUMscUJBQTBCLE9BQUxtQyxPQUFRO1FBQ3pEVCxRQUFRSCxnQkFBZ0JHLE1BQU07UUFDOUJDLFFBQVE7UUFDUkMsU0FBUztZQUNQLGdCQUFnQjtRQUNsQjtRQUNBSyxNQUFNRDtJQUNSO0FBQ0YsQ0FBQztBQUVELGdCQUFnQixHQUNULElBQU1JLGtCQUFrQixJQUFJdkMsaURBQWVBLENBQW1CLElBQUksRUFBRTtJQVNwRTtVQUFLd0MsU0FBUztJQUFUQSxVQUNWQyxjQUFXO0lBRERELFVBRVZFLGVBQVk7SUFGRkYsVUFHVkcsYUFBVTtHQUhBSCxjQUFBQTtJQU1MO1VBQUtJLFdBQVc7SUFBWEEsWUFDVkMsZ0JBQWE7SUFESEQsWUFFVkUsYUFBVTtHQUZBRixnQkFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL3NyYy9zaGFyZWQtYXBpLW9iamVjdHMvdmlzaXQtdXRpbHMudHM/YjUwYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9wZW5tcnNPYnNlcnZhYmxlRmV0Y2ggfSBmcm9tICcuLi9vcGVubXJzLWZldGNoJztcbmltcG9ydCB7IEZldGNoUmVzcG9uc2UsIE5ld1Zpc2l0UGF5bG9hZCwgVXBkYXRlVmlzaXRQYXlsb2FkLCBWaXNpdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEdsb2JhbFN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLXN0YXRlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uID1cbiAgJ2N1c3RvbToodXVpZCxlbmNvdW50ZXJzOih1dWlkLGVuY291bnRlckRhdGV0aW1lLCcgK1xuICAnZm9ybToodXVpZCxuYW1lKSxsb2NhdGlvbjpyZWYsJyArXG4gICdlbmNvdW50ZXJUeXBlOnJlZixlbmNvdW50ZXJQcm92aWRlcnM6KHV1aWQsZGlzcGxheSwnICtcbiAgJ3Byb3ZpZGVyOih1dWlkLGRpc3BsYXkpKSkscGF0aWVudDoodXVpZCx1dWlkKSwnICtcbiAgJ3Zpc2l0VHlwZToodXVpZCxuYW1lLGRpc3BsYXkpLCcgK1xuICAnYXR0cmlidXRlczoodXVpZCxkaXNwbGF5LGF0dHJpYnV0ZVR5cGU6KG5hbWUsZGF0YXR5cGVDbGFzc25hbWUsdXVpZCksdmFsdWUpLCcgK1xuICAnbG9jYXRpb246KHV1aWQsbmFtZSxkaXNwbGF5KSxzdGFydERhdGV0aW1lLHN0b3BEYXRldGltZSknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpc2l0U3RvcmVTdGF0ZSB7XG4gIHBhdGllbnRVdWlkOiBzdHJpbmcgfCBudWxsO1xuICBtYW51YWxseVNldFZpc2l0VXVpZDogc3RyaW5nIHwgbnVsbDtcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlID0gZ2V0VmlzaXRMb2NhbFN0b3JhZ2UoKSB8fCB7XG4gIHBhdGllbnRVdWlkOiBudWxsLFxuICBtYW51YWxseVNldFZpc2l0VXVpZDogbnVsbCxcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlzaXRTdG9yZSgpIHtcbiAgcmV0dXJuIGdldEdsb2JhbFN0b3JlPFZpc2l0U3RvcmVTdGF0ZT4oJ3Zpc2l0JywgaW5pdGlhbFN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEN1cnJlbnRWaXNpdChwYXRpZW50VXVpZDogc3RyaW5nLCB2aXNpdFV1aWQ6IHN0cmluZykge1xuICBnZXRWaXNpdFN0b3JlKCkuc2V0U3RhdGUoeyBwYXRpZW50VXVpZCwgbWFudWFsbHlTZXRWaXNpdFV1aWQ6IHZpc2l0VXVpZCB9KTtcbn1cblxuZ2V0VmlzaXRTdG9yZSgpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgc2V0VmlzaXRMb2NhbFN0b3JhZ2Uoc3RhdGUpO1xufSk7XG5cbmZ1bmN0aW9uIHNldFZpc2l0TG9jYWxTdG9yYWdlKHZhbHVlOiBWaXNpdFN0b3JlU3RhdGUpIHtcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ29wZW5tcnM6dmlzaXRTdG9yZVN0YXRlJywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbn1cblxuZnVuY3Rpb24gZ2V0VmlzaXRMb2NhbFN0b3JhZ2UoKTogVmlzaXRTdG9yZVN0YXRlIHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29wZW5tcnM6dmlzaXRTdG9yZVN0YXRlJykgfHwgJ251bGwnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXNpdHNGb3JQYXRpZW50KFxuICBwYXRpZW50VXVpZDogc3RyaW5nLFxuICBhYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcixcbiAgdj86IHN0cmluZyxcbik6IE9ic2VydmFibGU8RmV0Y2hSZXNwb25zZTx7IHJlc3VsdHM6IEFycmF5PFZpc2l0PiB9Pj4ge1xuICBjb25zdCBjdXN0b20gPSB2ID8/IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uO1xuXG4gIHJldHVybiBvcGVubXJzT2JzZXJ2YWJsZUZldGNoKGAvd3MvcmVzdC92MS92aXNpdD9wYXRpZW50PSR7cGF0aWVudFV1aWR9JnY9JHtjdXN0b219YCwge1xuICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgfSlcbiAgICAucGlwZSh0YWtlKDEpKVxuICAgIC5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogRmV0Y2hSZXNwb25zZTx7IHJlc3VsdHM6IEFycmF5PFZpc2l0PiB9PikgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KSxcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZVZpc2l0KHBheWxvYWQ6IE5ld1Zpc2l0UGF5bG9hZCwgYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIpOiBPYnNlcnZhYmxlPEZldGNoUmVzcG9uc2U8YW55Pj4ge1xuICByZXR1cm4gb3Blbm1yc09ic2VydmFibGVGZXRjaChgL3dzL3Jlc3QvdjEvdmlzaXRgLCB7XG4gICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgICBib2R5OiBwYXlsb2FkLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVZpc2l0KFxuICB1dWlkOiBzdHJpbmcsXG4gIHBheWxvYWQ6IFVwZGF0ZVZpc2l0UGF5bG9hZCxcbiAgYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIsXG4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gb3Blbm1yc09ic2VydmFibGVGZXRjaChgL3dzL3Jlc3QvdjEvdmlzaXQvJHt1dWlkfWAsIHtcbiAgICBzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9LFxuICAgIGJvZHk6IHBheWxvYWQsXG4gIH0pO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCBjb25zdCBnZXRTdGFydGVkVmlzaXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZpc2l0SXRlbSB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpc2l0SXRlbSB7XG4gIG1vZGU6IFZpc2l0TW9kZTtcbiAgdmlzaXREYXRhPzogVmlzaXQ7XG4gIHN0YXR1czogVmlzaXRTdGF0dXM7XG4gIGFueXRoaW5nRWxzZT86IGFueTtcbn1cblxuZXhwb3J0IGVudW0gVmlzaXRNb2RlIHtcbiAgTkVXVklTSVQgPSAnc3RhcnRWaXNpdCcsXG4gIEVESVRWSVNJVCA9ICdlZGl0VmlzaXQnLFxuICBMT0FESU5HID0gJ2xvYWRpbmdWaXNpdCcsXG59XG5cbmV4cG9ydCBlbnVtIFZpc2l0U3RhdHVzIHtcbiAgTk9UU1RBUlRFRCA9ICdub3RTdGFydGVkJyxcbiAgT05HT0lORyA9ICdvbmdvaW5nJyxcbn1cbiJdLCJuYW1lcyI6WyJCZWhhdmlvclN1YmplY3QiLCJ0YWtlIiwibWFwIiwib3Blbm1yc09ic2VydmFibGVGZXRjaCIsImdldEdsb2JhbFN0b3JlIiwiZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24iLCJpbml0aWFsU3RhdGUiLCJnZXRWaXNpdExvY2FsU3RvcmFnZSIsInBhdGllbnRVdWlkIiwibWFudWFsbHlTZXRWaXNpdFV1aWQiLCJnZXRWaXNpdFN0b3JlIiwic2V0Q3VycmVudFZpc2l0IiwidmlzaXRVdWlkIiwic2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJzdGF0ZSIsInNldFZpc2l0TG9jYWxTdG9yYWdlIiwidmFsdWUiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwiSlNPTiIsInN0cmluZ2lmeSIsInBhcnNlIiwiZ2V0SXRlbSIsImUiLCJnZXRWaXNpdHNGb3JQYXRpZW50IiwiYWJvcnRDb250cm9sbGVyIiwidiIsImN1c3RvbSIsInNpZ25hbCIsIm1ldGhvZCIsImhlYWRlcnMiLCJwaXBlIiwicmVzcG9uc2UiLCJzYXZlVmlzaXQiLCJwYXlsb2FkIiwiYm9keSIsInVwZGF0ZVZpc2l0IiwidXVpZCIsImdldFN0YXJ0ZWRWaXNpdCIsIlZpc2l0TW9kZSIsIk5FV1ZJU0lUIiwiRURJVFZJU0lUIiwiTE9BRElORyIsIlZpc2l0U3RhdHVzIiwiTk9UU1RBUlRFRCIsIk9OR09JTkciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/shared-api-objects/visit-utils.ts\n");
|
|
6416
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VisitMode: () => (/* binding */ VisitMode),\n/* harmony export */ VisitStatus: () => (/* binding */ VisitStatus),\n/* harmony export */ defaultVisitCustomRepresentation: () => (/* binding */ defaultVisitCustomRepresentation),\n/* harmony export */ getStartedVisit: () => (/* binding */ getStartedVisit),\n/* harmony export */ getVisitStore: () => (/* binding */ getVisitStore),\n/* harmony export */ getVisitsForPatient: () => (/* binding */ getVisitsForPatient),\n/* harmony export */ saveVisit: () => (/* binding */ saveVisit),\n/* harmony export */ setCurrentVisit: () => (/* binding */ setCurrentVisit),\n/* harmony export */ updateVisit: () => (/* binding */ updateVisit)\n/* harmony export */ });\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/take.js\");\n/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/operators */ \"../../../node_modules/rxjs/_esm5/internal/operators/map.js\");\n/* harmony import */ var _openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../openmrs-fetch */ \"../../framework/esm-api/src/openmrs-fetch.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category API */ \n\n\n\nvar defaultVisitCustomRepresentation = \"custom:(uuid,encounters:(uuid,encounterDatetime,\" + \"form:(uuid,name),location:ref,\" + \"encounterType:ref,encounterProviders:(uuid,display,\" + \"provider:(uuid,display))),patient:(uuid,uuid),\" + \"visitType:(uuid,name,display),\" + \"attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),\" + \"location:(uuid,name,display),startDatetime,stopDatetime)\";\nvar initialState = getVisitLocalStorage() || {\n patientUuid: null,\n manuallySetVisitUuid: null\n};\nfunction getVisitStore() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__.getGlobalStore)(\"visit\", initialState);\n}\nfunction setCurrentVisit(patientUuid, visitUuid) {\n getVisitStore().setState({\n patientUuid: patientUuid,\n manuallySetVisitUuid: visitUuid\n });\n}\ngetVisitStore().subscribe(function(state) {\n setVisitLocalStorage(state);\n});\nfunction setVisitLocalStorage(value) {\n localStorage.setItem(\"openmrs:visitStoreState\", JSON.stringify(value));\n}\nfunction getVisitLocalStorage() {\n try {\n return JSON.parse(localStorage.getItem(\"openmrs:visitStoreState\") || \"null\");\n } catch (e) {\n return null;\n }\n}\nfunction getVisitsForPatient(patientUuid, abortController, v) {\n var custom = v !== null && v !== void 0 ? v : defaultVisitCustomRepresentation;\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsObservableFetch)(\"/ws/rest/v1/visit?patient=\".concat(patientUuid, \"&v=\").concat(custom), {\n signal: abortController.signal,\n method: \"GET\",\n headers: {\n \"Content-type\": \"application/json\"\n }\n }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.take)(1)).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)(function(response) {\n return response;\n }));\n}\nfunction saveVisit(payload, abortController) {\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsObservableFetch)(\"/ws/rest/v1/visit\", {\n signal: abortController.signal,\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/json\"\n },\n body: payload\n });\n}\nfunction updateVisit(uuid, payload, abortController) {\n return (0,_openmrs_fetch__WEBPACK_IMPORTED_MODULE_1__.openmrsObservableFetch)(\"/ws/rest/v1/visit/\".concat(uuid), {\n signal: abortController.signal,\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/json\"\n },\n body: payload\n });\n}\n/** @deprecated */ var getStartedVisit = new rxjs__WEBPACK_IMPORTED_MODULE_0__.BehaviorSubject(null);\nvar VisitMode;\n(function(VisitMode) {\n VisitMode[\"NEWVISIT\"] = \"startVisit\";\n VisitMode[\"EDITVISIT\"] = \"editVisit\";\n VisitMode[\"LOADING\"] = \"loadingVisit\";\n})(VisitMode || (VisitMode = {}));\nvar VisitStatus;\n(function(VisitStatus) {\n VisitStatus[\"NOTSTARTED\"] = \"notStarted\";\n VisitStatus[\"ONGOING\"] = \"ongoing\";\n})(VisitStatus || (VisitStatus = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy92aXNpdC11dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQkFBMEIsR0FFYTtBQUNJO0FBQ2U7QUFFTjtBQUU3QyxJQUFNSyxtQ0FDWCxxREFDQSxtQ0FDQSx3REFDQSxtREFDQSxtQ0FDQSxpRkFDQSwyREFBMkQ7QUFPN0QsSUFBTUMsZUFBZUMsMEJBQTBCO0lBQzdDQyxhQUFhLElBQUk7SUFDakJDLHNCQUFzQixJQUFJO0FBQzVCO0FBQ08sU0FBU0MsZ0JBQWdCO0lBQzlCLE9BQU9OLGtFQUFjQSxDQUFrQixTQUFTRTtBQUNsRCxDQUFDO0FBRU0sU0FBU0ssZ0JBQWdCSCxXQUFtQixFQUFFSSxTQUFpQixFQUFFO0lBQ3RFRixnQkFBZ0JHLFFBQVEsQ0FBQztRQUFFTCxhQUFBQTtRQUFhQyxzQkFBc0JHO0lBQVU7QUFDMUUsQ0FBQztBQUVERixnQkFBZ0JJLFNBQVMsQ0FBQyxTQUFDQyxPQUFVO0lBQ25DQyxxQkFBcUJEO0FBQ3ZCO0FBRUEsU0FBU0MscUJBQXFCQyxLQUFzQixFQUFFO0lBQ3BEQyxhQUFhQyxPQUFPLENBQUMsMkJBQTJCQyxLQUFLQyxTQUFTLENBQUNKO0FBQ2pFO0FBRUEsU0FBU1YsdUJBQStDO0lBQ3RELElBQUk7UUFDRixPQUFPYSxLQUFLRSxLQUFLLENBQUNKLGFBQWFLLE9BQU8sQ0FBQyw4QkFBOEI7SUFDdkUsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsT0FBTyxJQUFJO0lBQ2I7QUFDRjtBQUVPLFNBQVNDLG9CQUNkakIsV0FBbUIsRUFDbkJrQixlQUFnQyxFQUNoQ0MsQ0FBVSxFQUM0QztJQUN0RCxJQUFNQyxTQUFTRCxjQUFBQSxlQUFBQSxJQUFLdEIsZ0NBQWdDO0lBRXBELE9BQU9GLHNFQUFzQkEsQ0FBQyw2QkFBOEN5QixPQUFqQnBCLGFBQVksT0FBWSxPQUFQb0IsU0FBVTtRQUNwRkMsUUFBUUgsZ0JBQWdCRyxNQUFNO1FBQzlCQyxRQUFRO1FBQ1JDLFNBQVM7WUFDUCxnQkFBZ0I7UUFDbEI7SUFDRixHQUNHQyxJQUFJLENBQUMvQixvREFBSUEsQ0FBQyxJQUNWK0IsSUFBSSxDQUNIOUIsbURBQUdBLENBQUMsU0FBQytCLFVBQXVEO1FBQzFELE9BQU9BO0lBQ1Q7QUFFTixDQUFDO0FBRU0sU0FBU0MsVUFBVUMsT0FBd0IsRUFBRVQsZUFBZ0MsRUFBa0M7SUFDcEgsT0FBT3ZCLHNFQUFzQkEsQ0FBRSxxQkFBb0I7UUFDakQwQixRQUFRSCxnQkFBZ0JHLE1BQU07UUFDOUJDLFFBQVE7UUFDUkMsU0FBUztZQUNQLGdCQUFnQjtRQUNsQjtRQUNBSyxNQUFNRDtJQUNSO0FBQ0YsQ0FBQztBQUVNLFNBQVNFLFlBQ2RDLElBQVksRUFDWkgsT0FBMkIsRUFDM0JULGVBQWdDLEVBQ2Y7SUFDakIsT0FBT3ZCLHNFQUFzQkEsQ0FBQyxxQkFBMEIsT0FBTG1DLE9BQVE7UUFDekRULFFBQVFILGdCQUFnQkcsTUFBTTtRQUM5QkMsUUFBUTtRQUNSQyxTQUFTO1lBQ1AsZ0JBQWdCO1FBQ2xCO1FBQ0FLLE1BQU1EO0lBQ1I7QUFDRixDQUFDO0FBRUQsZ0JBQWdCLEdBQ1QsSUFBTUksa0JBQWtCLElBQUl2QyxpREFBZUEsQ0FBbUIsSUFBSSxFQUFFO0lBU3BFO1VBQUt3QyxTQUFTO0lBQVRBLFVBQ1ZDLGNBQVc7SUFEREQsVUFFVkUsZUFBWTtJQUZGRixVQUdWRyxhQUFVO0dBSEFILGNBQUFBO0lBTUw7VUFBS0ksV0FBVztJQUFYQSxZQUNWQyxnQkFBYTtJQURIRCxZQUVWRSxhQUFVO0dBRkFGLGdCQUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3NoYXJlZC1hcGktb2JqZWN0cy92aXNpdC11dGlscy50cz9iNTBjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvcGVubXJzT2JzZXJ2YWJsZUZldGNoIH0gZnJvbSAnLi4vb3Blbm1ycy1mZXRjaCc7XG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzcG9uc2UsIE5ld1Zpc2l0UGF5bG9hZCwgVXBkYXRlVmlzaXRQYXlsb2FkLCBWaXNpdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEdsb2JhbFN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLXN0YXRlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uID1cbiAgJ2N1c3RvbToodXVpZCxlbmNvdW50ZXJzOih1dWlkLGVuY291bnRlckRhdGV0aW1lLCcgK1xuICAnZm9ybToodXVpZCxuYW1lKSxsb2NhdGlvbjpyZWYsJyArXG4gICdlbmNvdW50ZXJUeXBlOnJlZixlbmNvdW50ZXJQcm92aWRlcnM6KHV1aWQsZGlzcGxheSwnICtcbiAgJ3Byb3ZpZGVyOih1dWlkLGRpc3BsYXkpKSkscGF0aWVudDoodXVpZCx1dWlkKSwnICtcbiAgJ3Zpc2l0VHlwZToodXVpZCxuYW1lLGRpc3BsYXkpLCcgK1xuICAnYXR0cmlidXRlczoodXVpZCxkaXNwbGF5LGF0dHJpYnV0ZVR5cGU6KG5hbWUsZGF0YXR5cGVDbGFzc25hbWUsdXVpZCksdmFsdWUpLCcgK1xuICAnbG9jYXRpb246KHV1aWQsbmFtZSxkaXNwbGF5KSxzdGFydERhdGV0aW1lLHN0b3BEYXRldGltZSknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpc2l0U3RvcmVTdGF0ZSB7XG4gIHBhdGllbnRVdWlkOiBzdHJpbmcgfCBudWxsO1xuICBtYW51YWxseVNldFZpc2l0VXVpZDogc3RyaW5nIHwgbnVsbDtcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlID0gZ2V0VmlzaXRMb2NhbFN0b3JhZ2UoKSB8fCB7XG4gIHBhdGllbnRVdWlkOiBudWxsLFxuICBtYW51YWxseVNldFZpc2l0VXVpZDogbnVsbCxcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlzaXRTdG9yZSgpIHtcbiAgcmV0dXJuIGdldEdsb2JhbFN0b3JlPFZpc2l0U3RvcmVTdGF0ZT4oJ3Zpc2l0JywgaW5pdGlhbFN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEN1cnJlbnRWaXNpdChwYXRpZW50VXVpZDogc3RyaW5nLCB2aXNpdFV1aWQ6IHN0cmluZykge1xuICBnZXRWaXNpdFN0b3JlKCkuc2V0U3RhdGUoeyBwYXRpZW50VXVpZCwgbWFudWFsbHlTZXRWaXNpdFV1aWQ6IHZpc2l0VXVpZCB9KTtcbn1cblxuZ2V0VmlzaXRTdG9yZSgpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgc2V0VmlzaXRMb2NhbFN0b3JhZ2Uoc3RhdGUpO1xufSk7XG5cbmZ1bmN0aW9uIHNldFZpc2l0TG9jYWxTdG9yYWdlKHZhbHVlOiBWaXNpdFN0b3JlU3RhdGUpIHtcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ29wZW5tcnM6dmlzaXRTdG9yZVN0YXRlJywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbn1cblxuZnVuY3Rpb24gZ2V0VmlzaXRMb2NhbFN0b3JhZ2UoKTogVmlzaXRTdG9yZVN0YXRlIHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29wZW5tcnM6dmlzaXRTdG9yZVN0YXRlJykgfHwgJ251bGwnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXNpdHNGb3JQYXRpZW50KFxuICBwYXRpZW50VXVpZDogc3RyaW5nLFxuICBhYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcixcbiAgdj86IHN0cmluZyxcbik6IE9ic2VydmFibGU8RmV0Y2hSZXNwb25zZTx7IHJlc3VsdHM6IEFycmF5PFZpc2l0PiB9Pj4ge1xuICBjb25zdCBjdXN0b20gPSB2ID8/IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uO1xuXG4gIHJldHVybiBvcGVubXJzT2JzZXJ2YWJsZUZldGNoKGAvd3MvcmVzdC92MS92aXNpdD9wYXRpZW50PSR7cGF0aWVudFV1aWR9JnY9JHtjdXN0b219YCwge1xuICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgfSlcbiAgICAucGlwZSh0YWtlKDEpKVxuICAgIC5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogRmV0Y2hSZXNwb25zZTx7IHJlc3VsdHM6IEFycmF5PFZpc2l0PiB9PikgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KSxcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZVZpc2l0KHBheWxvYWQ6IE5ld1Zpc2l0UGF5bG9hZCwgYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIpOiBPYnNlcnZhYmxlPEZldGNoUmVzcG9uc2U8YW55Pj4ge1xuICByZXR1cm4gb3Blbm1yc09ic2VydmFibGVGZXRjaChgL3dzL3Jlc3QvdjEvdmlzaXRgLCB7XG4gICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgICBib2R5OiBwYXlsb2FkLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVZpc2l0KFxuICB1dWlkOiBzdHJpbmcsXG4gIHBheWxvYWQ6IFVwZGF0ZVZpc2l0UGF5bG9hZCxcbiAgYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIsXG4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gb3Blbm1yc09ic2VydmFibGVGZXRjaChgL3dzL3Jlc3QvdjEvdmlzaXQvJHt1dWlkfWAsIHtcbiAgICBzaWduYWw6IGFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9LFxuICAgIGJvZHk6IHBheWxvYWQsXG4gIH0pO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCBjb25zdCBnZXRTdGFydGVkVmlzaXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZpc2l0SXRlbSB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpc2l0SXRlbSB7XG4gIG1vZGU6IFZpc2l0TW9kZTtcbiAgdmlzaXREYXRhPzogVmlzaXQ7XG4gIHN0YXR1czogVmlzaXRTdGF0dXM7XG4gIGFueXRoaW5nRWxzZT86IGFueTtcbn1cblxuZXhwb3J0IGVudW0gVmlzaXRNb2RlIHtcbiAgTkVXVklTSVQgPSAnc3RhcnRWaXNpdCcsXG4gIEVESVRWSVNJVCA9ICdlZGl0VmlzaXQnLFxuICBMT0FESU5HID0gJ2xvYWRpbmdWaXNpdCcsXG59XG5cbmV4cG9ydCBlbnVtIFZpc2l0U3RhdHVzIHtcbiAgTk9UU1RBUlRFRCA9ICdub3RTdGFydGVkJyxcbiAgT05HT0lORyA9ICdvbmdvaW5nJyxcbn1cbiJdLCJuYW1lcyI6WyJCZWhhdmlvclN1YmplY3QiLCJ0YWtlIiwibWFwIiwib3Blbm1yc09ic2VydmFibGVGZXRjaCIsImdldEdsb2JhbFN0b3JlIiwiZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24iLCJpbml0aWFsU3RhdGUiLCJnZXRWaXNpdExvY2FsU3RvcmFnZSIsInBhdGllbnRVdWlkIiwibWFudWFsbHlTZXRWaXNpdFV1aWQiLCJnZXRWaXNpdFN0b3JlIiwic2V0Q3VycmVudFZpc2l0IiwidmlzaXRVdWlkIiwic2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJzdGF0ZSIsInNldFZpc2l0TG9jYWxTdG9yYWdlIiwidmFsdWUiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwiSlNPTiIsInN0cmluZ2lmeSIsInBhcnNlIiwiZ2V0SXRlbSIsImUiLCJnZXRWaXNpdHNGb3JQYXRpZW50IiwiYWJvcnRDb250cm9sbGVyIiwidiIsImN1c3RvbSIsInNpZ25hbCIsIm1ldGhvZCIsImhlYWRlcnMiLCJwaXBlIiwicmVzcG9uc2UiLCJzYXZlVmlzaXQiLCJwYXlsb2FkIiwiYm9keSIsInVwZGF0ZVZpc2l0IiwidXVpZCIsImdldFN0YXJ0ZWRWaXNpdCIsIlZpc2l0TW9kZSIsIk5FV1ZJU0lUIiwiRURJVFZJU0lUIiwiTE9BRElORyIsIlZpc2l0U3RhdHVzIiwiTk9UU1RBUlRFRCIsIk9OR09JTkciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/shared-api-objects/visit-utils.ts\n");
|
|
6417
6417
|
|
|
6418
6418
|
/***/ }),
|
|
6419
6419
|
|
|
@@ -6424,7 +6424,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6424
6424
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6425
6425
|
|
|
6426
6426
|
"use strict";
|
|
6427
|
-
eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6427
|
+
eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3R5cGVzL2ZldGNoLnRzIiwibWFwcGluZ3MiOiI7QUFRQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3R5cGVzL2ZldGNoLnRzPzZiMDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXNzaW9uIH0gZnJvbSAnLi91c2VyLXJlc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaFJlc3BvbnNlPFQgPSBhbnk+IGV4dGVuZHMgUmVzcG9uc2Uge1xuICBkYXRhOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlZEluVXNlckZldGNoUmVzcG9uc2UgZXh0ZW5kcyBGZXRjaFJlc3BvbnNlIHtcbiAgZGF0YTogU2Vzc2lvbjtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/types/fetch.ts\n");
|
|
6428
6428
|
|
|
6429
6429
|
/***/ }),
|
|
6430
6430
|
|
|
@@ -6479,7 +6479,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//#
|
|
|
6479
6479
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6480
6480
|
|
|
6481
6481
|
"use strict";
|
|
6482
|
-
eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6482
|
+
eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvc3JjL3R5cGVzL3Zpc2l0LXJlc291cmNlLnRzIiwibWFwcGluZ3MiOiI7QUF3Q0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL3NyYy90eXBlcy92aXNpdC1yZXNvdXJjZS50cz83NmU4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT3Blbm1yc1Jlc291cmNlIH0gZnJvbSAnLi9vcGVubXJzLXJlc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZXdWaXNpdFBheWxvYWQge1xuICB1dWlkPzogc3RyaW5nO1xuICBsb2NhdGlvbjogc3RyaW5nO1xuICBwYXRpZW50Pzogc3RyaW5nO1xuICBzdGFydERhdGV0aW1lOiBEYXRlO1xuICB2aXNpdFR5cGU6IHN0cmluZztcbiAgc3RvcERhdGV0aW1lPzogRGF0ZTtcbiAgYXR0cmlidXRlcz86IEFycmF5PHtcbiAgICBhdHRyaWJ1dGVUeXBlOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVZpc2l0UGF5bG9hZCA9IE5ld1Zpc2l0UGF5bG9hZCAmIHt9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpc2l0IHtcbiAgdXVpZDogc3RyaW5nO1xuICBkaXNwbGF5Pzogc3RyaW5nO1xuICBlbmNvdW50ZXJzOiBBcnJheTxPcGVubXJzUmVzb3VyY2U+O1xuICBwYXRpZW50PzogT3Blbm1yc1Jlc291cmNlO1xuICB2aXNpdFR5cGU6IFZpc2l0VHlwZTtcbiAgbG9jYXRpb24/OiBMb2NhdGlvbjtcbiAgc3RhcnREYXRldGltZTogc3RyaW5nO1xuICBzdG9wRGF0ZXRpbWU/OiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM/OiBBcnJheTxPcGVubXJzUmVzb3VyY2U+O1xuICBbYW55dGhpbmdFbHNlOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICB1dWlkOiBzdHJpbmc7XG4gIGRpc3BsYXk/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlzaXRUeXBlIHtcbiAgdXVpZDogc3RyaW5nO1xuICBkaXNwbGF5OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-api/src/types/visit-resource.ts\n");
|
|
6483
6483
|
|
|
6484
6484
|
/***/ }),
|
|
6485
6485
|
|
|
@@ -6490,7 +6490,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//#
|
|
|
6490
6490
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6491
6491
|
|
|
6492
6492
|
"use strict";
|
|
6493
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBreadcrumbs: () => (/* binding */ getBreadcrumbs),\n/* harmony export */ registerBreadcrumb: () => (/* binding */ registerBreadcrumb),\n/* harmony export */ registerBreadcrumbs: () => (/* binding */ registerBreadcrumbs)\n/* harmony export */ });\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path-to-regexp */ \"../../../node_modules/path-to-regexp/dist.es2015/index.js\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category Breadcrumb */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar store = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"breadcrumbs\", []);\nfunction getMatcher(settings) {\n if (_instanceof(settings.matcher, RegExp)) {\n return settings.matcher;\n } else if (typeof settings.matcher === \"string\") {\n return (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_1__.pathToRegexp)(settings.matcher);\n } else {\n return (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_1__.pathToRegexp)(settings.path);\n }\n}\nfunction registerBreadcrumb(breadcrumb) {\n return registerBreadcrumbs([\n breadcrumb\n ]);\n}\nfunction registerBreadcrumbs(breadcrumbs) {\n var prevBreadcrumbs = getBreadcrumbs();\n var newBreadcrumbs = breadcrumbs.map(function(settings) {\n return {\n matcher: getMatcher(settings),\n settings: settings\n };\n });\n var nextBreadcrumbs = _to_consumable_array(prevBreadcrumbs).concat(_to_consumable_array(newBreadcrumbs));\n store.setState(nextBreadcrumbs, true);\n}\nfunction getBreadcrumbs() {\n return store.getState();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6493
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBreadcrumbs: () => (/* binding */ getBreadcrumbs),\n/* harmony export */ registerBreadcrumb: () => (/* binding */ registerBreadcrumb),\n/* harmony export */ registerBreadcrumbs: () => (/* binding */ registerBreadcrumbs)\n/* harmony export */ });\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path-to-regexp */ \"../../../node_modules/path-to-regexp/dist.es2015/index.js\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category Breadcrumb */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar store = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"breadcrumbs\", []);\nfunction getMatcher(settings) {\n if (_instanceof(settings.matcher, RegExp)) {\n return settings.matcher;\n } else if (typeof settings.matcher === \"string\") {\n return (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_1__.pathToRegexp)(settings.matcher);\n } else {\n return (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_1__.pathToRegexp)(settings.path);\n }\n}\nfunction registerBreadcrumb(breadcrumb) {\n return registerBreadcrumbs([\n breadcrumb\n ]);\n}\nfunction registerBreadcrumbs(breadcrumbs) {\n var prevBreadcrumbs = getBreadcrumbs();\n var newBreadcrumbs = breadcrumbs.map(function(settings) {\n return {\n matcher: getMatcher(settings),\n settings: settings\n };\n });\n var nextBreadcrumbs = _to_consumable_array(prevBreadcrumbs).concat(_to_consumable_array(newBreadcrumbs));\n store.setState(nextBreadcrumbs, true);\n}\nfunction getBreadcrumbs() {\n return store.getState();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1icmVhZGNydW1icy9zcmMvZGIudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxpQ0FBaUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ2E7QUFDUztBQUd2RCxJQUFNRSxRQUFRRCxxRUFBaUJBLENBQWdDLGVBQWUsRUFBRTtBQUVoRixTQUFTRSxXQUFXQyxRQUE0QixFQUFFO0lBQ2hELElBQUlBLFlBQUFBLFNBQVNDLE9BQU8sRUFBWUMsU0FBUTtRQUN0QyxPQUFPRixTQUFTQyxPQUFPO0lBQ3pCLE9BQU8sSUFBSSxPQUFPRCxTQUFTQyxPQUFPLEtBQUssVUFBVTtRQUMvQyxPQUFPTCw0REFBWUEsQ0FBQ0ksU0FBU0MsT0FBTztJQUN0QyxPQUFPO1FBQ0wsT0FBT0wsNERBQVlBLENBQUNJLFNBQVNHLElBQUk7SUFDbkMsQ0FBQztBQUNIO0FBRU8sU0FBU0MsbUJBQW1CQyxVQUE4QixFQUFFO0lBQ2pFLE9BQU9DLG9CQUFvQjtRQUFDRDtLQUFXO0FBQ3pDLENBQUM7QUFFTSxTQUFTQyxvQkFBb0JDLFdBQXNDLEVBQUU7SUFDMUUsSUFBTUMsa0JBQWtCQztJQUN4QixJQUFNQyxpQkFBaUJILFlBQVlJLEdBQUcsQ0FBQyxTQUFDWDtlQUFjO1lBQ3BEQyxTQUFTRixXQUFXQztZQUNwQkEsVUFBQUE7UUFDRjs7SUFDQSxJQUFNWSxrQkFBa0IscUJBQUlKLHdCQUFpQixxQkFBR0U7SUFDaERaLE1BQU1lLFFBQVEsQ0FBQ0QsaUJBQWlCLElBQUk7QUFDdEMsQ0FBQztBQUVNLFNBQVNILGlCQUFpQjtJQUMvQixPQUFPWCxNQUFNZ0IsUUFBUTtBQUN2QixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWJyZWFkY3J1bWJzL3NyYy9kYi50cz8yMzJhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBCcmVhZGNydW1iICovXG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5pbXBvcnQgeyBjcmVhdGVHbG9iYWxTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1zdGF0ZSc7XG5pbXBvcnQgdHlwZSB7IEJyZWFkY3J1bWJTZXR0aW5ncywgQnJlYWRjcnVtYlJlZ2lzdHJhdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBzdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPEFycmF5PEJyZWFkY3J1bWJSZWdpc3RyYXRpb24+PignYnJlYWRjcnVtYnMnLCBbXSk7XG5cbmZ1bmN0aW9uIGdldE1hdGNoZXIoc2V0dGluZ3M6IEJyZWFkY3J1bWJTZXR0aW5ncykge1xuICBpZiAoc2V0dGluZ3MubWF0Y2hlciBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgIHJldHVybiBzZXR0aW5ncy5tYXRjaGVyO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBzZXR0aW5ncy5tYXRjaGVyID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwYXRoVG9SZWdleHAoc2V0dGluZ3MubWF0Y2hlcik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cChzZXR0aW5ncy5wYXRoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJCcmVhZGNydW1iKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWJTZXR0aW5ncykge1xuICByZXR1cm4gcmVnaXN0ZXJCcmVhZGNydW1icyhbYnJlYWRjcnVtYl0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJCcmVhZGNydW1icyhicmVhZGNydW1iczogQXJyYXk8QnJlYWRjcnVtYlNldHRpbmdzPikge1xuICBjb25zdCBwcmV2QnJlYWRjcnVtYnMgPSBnZXRCcmVhZGNydW1icygpO1xuICBjb25zdCBuZXdCcmVhZGNydW1icyA9IGJyZWFkY3J1bWJzLm1hcCgoc2V0dGluZ3MpID0+ICh7XG4gICAgbWF0Y2hlcjogZ2V0TWF0Y2hlcihzZXR0aW5ncyksXG4gICAgc2V0dGluZ3MsXG4gIH0pKTtcbiAgY29uc3QgbmV4dEJyZWFkY3J1bWJzID0gWy4uLnByZXZCcmVhZGNydW1icywgLi4ubmV3QnJlYWRjcnVtYnNdO1xuICBzdG9yZS5zZXRTdGF0ZShuZXh0QnJlYWRjcnVtYnMsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJlYWRjcnVtYnMoKSB7XG4gIHJldHVybiBzdG9yZS5nZXRTdGF0ZSgpO1xufVxuIl0sIm5hbWVzIjpbInBhdGhUb1JlZ2V4cCIsImNyZWF0ZUdsb2JhbFN0b3JlIiwic3RvcmUiLCJnZXRNYXRjaGVyIiwic2V0dGluZ3MiLCJtYXRjaGVyIiwiUmVnRXhwIiwicGF0aCIsInJlZ2lzdGVyQnJlYWRjcnVtYiIsImJyZWFkY3J1bWIiLCJyZWdpc3RlckJyZWFkY3J1bWJzIiwiYnJlYWRjcnVtYnMiLCJwcmV2QnJlYWRjcnVtYnMiLCJnZXRCcmVhZGNydW1icyIsIm5ld0JyZWFkY3J1bWJzIiwibWFwIiwibmV4dEJyZWFkY3J1bWJzIiwic2V0U3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-breadcrumbs/src/db.ts\n");
|
|
6494
6494
|
|
|
6495
6495
|
/***/ }),
|
|
6496
6496
|
|
|
@@ -6501,7 +6501,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6501
6501
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6502
6502
|
|
|
6503
6503
|
"use strict";
|
|
6504
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterBreadcrumbs: () => (/* binding */ filterBreadcrumbs),\n/* harmony export */ getBreadcrumbsFor: () => (/* binding */ getBreadcrumbsFor)\n/* harmony export */ });\n/* harmony import */ var _db__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./db */ \"../../framework/esm-breadcrumbs/src/db.ts\");\n/** @module @category Breadcrumb */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\nfunction getExact(breadcrumbs, path) {\n var _breadcrumbs_filter = _sliced_to_array(breadcrumbs.filter(function(m) {\n return m.matcher.test(path);\n }), 1), bc = _breadcrumbs_filter[0];\n return bc;\n}\nfunction getClosest(breadcrumbs, path) {\n var segments = path.split(\"/\");\n while(segments.length > 1){\n segments.pop();\n var newPath = segments.join(\"/\");\n var next = getNext(breadcrumbs, newPath);\n if (next) {\n return next;\n }\n }\n return undefined;\n}\nfunction getNext(breadcrumbs, path) {\n if (path) {\n return getExact(breadcrumbs, path) || getClosest(breadcrumbs, path);\n }\n return undefined;\n}\nfunction filterBreadcrumbs(list, path) {\n if (list.length > 0) {\n var current = getNext(list, path);\n if (current) {\n var links = [\n current\n ];\n var previous = getNext(list, current.settings.parent);\n while(previous !== undefined){\n links.push(previous);\n previous = getNext(list, previous.settings.parent);\n }\n return links.reverse();\n }\n }\n return [];\n}\nfunction getBreadcrumbsFor(path) {\n var breadcrumbs = (0,_db__WEBPACK_IMPORTED_MODULE_0__.getBreadcrumbs)();\n return filterBreadcrumbs(breadcrumbs, path);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6504
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterBreadcrumbs: () => (/* binding */ filterBreadcrumbs),\n/* harmony export */ getBreadcrumbsFor: () => (/* binding */ getBreadcrumbsFor)\n/* harmony export */ });\n/* harmony import */ var _db__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./db */ \"../../framework/esm-breadcrumbs/src/db.ts\");\n/** @module @category Breadcrumb */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\nfunction getExact(breadcrumbs, path) {\n var _breadcrumbs_filter = _sliced_to_array(breadcrumbs.filter(function(m) {\n return m.matcher.test(path);\n }), 1), bc = _breadcrumbs_filter[0];\n return bc;\n}\nfunction getClosest(breadcrumbs, path) {\n var segments = path.split(\"/\");\n while(segments.length > 1){\n segments.pop();\n var newPath = segments.join(\"/\");\n var next = getNext(breadcrumbs, newPath);\n if (next) {\n return next;\n }\n }\n return undefined;\n}\nfunction getNext(breadcrumbs, path) {\n if (path) {\n return getExact(breadcrumbs, path) || getClosest(breadcrumbs, path);\n }\n return undefined;\n}\nfunction filterBreadcrumbs(list, path) {\n if (list.length > 0) {\n var current = getNext(list, path);\n if (current) {\n var links = [\n current\n ];\n var previous = getNext(list, current.settings.parent);\n while(previous !== undefined){\n links.push(previous);\n previous = getNext(list, previous.settings.parent);\n }\n return links.reverse();\n }\n }\n return [];\n}\nfunction getBreadcrumbsFor(path) {\n var breadcrumbs = (0,_db__WEBPACK_IMPORTED_MODULE_0__.getBreadcrumbs)();\n return filterBreadcrumbs(breadcrumbs, path);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1icmVhZGNydW1icy9zcmMvZmlsdGVyLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlDQUFpQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNLO0FBR3RDLFNBQVNDLFNBQVNDLFdBQTBDLEVBQUVDLElBQVksRUFBMEI7SUFDbEcsSUFBYUQsdUNBQUFBLFlBQVlFLE1BQU0sQ0FBQyxTQUFDQztlQUFNQSxFQUFFQyxPQUFPLENBQUNDLElBQUksQ0FBQ0o7WUFBL0NLLEtBQU1OO0lBQ2IsT0FBT007QUFDVDtBQUVBLFNBQVNDLFdBQVdQLFdBQTBDLEVBQUVDLElBQVksRUFBc0M7SUFDaEgsSUFBTU8sV0FBV1AsS0FBS1EsS0FBSyxDQUFDO0lBRTVCLE1BQU9ELFNBQVNFLE1BQU0sR0FBRyxFQUFHO1FBQzFCRixTQUFTRyxHQUFHO1FBQ1osSUFBTUMsVUFBVUosU0FBU0ssSUFBSSxDQUFDO1FBQzlCLElBQU1DLE9BQU9DLFFBQVFmLGFBQWFZO1FBRWxDLElBQUlFLE1BQU07WUFDUixPQUFPQTtRQUNULENBQUM7SUFDSDtJQUVBLE9BQU9FO0FBQ1Q7QUFFQSxTQUFTRCxRQUFRZixXQUEwQyxFQUFFQyxJQUF3QixFQUFFO0lBQ3JGLElBQUlBLE1BQU07UUFDUixPQUFPRixTQUFTQyxhQUFhQyxTQUFTTSxXQUFXUCxhQUFhQztJQUNoRSxDQUFDO0lBRUQsT0FBT2U7QUFDVDtBQUVPLFNBQVNDLGtCQUFrQkMsSUFBbUMsRUFBRWpCLElBQVksRUFBRTtJQUNuRixJQUFJaUIsS0FBS1IsTUFBTSxHQUFHLEdBQUc7UUFDbkIsSUFBTVMsVUFBVUosUUFBUUcsTUFBTWpCO1FBRTlCLElBQUlrQixTQUFTO1lBQ1gsSUFBTUMsUUFBUTtnQkFBQ0Q7YUFBUTtZQUN2QixJQUFJRSxXQUFXTixRQUFRRyxNQUFNQyxRQUFRRyxRQUFRLENBQUNDLE1BQU07WUFFcEQsTUFBT0YsYUFBYUwsVUFBVztnQkFDN0JJLE1BQU1JLElBQUksQ0FBQ0g7Z0JBQ1hBLFdBQVdOLFFBQVFHLE1BQU1HLFNBQVNDLFFBQVEsQ0FBQ0MsTUFBTTtZQUNuRDtZQUVBLE9BQU9ILE1BQU1LLE9BQU87UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEVBQUU7QUFDWCxDQUFDO0FBRU0sU0FBU0Msa0JBQWtCekIsSUFBWSxFQUFFO0lBQzlDLElBQU1ELGNBQWNGLG1EQUFjQTtJQUNsQyxPQUFPbUIsa0JBQWtCakIsYUFBYUM7QUFDeEMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1icmVhZGNydW1icy9zcmMvZmlsdGVyLnRzPzI3ZDQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEJyZWFkY3J1bWIgKi9cbmltcG9ydCB7IGdldEJyZWFkY3J1bWJzIH0gZnJvbSAnLi9kYic7XG5pbXBvcnQgdHlwZSB7IEJyZWFkY3J1bWJSZWdpc3RyYXRpb24gfSBmcm9tICcuL3R5cGVzJztcblxuZnVuY3Rpb24gZ2V0RXhhY3QoYnJlYWRjcnVtYnM6IEFycmF5PEJyZWFkY3J1bWJSZWdpc3RyYXRpb24+LCBwYXRoOiBzdHJpbmcpOiBCcmVhZGNydW1iUmVnaXN0cmF0aW9uIHtcbiAgY29uc3QgW2JjXSA9IGJyZWFkY3J1bWJzLmZpbHRlcigobSkgPT4gbS5tYXRjaGVyLnRlc3QocGF0aCkpO1xuICByZXR1cm4gYmM7XG59XG5cbmZ1bmN0aW9uIGdldENsb3Nlc3QoYnJlYWRjcnVtYnM6IEFycmF5PEJyZWFkY3J1bWJSZWdpc3RyYXRpb24+LCBwYXRoOiBzdHJpbmcpOiBCcmVhZGNydW1iUmVnaXN0cmF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgd2hpbGUgKHNlZ21lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICBzZWdtZW50cy5wb3AoKTtcbiAgICBjb25zdCBuZXdQYXRoID0gc2VnbWVudHMuam9pbignLycpO1xuICAgIGNvbnN0IG5leHQgPSBnZXROZXh0KGJyZWFkY3J1bWJzLCBuZXdQYXRoKTtcblxuICAgIGlmIChuZXh0KSB7XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXROZXh0KGJyZWFkY3J1bWJzOiBBcnJheTxCcmVhZGNydW1iUmVnaXN0cmF0aW9uPiwgcGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIGdldEV4YWN0KGJyZWFkY3J1bWJzLCBwYXRoKSB8fCBnZXRDbG9zZXN0KGJyZWFkY3J1bWJzLCBwYXRoKTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJCcmVhZGNydW1icyhsaXN0OiBBcnJheTxCcmVhZGNydW1iUmVnaXN0cmF0aW9uPiwgcGF0aDogc3RyaW5nKSB7XG4gIGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBjdXJyZW50ID0gZ2V0TmV4dChsaXN0LCBwYXRoKTtcblxuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICBjb25zdCBsaW5rcyA9IFtjdXJyZW50XTtcbiAgICAgIGxldCBwcmV2aW91cyA9IGdldE5leHQobGlzdCwgY3VycmVudC5zZXR0aW5ncy5wYXJlbnQpO1xuXG4gICAgICB3aGlsZSAocHJldmlvdXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsaW5rcy5wdXNoKHByZXZpb3VzKTtcbiAgICAgICAgcHJldmlvdXMgPSBnZXROZXh0KGxpc3QsIHByZXZpb3VzLnNldHRpbmdzLnBhcmVudCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBsaW5rcy5yZXZlcnNlKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJlYWRjcnVtYnNGb3IocGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IGJyZWFkY3J1bWJzID0gZ2V0QnJlYWRjcnVtYnMoKTtcbiAgcmV0dXJuIGZpbHRlckJyZWFkY3J1bWJzKGJyZWFkY3J1bWJzLCBwYXRoKTtcbn1cbiJdLCJuYW1lcyI6WyJnZXRCcmVhZGNydW1icyIsImdldEV4YWN0IiwiYnJlYWRjcnVtYnMiLCJwYXRoIiwiZmlsdGVyIiwibSIsIm1hdGNoZXIiLCJ0ZXN0IiwiYmMiLCJnZXRDbG9zZXN0Iiwic2VnbWVudHMiLCJzcGxpdCIsImxlbmd0aCIsInBvcCIsIm5ld1BhdGgiLCJqb2luIiwibmV4dCIsImdldE5leHQiLCJ1bmRlZmluZWQiLCJmaWx0ZXJCcmVhZGNydW1icyIsImxpc3QiLCJjdXJyZW50IiwibGlua3MiLCJwcmV2aW91cyIsInNldHRpbmdzIiwicGFyZW50IiwicHVzaCIsInJldmVyc2UiLCJnZXRCcmVhZGNydW1ic0ZvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-breadcrumbs/src/filter.ts\n");
|
|
6505
6505
|
|
|
6506
6506
|
/***/ }),
|
|
6507
6507
|
|
|
@@ -6545,7 +6545,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6545
6545
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6546
6546
|
|
|
6547
6547
|
"use strict";
|
|
6548
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineConfigSchema: () => (/* binding */ defineConfigSchema),\n/* harmony export */ defineExtensionConfigSchema: () => (/* binding */ defineExtensionConfigSchema),\n/* harmony export */ getConfig: () => (/* binding */ getConfig),\n/* harmony export */ getConfigInternal: () => (/* binding */ getConfigInternal),\n/* harmony export */ processConfig: () => (/* binding */ processConfig),\n/* harmony export */ provide: () => (/* binding */ provide)\n/* harmony export */ });\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/equals.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/mergeDeepRight.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/omit.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/clone.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \"../../framework/esm-config/src/types.ts\");\n/* harmony import */ var _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../validators/type-validators */ \"../../framework/esm-config/src/validators/type-validators.ts\");\n/* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./state */ \"../../framework/esm-config/src/module-config/state.ts\");\n/** @module @category Config */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n/**\n * Store setup\n *\n *\n * Set up stores and subscriptions so that inputs get processed appropriately.\n *\n * There are *input* stores and *output* stores. The *input* stores\n * are configInternalStore, temporaryConfigStore, and configExtensionStore. The\n * output stores are set in the `compute...` functions. They are the module\n * config stores, the extension slot config stores (by module), the extension\n * config stores, and the implementer tools config store.\n *\n * This code sets up the subscriptions so that when an input store changes,\n * the correct set of output stores are updated.\n *\n * All `compute...` functions except `computeExtensionConfigs` are pure\n * (or are supposed to be), other than the fact that they all `setState`\n * store values at the end. `computeExtensionConfigs` calls `getGlobalStore`,\n * which creates stores.\n */ computeModuleConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n return computeModuleConfig(configState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n return computeModuleConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), tempConfigState);\n});\ncomputeImplementerToolsConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n return computeImplementerToolsConfig(configState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n return computeImplementerToolsConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), tempConfigState);\n});\ncomputeExtensionSlotConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n return computeExtensionSlotConfigs(configState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n return computeExtensionSlotConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), tempConfigState);\n});\ncomputeExtensionConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n computeExtensionConfigs(configState, _state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.subscribe(function(extensionState) {\n computeExtensionConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), extensionState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n computeExtensionConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.getState(), tempConfigState);\n});\nfunction computeModuleConfig(state, tempState) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(state.schemas)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var moduleName = _step.value;\n var config = getConfigForModule(moduleName, state, tempState);\n var moduleStore = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getConfigStore)(moduleName);\n moduleStore.setState({\n loaded: true,\n config: config\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction computeExtensionSlotConfigs(state, tempState) {\n var slotConfigs = getExtensionSlotConfigs(state, tempState);\n var newSlotStoreEntries = Object.fromEntries(Object.entries(slotConfigs).map(function(param) {\n var _param = _sliced_to_array(param, 2), slotName = _param[0], config = _param[1];\n return [\n slotName,\n {\n loaded: true,\n config: config\n }\n ];\n }));\n var slotStore = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getExtensionSlotsConfigStore)();\n var oldState = slotStore.getState();\n var newState = {\n slots: _object_spread({}, oldState.slots, newSlotStoreEntries)\n };\n if (!(0,ramda__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(oldState, newState)) {\n slotStore.setState(newState);\n }\n}\nfunction computeImplementerToolsConfig(state, tempConfigState) {\n var config = getImplementerToolsConfig(state, tempConfigState);\n _state__WEBPACK_IMPORTED_MODULE_2__.implementerToolsConfigStore.setState({\n config: config\n });\n}\nfunction computeExtensionConfigs(configState, extensionState, tempConfigState) {\n var configs = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = extensionState.mountedExtensions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var extension = _step.value;\n var config = computeExtensionConfig(extension.slotModuleName, extension.extensionModuleName, extension.slotName, extension.extensionId, configState, tempConfigState);\n configs[extension.slotName] = _object_spread_props(_object_spread({}, configs[extension.slotName]), _define_property({}, extension.extensionId, {\n config: config,\n loaded: true\n }));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n (0,_state__WEBPACK_IMPORTED_MODULE_2__.getExtensionsConfigStore)().setState({\n configs: configs\n });\n}\n/*\n * API\n *\n */ /**\n * This defines a configuration schema for a module. The schema tells the\n * configuration system how the module can be configured. It specifies\n * what makes configuration valid or invalid.\n *\n * See [Configuration System](https://o3-docs.openmrs.org/docs/configuration-system)\n * for more information about defining a config schema.\n *\n * @param moduleName Name of the module the schema is being defined for. Generally\n * should be the one in which the `defineConfigSchema` call takes place.\n * @param schema The config schema for the module\n */ function defineConfigSchema(moduleName, schema) {\n validateConfigSchema(moduleName, schema);\n var enhancedSchema = (0,ramda__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(schema, implicitConfigSchema);\n var state = _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState();\n _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.setState({\n schemas: _object_spread_props(_object_spread({}, state.schemas), _define_property({}, moduleName, enhancedSchema))\n });\n}\n/**\n * This defines a configuration schema for an extension. When a schema is defined\n * for an extension, that extension will receive the configuration corresponding\n * to that schema, rather than the configuration corresponding to the module\n * in which it is defined.\n *\n * The schema tells the configuration system how the module can be configured.\n * It specifies what makes configuration valid or invalid.\n *\n * See [Configuration System](https://o3-docs.openmrs.org/docs/configuration-system)\n * for more information about defining a config schema.\n *\n * @param extensionName Name of the extension the schema is being defined for.\n * Should match the `name` of one of the `extensions` entries being returned\n * by `setupOpenMRS`.\n * @param schema The config schema for the extension\n */ function defineExtensionConfigSchema(extensionName, schema) {\n validateConfigSchema(extensionName, schema);\n var enhancedSchema = (0,ramda__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(schema, implicitConfigSchema);\n var state = _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState();\n if (state.schemas[extensionName]) {\n console.warn(\"Config schema for extension \".concat(extensionName, \" already exists. If there are multiple extensions with this same name, one will probably crash.\"));\n }\n _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.setState({\n schemas: _object_spread_props(_object_spread({}, state.schemas), _define_property({}, extensionName, enhancedSchema))\n });\n}\nfunction provide(config) {\n var sourceName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"provided\";\n var state = _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState();\n _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.setState({\n providedConfigs: _to_consumable_array(state.providedConfigs).concat([\n {\n source: sourceName,\n config: config\n }\n ])\n });\n}\n/**\n * A promise-based way to access the config as soon as it is fully loaded.\n * If it is already loaded, resolves the config in its present state.\n *\n * This is a useful function if you need to get the config in the course\n * of the execution of a function.\n *\n * @param moduleName The name of the module for which to look up the config\n */ function getConfig(moduleName) {\n return new Promise(function(resolve) {\n var update = function update(state) {\n if (state.loaded && state.config) {\n var config = (0,ramda__WEBPACK_IMPORTED_MODULE_5__[\"default\"])([\n \"Display conditions\",\n \"Translation overrides\"\n ], state.config);\n resolve(config);\n unsubscribe && unsubscribe();\n }\n };\n var store = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getConfigStore)(moduleName);\n update(store.getState());\n var unsubscribe = store.subscribe(update);\n });\n}\n/** @internal */ function getConfigInternal(moduleName) {\n return new Promise(function(resolve) {\n var update = function update(state) {\n if (state.loaded && state.config) {\n var config = state.config;\n resolve(config);\n unsubscribe && unsubscribe();\n }\n };\n var store = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getConfigStore)(moduleName);\n update(store.getState());\n var unsubscribe = store.subscribe(update);\n });\n}\n/**\n * Validate and interpolate defaults for `providedConfig` according to `schema`\n *\n * @param schema a configuration schema\n * @param providedConfig an object of config values (without the top-level module name)\n * @param keyPathContext a dot-deparated string which helps the user figure out where\n * the provided config came from\n * @internal\n */ function processConfig(schema, providedConfig, keyPathContext) {\n validateStructure(schema, providedConfig, keyPathContext);\n var config = setDefaults(schema, providedConfig);\n runAllValidatorsInConfigTree(schema, config, keyPathContext);\n return config;\n}\n/*\n * Helper functions\n *\n */ /**\n * Returns the configuration for an extension. This configuration is specific\n * to the slot in which it is mounted, and its ID within that slot.\n *\n * The schema for that configuration is the extension schema. If no extension\n * schema has been provided, the schema used is the schema of the module in\n * which the extension is defined.\n *\n * @param slotModuleName The name of the module which defines the extension slot\n * @param extensionModuleName The name of the module which defines the extension (and therefore the config schema)\n * @param slotName The name of the extension slot where the extension is mounted\n * @param extensionId The ID of the extension in its slot\n */ function computeExtensionConfig(slotModuleName, extensionModuleName, slotName, extensionId, configState, tempConfigState) {\n var _slotModuleConfig_extensionSlots, _slotModuleConfig_extensionSlots_slotName, _slotModuleConfig_extensionSlots_slotName_configure;\n var extensionName = getExtensionNameFromId(extensionId);\n var extensionConfigSchema = configState.schemas[extensionName];\n var nameOfSchemaSource = extensionConfigSchema ? extensionName : extensionModuleName;\n var providedConfigs = getProvidedConfigs(configState, tempConfigState);\n var slotModuleConfig = mergeConfigsFor(slotModuleName, providedConfigs);\n var _slotModuleConfig_extensionSlots_slotName_configure_extensionId;\n var configOverride = (_slotModuleConfig_extensionSlots_slotName_configure_extensionId = slotModuleConfig === null || slotModuleConfig === void 0 ? void 0 : (_slotModuleConfig_extensionSlots = slotModuleConfig.extensionSlots) === null || _slotModuleConfig_extensionSlots === void 0 ? void 0 : (_slotModuleConfig_extensionSlots_slotName = _slotModuleConfig_extensionSlots[slotName]) === null || _slotModuleConfig_extensionSlots_slotName === void 0 ? void 0 : (_slotModuleConfig_extensionSlots_slotName_configure = _slotModuleConfig_extensionSlots_slotName.configure) === null || _slotModuleConfig_extensionSlots_slotName_configure === void 0 ? void 0 : _slotModuleConfig_extensionSlots_slotName_configure[extensionId]) !== null && _slotModuleConfig_extensionSlots_slotName_configure_extensionId !== void 0 ? _slotModuleConfig_extensionSlots_slotName_configure_extensionId : {};\n var extensionConfig = mergeConfigsFor(nameOfSchemaSource, providedConfigs);\n var combinedConfig = mergeConfigs([\n extensionConfig,\n configOverride\n ]);\n // TODO: validate that a schema exists for the module\n var schema = extensionConfigSchema !== null && extensionConfigSchema !== void 0 ? extensionConfigSchema : configState.schemas[extensionModuleName];\n validateStructure(schema, combinedConfig, nameOfSchemaSource);\n var config = setDefaults(schema, combinedConfig);\n runAllValidatorsInConfigTree(schema, config, nameOfSchemaSource);\n delete config.extensionSlots;\n return config;\n}\nfunction getImplementerToolsConfig(configState, tempConfigState) {\n var result = getSchemaWithValuesAndSources((0,ramda__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(configState.schemas));\n var configsAndSources = _to_consumable_array(configState.providedConfigs.map(function(c) {\n return [\n c.config,\n c.source\n ];\n })).concat([\n [\n tempConfigState.config,\n \"temporary config\"\n ]\n ]);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = configsAndSources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), config = _step_value[0], source = _step_value[1];\n result = mergeConfigs([\n result,\n createValuesAndSourcesTree(config, source)\n ]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return result;\n}\nfunction getSchemaWithValuesAndSources(schema) {\n if (schema.hasOwnProperty(\"_default\")) {\n return _object_spread_props(_object_spread({}, schema), {\n _value: schema._default,\n _source: \"default\"\n });\n } else if (isOrdinaryObject(schema)) {\n return Object.keys(schema).reduce(function(obj, key) {\n obj[key] = getSchemaWithValuesAndSources(schema[key]);\n return obj;\n }, {});\n } else {\n // at this point, the schema is bad and an error will have been logged during schema validation\n return {};\n }\n}\nfunction createValuesAndSourcesTree(config, source) {\n if (isOrdinaryObject(config)) {\n return Object.keys(config).reduce(function(obj, key) {\n obj[key] = createValuesAndSourcesTree(config[key], source);\n return obj;\n }, {});\n } else {\n return {\n _value: config,\n _source: source\n };\n }\n}\nfunction getExtensionSlotConfigs(configState, tempConfigState) {\n var allConfigs = mergeConfigs(getProvidedConfigs(configState, tempConfigState));\n var slotConfigPerModule = Object.keys(allConfigs).reduce(function(obj, key) {\n var _allConfigs_key;\n if ((_allConfigs_key = allConfigs[key]) === null || _allConfigs_key === void 0 ? void 0 : _allConfigs_key.extensionSlots) {\n var _allConfigs_key1;\n obj[key] = (_allConfigs_key1 = allConfigs[key]) === null || _allConfigs_key1 === void 0 ? void 0 : _allConfigs_key1.extensionSlots;\n }\n return obj;\n }, {});\n validateAllExtensionSlotConfigs(slotConfigPerModule);\n var slotConfigs = Object.keys(slotConfigPerModule).reduce(function(obj, key) {\n obj = _object_spread({}, obj, slotConfigPerModule[key]);\n return obj;\n }, {});\n return slotConfigs;\n}\nfunction validateAllExtensionSlotConfigs(slotConfigPerModule) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(slotConfigPerModule)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), moduleName = _step_value[0], configBySlotName = _step_value[1];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = Object.entries(configBySlotName)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var _step_value1 = _sliced_to_array(_step1.value, 2), slotName = _step_value1[0], config = _step_value1[1];\n validateExtensionSlotConfig(config, moduleName, slotName);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction validateExtensionSlotConfig(config, moduleName, slotName) {\n var errorPrefix = \"Extension slot config '\".concat(moduleName, \".extensionSlots.\").concat(slotName);\n var invalidKeys = Object.keys(config).filter(function(k) {\n return ![\n \"add\",\n \"remove\",\n \"order\",\n \"configure\"\n ].includes(k);\n });\n if (invalidKeys.length) {\n console.error(errorPrefix + \"' contains invalid keys '\".concat(invalidKeys.join(\"', '\"), \"'\"));\n }\n if (config.add) {\n if (!Array.isArray(config.add) || !config.add.every(function(n) {\n return typeof n === \"string\";\n })) {\n console.error(errorPrefix + \".add' is invalid. Must be an array of strings (extension IDs)\");\n }\n }\n if (config.remove) {\n if (!Array.isArray(config.remove) || !config.remove.every(function(n) {\n return typeof n === \"string\";\n })) {\n console.error(errorPrefix + \".remove' is invalid. Must be an array of strings (extension IDs)\");\n }\n }\n if (config.order) {\n if (!Array.isArray(config.order) || !config.order.every(function(n) {\n return typeof n === \"string\";\n })) {\n console.error(errorPrefix + \".order' is invalid. Must be an array of strings (extension IDs)\");\n }\n }\n if (config.configure) {\n if (!isOrdinaryObject(config.configure)) {\n console.error(errorPrefix + \".configure' is invalid. Must be an object with extension IDs for keys\");\n }\n }\n}\nfunction getProvidedConfigs(configState, tempConfigState) {\n return _to_consumable_array(configState.providedConfigs.map(function(c) {\n return c.config;\n })).concat([\n tempConfigState.config\n ]);\n}\nfunction validateConfigSchema(moduleName, schema) {\n var keyPath = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n var updateMessage = \"Please verify that you are running the latest version and, if so, alert the maintainer.\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n var _loop = function() {\n var key = _step.value;\n var thisKeyPath = keyPath + (keyPath && \".\") + key;\n var schemaPart = schema[key];\n if (thisKeyPath === \"Display conditions\") {\n console.error(\"\".concat(moduleName, ' declares a configuration option called \"Display conditions\"; the \"Display conditions\" option is a reserved name. ').concat(updateMessage));\n }\n if (thisKeyPath === \"Translation overrides\") {\n console.error(\"\".concat(moduleName, ' declares a configuration option called \"Translation overrides\"; the \"Translation overrides\" option is a reserved name. ').concat(updateMessage));\n }\n if (!isOrdinaryObject(schemaPart)) {\n console.error(\"\".concat(moduleName, \" has bad config schema definition for key '\").concat(thisKeyPath, \"'. \").concat(updateMessage));\n return \"continue\";\n }\n if (!schemaPart.hasOwnProperty(\"_default\")) {\n // recurse for nested config keys\n validateConfigSchema(moduleName, schemaPart, thisKeyPath);\n }\n var elements = schemaPart._elements;\n if (hasObjectSchema(elements)) {\n validateConfigSchema(moduleName, elements, thisKeyPath + \"._elements\");\n }\n if (schemaPart._validators) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = schemaPart._validators[Symbol.iterator](), _step1; !(_iteratorNormalCompletion = (_step1 = _iterator.next()).done); _iteratorNormalCompletion = true){\n var validator = _step1.value;\n if (typeof validator !== \"function\") {\n console.error(\"\".concat(moduleName, \" has invalid validator for key '\").concat(thisKeyPath, \"' \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: validators must be functions that return either \" + \"undefined or an error string. Received \".concat(validator, \".\"));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var valueType = schemaPart._type;\n if (valueType && !Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.Type).includes(valueType)) {\n console.error(\"\".concat(moduleName, \" has invalid type for key '\").concat(thisKeyPath, \"' \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: the allowed types are \".concat(Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.Type).join(\", \"), \". \") + \"Received '\".concat(valueType, \"'\"));\n }\n if (Object.keys(schemaPart).every(function(k) {\n return [\n \"_description\",\n \"_validators\",\n \"_elements\",\n \"_type\"\n ].includes(k);\n }) && !keyPath.includes(\"._elements\")) {\n console.error(\"\".concat(moduleName, \" has bad config schema definition for key '\").concat(thisKeyPath, \"'. \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: all config elements must have a default. \" + \"Received \".concat(JSON.stringify(schemaPart)));\n }\n if (elements && valueType && ![\n _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array,\n _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object\n ].includes(valueType)) {\n console.error(\"\".concat(moduleName, \" has bad config schema definition for key '\").concat(thisKeyPath, \"'. \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. \" + \"Received \".concat(JSON.stringify(valueType)));\n }\n };\n for(var _iterator = Object.keys(schema).filter(function(k) {\n return !k.startsWith(\"_\");\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction getConfigForModule(moduleName, configState, tempConfigState) {\n if (!configState.schemas.hasOwnProperty(moduleName)) {\n throw Error(\"No config schema has been defined for \" + moduleName);\n }\n var schema = configState.schemas[moduleName];\n var inputConfig = mergeConfigsFor(moduleName, getProvidedConfigs(configState, tempConfigState));\n validateStructure(schema, inputConfig, moduleName);\n var config = setDefaults(schema, inputConfig);\n runAllValidatorsInConfigTree(schema, config, moduleName);\n delete config.extensionSlots;\n return config;\n}\nfunction mergeConfigsFor(moduleName, allConfigs) {\n var allConfigsForModule = allConfigs.map(function(param) {\n var c = param[moduleName];\n return c;\n }).filter(function(c) {\n return !!c;\n });\n return mergeConfigs(allConfigsForModule);\n}\nfunction mergeConfigs(configs) {\n var mergeDeepAll = (0,ramda__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(ramda__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n return mergeDeepAll({}, configs);\n}\n/**\n * Recursively check the provided config tree to make sure that all\n * of the provided properties exist in the schema, and that types are\n * correct. Does not run validators yet, since those will be run on\n * the config with the defaults filled in.\n */ function validateStructure(schema, config) {\n var keyPath = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n // validate each constituent element\n for(var _iterator = Object.keys(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n var value = config[key];\n var thisKeyPath = keyPath + \".\" + key;\n var schemaPart = schema[key];\n if (!schema.hasOwnProperty(key)) {\n if (!(key === \"extensionSlots\" && keyPath !== \"\")) {\n console.error(\"Unknown config key '\".concat(thisKeyPath, \"' provided. Ignoring.\"));\n }\n continue;\n }\n validateBranchStructure(schemaPart, value, thisKeyPath);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction validateBranchStructure(schemaPart, value, keyPath) {\n checkType(keyPath, schemaPart._type, value);\n if (isOrdinaryObject(value)) {\n // structurally validate only if there's elements specified\n // or there's no `_default` value (which would indicate a freeform object)\n if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object) {\n validateDictionaryStructure(schemaPart, value, keyPath);\n } else if (!schemaPart.hasOwnProperty(\"_default\")) {\n // recurse to validate nested object structure\n validateStructure(schemaPart, value, keyPath);\n }\n } else {\n if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array) {\n validateArrayStructure(schemaPart, value, keyPath);\n }\n }\n}\nfunction validateDictionaryStructure(dictionarySchema, config, keyPath) {\n if (dictionarySchema._elements) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n var value = config[key];\n validateStructure(dictionarySchema._elements, value, \"\".concat(keyPath, \".\").concat(key));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n}\nfunction validateArrayStructure(arraySchema, value, keyPath) {\n // if there is an array element object schema, verify that elements match it\n if (hasObjectSchema(arraySchema._elements)) {\n for(var i = 0; i < value.length; i++){\n validateBranchStructure(arraySchema._elements, value[i], \"\".concat(keyPath, \"[\").concat(i, \"]\"));\n }\n }\n for(var i1 = 0; i1 < value.length; i1++){\n var _arraySchema__elements;\n checkType(\"\".concat(keyPath, \"[\").concat(i1, \"]\"), (_arraySchema__elements = arraySchema._elements) === null || _arraySchema__elements === void 0 ? void 0 : _arraySchema__elements._type, value[i1]);\n }\n}\n/**\n * Run all the validators in the config tree. This should be run\n * on the config object after it has been filled in with all the defaults, since\n * higher-level validators may refer to default values.\n */ function runAllValidatorsInConfigTree(schema, config) {\n var keyPath = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n // If `!schema`, there should have been a structural validation error printed already.\n if (schema) {\n if (config !== schema._default) {\n runValidators(keyPath, schema._validators, config);\n }\n if (isOrdinaryObject(config)) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n var value = config[key];\n var thisKeyPath = keyPath + \".\" + key;\n var schemaPart = schema[key];\n if (schema._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object && schema._elements) {\n runAllValidatorsInConfigTree(schema._elements, value, thisKeyPath);\n } else {\n runAllValidatorsInConfigTree(schemaPart, value, thisKeyPath);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (Array.isArray(config) && schema._elements) {\n for(var i = 0; i < config.length; i++){\n runAllValidatorsInConfigTree(schema._elements, config[i], \"\".concat(keyPath, \"[\").concat(i, \"]\"));\n }\n }\n }\n}\nfunction checkType(keyPath, _type, value) {\n if (_type) {\n var validator = {\n Array: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isArray,\n Boolean: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isBoolean,\n ConceptUuid: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid,\n Number: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isNumber,\n Object: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isObject,\n String: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isString,\n UUID: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid,\n PersonAttributeTypeUuid: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid,\n PatientIdentifierTypeUuid: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid\n };\n runValidators(keyPath, [\n validator[_type]\n ], value);\n }\n}\nfunction runValidators(keyPath, validators, value) {\n if (validators) {\n try {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = validators[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var validator = _step.value;\n var validatorResult = validator(value);\n if (typeof validatorResult === \"string\") {\n if (typeof value === \"object\") {\n console.error(\"Invalid configuration for \".concat(keyPath, \": \").concat(validatorResult));\n } else {\n console.error(\"Invalid configuration value \".concat(value, \" for \").concat(keyPath, \": \").concat(validatorResult));\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } catch (e) {\n console.error('Skipping invalid validator at \"'.concat(keyPath, '\". Encountered error\\n\t').concat(e));\n }\n }\n}\n// Recursively fill in the config with values from the schema.\nvar setDefaults = function(schema, inputConfig) {\n var config = (0,ramda__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(inputConfig);\n if (!schema) {\n return config;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n var _loop = function() {\n var key = _step.value;\n var configPart = config[key];\n var schemaPart = schema[key];\n // The `schemaPart &&` clause of this `if` statement will only fail\n // if the schema is very invalid. It is there to prevent the app from\n // crashing completely, though it will produce unexpected behavior.\n // If this happens, there should be legible errors in the console from\n // the schema validator.\n if (schemaPart && schemaPart.hasOwnProperty(\"_default\")) {\n // We assume that schemaPart defines a config value, since it has\n // a property `_default`.\n if (!config.hasOwnProperty(key)) {\n config[key] = schemaPart[\"_default\"];\n }\n // We also check if it is an object or array with object elements, in which case we recurse\n var elements = schemaPart._elements;\n if (configPart && hasObjectSchema(elements)) {\n if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array && Array.isArray(configPart)) {\n var configWithDefaults = configPart.map(function(conf) {\n return setDefaults(elements, conf);\n });\n config[key] = configWithDefaults;\n } else if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(configPart)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion = (_step1 = _iterator.next()).done); _iteratorNormalCompletion = true){\n var objectKey = _step1.value;\n configPart[objectKey] = setDefaults(elements, configPart[objectKey]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n } else if (isOrdinaryObject(schemaPart)) {\n // Since schemaPart has no property \"_default\", if it's an ordinary object\n // (unlike, importantly, the validators array), we assume it is a parent config property.\n // We recurse to config[key] and schema[key]. Default config[key] to {}.\n var selectedConfigPart = config.hasOwnProperty(key) ? configPart : {};\n if (isOrdinaryObject(selectedConfigPart)) {\n config[key] = setDefaults(schemaPart, selectedConfigPart);\n }\n }\n };\n for(var _iterator = Object.keys(schema)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return config;\n};\nfunction hasObjectSchema(elementsSchema) {\n return !!elementsSchema && Object.keys(elementsSchema).filter(function(e) {\n return ![\n \"_default\",\n \"_validators\"\n ].includes(e);\n }).length > 0;\n}\nfunction isOrdinaryObject(value) {\n return typeof value === \"object\" && !Array.isArray(value) && value !== null;\n}\n/**\n * Copied over from esm-extensions. It rightly belongs to that module, but esm-config\n * cannot depend on esm-extensions.\n */ function getExtensionNameFromId(extensionId) {\n var _extensionId_split = _sliced_to_array(extensionId.split(\"#\"), 1), extensionName = _extensionId_split[0];\n return extensionName;\n}\n/**\n * The implicitConfigSchema is implicitly included in every configuration schema\n */ var implicitConfigSchema = {\n \"Display conditions\": {\n privileges: {\n _description: \"The privilege(s) the user must have to use this extension\",\n _type: _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array,\n _default: []\n }\n },\n \"Translation overrides\": {\n _description: \"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value\",\n _type: _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object,\n _default: {}\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL21vZHVsZS1jb25maWcvbW9kdWxlLWNvbmZpZy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDdUM7QUFDZ0Q7QUFDWDtBQVl4RjtBQUlqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CQyxHQUNEbUIsb0JBQW9CUCx1REFBbUJBLENBQUNRLFFBQVEsSUFBSUgsd0RBQW9CQSxDQUFDRyxRQUFRO0FBQ2pGUix1REFBbUJBLENBQUNTLFNBQVMsQ0FBQyxTQUFDQztXQUFnQkgsb0JBQW9CRyxhQUFhTCx3REFBb0JBLENBQUNHLFFBQVE7O0FBQzdHSCx3REFBb0JBLENBQUNJLFNBQVMsQ0FBQyxTQUFDRTtXQUM5Qkosb0JBQW9CUCx1REFBbUJBLENBQUNRLFFBQVEsSUFBSUc7O0FBR3REQyw4QkFBOEJaLHVEQUFtQkEsQ0FBQ1EsUUFBUSxJQUFJSCx3REFBb0JBLENBQUNHLFFBQVE7QUFDM0ZSLHVEQUFtQkEsQ0FBQ1MsU0FBUyxDQUFDLFNBQUNDO1dBQzdCRSw4QkFBOEJGLGFBQWFMLHdEQUFvQkEsQ0FBQ0csUUFBUTs7QUFFMUVILHdEQUFvQkEsQ0FBQ0ksU0FBUyxDQUFDLFNBQUNFO1dBQzlCQyw4QkFBOEJaLHVEQUFtQkEsQ0FBQ1EsUUFBUSxJQUFJRzs7QUFHaEVFLDRCQUE0QmIsdURBQW1CQSxDQUFDUSxRQUFRLElBQUlILHdEQUFvQkEsQ0FBQ0csUUFBUTtBQUN6RlIsdURBQW1CQSxDQUFDUyxTQUFTLENBQUMsU0FBQ0M7V0FDN0JHLDRCQUE0QkgsYUFBYUwsd0RBQW9CQSxDQUFDRyxRQUFROztBQUV4RUgsd0RBQW9CQSxDQUFDSSxTQUFTLENBQUMsU0FBQ0U7V0FDOUJFLDRC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QzJJLGdCQUFnQnZELE1BQU0sQ0FBQyxTQUFDaUQ7ZUFBTSxDQUFDO1lBQUM7WUFBWTtTQUFjLENBQUMvQyxRQUFRLENBQUMrQztPQUFJOUMsTUFBTSxHQUFHO0FBRXJIO0FBRUEsU0FBU2IsaUJBQWlCeUMsS0FBSyxFQUFFO0lBQy9CLE9BQU8sT0FBT0EsVUFBVSxZQUFZLENBQUN4QixNQUFNcEgsT0FBTyxDQUFDNEksVUFBVUEsVUFBVSxJQUFJO0FBQzdFO0FBRUE7OztDQUdDLEdBQ0QsU0FBUzdELHVCQUF1QjVCLFdBQW1CLEVBQUU7SUFDbkQsSUFBd0JBLHNDQUFBQSxZQUFZa0gsS0FBSyxDQUFDLFVBQW5DM0csZ0JBQWlCUDtJQUN4QixPQUFPTztBQUNUO0FBRUE7O0NBRUMsR0FDRCxJQUFNRix1QkFBcUM7SUFDekMsc0JBQXNCO1FBQ3BCOEcsWUFBWTtZQUNWQyxjQUFjO1lBQ2RwQyxPQUFPcEksd0NBQUlBLENBQUNxSCxLQUFLO1lBQ2pCbkIsVUFBVSxFQUFFO1FBQ2Q7SUFDRjtJQUNBLHlCQUF5QjtRQUN2QnNFLGNBQ0U7UUFDRnBDLE9BQU9wSSx3Q0FBSUEsQ0FBQ3lCLE1BQU07UUFDbEJ5RSxVQUFVLENBQUM7SUFDYjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWNvbmZpZy9zcmMvbW9kdWxlLWNvbmZpZy9tb2R1bGUtY29uZmlnLnRzPzdjYTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IENvbmZpZyAqL1xuaW1wb3J0IHsgY2xvbmUsIHJlZHVjZSwgbWVyZ2VEZWVwUmlnaHQsIGVxdWFscywgb21pdCB9IGZyb20gJ3JhbWRhJztcbmltcG9ydCB7IENvbmZpZywgQ29uZmlnT2JqZWN0LCBDb25maWdTY2hlbWEsIEV4dGVuc2lvblNsb3RDb25maWcsIEV4dGVuc2lvblNsb3RDb25maWdPYmplY3QsIFR5cGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0FycmF5LCBpc0Jvb2xlYW4sIGlzVXVpZCwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1N0cmluZyB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvdHlwZS12YWxpZGF0b3JzJztcbmltcG9ydCB7XG4gIENvbmZpZ0V4dGVuc2lvblN0b3JlLFxuICBDb25maWdJbnRlcm5hbFN0b3JlLFxuICBjb25maWdJbnRlcm5hbFN0b3JlLFxuICBDb25maWdTdG9yZSxcbiAgY29uZmlnRXh0ZW5zaW9uU3RvcmUsXG4gIGdldENvbmZpZ1N0b3JlLFxuICBnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUsXG4gIGltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZSxcbiAgdGVtcG9yYXJ5Q29uZmlnU3RvcmUsXG4gIGdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUsXG59IGZyb20gJy4vc3RhdGUnO1xuaW1wb3J0IHR5cGUge30gZnJvbSAnQG9wZW5tcnMvZXNtLWdsb2JhbHMnO1xuaW1wb3J0IHsgVGVtcG9yYXJ5Q29uZmlnU3RvcmUgfSBmcm9tICcuLic7XG5cbi8qKlxuICogU3RvcmUgc2V0dXBcbiAqXG4gKlxuICogU2V0IHVwIHN0b3JlcyBhbmQgc3Vic2NyaXB0aW9ucyBzbyB0aGF0IGlucHV0cyBnZXQgcHJvY2Vzc2VkIGFwcHJvcHJpYXRlbHkuXG4gKlxuICogVGhlcmUgYXJlICppbnB1dCogc3RvcmVzIGFuZCAqb3V0cHV0KiBzdG9yZXMuIFRoZSAqaW5wdXQqIHN0b3Jlc1xuICogYXJlIGNvbmZpZ0ludGVybmFsU3RvcmUsIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLCBhbmQgY29uZmlnRXh0ZW5zaW9uU3RvcmUuIFRoZVxuICogb3V0cHV0IHN0b3JlcyBhcmUgc2V0IGluIHRoZSBgY29tcHV0ZS4uLmAgZnVuY3Rpb25zLiBUaGV5IGFyZSB0aGUgbW9kdWxlXG4gKiBjb25maWcgc3RvcmVzLCB0aGUgZXh0ZW5zaW9uIHNsb3QgY29uZmlnIHN0b3JlcyAoYnkgbW9kdWxlKSwgdGhlIGV4dGVuc2lvblxuICogY29uZmlnIHN0b3JlcywgYW5kIHRoZSBpbXBsZW1lbnRlciB0b29scyBjb25maWcgc3RvcmUuXG4gKlxuICogVGhpcyBjb2RlIHNldHMgdXAgdGhlIHN1YnNjcmlwdGlvbnMgc28gdGhhdCB3aGVuIGFuIGlucHV0IHN0b3JlIGNoYW5nZXMsXG4gKiB0aGUgY29ycmVjdCBzZXQgb2Ygb3V0cHV0IHN0b3JlcyBhcmUgdXBkYXRlZC5cbiAqXG4gKiBBbGwgYGNvbXB1dGUuLi5gIGZ1bmN0aW9ucyBleGNlcHQgYGNvbXB1dGVFeHRlbnNpb25Db25maWdzYCBhcmUgcHVyZVxuICogKG9yIGFyZSBzdXBwb3NlZCB0byBiZSksIG90aGVyIHRoYW4gdGhlIGZhY3QgdGhhdCB0aGV5IGFsbCBgc2V0U3RhdGVgXG4gKiBzdG9yZSB2YWx1ZXMgYXQgdGhlIGVuZC4gYGNvbXB1dGVFeHRlbnNpb25Db25maWdzYCBjYWxscyBgZ2V0R2xvYmFsU3RvcmVgLFxuICogd2hpY2ggY3JlYXRlcyBzdG9yZXMuXG4gKi9cbmNvbXB1dGVNb2R1bGVDb25maWcoY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbmNvbmZpZ0ludGVybmFsU3RvcmUuc3Vic2NyaWJlKChjb25maWdTdGF0ZSkgPT4gY29tcHV0ZU1vZHVsZUNvbmZpZyhjb25maWdTdGF0ZSwgdGVtcG9yYXJ5Q29uZmlnU3RvcmUuZ2V0U3RhdGUoKSkpO1xudGVtcG9yYXJ5Q29uZmlnU3RvcmUuc3Vic2NyaWJlKCh0ZW1wQ29uZmlnU3RhdGUpID0+XG4gIGNvbXB1dGVNb2R1bGVDb25maWcoY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wQ29uZmlnU3RhdGUpLFxuKTtcblxuY29tcHV0ZUltcGxlbWVudGVyVG9vbHNDb25maWcoY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbmNvbmZpZ0ludGVybmFsU3RvcmUuc3Vic2NyaWJlKChjb25maWdTdGF0ZSkgPT5cbiAgY29tcHV0ZUltcGxlbWVudGVyVG9vbHNDb25maWcoY29uZmlnU3RhdGUsIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpLFxuKTtcbnRlbXBvcmFyeUNvbmZpZ1N0b3JlLnN1YnNjcmliZSgodGVtcENvbmZpZ1N0YXRlKSA9PlxuICBjb21wdXRlSW1wbGVtZW50ZXJUb29sc0NvbmZpZyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIHRlbXBDb25maWdTdGF0ZSksXG4pO1xuXG5jb21wdXRlRXh0ZW5zaW9uU2xvdENvbmZpZ3MoY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbmNvbmZpZ0ludGVybmFsU3RvcmUuc3Vic2NyaWJlKChjb25maWdTdGF0ZSkgPT5cbiAgY29tcHV0ZUV4dGVuc2lvblNsb3RDb25maWdzKGNvbmZpZ1N0YXRlLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKSxcbik7XG50ZW1wb3JhcnlDb25maWdTdG9yZS5zdWJzY3JpYmUoKHRlbXBDb25maWdTdGF0ZSkgPT5cbiAgY29tcHV0ZUV4dGVuc2lvblNsb3RDb25maWdzKGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgdGVtcENvbmZpZ1N0YXRlKSxcbik7XG5cbmNvbXB1dGVFeHRlbnNpb25Db25maWdzKFxuICBjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksXG4gIGNvbmZpZ0V4dGVuc2lvblN0b3JlLmdldFN0YXRlKCksXG4gIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCksXG4pO1xuY29uZmlnSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUoKGNvbmZpZ1N0YXRlKSA9PiB7XG4gIGNvbXB1dGVFeHRlbnNpb25Db25maWdzKGNvbmZpZ1N0YXRlLCBjb25maWdFeHRlbnNpb25TdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbn0pO1xuY29uZmlnRXh0ZW5zaW9uU3RvcmUuc3Vic2NyaWJlKChleHRlbnNpb25TdGF0ZSkgPT4ge1xuICBjb21wdXRlRXh0ZW5zaW9uQ29uZmlncyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIGV4dGVuc2lvblN0YXRlLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbn0pO1xudGVtcG9yYXJ5Q29uZmlnU3RvcmUuc3Vic2NyaWJlKCh0ZW1wQ29uZmlnU3RhdGUpID0+IHtcbiAgY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3MoY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpLCBjb25maWdFeHRlbnNpb25TdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wQ29uZmlnU3RhdGUpO1xufSk7XG5cbmZ1bmN0aW9uIGNvbXB1dGVNb2R1bGVDb25maWcoc3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsIHRlbXBTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUpIHtcbiAgZm9yIChsZXQgbW9kdWxlTmFtZSBvZiBPYmplY3Qua2V5cyhzdGF0ZS5zY2hlbWFzKSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZ0Zvck1vZHVsZShtb2R1bGVOYW1lLCBzdGF0ZSwgdGVtcFN0YXRlKTtcbiAgICBjb25zdCBtb2R1bGVTdG9yZSA9IGdldENvbmZpZ1N0b3JlKG1vZHVsZU5hbWUpO1xuICAgIG1vZHVsZVN0b3JlLnNldFN0YXRlKHsgbG9hZGVkOiB0cnVlLCBjb25maWcgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcHV0ZUV4dGVuc2lvblNsb3RDb25maWdzKHN0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLCB0ZW1wU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlKSB7XG4gIGNvbnN0IHNsb3RDb25maWdzID0gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ3Moc3RhdGUsIHRlbXBTdGF0ZSk7XG4gIGNvbnN0IG5ld1Nsb3RTdG9yZUVudHJpZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoc2xvdENvbmZpZ3MpLm1hcCgoW3Nsb3ROYW1lLCBjb25maWddKSA9PiBbc2xvdE5hbWUsIHsgbG9hZGVkOiB0cnVlLCBjb25maWcgfV0pLFxuICApO1xuICBjb25zdCBzbG90U3RvcmUgPSBnZXRFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlKCk7XG4gIGNvbnN0IG9sZFN0YXRlID0gc2xvdFN0b3JlLmdldFN0YXRlKCk7XG4gIGNvbnN0IG5ld1N0YXRlID0geyBzbG90czogeyAuLi5vbGRTdGF0ZS5zbG90cywgLi4ubmV3U2xvdFN0b3JlRW50cmllcyB9IH07XG4gIGlmICghZXF1YWxzKG9sZFN0YXRlLCBuZXdTdGF0ZSkpIHtcbiAgICBzbG90U3RvcmUuc2V0U3RhdGUobmV3U3RhdGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVJbXBsZW1lbnRlclRvb2xzQ29uZmlnKHN0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLCB0ZW1wQ29uZmlnU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlKSB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldEltcGxlbWVudGVyVG9vbHNDb25maWcoc3RhdGUsIHRlbXBDb25maWdTdGF0ZSk7XG4gIGltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZS5zZXRTdGF0ZSh7IGNvbmZpZyB9KTtcbn1cblxuZnVuY3Rpb24gY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3MoXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLFxuICBleHRlbnNpb25TdGF0ZTogQ29uZmlnRXh0ZW5zaW9uU3RvcmUsXG4gIHRlbXBDb25maWdTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUsXG4pIHtcbiAgY29uc3QgY29uZmlncyA9IHt9O1xuICBmb3IgKGxldCBleHRlbnNpb24gb2YgZXh0ZW5zaW9uU3RhdGUubW91bnRlZEV4dGVuc2lvbnMpIHtcbiAgICBjb25zdCBjb25maWcgPSBjb21wdXRlRXh0ZW5zaW9uQ29uZmlnKFxuICAgICAgZXh0ZW5zaW9uLnNsb3RNb2R1bGVOYW1lLFxuICAgICAgZXh0ZW5zaW9uLmV4dGVuc2lvbk1vZHVsZU5hbWUsXG4gICAgICBleHRlbnNpb24uc2xvdE5hbWUsXG4gICAgICBleHRlbnNpb24uZXh0ZW5zaW9uSWQsXG4gICAgICBjb25maWdTdGF0ZSxcbiAgICAgIHRlbXBDb25maWdTdGF0ZSxcbiAgICApO1xuICAgIGNvbmZpZ3NbZXh0ZW5zaW9uLnNsb3ROYW1lXSA9IHtcbiAgICAgIC4uLmNvbmZpZ3NbZXh0ZW5zaW9uLnNsb3ROYW1lXSxcbiAgICAgIFtleHRlbnNpb24uZXh0ZW5zaW9uSWRdOiB7IGNvbmZpZywgbG9hZGVkOiB0cnVlIH0sXG4gICAgfTtcbiAgfVxuICBnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUoKS5zZXRTdGF0ZSh7IGNvbmZpZ3MgfSk7XG59XG5cbi8qXG4gKiBBUElcbiAqXG4gKi9cblxuLyoqXG4gKiBUaGlzIGRlZmluZXMgYSBjb25maWd1cmF0aW9uIHNjaGVtYSBmb3IgYSBtb2R1bGUuIFRoZSBzY2hlbWEgdGVsbHMgdGhlXG4gKiBjb25maWd1cmF0aW9uIHN5c3RlbSBob3cgdGhlIG1vZHVsZSBjYW4gYmUgY29uZmlndXJlZC4gSXQgc3BlY2lmaWVzXG4gKiB3aGF0IG1ha2VzIGNvbmZpZ3VyYXRpb24gdmFsaWQgb3IgaW52YWxpZC5cbiAqXG4gKiBTZWUgW0NvbmZpZ3VyYXRpb24gU3lzdGVtXShodHRwczovL28zLWRvY3Mub3Blbm1ycy5vcmcvZG9jcy9jb25maWd1cmF0aW9uLXN5c3RlbSlcbiAqIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGRlZmluaW5nIGEgY29uZmlnIHNjaGVtYS5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSBOYW1lIG9mIHRoZSBtb2R1bGUgdGhlIHNjaGVtYSBpcyBiZWluZyBkZWZpbmVkIGZvci4gR2VuZXJhbGx5XG4gKiAgIHNob3VsZCBiZSB0aGUgb25lIGluIHdoaWNoIHRoZSBgZGVmaW5lQ29uZmlnU2NoZW1hYCBjYWxsIHRha2VzIHBsYWNlLlxuICogQHBhcmFtIHNjaGVtYSBUaGUgY29uZmlnIHNjaGVtYSBmb3IgdGhlIG1vZHVsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lQ29uZmlnU2NoZW1hKG1vZHVsZU5hbWU6IHN0cmluZywgc2NoZW1hOiBDb25maWdTY2hlbWEpIHtcbiAgdmFsaWRhdGVDb25maWdTY2hlbWEobW9kdWxlTmFtZSwgc2NoZW1hKTtcbiAgY29uc3QgZW5oYW5jZWRTY2hlbWEgPSBtZXJnZURlZXBSaWdodChzY2hlbWEsIGltcGxpY2l0Q29uZmlnU2NoZW1hKSBhcyBDb25maWdTY2hlbWE7XG5cbiAgY29uc3Qgc3RhdGUgPSBjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCk7XG4gIGNvbmZpZ0ludGVybmFsU3RvcmUuc2V0U3RhdGUoe1xuICAgIHNjaGVtYXM6IHsgLi4uc3RhdGUuc2NoZW1hcywgW21vZHVsZU5hbWVdOiBlbmhhbmNlZFNjaGVtYSB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBUaGlzIGRlZmluZXMgYSBjb25maWd1cmF0aW9uIHNjaGVtYSBmb3IgYW4gZXh0ZW5zaW9uLiBXaGVuIGEgc2NoZW1hIGlzIGRlZmluZWRcbiAqIGZvciBhbiBleHRlbnNpb24sIHRoYXQgZXh0ZW5zaW9uIHdpbGwgcmVjZWl2ZSB0aGUgY29uZmlndXJhdGlvbiBjb3JyZXNwb25kaW5nXG4gKiB0byB0aGF0IHNjaGVtYSwgcmF0aGVyIHRoYW4gdGhlIGNvbmZpZ3VyYXRpb24gY29ycmVzcG9uZGluZyB0byB0aGUgbW9kdWxlXG4gKiBpbiB3aGljaCBpdCBpcyBkZWZpbmVkLlxuICpcbiAqIFRoZSBzY2hlbWEgdGVsbHMgdGhlIGNvbmZpZ3VyYXRpb24gc3lzdGVtIGhvdyB0aGUgbW9kdWxlIGNhbiBiZSBjb25maWd1cmVkLlxuICogSXQgc3BlY2lmaWVzIHdoYXQgbWFrZXMgY29uZmlndXJhdGlvbiB2YWxpZCBvciBpbnZhbGlkLlxuICpcbiAqIFNlZSBbQ29uZmlndXJhdGlvbiBTeXN0ZW1dKGh0dHBzOi8vbzMtZG9jcy5vcGVubXJzLm9yZy9kb2NzL2NvbmZpZ3VyYXRpb24tc3lzdGVtKVxuICogZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZGVmaW5pbmcgYSBjb25maWcgc2NoZW1hLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25OYW1lIE5hbWUgb2YgdGhlIGV4dGVuc2lvbiB0aGUgc2NoZW1hIGlzIGJlaW5nIGRlZmluZWQgZm9yLlxuICogICBTaG91bGQgbWF0Y2ggdGhlIGBuYW1lYCBvZiBvbmUgb2YgdGhlIGBleHRlbnNpb25zYCBlbnRyaWVzIGJlaW5nIHJldHVybmVkXG4gKiAgIGJ5IGBzZXR1cE9wZW5NUlNgLlxuICogQHBhcmFtIHNjaGVtYSBUaGUgY29uZmlnIHNjaGVtYSBmb3IgdGhlIGV4dGVuc2lvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lRXh0ZW5zaW9uQ29uZmlnU2NoZW1hKGV4dGVuc2lvbk5hbWU6IHN0cmluZywgc2NoZW1hOiBDb25maWdTY2hlbWEpIHtcbiAgdmFsaWRhdGVDb25maWdTY2hlbWEoZXh0ZW5zaW9uTmFtZSwgc2NoZW1hKTtcbiAgY29uc3QgZW5oYW5jZWRTY2hlbWEgPSBtZXJnZURlZXBSaWdodChzY2hlbWEsIGltcGxpY2l0Q29uZmlnU2NoZW1hKSBhcyBDb25maWdTY2hlbWE7XG5cbiAgY29uc3Qgc3RhdGUgPSBjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCk7XG4gIGlmIChzdGF0ZS5zY2hlbWFzW2V4dGVuc2lvbk5hbWVdKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYENvbmZpZyBzY2hlbWEgZm9yIGV4dGVuc2lvbiAke2V4dGVuc2lvbk5hbWV9IGFscmVhZHkgZXhpc3RzLiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgZXh0ZW5zaW9ucyB3aXRoIHRoaXMgc2FtZSBuYW1lLCBvbmUgd2lsbCBwcm9iYWJseSBjcmFzaC5gLFxuICAgICk7XG4gIH1cblxuICBjb25maWdJbnRlcm5hbFN0b3JlLnNldFN0YXRlKHtcbiAgICBzY2hlbWFzOiB7IC4uLnN0YXRlLnNjaGVtYXMsIFtleHRlbnNpb25OYW1lXTogZW5oYW5jZWRTY2hlbWEgfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlKGNvbmZpZzogQ29uZmlnLCBzb3VyY2VOYW1lID0gJ3Byb3ZpZGVkJykge1xuICBjb25zdCBzdGF0ZSA9IGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uZmlnSW50ZXJuYWxTdG9yZS5zZXRTdGF0ZSh7XG4gICAgcHJvdmlkZWRDb25maWdzOiBbLi4uc3RhdGUucHJvdmlkZWRDb25maWdzLCB7IHNvdXJjZTogc291cmNlTmFtZSwgY29uZmlnIH1dLFxuICB9KTtcbn1cblxuLyoqXG4gKiBBIHByb21pc2UtYmFzZWQgd2F5IHRvIGFjY2VzcyB0aGUgY29uZmlnIGFzIHNvb24gYXMgaXQgaXMgZnVsbHkgbG9hZGVkLlxuICogSWYgaXQgaXMgYWxyZWFkeSBsb2FkZWQsIHJlc29sdmVzIHRoZSBjb25maWcgaW4gaXRzIHByZXNlbnQgc3RhdGUuXG4gKlxuICogVGhpcyBpcyBhIHVzZWZ1bCBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBnZXQgdGhlIGNvbmZpZyBpbiB0aGUgY291cnNlXG4gKiBvZiB0aGUgZXhlY3V0aW9uIG9mIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIG1vZHVsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSBmb3Igd2hpY2ggdG8gbG9vayB1cCB0aGUgY29uZmlnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcobW9kdWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxDb25maWc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPENvbmZpZz4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBzdG9yZSA9IGdldENvbmZpZ1N0b3JlKG1vZHVsZU5hbWUpO1xuICAgIGZ1bmN0aW9uIHVwZGF0ZShzdGF0ZTogQ29uZmlnU3RvcmUpIHtcbiAgICAgIGlmIChzdGF0ZS5sb2FkZWQgJiYgc3RhdGUuY29uZmlnKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IG9taXQoWydEaXNwbGF5IGNvbmRpdGlvbnMnLCAnVHJhbnNsYXRpb24gb3ZlcnJpZGVzJ10sIHN0YXRlLmNvbmZpZyk7XG4gICAgICAgIHJlc29sdmUoY29uZmlnKTtcbiAgICAgICAgdW5zdWJzY3JpYmUgJiYgdW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdXBkYXRlKHN0b3JlLmdldFN0YXRlKCkpO1xuICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gc3RvcmUuc3Vic2NyaWJlKHVwZGF0ZSk7XG4gIH0pO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnSW50ZXJuYWwobW9kdWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxDb25maWc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPENvbmZpZz4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBzdG9yZSA9IGdldENvbmZpZ1N0b3JlKG1vZHVsZU5hbWUpO1xuICAgIGZ1bmN0aW9uIHVwZGF0ZShzdGF0ZTogQ29uZmlnU3RvcmUpIHtcbiAgICAgIGlmIChzdGF0ZS5sb2FkZWQgJiYgc3RhdGUuY29uZmlnKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHN0YXRlLmNvbmZpZztcbiAgICAgICAgcmVzb2x2ZShjb25maWcpO1xuICAgICAgICB1bnN1YnNjcmliZSAmJiB1bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB1cGRhdGUoc3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBzdG9yZS5zdWJzY3JpYmUodXBkYXRlKTtcbiAgfSk7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYW5kIGludGVycG9sYXRlIGRlZmF1bHRzIGZvciBgcHJvdmlkZWRDb25maWdgIGFjY29yZGluZyB0byBgc2NoZW1hYFxuICpcbiAqIEBwYXJhbSBzY2hlbWEgIGEgY29uZmlndXJhdGlvbiBzY2hlbWFcbiAqIEBwYXJhbSBwcm92aWRlZENvbmZpZyAgYW4gb2JqZWN0IG9mIGNvbmZpZyB2YWx1ZXMgKHdpdGhvdXQgdGhlIHRvcC1sZXZlbCBtb2R1bGUgbmFtZSlcbiAqIEBwYXJhbSBrZXlQYXRoQ29udGV4dCAgYSBkb3QtZGVwYXJhdGVkIHN0cmluZyB3aGljaCBoZWxwcyB0aGUgdXNlciBmaWd1cmUgb3V0IHdoZXJlXG4gKiAgICAgdGhlIHByb3ZpZGVkIGNvbmZpZyBjYW1lIGZyb21cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0NvbmZpZyhzY2hlbWE6IENvbmZpZ1NjaGVtYSwgcHJvdmlkZWRDb25maWc6IENvbmZpZ09iamVjdCwga2V5UGF0aENvbnRleHQ6IHN0cmluZykge1xuICB2YWxpZGF0ZVN0cnVjdHVyZShzY2hlbWEsIHByb3ZpZGVkQ29uZmlnLCBrZXlQYXRoQ29udGV4dCk7XG4gIGNvbnN0IGNvbmZpZyA9IHNldERlZmF1bHRzKHNjaGVtYSwgcHJvdmlkZWRDb25maWcpO1xuICBydW5BbGxWYWxpZGF0b3JzSW5Db25maWdUcmVlKHNjaGVtYSwgY29uZmlnLCBrZXlQYXRoQ29udGV4dCk7XG4gIHJldHVybiBjb25maWc7XG59XG5cbi8qXG4gKiBIZWxwZXIgZnVuY3Rpb25zXG4gKlxuICovXG5cbi8qKlxuICogUmV0dXJucyB0aGUgY29uZmlndXJhdGlvbiBmb3IgYW4gZXh0ZW5zaW9uLiBUaGlzIGNvbmZpZ3VyYXRpb24gaXMgc3BlY2lmaWNcbiAqIHRvIHRoZSBzbG90IGluIHdoaWNoIGl0IGlzIG1vdW50ZWQsIGFuZCBpdHMgSUQgd2l0aGluIHRoYXQgc2xvdC5cbiAqXG4gKiBUaGUgc2NoZW1hIGZvciB0aGF0IGNvbmZpZ3VyYXRpb24gaXMgdGhlIGV4dGVuc2lvbiBzY2hlbWEuIElmIG5vIGV4dGVuc2lvblxuICogc2NoZW1hIGhhcyBiZWVuIHByb3ZpZGVkLCB0aGUgc2NoZW1hIHVzZWQgaXMgdGhlIHNjaGVtYSBvZiB0aGUgbW9kdWxlIGluXG4gKiB3aGljaCB0aGUgZXh0ZW5zaW9uIGlzIGRlZmluZWQuXG4gKlxuICogQHBhcmFtIHNsb3RNb2R1bGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgd2hpY2ggZGVmaW5lcyB0aGUgZXh0ZW5zaW9uIHNsb3RcbiAqIEBwYXJhbSBleHRlbnNpb25Nb2R1bGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgd2hpY2ggZGVmaW5lcyB0aGUgZXh0ZW5zaW9uIChhbmQgdGhlcmVmb3JlIHRoZSBjb25maWcgc2NoZW1hKVxuICogQHBhcmFtIHNsb3ROYW1lIFRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb24gc2xvdCB3aGVyZSB0aGUgZXh0ZW5zaW9uIGlzIG1vdW50ZWRcbiAqIEBwYXJhbSBleHRlbnNpb25JZCBUaGUgSUQgb2YgdGhlIGV4dGVuc2lvbiBpbiBpdHMgc2xvdFxuICovXG5mdW5jdGlvbiBjb21wdXRlRXh0ZW5zaW9uQ29uZmlnKFxuICBzbG90TW9kdWxlTmFtZTogc3RyaW5nLFxuICBleHRlbnNpb25Nb2R1bGVOYW1lOiBzdHJpbmcsXG4gIHNsb3ROYW1lOiBzdHJpbmcsXG4gIGV4dGVuc2lvbklkOiBzdHJpbmcsXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLFxuICB0ZW1wQ29uZmlnU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlLFxuKSB7XG4gIGNvbnN0IGV4dGVuc2lvbk5hbWUgPSBnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGV4dGVuc2lvbklkKTtcbiAgY29uc3QgZXh0ZW5zaW9uQ29uZmlnU2NoZW1hID0gY29uZmlnU3RhdGUuc2NoZW1hc1tleHRlbnNpb25OYW1lXTtcbiAgY29uc3QgbmFtZU9mU2NoZW1hU291cmNlID0gZXh0ZW5zaW9uQ29uZmlnU2NoZW1hID8gZXh0ZW5zaW9uTmFtZSA6IGV4dGVuc2lvbk1vZHVsZU5hbWU7XG4gIGNvbnN0IHByb3ZpZGVkQ29uZmlncyA9IGdldFByb3ZpZGVkQ29uZmlncyhjb25maWdTdGF0ZSwgdGVtcENvbmZpZ1N0YXRlKTtcbiAgY29uc3Qgc2xvdE1vZHVsZUNvbmZpZyA9IG1lcmdlQ29uZmlnc0ZvcihzbG90TW9kdWxlTmFtZSwgcHJvdmlkZWRDb25maWdzKTtcbiAgY29uc3QgY29uZmlnT3ZlcnJpZGUgPSBzbG90TW9kdWxlQ29uZmlnPy5leHRlbnNpb25TbG90cz8uW3Nsb3ROYW1lXT8uY29uZmlndXJlPy5bZXh0ZW5zaW9uSWRdID8/IHt9O1xuICBjb25zdCBleHRlbnNpb25Db25maWcgPSBtZXJnZUNvbmZpZ3NGb3IobmFtZU9mU2NoZW1hU291cmNlLCBwcm92aWRlZENvbmZpZ3MpO1xuICBjb25zdCBjb21iaW5lZENvbmZpZyA9IG1lcmdlQ29uZmlncyhbZXh0ZW5zaW9uQ29uZmlnLCBjb25maWdPdmVycmlkZV0pO1xuICAvLyBUT0RPOiB2YWxpZGF0ZSB0aGF0IGEgc2NoZW1hIGV4aXN0cyBmb3IgdGhlIG1vZHVsZVxuICBjb25zdCBzY2hlbWEgPSBleHRlbnNpb25Db25maWdTY2hlbWEgPz8gY29uZmlnU3RhdGUuc2NoZW1hc1tleHRlbnNpb25Nb2R1bGVOYW1lXTtcbiAgdmFsaWRhdGVTdHJ1Y3R1cmUoc2NoZW1hLCBjb21iaW5lZENvbmZpZywgbmFtZU9mU2NoZW1hU291cmNlKTtcbiAgY29uc3QgY29uZmlnID0gc2V0RGVmYXVsdHMoc2NoZW1hLCBjb21iaW5lZENvbmZpZyk7XG4gIHJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUoc2NoZW1hLCBjb25maWcsIG5hbWVPZlNjaGVtYVNvdXJjZSk7XG4gIGRlbGV0ZSBjb25maWcuZXh0ZW5zaW9uU2xvdHM7XG4gIHJldHVybiBjb25maWc7XG59XG5cbmZ1bmN0aW9uIGdldEltcGxlbWVudGVyVG9vbHNDb25maWcoXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLFxuICB0ZW1wQ29uZmlnU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlLFxuKTogUmVjb3JkPHN0cmluZywgQ29uZmlnPiB7XG4gIGxldCByZXN1bHQgPSBnZXRTY2hlbWFXaXRoVmFsdWVzQW5kU291cmNlcyhjbG9uZShjb25maWdTdGF0ZS5zY2hlbWFzKSk7XG4gIGNvbnN0IGNvbmZpZ3NBbmRTb3VyY2VzID0gW1xuICAgIC4uLmNvbmZpZ1N0YXRlLnByb3ZpZGVkQ29uZmlncy5tYXAoKGMpID0+IFtjLmNvbmZpZywgYy5zb3VyY2VdKSxcbiAgICBbdGVtcENvbmZpZ1N0YXRlLmNvbmZpZywgJ3RlbXBvcmFyeSBjb25maWcnXSxcbiAgXSBhcyBBcnJheTxbQ29uZmlnLCBzdHJpbmddPjtcbiAgZm9yIChsZXQgW2NvbmZpZywgc291cmNlXSBvZiBjb25maWdzQW5kU291cmNlcykge1xuICAgIHJlc3VsdCA9IG1lcmdlQ29uZmlncyhbcmVzdWx0LCBjcmVhdGVWYWx1ZXNBbmRTb3VyY2VzVHJlZShjb25maWcsIHNvdXJjZSldKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBnZXRTY2hlbWFXaXRoVmFsdWVzQW5kU291cmNlcyhzY2hlbWEpIHtcbiAgaWYgKHNjaGVtYS5oYXNPd25Qcm9wZXJ0eSgnX2RlZmF1bHQnKSkge1xuICAgIHJldHVybiB7IC4uLnNjaGVtYSwgX3ZhbHVlOiBzY2hlbWEuX2RlZmF1bHQsIF9zb3VyY2U6ICdkZWZhdWx0JyB9O1xuICB9IGVsc2UgaWYgKGlzT3JkaW5hcnlPYmplY3Qoc2NoZW1hKSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhzY2hlbWEpLnJlZHVjZSgob2JqLCBrZXkpID0+IHtcbiAgICAgIG9ialtrZXldID0gZ2V0U2NoZW1hV2l0aFZhbHVlc0FuZFNvdXJjZXMoc2NoZW1hW2tleV0pO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gYXQgdGhpcyBwb2ludCwgdGhlIHNjaGVtYSBpcyBiYWQgYW5kIGFuIGVycm9yIHdpbGwgaGF2ZSBiZWVuIGxvZ2dlZCBkdXJpbmcgc2NoZW1hIHZhbGlkYXRpb25cbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlVmFsdWVzQW5kU291cmNlc1RyZWUoY29uZmlnOiBDb25maWdPYmplY3QsIHNvdXJjZTogc3RyaW5nKSB7XG4gIGlmIChpc09yZGluYXJ5T2JqZWN0KGNvbmZpZykpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoY29uZmlnKS5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG4gICAgICBvYmpba2V5XSA9IGNyZWF0ZVZhbHVlc0FuZFNvdXJjZXNUcmVlKGNvbmZpZ1trZXldLCBzb3VyY2UpO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgX3ZhbHVlOiBjb25maWcsIF9zb3VyY2U6IHNvdXJjZSB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEV4dGVuc2lvblNsb3RDb25maWdzKFxuICBjb25maWdTdGF0ZTogQ29uZmlnSW50ZXJuYWxTdG9yZSxcbiAgdGVtcENvbmZpZ1N0YXRlOiBUZW1wb3JhcnlDb25maWdTdG9yZSxcbik6IFJlY29yZDxzdHJpbmcsIEV4dGVuc2lvblNsb3RDb25maWdPYmplY3Q+IHtcbiAgY29uc3QgYWxsQ29uZmlncyA9IG1lcmdlQ29uZmlncyhnZXRQcm92aWRlZENvbmZpZ3MoY29uZmlnU3RhdGUsIHRlbXBDb25maWdTdGF0ZSkpO1xuICBjb25zdCBzbG90Q29uZmlnUGVyTW9kdWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFeHRlbnNpb25TbG90Q29uZmlnPj4gPSBPYmplY3Qua2V5cyhhbGxDb25maWdzKS5yZWR1Y2UoXG4gICAgKG9iaiwga2V5KSA9PiB7XG4gICAgICBpZiAoYWxsQ29uZmlnc1trZXldPy5leHRlbnNpb25TbG90cykge1xuICAgICAgICBvYmpba2V5XSA9IGFsbENvbmZpZ3Nba2V5XT8uZXh0ZW5zaW9uU2xvdHM7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sXG4gICAge30sXG4gICk7XG4gIHZhbGlkYXRlQWxsRXh0ZW5zaW9uU2xvdENvbmZpZ3Moc2xvdENvbmZpZ1Blck1vZHVsZSk7XG4gIGNvbnN0IHNsb3RDb25maWdzID0gT2JqZWN0LmtleXMoc2xvdENvbmZpZ1Blck1vZHVsZSkucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgIG9iaiA9IHsgLi4ub2JqLCAuLi5zbG90Q29uZmlnUGVyTW9kdWxlW2tleV0gfTtcbiAgICByZXR1cm4gb2JqO1xuICB9LCB7fSk7XG4gIHJldHVybiBzbG90Q29uZmlncztcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBbGxFeHRlbnNpb25TbG90Q29uZmlncyhzbG90Q29uZmlnUGVyTW9kdWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFeHRlbnNpb25TbG90Q29uZmlnPj4pIHtcbiAgZm9yIChsZXQgW21vZHVsZU5hbWUsIGNvbmZpZ0J5U2xvdE5hbWVdIG9mIE9iamVjdC5lbnRyaWVzKHNsb3RDb25maWdQZXJNb2R1bGUpKSB7XG4gICAgZm9yIChsZXQgW3Nsb3ROYW1lLCBjb25maWddIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZ0J5U2xvdE5hbWUpKSB7XG4gICAgICB2YWxpZGF0ZUV4dGVuc2lvblNsb3RDb25maWcoY29uZmlnLCBtb2R1bGVOYW1lLCBzbG90TmFtZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXh0ZW5zaW9uU2xvdENvbmZpZyhjb25maWc6IEV4dGVuc2lvblNsb3RDb25maWcsIG1vZHVsZU5hbWU6IHN0cmluZywgc2xvdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBlcnJvclByZWZpeCA9IGBFeHRlbnNpb24gc2xvdCBjb25maWcgJyR7bW9kdWxlTmFtZX0uZXh0ZW5zaW9uU2xvdHMuJHtzbG90TmFtZX1gO1xuICBjb25zdCBpbnZhbGlkS2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykuZmlsdGVyKChrKSA9PiAhWydhZGQnLCAncmVtb3ZlJywgJ29yZGVyJywgJ2NvbmZpZ3VyZSddLmluY2x1ZGVzKGspKTtcbiAgaWYgKGludmFsaWRLZXlzLmxlbmd0aCkge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JQcmVmaXggKyBgJyBjb250YWlucyBpbnZhbGlkIGtleXMgJyR7aW52YWxpZEtleXMuam9pbihcIicsICdcIil9J2ApO1xuICB9XG4gIGlmIChjb25maWcuYWRkKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbmZpZy5hZGQpIHx8ICFjb25maWcuYWRkLmV2ZXJ5KChuKSA9PiB0eXBlb2YgbiA9PT0gJ3N0cmluZycpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yUHJlZml4ICsgYC5hZGQnIGlzIGludmFsaWQuIE11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyAoZXh0ZW5zaW9uIElEcylgKTtcbiAgICB9XG4gIH1cbiAgaWYgKGNvbmZpZy5yZW1vdmUpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlnLnJlbW92ZSkgfHwgIWNvbmZpZy5yZW1vdmUuZXZlcnkoKG4pID0+IHR5cGVvZiBuID09PSAnc3RyaW5nJykpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JQcmVmaXggKyBgLnJlbW92ZScgaXMgaW52YWxpZC4gTXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIChleHRlbnNpb24gSURzKWApO1xuICAgIH1cbiAgfVxuICBpZiAoY29uZmlnLm9yZGVyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbmZpZy5vcmRlcikgfHwgIWNvbmZpZy5vcmRlci5ldmVyeSgobikgPT4gdHlwZW9mIG4gPT09ICdzdHJpbmcnKSkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvclByZWZpeCArIGAub3JkZXInIGlzIGludmFsaWQuIE11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyAoZXh0ZW5zaW9uIElEcylgKTtcbiAgICB9XG4gIH1cbiAgaWYgKGNvbmZpZy5jb25maWd1cmUpIHtcbiAgICBpZiAoIWlzT3JkaW5hcnlPYmplY3QoY29uZmlnLmNvbmZpZ3VyZSkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JQcmVmaXggKyBgLmNvbmZpZ3VyZScgaXMgaW52YWxpZC4gTXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBleHRlbnNpb24gSURzIGZvciBrZXlzYCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFByb3ZpZGVkQ29uZmlncyhjb25maWdTdGF0ZTogQ29uZmlnSW50ZXJuYWxTdG9yZSwgdGVtcENvbmZpZ1N0YXRlOiBUZW1wb3JhcnlDb25maWdTdG9yZSk6IEFycmF5PENvbmZpZz4ge1xuICByZXR1cm4gWy4uLmNvbmZpZ1N0YXRlLnByb3ZpZGVkQ29uZmlncy5tYXAoKGMpID0+IGMuY29uZmlnKSwgdGVtcENvbmZpZ1N0YXRlLmNvbmZpZ107XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ29uZmlnU2NoZW1hKG1vZHVsZU5hbWU6IHN0cmluZywgc2NoZW1hOiBDb25maWdTY2hlbWEsIGtleVBhdGggPSAnJykge1xuICBjb25zdCB1cGRhdGVNZXNzYWdlID0gYFBsZWFzZSB2ZXJpZnkgdGhhdCB5b3UgYXJlIHJ1bm5pbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIGFuZCwgaWYgc28sIGFsZXJ0IHRoZSBtYWludGFpbmVyLmA7XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc2NoZW1hKS5maWx0ZXIoKGspID0+ICFrLnN0YXJ0c1dpdGgoJ18nKSkpIHtcbiAgICBjb25zdCB0aGlzS2V5UGF0aCA9IGtleVBhdGggKyAoa2V5UGF0aCAmJiAnLicpICsga2V5O1xuICAgIGNvbnN0IHNjaGVtYVBhcnQgPSBzY2hlbWFba2V5XSBhcyBDb25maWdTY2hlbWE7XG5cbiAgICBpZiAodGhpc0tleVBhdGggPT09ICdEaXNwbGF5IGNvbmRpdGlvbnMnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgJHttb2R1bGVOYW1lfSBkZWNsYXJlcyBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGNhbGxlZCBcIkRpc3BsYXkgY29uZGl0aW9uc1wiOyB0aGUgXCJEaXNwbGF5IGNvbmRpdGlvbnNcIiBvcHRpb24gaXMgYSByZXNlcnZlZCBuYW1lLiAke3VwZGF0ZU1lc3NhZ2V9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXNLZXlQYXRoID09PSAnVHJhbnNsYXRpb24gb3ZlcnJpZGVzJykge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYCR7bW9kdWxlTmFtZX0gZGVjbGFyZXMgYSBjb25maWd1cmF0aW9uIG9wdGlvbiBjYWxsZWQgXCJUcmFuc2xhdGlvbiBvdmVycmlkZXNcIjsgdGhlIFwiVHJhbnNsYXRpb24gb3ZlcnJpZGVzXCIgb3B0aW9uIGlzIGEgcmVzZXJ2ZWQgbmFtZS4gJHt1cGRhdGVNZXNzYWdlfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghaXNPcmRpbmFyeU9iamVjdChzY2hlbWFQYXJ0KSkge1xuICAgICAgY29uc29sZS5lcnJvcihgJHttb2R1bGVOYW1lfSBoYXMgYmFkIGNvbmZpZyBzY2hlbWEgZGVmaW5pdGlvbiBmb3Iga2V5ICcke3RoaXNLZXlQYXRofScuICR7dXBkYXRlTWVzc2FnZX1gKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghc2NoZW1hUGFydC5oYXNPd25Qcm9wZXJ0eSgnX2RlZmF1bHQnKSkge1xuICAgICAgLy8gcmVjdXJzZSBmb3IgbmVzdGVkIGNvbmZpZyBrZXlzXG4gICAgICB2YWxpZGF0ZUNvbmZpZ1NjaGVtYShtb2R1bGVOYW1lLCBzY2hlbWFQYXJ0LCB0aGlzS2V5UGF0aCk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudHMgPSBzY2hlbWFQYXJ0Ll9lbGVtZW50cztcbiAgICBpZiAoaGFzT2JqZWN0U2NoZW1hKGVsZW1lbnRzKSkge1xuICAgICAgdmFsaWRhdGVDb25maWdTY2hlbWEobW9kdWxlTmFtZSwgZWxlbWVudHMsIHRoaXNLZXlQYXRoICsgJy5fZWxlbWVudHMnKTtcbiAgICB9XG5cbiAgICBpZiAoc2NoZW1hUGFydC5fdmFsaWRhdG9ycykge1xuICAgICAgZm9yIChsZXQgdmFsaWRhdG9yIG9mIHNjaGVtYVBhcnQuX3ZhbGlkYXRvcnMpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYCR7bW9kdWxlTmFtZX0gaGFzIGludmFsaWQgdmFsaWRhdG9yIGZvciBrZXkgJyR7dGhpc0tleVBhdGh9JyAke3VwZGF0ZU1lc3NhZ2V9LmAgK1xuICAgICAgICAgICAgICBgXFxuXFxuSWYgeW91J3JlIHRoZSBtYWludGFpbmVyOiB2YWxpZGF0b3JzIG11c3QgYmUgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGVpdGhlciBgICtcbiAgICAgICAgICAgICAgYHVuZGVmaW5lZCBvciBhbiBlcnJvciBzdHJpbmcuIFJlY2VpdmVkICR7dmFsaWRhdG9yfS5gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSBzY2hlbWFQYXJ0Ll90eXBlO1xuICAgIGlmICh2YWx1ZVR5cGUgJiYgIU9iamVjdC52YWx1ZXMoVHlwZSkuaW5jbHVkZXModmFsdWVUeXBlKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYCR7bW9kdWxlTmFtZX0gaGFzIGludmFsaWQgdHlwZSBmb3Iga2V5ICcke3RoaXNLZXlQYXRofScgJHt1cGRhdGVNZXNzYWdlfS5gICtcbiAgICAgICAgICBgXFxuXFxuSWYgeW91J3JlIHRoZSBtYWludGFpbmVyOiB0aGUgYWxsb3dlZCB0eXBlcyBhcmUgJHtPYmplY3QudmFsdWVzKFR5cGUpLmpvaW4oJywgJyl9LiBgICtcbiAgICAgICAgICBgUmVjZWl2ZWQgJyR7dmFsdWVUeXBlfSdgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBPYmplY3Qua2V5cyhzY2hlbWFQYXJ0KS5ldmVyeSgoaykgPT4gWydfZGVzY3JpcHRpb24nLCAnX3ZhbGlkYXRvcnMnLCAnX2VsZW1lbnRzJywgJ190eXBlJ10uaW5jbHVkZXMoaykpICYmXG4gICAgICAha2V5UGF0aC5pbmNsdWRlcygnLl9lbGVtZW50cycpXG4gICAgKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgJHttb2R1bGVOYW1lfSBoYXMgYmFkIGNvbmZpZyBzY2hlbWEgZGVmaW5pdGlvbiBmb3Iga2V5ICcke3RoaXNLZXlQYXRofScuICR7dXBkYXRlTWVzc2FnZX0uYCArXG4gICAgICAgICAgYFxcblxcbklmIHlvdSdyZSB0aGUgbWFpbnRhaW5lcjogYWxsIGNvbmZpZyBlbGVtZW50cyBtdXN0IGhhdmUgYSBkZWZhdWx0LiBgICtcbiAgICAgICAgICBgUmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeShzY2hlbWFQYXJ0KX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudHMgJiYgdmFsdWVUeXBlICYmICFbVHlwZS5BcnJheSwgVHlwZS5PYmplY3RdLmluY2x1ZGVzKHZhbHVlVHlwZSkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGAke21vZHVsZU5hbWV9IGhhcyBiYWQgY29uZmlnIHNjaGVtYSBkZWZpbml0aW9uIGZvciBrZXkgJyR7dGhpc0tleVBhdGh9Jy4gJHt1cGRhdGVNZXNzYWdlfS5gICtcbiAgICAgICAgICBgXFxuXFxuSWYgeW91J3JlIHRoZSBtYWludGFpbmVyOiB0aGUgJ2VsZW1lbnRzJyBrZXkgb25seSB3b3JrcyB3aXRoICdfdHlwZScgZXF1YWwgdG8gJ0FycmF5JyBvciAnT2JqZWN0Jy4gYCArXG4gICAgICAgICAgYFJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkodmFsdWVUeXBlKX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Q29uZmlnRm9yTW9kdWxlKFxuICBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLFxuICB0ZW1wQ29uZmlnU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlLFxuKTogQ29uZmlnT2JqZWN0IHtcbiAgaWYgKCFjb25maWdTdGF0ZS5zY2hlbWFzLmhhc093blByb3BlcnR5KG1vZHVsZU5hbWUpKSB7XG4gICAgdGhyb3cgRXJyb3IoJ05vIGNvbmZpZyBzY2hlbWEgaGFzIGJlZW4gZGVmaW5lZCBmb3IgJyArIG1vZHVsZU5hbWUpO1xuICB9XG5cbiAgY29uc3Qgc2NoZW1hID0gY29uZmlnU3RhdGUuc2NoZW1hc1ttb2R1bGVOYW1lXTtcbiAgY29uc3QgaW5wdXRDb25maWcgPSBtZXJnZUNvbmZpZ3NGb3IobW9kdWxlTmFtZSwgZ2V0UHJvdmlkZWRDb25maWdzKGNvbmZpZ1N0YXRlLCB0ZW1wQ29uZmlnU3RhdGUpKTtcbiAgdmFsaWRhdGVTdHJ1Y3R1cmUoc2NoZW1hLCBpbnB1dENvbmZpZywgbW9kdWxlTmFtZSk7XG4gIGNvbnN0IGNvbmZpZyA9IHNldERlZmF1bHRzKHNjaGVtYSwgaW5wdXRDb25maWcpO1xuICBydW5BbGxWYWxpZGF0b3JzSW5Db25maWdUcmVlKHNjaGVtYSwgY29uZmlnLCBtb2R1bGVOYW1lKTtcbiAgZGVsZXRlIGNvbmZpZy5leHRlbnNpb25TbG90cztcbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZnVuY3Rpb24gbWVyZ2VDb25maWdzRm9yKG1vZHVsZU5hbWU6IHN0cmluZywgYWxsQ29uZmlnczogQXJyYXk8Q29uZmlnPik6IENvbmZpZ09iamVjdCB7XG4gIGNvbnN0IGFsbENvbmZpZ3NGb3JNb2R1bGUgPSBhbGxDb25maWdzLm1hcCgoeyBbbW9kdWxlTmFtZV06IGMgfSkgPT4gYykuZmlsdGVyKChjKSA9PiAhIWMpO1xuXG4gIHJldHVybiBtZXJnZUNvbmZpZ3MoYWxsQ29uZmlnc0Zvck1vZHVsZSk7XG59XG5cbmZ1bmN0aW9uIG1lcmdlQ29uZmlncyhjb25maWdzOiBBcnJheTxDb25maWc+KSB7XG4gIGNvbnN0IG1lcmdlRGVlcEFsbCA9IHJlZHVjZShtZXJnZURlZXBSaWdodCk7XG4gIHJldHVybiBtZXJnZURlZXBBbGwoe30sIGNvbmZpZ3MpIGFzIENvbmZpZztcbn1cblxuLyoqXG4gKiBSZWN1cnNpdmVseSBjaGVjayB0aGUgcHJvdmlkZWQgY29uZmlnIHRyZWUgdG8gbWFrZSBzdXJlIHRoYXQgYWxsXG4gKiBvZiB0aGUgcHJvdmlkZWQgcHJvcGVydGllcyBleGlzdCBpbiB0aGUgc2NoZW1hLCBhbmQgdGhhdCB0eXBlcyBhcmVcbiAqIGNvcnJlY3QuIERvZXMgbm90IHJ1biB2YWxpZGF0b3JzIHlldCwgc2luY2UgdGhvc2Ugd2lsbCBiZSBydW4gb25cbiAqIHRoZSBjb25maWcgd2l0aCB0aGUgZGVmYXVsdHMgZmlsbGVkIGluLlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZVN0cnVjdHVyZShzY2hlbWE6IENvbmZpZ1NjaGVtYSwgY29uZmlnOiBDb25maWdPYmplY3QsIGtleVBhdGggPSAnJykge1xuICAvLyB2YWxpZGF0ZSBlYWNoIGNvbnN0aXR1ZW50IGVsZW1lbnRcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoY29uZmlnKSkge1xuICAgIGNvbnN0IHZhbHVlID0gY29uZmlnW2tleV07XG4gICAgY29uc3QgdGhpc0tleVBhdGggPSBrZXlQYXRoICsgJy4nICsga2V5O1xuICAgIGNvbnN0IHNjaGVtYVBhcnQgPSBzY2hlbWFba2V5XSBhcyBDb25maWdTY2hlbWE7XG5cbiAgICBpZiAoIXNjaGVtYS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICBpZiAoIShrZXkgPT09ICdleHRlbnNpb25TbG90cycgJiYga2V5UGF0aCAhPT0gJycpKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFVua25vd24gY29uZmlnIGtleSAnJHt0aGlzS2V5UGF0aH0nIHByb3ZpZGVkLiBJZ25vcmluZy5gKTtcbiAgICAgIH1cblxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdmFsaWRhdGVCcmFuY2hTdHJ1Y3R1cmUoc2NoZW1hUGFydCwgdmFsdWUsIHRoaXNLZXlQYXRoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUJyYW5jaFN0cnVjdHVyZShzY2hlbWFQYXJ0OiBDb25maWdTY2hlbWEsIHZhbHVlOiBhbnksIGtleVBhdGg6IHN0cmluZykge1xuICBjaGVja1R5cGUoa2V5UGF0aCwgc2NoZW1hUGFydC5fdHlwZSwgdmFsdWUpO1xuXG4gIGlmIChpc09yZGluYXJ5T2JqZWN0KHZhbHVlKSkge1xuICAgIC8vIHN0cnVjdHVyYWxseSB2YWxpZGF0ZSBvbmx5IGlmIHRoZXJlJ3MgZWxlbWVudHMgc3BlY2lmaWVkXG4gICAgLy8gb3IgdGhlcmUncyBubyBgX2RlZmF1bHRgIHZhbHVlICh3aGljaCB3b3VsZCBpbmRpY2F0ZSBhIGZyZWVmb3JtIG9iamVjdClcbiAgICBpZiAoc2NoZW1hUGFydC5fdHlwZSA9PT0gVHlwZS5PYmplY3QpIHtcbiAgICAgIHZhbGlkYXRlRGljdGlvbmFyeVN0cnVjdHVyZShzY2hlbWFQYXJ0LCB2YWx1ZSwga2V5UGF0aCk7XG4gICAgfSBlbHNlIGlmICghc2NoZW1hUGFydC5oYXNPd25Qcm9wZXJ0eSgnX2RlZmF1bHQnKSkge1xuICAgICAgLy8gcmVjdXJzZSB0byB2YWxpZGF0ZSBuZXN0ZWQgb2JqZWN0IHN0cnVjdHVyZVxuICAgICAgdmFsaWRhdGVTdHJ1Y3R1cmUoc2NoZW1hUGFydCwgdmFsdWUsIGtleVBhdGgpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoc2NoZW1hUGFydC5fdHlwZSA9PT0gVHlwZS5BcnJheSkge1xuICAgICAgdmFsaWRhdGVBcnJheVN0cnVjdHVyZShzY2hlbWFQYXJ0LCB2YWx1ZSwga2V5UGF0aCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRGljdGlvbmFyeVN0cnVjdHVyZShkaWN0aW9uYXJ5U2NoZW1hOiBDb25maWdTY2hlbWEsIGNvbmZpZzogQ29uZmlnT2JqZWN0LCBrZXlQYXRoOiBzdHJpbmcpIHtcbiAgaWYgKGRpY3Rpb25hcnlTY2hlbWEuX2VsZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoY29uZmlnKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBjb25maWdba2V5XTtcbiAgICAgIHZhbGlkYXRlU3RydWN0dXJlKGRpY3Rpb25hcnlTY2hlbWEuX2VsZW1lbnRzLCB2YWx1ZSwgYCR7a2V5UGF0aH0uJHtrZXl9YCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQXJyYXlTdHJ1Y3R1cmUoYXJyYXlTY2hlbWE6IENvbmZpZ1NjaGVtYSwgdmFsdWU6IENvbmZpZ09iamVjdCwga2V5UGF0aDogc3RyaW5nKSB7XG4gIC8vIGlmIHRoZXJlIGlzIGFuIGFycmF5IGVsZW1lbnQgb2JqZWN0IHNjaGVtYSwgdmVyaWZ5IHRoYXQgZWxlbWVudHMgbWF0Y2ggaXRcbiAgaWYgKGhhc09iamVjdFNjaGVtYShhcnJheVNjaGVtYS5fZWxlbWVudHMpKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgdmFsaWRhdGVCcmFuY2hTdHJ1Y3R1cmUoYXJyYXlTY2hlbWEuX2VsZW1lbnRzLCB2YWx1ZVtpXSwgYCR7a2V5UGF0aH1bJHtpfV1gKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgY2hlY2tUeXBlKGAke2tleVBhdGh9WyR7aX1dYCwgYXJyYXlTY2hlbWEuX2VsZW1lbnRzPy5fdHlwZSwgdmFsdWVbaV0pO1xuICB9XG59XG5cbi8qKlxuICogUnVuIGFsbCB0aGUgdmFsaWRhdG9ycyBpbiB0aGUgY29uZmlnIHRyZWUuIFRoaXMgc2hvdWxkIGJlIHJ1blxuICogb24gdGhlIGNvbmZpZyBvYmplY3QgYWZ0ZXIgaXQgaGFzIGJlZW4gZmlsbGVkIGluIHdpdGggYWxsIHRoZSBkZWZhdWx0cywgc2luY2VcbiAqIGhpZ2hlci1sZXZlbCB2YWxpZGF0b3JzIG1heSByZWZlciB0byBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gcnVuQWxsVmFsaWRhdG9yc0luQ29uZmlnVHJlZShzY2hlbWE6IENvbmZpZ1NjaGVtYSwgY29uZmlnOiBDb25maWdPYmplY3QsIGtleVBhdGggPSAnJykge1xuICAvLyBJZiBgIXNjaGVtYWAsIHRoZXJlIHNob3VsZCBoYXZlIGJlZW4gYSBzdHJ1Y3R1cmFsIHZhbGlkYXRpb24gZXJyb3IgcHJpbnRlZCBhbHJlYWR5LlxuICBpZiAoc2NoZW1hKSB7XG4gICAgaWYgKGNvbmZpZyAhPT0gc2NoZW1hLl9kZWZhdWx0KSB7XG4gICAgICBydW5WYWxpZGF0b3JzKGtleVBhdGgsIHNjaGVtYS5fdmFsaWRhdG9ycywgY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPcmRpbmFyeU9iamVjdChjb25maWcpKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb25maWcpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29uZmlnW2tleV07XG4gICAgICAgIGNvbnN0IHRoaXNLZXlQYXRoID0ga2V5UGF0aCArICcuJyArIGtleTtcbiAgICAgICAgY29uc3Qgc2NoZW1hUGFydCA9IHNjaGVtYVtrZXldIGFzIENvbmZpZ1NjaGVtYTtcbiAgICAgICAgaWYgKHNjaGVtYS5fdHlwZSA9PT0gVHlwZS5PYmplY3QgJiYgc2NoZW1hLl9lbGVtZW50cykge1xuICAgICAgICAgIHJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUoc2NoZW1hLl9lbGVtZW50cywgdmFsdWUsIHRoaXNLZXlQYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBydW5BbGxWYWxpZGF0b3JzSW5Db25maWdUcmVlKHNjaGVtYVBhcnQsIHZhbHVlLCB0aGlzS2V5UGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnKSAmJiBzY2hlbWEuX2VsZW1lbnRzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbmZpZy5sZW5ndGg7IGkrKykge1xuICAgICAgICBydW5BbGxWYWxpZGF0b3JzSW5Db25maWdUcmVlKHNjaGVtYS5fZWxlbWVudHMsIGNvbmZpZ1tpXSwgYCR7a2V5UGF0aH1bJHtpfV1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tUeXBlKGtleVBhdGg6IHN0cmluZywgX3R5cGU6IFR5cGUgfCB1bmRlZmluZWQsIHZhbHVlOiBhbnkpIHtcbiAgaWYgKF90eXBlKSB7XG4gICAgY29uc3QgdmFsaWRhdG9yOiBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbj4gPSB7XG4gICAgICBBcnJheTogaXNBcnJheSxcbiAgICAgIEJvb2xlYW46IGlzQm9vbGVhbixcbiAgICAgIENvbmNlcHRVdWlkOiBpc1V1aWQsXG4gICAgICBOdW1iZXI6IGlzTnVtYmVyLFxuICAgICAgT2JqZWN0OiBpc09iamVjdCxcbiAgICAgIFN0cmluZzogaXNTdHJpbmcsXG4gICAgICBVVUlEOiBpc1V1aWQsXG4gICAgICBQZXJzb25BdHRyaWJ1dGVUeXBlVXVpZDogaXNVdWlkLFxuICAgICAgUGF0aWVudElkZW50aWZpZXJUeXBlVXVpZDogaXNVdWlkLFxuICAgIH07XG4gICAgcnVuVmFsaWRhdG9ycyhrZXlQYXRoLCBbdmFsaWRhdG9yW190eXBlXV0sIHZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBydW5WYWxpZGF0b3JzKGtleVBhdGg6IHN0cmluZywgdmFsaWRhdG9yczogQXJyYXk8RnVuY3Rpb24+IHwgdW5kZWZpbmVkLCB2YWx1ZTogYW55KSB7XG4gIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGZvciAobGV0IHZhbGlkYXRvciBvZiB2YWxpZGF0b3JzKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvclJlc3VsdCA9IHZhbGlkYXRvcih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0b3JSZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgY29uZmlndXJhdGlvbiBmb3IgJHtrZXlQYXRofTogJHt2YWxpZGF0b3JSZXN1bHR9YCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgY29uZmlndXJhdGlvbiB2YWx1ZSAke3ZhbHVlfSBmb3IgJHtrZXlQYXRofTogJHt2YWxpZGF0b3JSZXN1bHR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgU2tpcHBpbmcgaW52YWxpZCB2YWxpZGF0b3IgYXQgXCIke2tleVBhdGh9XCIuIEVuY291bnRlcmVkIGVycm9yXFxuXFx0JHtlfWApO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZWN1cnNpdmVseSBmaWxsIGluIHRoZSBjb25maWcgd2l0aCB2YWx1ZXMgZnJvbSB0aGUgc2NoZW1hLlxuY29uc3Qgc2V0RGVmYXVsdHMgPSAoc2NoZW1hOiBDb25maWdTY2hlbWEsIGlucHV0Q29uZmlnOiBDb25maWcpID0+IHtcbiAgY29uc3QgY29uZmlnID0gY2xvbmUoaW5wdXRDb25maWcpO1xuXG4gIGlmICghc2NoZW1hKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHNjaGVtYSkpIHtcbiAgICBjb25zdCBjb25maWdQYXJ0ID0gY29uZmlnW2tleV07XG4gICAgY29uc3Qgc2NoZW1hUGFydCA9IHNjaGVtYVtrZXldIGFzIENvbmZpZ1NjaGVtYTtcblxuICAgIC8vIFRoZSBgc2NoZW1hUGFydCAmJmAgY2xhdXNlIG9mIHRoaXMgYGlmYCBzdGF0ZW1lbnQgd2lsbCBvbmx5IGZhaWxcbiAgICAvLyBpZiB0aGUgc2NoZW1hIGlzIHZlcnkgaW52YWxpZC4gSXQgaXMgdGhlcmUgdG8gcHJldmVudCB0aGUgYXBwIGZyb21cbiAgICAvLyBjcmFzaGluZyBjb21wbGV0ZWx5LCB0aG91Z2ggaXQgd2lsbCBwcm9kdWNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG4gICAgLy8gSWYgdGhpcyBoYXBwZW5zLCB0aGVyZSBzaG91bGQgYmUgbGVnaWJsZSBlcnJvcnMgaW4gdGhlIGNvbnNvbGUgZnJvbVxuICAgIC8vIHRoZSBzY2hlbWEgdmFsaWRhdG9yLlxuICAgIGlmIChzY2hlbWFQYXJ0ICYmIHNjaGVtYVBhcnQuaGFzT3duUHJvcGVydHkoJ19kZWZhdWx0JykpIHtcbiAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IHNjaGVtYVBhcnQgZGVmaW5lcyBhIGNvbmZpZyB2YWx1ZSwgc2luY2UgaXQgaGFzXG4gICAgICAvLyBhIHByb3BlcnR5IGBfZGVmYXVsdGAuXG4gICAgICBpZiAoIWNvbmZpZy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIChjb25maWdba2V5XSBhcyBhbnkpID0gc2NoZW1hUGFydFsnX2RlZmF1bHQnXTtcbiAgICAgIH1cblxuICAgICAgLy8gV2UgYWxzbyBjaGVjayBpZiBpdCBpcyBhbiBvYmplY3Qgb3IgYXJyYXkgd2l0aCBvYmplY3QgZWxlbWVudHMsIGluIHdoaWNoIGNhc2Ugd2UgcmVjdXJzZVxuICAgICAgY29uc3QgZWxlbWVudHMgPSBzY2hlbWFQYXJ0Ll9lbGVtZW50cztcblxuICAgICAgaWYgKGNvbmZpZ1BhcnQgJiYgaGFzT2JqZWN0U2NoZW1hKGVsZW1lbnRzKSkge1xuICAgICAgICBpZiAoc2NoZW1hUGFydC5fdHlwZSA9PT0gVHlwZS5BcnJheSAmJiBBcnJheS5pc0FycmF5KGNvbmZpZ1BhcnQpKSB7XG4gICAgICAgICAgY29uc3QgY29uZmlnV2l0aERlZmF1bHRzID0gY29uZmlnUGFydC5tYXAoKGNvbmY6IENvbmZpZykgPT4gc2V0RGVmYXVsdHMoZWxlbWVudHMsIGNvbmYpKTtcbiAgICAgICAgICBjb25maWdba2V5XSA9IGNvbmZpZ1dpdGhEZWZhdWx0cztcbiAgICAgICAgfSBlbHNlIGlmIChzY2hlbWFQYXJ0Ll90eXBlID09PSBUeXBlLk9iamVjdCkge1xuICAgICAgICAgIGZvciAobGV0IG9iamVjdEtleSBvZiBPYmplY3Qua2V5cyhjb25maWdQYXJ0KSkge1xuICAgICAgICAgICAgY29uZmlnUGFydFtvYmplY3RLZXldID0gc2V0RGVmYXVsdHMoZWxlbWVudHMsIGNvbmZpZ1BhcnRbb2JqZWN0S2V5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc09yZGluYXJ5T2JqZWN0KHNjaGVtYVBhcnQpKSB7XG4gICAgICAvLyBTaW5jZSBzY2hlbWFQYXJ0IGhhcyBubyBwcm9wZXJ0eSBcIl9kZWZhdWx0XCIsIGlmIGl0J3MgYW4gb3JkaW5hcnkgb2JqZWN0XG4gICAgICAvLyAodW5saWtlLCBpbXBvcnRhbnRseSwgdGhlIHZhbGlkYXRvcnMgYXJyYXkpLCB3ZSBhc3N1bWUgaXQgaXMgYSBwYXJlbnQgY29uZmlnIHByb3BlcnR5LlxuICAgICAgLy8gV2UgcmVjdXJzZSB0byBjb25maWdba2V5XSBhbmQgc2NoZW1hW2tleV0uIERlZmF1bHQgY29uZmlnW2tleV0gdG8ge30uXG4gICAgICBjb25zdCBzZWxlY3RlZENvbmZpZ1BhcnQgPSBjb25maWcuaGFzT3duUHJvcGVydHkoa2V5KSA/IGNvbmZpZ1BhcnQgOiB7fTtcblxuICAgICAgaWYgKGlzT3JkaW5hcnlPYmplY3Qoc2VsZWN0ZWRDb25maWdQYXJ0KSkge1xuICAgICAgICBjb25maWdba2V5XSA9IHNldERlZmF1bHRzKHNjaGVtYVBhcnQsIHNlbGVjdGVkQ29uZmlnUGFydCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmZ1bmN0aW9uIGhhc09iamVjdFNjaGVtYShlbGVtZW50c1NjaGVtYTogT2JqZWN0IHwgdW5kZWZpbmVkKTogZWxlbWVudHNTY2hlbWEgaXMgQ29uZmlnU2NoZW1hIHtcbiAgcmV0dXJuIChcbiAgICAhIWVsZW1lbnRzU2NoZW1hICYmIE9iamVjdC5rZXlzKGVsZW1lbnRzU2NoZW1hKS5maWx0ZXIoKGUpID0+ICFbJ19kZWZhdWx0JywgJ192YWxpZGF0b3JzJ10uaW5jbHVkZXMoZSkpLmxlbmd0aCA+IDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gaXNPcmRpbmFyeU9iamVjdCh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUgIT09IG51bGw7XG59XG5cbi8qKlxuICogQ29waWVkIG92ZXIgZnJvbSBlc20tZXh0ZW5zaW9ucy4gSXQgcmlnaHRseSBiZWxvbmdzIHRvIHRoYXQgbW9kdWxlLCBidXQgZXNtLWNvbmZpZ1xuICogY2Fubm90IGRlcGVuZCBvbiBlc20tZXh0ZW5zaW9ucy5cbiAqL1xuZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uTmFtZUZyb21JZChleHRlbnNpb25JZDogc3RyaW5nKSB7XG4gIGNvbnN0IFtleHRlbnNpb25OYW1lXSA9IGV4dGVuc2lvbklkLnNwbGl0KCcjJyk7XG4gIHJldHVybiBleHRlbnNpb25OYW1lO1xufVxuXG4vKipcbiAqIFRoZSBpbXBsaWNpdENvbmZpZ1NjaGVtYSBpcyBpbXBsaWNpdGx5IGluY2x1ZGVkIGluIGV2ZXJ5IGNvbmZpZ3VyYXRpb24gc2NoZW1hXG4gKi9cbmNvbnN0IGltcGxpY2l0Q29uZmlnU2NoZW1hOiBDb25maWdTY2hlbWEgPSB7XG4gICdEaXNwbGF5IGNvbmRpdGlvbnMnOiB7XG4gICAgcHJpdmlsZWdlczoge1xuICAgICAgX2Rlc2NyaXB0aW9uOiAnVGhlIHByaXZpbGVnZShzKSB0aGUgdXNlciBtdXN0IGhhdmUgdG8gdXNlIHRoaXMgZXh0ZW5zaW9uJyxcbiAgICAgIF90eXBlOiBUeXBlLkFycmF5LFxuICAgICAgX2RlZmF1bHQ6IFtdLFxuICAgIH0sXG4gIH0sXG4gICdUcmFuc2xhdGlvbiBvdmVycmlkZXMnOiB7XG4gICAgX2Rlc2NyaXB0aW9uOlxuICAgICAgJ1Blci1sYW5ndWFnZSBvdmVycmlkZXMgZm9yIGZyb250ZW5kIHRyYW5zbGF0aW9ucyBzaG91bGQgYmUga2V5ZWQgYnkgbGFuZ3VhZ2UgY29kZSBhbmQgZWFjaCBsYW5ndWFnZSBkaWN0aW9uYXJ5IGNvbnRhaW5zIHRoZSB0cmFuc2xhdGlvbiBrZXkgYW5kIHRoZSBkaXNwbGF5IHZhbHVlJyxcbiAgICBfdHlwZTogVHlwZS5PYmplY3QsXG4gICAgX2RlZmF1bHQ6IHt9LFxuICB9LFxufTtcbiJdLCJuYW1lcyI6WyJjbG9uZSIsInJlZHVjZSIsIm1lcmdlRGVlcFJpZ2h0IiwiZXF1YWxzIiwib21pdCIsIlR5cGUiLCJpc0FycmF5IiwiaXNCb29sZWFuIiwiaXNVdWlkIiwiaXNOdW1iZXIiLCJpc09iamVjdCIsImlzU3RyaW5nIiwiY29uZmlnSW50ZXJuYWxTdG9yZSIsImNvbmZpZ0V4dGVuc2lvblN0b3JlIiwiZ2V0Q29uZmlnU3RvcmUiLCJnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUiLCJpbXBsZW1lbnRlclRvb2xzQ29uZmlnU3RvcmUiLCJ0ZW1wb3JhcnlDb25maWdTdG9yZSIsImdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUiLCJjb21wdXRlTW9kdWxlQ29uZmlnIiwiZ2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJjb25maWdTdGF0ZSIsInRlbXBDb25maWdTdGF0ZSIsImNvbXB1dGVJbXBsZW1lbnRlclRvb2xzQ29uZmlnIiwiY29tcHV0ZUV4dGVuc2lvblNsb3RDb25maWdzIiwiY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3MiLCJleHRlbnNpb25TdGF0ZSIsInN0YXRlIiwidGVtcFN0YXRlIiwiT2JqZWN0Iiwia2V5cyIsInNjaGVtYXMiLCJtb2R1bGVOYW1lIiwiY29uZmlnIiwiZ2V0Q29uZmlnRm9yTW9kdWxlIiwibW9kdWxlU3RvcmUiLCJzZXRTdGF0ZSIsImxvYWRlZCIsInNsb3RDb25maWdzIiwiZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ3MiLCJuZXdTbG90U3RvcmVFbnRyaWVzIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwibWFwIiwic2xvdE5hbWUiLCJzbG90U3RvcmUiLCJvbGRTdGF0ZSIsIm5ld1N0YXRlIiwic2xvdHMiLCJnZXRJbXBsZW1lbnRlclRvb2xzQ29uZmlnIiwiY29uZmlncyIsIm1vdW50ZWRFeHRlbnNpb25zIiwiZXh0ZW5zaW9uIiwiY29tcHV0ZUV4dGVuc2lvbkNvbmZpZyIsInNsb3RNb2R1bGVOYW1lIiwiZXh0ZW5zaW9uTW9kdWxlTmFtZSIsImV4dGVuc2lvbklkIiwiZGVmaW5lQ29uZmlnU2NoZW1hIiwic2NoZW1hIiwidmFsaWRhdGVDb25maWdTY2hlbWEiLCJlbmhhbmNlZFNjaGVtYSIsImltcGxpY2l0Q29uZmlnU2NoZW1hIiwiZGVmaW5lRXh0ZW5zaW9uQ29uZmlnU2NoZW1hIiwiZXh0ZW5zaW9uTmFtZSIsImNvbnNvbGUiLCJ3YXJuIiwicHJvdmlkZSIsInNvdXJjZU5hbWUiLCJwcm92aWRlZENvbmZpZ3MiLCJzb3VyY2UiLCJnZXRDb25maWciLCJQcm9taXNlIiwicmVzb2x2ZSIsInVwZGF0ZSIsInVuc3Vic2NyaWJlIiwic3RvcmUiLCJnZXRDb25maWdJbnRlcm5hbCIsInByb2Nlc3NDb25maWciLCJwcm92aWRlZENvbmZpZyIsImtleVBhdGhDb250ZXh0IiwidmFsaWRhdGVTdHJ1Y3R1cmUiLCJzZXREZWZhdWx0cyIsInJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUiLCJzbG90TW9kdWxlQ29uZmlnIiwiZ2V0RXh0ZW5zaW9uTmFtZUZyb21JZCIsImV4dGVuc2lvbkNvbmZpZ1NjaGVtYSIsIm5hbWVPZlNjaGVtYVNvdXJjZSIsImdldFByb3ZpZGVkQ29uZmlncyIsIm1lcmdlQ29uZmlnc0ZvciIsImNvbmZpZ092ZXJyaWRlIiwiZXh0ZW5zaW9uU2xvdHMiLCJjb25maWd1cmUiLCJleHRlbnNpb25Db25maWciLCJjb21iaW5lZENvbmZpZyIsIm1lcmdlQ29uZmlncyIsInJlc3VsdCIsImdldFNjaGVtYVdpdGhWYWx1ZXNBbmRTb3VyY2VzIiwiY29uZmlnc0FuZFNvdXJjZXMiLCJjIiwiY3JlYXRlVmFsdWVzQW5kU291cmNlc1RyZWUiLCJoYXNPd25Qcm9wZXJ0eSIsIl92YWx1ZSIsIl9kZWZhdWx0IiwiX3NvdXJjZSIsImlzT3JkaW5hcnlPYmplY3QiLCJvYmoiLCJrZXkiLCJhbGxDb25maWdzIiwic2xvdENvbmZpZ1Blck1vZHVsZSIsInZhbGlkYXRlQWxsRXh0ZW5zaW9uU2xvdENvbmZpZ3MiLCJjb25maWdCeVNsb3ROYW1lIiwidmFsaWRhdGVFeHRlbnNpb25TbG90Q29uZmlnIiwiZXJyb3JQcmVmaXgiLCJpbnZhbGlkS2V5cyIsImZpbHRlciIsImsiLCJpbmNsdWRlcyIsImxlbmd0aCIsImVycm9yIiwiam9pbiIsImFkZCIsIkFycmF5IiwiZXZlcnkiLCJuIiwicmVtb3ZlIiwib3JkZXIiLCJrZXlQYXRoIiwidXBkYXRlTWVzc2FnZSIsInRoaXNLZXlQYXRoIiwic2NoZW1hUGFydCIsImVsZW1lbnRzIiwiX2VsZW1lbnRzIiwiaGFzT2JqZWN0U2NoZW1hIiwiX3ZhbGlkYXRvcnMiLCJ2YWxpZGF0b3IiLCJ2YWx1ZVR5cGUiLCJfdHlwZSIsInZhbHVlcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwiRXJyb3IiLCJpbnB1dENvbmZpZyIsImFsbENvbmZpZ3NGb3JNb2R1bGUiLCJtZXJnZURlZXBBbGwiLCJ2YWx1ZSIsInZhbGlkYXRlQnJhbmNoU3RydWN0dXJlIiwiY2hlY2tUeXBlIiwidmFsaWRhdGVEaWN0aW9uYXJ5U3RydWN0dXJlIiwidmFsaWRhdGVBcnJheVN0cnVjdHVyZSIsImRpY3Rpb25hcnlTY2hlbWEiLCJhcnJheVNjaGVtYSIsImkiLCJydW5WYWxpZGF0b3JzIiwiQm9vbGVhbiIsIkNvbmNlcHRVdWlkIiwiTnVtYmVyIiwiU3RyaW5nIiwiVVVJRCIsIlBlcnNvbkF0dHJpYnV0ZVR5cGVVdWlkIiwiUGF0aWVudElkZW50aWZpZXJUeXBlVXVpZCIsInZhbGlkYXRvcnMiLCJ2YWxpZGF0b3JSZXN1bHQiLCJlIiwiY29uZmlnUGFydCIsImNvbmZpZ1dpdGhEZWZhdWx0cyIsImNvbmYiLCJvYmplY3RLZXkiLCJzZWxlY3RlZENvbmZpZ1BhcnQiLCJlbGVtZW50c1NjaGVtYSIsInNwbGl0IiwicHJpdmlsZWdlcyIsIl9kZXNjcmlwdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-config/src/module-config/module-config.ts\n");
|
|
6548
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineConfigSchema: () => (/* binding */ defineConfigSchema),\n/* harmony export */ defineExtensionConfigSchema: () => (/* binding */ defineExtensionConfigSchema),\n/* harmony export */ getConfig: () => (/* binding */ getConfig),\n/* harmony export */ getConfigInternal: () => (/* binding */ getConfigInternal),\n/* harmony export */ processConfig: () => (/* binding */ processConfig),\n/* harmony export */ provide: () => (/* binding */ provide)\n/* harmony export */ });\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/equals.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/mergeDeepRight.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/omit.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/clone.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ \"../../framework/esm-config/src/types.ts\");\n/* harmony import */ var _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../validators/type-validators */ \"../../framework/esm-config/src/validators/type-validators.ts\");\n/* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./state */ \"../../framework/esm-config/src/module-config/state.ts\");\n/** @module @category Config */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n/**\n * Store setup\n *\n *\n * Set up stores and subscriptions so that inputs get processed appropriately.\n *\n * There are *input* stores and *output* stores. The *input* stores\n * are configInternalStore, temporaryConfigStore, and configExtensionStore. The\n * output stores are set in the `compute...` functions. They are the module\n * config stores, the extension slot config stores (by module), the extension\n * config stores, and the implementer tools config store.\n *\n * This code sets up the subscriptions so that when an input store changes,\n * the correct set of output stores are updated.\n *\n * All `compute...` functions except `computeExtensionConfigs` are pure\n * (or are supposed to be), other than the fact that they all `setState`\n * store values at the end. `computeExtensionConfigs` calls `getGlobalStore`,\n * which creates stores.\n */ computeModuleConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n return computeModuleConfig(configState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n return computeModuleConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), tempConfigState);\n});\ncomputeImplementerToolsConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n return computeImplementerToolsConfig(configState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n return computeImplementerToolsConfig(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), tempConfigState);\n});\ncomputeExtensionSlotConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n return computeExtensionSlotConfigs(configState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n return computeExtensionSlotConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), tempConfigState);\n});\ncomputeExtensionConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.subscribe(function(configState) {\n computeExtensionConfigs(configState, _state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.subscribe(function(extensionState) {\n computeExtensionConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), extensionState, _state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.getState());\n});\n_state__WEBPACK_IMPORTED_MODULE_2__.temporaryConfigStore.subscribe(function(tempConfigState) {\n computeExtensionConfigs(_state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState(), _state__WEBPACK_IMPORTED_MODULE_2__.configExtensionStore.getState(), tempConfigState);\n});\nfunction computeModuleConfig(state, tempState) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(state.schemas)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var moduleName = _step.value;\n var config = getConfigForModule(moduleName, state, tempState);\n var moduleStore = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getConfigStore)(moduleName);\n moduleStore.setState({\n loaded: true,\n config: config\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction computeExtensionSlotConfigs(state, tempState) {\n var slotConfigs = getExtensionSlotConfigs(state, tempState);\n var newSlotStoreEntries = Object.fromEntries(Object.entries(slotConfigs).map(function(param) {\n var _param = _sliced_to_array(param, 2), slotName = _param[0], config = _param[1];\n return [\n slotName,\n {\n loaded: true,\n config: config\n }\n ];\n }));\n var slotStore = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getExtensionSlotsConfigStore)();\n var oldState = slotStore.getState();\n var newState = {\n slots: _object_spread({}, oldState.slots, newSlotStoreEntries)\n };\n if (!(0,ramda__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(oldState, newState)) {\n slotStore.setState(newState);\n }\n}\nfunction computeImplementerToolsConfig(state, tempConfigState) {\n var config = getImplementerToolsConfig(state, tempConfigState);\n _state__WEBPACK_IMPORTED_MODULE_2__.implementerToolsConfigStore.setState({\n config: config\n });\n}\nfunction computeExtensionConfigs(configState, extensionState, tempConfigState) {\n var configs = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = extensionState.mountedExtensions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var extension = _step.value;\n var config = computeExtensionConfig(extension.slotModuleName, extension.extensionModuleName, extension.slotName, extension.extensionId, configState, tempConfigState);\n configs[extension.slotName] = _object_spread_props(_object_spread({}, configs[extension.slotName]), _define_property({}, extension.extensionId, {\n config: config,\n loaded: true\n }));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n (0,_state__WEBPACK_IMPORTED_MODULE_2__.getExtensionsConfigStore)().setState({\n configs: configs\n });\n}\n/*\n * API\n *\n */ /**\n * This defines a configuration schema for a module. The schema tells the\n * configuration system how the module can be configured. It specifies\n * what makes configuration valid or invalid.\n *\n * See [Configuration System](https://o3-docs.openmrs.org/docs/configuration-system)\n * for more information about defining a config schema.\n *\n * @param moduleName Name of the module the schema is being defined for. Generally\n * should be the one in which the `defineConfigSchema` call takes place.\n * @param schema The config schema for the module\n */ function defineConfigSchema(moduleName, schema) {\n validateConfigSchema(moduleName, schema);\n var enhancedSchema = (0,ramda__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(schema, implicitConfigSchema);\n var state = _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState();\n _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.setState({\n schemas: _object_spread_props(_object_spread({}, state.schemas), _define_property({}, moduleName, enhancedSchema))\n });\n}\n/**\n * This defines a configuration schema for an extension. When a schema is defined\n * for an extension, that extension will receive the configuration corresponding\n * to that schema, rather than the configuration corresponding to the module\n * in which it is defined.\n *\n * The schema tells the configuration system how the module can be configured.\n * It specifies what makes configuration valid or invalid.\n *\n * See [Configuration System](https://o3-docs.openmrs.org/docs/configuration-system)\n * for more information about defining a config schema.\n *\n * @param extensionName Name of the extension the schema is being defined for.\n * Should match the `name` of one of the `extensions` entries being returned\n * by `setupOpenMRS`.\n * @param schema The config schema for the extension\n */ function defineExtensionConfigSchema(extensionName, schema) {\n validateConfigSchema(extensionName, schema);\n var enhancedSchema = (0,ramda__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(schema, implicitConfigSchema);\n var state = _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState();\n if (state.schemas[extensionName]) {\n console.warn(\"Config schema for extension \".concat(extensionName, \" already exists. If there are multiple extensions with this same name, one will probably crash.\"));\n }\n _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.setState({\n schemas: _object_spread_props(_object_spread({}, state.schemas), _define_property({}, extensionName, enhancedSchema))\n });\n}\nfunction provide(config) {\n var sourceName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"provided\";\n var state = _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.getState();\n _state__WEBPACK_IMPORTED_MODULE_2__.configInternalStore.setState({\n providedConfigs: _to_consumable_array(state.providedConfigs).concat([\n {\n source: sourceName,\n config: config\n }\n ])\n });\n}\n/**\n * A promise-based way to access the config as soon as it is fully loaded.\n * If it is already loaded, resolves the config in its present state.\n *\n * This is a useful function if you need to get the config in the course\n * of the execution of a function.\n *\n * @param moduleName The name of the module for which to look up the config\n */ function getConfig(moduleName) {\n return new Promise(function(resolve) {\n var update = function update(state) {\n if (state.loaded && state.config) {\n var config = (0,ramda__WEBPACK_IMPORTED_MODULE_5__[\"default\"])([\n \"Display conditions\",\n \"Translation overrides\"\n ], state.config);\n resolve(config);\n unsubscribe && unsubscribe();\n }\n };\n var store = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getConfigStore)(moduleName);\n update(store.getState());\n var unsubscribe = store.subscribe(update);\n });\n}\n/** @internal */ function getConfigInternal(moduleName) {\n return new Promise(function(resolve) {\n var update = function update(state) {\n if (state.loaded && state.config) {\n var config = state.config;\n resolve(config);\n unsubscribe && unsubscribe();\n }\n };\n var store = (0,_state__WEBPACK_IMPORTED_MODULE_2__.getConfigStore)(moduleName);\n update(store.getState());\n var unsubscribe = store.subscribe(update);\n });\n}\n/**\n * Validate and interpolate defaults for `providedConfig` according to `schema`\n *\n * @param schema a configuration schema\n * @param providedConfig an object of config values (without the top-level module name)\n * @param keyPathContext a dot-deparated string which helps the user figure out where\n * the provided config came from\n * @internal\n */ function processConfig(schema, providedConfig, keyPathContext) {\n validateStructure(schema, providedConfig, keyPathContext);\n var config = setDefaults(schema, providedConfig);\n runAllValidatorsInConfigTree(schema, config, keyPathContext);\n return config;\n}\n/*\n * Helper functions\n *\n */ /**\n * Returns the configuration for an extension. This configuration is specific\n * to the slot in which it is mounted, and its ID within that slot.\n *\n * The schema for that configuration is the extension schema. If no extension\n * schema has been provided, the schema used is the schema of the module in\n * which the extension is defined.\n *\n * @param slotModuleName The name of the module which defines the extension slot\n * @param extensionModuleName The name of the module which defines the extension (and therefore the config schema)\n * @param slotName The name of the extension slot where the extension is mounted\n * @param extensionId The ID of the extension in its slot\n */ function computeExtensionConfig(slotModuleName, extensionModuleName, slotName, extensionId, configState, tempConfigState) {\n var _slotModuleConfig_extensionSlots, _slotModuleConfig_extensionSlots_slotName, _slotModuleConfig_extensionSlots_slotName_configure;\n var extensionName = getExtensionNameFromId(extensionId);\n var extensionConfigSchema = configState.schemas[extensionName];\n var nameOfSchemaSource = extensionConfigSchema ? extensionName : extensionModuleName;\n var providedConfigs = getProvidedConfigs(configState, tempConfigState);\n var slotModuleConfig = mergeConfigsFor(slotModuleName, providedConfigs);\n var _slotModuleConfig_extensionSlots_slotName_configure_extensionId;\n var configOverride = (_slotModuleConfig_extensionSlots_slotName_configure_extensionId = slotModuleConfig === null || slotModuleConfig === void 0 ? void 0 : (_slotModuleConfig_extensionSlots = slotModuleConfig.extensionSlots) === null || _slotModuleConfig_extensionSlots === void 0 ? void 0 : (_slotModuleConfig_extensionSlots_slotName = _slotModuleConfig_extensionSlots[slotName]) === null || _slotModuleConfig_extensionSlots_slotName === void 0 ? void 0 : (_slotModuleConfig_extensionSlots_slotName_configure = _slotModuleConfig_extensionSlots_slotName.configure) === null || _slotModuleConfig_extensionSlots_slotName_configure === void 0 ? void 0 : _slotModuleConfig_extensionSlots_slotName_configure[extensionId]) !== null && _slotModuleConfig_extensionSlots_slotName_configure_extensionId !== void 0 ? _slotModuleConfig_extensionSlots_slotName_configure_extensionId : {};\n var extensionConfig = mergeConfigsFor(nameOfSchemaSource, providedConfigs);\n var combinedConfig = mergeConfigs([\n extensionConfig,\n configOverride\n ]);\n // TODO: validate that a schema exists for the module\n var schema = extensionConfigSchema !== null && extensionConfigSchema !== void 0 ? extensionConfigSchema : configState.schemas[extensionModuleName];\n validateStructure(schema, combinedConfig, nameOfSchemaSource);\n var config = setDefaults(schema, combinedConfig);\n runAllValidatorsInConfigTree(schema, config, nameOfSchemaSource);\n delete config.extensionSlots;\n return config;\n}\nfunction getImplementerToolsConfig(configState, tempConfigState) {\n var result = getSchemaWithValuesAndSources((0,ramda__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(configState.schemas));\n var configsAndSources = _to_consumable_array(configState.providedConfigs.map(function(c) {\n return [\n c.config,\n c.source\n ];\n })).concat([\n [\n tempConfigState.config,\n \"temporary config\"\n ]\n ]);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = configsAndSources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), config = _step_value[0], source = _step_value[1];\n result = mergeConfigs([\n result,\n createValuesAndSourcesTree(config, source)\n ]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return result;\n}\nfunction getSchemaWithValuesAndSources(schema) {\n if (schema.hasOwnProperty(\"_default\")) {\n return _object_spread_props(_object_spread({}, schema), {\n _value: schema._default,\n _source: \"default\"\n });\n } else if (isOrdinaryObject(schema)) {\n return Object.keys(schema).reduce(function(obj, key) {\n obj[key] = getSchemaWithValuesAndSources(schema[key]);\n return obj;\n }, {});\n } else {\n // at this point, the schema is bad and an error will have been logged during schema validation\n return {};\n }\n}\nfunction createValuesAndSourcesTree(config, source) {\n if (isOrdinaryObject(config)) {\n return Object.keys(config).reduce(function(obj, key) {\n obj[key] = createValuesAndSourcesTree(config[key], source);\n return obj;\n }, {});\n } else {\n return {\n _value: config,\n _source: source\n };\n }\n}\nfunction getExtensionSlotConfigs(configState, tempConfigState) {\n var allConfigs = mergeConfigs(getProvidedConfigs(configState, tempConfigState));\n var slotConfigPerModule = Object.keys(allConfigs).reduce(function(obj, key) {\n var _allConfigs_key;\n if ((_allConfigs_key = allConfigs[key]) === null || _allConfigs_key === void 0 ? void 0 : _allConfigs_key.extensionSlots) {\n var _allConfigs_key1;\n obj[key] = (_allConfigs_key1 = allConfigs[key]) === null || _allConfigs_key1 === void 0 ? void 0 : _allConfigs_key1.extensionSlots;\n }\n return obj;\n }, {});\n validateAllExtensionSlotConfigs(slotConfigPerModule);\n var slotConfigs = Object.keys(slotConfigPerModule).reduce(function(obj, key) {\n obj = _object_spread({}, obj, slotConfigPerModule[key]);\n return obj;\n }, {});\n return slotConfigs;\n}\nfunction validateAllExtensionSlotConfigs(slotConfigPerModule) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(slotConfigPerModule)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), moduleName = _step_value[0], configBySlotName = _step_value[1];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = Object.entries(configBySlotName)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var _step_value1 = _sliced_to_array(_step1.value, 2), slotName = _step_value1[0], config = _step_value1[1];\n validateExtensionSlotConfig(config, moduleName, slotName);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction validateExtensionSlotConfig(config, moduleName, slotName) {\n var errorPrefix = \"Extension slot config '\".concat(moduleName, \".extensionSlots.\").concat(slotName);\n var invalidKeys = Object.keys(config).filter(function(k) {\n return ![\n \"add\",\n \"remove\",\n \"order\",\n \"configure\"\n ].includes(k);\n });\n if (invalidKeys.length) {\n console.error(errorPrefix + \"' contains invalid keys '\".concat(invalidKeys.join(\"', '\"), \"'\"));\n }\n if (config.add) {\n if (!Array.isArray(config.add) || !config.add.every(function(n) {\n return typeof n === \"string\";\n })) {\n console.error(errorPrefix + \".add' is invalid. Must be an array of strings (extension IDs)\");\n }\n }\n if (config.remove) {\n if (!Array.isArray(config.remove) || !config.remove.every(function(n) {\n return typeof n === \"string\";\n })) {\n console.error(errorPrefix + \".remove' is invalid. Must be an array of strings (extension IDs)\");\n }\n }\n if (config.order) {\n if (!Array.isArray(config.order) || !config.order.every(function(n) {\n return typeof n === \"string\";\n })) {\n console.error(errorPrefix + \".order' is invalid. Must be an array of strings (extension IDs)\");\n }\n }\n if (config.configure) {\n if (!isOrdinaryObject(config.configure)) {\n console.error(errorPrefix + \".configure' is invalid. Must be an object with extension IDs for keys\");\n }\n }\n}\nfunction getProvidedConfigs(configState, tempConfigState) {\n return _to_consumable_array(configState.providedConfigs.map(function(c) {\n return c.config;\n })).concat([\n tempConfigState.config\n ]);\n}\nfunction validateConfigSchema(moduleName, schema) {\n var keyPath = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n var updateMessage = \"Please verify that you are running the latest version and, if so, alert the maintainer.\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n var _loop = function() {\n var key = _step.value;\n var thisKeyPath = keyPath + (keyPath && \".\") + key;\n var schemaPart = schema[key];\n if (thisKeyPath === \"Display conditions\") {\n console.error(\"\".concat(moduleName, ' declares a configuration option called \"Display conditions\"; the \"Display conditions\" option is a reserved name. ').concat(updateMessage));\n }\n if (thisKeyPath === \"Translation overrides\") {\n console.error(\"\".concat(moduleName, ' declares a configuration option called \"Translation overrides\"; the \"Translation overrides\" option is a reserved name. ').concat(updateMessage));\n }\n if (!isOrdinaryObject(schemaPart)) {\n console.error(\"\".concat(moduleName, \" has bad config schema definition for key '\").concat(thisKeyPath, \"'. \").concat(updateMessage));\n return \"continue\";\n }\n if (!schemaPart.hasOwnProperty(\"_default\")) {\n // recurse for nested config keys\n validateConfigSchema(moduleName, schemaPart, thisKeyPath);\n }\n var elements = schemaPart._elements;\n if (hasObjectSchema(elements)) {\n validateConfigSchema(moduleName, elements, thisKeyPath + \"._elements\");\n }\n if (schemaPart._validators) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = schemaPart._validators[Symbol.iterator](), _step1; !(_iteratorNormalCompletion = (_step1 = _iterator.next()).done); _iteratorNormalCompletion = true){\n var validator = _step1.value;\n if (typeof validator !== \"function\") {\n console.error(\"\".concat(moduleName, \" has invalid validator for key '\").concat(thisKeyPath, \"' \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: validators must be functions that return either \" + \"undefined or an error string. Received \".concat(validator, \".\"));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var valueType = schemaPart._type;\n if (valueType && !Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.Type).includes(valueType)) {\n console.error(\"\".concat(moduleName, \" has invalid type for key '\").concat(thisKeyPath, \"' \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: the allowed types are \".concat(Object.values(_types__WEBPACK_IMPORTED_MODULE_0__.Type).join(\", \"), \". \") + \"Received '\".concat(valueType, \"'\"));\n }\n if (Object.keys(schemaPart).every(function(k) {\n return [\n \"_description\",\n \"_validators\",\n \"_elements\",\n \"_type\"\n ].includes(k);\n }) && !keyPath.includes(\"._elements\")) {\n console.error(\"\".concat(moduleName, \" has bad config schema definition for key '\").concat(thisKeyPath, \"'. \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: all config elements must have a default. \" + \"Received \".concat(JSON.stringify(schemaPart)));\n }\n if (elements && valueType && ![\n _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array,\n _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object\n ].includes(valueType)) {\n console.error(\"\".concat(moduleName, \" has bad config schema definition for key '\").concat(thisKeyPath, \"'. \").concat(updateMessage, \".\") + \"\\n\\nIf you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. \" + \"Received \".concat(JSON.stringify(valueType)));\n }\n };\n for(var _iterator = Object.keys(schema).filter(function(k) {\n return !k.startsWith(\"_\");\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction getConfigForModule(moduleName, configState, tempConfigState) {\n if (!configState.schemas.hasOwnProperty(moduleName)) {\n throw Error(\"No config schema has been defined for \" + moduleName);\n }\n var schema = configState.schemas[moduleName];\n var inputConfig = mergeConfigsFor(moduleName, getProvidedConfigs(configState, tempConfigState));\n validateStructure(schema, inputConfig, moduleName);\n var config = setDefaults(schema, inputConfig);\n runAllValidatorsInConfigTree(schema, config, moduleName);\n delete config.extensionSlots;\n return config;\n}\nfunction mergeConfigsFor(moduleName, allConfigs) {\n var allConfigsForModule = allConfigs.map(function(param) {\n var c = param[moduleName];\n return c;\n }).filter(function(c) {\n return !!c;\n });\n return mergeConfigs(allConfigsForModule);\n}\nfunction mergeConfigs(configs) {\n var mergeDeepAll = (0,ramda__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(ramda__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n return mergeDeepAll({}, configs);\n}\n/**\n * Recursively check the provided config tree to make sure that all\n * of the provided properties exist in the schema, and that types are\n * correct. Does not run validators yet, since those will be run on\n * the config with the defaults filled in.\n */ function validateStructure(schema, config) {\n var keyPath = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n // validate each constituent element\n for(var _iterator = Object.keys(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n var value = config[key];\n var thisKeyPath = keyPath + \".\" + key;\n var schemaPart = schema[key];\n if (!schema.hasOwnProperty(key)) {\n if (!(key === \"extensionSlots\" && keyPath !== \"\")) {\n console.error(\"Unknown config key '\".concat(thisKeyPath, \"' provided. Ignoring.\"));\n }\n continue;\n }\n validateBranchStructure(schemaPart, value, thisKeyPath);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction validateBranchStructure(schemaPart, value, keyPath) {\n checkType(keyPath, schemaPart._type, value);\n if (isOrdinaryObject(value)) {\n // structurally validate only if there's elements specified\n // or there's no `_default` value (which would indicate a freeform object)\n if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object) {\n validateDictionaryStructure(schemaPart, value, keyPath);\n } else if (!schemaPart.hasOwnProperty(\"_default\")) {\n // recurse to validate nested object structure\n validateStructure(schemaPart, value, keyPath);\n }\n } else {\n if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array) {\n validateArrayStructure(schemaPart, value, keyPath);\n }\n }\n}\nfunction validateDictionaryStructure(dictionarySchema, config, keyPath) {\n if (dictionarySchema._elements) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n var value = config[key];\n validateStructure(dictionarySchema._elements, value, \"\".concat(keyPath, \".\").concat(key));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n}\nfunction validateArrayStructure(arraySchema, value, keyPath) {\n // if there is an array element object schema, verify that elements match it\n if (hasObjectSchema(arraySchema._elements)) {\n for(var i = 0; i < value.length; i++){\n validateBranchStructure(arraySchema._elements, value[i], \"\".concat(keyPath, \"[\").concat(i, \"]\"));\n }\n }\n for(var i1 = 0; i1 < value.length; i1++){\n var _arraySchema__elements;\n checkType(\"\".concat(keyPath, \"[\").concat(i1, \"]\"), (_arraySchema__elements = arraySchema._elements) === null || _arraySchema__elements === void 0 ? void 0 : _arraySchema__elements._type, value[i1]);\n }\n}\n/**\n * Run all the validators in the config tree. This should be run\n * on the config object after it has been filled in with all the defaults, since\n * higher-level validators may refer to default values.\n */ function runAllValidatorsInConfigTree(schema, config) {\n var keyPath = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"\";\n // If `!schema`, there should have been a structural validation error printed already.\n if (schema) {\n if (config !== schema._default) {\n runValidators(keyPath, schema._validators, config);\n }\n if (isOrdinaryObject(config)) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n var value = config[key];\n var thisKeyPath = keyPath + \".\" + key;\n var schemaPart = schema[key];\n if (schema._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object && schema._elements) {\n runAllValidatorsInConfigTree(schema._elements, value, thisKeyPath);\n } else {\n runAllValidatorsInConfigTree(schemaPart, value, thisKeyPath);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (Array.isArray(config) && schema._elements) {\n for(var i = 0; i < config.length; i++){\n runAllValidatorsInConfigTree(schema._elements, config[i], \"\".concat(keyPath, \"[\").concat(i, \"]\"));\n }\n }\n }\n}\nfunction checkType(keyPath, _type, value) {\n if (_type) {\n var validator = {\n Array: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isArray,\n Boolean: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isBoolean,\n ConceptUuid: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid,\n Number: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isNumber,\n Object: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isObject,\n String: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isString,\n UUID: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid,\n PersonAttributeTypeUuid: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid,\n PatientIdentifierTypeUuid: _validators_type_validators__WEBPACK_IMPORTED_MODULE_1__.isUuid\n };\n runValidators(keyPath, [\n validator[_type]\n ], value);\n }\n}\nfunction runValidators(keyPath, validators, value) {\n if (validators) {\n try {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = validators[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var validator = _step.value;\n var validatorResult = validator(value);\n if (typeof validatorResult === \"string\") {\n if (typeof value === \"object\") {\n console.error(\"Invalid configuration for \".concat(keyPath, \": \").concat(validatorResult));\n } else {\n console.error(\"Invalid configuration value \".concat(value, \" for \").concat(keyPath, \": \").concat(validatorResult));\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } catch (e) {\n console.error('Skipping invalid validator at \"'.concat(keyPath, '\". Encountered error\\n\t').concat(e));\n }\n }\n}\n// Recursively fill in the config with values from the schema.\nvar setDefaults = function(schema, inputConfig) {\n var config = (0,ramda__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(inputConfig);\n if (!schema) {\n return config;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n var _loop = function() {\n var key = _step.value;\n var configPart = config[key];\n var schemaPart = schema[key];\n // The `schemaPart &&` clause of this `if` statement will only fail\n // if the schema is very invalid. It is there to prevent the app from\n // crashing completely, though it will produce unexpected behavior.\n // If this happens, there should be legible errors in the console from\n // the schema validator.\n if (schemaPart && schemaPart.hasOwnProperty(\"_default\")) {\n // We assume that schemaPart defines a config value, since it has\n // a property `_default`.\n if (!config.hasOwnProperty(key)) {\n config[key] = schemaPart[\"_default\"];\n }\n // We also check if it is an object or array with object elements, in which case we recurse\n var elements = schemaPart._elements;\n if (configPart && hasObjectSchema(elements)) {\n if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array && Array.isArray(configPart)) {\n var configWithDefaults = configPart.map(function(conf) {\n return setDefaults(elements, conf);\n });\n config[key] = configWithDefaults;\n } else if (schemaPart._type === _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(configPart)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion = (_step1 = _iterator.next()).done); _iteratorNormalCompletion = true){\n var objectKey = _step1.value;\n configPart[objectKey] = setDefaults(elements, configPart[objectKey]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n } else if (isOrdinaryObject(schemaPart)) {\n // Since schemaPart has no property \"_default\", if it's an ordinary object\n // (unlike, importantly, the validators array), we assume it is a parent config property.\n // We recurse to config[key] and schema[key]. Default config[key] to {}.\n var selectedConfigPart = config.hasOwnProperty(key) ? configPart : {};\n if (isOrdinaryObject(selectedConfigPart)) {\n config[key] = setDefaults(schemaPart, selectedConfigPart);\n }\n }\n };\n for(var _iterator = Object.keys(schema)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return config;\n};\nfunction hasObjectSchema(elementsSchema) {\n return !!elementsSchema && Object.keys(elementsSchema).filter(function(e) {\n return ![\n \"_default\",\n \"_validators\"\n ].includes(e);\n }).length > 0;\n}\nfunction isOrdinaryObject(value) {\n return typeof value === \"object\" && !Array.isArray(value) && value !== null;\n}\n/**\n * Copied over from esm-extensions. It rightly belongs to that module, but esm-config\n * cannot depend on esm-extensions.\n */ function getExtensionNameFromId(extensionId) {\n var _extensionId_split = _sliced_to_array(extensionId.split(\"#\"), 1), extensionName = _extensionId_split[0];\n return extensionName;\n}\n/**\n * The implicitConfigSchema is implicitly included in every configuration schema\n */ var implicitConfigSchema = {\n \"Display conditions\": {\n privileges: {\n _description: \"The privilege(s) the user must have to use this extension\",\n _type: _types__WEBPACK_IMPORTED_MODULE_0__.Type.Array,\n _default: []\n }\n },\n \"Translation overrides\": {\n _description: \"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value\",\n _type: _types__WEBPACK_IMPORTED_MODULE_0__.Type.Object,\n _default: {}\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL21vZHVsZS1jb25maWcvbW9kdWxlLWNvbmZpZy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDdUM7QUFFcEM7QUFDeUU7QUFVeEY7QUFJakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQkMsR0FDRG1CLG9CQUFvQlAsdURBQW1CQSxDQUFDUSxRQUFRLElBQUlILHdEQUFvQkEsQ0FBQ0csUUFBUTtBQUNqRlIsdURBQW1CQSxDQUFDUyxTQUFTLENBQUMsU0FBQ0M7V0FBZ0JILG9CQUFvQkcsYUFBYUwsd0RBQW9CQSxDQUFDRyxRQUFROztBQUM3R0gsd0RBQW9CQSxDQUFDSSxTQUFTLENBQUMsU0FBQ0U7V0FDOUJKLG9CQUFvQlAsdURBQW1CQSxDQUFDUSxRQUFRLElBQUlHOztBQUd0REMsOEJBQThCWix1REFBbUJBLENBQUNRLFFBQVEsSUFBSUgsd0RBQW9CQSxDQUFDRyxRQUFRO0FBQzNGUix1REFBbUJBLENBQUNTLFNBQVMsQ0FBQyxTQUFDQztXQUM3QkUsOEJBQThCRixhQUFhTCx3REFBb0JBLENBQUNHLFFBQVE7O0FBRTFFSCx3REFBb0JBLENBQUNJLFNBQVMsQ0FBQyxTQUFDRTtXQUM5QkMsOEJBQThCWix1REFBbUJBLENBQUNRLFFBQVEsSUFBSUc7O0FBR2hFRSw0QkFBNEJiLHVEQUFtQkEsQ0FBQ1EsUUFBUSxJQUFJSCx3REFBb0JBLENBQUNHLFFBQVE7QUFDekZSLHVEQUFtQkEsQ0FBQ1MsU0FBUyxDQUFDLFNBQUNDO1dBQzdCRyw0QkFBNEJILGFBQWFMLHdEQUFvQkEsQ0FBQ0csUUFBUTs7QUFFeEVILHdEQUFvQkEsQ0FBQ0ksU0FBUyxDQUFDLFNBQUNFO1dBQzlCRSw0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QUMySSxnQkFBZ0J2RCxNQUFNLENBQUMsU0FBQ2lEO2VBQU0sQ0FBQztZQUFDO1lBQVk7U0FBYyxDQUFDL0MsUUFBUSxDQUFDK0M7T0FBSTlDLE1BQU0sR0FBRztBQUVySDtBQUVBLFNBQVNiLGlCQUFpQnlDLEtBQUssRUFBRTtJQUMvQixPQUFPLE9BQU9BLFVBQVUsWUFBWSxDQUFDeEIsTUFBTXBILE9BQU8sQ0FBQzRJLFVBQVVBLFVBQVUsSUFBSTtBQUM3RTtBQUVBOzs7Q0FHQyxHQUNELFNBQVM3RCx1QkFBdUI1QixXQUFtQixFQUFFO0lBQ25ELElBQXdCQSxzQ0FBQUEsWUFBWWtILEtBQUssQ0FBQyxVQUFuQzNHLGdCQUFpQlA7SUFDeEIsT0FBT087QUFDVDtBQUVBOztDQUVDLEdBQ0QsSUFBTUYsdUJBQXFDO0lBQ3pDLHNCQUFzQjtRQUNwQjhHLFlBQVk7WUFDVkMsY0FBYztZQUNkcEMsT0FBT3BJLHdDQUFJQSxDQUFDcUgsS0FBSztZQUNqQm5CLFVBQVUsRUFBRTtRQUNkO0lBQ0Y7SUFDQSx5QkFBeUI7UUFDdkJzRSxjQUNFO1FBQ0ZwQyxPQUFPcEksd0NBQUlBLENBQUN5QixNQUFNO1FBQ2xCeUUsVUFBVSxDQUFDO0lBQ2I7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL21vZHVsZS1jb25maWcvbW9kdWxlLWNvbmZpZy50cz83Y2ExIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBDb25maWcgKi9cbmltcG9ydCB7IGNsb25lLCByZWR1Y2UsIG1lcmdlRGVlcFJpZ2h0LCBlcXVhbHMsIG9taXQgfSBmcm9tICdyYW1kYSc7XG5pbXBvcnQgdHlwZSB7IENvbmZpZywgQ29uZmlnT2JqZWN0LCBDb25maWdTY2hlbWEsIEV4dGVuc2lvblNsb3RDb25maWcsIEV4dGVuc2lvblNsb3RDb25maWdPYmplY3QgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNCb29sZWFuLCBpc1V1aWQsIGlzTnVtYmVyLCBpc09iamVjdCwgaXNTdHJpbmcgfSBmcm9tICcuLi92YWxpZGF0b3JzL3R5cGUtdmFsaWRhdG9ycyc7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ0V4dGVuc2lvblN0b3JlLCBDb25maWdJbnRlcm5hbFN0b3JlLCBDb25maWdTdG9yZSB9IGZyb20gJy4vc3RhdGUnO1xuaW1wb3J0IHtcbiAgY29uZmlnSW50ZXJuYWxTdG9yZSxcbiAgY29uZmlnRXh0ZW5zaW9uU3RvcmUsXG4gIGdldENvbmZpZ1N0b3JlLFxuICBnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUsXG4gIGltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZSxcbiAgdGVtcG9yYXJ5Q29uZmlnU3RvcmUsXG4gIGdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUsXG59IGZyb20gJy4vc3RhdGUnO1xuaW1wb3J0IHR5cGUge30gZnJvbSAnQG9wZW5tcnMvZXNtLWdsb2JhbHMnO1xuaW1wb3J0IHR5cGUgeyBUZW1wb3JhcnlDb25maWdTdG9yZSB9IGZyb20gJy4uJztcblxuLyoqXG4gKiBTdG9yZSBzZXR1cFxuICpcbiAqXG4gKiBTZXQgdXAgc3RvcmVzIGFuZCBzdWJzY3JpcHRpb25zIHNvIHRoYXQgaW5wdXRzIGdldCBwcm9jZXNzZWQgYXBwcm9wcmlhdGVseS5cbiAqXG4gKiBUaGVyZSBhcmUgKmlucHV0KiBzdG9yZXMgYW5kICpvdXRwdXQqIHN0b3Jlcy4gVGhlICppbnB1dCogc3RvcmVzXG4gKiBhcmUgY29uZmlnSW50ZXJuYWxTdG9yZSwgdGVtcG9yYXJ5Q29uZmlnU3RvcmUsIGFuZCBjb25maWdFeHRlbnNpb25TdG9yZS4gVGhlXG4gKiBvdXRwdXQgc3RvcmVzIGFyZSBzZXQgaW4gdGhlIGBjb21wdXRlLi4uYCBmdW5jdGlvbnMuIFRoZXkgYXJlIHRoZSBtb2R1bGVcbiAqIGNvbmZpZyBzdG9yZXMsIHRoZSBleHRlbnNpb24gc2xvdCBjb25maWcgc3RvcmVzIChieSBtb2R1bGUpLCB0aGUgZXh0ZW5zaW9uXG4gKiBjb25maWcgc3RvcmVzLCBhbmQgdGhlIGltcGxlbWVudGVyIHRvb2xzIGNvbmZpZyBzdG9yZS5cbiAqXG4gKiBUaGlzIGNvZGUgc2V0cyB1cCB0aGUgc3Vic2NyaXB0aW9ucyBzbyB0aGF0IHdoZW4gYW4gaW5wdXQgc3RvcmUgY2hhbmdlcyxcbiAqIHRoZSBjb3JyZWN0IHNldCBvZiBvdXRwdXQgc3RvcmVzIGFyZSB1cGRhdGVkLlxuICpcbiAqIEFsbCBgY29tcHV0ZS4uLmAgZnVuY3Rpb25zIGV4Y2VwdCBgY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3NgIGFyZSBwdXJlXG4gKiAob3IgYXJlIHN1cHBvc2VkIHRvIGJlKSwgb3RoZXIgdGhhbiB0aGUgZmFjdCB0aGF0IHRoZXkgYWxsIGBzZXRTdGF0ZWBcbiAqIHN0b3JlIHZhbHVlcyBhdCB0aGUgZW5kLiBgY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3NgIGNhbGxzIGBnZXRHbG9iYWxTdG9yZWAsXG4gKiB3aGljaCBjcmVhdGVzIHN0b3Jlcy5cbiAqL1xuY29tcHV0ZU1vZHVsZUNvbmZpZyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpO1xuY29uZmlnSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUoKGNvbmZpZ1N0YXRlKSA9PiBjb21wdXRlTW9kdWxlQ29uZmlnKGNvbmZpZ1N0YXRlLCB0ZW1wb3JhcnlDb25maWdTdG9yZS5nZXRTdGF0ZSgpKSk7XG50ZW1wb3JhcnlDb25maWdTdG9yZS5zdWJzY3JpYmUoKHRlbXBDb25maWdTdGF0ZSkgPT5cbiAgY29tcHV0ZU1vZHVsZUNvbmZpZyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIHRlbXBDb25maWdTdGF0ZSksXG4pO1xuXG5jb21wdXRlSW1wbGVtZW50ZXJUb29sc0NvbmZpZyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpO1xuY29uZmlnSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUoKGNvbmZpZ1N0YXRlKSA9PlxuICBjb21wdXRlSW1wbGVtZW50ZXJUb29sc0NvbmZpZyhjb25maWdTdGF0ZSwgdGVtcG9yYXJ5Q29uZmlnU3RvcmUuZ2V0U3RhdGUoKSksXG4pO1xudGVtcG9yYXJ5Q29uZmlnU3RvcmUuc3Vic2NyaWJlKCh0ZW1wQ29uZmlnU3RhdGUpID0+XG4gIGNvbXB1dGVJbXBsZW1lbnRlclRvb2xzQ29uZmlnKGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgdGVtcENvbmZpZ1N0YXRlKSxcbik7XG5cbmNvbXB1dGVFeHRlbnNpb25TbG90Q29uZmlncyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpO1xuY29uZmlnSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUoKGNvbmZpZ1N0YXRlKSA9PlxuICBjb21wdXRlRXh0ZW5zaW9uU2xvdENvbmZpZ3MoY29uZmlnU3RhdGUsIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpLFxuKTtcbnRlbXBvcmFyeUNvbmZpZ1N0b3JlLnN1YnNjcmliZSgodGVtcENvbmZpZ1N0YXRlKSA9PlxuICBjb21wdXRlRXh0ZW5zaW9uU2xvdENvbmZpZ3MoY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpLCB0ZW1wQ29uZmlnU3RhdGUpLFxuKTtcblxuY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3MoXG4gIGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSxcbiAgY29uZmlnRXh0ZW5zaW9uU3RvcmUuZ2V0U3RhdGUoKSxcbiAgdGVtcG9yYXJ5Q29uZmlnU3RvcmUuZ2V0U3RhdGUoKSxcbik7XG5jb25maWdJbnRlcm5hbFN0b3JlLnN1YnNjcmliZSgoY29uZmlnU3RhdGUpID0+IHtcbiAgY29tcHV0ZUV4dGVuc2lvbkNvbmZpZ3MoY29uZmlnU3RhdGUsIGNvbmZpZ0V4dGVuc2lvblN0b3JlLmdldFN0YXRlKCksIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpO1xufSk7XG5jb25maWdFeHRlbnNpb25TdG9yZS5zdWJzY3JpYmUoKGV4dGVuc2lvblN0YXRlKSA9PiB7XG4gIGNvbXB1dGVFeHRlbnNpb25Db25maWdzKGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgZXh0ZW5zaW9uU3RhdGUsIHRlbXBvcmFyeUNvbmZpZ1N0b3JlLmdldFN0YXRlKCkpO1xufSk7XG50ZW1wb3JhcnlDb25maWdTdG9yZS5zdWJzY3JpYmUoKHRlbXBDb25maWdTdGF0ZSkgPT4ge1xuICBjb21wdXRlRXh0ZW5zaW9uQ29uZmlncyhjb25maWdJbnRlcm5hbFN0b3JlLmdldFN0YXRlKCksIGNvbmZpZ0V4dGVuc2lvblN0b3JlLmdldFN0YXRlKCksIHRlbXBDb25maWdTdGF0ZSk7XG59KTtcblxuZnVuY3Rpb24gY29tcHV0ZU1vZHVsZUNvbmZpZyhzdGF0ZTogQ29uZmlnSW50ZXJuYWxTdG9yZSwgdGVtcFN0YXRlOiBUZW1wb3JhcnlDb25maWdTdG9yZSkge1xuICBmb3IgKGxldCBtb2R1bGVOYW1lIG9mIE9iamVjdC5rZXlzKHN0YXRlLnNjaGVtYXMpKSB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnRm9yTW9kdWxlKG1vZHVsZU5hbWUsIHN0YXRlLCB0ZW1wU3RhdGUpO1xuICAgIGNvbnN0IG1vZHVsZVN0b3JlID0gZ2V0Q29uZmlnU3RvcmUobW9kdWxlTmFtZSk7XG4gICAgbW9kdWxlU3RvcmUuc2V0U3RhdGUoeyBsb2FkZWQ6IHRydWUsIGNvbmZpZyB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21wdXRlRXh0ZW5zaW9uU2xvdENvbmZpZ3Moc3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsIHRlbXBTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUpIHtcbiAgY29uc3Qgc2xvdENvbmZpZ3MgPSBnZXRFeHRlbnNpb25TbG90Q29uZmlncyhzdGF0ZSwgdGVtcFN0YXRlKTtcbiAgY29uc3QgbmV3U2xvdFN0b3JlRW50cmllcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhzbG90Q29uZmlncykubWFwKChbc2xvdE5hbWUsIGNvbmZpZ10pID0+IFtzbG90TmFtZSwgeyBsb2FkZWQ6IHRydWUsIGNvbmZpZyB9XSksXG4gICk7XG4gIGNvbnN0IHNsb3RTdG9yZSA9IGdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUoKTtcbiAgY29uc3Qgb2xkU3RhdGUgPSBzbG90U3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uc3QgbmV3U3RhdGUgPSB7IHNsb3RzOiB7IC4uLm9sZFN0YXRlLnNsb3RzLCAuLi5uZXdTbG90U3RvcmVFbnRyaWVzIH0gfTtcbiAgaWYgKCFlcXVhbHMob2xkU3RhdGUsIG5ld1N0YXRlKSkge1xuICAgIHNsb3RTdG9yZS5zZXRTdGF0ZShuZXdTdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcHV0ZUltcGxlbWVudGVyVG9vbHNDb25maWcoc3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsIHRlbXBDb25maWdTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUpIHtcbiAgY29uc3QgY29uZmlnID0gZ2V0SW1wbGVtZW50ZXJUb29sc0NvbmZpZyhzdGF0ZSwgdGVtcENvbmZpZ1N0YXRlKTtcbiAgaW1wbGVtZW50ZXJUb29sc0NvbmZpZ1N0b3JlLnNldFN0YXRlKHsgY29uZmlnIH0pO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlRXh0ZW5zaW9uQ29uZmlncyhcbiAgY29uZmlnU3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsXG4gIGV4dGVuc2lvblN0YXRlOiBDb25maWdFeHRlbnNpb25TdG9yZSxcbiAgdGVtcENvbmZpZ1N0YXRlOiBUZW1wb3JhcnlDb25maWdTdG9yZSxcbikge1xuICBjb25zdCBjb25maWdzID0ge307XG4gIGZvciAobGV0IGV4dGVuc2lvbiBvZiBleHRlbnNpb25TdGF0ZS5tb3VudGVkRXh0ZW5zaW9ucykge1xuICAgIGNvbnN0IGNvbmZpZyA9IGNvbXB1dGVFeHRlbnNpb25Db25maWcoXG4gICAgICBleHRlbnNpb24uc2xvdE1vZHVsZU5hbWUsXG4gICAgICBleHRlbnNpb24uZXh0ZW5zaW9uTW9kdWxlTmFtZSxcbiAgICAgIGV4dGVuc2lvbi5zbG90TmFtZSxcbiAgICAgIGV4dGVuc2lvbi5leHRlbnNpb25JZCxcbiAgICAgIGNvbmZpZ1N0YXRlLFxuICAgICAgdGVtcENvbmZpZ1N0YXRlLFxuICAgICk7XG4gICAgY29uZmlnc1tleHRlbnNpb24uc2xvdE5hbWVdID0ge1xuICAgICAgLi4uY29uZmlnc1tleHRlbnNpb24uc2xvdE5hbWVdLFxuICAgICAgW2V4dGVuc2lvbi5leHRlbnNpb25JZF06IHsgY29uZmlnLCBsb2FkZWQ6IHRydWUgfSxcbiAgICB9O1xuICB9XG4gIGdldEV4dGVuc2lvbnNDb25maWdTdG9yZSgpLnNldFN0YXRlKHsgY29uZmlncyB9KTtcbn1cblxuLypcbiAqIEFQSVxuICpcbiAqL1xuXG4vKipcbiAqIFRoaXMgZGVmaW5lcyBhIGNvbmZpZ3VyYXRpb24gc2NoZW1hIGZvciBhIG1vZHVsZS4gVGhlIHNjaGVtYSB0ZWxscyB0aGVcbiAqIGNvbmZpZ3VyYXRpb24gc3lzdGVtIGhvdyB0aGUgbW9kdWxlIGNhbiBiZSBjb25maWd1cmVkLiBJdCBzcGVjaWZpZXNcbiAqIHdoYXQgbWFrZXMgY29uZmlndXJhdGlvbiB2YWxpZCBvciBpbnZhbGlkLlxuICpcbiAqIFNlZSBbQ29uZmlndXJhdGlvbiBTeXN0ZW1dKGh0dHBzOi8vbzMtZG9jcy5vcGVubXJzLm9yZy9kb2NzL2NvbmZpZ3VyYXRpb24tc3lzdGVtKVxuICogZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZGVmaW5pbmcgYSBjb25maWcgc2NoZW1hLlxuICpcbiAqIEBwYXJhbSBtb2R1bGVOYW1lIE5hbWUgb2YgdGhlIG1vZHVsZSB0aGUgc2NoZW1hIGlzIGJlaW5nIGRlZmluZWQgZm9yLiBHZW5lcmFsbHlcbiAqICAgc2hvdWxkIGJlIHRoZSBvbmUgaW4gd2hpY2ggdGhlIGBkZWZpbmVDb25maWdTY2hlbWFgIGNhbGwgdGFrZXMgcGxhY2UuXG4gKiBAcGFyYW0gc2NoZW1hIFRoZSBjb25maWcgc2NoZW1hIGZvciB0aGUgbW9kdWxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVDb25maWdTY2hlbWEobW9kdWxlTmFtZTogc3RyaW5nLCBzY2hlbWE6IENvbmZpZ1NjaGVtYSkge1xuICB2YWxpZGF0ZUNvbmZpZ1NjaGVtYShtb2R1bGVOYW1lLCBzY2hlbWEpO1xuICBjb25zdCBlbmhhbmNlZFNjaGVtYSA9IG1lcmdlRGVlcFJpZ2h0KHNjaGVtYSwgaW1wbGljaXRDb25maWdTY2hlbWEpIGFzIENvbmZpZ1NjaGVtYTtcblxuICBjb25zdCBzdGF0ZSA9IGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uZmlnSW50ZXJuYWxTdG9yZS5zZXRTdGF0ZSh7XG4gICAgc2NoZW1hczogeyAuLi5zdGF0ZS5zY2hlbWFzLCBbbW9kdWxlTmFtZV06IGVuaGFuY2VkU2NoZW1hIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIFRoaXMgZGVmaW5lcyBhIGNvbmZpZ3VyYXRpb24gc2NoZW1hIGZvciBhbiBleHRlbnNpb24uIFdoZW4gYSBzY2hlbWEgaXMgZGVmaW5lZFxuICogZm9yIGFuIGV4dGVuc2lvbiwgdGhhdCBleHRlbnNpb24gd2lsbCByZWNlaXZlIHRoZSBjb25maWd1cmF0aW9uIGNvcnJlc3BvbmRpbmdcbiAqIHRvIHRoYXQgc2NoZW1hLCByYXRoZXIgdGhhbiB0aGUgY29uZmlndXJhdGlvbiBjb3JyZXNwb25kaW5nIHRvIHRoZSBtb2R1bGVcbiAqIGluIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gKlxuICogVGhlIHNjaGVtYSB0ZWxscyB0aGUgY29uZmlndXJhdGlvbiBzeXN0ZW0gaG93IHRoZSBtb2R1bGUgY2FuIGJlIGNvbmZpZ3VyZWQuXG4gKiBJdCBzcGVjaWZpZXMgd2hhdCBtYWtlcyBjb25maWd1cmF0aW9uIHZhbGlkIG9yIGludmFsaWQuXG4gKlxuICogU2VlIFtDb25maWd1cmF0aW9uIFN5c3RlbV0oaHR0cHM6Ly9vMy1kb2NzLm9wZW5tcnMub3JnL2RvY3MvY29uZmlndXJhdGlvbi1zeXN0ZW0pXG4gKiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBkZWZpbmluZyBhIGNvbmZpZyBzY2hlbWEuXG4gKlxuICogQHBhcmFtIGV4dGVuc2lvbk5hbWUgTmFtZSBvZiB0aGUgZXh0ZW5zaW9uIHRoZSBzY2hlbWEgaXMgYmVpbmcgZGVmaW5lZCBmb3IuXG4gKiAgIFNob3VsZCBtYXRjaCB0aGUgYG5hbWVgIG9mIG9uZSBvZiB0aGUgYGV4dGVuc2lvbnNgIGVudHJpZXMgYmVpbmcgcmV0dXJuZWRcbiAqICAgYnkgYHNldHVwT3Blbk1SU2AuXG4gKiBAcGFyYW0gc2NoZW1hIFRoZSBjb25maWcgc2NoZW1hIGZvciB0aGUgZXh0ZW5zaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVFeHRlbnNpb25Db25maWdTY2hlbWEoZXh0ZW5zaW9uTmFtZTogc3RyaW5nLCBzY2hlbWE6IENvbmZpZ1NjaGVtYSkge1xuICB2YWxpZGF0ZUNvbmZpZ1NjaGVtYShleHRlbnNpb25OYW1lLCBzY2hlbWEpO1xuICBjb25zdCBlbmhhbmNlZFNjaGVtYSA9IG1lcmdlRGVlcFJpZ2h0KHNjaGVtYSwgaW1wbGljaXRDb25maWdTY2hlbWEpIGFzIENvbmZpZ1NjaGVtYTtcblxuICBjb25zdCBzdGF0ZSA9IGNvbmZpZ0ludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgaWYgKHN0YXRlLnNjaGVtYXNbZXh0ZW5zaW9uTmFtZV0pIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgQ29uZmlnIHNjaGVtYSBmb3IgZXh0ZW5zaW9uICR7ZXh0ZW5zaW9uTmFtZX0gYWxyZWFkeSBleGlzdHMuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBleHRlbnNpb25zIHdpdGggdGhpcyBzYW1lIG5hbWUsIG9uZSB3aWxsIHByb2JhYmx5IGNyYXNoLmAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbmZpZ0ludGVybmFsU3RvcmUuc2V0U3RhdGUoe1xuICAgIHNjaGVtYXM6IHsgLi4uc3RhdGUuc2NoZW1hcywgW2V4dGVuc2lvbk5hbWVdOiBlbmhhbmNlZFNjaGVtYSB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGUoY29uZmlnOiBDb25maWcsIHNvdXJjZU5hbWUgPSAncHJvdmlkZWQnKSB7XG4gIGNvbnN0IHN0YXRlID0gY29uZmlnSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICBjb25maWdJbnRlcm5hbFN0b3JlLnNldFN0YXRlKHtcbiAgICBwcm92aWRlZENvbmZpZ3M6IFsuLi5zdGF0ZS5wcm92aWRlZENvbmZpZ3MsIHsgc291cmNlOiBzb3VyY2VOYW1lLCBjb25maWcgfV0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEEgcHJvbWlzZS1iYXNlZCB3YXkgdG8gYWNjZXNzIHRoZSBjb25maWcgYXMgc29vbiBhcyBpdCBpcyBmdWxseSBsb2FkZWQuXG4gKiBJZiBpdCBpcyBhbHJlYWR5IGxvYWRlZCwgcmVzb2x2ZXMgdGhlIGNvbmZpZyBpbiBpdHMgcHJlc2VudCBzdGF0ZS5cbiAqXG4gKiBUaGlzIGlzIGEgdXNlZnVsIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGdldCB0aGUgY29uZmlnIGluIHRoZSBjb3Vyc2VcbiAqIG9mIHRoZSBleGVjdXRpb24gb2YgYSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIGZvciB3aGljaCB0byBsb29rIHVwIHRoZSBjb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhtb2R1bGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENvbmZpZz4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8Q29uZmlnPigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHN0b3JlID0gZ2V0Q29uZmlnU3RvcmUobW9kdWxlTmFtZSk7XG4gICAgZnVuY3Rpb24gdXBkYXRlKHN0YXRlOiBDb25maWdTdG9yZSkge1xuICAgICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5jb25maWcpIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gb21pdChbJ0Rpc3BsYXkgY29uZGl0aW9ucycsICdUcmFuc2xhdGlvbiBvdmVycmlkZXMnXSwgc3RhdGUuY29uZmlnKTtcbiAgICAgICAgcmVzb2x2ZShjb25maWcpO1xuICAgICAgICB1bnN1YnNjcmliZSAmJiB1bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB1cGRhdGUoc3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBzdG9yZS5zdWJzY3JpYmUodXBkYXRlKTtcbiAgfSk7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdJbnRlcm5hbChtb2R1bGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENvbmZpZz4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8Q29uZmlnPigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHN0b3JlID0gZ2V0Q29uZmlnU3RvcmUobW9kdWxlTmFtZSk7XG4gICAgZnVuY3Rpb24gdXBkYXRlKHN0YXRlOiBDb25maWdTdG9yZSkge1xuICAgICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5jb25maWcpIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gc3RhdGUuY29uZmlnO1xuICAgICAgICByZXNvbHZlKGNvbmZpZyk7XG4gICAgICAgIHVuc3Vic2NyaWJlICYmIHVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHVwZGF0ZShzdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHN0b3JlLnN1YnNjcmliZSh1cGRhdGUpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgaW50ZXJwb2xhdGUgZGVmYXVsdHMgZm9yIGBwcm92aWRlZENvbmZpZ2AgYWNjb3JkaW5nIHRvIGBzY2hlbWFgXG4gKlxuICogQHBhcmFtIHNjaGVtYSAgYSBjb25maWd1cmF0aW9uIHNjaGVtYVxuICogQHBhcmFtIHByb3ZpZGVkQ29uZmlnICBhbiBvYmplY3Qgb2YgY29uZmlnIHZhbHVlcyAod2l0aG91dCB0aGUgdG9wLWxldmVsIG1vZHVsZSBuYW1lKVxuICogQHBhcmFtIGtleVBhdGhDb250ZXh0ICBhIGRvdC1kZXBhcmF0ZWQgc3RyaW5nIHdoaWNoIGhlbHBzIHRoZSB1c2VyIGZpZ3VyZSBvdXQgd2hlcmVcbiAqICAgICB0aGUgcHJvdmlkZWQgY29uZmlnIGNhbWUgZnJvbVxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzQ29uZmlnKHNjaGVtYTogQ29uZmlnU2NoZW1hLCBwcm92aWRlZENvbmZpZzogQ29uZmlnT2JqZWN0LCBrZXlQYXRoQ29udGV4dDogc3RyaW5nKSB7XG4gIHZhbGlkYXRlU3RydWN0dXJlKHNjaGVtYSwgcHJvdmlkZWRDb25maWcsIGtleVBhdGhDb250ZXh0KTtcbiAgY29uc3QgY29uZmlnID0gc2V0RGVmYXVsdHMoc2NoZW1hLCBwcm92aWRlZENvbmZpZyk7XG4gIHJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUoc2NoZW1hLCBjb25maWcsIGtleVBhdGhDb250ZXh0KTtcbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuLypcbiAqIEhlbHBlciBmdW5jdGlvbnNcbiAqXG4gKi9cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjb25maWd1cmF0aW9uIGZvciBhbiBleHRlbnNpb24uIFRoaXMgY29uZmlndXJhdGlvbiBpcyBzcGVjaWZpY1xuICogdG8gdGhlIHNsb3QgaW4gd2hpY2ggaXQgaXMgbW91bnRlZCwgYW5kIGl0cyBJRCB3aXRoaW4gdGhhdCBzbG90LlxuICpcbiAqIFRoZSBzY2hlbWEgZm9yIHRoYXQgY29uZmlndXJhdGlvbiBpcyB0aGUgZXh0ZW5zaW9uIHNjaGVtYS4gSWYgbm8gZXh0ZW5zaW9uXG4gKiBzY2hlbWEgaGFzIGJlZW4gcHJvdmlkZWQsIHRoZSBzY2hlbWEgdXNlZCBpcyB0aGUgc2NoZW1hIG9mIHRoZSBtb2R1bGUgaW5cbiAqIHdoaWNoIHRoZSBleHRlbnNpb24gaXMgZGVmaW5lZC5cbiAqXG4gKiBAcGFyYW0gc2xvdE1vZHVsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB3aGljaCBkZWZpbmVzIHRoZSBleHRlbnNpb24gc2xvdFxuICogQHBhcmFtIGV4dGVuc2lvbk1vZHVsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB3aGljaCBkZWZpbmVzIHRoZSBleHRlbnNpb24gKGFuZCB0aGVyZWZvcmUgdGhlIGNvbmZpZyBzY2hlbWEpXG4gKiBAcGFyYW0gc2xvdE5hbWUgVGhlIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiBzbG90IHdoZXJlIHRoZSBleHRlbnNpb24gaXMgbW91bnRlZFxuICogQHBhcmFtIGV4dGVuc2lvbklkIFRoZSBJRCBvZiB0aGUgZXh0ZW5zaW9uIGluIGl0cyBzbG90XG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVFeHRlbnNpb25Db25maWcoXG4gIHNsb3RNb2R1bGVOYW1lOiBzdHJpbmcsXG4gIGV4dGVuc2lvbk1vZHVsZU5hbWU6IHN0cmluZyxcbiAgc2xvdE5hbWU6IHN0cmluZyxcbiAgZXh0ZW5zaW9uSWQ6IHN0cmluZyxcbiAgY29uZmlnU3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsXG4gIHRlbXBDb25maWdTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUsXG4pIHtcbiAgY29uc3QgZXh0ZW5zaW9uTmFtZSA9IGdldEV4dGVuc2lvbk5hbWVGcm9tSWQoZXh0ZW5zaW9uSWQpO1xuICBjb25zdCBleHRlbnNpb25Db25maWdTY2hlbWEgPSBjb25maWdTdGF0ZS5zY2hlbWFzW2V4dGVuc2lvbk5hbWVdO1xuICBjb25zdCBuYW1lT2ZTY2hlbWFTb3VyY2UgPSBleHRlbnNpb25Db25maWdTY2hlbWEgPyBleHRlbnNpb25OYW1lIDogZXh0ZW5zaW9uTW9kdWxlTmFtZTtcbiAgY29uc3QgcHJvdmlkZWRDb25maWdzID0gZ2V0UHJvdmlkZWRDb25maWdzKGNvbmZpZ1N0YXRlLCB0ZW1wQ29uZmlnU3RhdGUpO1xuICBjb25zdCBzbG90TW9kdWxlQ29uZmlnID0gbWVyZ2VDb25maWdzRm9yKHNsb3RNb2R1bGVOYW1lLCBwcm92aWRlZENvbmZpZ3MpO1xuICBjb25zdCBjb25maWdPdmVycmlkZSA9IHNsb3RNb2R1bGVDb25maWc/LmV4dGVuc2lvblNsb3RzPy5bc2xvdE5hbWVdPy5jb25maWd1cmU/LltleHRlbnNpb25JZF0gPz8ge307XG4gIGNvbnN0IGV4dGVuc2lvbkNvbmZpZyA9IG1lcmdlQ29uZmlnc0ZvcihuYW1lT2ZTY2hlbWFTb3VyY2UsIHByb3ZpZGVkQ29uZmlncyk7XG4gIGNvbnN0IGNvbWJpbmVkQ29uZmlnID0gbWVyZ2VDb25maWdzKFtleHRlbnNpb25Db25maWcsIGNvbmZpZ092ZXJyaWRlXSk7XG4gIC8vIFRPRE86IHZhbGlkYXRlIHRoYXQgYSBzY2hlbWEgZXhpc3RzIGZvciB0aGUgbW9kdWxlXG4gIGNvbnN0IHNjaGVtYSA9IGV4dGVuc2lvbkNvbmZpZ1NjaGVtYSA/PyBjb25maWdTdGF0ZS5zY2hlbWFzW2V4dGVuc2lvbk1vZHVsZU5hbWVdO1xuICB2YWxpZGF0ZVN0cnVjdHVyZShzY2hlbWEsIGNvbWJpbmVkQ29uZmlnLCBuYW1lT2ZTY2hlbWFTb3VyY2UpO1xuICBjb25zdCBjb25maWcgPSBzZXREZWZhdWx0cyhzY2hlbWEsIGNvbWJpbmVkQ29uZmlnKTtcbiAgcnVuQWxsVmFsaWRhdG9yc0luQ29uZmlnVHJlZShzY2hlbWEsIGNvbmZpZywgbmFtZU9mU2NoZW1hU291cmNlKTtcbiAgZGVsZXRlIGNvbmZpZy5leHRlbnNpb25TbG90cztcbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZnVuY3Rpb24gZ2V0SW1wbGVtZW50ZXJUb29sc0NvbmZpZyhcbiAgY29uZmlnU3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsXG4gIHRlbXBDb25maWdTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUsXG4pOiBSZWNvcmQ8c3RyaW5nLCBDb25maWc+IHtcbiAgbGV0IHJlc3VsdCA9IGdldFNjaGVtYVdpdGhWYWx1ZXNBbmRTb3VyY2VzKGNsb25lKGNvbmZpZ1N0YXRlLnNjaGVtYXMpKTtcbiAgY29uc3QgY29uZmlnc0FuZFNvdXJjZXMgPSBbXG4gICAgLi4uY29uZmlnU3RhdGUucHJvdmlkZWRDb25maWdzLm1hcCgoYykgPT4gW2MuY29uZmlnLCBjLnNvdXJjZV0pLFxuICAgIFt0ZW1wQ29uZmlnU3RhdGUuY29uZmlnLCAndGVtcG9yYXJ5IGNvbmZpZyddLFxuICBdIGFzIEFycmF5PFtDb25maWcsIHN0cmluZ10+O1xuICBmb3IgKGxldCBbY29uZmlnLCBzb3VyY2VdIG9mIGNvbmZpZ3NBbmRTb3VyY2VzKSB7XG4gICAgcmVzdWx0ID0gbWVyZ2VDb25maWdzKFtyZXN1bHQsIGNyZWF0ZVZhbHVlc0FuZFNvdXJjZXNUcmVlKGNvbmZpZywgc291cmNlKV0pO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGdldFNjaGVtYVdpdGhWYWx1ZXNBbmRTb3VyY2VzKHNjaGVtYSkge1xuICBpZiAoc2NoZW1hLmhhc093blByb3BlcnR5KCdfZGVmYXVsdCcpKSB7XG4gICAgcmV0dXJuIHsgLi4uc2NoZW1hLCBfdmFsdWU6IHNjaGVtYS5fZGVmYXVsdCwgX3NvdXJjZTogJ2RlZmF1bHQnIH07XG4gIH0gZWxzZSBpZiAoaXNPcmRpbmFyeU9iamVjdChzY2hlbWEpKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHNjaGVtYSkucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgICAgb2JqW2tleV0gPSBnZXRTY2hlbWFXaXRoVmFsdWVzQW5kU291cmNlcyhzY2hlbWFba2V5XSk7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBhdCB0aGlzIHBvaW50LCB0aGUgc2NoZW1hIGlzIGJhZCBhbmQgYW4gZXJyb3Igd2lsbCBoYXZlIGJlZW4gbG9nZ2VkIGR1cmluZyBzY2hlbWEgdmFsaWRhdGlvblxuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVWYWx1ZXNBbmRTb3VyY2VzVHJlZShjb25maWc6IENvbmZpZ09iamVjdCwgc291cmNlOiBzdHJpbmcpIHtcbiAgaWYgKGlzT3JkaW5hcnlPYmplY3QoY29uZmlnKSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhjb25maWcpLnJlZHVjZSgob2JqLCBrZXkpID0+IHtcbiAgICAgIG9ialtrZXldID0gY3JlYXRlVmFsdWVzQW5kU291cmNlc1RyZWUoY29uZmlnW2tleV0sIHNvdXJjZSk7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyBfdmFsdWU6IGNvbmZpZywgX3NvdXJjZTogc291cmNlIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ3MoXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLFxuICB0ZW1wQ29uZmlnU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlLFxuKTogUmVjb3JkPHN0cmluZywgRXh0ZW5zaW9uU2xvdENvbmZpZ09iamVjdD4ge1xuICBjb25zdCBhbGxDb25maWdzID0gbWVyZ2VDb25maWdzKGdldFByb3ZpZGVkQ29uZmlncyhjb25maWdTdGF0ZSwgdGVtcENvbmZpZ1N0YXRlKSk7XG4gIGNvbnN0IHNsb3RDb25maWdQZXJNb2R1bGU6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV4dGVuc2lvblNsb3RDb25maWc+PiA9IE9iamVjdC5rZXlzKGFsbENvbmZpZ3MpLnJlZHVjZShcbiAgICAob2JqLCBrZXkpID0+IHtcbiAgICAgIGlmIChhbGxDb25maWdzW2tleV0/LmV4dGVuc2lvblNsb3RzKSB7XG4gICAgICAgIG9ialtrZXldID0gYWxsQ29uZmlnc1trZXldPy5leHRlbnNpb25TbG90cztcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSxcbiAgICB7fSxcbiAgKTtcbiAgdmFsaWRhdGVBbGxFeHRlbnNpb25TbG90Q29uZmlncyhzbG90Q29uZmlnUGVyTW9kdWxlKTtcbiAgY29uc3Qgc2xvdENvbmZpZ3MgPSBPYmplY3Qua2V5cyhzbG90Q29uZmlnUGVyTW9kdWxlKS5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG4gICAgb2JqID0geyAuLi5vYmosIC4uLnNsb3RDb25maWdQZXJNb2R1bGVba2V5XSB9O1xuICAgIHJldHVybiBvYmo7XG4gIH0sIHt9KTtcbiAgcmV0dXJuIHNsb3RDb25maWdzO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUFsbEV4dGVuc2lvblNsb3RDb25maWdzKHNsb3RDb25maWdQZXJNb2R1bGU6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV4dGVuc2lvblNsb3RDb25maWc+Pikge1xuICBmb3IgKGxldCBbbW9kdWxlTmFtZSwgY29uZmlnQnlTbG90TmFtZV0gb2YgT2JqZWN0LmVudHJpZXMoc2xvdENvbmZpZ1Blck1vZHVsZSkpIHtcbiAgICBmb3IgKGxldCBbc2xvdE5hbWUsIGNvbmZpZ10gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnQnlTbG90TmFtZSkpIHtcbiAgICAgIHZhbGlkYXRlRXh0ZW5zaW9uU2xvdENvbmZpZyhjb25maWcsIG1vZHVsZU5hbWUsIHNsb3ROYW1lKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHRlbnNpb25TbG90Q29uZmlnKGNvbmZpZzogRXh0ZW5zaW9uU2xvdENvbmZpZywgbW9kdWxlTmFtZTogc3RyaW5nLCBzbG90TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IGVycm9yUHJlZml4ID0gYEV4dGVuc2lvbiBzbG90IGNvbmZpZyAnJHttb2R1bGVOYW1lfS5leHRlbnNpb25TbG90cy4ke3Nsb3ROYW1lfWA7XG4gIGNvbnN0IGludmFsaWRLZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKS5maWx0ZXIoKGspID0+ICFbJ2FkZCcsICdyZW1vdmUnLCAnb3JkZXInLCAnY29uZmlndXJlJ10uaW5jbHVkZXMoaykpO1xuICBpZiAoaW52YWxpZEtleXMubGVuZ3RoKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvclByZWZpeCArIGAnIGNvbnRhaW5zIGludmFsaWQga2V5cyAnJHtpbnZhbGlkS2V5cy5qb2luKFwiJywgJ1wiKX0nYCk7XG4gIH1cbiAgaWYgKGNvbmZpZy5hZGQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlnLmFkZCkgfHwgIWNvbmZpZy5hZGQuZXZlcnkoKG4pID0+IHR5cGVvZiBuID09PSAnc3RyaW5nJykpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JQcmVmaXggKyBgLmFkZCcgaXMgaW52YWxpZC4gTXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIChleHRlbnNpb24gSURzKWApO1xuICAgIH1cbiAgfVxuICBpZiAoY29uZmlnLnJlbW92ZSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjb25maWcucmVtb3ZlKSB8fCAhY29uZmlnLnJlbW92ZS5ldmVyeSgobikgPT4gdHlwZW9mIG4gPT09ICdzdHJpbmcnKSkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvclByZWZpeCArIGAucmVtb3ZlJyBpcyBpbnZhbGlkLiBNdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ3MgKGV4dGVuc2lvbiBJRHMpYCk7XG4gICAgfVxuICB9XG4gIGlmIChjb25maWcub3JkZXIpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlnLm9yZGVyKSB8fCAhY29uZmlnLm9yZGVyLmV2ZXJ5KChuKSA9PiB0eXBlb2YgbiA9PT0gJ3N0cmluZycpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yUHJlZml4ICsgYC5vcmRlcicgaXMgaW52YWxpZC4gTXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIChleHRlbnNpb24gSURzKWApO1xuICAgIH1cbiAgfVxuICBpZiAoY29uZmlnLmNvbmZpZ3VyZSkge1xuICAgIGlmICghaXNPcmRpbmFyeU9iamVjdChjb25maWcuY29uZmlndXJlKSkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvclByZWZpeCArIGAuY29uZmlndXJlJyBpcyBpbnZhbGlkLiBNdXN0IGJlIGFuIG9iamVjdCB3aXRoIGV4dGVuc2lvbiBJRHMgZm9yIGtleXNgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UHJvdmlkZWRDb25maWdzKGNvbmZpZ1N0YXRlOiBDb25maWdJbnRlcm5hbFN0b3JlLCB0ZW1wQ29uZmlnU3RhdGU6IFRlbXBvcmFyeUNvbmZpZ1N0b3JlKTogQXJyYXk8Q29uZmlnPiB7XG4gIHJldHVybiBbLi4uY29uZmlnU3RhdGUucHJvdmlkZWRDb25maWdzLm1hcCgoYykgPT4gYy5jb25maWcpLCB0ZW1wQ29uZmlnU3RhdGUuY29uZmlnXTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDb25maWdTY2hlbWEobW9kdWxlTmFtZTogc3RyaW5nLCBzY2hlbWE6IENvbmZpZ1NjaGVtYSwga2V5UGF0aCA9ICcnKSB7XG4gIGNvbnN0IHVwZGF0ZU1lc3NhZ2UgPSBgUGxlYXNlIHZlcmlmeSB0aGF0IHlvdSBhcmUgcnVubmluZyB0aGUgbGF0ZXN0IHZlcnNpb24gYW5kLCBpZiBzbywgYWxlcnQgdGhlIG1haW50YWluZXIuYDtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhzY2hlbWEpLmZpbHRlcigoaykgPT4gIWsuc3RhcnRzV2l0aCgnXycpKSkge1xuICAgIGNvbnN0IHRoaXNLZXlQYXRoID0ga2V5UGF0aCArIChrZXlQYXRoICYmICcuJykgKyBrZXk7XG4gICAgY29uc3Qgc2NoZW1hUGFydCA9IHNjaGVtYVtrZXldIGFzIENvbmZpZ1NjaGVtYTtcblxuICAgIGlmICh0aGlzS2V5UGF0aCA9PT0gJ0Rpc3BsYXkgY29uZGl0aW9ucycpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGAke21vZHVsZU5hbWV9IGRlY2xhcmVzIGEgY29uZmlndXJhdGlvbiBvcHRpb24gY2FsbGVkIFwiRGlzcGxheSBjb25kaXRpb25zXCI7IHRoZSBcIkRpc3BsYXkgY29uZGl0aW9uc1wiIG9wdGlvbiBpcyBhIHJlc2VydmVkIG5hbWUuICR7dXBkYXRlTWVzc2FnZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpc0tleVBhdGggPT09ICdUcmFuc2xhdGlvbiBvdmVycmlkZXMnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgJHttb2R1bGVOYW1lfSBkZWNsYXJlcyBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGNhbGxlZCBcIlRyYW5zbGF0aW9uIG92ZXJyaWRlc1wiOyB0aGUgXCJUcmFuc2xhdGlvbiBvdmVycmlkZXNcIiBvcHRpb24gaXMgYSByZXNlcnZlZCBuYW1lLiAke3VwZGF0ZU1lc3NhZ2V9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFpc09yZGluYXJ5T2JqZWN0KHNjaGVtYVBhcnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGAke21vZHVsZU5hbWV9IGhhcyBiYWQgY29uZmlnIHNjaGVtYSBkZWZpbml0aW9uIGZvciBrZXkgJyR7dGhpc0tleVBhdGh9Jy4gJHt1cGRhdGVNZXNzYWdlfWApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFzY2hlbWFQYXJ0Lmhhc093blByb3BlcnR5KCdfZGVmYXVsdCcpKSB7XG4gICAgICAvLyByZWN1cnNlIGZvciBuZXN0ZWQgY29uZmlnIGtleXNcbiAgICAgIHZhbGlkYXRlQ29uZmlnU2NoZW1hKG1vZHVsZU5hbWUsIHNjaGVtYVBhcnQsIHRoaXNLZXlQYXRoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50cyA9IHNjaGVtYVBhcnQuX2VsZW1lbnRzO1xuICAgIGlmIChoYXNPYmplY3RTY2hlbWEoZWxlbWVudHMpKSB7XG4gICAgICB2YWxpZGF0ZUNvbmZpZ1NjaGVtYShtb2R1bGVOYW1lLCBlbGVtZW50cywgdGhpc0tleVBhdGggKyAnLl9lbGVtZW50cycpO1xuICAgIH1cblxuICAgIGlmIChzY2hlbWFQYXJ0Ll92YWxpZGF0b3JzKSB7XG4gICAgICBmb3IgKGxldCB2YWxpZGF0b3Igb2Ygc2NoZW1hUGFydC5fdmFsaWRhdG9ycykge1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICBgJHttb2R1bGVOYW1lfSBoYXMgaW52YWxpZCB2YWxpZGF0b3IgZm9yIGtleSAnJHt0aGlzS2V5UGF0aH0nICR7dXBkYXRlTWVzc2FnZX0uYCArXG4gICAgICAgICAgICAgIGBcXG5cXG5JZiB5b3UncmUgdGhlIG1haW50YWluZXI6IHZhbGlkYXRvcnMgbXVzdCBiZSBmdW5jdGlvbnMgdGhhdCByZXR1cm4gZWl0aGVyIGAgK1xuICAgICAgICAgICAgICBgdW5kZWZpbmVkIG9yIGFuIGVycm9yIHN0cmluZy4gUmVjZWl2ZWQgJHt2YWxpZGF0b3J9LmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHNjaGVtYVBhcnQuX3R5cGU7XG4gICAgaWYgKHZhbHVlVHlwZSAmJiAhT2JqZWN0LnZhbHVlcyhUeXBlKS5pbmNsdWRlcyh2YWx1ZVR5cGUpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgJHttb2R1bGVOYW1lfSBoYXMgaW52YWxpZCB0eXBlIGZvciBrZXkgJyR7dGhpc0tleVBhdGh9JyAke3VwZGF0ZU1lc3NhZ2V9LmAgK1xuICAgICAgICAgIGBcXG5cXG5JZiB5b3UncmUgdGhlIG1haW50YWluZXI6IHRoZSBhbGxvd2VkIHR5cGVzIGFyZSAke09iamVjdC52YWx1ZXMoVHlwZSkuam9pbignLCAnKX0uIGAgK1xuICAgICAgICAgIGBSZWNlaXZlZCAnJHt2YWx1ZVR5cGV9J2AsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHNjaGVtYVBhcnQpLmV2ZXJ5KChrKSA9PiBbJ19kZXNjcmlwdGlvbicsICdfdmFsaWRhdG9ycycsICdfZWxlbWVudHMnLCAnX3R5cGUnXS5pbmNsdWRlcyhrKSkgJiZcbiAgICAgICFrZXlQYXRoLmluY2x1ZGVzKCcuX2VsZW1lbnRzJylcbiAgICApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGAke21vZHVsZU5hbWV9IGhhcyBiYWQgY29uZmlnIHNjaGVtYSBkZWZpbml0aW9uIGZvciBrZXkgJyR7dGhpc0tleVBhdGh9Jy4gJHt1cGRhdGVNZXNzYWdlfS5gICtcbiAgICAgICAgICBgXFxuXFxuSWYgeW91J3JlIHRoZSBtYWludGFpbmVyOiBhbGwgY29uZmlnIGVsZW1lbnRzIG11c3QgaGF2ZSBhIGRlZmF1bHQuIGAgK1xuICAgICAgICAgIGBSZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KHNjaGVtYVBhcnQpfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50cyAmJiB2YWx1ZVR5cGUgJiYgIVtUeXBlLkFycmF5LCBUeXBlLk9iamVjdF0uaW5jbHVkZXModmFsdWVUeXBlKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYCR7bW9kdWxlTmFtZX0gaGFzIGJhZCBjb25maWcgc2NoZW1hIGRlZmluaXRpb24gZm9yIGtleSAnJHt0aGlzS2V5UGF0aH0nLiAke3VwZGF0ZU1lc3NhZ2V9LmAgK1xuICAgICAgICAgIGBcXG5cXG5JZiB5b3UncmUgdGhlIG1haW50YWluZXI6IHRoZSAnZWxlbWVudHMnIGtleSBvbmx5IHdvcmtzIHdpdGggJ190eXBlJyBlcXVhbCB0byAnQXJyYXknIG9yICdPYmplY3QnLiBgICtcbiAgICAgICAgICBgUmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeSh2YWx1ZVR5cGUpfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDb25maWdGb3JNb2R1bGUoXG4gIG1vZHVsZU5hbWU6IHN0cmluZyxcbiAgY29uZmlnU3RhdGU6IENvbmZpZ0ludGVybmFsU3RvcmUsXG4gIHRlbXBDb25maWdTdGF0ZTogVGVtcG9yYXJ5Q29uZmlnU3RvcmUsXG4pOiBDb25maWdPYmplY3Qge1xuICBpZiAoIWNvbmZpZ1N0YXRlLnNjaGVtYXMuaGFzT3duUHJvcGVydHkobW9kdWxlTmFtZSkpIHtcbiAgICB0aHJvdyBFcnJvcignTm8gY29uZmlnIHNjaGVtYSBoYXMgYmVlbiBkZWZpbmVkIGZvciAnICsgbW9kdWxlTmFtZSk7XG4gIH1cblxuICBjb25zdCBzY2hlbWEgPSBjb25maWdTdGF0ZS5zY2hlbWFzW21vZHVsZU5hbWVdO1xuICBjb25zdCBpbnB1dENvbmZpZyA9IG1lcmdlQ29uZmlnc0Zvcihtb2R1bGVOYW1lLCBnZXRQcm92aWRlZENvbmZpZ3MoY29uZmlnU3RhdGUsIHRlbXBDb25maWdTdGF0ZSkpO1xuICB2YWxpZGF0ZVN0cnVjdHVyZShzY2hlbWEsIGlucHV0Q29uZmlnLCBtb2R1bGVOYW1lKTtcbiAgY29uc3QgY29uZmlnID0gc2V0RGVmYXVsdHMoc2NoZW1hLCBpbnB1dENvbmZpZyk7XG4gIHJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUoc2NoZW1hLCBjb25maWcsIG1vZHVsZU5hbWUpO1xuICBkZWxldGUgY29uZmlnLmV4dGVuc2lvblNsb3RzO1xuICByZXR1cm4gY29uZmlnO1xufVxuXG5mdW5jdGlvbiBtZXJnZUNvbmZpZ3NGb3IobW9kdWxlTmFtZTogc3RyaW5nLCBhbGxDb25maWdzOiBBcnJheTxDb25maWc+KTogQ29uZmlnT2JqZWN0IHtcbiAgY29uc3QgYWxsQ29uZmlnc0Zvck1vZHVsZSA9IGFsbENvbmZpZ3MubWFwKCh7IFttb2R1bGVOYW1lXTogYyB9KSA9PiBjKS5maWx0ZXIoKGMpID0+ICEhYyk7XG5cbiAgcmV0dXJuIG1lcmdlQ29uZmlncyhhbGxDb25maWdzRm9yTW9kdWxlKTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VDb25maWdzKGNvbmZpZ3M6IEFycmF5PENvbmZpZz4pIHtcbiAgY29uc3QgbWVyZ2VEZWVwQWxsID0gcmVkdWNlKG1lcmdlRGVlcFJpZ2h0KTtcbiAgcmV0dXJuIG1lcmdlRGVlcEFsbCh7fSwgY29uZmlncykgYXMgQ29uZmlnO1xufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IGNoZWNrIHRoZSBwcm92aWRlZCBjb25maWcgdHJlZSB0byBtYWtlIHN1cmUgdGhhdCBhbGxcbiAqIG9mIHRoZSBwcm92aWRlZCBwcm9wZXJ0aWVzIGV4aXN0IGluIHRoZSBzY2hlbWEsIGFuZCB0aGF0IHR5cGVzIGFyZVxuICogY29ycmVjdC4gRG9lcyBub3QgcnVuIHZhbGlkYXRvcnMgeWV0LCBzaW5jZSB0aG9zZSB3aWxsIGJlIHJ1biBvblxuICogdGhlIGNvbmZpZyB3aXRoIHRoZSBkZWZhdWx0cyBmaWxsZWQgaW4uXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlU3RydWN0dXJlKHNjaGVtYTogQ29uZmlnU2NoZW1hLCBjb25maWc6IENvbmZpZ09iamVjdCwga2V5UGF0aCA9ICcnKSB7XG4gIC8vIHZhbGlkYXRlIGVhY2ggY29uc3RpdHVlbnQgZWxlbWVudFxuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb25maWcpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjb25maWdba2V5XTtcbiAgICBjb25zdCB0aGlzS2V5UGF0aCA9IGtleVBhdGggKyAnLicgKyBrZXk7XG4gICAgY29uc3Qgc2NoZW1hUGFydCA9IHNjaGVtYVtrZXldIGFzIENvbmZpZ1NjaGVtYTtcblxuICAgIGlmICghc2NoZW1hLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIGlmICghKGtleSA9PT0gJ2V4dGVuc2lvblNsb3RzJyAmJiBrZXlQYXRoICE9PSAnJykpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgVW5rbm93biBjb25maWcga2V5ICcke3RoaXNLZXlQYXRofScgcHJvdmlkZWQuIElnbm9yaW5nLmApO1xuICAgICAgfVxuXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUJyYW5jaFN0cnVjdHVyZShzY2hlbWFQYXJ0LCB2YWx1ZSwgdGhpc0tleVBhdGgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQnJhbmNoU3RydWN0dXJlKHNjaGVtYVBhcnQ6IENvbmZpZ1NjaGVtYSwgdmFsdWU6IGFueSwga2V5UGF0aDogc3RyaW5nKSB7XG4gIGNoZWNrVHlwZShrZXlQYXRoLCBzY2hlbWFQYXJ0Ll90eXBlLCB2YWx1ZSk7XG5cbiAgaWYgKGlzT3JkaW5hcnlPYmplY3QodmFsdWUpKSB7XG4gICAgLy8gc3RydWN0dXJhbGx5IHZhbGlkYXRlIG9ubHkgaWYgdGhlcmUncyBlbGVtZW50cyBzcGVjaWZpZWRcbiAgICAvLyBvciB0aGVyZSdzIG5vIGBfZGVmYXVsdGAgdmFsdWUgKHdoaWNoIHdvdWxkIGluZGljYXRlIGEgZnJlZWZvcm0gb2JqZWN0KVxuICAgIGlmIChzY2hlbWFQYXJ0Ll90eXBlID09PSBUeXBlLk9iamVjdCkge1xuICAgICAgdmFsaWRhdGVEaWN0aW9uYXJ5U3RydWN0dXJlKHNjaGVtYVBhcnQsIHZhbHVlLCBrZXlQYXRoKTtcbiAgICB9IGVsc2UgaWYgKCFzY2hlbWFQYXJ0Lmhhc093blByb3BlcnR5KCdfZGVmYXVsdCcpKSB7XG4gICAgICAvLyByZWN1cnNlIHRvIHZhbGlkYXRlIG5lc3RlZCBvYmplY3Qgc3RydWN0dXJlXG4gICAgICB2YWxpZGF0ZVN0cnVjdHVyZShzY2hlbWFQYXJ0LCB2YWx1ZSwga2V5UGF0aCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChzY2hlbWFQYXJ0Ll90eXBlID09PSBUeXBlLkFycmF5KSB7XG4gICAgICB2YWxpZGF0ZUFycmF5U3RydWN0dXJlKHNjaGVtYVBhcnQsIHZhbHVlLCBrZXlQYXRoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVEaWN0aW9uYXJ5U3RydWN0dXJlKGRpY3Rpb25hcnlTY2hlbWE6IENvbmZpZ1NjaGVtYSwgY29uZmlnOiBDb25maWdPYmplY3QsIGtleVBhdGg6IHN0cmluZykge1xuICBpZiAoZGljdGlvbmFyeVNjaGVtYS5fZWxlbWVudHMpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb25maWcpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbmZpZ1trZXldO1xuICAgICAgdmFsaWRhdGVTdHJ1Y3R1cmUoZGljdGlvbmFyeVNjaGVtYS5fZWxlbWVudHMsIHZhbHVlLCBgJHtrZXlQYXRofS4ke2tleX1gKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBcnJheVN0cnVjdHVyZShhcnJheVNjaGVtYTogQ29uZmlnU2NoZW1hLCB2YWx1ZTogQ29uZmlnT2JqZWN0LCBrZXlQYXRoOiBzdHJpbmcpIHtcbiAgLy8gaWYgdGhlcmUgaXMgYW4gYXJyYXkgZWxlbWVudCBvYmplY3Qgc2NoZW1hLCB2ZXJpZnkgdGhhdCBlbGVtZW50cyBtYXRjaCBpdFxuICBpZiAoaGFzT2JqZWN0U2NoZW1hKGFycmF5U2NoZW1hLl9lbGVtZW50cykpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YWxpZGF0ZUJyYW5jaFN0cnVjdHVyZShhcnJheVNjaGVtYS5fZWxlbWVudHMsIHZhbHVlW2ldLCBgJHtrZXlQYXRofVske2l9XWApO1xuICAgIH1cbiAgfVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICBjaGVja1R5cGUoYCR7a2V5UGF0aH1bJHtpfV1gLCBhcnJheVNjaGVtYS5fZWxlbWVudHM/Ll90eXBlLCB2YWx1ZVtpXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSdW4gYWxsIHRoZSB2YWxpZGF0b3JzIGluIHRoZSBjb25maWcgdHJlZS4gVGhpcyBzaG91bGQgYmUgcnVuXG4gKiBvbiB0aGUgY29uZmlnIG9iamVjdCBhZnRlciBpdCBoYXMgYmVlbiBmaWxsZWQgaW4gd2l0aCBhbGwgdGhlIGRlZmF1bHRzLCBzaW5jZVxuICogaGlnaGVyLWxldmVsIHZhbGlkYXRvcnMgbWF5IHJlZmVyIHRvIGRlZmF1bHQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBydW5BbGxWYWxpZGF0b3JzSW5Db25maWdUcmVlKHNjaGVtYTogQ29uZmlnU2NoZW1hLCBjb25maWc6IENvbmZpZ09iamVjdCwga2V5UGF0aCA9ICcnKSB7XG4gIC8vIElmIGAhc2NoZW1hYCwgdGhlcmUgc2hvdWxkIGhhdmUgYmVlbiBhIHN0cnVjdHVyYWwgdmFsaWRhdGlvbiBlcnJvciBwcmludGVkIGFscmVhZHkuXG4gIGlmIChzY2hlbWEpIHtcbiAgICBpZiAoY29uZmlnICE9PSBzY2hlbWEuX2RlZmF1bHQpIHtcbiAgICAgIHJ1blZhbGlkYXRvcnMoa2V5UGF0aCwgc2NoZW1hLl92YWxpZGF0b3JzLCBjb25maWcpO1xuICAgIH1cblxuICAgIGlmIChpc09yZGluYXJ5T2JqZWN0KGNvbmZpZykpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbmZpZykpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb25maWdba2V5XTtcbiAgICAgICAgY29uc3QgdGhpc0tleVBhdGggPSBrZXlQYXRoICsgJy4nICsga2V5O1xuICAgICAgICBjb25zdCBzY2hlbWFQYXJ0ID0gc2NoZW1hW2tleV0gYXMgQ29uZmlnU2NoZW1hO1xuICAgICAgICBpZiAoc2NoZW1hLl90eXBlID09PSBUeXBlLk9iamVjdCAmJiBzY2hlbWEuX2VsZW1lbnRzKSB7XG4gICAgICAgICAgcnVuQWxsVmFsaWRhdG9yc0luQ29uZmlnVHJlZShzY2hlbWEuX2VsZW1lbnRzLCB2YWx1ZSwgdGhpc0tleVBhdGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUoc2NoZW1hUGFydCwgdmFsdWUsIHRoaXNLZXlQYXRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjb25maWcpICYmIHNjaGVtYS5fZWxlbWVudHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29uZmlnLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJ1bkFsbFZhbGlkYXRvcnNJbkNvbmZpZ1RyZWUoc2NoZW1hLl9lbGVtZW50cywgY29uZmlnW2ldLCBgJHtrZXlQYXRofVske2l9XWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1R5cGUoa2V5UGF0aDogc3RyaW5nLCBfdHlwZTogVHlwZSB8IHVuZGVmaW5lZCwgdmFsdWU6IGFueSkge1xuICBpZiAoX3R5cGUpIHtcbiAgICBjb25zdCB2YWxpZGF0b3I6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPiA9IHtcbiAgICAgIEFycmF5OiBpc0FycmF5LFxuICAgICAgQm9vbGVhbjogaXNCb29sZWFuLFxuICAgICAgQ29uY2VwdFV1aWQ6IGlzVXVpZCxcbiAgICAgIE51bWJlcjogaXNOdW1iZXIsXG4gICAgICBPYmplY3Q6IGlzT2JqZWN0LFxuICAgICAgU3RyaW5nOiBpc1N0cmluZyxcbiAgICAgIFVVSUQ6IGlzVXVpZCxcbiAgICAgIFBlcnNvbkF0dHJpYnV0ZVR5cGVVdWlkOiBpc1V1aWQsXG4gICAgICBQYXRpZW50SWRlbnRpZmllclR5cGVVdWlkOiBpc1V1aWQsXG4gICAgfTtcbiAgICBydW5WYWxpZGF0b3JzKGtleVBhdGgsIFt2YWxpZGF0b3JbX3R5cGVdXSwgdmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJ1blZhbGlkYXRvcnMoa2V5UGF0aDogc3RyaW5nLCB2YWxpZGF0b3JzOiBBcnJheTxGdW5jdGlvbj4gfCB1bmRlZmluZWQsIHZhbHVlOiBhbnkpIHtcbiAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICB0cnkge1xuICAgICAgZm9yIChsZXQgdmFsaWRhdG9yIG9mIHZhbGlkYXRvcnMpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yUmVzdWx0ID0gdmFsaWRhdG9yKHZhbHVlKTtcblxuICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRvclJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBjb25maWd1cmF0aW9uIGZvciAke2tleVBhdGh9OiAke3ZhbGlkYXRvclJlc3VsdH1gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBjb25maWd1cmF0aW9uIHZhbHVlICR7dmFsdWV9IGZvciAke2tleVBhdGh9OiAke3ZhbGlkYXRvclJlc3VsdH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBTa2lwcGluZyBpbnZhbGlkIHZhbGlkYXRvciBhdCBcIiR7a2V5UGF0aH1cIi4gRW5jb3VudGVyZWQgZXJyb3JcXG5cXHQke2V9YCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlY3Vyc2l2ZWx5IGZpbGwgaW4gdGhlIGNvbmZpZyB3aXRoIHZhbHVlcyBmcm9tIHRoZSBzY2hlbWEuXG5jb25zdCBzZXREZWZhdWx0cyA9IChzY2hlbWE6IENvbmZpZ1NjaGVtYSwgaW5wdXRDb25maWc6IENvbmZpZykgPT4ge1xuICBjb25zdCBjb25maWcgPSBjbG9uZShpbnB1dENvbmZpZyk7XG5cbiAgaWYgKCFzY2hlbWEpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc2NoZW1hKSkge1xuICAgIGNvbnN0IGNvbmZpZ1BhcnQgPSBjb25maWdba2V5XTtcbiAgICBjb25zdCBzY2hlbWFQYXJ0ID0gc2NoZW1hW2tleV0gYXMgQ29uZmlnU2NoZW1hO1xuXG4gICAgLy8gVGhlIGBzY2hlbWFQYXJ0ICYmYCBjbGF1c2Ugb2YgdGhpcyBgaWZgIHN0YXRlbWVudCB3aWxsIG9ubHkgZmFpbFxuICAgIC8vIGlmIHRoZSBzY2hlbWEgaXMgdmVyeSBpbnZhbGlkLiBJdCBpcyB0aGVyZSB0byBwcmV2ZW50IHRoZSBhcHAgZnJvbVxuICAgIC8vIGNyYXNoaW5nIGNvbXBsZXRlbHksIHRob3VnaCBpdCB3aWxsIHByb2R1Y2UgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICAvLyBJZiB0aGlzIGhhcHBlbnMsIHRoZXJlIHNob3VsZCBiZSBsZWdpYmxlIGVycm9ycyBpbiB0aGUgY29uc29sZSBmcm9tXG4gICAgLy8gdGhlIHNjaGVtYSB2YWxpZGF0b3IuXG4gICAgaWYgKHNjaGVtYVBhcnQgJiYgc2NoZW1hUGFydC5oYXNPd25Qcm9wZXJ0eSgnX2RlZmF1bHQnKSkge1xuICAgICAgLy8gV2UgYXNzdW1lIHRoYXQgc2NoZW1hUGFydCBkZWZpbmVzIGEgY29uZmlnIHZhbHVlLCBzaW5jZSBpdCBoYXNcbiAgICAgIC8vIGEgcHJvcGVydHkgYF9kZWZhdWx0YC5cbiAgICAgIGlmICghY29uZmlnLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgKGNvbmZpZ1trZXldIGFzIGFueSkgPSBzY2hlbWFQYXJ0WydfZGVmYXVsdCddO1xuICAgICAgfVxuXG4gICAgICAvLyBXZSBhbHNvIGNoZWNrIGlmIGl0IGlzIGFuIG9iamVjdCBvciBhcnJheSB3aXRoIG9iamVjdCBlbGVtZW50cywgaW4gd2hpY2ggY2FzZSB3ZSByZWN1cnNlXG4gICAgICBjb25zdCBlbGVtZW50cyA9IHNjaGVtYVBhcnQuX2VsZW1lbnRzO1xuXG4gICAgICBpZiAoY29uZmlnUGFydCAmJiBoYXNPYmplY3RTY2hlbWEoZWxlbWVudHMpKSB7XG4gICAgICAgIGlmIChzY2hlbWFQYXJ0Ll90eXBlID09PSBUeXBlLkFycmF5ICYmIEFycmF5LmlzQXJyYXkoY29uZmlnUGFydCkpIHtcbiAgICAgICAgICBjb25zdCBjb25maWdXaXRoRGVmYXVsdHMgPSBjb25maWdQYXJ0Lm1hcCgoY29uZjogQ29uZmlnKSA9PiBzZXREZWZhdWx0cyhlbGVtZW50cywgY29uZikpO1xuICAgICAgICAgIGNvbmZpZ1trZXldID0gY29uZmlnV2l0aERlZmF1bHRzO1xuICAgICAgICB9IGVsc2UgaWYgKHNjaGVtYVBhcnQuX3R5cGUgPT09IFR5cGUuT2JqZWN0KSB7XG4gICAgICAgICAgZm9yIChsZXQgb2JqZWN0S2V5IG9mIE9iamVjdC5rZXlzKGNvbmZpZ1BhcnQpKSB7XG4gICAgICAgICAgICBjb25maWdQYXJ0W29iamVjdEtleV0gPSBzZXREZWZhdWx0cyhlbGVtZW50cywgY29uZmlnUGFydFtvYmplY3RLZXldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzT3JkaW5hcnlPYmplY3Qoc2NoZW1hUGFydCkpIHtcbiAgICAgIC8vIFNpbmNlIHNjaGVtYVBhcnQgaGFzIG5vIHByb3BlcnR5IFwiX2RlZmF1bHRcIiwgaWYgaXQncyBhbiBvcmRpbmFyeSBvYmplY3RcbiAgICAgIC8vICh1bmxpa2UsIGltcG9ydGFudGx5LCB0aGUgdmFsaWRhdG9ycyBhcnJheSksIHdlIGFzc3VtZSBpdCBpcyBhIHBhcmVudCBjb25maWcgcHJvcGVydHkuXG4gICAgICAvLyBXZSByZWN1cnNlIHRvIGNvbmZpZ1trZXldIGFuZCBzY2hlbWFba2V5XS4gRGVmYXVsdCBjb25maWdba2V5XSB0byB7fS5cbiAgICAgIGNvbnN0IHNlbGVjdGVkQ29uZmlnUGFydCA9IGNvbmZpZy5oYXNPd25Qcm9wZXJ0eShrZXkpID8gY29uZmlnUGFydCA6IHt9O1xuXG4gICAgICBpZiAoaXNPcmRpbmFyeU9iamVjdChzZWxlY3RlZENvbmZpZ1BhcnQpKSB7XG4gICAgICAgIGNvbmZpZ1trZXldID0gc2V0RGVmYXVsdHMoc2NoZW1hUGFydCwgc2VsZWN0ZWRDb25maWdQYXJ0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufTtcblxuZnVuY3Rpb24gaGFzT2JqZWN0U2NoZW1hKGVsZW1lbnRzU2NoZW1hOiBPYmplY3QgfCB1bmRlZmluZWQpOiBlbGVtZW50c1NjaGVtYSBpcyBDb25maWdTY2hlbWEge1xuICByZXR1cm4gKFxuICAgICEhZWxlbWVudHNTY2hlbWEgJiYgT2JqZWN0LmtleXMoZWxlbWVudHNTY2hlbWEpLmZpbHRlcigoZSkgPT4gIVsnX2RlZmF1bHQnLCAnX3ZhbGlkYXRvcnMnXS5pbmNsdWRlcyhlKSkubGVuZ3RoID4gMFxuICApO1xufVxuXG5mdW5jdGlvbiBpc09yZGluYXJ5T2JqZWN0KHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZSAhPT0gbnVsbDtcbn1cblxuLyoqXG4gKiBDb3BpZWQgb3ZlciBmcm9tIGVzbS1leHRlbnNpb25zLiBJdCByaWdodGx5IGJlbG9uZ3MgdG8gdGhhdCBtb2R1bGUsIGJ1dCBlc20tY29uZmlnXG4gKiBjYW5ub3QgZGVwZW5kIG9uIGVzbS1leHRlbnNpb25zLlxuICovXG5mdW5jdGlvbiBnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgY29uc3QgW2V4dGVuc2lvbk5hbWVdID0gZXh0ZW5zaW9uSWQuc3BsaXQoJyMnKTtcbiAgcmV0dXJuIGV4dGVuc2lvbk5hbWU7XG59XG5cbi8qKlxuICogVGhlIGltcGxpY2l0Q29uZmlnU2NoZW1hIGlzIGltcGxpY2l0bHkgaW5jbHVkZWQgaW4gZXZlcnkgY29uZmlndXJhdGlvbiBzY2hlbWFcbiAqL1xuY29uc3QgaW1wbGljaXRDb25maWdTY2hlbWE6IENvbmZpZ1NjaGVtYSA9IHtcbiAgJ0Rpc3BsYXkgY29uZGl0aW9ucyc6IHtcbiAgICBwcml2aWxlZ2VzOiB7XG4gICAgICBfZGVzY3JpcHRpb246ICdUaGUgcHJpdmlsZWdlKHMpIHRoZSB1c2VyIG11c3QgaGF2ZSB0byB1c2UgdGhpcyBleHRlbnNpb24nLFxuICAgICAgX3R5cGU6IFR5cGUuQXJyYXksXG4gICAgICBfZGVmYXVsdDogW10sXG4gICAgfSxcbiAgfSxcbiAgJ1RyYW5zbGF0aW9uIG92ZXJyaWRlcyc6IHtcbiAgICBfZGVzY3JpcHRpb246XG4gICAgICAnUGVyLWxhbmd1YWdlIG92ZXJyaWRlcyBmb3IgZnJvbnRlbmQgdHJhbnNsYXRpb25zIHNob3VsZCBiZSBrZXllZCBieSBsYW5ndWFnZSBjb2RlIGFuZCBlYWNoIGxhbmd1YWdlIGRpY3Rpb25hcnkgY29udGFpbnMgdGhlIHRyYW5zbGF0aW9uIGtleSBhbmQgdGhlIGRpc3BsYXkgdmFsdWUnLFxuICAgIF90eXBlOiBUeXBlLk9iamVjdCxcbiAgICBfZGVmYXVsdDoge30sXG4gIH0sXG59O1xuIl0sIm5hbWVzIjpbImNsb25lIiwicmVkdWNlIiwibWVyZ2VEZWVwUmlnaHQiLCJlcXVhbHMiLCJvbWl0IiwiVHlwZSIsImlzQXJyYXkiLCJpc0Jvb2xlYW4iLCJpc1V1aWQiLCJpc051bWJlciIsImlzT2JqZWN0IiwiaXNTdHJpbmciLCJjb25maWdJbnRlcm5hbFN0b3JlIiwiY29uZmlnRXh0ZW5zaW9uU3RvcmUiLCJnZXRDb25maWdTdG9yZSIsImdldEV4dGVuc2lvbnNDb25maWdTdG9yZSIsImltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZSIsInRlbXBvcmFyeUNvbmZpZ1N0b3JlIiwiZ2V0RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSIsImNvbXB1dGVNb2R1bGVDb25maWciLCJnZXRTdGF0ZSIsInN1YnNjcmliZSIsImNvbmZpZ1N0YXRlIiwidGVtcENvbmZpZ1N0YXRlIiwiY29tcHV0ZUltcGxlbWVudGVyVG9vbHNDb25maWciLCJjb21wdXRlRXh0ZW5zaW9uU2xvdENvbmZpZ3MiLCJjb21wdXRlRXh0ZW5zaW9uQ29uZmlncyIsImV4dGVuc2lvblN0YXRlIiwic3RhdGUiLCJ0ZW1wU3RhdGUiLCJPYmplY3QiLCJrZXlzIiwic2NoZW1hcyIsIm1vZHVsZU5hbWUiLCJjb25maWciLCJnZXRDb25maWdGb3JNb2R1bGUiLCJtb2R1bGVTdG9yZSIsInNldFN0YXRlIiwibG9hZGVkIiwic2xvdENvbmZpZ3MiLCJnZXRFeHRlbnNpb25TbG90Q29uZmlncyIsIm5ld1Nsb3RTdG9yZUVudHJpZXMiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJtYXAiLCJzbG90TmFtZSIsInNsb3RTdG9yZSIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzbG90cyIsImdldEltcGxlbWVudGVyVG9vbHNDb25maWciLCJjb25maWdzIiwibW91bnRlZEV4dGVuc2lvbnMiLCJleHRlbnNpb24iLCJjb21wdXRlRXh0ZW5zaW9uQ29uZmlnIiwic2xvdE1vZHVsZU5hbWUiLCJleHRlbnNpb25Nb2R1bGVOYW1lIiwiZXh0ZW5zaW9uSWQiLCJkZWZpbmVDb25maWdTY2hlbWEiLCJzY2hlbWEiLCJ2YWxpZGF0ZUNvbmZpZ1NjaGVtYSIsImVuaGFuY2VkU2NoZW1hIiwiaW1wbGljaXRDb25maWdTY2hlbWEiLCJkZWZpbmVFeHRlbnNpb25Db25maWdTY2hlbWEiLCJleHRlbnNpb25OYW1lIiwiY29uc29sZSIsIndhcm4iLCJwcm92aWRlIiwic291cmNlTmFtZSIsInByb3ZpZGVkQ29uZmlncyIsInNvdXJjZSIsImdldENvbmZpZyIsIlByb21pc2UiLCJyZXNvbHZlIiwidXBkYXRlIiwidW5zdWJzY3JpYmUiLCJzdG9yZSIsImdldENvbmZpZ0ludGVybmFsIiwicHJvY2Vzc0NvbmZpZyIsInByb3ZpZGVkQ29uZmlnIiwia2V5UGF0aENvbnRleHQiLCJ2YWxpZGF0ZVN0cnVjdHVyZSIsInNldERlZmF1bHRzIiwicnVuQWxsVmFsaWRhdG9yc0luQ29uZmlnVHJlZSIsInNsb3RNb2R1bGVDb25maWciLCJnZXRFeHRlbnNpb25OYW1lRnJvbUlkIiwiZXh0ZW5zaW9uQ29uZmlnU2NoZW1hIiwibmFtZU9mU2NoZW1hU291cmNlIiwiZ2V0UHJvdmlkZWRDb25maWdzIiwibWVyZ2VDb25maWdzRm9yIiwiY29uZmlnT3ZlcnJpZGUiLCJleHRlbnNpb25TbG90cyIsImNvbmZpZ3VyZSIsImV4dGVuc2lvbkNvbmZpZyIsImNvbWJpbmVkQ29uZmlnIiwibWVyZ2VDb25maWdzIiwicmVzdWx0IiwiZ2V0U2NoZW1hV2l0aFZhbHVlc0FuZFNvdXJjZXMiLCJjb25maWdzQW5kU291cmNlcyIsImMiLCJjcmVhdGVWYWx1ZXNBbmRTb3VyY2VzVHJlZSIsImhhc093blByb3BlcnR5IiwiX3ZhbHVlIiwiX2RlZmF1bHQiLCJfc291cmNlIiwiaXNPcmRpbmFyeU9iamVjdCIsIm9iaiIsImtleSIsImFsbENvbmZpZ3MiLCJzbG90Q29uZmlnUGVyTW9kdWxlIiwidmFsaWRhdGVBbGxFeHRlbnNpb25TbG90Q29uZmlncyIsImNvbmZpZ0J5U2xvdE5hbWUiLCJ2YWxpZGF0ZUV4dGVuc2lvblNsb3RDb25maWciLCJlcnJvclByZWZpeCIsImludmFsaWRLZXlzIiwiZmlsdGVyIiwiayIsImluY2x1ZGVzIiwibGVuZ3RoIiwiZXJyb3IiLCJqb2luIiwiYWRkIiwiQXJyYXkiLCJldmVyeSIsIm4iLCJyZW1vdmUiLCJvcmRlciIsImtleVBhdGgiLCJ1cGRhdGVNZXNzYWdlIiwidGhpc0tleVBhdGgiLCJzY2hlbWFQYXJ0IiwiZWxlbWVudHMiLCJfZWxlbWVudHMiLCJoYXNPYmplY3RTY2hlbWEiLCJfdmFsaWRhdG9ycyIsInZhbGlkYXRvciIsInZhbHVlVHlwZSIsIl90eXBlIiwidmFsdWVzIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXJ0c1dpdGgiLCJFcnJvciIsImlucHV0Q29uZmlnIiwiYWxsQ29uZmlnc0Zvck1vZHVsZSIsIm1lcmdlRGVlcEFsbCIsInZhbHVlIiwidmFsaWRhdGVCcmFuY2hTdHJ1Y3R1cmUiLCJjaGVja1R5cGUiLCJ2YWxpZGF0ZURpY3Rpb25hcnlTdHJ1Y3R1cmUiLCJ2YWxpZGF0ZUFycmF5U3RydWN0dXJlIiwiZGljdGlvbmFyeVNjaGVtYSIsImFycmF5U2NoZW1hIiwiaSIsInJ1blZhbGlkYXRvcnMiLCJCb29sZWFuIiwiQ29uY2VwdFV1aWQiLCJOdW1iZXIiLCJTdHJpbmciLCJVVUlEIiwiUGVyc29uQXR0cmlidXRlVHlwZVV1aWQiLCJQYXRpZW50SWRlbnRpZmllclR5cGVVdWlkIiwidmFsaWRhdG9ycyIsInZhbGlkYXRvclJlc3VsdCIsImUiLCJjb25maWdQYXJ0IiwiY29uZmlnV2l0aERlZmF1bHRzIiwiY29uZiIsIm9iamVjdEtleSIsInNlbGVjdGVkQ29uZmlnUGFydCIsImVsZW1lbnRzU2NoZW1hIiwic3BsaXQiLCJwcml2aWxlZ2VzIiwiX2Rlc2NyaXB0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-config/src/module-config/module-config.ts\n");
|
|
6549
6549
|
|
|
6550
6550
|
/***/ }),
|
|
6551
6551
|
|
|
@@ -6556,7 +6556,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6556
6556
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6557
6557
|
|
|
6558
6558
|
"use strict";
|
|
6559
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ configExtensionStore: () => (/* binding */ configExtensionStore),\n/* harmony export */ configInternalStore: () => (/* binding */ configInternalStore),\n/* harmony export */ getConfigStore: () => (/* binding */ getConfigStore),\n/* harmony export */ getExtensionConfig: () => (/* binding */ getExtensionConfig),\n/* harmony export */ getExtensionConfigFromStore: () => (/* binding */ getExtensionConfigFromStore),\n/* harmony export */ getExtensionSlotConfig: () => (/* binding */ getExtensionSlotConfig),\n/* harmony export */ getExtensionSlotConfigFromStore: () => (/* binding */ getExtensionSlotConfigFromStore),\n/* harmony export */ getExtensionSlotsConfigStore: () => (/* binding */ getExtensionSlotsConfigStore),\n/* harmony export */ getExtensionsConfigStore: () => (/* binding */ getExtensionsConfigStore),\n/* harmony export */ implementerToolsConfigStore: () => (/* binding */ implementerToolsConfigStore),\n/* harmony export */ temporaryConfigStore: () => (/* binding */ temporaryConfigStore)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/omit.js\");\n/** @module @category Config */ \n\nvar configInternalStoreInitialValue = {\n providedConfigs: [],\n schemas: {}\n};\n/**\n * @internal\n */ var configInternalStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"config-internal\", configInternalStoreInitialValue);\n/** @internal */ var temporaryConfigStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"temporary-config\", {\n config: getTemporaryConfig()\n});\ntemporaryConfigStore.subscribe(function(state) {\n setTemporaryConfig(state.config);\n});\nfunction setTemporaryConfig(value) {\n localStorage.setItem(\"openmrs:temporaryConfig\", JSON.stringify(value));\n}\nfunction getTemporaryConfig() {\n try {\n return JSON.parse(localStorage.getItem(\"openmrs:temporaryConfig\") || \"{}\");\n } catch (e) {\n return {};\n }\n}\n/** @internal */ var configExtensionStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"config-store-of-extension-state\", {\n mountedExtensions: []\n});\nfunction initializeConfigStore() {\n return {\n config: null,\n loaded: false\n };\n}\n/** @internal */ function getConfigStore(moduleName) {\n // We use a store for each module's config, named `config-${moduleName}`\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.getGlobalStore)(\"config-module-\".concat(moduleName), initializeConfigStore());\n}\n/** @internal */ function getExtensionSlotsConfigStore() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.getGlobalStore)(\"config-extension-slots\", {\n slots: {}\n });\n}\n/** @internal */ function getExtensionSlotConfig(slotName) {\n return getExtensionSlotConfigFromStore(getExtensionSlotsConfigStore().getState(), slotName);\n}\n/** @internal */ function getExtensionSlotConfigFromStore(state, slotName) {\n var slotConfig = state.slots[slotName];\n return slotConfig !== null && slotConfig !== void 0 ? slotConfig : {\n loaded: false,\n config: {}\n };\n}\n/**\n * One store for all the extensions\n * @internal\n */ function getExtensionsConfigStore() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.getGlobalStore)(\"config-extensions\", {\n configs: {}\n });\n}\n/** @internal */ function getExtensionConfig(slotName, extensionId) {\n var extensionConfig = Object.assign({}, getExtensionConfigFromStore(getExtensionsConfigStore().getState(), slotName, extensionId));\n extensionConfig.config = (0,ramda__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([\n \"Display conditions\",\n \"Translation overrides\"\n ], extensionConfig.config);\n return extensionConfig;\n}\n/** @internal */ function getExtensionConfigFromStore(state, slotName, extensionId) {\n var _state_configs_slotName;\n var extensionConfig = (_state_configs_slotName = state.configs[slotName]) === null || _state_configs_slotName === void 0 ? void 0 : _state_configs_slotName[extensionId];\n return extensionConfig !== null && extensionConfig !== void 0 ? extensionConfig : {\n loaded: false,\n config: null\n };\n}\n/** @internal */ var implementerToolsConfigStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"config-implementer-tools\", {\n config: {}\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL21vZHVsZS1jb25maWcvc3RhdGUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2QixHQUMwQztBQUMxQztBQWdCN0IsSUFBTUcsa0NBQWtDO0lBQ3RDQyxpQkFBaUIsRUFBRTtJQUNuQkMsU0FBUyxDQUFDO0FBQ1o7QUFFQTs7Q0FFQyxHQUNNLElBQU1DLHNCQUFzQk4scUVBQWlCQSxDQUNsRCxtQkFDQUcsaUNBQ0E7QUFXRixjQUFjLEdBQ1AsSUFBTUksdUJBQXVCUCxxRUFBaUJBLENBQXVCLG9CQUFvQjtJQUM5RlEsUUFBUUM7QUFDVixHQUFHO0FBRUhGLHFCQUFxQkcsU0FBUyxDQUFDLFNBQUNDLE9BQVU7SUFDeENDLG1CQUFtQkQsTUFBTUgsTUFBTTtBQUNqQztBQUVBLFNBQVNJLG1CQUFtQkMsS0FBYSxFQUFFO0lBQ3pDQyxhQUFhQyxPQUFPLENBQUMsMkJBQTJCQyxLQUFLQyxTQUFTLENBQUNKO0FBQ2pFO0FBRUEsU0FBU0oscUJBQTZCO0lBQ3BDLElBQUk7UUFDRixPQUFPTyxLQUFLRSxLQUFLLENBQUNKLGFBQWFLLE9BQU8sQ0FBQyw4QkFBOEI7SUFDdkUsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsT0FBTyxDQUFDO0lBQ1Y7QUFDRjtBQXFCQSxjQUFjLEdBQ1AsSUFBTUMsdUJBQXVCckIscUVBQWlCQSxDQUF1QixtQ0FBbUM7SUFDN0dzQixtQkFBbUIsRUFBRTtBQUN2QixHQUFHO0FBYUgsU0FBU0Msd0JBQXdCO0lBQy9CLE9BQU87UUFDTGYsUUFBUSxJQUFJO1FBQ1pnQixRQUFRLEtBQUs7SUFDZjtBQUNGO0FBRUEsY0FBYyxHQUNQLFNBQVNDLGVBQWVDLFVBQWtCLEVBQUU7SUFDakQsd0VBQXdFO0lBQ3hFLE9BQU96QixrRUFBY0EsQ0FBYyxpQkFBNEIsT0FBWHlCLGFBQWNIO0FBQ3BFLENBQUM7QUFlRCxjQUFjLEdBQ1AsU0FBU0ksK0JBQStCO0lBQzdDLE9BQU8xQixrRUFBY0EsQ0FBNkIsMEJBQXlCO1FBQ3pFMkIsT0FBTyxDQUFDO0lBQ1Y7QUFDRixDQUFDO0FBRUQsY0FBYyxHQUNQLFNBQVNDLHVCQUF1QkMsUUFBZ0IsRUFBRTtJQUN2RCxPQUFPQyxnQ0FBZ0NKLCtCQUErQkssUUFBUSxJQUFJRjtBQUNwRixDQUFDO0FBRUQsY0FBYyxHQUNQLFNBQVNDLGdDQUFnQ3BCLEtBQWdDLEVBQUVtQixRQUFnQixFQUFFO0lBQ2xHLElBQU1HLGFBQWF0QixNQUFNaUIsS0FBSyxDQUFDRSxTQUFTO0lBQ3hDLE9BQU9HLHVCQUFBQSx3QkFBQUEsYUFBYztRQUFFVCxRQUFRLEtBQUs7UUFBRWhCLFFBQVEsQ0FBQztJQUFFLENBQUM7QUFDcEQsQ0FBQztBQVdEOzs7Q0FHQyxHQUNNLFNBQVMwQiwyQkFBMkI7SUFDekMsT0FBT2pDLGtFQUFjQSxDQUF5QixxQkFBb0I7UUFDaEVrQyxTQUFTLENBQUM7SUFDWjtBQUNGLENBQUM7QUFFRCxjQUFjLEdBQ1AsU0FBU0MsbUJBQW1CTixRQUFnQixFQUFFTyxXQUFtQixFQUFFO0lBQ3hFLElBQU1DLGtCQUFrQkMsT0FBT0MsTUFBTSxDQUNuQyxDQUFDLEdBQ0RDLDRCQUE0QlAsMkJBQTJCRixRQUFRLElBQUlGLFVBQVVPO0lBRS9FQyxnQkFBZ0I5QixNQUFNLEdBQUdOLGlEQUFJQSxDQUFDO1FBQUM7UUFBc0I7S0FBd0IsRUFBRW9DLGdCQUFnQjlCLE1BQU07SUFDckcsT0FBTzhCO0FBQ1QsQ0FBQztBQUVELGNBQWMsR0FDUCxTQUFTRyw0QkFBNEI5QixLQUE0QixFQUFFbUIsUUFBZ0IsRUFBRU8sV0FBbUIsRUFBRTtRQUN2RjFCO0lBQXhCLElBQU0yQixrQkFBa0IzQixDQUFBQSwwQkFBQUEsTUFBTXdCLE9BQU8sQ0FBQ0wsU0FBUyxjQUF2Qm5CLHFDQUFBQSxLQUFBQSxJQUFBQSx1QkFBeUIsQ0FBQzBCLFlBQVk7SUFDOUQsT0FBT0MsNEJBQUFBLDZCQUFBQSxrQkFBbUI7UUFBRWQsUUFBUSxLQUFLO1FBQUVoQixRQUFRLElBQUk7SUFBQyxDQUFDO0FBQzNELENBQUM7QUFVRCxjQUFjLEdBQ1AsSUFBTWtDLDhCQUE4QjFDLHFFQUFpQkEsQ0FBOEIsNEJBQTRCO0lBQ3BIUSxRQUFRLENBQUM7QUFDWCxHQUFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWNvbmZpZy9zcmMvbW9kdWxlLWNvbmZpZy9zdGF0ZS50cz8zMzMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBDb25maWcgKi9cbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlLCBnZXRHbG9iYWxTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1zdGF0ZSc7XG5pbXBvcnQgeyBvbWl0IH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHsgQ29uZmlnLCBDb25maWdPYmplY3QsIENvbmZpZ1NjaGVtYSwgRXh0ZW5zaW9uU2xvdENvbmZpZ09iamVjdCwgUHJvdmlkZWRDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgc3RvcmVcbiAqICAgQSBzdG9yZSBvZiB0aGUgaW5wdXRzIGFuZCBpbnRlcm5hbCBzdGF0ZVxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnSW50ZXJuYWxTdG9yZSB7XG4gIC8qKiBDb25maWdzIGFkZGVkIHVzaW5nIHRoZSBgcHJvdmlkZWAgZnVuY3Rpb24gKi9cbiAgcHJvdmlkZWRDb25maWdzOiBBcnJheTxQcm92aWRlZENvbmZpZz47XG4gIC8qKiBBbiBvYmplY3Qgd2l0aCBtb2R1bGUgbmFtZXMgZm9yIGtleXMgYW5kIHNjaGVtYXMgZm9yIHZhbHVlcyAqL1xuICBzY2hlbWFzOiBSZWNvcmQ8c3RyaW5nLCBDb25maWdTY2hlbWE+O1xuICAvKiogV2hldGhlciB0byB1c2UgZGV2IGRlZmF1bHRzIG9yIG5vdCAqL1xufVxuXG5jb25zdCBjb25maWdJbnRlcm5hbFN0b3JlSW5pdGlhbFZhbHVlID0ge1xuICBwcm92aWRlZENvbmZpZ3M6IFtdLFxuICBzY2hlbWFzOiB7fSxcbn07XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWdJbnRlcm5hbFN0b3JlID0gY3JlYXRlR2xvYmFsU3RvcmU8Q29uZmlnSW50ZXJuYWxTdG9yZT4oXG4gICdjb25maWctaW50ZXJuYWwnLFxuICBjb25maWdJbnRlcm5hbFN0b3JlSW5pdGlhbFZhbHVlLFxuKTtcblxuLyoqXG4gKiBUZW1wb3JhcnkgY29uZmlnXG4gKiAgIExvY2FsU3RvcmFnZS1iYXNlZCBjb25maWcgdXNlZCBieSB0aGUgaW1wbGVtZW50ZXIgdG9vbHNcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBvcmFyeUNvbmZpZ1N0b3JlIHtcbiAgY29uZmlnOiBDb25maWc7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBjb25zdCB0ZW1wb3JhcnlDb25maWdTdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPFRlbXBvcmFyeUNvbmZpZ1N0b3JlPigndGVtcG9yYXJ5LWNvbmZpZycsIHtcbiAgY29uZmlnOiBnZXRUZW1wb3JhcnlDb25maWcoKSxcbn0pO1xuXG50ZW1wb3JhcnlDb25maWdTdG9yZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gIHNldFRlbXBvcmFyeUNvbmZpZyhzdGF0ZS5jb25maWcpO1xufSk7XG5cbmZ1bmN0aW9uIHNldFRlbXBvcmFyeUNvbmZpZyh2YWx1ZTogQ29uZmlnKSB7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdvcGVubXJzOnRlbXBvcmFyeUNvbmZpZycsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIGdldFRlbXBvcmFyeUNvbmZpZygpOiBDb25maWcge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdvcGVubXJzOnRlbXBvcmFyeUNvbmZpZycpIHx8ICd7fScpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbi8qKlxuICogQ29uZmlnLXNpZGUgZXh0ZW5zaW9uIHN0b3JlXG4gKiAgIEp1c3Qgd2hhdCBlc20tY29uZmlnIG5lZWRzIHRvIGtub3cgYWJvdXQgZXh0ZW5zaW9uIHN0YXRlLiBUaGlzXG4gKiAgIGlzIHRvIGF2b2lkIGhhdmluZyBlc20tY29uZmlnIGRlcGVuZCBvbiBlc20tZXh0ZW5zaW9ucywgd2hpY2ggd291bGRcbiAqICAgY3JlYXRlIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0V4dGVuc2lvblN0b3JlIHtcbiAgbW91bnRlZEV4dGVuc2lvbnM6IEFycmF5PENvbmZpZ0V4dGVuc2lvblN0b3JlRWxlbWVudD47XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnRXh0ZW5zaW9uU3RvcmVFbGVtZW50IHtcbiAgc2xvdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgZXh0ZW5zaW9uTW9kdWxlTmFtZTogc3RyaW5nO1xuICBzbG90TmFtZTogc3RyaW5nO1xuICBleHRlbnNpb25JZDogc3RyaW5nO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgY29uc3QgY29uZmlnRXh0ZW5zaW9uU3RvcmUgPSBjcmVhdGVHbG9iYWxTdG9yZTxDb25maWdFeHRlbnNpb25TdG9yZT4oJ2NvbmZpZy1zdG9yZS1vZi1leHRlbnNpb24tc3RhdGUnLCB7XG4gIG1vdW50ZWRFeHRlbnNpb25zOiBbXSxcbn0pO1xuXG4vKipcbiAqIE91dHB1dCBjb25maWdzXG4gKlxuICogRWFjaCBtb2R1bGUgaGFzIGl0cyBvd24gc3RvcmVzIGZvciBpdHMgY29uZmlnIGFuZCBpdHMgZXh0ZW5zaW9uIHNsb3RzJyBjb25maWdzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnU3RvcmUge1xuICBjb25maWc6IENvbmZpZ09iamVjdCB8IG51bGw7XG4gIGxvYWRlZDogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gaW5pdGlhbGl6ZUNvbmZpZ1N0b3JlKCkge1xuICByZXR1cm4ge1xuICAgIGNvbmZpZzogbnVsbCxcbiAgICBsb2FkZWQ6IGZhbHNlLFxuICB9O1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnU3RvcmUobW9kdWxlTmFtZTogc3RyaW5nKSB7XG4gIC8vIFdlIHVzZSBhIHN0b3JlIGZvciBlYWNoIG1vZHVsZSdzIGNvbmZpZywgbmFtZWQgYGNvbmZpZy0ke21vZHVsZU5hbWV9YFxuICByZXR1cm4gZ2V0R2xvYmFsU3RvcmU8Q29uZmlnU3RvcmU+KGBjb25maWctbW9kdWxlLSR7bW9kdWxlTmFtZX1gLCBpbml0aWFsaXplQ29uZmlnU3RvcmUoKSk7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYWxsIHRoZSBzcGVjaWZpYyBleHRlbnNpb24gc2xvdHNcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUge1xuICBzbG90czoge1xuICAgIFtzbG90TmFtZTogc3RyaW5nXToge1xuICAgICAgY29uZmlnOiBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0O1xuICAgICAgbG9hZGVkOiBib29sZWFuO1xuICAgIH07XG4gIH07XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlKCkge1xuICByZXR1cm4gZ2V0R2xvYmFsU3RvcmU8RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZT4oYGNvbmZpZy1leHRlbnNpb24tc2xvdHNgLCB7XG4gICAgc2xvdHM6IHt9LFxuICB9KTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEV4dGVuc2lvblNsb3RDb25maWcoc2xvdE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZShnZXRFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlKCkuZ2V0U3RhdGUoKSwgc2xvdE5hbWUpO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZShzdGF0ZTogRXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSwgc2xvdE5hbWU6IHN0cmluZykge1xuICBjb25zdCBzbG90Q29uZmlnID0gc3RhdGUuc2xvdHNbc2xvdE5hbWVdO1xuICByZXR1cm4gc2xvdENvbmZpZyA/PyB7IGxvYWRlZDogZmFsc2UsIGNvbmZpZzoge30gfTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25zQ29uZmlnU3RvcmUge1xuICBjb25maWdzOiB7XG4gICAgW3Nsb3ROYW1lOiBzdHJpbmddOiB7XG4gICAgICBbZXh0ZW5zaW9uSWQ6IHN0cmluZ106IENvbmZpZ1N0b3JlO1xuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogT25lIHN0b3JlIGZvciBhbGwgdGhlIGV4dGVuc2lvbnNcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlKCkge1xuICByZXR1cm4gZ2V0R2xvYmFsU3RvcmU8RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlPihgY29uZmlnLWV4dGVuc2lvbnNgLCB7XG4gICAgY29uZmlnczoge30sXG4gIH0pO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uQ29uZmlnKHNsb3ROYW1lOiBzdHJpbmcsIGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgY29uc3QgZXh0ZW5zaW9uQ29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICB7fSxcbiAgICBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUoZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlKCkuZ2V0U3RhdGUoKSwgc2xvdE5hbWUsIGV4dGVuc2lvbklkKSxcbiAgKTtcbiAgZXh0ZW5zaW9uQ29uZmlnLmNvbmZpZyA9IG9taXQoWydEaXNwbGF5IGNvbmRpdGlvbnMnLCAnVHJhbnNsYXRpb24gb3ZlcnJpZGVzJ10sIGV4dGVuc2lvbkNvbmZpZy5jb25maWcpO1xuICByZXR1cm4gZXh0ZW5zaW9uQ29uZmlnO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlKHN0YXRlOiBFeHRlbnNpb25zQ29uZmlnU3RvcmUsIHNsb3ROYW1lOiBzdHJpbmcsIGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgY29uc3QgZXh0ZW5zaW9uQ29uZmlnID0gc3RhdGUuY29uZmlnc1tzbG90TmFtZV0/LltleHRlbnNpb25JZF07XG4gIHJldHVybiBleHRlbnNpb25Db25maWcgPz8geyBsb2FkZWQ6IGZhbHNlLCBjb25maWc6IG51bGwgfTtcbn1cblxuLyoqXG4gKiBBIHN0b3JlIG9mIHRoZSBpbXBsZW1lbnRlciB0b29scyBvdXRwdXQgY29uZmlnXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbXBsZW1lbnRlclRvb2xzQ29uZmlnU3RvcmUge1xuICBjb25maWc6IENvbmZpZztcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IGltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPEltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZT4oJ2NvbmZpZy1pbXBsZW1lbnRlci10b29scycsIHtcbiAgY29uZmlnOiB7fSxcbn0pO1xuIl0sIm5hbWVzIjpbImNyZWF0ZUdsb2JhbFN0b3JlIiwiZ2V0R2xvYmFsU3RvcmUiLCJvbWl0IiwiY29uZmlnSW50ZXJuYWxTdG9yZUluaXRpYWxWYWx1ZSIsInByb3ZpZGVkQ29uZmlncyIsInNjaGVtYXMiLCJjb25maWdJbnRlcm5hbFN0b3JlIiwidGVtcG9yYXJ5Q29uZmlnU3RvcmUiLCJjb25maWciLCJnZXRUZW1wb3JhcnlDb25maWciLCJzdWJzY3JpYmUiLCJzdGF0ZSIsInNldFRlbXBvcmFyeUNvbmZpZyIsInZhbHVlIiwibG9jYWxTdG9yYWdlIiwic2V0SXRlbSIsIkpTT04iLCJzdHJpbmdpZnkiLCJwYXJzZSIsImdldEl0ZW0iLCJlIiwiY29uZmlnRXh0ZW5zaW9uU3RvcmUiLCJtb3VudGVkRXh0ZW5zaW9ucyIsImluaXRpYWxpemVDb25maWdTdG9yZSIsImxvYWRlZCIsImdldENvbmZpZ1N0b3JlIiwibW9kdWxlTmFtZSIsImdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUiLCJzbG90cyIsImdldEV4dGVuc2lvblNsb3RDb25maWciLCJzbG90TmFtZSIsImdldEV4dGVuc2lvblNsb3RDb25maWdGcm9tU3RvcmUiLCJnZXRTdGF0ZSIsInNsb3RDb25maWciLCJnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUiLCJjb25maWdzIiwiZ2V0RXh0ZW5zaW9uQ29uZmlnIiwiZXh0ZW5zaW9uSWQiLCJleHRlbnNpb25Db25maWciLCJPYmplY3QiLCJhc3NpZ24iLCJnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUiLCJpbXBsZW1lbnRlclRvb2xzQ29uZmlnU3RvcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-config/src/module-config/state.ts\n");
|
|
6559
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ configExtensionStore: () => (/* binding */ configExtensionStore),\n/* harmony export */ configInternalStore: () => (/* binding */ configInternalStore),\n/* harmony export */ getConfigStore: () => (/* binding */ getConfigStore),\n/* harmony export */ getExtensionConfig: () => (/* binding */ getExtensionConfig),\n/* harmony export */ getExtensionConfigFromStore: () => (/* binding */ getExtensionConfigFromStore),\n/* harmony export */ getExtensionSlotConfig: () => (/* binding */ getExtensionSlotConfig),\n/* harmony export */ getExtensionSlotConfigFromStore: () => (/* binding */ getExtensionSlotConfigFromStore),\n/* harmony export */ getExtensionSlotsConfigStore: () => (/* binding */ getExtensionSlotsConfigStore),\n/* harmony export */ getExtensionsConfigStore: () => (/* binding */ getExtensionsConfigStore),\n/* harmony export */ implementerToolsConfigStore: () => (/* binding */ implementerToolsConfigStore),\n/* harmony export */ temporaryConfigStore: () => (/* binding */ temporaryConfigStore)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ \"../../../node_modules/ramda/es/omit.js\");\n/** @module @category Config */ \n\nvar configInternalStoreInitialValue = {\n providedConfigs: [],\n schemas: {}\n};\n/**\n * @internal\n */ var configInternalStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"config-internal\", configInternalStoreInitialValue);\n/** @internal */ var temporaryConfigStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"temporary-config\", {\n config: getTemporaryConfig()\n});\ntemporaryConfigStore.subscribe(function(state) {\n setTemporaryConfig(state.config);\n});\nfunction setTemporaryConfig(value) {\n localStorage.setItem(\"openmrs:temporaryConfig\", JSON.stringify(value));\n}\nfunction getTemporaryConfig() {\n try {\n return JSON.parse(localStorage.getItem(\"openmrs:temporaryConfig\") || \"{}\");\n } catch (e) {\n return {};\n }\n}\n/** @internal */ var configExtensionStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"config-store-of-extension-state\", {\n mountedExtensions: []\n});\nfunction initializeConfigStore() {\n return {\n config: null,\n loaded: false\n };\n}\n/** @internal */ function getConfigStore(moduleName) {\n // We use a store for each module's config, named `config-${moduleName}`\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.getGlobalStore)(\"config-module-\".concat(moduleName), initializeConfigStore());\n}\n/** @internal */ function getExtensionSlotsConfigStore() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.getGlobalStore)(\"config-extension-slots\", {\n slots: {}\n });\n}\n/** @internal */ function getExtensionSlotConfig(slotName) {\n return getExtensionSlotConfigFromStore(getExtensionSlotsConfigStore().getState(), slotName);\n}\n/** @internal */ function getExtensionSlotConfigFromStore(state, slotName) {\n var slotConfig = state.slots[slotName];\n return slotConfig !== null && slotConfig !== void 0 ? slotConfig : {\n loaded: false,\n config: {}\n };\n}\n/**\n * One store for all the extensions\n * @internal\n */ function getExtensionsConfigStore() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.getGlobalStore)(\"config-extensions\", {\n configs: {}\n });\n}\n/** @internal */ function getExtensionConfig(slotName, extensionId) {\n var extensionConfig = Object.assign({}, getExtensionConfigFromStore(getExtensionsConfigStore().getState(), slotName, extensionId));\n extensionConfig.config = (0,ramda__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([\n \"Display conditions\",\n \"Translation overrides\"\n ], extensionConfig.config);\n return extensionConfig;\n}\n/** @internal */ function getExtensionConfigFromStore(state, slotName, extensionId) {\n var _state_configs_slotName;\n var extensionConfig = (_state_configs_slotName = state.configs[slotName]) === null || _state_configs_slotName === void 0 ? void 0 : _state_configs_slotName[extensionId];\n return extensionConfig !== null && extensionConfig !== void 0 ? extensionConfig : {\n loaded: false,\n config: null\n };\n}\n/** @internal */ var implementerToolsConfigStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.createGlobalStore)(\"config-implementer-tools\", {\n config: {}\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL21vZHVsZS1jb25maWcvc3RhdGUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUE2QixHQUMwQztBQUMxQztBQWdCN0IsSUFBTUcsa0NBQWtDO0lBQ3RDQyxpQkFBaUIsRUFBRTtJQUNuQkMsU0FBUyxDQUFDO0FBQ1o7QUFFQTs7Q0FFQyxHQUNNLElBQU1DLHNCQUFzQk4scUVBQWlCQSxDQUNsRCxtQkFDQUcsaUNBQ0E7QUFXRixjQUFjLEdBQ1AsSUFBTUksdUJBQXVCUCxxRUFBaUJBLENBQXVCLG9CQUFvQjtJQUM5RlEsUUFBUUM7QUFDVixHQUFHO0FBRUhGLHFCQUFxQkcsU0FBUyxDQUFDLFNBQUNDLE9BQVU7SUFDeENDLG1CQUFtQkQsTUFBTUgsTUFBTTtBQUNqQztBQUVBLFNBQVNJLG1CQUFtQkMsS0FBYSxFQUFFO0lBQ3pDQyxhQUFhQyxPQUFPLENBQUMsMkJBQTJCQyxLQUFLQyxTQUFTLENBQUNKO0FBQ2pFO0FBRUEsU0FBU0oscUJBQTZCO0lBQ3BDLElBQUk7UUFDRixPQUFPTyxLQUFLRSxLQUFLLENBQUNKLGFBQWFLLE9BQU8sQ0FBQyw4QkFBOEI7SUFDdkUsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsT0FBTyxDQUFDO0lBQ1Y7QUFDRjtBQXFCQSxjQUFjLEdBQ1AsSUFBTUMsdUJBQXVCckIscUVBQWlCQSxDQUF1QixtQ0FBbUM7SUFDN0dzQixtQkFBbUIsRUFBRTtBQUN2QixHQUFHO0FBYUgsU0FBU0Msd0JBQXdCO0lBQy9CLE9BQU87UUFDTGYsUUFBUSxJQUFJO1FBQ1pnQixRQUFRLEtBQUs7SUFDZjtBQUNGO0FBRUEsY0FBYyxHQUNQLFNBQVNDLGVBQWVDLFVBQWtCLEVBQUU7SUFDakQsd0VBQXdFO0lBQ3hFLE9BQU96QixrRUFBY0EsQ0FBYyxpQkFBNEIsT0FBWHlCLGFBQWNIO0FBQ3BFLENBQUM7QUFlRCxjQUFjLEdBQ1AsU0FBU0ksK0JBQStCO0lBQzdDLE9BQU8xQixrRUFBY0EsQ0FBNkIsMEJBQXlCO1FBQ3pFMkIsT0FBTyxDQUFDO0lBQ1Y7QUFDRixDQUFDO0FBRUQsY0FBYyxHQUNQLFNBQVNDLHVCQUF1QkMsUUFBZ0IsRUFBRTtJQUN2RCxPQUFPQyxnQ0FBZ0NKLCtCQUErQkssUUFBUSxJQUFJRjtBQUNwRixDQUFDO0FBRUQsY0FBYyxHQUNQLFNBQVNDLGdDQUFnQ3BCLEtBQWdDLEVBQUVtQixRQUFnQixFQUFFO0lBQ2xHLElBQU1HLGFBQWF0QixNQUFNaUIsS0FBSyxDQUFDRSxTQUFTO0lBQ3hDLE9BQU9HLHVCQUFBQSx3QkFBQUEsYUFBYztRQUFFVCxRQUFRLEtBQUs7UUFBRWhCLFFBQVEsQ0FBQztJQUFFLENBQUM7QUFDcEQsQ0FBQztBQVdEOzs7Q0FHQyxHQUNNLFNBQVMwQiwyQkFBMkI7SUFDekMsT0FBT2pDLGtFQUFjQSxDQUF5QixxQkFBb0I7UUFDaEVrQyxTQUFTLENBQUM7SUFDWjtBQUNGLENBQUM7QUFFRCxjQUFjLEdBQ1AsU0FBU0MsbUJBQW1CTixRQUFnQixFQUFFTyxXQUFtQixFQUFFO0lBQ3hFLElBQU1DLGtCQUFrQkMsT0FBT0MsTUFBTSxDQUNuQyxDQUFDLEdBQ0RDLDRCQUE0QlAsMkJBQTJCRixRQUFRLElBQUlGLFVBQVVPO0lBRS9FQyxnQkFBZ0I5QixNQUFNLEdBQUdOLGlEQUFJQSxDQUFDO1FBQUM7UUFBc0I7S0FBd0IsRUFBRW9DLGdCQUFnQjlCLE1BQU07SUFDckcsT0FBTzhCO0FBQ1QsQ0FBQztBQUVELGNBQWMsR0FDUCxTQUFTRyw0QkFBNEI5QixLQUE0QixFQUFFbUIsUUFBZ0IsRUFBRU8sV0FBbUIsRUFBRTtRQUN2RjFCO0lBQXhCLElBQU0yQixrQkFBa0IzQixDQUFBQSwwQkFBQUEsTUFBTXdCLE9BQU8sQ0FBQ0wsU0FBUyxjQUF2Qm5CLHFDQUFBQSxLQUFBQSxJQUFBQSx1QkFBeUIsQ0FBQzBCLFlBQVk7SUFDOUQsT0FBT0MsNEJBQUFBLDZCQUFBQSxrQkFBbUI7UUFBRWQsUUFBUSxLQUFLO1FBQUVoQixRQUFRLElBQUk7SUFBQyxDQUFDO0FBQzNELENBQUM7QUFVRCxjQUFjLEdBQ1AsSUFBTWtDLDhCQUE4QjFDLHFFQUFpQkEsQ0FBOEIsNEJBQTRCO0lBQ3BIUSxRQUFRLENBQUM7QUFDWCxHQUFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWNvbmZpZy9zcmMvbW9kdWxlLWNvbmZpZy9zdGF0ZS50cz8zMzMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBDb25maWcgKi9cbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlLCBnZXRHbG9iYWxTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1zdGF0ZSc7XG5pbXBvcnQgeyBvbWl0IH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIENvbmZpZ09iamVjdCwgQ29uZmlnU2NoZW1hLCBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0LCBQcm92aWRlZENvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBJbnRlcm5hbCBzdG9yZVxuICogICBBIHN0b3JlIG9mIHRoZSBpbnB1dHMgYW5kIGludGVybmFsIHN0YXRlXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdJbnRlcm5hbFN0b3JlIHtcbiAgLyoqIENvbmZpZ3MgYWRkZWQgdXNpbmcgdGhlIGBwcm92aWRlYCBmdW5jdGlvbiAqL1xuICBwcm92aWRlZENvbmZpZ3M6IEFycmF5PFByb3ZpZGVkQ29uZmlnPjtcbiAgLyoqIEFuIG9iamVjdCB3aXRoIG1vZHVsZSBuYW1lcyBmb3Iga2V5cyBhbmQgc2NoZW1hcyBmb3IgdmFsdWVzICovXG4gIHNjaGVtYXM6IFJlY29yZDxzdHJpbmcsIENvbmZpZ1NjaGVtYT47XG4gIC8qKiBXaGV0aGVyIHRvIHVzZSBkZXYgZGVmYXVsdHMgb3Igbm90ICovXG59XG5cbmNvbnN0IGNvbmZpZ0ludGVybmFsU3RvcmVJbml0aWFsVmFsdWUgPSB7XG4gIHByb3ZpZGVkQ29uZmlnczogW10sXG4gIHNjaGVtYXM6IHt9LFxufTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ0ludGVybmFsU3RvcmUgPSBjcmVhdGVHbG9iYWxTdG9yZTxDb25maWdJbnRlcm5hbFN0b3JlPihcbiAgJ2NvbmZpZy1pbnRlcm5hbCcsXG4gIGNvbmZpZ0ludGVybmFsU3RvcmVJbml0aWFsVmFsdWUsXG4pO1xuXG4vKipcbiAqIFRlbXBvcmFyeSBjb25maWdcbiAqICAgTG9jYWxTdG9yYWdlLWJhc2VkIGNvbmZpZyB1c2VkIGJ5IHRoZSBpbXBsZW1lbnRlciB0b29sc1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcG9yYXJ5Q29uZmlnU3RvcmUge1xuICBjb25maWc6IENvbmZpZztcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IHRlbXBvcmFyeUNvbmZpZ1N0b3JlID0gY3JlYXRlR2xvYmFsU3RvcmU8VGVtcG9yYXJ5Q29uZmlnU3RvcmU+KCd0ZW1wb3JhcnktY29uZmlnJywge1xuICBjb25maWc6IGdldFRlbXBvcmFyeUNvbmZpZygpLFxufSk7XG5cbnRlbXBvcmFyeUNvbmZpZ1N0b3JlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgc2V0VGVtcG9yYXJ5Q29uZmlnKHN0YXRlLmNvbmZpZyk7XG59KTtcblxuZnVuY3Rpb24gc2V0VGVtcG9yYXJ5Q29uZmlnKHZhbHVlOiBDb25maWcpIHtcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ29wZW5tcnM6dGVtcG9yYXJ5Q29uZmlnJywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbn1cblxuZnVuY3Rpb24gZ2V0VGVtcG9yYXJ5Q29uZmlnKCk6IENvbmZpZyB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29wZW5tcnM6dGVtcG9yYXJ5Q29uZmlnJykgfHwgJ3t9Jyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuLyoqXG4gKiBDb25maWctc2lkZSBleHRlbnNpb24gc3RvcmVcbiAqICAgSnVzdCB3aGF0IGVzbS1jb25maWcgbmVlZHMgdG8ga25vdyBhYm91dCBleHRlbnNpb24gc3RhdGUuIFRoaXNcbiAqICAgaXMgdG8gYXZvaWQgaGF2aW5nIGVzbS1jb25maWcgZGVwZW5kIG9uIGVzbS1leHRlbnNpb25zLCB3aGljaCB3b3VsZFxuICogICBjcmVhdGUgYSBjaXJjdWxhciBkZXBlbmRlbmN5LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnRXh0ZW5zaW9uU3RvcmUge1xuICBtb3VudGVkRXh0ZW5zaW9uczogQXJyYXk8Q29uZmlnRXh0ZW5zaW9uU3RvcmVFbGVtZW50Pjtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdFeHRlbnNpb25TdG9yZUVsZW1lbnQge1xuICBzbG90TW9kdWxlTmFtZTogc3RyaW5nO1xuICBleHRlbnNpb25Nb2R1bGVOYW1lOiBzdHJpbmc7XG4gIHNsb3ROYW1lOiBzdHJpbmc7XG4gIGV4dGVuc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBjb25zdCBjb25maWdFeHRlbnNpb25TdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPENvbmZpZ0V4dGVuc2lvblN0b3JlPignY29uZmlnLXN0b3JlLW9mLWV4dGVuc2lvbi1zdGF0ZScsIHtcbiAgbW91bnRlZEV4dGVuc2lvbnM6IFtdLFxufSk7XG5cbi8qKlxuICogT3V0cHV0IGNvbmZpZ3NcbiAqXG4gKiBFYWNoIG1vZHVsZSBoYXMgaXRzIG93biBzdG9yZXMgZm9yIGl0cyBjb25maWcgYW5kIGl0cyBleHRlbnNpb24gc2xvdHMnIGNvbmZpZ3MuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdTdG9yZSB7XG4gIGNvbmZpZzogQ29uZmlnT2JqZWN0IHwgbnVsbDtcbiAgbG9hZGVkOiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplQ29uZmlnU3RvcmUoKSB7XG4gIHJldHVybiB7XG4gICAgY29uZmlnOiBudWxsLFxuICAgIGxvYWRlZDogZmFsc2UsXG4gIH07XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdTdG9yZShtb2R1bGVOYW1lOiBzdHJpbmcpIHtcbiAgLy8gV2UgdXNlIGEgc3RvcmUgZm9yIGVhY2ggbW9kdWxlJ3MgY29uZmlnLCBuYW1lZCBgY29uZmlnLSR7bW9kdWxlTmFtZX1gXG4gIHJldHVybiBnZXRHbG9iYWxTdG9yZTxDb25maWdTdG9yZT4oYGNvbmZpZy1tb2R1bGUtJHttb2R1bGVOYW1lfWAsIGluaXRpYWxpemVDb25maWdTdG9yZSgpKTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhbGwgdGhlIHNwZWNpZmljIGV4dGVuc2lvbiBzbG90c1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSB7XG4gIHNsb3RzOiB7XG4gICAgW3Nsb3ROYW1lOiBzdHJpbmddOiB7XG4gICAgICBjb25maWc6IEV4dGVuc2lvblNsb3RDb25maWdPYmplY3Q7XG4gICAgICBsb2FkZWQ6IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUoKSB7XG4gIHJldHVybiBnZXRHbG9iYWxTdG9yZTxFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlPihgY29uZmlnLWV4dGVuc2lvbi1zbG90c2AsIHtcbiAgICBzbG90czoge30sXG4gIH0pO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZyhzbG90TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBnZXRFeHRlbnNpb25TbG90Q29uZmlnRnJvbVN0b3JlKGdldEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUoKS5nZXRTdGF0ZSgpLCBzbG90TmFtZSk7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25TbG90Q29uZmlnRnJvbVN0b3JlKHN0YXRlOiBFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlLCBzbG90TmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHNsb3RDb25maWcgPSBzdGF0ZS5zbG90c1tzbG90TmFtZV07XG4gIHJldHVybiBzbG90Q29uZmlnID8/IHsgbG9hZGVkOiBmYWxzZSwgY29uZmlnOiB7fSB9O1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbnNDb25maWdTdG9yZSB7XG4gIGNvbmZpZ3M6IHtcbiAgICBbc2xvdE5hbWU6IHN0cmluZ106IHtcbiAgICAgIFtleHRlbnNpb25JZDogc3RyaW5nXTogQ29uZmlnU3RvcmU7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBPbmUgc3RvcmUgZm9yIGFsbCB0aGUgZXh0ZW5zaW9uc1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUoKSB7XG4gIHJldHVybiBnZXRHbG9iYWxTdG9yZTxFeHRlbnNpb25zQ29uZmlnU3RvcmU+KGBjb25maWctZXh0ZW5zaW9uc2AsIHtcbiAgICBjb25maWdzOiB7fSxcbiAgfSk7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25Db25maWcoc2xvdE5hbWU6IHN0cmluZywgZXh0ZW5zaW9uSWQ6IHN0cmluZykge1xuICBjb25zdCBleHRlbnNpb25Db25maWcgPSBPYmplY3QuYXNzaWduKFxuICAgIHt9LFxuICAgIGdldEV4dGVuc2lvbkNvbmZpZ0Zyb21TdG9yZShnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUoKS5nZXRTdGF0ZSgpLCBzbG90TmFtZSwgZXh0ZW5zaW9uSWQpLFxuICApO1xuICBleHRlbnNpb25Db25maWcuY29uZmlnID0gb21pdChbJ0Rpc3BsYXkgY29uZGl0aW9ucycsICdUcmFuc2xhdGlvbiBvdmVycmlkZXMnXSwgZXh0ZW5zaW9uQ29uZmlnLmNvbmZpZyk7XG4gIHJldHVybiBleHRlbnNpb25Db25maWc7XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUoc3RhdGU6IEV4dGVuc2lvbnNDb25maWdTdG9yZSwgc2xvdE5hbWU6IHN0cmluZywgZXh0ZW5zaW9uSWQ6IHN0cmluZykge1xuICBjb25zdCBleHRlbnNpb25Db25maWcgPSBzdGF0ZS5jb25maWdzW3Nsb3ROYW1lXT8uW2V4dGVuc2lvbklkXTtcbiAgcmV0dXJuIGV4dGVuc2lvbkNvbmZpZyA/PyB7IGxvYWRlZDogZmFsc2UsIGNvbmZpZzogbnVsbCB9O1xufVxuXG4vKipcbiAqIEEgc3RvcmUgb2YgdGhlIGltcGxlbWVudGVyIHRvb2xzIG91dHB1dCBjb25maWdcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZSB7XG4gIGNvbmZpZzogQ29uZmlnO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgY29uc3QgaW1wbGVtZW50ZXJUb29sc0NvbmZpZ1N0b3JlID0gY3JlYXRlR2xvYmFsU3RvcmU8SW1wbGVtZW50ZXJUb29sc0NvbmZpZ1N0b3JlPignY29uZmlnLWltcGxlbWVudGVyLXRvb2xzJywge1xuICBjb25maWc6IHt9LFxufSk7XG4iXSwibmFtZXMiOlsiY3JlYXRlR2xvYmFsU3RvcmUiLCJnZXRHbG9iYWxTdG9yZSIsIm9taXQiLCJjb25maWdJbnRlcm5hbFN0b3JlSW5pdGlhbFZhbHVlIiwicHJvdmlkZWRDb25maWdzIiwic2NoZW1hcyIsImNvbmZpZ0ludGVybmFsU3RvcmUiLCJ0ZW1wb3JhcnlDb25maWdTdG9yZSIsImNvbmZpZyIsImdldFRlbXBvcmFyeUNvbmZpZyIsInN1YnNjcmliZSIsInN0YXRlIiwic2V0VGVtcG9yYXJ5Q29uZmlnIiwidmFsdWUiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwiSlNPTiIsInN0cmluZ2lmeSIsInBhcnNlIiwiZ2V0SXRlbSIsImUiLCJjb25maWdFeHRlbnNpb25TdG9yZSIsIm1vdW50ZWRFeHRlbnNpb25zIiwiaW5pdGlhbGl6ZUNvbmZpZ1N0b3JlIiwibG9hZGVkIiwiZ2V0Q29uZmlnU3RvcmUiLCJtb2R1bGVOYW1lIiwiZ2V0RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSIsInNsb3RzIiwiZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZyIsInNsb3ROYW1lIiwiZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZSIsImdldFN0YXRlIiwic2xvdENvbmZpZyIsImdldEV4dGVuc2lvbnNDb25maWdTdG9yZSIsImNvbmZpZ3MiLCJnZXRFeHRlbnNpb25Db25maWciLCJleHRlbnNpb25JZCIsImV4dGVuc2lvbkNvbmZpZyIsIk9iamVjdCIsImFzc2lnbiIsImdldEV4dGVuc2lvbkNvbmZpZ0Zyb21TdG9yZSIsImltcGxlbWVudGVyVG9vbHNDb25maWdTdG9yZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-config/src/module-config/state.ts\n");
|
|
6560
6560
|
|
|
6561
6561
|
/***/ }),
|
|
6562
6562
|
|
|
@@ -6622,7 +6622,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6622
6622
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6623
6623
|
|
|
6624
6624
|
"use strict";
|
|
6625
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ validator: () => (/* binding */ validator)\n/* harmony export */ });\n/** @module @category Config Validation */ /**\n * Constructs a custom validator.\n *\n * ### Example\n *\n * ```typescript\n * {\n * foo: {\n * _default: 0,\n * _validators: [\n * validator(val => val >= 0, \"Must not be negative.\")\n * ]\n * }\n * }\n * ```\n * @param validationFunction Takes the configured value as input. Returns true\n * if it is valid, false otherwise.\n * @param message A string message that explains why the value is invalid. Can\n * also be a function that takes the value as input and returns a string.\n * @returns A validator ready for use in a config schema\n */ function validator(validationFunction, message) {\n return function(value) {\n if (!validationFunction(value)) {\n if (typeof message === \"function\") {\n return message(value);\n } else {\n return message;\n }\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL3ZhbGlkYXRvcnMvdmFsaWRhdG9yLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3Q0FBd0MsR0FHeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0JDLEdBQ00sU0FBU0EsVUFDZEMsa0JBQXFDLEVBQ3JDQyxPQUEwQyxFQUMvQjtJQUNYLE9BQU8sU0FBQ0MsT0FBVTtRQUNoQixJQUFJLENBQUNGLG1CQUFtQkUsUUFBUTtZQUM5QixJQUFJLE9BQU9ELFlBQVksWUFBWTtnQkFDakMsT0FBT0EsUUFBUUM7WUFDakIsT0FBTztnQkFDTCxPQUFPRDtZQUNULENBQUM7UUFDSCxDQUFDO0lBQ0g7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWNvbmZpZy9zcmMvdmFsaWRhdG9ycy92YWxpZGF0b3IudHM/
|
|
6625
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ validator: () => (/* binding */ validator)\n/* harmony export */ });\n/** @module @category Config Validation */ /**\n * Constructs a custom validator.\n *\n * ### Example\n *\n * ```typescript\n * {\n * foo: {\n * _default: 0,\n * _validators: [\n * validator(val => val >= 0, \"Must not be negative.\")\n * ]\n * }\n * }\n * ```\n * @param validationFunction Takes the configured value as input. Returns true\n * if it is valid, false otherwise.\n * @param message A string message that explains why the value is invalid. Can\n * also be a function that takes the value as input and returns a string.\n * @returns A validator ready for use in a config schema\n */ function validator(validationFunction, message) {\n return function(value) {\n if (!validationFunction(value)) {\n if (typeof message === \"function\") {\n return message(value);\n } else {\n return message;\n }\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1jb25maWcvc3JjL3ZhbGlkYXRvcnMvdmFsaWRhdG9yLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3Q0FBd0MsR0FHeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0JDLEdBQ00sU0FBU0EsVUFDZEMsa0JBQXFDLEVBQ3JDQyxPQUEwQyxFQUMvQjtJQUNYLE9BQU8sU0FBQ0MsT0FBVTtRQUNoQixJQUFJLENBQUNGLG1CQUFtQkUsUUFBUTtZQUM5QixJQUFJLE9BQU9ELFlBQVksWUFBWTtnQkFDakMsT0FBT0EsUUFBUUM7WUFDakIsT0FBTztnQkFDTCxPQUFPRDtZQUNULENBQUM7UUFDSCxDQUFDO0lBQ0g7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWNvbmZpZy9zcmMvdmFsaWRhdG9ycy92YWxpZGF0b3IudHM/MGIxYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQ29uZmlnIFZhbGlkYXRpb24gKi9cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yLCBWYWxpZGF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgY3VzdG9tIHZhbGlkYXRvci5cbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHtcbiAqICAgZm9vOiB7XG4gKiAgICAgX2RlZmF1bHQ6IDAsXG4gKiAgICAgX3ZhbGlkYXRvcnM6IFtcbiAqICAgICAgIHZhbGlkYXRvcih2YWwgPT4gdmFsID49IDAsIFwiTXVzdCBub3QgYmUgbmVnYXRpdmUuXCIpXG4gKiAgICAgXVxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqIEBwYXJhbSB2YWxpZGF0aW9uRnVuY3Rpb24gVGFrZXMgdGhlIGNvbmZpZ3VyZWQgdmFsdWUgYXMgaW5wdXQuIFJldHVybnMgdHJ1ZVxuICogICAgaWYgaXQgaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZS5cbiAqIEBwYXJhbSBtZXNzYWdlIEEgc3RyaW5nIG1lc3NhZ2UgdGhhdCBleHBsYWlucyB3aHkgdGhlIHZhbHVlIGlzIGludmFsaWQuIENhblxuICogICAgYWxzbyBiZSBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgdGhlIHZhbHVlIGFzIGlucHV0IGFuZCByZXR1cm5zIGEgc3RyaW5nLlxuICogQHJldHVybnMgQSB2YWxpZGF0b3IgcmVhZHkgZm9yIHVzZSBpbiBhIGNvbmZpZyBzY2hlbWFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRvcihcbiAgdmFsaWRhdGlvbkZ1bmN0aW9uOiBWYWxpZGF0b3JGdW5jdGlvbixcbiAgbWVzc2FnZTogc3RyaW5nIHwgKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcpLFxuKTogVmFsaWRhdG9yIHtcbiAgcmV0dXJuICh2YWx1ZSkgPT4ge1xuICAgIGlmICghdmFsaWRhdGlvbkZ1bmN0aW9uKHZhbHVlKSkge1xuICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ2YWxpZGF0b3IiLCJ2YWxpZGF0aW9uRnVuY3Rpb24iLCJtZXNzYWdlIiwidmFsdWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-config/src/validators/validator.ts\n");
|
|
6626
6626
|
|
|
6627
6627
|
/***/ }),
|
|
6628
6628
|
|
|
@@ -6688,7 +6688,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6688
6688
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6689
6689
|
|
|
6690
6690
|
"use strict";
|
|
6691
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ attach: () => (/* binding */ attach),\n/* harmony export */ detach: () => (/* binding */ detach),\n/* harmony export */ detachAll: () => (/* binding */ detachAll),\n/* harmony export */ getAssignedExtensions: () => (/* binding */ getAssignedExtensions),\n/* harmony export */ getConnectedExtensions: () => (/* binding */ getConnectedExtensions),\n/* harmony export */ getExtensionNameFromId: () => (/* binding */ getExtensionNameFromId),\n/* harmony export */ getExtensionRegistration: () => (/* binding */ getExtensionRegistration),\n/* harmony export */ getExtensionRegistrationFrom: () => (/* binding */ getExtensionRegistrationFrom),\n/* harmony export */ registerExtension: () => (/* binding */ registerExtension),\n/* harmony export */ registerExtensionSlot: () => (/* binding */ registerExtensionSlot),\n/* harmony export */ reset: () => (/* binding */ reset)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var _openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-feature-flags */ \"../../framework/esm-feature-flags/src/index.ts\");\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var lodash_es_isUndefined__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash-es/isUndefined */ \"../../../node_modules/lodash-es/isUndefined.js\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! . */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./store */ \"../../framework/esm-extensions/src/store.ts\");\n/** @module @category Extension */ /*\n * We have the following extension modes:\n *\n * - attached (set via code in form of: attach, detach, ...)\n * - configured (set via configuration in form of: added, removed, ...)\n * - assigned (computed from attached and configured)\n * - connected (computed from assigned using connectivity and online / offline)\n */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n\n\nvar extensionInternalStore = (0,___WEBPACK_IMPORTED_MODULE_3__.getExtensionInternalStore)();\nvar extensionStore = (0,_store__WEBPACK_IMPORTED_MODULE_4__.getExtensionStore)();\nvar slotsConfigStore = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionSlotsConfigStore)();\nvar extensionsConfigStore = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionsConfigStore)();\n// Keep the output store updated\nfunction updateExtensionOutputStore(internalState, extensionSlotConfigs, extensionsConfigStore) {\n var slots = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(internalState.slots)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), slotName = _step_value[0], slot = _step_value[1];\n var config = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionSlotConfigFromStore)(extensionSlotConfigs, slot.name).config;\n var assignedExtensions = getAssignedExtensionsFromSlotData(slotName, internalState, config, extensionsConfigStore);\n slots[slotName] = {\n moduleName: slot.moduleName,\n assignedExtensions: assignedExtensions\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (!(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(extensionStore.getState().slots, slots)) {\n extensionStore.setState({\n slots: slots\n });\n }\n}\nextensionInternalStore.subscribe(function(internalStore) {\n updateExtensionOutputStore(internalStore, slotsConfigStore.getState(), extensionsConfigStore.getState());\n});\nslotsConfigStore.subscribe(function(slotConfigs) {\n updateExtensionOutputStore(extensionInternalStore.getState(), slotConfigs, extensionsConfigStore.getState());\n});\nextensionsConfigStore.subscribe(function(extensionConfigs) {\n updateExtensionOutputStore(extensionInternalStore.getState(), slotsConfigStore.getState(), extensionConfigs);\n});\nfunction createNewExtensionSlotInfo(slotName, moduleName) {\n return {\n moduleName: moduleName,\n name: slotName,\n attachedIds: [],\n config: null\n };\n}\n/**\n * Given an extension ID, which is a string uniquely identifying\n * an instance of an extension within an extension slot, this\n * returns the extension name.\n *\n * @example\n * ```js\n * getExtensionNameFromId(\"foo#bar\")\n * --> \"foo\"\n * getExtensionNameFromId(\"baz\")\n * --> \"baz\"\n * ```\n */ function getExtensionNameFromId(extensionId) {\n var _extensionId_split = _sliced_to_array(extensionId.split(\"#\"), 1), extensionName = _extensionId_split[0];\n return extensionName;\n}\nfunction getExtensionRegistrationFrom(state, extensionId) {\n var name = getExtensionNameFromId(extensionId);\n return state.extensions[name];\n}\nfunction getExtensionRegistration(extensionId) {\n var state = extensionInternalStore.getState();\n return getExtensionRegistrationFrom(state, extensionId);\n}\n/**\n * Extensions must be registered in order to be rendered.\n * This is handled by the app shell, when extensions are provided\n * via the `setupOpenMRS` return object.\n * @internal\n */ var registerExtension = function(extensionRegistration) {\n return extensionInternalStore.setState(function(state) {\n state.extensions[extensionRegistration.name] = _object_spread_props(_object_spread({}, extensionRegistration), {\n instances: []\n });\n return state;\n });\n};\n/**\n * Attach an extension to an extension slot.\n *\n * This will cause the extension to be rendered into the specified\n * extension slot, unless it is removed by configuration. Using\n * `attach` is an alternative to specifying the `slot` or `slots`\n * in the extension declaration.\n *\n * It is particularly useful when creating a slot into which\n * you want to render an existing extension. This enables you\n * to do so without modifying the extension's declaration, which\n * may be impractical or inappropriate, for example if you are\n * writing a module for a specific implementation.\n *\n * @param slotName a name uniquely identifying the slot\n * @param extensionId an extension name, with an optional #-suffix\n * to distinguish it from other instances of the same extension\n * attached to the same slot.\n */ function attach(slotName, extensionId) {\n (0,_store__WEBPACK_IMPORTED_MODULE_4__.updateInternalExtensionStore)(function(state) {\n var existingSlot = state.slots[slotName];\n if (!existingSlot) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, _object_spread_props(_object_spread({}, createNewExtensionSlotInfo(slotName)), {\n attachedIds: [\n extensionId\n ]\n })))\n });\n } else {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, _object_spread_props(_object_spread({}, existingSlot), {\n attachedIds: _to_consumable_array(existingSlot.attachedIds).concat([\n extensionId\n ])\n })))\n });\n }\n });\n}\n/** Avoid using this. Extension attachments should be considered declarative. */ function detach(extensionSlotName, extensionId) {\n (0,_store__WEBPACK_IMPORTED_MODULE_4__.updateInternalExtensionStore)(function(state) {\n var existingSlot = state.slots[extensionSlotName];\n if (existingSlot && existingSlot.attachedIds.includes(extensionId)) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, extensionSlotName, _object_spread_props(_object_spread({}, existingSlot), {\n attachedIds: existingSlot.attachedIds.filter(function(id) {\n return id !== extensionId;\n })\n })))\n });\n } else {\n return state;\n }\n });\n}\n/** Avoid using this. Extension attachments should be considered declarative. */ function detachAll(extensionSlotName) {\n (0,_store__WEBPACK_IMPORTED_MODULE_4__.updateInternalExtensionStore)(function(state) {\n var existingSlot = state.slots[extensionSlotName];\n if (existingSlot) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, extensionSlotName, _object_spread_props(_object_spread({}, existingSlot), {\n attachedIds: []\n })))\n });\n } else {\n return state;\n }\n });\n}\n/**\n * Get an order index for the extension. This will\n * come from either its configured order, its registered order\n * parameter, or the order in which it happened to be attached.\n */ function getOrder(extensionId, configuredOrder, registeredOrderIndex, attachedOrder) {\n var configuredIndex = configuredOrder.indexOf(extensionId);\n if (configuredIndex !== -1) {\n return configuredIndex;\n } else if (registeredOrderIndex !== undefined) {\n // extensions that don't have a configured order should appear after those that do\n return 1000 + registeredOrderIndex;\n } else {\n var assignedIndex = attachedOrder.indexOf(extensionId);\n if (assignedIndex !== -1) {\n // extensions that have neither a configured nor registered order should appear\n // after all others\n return 2000 + assignedIndex;\n } else {\n return -1;\n }\n }\n}\n/**\n * Filters a list of extensions according to whether they support the\n * current connectivity status.\n *\n * @param assignedExtensions The list of extensions to filter.\n * @param online Whether the app is currently online. If `null`, uses `navigator.onLine`.\n * @param enabledFeatureFlags The names of all enabled feature flags. If `null`, looks\n * up the feature flags using the feature flags API.\n * @returns A list of extensions that should be rendered\n */ function getConnectedExtensions(assignedExtensions) {\n var online = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, enabledFeatureFlags = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;\n var isOnline = online !== null && online !== void 0 ? online : navigator.onLine;\n var featureFlags = enabledFeatureFlags !== null && enabledFeatureFlags !== void 0 ? enabledFeatureFlags : Object.entries(_openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_2__.featureFlagsStore.getState().flags).filter(function(param) {\n var _param = _sliced_to_array(param, 2), enabled = _param[1].enabled;\n return enabled;\n }).map(function(param) {\n var _param = _sliced_to_array(param, 1), name = _param[0];\n return name;\n });\n return assignedExtensions.filter(function(e) {\n return (0,___WEBPACK_IMPORTED_MODULE_3__.checkStatusFor)(isOnline, e.online, e.offline);\n }).filter(function(e) {\n return e.featureFlag === undefined || (featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.includes(e.featureFlag));\n });\n}\nfunction getAssignedExtensionsFromSlotData(slotName, internalState, config, extensionConfigStoreState) {\n var attachedIds = internalState.slots[slotName].attachedIds;\n var assignedIds = calculateAssignedIds(config, attachedIds);\n var extensions = [];\n var user = undefined;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = assignedIds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var id = _step.value;\n var _getExtensionConfigFromStore = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(extensionConfigStoreState, slotName, id), extensionConfig = _getExtensionConfigFromStore.config;\n var name = getExtensionNameFromId(id);\n var extension = internalState.extensions[name];\n // if the extension has not been registered yet, do not include it\n if (extension) {\n var _extensionConfig_Displayconditions;\n var _extensionConfig_Displayconditions_privileges, _ref;\n var requiredPrivileges = (_ref = (_extensionConfig_Displayconditions_privileges = extensionConfig === null || extensionConfig === void 0 ? void 0 : (_extensionConfig_Displayconditions = extensionConfig[\"Display conditions\"]) === null || _extensionConfig_Displayconditions === void 0 ? void 0 : _extensionConfig_Displayconditions.privileges) !== null && _extensionConfig_Displayconditions_privileges !== void 0 ? _extensionConfig_Displayconditions_privileges : extension.privileges) !== null && _ref !== void 0 ? _ref : [];\n if (requiredPrivileges && (typeof requiredPrivileges === \"string\" || Array.isArray(requiredPrivileges) && requiredPrivileges.length > 0)) {\n if ((0,lodash_es_isUndefined__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(user)) {\n var _getSessionStore_getState_session;\n user = (_getSessionStore_getState_session = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().getState().session) === null || _getSessionStore_getState_session === void 0 ? void 0 : _getSessionStore_getState_session.user;\n }\n if (!user) {\n continue;\n }\n if (!(0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.userHasAccess)(requiredPrivileges, user)) {\n continue;\n }\n }\n var _extension_online, _extension_offline;\n extensions.push({\n id: id,\n name: name,\n moduleName: extension.moduleName,\n config: extensionConfig,\n featureFlag: extension.featureFlag,\n meta: extension.meta,\n online: (_extension_online = extension.online) !== null && _extension_online !== void 0 ? _extension_online : true,\n offline: (_extension_offline = extension.offline) !== null && _extension_offline !== void 0 ? _extension_offline : false\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return extensions;\n}\n/**\n * Gets the list of extensions assigned to a given slot\n *\n * @param slotName The slot to load the assigned extensions for\n * @returns An array of extensions assigned to the named slot\n */ function getAssignedExtensions(slotName) {\n var internalState = extensionInternalStore.getState();\n var _getExtensionSlotConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionSlotConfig)(slotName), slotConfig = _getExtensionSlotConfig.config;\n var extensionStoreState = extensionsConfigStore.getState();\n return getAssignedExtensionsFromSlotData(slotName, internalState, slotConfig, extensionStoreState);\n}\nfunction calculateAssignedIds(config, attachedIds) {\n var addedIds = config.add || [];\n var removedIds = config.remove || [];\n var idOrder = config.order || [];\n var extensions = extensionInternalStore.getState().extensions;\n return _to_consumable_array(attachedIds).concat(_to_consumable_array(addedIds)).filter(function(id) {\n return !removedIds.includes(id);\n }).sort(function(idA, idB) {\n var _extensions_getExtensionNameFromId, _extensions_getExtensionNameFromId1;\n var ai = getOrder(idA, idOrder, (_extensions_getExtensionNameFromId = extensions[getExtensionNameFromId(idA)]) === null || _extensions_getExtensionNameFromId === void 0 ? void 0 : _extensions_getExtensionNameFromId.order, attachedIds);\n var bi = getOrder(idB, idOrder, (_extensions_getExtensionNameFromId1 = extensions[getExtensionNameFromId(idB)]) === null || _extensions_getExtensionNameFromId1 === void 0 ? void 0 : _extensions_getExtensionNameFromId1.order, attachedIds);\n if (bi === -1) {\n return -1;\n } else if (ai === -1) {\n return 1;\n } else {\n return ai - bi;\n }\n });\n}\n/**\n * Used by by extension slots at mount time.\n *\n * @param moduleName The name of the module that contains the extension slot\n * @param slotName The extension slot name that is actually used\n * @internal\n */ var registerExtensionSlot = function(moduleName, slotName) {\n return extensionInternalStore.setState(function(state) {\n var _state_slots_slotName;\n var existingModuleName = (_state_slots_slotName = state.slots[slotName]) === null || _state_slots_slotName === void 0 ? void 0 : _state_slots_slotName.moduleName;\n if (existingModuleName && existingModuleName != moduleName) {\n console.warn(\"An extension slot with the name '\".concat(slotName, '\\' already exists. Refusing to register the same slot name twice (in \"registerExtensionSlot\"). The existing one is from module ').concat(existingModuleName, \".\"));\n return state;\n }\n if (existingModuleName && existingModuleName == moduleName) {\n // Re-rendering an existing slot\n return state;\n }\n if (state.slots[slotName]) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, _object_spread_props(_object_spread({}, state.slots[slotName]), {\n moduleName: moduleName\n })))\n });\n }\n var slot = createNewExtensionSlotInfo(slotName, moduleName);\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, slot))\n });\n });\n};\n/**\n * @internal\n * Just for testing.\n */ var reset = function() {\n return extensionStore.setState(function() {\n return {\n slots: {},\n extensions: {}\n };\n });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1leHRlbnNpb25zL3NyYy9leHRlbnNpb25zLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQzs7Ozs7OztDQU9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUrRTtBQVVuRDtBQUNrQztBQUN2QjtBQUNRO0FBT3JDO0FBT007QUFFakIsSUFBTWMseUJBQXlCSiw0REFBeUJBO0FBQ3hELElBQU1LLGlCQUFpQkgseURBQWlCQTtBQUN4QyxJQUFNSSxtQkFBbUJWLGlGQUE0QkE7QUFDckQsSUFBTVcsd0JBQXdCZCw2RUFBd0JBO0FBRXRELGdDQUFnQztBQUNoQyxTQUFTZSwyQkFDUEMsYUFBcUMsRUFDckNDLG9CQUErQyxFQUMvQ0gscUJBQTRDLEVBQzVDO0lBQ0EsSUFBTUksUUFBNEMsQ0FBQztRQUM5Qzs7UUFBTCxRQUFLLFlBQXdCQyxPQUFPQyxPQUFPLENBQUNKLGNBQWNFLEtBQUssc0JBQTFELHdHQUE2RDtZQUE3RCxvREFBS0csMkJBQVVDO1lBQ2xCLElBQU0sU0FBYXBCLG9GQUErQkEsQ0FBQ2Usc0JBQXNCSyxLQUFLRSxJQUFJLEVBQTFFRDtZQUNSLElBQU1FLHFCQUFxQkMsa0NBQ3pCTCxVQUNBTCxlQUNBTyxRQUNBVDtZQUVGSSxLQUFLLENBQUNHLFNBQVMsR0FBRztnQkFBRU0sWUFBWUwsS0FBS0ssVUFBVTtnQkFBRUYsb0JBQUFBO1lBQW1CO1FBQ3RFOztRQVRLO1FBQUE7OztpQkFBQTtnQkFBQTs7O2dCQUFBO3NCQUFBOzs7O0lBVUwsSUFBSSxDQUFDcEIsNkRBQU9BLENBQUNPLGVBQWVnQixRQUFRLEdBQUdWLEtBQUssRUFBRUEsUUFBUTtRQUNwRE4sZUFBZWlCLFFBQVEsQ0FBQztZQUFFWCxPQUFBQTtRQUFN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U0FBQ1ksT0FBVTtZQUNkQTtRQUEzQixJQUFNZ0UscUJBQXFCaEUsQ0FBQUEsd0JBQUFBLE1BQU12QixLQUFLLENBQUNHLFNBQVMsY0FBckJvQixtQ0FBQUEsS0FBQUEsSUFBQUEsc0JBQXVCZCxVQUFVO1FBQzVELElBQUk4RSxzQkFBc0JBLHNCQUFzQjlFLFlBQVk7WUFDMUQrRSxRQUFRQyxJQUFJLENBQ1Ysb0NBQTZLRixPQUF6SXBGLFVBQVMsbUlBQW1KLE9BQW5Cb0Ysb0JBQW1CO1lBRWxNLE9BQU9oRTtRQUNULENBQUM7UUFDRCxJQUFJZ0Usc0JBQXNCQSxzQkFBc0I5RSxZQUFZO1lBQzFELGdDQUFnQztZQUNoQyxPQUFPYztRQUNULENBQUM7UUFDRCxJQUFJQSxNQUFNdkIsS0FBSyxDQUFDRyxTQUFTLEVBQUU7WUFDekIsT0FBTyx3Q0FDRm9CO2dCQUNIdkIsT0FBTyx3Q0FDRnVCLE1BQU12QixLQUFLLEdBQ2QscUJBQUNHLFVBQVcsd0NBQ1BvQixNQUFNdkIsS0FBSyxDQUFDRyxTQUFTO29CQUN4Qk0sWUFBQUE7OztRQUlSLENBQUM7UUFDRCxJQUFNTCxPQUFPWSwyQkFBMkJiLFVBQVVNO1FBQ2xELE9BQU8sd0NBQ0ZjO1lBQ0h2QixPQUFPLHdDQUNGdUIsTUFBTXZCLEtBQUssR0FDZCxxQkFBQ0csVUFBV0M7O0lBR2xCO0VBQUc7QUFFTDs7O0NBR0MsR0FDTSxJQUFNc0YsUUFBb0I7V0FDL0JoRyxlQUFlaUIsUUFBUSxDQUFDLFdBQU07UUFDNUIsT0FBTztZQUNMWCxPQUFPLENBQUM7WUFDUndCLFlBQVksQ0FBQztRQUNmO0lBQ0Y7RUFBRyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1leHRlbnNpb25zL3NyYy9leHRlbnNpb25zLnRzPzc1OWEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEV4dGVuc2lvbiAqL1xuLypcbiAqIFdlIGhhdmUgdGhlIGZvbGxvd2luZyBleHRlbnNpb24gbW9kZXM6XG4gKlxuICogLSBhdHRhY2hlZCAoc2V0IHZpYSBjb2RlIGluIGZvcm0gb2Y6IGF0dGFjaCwgZGV0YWNoLCAuLi4pXG4gKiAtIGNvbmZpZ3VyZWQgKHNldCB2aWEgY29uZmlndXJhdGlvbiBpbiBmb3JtIG9mOiBhZGRlZCwgcmVtb3ZlZCwgLi4uKVxuICogLSBhc3NpZ25lZCAoY29tcHV0ZWQgZnJvbSBhdHRhY2hlZCBhbmQgY29uZmlndXJlZClcbiAqIC0gY29ubmVjdGVkIChjb21wdXRlZCBmcm9tIGFzc2lnbmVkIHVzaW5nIGNvbm5lY3Rpdml0eSBhbmQgb25saW5lIC8gb2ZmbGluZSlcbiAqL1xuXG5pbXBvcnQgeyBnZXRTZXNzaW9uU3RvcmUsIExvZ2dlZEluVXNlciwgdXNlckhhc0FjY2VzcyB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuaW1wb3J0IHtcbiAgRXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLFxuICBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0LFxuICBFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlLFxuICBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUsXG4gIGdldEV4dGVuc2lvbnNDb25maWdTdG9yZSxcbiAgZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZyxcbiAgZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZSxcbiAgZ2V0RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSxcbn0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQgeyBmZWF0dXJlRmxhZ3NTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1mZWF0dXJlLWZsYWdzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC1lcy9pc0VxdWFsJztcbmltcG9ydCBpc1VuZGVmaW5lZCBmcm9tICdsb2Rhc2gtZXMvaXNVbmRlZmluZWQnO1xuaW1wb3J0IHtcbiAgZ2V0RXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSxcbiAgRXh0ZW5zaW9uU2xvdFN0YXRlLFxuICBBc3NpZ25lZEV4dGVuc2lvbixcbiAgY2hlY2tTdGF0dXNGb3IsXG4gIENvbm5lY3RlZEV4dGVuc2lvbixcbn0gZnJvbSAnLic7XG5pbXBvcnQge1xuICBFeHRlbnNpb25SZWdpc3RyYXRpb24sXG4gIEV4dGVuc2lvblNsb3RJbmZvLFxuICBFeHRlbnNpb25JbnRlcm5hbFN0b3JlLFxuICBnZXRFeHRlbnNpb25TdG9yZSxcbiAgdXBkYXRlSW50ZXJuYWxFeHRlbnNpb25TdG9yZSxcbn0gZnJvbSAnLi9zdG9yZSc7XG5cbmNvbnN0IGV4dGVuc2lvbkludGVybmFsU3RvcmUgPSBnZXRFeHRlbnNpb25JbnRlcm5hbFN0b3JlKCk7XG5jb25zdCBleHRlbnNpb25TdG9yZSA9IGdldEV4dGVuc2lvblN0b3JlKCk7XG5jb25zdCBzbG90c0NvbmZpZ1N0b3JlID0gZ2V0RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSgpO1xuY29uc3QgZXh0ZW5zaW9uc0NvbmZpZ1N0b3JlID0gZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlKCk7XG5cbi8vIEtlZXAgdGhlIG91dHB1dCBzdG9yZSB1cGRhdGVkXG5mdW5jdGlvbiB1cGRhdGVFeHRlbnNpb25PdXRwdXRTdG9yZShcbiAgaW50ZXJuYWxTdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSxcbiAgZXh0ZW5zaW9uU2xvdENvbmZpZ3M6IEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUsXG4gIGV4dGVuc2lvbnNDb25maWdTdG9yZTogRXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLFxuKSB7XG4gIGNvbnN0IHNsb3RzOiBSZWNvcmQ8c3RyaW5nLCBFeHRlbnNpb25TbG90U3RhdGU+ID0ge307XG4gIGZvciAobGV0IFtzbG90TmFtZSwgc2xvdF0gb2YgT2JqZWN0LmVudHJpZXMoaW50ZXJuYWxTdGF0ZS5zbG90cykpIHtcbiAgICBjb25zdCB7IGNvbmZpZyB9ID0gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZShleHRlbnNpb25TbG90Q29uZmlncywgc2xvdC5uYW1lKTtcbiAgICBjb25zdCBhc3NpZ25lZEV4dGVuc2lvbnMgPSBnZXRBc3NpZ25lZEV4dGVuc2lvbnNGcm9tU2xvdERhdGEoXG4gICAgICBzbG90TmFtZSxcbiAgICAgIGludGVybmFsU3RhdGUsXG4gICAgICBjb25maWcsXG4gICAgICBleHRlbnNpb25zQ29uZmlnU3RvcmUsXG4gICAgKTtcbiAgICBzbG90c1tzbG90TmFtZV0gPSB7IG1vZHVsZU5hbWU6IHNsb3QubW9kdWxlTmFtZSwgYXNzaWduZWRFeHRlbnNpb25zIH07XG4gIH1cbiAgaWYgKCFpc0VxdWFsKGV4dGVuc2lvblN0b3JlLmdldFN0YXRlKCkuc2xvdHMsIHNsb3RzKSkge1xuICAgIGV4dGVuc2lvblN0b3JlLnNldFN0YXRlKHsgc2xvdHMgfSk7XG4gIH1cbn1cblxuZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUoKGludGVybmFsU3RvcmUpID0+IHtcbiAgdXBkYXRlRXh0ZW5zaW9uT3V0cHV0U3RvcmUoaW50ZXJuYWxTdG9yZSwgc2xvdHNDb25maWdTdG9yZS5nZXRTdGF0ZSgpLCBleHRlbnNpb25zQ29uZmlnU3RvcmUuZ2V0U3RhdGUoKSk7XG59KTtcblxuc2xvdHNDb25maWdTdG9yZS5zdWJzY3JpYmUoKHNsb3RDb25maWdzKSA9PiB7XG4gIHVwZGF0ZUV4dGVuc2lvbk91dHB1dFN0b3JlKGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgc2xvdENvbmZpZ3MsIGV4dGVuc2lvbnNDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbn0pO1xuXG5leHRlbnNpb25zQ29uZmlnU3RvcmUuc3Vic2NyaWJlKChleHRlbnNpb25Db25maWdzKSA9PiB7XG4gIHVwZGF0ZUV4dGVuc2lvbk91dHB1dFN0b3JlKGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgc2xvdHNDb25maWdTdG9yZS5nZXRTdGF0ZSgpLCBleHRlbnNpb25Db25maWdzKTtcbn0pO1xuXG5mdW5jdGlvbiBjcmVhdGVOZXdFeHRlbnNpb25TbG90SW5mbyhzbG90TmFtZTogc3RyaW5nLCBtb2R1bGVOYW1lPzogc3RyaW5nKTogRXh0ZW5zaW9uU2xvdEluZm8ge1xuICByZXR1cm4ge1xuICAgIG1vZHVsZU5hbWUsXG4gICAgbmFtZTogc2xvdE5hbWUsXG4gICAgYXR0YWNoZWRJZHM6IFtdLFxuICAgIGNvbmZpZzogbnVsbCxcbiAgfTtcbn1cblxuLyoqXG4gKiBHaXZlbiBhbiBleHRlbnNpb24gSUQsIHdoaWNoIGlzIGEgc3RyaW5nIHVuaXF1ZWx5IGlkZW50aWZ5aW5nXG4gKiBhbiBpbnN0YW5jZSBvZiBhbiBleHRlbnNpb24gd2l0aGluIGFuIGV4dGVuc2lvbiBzbG90LCB0aGlzXG4gKiByZXR1cm5zIHRoZSBleHRlbnNpb24gbmFtZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGdldEV4dGVuc2lvbk5hbWVGcm9tSWQoXCJmb28jYmFyXCIpXG4gKiAgLS0+IFwiZm9vXCJcbiAqIGdldEV4dGVuc2lvbk5hbWVGcm9tSWQoXCJiYXpcIilcbiAqICAtLT4gXCJiYXpcIlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgY29uc3QgW2V4dGVuc2lvbk5hbWVdID0gZXh0ZW5zaW9uSWQuc3BsaXQoJyMnKTtcbiAgcmV0dXJuIGV4dGVuc2lvbk5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25SZWdpc3RyYXRpb25Gcm9tKFxuICBzdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSxcbiAgZXh0ZW5zaW9uSWQ6IHN0cmluZyxcbik6IEV4dGVuc2lvblJlZ2lzdHJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG5hbWUgPSBnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGV4dGVuc2lvbklkKTtcbiAgcmV0dXJuIHN0YXRlLmV4dGVuc2lvbnNbbmFtZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25SZWdpc3RyYXRpb24oZXh0ZW5zaW9uSWQ6IHN0cmluZyk6IEV4dGVuc2lvblJlZ2lzdHJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0YXRlID0gZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICByZXR1cm4gZ2V0RXh0ZW5zaW9uUmVnaXN0cmF0aW9uRnJvbShzdGF0ZSwgZXh0ZW5zaW9uSWQpO1xufVxuXG4vKipcbiAqIEV4dGVuc2lvbnMgbXVzdCBiZSByZWdpc3RlcmVkIGluIG9yZGVyIHRvIGJlIHJlbmRlcmVkLlxuICogVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBhcHAgc2hlbGwsIHdoZW4gZXh0ZW5zaW9ucyBhcmUgcHJvdmlkZWRcbiAqIHZpYSB0aGUgYHNldHVwT3Blbk1SU2AgcmV0dXJuIG9iamVjdC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJFeHRlbnNpb246IChleHRlbnNpb25SZWdpc3RyYXRpb246IEV4dGVuc2lvblJlZ2lzdHJhdGlvbikgPT4gdm9pZCA9IChleHRlbnNpb25SZWdpc3RyYXRpb24pID0+XG4gIGV4dGVuc2lvbkludGVybmFsU3RvcmUuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgc3RhdGUuZXh0ZW5zaW9uc1tleHRlbnNpb25SZWdpc3RyYXRpb24ubmFtZV0gPSB7XG4gICAgICAuLi5leHRlbnNpb25SZWdpc3RyYXRpb24sXG4gICAgICBpbnN0YW5jZXM6IFtdLFxuICAgIH07XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9KTtcblxuLyoqXG4gKiBBdHRhY2ggYW4gZXh0ZW5zaW9uIHRvIGFuIGV4dGVuc2lvbiBzbG90LlxuICpcbiAqIFRoaXMgd2lsbCBjYXVzZSB0aGUgZXh0ZW5zaW9uIHRvIGJlIHJlbmRlcmVkIGludG8gdGhlIHNwZWNpZmllZFxuICogZXh0ZW5zaW9uIHNsb3QsIHVubGVzcyBpdCBpcyByZW1vdmVkIGJ5IGNvbmZpZ3VyYXRpb24uIFVzaW5nXG4gKiBgYXR0YWNoYCBpcyBhbiBhbHRlcm5hdGl2ZSB0byBzcGVjaWZ5aW5nIHRoZSBgc2xvdGAgb3IgYHNsb3RzYFxuICogaW4gdGhlIGV4dGVuc2lvbiBkZWNsYXJhdGlvbi5cbiAqXG4gKiBJdCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4gY3JlYXRpbmcgYSBzbG90IGludG8gd2hpY2hcbiAqIHlvdSB3YW50IHRvIHJlbmRlciBhbiBleGlzdGluZyBleHRlbnNpb24uIFRoaXMgZW5hYmxlcyB5b3VcbiAqIHRvIGRvIHNvIHdpdGhvdXQgbW9kaWZ5aW5nIHRoZSBleHRlbnNpb24ncyBkZWNsYXJhdGlvbiwgd2hpY2hcbiAqIG1heSBiZSBpbXByYWN0aWNhbCBvciBpbmFwcHJvcHJpYXRlLCBmb3IgZXhhbXBsZSBpZiB5b3UgYXJlXG4gKiB3cml0aW5nIGEgbW9kdWxlIGZvciBhIHNwZWNpZmljIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIEBwYXJhbSBzbG90TmFtZSBhIG5hbWUgdW5pcXVlbHkgaWRlbnRpZnlpbmcgdGhlIHNsb3RcbiAqIEBwYXJhbSBleHRlbnNpb25JZCBhbiBleHRlbnNpb24gbmFtZSwgd2l0aCBhbiBvcHRpb25hbCAjLXN1ZmZpeFxuICogICAgdG8gZGlzdGluZ3Vpc2ggaXQgZnJvbSBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgZXh0ZW5zaW9uXG4gKiAgICBhdHRhY2hlZCB0byB0aGUgc2FtZSBzbG90LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXR0YWNoKHNsb3ROYW1lOiBzdHJpbmcsIGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgdXBkYXRlSW50ZXJuYWxFeHRlbnNpb25TdG9yZSgoc3RhdGUpID0+IHtcbiAgICBjb25zdCBleGlzdGluZ1Nsb3QgPSBzdGF0ZS5zbG90c1tzbG90TmFtZV07XG5cbiAgICBpZiAoIWV4aXN0aW5nU2xvdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNsb3RzOiB7XG4gICAgICAgICAgLi4uc3RhdGUuc2xvdHMsXG4gICAgICAgICAgW3Nsb3ROYW1lXToge1xuICAgICAgICAgICAgLi4uY3JlYXRlTmV3RXh0ZW5zaW9uU2xvdEluZm8oc2xvdE5hbWUpLFxuICAgICAgICAgICAgYXR0YWNoZWRJZHM6IFtleHRlbnNpb25JZF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzbG90czoge1xuICAgICAgICAgIC4uLnN0YXRlLnNsb3RzLFxuICAgICAgICAgIFtzbG90TmFtZV06IHtcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nU2xvdCxcbiAgICAgICAgICAgIGF0dGFjaGVkSWRzOiBbLi4uZXhpc3RpbmdTbG90LmF0dGFjaGVkSWRzLCBleHRlbnNpb25JZF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9KTtcbn1cblxuLyoqIEF2b2lkIHVzaW5nIHRoaXMuIEV4dGVuc2lvbiBhdHRhY2htZW50cyBzaG91bGQgYmUgY29uc2lkZXJlZCBkZWNsYXJhdGl2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2goZXh0ZW5zaW9uU2xvdE5hbWU6IHN0cmluZywgZXh0ZW5zaW9uSWQ6IHN0cmluZykge1xuICB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlKChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nU2xvdCA9IHN0YXRlLnNsb3RzW2V4dGVuc2lvblNsb3ROYW1lXTtcblxuICAgIGlmIChleGlzdGluZ1Nsb3QgJiYgZXhpc3RpbmdTbG90LmF0dGFjaGVkSWRzLmluY2x1ZGVzKGV4dGVuc2lvbklkKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNsb3RzOiB7XG4gICAgICAgICAgLi4uc3RhdGUuc2xvdHMsXG4gICAgICAgICAgW2V4dGVuc2lvblNsb3ROYW1lXToge1xuICAgICAgICAgICAgLi4uZXhpc3RpbmdTbG90LFxuICAgICAgICAgICAgYXR0YWNoZWRJZHM6IGV4aXN0aW5nU2xvdC5hdHRhY2hlZElkcy5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gZXh0ZW5zaW9uSWQpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqIEF2b2lkIHVzaW5nIHRoaXMuIEV4dGVuc2lvbiBhdHRhY2htZW50cyBzaG91bGQgYmUgY29uc2lkZXJlZCBkZWNsYXJhdGl2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hBbGwoZXh0ZW5zaW9uU2xvdE5hbWU6IHN0cmluZykge1xuICB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlKChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nU2xvdCA9IHN0YXRlLnNsb3RzW2V4dGVuc2lvblNsb3ROYW1lXTtcblxuICAgIGlmIChleGlzdGluZ1Nsb3QpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzbG90czoge1xuICAgICAgICAgIC4uLnN0YXRlLnNsb3RzLFxuICAgICAgICAgIFtleHRlbnNpb25TbG90TmFtZV06IHtcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nU2xvdCxcbiAgICAgICAgICAgIGF0dGFjaGVkSWRzOiBbXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGFuIG9yZGVyIGluZGV4IGZvciB0aGUgZXh0ZW5zaW9uLiBUaGlzIHdpbGxcbiAqIGNvbWUgZnJvbSBlaXRoZXIgaXRzIGNvbmZpZ3VyZWQgb3JkZXIsIGl0cyByZWdpc3RlcmVkIG9yZGVyXG4gKiBwYXJhbWV0ZXIsIG9yIHRoZSBvcmRlciBpbiB3aGljaCBpdCBoYXBwZW5lZCB0byBiZSBhdHRhY2hlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0T3JkZXIoXG4gIGV4dGVuc2lvbklkOiBzdHJpbmcsXG4gIGNvbmZpZ3VyZWRPcmRlcjogQXJyYXk8c3RyaW5nPixcbiAgcmVnaXN0ZXJlZE9yZGVySW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgYXR0YWNoZWRPcmRlcjogQXJyYXk8c3RyaW5nPixcbikge1xuICBjb25zdCBjb25maWd1cmVkSW5kZXggPSBjb25maWd1cmVkT3JkZXIuaW5kZXhPZihleHRlbnNpb25JZCk7XG4gIGlmIChjb25maWd1cmVkSW5kZXggIT09IC0xKSB7XG4gICAgcmV0dXJuIGNvbmZpZ3VyZWRJbmRleDtcbiAgfSBlbHNlIGlmIChyZWdpc3RlcmVkT3JkZXJJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gZXh0ZW5zaW9ucyB0aGF0IGRvbid0IGhhdmUgYSBjb25maWd1cmVkIG9yZGVyIHNob3VsZCBhcHBlYXIgYWZ0ZXIgdGhvc2UgdGhhdCBkb1xuICAgIHJldHVybiAxMDAwICsgcmVnaXN0ZXJlZE9yZGVySW5kZXg7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYXNzaWduZWRJbmRleCA9IGF0dGFjaGVkT3JkZXIuaW5kZXhPZihleHRlbnNpb25JZCk7XG4gICAgaWYgKGFzc2lnbmVkSW5kZXggIT09IC0xKSB7XG4gICAgICAvLyBleHRlbnNpb25zIHRoYXQgaGF2ZSBuZWl0aGVyIGEgY29uZmlndXJlZCBub3IgcmVnaXN0ZXJlZCBvcmRlciBzaG91bGQgYXBwZWFyXG4gICAgICAvLyBhZnRlciBhbGwgb3RoZXJzXG4gICAgICByZXR1cm4gMjAwMCArIGFzc2lnbmVkSW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGaWx0ZXJzIGEgbGlzdCBvZiBleHRlbnNpb25zIGFjY29yZGluZyB0byB3aGV0aGVyIHRoZXkgc3VwcG9ydCB0aGVcbiAqIGN1cnJlbnQgY29ubmVjdGl2aXR5IHN0YXR1cy5cbiAqXG4gKiBAcGFyYW0gYXNzaWduZWRFeHRlbnNpb25zIFRoZSBsaXN0IG9mIGV4dGVuc2lvbnMgdG8gZmlsdGVyLlxuICogQHBhcmFtIG9ubGluZSBXaGV0aGVyIHRoZSBhcHAgaXMgY3VycmVudGx5IG9ubGluZS4gSWYgYG51bGxgLCB1c2VzIGBuYXZpZ2F0b3Iub25MaW5lYC5cbiAqIEBwYXJhbSBlbmFibGVkRmVhdHVyZUZsYWdzIFRoZSBuYW1lcyBvZiBhbGwgZW5hYmxlZCBmZWF0dXJlIGZsYWdzLiBJZiBgbnVsbGAsIGxvb2tzXG4gKiAgICB1cCB0aGUgZmVhdHVyZSBmbGFncyB1c2luZyB0aGUgZmVhdHVyZSBmbGFncyBBUEkuXG4gKiBAcmV0dXJucyBBIGxpc3Qgb2YgZXh0ZW5zaW9ucyB0aGF0IHNob3VsZCBiZSByZW5kZXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29ubmVjdGVkRXh0ZW5zaW9ucyhcbiAgYXNzaWduZWRFeHRlbnNpb25zOiBBcnJheTxBc3NpZ25lZEV4dGVuc2lvbj4sXG4gIG9ubGluZTogYm9vbGVhbiB8IG51bGwgPSBudWxsLFxuICBlbmFibGVkRmVhdHVyZUZsYWdzOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwsXG4pOiBBcnJheTxDb25uZWN0ZWRFeHRlbnNpb24+IHtcbiAgY29uc3QgaXNPbmxpbmUgPSBvbmxpbmUgPz8gbmF2aWdhdG9yLm9uTGluZTtcbiAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICBlbmFibGVkRmVhdHVyZUZsYWdzID8/XG4gICAgT2JqZWN0LmVudHJpZXMoZmVhdHVyZUZsYWdzU3RvcmUuZ2V0U3RhdGUoKS5mbGFncylcbiAgICAgIC5maWx0ZXIoKFssIHsgZW5hYmxlZCB9XSkgPT4gZW5hYmxlZClcbiAgICAgIC5tYXAoKFtuYW1lXSkgPT4gbmFtZSk7XG4gIHJldHVybiBhc3NpZ25lZEV4dGVuc2lvbnNcbiAgICAuZmlsdGVyKChlKSA9PiBjaGVja1N0YXR1c0Zvcihpc09ubGluZSwgZS5vbmxpbmUsIGUub2ZmbGluZSkpXG4gICAgLmZpbHRlcigoZSkgPT4gZS5mZWF0dXJlRmxhZyA9PT0gdW5kZWZpbmVkIHx8IGZlYXR1cmVGbGFncz8uaW5jbHVkZXMoZS5mZWF0dXJlRmxhZykpO1xufVxuXG5mdW5jdGlvbiBnZXRBc3NpZ25lZEV4dGVuc2lvbnNGcm9tU2xvdERhdGEoXG4gIHNsb3ROYW1lOiBzdHJpbmcsXG4gIGludGVybmFsU3RhdGU6IEV4dGVuc2lvbkludGVybmFsU3RvcmUsXG4gIGNvbmZpZzogRXh0ZW5zaW9uU2xvdENvbmZpZ09iamVjdCxcbiAgZXh0ZW5zaW9uQ29uZmlnU3RvcmVTdGF0ZTogRXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLFxuKTogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+IHtcbiAgY29uc3QgYXR0YWNoZWRJZHMgPSBpbnRlcm5hbFN0YXRlLnNsb3RzW3Nsb3ROYW1lXS5hdHRhY2hlZElkcztcbiAgY29uc3QgYXNzaWduZWRJZHMgPSBjYWxjdWxhdGVBc3NpZ25lZElkcyhjb25maWcsIGF0dGFjaGVkSWRzKTtcbiAgY29uc3QgZXh0ZW5zaW9uczogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+ID0gW107XG4gIGxldCB1c2VyOiBMb2dnZWRJblVzZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgZm9yIChsZXQgaWQgb2YgYXNzaWduZWRJZHMpIHtcbiAgICBjb25zdCB7IGNvbmZpZzogZXh0ZW5zaW9uQ29uZmlnIH0gPSBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUoZXh0ZW5zaW9uQ29uZmlnU3RvcmVTdGF0ZSwgc2xvdE5hbWUsIGlkKTtcbiAgICBjb25zdCBuYW1lID0gZ2V0RXh0ZW5zaW9uTmFtZUZyb21JZChpZCk7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gaW50ZXJuYWxTdGF0ZS5leHRlbnNpb25zW25hbWVdO1xuXG4gICAgLy8gaWYgdGhlIGV4dGVuc2lvbiBoYXMgbm90IGJlZW4gcmVnaXN0ZXJlZCB5ZXQsIGRvIG5vdCBpbmNsdWRlIGl0XG4gICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgY29uc3QgcmVxdWlyZWRQcml2aWxlZ2VzID0gZXh0ZW5zaW9uQ29uZmlnPy5bJ0Rpc3BsYXkgY29uZGl0aW9ucyddPy5wcml2aWxlZ2VzID8/IGV4dGVuc2lvbi5wcml2aWxlZ2VzID8/IFtdO1xuICAgICAgaWYgKFxuICAgICAgICByZXF1aXJlZFByaXZpbGVnZXMgJiZcbiAgICAgICAgKHR5cGVvZiByZXF1aXJlZFByaXZpbGVnZXMgPT09ICdzdHJpbmcnIHx8IChBcnJheS5pc0FycmF5KHJlcXVpcmVkUHJpdmlsZWdlcykgJiYgcmVxdWlyZWRQcml2aWxlZ2VzLmxlbmd0aCA+IDApKVxuICAgICAgKSB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZCh1c2VyKSkge1xuICAgICAgICAgIHVzZXIgPSBnZXRTZXNzaW9uU3RvcmUoKS5nZXRTdGF0ZSgpLnNlc3Npb24/LnVzZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdXNlckhhc0FjY2VzcyhyZXF1aXJlZFByaXZpbGVnZXMsIHVzZXIpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZXh0ZW5zaW9ucy5wdXNoKHtcbiAgICAgICAgaWQsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIG1vZHVsZU5hbWU6IGV4dGVuc2lvbi5tb2R1bGVOYW1lLFxuICAgICAgICBjb25maWc6IGV4dGVuc2lvbkNvbmZpZyxcbiAgICAgICAgZmVhdHVyZUZsYWc6IGV4dGVuc2lvbi5mZWF0dXJlRmxhZyxcbiAgICAgICAgbWV0YTogZXh0ZW5zaW9uLm1ldGEsXG4gICAgICAgIG9ubGluZTogZXh0ZW5zaW9uLm9ubGluZSA/PyB0cnVlLFxuICAgICAgICBvZmZsaW5lOiBleHRlbnNpb24ub2ZmbGluZSA/PyBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHRlbnNpb25zO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGxpc3Qgb2YgZXh0ZW5zaW9ucyBhc3NpZ25lZCB0byBhIGdpdmVuIHNsb3RcbiAqXG4gKiBAcGFyYW0gc2xvdE5hbWUgVGhlIHNsb3QgdG8gbG9hZCB0aGUgYXNzaWduZWQgZXh0ZW5zaW9ucyBmb3JcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGV4dGVuc2lvbnMgYXNzaWduZWQgdG8gdGhlIG5hbWVkIHNsb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFzc2lnbmVkRXh0ZW5zaW9ucyhzbG90TmFtZTogc3RyaW5nKTogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+IHtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZSA9IGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uc3QgeyBjb25maWc6IHNsb3RDb25maWcgfSA9IGdldEV4dGVuc2lvblNsb3RDb25maWcoc2xvdE5hbWUpO1xuICBjb25zdCBleHRlbnNpb25TdG9yZVN0YXRlID0gZXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLmdldFN0YXRlKCk7XG4gIHJldHVybiBnZXRBc3NpZ25lZEV4dGVuc2lvbnNGcm9tU2xvdERhdGEoc2xvdE5hbWUsIGludGVybmFsU3RhdGUsIHNsb3RDb25maWcsIGV4dGVuc2lvblN0b3JlU3RhdGUpO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVBc3NpZ25lZElkcyhjb25maWc6IEV4dGVuc2lvblNsb3RDb25maWdPYmplY3QsIGF0dGFjaGVkSWRzOiBBcnJheTxzdHJpbmc+KSB7XG4gIGNvbnN0IGFkZGVkSWRzID0gY29uZmlnLmFkZCB8fCBbXTtcbiAgY29uc3QgcmVtb3ZlZElkcyA9IGNvbmZpZy5yZW1vdmUgfHwgW107XG4gIGNvbnN0IGlkT3JkZXIgPSBjb25maWcub3JkZXIgfHwgW107XG4gIGNvbnN0IHsgZXh0ZW5zaW9ucyB9ID0gZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBbLi4uYXR0YWNoZWRJZHMsIC4uLmFkZGVkSWRzXVxuICAgIC5maWx0ZXIoKGlkKSA9PiAhcmVtb3ZlZElkcy5pbmNsdWRlcyhpZCkpXG4gICAgLnNvcnQoKGlkQSwgaWRCKSA9PiB7XG4gICAgICBjb25zdCBhaSA9IGdldE9yZGVyKGlkQSwgaWRPcmRlciwgZXh0ZW5zaW9uc1tnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGlkQSldPy5vcmRlciwgYXR0YWNoZWRJZHMpO1xuICAgICAgY29uc3QgYmkgPSBnZXRPcmRlcihpZEIsIGlkT3JkZXIsIGV4dGVuc2lvbnNbZ2V0RXh0ZW5zaW9uTmFtZUZyb21JZChpZEIpXT8ub3JkZXIsIGF0dGFjaGVkSWRzKTtcblxuICAgICAgaWYgKGJpID09PSAtMSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9IGVsc2UgaWYgKGFpID09PSAtMSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhaSAtIGJpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIFVzZWQgYnkgYnkgZXh0ZW5zaW9uIHNsb3RzIGF0IG1vdW50IHRpbWUuXG4gKlxuICogQHBhcmFtIG1vZHVsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGF0IGNvbnRhaW5zIHRoZSBleHRlbnNpb24gc2xvdFxuICogQHBhcmFtIHNsb3ROYW1lIFRoZSBleHRlbnNpb24gc2xvdCBuYW1lIHRoYXQgaXMgYWN0dWFsbHkgdXNlZFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlckV4dGVuc2lvblNsb3Q6IChtb2R1bGVOYW1lOiBzdHJpbmcsIHNsb3ROYW1lOiBzdHJpbmcpID0+IHZvaWQgPSAobW9kdWxlTmFtZSwgc2xvdE5hbWUpID0+XG4gIGV4dGVuc2lvbkludGVybmFsU3RvcmUuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgZXhpc3RpbmdNb2R1bGVOYW1lID0gc3RhdGUuc2xvdHNbc2xvdE5hbWVdPy5tb2R1bGVOYW1lO1xuICAgIGlmIChleGlzdGluZ01vZHVsZU5hbWUgJiYgZXhpc3RpbmdNb2R1bGVOYW1lICE9IG1vZHVsZU5hbWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYEFuIGV4dGVuc2lvbiBzbG90IHdpdGggdGhlIG5hbWUgJyR7c2xvdE5hbWV9JyBhbHJlYWR5IGV4aXN0cy4gUmVmdXNpbmcgdG8gcmVnaXN0ZXIgdGhlIHNhbWUgc2xvdCBuYW1lIHR3aWNlIChpbiBcInJlZ2lzdGVyRXh0ZW5zaW9uU2xvdFwiKS4gVGhlIGV4aXN0aW5nIG9uZSBpcyBmcm9tIG1vZHVsZSAke2V4aXN0aW5nTW9kdWxlTmFtZX0uYCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGlmIChleGlzdGluZ01vZHVsZU5hbWUgJiYgZXhpc3RpbmdNb2R1bGVOYW1lID09IG1vZHVsZU5hbWUpIHtcbiAgICAgIC8vIFJlLXJlbmRlcmluZyBhbiBleGlzdGluZyBzbG90XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5zbG90c1tzbG90TmFtZV0pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzbG90czoge1xuICAgICAgICAgIC4uLnN0YXRlLnNsb3RzLFxuICAgICAgICAgIFtzbG90TmFtZV06IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLnNsb3RzW3Nsb3ROYW1lXSxcbiAgICAgICAgICAgIG1vZHVsZU5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHNsb3QgPSBjcmVhdGVOZXdFeHRlbnNpb25TbG90SW5mbyhzbG90TmFtZSwgbW9kdWxlTmFtZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2xvdHM6IHtcbiAgICAgICAgLi4uc3RhdGUuc2xvdHMsXG4gICAgICAgIFtzbG90TmFtZV06IHNsb3QsXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogSnVzdCBmb3IgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2V0OiAoKSA9PiB2b2lkID0gKCkgPT5cbiAgZXh0ZW5zaW9uU3RvcmUuc2V0U3RhdGUoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzbG90czoge30sXG4gICAgICBleHRlbnNpb25zOiB7fSxcbiAgICB9O1xuICB9KTtcbiJdLCJuYW1lcyI6WyJnZXRTZXNzaW9uU3RvcmUiLCJ1c2VySGFzQWNjZXNzIiwiZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlIiwiZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlIiwiZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZyIsImdldEV4dGVuc2lvblNsb3RDb25maWdGcm9tU3RvcmUiLCJnZXRFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlIiwiZmVhdHVyZUZsYWdzU3RvcmUiLCJpc0VxdWFsIiwiaXNVbmRlZmluZWQiLCJnZXRFeHRlbnNpb25JbnRlcm5hbFN0b3JlIiwiY2hlY2tTdGF0dXNGb3IiLCJnZXRFeHRlbnNpb25TdG9yZSIsInVwZGF0ZUludGVybmFsRXh0ZW5zaW9uU3RvcmUiLCJleHRlbnNpb25JbnRlcm5hbFN0b3JlIiwiZXh0ZW5zaW9uU3RvcmUiLCJzbG90c0NvbmZpZ1N0b3JlIiwiZXh0ZW5zaW9uc0NvbmZpZ1N0b3JlIiwidXBkYXRlRXh0ZW5zaW9uT3V0cHV0U3RvcmUiLCJpbnRlcm5hbFN0YXRlIiwiZXh0ZW5zaW9uU2xvdENvbmZpZ3MiLCJzbG90cyIsIk9iamVjdCIsImVudHJpZXMiLCJzbG90TmFtZSIsInNsb3QiLCJjb25maWciLCJuYW1lIiwiYXNzaWduZWRFeHRlbnNpb25zIiwiZ2V0QXNzaWduZWRFeHRlbnNpb25zRnJvbVNsb3REYXRhIiwibW9kdWxlTmFtZSIsImdldFN0YXRlIiwic2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJpbnRlcm5hbFN0b3JlIiwic2xvdENvbmZpZ3MiLCJleHRlbnNpb25Db25maWdzIiwiY3JlYXRlTmV3RXh0ZW5zaW9uU2xvdEluZm8iLCJhdHRhY2hlZElkcyIsImdldEV4dGVuc2lvbk5hbWVGcm9tSWQiLCJleHRlbnNpb25JZCIsInNwbGl0IiwiZXh0ZW5zaW9uTmFtZSIsImdldEV4dGVuc2lvblJlZ2lzdHJhdGlvbkZyb20iLCJzdGF0ZSIsImV4dGVuc2lvbnMiLCJnZXRFeHRlbnNpb25SZWdpc3RyYXRpb24iLCJyZWdpc3RlckV4dGVuc2lvbiIsImV4dGVuc2lvblJlZ2lzdHJhdGlvbiIsImluc3RhbmNlcyIsImF0dGFjaCIsImV4aXN0aW5nU2xvdCIsImRldGFjaCIsImV4dGVuc2lvblNsb3ROYW1lIiwiaW5jbHVkZXMiLCJmaWx0ZXIiLCJpZCIsImRldGFjaEFsbCIsImdldE9yZGVyIiwiY29uZmlndXJlZE9yZGVyIiwicmVnaXN0ZXJlZE9yZGVySW5kZXgiLCJhdHRhY2hlZE9yZGVyIiwiY29uZmlndXJlZEluZGV4IiwiaW5kZXhPZiIsInVuZGVmaW5lZCIsImFzc2lnbmVkSW5kZXgiLCJnZXRDb25uZWN0ZWRFeHRlbnNpb25zIiwib25saW5lIiwiZW5hYmxlZEZlYXR1cmVGbGFncyIsImlzT25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwiZmVhdHVyZUZsYWdzIiwiZmxhZ3MiLCJlbmFibGVkIiwibWFwIiwiZSIsIm9mZmxpbmUiLCJmZWF0dXJlRmxhZyIsImV4dGVuc2lvbkNvbmZpZ1N0b3JlU3RhdGUiLCJhc3NpZ25lZElkcyIsImNhbGN1bGF0ZUFzc2lnbmVkSWRzIiwidXNlciIsImV4dGVuc2lvbkNvbmZpZyIsImV4dGVuc2lvbiIsInJlcXVpcmVkUHJpdmlsZWdlcyIsInByaXZpbGVnZXMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJzZXNzaW9uIiwicHVzaCIsIm1ldGEiLCJnZXRBc3NpZ25lZEV4dGVuc2lvbnMiLCJzbG90Q29uZmlnIiwiZXh0ZW5zaW9uU3RvcmVTdGF0ZSIsImFkZGVkSWRzIiwiYWRkIiwicmVtb3ZlZElkcyIsInJlbW92ZSIsImlkT3JkZXIiLCJvcmRlciIsInNvcnQiLCJpZEEiLCJpZEIiLCJhaSIsImJpIiwicmVnaXN0ZXJFeHRlbnNpb25TbG90IiwiZXhpc3RpbmdNb2R1bGVOYW1lIiwiY29uc29sZSIsIndhcm4iLCJyZXNldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-extensions/src/extensions.ts\n");
|
|
6691
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ attach: () => (/* binding */ attach),\n/* harmony export */ detach: () => (/* binding */ detach),\n/* harmony export */ detachAll: () => (/* binding */ detachAll),\n/* harmony export */ getAssignedExtensions: () => (/* binding */ getAssignedExtensions),\n/* harmony export */ getConnectedExtensions: () => (/* binding */ getConnectedExtensions),\n/* harmony export */ getExtensionNameFromId: () => (/* binding */ getExtensionNameFromId),\n/* harmony export */ getExtensionRegistration: () => (/* binding */ getExtensionRegistration),\n/* harmony export */ getExtensionRegistrationFrom: () => (/* binding */ getExtensionRegistrationFrom),\n/* harmony export */ registerExtension: () => (/* binding */ registerExtension),\n/* harmony export */ registerExtensionSlot: () => (/* binding */ registerExtensionSlot),\n/* harmony export */ reset: () => (/* binding */ reset)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var _openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-feature-flags */ \"../../framework/esm-feature-flags/src/index.ts\");\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var lodash_es_isUndefined__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash-es/isUndefined */ \"../../../node_modules/lodash-es/isUndefined.js\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! . */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./store */ \"../../framework/esm-extensions/src/store.ts\");\n/** @module @category Extension */ /*\n * We have the following extension modes:\n *\n * - attached (set via code in form of: attach, detach, ...)\n * - configured (set via configuration in form of: added, removed, ...)\n * - assigned (computed from attached and configured)\n * - connected (computed from assigned using connectivity and online / offline)\n */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n\n\nvar extensionInternalStore = (0,___WEBPACK_IMPORTED_MODULE_3__.getExtensionInternalStore)();\nvar extensionStore = (0,_store__WEBPACK_IMPORTED_MODULE_4__.getExtensionStore)();\nvar slotsConfigStore = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionSlotsConfigStore)();\nvar extensionsConfigStore = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionsConfigStore)();\n// Keep the output store updated\nfunction updateExtensionOutputStore(internalState, extensionSlotConfigs, extensionsConfigStore) {\n var slots = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(internalState.slots)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), slotName = _step_value[0], slot = _step_value[1];\n var config = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionSlotConfigFromStore)(extensionSlotConfigs, slot.name).config;\n var assignedExtensions = getAssignedExtensionsFromSlotData(slotName, internalState, config, extensionsConfigStore);\n slots[slotName] = {\n moduleName: slot.moduleName,\n assignedExtensions: assignedExtensions\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (!(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(extensionStore.getState().slots, slots)) {\n extensionStore.setState({\n slots: slots\n });\n }\n}\nextensionInternalStore.subscribe(function(internalStore) {\n updateExtensionOutputStore(internalStore, slotsConfigStore.getState(), extensionsConfigStore.getState());\n});\nslotsConfigStore.subscribe(function(slotConfigs) {\n updateExtensionOutputStore(extensionInternalStore.getState(), slotConfigs, extensionsConfigStore.getState());\n});\nextensionsConfigStore.subscribe(function(extensionConfigs) {\n updateExtensionOutputStore(extensionInternalStore.getState(), slotsConfigStore.getState(), extensionConfigs);\n});\nfunction createNewExtensionSlotInfo(slotName, moduleName) {\n return {\n moduleName: moduleName,\n name: slotName,\n attachedIds: [],\n config: null\n };\n}\n/**\n * Given an extension ID, which is a string uniquely identifying\n * an instance of an extension within an extension slot, this\n * returns the extension name.\n *\n * @example\n * ```js\n * getExtensionNameFromId(\"foo#bar\")\n * --> \"foo\"\n * getExtensionNameFromId(\"baz\")\n * --> \"baz\"\n * ```\n */ function getExtensionNameFromId(extensionId) {\n var _extensionId_split = _sliced_to_array(extensionId.split(\"#\"), 1), extensionName = _extensionId_split[0];\n return extensionName;\n}\nfunction getExtensionRegistrationFrom(state, extensionId) {\n var name = getExtensionNameFromId(extensionId);\n return state.extensions[name];\n}\nfunction getExtensionRegistration(extensionId) {\n var state = extensionInternalStore.getState();\n return getExtensionRegistrationFrom(state, extensionId);\n}\n/**\n * Extensions must be registered in order to be rendered.\n * This is handled by the app shell, when extensions are provided\n * via the `setupOpenMRS` return object.\n * @internal\n */ var registerExtension = function(extensionRegistration) {\n return extensionInternalStore.setState(function(state) {\n state.extensions[extensionRegistration.name] = _object_spread_props(_object_spread({}, extensionRegistration), {\n instances: []\n });\n return state;\n });\n};\n/**\n * Attach an extension to an extension slot.\n *\n * This will cause the extension to be rendered into the specified\n * extension slot, unless it is removed by configuration. Using\n * `attach` is an alternative to specifying the `slot` or `slots`\n * in the extension declaration.\n *\n * It is particularly useful when creating a slot into which\n * you want to render an existing extension. This enables you\n * to do so without modifying the extension's declaration, which\n * may be impractical or inappropriate, for example if you are\n * writing a module for a specific implementation.\n *\n * @param slotName a name uniquely identifying the slot\n * @param extensionId an extension name, with an optional #-suffix\n * to distinguish it from other instances of the same extension\n * attached to the same slot.\n */ function attach(slotName, extensionId) {\n (0,_store__WEBPACK_IMPORTED_MODULE_4__.updateInternalExtensionStore)(function(state) {\n var existingSlot = state.slots[slotName];\n if (!existingSlot) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, _object_spread_props(_object_spread({}, createNewExtensionSlotInfo(slotName)), {\n attachedIds: [\n extensionId\n ]\n })))\n });\n } else {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, _object_spread_props(_object_spread({}, existingSlot), {\n attachedIds: _to_consumable_array(existingSlot.attachedIds).concat([\n extensionId\n ])\n })))\n });\n }\n });\n}\n/** Avoid using this. Extension attachments should be considered declarative. */ function detach(extensionSlotName, extensionId) {\n (0,_store__WEBPACK_IMPORTED_MODULE_4__.updateInternalExtensionStore)(function(state) {\n var existingSlot = state.slots[extensionSlotName];\n if (existingSlot && existingSlot.attachedIds.includes(extensionId)) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, extensionSlotName, _object_spread_props(_object_spread({}, existingSlot), {\n attachedIds: existingSlot.attachedIds.filter(function(id) {\n return id !== extensionId;\n })\n })))\n });\n } else {\n return state;\n }\n });\n}\n/** Avoid using this. Extension attachments should be considered declarative. */ function detachAll(extensionSlotName) {\n (0,_store__WEBPACK_IMPORTED_MODULE_4__.updateInternalExtensionStore)(function(state) {\n var existingSlot = state.slots[extensionSlotName];\n if (existingSlot) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, extensionSlotName, _object_spread_props(_object_spread({}, existingSlot), {\n attachedIds: []\n })))\n });\n } else {\n return state;\n }\n });\n}\n/**\n * Get an order index for the extension. This will\n * come from either its configured order, its registered order\n * parameter, or the order in which it happened to be attached.\n */ function getOrder(extensionId, configuredOrder, registeredOrderIndex, attachedOrder) {\n var configuredIndex = configuredOrder.indexOf(extensionId);\n if (configuredIndex !== -1) {\n return configuredIndex;\n } else if (registeredOrderIndex !== undefined) {\n // extensions that don't have a configured order should appear after those that do\n return 1000 + registeredOrderIndex;\n } else {\n var assignedIndex = attachedOrder.indexOf(extensionId);\n if (assignedIndex !== -1) {\n // extensions that have neither a configured nor registered order should appear\n // after all others\n return 2000 + assignedIndex;\n } else {\n return -1;\n }\n }\n}\n/**\n * Filters a list of extensions according to whether they support the\n * current connectivity status.\n *\n * @param assignedExtensions The list of extensions to filter.\n * @param online Whether the app is currently online. If `null`, uses `navigator.onLine`.\n * @param enabledFeatureFlags The names of all enabled feature flags. If `null`, looks\n * up the feature flags using the feature flags API.\n * @returns A list of extensions that should be rendered\n */ function getConnectedExtensions(assignedExtensions) {\n var online = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, enabledFeatureFlags = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;\n var isOnline = online !== null && online !== void 0 ? online : navigator.onLine;\n var featureFlags = enabledFeatureFlags !== null && enabledFeatureFlags !== void 0 ? enabledFeatureFlags : Object.entries(_openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_2__.featureFlagsStore.getState().flags).filter(function(param) {\n var _param = _sliced_to_array(param, 2), enabled = _param[1].enabled;\n return enabled;\n }).map(function(param) {\n var _param = _sliced_to_array(param, 1), name = _param[0];\n return name;\n });\n return assignedExtensions.filter(function(e) {\n return (0,___WEBPACK_IMPORTED_MODULE_3__.checkStatusFor)(isOnline, e.online, e.offline);\n }).filter(function(e) {\n return e.featureFlag === undefined || (featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.includes(e.featureFlag));\n });\n}\nfunction getAssignedExtensionsFromSlotData(slotName, internalState, config, extensionConfigStoreState) {\n var attachedIds = internalState.slots[slotName].attachedIds;\n var assignedIds = calculateAssignedIds(config, attachedIds);\n var extensions = [];\n var user = undefined;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = assignedIds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var id = _step.value;\n var _getExtensionConfigFromStore = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(extensionConfigStoreState, slotName, id), extensionConfig = _getExtensionConfigFromStore.config;\n var name = getExtensionNameFromId(id);\n var extension = internalState.extensions[name];\n // if the extension has not been registered yet, do not include it\n if (extension) {\n var _extensionConfig_Displayconditions;\n var _extensionConfig_Displayconditions_privileges, _ref;\n var requiredPrivileges = (_ref = (_extensionConfig_Displayconditions_privileges = extensionConfig === null || extensionConfig === void 0 ? void 0 : (_extensionConfig_Displayconditions = extensionConfig[\"Display conditions\"]) === null || _extensionConfig_Displayconditions === void 0 ? void 0 : _extensionConfig_Displayconditions.privileges) !== null && _extensionConfig_Displayconditions_privileges !== void 0 ? _extensionConfig_Displayconditions_privileges : extension.privileges) !== null && _ref !== void 0 ? _ref : [];\n if (requiredPrivileges && (typeof requiredPrivileges === \"string\" || Array.isArray(requiredPrivileges) && requiredPrivileges.length > 0)) {\n if ((0,lodash_es_isUndefined__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(user)) {\n var _getSessionStore_getState_session;\n user = (_getSessionStore_getState_session = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().getState().session) === null || _getSessionStore_getState_session === void 0 ? void 0 : _getSessionStore_getState_session.user;\n }\n if (!user) {\n continue;\n }\n if (!(0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.userHasAccess)(requiredPrivileges, user)) {\n continue;\n }\n }\n var _extension_online, _extension_offline;\n extensions.push({\n id: id,\n name: name,\n moduleName: extension.moduleName,\n config: extensionConfig,\n featureFlag: extension.featureFlag,\n meta: extension.meta,\n online: (_extension_online = extension.online) !== null && _extension_online !== void 0 ? _extension_online : true,\n offline: (_extension_offline = extension.offline) !== null && _extension_offline !== void 0 ? _extension_offline : false\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return extensions;\n}\n/**\n * Gets the list of extensions assigned to a given slot\n *\n * @param slotName The slot to load the assigned extensions for\n * @returns An array of extensions assigned to the named slot\n */ function getAssignedExtensions(slotName) {\n var internalState = extensionInternalStore.getState();\n var _getExtensionSlotConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionSlotConfig)(slotName), slotConfig = _getExtensionSlotConfig.config;\n var extensionStoreState = extensionsConfigStore.getState();\n return getAssignedExtensionsFromSlotData(slotName, internalState, slotConfig, extensionStoreState);\n}\nfunction calculateAssignedIds(config, attachedIds) {\n var addedIds = config.add || [];\n var removedIds = config.remove || [];\n var idOrder = config.order || [];\n var extensions = extensionInternalStore.getState().extensions;\n return _to_consumable_array(attachedIds).concat(_to_consumable_array(addedIds)).filter(function(id) {\n return !removedIds.includes(id);\n }).sort(function(idA, idB) {\n var _extensions_getExtensionNameFromId, _extensions_getExtensionNameFromId1;\n var ai = getOrder(idA, idOrder, (_extensions_getExtensionNameFromId = extensions[getExtensionNameFromId(idA)]) === null || _extensions_getExtensionNameFromId === void 0 ? void 0 : _extensions_getExtensionNameFromId.order, attachedIds);\n var bi = getOrder(idB, idOrder, (_extensions_getExtensionNameFromId1 = extensions[getExtensionNameFromId(idB)]) === null || _extensions_getExtensionNameFromId1 === void 0 ? void 0 : _extensions_getExtensionNameFromId1.order, attachedIds);\n if (bi === -1) {\n return -1;\n } else if (ai === -1) {\n return 1;\n } else {\n return ai - bi;\n }\n });\n}\n/**\n * Used by by extension slots at mount time.\n *\n * @param moduleName The name of the module that contains the extension slot\n * @param slotName The extension slot name that is actually used\n * @internal\n */ var registerExtensionSlot = function(moduleName, slotName) {\n return extensionInternalStore.setState(function(state) {\n var _state_slots_slotName;\n var existingModuleName = (_state_slots_slotName = state.slots[slotName]) === null || _state_slots_slotName === void 0 ? void 0 : _state_slots_slotName.moduleName;\n if (existingModuleName && existingModuleName != moduleName) {\n console.warn(\"An extension slot with the name '\".concat(slotName, '\\' already exists. Refusing to register the same slot name twice (in \"registerExtensionSlot\"). The existing one is from module ').concat(existingModuleName, \".\"));\n return state;\n }\n if (existingModuleName && existingModuleName == moduleName) {\n // Re-rendering an existing slot\n return state;\n }\n if (state.slots[slotName]) {\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, _object_spread_props(_object_spread({}, state.slots[slotName]), {\n moduleName: moduleName\n })))\n });\n }\n var slot = createNewExtensionSlotInfo(slotName, moduleName);\n return _object_spread_props(_object_spread({}, state), {\n slots: _object_spread_props(_object_spread({}, state.slots), _define_property({}, slotName, slot))\n });\n });\n};\n/**\n * @internal\n * Just for testing.\n */ var reset = function() {\n return extensionStore.setState(function() {\n return {\n slots: {},\n extensions: {}\n };\n });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1leHRlbnNpb25zL3NyYy9leHRlbnNpb25zLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQzs7Ozs7OztDQU9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdpRTtBQVFyQztBQUNrQztBQUN2QjtBQUNRO0FBRWM7QUFFWTtBQUUxRSxJQUFNYyx5QkFBeUJKLDREQUF5QkE7QUFDeEQsSUFBTUssaUJBQWlCSCx5REFBaUJBO0FBQ3hDLElBQU1JLG1CQUFtQlYsaUZBQTRCQTtBQUNyRCxJQUFNVyx3QkFBd0JkLDZFQUF3QkE7QUFFdEQsZ0NBQWdDO0FBQ2hDLFNBQVNlLDJCQUNQQyxhQUFxQyxFQUNyQ0Msb0JBQStDLEVBQy9DSCxxQkFBNEMsRUFDNUM7SUFDQSxJQUFNSSxRQUE0QyxDQUFDO1FBQzlDOztRQUFMLFFBQUssWUFBd0JDLE9BQU9DLE9BQU8sQ0FBQ0osY0FBY0UsS0FBSyxzQkFBMUQsd0dBQTZEO1lBQTdELG9EQUFLRywyQkFBVUM7WUFDbEIsSUFBTSxTQUFhcEIsb0ZBQStCQSxDQUFDZSxzQkFBc0JLLEtBQUtFLElBQUksRUFBMUVEO1lBQ1IsSUFBTUUscUJBQXFCQyxrQ0FDekJMLFVBQ0FMLGVBQ0FPLFFBQ0FUO1lBRUZJLEtBQUssQ0FBQ0csU0FBUyxHQUFHO2dCQUFFTSxZQUFZTCxLQUFLSyxVQUFVO2dCQUFFRixvQkFBQUE7WUFBbUI7UUFDdEU7O1FBVEs7UUFBQTs7O2lCQUFBO2dCQUFBOzs7Z0JBQUE7c0JBQUE7Ozs7SUFVTCxJQUFJLENBQUNwQiw2REFBT0EsQ0FBQ08sZUFBZWdCLFFBQVEsR0FBR1YsS0FBSyxFQUFFQSxRQUFRO1FBQ3BETixlQUFlaUIsUUFBUSxDQUFDO1lBQUVYLE9BQUFBO1FBQU07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QUFDWSxPQUFVO1lBQ2RBO1FBQTNCLElBQU1nRSxxQkFBcUJoRSxDQUFBQSx3QkFBQUEsTUFBTXZCLEtBQUssQ0FBQ0csU0FBUyxjQUFyQm9CLG1DQUFBQSxLQUFBQSxJQUFBQSxzQkFBdUJkLFVBQVU7UUFDNUQsSUFBSThFLHNCQUFzQkEsc0JBQXNCOUUsWUFBWTtZQUMxRCtFLFFBQVFDLElBQUksQ0FDVixvQ0FBNktGLE9BQXpJcEYsVUFBUyxtSUFBbUosT0FBbkJvRixvQkFBbUI7WUFFbE0sT0FBT2hFO1FBQ1QsQ0FBQztRQUNELElBQUlnRSxzQkFBc0JBLHNCQUFzQjlFLFlBQVk7WUFDMUQsZ0NBQWdDO1lBQ2hDLE9BQU9jO1FBQ1QsQ0FBQztRQUNELElBQUlBLE1BQU12QixLQUFLLENBQUNHLFNBQVMsRUFBRTtZQUN6QixPQUFPLHdDQUNGb0I7Z0JBQ0h2QixPQUFPLHdDQUNGdUIsTUFBTXZCLEtBQUssR0FDZCxxQkFBQ0csVUFBVyx3Q0FDUG9CLE1BQU12QixLQUFLLENBQUNHLFNBQVM7b0JBQ3hCTSxZQUFBQTs7O1FBSVIsQ0FBQztRQUNELElBQU1MLE9BQU9ZLDJCQUEyQmIsVUFBVU07UUFDbEQsT0FBTyx3Q0FDRmM7WUFDSHZCLE9BQU8sd0NBQ0Z1QixNQUFNdkIsS0FBSyxHQUNkLHFCQUFDRyxVQUFXQzs7SUFHbEI7RUFBRztBQUVMOzs7Q0FHQyxHQUNNLElBQU1zRixRQUFvQjtXQUMvQmhHLGVBQWVpQixRQUFRLENBQUMsV0FBTTtRQUM1QixPQUFPO1lBQ0xYLE9BQU8sQ0FBQztZQUNSd0IsWUFBWSxDQUFDO1FBQ2Y7SUFDRjtFQUFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWV4dGVuc2lvbnMvc3JjL2V4dGVuc2lvbnMudHM/NzU5YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgRXh0ZW5zaW9uICovXG4vKlxuICogV2UgaGF2ZSB0aGUgZm9sbG93aW5nIGV4dGVuc2lvbiBtb2RlczpcbiAqXG4gKiAtIGF0dGFjaGVkIChzZXQgdmlhIGNvZGUgaW4gZm9ybSBvZjogYXR0YWNoLCBkZXRhY2gsIC4uLilcbiAqIC0gY29uZmlndXJlZCAoc2V0IHZpYSBjb25maWd1cmF0aW9uIGluIGZvcm0gb2Y6IGFkZGVkLCByZW1vdmVkLCAuLi4pXG4gKiAtIGFzc2lnbmVkIChjb21wdXRlZCBmcm9tIGF0dGFjaGVkIGFuZCBjb25maWd1cmVkKVxuICogLSBjb25uZWN0ZWQgKGNvbXB1dGVkIGZyb20gYXNzaWduZWQgdXNpbmcgY29ubmVjdGl2aXR5IGFuZCBvbmxpbmUgLyBvZmZsaW5lKVxuICovXG5cbmltcG9ydCB0eXBlIHsgTG9nZ2VkSW5Vc2VyIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgeyBnZXRTZXNzaW9uU3RvcmUsIHVzZXJIYXNBY2Nlc3MgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbmltcG9ydCB0eXBlIHsgRXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLCBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0LCBFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQge1xuICBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUsXG4gIGdldEV4dGVuc2lvbnNDb25maWdTdG9yZSxcbiAgZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZyxcbiAgZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZSxcbiAgZ2V0RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSxcbn0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQgeyBmZWF0dXJlRmxhZ3NTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1mZWF0dXJlLWZsYWdzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC1lcy9pc0VxdWFsJztcbmltcG9ydCBpc1VuZGVmaW5lZCBmcm9tICdsb2Rhc2gtZXMvaXNVbmRlZmluZWQnO1xuaW1wb3J0IHR5cGUgeyBFeHRlbnNpb25TbG90U3RhdGUsIEFzc2lnbmVkRXh0ZW5zaW9uLCBDb25uZWN0ZWRFeHRlbnNpb24gfSBmcm9tICcuJztcbmltcG9ydCB7IGdldEV4dGVuc2lvbkludGVybmFsU3RvcmUsIGNoZWNrU3RhdHVzRm9yIH0gZnJvbSAnLic7XG5pbXBvcnQgdHlwZSB7IEV4dGVuc2lvblJlZ2lzdHJhdGlvbiwgRXh0ZW5zaW9uU2xvdEluZm8sIEV4dGVuc2lvbkludGVybmFsU3RvcmUgfSBmcm9tICcuL3N0b3JlJztcbmltcG9ydCB7IGdldEV4dGVuc2lvblN0b3JlLCB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5cbmNvbnN0IGV4dGVuc2lvbkludGVybmFsU3RvcmUgPSBnZXRFeHRlbnNpb25JbnRlcm5hbFN0b3JlKCk7XG5jb25zdCBleHRlbnNpb25TdG9yZSA9IGdldEV4dGVuc2lvblN0b3JlKCk7XG5jb25zdCBzbG90c0NvbmZpZ1N0b3JlID0gZ2V0RXh0ZW5zaW9uU2xvdHNDb25maWdTdG9yZSgpO1xuY29uc3QgZXh0ZW5zaW9uc0NvbmZpZ1N0b3JlID0gZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlKCk7XG5cbi8vIEtlZXAgdGhlIG91dHB1dCBzdG9yZSB1cGRhdGVkXG5mdW5jdGlvbiB1cGRhdGVFeHRlbnNpb25PdXRwdXRTdG9yZShcbiAgaW50ZXJuYWxTdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSxcbiAgZXh0ZW5zaW9uU2xvdENvbmZpZ3M6IEV4dGVuc2lvblNsb3RzQ29uZmlnU3RvcmUsXG4gIGV4dGVuc2lvbnNDb25maWdTdG9yZTogRXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLFxuKSB7XG4gIGNvbnN0IHNsb3RzOiBSZWNvcmQ8c3RyaW5nLCBFeHRlbnNpb25TbG90U3RhdGU+ID0ge307XG4gIGZvciAobGV0IFtzbG90TmFtZSwgc2xvdF0gb2YgT2JqZWN0LmVudHJpZXMoaW50ZXJuYWxTdGF0ZS5zbG90cykpIHtcbiAgICBjb25zdCB7IGNvbmZpZyB9ID0gZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZ0Zyb21TdG9yZShleHRlbnNpb25TbG90Q29uZmlncywgc2xvdC5uYW1lKTtcbiAgICBjb25zdCBhc3NpZ25lZEV4dGVuc2lvbnMgPSBnZXRBc3NpZ25lZEV4dGVuc2lvbnNGcm9tU2xvdERhdGEoXG4gICAgICBzbG90TmFtZSxcbiAgICAgIGludGVybmFsU3RhdGUsXG4gICAgICBjb25maWcsXG4gICAgICBleHRlbnNpb25zQ29uZmlnU3RvcmUsXG4gICAgKTtcbiAgICBzbG90c1tzbG90TmFtZV0gPSB7IG1vZHVsZU5hbWU6IHNsb3QubW9kdWxlTmFtZSwgYXNzaWduZWRFeHRlbnNpb25zIH07XG4gIH1cbiAgaWYgKCFpc0VxdWFsKGV4dGVuc2lvblN0b3JlLmdldFN0YXRlKCkuc2xvdHMsIHNsb3RzKSkge1xuICAgIGV4dGVuc2lvblN0b3JlLnNldFN0YXRlKHsgc2xvdHMgfSk7XG4gIH1cbn1cblxuZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUoKGludGVybmFsU3RvcmUpID0+IHtcbiAgdXBkYXRlRXh0ZW5zaW9uT3V0cHV0U3RvcmUoaW50ZXJuYWxTdG9yZSwgc2xvdHNDb25maWdTdG9yZS5nZXRTdGF0ZSgpLCBleHRlbnNpb25zQ29uZmlnU3RvcmUuZ2V0U3RhdGUoKSk7XG59KTtcblxuc2xvdHNDb25maWdTdG9yZS5zdWJzY3JpYmUoKHNsb3RDb25maWdzKSA9PiB7XG4gIHVwZGF0ZUV4dGVuc2lvbk91dHB1dFN0b3JlKGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgc2xvdENvbmZpZ3MsIGV4dGVuc2lvbnNDb25maWdTdG9yZS5nZXRTdGF0ZSgpKTtcbn0pO1xuXG5leHRlbnNpb25zQ29uZmlnU3RvcmUuc3Vic2NyaWJlKChleHRlbnNpb25Db25maWdzKSA9PiB7XG4gIHVwZGF0ZUV4dGVuc2lvbk91dHB1dFN0b3JlKGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKSwgc2xvdHNDb25maWdTdG9yZS5nZXRTdGF0ZSgpLCBleHRlbnNpb25Db25maWdzKTtcbn0pO1xuXG5mdW5jdGlvbiBjcmVhdGVOZXdFeHRlbnNpb25TbG90SW5mbyhzbG90TmFtZTogc3RyaW5nLCBtb2R1bGVOYW1lPzogc3RyaW5nKTogRXh0ZW5zaW9uU2xvdEluZm8ge1xuICByZXR1cm4ge1xuICAgIG1vZHVsZU5hbWUsXG4gICAgbmFtZTogc2xvdE5hbWUsXG4gICAgYXR0YWNoZWRJZHM6IFtdLFxuICAgIGNvbmZpZzogbnVsbCxcbiAgfTtcbn1cblxuLyoqXG4gKiBHaXZlbiBhbiBleHRlbnNpb24gSUQsIHdoaWNoIGlzIGEgc3RyaW5nIHVuaXF1ZWx5IGlkZW50aWZ5aW5nXG4gKiBhbiBpbnN0YW5jZSBvZiBhbiBleHRlbnNpb24gd2l0aGluIGFuIGV4dGVuc2lvbiBzbG90LCB0aGlzXG4gKiByZXR1cm5zIHRoZSBleHRlbnNpb24gbmFtZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGdldEV4dGVuc2lvbk5hbWVGcm9tSWQoXCJmb28jYmFyXCIpXG4gKiAgLS0+IFwiZm9vXCJcbiAqIGdldEV4dGVuc2lvbk5hbWVGcm9tSWQoXCJiYXpcIilcbiAqICAtLT4gXCJiYXpcIlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgY29uc3QgW2V4dGVuc2lvbk5hbWVdID0gZXh0ZW5zaW9uSWQuc3BsaXQoJyMnKTtcbiAgcmV0dXJuIGV4dGVuc2lvbk5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25SZWdpc3RyYXRpb25Gcm9tKFxuICBzdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSxcbiAgZXh0ZW5zaW9uSWQ6IHN0cmluZyxcbik6IEV4dGVuc2lvblJlZ2lzdHJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG5hbWUgPSBnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGV4dGVuc2lvbklkKTtcbiAgcmV0dXJuIHN0YXRlLmV4dGVuc2lvbnNbbmFtZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb25SZWdpc3RyYXRpb24oZXh0ZW5zaW9uSWQ6IHN0cmluZyk6IEV4dGVuc2lvblJlZ2lzdHJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0YXRlID0gZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICByZXR1cm4gZ2V0RXh0ZW5zaW9uUmVnaXN0cmF0aW9uRnJvbShzdGF0ZSwgZXh0ZW5zaW9uSWQpO1xufVxuXG4vKipcbiAqIEV4dGVuc2lvbnMgbXVzdCBiZSByZWdpc3RlcmVkIGluIG9yZGVyIHRvIGJlIHJlbmRlcmVkLlxuICogVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBhcHAgc2hlbGwsIHdoZW4gZXh0ZW5zaW9ucyBhcmUgcHJvdmlkZWRcbiAqIHZpYSB0aGUgYHNldHVwT3Blbk1SU2AgcmV0dXJuIG9iamVjdC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJFeHRlbnNpb246IChleHRlbnNpb25SZWdpc3RyYXRpb246IEV4dGVuc2lvblJlZ2lzdHJhdGlvbikgPT4gdm9pZCA9IChleHRlbnNpb25SZWdpc3RyYXRpb24pID0+XG4gIGV4dGVuc2lvbkludGVybmFsU3RvcmUuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgc3RhdGUuZXh0ZW5zaW9uc1tleHRlbnNpb25SZWdpc3RyYXRpb24ubmFtZV0gPSB7XG4gICAgICAuLi5leHRlbnNpb25SZWdpc3RyYXRpb24sXG4gICAgICBpbnN0YW5jZXM6IFtdLFxuICAgIH07XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9KTtcblxuLyoqXG4gKiBBdHRhY2ggYW4gZXh0ZW5zaW9uIHRvIGFuIGV4dGVuc2lvbiBzbG90LlxuICpcbiAqIFRoaXMgd2lsbCBjYXVzZSB0aGUgZXh0ZW5zaW9uIHRvIGJlIHJlbmRlcmVkIGludG8gdGhlIHNwZWNpZmllZFxuICogZXh0ZW5zaW9uIHNsb3QsIHVubGVzcyBpdCBpcyByZW1vdmVkIGJ5IGNvbmZpZ3VyYXRpb24uIFVzaW5nXG4gKiBgYXR0YWNoYCBpcyBhbiBhbHRlcm5hdGl2ZSB0byBzcGVjaWZ5aW5nIHRoZSBgc2xvdGAgb3IgYHNsb3RzYFxuICogaW4gdGhlIGV4dGVuc2lvbiBkZWNsYXJhdGlvbi5cbiAqXG4gKiBJdCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4gY3JlYXRpbmcgYSBzbG90IGludG8gd2hpY2hcbiAqIHlvdSB3YW50IHRvIHJlbmRlciBhbiBleGlzdGluZyBleHRlbnNpb24uIFRoaXMgZW5hYmxlcyB5b3VcbiAqIHRvIGRvIHNvIHdpdGhvdXQgbW9kaWZ5aW5nIHRoZSBleHRlbnNpb24ncyBkZWNsYXJhdGlvbiwgd2hpY2hcbiAqIG1heSBiZSBpbXByYWN0aWNhbCBvciBpbmFwcHJvcHJpYXRlLCBmb3IgZXhhbXBsZSBpZiB5b3UgYXJlXG4gKiB3cml0aW5nIGEgbW9kdWxlIGZvciBhIHNwZWNpZmljIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIEBwYXJhbSBzbG90TmFtZSBhIG5hbWUgdW5pcXVlbHkgaWRlbnRpZnlpbmcgdGhlIHNsb3RcbiAqIEBwYXJhbSBleHRlbnNpb25JZCBhbiBleHRlbnNpb24gbmFtZSwgd2l0aCBhbiBvcHRpb25hbCAjLXN1ZmZpeFxuICogICAgdG8gZGlzdGluZ3Vpc2ggaXQgZnJvbSBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgZXh0ZW5zaW9uXG4gKiAgICBhdHRhY2hlZCB0byB0aGUgc2FtZSBzbG90LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXR0YWNoKHNsb3ROYW1lOiBzdHJpbmcsIGV4dGVuc2lvbklkOiBzdHJpbmcpIHtcbiAgdXBkYXRlSW50ZXJuYWxFeHRlbnNpb25TdG9yZSgoc3RhdGUpID0+IHtcbiAgICBjb25zdCBleGlzdGluZ1Nsb3QgPSBzdGF0ZS5zbG90c1tzbG90TmFtZV07XG5cbiAgICBpZiAoIWV4aXN0aW5nU2xvdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNsb3RzOiB7XG4gICAgICAgICAgLi4uc3RhdGUuc2xvdHMsXG4gICAgICAgICAgW3Nsb3ROYW1lXToge1xuICAgICAgICAgICAgLi4uY3JlYXRlTmV3RXh0ZW5zaW9uU2xvdEluZm8oc2xvdE5hbWUpLFxuICAgICAgICAgICAgYXR0YWNoZWRJZHM6IFtleHRlbnNpb25JZF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzbG90czoge1xuICAgICAgICAgIC4uLnN0YXRlLnNsb3RzLFxuICAgICAgICAgIFtzbG90TmFtZV06IHtcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nU2xvdCxcbiAgICAgICAgICAgIGF0dGFjaGVkSWRzOiBbLi4uZXhpc3RpbmdTbG90LmF0dGFjaGVkSWRzLCBleHRlbnNpb25JZF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9KTtcbn1cblxuLyoqIEF2b2lkIHVzaW5nIHRoaXMuIEV4dGVuc2lvbiBhdHRhY2htZW50cyBzaG91bGQgYmUgY29uc2lkZXJlZCBkZWNsYXJhdGl2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2goZXh0ZW5zaW9uU2xvdE5hbWU6IHN0cmluZywgZXh0ZW5zaW9uSWQ6IHN0cmluZykge1xuICB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlKChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nU2xvdCA9IHN0YXRlLnNsb3RzW2V4dGVuc2lvblNsb3ROYW1lXTtcblxuICAgIGlmIChleGlzdGluZ1Nsb3QgJiYgZXhpc3RpbmdTbG90LmF0dGFjaGVkSWRzLmluY2x1ZGVzKGV4dGVuc2lvbklkKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNsb3RzOiB7XG4gICAgICAgICAgLi4uc3RhdGUuc2xvdHMsXG4gICAgICAgICAgW2V4dGVuc2lvblNsb3ROYW1lXToge1xuICAgICAgICAgICAgLi4uZXhpc3RpbmdTbG90LFxuICAgICAgICAgICAgYXR0YWNoZWRJZHM6IGV4aXN0aW5nU2xvdC5hdHRhY2hlZElkcy5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gZXh0ZW5zaW9uSWQpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqIEF2b2lkIHVzaW5nIHRoaXMuIEV4dGVuc2lvbiBhdHRhY2htZW50cyBzaG91bGQgYmUgY29uc2lkZXJlZCBkZWNsYXJhdGl2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hBbGwoZXh0ZW5zaW9uU2xvdE5hbWU6IHN0cmluZykge1xuICB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlKChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nU2xvdCA9IHN0YXRlLnNsb3RzW2V4dGVuc2lvblNsb3ROYW1lXTtcblxuICAgIGlmIChleGlzdGluZ1Nsb3QpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzbG90czoge1xuICAgICAgICAgIC4uLnN0YXRlLnNsb3RzLFxuICAgICAgICAgIFtleHRlbnNpb25TbG90TmFtZV06IHtcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nU2xvdCxcbiAgICAgICAgICAgIGF0dGFjaGVkSWRzOiBbXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGFuIG9yZGVyIGluZGV4IGZvciB0aGUgZXh0ZW5zaW9uLiBUaGlzIHdpbGxcbiAqIGNvbWUgZnJvbSBlaXRoZXIgaXRzIGNvbmZpZ3VyZWQgb3JkZXIsIGl0cyByZWdpc3RlcmVkIG9yZGVyXG4gKiBwYXJhbWV0ZXIsIG9yIHRoZSBvcmRlciBpbiB3aGljaCBpdCBoYXBwZW5lZCB0byBiZSBhdHRhY2hlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0T3JkZXIoXG4gIGV4dGVuc2lvbklkOiBzdHJpbmcsXG4gIGNvbmZpZ3VyZWRPcmRlcjogQXJyYXk8c3RyaW5nPixcbiAgcmVnaXN0ZXJlZE9yZGVySW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgYXR0YWNoZWRPcmRlcjogQXJyYXk8c3RyaW5nPixcbikge1xuICBjb25zdCBjb25maWd1cmVkSW5kZXggPSBjb25maWd1cmVkT3JkZXIuaW5kZXhPZihleHRlbnNpb25JZCk7XG4gIGlmIChjb25maWd1cmVkSW5kZXggIT09IC0xKSB7XG4gICAgcmV0dXJuIGNvbmZpZ3VyZWRJbmRleDtcbiAgfSBlbHNlIGlmIChyZWdpc3RlcmVkT3JkZXJJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gZXh0ZW5zaW9ucyB0aGF0IGRvbid0IGhhdmUgYSBjb25maWd1cmVkIG9yZGVyIHNob3VsZCBhcHBlYXIgYWZ0ZXIgdGhvc2UgdGhhdCBkb1xuICAgIHJldHVybiAxMDAwICsgcmVnaXN0ZXJlZE9yZGVySW5kZXg7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYXNzaWduZWRJbmRleCA9IGF0dGFjaGVkT3JkZXIuaW5kZXhPZihleHRlbnNpb25JZCk7XG4gICAgaWYgKGFzc2lnbmVkSW5kZXggIT09IC0xKSB7XG4gICAgICAvLyBleHRlbnNpb25zIHRoYXQgaGF2ZSBuZWl0aGVyIGEgY29uZmlndXJlZCBub3IgcmVnaXN0ZXJlZCBvcmRlciBzaG91bGQgYXBwZWFyXG4gICAgICAvLyBhZnRlciBhbGwgb3RoZXJzXG4gICAgICByZXR1cm4gMjAwMCArIGFzc2lnbmVkSW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGaWx0ZXJzIGEgbGlzdCBvZiBleHRlbnNpb25zIGFjY29yZGluZyB0byB3aGV0aGVyIHRoZXkgc3VwcG9ydCB0aGVcbiAqIGN1cnJlbnQgY29ubmVjdGl2aXR5IHN0YXR1cy5cbiAqXG4gKiBAcGFyYW0gYXNzaWduZWRFeHRlbnNpb25zIFRoZSBsaXN0IG9mIGV4dGVuc2lvbnMgdG8gZmlsdGVyLlxuICogQHBhcmFtIG9ubGluZSBXaGV0aGVyIHRoZSBhcHAgaXMgY3VycmVudGx5IG9ubGluZS4gSWYgYG51bGxgLCB1c2VzIGBuYXZpZ2F0b3Iub25MaW5lYC5cbiAqIEBwYXJhbSBlbmFibGVkRmVhdHVyZUZsYWdzIFRoZSBuYW1lcyBvZiBhbGwgZW5hYmxlZCBmZWF0dXJlIGZsYWdzLiBJZiBgbnVsbGAsIGxvb2tzXG4gKiAgICB1cCB0aGUgZmVhdHVyZSBmbGFncyB1c2luZyB0aGUgZmVhdHVyZSBmbGFncyBBUEkuXG4gKiBAcmV0dXJucyBBIGxpc3Qgb2YgZXh0ZW5zaW9ucyB0aGF0IHNob3VsZCBiZSByZW5kZXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29ubmVjdGVkRXh0ZW5zaW9ucyhcbiAgYXNzaWduZWRFeHRlbnNpb25zOiBBcnJheTxBc3NpZ25lZEV4dGVuc2lvbj4sXG4gIG9ubGluZTogYm9vbGVhbiB8IG51bGwgPSBudWxsLFxuICBlbmFibGVkRmVhdHVyZUZsYWdzOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwsXG4pOiBBcnJheTxDb25uZWN0ZWRFeHRlbnNpb24+IHtcbiAgY29uc3QgaXNPbmxpbmUgPSBvbmxpbmUgPz8gbmF2aWdhdG9yLm9uTGluZTtcbiAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICBlbmFibGVkRmVhdHVyZUZsYWdzID8/XG4gICAgT2JqZWN0LmVudHJpZXMoZmVhdHVyZUZsYWdzU3RvcmUuZ2V0U3RhdGUoKS5mbGFncylcbiAgICAgIC5maWx0ZXIoKFssIHsgZW5hYmxlZCB9XSkgPT4gZW5hYmxlZClcbiAgICAgIC5tYXAoKFtuYW1lXSkgPT4gbmFtZSk7XG4gIHJldHVybiBhc3NpZ25lZEV4dGVuc2lvbnNcbiAgICAuZmlsdGVyKChlKSA9PiBjaGVja1N0YXR1c0Zvcihpc09ubGluZSwgZS5vbmxpbmUsIGUub2ZmbGluZSkpXG4gICAgLmZpbHRlcigoZSkgPT4gZS5mZWF0dXJlRmxhZyA9PT0gdW5kZWZpbmVkIHx8IGZlYXR1cmVGbGFncz8uaW5jbHVkZXMoZS5mZWF0dXJlRmxhZykpO1xufVxuXG5mdW5jdGlvbiBnZXRBc3NpZ25lZEV4dGVuc2lvbnNGcm9tU2xvdERhdGEoXG4gIHNsb3ROYW1lOiBzdHJpbmcsXG4gIGludGVybmFsU3RhdGU6IEV4dGVuc2lvbkludGVybmFsU3RvcmUsXG4gIGNvbmZpZzogRXh0ZW5zaW9uU2xvdENvbmZpZ09iamVjdCxcbiAgZXh0ZW5zaW9uQ29uZmlnU3RvcmVTdGF0ZTogRXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLFxuKTogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+IHtcbiAgY29uc3QgYXR0YWNoZWRJZHMgPSBpbnRlcm5hbFN0YXRlLnNsb3RzW3Nsb3ROYW1lXS5hdHRhY2hlZElkcztcbiAgY29uc3QgYXNzaWduZWRJZHMgPSBjYWxjdWxhdGVBc3NpZ25lZElkcyhjb25maWcsIGF0dGFjaGVkSWRzKTtcbiAgY29uc3QgZXh0ZW5zaW9uczogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+ID0gW107XG4gIGxldCB1c2VyOiBMb2dnZWRJblVzZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgZm9yIChsZXQgaWQgb2YgYXNzaWduZWRJZHMpIHtcbiAgICBjb25zdCB7IGNvbmZpZzogZXh0ZW5zaW9uQ29uZmlnIH0gPSBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUoZXh0ZW5zaW9uQ29uZmlnU3RvcmVTdGF0ZSwgc2xvdE5hbWUsIGlkKTtcbiAgICBjb25zdCBuYW1lID0gZ2V0RXh0ZW5zaW9uTmFtZUZyb21JZChpZCk7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gaW50ZXJuYWxTdGF0ZS5leHRlbnNpb25zW25hbWVdO1xuXG4gICAgLy8gaWYgdGhlIGV4dGVuc2lvbiBoYXMgbm90IGJlZW4gcmVnaXN0ZXJlZCB5ZXQsIGRvIG5vdCBpbmNsdWRlIGl0XG4gICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgY29uc3QgcmVxdWlyZWRQcml2aWxlZ2VzID0gZXh0ZW5zaW9uQ29uZmlnPy5bJ0Rpc3BsYXkgY29uZGl0aW9ucyddPy5wcml2aWxlZ2VzID8/IGV4dGVuc2lvbi5wcml2aWxlZ2VzID8/IFtdO1xuICAgICAgaWYgKFxuICAgICAgICByZXF1aXJlZFByaXZpbGVnZXMgJiZcbiAgICAgICAgKHR5cGVvZiByZXF1aXJlZFByaXZpbGVnZXMgPT09ICdzdHJpbmcnIHx8IChBcnJheS5pc0FycmF5KHJlcXVpcmVkUHJpdmlsZWdlcykgJiYgcmVxdWlyZWRQcml2aWxlZ2VzLmxlbmd0aCA+IDApKVxuICAgICAgKSB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZCh1c2VyKSkge1xuICAgICAgICAgIHVzZXIgPSBnZXRTZXNzaW9uU3RvcmUoKS5nZXRTdGF0ZSgpLnNlc3Npb24/LnVzZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdXNlckhhc0FjY2VzcyhyZXF1aXJlZFByaXZpbGVnZXMsIHVzZXIpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZXh0ZW5zaW9ucy5wdXNoKHtcbiAgICAgICAgaWQsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIG1vZHVsZU5hbWU6IGV4dGVuc2lvbi5tb2R1bGVOYW1lLFxuICAgICAgICBjb25maWc6IGV4dGVuc2lvbkNvbmZpZyxcbiAgICAgICAgZmVhdHVyZUZsYWc6IGV4dGVuc2lvbi5mZWF0dXJlRmxhZyxcbiAgICAgICAgbWV0YTogZXh0ZW5zaW9uLm1ldGEsXG4gICAgICAgIG9ubGluZTogZXh0ZW5zaW9uLm9ubGluZSA/PyB0cnVlLFxuICAgICAgICBvZmZsaW5lOiBleHRlbnNpb24ub2ZmbGluZSA/PyBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHRlbnNpb25zO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGxpc3Qgb2YgZXh0ZW5zaW9ucyBhc3NpZ25lZCB0byBhIGdpdmVuIHNsb3RcbiAqXG4gKiBAcGFyYW0gc2xvdE5hbWUgVGhlIHNsb3QgdG8gbG9hZCB0aGUgYXNzaWduZWQgZXh0ZW5zaW9ucyBmb3JcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGV4dGVuc2lvbnMgYXNzaWduZWQgdG8gdGhlIG5hbWVkIHNsb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFzc2lnbmVkRXh0ZW5zaW9ucyhzbG90TmFtZTogc3RyaW5nKTogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+IHtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZSA9IGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uc3QgeyBjb25maWc6IHNsb3RDb25maWcgfSA9IGdldEV4dGVuc2lvblNsb3RDb25maWcoc2xvdE5hbWUpO1xuICBjb25zdCBleHRlbnNpb25TdG9yZVN0YXRlID0gZXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLmdldFN0YXRlKCk7XG4gIHJldHVybiBnZXRBc3NpZ25lZEV4dGVuc2lvbnNGcm9tU2xvdERhdGEoc2xvdE5hbWUsIGludGVybmFsU3RhdGUsIHNsb3RDb25maWcsIGV4dGVuc2lvblN0b3JlU3RhdGUpO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVBc3NpZ25lZElkcyhjb25maWc6IEV4dGVuc2lvblNsb3RDb25maWdPYmplY3QsIGF0dGFjaGVkSWRzOiBBcnJheTxzdHJpbmc+KSB7XG4gIGNvbnN0IGFkZGVkSWRzID0gY29uZmlnLmFkZCB8fCBbXTtcbiAgY29uc3QgcmVtb3ZlZElkcyA9IGNvbmZpZy5yZW1vdmUgfHwgW107XG4gIGNvbnN0IGlkT3JkZXIgPSBjb25maWcub3JkZXIgfHwgW107XG4gIGNvbnN0IHsgZXh0ZW5zaW9ucyB9ID0gZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBbLi4uYXR0YWNoZWRJZHMsIC4uLmFkZGVkSWRzXVxuICAgIC5maWx0ZXIoKGlkKSA9PiAhcmVtb3ZlZElkcy5pbmNsdWRlcyhpZCkpXG4gICAgLnNvcnQoKGlkQSwgaWRCKSA9PiB7XG4gICAgICBjb25zdCBhaSA9IGdldE9yZGVyKGlkQSwgaWRPcmRlciwgZXh0ZW5zaW9uc1tnZXRFeHRlbnNpb25OYW1lRnJvbUlkKGlkQSldPy5vcmRlciwgYXR0YWNoZWRJZHMpO1xuICAgICAgY29uc3QgYmkgPSBnZXRPcmRlcihpZEIsIGlkT3JkZXIsIGV4dGVuc2lvbnNbZ2V0RXh0ZW5zaW9uTmFtZUZyb21JZChpZEIpXT8ub3JkZXIsIGF0dGFjaGVkSWRzKTtcblxuICAgICAgaWYgKGJpID09PSAtMSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9IGVsc2UgaWYgKGFpID09PSAtMSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhaSAtIGJpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIFVzZWQgYnkgYnkgZXh0ZW5zaW9uIHNsb3RzIGF0IG1vdW50IHRpbWUuXG4gKlxuICogQHBhcmFtIG1vZHVsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGF0IGNvbnRhaW5zIHRoZSBleHRlbnNpb24gc2xvdFxuICogQHBhcmFtIHNsb3ROYW1lIFRoZSBleHRlbnNpb24gc2xvdCBuYW1lIHRoYXQgaXMgYWN0dWFsbHkgdXNlZFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlckV4dGVuc2lvblNsb3Q6IChtb2R1bGVOYW1lOiBzdHJpbmcsIHNsb3ROYW1lOiBzdHJpbmcpID0+IHZvaWQgPSAobW9kdWxlTmFtZSwgc2xvdE5hbWUpID0+XG4gIGV4dGVuc2lvbkludGVybmFsU3RvcmUuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgZXhpc3RpbmdNb2R1bGVOYW1lID0gc3RhdGUuc2xvdHNbc2xvdE5hbWVdPy5tb2R1bGVOYW1lO1xuICAgIGlmIChleGlzdGluZ01vZHVsZU5hbWUgJiYgZXhpc3RpbmdNb2R1bGVOYW1lICE9IG1vZHVsZU5hbWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYEFuIGV4dGVuc2lvbiBzbG90IHdpdGggdGhlIG5hbWUgJyR7c2xvdE5hbWV9JyBhbHJlYWR5IGV4aXN0cy4gUmVmdXNpbmcgdG8gcmVnaXN0ZXIgdGhlIHNhbWUgc2xvdCBuYW1lIHR3aWNlIChpbiBcInJlZ2lzdGVyRXh0ZW5zaW9uU2xvdFwiKS4gVGhlIGV4aXN0aW5nIG9uZSBpcyBmcm9tIG1vZHVsZSAke2V4aXN0aW5nTW9kdWxlTmFtZX0uYCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGlmIChleGlzdGluZ01vZHVsZU5hbWUgJiYgZXhpc3RpbmdNb2R1bGVOYW1lID09IG1vZHVsZU5hbWUpIHtcbiAgICAgIC8vIFJlLXJlbmRlcmluZyBhbiBleGlzdGluZyBzbG90XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5zbG90c1tzbG90TmFtZV0pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzbG90czoge1xuICAgICAgICAgIC4uLnN0YXRlLnNsb3RzLFxuICAgICAgICAgIFtzbG90TmFtZV06IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLnNsb3RzW3Nsb3ROYW1lXSxcbiAgICAgICAgICAgIG1vZHVsZU5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHNsb3QgPSBjcmVhdGVOZXdFeHRlbnNpb25TbG90SW5mbyhzbG90TmFtZSwgbW9kdWxlTmFtZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2xvdHM6IHtcbiAgICAgICAgLi4uc3RhdGUuc2xvdHMsXG4gICAgICAgIFtzbG90TmFtZV06IHNsb3QsXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogSnVzdCBmb3IgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2V0OiAoKSA9PiB2b2lkID0gKCkgPT5cbiAgZXh0ZW5zaW9uU3RvcmUuc2V0U3RhdGUoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzbG90czoge30sXG4gICAgICBleHRlbnNpb25zOiB7fSxcbiAgICB9O1xuICB9KTtcbiJdLCJuYW1lcyI6WyJnZXRTZXNzaW9uU3RvcmUiLCJ1c2VySGFzQWNjZXNzIiwiZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlIiwiZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlIiwiZ2V0RXh0ZW5zaW9uU2xvdENvbmZpZyIsImdldEV4dGVuc2lvblNsb3RDb25maWdGcm9tU3RvcmUiLCJnZXRFeHRlbnNpb25TbG90c0NvbmZpZ1N0b3JlIiwiZmVhdHVyZUZsYWdzU3RvcmUiLCJpc0VxdWFsIiwiaXNVbmRlZmluZWQiLCJnZXRFeHRlbnNpb25JbnRlcm5hbFN0b3JlIiwiY2hlY2tTdGF0dXNGb3IiLCJnZXRFeHRlbnNpb25TdG9yZSIsInVwZGF0ZUludGVybmFsRXh0ZW5zaW9uU3RvcmUiLCJleHRlbnNpb25JbnRlcm5hbFN0b3JlIiwiZXh0ZW5zaW9uU3RvcmUiLCJzbG90c0NvbmZpZ1N0b3JlIiwiZXh0ZW5zaW9uc0NvbmZpZ1N0b3JlIiwidXBkYXRlRXh0ZW5zaW9uT3V0cHV0U3RvcmUiLCJpbnRlcm5hbFN0YXRlIiwiZXh0ZW5zaW9uU2xvdENvbmZpZ3MiLCJzbG90cyIsIk9iamVjdCIsImVudHJpZXMiLCJzbG90TmFtZSIsInNsb3QiLCJjb25maWciLCJuYW1lIiwiYXNzaWduZWRFeHRlbnNpb25zIiwiZ2V0QXNzaWduZWRFeHRlbnNpb25zRnJvbVNsb3REYXRhIiwibW9kdWxlTmFtZSIsImdldFN0YXRlIiwic2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJpbnRlcm5hbFN0b3JlIiwic2xvdENvbmZpZ3MiLCJleHRlbnNpb25Db25maWdzIiwiY3JlYXRlTmV3RXh0ZW5zaW9uU2xvdEluZm8iLCJhdHRhY2hlZElkcyIsImdldEV4dGVuc2lvbk5hbWVGcm9tSWQiLCJleHRlbnNpb25JZCIsInNwbGl0IiwiZXh0ZW5zaW9uTmFtZSIsImdldEV4dGVuc2lvblJlZ2lzdHJhdGlvbkZyb20iLCJzdGF0ZSIsImV4dGVuc2lvbnMiLCJnZXRFeHRlbnNpb25SZWdpc3RyYXRpb24iLCJyZWdpc3RlckV4dGVuc2lvbiIsImV4dGVuc2lvblJlZ2lzdHJhdGlvbiIsImluc3RhbmNlcyIsImF0dGFjaCIsImV4aXN0aW5nU2xvdCIsImRldGFjaCIsImV4dGVuc2lvblNsb3ROYW1lIiwiaW5jbHVkZXMiLCJmaWx0ZXIiLCJpZCIsImRldGFjaEFsbCIsImdldE9yZGVyIiwiY29uZmlndXJlZE9yZGVyIiwicmVnaXN0ZXJlZE9yZGVySW5kZXgiLCJhdHRhY2hlZE9yZGVyIiwiY29uZmlndXJlZEluZGV4IiwiaW5kZXhPZiIsInVuZGVmaW5lZCIsImFzc2lnbmVkSW5kZXgiLCJnZXRDb25uZWN0ZWRFeHRlbnNpb25zIiwib25saW5lIiwiZW5hYmxlZEZlYXR1cmVGbGFncyIsImlzT25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwiZmVhdHVyZUZsYWdzIiwiZmxhZ3MiLCJlbmFibGVkIiwibWFwIiwiZSIsIm9mZmxpbmUiLCJmZWF0dXJlRmxhZyIsImV4dGVuc2lvbkNvbmZpZ1N0b3JlU3RhdGUiLCJhc3NpZ25lZElkcyIsImNhbGN1bGF0ZUFzc2lnbmVkSWRzIiwidXNlciIsImV4dGVuc2lvbkNvbmZpZyIsImV4dGVuc2lvbiIsInJlcXVpcmVkUHJpdmlsZWdlcyIsInByaXZpbGVnZXMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJzZXNzaW9uIiwicHVzaCIsIm1ldGEiLCJnZXRBc3NpZ25lZEV4dGVuc2lvbnMiLCJzbG90Q29uZmlnIiwiZXh0ZW5zaW9uU3RvcmVTdGF0ZSIsImFkZGVkSWRzIiwiYWRkIiwicmVtb3ZlZElkcyIsInJlbW92ZSIsImlkT3JkZXIiLCJvcmRlciIsInNvcnQiLCJpZEEiLCJpZEIiLCJhaSIsImJpIiwicmVnaXN0ZXJFeHRlbnNpb25TbG90IiwiZXhpc3RpbmdNb2R1bGVOYW1lIiwiY29uc29sZSIsIndhcm4iLCJyZXNldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-extensions/src/extensions.ts\n");
|
|
6692
6692
|
|
|
6693
6693
|
/***/ }),
|
|
6694
6694
|
|
|
@@ -6743,7 +6743,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6743
6743
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6744
6744
|
|
|
6745
6745
|
"use strict";
|
|
6746
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getExtensionInternalStore: () => (/* binding */ getExtensionInternalStore),\n/* harmony export */ getExtensionStore: () => (/* binding */ getExtensionStore),\n/* harmony export */ updateInternalExtensionStore: () => (/* binding */ updateInternalExtensionStore)\n/* harmony export */ });\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category Extension */ \n\n\nvar extensionInternalStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.createGlobalStore)(\"extensionsInternal\", {\n slots: {},\n extensions: {}\n});\n/**\n * This gets the extension system's internal store. It is subject\n * to change radically and without warning. It should not be used\n * outside esm-core.\n * @internal\n */ var getExtensionInternalStore = function() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.getGlobalStore)(\"extensionsInternal\", {\n slots: {},\n extensions: {}\n });\n};\n/** @internal */ function updateInternalExtensionStore(updater) {\n var state = extensionInternalStore.getState();\n var newState = updater(state);\n if (newState !== state) {\n extensionInternalStore.setState(newState);\n }\n}\n/**\n * This returns a store that modules can use to get information about the\n * state of the extension system.\n */ var getExtensionStore = function() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.getGlobalStore)(\"extensions\", {\n slots: {}\n });\n};\n/**\n * esm-config maintains its own store of the extension information it needs\n * to generate extension configs. We keep it updated based on what's in\n * `extensionStore`.\n */ updateConfigExtensionStore(extensionInternalStore.getState());\nextensionInternalStore.subscribe(updateConfigExtensionStore);\nfunction updateConfigExtensionStore(extensionState) {\n var configExtensionRecords = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.values(extensionState.extensions)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var extensionInfo = _step.value;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = extensionInfo.instances[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var instance = _step1.value;\n configExtensionRecords.push({\n slotModuleName: instance.slotModuleName,\n extensionModuleName: extensionInfo.moduleName,\n slotName: instance.slotName,\n extensionId: instance.id\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (!(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_0__.configExtensionStore.getState().mountedExtensions, configExtensionRecords)) {\n _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_0__.configExtensionStore.setState({\n mountedExtensions: configExtensionRecords\n });\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1leHRlbnNpb25zL3NyYy9zdG9yZS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDUTtBQU1YO0FBQzBDO0FBd0Z2RSxJQUFNSSx5QkFBeUJGLHFFQUFpQkEsQ0FBeUIsc0JBQXNCO0lBQzdGRyxPQUFPLENBQUM7SUFDUkMsWUFBWSxDQUFDO0FBQ2Y7QUFFQTs7Ozs7Q0FLQyxHQUNNLElBQU1DLDRCQUE0QjtXQUN2Q0osa0VBQWNBLENBQXlCLHNCQUFzQjtRQUMzREUsT0FBTyxDQUFDO1FBQ1JDLFlBQVksQ0FBQztJQUNmO0VBQUc7QUFFTCxjQUFjLEdBQ1AsU0FBU0UsNkJBQTZCQyxPQUFrRSxFQUFFO0lBQy9HLElBQU1DLFFBQVFOLHVCQUF1Qk8sUUFBUTtJQUM3QyxJQUFNQyxXQUFXSCxRQUFRQztJQUV6QixJQUFJRSxhQUFhRixPQUFPO1FBQ3RCTix1QkFBdUJTLFFBQVEsQ0FBQ0Q7SUFDbEMsQ0FBQztBQUNILENBQUM7QUFFRDs7O0NBR0MsR0FDTSxJQUFNRSxvQkFBb0I7V0FDL0JYLGtFQUFjQSxDQUFpQixjQUFjO1FBQzNDRSxPQUFPLENBQUM7SUFDVjtFQUFHO0FBRUw7Ozs7Q0FJQyxHQUVEVSwyQkFBMkJYLHVCQUF1Qk8sUUFBUTtBQUMxRFAsdUJBQXVCWSxTQUFTLENBQUNEO0FBRWpDLFNBQVNBLDJCQUEyQkUsY0FBc0MsRUFBRTtJQUMxRSxJQUFNQyx5QkFBNkQsRUFBRTtRQUVoRTs7UUFBTCxRQUFLLFlBQXFCQyxPQUFPQyxNQUFNLENBQUNILGVBQWVYLFVBQVUsc0JBQTVELHdHQUErRDtZQUEvRCxJQUFJZSxnQkFBSjtnQkFDRTs7Z0JBQUwsUUFBSyxhQUFnQkEsY0FBY0MsU0FBUyxxQkFBdkMsNkdBQXlDO29CQUF6QyxJQUFJQyxXQUFKO29CQUNITCx1QkFBdUJNLElBQUksQ0FBQzt3QkFDMUJDLGdCQUFnQkYsU0FBU0UsY0FBYzt3QkFDdkNDLHFCQUFxQkwsY0FBY00sVUFBVTt3QkFDN0NDLFVBQVVMLFNBQVNLLFFBQVE7d0JBQzNCQyxhQUFhTixTQUFTTyxFQUFFO29CQUMxQjtnQkFDRjs7Z0JBUEs7Z0JBQUE7Ozt5QkFBQTt3QkFBQTs7O3dCQUFBOzhCQUFBOzs7O1FBUVA7O1FBVEs7UUFBQTs7O2lCQUFBO2dCQUFBOzs7Z0JBQUE7c0JBQUE7Ozs7SUFVTCxJQUFJLENBQUM5Qiw2REFBT0EsQ0FBQ0MscUVBQW9CQSxDQUFDVSxRQUFRLEdBQUdvQixpQkFBaUIsRUFBRWIseUJBQXlCO1FBQ3ZGakIscUVBQW9CQSxDQUFDWSxRQUFRLENBQUM7WUFDNUJrQixtQkFBbUJiO1FBQ3JCO0lBQ0YsQ0FBQztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWV4dGVuc2lvbnMvc3JjL3N0b3JlLnRzP2UyMjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEV4dGVuc2lvbiAqL1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLWVzL2lzRXF1YWwnO1xuaW1wb3J0IHtcbiAgY29uZmlnRXh0ZW5zaW9uU3RvcmUsXG4gIENvbmZpZ0V4dGVuc2lvblN0b3JlRWxlbWVudCxcbiAgQ29uZmlnT2JqZWN0LFxuICBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0LFxufSBmcm9tICdAb3Blbm1ycy9lc20tY29uZmlnJztcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlLCBnZXRHbG9iYWxTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1zdGF0ZSc7XG5pbXBvcnQgdHlwZSB7IExpZmVDeWNsZXMgfSBmcm9tICdzaW5nbGUtc3BhJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25NZXRhIHtcbiAgW186IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25SZWdpc3RyYXRpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGxvYWQoKTogUHJvbWlzZTx7IGRlZmF1bHQ/OiBMaWZlQ3ljbGVzIH0gJiBMaWZlQ3ljbGVzPjtcbiAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICBtZXRhOiBFeHRlbnNpb25NZXRhO1xuICBvcmRlcj86IG51bWJlcjtcbiAgb25saW5lPzogYm9vbGVhbjtcbiAgb2ZmbGluZT86IGJvb2xlYW47XG4gIHByaXZpbGVnZXM/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuICBmZWF0dXJlRmxhZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25JbmZvIGV4dGVuZHMgRXh0ZW5zaW9uUmVnaXN0cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZXMgd2hlcmUgdGhlIGV4dGVuc2lvbiBoYXMgYmVlbiByZW5kZXJlZCB1c2luZyBgcmVuZGVyRXh0ZW5zaW9uYC5cbiAgICovXG4gIGluc3RhbmNlczogQXJyYXk8RXh0ZW5zaW9uSW5zdGFuY2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbkluc3RhbmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgc2xvdE5hbWU6IHN0cmluZztcbiAgc2xvdE1vZHVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25JbnRlcm5hbFN0b3JlIHtcbiAgLyoqIFNsb3RzIGluZGV4ZWQgYnkgbmFtZSAqL1xuICBzbG90czogUmVjb3JkPHN0cmluZywgRXh0ZW5zaW9uU2xvdEluZm8+O1xuICAvKiogRXh0ZW5zaW9ucyBpbmRleGVkIGJ5IG5hbWUgKi9cbiAgZXh0ZW5zaW9uczogUmVjb3JkPHN0cmluZywgRXh0ZW5zaW9uSW5mbz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uU2xvdEluZm8ge1xuICAvKipcbiAgICogVGhlIG1vZHVsZSBpbiB3aGljaCB0aGUgZXh0ZW5zaW9uIHNsb3QgZXhpc3RzLiBVbmRlZmluZWQgaWYgdGhlIHNsb3RcbiAgICogaGFzbid0IGJlZW4gcmVnaXN0ZXJlZCB5ZXQgKGJ1dCBpdCBoYXMgYmVlbiBhdHRhY2hlZCBvciBhc3NpZ25lZCB0b1xuICAgKiBhbiBleHRlbnNpb24uXG4gICAqL1xuICBtb2R1bGVOYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIG5hbWUgdW5kZXIgd2hpY2ggdGhlIGV4dGVuc2lvbiBzbG90IGhhcyBiZWVuIHJlZ2lzdGVyZWQuICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgZXh0ZW5zaW9uIElEcyB3aGljaCBoYXZlIGJlZW4gYXR0YWNoZWQgdG8gdGhpcyBzbG90IHVzaW5nIGBhdHRhY2hgLlxuICAgKiBIb3dldmVyLCBub3QgYWxsIG9mIHRoZXNlIGV4dGVuc2lvbiBJRHMgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgKiBgYXNzaWduZWRJZHNgIGlzIHRoZSBzZXQgZGVmaW5pbmcgdGhvc2UuXG4gICAqL1xuICBhdHRhY2hlZElkczogQXJyYXk8c3RyaW5nPjtcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGZvciB0aGlzIHNsb3QuIGBudWxsYCBpZiBub3QgeWV0IGxvYWRlZC4gKi9cbiAgY29uZmlnOiBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25TdG9yZSB7XG4gIHNsb3RzOiBSZWNvcmQ8c3RyaW5nLCBFeHRlbnNpb25TbG90U3RhdGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvblNsb3RTdGF0ZSB7XG4gIG1vZHVsZU5hbWU/OiBzdHJpbmc7XG4gIGFzc2lnbmVkRXh0ZW5zaW9uczogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbmVkRXh0ZW5zaW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIG1ldGE6IEV4dGVuc2lvbk1ldGE7XG4gIC8qKiBUaGUgZXh0ZW5zaW9uJ3MgY29uZmlnLiBOb3RlIHRoYXQgdGhpcyB3aWxsIGJlIGBudWxsYCB1bnRpbCB0aGUgc2xvdCBpcyBtb3VudGVkLiAqL1xuICBjb25maWc6IENvbmZpZ09iamVjdCB8IG51bGw7XG4gIG9ubGluZT86IGJvb2xlYW4gfCBvYmplY3Q7XG4gIG9mZmxpbmU/OiBib29sZWFuIHwgb2JqZWN0O1xuICBmZWF0dXJlRmxhZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0ZWRFeHRlbnNpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgbWV0YTogRXh0ZW5zaW9uTWV0YTtcbiAgLyoqIFRoZSBleHRlbnNpb24ncyBjb25maWcuIE5vdGUgdGhhdCB0aGlzIHdpbGwgYmUgYG51bGxgIHVudGlsIHRoZSBzbG90IGlzIG1vdW50ZWQuICovXG4gIGNvbmZpZzogQ29uZmlnT2JqZWN0IHwgbnVsbDtcbn1cblxuY29uc3QgZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPEV4dGVuc2lvbkludGVybmFsU3RvcmU+KCdleHRlbnNpb25zSW50ZXJuYWwnLCB7XG4gIHNsb3RzOiB7fSxcbiAgZXh0ZW5zaW9uczoge30sXG59KTtcblxuLyoqXG4gKiBUaGlzIGdldHMgdGhlIGV4dGVuc2lvbiBzeXN0ZW0ncyBpbnRlcm5hbCBzdG9yZS4gSXQgaXMgc3ViamVjdFxuICogdG8gY2hhbmdlIHJhZGljYWxseSBhbmQgd2l0aG91dCB3YXJuaW5nLiBJdCBzaG91bGQgbm90IGJlIHVzZWRcbiAqIG91dHNpZGUgZXNtLWNvcmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEV4dGVuc2lvbkludGVybmFsU3RvcmUgPSAoKSA9PlxuICBnZXRHbG9iYWxTdG9yZTxFeHRlbnNpb25JbnRlcm5hbFN0b3JlPignZXh0ZW5zaW9uc0ludGVybmFsJywge1xuICAgIHNsb3RzOiB7fSxcbiAgICBleHRlbnNpb25zOiB7fSxcbiAgfSk7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlKHVwZGF0ZXI6IChzdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSkgPT4gRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSkge1xuICBjb25zdCBzdGF0ZSA9IGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uc3QgbmV3U3RhdGUgPSB1cGRhdGVyKHN0YXRlKTtcblxuICBpZiAobmV3U3RhdGUgIT09IHN0YXRlKSB7XG4gICAgZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5zZXRTdGF0ZShuZXdTdGF0ZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIHJldHVybnMgYSBzdG9yZSB0aGF0IG1vZHVsZXMgY2FuIHVzZSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlXG4gKiBzdGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEV4dGVuc2lvblN0b3JlID0gKCkgPT5cbiAgZ2V0R2xvYmFsU3RvcmU8RXh0ZW5zaW9uU3RvcmU+KCdleHRlbnNpb25zJywge1xuICAgIHNsb3RzOiB7fSxcbiAgfSk7XG5cbi8qKlxuICogZXNtLWNvbmZpZyBtYWludGFpbnMgaXRzIG93biBzdG9yZSBvZiB0aGUgZXh0ZW5zaW9uIGluZm9ybWF0aW9uIGl0IG5lZWRzXG4gKiB0byBnZW5lcmF0ZSBleHRlbnNpb24gY29uZmlncy4gV2Uga2VlcCBpdCB1cGRhdGVkIGJhc2VkIG9uIHdoYXQncyBpblxuICogYGV4dGVuc2lvblN0b3JlYC5cbiAqL1xuXG51cGRhdGVDb25maWdFeHRlbnNpb25TdG9yZShleHRlbnNpb25JbnRlcm5hbFN0b3JlLmdldFN0YXRlKCkpO1xuZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUodXBkYXRlQ29uZmlnRXh0ZW5zaW9uU3RvcmUpO1xuXG5mdW5jdGlvbiB1cGRhdGVDb25maWdFeHRlbnNpb25TdG9yZShleHRlbnNpb25TdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSkge1xuICBjb25zdCBjb25maWdFeHRlbnNpb25SZWNvcmRzOiBBcnJheTxDb25maWdFeHRlbnNpb25TdG9yZUVsZW1lbnQ+ID0gW107XG5cbiAgZm9yIChsZXQgZXh0ZW5zaW9uSW5mbyBvZiBPYmplY3QudmFsdWVzKGV4dGVuc2lvblN0YXRlLmV4dGVuc2lvbnMpKSB7XG4gICAgZm9yIChsZXQgaW5zdGFuY2Ugb2YgZXh0ZW5zaW9uSW5mby5pbnN0YW5jZXMpIHtcbiAgICAgIGNvbmZpZ0V4dGVuc2lvblJlY29yZHMucHVzaCh7XG4gICAgICAgIHNsb3RNb2R1bGVOYW1lOiBpbnN0YW5jZS5zbG90TW9kdWxlTmFtZSxcbiAgICAgICAgZXh0ZW5zaW9uTW9kdWxlTmFtZTogZXh0ZW5zaW9uSW5mby5tb2R1bGVOYW1lLFxuICAgICAgICBzbG90TmFtZTogaW5zdGFuY2Uuc2xvdE5hbWUsXG4gICAgICAgIGV4dGVuc2lvbklkOiBpbnN0YW5jZS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBpZiAoIWlzRXF1YWwoY29uZmlnRXh0ZW5zaW9uU3RvcmUuZ2V0U3RhdGUoKS5tb3VudGVkRXh0ZW5zaW9ucywgY29uZmlnRXh0ZW5zaW9uUmVjb3JkcykpIHtcbiAgICBjb25maWdFeHRlbnNpb25TdG9yZS5zZXRTdGF0ZSh7XG4gICAgICBtb3VudGVkRXh0ZW5zaW9uczogY29uZmlnRXh0ZW5zaW9uUmVjb3JkcyxcbiAgICB9KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImlzRXF1YWwiLCJjb25maWdFeHRlbnNpb25TdG9yZSIsImNyZWF0ZUdsb2JhbFN0b3JlIiwiZ2V0R2xvYmFsU3RvcmUiLCJleHRlbnNpb25JbnRlcm5hbFN0b3JlIiwic2xvdHMiLCJleHRlbnNpb25zIiwiZ2V0RXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSIsInVwZGF0ZUludGVybmFsRXh0ZW5zaW9uU3RvcmUiLCJ1cGRhdGVyIiwic3RhdGUiLCJnZXRTdGF0ZSIsIm5ld1N0YXRlIiwic2V0U3RhdGUiLCJnZXRFeHRlbnNpb25TdG9yZSIsInVwZGF0ZUNvbmZpZ0V4dGVuc2lvblN0b3JlIiwic3Vic2NyaWJlIiwiZXh0ZW5zaW9uU3RhdGUiLCJjb25maWdFeHRlbnNpb25SZWNvcmRzIiwiT2JqZWN0IiwidmFsdWVzIiwiZXh0ZW5zaW9uSW5mbyIsImluc3RhbmNlcyIsImluc3RhbmNlIiwicHVzaCIsInNsb3RNb2R1bGVOYW1lIiwiZXh0ZW5zaW9uTW9kdWxlTmFtZSIsIm1vZHVsZU5hbWUiLCJzbG90TmFtZSIsImV4dGVuc2lvbklkIiwiaWQiLCJtb3VudGVkRXh0ZW5zaW9ucyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-extensions/src/store.ts\n");
|
|
6746
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getExtensionInternalStore: () => (/* binding */ getExtensionInternalStore),\n/* harmony export */ getExtensionStore: () => (/* binding */ getExtensionStore),\n/* harmony export */ updateInternalExtensionStore: () => (/* binding */ updateInternalExtensionStore)\n/* harmony export */ });\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category Extension */ \n\n\nvar extensionInternalStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.createGlobalStore)(\"extensionsInternal\", {\n slots: {},\n extensions: {}\n});\n/**\n * This gets the extension system's internal store. It is subject\n * to change radically and without warning. It should not be used\n * outside esm-core.\n * @internal\n */ var getExtensionInternalStore = function() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.getGlobalStore)(\"extensionsInternal\", {\n slots: {},\n extensions: {}\n });\n};\n/** @internal */ function updateInternalExtensionStore(updater) {\n var state = extensionInternalStore.getState();\n var newState = updater(state);\n if (newState !== state) {\n extensionInternalStore.setState(newState);\n }\n}\n/**\n * This returns a store that modules can use to get information about the\n * state of the extension system.\n */ var getExtensionStore = function() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.getGlobalStore)(\"extensions\", {\n slots: {}\n });\n};\n/**\n * esm-config maintains its own store of the extension information it needs\n * to generate extension configs. We keep it updated based on what's in\n * `extensionStore`.\n */ updateConfigExtensionStore(extensionInternalStore.getState());\nextensionInternalStore.subscribe(updateConfigExtensionStore);\nfunction updateConfigExtensionStore(extensionState) {\n var configExtensionRecords = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.values(extensionState.extensions)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var extensionInfo = _step.value;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = extensionInfo.instances[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var instance = _step1.value;\n configExtensionRecords.push({\n slotModuleName: instance.slotModuleName,\n extensionModuleName: extensionInfo.moduleName,\n slotName: instance.slotName,\n extensionId: instance.id\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (!(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_0__.configExtensionStore.getState().mountedExtensions, configExtensionRecords)) {\n _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_0__.configExtensionStore.setState({\n mountedExtensions: configExtensionRecords\n });\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1leHRlbnNpb25zL3NyYy9zdG9yZS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDUTtBQUVtQjtBQUNZO0FBd0Z2RSxJQUFNSSx5QkFBeUJGLHFFQUFpQkEsQ0FBeUIsc0JBQXNCO0lBQzdGRyxPQUFPLENBQUM7SUFDUkMsWUFBWSxDQUFDO0FBQ2Y7QUFFQTs7Ozs7Q0FLQyxHQUNNLElBQU1DLDRCQUE0QjtXQUN2Q0osa0VBQWNBLENBQXlCLHNCQUFzQjtRQUMzREUsT0FBTyxDQUFDO1FBQ1JDLFlBQVksQ0FBQztJQUNmO0VBQUc7QUFFTCxjQUFjLEdBQ1AsU0FBU0UsNkJBQTZCQyxPQUFrRSxFQUFFO0lBQy9HLElBQU1DLFFBQVFOLHVCQUF1Qk8sUUFBUTtJQUM3QyxJQUFNQyxXQUFXSCxRQUFRQztJQUV6QixJQUFJRSxhQUFhRixPQUFPO1FBQ3RCTix1QkFBdUJTLFFBQVEsQ0FBQ0Q7SUFDbEMsQ0FBQztBQUNILENBQUM7QUFFRDs7O0NBR0MsR0FDTSxJQUFNRSxvQkFBb0I7V0FDL0JYLGtFQUFjQSxDQUFpQixjQUFjO1FBQzNDRSxPQUFPLENBQUM7SUFDVjtFQUFHO0FBRUw7Ozs7Q0FJQyxHQUVEVSwyQkFBMkJYLHVCQUF1Qk8sUUFBUTtBQUMxRFAsdUJBQXVCWSxTQUFTLENBQUNEO0FBRWpDLFNBQVNBLDJCQUEyQkUsY0FBc0MsRUFBRTtJQUMxRSxJQUFNQyx5QkFBNkQsRUFBRTtRQUVoRTs7UUFBTCxRQUFLLFlBQXFCQyxPQUFPQyxNQUFNLENBQUNILGVBQWVYLFVBQVUsc0JBQTVELHdHQUErRDtZQUEvRCxJQUFJZSxnQkFBSjtnQkFDRTs7Z0JBQUwsUUFBSyxhQUFnQkEsY0FBY0MsU0FBUyxxQkFBdkMsNkdBQXlDO29CQUF6QyxJQUFJQyxXQUFKO29CQUNITCx1QkFBdUJNLElBQUksQ0FBQzt3QkFDMUJDLGdCQUFnQkYsU0FBU0UsY0FBYzt3QkFDdkNDLHFCQUFxQkwsY0FBY00sVUFBVTt3QkFDN0NDLFVBQVVMLFNBQVNLLFFBQVE7d0JBQzNCQyxhQUFhTixTQUFTTyxFQUFFO29CQUMxQjtnQkFDRjs7Z0JBUEs7Z0JBQUE7Ozt5QkFBQTt3QkFBQTs7O3dCQUFBOzhCQUFBOzs7O1FBUVA7O1FBVEs7UUFBQTs7O2lCQUFBO2dCQUFBOzs7Z0JBQUE7c0JBQUE7Ozs7SUFVTCxJQUFJLENBQUM5Qiw2REFBT0EsQ0FBQ0MscUVBQW9CQSxDQUFDVSxRQUFRLEdBQUdvQixpQkFBaUIsRUFBRWIseUJBQXlCO1FBQ3ZGakIscUVBQW9CQSxDQUFDWSxRQUFRLENBQUM7WUFDNUJrQixtQkFBbUJiO1FBQ3JCO0lBQ0YsQ0FBQztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWV4dGVuc2lvbnMvc3JjL3N0b3JlLnRzP2UyMjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEV4dGVuc2lvbiAqL1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLWVzL2lzRXF1YWwnO1xuaW1wb3J0IHR5cGUgeyBDb25maWdFeHRlbnNpb25TdG9yZUVsZW1lbnQsIENvbmZpZ09iamVjdCwgRXh0ZW5zaW9uU2xvdENvbmZpZ09iamVjdCB9IGZyb20gJ0BvcGVubXJzL2VzbS1jb25maWcnO1xuaW1wb3J0IHsgY29uZmlnRXh0ZW5zaW9uU3RvcmUgfSBmcm9tICdAb3Blbm1ycy9lc20tY29uZmlnJztcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlLCBnZXRHbG9iYWxTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1zdGF0ZSc7XG5pbXBvcnQgdHlwZSB7IExpZmVDeWNsZXMgfSBmcm9tICdzaW5nbGUtc3BhJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25NZXRhIHtcbiAgW186IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25SZWdpc3RyYXRpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGxvYWQoKTogUHJvbWlzZTx7IGRlZmF1bHQ/OiBMaWZlQ3ljbGVzIH0gJiBMaWZlQ3ljbGVzPjtcbiAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICBtZXRhOiBFeHRlbnNpb25NZXRhO1xuICBvcmRlcj86IG51bWJlcjtcbiAgb25saW5lPzogYm9vbGVhbjtcbiAgb2ZmbGluZT86IGJvb2xlYW47XG4gIHByaXZpbGVnZXM/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuICBmZWF0dXJlRmxhZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25JbmZvIGV4dGVuZHMgRXh0ZW5zaW9uUmVnaXN0cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZXMgd2hlcmUgdGhlIGV4dGVuc2lvbiBoYXMgYmVlbiByZW5kZXJlZCB1c2luZyBgcmVuZGVyRXh0ZW5zaW9uYC5cbiAgICovXG4gIGluc3RhbmNlczogQXJyYXk8RXh0ZW5zaW9uSW5zdGFuY2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbkluc3RhbmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgc2xvdE5hbWU6IHN0cmluZztcbiAgc2xvdE1vZHVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25JbnRlcm5hbFN0b3JlIHtcbiAgLyoqIFNsb3RzIGluZGV4ZWQgYnkgbmFtZSAqL1xuICBzbG90czogUmVjb3JkPHN0cmluZywgRXh0ZW5zaW9uU2xvdEluZm8+O1xuICAvKiogRXh0ZW5zaW9ucyBpbmRleGVkIGJ5IG5hbWUgKi9cbiAgZXh0ZW5zaW9uczogUmVjb3JkPHN0cmluZywgRXh0ZW5zaW9uSW5mbz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uU2xvdEluZm8ge1xuICAvKipcbiAgICogVGhlIG1vZHVsZSBpbiB3aGljaCB0aGUgZXh0ZW5zaW9uIHNsb3QgZXhpc3RzLiBVbmRlZmluZWQgaWYgdGhlIHNsb3RcbiAgICogaGFzbid0IGJlZW4gcmVnaXN0ZXJlZCB5ZXQgKGJ1dCBpdCBoYXMgYmVlbiBhdHRhY2hlZCBvciBhc3NpZ25lZCB0b1xuICAgKiBhbiBleHRlbnNpb24uXG4gICAqL1xuICBtb2R1bGVOYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIG5hbWUgdW5kZXIgd2hpY2ggdGhlIGV4dGVuc2lvbiBzbG90IGhhcyBiZWVuIHJlZ2lzdGVyZWQuICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgZXh0ZW5zaW9uIElEcyB3aGljaCBoYXZlIGJlZW4gYXR0YWNoZWQgdG8gdGhpcyBzbG90IHVzaW5nIGBhdHRhY2hgLlxuICAgKiBIb3dldmVyLCBub3QgYWxsIG9mIHRoZXNlIGV4dGVuc2lvbiBJRHMgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgKiBgYXNzaWduZWRJZHNgIGlzIHRoZSBzZXQgZGVmaW5pbmcgdGhvc2UuXG4gICAqL1xuICBhdHRhY2hlZElkczogQXJyYXk8c3RyaW5nPjtcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGZvciB0aGlzIHNsb3QuIGBudWxsYCBpZiBub3QgeWV0IGxvYWRlZC4gKi9cbiAgY29uZmlnOiBFeHRlbnNpb25TbG90Q29uZmlnT2JqZWN0IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25TdG9yZSB7XG4gIHNsb3RzOiBSZWNvcmQ8c3RyaW5nLCBFeHRlbnNpb25TbG90U3RhdGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvblNsb3RTdGF0ZSB7XG4gIG1vZHVsZU5hbWU/OiBzdHJpbmc7XG4gIGFzc2lnbmVkRXh0ZW5zaW9uczogQXJyYXk8QXNzaWduZWRFeHRlbnNpb24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbmVkRXh0ZW5zaW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIG1ldGE6IEV4dGVuc2lvbk1ldGE7XG4gIC8qKiBUaGUgZXh0ZW5zaW9uJ3MgY29uZmlnLiBOb3RlIHRoYXQgdGhpcyB3aWxsIGJlIGBudWxsYCB1bnRpbCB0aGUgc2xvdCBpcyBtb3VudGVkLiAqL1xuICBjb25maWc6IENvbmZpZ09iamVjdCB8IG51bGw7XG4gIG9ubGluZT86IGJvb2xlYW4gfCBvYmplY3Q7XG4gIG9mZmxpbmU/OiBib29sZWFuIHwgb2JqZWN0O1xuICBmZWF0dXJlRmxhZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0ZWRFeHRlbnNpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgbWV0YTogRXh0ZW5zaW9uTWV0YTtcbiAgLyoqIFRoZSBleHRlbnNpb24ncyBjb25maWcuIE5vdGUgdGhhdCB0aGlzIHdpbGwgYmUgYG51bGxgIHVudGlsIHRoZSBzbG90IGlzIG1vdW50ZWQuICovXG4gIGNvbmZpZzogQ29uZmlnT2JqZWN0IHwgbnVsbDtcbn1cblxuY29uc3QgZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPEV4dGVuc2lvbkludGVybmFsU3RvcmU+KCdleHRlbnNpb25zSW50ZXJuYWwnLCB7XG4gIHNsb3RzOiB7fSxcbiAgZXh0ZW5zaW9uczoge30sXG59KTtcblxuLyoqXG4gKiBUaGlzIGdldHMgdGhlIGV4dGVuc2lvbiBzeXN0ZW0ncyBpbnRlcm5hbCBzdG9yZS4gSXQgaXMgc3ViamVjdFxuICogdG8gY2hhbmdlIHJhZGljYWxseSBhbmQgd2l0aG91dCB3YXJuaW5nLiBJdCBzaG91bGQgbm90IGJlIHVzZWRcbiAqIG91dHNpZGUgZXNtLWNvcmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEV4dGVuc2lvbkludGVybmFsU3RvcmUgPSAoKSA9PlxuICBnZXRHbG9iYWxTdG9yZTxFeHRlbnNpb25JbnRlcm5hbFN0b3JlPignZXh0ZW5zaW9uc0ludGVybmFsJywge1xuICAgIHNsb3RzOiB7fSxcbiAgICBleHRlbnNpb25zOiB7fSxcbiAgfSk7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJbnRlcm5hbEV4dGVuc2lvblN0b3JlKHVwZGF0ZXI6IChzdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSkgPT4gRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSkge1xuICBjb25zdCBzdGF0ZSA9IGV4dGVuc2lvbkludGVybmFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uc3QgbmV3U3RhdGUgPSB1cGRhdGVyKHN0YXRlKTtcblxuICBpZiAobmV3U3RhdGUgIT09IHN0YXRlKSB7XG4gICAgZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5zZXRTdGF0ZShuZXdTdGF0ZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIHJldHVybnMgYSBzdG9yZSB0aGF0IG1vZHVsZXMgY2FuIHVzZSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlXG4gKiBzdGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEV4dGVuc2lvblN0b3JlID0gKCkgPT5cbiAgZ2V0R2xvYmFsU3RvcmU8RXh0ZW5zaW9uU3RvcmU+KCdleHRlbnNpb25zJywge1xuICAgIHNsb3RzOiB7fSxcbiAgfSk7XG5cbi8qKlxuICogZXNtLWNvbmZpZyBtYWludGFpbnMgaXRzIG93biBzdG9yZSBvZiB0aGUgZXh0ZW5zaW9uIGluZm9ybWF0aW9uIGl0IG5lZWRzXG4gKiB0byBnZW5lcmF0ZSBleHRlbnNpb24gY29uZmlncy4gV2Uga2VlcCBpdCB1cGRhdGVkIGJhc2VkIG9uIHdoYXQncyBpblxuICogYGV4dGVuc2lvblN0b3JlYC5cbiAqL1xuXG51cGRhdGVDb25maWdFeHRlbnNpb25TdG9yZShleHRlbnNpb25JbnRlcm5hbFN0b3JlLmdldFN0YXRlKCkpO1xuZXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS5zdWJzY3JpYmUodXBkYXRlQ29uZmlnRXh0ZW5zaW9uU3RvcmUpO1xuXG5mdW5jdGlvbiB1cGRhdGVDb25maWdFeHRlbnNpb25TdG9yZShleHRlbnNpb25TdGF0ZTogRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSkge1xuICBjb25zdCBjb25maWdFeHRlbnNpb25SZWNvcmRzOiBBcnJheTxDb25maWdFeHRlbnNpb25TdG9yZUVsZW1lbnQ+ID0gW107XG5cbiAgZm9yIChsZXQgZXh0ZW5zaW9uSW5mbyBvZiBPYmplY3QudmFsdWVzKGV4dGVuc2lvblN0YXRlLmV4dGVuc2lvbnMpKSB7XG4gICAgZm9yIChsZXQgaW5zdGFuY2Ugb2YgZXh0ZW5zaW9uSW5mby5pbnN0YW5jZXMpIHtcbiAgICAgIGNvbmZpZ0V4dGVuc2lvblJlY29yZHMucHVzaCh7XG4gICAgICAgIHNsb3RNb2R1bGVOYW1lOiBpbnN0YW5jZS5zbG90TW9kdWxlTmFtZSxcbiAgICAgICAgZXh0ZW5zaW9uTW9kdWxlTmFtZTogZXh0ZW5zaW9uSW5mby5tb2R1bGVOYW1lLFxuICAgICAgICBzbG90TmFtZTogaW5zdGFuY2Uuc2xvdE5hbWUsXG4gICAgICAgIGV4dGVuc2lvbklkOiBpbnN0YW5jZS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBpZiAoIWlzRXF1YWwoY29uZmlnRXh0ZW5zaW9uU3RvcmUuZ2V0U3RhdGUoKS5tb3VudGVkRXh0ZW5zaW9ucywgY29uZmlnRXh0ZW5zaW9uUmVjb3JkcykpIHtcbiAgICBjb25maWdFeHRlbnNpb25TdG9yZS5zZXRTdGF0ZSh7XG4gICAgICBtb3VudGVkRXh0ZW5zaW9uczogY29uZmlnRXh0ZW5zaW9uUmVjb3JkcyxcbiAgICB9KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImlzRXF1YWwiLCJjb25maWdFeHRlbnNpb25TdG9yZSIsImNyZWF0ZUdsb2JhbFN0b3JlIiwiZ2V0R2xvYmFsU3RvcmUiLCJleHRlbnNpb25JbnRlcm5hbFN0b3JlIiwic2xvdHMiLCJleHRlbnNpb25zIiwiZ2V0RXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSIsInVwZGF0ZUludGVybmFsRXh0ZW5zaW9uU3RvcmUiLCJ1cGRhdGVyIiwic3RhdGUiLCJnZXRTdGF0ZSIsIm5ld1N0YXRlIiwic2V0U3RhdGUiLCJnZXRFeHRlbnNpb25TdG9yZSIsInVwZGF0ZUNvbmZpZ0V4dGVuc2lvblN0b3JlIiwic3Vic2NyaWJlIiwiZXh0ZW5zaW9uU3RhdGUiLCJjb25maWdFeHRlbnNpb25SZWNvcmRzIiwiT2JqZWN0IiwidmFsdWVzIiwiZXh0ZW5zaW9uSW5mbyIsImluc3RhbmNlcyIsImluc3RhbmNlIiwicHVzaCIsInNsb3RNb2R1bGVOYW1lIiwiZXh0ZW5zaW9uTW9kdWxlTmFtZSIsIm1vZHVsZU5hbWUiLCJzbG90TmFtZSIsImV4dGVuc2lvbklkIiwiaWQiLCJtb3VudGVkRXh0ZW5zaW9ucyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-extensions/src/store.ts\n");
|
|
6747
6747
|
|
|
6748
6748
|
/***/ }),
|
|
6749
6749
|
|
|
@@ -6842,7 +6842,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6842
6842
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6843
6843
|
|
|
6844
6844
|
"use strict";
|
|
6845
|
-
eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1nbG9iYWxzL3NyYy90eXBlcy50cyIsIm1hcHBpbmdzIjoiO0FBc1FDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWdsb2JhbHMvc3JjL3R5cGVzLnRzP2M3NDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaWZlQ3ljbGVzIH0gZnJvbSAnc2luZ2xlLXNwYSc7XG5pbXBvcnQgdHlwZSB7IGkxOG4gfSBmcm9tICdpMThuZXh0JztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX186IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgUmVjb3JkPHN0cmluZywgeyBsb2FkZWQ/OiAxOyBnZXQ6ICgpID0+IFByb21pc2U8dW5rbm93bj47IGZyb206IHN0cmluZzsgZWFnZXI6IGJvb2xlYW4gfT5cbiAgPjtcblxuICB2YXIgX193ZWJwYWNrX2luaXRfc2hhcmluZ19fOiAoc2NvcGU6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAvKipcbiAgICAgKiBFYXNpbHkgY29waWVzIGEgdGV4dCBmcm9tIGFuIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIGVsZW1lbnQgY2FycnlpbmcgdGhlIHRleHQuXG4gICAgICovXG4gICAgY29weVRleHQoc291cmNlOiBIVE1MRWxlbWVudCk6IHZvaWQ7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgT3Blbk1SUyBTUEEgYmFzZSBwYXRoIHdpdGggYSB0cmFpbGluZyBzbGFzaC5cbiAgICAgKi9cbiAgICBnZXRPcGVubXJzU3BhQmFzZSgpOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogU3RhcnRzIHRoZSBPcGVuTVJTIFNQQSBhcHBsaWNhdGlvbi5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3IgcnVubmluZy5cbiAgICAgKi9cbiAgICBpbml0aWFsaXplU3BhKGNvbmZpZzogU3BhQ29uZmlnKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBBUEkgYmFzZSBwYXRoLCBlLmcuIC9vcGVubXJzXG4gICAgICovXG4gICAgb3Blbm1yc0Jhc2U6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBTUEEgYmFzZSBwYXRoLCBlLmcuIC9vcGVubXJzL3NwYVxuICAgICAqL1xuICAgIHNwYUJhc2U6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZXQgYnkgdGhlIGFwcCBzaGVsbC4gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGFwcCBzaGVsbCBpcyBydW5uaW5nIGluIHByb2R1Y3Rpb24sIGRldmVsb3BtZW50LCBvciB0ZXN0IG1vZGUuXG4gICAgICovXG4gICAgc3BhRW52OiBTcGFFbnZpcm9ubWVudDtcbiAgICAvKipcbiAgICAgKiBUaGUgYnVpbGQgbnVtYmVyIG9mIHRoZSBhcHAgc2hlbGwuIFNldCB3aGVuIHRoZSBhcHAgc2hlbGwgaXMgYnVpbHQgYnkgd2VicGFjay5cbiAgICAgKi9cbiAgICBzcGFWZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEdldHMgYSBzZXQgb2Ygb3B0aW9ucyBmcm9tIHRoZSBpbXBvcnQtbWFwLW92ZXJyaWRlcyBwYWNrYWdlLlxuICAgICAqL1xuICAgIGltcG9ydE1hcE92ZXJyaWRlczoge1xuICAgICAgYWRkT3ZlcnJpZGUobW9kdWxlTmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZyk6IHZvaWQ7XG4gICAgICBlbmFibGVPdmVycmlkZShtb2R1bGVOYW1lOiBzdHJpbmcpOiB2b2lkO1xuICAgICAgZ2V0Q3VycmVudFBhZ2VNYXAoKTogUHJvbWlzZTxJbXBvcnRNYXA+O1xuICAgICAgZ2V0RGVmYXVsdE1hcCgpOiBQcm9taXNlPEltcG9ydE1hcD47XG4gICAgICBnZXROZXh0UGFnZU1hcCgpOiBQcm9taXNlPEltcG9ydE1hcD47XG4gICAgICBhZGRPdmVycmlkZShtb2R1bGVOYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZDtcbiAgICAgIGdldE92ZXJyaWRlTWFwKGluY2x1ZGVEaXNhYmxlZD86IGJvb2xlYW4pOiBJbXBvcnRNYXA7XG4gICAgICBnZXREaXNhYmxlZE92ZXJyaWRlcygpOiBBcnJheTxzdHJpbmc+O1xuICAgICAgaXNEaXNhYmxlZChtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuO1xuICAgICAgcmVtb3ZlT3ZlcnJpZGUobW9kdWxlTmFtZTogc3RyaW5nKTogdm9pZDtcbiAgICAgIHJlc2V0T3ZlcnJpZGVzKCk6IHZvaWQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBpbnN0YWxsZWQgbW9kdWxlcywgd2hpY2ggYXJlIHR1cGxlcyBjb25zaXN0aW5nIG9mIHRoZSBtb2R1bGUncyBuYW1lIGFuZCBleHBvcnRzLlxuICAgICAqL1xuICAgIGluc3RhbGxlZE1vZHVsZXM6IEFycmF5PFtzdHJpbmcsIE9wZW5tcnNBcHBSb3V0ZXNdPjtcbiAgICAvKipcbiAgICAgKiBUaGUgaTE4bmV4dCBpbnN0YW5jZSBmb3IgdGhlIGFwcC5cbiAgICAgKi9cbiAgICBpMThuZXh0OiBpMThuO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFNwYUVudmlyb25tZW50ID0gJ3Byb2R1Y3Rpb24nIHwgJ2RldmVsb3BtZW50JyB8ICd0ZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRNYXAge1xuICBpbXBvcnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIHBhc3NlZCB0byB0aGUgYXBwIHNoZWxsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIHBhdGggb3IgVVJMIGZvciB0aGUgT3Blbk1SUyBBUEkgLyBlbmRwb2ludHMuXG4gICAqL1xuICBhcGlVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBiYXNlIHBhdGggZm9yIHRoZSBTUEEgcm9vdCBwYXRoLlxuICAgKi9cbiAgc3BhUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IHRvIHVzZS5cbiAgICogQGRlZmF1bHQgcHJvZHVjdGlvblxuICAgKi9cbiAgZW52PzogU3BhRW52aXJvbm1lbnQ7XG4gIC8qKlxuICAgKiBVUkxzIG9mIGNvbmZpZ3VyYXRpb25zIHRvIGxvYWQgaW4gdGhlIHN5c3RlbS5cbiAgICovXG4gIGNvbmZpZ1VybHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogRGVmaW5lcyBpZiBvZmZsaW5lIHNob3VsZCBiZSBzdXBwb3J0ZWQgYnkgaW5zdGFsbGluZyBhIHNlcnZpY2Ugd29ya2VyLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBvZmZsaW5lPzogYm9vbGVhbjtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IHR5cGUgUm91dGVEZWZpbml0aW9uID0gUmVnRXhwIHwgc3RyaW5nIHwgYm9vbGVhbjtcblxuLyoqIEBpbnRlcm5hbCAqL1xudHlwZSBBcHBDb21wb25lbnQgPSB7XG4gIGFwcE5hbWU6IHN0cmluZztcbn07XG5cbi8qKlxuICogQSBkZWZpbml0aW9uIG9mIGEgcGFnZSBleHRyYWN0ZWQgZnJvbSBhbiBhcHAncyByb3V0ZXMuanNvblxuICovXG5leHBvcnQgdHlwZSBQYWdlRGVmaW5pdGlvbiA9IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQgZXhwb3J0ZWQgYnkgdGhpcyBmcm9udGVuZCBtb2R1bGUuXG4gICAqL1xuICBjb21wb25lbnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tcG9uZW50IHJlbmRlcnMgd2hpbGUgdGhlIGJyb3dzZXIgaXMgY29ubmVjdGVkIHRvIHRoZSBpbnRlcm5ldC4gSWYgZmFsc2UsIHRoaXMgcGFnZSB3aWxsIG5ldmVyIHJlbmRlciB3aGlsZSBvbmxpbmUuXG4gICAqL1xuICBvbmxpbmU/OiBib29sZWFuO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgcmVuZGVycyB3aGlsZSB0aGUgYnJvd3NlciBpcyBub3QgY29ubmVjdGVkIHRvIHRoZSBpbnRlcm5ldC4gSWYgZmFsc2UsIHRoaXMgcGFnZSB3aWxsIG5ldmVyIHJlbmRlciB3aGlsZSBvZmZsaW5lLlxuICAgKi9cbiAgb2ZmbGluZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBvcmRlciBpbiB3aGljaCB0aGlzIHBhZ2UgaXMgcmVuZGVyZWQgaW4gdGhlIGFwcC1zaGVsbCwgd2hpY2ggaXMgdXNlZnVsIGZvciBzaXR1YXRpb25zIHdoZXJlIERPTSBvcmRlcmluZyBtYXR0ZXJzLlxuICAgKi9cbiAgb3JkZXI/OiBudW1iZXI7XG59ICYgKFxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogRWl0aGVyIGEgc3RyaW5nIG9yIGEgYm9vbGVhbi5cbiAgICAgICAqXG4gICAgICAgKiBJZiBhIHN0cmluZyB2YWx1ZSwgdGhpcyBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhpcyBwYWdlIHNob3VsZCBiZSByZW5kZXJlZC4gRm9yIGV4YW1wbGUsIFxcXCJuYW1lXFxcIiB3aWxsIG1hdGNoIHdoZW4gdGhlIGN1cnJlbnQgcGFnZSBpcyAke3dpbmRvdy5zcGFCYXNlfS9uYW1lLlxuICAgICAgICpcbiAgICAgICAqIElmIGEgYm9vbGVhbiwgdGhpcyBlaXRoZXIgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbXBvbmVudCBzaG91bGQgYWx3YXlzIGJlIHJlbmRlcmVkIG9yIHNob3VsZCBuZXZlciBiZSByZW5kZXJlZC5cbiAgICAgICAqL1xuICAgICAgcm91dGU6IHN0cmluZyB8IGJvb2xlYW47XG4gICAgICAvKipcbiAgICAgICAqIEEgcmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gbWF0Y2ggYWdhaW5zdCB0aGUgY3VycmVudCByb3V0ZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVkLiBOb3RlIHRoYXQgJHt3aW5kb3cuc3BhQmFzZX0gd2lsbCBiZSByZW1vdmVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIG1hdGNoLCBzbyBzZXR0aW5nIHRoaXMgdG8gXFxcIl5uYW1lLitcXFwiIHdpbGwgbWF0Y2ggYW55IHJvdXRlIHRoYXQgc3RhcnRzIHdpdGggJHt3aW5kb3cuc3BhQmFzZX0vbmFtZS5cbiAgICAgICAqL1xuICAgICAgcm91dGVSZWdleD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIEVpdGhlciBhIHN0cmluZyBvciBhIGJvb2xlYW4uXG4gICAgICAgKlxuICAgICAgICogSWYgYSBzdHJpbmcgdmFsdWUsIHRoaXMgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgcGFnZSBzaG91bGQgYmUgcmVuZGVyZWQuIEZvciBleGFtcGxlLCBcXFwibmFtZVxcXCIgd2lsbCBtYXRjaCB3aGVuIHRoZSBjdXJyZW50IHBhZ2UgaXMgJHt3aW5kb3cuc3BhQmFzZX0vbmFtZS5cbiAgICAgICAqXG4gICAgICAgKiBJZiBhIGJvb2xlYW4sIHRoaXMgZWl0aGVyIGluZGljYXRlcyB0aGF0IHRoZSBjb21wb25lbnQgc2hvdWxkIGFsd2F5cyBiZSByZW5kZXJlZCBvciBzaG91bGQgbmV2ZXIgYmUgcmVuZGVyZWQuXG4gICAgICAgKi9cbiAgICAgIHJvdXRlPzogbmV2ZXI7XG4gICAgICAvKipcbiAgICAgICAqIEEgcmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gbWF0Y2ggYWdhaW5zdCB0aGUgY3VycmVudCByb3V0ZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVkLiBOb3RlIHRoYXQgJHt3aW5kb3cuc3BhQmFzZX0gd2lsbCBiZSByZW1vdmVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIG1hdGNoLCBzbyBzZXR0aW5nIHRoaXMgdG8gXFxcIl5uYW1lLitcXFwiIHdpbGwgbWF0Y2ggYW55IHJvdXRlIHRoYXQgc3RhcnRzIHdpdGggJHt3aW5kb3cuc3BhQmFzZX0vbmFtZS5cbiAgICAgICAqL1xuICAgICAgcm91dGVSZWdleDogc3RyaW5nO1xuICAgIH1cbik7XG5cbi8qKlxuICogQSBkZWZpbml0aW9uIG9mIGEgcGFnZSBhZnRlciB0aGUgYXBwIGhhcyBiZWVuIHJlZ2lzdGVyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdGVyZWRQYWdlRGVmaW5pdGlvbiA9IE9taXQ8UGFnZURlZmluaXRpb24sICdvcmRlcic+ICYgQXBwQ29tcG9uZW50ICYgeyBvcmRlcjogbnVtYmVyIH07XG5cbi8qKlxuICogQSBkZWZpbml0aW9uIG9mIGFuIGV4dGVuc2lvbiBhcyBleHRyYWN0ZWQgZnJvbSBhbiBhcHAncyByb3V0ZXMuanNvblxuICovXG5leHBvcnQgdHlwZSBFeHRlbnNpb25EZWZpbml0aW9uID0ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBleHRlbnNpb24uIFRoaXMgaXMgdXNlZCB0byByZWZlciB0byB0aGUgZXh0ZW5zaW9uIGluIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiBzdXBwbGllZCwgdGhlIHNsb3QgdGhhdCB0aGlzIGV4dGVuc2lvbiBpcyByZW5kZXJlZCBpbnRvIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBzbG90Pzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgc3VwcGxpZWQsIHRoZSBzbG90cyB0aGF0IHRoaXMgZXh0ZW5zaW9uIGlzIHJlbmRlcmVkIGludG8gYnkgZGVmYXVsdC5cbiAgICovXG4gIHNsb3RzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgY29tcG9uZW50IHJlbmRlcnMgd2hpbGUgdGhlIGJyb3dzZXIgaXMgY29ubmVjdGVkIHRvIHRoZSBpbnRlcm5ldC4gSWYgZmFsc2UsIHRoaXMgcGFnZSB3aWxsIG5ldmVyIHJlbmRlciB3aGlsZSBvbmxpbmUuXG4gICAqL1xuICBvbmxpbmU/OiBib29sZWFuO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgcmVuZGVycyB3aGlsZSB0aGUgYnJvd3NlciBpcyBub3QgY29ubmVjdGVkIHRvIHRoZSBpbnRlcm5ldC4gSWYgZmFsc2UsIHRoaXMgcGFnZSB3aWxsIG5ldmVyIHJlbmRlciB3aGlsZSBvZmZsaW5lLlxuICAgKi9cbiAgb2ZmbGluZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBvcmRlciBpbiB3aGljaCB0aGlzIGNvbXBvbmVudCByZW5kZXJzIGluIGl0cyBkZWZhdWx0IGV4dGVuc2lvbiBzbG90LiBOb3RlIHRoYXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiBieSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgb3JkZXI/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgdXNlciBtdXN0IGhhdmUgQU5ZIG9mIHRoZXNlIHByaXZpbGVnZXMgdG8gc2VlIHRoaXMgZXh0ZW5zaW9uLlxuICAgKi9cbiAgcHJpdmlsZWdlcz86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBJZiBzdXBwbGllZCwgdGhlIGV4dGVuc2lvbiB3aWxsIG9ubHkgYmUgcmVuZGVyZWQgd2hlbiB0aGlzIGZlYXR1cmUgZmxhZyBpcyBlbmFibGVkLlxuICAgKi9cbiAgZmVhdHVyZUZsYWc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNZXRhIGRlc2NyaWJlcyBhbnkgcHJvcGVydGllcyB0aGF0IGFyZSBwYXNzZWQgZG93biB0byB0aGUgZXh0ZW5zaW9uIHdoZW4gaXQgaXMgbG9hZGVkXG4gICAqL1xuICBtZXRhPzoge1xuICAgIFtrOiBzdHJpbmddOiB1bmtub3duO1xuICB9O1xufSAmIChcbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQgZXhwb3J0ZWQgYnkgdGhpcyBmcm9udGVuZCBtb2R1bGUuXG4gICAgICAgKi9cbiAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgLyoqXG4gICAgICAgKiBAaW50ZXJuYWxcbiAgICAgICAqL1xuICAgICAgbG9hZD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQgZXhwb3J0ZWQgYnkgdGhpcyBmcm9udGVuZCBtb2R1bGUuXG4gICAgICAgKi9cbiAgICAgIGNvbXBvbmVudD86IG5ldmVyO1xuICAgICAgLyoqXG4gICAgICAgKiBAaW50ZXJuYWxcbiAgICAgICAqL1xuICAgICAgbG9hZDogKCkgPT4gUHJvbWlzZTx7IGRlZmF1bHQ/OiBMaWZlQ3ljbGVzIH0gJiBMaWZlQ3ljbGVzPjtcbiAgICB9XG4pO1xuXG4vKipcbiAqIFRoaXMgaW50ZXJmYWNlIGRlc2NyaWJlcyB0aGUgZm9ybWF0IG9mIHRoZSByb3V0ZXMgcHJvdmlkZWQgYnkgYW4gYXBwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3Blbm1yc0FwcFJvdXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGlzIGZyb250ZW5kIG1vZHVsZS5cbiAgICovXG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgYmFja2VuZCBtb2R1bGVzIG5lY2Vzc2FyeSBmb3IgdGhpcyBmcm9udGVuZCBtb2R1bGUgYW5kIHRoZSBjb3JyZXNwb25kaW5nIHJlcXVpcmVkIHZlcnNpb25zLlxuICAgKi9cbiAgYmFja2VuZERlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBhbGwgcGFnZXMgc3VwcG9ydGVkIGJ5IHRoaXMgZnJvbnRlbmQgbW9kdWxlLiBQYWdlcyBhcmUgYXV0b21hdGljYWxseSBtb3VudGVkIGJhc2VkIG9uIGEgcm91dGUuXG4gICAqL1xuICBwYWdlcz86IEFycmF5PFBhZ2VEZWZpbml0aW9uPjtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGFsbCBleHRlbnNpb25zIHN1cHBvcnRlZCBieSB0aGlzIGZyb250ZW5kIG1vZHVsZS4gRXh0ZW5zaW9ucyBjYW4gYmUgbW91bnRlZCBpbiBleHRlbnNpb24gc2xvdHMsIGVpdGhlciB2aWEgZGVjbGFyYXRpb25zIGluIHRoaXMgZmlsZSBvciBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZXh0ZW5zaW9ucz86IEFycmF5PEV4dGVuc2lvbkRlZmluaXRpb24+O1xufVxuXG4vKipcbiAqIFRoaXMgaW50ZXJmYWNlcyBkZXNjcmliZXMgdGhlIGZvcm1hdCBvZiB0aGUgb3ZlcmFsbCByb3R1ZXMuanNvbiBsb2FkZWQgYnkgdGhlIGFwcCBzaGVsbC5cbiAqIEJhc2ljYWxseSwgdGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUgYXBwIHJvdXRlcywgd2l0aCBlYWNoIHJvdXRlcyBkZWZpbml0aW9uIGtleWVkIGJ5IHRoZSBhcHAncyBuYW1lXG4gKi9cbmV4cG9ydCB0eXBlIE9wZW5tcnNSb3V0ZXMgPSBSZWNvcmQ8c3RyaW5nLCBPcGVubXJzQXBwUm91dGVzPjtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUxvYWRlcjxUID0gYW55PiB7XG4gICgpOiBQcm9taXNlPFQ+O1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-globals/src/types.ts\n");
|
|
6845
|
+
eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1nbG9iYWxzL3NyYy90eXBlcy50cyIsIm1hcHBpbmdzIjoiO0FBdVFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLWdsb2JhbHMvc3JjL3R5cGVzLnRzP2M3NDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaWZlQ3ljbGVzIH0gZnJvbSAnc2luZ2xlLXNwYSc7XG5pbXBvcnQgdHlwZSB7IGkxOG4gfSBmcm9tICdpMThuZXh0JztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX186IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgUmVjb3JkPHN0cmluZywgeyBsb2FkZWQ/OiAxOyBnZXQ6ICgpID0+IFByb21pc2U8dW5rbm93bj47IGZyb206IHN0cmluZzsgZWFnZXI6IGJvb2xlYW4gfT5cbiAgPjtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG4gIHZhciBfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX186IChzY29wZTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIC8qKlxuICAgICAqIEVhc2lseSBjb3BpZXMgYSB0ZXh0IGZyb20gYW4gZWxlbWVudC5cbiAgICAgKiBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2UgZWxlbWVudCBjYXJyeWluZyB0aGUgdGV4dC5cbiAgICAgKi9cbiAgICBjb3B5VGV4dChzb3VyY2U6IEhUTUxFbGVtZW50KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBPcGVuTVJTIFNQQSBiYXNlIHBhdGggd2l0aCBhIHRyYWlsaW5nIHNsYXNoLlxuICAgICAqL1xuICAgIGdldE9wZW5tcnNTcGFCYXNlKCk6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTdGFydHMgdGhlIE9wZW5NUlMgU1BBIGFwcGxpY2F0aW9uLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gdG8gdXNlIGZvciBydW5uaW5nLlxuICAgICAqL1xuICAgIGluaXRpYWxpemVTcGEoY29uZmlnOiBTcGFDb25maWcpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIEFQSSBiYXNlIHBhdGgsIGUuZy4gL29wZW5tcnNcbiAgICAgKi9cbiAgICBvcGVubXJzQmFzZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIFNQQSBiYXNlIHBhdGgsIGUuZy4gL29wZW5tcnMvc3BhXG4gICAgICovXG4gICAgc3BhQmFzZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFNldCBieSB0aGUgYXBwIHNoZWxsLiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYXBwIHNoZWxsIGlzIHJ1bm5pbmcgaW4gcHJvZHVjdGlvbiwgZGV2ZWxvcG1lbnQsIG9yIHRlc3QgbW9kZS5cbiAgICAgKi9cbiAgICBzcGFFbnY6IFNwYUVudmlyb25tZW50O1xuICAgIC8qKlxuICAgICAqIFRoZSBidWlsZCBudW1iZXIgb2YgdGhlIGFwcCBzaGVsbC4gU2V0IHdoZW4gdGhlIGFwcCBzaGVsbCBpcyBidWlsdCBieSB3ZWJwYWNrLlxuICAgICAqL1xuICAgIHNwYVZlcnNpb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogR2V0cyBhIHNldCBvZiBvcHRpb25zIGZyb20gdGhlIGltcG9ydC1tYXAtb3ZlcnJpZGVzIHBhY2thZ2UuXG4gICAgICovXG4gICAgaW1wb3J0TWFwT3ZlcnJpZGVzOiB7XG4gICAgICBhZGRPdmVycmlkZShtb2R1bGVOYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZDtcbiAgICAgIGVuYWJsZU92ZXJyaWRlKG1vZHVsZU5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgICBnZXRDdXJyZW50UGFnZU1hcCgpOiBQcm9taXNlPEltcG9ydE1hcD47XG4gICAgICBnZXREZWZhdWx0TWFwKCk6IFByb21pc2U8SW1wb3J0TWFwPjtcbiAgICAgIGdldE5leHRQYWdlTWFwKCk6IFByb21pc2U8SW1wb3J0TWFwPjtcbiAgICAgIGFkZE92ZXJyaWRlKG1vZHVsZU5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmcpOiB2b2lkO1xuICAgICAgZ2V0T3ZlcnJpZGVNYXAoaW5jbHVkZURpc2FibGVkPzogYm9vbGVhbik6IEltcG9ydE1hcDtcbiAgICAgIGdldERpc2FibGVkT3ZlcnJpZGVzKCk6IEFycmF5PHN0cmluZz47XG4gICAgICBpc0Rpc2FibGVkKG1vZHVsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgICByZW1vdmVPdmVycmlkZShtb2R1bGVOYW1lOiBzdHJpbmcpOiB2b2lkO1xuICAgICAgcmVzZXRPdmVycmlkZXMoKTogdm9pZDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGluc3RhbGxlZCBtb2R1bGVzLCB3aGljaCBhcmUgdHVwbGVzIGNvbnNpc3Rpbmcgb2YgdGhlIG1vZHVsZSdzIG5hbWUgYW5kIGV4cG9ydHMuXG4gICAgICovXG4gICAgaW5zdGFsbGVkTW9kdWxlczogQXJyYXk8W3N0cmluZywgT3Blbm1yc0FwcFJvdXRlc10+O1xuICAgIC8qKlxuICAgICAqIFRoZSBpMThuZXh0IGluc3RhbmNlIGZvciB0aGUgYXBwLlxuICAgICAqL1xuICAgIGkxOG5leHQ6IGkxOG47XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgU3BhRW52aXJvbm1lbnQgPSAncHJvZHVjdGlvbicgfCAnZGV2ZWxvcG1lbnQnIHwgJ3Rlc3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydE1hcCB7XG4gIGltcG9ydHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gcGFzc2VkIHRvIHRoZSBhcHAgc2hlbGwgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGFDb25maWcge1xuICAvKipcbiAgICogVGhlIGJhc2UgcGF0aCBvciBVUkwgZm9yIHRoZSBPcGVuTVJTIEFQSSAvIGVuZHBvaW50cy5cbiAgICovXG4gIGFwaVVybDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJhc2UgcGF0aCBmb3IgdGhlIFNQQSByb290IHBhdGguXG4gICAqL1xuICBzcGFQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgdG8gdXNlLlxuICAgKiBAZGVmYXVsdCBwcm9kdWN0aW9uXG4gICAqL1xuICBlbnY/OiBTcGFFbnZpcm9ubWVudDtcbiAgLyoqXG4gICAqIFVSTHMgb2YgY29uZmlndXJhdGlvbnMgdG8gbG9hZCBpbiB0aGUgc3lzdGVtLlxuICAgKi9cbiAgY29uZmlnVXJscz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGlmIG9mZmxpbmUgc2hvdWxkIGJlIHN1cHBvcnRlZCBieSBpbnN0YWxsaW5nIGEgc2VydmljZSB3b3JrZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIG9mZmxpbmU/OiBib29sZWFuO1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgdHlwZSBSb3V0ZURlZmluaXRpb24gPSBSZWdFeHAgfCBzdHJpbmcgfCBib29sZWFuO1xuXG4vKiogQGludGVybmFsICovXG50eXBlIEFwcENvbXBvbmVudCA9IHtcbiAgYXBwTmFtZTogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBBIGRlZmluaXRpb24gb2YgYSBwYWdlIGV4dHJhY3RlZCBmcm9tIGFuIGFwcCdzIHJvdXRlcy5qc29uXG4gKi9cbmV4cG9ydCB0eXBlIFBhZ2VEZWZpbml0aW9uID0ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudCBleHBvcnRlZCBieSB0aGlzIGZyb250ZW5kIG1vZHVsZS5cbiAgICovXG4gIGNvbXBvbmVudDogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgcmVuZGVycyB3aGlsZSB0aGUgYnJvd3NlciBpcyBjb25uZWN0ZWQgdG8gdGhlIGludGVybmV0LiBJZiBmYWxzZSwgdGhpcyBwYWdlIHdpbGwgbmV2ZXIgcmVuZGVyIHdoaWxlIG9ubGluZS5cbiAgICovXG4gIG9ubGluZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCByZW5kZXJzIHdoaWxlIHRoZSBicm93c2VyIGlzIG5vdCBjb25uZWN0ZWQgdG8gdGhlIGludGVybmV0LiBJZiBmYWxzZSwgdGhpcyBwYWdlIHdpbGwgbmV2ZXIgcmVuZGVyIHdoaWxlIG9mZmxpbmUuXG4gICAqL1xuICBvZmZsaW5lPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoaXMgcGFnZSBpcyByZW5kZXJlZCBpbiB0aGUgYXBwLXNoZWxsLCB3aGljaCBpcyB1c2VmdWwgZm9yIHNpdHVhdGlvbnMgd2hlcmUgRE9NIG9yZGVyaW5nIG1hdHRlcnMuXG4gICAqL1xuICBvcmRlcj86IG51bWJlcjtcbn0gJiAoXG4gIHwge1xuICAgICAgLyoqXG4gICAgICAgKiBFaXRoZXIgYSBzdHJpbmcgb3IgYSBib29sZWFuLlxuICAgICAgICpcbiAgICAgICAqIElmIGEgc3RyaW5nIHZhbHVlLCB0aGlzIGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVkLiBGb3IgZXhhbXBsZSwgXFxcIm5hbWVcXFwiIHdpbGwgbWF0Y2ggd2hlbiB0aGUgY3VycmVudCBwYWdlIGlzICR7d2luZG93LnNwYUJhc2V9L25hbWUuXG4gICAgICAgKlxuICAgICAgICogSWYgYSBib29sZWFuLCB0aGlzIGVpdGhlciBpbmRpY2F0ZXMgdGhhdCB0aGUgY29tcG9uZW50IHNob3VsZCBhbHdheXMgYmUgcmVuZGVyZWQgb3Igc2hvdWxkIG5ldmVyIGJlIHJlbmRlcmVkLlxuICAgICAgICovXG4gICAgICByb3V0ZTogc3RyaW5nIHwgYm9vbGVhbjtcbiAgICAgIC8qKlxuICAgICAgICogQSByZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBtYXRjaCBhZ2FpbnN0IHRoZSBjdXJyZW50IHJvdXRlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgcGFnZSBzaG91bGQgYmUgcmVuZGVyZWQuIE5vdGUgdGhhdCAke3dpbmRvdy5zcGFCYXNlfSB3aWxsIGJlIHJlbW92ZWQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gbWF0Y2gsIHNvIHNldHRpbmcgdGhpcyB0byBcXFwiXm5hbWUuK1xcXCIgd2lsbCBtYXRjaCBhbnkgcm91dGUgdGhhdCBzdGFydHMgd2l0aCAke3dpbmRvdy5zcGFCYXNlfS9uYW1lLlxuICAgICAgICovXG4gICAgICByb3V0ZVJlZ2V4PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogRWl0aGVyIGEgc3RyaW5nIG9yIGEgYm9vbGVhbi5cbiAgICAgICAqXG4gICAgICAgKiBJZiBhIHN0cmluZyB2YWx1ZSwgdGhpcyBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhpcyBwYWdlIHNob3VsZCBiZSByZW5kZXJlZC4gRm9yIGV4YW1wbGUsIFxcXCJuYW1lXFxcIiB3aWxsIG1hdGNoIHdoZW4gdGhlIGN1cnJlbnQgcGFnZSBpcyAke3dpbmRvdy5zcGFCYXNlfS9uYW1lLlxuICAgICAgICpcbiAgICAgICAqIElmIGEgYm9vbGVhbiwgdGhpcyBlaXRoZXIgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbXBvbmVudCBzaG91bGQgYWx3YXlzIGJlIHJlbmRlcmVkIG9yIHNob3VsZCBuZXZlciBiZSByZW5kZXJlZC5cbiAgICAgICAqL1xuICAgICAgcm91dGU/OiBuZXZlcjtcbiAgICAgIC8qKlxuICAgICAgICogQSByZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBtYXRjaCBhZ2FpbnN0IHRoZSBjdXJyZW50IHJvdXRlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoaXMgcGFnZSBzaG91bGQgYmUgcmVuZGVyZWQuIE5vdGUgdGhhdCAke3dpbmRvdy5zcGFCYXNlfSB3aWxsIGJlIHJlbW92ZWQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gbWF0Y2gsIHNvIHNldHRpbmcgdGhpcyB0byBcXFwiXm5hbWUuK1xcXCIgd2lsbCBtYXRjaCBhbnkgcm91dGUgdGhhdCBzdGFydHMgd2l0aCAke3dpbmRvdy5zcGFCYXNlfS9uYW1lLlxuICAgICAgICovXG4gICAgICByb3V0ZVJlZ2V4OiBzdHJpbmc7XG4gICAgfVxuKTtcblxuLyoqXG4gKiBBIGRlZmluaXRpb24gb2YgYSBwYWdlIGFmdGVyIHRoZSBhcHAgaGFzIGJlZW4gcmVnaXN0ZXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVnaXN0ZXJlZFBhZ2VEZWZpbml0aW9uID0gT21pdDxQYWdlRGVmaW5pdGlvbiwgJ29yZGVyJz4gJiBBcHBDb21wb25lbnQgJiB7IG9yZGVyOiBudW1iZXIgfTtcblxuLyoqXG4gKiBBIGRlZmluaXRpb24gb2YgYW4gZXh0ZW5zaW9uIGFzIGV4dHJhY3RlZCBmcm9tIGFuIGFwcCdzIHJvdXRlcy5qc29uXG4gKi9cbmV4cG9ydCB0eXBlIEV4dGVuc2lvbkRlZmluaXRpb24gPSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIGV4dGVuc2lvbi4gVGhpcyBpcyB1c2VkIHRvIHJlZmVyIHRvIHRoZSBleHRlbnNpb24gaW4gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHN1cHBsaWVkLCB0aGUgc2xvdCB0aGF0IHRoaXMgZXh0ZW5zaW9uIGlzIHJlbmRlcmVkIGludG8gYnkgZGVmYXVsdC5cbiAgICovXG4gIHNsb3Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiBzdXBwbGllZCwgdGhlIHNsb3RzIHRoYXQgdGhpcyBleHRlbnNpb24gaXMgcmVuZGVyZWQgaW50byBieSBkZWZhdWx0LlxuICAgKi9cbiAgc2xvdHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgcmVuZGVycyB3aGlsZSB0aGUgYnJvd3NlciBpcyBjb25uZWN0ZWQgdG8gdGhlIGludGVybmV0LiBJZiBmYWxzZSwgdGhpcyBwYWdlIHdpbGwgbmV2ZXIgcmVuZGVyIHdoaWxlIG9ubGluZS5cbiAgICovXG4gIG9ubGluZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCByZW5kZXJzIHdoaWxlIHRoZSBicm93c2VyIGlzIG5vdCBjb25uZWN0ZWQgdG8gdGhlIGludGVybmV0LiBJZiBmYWxzZSwgdGhpcyBwYWdlIHdpbGwgbmV2ZXIgcmVuZGVyIHdoaWxlIG9mZmxpbmUuXG4gICAqL1xuICBvZmZsaW5lPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoaXMgY29tcG9uZW50IHJlbmRlcnMgaW4gaXRzIGRlZmF1bHQgZXh0ZW5zaW9uIHNsb3QuIE5vdGUgdGhhdCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBvcmRlcj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSB1c2VyIG11c3QgaGF2ZSBBTlkgb2YgdGhlc2UgcHJpdmlsZWdlcyB0byBzZWUgdGhpcyBleHRlbnNpb24uXG4gICAqL1xuICBwcml2aWxlZ2VzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIElmIHN1cHBsaWVkLCB0aGUgZXh0ZW5zaW9uIHdpbGwgb25seSBiZSByZW5kZXJlZCB3aGVuIHRoaXMgZmVhdHVyZSBmbGFnIGlzIGVuYWJsZWQuXG4gICAqL1xuICBmZWF0dXJlRmxhZz86IHN0cmluZztcbiAgLyoqXG4gICAqIE1ldGEgZGVzY3JpYmVzIGFueSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHBhc3NlZCBkb3duIHRvIHRoZSBleHRlbnNpb24gd2hlbiBpdCBpcyBsb2FkZWRcbiAgICovXG4gIG1ldGE/OiB7XG4gICAgW2s6IHN0cmluZ106IHVua25vd247XG4gIH07XG59ICYgKFxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudCBleHBvcnRlZCBieSB0aGlzIGZyb250ZW5kIG1vZHVsZS5cbiAgICAgICAqL1xuICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAvKipcbiAgICAgICAqIEBpbnRlcm5hbFxuICAgICAgICovXG4gICAgICBsb2FkPzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudCBleHBvcnRlZCBieSB0aGlzIGZyb250ZW5kIG1vZHVsZS5cbiAgICAgICAqL1xuICAgICAgY29tcG9uZW50PzogbmV2ZXI7XG4gICAgICAvKipcbiAgICAgICAqIEBpbnRlcm5hbFxuICAgICAgICovXG4gICAgICBsb2FkOiAoKSA9PiBQcm9taXNlPHsgZGVmYXVsdD86IExpZmVDeWNsZXMgfSAmIExpZmVDeWNsZXM+O1xuICAgIH1cbik7XG5cbi8qKlxuICogVGhpcyBpbnRlcmZhY2UgZGVzY3JpYmVzIHRoZSBmb3JtYXQgb2YgdGhlIHJvdXRlcyBwcm92aWRlZCBieSBhbiBhcHBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVubXJzQXBwUm91dGVzIHtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoaXMgZnJvbnRlbmQgbW9kdWxlLlxuICAgKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBiYWNrZW5kIG1vZHVsZXMgbmVjZXNzYXJ5IGZvciB0aGlzIGZyb250ZW5kIG1vZHVsZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgcmVxdWlyZWQgdmVyc2lvbnMuXG4gICAqL1xuICBiYWNrZW5kRGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGFsbCBwYWdlcyBzdXBwb3J0ZWQgYnkgdGhpcyBmcm9udGVuZCBtb2R1bGUuIFBhZ2VzIGFyZSBhdXRvbWF0aWNhbGx5IG1vdW50ZWQgYmFzZWQgb24gYSByb3V0ZS5cbiAgICovXG4gIHBhZ2VzPzogQXJyYXk8UGFnZURlZmluaXRpb24+O1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgYWxsIGV4dGVuc2lvbnMgc3VwcG9ydGVkIGJ5IHRoaXMgZnJvbnRlbmQgbW9kdWxlLiBFeHRlbnNpb25zIGNhbiBiZSBtb3VudGVkIGluIGV4dGVuc2lvbiBzbG90cywgZWl0aGVyIHZpYSBkZWNsYXJhdGlvbnMgaW4gdGhpcyBmaWxlIG9yIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBleHRlbnNpb25zPzogQXJyYXk8RXh0ZW5zaW9uRGVmaW5pdGlvbj47XG59XG5cbi8qKlxuICogVGhpcyBpbnRlcmZhY2VzIGRlc2NyaWJlcyB0aGUgZm9ybWF0IG9mIHRoZSBvdmVyYWxsIHJvdHVlcy5qc29uIGxvYWRlZCBieSB0aGUgYXBwIHNoZWxsLlxuICogQmFzaWNhbGx5LCB0aGlzIGlzIHRoZSBzYW1lIGFzIHRoZSBhcHAgcm91dGVzLCB3aXRoIGVhY2ggcm91dGVzIGRlZmluaXRpb24ga2V5ZWQgYnkgdGhlIGFwcCdzIG5hbWVcbiAqL1xuZXhwb3J0IHR5cGUgT3Blbm1yc1JvdXRlcyA9IFJlY29yZDxzdHJpbmcsIE9wZW5tcnNBcHBSb3V0ZXM+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlTG9hZGVyPFQgPSBhbnk+IHtcbiAgKCk6IFByb21pc2U8VD47XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-globals/src/types.ts\n");
|
|
6846
6846
|
|
|
6847
6847
|
/***/ }),
|
|
6848
6848
|
|
|
@@ -6886,7 +6886,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6886
6886
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6887
6887
|
|
|
6888
6888
|
"use strict";
|
|
6889
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OfflineDb: () => (/* binding */ OfflineDb),\n/* harmony export */ getOfflineDb: () => (/* binding */ getOfflineDb)\n/* harmony export */ });\n/* harmony import */ var dexie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dexie */ \"../../../node_modules/dexie/dist/modern/dexie.mjs\");\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\n\n/**\n * Accesses the central IndexedDB used by the `esm-offline` module to persist offline related state.\n * Leverages the `dexie` library for IndexedDB management.\n */ var OfflineDb = /*#__PURE__*/ function(Dexie) {\n \"use strict\";\n _inherits(OfflineDb, Dexie);\n var _super = _create_super(OfflineDb);\n function OfflineDb() {\n _class_call_check(this, OfflineDb);\n var _this;\n _this = _super.call(this, \"EsmOffline\");\n /**\n * The table used to store the data of the offline synchronization queue (aka \"sync queue\" / \"offline actions\").\n */ _define_property(_assert_this_initialized(_this), \"syncQueue\", void 0);\n _define_property(_assert_this_initialized(_this), \"dynamicOfflineData\", void 0);\n _this.version(4).stores({\n syncQueue: \"++id,userId,type,[userId+type]\",\n dynamicOfflineData: \"++id,type,identifier,*users,&[type+identifier]\"\n });\n _this.syncQueue = _this.table(\"syncQueue\");\n _this.dynamicOfflineData = _this.table(\"dynamicOfflineData\");\n return _this;\n }\n return OfflineDb;\n}(dexie__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/**\n * @internal Temporarily added for esm-offline-tools-app and workarounds. Please don't use elsewhere.\n * @deprecated Should/Will be removed in the future per the above reason.\n */ function getOfflineDb() {\n return new OfflineDb();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6889
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OfflineDb: () => (/* binding */ OfflineDb),\n/* harmony export */ getOfflineDb: () => (/* binding */ getOfflineDb)\n/* harmony export */ });\n/* harmony import */ var dexie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dexie */ \"../../../node_modules/dexie/dist/modern/dexie.mjs\");\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\n\n/**\n * Accesses the central IndexedDB used by the `esm-offline` module to persist offline related state.\n * Leverages the `dexie` library for IndexedDB management.\n */ var OfflineDb = /*#__PURE__*/ function(Dexie) {\n \"use strict\";\n _inherits(OfflineDb, Dexie);\n var _super = _create_super(OfflineDb);\n function OfflineDb() {\n _class_call_check(this, OfflineDb);\n var _this;\n _this = _super.call(this, \"EsmOffline\");\n /**\n * The table used to store the data of the offline synchronization queue (aka \"sync queue\" / \"offline actions\").\n */ _define_property(_assert_this_initialized(_this), \"syncQueue\", void 0);\n _define_property(_assert_this_initialized(_this), \"dynamicOfflineData\", void 0);\n _this.version(4).stores({\n syncQueue: \"++id,userId,type,[userId+type]\",\n dynamicOfflineData: \"++id,type,identifier,*users,&[type+identifier]\"\n });\n _this.syncQueue = _this.table(\"syncQueue\");\n _this.dynamicOfflineData = _this.table(\"dynamicOfflineData\");\n return _this;\n }\n return OfflineDb;\n}(dexie__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/**\n * @internal Temporarily added for esm-offline-tools-app and workarounds. Please don't use elsewhere.\n * @deprecated Should/Will be removed in the future per the above reason.\n */ function getOfflineDb() {\n return new OfflineDb();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1vZmZsaW5lL3NyYy9vZmZsaW5lLWRiLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUMwQjtBQUkxQjs7O0NBR0MsR0FDTSw4QkFvQko7O2NBcEJVQzsrQkFBQUE7YUFBQUE7Z0NBQUFBOztrQ0FRSDtRQVBSOztHQUVDLEdBQ0RDLGtEQUFBQSxhQUFBQSxLQUFBQTtRQUNBQyxrREFBQUEsc0JBQUFBLEtBQUFBO1FBS0UsTUFBS0MsT0FBTyxDQUFDLEdBQUdDLE1BQU0sQ0FBQztZQUNyQkgsV0FBVztZQUNYQyxvQkFBb0I7UUFDdEI7UUFFQSxNQUFLRCxTQUFTLEdBQUcsTUFBS0ksS0FBSyxDQUFDO1FBQzVCLE1BQUtILGtCQUFrQixHQUFHLE1BQUtHLEtBQUssQ0FBQzs7O1dBaEI1Qkw7RUFBa0JELDZDQUFLQSxFQWtCbkM7QUFFRDs7O0NBR0MsR0FDTSxTQUFTTyxlQUFlO0lBQzdCLE9BQU8sSUFBSU47QUFDYixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLW9mZmxpbmUvc3JjL29mZmxpbmUtZGIudHM/MGY1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRhYmxlIH0gZnJvbSAnZGV4aWUnO1xuaW1wb3J0IERleGllIGZyb20gJ2RleGllJztcbmltcG9ydCB0eXBlIHsgRHluYW1pY09mZmxpbmVEYXRhIH0gZnJvbSAnLi9keW5hbWljLW9mZmxpbmUtZGF0YSc7XG5pbXBvcnQgdHlwZSB7IFN5bmNJdGVtIH0gZnJvbSAnLi9zeW5jJztcblxuLyoqXG4gKiBBY2Nlc3NlcyB0aGUgY2VudHJhbCBJbmRleGVkREIgdXNlZCBieSB0aGUgYGVzbS1vZmZsaW5lYCBtb2R1bGUgdG8gcGVyc2lzdCBvZmZsaW5lIHJlbGF0ZWQgc3RhdGUuXG4gKiBMZXZlcmFnZXMgdGhlIGBkZXhpZWAgbGlicmFyeSBmb3IgSW5kZXhlZERCIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBPZmZsaW5lRGIgZXh0ZW5kcyBEZXhpZSB7XG4gIC8qKlxuICAgKiBUaGUgdGFibGUgdXNlZCB0byBzdG9yZSB0aGUgZGF0YSBvZiB0aGUgb2ZmbGluZSBzeW5jaHJvbml6YXRpb24gcXVldWUgKGFrYSBcInN5bmMgcXVldWVcIiAvIFwib2ZmbGluZSBhY3Rpb25zXCIpLlxuICAgKi9cbiAgc3luY1F1ZXVlOiBUYWJsZTxTeW5jSXRlbSwgbnVtYmVyPjtcbiAgZHluYW1pY09mZmxpbmVEYXRhOiBUYWJsZTxEeW5hbWljT2ZmbGluZURhdGEsIG51bWJlcj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0VzbU9mZmxpbmUnKTtcblxuICAgIHRoaXMudmVyc2lvbig0KS5zdG9yZXMoe1xuICAgICAgc3luY1F1ZXVlOiAnKytpZCx1c2VySWQsdHlwZSxbdXNlcklkK3R5cGVdJyxcbiAgICAgIGR5bmFtaWNPZmZsaW5lRGF0YTogJysraWQsdHlwZSxpZGVudGlmaWVyLCp1c2VycywmW3R5cGUraWRlbnRpZmllcl0nLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zeW5jUXVldWUgPSB0aGlzLnRhYmxlKCdzeW5jUXVldWUnKTtcbiAgICB0aGlzLmR5bmFtaWNPZmZsaW5lRGF0YSA9IHRoaXMudGFibGUoJ2R5bmFtaWNPZmZsaW5lRGF0YScpO1xuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsIFRlbXBvcmFyaWx5IGFkZGVkIGZvciBlc20tb2ZmbGluZS10b29scy1hcHAgYW5kIHdvcmthcm91bmRzLiBQbGVhc2UgZG9uJ3QgdXNlIGVsc2V3aGVyZS5cbiAqIEBkZXByZWNhdGVkIFNob3VsZC9XaWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZSBwZXIgdGhlIGFib3ZlIHJlYXNvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9mZmxpbmVEYigpIHtcbiAgcmV0dXJuIG5ldyBPZmZsaW5lRGIoKTtcbn1cbiJdLCJuYW1lcyI6WyJEZXhpZSIsIk9mZmxpbmVEYiIsInN5bmNRdWV1ZSIsImR5bmFtaWNPZmZsaW5lRGF0YSIsInZlcnNpb24iLCJzdG9yZXMiLCJ0YWJsZSIsImdldE9mZmxpbmVEYiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-offline/src/offline-db.ts\n");
|
|
6890
6890
|
|
|
6891
6891
|
/***/ }),
|
|
6892
6892
|
|
|
@@ -6930,7 +6930,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6930
6930
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6931
6931
|
|
|
6932
6932
|
"use strict";
|
|
6933
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ messageOmrsServiceWorker: () => (/* binding */ messageOmrsServiceWorker)\n/* harmony export */ });\n/* harmony import */ var _service_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./service-worker */ \"../../framework/esm-offline/src/service-worker.ts\");\n/** @module @category Offline */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n/**\n * Sends the specified message to the application's service worker.\n * @param message The message to be sent.\n * @returns A promise which completes when the message has been successfully processed by the Service Worker.\n */ function messageOmrsServiceWorker(message) {\n return _messageOmrsServiceWorker.apply(this, arguments);\n}\nfunction _messageOmrsServiceWorker() {\n _messageOmrsServiceWorker = _async_to_generator(function(message) {\n var sw, _tmp;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_service_worker__WEBPACK_IMPORTED_MODULE_0__.getOmrsServiceWorker)()\n ];\n case 1:\n sw = _state.sent();\n if (!sw) return [\n 3,\n 3\n ];\n return [\n 4,\n sw.messageSW(message)\n ];\n case 2:\n _tmp = _state.sent();\n return [\n 3,\n 4\n ];\n case 3:\n _tmp = {\n success: false,\n result: undefined,\n error: \"No service worker has been registered. This is typically the case when the application has been built without offline-related features.\"\n };\n _state.label = 4;\n case 4:\n return [\n 2,\n _tmp\n ];\n }\n });\n });\n return _messageOmrsServiceWorker.apply(this, arguments);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6933
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ messageOmrsServiceWorker: () => (/* binding */ messageOmrsServiceWorker)\n/* harmony export */ });\n/* harmony import */ var _service_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./service-worker */ \"../../framework/esm-offline/src/service-worker.ts\");\n/** @module @category Offline */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n/**\n * Sends the specified message to the application's service worker.\n * @param message The message to be sent.\n * @returns A promise which completes when the message has been successfully processed by the Service Worker.\n */ function messageOmrsServiceWorker(message) {\n return _messageOmrsServiceWorker.apply(this, arguments);\n}\nfunction _messageOmrsServiceWorker() {\n _messageOmrsServiceWorker = _async_to_generator(function(message) {\n var sw, _tmp;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n (0,_service_worker__WEBPACK_IMPORTED_MODULE_0__.getOmrsServiceWorker)()\n ];\n case 1:\n sw = _state.sent();\n if (!sw) return [\n 3,\n 3\n ];\n return [\n 4,\n sw.messageSW(message)\n ];\n case 2:\n _tmp = _state.sent();\n return [\n 3,\n 4\n ];\n case 3:\n _tmp = {\n success: false,\n result: undefined,\n error: \"No service worker has been registered. This is typically the case when the application has been built without offline-related features.\"\n };\n _state.label = 4;\n case 4:\n return [\n 2,\n _tmp\n ];\n }\n });\n });\n return _messageOmrsServiceWorker.apply(this, arguments);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1vZmZsaW5lL3NyYy9zZXJ2aWNlLXdvcmtlci1tZXNzYWdpbmcudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4QkFBOEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHMEI7QUFFeEQ7Ozs7Q0FJQyxHQUNNLFNBQWVDLHlCQUNwQkMsT0FBdUM7V0FEbkJEO0NBWXJCO1NBWnFCQTtJQUFBQSw0QkFBZiw2QkFDTEMsT0FBdUMsRUFDRztZQUNwQ0M7Ozs7b0JBQUs7O3dCQUFNSCxxRUFBb0JBOzs7b0JBQS9CRyxLQUFLO3lCQUNKQSxJQUFBQTs7OztvQkFDSDs7d0JBQU1BLEdBQUdDLFNBQVMsQ0FBQ0Y7OzsyQkFBbkI7Ozs7OzsyQkFDQTt3QkFDRUcsU0FBUyxLQUFLO3dCQUNkQyxRQUFRQzt3QkFDUkMsT0FDRTtvQkFDSjs7O29CQVBKOzs7Ozs7SUFRRjtXQVpzQlAiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tb2ZmbGluZS9zcmMvc2VydmljZS13b3JrZXItbWVzc2FnaW5nLnRzP2IzOTIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IE9mZmxpbmUgKi9cbmltcG9ydCB0eXBlIHsgSW1wb3J0TWFwIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWdsb2JhbHMnO1xuaW1wb3J0IHR5cGUgeyBPbXJzT2ZmbGluZUNhY2hpbmdTdHJhdGVneSB9IGZyb20gJy4vc2VydmljZS13b3JrZXItaHR0cC1oZWFkZXJzJztcbmltcG9ydCB7IGdldE9tcnNTZXJ2aWNlV29ya2VyIH0gZnJvbSAnLi9zZXJ2aWNlLXdvcmtlcic7XG5cbi8qKlxuICogU2VuZHMgdGhlIHNwZWNpZmllZCBtZXNzYWdlIHRvIHRoZSBhcHBsaWNhdGlvbidzIHNlcnZpY2Ugd29ya2VyLlxuICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gYmUgc2VudC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aGljaCBjb21wbGV0ZXMgd2hlbiB0aGUgbWVzc2FnZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IHRoZSBTZXJ2aWNlIFdvcmtlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1lc3NhZ2VPbXJzU2VydmljZVdvcmtlcihcbiAgbWVzc2FnZTogS25vd25PbXJzU2VydmljZVdvcmtlck1lc3NhZ2VzLFxuKTogUHJvbWlzZTxNZXNzYWdlU2VydmljZVdvcmtlclJlc3VsdDxhbnk+PiB7XG4gIGNvbnN0IHN3ID0gYXdhaXQgZ2V0T21yc1NlcnZpY2VXb3JrZXIoKTtcbiAgcmV0dXJuIHN3XG4gICAgPyBhd2FpdCBzdy5tZXNzYWdlU1cobWVzc2FnZSlcbiAgICA6IHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgICBlcnJvcjpcbiAgICAgICAgICAnTm8gc2VydmljZSB3b3JrZXIgaGFzIGJlZW4gcmVnaXN0ZXJlZC4gVGhpcyBpcyB0eXBpY2FsbHkgdGhlIGNhc2Ugd2hlbiB0aGUgYXBwbGljYXRpb24gaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBvZmZsaW5lLXJlbGF0ZWQgZmVhdHVyZXMuJyxcbiAgICAgIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT21yc1NlcnZpY2VXb3JrZXJNZXNzYWdlPE1lc3NhZ2VUeXBlVHlwZUlkZW50aWZpZXIgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgdHlwZTogTWVzc2FnZVR5cGVUeXBlSWRlbnRpZmllcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkltcG9ydE1hcENoYW5nZWRNZXNzYWdlIGV4dGVuZHMgT21yc1NlcnZpY2VXb3JrZXJNZXNzYWdlPCdvbkltcG9ydE1hcENoYW5nZWQnPiB7XG4gIGltcG9ydE1hcDogSW1wb3J0TWFwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsZWFyRHluYW1pY1JvdXRlc01lc3NhZ2UgZXh0ZW5kcyBPbXJzU2VydmljZVdvcmtlck1lc3NhZ2U8J2NsZWFyRHluYW1pY1JvdXRlcyc+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJEeW5hbWljUm91dGVNZXNzYWdlIGV4dGVuZHMgT21yc1NlcnZpY2VXb3JrZXJNZXNzYWdlPCdyZWdpc3RlckR5bmFtaWNSb3V0ZSc+IHtcbiAgcGF0dGVybj86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICBzdHJhdGVneT86IE9tcnNPZmZsaW5lQ2FjaGluZ1N0cmF0ZWd5O1xufVxuXG5leHBvcnQgdHlwZSBLbm93bk9tcnNTZXJ2aWNlV29ya2VyTWVzc2FnZXMgPVxuICB8IE9uSW1wb3J0TWFwQ2hhbmdlZE1lc3NhZ2VcbiAgfCBDbGVhckR5bmFtaWNSb3V0ZXNNZXNzYWdlXG4gIHwgUmVnaXN0ZXJEeW5hbWljUm91dGVNZXNzYWdlO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VTZXJ2aWNlV29ya2VyUmVzdWx0PFQ+IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgcmVzdWx0PzogVDtcbiAgZXJyb3I/OiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiZ2V0T21yc1NlcnZpY2VXb3JrZXIiLCJtZXNzYWdlT21yc1NlcnZpY2VXb3JrZXIiLCJtZXNzYWdlIiwic3ciLCJtZXNzYWdlU1ciLCJzdWNjZXNzIiwicmVzdWx0IiwidW5kZWZpbmVkIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-offline/src/service-worker-messaging.ts\n");
|
|
6934
6934
|
|
|
6935
6935
|
/***/ }),
|
|
6936
6936
|
|
|
@@ -6985,7 +6985,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6985
6985
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6986
6986
|
|
|
6987
6987
|
"use strict";
|
|
6988
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigurableLink: () => (/* binding */ ConfigurableLink)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/** @module @category Navigation */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _object_without_properties(source, excluded) {\n if (source == null) return {};\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\n\nfunction handleClick(event, to, templateParams) {\n if (!event.metaKey && !event.ctrlKey && !event.shiftKey && event.button == 0) {\n event.preventDefault();\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.navigate)({\n to: to,\n templateParams: templateParams\n });\n }\n}\n/**\n * A React link component which calls [[navigate]] when clicked\n *\n * @param to The target path or URL. Supports interpolation. See [[navigate]]\n * @param urlParams: A dictionary of values to interpolate into the URL, in addition to the default keys `openmrsBase` and `openmrsSpaBase`.\n * @param children Inline elements within the link\n * @param otherProps Any other valid props for an <a> tag except `href` and `onClick`\n */ function ConfigurableLink(_param) {\n var to = _param.to, templateParams = _param.templateParams, children = _param.children, otherProps = _object_without_properties(_param, [\n \"to\",\n \"templateParams\",\n \"children\"\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", _object_spread({\n onClick: function(event) {\n return handleClick(event, to, templateParams);\n },\n href: (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.interpolateUrl)(to, templateParams)\n }, otherProps), children);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6988
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigurableLink: () => (/* binding */ ConfigurableLink)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/** @module @category Navigation */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _object_without_properties(source, excluded) {\n if (source == null) return {};\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\n\nfunction handleClick(event, to, templateParams) {\n if (!event.metaKey && !event.ctrlKey && !event.shiftKey && event.button == 0) {\n event.preventDefault();\n (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.navigate)({\n to: to,\n templateParams: templateParams\n });\n }\n}\n/**\n * A React link component which calls [[navigate]] when clicked\n *\n * @param to The target path or URL. Supports interpolation. See [[navigate]]\n * @param urlParams: A dictionary of values to interpolate into the URL, in addition to the default keys `openmrsBase` and `openmrsSpaBase`.\n * @param children Inline elements within the link\n * @param otherProps Any other valid props for an <a> tag except `href` and `onClick`\n */ function ConfigurableLink(_param) {\n var to = _param.to, templateParams = _param.templateParams, children = _param.children, otherProps = _object_without_properties(_param, [\n \"to\",\n \"templateParams\",\n \"children\"\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", _object_spread({\n onClick: function(event) {\n return handleClick(event, to, templateParams);\n },\n href: (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.interpolateUrl)(to, templateParams)\n }, otherProps), children);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvQ29uZmlndXJhYmxlTGluay50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGlDQUFpQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNpRTtBQUVuQztBQUUvRCxTQUFTRyxZQUFZQyxLQUFpQixFQUFFQyxFQUFVLEVBQUVDLGNBQStCLEVBQUU7SUFDbkYsSUFBSSxDQUFDRixNQUFNRyxPQUFPLElBQUksQ0FBQ0gsTUFBTUksT0FBTyxJQUFJLENBQUNKLE1BQU1LLFFBQVEsSUFBSUwsTUFBTU0sTUFBTSxJQUFJLEdBQUc7UUFDNUVOLE1BQU1PLGNBQWM7UUFDcEJWLDZEQUFRQSxDQUFDO1lBQUVJLElBQUFBO1lBQUlDLGdCQUFBQTtRQUFlO0lBQ2hDLENBQUM7QUFDSDtBQVVBOzs7Ozs7O0NBT0MsR0FDTSxTQUFTTSxpQkFBaUIsUUFLWTtRQUozQ1AsS0FEK0IsT0FDL0JBLElBQ0FDLGlCQUYrQixPQUUvQkEsZ0JBQ0FPLFdBSCtCLE9BRy9CQSxVQUNHQyx3Q0FKNEI7UUFDL0JUO1FBQ0FDO1FBQ0FPOztJQUdBLHFCQUNFLDJEQUFDRTtRQUNDQyxTQUFTLFNBQUNaO21CQUFVRCxZQUFZQyxPQUFPQyxJQUFJQzs7UUFDM0NXLE1BQU1mLG1FQUFjQSxDQUFDRyxJQUFJQztPQUNyQlEsYUFFSEQ7QUFHUCxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy9Db25maWd1cmFibGVMaW5rLnRzeD8zYzI4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBOYXZpZ2F0aW9uICovXG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBNb3VzZUV2ZW50LCB0eXBlIEFuY2hvckhUTUxBdHRyaWJ1dGVzLCB0eXBlIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVBhcmFtcyB9IGZyb20gJ0BvcGVubXJzL2VzbS1jb25maWcnO1xuaW1wb3J0IHsgbmF2aWdhdGUsIGludGVycG9sYXRlVXJsIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5cbmZ1bmN0aW9uIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCB0bzogc3RyaW5nLCB0ZW1wbGF0ZVBhcmFtcz86IFRlbXBsYXRlUGFyYW1zKSB7XG4gIGlmICghZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQuYnV0dG9uID09IDApIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIG5hdmlnYXRlKHsgdG8sIHRlbXBsYXRlUGFyYW1zIH0pO1xuICB9XG59XG5cbi8qKlxuICogQG5vSW5oZXJpdERvY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYWJsZUxpbmtQcm9wcyBleHRlbmRzIEFuY2hvckhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gIHRvOiBzdHJpbmc7XG4gIHRlbXBsYXRlUGFyYW1zPzogVGVtcGxhdGVQYXJhbXM7XG59XG5cbi8qKlxuICogQSBSZWFjdCBsaW5rIGNvbXBvbmVudCB3aGljaCBjYWxscyBbW25hdmlnYXRlXV0gd2hlbiBjbGlja2VkXG4gKlxuICogQHBhcmFtIHRvIFRoZSB0YXJnZXQgcGF0aCBvciBVUkwuIFN1cHBvcnRzIGludGVycG9sYXRpb24uIFNlZSBbW25hdmlnYXRlXV1cbiAqIEBwYXJhbSB1cmxQYXJhbXM6IEEgZGljdGlvbmFyeSBvZiB2YWx1ZXMgdG8gaW50ZXJwb2xhdGUgaW50byB0aGUgVVJMLCBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBrZXlzIGBvcGVubXJzQmFzZWAgYW5kIGBvcGVubXJzU3BhQmFzZWAuXG4gKiBAcGFyYW0gY2hpbGRyZW4gSW5saW5lIGVsZW1lbnRzIHdpdGhpbiB0aGUgbGlua1xuICogQHBhcmFtIG90aGVyUHJvcHMgQW55IG90aGVyIHZhbGlkIHByb3BzIGZvciBhbiA8YT4gdGFnIGV4Y2VwdCBgaHJlZmAgYW5kIGBvbkNsaWNrYFxuICovXG5leHBvcnQgZnVuY3Rpb24gQ29uZmlndXJhYmxlTGluayh7XG4gIHRvLFxuICB0ZW1wbGF0ZVBhcmFtcyxcbiAgY2hpbGRyZW4sXG4gIC4uLm90aGVyUHJvcHNcbn06IFByb3BzV2l0aENoaWxkcmVuPENvbmZpZ3VyYWJsZUxpbmtQcm9wcz4pIHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgb25DbGljaz17KGV2ZW50KSA9PiBoYW5kbGVDbGljayhldmVudCwgdG8sIHRlbXBsYXRlUGFyYW1zKX1cbiAgICAgIGhyZWY9e2ludGVycG9sYXRlVXJsKHRvLCB0ZW1wbGF0ZVBhcmFtcyl9XG4gICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9hPlxuICApO1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwibmF2aWdhdGUiLCJpbnRlcnBvbGF0ZVVybCIsImhhbmRsZUNsaWNrIiwiZXZlbnQiLCJ0byIsInRlbXBsYXRlUGFyYW1zIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImJ1dHRvbiIsInByZXZlbnREZWZhdWx0IiwiQ29uZmlndXJhYmxlTGluayIsImNoaWxkcmVuIiwib3RoZXJQcm9wcyIsImEiLCJvbkNsaWNrIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/ConfigurableLink.tsx\n");
|
|
6989
6989
|
|
|
6990
6990
|
/***/ }),
|
|
6991
6991
|
|
|
@@ -6996,7 +6996,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6996
6996
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6997
6997
|
|
|
6998
6998
|
"use strict";
|
|
6999
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Extension: () => (/* binding */ Extension)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! . */ \"../../framework/esm-react-utils/src/index.ts\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _object_without_properties(source, excluded) {\n if (source == null) return {};\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n/**\n * Represents the position in the DOM where each extension within\n * an extension slot is rendered.\n *\n * Renders once for each extension attached to that extension slot.\n *\n * Usage of this component *must* have an ancestor `<ExtensionSlot>`,\n * and *must* only be used once within that `<ExtensionSlot>`.\n */ var Extension = function(_param) {\n var state = _param.state, children = _param.children, wrap = _param.wrap, divProps = _object_without_properties(_param, [\n \"state\",\n \"children\",\n \"wrap\"\n ]);\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(), 2), domElement = _useState[0], setDomElement = _useState[1];\n var extension = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(___WEBPACK_IMPORTED_MODULE_2__.ComponentContext).extension;\n var parcel = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n var updatePromise = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(Promise.resolve());\n var rendering = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (wrap) {\n console.warn(\"'wrap' prop of Extension is being used \".concat((extension === null || extension === void 0 ? void 0 : extension.extensionId) ? \"by \".concat(extension.extensionId, \" in \").concat(extension.extensionSlotName) : \"\", \". This will be removed in a future release.\"));\n }\n // we only warn when component mounts\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function(node) {\n setDomElement(node);\n }, [\n setDomElement\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (domElement != null && (extension === null || extension === void 0 ? void 0 : extension.extensionSlotName) && extension.extensionSlotModuleName && extension.extensionSlotModuleName && !parcel.current && !rendering.current) {\n rendering.current = true;\n (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.renderExtension)(domElement, extension.extensionSlotName, extension.extensionSlotModuleName, extension.extensionId, undefined, state).then(function(newParcel) {\n parcel.current = newParcel;\n rendering.current = false;\n });\n return function() {\n if (parcel && parcel.current) {\n var status = parcel.current.getStatus();\n switch(status){\n case \"MOUNTING\":\n parcel.current.mountPromise.then(function() {\n var _parcel_current;\n if (((_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\") {\n parcel.current.unmount();\n }\n });\n break;\n case \"MOUNTED\":\n parcel.current.unmount();\n break;\n case \"UPDATING\":\n if (updatePromise.current) {\n updatePromise.current.then(function() {\n var _parcel_current;\n if (((_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\") {\n parcel.current.unmount();\n }\n });\n }\n }\n }\n };\n }\n // we intentionally do not re-run this hook if state gets updated\n // state updates are handled in the next useEffect hook\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n extension === null || extension === void 0 ? void 0 : extension.extensionSlotName,\n extension === null || extension === void 0 ? void 0 : extension.extensionId,\n extension === null || extension === void 0 ? void 0 : extension.extensionSlotModuleName,\n domElement\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (parcel.current && parcel.current.update && parcel.current.getStatus() !== \"UNMOUNTING\") {\n Promise.all([\n parcel.current.mountPromise,\n updatePromise.current\n ]).then(function() {\n var _parcel_current;\n if ((parcel === null || parcel === void 0 ? void 0 : (_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\" && parcel.current.update) {\n updatePromise.current = parcel.current.update(_object_spread({}, state)).catch(function(err) {\n var _parcel_current;\n // if we were trying to update but the component was unmounted\n // while this was happening, ignore the error\n if (!_instanceof(err, Error) || !err.message.includes(\"minified message #32\") || ((_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\") {\n throw err;\n }\n });\n }\n });\n }\n }, [\n state\n ]);\n // The extension is rendered into the `<div>`. The `<div>` has relative\n // positioning in order to allow the UI Editor to absolutely position\n // elements within it.\n var slot = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", _object_spread({\n ref: ref,\n \"data-extension-id\": extension === null || extension === void 0 ? void 0 : extension.extensionId,\n style: {\n position: \"relative\"\n }\n }, divProps));\n if (typeof children === \"function\" && !/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(children)) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, children(slot, extension));\n }\n return extension && wrap ? wrap(slot, extension) : slot;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvRXh0ZW5zaW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwRDtBQUM2QztBQUVsRTtBQVdyQzs7Ozs7Ozs7Q0FRQyxHQUNNLElBQU1RLFlBQXNDLGlCQUE0QztRQUF6Q0MsZUFBQUEsT0FBT0Msa0JBQUFBLFVBQVVDLGNBQUFBLE1BQVNDO1FBQTFCSDtRQUFPQztRQUFVQzs7SUFDckUsSUFBb0NMLDZCQUFBQSwrQ0FBUUEsUUFBckNPLGFBQTZCUCxjQUFqQlEsZ0JBQWlCUjtJQUNwQyxJQUFNLFlBQWdCSCxpREFBVUEsQ0FBQ0ksK0NBQWdCQSxFQUF6Q1E7SUFDUixJQUFNQyxTQUFTWCw2Q0FBTUEsQ0FBZ0IsSUFBSTtJQUN6QyxJQUFNWSxnQkFBZ0JaLDZDQUFNQSxDQUFnQmEsUUFBUUMsT0FBTztJQUMzRCxJQUFNQyxZQUFZZiw2Q0FBTUEsQ0FBVSxLQUFLO0lBRXZDRCxnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBSU8sTUFBTTtZQUNSVSxRQUFRQyxJQUFJLENBQ1YsMENBRUMsT0FEQ1AsQ0FBQUEsc0JBQUFBLHVCQUFBQSxLQUFBQSxJQUFBQSxVQUFXUSxXQUFXLElBQUcsTUFBa0NSLE9BQTVCQSxVQUFVUSxXQUFXLEVBQUMsUUFBa0MsT0FBNUJSLFVBQVVTLGlCQUFpQixJQUFLLEVBQUUsRUFDOUY7UUFFTCxDQUFDO0lBQ0QscUNBQXFDO0lBQ3JDLHVEQUF1RDtJQUN6RCxHQUFHLEVBQUU7SUFFTCxJQUFNQyxNQUFNdkIsa0RBQVdBLENBQ3JCLFNBQUN3QixNQUF5QjtRQUN4QlosY0FBY1k7SUFDaEIsR0FDQTtRQUFDWjtLQUFjO0lBR2pCVixnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFDRVMsY0FBYyxJQUFJLElBQ2xCRSxDQUFBQSxzQkFBQUEsdUJBQUFBLEtBQUFBLElBQUFBLFVBQVdTLGlCQUFpQixLQUM1QlQsVUFBVVksdUJBQXVCLElBQ2pDWixVQUFVWSx1QkFBdUIsSUFDakMsQ0FBQ1gsT0FBT1ksT0FBTyxJQUNmLENBQUNSLFVBQVVRLE9BQU8sRUFDbEI7WUFDQVIsVUFBVVEsT0FBTyxHQUFHLElBQUk7WUFDeEI1Qix3RUFBZUEsQ0FDYmEsWUFDQUUsVUFBVVMsaUJBQWlCLEVBQzNCVCxVQUFVWSx1QkFBdUIsRUFDakNaLFVBQVVRLFdBQVcsRUFDckJNLFdBQ0FwQixPQUNBcUIsSUFBSSxDQUFDLFNBQUNDLFdBQWM7Z0JBQ3BCZixPQUFPWSxPQUFPLEdBQUdHO2dCQUNqQlgsVUFBVVEsT0FBTyxHQUFHLEtBQUs7WUFDM0I7WUFFQSxPQUFPLFdBQU07Z0JBQ1gsSUFBSVosVUFBVUEsT0FBT1ksT0FBTyxFQUFFO29CQUM1QixJQUFNSSxTQUFTaEIsT0FBT1ksT0FBTyxDQUFDSyxTQUFTO29CQUN2QyxPQUFRRDt3QkFDTixLQUFLOzRCQUNIaEIsT0FBT1ksT0FBTyxDQUFDTSxZQUFZLENBQUNKLElBQUksQ0FBQyxXQUFNO29DQUNqQ2Q7Z0NBQUosSUFBSUEsQ0FBQUEsQ0FBQUEsa0JBQUFBLE9BQU9ZLE9BQU8sY0FBZFosNkJBQUFBLEtBQUFBLElBQUFBLGdCQUFnQmlCLGlCQUFnQixXQUFXO29DQUM3Q2pCLE9BQU9ZLE9BQU8sQ0FBQ08sT0FBTztnQ0FDeEIsQ0FBQzs0QkFDSDs0QkFDQSxLQUFNO3dCQUNSLEtBQUs7NEJBQ0huQixPQUFPWSxPQUFPLENBQUNPLE9BQU87NEJBQ3RCLEtBQU07d0JBQ1IsS0FBSzs0QkFDSCxJQUFJbEIsY0FBY1csT0FBTyxFQUFFO2dDQUN6QlgsY0FBY1csT0FBTyxDQUFDRSxJQUFJLENBQUMsV0FBTTt3Q0FDM0JkO29DQUFKLElBQUlBLENBQUFBLENBQUFBLGtCQUFBQSxPQUFPWSxPQUFPLGNBQWRaLDZCQUFBQSxLQUFBQSxJQUFBQSxnQkFBZ0JpQixpQkFBZ0IsV0FBVzt3Q0FDN0NqQixPQUFPWSxPQUFPLENBQUNPLE9BQU87b0NBQ3hCLENBQUM7Z0NBQ0g7NEJBQ0YsQ0FBQztvQkFDTDtnQkFDRixDQUFDO1lBQ0g7UUFDRixDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLHVEQUF1RDtJQUN2RCx1REFBdUQ7SUFDekQsR0FBRztRQUFDcEIsc0JBQUFBLHVCQUFBQSxLQUFBQSxJQUFBQSxVQUFXUyxpQkFBaUI7UUFBRVQsc0JBQUFBLHVCQUFBQSxLQUFBQSxJQUFBQSxVQUFXUSxXQUFXO1FBQUVSLHNCQUFBQSx1QkFBQUEsS0FBQUEsSUFBQUEsVUFBV1ksdUJBQXVCO1FBQUVkO0tBQVc7SUFFekdULGdEQUFTQSxDQUFDLFdBQU07UUFDZCxJQUFJWSxPQUFPWSxPQUFPLElBQUlaLE9BQU9ZLE9BQU8sQ0FBQ1EsTUFBTSxJQUFJcEIsT0FBT1ksT0FBTyxDQUFDSyxTQUFTLE9BQU8sY0FBYztZQUMxRmYsUUFBUW1CLEdBQUcsQ0FBQztnQkFBQ3JCLE9BQU9ZLE9BQU8sQ0FBQ00sWUFBWTtnQkFBRWpCLGNBQWNXLE9BQU87YUFBQyxFQUFFRSxJQUFJLENBQUMsV0FBTTtvQkFDdkVkO2dCQUFKLElBQUlBLENBQUFBLG1CQUFBQSxvQkFBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsa0JBQUFBLE9BQVFZLE9BQU8sY0FBZlosNkJBQUFBLEtBQUFBLElBQUFBLGdCQUFpQmlCLGlCQUFnQixhQUFhakIsT0FBT1ksT0FBTyxDQUFDUSxNQUFNLEVBQUU7b0JBQ3ZFbkIsY0FBY1csT0FBTyxHQUFHWixPQUFPWSxPQUFPLENBQUNRLE1BQU0sQ0FBQyxtQkFBSzNCLFFBQVM2QixLQUFLLENBQUMsU0FBQ0MsS0FBUTs0QkFNdkV2Qjt3QkFMRiw4REFBOEQ7d0JBQzlELDZDQUE2Qzt3QkFDN0MsSUFDRSxDQUFFdUIsWUFBQUEsS0FBZUMsVUFDakIsQ0FBQ0QsSUFBSUUsT0FBTyxDQUFDQyxRQUFRLENBQUMsMkJBQ3RCMUIsQ0FBQUEsQ0FBQUEsa0JBQUFBLE9BQU9ZLE9BQU8sY0FBZFosNkJBQUFBLEtBQUFBLElBQUFBLGdCQUFnQmlCLGlCQUFnQixXQUNoQzs0QkFDQSxNQUFNTSxJQUFJO3dCQUNaLENBQUM7b0JBQ0g7Z0JBQ0YsQ0FBQztZQUNIO1FBQ0YsQ0FBQztJQUNILEdBQUc7UUFBQzlCO0tBQU07SUFFVix1RUFBdUU7SUFDdkUscUVBQXFFO0lBQ3JFLHNCQUFzQjtJQUN0QixJQUFNa0MscUJBQ0osMkRBQUNDO1FBQUluQixLQUFLQTtRQUFLb0IscUJBQW1COUIsc0JBQUFBLHVCQUFBQSxLQUFBQSxJQUFBQSxVQUFXUSxXQUFXO1FBQUV1QixPQUFPO1lBQUVDLFVBQVU7UUFBVztPQUFPbkM7SUFHakcsSUFBSSxPQUFPRixhQUFhLGNBQWMsZUFBQ1QsMkRBQW9CLENBQUNTLFdBQVc7UUFDckUscUJBQU8sMEhBQUdBLFNBQVNpQyxNQUFNNUI7SUFDM0IsQ0FBQztJQUVELE9BQU9BLGFBQWFKLE9BQU9BLEtBQUtnQyxNQUFNNUIsYUFBYTRCLElBQUk7QUFDekQsRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvRXh0ZW5zaW9uLnRzeD9hZDAwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlckV4dGVuc2lvbiB9IGZyb20gJ0BvcGVubXJzL2VzbS1leHRlbnNpb25zJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB0eXBlIFJlYWN0RWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgUGFyY2VsIH0gZnJvbSAnc2luZ2xlLXNwYSc7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnLic7XG5pbXBvcnQgdHlwZSB7IEV4dGVuc2lvbkRhdGEgfSBmcm9tICcuL0NvbXBvbmVudENvbnRleHQnO1xuXG5leHBvcnQgdHlwZSBFeHRlbnNpb25Qcm9wcyA9IHtcbiAgc3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKiogQGRlcHJlY2F0ZWQgUGFzcyBhIGZ1bmN0aW9uIGFzIHRoZSBjaGlsZCBvZiBgRXh0ZW5zaW9uU2xvdGAgaW5zdGVhZC4gKi9cbiAgd3JhcD8oc2xvdDogUmVhY3QuUmVhY3ROb2RlLCBleHRlbnNpb246IEV4dGVuc2lvbkRhdGEpOiBSZWFjdEVsZW1lbnQ8YW55LCBhbnk+IHwgbnVsbDtcbn0gJiBPbWl0PFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgJ2NoaWxkcmVuJz4gJiB7XG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGUgfCAoKHNsb3Q6IFJlYWN0LlJlYWN0Tm9kZSwgZXh0ZW5zaW9uPzogRXh0ZW5zaW9uRGF0YSkgPT4gUmVhY3QuUmVhY3ROb2RlKTtcbiAgfTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBpbiB0aGUgRE9NIHdoZXJlIGVhY2ggZXh0ZW5zaW9uIHdpdGhpblxuICogYW4gZXh0ZW5zaW9uIHNsb3QgaXMgcmVuZGVyZWQuXG4gKlxuICogUmVuZGVycyBvbmNlIGZvciBlYWNoIGV4dGVuc2lvbiBhdHRhY2hlZCB0byB0aGF0IGV4dGVuc2lvbiBzbG90LlxuICpcbiAqIFVzYWdlIG9mIHRoaXMgY29tcG9uZW50ICptdXN0KiBoYXZlIGFuIGFuY2VzdG9yIGA8RXh0ZW5zaW9uU2xvdD5gLFxuICogYW5kICptdXN0KiBvbmx5IGJlIHVzZWQgb25jZSB3aXRoaW4gdGhhdCBgPEV4dGVuc2lvblNsb3Q+YC5cbiAqL1xuZXhwb3J0IGNvbnN0IEV4dGVuc2lvbjogUmVhY3QuRkM8RXh0ZW5zaW9uUHJvcHM+ID0gKHsgc3RhdGUsIGNoaWxkcmVuLCB3cmFwLCAuLi5kaXZQcm9wcyB9KSA9PiB7XG4gIGNvbnN0IFtkb21FbGVtZW50LCBzZXREb21FbGVtZW50XSA9IHVzZVN0YXRlPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCB7IGV4dGVuc2lvbiB9ID0gdXNlQ29udGV4dChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgcGFyY2VsID0gdXNlUmVmPFBhcmNlbCB8IG51bGw+KG51bGwpO1xuICBjb25zdCB1cGRhdGVQcm9taXNlID0gdXNlUmVmPFByb21pc2U8dm9pZD4+KFByb21pc2UucmVzb2x2ZSgpKTtcbiAgY29uc3QgcmVuZGVyaW5nID0gdXNlUmVmPGJvb2xlYW4+KGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh3cmFwKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGAnd3JhcCcgcHJvcCBvZiBFeHRlbnNpb24gaXMgYmVpbmcgdXNlZCAke1xuICAgICAgICAgIGV4dGVuc2lvbj8uZXh0ZW5zaW9uSWQgPyBgYnkgJHtleHRlbnNpb24uZXh0ZW5zaW9uSWR9IGluICR7ZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lfWAgOiAnJ1xuICAgICAgICB9LiBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyB3ZSBvbmx5IHdhcm4gd2hlbiBjb21wb25lbnQgbW91bnRzXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVmID0gdXNlQ2FsbGJhY2soXG4gICAgKG5vZGU6IEhUTUxEaXZFbGVtZW50KSA9PiB7XG4gICAgICBzZXREb21FbGVtZW50KG5vZGUpO1xuICAgIH0sXG4gICAgW3NldERvbUVsZW1lbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZG9tRWxlbWVudCAhPSBudWxsICYmXG4gICAgICBleHRlbnNpb24/LmV4dGVuc2lvblNsb3ROYW1lICYmXG4gICAgICBleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE1vZHVsZU5hbWUgJiZcbiAgICAgIGV4dGVuc2lvbi5leHRlbnNpb25TbG90TW9kdWxlTmFtZSAmJlxuICAgICAgIXBhcmNlbC5jdXJyZW50ICYmXG4gICAgICAhcmVuZGVyaW5nLmN1cnJlbnRcbiAgICApIHtcbiAgICAgIHJlbmRlcmluZy5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHJlbmRlckV4dGVuc2lvbihcbiAgICAgICAgZG9tRWxlbWVudCxcbiAgICAgICAgZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lLFxuICAgICAgICBleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE1vZHVsZU5hbWUsXG4gICAgICAgIGV4dGVuc2lvbi5leHRlbnNpb25JZCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZSxcbiAgICAgICkudGhlbigobmV3UGFyY2VsKSA9PiB7XG4gICAgICAgIHBhcmNlbC5jdXJyZW50ID0gbmV3UGFyY2VsO1xuICAgICAgICByZW5kZXJpbmcuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChwYXJjZWwgJiYgcGFyY2VsLmN1cnJlbnQpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSBwYXJjZWwuY3VycmVudC5nZXRTdGF0dXMoKTtcbiAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgY2FzZSAnTU9VTlRJTkcnOlxuICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudC5tb3VudFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmNlbC5jdXJyZW50Py5nZXRTdGF0dXMoKSA9PT0gJ01PVU5URUQnKSB7XG4gICAgICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudC51bm1vdW50KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdNT1VOVEVEJzpcbiAgICAgICAgICAgICAgcGFyY2VsLmN1cnJlbnQudW5tb3VudCgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1VQREFUSU5HJzpcbiAgICAgICAgICAgICAgaWYgKHVwZGF0ZVByb21pc2UuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVByb21pc2UuY3VycmVudC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChwYXJjZWwuY3VycmVudD8uZ2V0U3RhdHVzKCkgPT09ICdNT1VOVEVEJykge1xuICAgICAgICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudC51bm1vdW50KCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gd2UgaW50ZW50aW9uYWxseSBkbyBub3QgcmUtcnVuIHRoaXMgaG9vayBpZiBzdGF0ZSBnZXRzIHVwZGF0ZWRcbiAgICAvLyBzdGF0ZSB1cGRhdGVzIGFyZSBoYW5kbGVkIGluIHRoZSBuZXh0IHVzZUVmZmVjdCBob29rXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbZXh0ZW5zaW9uPy5leHRlbnNpb25TbG90TmFtZSwgZXh0ZW5zaW9uPy5leHRlbnNpb25JZCwgZXh0ZW5zaW9uPy5leHRlbnNpb25TbG90TW9kdWxlTmFtZSwgZG9tRWxlbWVudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhcmNlbC5jdXJyZW50ICYmIHBhcmNlbC5jdXJyZW50LnVwZGF0ZSAmJiBwYXJjZWwuY3VycmVudC5nZXRTdGF0dXMoKSAhPT0gJ1VOTU9VTlRJTkcnKSB7XG4gICAgICBQcm9taXNlLmFsbChbcGFyY2VsLmN1cnJlbnQubW91bnRQcm9taXNlLCB1cGRhdGVQcm9taXNlLmN1cnJlbnRdKS50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHBhcmNlbD8uY3VycmVudD8uZ2V0U3RhdHVzKCkgPT09ICdNT1VOVEVEJyAmJiBwYXJjZWwuY3VycmVudC51cGRhdGUpIHtcbiAgICAgICAgICB1cGRhdGVQcm9taXNlLmN1cnJlbnQgPSBwYXJjZWwuY3VycmVudC51cGRhdGUoeyAuLi5zdGF0ZSB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAvLyBpZiB3ZSB3ZXJlIHRyeWluZyB0byB1cGRhdGUgYnV0IHRoZSBjb21wb25lbnQgd2FzIHVubW91bnRlZFxuICAgICAgICAgICAgLy8gd2hpbGUgdGhpcyB3YXMgaGFwcGVuaW5nLCBpZ25vcmUgdGhlIGVycm9yXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICEoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHx8XG4gICAgICAgICAgICAgICFlcnIubWVzc2FnZS5pbmNsdWRlcygnbWluaWZpZWQgbWVzc2FnZSAjMzInKSB8fFxuICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudD8uZ2V0U3RhdHVzKCkgPT09ICdNT1VOVEVEJ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbc3RhdGVdKTtcblxuICAvLyBUaGUgZXh0ZW5zaW9uIGlzIHJlbmRlcmVkIGludG8gdGhlIGA8ZGl2PmAuIFRoZSBgPGRpdj5gIGhhcyByZWxhdGl2ZVxuICAvLyBwb3NpdGlvbmluZyBpbiBvcmRlciB0byBhbGxvdyB0aGUgVUkgRWRpdG9yIHRvIGFic29sdXRlbHkgcG9zaXRpb25cbiAgLy8gZWxlbWVudHMgd2l0aGluIGl0LlxuICBjb25zdCBzbG90ID0gKFxuICAgIDxkaXYgcmVmPXtyZWZ9IGRhdGEtZXh0ZW5zaW9uLWlkPXtleHRlbnNpb24/LmV4dGVuc2lvbklkfSBzdHlsZT17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9fSB7Li4uZGl2UHJvcHN9IC8+XG4gICk7XG5cbiAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyAmJiAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGRyZW4pKSB7XG4gICAgcmV0dXJuIDw+e2NoaWxkcmVuKHNsb3QsIGV4dGVuc2lvbil9PC8+O1xuICB9XG5cbiAgcmV0dXJuIGV4dGVuc2lvbiAmJiB3cmFwID8gd3JhcChzbG90LCBleHRlbnNpb24pIDogc2xvdDtcbn07XG4iXSwibmFtZXMiOlsicmVuZGVyRXh0ZW5zaW9uIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIkNvbXBvbmVudENvbnRleHQiLCJFeHRlbnNpb24iLCJzdGF0ZSIsImNoaWxkcmVuIiwid3JhcCIsImRpdlByb3BzIiwiZG9tRWxlbWVudCIsInNldERvbUVsZW1lbnQiLCJleHRlbnNpb24iLCJwYXJjZWwiLCJ1cGRhdGVQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZW5kZXJpbmciLCJjb25zb2xlIiwid2FybiIsImV4dGVuc2lvbklkIiwiZXh0ZW5zaW9uU2xvdE5hbWUiLCJyZWYiLCJub2RlIiwiZXh0ZW5zaW9uU2xvdE1vZHVsZU5hbWUiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwidGhlbiIsIm5ld1BhcmNlbCIsInN0YXR1cyIsImdldFN0YXR1cyIsIm1vdW50UHJvbWlzZSIsInVubW91bnQiLCJ1cGRhdGUiLCJhbGwiLCJjYXRjaCIsImVyciIsIkVycm9yIiwibWVzc2FnZSIsImluY2x1ZGVzIiwic2xvdCIsImRpdiIsImRhdGEtZXh0ZW5zaW9uLWlkIiwic3R5bGUiLCJwb3NpdGlvbiIsImlzVmFsaWRFbGVtZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/Extension.tsx\n");
|
|
6999
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Extension: () => (/* binding */ Extension)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! . */ \"../../framework/esm-react-utils/src/index.ts\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _object_without_properties(source, excluded) {\n if (source == null) return {};\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n/**\n * Represents the position in the DOM where each extension within\n * an extension slot is rendered.\n *\n * Renders once for each extension attached to that extension slot.\n *\n * Usage of this component *must* have an ancestor `<ExtensionSlot>`,\n * and *must* only be used once within that `<ExtensionSlot>`.\n */ var Extension = function(_param) {\n var state = _param.state, children = _param.children, wrap = _param.wrap, divProps = _object_without_properties(_param, [\n \"state\",\n \"children\",\n \"wrap\"\n ]);\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(), 2), domElement = _useState[0], setDomElement = _useState[1];\n var extension = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(___WEBPACK_IMPORTED_MODULE_2__.ComponentContext).extension;\n var parcel = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n var updatePromise = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(Promise.resolve());\n var rendering = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (wrap) {\n console.warn(\"'wrap' prop of Extension is being used \".concat((extension === null || extension === void 0 ? void 0 : extension.extensionId) ? \"by \".concat(extension.extensionId, \" in \").concat(extension.extensionSlotName) : \"\", \". This will be removed in a future release.\"));\n }\n // we only warn when component mounts\n }, []);\n var ref = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function(node) {\n setDomElement(node);\n }, [\n setDomElement\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (domElement != null && (extension === null || extension === void 0 ? void 0 : extension.extensionSlotName) && extension.extensionSlotModuleName && extension.extensionSlotModuleName && !parcel.current && !rendering.current) {\n rendering.current = true;\n (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.renderExtension)(domElement, extension.extensionSlotName, extension.extensionSlotModuleName, extension.extensionId, undefined, state).then(function(newParcel) {\n parcel.current = newParcel;\n rendering.current = false;\n });\n return function() {\n if (parcel && parcel.current) {\n var status = parcel.current.getStatus();\n switch(status){\n case \"MOUNTING\":\n parcel.current.mountPromise.then(function() {\n var _parcel_current;\n if (((_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\") {\n parcel.current.unmount();\n }\n });\n break;\n case \"MOUNTED\":\n parcel.current.unmount();\n break;\n case \"UPDATING\":\n if (updatePromise.current) {\n updatePromise.current.then(function() {\n var _parcel_current;\n if (((_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\") {\n parcel.current.unmount();\n }\n });\n }\n }\n }\n };\n }\n // we intentionally do not re-run this hook if state gets updated\n // state updates are handled in the next useEffect hook\n }, [\n extension === null || extension === void 0 ? void 0 : extension.extensionSlotName,\n extension === null || extension === void 0 ? void 0 : extension.extensionId,\n extension === null || extension === void 0 ? void 0 : extension.extensionSlotModuleName,\n domElement\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (parcel.current && parcel.current.update && parcel.current.getStatus() !== \"UNMOUNTING\") {\n Promise.all([\n parcel.current.mountPromise,\n updatePromise.current\n ]).then(function() {\n var _parcel_current;\n if ((parcel === null || parcel === void 0 ? void 0 : (_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\" && parcel.current.update) {\n updatePromise.current = parcel.current.update(_object_spread({}, state)).catch(function(err) {\n var _parcel_current;\n // if we were trying to update but the component was unmounted\n // while this was happening, ignore the error\n if (!_instanceof(err, Error) || !err.message.includes(\"minified message #32\") || ((_parcel_current = parcel.current) === null || _parcel_current === void 0 ? void 0 : _parcel_current.getStatus()) === \"MOUNTED\") {\n throw err;\n }\n });\n }\n });\n }\n }, [\n state\n ]);\n // The extension is rendered into the `<div>`. The `<div>` has relative\n // positioning in order to allow the UI Editor to absolutely position\n // elements within it.\n var slot = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", _object_spread({\n ref: ref,\n \"data-extension-id\": extension === null || extension === void 0 ? void 0 : extension.extensionId,\n style: {\n position: \"relative\"\n }\n }, divProps));\n if (typeof children === \"function\" && !/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(children)) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, children(slot, extension));\n }\n return extension && wrap ? wrap(slot, extension) : slot;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvRXh0ZW5zaW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwRDtBQUM2QztBQUVsRTtBQVdyQzs7Ozs7Ozs7Q0FRQyxHQUNNLElBQU1RLFlBQXNDLGlCQUE0QztRQUF6Q0MsZUFBQUEsT0FBT0Msa0JBQUFBLFVBQVVDLGNBQUFBLE1BQVNDO1FBQTFCSDtRQUFPQztRQUFVQzs7SUFDckUsSUFBb0NMLDZCQUFBQSwrQ0FBUUEsUUFBckNPLGFBQTZCUCxjQUFqQlEsZ0JBQWlCUjtJQUNwQyxJQUFNLFlBQWdCSCxpREFBVUEsQ0FBQ0ksK0NBQWdCQSxFQUF6Q1E7SUFDUixJQUFNQyxTQUFTWCw2Q0FBTUEsQ0FBZ0IsSUFBSTtJQUN6QyxJQUFNWSxnQkFBZ0JaLDZDQUFNQSxDQUFnQmEsUUFBUUMsT0FBTztJQUMzRCxJQUFNQyxZQUFZZiw2Q0FBTUEsQ0FBVSxLQUFLO0lBRXZDRCxnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBSU8sTUFBTTtZQUNSVSxRQUFRQyxJQUFJLENBQ1YsMENBRUMsT0FEQ1AsQ0FBQUEsc0JBQUFBLHVCQUFBQSxLQUFBQSxJQUFBQSxVQUFXUSxXQUFXLElBQUcsTUFBa0NSLE9BQTVCQSxVQUFVUSxXQUFXLEVBQUMsUUFBa0MsT0FBNUJSLFVBQVVTLGlCQUFpQixJQUFLLEVBQUUsRUFDOUY7UUFFTCxDQUFDO0lBQ0QscUNBQXFDO0lBQ3ZDLEdBQUcsRUFBRTtJQUVMLElBQU1DLE1BQU12QixrREFBV0EsQ0FDckIsU0FBQ3dCLE1BQXlCO1FBQ3hCWixjQUFjWTtJQUNoQixHQUNBO1FBQUNaO0tBQWM7SUFHakJWLGdEQUFTQSxDQUFDLFdBQU07UUFDZCxJQUNFUyxjQUFjLElBQUksSUFD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QixpQkFBZ0IsV0FDaEM7NEJBQ0EsTUFBTU0sSUFBSTt3QkFDWixDQUFDO29CQUNIO2dCQUNGLENBQUM7WUFDSDtRQUNGLENBQUM7SUFDSCxHQUFHO1FBQUM5QjtLQUFNO0lBRVYsdUVBQXVFO0lBQ3ZFLHFFQUFxRTtJQUNyRSxzQkFBc0I7SUFDdEIsSUFBTWtDLHFCQUNKLDJEQUFDQztRQUFJbkIsS0FBS0E7UUFBS29CLHFCQUFtQjlCLHNCQUFBQSx1QkFBQUEsS0FBQUEsSUFBQUEsVUFBV1EsV0FBVztRQUFFdUIsT0FBTztZQUFFQyxVQUFVO1FBQVc7T0FBT25DO0lBR2pHLElBQUksT0FBT0YsYUFBYSxjQUFjLGVBQUNULDJEQUFvQixDQUFDUyxXQUFXO1FBQ3JFLHFCQUFPLDBIQUFHQSxTQUFTaUMsTUFBTTVCO0lBQzNCLENBQUM7SUFFRCxPQUFPQSxhQUFhSixPQUFPQSxLQUFLZ0MsTUFBTTVCLGFBQWE0QixJQUFJO0FBQ3pELEVBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL0V4dGVuc2lvbi50c3g/YWQwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXJFeHRlbnNpb24gfSBmcm9tICdAb3Blbm1ycy9lc20tZXh0ZW5zaW9ucyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdHlwZSBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFBhcmNlbCB9IGZyb20gJ3NpbmdsZS1zcGEnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJy4nO1xuaW1wb3J0IHR5cGUgeyBFeHRlbnNpb25EYXRhIH0gZnJvbSAnLi9Db21wb25lbnRDb250ZXh0JztcblxuZXhwb3J0IHR5cGUgRXh0ZW5zaW9uUHJvcHMgPSB7XG4gIHN0YXRlPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgLyoqIEBkZXByZWNhdGVkIFBhc3MgYSBmdW5jdGlvbiBhcyB0aGUgY2hpbGQgb2YgYEV4dGVuc2lvblNsb3RgIGluc3RlYWQuICovXG4gIHdyYXA/KHNsb3Q6IFJlYWN0LlJlYWN0Tm9kZSwgZXh0ZW5zaW9uOiBFeHRlbnNpb25EYXRhKTogUmVhY3RFbGVtZW50PGFueSwgYW55PiB8IG51bGw7XG59ICYgT21pdDxSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4sICdjaGlsZHJlbic+ICYge1xuICAgIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlIHwgKChzbG90OiBSZWFjdC5SZWFjdE5vZGUsIGV4dGVuc2lvbj86IEV4dGVuc2lvbkRhdGEpID0+IFJlYWN0LlJlYWN0Tm9kZSk7XG4gIH07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcG9zaXRpb24gaW4gdGhlIERPTSB3aGVyZSBlYWNoIGV4dGVuc2lvbiB3aXRoaW5cbiAqIGFuIGV4dGVuc2lvbiBzbG90IGlzIHJlbmRlcmVkLlxuICpcbiAqIFJlbmRlcnMgb25jZSBmb3IgZWFjaCBleHRlbnNpb24gYXR0YWNoZWQgdG8gdGhhdCBleHRlbnNpb24gc2xvdC5cbiAqXG4gKiBVc2FnZSBvZiB0aGlzIGNvbXBvbmVudCAqbXVzdCogaGF2ZSBhbiBhbmNlc3RvciBgPEV4dGVuc2lvblNsb3Q+YCxcbiAqIGFuZCAqbXVzdCogb25seSBiZSB1c2VkIG9uY2Ugd2l0aGluIHRoYXQgYDxFeHRlbnNpb25TbG90PmAuXG4gKi9cbmV4cG9ydCBjb25zdCBFeHRlbnNpb246IFJlYWN0LkZDPEV4dGVuc2lvblByb3BzPiA9ICh7IHN0YXRlLCBjaGlsZHJlbiwgd3JhcCwgLi4uZGl2UHJvcHMgfSkgPT4ge1xuICBjb25zdCBbZG9tRWxlbWVudCwgc2V0RG9tRWxlbWVudF0gPSB1c2VTdGF0ZTxIVE1MRGl2RWxlbWVudD4oKTtcbiAgY29uc3QgeyBleHRlbnNpb24gfSA9IHVzZUNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IHBhcmNlbCA9IHVzZVJlZjxQYXJjZWwgfCBudWxsPihudWxsKTtcbiAgY29uc3QgdXBkYXRlUHJvbWlzZSA9IHVzZVJlZjxQcm9taXNlPHZvaWQ+PihQcm9taXNlLnJlc29sdmUoKSk7XG4gIGNvbnN0IHJlbmRlcmluZyA9IHVzZVJlZjxib29sZWFuPihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAod3JhcCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgJ3dyYXAnIHByb3Agb2YgRXh0ZW5zaW9uIGlzIGJlaW5nIHVzZWQgJHtcbiAgICAgICAgICBleHRlbnNpb24/LmV4dGVuc2lvbklkID8gYGJ5ICR7ZXh0ZW5zaW9uLmV4dGVuc2lvbklkfSBpbiAke2V4dGVuc2lvbi5leHRlbnNpb25TbG90TmFtZX1gIDogJydcbiAgICAgICAgfS4gVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gd2Ugb25seSB3YXJuIHdoZW4gY29tcG9uZW50IG1vdW50c1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVmID0gdXNlQ2FsbGJhY2soXG4gICAgKG5vZGU6IEhUTUxEaXZFbGVtZW50KSA9PiB7XG4gICAgICBzZXREb21FbGVtZW50KG5vZGUpO1xuICAgIH0sXG4gICAgW3NldERvbUVsZW1lbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZG9tRWxlbWVudCAhPSBudWxsICYmXG4gICAgICBleHRlbnNpb24/LmV4dGVuc2lvblNsb3ROYW1lICYmXG4gICAgICBleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE1vZHVsZU5hbWUgJiZcbiAgICAgIGV4dGVuc2lvbi5leHRlbnNpb25TbG90TW9kdWxlTmFtZSAmJlxuICAgICAgIXBhcmNlbC5jdXJyZW50ICYmXG4gICAgICAhcmVuZGVyaW5nLmN1cnJlbnRcbiAgICApIHtcbiAgICAgIHJlbmRlcmluZy5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHJlbmRlckV4dGVuc2lvbihcbiAgICAgICAgZG9tRWxlbWVudCxcbiAgICAgICAgZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lLFxuICAgICAgICBleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE1vZHVsZU5hbWUsXG4gICAgICAgIGV4dGVuc2lvbi5leHRlbnNpb25JZCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZSxcbiAgICAgICkudGhlbigobmV3UGFyY2VsKSA9PiB7XG4gICAgICAgIHBhcmNlbC5jdXJyZW50ID0gbmV3UGFyY2VsO1xuICAgICAgICByZW5kZXJpbmcuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChwYXJjZWwgJiYgcGFyY2VsLmN1cnJlbnQpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSBwYXJjZWwuY3VycmVudC5nZXRTdGF0dXMoKTtcbiAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgY2FzZSAnTU9VTlRJTkcnOlxuICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudC5tb3VudFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmNlbC5jdXJyZW50Py5nZXRTdGF0dXMoKSA9PT0gJ01PVU5URUQnKSB7XG4gICAgICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudC51bm1vdW50KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdNT1VOVEVEJzpcbiAgICAgICAgICAgICAgcGFyY2VsLmN1cnJlbnQudW5tb3VudCgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1VQREFUSU5HJzpcbiAgICAgICAgICAgICAgaWYgKHVwZGF0ZVByb21pc2UuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHVwZGF0ZVByb21pc2UuY3VycmVudC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChwYXJjZWwuY3VycmVudD8uZ2V0U3RhdHVzKCkgPT09ICdNT1VOVEVEJykge1xuICAgICAgICAgICAgICAgICAgICBwYXJjZWwuY3VycmVudC51bm1vdW50KCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gd2UgaW50ZW50aW9uYWxseSBkbyBub3QgcmUtcnVuIHRoaXMgaG9vayBpZiBzdGF0ZSBnZXRzIHVwZGF0ZWRcbiAgICAvLyBzdGF0ZSB1cGRhdGVzIGFyZSBoYW5kbGVkIGluIHRoZSBuZXh0IHVzZUVmZmVjdCBob29rXG4gIH0sIFtleHRlbnNpb24/LmV4dGVuc2lvblNsb3ROYW1lLCBleHRlbnNpb24/LmV4dGVuc2lvbklkLCBleHRlbnNpb24/LmV4dGVuc2lvblNsb3RNb2R1bGVOYW1lLCBkb21FbGVtZW50XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFyY2VsLmN1cnJlbnQgJiYgcGFyY2VsLmN1cnJlbnQudXBkYXRlICYmIHBhcmNlbC5jdXJyZW50LmdldFN0YXR1cygpICE9PSAnVU5NT1VOVElORycpIHtcbiAgICAgIFByb21pc2UuYWxsKFtwYXJjZWwuY3VycmVudC5tb3VudFByb21pc2UsIHVwZGF0ZVByb21pc2UuY3VycmVudF0pLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAocGFyY2VsPy5jdXJyZW50Py5nZXRTdGF0dXMoKSA9PT0gJ01PVU5URUQnICYmIHBhcmNlbC5jdXJyZW50LnVwZGF0ZSkge1xuICAgICAgICAgIHVwZGF0ZVByb21pc2UuY3VycmVudCA9IHBhcmNlbC5jdXJyZW50LnVwZGF0ZSh7IC4uLnN0YXRlIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgIC8vIGlmIHdlIHdlcmUgdHJ5aW5nIHRvIHVwZGF0ZSBidXQgdGhlIGNvbXBvbmVudCB3YXMgdW5tb3VudGVkXG4gICAgICAgICAgICAvLyB3aGlsZSB0aGlzIHdhcyBoYXBwZW5pbmcsIGlnbm9yZSB0aGUgZXJyb3JcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIShlcnIgaW5zdGFuY2VvZiBFcnJvcikgfHxcbiAgICAgICAgICAgICAgIWVyci5tZXNzYWdlLmluY2x1ZGVzKCdtaW5pZmllZCBtZXNzYWdlICMzMicpIHx8XG4gICAgICAgICAgICAgIHBhcmNlbC5jdXJyZW50Py5nZXRTdGF0dXMoKSA9PT0gJ01PVU5URUQnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtzdGF0ZV0pO1xuXG4gIC8vIFRoZSBleHRlbnNpb24gaXMgcmVuZGVyZWQgaW50byB0aGUgYDxkaXY+YC4gVGhlIGA8ZGl2PmAgaGFzIHJlbGF0aXZlXG4gIC8vIHBvc2l0aW9uaW5nIGluIG9yZGVyIHRvIGFsbG93IHRoZSBVSSBFZGl0b3IgdG8gYWJzb2x1dGVseSBwb3NpdGlvblxuICAvLyBlbGVtZW50cyB3aXRoaW4gaXQuXG4gIGNvbnN0IHNsb3QgPSAoXG4gICAgPGRpdiByZWY9e3JlZn0gZGF0YS1leHRlbnNpb24taWQ9e2V4dGVuc2lvbj8uZXh0ZW5zaW9uSWR9IHN0eWxlPXt7IHBvc2l0aW9uOiAncmVsYXRpdmUnIH19IHsuLi5kaXZQcm9wc30gLz5cbiAgKTtcblxuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nICYmICFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcbiAgICByZXR1cm4gPD57Y2hpbGRyZW4oc2xvdCwgZXh0ZW5zaW9uKX08Lz47XG4gIH1cblxuICByZXR1cm4gZXh0ZW5zaW9uICYmIHdyYXAgPyB3cmFwKHNsb3QsIGV4dGVuc2lvbikgOiBzbG90O1xufTtcbiJdLCJuYW1lcyI6WyJyZW5kZXJFeHRlbnNpb24iLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiQ29tcG9uZW50Q29udGV4dCIsIkV4dGVuc2lvbiIsInN0YXRlIiwiY2hpbGRyZW4iLCJ3cmFwIiwiZGl2UHJvcHMiLCJkb21FbGVtZW50Iiwic2V0RG9tRWxlbWVudCIsImV4dGVuc2lvbiIsInBhcmNlbCIsInVwZGF0ZVByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlbmRlcmluZyIsImNvbnNvbGUiLCJ3YXJuIiwiZXh0ZW5zaW9uSWQiLCJleHRlbnNpb25TbG90TmFtZSIsInJlZiIsIm5vZGUiLCJleHRlbnNpb25TbG90TW9kdWxlTmFtZSIsImN1cnJlbnQiLCJ1bmRlZmluZWQiLCJ0aGVuIiwibmV3UGFyY2VsIiwic3RhdHVzIiwiZ2V0U3RhdHVzIiwibW91bnRQcm9taXNlIiwidW5tb3VudCIsInVwZGF0ZSIsImFsbCIsImNhdGNoIiwiZXJyIiwiRXJyb3IiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJzbG90IiwiZGl2IiwiZGF0YS1leHRlbnNpb24taWQiLCJzdHlsZSIsInBvc2l0aW9uIiwiaXNWYWxpZEVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/Extension.tsx\n");
|
|
7000
7000
|
|
|
7001
7001
|
/***/ }),
|
|
7002
7002
|
|
|
@@ -7018,7 +7018,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7018
7018
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7019
7019
|
|
|
7020
7020
|
"use strict";
|
|
7021
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UserHasAccess: () => (/* binding */ UserHasAccess)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar UserHasAccess = function(param) {\n var privilege = param.privilege, fallback = param.fallback, children = param.children;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null), 2), user = _useState[0], setUser = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n var subscription = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getCurrentUser)({\n includeAuthStatus: false\n }).subscribe(setUser);\n return function() {\n return subscription.unsubscribe();\n };\n }, []);\n if (user && (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.userHasAccess)(privilege, user)) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, children);\n } else {\n return fallback ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, fallback) : null;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7021
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UserHasAccess: () => (/* binding */ UserHasAccess)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar UserHasAccess = function(param) {\n var privilege = param.privilege, fallback = param.fallback, children = param.children;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null), 2), user = _useState[0], setUser = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n var subscription = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getCurrentUser)({\n includeAuthStatus: false\n }).subscribe(setUser);\n return function() {\n return subscription.unsubscribe();\n };\n }, []);\n if (user && (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.userHasAccess)(privilege, user)) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, children);\n } else {\n return fallback ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, fallback) : null;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvVXNlckhhc0FjY2Vzcy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV1QztBQUNkO0FBUTVDLElBQU1LLGdCQUE4QyxnQkFBdUM7UUFBcENDLGtCQUFBQSxXQUFXQyxpQkFBQUEsVUFBVUMsaUJBQUFBO0lBQ2pGLElBQXdCSiw2QkFBQUEsK0NBQVFBLENBQXNCLElBQUksT0FBbkRLLE9BQWlCTCxjQUFYTSxVQUFXTjtJQUV4QkQsZ0RBQVNBLENBQUMsV0FBTTtRQUNkLElBQU1RLGVBQWVYLGdFQUFjQSxDQUFDO1lBQ2xDWSxtQkFBbUIsS0FBSztRQUMxQixHQUFHQyxTQUFTLENBQUNIO1FBQ2IsT0FBTzttQkFBTUMsYUFBYUcsV0FBVzs7SUFDdkMsR0FBRyxFQUFFO0lBRUwsSUFBSUwsUUFBUVIsK0RBQWFBLENBQUNLLFdBQVdHLE9BQU87UUFDMUMscUJBQU8sMEhBQUdEO0lBQ1osT0FBTztRQUNMLE9BQU9ELHlCQUFXLDBIQUFHQSxZQUFlLElBQUk7SUFDMUMsQ0FBQztBQUNILEVBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL1VzZXJIYXNBY2Nlc3MudHN4P2YzNTkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqL1xuaW1wb3J0IHR5cGUgeyBMb2dnZWRJblVzZXIgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbmltcG9ydCB7IGdldEN1cnJlbnRVc2VyLCB1c2VySGFzQWNjZXNzIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBVc2VySGFzQWNjZXNzUHJvcHMge1xuICBwcml2aWxlZ2U6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBmYWxsYmFjaz86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBVc2VySGFzQWNjZXNzOiBSZWFjdC5GQzxVc2VySGFzQWNjZXNzUHJvcHM+ID0gKHsgcHJpdmlsZWdlLCBmYWxsYmFjaywgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxMb2dnZWRJblVzZXIgfCBudWxsPihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGdldEN1cnJlbnRVc2VyKHtcbiAgICAgIGluY2x1ZGVBdXRoU3RhdHVzOiBmYWxzZSxcbiAgICB9KS5zdWJzY3JpYmUoc2V0VXNlcik7XG4gICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9LCBbXSk7XG5cbiAgaWYgKHVzZXIgJiYgdXNlckhhc0FjY2Vzcyhwcml2aWxlZ2UsIHVzZXIpKSB7XG4gICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsbGJhY2sgPyA8PntmYWxsYmFja308Lz4gOiBudWxsO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbImdldEN1cnJlbnRVc2VyIiwidXNlckhhc0FjY2VzcyIsIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJVc2VySGFzQWNjZXNzIiwicHJpdmlsZWdlIiwiZmFsbGJhY2siLCJjaGlsZHJlbiIsInVzZXIiLCJzZXRVc2VyIiwic3Vic2NyaXB0aW9uIiwiaW5jbHVkZUF1dGhTdGF0dXMiLCJzdWJzY3JpYmUiLCJ1bnN1YnNjcmliZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/UserHasAccess.tsx\n");
|
|
7022
7022
|
|
|
7023
7023
|
/***/ }),
|
|
7024
7024
|
|
|
@@ -7029,7 +7029,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7029
7029
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7030
7030
|
|
|
7031
7031
|
"use strict";
|
|
7032
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAsyncExtensionLifecycle: () => (/* binding */ getAsyncExtensionLifecycle),\n/* harmony export */ getAsyncLifecycle: () => (/* binding */ getAsyncLifecycle),\n/* harmony export */ getLifecycle: () => (/* binding */ getLifecycle),\n/* harmony export */ getSyncLifecycle: () => (/* binding */ getSyncLifecycle)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/* harmony import */ var single_spa_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! single-spa-react */ \"../../../node_modules/single-spa-react/lib/esm/single-spa-react.js\");\n/* harmony import */ var _openmrsComponentDecorator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./openmrsComponentDecorator */ \"../../framework/esm-react-utils/src/openmrsComponentDecorator.tsx\");\n/** @module @category Framework */ \n\n\n\nfunction getLifecycle(Component, options) {\n return (0,single_spa_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n React: (react__WEBPACK_IMPORTED_MODULE_0___default()),\n ReactDOMClient: react_dom_client__WEBPACK_IMPORTED_MODULE_1__,\n rootComponent: (0,_openmrsComponentDecorator__WEBPACK_IMPORTED_MODULE_3__.openmrsComponentDecorator)(options)(Component)\n });\n}\nfunction getAsyncLifecycle(lazy, options) {\n return function() {\n return lazy().then(function(param) {\n var Component = param.default;\n return getLifecycle(Component, options);\n });\n };\n}\nfunction getSyncLifecycle(Component, options) {\n return function() {\n return Promise.resolve(getLifecycle(Component, options));\n };\n}\n/**\n * @deprecated Use getAsyncLifecycle instead.\n */ var getAsyncExtensionLifecycle = getAsyncLifecycle;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7032
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAsyncExtensionLifecycle: () => (/* binding */ getAsyncExtensionLifecycle),\n/* harmony export */ getAsyncLifecycle: () => (/* binding */ getAsyncLifecycle),\n/* harmony export */ getLifecycle: () => (/* binding */ getLifecycle),\n/* harmony export */ getSyncLifecycle: () => (/* binding */ getSyncLifecycle)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/* harmony import */ var single_spa_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! single-spa-react */ \"../../../node_modules/single-spa-react/lib/esm/single-spa-react.js\");\n/* harmony import */ var _openmrsComponentDecorator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./openmrsComponentDecorator */ \"../../framework/esm-react-utils/src/openmrsComponentDecorator.tsx\");\n/** @module @category Framework */ \n\n\n\nfunction getLifecycle(Component, options) {\n return (0,single_spa_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n React: (react__WEBPACK_IMPORTED_MODULE_0___default()),\n ReactDOMClient: react_dom_client__WEBPACK_IMPORTED_MODULE_1__,\n rootComponent: (0,_openmrsComponentDecorator__WEBPACK_IMPORTED_MODULE_3__.openmrsComponentDecorator)(options)(Component)\n });\n}\nfunction getAsyncLifecycle(lazy, options) {\n return function() {\n return lazy().then(function(param) {\n var Component = param.default;\n return getLifecycle(Component, options);\n });\n };\n}\nfunction getSyncLifecycle(Component, options) {\n return function() {\n return Promise.resolve(getLifecycle(Component, options));\n };\n}\n/**\n * @deprecated Use getAsyncLifecycle instead.\n */ var getAsyncExtensionLifecycle = getAsyncLifecycle;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvZ2V0TGlmZWN5Y2xlLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUVOO0FBQ29CO0FBQ0E7QUFFMEI7QUFFakUsU0FBU0ksYUFBZ0JDLFNBQTJCLEVBQUVDLE9BQWtDLEVBQUU7SUFDL0YsT0FBT0osNERBQWNBLENBQUM7UUFDcEJGLE9BQUFBLDhDQUFLQTtRQUNMQyxnQkFBQUEsNkNBQWNBO1FBQ2RNLGVBQWVKLHFGQUF5QkEsQ0FBQ0csU0FBU0Q7SUFDcEQ7QUFDRixDQUFDO0FBRU0sU0FBU0csa0JBQ2RDLElBQWtELEVBQ2xESCxPQUFrQyxFQUNsQztJQUNBLE9BQU87ZUFBTUcsT0FBT0MsSUFBSSxDQUFDO2dCQUFHQyxrQkFBQUE7bUJBQXlCUCxhQUFhQyxXQUFXQzs7O0FBQy9FLENBQUM7QUFFTSxTQUFTTSxpQkFBb0JQLFNBQTJCLEVBQUVDLE9BQWtDLEVBQUU7SUFDbkcsT0FBTztlQUFNTyxRQUFRQyxPQUFPLENBQUNWLGFBQWFDLFdBQVdDOztBQUN2RCxDQUFDO0FBRUQ7O0NBRUMsR0FDTSxJQUFNUyw2QkFBNkJQLGtCQUFrQiIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvZ2V0TGlmZWN5Y2xlLnRzPzc2NWIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEZyYW1ld29yayAqL1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTUNsaWVudCBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCBzaW5nbGVTcGFSZWFjdCBmcm9tICdzaW5nbGUtc3BhLXJlYWN0JztcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGVjb3JhdG9yT3B0aW9ucyB9IGZyb20gJy4vb3Blbm1yc0NvbXBvbmVudERlY29yYXRvcic7XG5pbXBvcnQgeyBvcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yIH0gZnJvbSAnLi9vcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpZmVjeWNsZTxUPihDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM6IENvbXBvbmVudERlY29yYXRvck9wdGlvbnMpIHtcbiAgcmV0dXJuIHNpbmdsZVNwYVJlYWN0KHtcbiAgICBSZWFjdCxcbiAgICBSZWFjdERPTUNsaWVudCxcbiAgICByb290Q29tcG9uZW50OiBvcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yKG9wdGlvbnMpKENvbXBvbmVudCksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXN5bmNMaWZlY3ljbGU8VD4oXG4gIGxhenk6ICgpID0+IFByb21pc2U8eyBkZWZhdWx0OiBDb21wb25lbnRUeXBlPFQ+IH0+LFxuICBvcHRpb25zOiBDb21wb25lbnREZWNvcmF0b3JPcHRpb25zLFxuKSB7XG4gIHJldHVybiAoKSA9PiBsYXp5KCkudGhlbigoeyBkZWZhdWx0OiBDb21wb25lbnQgfSkgPT4gZ2V0TGlmZWN5Y2xlKENvbXBvbmVudCwgb3B0aW9ucykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3luY0xpZmVjeWNsZTxUPihDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM6IENvbXBvbmVudERlY29yYXRvck9wdGlvbnMpIHtcbiAgcmV0dXJuICgpID0+IFByb21pc2UucmVzb2x2ZShnZXRMaWZlY3ljbGUoQ29tcG9uZW50LCBvcHRpb25zKSk7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGdldEFzeW5jTGlmZWN5Y2xlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3luY0V4dGVuc2lvbkxpZmVjeWNsZSA9IGdldEFzeW5jTGlmZWN5Y2xlO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiUmVhY3RET01DbGllbnQiLCJzaW5nbGVTcGFSZWFjdCIsIm9wZW5tcnNDb21wb25lbnREZWNvcmF0b3IiLCJnZXRMaWZlY3ljbGUiLCJDb21wb25lbnQiLCJvcHRpb25zIiwicm9vdENvbXBvbmVudCIsImdldEFzeW5jTGlmZWN5Y2xlIiwibGF6eSIsInRoZW4iLCJkZWZhdWx0IiwiZ2V0U3luY0xpZmVjeWNsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0QXN5bmNFeHRlbnNpb25MaWZlY3ljbGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/getLifecycle.ts\n");
|
|
7033
7033
|
|
|
7034
7034
|
/***/ }),
|
|
7035
7035
|
|
|
@@ -7051,7 +7051,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7051
7051
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7052
7052
|
|
|
7053
7053
|
"use strict";
|
|
7054
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ openmrsComponentDecorator: () => (/* binding */ openmrsComponentDecorator)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ComponentContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ComponentContext */ \"../../framework/esm-react-utils/src/ComponentContext.ts\");\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\n\n\n\nvar defaultOpts = {\n strictMode: true,\n throwErrorsToConsole: true,\n disableTranslations: false\n};\nfunction openmrsComponentDecorator(userOpts) {\n if (typeof userOpts !== \"object\" || typeof userOpts.featureName !== \"string\" || typeof userOpts.moduleName !== \"string\") {\n throw new Error(\"Invalid options\");\n }\n var opts = Object.assign({}, defaultOpts, userOpts);\n return function decorateComponent(Comp) {\n var _React_Component, _OpenmrsReactComponent;\n return _OpenmrsReactComponent = /*#__PURE__*/ function(_superClass) {\n \"use strict\";\n _inherits(OpenmrsReactComponent, _superClass);\n var _super = _create_super(OpenmrsReactComponent);\n function OpenmrsReactComponent(props) {\n _class_call_check(this, OpenmrsReactComponent);\n var _this;\n _this = _super.call(this, props);\n _this.state = {\n caughtError: null,\n caughtErrorInfo: null,\n config: {\n moduleName: opts.moduleName,\n extension: props._extensionContext\n }\n };\n return _this;\n }\n _create_class(OpenmrsReactComponent, [\n {\n key: \"componentDidCatch\",\n value: function componentDidCatch(err, info) {\n if (info && info.componentStack) {\n err.extra = Object.assign(err.extra || {}, {\n componentStack: info.componentStack\n });\n }\n if (opts.throwErrorsToConsole) {\n setTimeout(function() {\n throw err;\n });\n }\n this.setState({\n caughtError: err,\n caughtErrorInfo: info\n });\n }\n },\n {\n key: \"render\",\n value: function render() {\n if (this.state.caughtError) {\n // TO-DO have a UX designed for when a catastrophic error occurs\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"An error has occurred. Please try reloading the page.\");\n } else {\n var content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {\n fallback: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ComponentContext__WEBPACK_IMPORTED_MODULE_2__.ComponentContext.Provider, {\n value: this.state.config\n }, opts.disableTranslations ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Comp, this.props) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_i18next__WEBPACK_IMPORTED_MODULE_1__.I18nextProvider, {\n i18n: window.i18next,\n defaultNS: opts.moduleName\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Comp, this.props))));\n if (opts.strictMode || !(react__WEBPACK_IMPORTED_MODULE_0___default().StrictMode)) {\n return content;\n } else {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().StrictMode), null, content);\n }\n }\n }\n }\n ]);\n return OpenmrsReactComponent;\n }(_React_Component = (react__WEBPACK_IMPORTED_MODULE_0___default().Component)), _define_property(_OpenmrsReactComponent, \"displayName\", \"OpenmrsReactComponent(\".concat(opts.featureName, \")\")), _OpenmrsReactComponent;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvb3Blbm1yc0NvbXBvbmVudERlY29yYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNEQ7QUFDWjtBQUVzQztBQUV0RixJQUFNSSxjQUFjO0lBQ2xCQyxZQUFZLElBQUk7SUFDaEJDLHNCQUFzQixJQUFJO0lBQzFCQyxxQkFBcUIsS0FBSztBQUM1QjtBQW1CTyxTQUFTQywwQkFBMEJDLFFBQW1DLEVBQUU7SUFDN0UsSUFDRSxPQUFPQSxhQUFhLFlBQ3BCLE9BQU9BLFNBQVNDLFdBQVcsS0FBSyxZQUNoQyxPQUFPRCxTQUFTRSxVQUFVLEtBQUssVUFDL0I7UUFDQSxNQUFNLElBQUlDLE1BQU0sbUJBQW1CO0lBQ3JDLENBQUM7SUFFRCxJQUFNQyxPQUFPQyxPQUFPQyxNQUFNLENBQUMsQ0FBQyxHQUFHWCxhQUFhSztJQUU1QyxPQUFPLFNBQVNPLGtCQUFrQkMsSUFBd0IsRUFBc0I7WUFDbkNqQjtRQUEzQyw4Q0FBTzs7OztxQkFBTWtCLHNCQUdDQyxLQUFpQzs7OzBDQUNyQ0E7Z0JBQ04sTUFBS0MsS0FBSyxHQUFHO29CQUNYQyxhQUFhLElBQUk7b0JBQ2pCQyxpQkFBaUIsSUFBSTtvQkFDckJDLFFBQVE7d0JBQ05aLFlBQVlFLEtBQUtGLFVBQVU7d0JBQzNCYSxXQUFXTCxNQUFNTSxpQkFBaUI7b0JBQ3BDO2dCQUNGOzs7OztvQkFHRkMsS0FBQUE7MkJBQUFBLFNBQUFBLGtCQUFrQkMsR0FBUSxFQUFFQyxJQUFTLEVBQUU7d0JBQ3JDLElBQUlBLFFBQVFBLEtBQUtDLGNBQWMsRUFBRTs0QkFDL0JGLElBQUlHLEtBQUssR0FBR2hCLE9BQU9DLE1BQU0sQ0FBQ1ksSUFBSUcsS0FBSyxJQUFJLENBQUMsR0FBRztnQ0FDekNELGdCQUFnQkQsS0FBS0MsY0FBYzs0QkFDckM7d0JBQ0YsQ0FBQzt3QkFFRCxJQUFJaEIsS0FBS1Asb0JBQW9CLEVBQUU7NEJBQzdCeUIsV0FBVyxXQUFNO2dDQUNmLE1BQU1KLElBQUk7NEJBQ1o7d0JBQ0YsQ0FBQzt3QkFFRCxJQUFJLENBQUNLLFFBQVEsQ0FBQzs0QkFDWlgsYUFBYU07NEJBQ2JMLGlCQUFpQk07d0JBQ25CO29CQUNGOzs7b0JBRUFLLEtBQUFBOzJCQUFBQSxTQUFBQSxTQUFTO3dCQUNQLElBQUksSUFBSSxDQUFDYixLQUFLLENBQUNDLFdBQVcsRUFBRTs0QkFDMUIsZ0VBQWdFOzRCQUNoRSxxQkFBTywyREFBQ2EsYUFBSTt3QkFDZCxPQUFPOzRCQUNMLElBQU1DLHdCQUNKLDJEQUFDbEMsMkNBQVFBO2dDQUFDbUMsVUFBVSxJQUFJOzZDQUN0QiwyREFBQ2pDLCtEQUFnQkEsQ0FBQ2tDLFFBQVE7Z0NBQUNDLE9BQU8sSUFBSSxDQUFDbEIsS0FBSyxDQUFDRyxNQUFNOytCQUNoRFYsS0FBS04sbUJBQW1CLGlCQUN2QiwyREFBQ1UsTUFBUyxJQUFJLENBQUNFLEtBQUssa0JBRXBCLDJEQUFDakIsMERBQWVBO2dDQUFDcUMsTUFBTUMsT0FBT0MsT0FBTztnQ0FBRUMsV0FBVzdCLEtBQUtGLFVBQVU7NkNBQy9ELDJEQUFDTSxNQUFTLElBQUksQ0FBQ0UsS0FBSyxFQUV2Qjs0QkFLUCxJQUFJTixLQUFLUixVQUFVLElBQUksQ0FBQ0wseURBQWdCLEVBQUU7Z0NBQ3hDLE9BQU9tQzs0QkFDVCxPQUFPO2dDQUNMLHFCQUFPLDJEQUFDbkMseURBQWdCLFFBQUVtQzs0QkFDNUIsQ0FBQzt3QkFDSCxDQUFDO29CQUNIOzs7O1VBM0R5Q25DLG1CQUFBQSx3REFBZSxHQUN4RCx5Q0FBTzZDLGVBQWMseUJBQTBDLE9BQWpCaEMsS0FBS0gsV0FBVyxFQUFDO0lBNERuRTtBQUNGLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL29wZW5tcnNDb21wb25lbnREZWNvcmF0b3IudHN4PzgxZDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHR5cGUgQ29tcG9uZW50VHlwZSwgU3VzcGVuc2UgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJMThuZXh0UHJvdmlkZXIgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB0eXBlIHt9IGZyb20gJ0BvcGVubXJzL2VzbS1nbG9iYWxzJztcbmltcG9ydCB7IENvbXBvbmVudENvbmZpZywgQ29tcG9uZW50Q29udGV4dCwgRXh0ZW5zaW9uRGF0YSB9IGZyb20gJy4vQ29tcG9uZW50Q29udGV4dCc7XG5cbmNvbnN0IGRlZmF1bHRPcHRzID0ge1xuICBzdHJpY3RNb2RlOiB0cnVlLFxuICB0aHJvd0Vycm9yc1RvQ29uc29sZTogdHJ1ZSxcbiAgZGlzYWJsZVRyYW5zbGF0aW9uczogZmFsc2UsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudERlY29yYXRvck9wdGlvbnMge1xuICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIGZlYXR1cmVOYW1lOiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2xhdGlvbnM/OiBib29sZWFuO1xuICBzdHJpY3RNb2RlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVubXJzUmVhY3RDb21wb25lbnRQcm9wcyB7XG4gIF9leHRlbnNpb25Db250ZXh0PzogRXh0ZW5zaW9uRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVubXJzUmVhY3RDb21wb25lbnRTdGF0ZSB7XG4gIGNhdWdodEVycm9yOiBhbnk7XG4gIGNhdWdodEVycm9ySW5mbzogYW55O1xuICBjb25maWc6IENvbXBvbmVudENvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNDb21wb25lbnREZWNvcmF0b3IodXNlck9wdHM6IENvbXBvbmVudERlY29yYXRvck9wdGlvbnMpIHtcbiAgaWYgKFxuICAgIHR5cGVvZiB1c2VyT3B0cyAhPT0gJ29iamVjdCcgfHxcbiAgICB0eXBlb2YgdXNlck9wdHMuZmVhdHVyZU5hbWUgIT09ICdzdHJpbmcnIHx8XG4gICAgdHlwZW9mIHVzZXJPcHRzLm1vZHVsZU5hbWUgIT09ICdzdHJpbmcnXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBvcHRpb25zJyk7XG4gIH1cblxuICBjb25zdCBvcHRzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdHMsIHVzZXJPcHRzKTtcblxuICByZXR1cm4gZnVuY3Rpb24gZGVjb3JhdGVDb21wb25lbnQoQ29tcDogQ29tcG9uZW50VHlwZTxhbnk+KTogQ29tcG9uZW50VHlwZTxhbnk+IHtcbiAgICByZXR1cm4gY2xhc3MgT3Blbm1yc1JlYWN0Q29tcG9uZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PE9wZW5tcnNSZWFjdENvbXBvbmVudFByb3BzLCBPcGVubXJzUmVhY3RDb21wb25lbnRTdGF0ZT4ge1xuICAgICAgc3RhdGljIGRpc3BsYXlOYW1lID0gYE9wZW5tcnNSZWFjdENvbXBvbmVudCgke29wdHMuZmVhdHVyZU5hbWV9KWA7XG5cbiAgICAgIGNvbnN0cnVjdG9yKHByb3BzOiBPcGVubXJzUmVhY3RDb21wb25lbnRQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgY2F1Z2h0RXJyb3I6IG51bGwsXG4gICAgICAgICAgY2F1Z2h0RXJyb3JJbmZvOiBudWxsLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgbW9kdWxlTmFtZTogb3B0cy5tb2R1bGVOYW1lLFxuICAgICAgICAgICAgZXh0ZW5zaW9uOiBwcm9wcy5fZXh0ZW5zaW9uQ29udGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnREaWRDYXRjaChlcnI6IGFueSwgaW5mbzogYW55KSB7XG4gICAgICAgIGlmIChpbmZvICYmIGluZm8uY29tcG9uZW50U3RhY2spIHtcbiAgICAgICAgICBlcnIuZXh0cmEgPSBPYmplY3QuYXNzaWduKGVyci5leHRyYSB8fCB7fSwge1xuICAgICAgICAgICAgY29tcG9uZW50U3RhY2s6IGluZm8uY29tcG9uZW50U3RhY2ssXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0cy50aHJvd0Vycm9yc1RvQ29uc29sZSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgY2F1Z2h0RXJyb3I6IGVycixcbiAgICAgICAgICBjYXVnaHRFcnJvckluZm86IGluZm8sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmNhdWdodEVycm9yKSB7XG4gICAgICAgICAgLy8gVE8tRE8gaGF2ZSBhIFVYIGRlc2lnbmVkIGZvciB3aGVuIGEgY2F0YXN0cm9waGljIGVycm9yIG9jY3Vyc1xuICAgICAgICAgIHJldHVybiA8ZGl2PkFuIGVycm9yIGhhcyBvY2N1cnJlZC4gUGxlYXNlIHRyeSByZWxvYWRpbmcgdGhlIHBhZ2UuPC9kaXY+O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9e251bGx9PlxuICAgICAgICAgICAgICA8Q29tcG9uZW50Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17dGhpcy5zdGF0ZS5jb25maWd9PlxuICAgICAgICAgICAgICAgIHtvcHRzLmRpc2FibGVUcmFuc2xhdGlvbnMgPyAoXG4gICAgICAgICAgICAgICAgICA8Q29tcCB7Li4udGhpcy5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPEkxOG5leHRQcm92aWRlciBpMThuPXt3aW5kb3cuaTE4bmV4dH0gZGVmYXVsdE5TPXtvcHRzLm1vZHVsZU5hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8Q29tcCB7Li4udGhpcy5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvQ29tcG9uZW50Q29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChvcHRzLnN0cmljdE1vZGUgfHwgIVJlYWN0LlN0cmljdE1vZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gPFJlYWN0LlN0cmljdE1vZGU+e2NvbnRlbnR9PC9SZWFjdC5TdHJpY3RNb2RlPjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU3VzcGVuc2UiLCJJMThuZXh0UHJvdmlkZXIiLCJDb21wb25lbnRDb250ZXh0IiwiZGVmYXVsdE9wdHMiLCJzdHJpY3RNb2RlIiwidGhyb3dFcnJvcnNUb0NvbnNvbGUiLCJkaXNhYmxlVHJhbnNsYXRpb25zIiwib3Blbm1yc0NvbXBvbmVudERlY29yYXRvciIsInVzZXJPcHRzIiwiZmVhdHVyZU5hbWUiLCJtb2R1bGVOYW1lIiwiRXJyb3IiLCJvcHRzIiwiT2JqZWN0IiwiYXNzaWduIiwiZGVjb3JhdGVDb21wb25lbnQiLCJDb21wIiwiT3Blbm1yc1JlYWN0Q29tcG9uZW50IiwicHJvcHMiLCJzdGF0ZSIsImNhdWdodEVycm9yIiwiY2F1Z2h0RXJyb3JJbmZvIiwiY29uZmlnIiwiZXh0ZW5zaW9uIiwiX2V4dGVuc2lvbkNvbnRleHQiLCJjb21wb25lbnREaWRDYXRjaCIsImVyciIsImluZm8iLCJjb21wb25lbnRTdGFjayIsImV4dHJhIiwic2V0VGltZW91dCIsInNldFN0YXRlIiwicmVuZGVyIiwiZGl2IiwiY29udGVudCIsImZhbGxiYWNrIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImkxOG4iLCJ3aW5kb3ciLCJpMThuZXh0IiwiZGVmYXVsdE5TIiwiU3RyaWN0TW9kZSIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/openmrsComponentDecorator.tsx\n");
|
|
7054
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ openmrsComponentDecorator: () => (/* binding */ openmrsComponentDecorator)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ComponentContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ComponentContext */ \"../../framework/esm-react-utils/src/ComponentContext.ts\");\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _is_native_reflect_construct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possible_constructor_return(this, result);\n };\n}\n\n\n\nvar defaultOpts = {\n strictMode: true,\n throwErrorsToConsole: true,\n disableTranslations: false\n};\nfunction openmrsComponentDecorator(userOpts) {\n if (typeof userOpts !== \"object\" || typeof userOpts.featureName !== \"string\" || typeof userOpts.moduleName !== \"string\") {\n throw new Error(\"Invalid options\");\n }\n var opts = Object.assign({}, defaultOpts, userOpts);\n return function decorateComponent(Comp) {\n var _React_Component, _OpenmrsReactComponent;\n return _OpenmrsReactComponent = /*#__PURE__*/ function(_superClass) {\n \"use strict\";\n _inherits(OpenmrsReactComponent, _superClass);\n var _super = _create_super(OpenmrsReactComponent);\n function OpenmrsReactComponent(props) {\n _class_call_check(this, OpenmrsReactComponent);\n var _this;\n _this = _super.call(this, props);\n _this.state = {\n caughtError: null,\n caughtErrorInfo: null,\n config: {\n moduleName: opts.moduleName,\n extension: props._extensionContext\n }\n };\n return _this;\n }\n _create_class(OpenmrsReactComponent, [\n {\n key: \"componentDidCatch\",\n value: function componentDidCatch(err, info) {\n if (info && info.componentStack) {\n err.extra = Object.assign(err.extra || {}, {\n componentStack: info.componentStack\n });\n }\n if (opts.throwErrorsToConsole) {\n setTimeout(function() {\n throw err;\n });\n }\n this.setState({\n caughtError: err,\n caughtErrorInfo: info\n });\n }\n },\n {\n key: \"render\",\n value: function render() {\n if (this.state.caughtError) {\n // TO-DO have a UX designed for when a catastrophic error occurs\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"An error has occurred. Please try reloading the page.\");\n } else {\n var content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {\n fallback: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ComponentContext__WEBPACK_IMPORTED_MODULE_2__.ComponentContext.Provider, {\n value: this.state.config\n }, opts.disableTranslations ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Comp, this.props) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_i18next__WEBPACK_IMPORTED_MODULE_1__.I18nextProvider, {\n i18n: window.i18next,\n defaultNS: opts.moduleName\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Comp, this.props))));\n if (opts.strictMode || !(react__WEBPACK_IMPORTED_MODULE_0___default().StrictMode)) {\n return content;\n } else {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().StrictMode), null, content);\n }\n }\n }\n }\n ]);\n return OpenmrsReactComponent;\n }(_React_Component = (react__WEBPACK_IMPORTED_MODULE_0___default().Component)), _define_property(_OpenmrsReactComponent, \"displayName\", \"OpenmrsReactComponent(\".concat(opts.featureName, \")\")), _OpenmrsReactComponent;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvb3Blbm1yc0NvbXBvbmVudERlY29yYXRvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBNEQ7QUFDWjtBQUdNO0FBRXRELElBQU1JLGNBQWM7SUFDbEJDLFlBQVksSUFBSTtJQUNoQkMsc0JBQXNCLElBQUk7SUFDMUJDLHFCQUFxQixLQUFLO0FBQzVCO0FBbUJPLFNBQVNDLDBCQUEwQkMsUUFBbUMsRUFBRTtJQUM3RSxJQUNFLE9BQU9BLGFBQWEsWUFDcEIsT0FBT0EsU0FBU0MsV0FBVyxLQUFLLFlBQ2hDLE9BQU9ELFNBQVNFLFVBQVUsS0FBSyxVQUMvQjtRQUNBLE1BQU0sSUFBSUMsTUFBTSxtQkFBbUI7SUFDckMsQ0FBQztJQUVELElBQU1DLE9BQU9DLE9BQU9DLE1BQU0sQ0FBQyxDQUFDLEdBQUdYLGFBQWFLO0lBRTVDLE9BQU8sU0FBU08sa0JBQWtCQyxJQUF3QixFQUFzQjtZQUNuQ2pCO1FBQTNDLDhDQUFPOzs7O3FCQUFNa0Isc0JBR0NDLEtBQWlDOzs7MENBQ3JDQTtnQkFDTixNQUFLQyxLQUFLLEdBQUc7b0JBQ1hDLGFBQWEsSUFBSTtvQkFDakJDLGlCQUFpQixJQUFJO29CQUNyQkMsUUFBUTt3QkFDTlosWUFBWUUsS0FBS0YsVUFBVTt3QkFDM0JhLFdBQVdMLE1BQU1NLGlCQUFpQjtvQkFDcEM7Z0JBQ0Y7Ozs7O29CQUdGQyxLQUFBQTsyQkFBQUEsU0FBQUEsa0JBQWtCQyxHQUFRLEVBQUVDLElBQVMsRUFBRTt3QkFDckMsSUFBSUEsUUFBUUEsS0FBS0MsY0FBYyxFQUFFOzRCQUMvQkYsSUFBSUcsS0FBSyxHQUFHaEIsT0FBT0MsTUFBTSxDQUFDWSxJQUFJRyxLQUFLLElBQUksQ0FBQyxHQUFHO2dDQUN6Q0QsZ0JBQWdCRCxLQUFLQyxjQUFjOzRCQUNyQzt3QkFDRixDQUFDO3dCQUVELElBQUloQixLQUFLUCxvQkFBb0IsRUFBRTs0QkFDN0J5QixXQUFXLFdBQU07Z0NBQ2YsTUFBTUosSUFBSTs0QkFDWjt3QkFDRixDQUFDO3dCQUVELElBQUksQ0FBQ0ssUUFBUSxDQUFDOzRCQUNaWCxhQUFhTTs0QkFDYkwsaUJBQWlCTTt3QkFDbkI7b0JBQ0Y7OztvQkFFQUssS0FBQUE7MkJBQUFBLFNBQUFBLFNBQVM7d0JBQ1AsSUFBSSxJQUFJLENBQUNiLEtBQUssQ0FBQ0MsV0FBVyxFQUFFOzRCQUMxQixnRUFBZ0U7NEJBQ2hFLHFCQUFPLDJEQUFDYSxhQUFJO3dCQUNkLE9BQU87NEJBQ0wsSUFBTUMsd0JBQ0osMkRBQUNsQywyQ0FBUUE7Z0NBQUNtQyxVQUFVLElBQUk7NkNBQ3RCLDJEQUFDakMsK0RBQWdCQSxDQUFDa0MsUUFBUTtnQ0FBQ0MsT0FBTyxJQUFJLENBQUNsQixLQUFLLENBQUNHLE1BQU07K0JBQ2hEVixLQUFLTixtQkFBbUIsaUJBQ3ZCLDJEQUFDVSxNQUFTLElBQUksQ0FBQ0UsS0FBSyxrQkFFcEIsMkRBQUNqQiwwREFBZUE7Z0NBQUNxQyxNQUFNQyxPQUFPQyxPQUFPO2dDQUFFQyxXQUFXN0IsS0FBS0YsVUFBVTs2Q0FDL0QsMkRBQUNNLE1BQVMsSUFBSSxDQUFDRSxLQUFLLEVBRXZCOzRCQUtQLElBQUlOLEtBQUtSLFVBQVUsSUFBSSxDQUFDTCx5REFBZ0IsRUFBRTtnQ0FDeEMsT0FBT21DOzRCQUNULE9BQU87Z0NBQ0wscUJBQU8sMkRBQUNuQyx5REFBZ0IsUUFBRW1DOzRCQUM1QixDQUFDO3dCQUNILENBQUM7b0JBQ0g7Ozs7VUEzRHlDbkMsbUJBQUFBLHdEQUFlLEdBQ3hELHlDQUFPNkMsZUFBYyx5QkFBMEMsT0FBakJoQyxLQUFLSCxXQUFXLEVBQUM7SUE0RG5FO0FBQ0YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvb3Blbm1yc0NvbXBvbmVudERlY29yYXRvci50c3g/ODFkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBDb21wb25lbnRUeXBlLCBTdXNwZW5zZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEkxOG5leHRQcm92aWRlciB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHR5cGUge30gZnJvbSAnQG9wZW5tcnMvZXNtLWdsb2JhbHMnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRDb25maWcsIEV4dGVuc2lvbkRhdGEgfSBmcm9tICcuL0NvbXBvbmVudENvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJy4vQ29tcG9uZW50Q29udGV4dCc7XG5cbmNvbnN0IGRlZmF1bHRPcHRzID0ge1xuICBzdHJpY3RNb2RlOiB0cnVlLFxuICB0aHJvd0Vycm9yc1RvQ29uc29sZTogdHJ1ZSxcbiAgZGlzYWJsZVRyYW5zbGF0aW9uczogZmFsc2UsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudERlY29yYXRvck9wdGlvbnMge1xuICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIGZlYXR1cmVOYW1lOiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2xhdGlvbnM/OiBib29sZWFuO1xuICBzdHJpY3RNb2RlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVubXJzUmVhY3RDb21wb25lbnRQcm9wcyB7XG4gIF9leHRlbnNpb25Db250ZXh0PzogRXh0ZW5zaW9uRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVubXJzUmVhY3RDb21wb25lbnRTdGF0ZSB7XG4gIGNhdWdodEVycm9yOiBhbnk7XG4gIGNhdWdodEVycm9ySW5mbzogYW55O1xuICBjb25maWc6IENvbXBvbmVudENvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNDb21wb25lbnREZWNvcmF0b3IodXNlck9wdHM6IENvbXBvbmVudERlY29yYXRvck9wdGlvbnMpIHtcbiAgaWYgKFxuICAgIHR5cGVvZiB1c2VyT3B0cyAhPT0gJ29iamVjdCcgfHxcbiAgICB0eXBlb2YgdXNlck9wdHMuZmVhdHVyZU5hbWUgIT09ICdzdHJpbmcnIHx8XG4gICAgdHlwZW9mIHVzZXJPcHRzLm1vZHVsZU5hbWUgIT09ICdzdHJpbmcnXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBvcHRpb25zJyk7XG4gIH1cblxuICBjb25zdCBvcHRzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdHMsIHVzZXJPcHRzKTtcblxuICByZXR1cm4gZnVuY3Rpb24gZGVjb3JhdGVDb21wb25lbnQoQ29tcDogQ29tcG9uZW50VHlwZTxhbnk+KTogQ29tcG9uZW50VHlwZTxhbnk+IHtcbiAgICByZXR1cm4gY2xhc3MgT3Blbm1yc1JlYWN0Q29tcG9uZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PE9wZW5tcnNSZWFjdENvbXBvbmVudFByb3BzLCBPcGVubXJzUmVhY3RDb21wb25lbnRTdGF0ZT4ge1xuICAgICAgc3RhdGljIGRpc3BsYXlOYW1lID0gYE9wZW5tcnNSZWFjdENvbXBvbmVudCgke29wdHMuZmVhdHVyZU5hbWV9KWA7XG5cbiAgICAgIGNvbnN0cnVjdG9yKHByb3BzOiBPcGVubXJzUmVhY3RDb21wb25lbnRQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgY2F1Z2h0RXJyb3I6IG51bGwsXG4gICAgICAgICAgY2F1Z2h0RXJyb3JJbmZvOiBudWxsLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgbW9kdWxlTmFtZTogb3B0cy5tb2R1bGVOYW1lLFxuICAgICAgICAgICAgZXh0ZW5zaW9uOiBwcm9wcy5fZXh0ZW5zaW9uQ29udGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnREaWRDYXRjaChlcnI6IGFueSwgaW5mbzogYW55KSB7XG4gICAgICAgIGlmIChpbmZvICYmIGluZm8uY29tcG9uZW50U3RhY2spIHtcbiAgICAgICAgICBlcnIuZXh0cmEgPSBPYmplY3QuYXNzaWduKGVyci5leHRyYSB8fCB7fSwge1xuICAgICAgICAgICAgY29tcG9uZW50U3RhY2s6IGluZm8uY29tcG9uZW50U3RhY2ssXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0cy50aHJvd0Vycm9yc1RvQ29uc29sZSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgY2F1Z2h0RXJyb3I6IGVycixcbiAgICAgICAgICBjYXVnaHRFcnJvckluZm86IGluZm8sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmNhdWdodEVycm9yKSB7XG4gICAgICAgICAgLy8gVE8tRE8gaGF2ZSBhIFVYIGRlc2lnbmVkIGZvciB3aGVuIGEgY2F0YXN0cm9waGljIGVycm9yIG9jY3Vyc1xuICAgICAgICAgIHJldHVybiA8ZGl2PkFuIGVycm9yIGhhcyBvY2N1cnJlZC4gUGxlYXNlIHRyeSByZWxvYWRpbmcgdGhlIHBhZ2UuPC9kaXY+O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9e251bGx9PlxuICAgICAgICAgICAgICA8Q29tcG9uZW50Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17dGhpcy5zdGF0ZS5jb25maWd9PlxuICAgICAgICAgICAgICAgIHtvcHRzLmRpc2FibGVUcmFuc2xhdGlvbnMgPyAoXG4gICAgICAgICAgICAgICAgICA8Q29tcCB7Li4udGhpcy5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPEkxOG5leHRQcm92aWRlciBpMThuPXt3aW5kb3cuaTE4bmV4dH0gZGVmYXVsdE5TPXtvcHRzLm1vZHVsZU5hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8Q29tcCB7Li4udGhpcy5wcm9wc30gLz5cbiAgICAgICAgICAgICAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvQ29tcG9uZW50Q29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChvcHRzLnN0cmljdE1vZGUgfHwgIVJlYWN0LlN0cmljdE1vZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gPFJlYWN0LlN0cmljdE1vZGU+e2NvbnRlbnR9PC9SZWFjdC5TdHJpY3RNb2RlPjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU3VzcGVuc2UiLCJJMThuZXh0UHJvdmlkZXIiLCJDb21wb25lbnRDb250ZXh0IiwiZGVmYXVsdE9wdHMiLCJzdHJpY3RNb2RlIiwidGhyb3dFcnJvcnNUb0NvbnNvbGUiLCJkaXNhYmxlVHJhbnNsYXRpb25zIiwib3Blbm1yc0NvbXBvbmVudERlY29yYXRvciIsInVzZXJPcHRzIiwiZmVhdHVyZU5hbWUiLCJtb2R1bGVOYW1lIiwiRXJyb3IiLCJvcHRzIiwiT2JqZWN0IiwiYXNzaWduIiwiZGVjb3JhdGVDb21wb25lbnQiLCJDb21wIiwiT3Blbm1yc1JlYWN0Q29tcG9uZW50IiwicHJvcHMiLCJzdGF0ZSIsImNhdWdodEVycm9yIiwiY2F1Z2h0RXJyb3JJbmZvIiwiY29uZmlnIiwiZXh0ZW5zaW9uIiwiX2V4dGVuc2lvbkNvbnRleHQiLCJjb21wb25lbnREaWRDYXRjaCIsImVyciIsImluZm8iLCJjb21wb25lbnRTdGFjayIsImV4dHJhIiwic2V0VGltZW91dCIsInNldFN0YXRlIiwicmVuZGVyIiwiZGl2IiwiY29udGVudCIsImZhbGxiYWNrIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImkxOG4iLCJ3aW5kb3ciLCJpMThuZXh0IiwiZGVmYXVsdE5TIiwiU3RyaWN0TW9kZSIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/openmrsComponentDecorator.tsx\n");
|
|
7055
7055
|
|
|
7056
7056
|
/***/ }),
|
|
7057
7057
|
|
|
@@ -7095,7 +7095,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7095
7095
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7096
7096
|
|
|
7097
7097
|
"use strict";
|
|
7098
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAssignedExtensions: () => (/* binding */ useAssignedExtensions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/** @module @category Extension */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n/**\n * Gets the assigned extensions for a given extension slot name.\n * Does not consider if offline or online.\n * @param slotName The name of the slot to get the assigned extensions for.\n */ function useAssignedExtensions(slotName) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), extensions = _useState[0], setExtensions = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var update = function update(state) {\n var _state_slots_slotName;\n var _state_slots_slotName_assignedExtensions;\n var newExtensions = (_state_slots_slotName_assignedExtensions = (_state_slots_slotName = state.slots[slotName]) === null || _state_slots_slotName === void 0 ? void 0 : _state_slots_slotName.assignedExtensions) !== null && _state_slots_slotName_assignedExtensions !== void 0 ? _state_slots_slotName_assignedExtensions : [];\n if (!(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(newExtensions, extensions)) {\n setExtensions(newExtensions);\n }\n };\n update((0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__.getExtensionStore)().getState());\n return (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__.getExtensionStore)().subscribe(update);\n }, [\n slotName,\n extensions\n ]);\n return extensions;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7098
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAssignedExtensions: () => (/* binding */ useAssignedExtensions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/** @module @category Extension */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n/**\n * Gets the assigned extensions for a given extension slot name.\n * Does not consider if offline or online.\n * @param slotName The name of the slot to get the assigned extensions for.\n */ function useAssignedExtensions(slotName) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), extensions = _useState[0], setExtensions = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var update = function update(state) {\n var _state_slots_slotName;\n var _state_slots_slotName_assignedExtensions;\n var newExtensions = (_state_slots_slotName_assignedExtensions = (_state_slots_slotName = state.slots[slotName]) === null || _state_slots_slotName === void 0 ? void 0 : _state_slots_slotName.assignedExtensions) !== null && _state_slots_slotName_assignedExtensions !== void 0 ? _state_slots_slotName_assignedExtensions : [];\n if (!(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(newExtensions, extensions)) {\n setExtensions(newExtensions);\n }\n };\n update((0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__.getExtensionStore)().getState());\n return (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__.getExtensionStore)().subscribe(update);\n }, [\n slotName,\n extensions\n ]);\n return extensions;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlQXNzaWduZWRFeHRlbnNpb25zLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsZ0NBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ1k7QUFFZ0I7QUFDcEI7QUFFeEM7Ozs7Q0FJQyxHQUNNLFNBQVNJLHNCQUFzQkMsUUFBZ0IsRUFBRTtJQUN0RCxJQUFvQ0osNkJBQUFBLCtDQUFRQSxDQUEyQixFQUFFLE9BQWxFSyxhQUE2QkwsY0FBakJNLGdCQUFpQk47SUFFcENELGdEQUFTQSxDQUFDLFdBQU07WUFDTFEsU0FBVCxTQUFTQSxPQUFPQyxLQUFxQixFQUFFO2dCQUNmQTtnQkFBQUE7WUFBdEIsSUFBTUMsZ0JBQWdCRCxDQUFBQSwyQ0FBQUEsQ0FBQUEsd0JBQUFBLE1BQU1FLEtBQUssQ0FBQ04sU0FBUyxjQUFyQkksbUNBQUFBLEtBQUFBLElBQUFBLHNCQUF1Qkcsa0JBQWtCLGNBQXpDSCxzREFBQUEsMkNBQTZDLEVBQUU7WUFDckUsSUFBSSxDQUFDTiw2REFBT0EsQ0FBQ08sZUFBZUosYUFBYTtnQkFDdkNDLGNBQWNHO1lBQ2hCLENBQUM7UUFDSDtRQUNBRixPQUFPTiwwRUFBaUJBLEdBQUdXLFFBQVE7UUFDbkMsT0FBT1gsMEVBQWlCQSxHQUFHWSxTQUFTLENBQUNOO0lBQ3ZDLEdBQUc7UUFBQ0g7UUFBVUM7S0FBVztJQUV6QixPQUFPQTtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZUFzc2lnbmVkRXh0ZW5zaW9ucy50cz84ZDMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBFeHRlbnNpb24gKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IEFzc2lnbmVkRXh0ZW5zaW9uLCBFeHRlbnNpb25TdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1leHRlbnNpb25zJztcbmltcG9ydCB7IGdldEV4dGVuc2lvblN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWV4dGVuc2lvbnMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLWVzL2lzRXF1YWwnO1xuXG4vKipcbiAqIEdldHMgdGhlIGFzc2lnbmVkIGV4dGVuc2lvbnMgZm9yIGEgZ2l2ZW4gZXh0ZW5zaW9uIHNsb3QgbmFtZS5cbiAqIERvZXMgbm90IGNvbnNpZGVyIGlmIG9mZmxpbmUgb3Igb25saW5lLlxuICogQHBhcmFtIHNsb3ROYW1lIFRoZSBuYW1lIG9mIHRoZSBzbG90IHRvIGdldCB0aGUgYXNzaWduZWQgZXh0ZW5zaW9ucyBmb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBc3NpZ25lZEV4dGVuc2lvbnMoc2xvdE5hbWU6IHN0cmluZykge1xuICBjb25zdCBbZXh0ZW5zaW9ucywgc2V0RXh0ZW5zaW9uc10gPSB1c2VTdGF0ZTxBcnJheTxBc3NpZ25lZEV4dGVuc2lvbj4+KFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIHVwZGF0ZShzdGF0ZTogRXh0ZW5zaW9uU3RvcmUpIHtcbiAgICAgIGNvbnN0IG5ld0V4dGVuc2lvbnMgPSBzdGF0ZS5zbG90c1tzbG90TmFtZV0/LmFzc2lnbmVkRXh0ZW5zaW9ucyA/PyBbXTtcbiAgICAgIGlmICghaXNFcXVhbChuZXdFeHRlbnNpb25zLCBleHRlbnNpb25zKSkge1xuICAgICAgICBzZXRFeHRlbnNpb25zKG5ld0V4dGVuc2lvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICB1cGRhdGUoZ2V0RXh0ZW5zaW9uU3RvcmUoKS5nZXRTdGF0ZSgpKTtcbiAgICByZXR1cm4gZ2V0RXh0ZW5zaW9uU3RvcmUoKS5zdWJzY3JpYmUodXBkYXRlKTtcbiAgfSwgW3Nsb3ROYW1lLCBleHRlbnNpb25zXSk7XG5cbiAgcmV0dXJuIGV4dGVuc2lvbnM7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJnZXRFeHRlbnNpb25TdG9yZSIsImlzRXF1YWwiLCJ1c2VBc3NpZ25lZEV4dGVuc2lvbnMiLCJzbG90TmFtZSIsImV4dGVuc2lvbnMiLCJzZXRFeHRlbnNpb25zIiwidXBkYXRlIiwic3RhdGUiLCJuZXdFeHRlbnNpb25zIiwic2xvdHMiLCJhc3NpZ25lZEV4dGVuc2lvbnMiLCJnZXRTdGF0ZSIsInN1YnNjcmliZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useAssignedExtensions.ts\n");
|
|
7099
7099
|
|
|
7100
7100
|
/***/ }),
|
|
7101
7101
|
|
|
@@ -7117,7 +7117,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7117
7117
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7118
7118
|
|
|
7119
7119
|
"use strict";
|
|
7120
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useConfig: () => (/* binding */ useConfig)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var _ComponentContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ComponentContext */ \"../../framework/esm-react-utils/src/ComponentContext.ts\");\n/** @module @category Config */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\nvar promises = {};\nvar errorMessage = 'No ComponentContext has been provided. This should come from \"openmrsComponentDecorator\".\\nUsually this is already applied when using \"getAsyncLifecycle\" or \"getSyncLifecycle\".';\nfunction readInitialConfig(store) {\n return function() {\n var state = store.getState();\n if (state.loaded && state.config) {\n return state.config;\n }\n return null;\n };\n}\nfunction readInitialExtensionConfig(store, extension) {\n if (extension) {\n return function() {\n var state = store.getState();\n var extConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(state, extension.extensionSlotName, extension.extensionId);\n if (extConfig.loaded && extConfig.config) {\n return extConfig.config;\n }\n };\n }\n return null;\n}\nfunction createConfigPromise(store) {\n return new Promise(function(resolve) {\n var unsubscribe = store.subscribe(function(state) {\n if (state.loaded && state.config) {\n resolve(state.config);\n unsubscribe();\n }\n });\n });\n}\nfunction createExtensionConfigPromise(store, extension) {\n return new Promise(function(resolve) {\n var unsubscribe = store.subscribe(function(state) {\n var extConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(state, extension.extensionSlotName, extension.extensionId);\n if (extConfig.loaded && extConfig.config) {\n resolve(extConfig.config);\n unsubscribe();\n }\n });\n });\n}\nfunction useConfigStore(store) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(readInitialConfig(store)), 2), state = _useState[0], setState = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n return store === null || store === void 0 ? void 0 : store.subscribe(function(state) {\n if (state.loaded && state.config) {\n setState(state.config);\n }\n });\n }, [\n store\n ]);\n return state;\n}\nfunction useExtensionConfigStore(store, extension) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(readInitialExtensionConfig(store, extension)), 2), config = _useState[0], setConfig = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n if (extension) {\n return store.subscribe(function(state) {\n var extConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(state, extension.extensionSlotName, extension.extensionId);\n if (extConfig.loaded && extConfig.config && !(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(extConfig.config, config)) {\n setConfig(extConfig.config);\n }\n });\n }\n }, [\n store,\n extension,\n config\n ]);\n return config;\n}\nfunction useExtensionConfig(extension) {\n var store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionsConfigStore, []);\n var state = useExtensionConfigStore(store, extension);\n if (!state && extension) {\n var cacheId = \"\".concat(extension.extensionSlotName, \"-\").concat(extension.extensionId);\n if (!promises[cacheId] && store) {\n promises[cacheId] = createExtensionConfigPromise(store, extension);\n }\n // React will prevent the client component from rendering until the promise resolves\n throw promises[cacheId];\n }\n return state || {};\n}\nfunction useNormalConfig(moduleName) {\n var store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getConfigStore)(moduleName);\n }, [\n moduleName\n ]);\n var cacheId = moduleName;\n var state = useConfigStore(store);\n if (!state) {\n if (!promises[cacheId]) {\n promises[cacheId] = createConfigPromise(store);\n }\n // React will prevent the client component from rendering until the promise resolves\n throw promises[cacheId];\n }\n return state;\n}\n/**\n * Use this React Hook to obtain your module's configuration.\n *\n * @param options Additional options that can be passed to useConfig()\n */ function useConfig(options) {\n // This hook uses the config of the MF defining the component.\n // If the component is used in an extension slot then the slot\n // may override (part of) its configuration.\n var _useContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_ComponentContext__WEBPACK_IMPORTED_MODULE_2__.ComponentContext), contextModuleName = _useContext.moduleName, extension = _useContext.extension;\n var _options_externalModuleName;\n var moduleName = (_options_externalModuleName = options === null || options === void 0 ? void 0 : options.externalModuleName) !== null && _options_externalModuleName !== void 0 ? _options_externalModuleName : contextModuleName;\n if (!moduleName && !extension) {\n throw Error(errorMessage);\n }\n var normalConfig = useNormalConfig(moduleName);\n var extensionConfig = useExtensionConfig(extension);\n var config = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (options === null || options === void 0 ? void 0 : options.externalModuleName) && moduleName === options.externalModuleName ? _object_spread({}, normalConfig) : _object_spread({}, normalConfig, extensionConfig);\n }, [\n moduleName,\n options === null || options === void 0 ? void 0 : options.externalModuleName,\n normalConfig,\n extensionConfig\n ]);\n return config;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlQ29uZmlnLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDZCQUE2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDb0M7QUFRcEM7QUFFVztBQUM2QjtBQUVyRSxJQUFNUyxXQUFrRCxDQUFDO0FBQ3pELElBQU1DLGVBQWdCO0FBR3RCLFNBQVNDLGtCQUFrQkMsS0FBNEIsRUFBRTtJQUN2RCxPQUFPLFdBQU07UUFDWCxJQUFNQyxRQUFRRCxNQUFNRSxRQUFRO1FBRTVCLElBQUlELE1BQU1FLE1BQU0sSUFBSUYsTUFBTUcsTUFBTSxFQUFFO1lBQ2hDLE9BQU9ILE1BQU1HLE1BQU07UUFDckIsQ0FBQztRQUVELE9BQU8sSUFBSTtJQUNiO0FBQ0Y7QUFFQSxTQUFTQywyQkFBMkJMLEtBQXNDLEVBQUVNLFNBQW9DLEVBQUU7SUFDaEgsSUFBSUEsV0FBVztRQUNiLE9BQU8sV0FBTTtZQUNYLElBQU1MLFFBQVFELE1BQU1FLFFBQVE7WUFDNUIsSUFBTUssWUFBWWIsZ0ZBQTJCQSxDQUFDTyxPQUFPSyxVQUFVRSxpQkFBaUIsRUFBRUYsVUFBVUcsV0FBVztZQUN2RyxJQUFJRixVQUFVSixNQUFNLElBQUlJLFVBQVVILE1BQU0sRUFBRTtnQkFDeEMsT0FBT0csVUFBVUgsTUFBTTtZQUN6QixDQUFDO1FBQ0g7SUFDRixDQUFDO0lBQ0QsT0FBTyxJQUFJO0FBQ2I7QUFFQSxTQUFTTSxvQkFBb0JWLEtBQTRCLEVBQUU7SUFDekQsT0FBTyxJQUFJVyxRQUFzQixTQUFDQyxTQUFZO1FBQzVDLElBQU1DLGNBQWNiLE1BQU1jLFNBQVMsQ0FBQyxTQUFDYixPQUFVO1lBQzdDLElBQUlBLE1BQU1FLE1BQU0sSUFBSUYsTUFBTUcsTUFBTSxFQUFFO2dCQUNoQ1EsUUFBUVgsTUFBTUcsTUFBTTtnQkFDcEJTO1lBQ0YsQ0FB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QUNUO0FBUUE7Ozs7Q0FJQyxHQUNNLFNBQVN1QixVQUFtQ0MsT0FBMEIsRUFBRTtJQUM3RSw4REFBOEQ7SUFDOUQsOERBQThEO0lBQzlELDRDQUE0QztJQUM1QyxJQUFxRHJDLGNBQUFBLGlEQUFVQSxDQUFDUSwrREFBZ0JBLEdBQXhFMkIsb0JBQTZDbkMsWUFBN0NtQyxZQUErQmpCLFlBQWNsQixZQUFka0I7UUFDcEJtQjtJQUFuQixJQUFNRixhQUFhRSxDQUFBQSw4QkFBQUEsb0JBQUFBLHFCQUFBQSxLQUFBQSxJQUFBQSxRQUFTRSxrQkFBa0IsY0FBM0JGLHlDQUFBQSw4QkFBK0JDLGlCQUFpQjtJQUVuRSxJQUFJLENBQUNILGNBQWMsQ0FBQ2pCLFdBQVc7UUFDN0IsTUFBTXNCLE1BQU05QixjQUFjO0lBQzVCLENBQUM7SUFFRCxJQUFNK0IsZUFBZVAsZ0JBQWdCQztJQUNyQyxJQUFNTyxrQkFBa0JWLG1CQUFtQmQ7SUFDM0MsSUFBTUYsU0FBU2QsOENBQU9BLENBQ3BCO1FBQ0VtQyxPQUFBQSxDQUFBQSxvQkFBQUEscUJBQUFBLEtBQUFBLElBQUFBLFFBQVNFLGtCQUFrQixLQUFJSixlQUFlRSxRQUFRRSxrQkFBa0IsR0FDcEUsbUJBQUtFLGdCQUNMLG1CQUFLQSxjQUFpQkMsZ0JBQWlCO09BQzdDO1FBQUNQO1FBQVlFLG9CQUFBQSxxQkFBQUEsS0FBQUEsSUFBQUEsUUFBU0Usa0JBQWtCO1FBQUVFO1FBQWNDO0tBQWdCO0lBRzFFLE9BQU8xQjtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZUNvbmZpZy50cz8xZDFmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBDb25maWcgKi9cbmltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBnZXRDb25maWdTdG9yZSxcbiAgZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLFxuICBDb25maWdTdG9yZSxcbiAgQ29uZmlnT2JqZWN0LFxuICBFeHRlbnNpb25zQ29uZmlnU3RvcmUsXG4gIGdldEV4dGVuc2lvbkNvbmZpZ0Zyb21TdG9yZSxcbn0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQgdHlwZSB7IFN0b3JlQXBpIH0gZnJvbSAnenVzdGFuZCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0LCBFeHRlbnNpb25EYXRhIH0gZnJvbSAnLi9Db21wb25lbnRDb250ZXh0JztcblxuY29uc3QgcHJvbWlzZXM6IFJlY29yZDxzdHJpbmcsIFByb21pc2U8Q29uZmlnT2JqZWN0Pj4gPSB7fTtcbmNvbnN0IGVycm9yTWVzc2FnZSA9IGBObyBDb21wb25lbnRDb250ZXh0IGhhcyBiZWVuIHByb3ZpZGVkLiBUaGlzIHNob3VsZCBjb21lIGZyb20gXCJvcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yXCIuXG5Vc3VhbGx5IHRoaXMgaXMgYWxyZWFkeSBhcHBsaWVkIHdoZW4gdXNpbmcgXCJnZXRBc3luY0xpZmVjeWNsZVwiIG9yIFwiZ2V0U3luY0xpZmVjeWNsZVwiLmA7XG5cbmZ1bmN0aW9uIHJlYWRJbml0aWFsQ29uZmlnKHN0b3JlOiBTdG9yZUFwaTxDb25maWdTdG9yZT4pIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHN0b3JlLmdldFN0YXRlKCk7XG5cbiAgICBpZiAoc3RhdGUubG9hZGVkICYmIHN0YXRlLmNvbmZpZykge1xuICAgICAgcmV0dXJuIHN0YXRlLmNvbmZpZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVhZEluaXRpYWxFeHRlbnNpb25Db25maWcoc3RvcmU6IFN0b3JlQXBpPEV4dGVuc2lvbnNDb25maWdTdG9yZT4sIGV4dGVuc2lvbjogRXh0ZW5zaW9uRGF0YSB8IHVuZGVmaW5lZCkge1xuICBpZiAoZXh0ZW5zaW9uKSB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gc3RvcmUuZ2V0U3RhdGUoKTtcbiAgICAgIGNvbnN0IGV4dENvbmZpZyA9IGdldEV4dGVuc2lvbkNvbmZpZ0Zyb21TdG9yZShzdGF0ZSwgZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lLCBleHRlbnNpb24uZXh0ZW5zaW9uSWQpO1xuICAgICAgaWYgKGV4dENvbmZpZy5sb2FkZWQgJiYgZXh0Q29uZmlnLmNvbmZpZykge1xuICAgICAgICByZXR1cm4gZXh0Q29uZmlnLmNvbmZpZztcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb25maWdQcm9taXNlKHN0b3JlOiBTdG9yZUFwaTxDb25maWdTdG9yZT4pIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPENvbmZpZ09iamVjdD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHN0b3JlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZS5sb2FkZWQgJiYgc3RhdGUuY29uZmlnKSB7XG4gICAgICAgIHJlc29sdmUoc3RhdGUuY29uZmlnKTtcbiAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUV4dGVuc2lvbkNvbmZpZ1Byb21pc2Uoc3RvcmU6IFN0b3JlQXBpPEV4dGVuc2lvbnNDb25maWdTdG9yZT4sIGV4dGVuc2lvbjogRXh0ZW5zaW9uRGF0YSkge1xuICByZXR1cm4gbmV3IFByb21pc2U8Q29uZmlnT2JqZWN0PigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gc3RvcmUuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZXh0Q29uZmlnID0gZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlKHN0YXRlLCBleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE5hbWUsIGV4dGVuc2lvbi5leHRlbnNpb25JZCk7XG4gICAgICBpZiAoZXh0Q29uZmlnLmxvYWRlZCAmJiBleHRDb25maWcuY29uZmlnKSB7XG4gICAgICAgIHJlc29sdmUoZXh0Q29uZmlnLmNvbmZpZyk7XG4gICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiB1c2VDb25maWdTdG9yZShzdG9yZTogU3RvcmVBcGk8Q29uZmlnU3RvcmU+KSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gdXNlU3RhdGUocmVhZEluaXRpYWxDb25maWcoc3RvcmUpKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBzdG9yZT8uc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5jb25maWcpIHtcbiAgICAgICAgc2V0U3RhdGUoc3RhdGUuY29uZmlnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW3N0b3JlXSk7XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5mdW5jdGlvbiB1c2VFeHRlbnNpb25Db25maWdTdG9yZShzdG9yZTogU3RvcmVBcGk8RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlPiwgZXh0ZW5zaW9uOiBFeHRlbnNpb25EYXRhIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IFtjb25maWcsIHNldENvbmZpZ10gPSB1c2VTdGF0ZTxDb25maWdPYmplY3QgfCBudWxsPihyZWFkSW5pdGlhbEV4dGVuc2lvbkNvbmZpZyhzdG9yZSwgZXh0ZW5zaW9uKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXh0ZW5zaW9uKSB7XG4gICAgICByZXR1cm4gc3RvcmUuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCBleHRDb25maWcgPSBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUoc3RhdGUsIGV4dGVuc2lvbi5leHRlbnNpb25TbG90TmFtZSwgZXh0ZW5zaW9uLmV4dGVuc2lvbklkKTtcbiAgICAgICAgaWYgKGV4dENvbmZpZy5sb2FkZWQgJiYgZXh0Q29uZmlnLmNvbmZpZyAmJiAhaXNFcXVhbChleHRDb25maWcuY29uZmlnLCBjb25maWcpKSB7XG4gICAgICAgICAgc2V0Q29uZmlnKGV4dENvbmZpZy5jb25maWcpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtzdG9yZSwgZXh0ZW5zaW9uLCBjb25maWddKTtcblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5mdW5jdGlvbiB1c2VFeHRlbnNpb25Db25maWcoZXh0ZW5zaW9uOiBFeHRlbnNpb25EYXRhIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IHN0b3JlID0gdXNlTWVtbyhnZXRFeHRlbnNpb25zQ29uZmlnU3RvcmUsIFtdKTtcbiAgY29uc3Qgc3RhdGUgPSB1c2VFeHRlbnNpb25Db25maWdTdG9yZShzdG9yZSwgZXh0ZW5zaW9uKTtcblxuICBpZiAoIXN0YXRlICYmIGV4dGVuc2lvbikge1xuICAgIGNvbnN0IGNhY2hlSWQgPSBgJHtleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE5hbWV9LSR7ZXh0ZW5zaW9uLmV4dGVuc2lvbklkfWA7XG5cbiAgICBpZiAoIXByb21pc2VzW2NhY2hlSWRdICYmIHN0b3JlKSB7XG4gICAgICBwcm9taXNlc1tjYWNoZUlkXSA9IGNyZWF0ZUV4dGVuc2lvbkNvbmZpZ1Byb21pc2Uoc3RvcmUsIGV4dGVuc2lvbik7XG4gICAgfVxuXG4gICAgLy8gUmVhY3Qgd2lsbCBwcmV2ZW50IHRoZSBjbGllbnQgY29tcG9uZW50IGZyb20gcmVuZGVyaW5nIHVudGlsIHRoZSBwcm9taXNlIHJlc29sdmVzXG4gICAgdGhyb3cgcHJvbWlzZXNbY2FjaGVJZF07XG4gIH1cblxuICByZXR1cm4gc3RhdGUgfHwge307XG59XG5cbmZ1bmN0aW9uIHVzZU5vcm1hbENvbmZpZyhtb2R1bGVOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3RvcmUgPSB1c2VNZW1vKCgpID0+IGdldENvbmZpZ1N0b3JlKG1vZHVsZU5hbWUpLCBbbW9kdWxlTmFtZV0pO1xuICBjb25zdCBjYWNoZUlkID0gbW9kdWxlTmFtZTtcbiAgY29uc3Qgc3RhdGUgPSB1c2VDb25maWdTdG9yZShzdG9yZSk7XG5cbiAgaWYgKCFzdGF0ZSkge1xuICAgIGlmICghcHJvbWlzZXNbY2FjaGVJZF0pIHtcbiAgICAgIHByb21pc2VzW2NhY2hlSWRdID0gY3JlYXRlQ29uZmlnUHJvbWlzZShzdG9yZSk7XG4gICAgfVxuXG4gICAgLy8gUmVhY3Qgd2lsbCBwcmV2ZW50IHRoZSBjbGllbnQgY29tcG9uZW50IGZyb20gcmVuZGVyaW5nIHVudGlsIHRoZSBwcm9taXNlIHJlc29sdmVzXG4gICAgdGhyb3cgcHJvbWlzZXNbY2FjaGVJZF07XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmludGVyZmFjZSBVc2VDb25maWdPcHRpb25zIHtcbiAgLyoqIEFuIGV4dGVybmFsIG1vZHVsZSB0byBsb2FkIHRoZSBjb25maWd1cmF0aW9uIGZyb20uIFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgaWZcbiAgICAgIGFic29sdXRlbHkgbmVjZXNzYXJ5IGFzIGl0IGNhbiBlbmQgdXAgbWFraW5nIGZyb250ZW5kIG1vZHVsZXMgY291cGxlZCB0byBvbmUgYW5vdGhlci4gKi9cbiAgZXh0ZXJuYWxNb2R1bGVOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFVzZSB0aGlzIFJlYWN0IEhvb2sgdG8gb2J0YWluIHlvdXIgbW9kdWxlJ3MgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHVzZUNvbmZpZygpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDb25maWc8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+KG9wdGlvbnM/OiBVc2VDb25maWdPcHRpb25zKSB7XG4gIC8vIFRoaXMgaG9vayB1c2VzIHRoZSBjb25maWcgb2YgdGhlIE1GIGRlZmluaW5nIHRoZSBjb21wb25lbnQuXG4gIC8vIElmIHRoZSBjb21wb25lbnQgaXMgdXNlZCBpbiBhbiBleHRlbnNpb24gc2xvdCB0aGVuIHRoZSBzbG90XG4gIC8vIG1heSBvdmVycmlkZSAocGFydCBvZikgaXRzIGNvbmZpZ3VyYXRpb24uXG4gIGNvbnN0IHsgbW9kdWxlTmFtZTogY29udGV4dE1vZHVsZU5hbWUsIGV4dGVuc2lvbiB9ID0gdXNlQ29udGV4dChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgbW9kdWxlTmFtZSA9IG9wdGlvbnM/LmV4dGVybmFsTW9kdWxlTmFtZSA/PyBjb250ZXh0TW9kdWxlTmFtZTtcblxuICBpZiAoIW1vZHVsZU5hbWUgJiYgIWV4dGVuc2lvbikge1xuICAgIHRocm93IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCBub3JtYWxDb25maWcgPSB1c2VOb3JtYWxDb25maWcobW9kdWxlTmFtZSk7XG4gIGNvbnN0IGV4dGVuc2lvbkNvbmZpZyA9IHVzZUV4dGVuc2lvbkNvbmZpZyhleHRlbnNpb24pO1xuICBjb25zdCBjb25maWcgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBvcHRpb25zPy5leHRlcm5hbE1vZHVsZU5hbWUgJiYgbW9kdWxlTmFtZSA9PT0gb3B0aW9ucy5leHRlcm5hbE1vZHVsZU5hbWVcbiAgICAgICAgPyB7IC4uLm5vcm1hbENvbmZpZyB9XG4gICAgICAgIDogeyAuLi5ub3JtYWxDb25maWcsIC4uLmV4dGVuc2lvbkNvbmZpZyB9LFxuICAgIFttb2R1bGVOYW1lLCBvcHRpb25zPy5leHRlcm5hbE1vZHVsZU5hbWUsIG5vcm1hbENvbmZpZywgZXh0ZW5zaW9uQ29uZmlnXSxcbiAgKTtcblxuICByZXR1cm4gY29uZmlnIGFzIFQ7XG59XG4iXSwibmFtZXMiOlsidXNlQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImdldENvbmZpZ1N0b3JlIiwiZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlIiwiZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlIiwiaXNFcXVhbCIsIkNvbXBvbmVudENvbnRleHQiLCJwcm9taXNlcyIsImVycm9yTWVzc2FnZSIsInJlYWRJbml0aWFsQ29uZmlnIiwic3RvcmUiLCJzdGF0ZSIsImdldFN0YXRlIiwibG9hZGVkIiwiY29uZmlnIiwicmVhZEluaXRpYWxFeHRlbnNpb25Db25maWciLCJleHRlbnNpb24iLCJleHRDb25maWciLCJleHRlbnNpb25TbG90TmFtZSIsImV4dGVuc2lvbklkIiwiY3JlYXRlQ29uZmlnUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwidW5zdWJzY3JpYmUiLCJzdWJzY3JpYmUiLCJjcmVhdGVFeHRlbnNpb25Db25maWdQcm9taXNlIiwidXNlQ29uZmlnU3RvcmUiLCJzZXRTdGF0ZSIsInVzZUV4dGVuc2lvbkNvbmZpZ1N0b3JlIiwic2V0Q29uZmlnIiwidXNlRXh0ZW5zaW9uQ29uZmlnIiwiY2FjaGVJZCIsInVzZU5vcm1hbENvbmZpZyIsIm1vZHVsZU5hbWUiLCJ1c2VDb25maWciLCJvcHRpb25zIiwiY29udGV4dE1vZHVsZU5hbWUiLCJleHRlcm5hbE1vZHVsZU5hbWUiLCJFcnJvciIsIm5vcm1hbENvbmZpZyIsImV4dGVuc2lvbkNvbmZpZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useConfig.ts\n");
|
|
7120
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useConfig: () => (/* binding */ useConfig)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-config */ \"../../framework/esm-config/src/index.ts\");\n/* harmony import */ var lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es/isEqual */ \"../../../node_modules/lodash-es/isEqual.js\");\n/* harmony import */ var _ComponentContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ComponentContext */ \"../../framework/esm-react-utils/src/ComponentContext.ts\");\n/** @module @category Config */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\nvar promises = {};\nvar errorMessage = 'No ComponentContext has been provided. This should come from \"openmrsComponentDecorator\".\\nUsually this is already applied when using \"getAsyncLifecycle\" or \"getSyncLifecycle\".';\nfunction readInitialConfig(store) {\n return function() {\n var state = store.getState();\n if (state.loaded && state.config) {\n return state.config;\n }\n return null;\n };\n}\nfunction readInitialExtensionConfig(store, extension) {\n if (extension) {\n return function() {\n var state = store.getState();\n var extConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(state, extension.extensionSlotName, extension.extensionId);\n if (extConfig.loaded && extConfig.config) {\n return extConfig.config;\n }\n };\n }\n return null;\n}\nfunction createConfigPromise(store) {\n return new Promise(function(resolve) {\n var unsubscribe = store.subscribe(function(state) {\n if (state.loaded && state.config) {\n resolve(state.config);\n unsubscribe();\n }\n });\n });\n}\nfunction createExtensionConfigPromise(store, extension) {\n return new Promise(function(resolve) {\n var unsubscribe = store.subscribe(function(state) {\n var extConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(state, extension.extensionSlotName, extension.extensionId);\n if (extConfig.loaded && extConfig.config) {\n resolve(extConfig.config);\n unsubscribe();\n }\n });\n });\n}\nfunction useConfigStore(store) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(readInitialConfig(store)), 2), state = _useState[0], setState = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n return store === null || store === void 0 ? void 0 : store.subscribe(function(state) {\n if (state.loaded && state.config) {\n setState(state.config);\n }\n });\n }, [\n store\n ]);\n return state;\n}\nfunction useExtensionConfigStore(store, extension) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(readInitialExtensionConfig(store, extension)), 2), config = _useState[0], setConfig = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n if (extension) {\n return store.subscribe(function(state) {\n var extConfig = (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionConfigFromStore)(state, extension.extensionSlotName, extension.extensionId);\n if (extConfig.loaded && extConfig.config && !(0,lodash_es_isEqual__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(extConfig.config, config)) {\n setConfig(extConfig.config);\n }\n });\n }\n }, [\n store,\n extension,\n config\n ]);\n return config;\n}\nfunction useExtensionConfig(extension) {\n var store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getExtensionsConfigStore, []);\n var state = useExtensionConfigStore(store, extension);\n if (!state && extension) {\n var cacheId = \"\".concat(extension.extensionSlotName, \"-\").concat(extension.extensionId);\n if (!promises[cacheId] && store) {\n promises[cacheId] = createExtensionConfigPromise(store, extension);\n }\n // React will prevent the client component from rendering until the promise resolves\n throw promises[cacheId];\n }\n return state || {};\n}\nfunction useNormalConfig(moduleName) {\n var store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (0,_openmrs_esm_config__WEBPACK_IMPORTED_MODULE_1__.getConfigStore)(moduleName);\n }, [\n moduleName\n ]);\n var cacheId = moduleName;\n var state = useConfigStore(store);\n if (!state) {\n if (!promises[cacheId]) {\n promises[cacheId] = createConfigPromise(store);\n }\n // React will prevent the client component from rendering until the promise resolves\n throw promises[cacheId];\n }\n return state;\n}\n/**\n * Use this React Hook to obtain your module's configuration.\n *\n * @param options Additional options that can be passed to useConfig()\n */ function useConfig(options) {\n // This hook uses the config of the MF defining the component.\n // If the component is used in an extension slot then the slot\n // may override (part of) its configuration.\n var _useContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_ComponentContext__WEBPACK_IMPORTED_MODULE_2__.ComponentContext), contextModuleName = _useContext.moduleName, extension = _useContext.extension;\n var _options_externalModuleName;\n var moduleName = (_options_externalModuleName = options === null || options === void 0 ? void 0 : options.externalModuleName) !== null && _options_externalModuleName !== void 0 ? _options_externalModuleName : contextModuleName;\n if (!moduleName && !extension) {\n throw Error(errorMessage);\n }\n var normalConfig = useNormalConfig(moduleName);\n var extensionConfig = useExtensionConfig(extension);\n var config = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (options === null || options === void 0 ? void 0 : options.externalModuleName) && moduleName === options.externalModuleName ? _object_spread({}, normalConfig) : _object_spread({}, normalConfig, extensionConfig);\n }, [\n moduleName,\n options === null || options === void 0 ? void 0 : options.externalModuleName,\n normalConfig,\n extensionConfig\n ]);\n return config;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlQ29uZmlnLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDZCQUE2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDb0M7QUFFMkM7QUFFcEU7QUFFYztBQUV0RCxJQUFNUyxXQUFrRCxDQUFDO0FBQ3pELElBQU1DLGVBQWdCO0FBR3RCLFNBQVNDLGtCQUFrQkMsS0FBNEIsRUFBRTtJQUN2RCxPQUFPLFdBQU07UUFDWCxJQUFNQyxRQUFRRCxNQUFNRSxRQUFRO1FBRTVCLElBQUlELE1BQU1FLE1BQU0sSUFBSUYsTUFBTUcsTUFBTSxFQUFFO1lBQ2hDLE9BQU9ILE1BQU1HLE1BQU07UUFDckIsQ0FBQztRQUVELE9BQU8sSUFBSTtJQUNiO0FBQ0Y7QUFFQSxTQUFTQywyQkFBMkJMLEtBQXNDLEVBQUVNLFNBQW9DLEVBQUU7SUFDaEgsSUFBSUEsV0FBVztRQUNiLE9BQU8sV0FBTTtZQUNYLElBQU1MLFFBQVFELE1BQU1FLFFBQVE7WUFDNUIsSUFBTUssWUFBWWIsZ0ZBQTJCQSxDQUFDTyxPQUFPSyxVQUFVRSxpQkFBaUIsRUFBRUYsVUFBVUcsV0FBVztZQUN2RyxJQUFJRixVQUFVSixNQUFNLElBQUlJLFVBQVVILE1BQU0sRUFBRTtnQkFDeEMsT0FBT0csVUFBVUgsTUFBTTtZQUN6QixDQUFDO1FBQ0g7SUFDRixDQUFDO0lBQ0QsT0FBTyxJQUFJO0FBQ2I7QUFFQSxTQUFTTSxvQkFBb0JWLEtBQTRCLEVBQUU7SUFDekQsT0FBTyxJQUFJVyxRQUFzQixTQUFDQyxTQUFZO1FBQzVDLElBQU1DLGNBQWNiLE1BQU1jLFNBQVMsQ0FBQyxTQUFDYixPQUFVO1lBQzdDLElBQUlBLE1BQU1FLE1BQU0sSUFBSUYsTUFBTUcsTUFBTSxFQUFFO2dCQUNoQ1EsUUFBUVgsTUFBTUcsTUFBTTtnQkFDcEJTO1lBQ0YsQ0FB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QUNUO0FBUUE7Ozs7Q0FJQyxHQUNNLFNBQVN1QixVQUFtQ0MsT0FBMEIsRUFBRTtJQUM3RSw4REFBOEQ7SUFDOUQsOERBQThEO0lBQzlELDRDQUE0QztJQUM1QyxJQUFxRHJDLGNBQUFBLGlEQUFVQSxDQUFDUSwrREFBZ0JBLEdBQXhFMkIsb0JBQTZDbkMsWUFBN0NtQyxZQUErQmpCLFlBQWNsQixZQUFka0I7UUFDcEJtQjtJQUFuQixJQUFNRixhQUFhRSxDQUFBQSw4QkFBQUEsb0JBQUFBLHFCQUFBQSxLQUFBQSxJQUFBQSxRQUFTRSxrQkFBa0IsY0FBM0JGLHlDQUFBQSw4QkFBK0JDLGlCQUFpQjtJQUVuRSxJQUFJLENBQUNILGNBQWMsQ0FBQ2pCLFdBQVc7UUFDN0IsTUFBTXNCLE1BQU05QixjQUFjO0lBQzVCLENBQUM7SUFFRCxJQUFNK0IsZUFBZVAsZ0JBQWdCQztJQUNyQyxJQUFNTyxrQkFBa0JWLG1CQUFtQmQ7SUFDM0MsSUFBTUYsU0FBU2QsOENBQU9BLENBQ3BCO1FBQ0VtQyxPQUFBQSxDQUFBQSxvQkFBQUEscUJBQUFBLEtBQUFBLElBQUFBLFFBQVNFLGtCQUFrQixLQUFJSixlQUFlRSxRQUFRRSxrQkFBa0IsR0FDcEUsbUJBQUtFLGdCQUNMLG1CQUFLQSxjQUFpQkMsZ0JBQWlCO09BQzdDO1FBQUNQO1FBQVlFLG9CQUFBQSxxQkFBQUEsS0FBQUEsSUFBQUEsUUFBU0Usa0JBQWtCO1FBQUVFO1FBQWNDO0tBQWdCO0lBRzFFLE9BQU8xQjtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZUNvbmZpZy50cz8xZDFmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBDb25maWcgKi9cbmltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ1N0b3JlLCBDb25maWdPYmplY3QsIEV4dGVuc2lvbnNDb25maWdTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1jb25maWcnO1xuaW1wb3J0IHsgZ2V0Q29uZmlnU3RvcmUsIGdldEV4dGVuc2lvbnNDb25maWdTdG9yZSwgZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWNvbmZpZyc7XG5pbXBvcnQgdHlwZSB7IFN0b3JlQXBpIH0gZnJvbSAnenVzdGFuZCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XG5pbXBvcnQgdHlwZSB7IEV4dGVuc2lvbkRhdGEgfSBmcm9tICcuL0NvbXBvbmVudENvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJy4vQ29tcG9uZW50Q29udGV4dCc7XG5cbmNvbnN0IHByb21pc2VzOiBSZWNvcmQ8c3RyaW5nLCBQcm9taXNlPENvbmZpZ09iamVjdD4+ID0ge307XG5jb25zdCBlcnJvck1lc3NhZ2UgPSBgTm8gQ29tcG9uZW50Q29udGV4dCBoYXMgYmVlbiBwcm92aWRlZC4gVGhpcyBzaG91bGQgY29tZSBmcm9tIFwib3Blbm1yc0NvbXBvbmVudERlY29yYXRvclwiLlxuVXN1YWxseSB0aGlzIGlzIGFscmVhZHkgYXBwbGllZCB3aGVuIHVzaW5nIFwiZ2V0QXN5bmNMaWZlY3ljbGVcIiBvciBcImdldFN5bmNMaWZlY3ljbGVcIi5gO1xuXG5mdW5jdGlvbiByZWFkSW5pdGlhbENvbmZpZyhzdG9yZTogU3RvcmVBcGk8Q29uZmlnU3RvcmU+KSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBzdG9yZS5nZXRTdGF0ZSgpO1xuXG4gICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5jb25maWcpIHtcbiAgICAgIHJldHVybiBzdGF0ZS5jb25maWc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlYWRJbml0aWFsRXh0ZW5zaW9uQ29uZmlnKHN0b3JlOiBTdG9yZUFwaTxFeHRlbnNpb25zQ29uZmlnU3RvcmU+LCBleHRlbnNpb246IEV4dGVuc2lvbkRhdGEgfCB1bmRlZmluZWQpIHtcbiAgaWYgKGV4dGVuc2lvbikge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHN0b3JlLmdldFN0YXRlKCk7XG4gICAgICBjb25zdCBleHRDb25maWcgPSBnZXRFeHRlbnNpb25Db25maWdGcm9tU3RvcmUoc3RhdGUsIGV4dGVuc2lvbi5leHRlbnNpb25TbG90TmFtZSwgZXh0ZW5zaW9uLmV4dGVuc2lvbklkKTtcbiAgICAgIGlmIChleHRDb25maWcubG9hZGVkICYmIGV4dENvbmZpZy5jb25maWcpIHtcbiAgICAgICAgcmV0dXJuIGV4dENvbmZpZy5jb25maWc7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29uZmlnUHJvbWlzZShzdG9yZTogU3RvcmVBcGk8Q29uZmlnU3RvcmU+KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxDb25maWdPYmplY3Q+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBzdG9yZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICBpZiAoc3RhdGUubG9hZGVkICYmIHN0YXRlLmNvbmZpZykge1xuICAgICAgICByZXNvbHZlKHN0YXRlLmNvbmZpZyk7XG4gICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFeHRlbnNpb25Db25maWdQcm9taXNlKHN0b3JlOiBTdG9yZUFwaTxFeHRlbnNpb25zQ29uZmlnU3RvcmU+LCBleHRlbnNpb246IEV4dGVuc2lvbkRhdGEpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPENvbmZpZ09iamVjdD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHN0b3JlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IGV4dENvbmZpZyA9IGdldEV4dGVuc2lvbkNvbmZpZ0Zyb21TdG9yZShzdGF0ZSwgZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lLCBleHRlbnNpb24uZXh0ZW5zaW9uSWQpO1xuICAgICAgaWYgKGV4dENvbmZpZy5sb2FkZWQgJiYgZXh0Q29uZmlnLmNvbmZpZykge1xuICAgICAgICByZXNvbHZlKGV4dENvbmZpZy5jb25maWcpO1xuICAgICAgICB1bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdXNlQ29uZmlnU3RvcmUoc3RvcmU6IFN0b3JlQXBpPENvbmZpZ1N0b3JlPikge1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlKHJlYWRJbml0aWFsQ29uZmlnKHN0b3JlKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gc3RvcmU/LnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZS5sb2FkZWQgJiYgc3RhdGUuY29uZmlnKSB7XG4gICAgICAgIHNldFN0YXRlKHN0YXRlLmNvbmZpZyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtzdG9yZV0pO1xuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZnVuY3Rpb24gdXNlRXh0ZW5zaW9uQ29uZmlnU3RvcmUoc3RvcmU6IFN0b3JlQXBpPEV4dGVuc2lvbnNDb25maWdTdG9yZT4sIGV4dGVuc2lvbjogRXh0ZW5zaW9uRGF0YSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBbY29uZmlnLCBzZXRDb25maWddID0gdXNlU3RhdGU8Q29uZmlnT2JqZWN0IHwgbnVsbD4ocmVhZEluaXRpYWxFeHRlbnNpb25Db25maWcoc3RvcmUsIGV4dGVuc2lvbikpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgcmV0dXJuIHN0b3JlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgZXh0Q29uZmlnID0gZ2V0RXh0ZW5zaW9uQ29uZmlnRnJvbVN0b3JlKHN0YXRlLCBleHRlbnNpb24uZXh0ZW5zaW9uU2xvdE5hbWUsIGV4dGVuc2lvbi5leHRlbnNpb25JZCk7XG4gICAgICAgIGlmIChleHRDb25maWcubG9hZGVkICYmIGV4dENvbmZpZy5jb25maWcgJiYgIWlzRXF1YWwoZXh0Q29uZmlnLmNvbmZpZywgY29uZmlnKSkge1xuICAgICAgICAgIHNldENvbmZpZyhleHRDb25maWcuY29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbc3RvcmUsIGV4dGVuc2lvbiwgY29uZmlnXSk7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZnVuY3Rpb24gdXNlRXh0ZW5zaW9uQ29uZmlnKGV4dGVuc2lvbjogRXh0ZW5zaW9uRGF0YSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBzdG9yZSA9IHVzZU1lbW8oZ2V0RXh0ZW5zaW9uc0NvbmZpZ1N0b3JlLCBbXSk7XG4gIGNvbnN0IHN0YXRlID0gdXNlRXh0ZW5zaW9uQ29uZmlnU3RvcmUoc3RvcmUsIGV4dGVuc2lvbik7XG5cbiAgaWYgKCFzdGF0ZSAmJiBleHRlbnNpb24pIHtcbiAgICBjb25zdCBjYWNoZUlkID0gYCR7ZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lfS0ke2V4dGVuc2lvbi5leHRlbnNpb25JZH1gO1xuXG4gICAgaWYgKCFwcm9taXNlc1tjYWNoZUlkXSAmJiBzdG9yZSkge1xuICAgICAgcHJvbWlzZXNbY2FjaGVJZF0gPSBjcmVhdGVFeHRlbnNpb25Db25maWdQcm9taXNlKHN0b3JlLCBleHRlbnNpb24pO1xuICAgIH1cblxuICAgIC8vIFJlYWN0IHdpbGwgcHJldmVudCB0aGUgY2xpZW50IGNvbXBvbmVudCBmcm9tIHJlbmRlcmluZyB1bnRpbCB0aGUgcHJvbWlzZSByZXNvbHZlc1xuICAgIHRocm93IHByb21pc2VzW2NhY2hlSWRdO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlIHx8IHt9O1xufVxuXG5mdW5jdGlvbiB1c2VOb3JtYWxDb25maWcobW9kdWxlTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHN0b3JlID0gdXNlTWVtbygoKSA9PiBnZXRDb25maWdTdG9yZShtb2R1bGVOYW1lKSwgW21vZHVsZU5hbWVdKTtcbiAgY29uc3QgY2FjaGVJZCA9IG1vZHVsZU5hbWU7XG4gIGNvbnN0IHN0YXRlID0gdXNlQ29uZmlnU3RvcmUoc3RvcmUpO1xuXG4gIGlmICghc3RhdGUpIHtcbiAgICBpZiAoIXByb21pc2VzW2NhY2hlSWRdKSB7XG4gICAgICBwcm9taXNlc1tjYWNoZUlkXSA9IGNyZWF0ZUNvbmZpZ1Byb21pc2Uoc3RvcmUpO1xuICAgIH1cblxuICAgIC8vIFJlYWN0IHdpbGwgcHJldmVudCB0aGUgY2xpZW50IGNvbXBvbmVudCBmcm9tIHJlbmRlcmluZyB1bnRpbCB0aGUgcHJvbWlzZSByZXNvbHZlc1xuICAgIHRocm93IHByb21pc2VzW2NhY2hlSWRdO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5pbnRlcmZhY2UgVXNlQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBBbiBleHRlcm5hbCBtb2R1bGUgdG8gbG9hZCB0aGUgY29uZmlndXJhdGlvbiBmcm9tLiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGlmXG4gICAgICBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSBhcyBpdCBjYW4gZW5kIHVwIG1ha2luZyBmcm9udGVuZCBtb2R1bGVzIGNvdXBsZWQgdG8gb25lIGFub3RoZXIuICovXG4gIGV4dGVybmFsTW9kdWxlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2UgdGhpcyBSZWFjdCBIb29rIHRvIG9idGFpbiB5b3VyIG1vZHVsZSdzIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCB0byB1c2VDb25maWcoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29uZmlnPFQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zPzogVXNlQ29uZmlnT3B0aW9ucykge1xuICAvLyBUaGlzIGhvb2sgdXNlcyB0aGUgY29uZmlnIG9mIHRoZSBNRiBkZWZpbmluZyB0aGUgY29tcG9uZW50LlxuICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIHVzZWQgaW4gYW4gZXh0ZW5zaW9uIHNsb3QgdGhlbiB0aGUgc2xvdFxuICAvLyBtYXkgb3ZlcnJpZGUgKHBhcnQgb2YpIGl0cyBjb25maWd1cmF0aW9uLlxuICBjb25zdCB7IG1vZHVsZU5hbWU6IGNvbnRleHRNb2R1bGVOYW1lLCBleHRlbnNpb24gfSA9IHVzZUNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IG1vZHVsZU5hbWUgPSBvcHRpb25zPy5leHRlcm5hbE1vZHVsZU5hbWUgPz8gY29udGV4dE1vZHVsZU5hbWU7XG5cbiAgaWYgKCFtb2R1bGVOYW1lICYmICFleHRlbnNpb24pIHtcbiAgICB0aHJvdyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICB9XG5cbiAgY29uc3Qgbm9ybWFsQ29uZmlnID0gdXNlTm9ybWFsQ29uZmlnKG1vZHVsZU5hbWUpO1xuICBjb25zdCBleHRlbnNpb25Db25maWcgPSB1c2VFeHRlbnNpb25Db25maWcoZXh0ZW5zaW9uKTtcbiAgY29uc3QgY29uZmlnID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgb3B0aW9ucz8uZXh0ZXJuYWxNb2R1bGVOYW1lICYmIG1vZHVsZU5hbWUgPT09IG9wdGlvbnMuZXh0ZXJuYWxNb2R1bGVOYW1lXG4gICAgICAgID8geyAuLi5ub3JtYWxDb25maWcgfVxuICAgICAgICA6IHsgLi4ubm9ybWFsQ29uZmlnLCAuLi5leHRlbnNpb25Db25maWcgfSxcbiAgICBbbW9kdWxlTmFtZSwgb3B0aW9ucz8uZXh0ZXJuYWxNb2R1bGVOYW1lLCBub3JtYWxDb25maWcsIGV4dGVuc2lvbkNvbmZpZ10sXG4gICk7XG5cbiAgcmV0dXJuIGNvbmZpZyBhcyBUO1xufVxuIl0sIm5hbWVzIjpbInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJnZXRDb25maWdTdG9yZSIsImdldEV4dGVuc2lvbnNDb25maWdTdG9yZSIsImdldEV4dGVuc2lvbkNvbmZpZ0Zyb21TdG9yZSIsImlzRXF1YWwiLCJDb21wb25lbnRDb250ZXh0IiwicHJvbWlzZXMiLCJlcnJvck1lc3NhZ2UiLCJyZWFkSW5pdGlhbENvbmZpZyIsInN0b3JlIiwic3RhdGUiLCJnZXRTdGF0ZSIsImxvYWRlZCIsImNvbmZpZyIsInJlYWRJbml0aWFsRXh0ZW5zaW9uQ29uZmlnIiwiZXh0ZW5zaW9uIiwiZXh0Q29uZmlnIiwiZXh0ZW5zaW9uU2xvdE5hbWUiLCJleHRlbnNpb25JZCIsImNyZWF0ZUNvbmZpZ1Byb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInVuc3Vic2NyaWJlIiwic3Vic2NyaWJlIiwiY3JlYXRlRXh0ZW5zaW9uQ29uZmlnUHJvbWlzZSIsInVzZUNvbmZpZ1N0b3JlIiwic2V0U3RhdGUiLCJ1c2VFeHRlbnNpb25Db25maWdTdG9yZSIsInNldENvbmZpZyIsInVzZUV4dGVuc2lvbkNvbmZpZyIsImNhY2hlSWQiLCJ1c2VOb3JtYWxDb25maWciLCJtb2R1bGVOYW1lIiwidXNlQ29uZmlnIiwib3B0aW9ucyIsImNvbnRleHRNb2R1bGVOYW1lIiwiZXh0ZXJuYWxNb2R1bGVOYW1lIiwiRXJyb3IiLCJub3JtYWxDb25maWciLCJleHRlbnNpb25Db25maWciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useConfig.ts\n");
|
|
7121
7121
|
|
|
7122
7122
|
/***/ }),
|
|
7123
7123
|
|
|
@@ -7128,7 +7128,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7128
7128
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7129
7129
|
|
|
7130
7130
|
"use strict";
|
|
7131
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useConnectedExtensions: () => (/* binding */ useConnectedExtensions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _useConnectivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useConnectivity */ \"../../framework/esm-react-utils/src/useConnectivity.ts\");\n/* harmony import */ var _useAssignedExtensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useAssignedExtensions */ \"../../framework/esm-react-utils/src/useAssignedExtensions.ts\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n/* harmony import */ var _openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-feature-flags */ \"../../framework/esm-feature-flags/src/index.ts\");\n/** @module @category Extension */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n\n/**\n * Gets the assigned extension for a given extension slot name.\n * Considers if offline or online, and what feature flags are enabled.\n * @param slotName The name of the slot to get the assigned extensions for.\n */ function useConnectedExtensions(slotName) {\n var online = (0,_useConnectivity__WEBPACK_IMPORTED_MODULE_2__.useConnectivity)();\n var assignedExtensions = (0,_useAssignedExtensions__WEBPACK_IMPORTED_MODULE_3__.useAssignedExtensions)(slotName);\n var featureFlagStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_4__.useStore)(_openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_5__.featureFlagsStore);\n var enabledFeatureFlags = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return Object.entries(featureFlagStore.flags).filter(function(param) {\n var _param = _sliced_to_array(param, 2), enabled = _param[1].enabled;\n return enabled;\n }).map(function(param) {\n var _param = _sliced_to_array(param, 1), name = _param[0];\n return name;\n });\n }, [\n featureFlagStore.flags\n ]);\n var connectedExtensions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__.getConnectedExtensions)(assignedExtensions, online, enabledFeatureFlags);\n }, [\n assignedExtensions,\n online,\n enabledFeatureFlags\n ]);\n return connectedExtensions;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7131
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useConnectedExtensions: () => (/* binding */ useConnectedExtensions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _useConnectivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useConnectivity */ \"../../framework/esm-react-utils/src/useConnectivity.ts\");\n/* harmony import */ var _useAssignedExtensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useAssignedExtensions */ \"../../framework/esm-react-utils/src/useAssignedExtensions.ts\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n/* harmony import */ var _openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-feature-flags */ \"../../framework/esm-feature-flags/src/index.ts\");\n/** @module @category Extension */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n\n\n\n\n/**\n * Gets the assigned extension for a given extension slot name.\n * Considers if offline or online, and what feature flags are enabled.\n * @param slotName The name of the slot to get the assigned extensions for.\n */ function useConnectedExtensions(slotName) {\n var online = (0,_useConnectivity__WEBPACK_IMPORTED_MODULE_2__.useConnectivity)();\n var assignedExtensions = (0,_useAssignedExtensions__WEBPACK_IMPORTED_MODULE_3__.useAssignedExtensions)(slotName);\n var featureFlagStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_4__.useStore)(_openmrs_esm_feature_flags__WEBPACK_IMPORTED_MODULE_5__.featureFlagsStore);\n var enabledFeatureFlags = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return Object.entries(featureFlagStore.flags).filter(function(param) {\n var _param = _sliced_to_array(param, 2), enabled = _param[1].enabled;\n return enabled;\n }).map(function(param) {\n var _param = _sliced_to_array(param, 1), name = _param[0];\n return name;\n });\n }, [\n featureFlagStore.flags\n ]);\n var connectedExtensions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_1__.getConnectedExtensions)(assignedExtensions, online, enabledFeatureFlags);\n }, [\n assignedExtensions,\n online,\n enabledFeatureFlags\n ]);\n return connectedExtensions;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlQ29ubmVjdGVkRXh0ZW5zaW9ucy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLGdDQUFnQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBRWlDO0FBQ2I7QUFDWTtBQUMxQjtBQUN5QjtBQUUvRDs7OztDQUlDLEdBQ00sU0FBU00sdUJBQXVCQyxRQUFnQixFQUE2QjtJQUNsRixJQUFNQyxTQUFTTixpRUFBZUE7SUFDOUIsSUFBTU8scUJBQXFCTiw2RUFBcUJBLENBQUNJO0lBQ2pELElBQU1HLG1CQUFtQk4sbURBQVFBLENBQUNDLHlFQUFpQkE7SUFFbkQsSUFBTU0sc0JBQXNCWCw4Q0FBT0EsQ0FBQyxXQUFNO1FBQ3hDLE9BQU9ZLE9BQU9DLE9BQU8sQ0FBQ0gsaUJBQWlCSSxLQUFLLEVBQ3pDQyxNQUFNLENBQUM7cURBQUksb0JBQUVDO21CQUFlQTtXQUM1QkMsR0FBRyxDQUFDO3FEQUFFQzttQkFBVUE7O0lBQ3JCLEdBQUc7UUFBQ1IsaUJBQWlCSSxLQUFLO0tBQUM7SUFFM0IsSUFBTUssc0JBQXNCbkIsOENBQU9BLENBQUMsV0FBTTtRQUN4QyxPQUFPQywrRUFBc0JBLENBQUNRLG9CQUFvQkQsUUFBUUc7SUFDNUQsR0FBRztRQUFDRjtRQUFvQkQ7UUFBUUc7S0FBb0I7SUFFcEQsT0FBT1E7QUFDVCxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VDb25uZWN0ZWRFeHRlbnNpb25zLnRzP2ViNDgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEV4dGVuc2lvbiAqL1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgQ29ubmVjdGVkRXh0ZW5zaW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgZ2V0Q29ubmVjdGVkRXh0ZW5zaW9ucyB9IGZyb20gJ0BvcGVubXJzL2VzbS1leHRlbnNpb25zJztcbmltcG9ydCB7IHVzZUNvbm5lY3Rpdml0eSB9IGZyb20gJy4vdXNlQ29ubmVjdGl2aXR5JztcbmltcG9ydCB7IHVzZUFzc2lnbmVkRXh0ZW5zaW9ucyB9IGZyb20gJy4vdXNlQXNzaWduZWRFeHRlbnNpb25zJztcbmltcG9ydCB7IHVzZVN0b3JlIH0gZnJvbSAnLi91c2VTdG9yZSc7XG5pbXBvcnQgeyBmZWF0dXJlRmxhZ3NTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1mZWF0dXJlLWZsYWdzJztcblxuLyoqXG4gKiBHZXRzIHRoZSBhc3NpZ25lZCBleHRlbnNpb24gZm9yIGEgZ2l2ZW4gZXh0ZW5zaW9uIHNsb3QgbmFtZS5cbiAqIENvbnNpZGVycyBpZiBvZmZsaW5lIG9yIG9ubGluZSwgYW5kIHdoYXQgZmVhdHVyZSBmbGFncyBhcmUgZW5hYmxlZC5cbiAqIEBwYXJhbSBzbG90TmFtZSBUaGUgbmFtZSBvZiB0aGUgc2xvdCB0byBnZXQgdGhlIGFzc2lnbmVkIGV4dGVuc2lvbnMgZm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29ubmVjdGVkRXh0ZW5zaW9ucyhzbG90TmFtZTogc3RyaW5nKTogQXJyYXk8Q29ubmVjdGVkRXh0ZW5zaW9uPiB7XG4gIGNvbnN0IG9ubGluZSA9IHVzZUNvbm5lY3Rpdml0eSgpO1xuICBjb25zdCBhc3NpZ25lZEV4dGVuc2lvbnMgPSB1c2VBc3NpZ25lZEV4dGVuc2lvbnMoc2xvdE5hbWUpO1xuICBjb25zdCBmZWF0dXJlRmxhZ1N0b3JlID0gdXNlU3RvcmUoZmVhdHVyZUZsYWdzU3RvcmUpO1xuXG4gIGNvbnN0IGVuYWJsZWRGZWF0dXJlRmxhZ3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZmVhdHVyZUZsYWdTdG9yZS5mbGFncylcbiAgICAgIC5maWx0ZXIoKFssIHsgZW5hYmxlZCB9XSkgPT4gZW5hYmxlZClcbiAgICAgIC5tYXAoKFtuYW1lXSkgPT4gbmFtZSk7XG4gIH0sIFtmZWF0dXJlRmxhZ1N0b3JlLmZsYWdzXSk7XG5cbiAgY29uc3QgY29ubmVjdGVkRXh0ZW5zaW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBnZXRDb25uZWN0ZWRFeHRlbnNpb25zKGFzc2lnbmVkRXh0ZW5zaW9ucywgb25saW5lLCBlbmFibGVkRmVhdHVyZUZsYWdzKTtcbiAgfSwgW2Fzc2lnbmVkRXh0ZW5zaW9ucywgb25saW5lLCBlbmFibGVkRmVhdHVyZUZsYWdzXSk7XG5cbiAgcmV0dXJuIGNvbm5lY3RlZEV4dGVuc2lvbnM7XG59XG4iXSwibmFtZXMiOlsidXNlTWVtbyIsImdldENvbm5lY3RlZEV4dGVuc2lvbnMiLCJ1c2VDb25uZWN0aXZpdHkiLCJ1c2VBc3NpZ25lZEV4dGVuc2lvbnMiLCJ1c2VTdG9yZSIsImZlYXR1cmVGbGFnc1N0b3JlIiwidXNlQ29ubmVjdGVkRXh0ZW5zaW9ucyIsInNsb3ROYW1lIiwib25saW5lIiwiYXNzaWduZWRFeHRlbnNpb25zIiwiZmVhdHVyZUZsYWdTdG9yZSIsImVuYWJsZWRGZWF0dXJlRmxhZ3MiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmxhZ3MiLCJmaWx0ZXIiLCJlbmFibGVkIiwibWFwIiwibmFtZSIsImNvbm5lY3RlZEV4dGVuc2lvbnMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useConnectedExtensions.ts\n");
|
|
7132
7132
|
|
|
7133
7133
|
/***/ }),
|
|
7134
7134
|
|
|
@@ -7161,7 +7161,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7161
7161
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7162
7162
|
|
|
7163
7163
|
"use strict";
|
|
7164
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useExtensionInternalStore: () => (/* binding */ useExtensionInternalStore)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n\n\n/** @internal\n * @deprecated Use `useStore(getExtensionInternalStore())`\n */ var useExtensionInternalStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createUseStore)((0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.getExtensionInternalStore)());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7164
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useExtensionInternalStore: () => (/* binding */ useExtensionInternalStore)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n\n\n/** @internal\n * @deprecated Use `useStore(getExtensionInternalStore())`\n */ var useExtensionInternalStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createUseStore)((0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.getExtensionInternalStore)());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlRXh0ZW5zaW9uSW50ZXJuYWxTdG9yZS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFDb0U7QUFDeEI7QUFFNUM7O0NBRUMsR0FDTSxJQUFNRSw0QkFBNEJELHlEQUFjQSxDQUF5QkQsa0ZBQXlCQSxJQUFJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VFeHRlbnNpb25JbnRlcm5hbFN0b3JlLnRzP2IzZDAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFeHRlbnNpb25JbnRlcm5hbFN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgZ2V0RXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1leHRlbnNpb25zJztcbmltcG9ydCB7IGNyZWF0ZVVzZVN0b3JlIH0gZnJvbSAnLi91c2VTdG9yZSc7XG5cbi8qKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkIFVzZSBgdXNlU3RvcmUoZ2V0RXh0ZW5zaW9uSW50ZXJuYWxTdG9yZSgpKWBcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUV4dGVuc2lvbkludGVybmFsU3RvcmUgPSBjcmVhdGVVc2VTdG9yZTxFeHRlbnNpb25JbnRlcm5hbFN0b3JlPihnZXRFeHRlbnNpb25JbnRlcm5hbFN0b3JlKCkpO1xuIl0sIm5hbWVzIjpbImdldEV4dGVuc2lvbkludGVybmFsU3RvcmUiLCJjcmVhdGVVc2VTdG9yZSIsInVzZUV4dGVuc2lvbkludGVybmFsU3RvcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useExtensionInternalStore.ts\n");
|
|
7165
7165
|
|
|
7166
7166
|
/***/ }),
|
|
7167
7167
|
|
|
@@ -7183,7 +7183,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7183
7183
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7184
7184
|
|
|
7185
7185
|
"use strict";
|
|
7186
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useExtensionSlotMeta: () => (/* binding */ useExtensionSlotMeta)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _useConnectedExtensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useConnectedExtensions */ \"../../framework/esm-react-utils/src/useConnectedExtensions.ts\");\n/** @module @category Extension */ \n\n/**\n * Extract meta data from all extension for a given extension slot.\n * @param extensionSlotName\n */ function useExtensionSlotMeta(extensionSlotName) {\n var extensions = (0,_useConnectedExtensions__WEBPACK_IMPORTED_MODULE_1__.useConnectedExtensions)(extensionSlotName);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return Object.fromEntries(extensions.map(function(ext) {\n return [\n ext.name,\n ext.meta\n ];\n }));\n }, [\n extensions\n ]);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlRXh0ZW5zaW9uU2xvdE1ldGEudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGdDQUFnQyxHQUVBO0FBQ2tDO0FBRWxFOzs7Q0FHQyxHQUNNLFNBQVNFLHFCQUF3Q0MsaUJBQXlCLEVBQUU7SUFDakYsSUFBTUMsYUFBYUgsK0VBQXNCQSxDQUFDRTtJQUUxQyxPQUFPSCw4Q0FBT0EsQ0FBQztlQUFNSyxPQUFPQyxXQUFXLENBQUNGLFdBQVdHLEdBQUcsQ0FBQyxTQUFDQzttQkFBUTtnQkFBQ0EsSUFBSUMsSUFBSTtnQkFBRUQsSUFBSUUsSUFBSTthQUFNOztPQUFJO1FBQUNOO0tBQVc7QUFDM0csQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlRXh0ZW5zaW9uU2xvdE1ldGEudHM/
|
|
7186
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useExtensionSlotMeta: () => (/* binding */ useExtensionSlotMeta)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _useConnectedExtensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useConnectedExtensions */ \"../../framework/esm-react-utils/src/useConnectedExtensions.ts\");\n/** @module @category Extension */ \n\n/**\n * Extract meta data from all extension for a given extension slot.\n * @param extensionSlotName\n */ function useExtensionSlotMeta(extensionSlotName) {\n var extensions = (0,_useConnectedExtensions__WEBPACK_IMPORTED_MODULE_1__.useConnectedExtensions)(extensionSlotName);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return Object.fromEntries(extensions.map(function(ext) {\n return [\n ext.name,\n ext.meta\n ];\n }));\n }, [\n extensions\n ]);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlRXh0ZW5zaW9uU2xvdE1ldGEudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGdDQUFnQyxHQUVBO0FBQ2tDO0FBRWxFOzs7Q0FHQyxHQUNNLFNBQVNFLHFCQUF3Q0MsaUJBQXlCLEVBQUU7SUFDakYsSUFBTUMsYUFBYUgsK0VBQXNCQSxDQUFDRTtJQUUxQyxPQUFPSCw4Q0FBT0EsQ0FBQztlQUFNSyxPQUFPQyxXQUFXLENBQUNGLFdBQVdHLEdBQUcsQ0FBQyxTQUFDQzttQkFBUTtnQkFBQ0EsSUFBSUMsSUFBSTtnQkFBRUQsSUFBSUUsSUFBSTthQUFNOztPQUFJO1FBQUNOO0tBQVc7QUFDM0csQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlRXh0ZW5zaW9uU2xvdE1ldGEudHM/OTRhMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgRXh0ZW5zaW9uICovXG5pbXBvcnQgdHlwZSB7IEV4dGVuc2lvbk1ldGEgfSBmcm9tICdAb3Blbm1ycy9lc20tZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29ubmVjdGVkRXh0ZW5zaW9ucyB9IGZyb20gJy4vdXNlQ29ubmVjdGVkRXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogRXh0cmFjdCBtZXRhIGRhdGEgZnJvbSBhbGwgZXh0ZW5zaW9uIGZvciBhIGdpdmVuIGV4dGVuc2lvbiBzbG90LlxuICogQHBhcmFtIGV4dGVuc2lvblNsb3ROYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VFeHRlbnNpb25TbG90TWV0YTxUID0gRXh0ZW5zaW9uTWV0YT4oZXh0ZW5zaW9uU2xvdE5hbWU6IHN0cmluZykge1xuICBjb25zdCBleHRlbnNpb25zID0gdXNlQ29ubmVjdGVkRXh0ZW5zaW9ucyhleHRlbnNpb25TbG90TmFtZSk7XG5cbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4gT2JqZWN0LmZyb21FbnRyaWVzKGV4dGVuc2lvbnMubWFwKChleHQpID0+IFtleHQubmFtZSwgZXh0Lm1ldGEgYXMgVF0pKSwgW2V4dGVuc2lvbnNdKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlQ29ubmVjdGVkRXh0ZW5zaW9ucyIsInVzZUV4dGVuc2lvblNsb3RNZXRhIiwiZXh0ZW5zaW9uU2xvdE5hbWUiLCJleHRlbnNpb25zIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJtYXAiLCJleHQiLCJuYW1lIiwibWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useExtensionSlotMeta.ts\n");
|
|
7187
7187
|
|
|
7188
7188
|
/***/ }),
|
|
7189
7189
|
|
|
@@ -7194,7 +7194,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7194
7194
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7195
7195
|
|
|
7196
7196
|
"use strict";
|
|
7197
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useExtensionStore: () => (/* binding */ useExtensionStore)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n/** @module @category Extension */ \n\nvar useExtensionStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createUseStore)((0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.getExtensionStore)());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7197
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useExtensionStore: () => (/* binding */ useExtensionStore)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n/** @module @category Extension */ \n\nvar useExtensionStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createUseStore)((0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.getExtensionStore)());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlRXh0ZW5zaW9uU3RvcmUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0NBQWdDLEdBRTRCO0FBQ2hCO0FBRXJDLElBQU1FLG9CQUFvQkQseURBQWNBLENBQWlCRCwwRUFBaUJBLElBQUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZUV4dGVuc2lvblN0b3JlLnRzP2EwNDgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEV4dGVuc2lvbiAqL1xuaW1wb3J0IHR5cGUgeyBFeHRlbnNpb25TdG9yZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1leHRlbnNpb25zJztcbmltcG9ydCB7IGdldEV4dGVuc2lvblN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgY3JlYXRlVXNlU3RvcmUgfSBmcm9tICcuL3VzZVN0b3JlJztcblxuZXhwb3J0IGNvbnN0IHVzZUV4dGVuc2lvblN0b3JlID0gY3JlYXRlVXNlU3RvcmU8RXh0ZW5zaW9uU3RvcmU+KGdldEV4dGVuc2lvblN0b3JlKCkpO1xuIl0sIm5hbWVzIjpbImdldEV4dGVuc2lvblN0b3JlIiwiY3JlYXRlVXNlU3RvcmUiLCJ1c2VFeHRlbnNpb25TdG9yZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useExtensionStore.ts\n");
|
|
7198
7198
|
|
|
7199
7199
|
/***/ }),
|
|
7200
7200
|
|
|
@@ -7238,7 +7238,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7238
7238
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7239
7239
|
|
|
7240
7240
|
"use strict";
|
|
7241
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLocations: () => (/* binding */ useLocations)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nfunction useLocations() {\n var tagUuidOrName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), 2), locations = _useState[0], setLocations = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n var locationSub = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getLocations)(tagUuidOrName).subscribe(function(locations) {\n setLocations(locations);\n }, function(error) {\n console.error(error);\n });\n return function() {\n return locationSub.unsubscribe();\n };\n }, []);\n return locations;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7241
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useLocations: () => (/* binding */ useLocations)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nfunction useLocations() {\n var tagUuidOrName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), 2), locations = _useState[0], setLocations = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n var locationSub = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getLocations)(tagUuidOrName).subscribe(function(locations) {\n setLocations(locations);\n }, function(error) {\n console.error(error);\n });\n return function() {\n return locationSub.unsubscribe();\n };\n }, []);\n return locations;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlTG9jYXRpb25zLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXNCO0FBQ0o7QUFFckMsU0FBU0csZUFBa0Q7UUFBckNDLGdCQUFBQSxpRUFBK0IsSUFBSTtJQUM5RCxJQUFrQ0gsNkJBQUFBLCtDQUFRQSxDQUFrQixFQUFFLE9BQXZESSxZQUEyQkosY0FBaEJLLGVBQWdCTDtJQUVsQ0MsZ0RBQVNBLENBQUMsV0FBTTtRQUNkLElBQU1LLGNBQWNQLDhEQUFZQSxDQUFDSSxlQUFlSSxTQUFTLENBQ3ZELFNBQUNILFdBQWM7WUFDYkMsYUFBYUQ7UUFDZixHQUNBLFNBQUNJLE9BQVU7WUFDVEMsUUFBUUQsS0FBSyxDQUFDQTtRQUNoQjtRQUVGLE9BQU87bUJBQU1GLFlBQVlJLFdBQVc7O0lBQ3RDLEdBQUcsRUFBRTtJQUVMLE9BQU9OO0FBQ1QsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlTG9jYXRpb25zLnRzeD9iZDM0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB0eXBlIHsgTG9jYXRpb24gfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbmltcG9ydCB7IGdldExvY2F0aW9ucyB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUxvY2F0aW9ucyh0YWdVdWlkT3JOYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICBjb25zdCBbbG9jYXRpb25zLCBzZXRMb2NhdGlvbnNdID0gdXNlU3RhdGU8QXJyYXk8TG9jYXRpb24+PihbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBsb2NhdGlvblN1YiA9IGdldExvY2F0aW9ucyh0YWdVdWlkT3JOYW1lKS5zdWJzY3JpYmUoXG4gICAgICAobG9jYXRpb25zKSA9PiB7XG4gICAgICAgIHNldExvY2F0aW9ucyhsb2NhdGlvbnMpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gKCkgPT4gbG9jYXRpb25TdWIudW5zdWJzY3JpYmUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBsb2NhdGlvbnM7XG59XG4iXSwibmFtZXMiOlsiZ2V0TG9jYXRpb25zIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VMb2NhdGlvbnMiLCJ0YWdVdWlkT3JOYW1lIiwibG9jYXRpb25zIiwic2V0TG9jYXRpb25zIiwibG9jYXRpb25TdWIiLCJzdWJzY3JpYmUiLCJlcnJvciIsImNvbnNvbGUiLCJ1bnN1YnNjcmliZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useLocations.tsx\n");
|
|
7242
7242
|
|
|
7243
7243
|
/***/ }),
|
|
7244
7244
|
|
|
@@ -7260,7 +7260,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7260
7260
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7261
7261
|
|
|
7262
7262
|
"use strict";
|
|
7263
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOpenmrsSWR: () => (/* binding */ useOpenmrsSWR)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/core/dist/index.mjs\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var _useAbortController__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useAbortController */ \"../../framework/esm-react-utils/src/useAbortController.ts\");\n/** @module @category Utility */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\nfunction getUrl(key, url) {\n if (url) {\n return typeof url === \"function\" ? url(key) : url;\n }\n if (typeof key === \"string\") {\n return key;\n }\n throw new Error(\"When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is \".concat(key, \".\"));\n}\n/**\n * @beta\n *\n * This hook is intended to simplify using openmrsFetch in useSWR, while also ensuring that\n * all useSWR usages properly use an abort controller, so that fetch requests are cancelled\n * if the React component unmounts.\n *\n * @example\n * ```tsx\n * import { useOpenmrsSWR } from \"@openmrs/esm-framework\";\n *\n * function MyComponent() {\n * const { data } = useOpenmrsSWR(key);\n *\n * return (\n * // render something with data\n * );\n * }\n * ```\n *\n * Note that if you are using a complex SWR key you must provide a url function to the options parameter,\n * which translates the key into a URL to be sent to `openmrsFetch()`\n *\n * @example\n * ```tsx\n * import { useOpenmrsSWR } from \"@openmrs/esm-framework\";\n *\n * function MyComponent() {\n * const { data } = useOpenmrsSWR(['key', 'url'], { url: (key) => key[1] });\n *\n * return (\n * // render something with data\n * );\n * }\n * ```\n * @param key The SWR key to use\n * @param options An object of optional parameters to provide, including a {@link FetchConfig} object\n * to pass to {@link openmrsFetch} or options to pass to SWR\n */ function useOpenmrsSWR(key) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var abortController = options.abortController, fetchInit = options.fetchInit, url = options.url, swrConfig = options.swrConfig;\n var ac = (0,_useAbortController__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n var _fetchInit_signal, _ref;\n var abortSignal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (_ref = (_fetchInit_signal = fetchInit === null || fetchInit === void 0 ? void 0 : fetchInit.signal) !== null && _fetchInit_signal !== void 0 ? _fetchInit_signal : abortController === null || abortController === void 0 ? void 0 : abortController.signal) !== null && _ref !== void 0 ? _ref : ac.signal;\n }, [\n abortController === null || abortController === void 0 ? void 0 : abortController.signal,\n fetchInit === null || fetchInit === void 0 ? void 0 : fetchInit.signal,\n ac.signal\n ]);\n var fetcher = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(key) {\n var url_ = getUrl(key, url);\n return (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_2__.openmrsFetch)(url_, _object_spread_props(_object_spread({}, fetchInit), {\n signal: abortSignal\n }));\n }, [\n abortSignal,\n fetchInit,\n url\n ]);\n return (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(key, fetcher, swrConfig);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlT3Blbm1yc1NXUi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSw4QkFBOEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDZTtBQUNFO0FBQ21CO0FBQ1o7QUFXdEQsU0FBU0ssT0FBT0MsR0FBUSxFQUFFQyxHQUFxQyxFQUFVO0lBQ3ZFLElBQUlBLEtBQUs7UUFDUCxPQUFPLE9BQU9BLFFBQVEsYUFBYUEsSUFBSUQsT0FBT0MsR0FBRztJQUNuRCxDQUFDO0lBRUQsSUFBSSxPQUFPRCxRQUFRLFVBQVU7UUFDM0IsT0FBT0E7SUFDVCxDQUFDO0lBRUQsTUFBTSxJQUFJRSxNQUNSLDhKQUFrSyxPQUFKRixLQUFJLE1BQ2xLO0FBQ0o7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQ0MsR0FDTSxTQUFTRyxjQUFjSCxHQUFRLEVBQXNDO1FBQXBDSSxVQUFBQSxpRUFBZ0MsQ0FBQyxDQUFDO0lBQ3hFLElBQVFDLGtCQUErQ0QsUUFBL0NDLGlCQUFpQkMsWUFBOEJGLFFBQTlCRSxXQUFXTCxNQUFtQkcsUUFBbkJILEtBQUtNLFlBQWNILFFBQWRHO0lBQ3pDLElBQU1DLEtBQUtWLCtEQUFrQkE7UUFFckJRLG1CQUFBQTtJQURSLElBQU1HLGNBQWNkLDhDQUFPQSxDQUN6QjtRQUFNVyxPQUFBQSxDQUFBQSxPQUFBQSxDQUFBQSxvQkFBQUEsc0JBQUFBLHVCQUFBQSxLQUFBQSxJQUFBQSxVQUFXSSxNQUFNLGNBQWpCSiwrQkFBQUEsb0JBQXFCRCw0QkFBQUEsNkJBQUFBLEtBQUFBLElBQUFBLGdCQUFpQkssTUFBTSxjQUE1Q0osa0JBQUFBLE9BQWdERSxHQUFHRSxNQUFNO09BQy9EO1FBQUNMLDRCQUFBQSw2QkFBQUEsS0FBQUEsSUFBQUEsZ0JBQWlCSyxNQUFNO1FBQUVKLHNCQUFBQSx1QkFBQUEsS0FBQUEsSUFBQUEsVUFBV0ksTUFBTTtRQUFFRixHQUFHRSxNQUFNO0tBQUM7SUFHekQsSUFBTUMsVUFBVWpCLGtEQUFXQSxDQUN6QixTQUFDTSxLQUFhO1FBQ1osSUFBTVksT0FBT2IsT0FBT0MsS0FBS0M7UUFDekIsT0FBT0osOERBQVlBLENBQUNlLE1BQU0sd0NBQUtOO1lBQVdJLFFBQVFEOztJQUNwRCxHQUNBO1FBQUNBO1FBQWFIO1FBQVdMO0tBQUk7SUFHL0IsT0FBT0wsK0NBQU1BLENBQUNJLEtBQUtXLFNBQVNKO0FBQzlCLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZU9wZW5tcnNTV1IudHM/ZTk2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgVXRpbGl0eSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlU1dSLCB7IFNXUkNvbmZpZ3VyYXRpb24gfSBmcm9tICdzd3InO1xuaW1wb3J0IHsgdHlwZSBGZXRjaENvbmZpZywgb3Blbm1yc0ZldGNoIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgdXNlQWJvcnRDb250cm9sbGVyIGZyb20gJy4vdXNlQWJvcnRDb250cm9sbGVyJztcblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzVHVwbGUgPSBbYW55LCAuLi51bmtub3duW11dO1xuZXhwb3J0IHR5cGUgS2V5ID0gc3RyaW5nIHwgQXJndW1lbnRzVHVwbGUgfCB1bmRlZmluZWQgfCBudWxsO1xuZXhwb3J0IHR5cGUgVXNlT3Blbm1yc1NXUk9wdGlvbnMgPSB7XG4gIGFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgZmV0Y2hJbml0PzogRmV0Y2hDb25maWc7XG4gIHVybD86IHN0cmluZyB8ICgoa2V5OiBLZXkpID0+IHN0cmluZyk7XG4gIHN3ckNvbmZpZz86IFNXUkNvbmZpZ3VyYXRpb247XG59O1xuXG5mdW5jdGlvbiBnZXRVcmwoa2V5OiBLZXksIHVybD86IHN0cmluZyB8ICgoa2V5OiBLZXkpID0+IHN0cmluZykpOiBzdHJpbmcge1xuICBpZiAodXJsKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB1cmwgPT09ICdmdW5jdGlvbicgPyB1cmwoa2V5KSA6IHVybDtcbiAgfVxuXG4gIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYFdoZW4gdXNpbmcgdXNlT3Blbm1yc1NXUiB3aXRoIGEga2V5IHRoYXQgaXMgbm90IGEgc3RyaW5nLCB5b3UgbXVzdCBwcm92aWRlIGEgdXJsKCkgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyB0aGUga2V5IHRvIGEgdmFsaWQgdXJsLiBUaGUga2V5IGZvciB0aGlzIGhvb2sgaXMgJHtrZXl9LmAsXG4gICk7XG59XG5cbi8qKlxuICogQGJldGFcbiAqXG4gKiBUaGlzIGhvb2sgaXMgaW50ZW5kZWQgdG8gc2ltcGxpZnkgdXNpbmcgb3Blbm1yc0ZldGNoIGluIHVzZVNXUiwgd2hpbGUgYWxzbyBlbnN1cmluZyB0aGF0XG4gKiBhbGwgdXNlU1dSIHVzYWdlcyBwcm9wZXJseSB1c2UgYW4gYWJvcnQgY29udHJvbGxlciwgc28gdGhhdCBmZXRjaCByZXF1ZXN0cyBhcmUgY2FuY2VsbGVkXG4gKiBpZiB0aGUgUmVhY3QgY29tcG9uZW50IHVubW91bnRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHVzZU9wZW5tcnNTV1IgfSBmcm9tIFwiQG9wZW5tcnMvZXNtLWZyYW1ld29ya1wiO1xuICpcbiAqIGZ1bmN0aW9uIE15Q29tcG9uZW50KCkge1xuICogIGNvbnN0IHsgZGF0YSB9ID0gdXNlT3Blbm1yc1NXUihrZXkpO1xuICpcbiAqICByZXR1cm4gKFxuICogICAgLy8gcmVuZGVyIHNvbWV0aGluZyB3aXRoIGRhdGFcbiAqICApO1xuICogfVxuICogYGBgXG4gKlxuICogTm90ZSB0aGF0IGlmIHlvdSBhcmUgdXNpbmcgYSBjb21wbGV4IFNXUiBrZXkgeW91IG11c3QgcHJvdmlkZSBhIHVybCBmdW5jdGlvbiB0byB0aGUgb3B0aW9ucyBwYXJhbWV0ZXIsXG4gKiB3aGljaCB0cmFuc2xhdGVzIHRoZSBrZXkgaW50byBhIFVSTCB0byBiZSBzZW50IHRvIGBvcGVubXJzRmV0Y2goKWBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBpbXBvcnQgeyB1c2VPcGVubXJzU1dSIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1mcmFtZXdvcmtcIjtcbiAqXG4gKiBmdW5jdGlvbiBNeUNvbXBvbmVudCgpIHtcbiAqICBjb25zdCB7IGRhdGEgfSA9IHVzZU9wZW5tcnNTV1IoWydrZXknLCAndXJsJ10sIHsgdXJsOiAoa2V5KSA9PiBrZXlbMV0gfSk7XG4gKlxuICogIHJldHVybiAoXG4gKiAgICAvLyByZW5kZXIgc29tZXRoaW5nIHdpdGggZGF0YVxuICogICk7XG4gKiB9XG4gKiBgYGBcbiAqIEBwYXJhbSBrZXkgVGhlIFNXUiBrZXkgdG8gdXNlXG4gKiBAcGFyYW0gb3B0aW9ucyBBbiBvYmplY3Qgb2Ygb3B0aW9uYWwgcGFyYW1ldGVycyB0byBwcm92aWRlLCBpbmNsdWRpbmcgYSB7QGxpbmsgRmV0Y2hDb25maWd9IG9iamVjdFxuICogICB0byBwYXNzIHRvIHtAbGluayBvcGVubXJzRmV0Y2h9IG9yIG9wdGlvbnMgdG8gcGFzcyB0byBTV1JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU9wZW5tcnNTV1Ioa2V5OiBLZXksIG9wdGlvbnM6IFVzZU9wZW5tcnNTV1JPcHRpb25zID0ge30pIHtcbiAgY29uc3QgeyBhYm9ydENvbnRyb2xsZXIsIGZldGNoSW5pdCwgdXJsLCBzd3JDb25maWcgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGFjID0gdXNlQWJvcnRDb250cm9sbGVyKCk7XG4gIGNvbnN0IGFib3J0U2lnbmFsID0gdXNlTWVtbzxBYm9ydFNpZ25hbD4oXG4gICAgKCkgPT4gZmV0Y2hJbml0Py5zaWduYWwgPz8gYWJvcnRDb250cm9sbGVyPy5zaWduYWwgPz8gYWMuc2lnbmFsLFxuICAgIFthYm9ydENvbnRyb2xsZXI/LnNpZ25hbCwgZmV0Y2hJbml0Py5zaWduYWwsIGFjLnNpZ25hbF0sXG4gICk7XG5cbiAgY29uc3QgZmV0Y2hlciA9IHVzZUNhbGxiYWNrKFxuICAgIChrZXk6IEtleSkgPT4ge1xuICAgICAgY29uc3QgdXJsXyA9IGdldFVybChrZXksIHVybCk7XG4gICAgICByZXR1cm4gb3Blbm1yc0ZldGNoKHVybF8sIHsgLi4uZmV0Y2hJbml0LCBzaWduYWw6IGFib3J0U2lnbmFsIH0pO1xuICAgIH0sXG4gICAgW2Fib3J0U2lnbmFsLCBmZXRjaEluaXQsIHVybF0sXG4gICk7XG5cbiAgcmV0dXJuIHVzZVNXUihrZXksIGZldGNoZXIsIHN3ckNvbmZpZyk7XG59XG4iXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJ1c2VNZW1vIiwidXNlU1dSIiwib3Blbm1yc0ZldGNoIiwidXNlQWJvcnRDb250cm9sbGVyIiwiZ2V0VXJsIiwia2V5IiwidXJsIiwiRXJyb3IiLCJ1c2VPcGVubXJzU1dSIiwib3B0aW9ucyIsImFib3J0Q29udHJvbGxlciIsImZldGNoSW5pdCIsInN3ckNvbmZpZyIsImFjIiwiYWJvcnRTaWduYWwiLCJzaWduYWwiLCJmZXRjaGVyIiwidXJsXyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useOpenmrsSWR.ts\n");
|
|
7263
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOpenmrsSWR: () => (/* binding */ useOpenmrsSWR)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/core/dist/index.mjs\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var _useAbortController__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useAbortController */ \"../../framework/esm-react-utils/src/useAbortController.ts\");\n/** @module @category Utility */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\nfunction getUrl(key, url) {\n if (url) {\n return typeof url === \"function\" ? url(key) : url;\n }\n if (typeof key === \"string\") {\n return key;\n }\n throw new Error(\"When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is \".concat(key, \".\"));\n}\n/**\n * @beta\n *\n * This hook is intended to simplify using openmrsFetch in useSWR, while also ensuring that\n * all useSWR usages properly use an abort controller, so that fetch requests are cancelled\n * if the React component unmounts.\n *\n * @example\n * ```tsx\n * import { useOpenmrsSWR } from \"@openmrs/esm-framework\";\n *\n * function MyComponent() {\n * const { data } = useOpenmrsSWR(key);\n *\n * return (\n * // render something with data\n * );\n * }\n * ```\n *\n * Note that if you are using a complex SWR key you must provide a url function to the options parameter,\n * which translates the key into a URL to be sent to `openmrsFetch()`\n *\n * @example\n * ```tsx\n * import { useOpenmrsSWR } from \"@openmrs/esm-framework\";\n *\n * function MyComponent() {\n * const { data } = useOpenmrsSWR(['key', 'url'], { url: (key) => key[1] });\n *\n * return (\n * // render something with data\n * );\n * }\n * ```\n * @param key The SWR key to use\n * @param options An object of optional parameters to provide, including a {@link FetchConfig} object\n * to pass to {@link openmrsFetch} or options to pass to SWR\n */ function useOpenmrsSWR(key) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var abortController = options.abortController, fetchInit = options.fetchInit, url = options.url, swrConfig = options.swrConfig;\n var ac = (0,_useAbortController__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n var _fetchInit_signal, _ref;\n var abortSignal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n return (_ref = (_fetchInit_signal = fetchInit === null || fetchInit === void 0 ? void 0 : fetchInit.signal) !== null && _fetchInit_signal !== void 0 ? _fetchInit_signal : abortController === null || abortController === void 0 ? void 0 : abortController.signal) !== null && _ref !== void 0 ? _ref : ac.signal;\n }, [\n abortController === null || abortController === void 0 ? void 0 : abortController.signal,\n fetchInit === null || fetchInit === void 0 ? void 0 : fetchInit.signal,\n ac.signal\n ]);\n var fetcher = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(key) {\n var url_ = getUrl(key, url);\n return (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_2__.openmrsFetch)(url_, _object_spread_props(_object_spread({}, fetchInit), {\n signal: abortSignal\n }));\n }, [\n abortSignal,\n fetchInit,\n url\n ]);\n return (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(key, fetcher, swrConfig);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlT3Blbm1yc1NXUi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSw4QkFBOEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDZTtBQUVwQjtBQUN5QztBQUNaO0FBV3RELFNBQVNLLE9BQU9DLEdBQVEsRUFBRUMsR0FBcUMsRUFBVTtJQUN2RSxJQUFJQSxLQUFLO1FBQ1AsT0FBTyxPQUFPQSxRQUFRLGFBQWFBLElBQUlELE9BQU9DLEdBQUc7SUFDbkQsQ0FBQztJQUVELElBQUksT0FBT0QsUUFBUSxVQUFVO1FBQzNCLE9BQU9BO0lBQ1QsQ0FBQztJQUVELE1BQU0sSUFBSUUsTUFDUiw4SkFBa0ssT0FBSkYsS0FBSSxNQUNsSztBQUNKO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0NDLEdBQ00sU0FBU0csY0FBY0gsR0FBUSxFQUFzQztRQUFwQ0ksVUFBQUEsaUVBQWdDLENBQUMsQ0FBQztJQUN4RSxJQUFRQyxrQkFBK0NELFFBQS9DQyxpQkFBaUJDLFlBQThCRixRQUE5QkUsV0FBV0wsTUFBbUJHLFFBQW5CSCxLQUFLTSxZQUFjSCxRQUFkRztJQUN6QyxJQUFNQyxLQUFLViwrREFBa0JBO1FBRXJCUSxtQkFBQUE7SUFEUixJQUFNRyxjQUFjZCw4Q0FBT0EsQ0FDekI7UUFBTVcsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBQUEsb0JBQUFBLHNCQUFBQSx1QkFBQUEsS0FBQUEsSUFBQUEsVUFBV0ksTUFBTSxjQUFqQkosK0JBQUFBLG9CQUFxQkQsNEJBQUFBLDZCQUFBQSxLQUFBQSxJQUFBQSxnQkFBaUJLLE1BQU0sY0FBNUNKLGtCQUFBQSxPQUFnREUsR0FBR0UsTUFBTTtPQUMvRDtRQUFDTCw0QkFBQUEsNkJBQUFBLEtBQUFBLElBQUFBLGdCQUFpQkssTUFBTTtRQUFFSixzQkFBQUEsdUJBQUFBLEtBQUFBLElBQUFBLFVBQVdJLE1BQU07UUFBRUYsR0FBR0UsTUFBTTtLQUFDO0lBR3pELElBQU1DLFVBQVVqQixrREFBV0EsQ0FDekIsU0FBQ00sS0FBYTtRQUNaLElBQU1ZLE9BQU9iLE9BQU9DLEtBQUtDO1FBQ3pCLE9BQU9KLDhEQUFZQSxDQUFDZSxNQUFNLHdDQUFLTjtZQUFXSSxRQUFRRDs7SUFDcEQsR0FDQTtRQUFDQTtRQUFhSDtRQUFXTDtLQUFJO0lBRy9CLE9BQU9MLCtDQUFNQSxDQUFDSSxLQUFLVyxTQUFTSjtBQUM5QixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VPcGVubXJzU1dSLnRzP2U5NmQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IFV0aWxpdHkgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBTV1JDb25maWd1cmF0aW9uIH0gZnJvbSAnc3dyJztcbmltcG9ydCB1c2VTV1IgZnJvbSAnc3dyJztcbmltcG9ydCB7IHR5cGUgRmV0Y2hDb25maWcsIG9wZW5tcnNGZXRjaCB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuaW1wb3J0IHVzZUFib3J0Q29udHJvbGxlciBmcm9tICcuL3VzZUFib3J0Q29udHJvbGxlcic7XG5cbmV4cG9ydCB0eXBlIEFyZ3VtZW50c1R1cGxlID0gW2FueSwgLi4udW5rbm93bltdXTtcbmV4cG9ydCB0eXBlIEtleSA9IHN0cmluZyB8IEFyZ3VtZW50c1R1cGxlIHwgdW5kZWZpbmVkIHwgbnVsbDtcbmV4cG9ydCB0eXBlIFVzZU9wZW5tcnNTV1JPcHRpb25zID0ge1xuICBhYm9ydENvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXI7XG4gIGZldGNoSW5pdD86IEZldGNoQ29uZmlnO1xuICB1cmw/OiBzdHJpbmcgfCAoKGtleTogS2V5KSA9PiBzdHJpbmcpO1xuICBzd3JDb25maWc/OiBTV1JDb25maWd1cmF0aW9uO1xufTtcblxuZnVuY3Rpb24gZ2V0VXJsKGtleTogS2V5LCB1cmw/OiBzdHJpbmcgfCAoKGtleTogS2V5KSA9PiBzdHJpbmcpKTogc3RyaW5nIHtcbiAgaWYgKHVybCkge1xuICAgIHJldHVybiB0eXBlb2YgdXJsID09PSAnZnVuY3Rpb24nID8gdXJsKGtleSkgOiB1cmw7XG4gIH1cblxuICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ga2V5O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBXaGVuIHVzaW5nIHVzZU9wZW5tcnNTV1Igd2l0aCBhIGtleSB0aGF0IGlzIG5vdCBhIHN0cmluZywgeW91IG11c3QgcHJvdmlkZSBhIHVybCgpIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgdGhlIGtleSB0byBhIHZhbGlkIHVybC4gVGhlIGtleSBmb3IgdGhpcyBob29rIGlzICR7a2V5fS5gLFxuICApO1xufVxuXG4vKipcbiAqIEBiZXRhXG4gKlxuICogVGhpcyBob29rIGlzIGludGVuZGVkIHRvIHNpbXBsaWZ5IHVzaW5nIG9wZW5tcnNGZXRjaCBpbiB1c2VTV1IsIHdoaWxlIGFsc28gZW5zdXJpbmcgdGhhdFxuICogYWxsIHVzZVNXUiB1c2FnZXMgcHJvcGVybHkgdXNlIGFuIGFib3J0IGNvbnRyb2xsZXIsIHNvIHRoYXQgZmV0Y2ggcmVxdWVzdHMgYXJlIGNhbmNlbGxlZFxuICogaWYgdGhlIFJlYWN0IGNvbXBvbmVudCB1bm1vdW50cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBpbXBvcnQgeyB1c2VPcGVubXJzU1dSIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1mcmFtZXdvcmtcIjtcbiAqXG4gKiBmdW5jdGlvbiBNeUNvbXBvbmVudCgpIHtcbiAqICBjb25zdCB7IGRhdGEgfSA9IHVzZU9wZW5tcnNTV1Ioa2V5KTtcbiAqXG4gKiAgcmV0dXJuIChcbiAqICAgIC8vIHJlbmRlciBzb21ldGhpbmcgd2l0aCBkYXRhXG4gKiAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIE5vdGUgdGhhdCBpZiB5b3UgYXJlIHVzaW5nIGEgY29tcGxleCBTV1Iga2V5IHlvdSBtdXN0IHByb3ZpZGUgYSB1cmwgZnVuY3Rpb24gdG8gdGhlIG9wdGlvbnMgcGFyYW1ldGVyLFxuICogd2hpY2ggdHJhbnNsYXRlcyB0aGUga2V5IGludG8gYSBVUkwgdG8gYmUgc2VudCB0byBgb3Blbm1yc0ZldGNoKClgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlT3Blbm1yc1NXUiB9IGZyb20gXCJAb3Blbm1ycy9lc20tZnJhbWV3b3JrXCI7XG4gKlxuICogZnVuY3Rpb24gTXlDb21wb25lbnQoKSB7XG4gKiAgY29uc3QgeyBkYXRhIH0gPSB1c2VPcGVubXJzU1dSKFsna2V5JywgJ3VybCddLCB7IHVybDogKGtleSkgPT4ga2V5WzFdIH0pO1xuICpcbiAqICByZXR1cm4gKFxuICogICAgLy8gcmVuZGVyIHNvbWV0aGluZyB3aXRoIGRhdGFcbiAqICApO1xuICogfVxuICogYGBgXG4gKiBAcGFyYW0ga2V5IFRoZSBTV1Iga2V5IHRvIHVzZVxuICogQHBhcmFtIG9wdGlvbnMgQW4gb2JqZWN0IG9mIG9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gcHJvdmlkZSwgaW5jbHVkaW5nIGEge0BsaW5rIEZldGNoQ29uZmlnfSBvYmplY3RcbiAqICAgdG8gcGFzcyB0byB7QGxpbmsgb3Blbm1yc0ZldGNofSBvciBvcHRpb25zIHRvIHBhc3MgdG8gU1dSXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPcGVubXJzU1dSKGtleTogS2V5LCBvcHRpb25zOiBVc2VPcGVubXJzU1dST3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHsgYWJvcnRDb250cm9sbGVyLCBmZXRjaEluaXQsIHVybCwgc3dyQ29uZmlnIH0gPSBvcHRpb25zO1xuICBjb25zdCBhYyA9IHVzZUFib3J0Q29udHJvbGxlcigpO1xuICBjb25zdCBhYm9ydFNpZ25hbCA9IHVzZU1lbW88QWJvcnRTaWduYWw+KFxuICAgICgpID0+IGZldGNoSW5pdD8uc2lnbmFsID8/IGFib3J0Q29udHJvbGxlcj8uc2lnbmFsID8/IGFjLnNpZ25hbCxcbiAgICBbYWJvcnRDb250cm9sbGVyPy5zaWduYWwsIGZldGNoSW5pdD8uc2lnbmFsLCBhYy5zaWduYWxdLFxuICApO1xuXG4gIGNvbnN0IGZldGNoZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBLZXkpID0+IHtcbiAgICAgIGNvbnN0IHVybF8gPSBnZXRVcmwoa2V5LCB1cmwpO1xuICAgICAgcmV0dXJuIG9wZW5tcnNGZXRjaCh1cmxfLCB7IC4uLmZldGNoSW5pdCwgc2lnbmFsOiBhYm9ydFNpZ25hbCB9KTtcbiAgICB9LFxuICAgIFthYm9ydFNpZ25hbCwgZmV0Y2hJbml0LCB1cmxdLFxuICApO1xuXG4gIHJldHVybiB1c2VTV1Ioa2V5LCBmZXRjaGVyLCBzd3JDb25maWcpO1xufVxuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInVzZVNXUiIsIm9wZW5tcnNGZXRjaCIsInVzZUFib3J0Q29udHJvbGxlciIsImdldFVybCIsImtleSIsInVybCIsIkVycm9yIiwidXNlT3Blbm1yc1NXUiIsIm9wdGlvbnMiLCJhYm9ydENvbnRyb2xsZXIiLCJmZXRjaEluaXQiLCJzd3JDb25maWciLCJhYyIsImFib3J0U2lnbmFsIiwic2lnbmFsIiwiZmV0Y2hlciIsInVybF8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useOpenmrsSWR.ts\n");
|
|
7264
7264
|
|
|
7265
7265
|
/***/ }),
|
|
7266
7266
|
|
|
@@ -7282,7 +7282,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7282
7282
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7283
7283
|
|
|
7284
7284
|
"use strict";
|
|
7285
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ usePatient: () => (/* binding */ usePatient)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActionTypes;\n(function(ActionTypes) {\n ActionTypes[\"loadPatient\"] = \"loadPatient\";\n ActionTypes[\"newPatient\"] = \"newPatient\";\n ActionTypes[\"loadError\"] = \"patientLoadError\";\n})(ActionTypes || (ActionTypes = {}));\nvar initialState = {\n patientUuid: null,\n patient: null,\n isPendingUuid: true,\n isLoadingPatient: false,\n err: null\n};\nfunction getPatientUuidFromUrl() {\n var match = /\\/patient\\/([a-zA-Z0-9\\-]+)\\/?/.exec(location.pathname);\n return match && match[1];\n}\nfunction reducer(state, action) {\n switch(action.type){\n case ActionTypes.loadPatient:\n return _object_spread_props(_object_spread({}, state), {\n patientUuid: action.patientUuid,\n patient: null,\n isPendingUuid: false,\n isLoadingPatient: true,\n err: null\n });\n case ActionTypes.newPatient:\n return _object_spread_props(_object_spread({}, state), {\n patient: action.patient,\n isPendingUuid: false,\n isLoadingPatient: false,\n err: null\n });\n case ActionTypes.loadError:\n return _object_spread_props(_object_spread({}, state), {\n patient: null,\n isPendingUuid: false,\n isLoadingPatient: false,\n err: action.err\n });\n default:\n return state;\n }\n}\n/**\n * This React hook returns a patient object. If the `patientUuid` is provided\n * as a parameter, then the patient for that UUID is returned. If the parameter\n * is not provided, the patient UUID is obtained from the current route, and\n * a route listener is set up to update the patient whenever the route changes.\n */ function usePatient(patientUuid) {\n var _useReducer = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(reducer, _object_spread_props(_object_spread({}, initialState), {\n patientUuid: patientUuid !== null && patientUuid !== void 0 ? patientUuid : null,\n isPendingUuid: !patientUuid,\n isLoadingPatient: !!patientUuid\n })), 2), state = _useReducer[0], dispatch = _useReducer[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n if (state.isPendingUuid) {\n var patientUuidFromUrl = getPatientUuidFromUrl();\n if (patientUuidFromUrl) {\n dispatch({\n type: ActionTypes.loadPatient,\n patientUuid: patientUuidFromUrl\n });\n } else {\n dispatch({\n type: ActionTypes.newPatient,\n patient: null\n });\n }\n }\n var active = true;\n if (state.isLoadingPatient && state.patientUuid) {\n (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_1__.fetchCurrentPatient)(state.patientUuid).then(function(patient) {\n return active && dispatch({\n patient: patient,\n type: ActionTypes.newPatient\n });\n }, function(err) {\n return active && dispatch({\n err: err,\n type: ActionTypes.loadError\n });\n });\n }\n return function() {\n active = false;\n };\n }, [\n state.isPendingUuid,\n state.isLoadingPatient,\n state.patientUuid\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var handleRouteUpdate = function(evt) {\n var newPatientUuid = getPatientUuidFromUrl();\n if (newPatientUuid != state.patientUuid) {\n dispatch({\n type: ActionTypes.loadPatient,\n patientUuid: newPatientUuid\n });\n }\n };\n window.addEventListener(\"single-spa:routing-event\", handleRouteUpdate);\n return function() {\n return window.removeEventListener(\"single-spa:routing-event\", handleRouteUpdate);\n };\n }, [\n state.patientUuid\n ]);\n return {\n isLoading: state.isPendingUuid || state.isLoadingPatient,\n patient: state.patient,\n patientUuid: patientUuid !== null && patientUuid !== void 0 ? patientUuid : state.patientUuid,\n error: state.err\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlUGF0aWVudC50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNvQjtBQUNzQjtJQTZCcEU7VUFBS0csV0FBVztJQUFYQSxZQUNIQyxpQkFBQUE7SUFER0QsWUFFSEUsZ0JBQUFBO0lBRkdGLFlBR0hHLGVBQVk7R0FIVEgsZ0JBQUFBO0FBTUwsSUFBTUksZUFBb0M7SUFDeENDLGFBQWEsSUFBSTtJQUNqQkMsU0FBUyxJQUFJO0lBQ2JDLGVBQWUsSUFBSTtJQUNuQkMsa0JBQWtCLEtBQUs7SUFDdkJDLEtBQUssSUFBSTtBQUNYO0FBRUEsU0FBU0Msd0JBQXFDO0lBQzVDLElBQU1DLFFBQVEsaUNBQWlDQyxJQUFJLENBQUNDLFNBQVNDLFFBQVE7SUFDckUsT0FBT0gsU0FBU0EsS0FBSyxDQUFDLEVBQUU7QUFDMUI7QUFFQSxTQUFTSSxRQUFRQyxLQUEwQixFQUFFQyxNQUFjLEVBQXVCO0lBQ2hGLE9BQVFBLE9BQU9DLElBQUk7UUFDakIsS0FBS2xCLFlBQVlDLFdBQVc7WUFDMUIsT0FBTyx3Q0FDRmU7Z0JBQ0hYLGFBQWFZLE9BQU9aLFdBQVc7Z0JBQy9CQyxTQUFTLElBQUk7Z0JBQ2JDLGVBQWUsS0FBSztnQkFDcEJDLGtCQUFrQixJQUFJO2dCQUN0QkMsS0FBSyxJQUFJOztRQUViLEtBQUtULFlBQVlFLFVBQVU7WUFDekIsT0FBTyx3Q0FDRmM7Z0JBQ0hWLFNBQVNXLE9BQU9YLE9BQU87Z0JBQ3ZCQyxlQUFlLEtBQUs7Z0JBQ3BCQyxrQkFBa0IsS0FBSztnQkFDdkJDLEtBQUssSUFBSTs7UUFFYixLQUFLVCxZQUFZRyxTQUFTO1lBQ3hCLE9BQU8sd0NBQ0ZhO2dCQUNIVixTQUFTLElBQUk7Z0JBQ2JDLGVBQWUsS0FBSztnQkFDcEJDLGtCQUFrQixLQUFLO2dCQUN2QkMsS0FBS1EsT0FBT1IsR0FBRzs7UUFFbkI7WUFDRSxPQUFPTztJQUNYO0FBQ0Y7QUFFQTs7Ozs7Q0FLQyxHQUNNLFNBQVNHLFdBQVdkLFdBQW9CLEVBQUU7SUFDL0MsSUFBMEJQLCtCQUFBQSxpREFBVUEsQ0FBQ2lCLFNBQVMsd0NBQ3pDWDtRQUNIQyxhQUFhQSx3QkFBQUEseUJBQUFBLGNBQWUsSUFBSTtRQUNoQ0UsZUFBZSxDQUFDRjtRQUNoQkcsa0JBQWtCLENBQUMsQ0FBQ0g7YUFKZlcsUUFBbUJsQixnQkFBWnNCLFdBQVl0QjtJQU8xQkQsZ0RBQVNBLENBQUMsV0FBTTtRQUNkLElBQUltQixNQUFNVCxhQUFhLEVBQUU7WUFDdkIsSUFBTWMscUJBQXFCWDtZQUMzQixJQUFJVyxvQkFBb0I7Z0JBQ3RCRCxTQUFTO29CQUNQRixNQUFNbEIsWUFBWUMsV0FBVztvQkFDN0JJLGFBQWFnQjtnQkFDZjtZQUNGLE9BQU87Z0JBQ0xELFNBQVM7b0JBQUVGLE1BQU1sQixZQUFZRSxVQUFVO29CQUFFSSxTQUFTLElBQUk7Z0JBQUM7WUFDekQsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJZ0IsU0FBUyxJQUFJO1FBQ2pCLElBQUlOLE1BQU1SLGdCQUFnQixJQUFJUSxNQUFNWCxXQUFXLEVBQUU7WUFDL0NOLHFFQUFtQkEsQ0FBQ2lCLE1BQU1YLFdBQVcsRUFBRWtCLElBQUksQ0FDekMsU0FBQ2pCO3VCQUNDZ0IsVUFDQUYsU0FBUztvQkFDUGQsU0FBU0E7b0JBQ1RZLE1BQU1sQixZQUFZRSxVQUFVO2dCQUM5QjtlQUNGLFNBQUNPO3VCQUNDYSxVQUNBRixTQUFTO29CQUNQWCxLQUFBQTtvQkFDQVMsTUFBTWxCLFlBQVlHLFNBQVM7Z0JBQzdCOztRQUVOLENBQUM7UUFDRCxPQUFPLFdBQU07WUFDWG1CLFNBQVMsS0FBSztRQUNoQjtJQUNGLEdBQUc7UUFBQ04sTUFBTVQsYUFBYTtRQUFFUyxNQUFNUixnQkFBZ0I7UUFBRVEsTUFBTVgsV0FBVztLQUFDO0lBRW5FUixnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBTTJCLG9CQUFvQixTQUFDQyxLQUFRO1lBQ2pDLElBQU1DLGlCQUFpQmhCO1lBQ3ZCLElBQUlnQixrQkFBa0JWLE1BQU1YLFdBQVcsRUFBRTtnQkFDdkNlLFNBQVM7b0JBQ1BGLE1BQU1sQixZQUFZQyxXQUFXO29CQUM3QkksYUFBYXFCO2dCQUNmO1lBQ0YsQ0FBQztRQUNIO1FBQ0FDLE9BQU9DLGdCQUFnQixDQUFDLDRCQUE0Qko7UUFDcEQsT0FBTzttQkFBTUcsT0FBT0UsbUJBQW1CLENBQUMsNEJBQTRCTDs7SUFDdEUsR0FBRztRQUFDUixNQUFNWCxXQUFXO0tBQUM7SUFFdEIsT0FBTztRQUNMeUIsV0FBV2QsTUFBTVQsYUFBYSxJQUFJUyxNQUFNUixnQkFBZ0I7UUFDeERGLFNBQVNVLE1BQU1WLE9BQU87UUFDdEJELGFBQWFBLHdCQUFBQSx5QkFBQUEsY0FBZVcsTUFBTVgsV0FBVztRQUM3QzBCLE9BQU9mLE1BQU1QLEdBQUc7SUFDbEI7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VQYXRpZW50LnRzPzgyYWIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWR1Y2VyIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZmV0Y2hDdXJyZW50UGF0aWVudCwgUGF0aWVudFV1aWQgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcblxuZXhwb3J0IHR5cGUgTnVsbGFibGVQYXRpZW50ID0gZmhpci5QYXRpZW50IHwgbnVsbDtcblxuaW50ZXJmYWNlIEN1cnJlbnRQYXRpZW50U3RhdGUge1xuICBwYXRpZW50VXVpZDogc3RyaW5nIHwgbnVsbDtcbiAgcGF0aWVudDogTnVsbGFibGVQYXRpZW50O1xuICBpc1BlbmRpbmdVdWlkOiBib29sZWFuO1xuICBpc0xvYWRpbmdQYXRpZW50OiBib29sZWFuO1xuICBlcnI6IEVycm9yIHwgbnVsbDtcbn1cblxuaW50ZXJmYWNlIExvYWRQYXRpZW50IHtcbiAgdHlwZTogQWN0aW9uVHlwZXMubG9hZFBhdGllbnQ7XG4gIHBhdGllbnRVdWlkOiBzdHJpbmcgfCBudWxsO1xufVxuXG5pbnRlcmZhY2UgTmV3UGF0aWVudCB7XG4gIHR5cGU6IEFjdGlvblR5cGVzLm5ld1BhdGllbnQ7XG4gIHBhdGllbnQ6IE51bGxhYmxlUGF0aWVudDtcbn1cblxuaW50ZXJmYWNlIFBhdGllbnRMb2FkRXJyb3Ige1xuICB0eXBlOiBBY3Rpb25UeXBlcy5sb2FkRXJyb3I7XG4gIGVycjogRXJyb3IgfCBudWxsO1xufVxuXG50eXBlIEFjdGlvbiA9IExvYWRQYXRpZW50IHwgTmV3UGF0aWVudCB8IFBhdGllbnRMb2FkRXJyb3I7XG5cbmVudW0gQWN0aW9uVHlwZXMge1xuICBsb2FkUGF0aWVudCA9ICdsb2FkUGF0aWVudCcsXG4gIG5ld1BhdGllbnQgPSAnbmV3UGF0aWVudCcsXG4gIGxvYWRFcnJvciA9ICdwYXRpZW50TG9hZEVycm9yJyxcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlOiBDdXJyZW50UGF0aWVudFN0YXRlID0ge1xuICBwYXRpZW50VXVpZDogbnVsbCxcbiAgcGF0aWVudDogbnVsbCxcbiAgaXNQZW5kaW5nVXVpZDogdHJ1ZSxcbiAgaXNMb2FkaW5nUGF0aWVudDogZmFsc2UsXG4gIGVycjogbnVsbCxcbn07XG5cbmZ1bmN0aW9uIGdldFBhdGllbnRVdWlkRnJvbVVybCgpOiBQYXRpZW50VXVpZCB7XG4gIGNvbnN0IG1hdGNoID0gL1xcL3BhdGllbnRcXC8oW2EtekEtWjAtOVxcLV0rKVxcLz8vLmV4ZWMobG9jYXRpb24ucGF0aG5hbWUpO1xuICByZXR1cm4gbWF0Y2ggJiYgbWF0Y2hbMV07XG59XG5cbmZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IEN1cnJlbnRQYXRpZW50U3RhdGUsIGFjdGlvbjogQWN0aW9uKTogQ3VycmVudFBhdGllbnRTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICBjYXNlIEFjdGlvblR5cGVzLmxvYWRQYXRpZW50OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHBhdGllbnRVdWlkOiBhY3Rpb24ucGF0aWVudFV1aWQsXG4gICAgICAgIHBhdGllbnQ6IG51bGwsXG4gICAgICAgIGlzUGVuZGluZ1V1aWQ6IGZhbHNlLFxuICAgICAgICBpc0xvYWRpbmdQYXRpZW50OiB0cnVlLFxuICAgICAgICBlcnI6IG51bGwsXG4gICAgICB9O1xuICAgIGNhc2UgQWN0aW9uVHlwZXMubmV3UGF0aWVudDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwYXRpZW50OiBhY3Rpb24ucGF0aWVudCxcbiAgICAgICAgaXNQZW5kaW5nVXVpZDogZmFsc2UsXG4gICAgICAgIGlzTG9hZGluZ1BhdGllbnQ6IGZhbHNlLFxuICAgICAgICBlcnI6IG51bGwsXG4gICAgICB9O1xuICAgIGNhc2UgQWN0aW9uVHlwZXMubG9hZEVycm9yOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHBhdGllbnQ6IG51bGwsXG4gICAgICAgIGlzUGVuZGluZ1V1aWQ6IGZhbHNlLFxuICAgICAgICBpc0xvYWRpbmdQYXRpZW50OiBmYWxzZSxcbiAgICAgICAgZXJyOiBhY3Rpb24uZXJyLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBSZWFjdCBob29rIHJldHVybnMgYSBwYXRpZW50IG9iamVjdC4gSWYgdGhlIGBwYXRpZW50VXVpZGAgaXMgcHJvdmlkZWRcbiAqIGFzIGEgcGFyYW1ldGVyLCB0aGVuIHRoZSBwYXRpZW50IGZvciB0aGF0IFVVSUQgaXMgcmV0dXJuZWQuIElmIHRoZSBwYXJhbWV0ZXJcbiAqIGlzIG5vdCBwcm92aWRlZCwgdGhlIHBhdGllbnQgVVVJRCBpcyBvYnRhaW5lZCBmcm9tIHRoZSBjdXJyZW50IHJvdXRlLCBhbmRcbiAqIGEgcm91dGUgbGlzdGVuZXIgaXMgc2V0IHVwIHRvIHVwZGF0ZSB0aGUgcGF0aWVudCB3aGVuZXZlciB0aGUgcm91dGUgY2hhbmdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVBhdGllbnQocGF0aWVudFV1aWQ/OiBzdHJpbmcpIHtcbiAgY29uc3QgW3N0YXRlLCBkaXNwYXRjaF0gPSB1c2VSZWR1Y2VyKHJlZHVjZXIsIHtcbiAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgcGF0aWVudFV1aWQ6IHBhdGllbnRVdWlkID8/IG51bGwsXG4gICAgaXNQZW5kaW5nVXVpZDogIXBhdGllbnRVdWlkLFxuICAgIGlzTG9hZGluZ1BhdGllbnQ6ICEhcGF0aWVudFV1aWQsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0YXRlLmlzUGVuZGluZ1V1aWQpIHtcbiAgICAgIGNvbnN0IHBhdGllbnRVdWlkRnJvbVVybCA9IGdldFBhdGllbnRVdWlkRnJvbVVybCgpO1xuICAgICAgaWYgKHBhdGllbnRVdWlkRnJvbVVybCkge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMubG9hZFBhdGllbnQsXG4gICAgICAgICAgcGF0aWVudFV1aWQ6IHBhdGllbnRVdWlkRnJvbVVybCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IEFjdGlvblR5cGVzLm5ld1BhdGllbnQsIHBhdGllbnQ6IG51bGwgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGFjdGl2ZSA9IHRydWU7XG4gICAgaWYgKHN0YXRlLmlzTG9hZGluZ1BhdGllbnQgJiYgc3RhdGUucGF0aWVudFV1aWQpIHtcbiAgICAgIGZldGNoQ3VycmVudFBhdGllbnQoc3RhdGUucGF0aWVudFV1aWQpLnRoZW4oXG4gICAgICAgIChwYXRpZW50KSA9PlxuICAgICAgICAgIGFjdGl2ZSAmJlxuICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgIHBhdGllbnQ6IHBhdGllbnQsXG4gICAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5uZXdQYXRpZW50LFxuICAgICAgICAgIH0pLFxuICAgICAgICAoZXJyKSA9PlxuICAgICAgICAgIGFjdGl2ZSAmJlxuICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgIGVycixcbiAgICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLmxvYWRFcnJvcixcbiAgICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBhY3RpdmUgPSBmYWxzZTtcbiAgICB9O1xuICB9LCBbc3RhdGUuaXNQZW5kaW5nVXVpZCwgc3RhdGUuaXNMb2FkaW5nUGF0aWVudCwgc3RhdGUucGF0aWVudFV1aWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJvdXRlVXBkYXRlID0gKGV2dCkgPT4ge1xuICAgICAgY29uc3QgbmV3UGF0aWVudFV1aWQgPSBnZXRQYXRpZW50VXVpZEZyb21VcmwoKTtcbiAgICAgIGlmIChuZXdQYXRpZW50VXVpZCAhPSBzdGF0ZS5wYXRpZW50VXVpZCkge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMubG9hZFBhdGllbnQsXG4gICAgICAgICAgcGF0aWVudFV1aWQ6IG5ld1BhdGllbnRVdWlkLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzaW5nbGUtc3BhOnJvdXRpbmctZXZlbnQnLCBoYW5kbGVSb3V0ZVVwZGF0ZSk7XG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzaW5nbGUtc3BhOnJvdXRpbmctZXZlbnQnLCBoYW5kbGVSb3V0ZVVwZGF0ZSk7XG4gIH0sIFtzdGF0ZS5wYXRpZW50VXVpZF0pO1xuXG4gIHJldHVybiB7XG4gICAgaXNMb2FkaW5nOiBzdGF0ZS5pc1BlbmRpbmdVdWlkIHx8IHN0YXRlLmlzTG9hZGluZ1BhdGllbnQsXG4gICAgcGF0aWVudDogc3RhdGUucGF0aWVudCxcbiAgICBwYXRpZW50VXVpZDogcGF0aWVudFV1aWQgPz8gc3RhdGUucGF0aWVudFV1aWQsXG4gICAgZXJyb3I6IHN0YXRlLmVycixcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWR1Y2VyIiwiZmV0Y2hDdXJyZW50UGF0aWVudCIsIkFjdGlvblR5cGVzIiwibG9hZFBhdGllbnQiLCJuZXdQYXRpZW50IiwibG9hZEVycm9yIiwiaW5pdGlhbFN0YXRlIiwicGF0aWVudFV1aWQiLCJwYXRpZW50IiwiaXNQZW5kaW5nVXVpZCIsImlzTG9hZGluZ1BhdGllbnQiLCJlcnIiLCJnZXRQYXRpZW50VXVpZEZyb21VcmwiLCJtYXRjaCIsImV4ZWMiLCJsb2NhdGlvbiIsInBhdGhuYW1lIiwicmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsInVzZVBhdGllbnQiLCJkaXNwYXRjaCIsInBhdGllbnRVdWlkRnJvbVVybCIsImFjdGl2ZSIsInRoZW4iLCJoYW5kbGVSb3V0ZVVwZGF0ZSIsImV2dCIsIm5ld1BhdGllbnRVdWlkIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpc0xvYWRpbmciLCJlcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/usePatient.ts\n");
|
|
7285
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ usePatient: () => (/* binding */ usePatient)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActionTypes;\n(function(ActionTypes) {\n ActionTypes[\"loadPatient\"] = \"loadPatient\";\n ActionTypes[\"newPatient\"] = \"newPatient\";\n ActionTypes[\"loadError\"] = \"patientLoadError\";\n})(ActionTypes || (ActionTypes = {}));\nvar initialState = {\n patientUuid: null,\n patient: null,\n isPendingUuid: true,\n isLoadingPatient: false,\n err: null\n};\nfunction getPatientUuidFromUrl() {\n var match = /\\/patient\\/([a-zA-Z0-9\\-]+)\\/?/.exec(location.pathname);\n return match && match[1];\n}\nfunction reducer(state, action) {\n switch(action.type){\n case ActionTypes.loadPatient:\n return _object_spread_props(_object_spread({}, state), {\n patientUuid: action.patientUuid,\n patient: null,\n isPendingUuid: false,\n isLoadingPatient: true,\n err: null\n });\n case ActionTypes.newPatient:\n return _object_spread_props(_object_spread({}, state), {\n patient: action.patient,\n isPendingUuid: false,\n isLoadingPatient: false,\n err: null\n });\n case ActionTypes.loadError:\n return _object_spread_props(_object_spread({}, state), {\n patient: null,\n isPendingUuid: false,\n isLoadingPatient: false,\n err: action.err\n });\n default:\n return state;\n }\n}\n/**\n * This React hook returns a patient object. If the `patientUuid` is provided\n * as a parameter, then the patient for that UUID is returned. If the parameter\n * is not provided, the patient UUID is obtained from the current route, and\n * a route listener is set up to update the patient whenever the route changes.\n */ function usePatient(patientUuid) {\n var _useReducer = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(reducer, _object_spread_props(_object_spread({}, initialState), {\n patientUuid: patientUuid !== null && patientUuid !== void 0 ? patientUuid : null,\n isPendingUuid: !patientUuid,\n isLoadingPatient: !!patientUuid\n })), 2), state = _useReducer[0], dispatch = _useReducer[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n if (state.isPendingUuid) {\n var patientUuidFromUrl = getPatientUuidFromUrl();\n if (patientUuidFromUrl) {\n dispatch({\n type: ActionTypes.loadPatient,\n patientUuid: patientUuidFromUrl\n });\n } else {\n dispatch({\n type: ActionTypes.newPatient,\n patient: null\n });\n }\n }\n var active = true;\n if (state.isLoadingPatient && state.patientUuid) {\n (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_1__.fetchCurrentPatient)(state.patientUuid).then(function(patient) {\n return active && dispatch({\n patient: patient,\n type: ActionTypes.newPatient\n });\n }, function(err) {\n return active && dispatch({\n err: err,\n type: ActionTypes.loadError\n });\n });\n }\n return function() {\n active = false;\n };\n }, [\n state.isPendingUuid,\n state.isLoadingPatient,\n state.patientUuid\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var handleRouteUpdate = function(evt) {\n var newPatientUuid = getPatientUuidFromUrl();\n if (newPatientUuid != state.patientUuid) {\n dispatch({\n type: ActionTypes.loadPatient,\n patientUuid: newPatientUuid\n });\n }\n };\n window.addEventListener(\"single-spa:routing-event\", handleRouteUpdate);\n return function() {\n return window.removeEventListener(\"single-spa:routing-event\", handleRouteUpdate);\n };\n }, [\n state.patientUuid\n ]);\n return {\n isLoading: state.isPendingUuid || state.isLoadingPatient,\n patient: state.patient,\n patientUuid: patientUuid !== null && patientUuid !== void 0 ? patientUuid : state.patientUuid,\n error: state.err\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlUGF0aWVudC50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNvQjtBQUVTO0lBNkJ2RDtVQUFLRyxXQUFXO0lBQVhBLFlBQ0hDLGlCQUFBQTtJQURHRCxZQUVIRSxnQkFBQUE7SUFGR0YsWUFHSEcsZUFBWTtHQUhUSCxnQkFBQUE7QUFNTCxJQUFNSSxlQUFvQztJQUN4Q0MsYUFBYSxJQUFJO0lBQ2pCQyxTQUFTLElBQUk7SUFDYkMsZUFBZSxJQUFJO0lBQ25CQyxrQkFBa0IsS0FBSztJQUN2QkMsS0FBSyxJQUFJO0FBQ1g7QUFFQSxTQUFTQyx3QkFBcUM7SUFDNUMsSUFBTUMsUUFBUSxpQ0FBaUNDLElBQUksQ0FBQ0MsU0FBU0MsUUFBUTtJQUNyRSxPQUFPSCxTQUFTQSxLQUFLLENBQUMsRUFBRTtBQUMxQjtBQUVBLFNBQVNJLFFBQVFDLEtBQTBCLEVBQUVDLE1BQWMsRUFBdUI7SUFDaEYsT0FBUUEsT0FBT0MsSUFBSTtRQUNqQixLQUFLbEIsWUFBWUMsV0FBVztZQUMxQixPQUFPLHdDQUNGZTtnQkFDSFgsYUFBYVksT0FBT1osV0FBVztnQkFDL0JDLFNBQVMsSUFBSTtnQkFDYkMsZUFBZSxLQUFLO2dCQUNwQkMsa0JBQWtCLElBQUk7Z0JBQ3RCQyxLQUFLLElBQUk7O1FBRWIsS0FBS1QsWUFBWUUsVUFBVTtZQUN6QixPQUFPLHdDQUNGYztnQkFDSFYsU0FBU1csT0FBT1gsT0FBTztnQkFDdkJDLGVBQWUsS0FBSztnQkFDcEJDLGtCQUFrQixLQUFLO2dCQUN2QkMsS0FBSyxJQUFJOztRQUViLEtBQUtULFlBQVlHLFNBQVM7WUFDeEIsT0FBTyx3Q0FDRmE7Z0JBQ0hWLFNBQVMsSUFBSTtnQkFDYkMsZUFBZSxLQUFLO2dCQUNwQkMsa0JBQWtCLEtBQUs7Z0JBQ3ZCQyxLQUFLUSxPQUFPUixHQUFHOztRQUVuQjtZQUNFLE9BQU9PO0lBQ1g7QUFDRjtBQUVBOzs7OztDQUtDLEdBQ00sU0FBU0csV0FBV2QsV0FBb0IsRUFBRTtJQUMvQyxJQUEwQlAsK0JBQUFBLGlEQUFVQSxDQUFDaUIsU0FBUyx3Q0FDekNYO1FBQ0hDLGFBQWFBLHdCQUFBQSx5QkFBQUEsY0FBZSxJQUFJO1FBQ2hDRSxlQUFlLENBQUNGO1FBQ2hCRyxrQkFBa0IsQ0FBQyxDQUFDSDthQUpmVyxRQUFtQmxCLGdCQUFac0IsV0FBWXRCO0lBTzFCRCxnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBSW1CLE1BQU1ULGFBQWEsRUFBRTtZQUN2QixJQUFNYyxxQkFBcUJYO1lBQzNCLElBQUlXLG9CQUFvQjtnQkFDdEJELFNBQVM7b0JBQ1BGLE1BQU1sQixZQUFZQyxXQUFXO29CQUM3QkksYUFBYWdCO2dCQUNmO1lBQ0YsT0FBTztnQkFDTEQsU0FBUztvQkFBRUYsTUFBTWxCLFlBQVlFLFVBQVU7b0JBQUVJLFNBQVMsSUFBSTtnQkFBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUlnQixTQUFTLElBQUk7UUFDakIsSUFBSU4sTUFBTVIsZ0JBQWdCLElBQUlRLE1BQU1YLFdBQVcsRUFBRTtZQUMvQ04scUVBQW1CQSxDQUFDaUIsTUFBTVgsV0FBVyxFQUFFa0IsSUFBSSxDQUN6QyxTQUFDakI7dUJBQ0NnQixVQUNBRixTQUFTO29CQUNQZCxTQUFTQTtvQkFDVFksTUFBTWxCLFlBQVlFLFVBQVU7Z0JBQzlCO2VBQ0YsU0FBQ087dUJBQ0NhLFVBQ0FGLFNBQVM7b0JBQ1BYLEtBQUFBO29CQUNBUyxNQUFNbEIsWUFBWUcsU0FBUztnQkFDN0I7O1FBRU4sQ0FBQztRQUNELE9BQU8sV0FBTTtZQUNYbUIsU0FBUyxLQUFLO1FBQ2hCO0lBQ0YsR0FBRztRQUFDTixNQUFNVCxhQUFhO1FBQUVTLE1BQU1SLGdCQUFnQjtRQUFFUSxNQUFNWCxXQUFXO0tBQUM7SUFFbkVSLGdEQUFTQSxDQUFDLFdBQU07UUFDZCxJQUFNMkIsb0JBQW9CLFNBQUNDLEtBQVE7WUFDakMsSUFBTUMsaUJBQWlCaEI7WUFDdkIsSUFBSWdCLGtCQUFrQlYsTUFBTVgsV0FBVyxFQUFFO2dCQUN2Q2UsU0FBUztvQkFDUEYsTUFBTWxCLFlBQVlDLFdBQVc7b0JBQzdCSSxhQUFhcUI7Z0JBQ2Y7WUFDRixDQUFDO1FBQ0g7UUFDQUMsT0FBT0MsZ0JBQWdCLENBQUMsNEJBQTRCSjtRQUNwRCxPQUFPO21CQUFNRyxPQUFPRSxtQkFBbUIsQ0FBQyw0QkFBNEJMOztJQUN0RSxHQUFHO1FBQUNSLE1BQU1YLFdBQVc7S0FBQztJQUV0QixPQUFPO1FBQ0x5QixXQUFXZCxNQUFNVCxhQUFhLElBQUlTLE1BQU1SLGdCQUFnQjtRQUN4REYsU0FBU1UsTUFBTVYsT0FBTztRQUN0QkQsYUFBYUEsd0JBQUFBLHlCQUFBQSxjQUFlVyxNQUFNWCxXQUFXO1FBQzdDMEIsT0FBT2YsTUFBTVAsR0FBRztJQUNsQjtBQUNGLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZVBhdGllbnQudHM/ODJhYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZHVjZXIgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFBhdGllbnRVdWlkIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgeyBmZXRjaEN1cnJlbnRQYXRpZW50IH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5cbmV4cG9ydCB0eXBlIE51bGxhYmxlUGF0aWVudCA9IGZoaXIuUGF0aWVudCB8IG51bGw7XG5cbmludGVyZmFjZSBDdXJyZW50UGF0aWVudFN0YXRlIHtcbiAgcGF0aWVudFV1aWQ6IHN0cmluZyB8IG51bGw7XG4gIHBhdGllbnQ6IE51bGxhYmxlUGF0aWVudDtcbiAgaXNQZW5kaW5nVXVpZDogYm9vbGVhbjtcbiAgaXNMb2FkaW5nUGF0aWVudDogYm9vbGVhbjtcbiAgZXJyOiBFcnJvciB8IG51bGw7XG59XG5cbmludGVyZmFjZSBMb2FkUGF0aWVudCB7XG4gIHR5cGU6IEFjdGlvblR5cGVzLmxvYWRQYXRpZW50O1xuICBwYXRpZW50VXVpZDogc3RyaW5nIHwgbnVsbDtcbn1cblxuaW50ZXJmYWNlIE5ld1BhdGllbnQge1xuICB0eXBlOiBBY3Rpb25UeXBlcy5uZXdQYXRpZW50O1xuICBwYXRpZW50OiBOdWxsYWJsZVBhdGllbnQ7XG59XG5cbmludGVyZmFjZSBQYXRpZW50TG9hZEVycm9yIHtcbiAgdHlwZTogQWN0aW9uVHlwZXMubG9hZEVycm9yO1xuICBlcnI6IEVycm9yIHwgbnVsbDtcbn1cblxudHlwZSBBY3Rpb24gPSBMb2FkUGF0aWVudCB8IE5ld1BhdGllbnQgfCBQYXRpZW50TG9hZEVycm9yO1xuXG5lbnVtIEFjdGlvblR5cGVzIHtcbiAgbG9hZFBhdGllbnQgPSAnbG9hZFBhdGllbnQnLFxuICBuZXdQYXRpZW50ID0gJ25ld1BhdGllbnQnLFxuICBsb2FkRXJyb3IgPSAncGF0aWVudExvYWRFcnJvcicsXG59XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogQ3VycmVudFBhdGllbnRTdGF0ZSA9IHtcbiAgcGF0aWVudFV1aWQ6IG51bGwsXG4gIHBhdGllbnQ6IG51bGwsXG4gIGlzUGVuZGluZ1V1aWQ6IHRydWUsXG4gIGlzTG9hZGluZ1BhdGllbnQ6IGZhbHNlLFxuICBlcnI6IG51bGwsXG59O1xuXG5mdW5jdGlvbiBnZXRQYXRpZW50VXVpZEZyb21VcmwoKTogUGF0aWVudFV1aWQge1xuICBjb25zdCBtYXRjaCA9IC9cXC9wYXRpZW50XFwvKFthLXpBLVowLTlcXC1dKylcXC8/Ly5leGVjKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgcmV0dXJuIG1hdGNoICYmIG1hdGNoWzFdO1xufVxuXG5mdW5jdGlvbiByZWR1Y2VyKHN0YXRlOiBDdXJyZW50UGF0aWVudFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IEN1cnJlbnRQYXRpZW50U3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBBY3Rpb25UeXBlcy5sb2FkUGF0aWVudDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwYXRpZW50VXVpZDogYWN0aW9uLnBhdGllbnRVdWlkLFxuICAgICAgICBwYXRpZW50OiBudWxsLFxuICAgICAgICBpc1BlbmRpbmdVdWlkOiBmYWxzZSxcbiAgICAgICAgaXNMb2FkaW5nUGF0aWVudDogdHJ1ZSxcbiAgICAgICAgZXJyOiBudWxsLFxuICAgICAgfTtcbiAgICBjYXNlIEFjdGlvblR5cGVzLm5ld1BhdGllbnQ6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGF0aWVudDogYWN0aW9uLnBhdGllbnQsXG4gICAgICAgIGlzUGVuZGluZ1V1aWQ6IGZhbHNlLFxuICAgICAgICBpc0xvYWRpbmdQYXRpZW50OiBmYWxzZSxcbiAgICAgICAgZXJyOiBudWxsLFxuICAgICAgfTtcbiAgICBjYXNlIEFjdGlvblR5cGVzLmxvYWRFcnJvcjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwYXRpZW50OiBudWxsLFxuICAgICAgICBpc1BlbmRpbmdVdWlkOiBmYWxzZSxcbiAgICAgICAgaXNMb2FkaW5nUGF0aWVudDogZmFsc2UsXG4gICAgICAgIGVycjogYWN0aW9uLmVycixcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgUmVhY3QgaG9vayByZXR1cm5zIGEgcGF0aWVudCBvYmplY3QuIElmIHRoZSBgcGF0aWVudFV1aWRgIGlzIHByb3ZpZGVkXG4gKiBhcyBhIHBhcmFtZXRlciwgdGhlbiB0aGUgcGF0aWVudCBmb3IgdGhhdCBVVUlEIGlzIHJldHVybmVkLiBJZiB0aGUgcGFyYW1ldGVyXG4gKiBpcyBub3QgcHJvdmlkZWQsIHRoZSBwYXRpZW50IFVVSUQgaXMgb2J0YWluZWQgZnJvbSB0aGUgY3VycmVudCByb3V0ZSwgYW5kXG4gKiBhIHJvdXRlIGxpc3RlbmVyIGlzIHNldCB1cCB0byB1cGRhdGUgdGhlIHBhdGllbnQgd2hlbmV2ZXIgdGhlIHJvdXRlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VQYXRpZW50KHBhdGllbnRVdWlkPzogc3RyaW5nKSB7XG4gIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlUmVkdWNlcihyZWR1Y2VyLCB7XG4gICAgLi4uaW5pdGlhbFN0YXRlLFxuICAgIHBhdGllbnRVdWlkOiBwYXRpZW50VXVpZCA/PyBudWxsLFxuICAgIGlzUGVuZGluZ1V1aWQ6ICFwYXRpZW50VXVpZCxcbiAgICBpc0xvYWRpbmdQYXRpZW50OiAhIXBhdGllbnRVdWlkLFxuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdGF0ZS5pc1BlbmRpbmdVdWlkKSB7XG4gICAgICBjb25zdCBwYXRpZW50VXVpZEZyb21VcmwgPSBnZXRQYXRpZW50VXVpZEZyb21VcmwoKTtcbiAgICAgIGlmIChwYXRpZW50VXVpZEZyb21VcmwpIHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLmxvYWRQYXRpZW50LFxuICAgICAgICAgIHBhdGllbnRVdWlkOiBwYXRpZW50VXVpZEZyb21VcmwsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBBY3Rpb25UeXBlcy5uZXdQYXRpZW50LCBwYXRpZW50OiBudWxsIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBhY3RpdmUgPSB0cnVlO1xuICAgIGlmIChzdGF0ZS5pc0xvYWRpbmdQYXRpZW50ICYmIHN0YXRlLnBhdGllbnRVdWlkKSB7XG4gICAgICBmZXRjaEN1cnJlbnRQYXRpZW50KHN0YXRlLnBhdGllbnRVdWlkKS50aGVuKFxuICAgICAgICAocGF0aWVudCkgPT5cbiAgICAgICAgICBhY3RpdmUgJiZcbiAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICBwYXRpZW50OiBwYXRpZW50LFxuICAgICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMubmV3UGF0aWVudCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKGVycikgPT5cbiAgICAgICAgICBhY3RpdmUgJiZcbiAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5sb2FkRXJyb3IsXG4gICAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgYWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW3N0YXRlLmlzUGVuZGluZ1V1aWQsIHN0YXRlLmlzTG9hZGluZ1BhdGllbnQsIHN0YXRlLnBhdGllbnRVdWlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVSb3V0ZVVwZGF0ZSA9IChldnQpID0+IHtcbiAgICAgIGNvbnN0IG5ld1BhdGllbnRVdWlkID0gZ2V0UGF0aWVudFV1aWRGcm9tVXJsKCk7XG4gICAgICBpZiAobmV3UGF0aWVudFV1aWQgIT0gc3RhdGUucGF0aWVudFV1aWQpIHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLmxvYWRQYXRpZW50LFxuICAgICAgICAgIHBhdGllbnRVdWlkOiBuZXdQYXRpZW50VXVpZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2luZ2xlLXNwYTpyb3V0aW5nLWV2ZW50JywgaGFuZGxlUm91dGVVcGRhdGUpO1xuICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2luZ2xlLXNwYTpyb3V0aW5nLWV2ZW50JywgaGFuZGxlUm91dGVVcGRhdGUpO1xuICB9LCBbc3RhdGUucGF0aWVudFV1aWRdKTtcblxuICByZXR1cm4ge1xuICAgIGlzTG9hZGluZzogc3RhdGUuaXNQZW5kaW5nVXVpZCB8fCBzdGF0ZS5pc0xvYWRpbmdQYXRpZW50LFxuICAgIHBhdGllbnQ6IHN0YXRlLnBhdGllbnQsXG4gICAgcGF0aWVudFV1aWQ6IHBhdGllbnRVdWlkID8/IHN0YXRlLnBhdGllbnRVdWlkLFxuICAgIGVycm9yOiBzdGF0ZS5lcnIsXG4gIH07XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlUmVkdWNlciIsImZldGNoQ3VycmVudFBhdGllbnQiLCJBY3Rpb25UeXBlcyIsImxvYWRQYXRpZW50IiwibmV3UGF0aWVudCIsImxvYWRFcnJvciIsImluaXRpYWxTdGF0ZSIsInBhdGllbnRVdWlkIiwicGF0aWVudCIsImlzUGVuZGluZ1V1aWQiLCJpc0xvYWRpbmdQYXRpZW50IiwiZXJyIiwiZ2V0UGF0aWVudFV1aWRGcm9tVXJsIiwibWF0Y2giLCJleGVjIiwibG9jYXRpb24iLCJwYXRobmFtZSIsInJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJ1c2VQYXRpZW50IiwiZGlzcGF0Y2giLCJwYXRpZW50VXVpZEZyb21VcmwiLCJhY3RpdmUiLCJ0aGVuIiwiaGFuZGxlUm91dGVVcGRhdGUiLCJldnQiLCJuZXdQYXRpZW50VXVpZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaXNMb2FkaW5nIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/usePatient.ts\n");
|
|
7286
7286
|
|
|
7287
7287
|
/***/ }),
|
|
7288
7288
|
|
|
@@ -7293,7 +7293,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7293
7293
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7294
7294
|
|
|
7295
7295
|
"use strict";
|
|
7296
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __cleanup: () => (/* binding */ __cleanup),\n/* harmony export */ useSession: () => (/* binding */ useSession)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar promise;\n/**\n * Gets the current user session information. Returns an object with\n * property `authenticated` == `false` if the user is not logged in.\n *\n * Uses Suspense. This hook will always either return a Session object\n * or throw for Suspense. It will never return `null`/`undefined`.\n *\n * @returns Current user session information\n */ function useSession() {\n // We have two separate variables for the session.\n //\n // `session` is a temporary variable, which starts as `null` every time this\n // hook is executed. It is important that we can set and return this\n // variable synchronously, because every time we `throw` for Suspense, this\n // hook will unmount and a new instance will be created, destroying whatever\n // state existed. Thus, if this hook were to try to always set and return\n // `stateSession`, it would cause an infinite loop:\n // 1. instance A mounts\n // 2. instance A receives value, calls `setStateSession`\n // 3. instance A throws\n // 4. instance A unmounts\n // 5. instance B mounts\n // ...\n // What would happen if we moved `session` to the module scope, so that it\n // could be re-used across instances of this hook? Then we would have no way\n // to tell whether the session was fresh.\n //\n // `stateSession` is React state, which is needed to update components using\n // this hook when the session changes.\n var unsubscribe = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null), 2), stateSession = _useState[0], setStateSession = _useState[1];\n var session = null;\n if (!stateSession) {\n if (!promise) {\n // If we haven't created a promise to throw yet, do that.\n // current-user.ts handles the initial session fetch as soon as `getSessionStore()`\n // is called. We just need to call it and set up a listener for when session data\n // is loaded. As soon as we have the initial session data, we remove this initial\n // store subscription so we can set up the \"ongoing\" one later.\n promise = new Promise(function(resolve) {\n var handleNewSession = function(param) {\n var loaded = param.loaded, newSession = param.session;\n if (loaded) {\n resolve(newSession);\n session = newSession;\n unsubscribe.current && unsubscribe.current();\n unsubscribe.current = undefined;\n }\n };\n handleNewSession((0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().getState());\n if (!session) {\n unsubscribe.current = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().subscribe(handleNewSession);\n }\n });\n } else {\n // However, if we have created a promise to throw, but there's no `stateSession`\n // yet, then it's probably just this hook's first render. Check to see if\n // there's already a session that we can return.\n var currentState = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().getState();\n if (currentState.loaded) {\n session = currentState.session;\n }\n }\n // If the session got set synchronously in the above block, then we can just\n // return it rather than throwing. Otherwise, throw for Suspense.\n if (session) {\n setStateSession(session);\n } else {\n throw promise;\n }\n }\n // Once this hook is established (no longer throwing and getting re-created)\n // we need to set up a subscription that will update its value the good\n // old-fashioned React way. We are re-using the `unsubscribe` ref from the\n // initial subscription, which should have been vacated by the first time we\n // get here.\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (!unsubscribe.current) {\n unsubscribe.current = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().subscribe(function(param) {\n var loaded = param.loaded, newSession = param.session;\n if (loaded) {\n session = newSession;\n setStateSession(newSession);\n }\n });\n }\n return function() {\n unsubscribe.current && unsubscribe.current();\n unsubscribe.current = undefined;\n };\n }, []);\n var result = stateSession || session;\n if (!result) {\n if (promise) {\n console.warn(\"useSession is in an unexpected state. Attempting to recover.\");\n throw promise;\n } else {\n throw Error(\"useSession is in an invalid state.\");\n }\n }\n return result;\n}\n/**\n * For testing.\n */ function __cleanup() {\n promise = undefined;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlU2Vzc2lvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNrQztBQUNSO0FBRXBELElBQUlJO0FBRUo7Ozs7Ozs7O0NBUUMsR0FDTSxTQUFTQyxhQUFzQjtJQUNwQyxrREFBa0Q7SUFDbEQsRUFBRTtJQUNGLDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUsMkVBQTJFO0lBQzNFLDRFQUE0RTtJQUM1RSx5RUFBeUU7SUFDekUsbURBQW1EO0lBQ25ELHlCQUF5QjtJQUN6QiwwREFBMEQ7SUFDMUQseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsUUFBUTtJQUNSLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUseUNBQXlDO0lBQ3pDLEVBQUU7SUFDRiw0RUFBNEU7SUFDNUUsc0NBQXNDO0lBQ3RDLElBQU1DLGNBQWNILDZDQUFNQTtJQUMxQixJQUF3Q0YsNkJBQUFBLCtDQUFRQSxDQUFpQixJQUFJLE9BQTlETSxlQUFpQ04sY0FBbkJPLGtCQUFtQlA7SUFDeEMsSUFBSVEsVUFBMEIsSUFBSTtJQUVsQyxJQUFJLENBQUNGLGNBQWM7UUFDakIsSUFBSSxDQUFDSCxTQUFTO1lBQ1oseURBQXlEO1lBQ3pELG1GQUFtRjtZQUNuRixpRkFBaUY7WUFDakYsaUZBQWlGO1lBQ2pGLCtEQUErRDtZQUMvREEsVUFBVSxJQUFJTSxRQUFpQixTQUFDQyxTQUFZO2dCQUMxQyxJQUFNQyxtQkFBbUIsZ0JBQXFDO3dCQUFsQ0MsZUFBQUEsUUFBUUosbUJBQUFBO29CQUNsQyxJQUFJSSxRQUFRO3dCQUNWRixRQUFRRzt3QkFDUkwsVUFBVUs7d0JBQ1ZSLFlBQVlTLE9BQU8sSUFBSVQsWUFBWVMsT0FBTzt3QkFDMUNULFlBQVlTLE9BQU8sR0FBR0M7b0JBQ3hCLENBQUM7Z0JBQ0g7Z0JBQ0FKLGlCQUFpQlosaUVBQWVBLEdBQUdpQixRQUFRO2dCQUMzQyxJQUFJLENBQUNSLFNBQVM7b0JBQ1pILFlBQVlTLE9BQU8sR0FBR2YsaUVBQWVBLEdBQUdrQixTQUFTLENBQUNOO2dCQUNwRCxDQUFDO1lBQ0g7UUFDRixPQUFPO1lBQ0wsZ0ZBQWdGO1lBQ2hGLHlFQUF5RTtZQUN6RSxnREFBZ0Q7WUFDaEQsSUFBTU8sZUFBZW5CLGlFQUFlQSxHQUFHaUIsUUFBUTtZQUMvQyxJQUFJRSxhQUFhTixNQUFNLEVBQUU7Z0JBQ3ZCSixVQUFVVSxhQUFhVixPQUFPO1lBQ2hDLENBQUM7UUFDSCxDQUFDO1FBRUQsNEVBQTRFO1FBQzVFLGlFQUFpRTtRQUNqRSxJQUFJQSxTQUFTO1lBQ1hELGdCQUFnQkM7UUFDbEIsT0FBTztZQUNMLE1BQU1MLFFBQVE7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsdUVBQXVFO0lBQ3ZFLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUsWUFBWTtJQUNaRixnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBSSxDQUFDSSxZQUFZUyxPQUFPLEVBQUU7WUFDeEJULFlBQVlTLE9BQU8sR0FBR2YsaUVBQWVBLEdBQUdrQixTQUFTLENBQUMsZ0JBQXFDO29CQUFsQ0wsZUFBQUEsUUFBUUosbUJBQUFBO2dCQUMzRCxJQUFJSSxRQUFRO29CQUNWSixVQUFVSztvQkFDVk4sZ0JBQWdCTTtnQkFDbEIsQ0FBQztZQUNIO1FBQ0YsQ0FBQztRQUNELE9BQU8sV0FBTTtZQUNYUixZQUFZUyxPQUFPLElBQUlULFlBQVlTLE9BQU87WUFDMUNULFlBQVlTLE9BQU8sR0FBR0M7UUFDeEI7SUFDRixHQUFHLEVBQUU7SUFFTCxJQUFNSSxTQUFTYixnQkFBZ0JFO0lBQy9CLElBQUksQ0FBQ1csUUFBUTtRQUNYLElBQUloQixTQUFTO1lBQ1hpQixRQUFRQyxJQUFJLENBQUM7WUFDYixNQUFNbEIsUUFBUTtRQUNoQixPQUFPO1lBQ0wsTUFBTW1CLE1BQU0sc0NBQXNDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBT0g7QUFDVCxDQUFDO0FBRUQ7O0NBRUMsR0FDTSxTQUFTSSxZQUFZO0lBQzFCcEIsVUFBVVk7QUFDWixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VTZXNzaW9uLnRzPzlhYTMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqL1xuaW1wb3J0IHsgZ2V0U2Vzc2lvblN0b3JlLCBTZXNzaW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmxldCBwcm9taXNlOiB1bmRlZmluZWQgfCBQcm9taXNlPFNlc3Npb24+O1xuXG4vKipcbiAqIEdldHMgdGhlIGN1cnJlbnQgdXNlciBzZXNzaW9uIGluZm9ybWF0aW9uLiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoXG4gKiBwcm9wZXJ0eSBgYXV0aGVudGljYXRlZGAgPT0gYGZhbHNlYCBpZiB0aGUgdXNlciBpcyBub3QgbG9nZ2VkIGluLlxuICpcbiAqIFVzZXMgU3VzcGVuc2UuIFRoaXMgaG9vayB3aWxsIGFsd2F5cyBlaXRoZXIgcmV0dXJuIGEgU2Vzc2lvbiBvYmplY3RcbiAqIG9yIHRocm93IGZvciBTdXNwZW5zZS4gSXQgd2lsbCBuZXZlciByZXR1cm4gYG51bGxgL2B1bmRlZmluZWRgLlxuICpcbiAqIEByZXR1cm5zIEN1cnJlbnQgdXNlciBzZXNzaW9uIGluZm9ybWF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTZXNzaW9uKCk6IFNlc3Npb24ge1xuICAvLyBXZSBoYXZlIHR3byBzZXBhcmF0ZSB2YXJpYWJsZXMgZm9yIHRoZSBzZXNzaW9uLlxuICAvL1xuICAvLyBgc2Vzc2lvbmAgaXMgYSB0ZW1wb3JhcnkgdmFyaWFibGUsIHdoaWNoIHN0YXJ0cyBhcyBgbnVsbGAgZXZlcnkgdGltZSB0aGlzXG4gIC8vIGhvb2sgaXMgZXhlY3V0ZWQuIEl0IGlzIGltcG9ydGFudCB0aGF0IHdlIGNhbiBzZXQgYW5kIHJldHVybiB0aGlzXG4gIC8vIHZhcmlhYmxlIHN5bmNocm9ub3VzbHksIGJlY2F1c2UgZXZlcnkgdGltZSB3ZSBgdGhyb3dgIGZvciBTdXNwZW5zZSwgdGhpc1xuICAvLyBob29rIHdpbGwgdW5tb3VudCBhbmQgYSBuZXcgaW5zdGFuY2Ugd2lsbCBiZSBjcmVhdGVkLCBkZXN0cm95aW5nIHdoYXRldmVyXG4gIC8vIHN0YXRlIGV4aXN0ZWQuIFRodXMsIGlmIHRoaXMgaG9vayB3ZXJlIHRvIHRyeSB0byBhbHdheXMgc2V0IGFuZCByZXR1cm5cbiAgLy8gYHN0YXRlU2Vzc2lvbmAsIGl0IHdvdWxkIGNhdXNlIGFuIGluZmluaXRlIGxvb3A6XG4gIC8vICAgMS4gaW5zdGFuY2UgQSBtb3VudHNcbiAgLy8gICAyLiBpbnN0YW5jZSBBIHJlY2VpdmVzIHZhbHVlLCBjYWxscyBgc2V0U3RhdGVTZXNzaW9uYFxuICAvLyAgIDMuIGluc3RhbmNlIEEgdGhyb3dzXG4gIC8vICAgNC4gaW5zdGFuY2UgQSB1bm1vdW50c1xuICAvLyAgIDUuIGluc3RhbmNlIEIgbW91bnRzXG4gIC8vICAgLi4uXG4gIC8vIFdoYXQgd291bGQgaGFwcGVuIGlmIHdlIG1vdmVkIGBzZXNzaW9uYCB0byB0aGUgbW9kdWxlIHNjb3BlLCBzbyB0aGF0IGl0XG4gIC8vIGNvdWxkIGJlIHJlLXVzZWQgYWNyb3NzIGluc3RhbmNlcyBvZiB0aGlzIGhvb2s/IFRoZW4gd2Ugd291bGQgaGF2ZSBubyB3YXlcbiAgLy8gdG8gdGVsbCB3aGV0aGVyIHRoZSBzZXNzaW9uIHdhcyBmcmVzaC5cbiAgLy9cbiAgLy8gYHN0YXRlU2Vzc2lvbmAgaXMgUmVhY3Qgc3RhdGUsIHdoaWNoIGlzIG5lZWRlZCB0byB1cGRhdGUgY29tcG9uZW50cyB1c2luZ1xuICAvLyB0aGlzIGhvb2sgd2hlbiB0aGUgc2Vzc2lvbiBjaGFuZ2VzLlxuICBjb25zdCB1bnN1YnNjcmliZSA9IHVzZVJlZjx1bmRlZmluZWQgfCAoKCkgPT4gdm9pZCk+KCk7XG4gIGNvbnN0IFtzdGF0ZVNlc3Npb24sIHNldFN0YXRlU2Vzc2lvbl0gPSB1c2VTdGF0ZTxTZXNzaW9uIHwgbnVsbD4obnVsbCk7XG4gIGxldCBzZXNzaW9uOiBTZXNzaW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKCFzdGF0ZVNlc3Npb24pIHtcbiAgICBpZiAoIXByb21pc2UpIHtcbiAgICAgIC8vIElmIHdlIGhhdmVuJ3QgY3JlYXRlZCBhIHByb21pc2UgdG8gdGhyb3cgeWV0LCBkbyB0aGF0LlxuICAgICAgLy8gY3VycmVudC11c2VyLnRzIGhhbmRsZXMgdGhlIGluaXRpYWwgc2Vzc2lvbiBmZXRjaCBhcyBzb29uIGFzIGBnZXRTZXNzaW9uU3RvcmUoKWBcbiAgICAgIC8vIGlzIGNhbGxlZC4gV2UganVzdCBuZWVkIHRvIGNhbGwgaXQgYW5kIHNldCB1cCBhIGxpc3RlbmVyIGZvciB3aGVuIHNlc3Npb24gZGF0YVxuICAgICAgLy8gaXMgbG9hZGVkLiBBcyBzb29uIGFzIHdlIGhhdmUgdGhlIGluaXRpYWwgc2Vzc2lvbiBkYXRhLCB3ZSByZW1vdmUgdGhpcyBpbml0aWFsXG4gICAgICAvLyBzdG9yZSBzdWJzY3JpcHRpb24gc28gd2UgY2FuIHNldCB1cCB0aGUgXCJvbmdvaW5nXCIgb25lIGxhdGVyLlxuICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlPFNlc3Npb24+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGNvbnN0IGhhbmRsZU5ld1Nlc3Npb24gPSAoeyBsb2FkZWQsIHNlc3Npb246IG5ld1Nlc3Npb24gfSkgPT4ge1xuICAgICAgICAgIGlmIChsb2FkZWQpIHtcbiAgICAgICAgICAgIHJlc29sdmUobmV3U2Vzc2lvbik7XG4gICAgICAgICAgICBzZXNzaW9uID0gbmV3U2Vzc2lvbjtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlLmN1cnJlbnQgJiYgdW5zdWJzY3JpYmUuY3VycmVudCgpO1xuICAgICAgICAgICAgdW5zdWJzY3JpYmUuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGhhbmRsZU5ld1Nlc3Npb24oZ2V0U2Vzc2lvblN0b3JlKCkuZ2V0U3RhdGUoKSk7XG4gICAgICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgICAgIHVuc3Vic2NyaWJlLmN1cnJlbnQgPSBnZXRTZXNzaW9uU3RvcmUoKS5zdWJzY3JpYmUoaGFuZGxlTmV3U2Vzc2lvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBIb3dldmVyLCBpZiB3ZSBoYXZlIGNyZWF0ZWQgYSBwcm9taXNlIHRvIHRocm93LCBidXQgdGhlcmUncyBubyBgc3RhdGVTZXNzaW9uYFxuICAgICAgLy8geWV0LCB0aGVuIGl0J3MgcHJvYmFibHkganVzdCB0aGlzIGhvb2sncyBmaXJzdCByZW5kZXIuIENoZWNrIHRvIHNlZSBpZlxuICAgICAgLy8gdGhlcmUncyBhbHJlYWR5IGEgc2Vzc2lvbiB0aGF0IHdlIGNhbiByZXR1cm4uXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBnZXRTZXNzaW9uU3RvcmUoKS5nZXRTdGF0ZSgpO1xuICAgICAgaWYgKGN1cnJlbnRTdGF0ZS5sb2FkZWQpIHtcbiAgICAgICAgc2Vzc2lvbiA9IGN1cnJlbnRTdGF0ZS5zZXNzaW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHRoZSBzZXNzaW9uIGdvdCBzZXQgc3luY2hyb25vdXNseSBpbiB0aGUgYWJvdmUgYmxvY2ssIHRoZW4gd2UgY2FuIGp1c3RcbiAgICAvLyByZXR1cm4gaXQgcmF0aGVyIHRoYW4gdGhyb3dpbmcuIE90aGVyd2lzZSwgdGhyb3cgZm9yIFN1c3BlbnNlLlxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBzZXRTdGF0ZVNlc3Npb24oc2Vzc2lvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IHByb21pc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gT25jZSB0aGlzIGhvb2sgaXMgZXN0YWJsaXNoZWQgKG5vIGxvbmdlciB0aHJvd2luZyBhbmQgZ2V0dGluZyByZS1jcmVhdGVkKVxuICAvLyB3ZSBuZWVkIHRvIHNldCB1cCBhIHN1YnNjcmlwdGlvbiB0aGF0IHdpbGwgdXBkYXRlIGl0cyB2YWx1ZSB0aGUgZ29vZFxuICAvLyBvbGQtZmFzaGlvbmVkIFJlYWN0IHdheS4gV2UgYXJlIHJlLXVzaW5nIHRoZSBgdW5zdWJzY3JpYmVgIHJlZiBmcm9tIHRoZVxuICAvLyBpbml0aWFsIHN1YnNjcmlwdGlvbiwgd2hpY2ggc2hvdWxkIGhhdmUgYmVlbiB2YWNhdGVkIGJ5IHRoZSBmaXJzdCB0aW1lIHdlXG4gIC8vIGdldCBoZXJlLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdW5zdWJzY3JpYmUuY3VycmVudCkge1xuICAgICAgdW5zdWJzY3JpYmUuY3VycmVudCA9IGdldFNlc3Npb25TdG9yZSgpLnN1YnNjcmliZSgoeyBsb2FkZWQsIHNlc3Npb246IG5ld1Nlc3Npb24gfSkgPT4ge1xuICAgICAgICBpZiAobG9hZGVkKSB7XG4gICAgICAgICAgc2Vzc2lvbiA9IG5ld1Nlc3Npb247XG4gICAgICAgICAgc2V0U3RhdGVTZXNzaW9uKG5ld1Nlc3Npb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHVuc3Vic2NyaWJlLmN1cnJlbnQgJiYgdW5zdWJzY3JpYmUuY3VycmVudCgpO1xuICAgICAgdW5zdWJzY3JpYmUuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVzdWx0ID0gc3RhdGVTZXNzaW9uIHx8IHNlc3Npb247XG4gIGlmICghcmVzdWx0KSB7XG4gICAgaWYgKHByb21pc2UpIHtcbiAgICAgIGNvbnNvbGUud2FybigndXNlU2Vzc2lvbiBpcyBpbiBhbiB1bmV4cGVjdGVkIHN0YXRlLiBBdHRlbXB0aW5nIHRvIHJlY292ZXIuJyk7XG4gICAgICB0aHJvdyBwcm9taXNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcigndXNlU2Vzc2lvbiBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLicpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEZvciB0ZXN0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gX19jbGVhbnVwKCkge1xuICBwcm9taXNlID0gdW5kZWZpbmVkO1xufVxuIl0sIm5hbWVzIjpbImdldFNlc3Npb25TdG9yZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwicHJvbWlzZSIsInVzZVNlc3Npb24iLCJ1bnN1YnNjcmliZSIsInN0YXRlU2Vzc2lvbiIsInNldFN0YXRlU2Vzc2lvbiIsInNlc3Npb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZU5ld1Nlc3Npb24iLCJsb2FkZWQiLCJuZXdTZXNzaW9uIiwiY3VycmVudCIsInVuZGVmaW5lZCIsImdldFN0YXRlIiwic3Vic2NyaWJlIiwiY3VycmVudFN0YXRlIiwicmVzdWx0IiwiY29uc29sZSIsIndhcm4iLCJFcnJvciIsIl9fY2xlYW51cCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useSession.ts\n");
|
|
7296
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __cleanup: () => (/* binding */ __cleanup),\n/* harmony export */ useSession: () => (/* binding */ useSession)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar promise;\n/**\n * Gets the current user session information. Returns an object with\n * property `authenticated` == `false` if the user is not logged in.\n *\n * Uses Suspense. This hook will always either return a Session object\n * or throw for Suspense. It will never return `null`/`undefined`.\n *\n * @returns Current user session information\n */ function useSession() {\n // We have two separate variables for the session.\n //\n // `session` is a temporary variable, which starts as `null` every time this\n // hook is executed. It is important that we can set and return this\n // variable synchronously, because every time we `throw` for Suspense, this\n // hook will unmount and a new instance will be created, destroying whatever\n // state existed. Thus, if this hook were to try to always set and return\n // `stateSession`, it would cause an infinite loop:\n // 1. instance A mounts\n // 2. instance A receives value, calls `setStateSession`\n // 3. instance A throws\n // 4. instance A unmounts\n // 5. instance B mounts\n // ...\n // What would happen if we moved `session` to the module scope, so that it\n // could be re-used across instances of this hook? Then we would have no way\n // to tell whether the session was fresh.\n //\n // `stateSession` is React state, which is needed to update components using\n // this hook when the session changes.\n var unsubscribe = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null), 2), stateSession = _useState[0], setStateSession = _useState[1];\n var session = null;\n if (!stateSession) {\n if (!promise) {\n // If we haven't created a promise to throw yet, do that.\n // current-user.ts handles the initial session fetch as soon as `getSessionStore()`\n // is called. We just need to call it and set up a listener for when session data\n // is loaded. As soon as we have the initial session data, we remove this initial\n // store subscription so we can set up the \"ongoing\" one later.\n promise = new Promise(function(resolve) {\n var handleNewSession = function(param) {\n var loaded = param.loaded, newSession = param.session;\n if (loaded) {\n resolve(newSession);\n session = newSession;\n unsubscribe.current && unsubscribe.current();\n unsubscribe.current = undefined;\n }\n };\n handleNewSession((0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().getState());\n if (!session) {\n unsubscribe.current = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().subscribe(handleNewSession);\n }\n });\n } else {\n // However, if we have created a promise to throw, but there's no `stateSession`\n // yet, then it's probably just this hook's first render. Check to see if\n // there's already a session that we can return.\n var currentState = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().getState();\n if (currentState.loaded) {\n session = currentState.session;\n }\n }\n // If the session got set synchronously in the above block, then we can just\n // return it rather than throwing. Otherwise, throw for Suspense.\n if (session) {\n setStateSession(session);\n } else {\n throw promise;\n }\n }\n // Once this hook is established (no longer throwing and getting re-created)\n // we need to set up a subscription that will update its value the good\n // old-fashioned React way. We are re-using the `unsubscribe` ref from the\n // initial subscription, which should have been vacated by the first time we\n // get here.\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n if (!unsubscribe.current) {\n unsubscribe.current = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getSessionStore)().subscribe(function(param) {\n var loaded = param.loaded, newSession = param.session;\n if (loaded) {\n session = newSession;\n setStateSession(newSession);\n }\n });\n }\n return function() {\n unsubscribe.current && unsubscribe.current();\n unsubscribe.current = undefined;\n };\n }, []);\n var result = stateSession || session;\n if (!result) {\n if (promise) {\n console.warn(\"useSession is in an unexpected state. Attempting to recover.\");\n throw promise;\n } else {\n throw Error(\"useSession is in an invalid state.\");\n }\n }\n return result;\n}\n/**\n * For testing.\n */ function __cleanup() {\n promise = undefined;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlU2Vzc2lvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV5QjtBQUNDO0FBRXBELElBQUlJO0FBRUo7Ozs7Ozs7O0NBUUMsR0FDTSxTQUFTQyxhQUFzQjtJQUNwQyxrREFBa0Q7SUFDbEQsRUFBRTtJQUNGLDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUsMkVBQTJFO0lBQzNFLDRFQUE0RTtJQUM1RSx5RUFBeUU7SUFDekUsbURBQW1EO0lBQ25ELHlCQUF5QjtJQUN6QiwwREFBMEQ7SUFDMUQseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsUUFBUTtJQUNSLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUseUNBQXlDO0lBQ3pDLEVBQUU7SUFDRiw0RUFBNEU7SUFDNUUsc0NBQXNDO0lBQ3RDLElBQU1DLGNBQWNILDZDQUFNQTtJQUMxQixJQUF3Q0YsNkJBQUFBLCtDQUFRQSxDQUFpQixJQUFJLE9BQTlETSxlQUFpQ04sY0FBbkJPLGtCQUFtQlA7SUFDeEMsSUFBSVEsVUFBMEIsSUFBSTtJQUVsQyxJQUFJLENBQUNGLGNBQWM7UUFDakIsSUFBSSxDQUFDSCxTQUFTO1lBQ1oseURBQXlEO1lBQ3pELG1GQUFtRjtZQUNuRixpRkFBaUY7WUFDakYsaUZBQWlGO1lBQ2pGLCtEQUErRDtZQUMvREEsVUFBVSxJQUFJTSxRQUFpQixTQUFDQyxTQUFZO2dCQUMxQyxJQUFNQyxtQkFBbUIsZ0JBQXFDO3dCQUFsQ0MsZUFBQUEsUUFBUUosbUJBQUFBO29CQUNsQyxJQUFJSSxRQUFRO3dCQUNWRixRQUFRRzt3QkFDUkwsVUFBVUs7d0JBQ1ZSLFlBQVlTLE9BQU8sSUFBSVQsWUFBWVMsT0FBTzt3QkFDMUNULFlBQVlTLE9BQU8sR0FBR0M7b0JBQ3hCLENBQUM7Z0JBQ0g7Z0JBQ0FKLGlCQUFpQlosaUVBQWVBLEdBQUdpQixRQUFRO2dCQUMzQyxJQUFJLENBQUNSLFNBQVM7b0JBQ1pILFlBQVlTLE9BQU8sR0FBR2YsaUVBQWVBLEdBQUdrQixTQUFTLENBQUNOO2dCQUNwRCxDQUFDO1lBQ0g7UUFDRixPQUFPO1lBQ0wsZ0ZBQWdGO1lBQ2hGLHlFQUF5RTtZQUN6RSxnREFBZ0Q7WUFDaEQsSUFBTU8sZUFBZW5CLGlFQUFlQSxHQUFHaUIsUUFBUTtZQUMvQyxJQUFJRSxhQUFhTixNQUFNLEVBQUU7Z0JBQ3ZCSixVQUFVVSxhQUFhVixPQUFPO1lBQ2hDLENBQUM7UUFDSCxDQUFDO1FBRUQsNEVBQTRFO1FBQzVFLGlFQUFpRTtRQUNqRSxJQUFJQSxTQUFTO1lBQ1hELGdCQUFnQkM7UUFDbEIsT0FBTztZQUNMLE1BQU1MLFFBQVE7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsdUVBQXVFO0lBQ3ZFLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUsWUFBWTtJQUNaRixnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBSSxDQUFDSSxZQUFZUyxPQUFPLEVBQUU7WUFDeEJULFlBQVlTLE9BQU8sR0FBR2YsaUVBQWVBLEdBQUdrQixTQUFTLENBQUMsZ0JBQXFDO29CQUFsQ0wsZUFBQUEsUUFBUUosbUJBQUFBO2dCQUMzRCxJQUFJSSxRQUFRO29CQUNWSixVQUFVSztvQkFDVk4sZ0JBQWdCTTtnQkFDbEIsQ0FBQztZQUNIO1FBQ0YsQ0FBQztRQUNELE9BQU8sV0FBTTtZQUNYUixZQUFZUyxPQUFPLElBQUlULFlBQVlTLE9BQU87WUFDMUNULFlBQVlTLE9BQU8sR0FBR0M7UUFDeEI7SUFDRixHQUFHLEVBQUU7SUFFTCxJQUFNSSxTQUFTYixnQkFBZ0JFO0lBQy9CLElBQUksQ0FBQ1csUUFBUTtRQUNYLElBQUloQixTQUFTO1lBQ1hpQixRQUFRQyxJQUFJLENBQUM7WUFDYixNQUFNbEIsUUFBUTtRQUNoQixPQUFPO1lBQ0wsTUFBTW1CLE1BQU0sc0NBQXNDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBT0g7QUFDVCxDQUFDO0FBRUQ7O0NBRUMsR0FDTSxTQUFTSSxZQUFZO0lBQzFCcEIsVUFBVVk7QUFDWixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VTZXNzaW9uLnRzPzlhYTMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqL1xuaW1wb3J0IHR5cGUgeyBTZXNzaW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgeyBnZXRTZXNzaW9uU3RvcmUgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxubGV0IHByb21pc2U6IHVuZGVmaW5lZCB8IFByb21pc2U8U2Vzc2lvbj47XG5cbi8qKlxuICogR2V0cyB0aGUgY3VycmVudCB1c2VyIHNlc3Npb24gaW5mb3JtYXRpb24uIFJldHVybnMgYW4gb2JqZWN0IHdpdGhcbiAqIHByb3BlcnR5IGBhdXRoZW50aWNhdGVkYCA9PSBgZmFsc2VgIGlmIHRoZSB1c2VyIGlzIG5vdCBsb2dnZWQgaW4uXG4gKlxuICogVXNlcyBTdXNwZW5zZS4gVGhpcyBob29rIHdpbGwgYWx3YXlzIGVpdGhlciByZXR1cm4gYSBTZXNzaW9uIG9iamVjdFxuICogb3IgdGhyb3cgZm9yIFN1c3BlbnNlLiBJdCB3aWxsIG5ldmVyIHJldHVybiBgbnVsbGAvYHVuZGVmaW5lZGAuXG4gKlxuICogQHJldHVybnMgQ3VycmVudCB1c2VyIHNlc3Npb24gaW5mb3JtYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlc3Npb24oKTogU2Vzc2lvbiB7XG4gIC8vIFdlIGhhdmUgdHdvIHNlcGFyYXRlIHZhcmlhYmxlcyBmb3IgdGhlIHNlc3Npb24uXG4gIC8vXG4gIC8vIGBzZXNzaW9uYCBpcyBhIHRlbXBvcmFyeSB2YXJpYWJsZSwgd2hpY2ggc3RhcnRzIGFzIGBudWxsYCBldmVyeSB0aW1lIHRoaXNcbiAgLy8gaG9vayBpcyBleGVjdXRlZC4gSXQgaXMgaW1wb3J0YW50IHRoYXQgd2UgY2FuIHNldCBhbmQgcmV0dXJuIHRoaXNcbiAgLy8gdmFyaWFibGUgc3luY2hyb25vdXNseSwgYmVjYXVzZSBldmVyeSB0aW1lIHdlIGB0aHJvd2AgZm9yIFN1c3BlbnNlLCB0aGlzXG4gIC8vIGhvb2sgd2lsbCB1bm1vdW50IGFuZCBhIG5ldyBpbnN0YW5jZSB3aWxsIGJlIGNyZWF0ZWQsIGRlc3Ryb3lpbmcgd2hhdGV2ZXJcbiAgLy8gc3RhdGUgZXhpc3RlZC4gVGh1cywgaWYgdGhpcyBob29rIHdlcmUgdG8gdHJ5IHRvIGFsd2F5cyBzZXQgYW5kIHJldHVyblxuICAvLyBgc3RhdGVTZXNzaW9uYCwgaXQgd291bGQgY2F1c2UgYW4gaW5maW5pdGUgbG9vcDpcbiAgLy8gICAxLiBpbnN0YW5jZSBBIG1vdW50c1xuICAvLyAgIDIuIGluc3RhbmNlIEEgcmVjZWl2ZXMgdmFsdWUsIGNhbGxzIGBzZXRTdGF0ZVNlc3Npb25gXG4gIC8vICAgMy4gaW5zdGFuY2UgQSB0aHJvd3NcbiAgLy8gICA0LiBpbnN0YW5jZSBBIHVubW91bnRzXG4gIC8vICAgNS4gaW5zdGFuY2UgQiBtb3VudHNcbiAgLy8gICAuLi5cbiAgLy8gV2hhdCB3b3VsZCBoYXBwZW4gaWYgd2UgbW92ZWQgYHNlc3Npb25gIHRvIHRoZSBtb2R1bGUgc2NvcGUsIHNvIHRoYXQgaXRcbiAgLy8gY291bGQgYmUgcmUtdXNlZCBhY3Jvc3MgaW5zdGFuY2VzIG9mIHRoaXMgaG9vaz8gVGhlbiB3ZSB3b3VsZCBoYXZlIG5vIHdheVxuICAvLyB0byB0ZWxsIHdoZXRoZXIgdGhlIHNlc3Npb24gd2FzIGZyZXNoLlxuICAvL1xuICAvLyBgc3RhdGVTZXNzaW9uYCBpcyBSZWFjdCBzdGF0ZSwgd2hpY2ggaXMgbmVlZGVkIHRvIHVwZGF0ZSBjb21wb25lbnRzIHVzaW5nXG4gIC8vIHRoaXMgaG9vayB3aGVuIHRoZSBzZXNzaW9uIGNoYW5nZXMuXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gdXNlUmVmPHVuZGVmaW5lZCB8ICgoKSA9PiB2b2lkKT4oKTtcbiAgY29uc3QgW3N0YXRlU2Vzc2lvbiwgc2V0U3RhdGVTZXNzaW9uXSA9IHVzZVN0YXRlPFNlc3Npb24gfCBudWxsPihudWxsKTtcbiAgbGV0IHNlc3Npb246IFNlc3Npb24gfCBudWxsID0gbnVsbDtcblxuICBpZiAoIXN0YXRlU2Vzc2lvbikge1xuICAgIGlmICghcHJvbWlzZSkge1xuICAgICAgLy8gSWYgd2UgaGF2ZW4ndCBjcmVhdGVkIGEgcHJvbWlzZSB0byB0aHJvdyB5ZXQsIGRvIHRoYXQuXG4gICAgICAvLyBjdXJyZW50LXVzZXIudHMgaGFuZGxlcyB0aGUgaW5pdGlhbCBzZXNzaW9uIGZldGNoIGFzIHNvb24gYXMgYGdldFNlc3Npb25TdG9yZSgpYFxuICAgICAgLy8gaXMgY2FsbGVkLiBXZSBqdXN0IG5lZWQgdG8gY2FsbCBpdCBhbmQgc2V0IHVwIGEgbGlzdGVuZXIgZm9yIHdoZW4gc2Vzc2lvbiBkYXRhXG4gICAgICAvLyBpcyBsb2FkZWQuIEFzIHNvb24gYXMgd2UgaGF2ZSB0aGUgaW5pdGlhbCBzZXNzaW9uIGRhdGEsIHdlIHJlbW92ZSB0aGlzIGluaXRpYWxcbiAgICAgIC8vIHN0b3JlIHN1YnNjcmlwdGlvbiBzbyB3ZSBjYW4gc2V0IHVwIHRoZSBcIm9uZ29pbmdcIiBvbmUgbGF0ZXIuXG4gICAgICBwcm9taXNlID0gbmV3IFByb21pc2U8U2Vzc2lvbj4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgaGFuZGxlTmV3U2Vzc2lvbiA9ICh7IGxvYWRlZCwgc2Vzc2lvbjogbmV3U2Vzc2lvbiB9KSA9PiB7XG4gICAgICAgICAgaWYgKGxvYWRlZCkge1xuICAgICAgICAgICAgcmVzb2x2ZShuZXdTZXNzaW9uKTtcbiAgICAgICAgICAgIHNlc3Npb24gPSBuZXdTZXNzaW9uO1xuICAgICAgICAgICAgdW5zdWJzY3JpYmUuY3VycmVudCAmJiB1bnN1YnNjcmliZS5jdXJyZW50KCk7XG4gICAgICAgICAgICB1bnN1YnNjcmliZS5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaGFuZGxlTmV3U2Vzc2lvbihnZXRTZXNzaW9uU3RvcmUoKS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgaWYgKCFzZXNzaW9uKSB7XG4gICAgICAgICAgdW5zdWJzY3JpYmUuY3VycmVudCA9IGdldFNlc3Npb25TdG9yZSgpLnN1YnNjcmliZShoYW5kbGVOZXdTZXNzaW9uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEhvd2V2ZXIsIGlmIHdlIGhhdmUgY3JlYXRlZCBhIHByb21pc2UgdG8gdGhyb3csIGJ1dCB0aGVyZSdzIG5vIGBzdGF0ZVNlc3Npb25gXG4gICAgICAvLyB5ZXQsIHRoZW4gaXQncyBwcm9iYWJseSBqdXN0IHRoaXMgaG9vaydzIGZpcnN0IHJlbmRlci4gQ2hlY2sgdG8gc2VlIGlmXG4gICAgICAvLyB0aGVyZSdzIGFscmVhZHkgYSBzZXNzaW9uIHRoYXQgd2UgY2FuIHJldHVybi5cbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IGdldFNlc3Npb25TdG9yZSgpLmdldFN0YXRlKCk7XG4gICAgICBpZiAoY3VycmVudFN0YXRlLmxvYWRlZCkge1xuICAgICAgICBzZXNzaW9uID0gY3VycmVudFN0YXRlLnNlc3Npb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHNlc3Npb24gZ290IHNldCBzeW5jaHJvbm91c2x5IGluIHRoZSBhYm92ZSBibG9jaywgdGhlbiB3ZSBjYW4ganVzdFxuICAgIC8vIHJldHVybiBpdCByYXRoZXIgdGhhbiB0aHJvd2luZy4gT3RoZXJ3aXNlLCB0aHJvdyBmb3IgU3VzcGVuc2UuXG4gICAgaWYgKHNlc3Npb24pIHtcbiAgICAgIHNldFN0YXRlU2Vzc2lvbihzZXNzaW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgcHJvbWlzZTtcbiAgICB9XG4gIH1cblxuICAvLyBPbmNlIHRoaXMgaG9vayBpcyBlc3RhYmxpc2hlZCAobm8gbG9uZ2VyIHRocm93aW5nIGFuZCBnZXR0aW5nIHJlLWNyZWF0ZWQpXG4gIC8vIHdlIG5lZWQgdG8gc2V0IHVwIGEgc3Vic2NyaXB0aW9uIHRoYXQgd2lsbCB1cGRhdGUgaXRzIHZhbHVlIHRoZSBnb29kXG4gIC8vIG9sZC1mYXNoaW9uZWQgUmVhY3Qgd2F5LiBXZSBhcmUgcmUtdXNpbmcgdGhlIGB1bnN1YnNjcmliZWAgcmVmIGZyb20gdGhlXG4gIC8vIGluaXRpYWwgc3Vic2NyaXB0aW9uLCB3aGljaCBzaG91bGQgaGF2ZSBiZWVuIHZhY2F0ZWQgYnkgdGhlIGZpcnN0IHRpbWUgd2VcbiAgLy8gZ2V0IGhlcmUuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF1bnN1YnNjcmliZS5jdXJyZW50KSB7XG4gICAgICB1bnN1YnNjcmliZS5jdXJyZW50ID0gZ2V0U2Vzc2lvblN0b3JlKCkuc3Vic2NyaWJlKCh7IGxvYWRlZCwgc2Vzc2lvbjogbmV3U2Vzc2lvbiB9KSA9PiB7XG4gICAgICAgIGlmIChsb2FkZWQpIHtcbiAgICAgICAgICBzZXNzaW9uID0gbmV3U2Vzc2lvbjtcbiAgICAgICAgICBzZXRTdGF0ZVNlc3Npb24obmV3U2Vzc2lvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdW5zdWJzY3JpYmUuY3VycmVudCAmJiB1bnN1YnNjcmliZS5jdXJyZW50KCk7XG4gICAgICB1bnN1YnNjcmliZS5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICBjb25zdCByZXN1bHQgPSBzdGF0ZVNlc3Npb24gfHwgc2Vzc2lvbjtcbiAgaWYgKCFyZXN1bHQpIHtcbiAgICBpZiAocHJvbWlzZSkge1xuICAgICAgY29uc29sZS53YXJuKCd1c2VTZXNzaW9uIGlzIGluIGFuIHVuZXhwZWN0ZWQgc3RhdGUuIEF0dGVtcHRpbmcgdG8gcmVjb3Zlci4nKTtcbiAgICAgIHRocm93IHByb21pc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCd1c2VTZXNzaW9uIGlzIGluIGFuIGludmFsaWQgc3RhdGUuJyk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogRm9yIHRlc3RpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBfX2NsZWFudXAoKSB7XG4gIHByb21pc2UgPSB1bmRlZmluZWQ7XG59XG4iXSwibmFtZXMiOlsiZ2V0U2Vzc2lvblN0b3JlIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJwcm9taXNlIiwidXNlU2Vzc2lvbiIsInVuc3Vic2NyaWJlIiwic3RhdGVTZXNzaW9uIiwic2V0U3RhdGVTZXNzaW9uIiwic2Vzc2lvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiaGFuZGxlTmV3U2Vzc2lvbiIsImxvYWRlZCIsIm5ld1Nlc3Npb24iLCJjdXJyZW50IiwidW5kZWZpbmVkIiwiZ2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJjdXJyZW50U3RhdGUiLCJyZXN1bHQiLCJjb25zb2xlIiwid2FybiIsIkVycm9yIiwiX19jbGVhbnVwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useSession.ts\n");
|
|
7297
7297
|
|
|
7298
7298
|
/***/ }),
|
|
7299
7299
|
|
|
@@ -7304,7 +7304,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7304
7304
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7305
7305
|
|
|
7306
7306
|
"use strict";
|
|
7307
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createUseStore: () => (/* binding */ createUseStore),\n/* harmony export */ useStore: () => (/* binding */ useStore),\n/* harmony export */ useStoreWithActions: () => (/* binding */ useStoreWithActions)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category Store */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nfunction bindActions(store, actions) {\n var _loop = function(i) {\n bound[i] = function() {\n var args = arguments;\n store.setState(function(state) {\n var _actions;\n var _args = [\n state\n ];\n for(var i1 = 0; i1 < args.length; i1++){\n _args.push(args[i1]);\n }\n return (_actions = actions)[i].apply(_actions, _to_consumable_array(_args));\n });\n };\n };\n if (typeof actions == \"function\") {\n actions = actions(store);\n }\n var bound = {};\n for(var i in actions)_loop(i);\n return bound;\n}\nvar defaultSelectFunction = function(x) {\n return x;\n};\nfunction useStore(store) {\n var select = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultSelectFunction, actions = arguments.length > 2 ? arguments[2] : void 0;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(function() {\n return select(store.getState());\n }), 2), state = _useState[0], setState = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.subscribeTo)(store, select, setState);\n }, [\n store,\n select\n ]);\n var boundActions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function() {\n return actions ? bindActions(store, actions) : {};\n }, [\n store,\n actions\n ]);\n return _object_spread({}, state, boundActions);\n}\n/**\n *\n * @param store A zustand store\n * @param actions\n * @returns\n */ function useStoreWithActions(store, actions) {\n return useStore(store, defaultSelectFunction, actions);\n}\n/**\n * Whenever possible, use `useStore(yourStore)` instead. This function is for creating a\n * custom hook for a specific store.\n */ function createUseStore(store) {\n var useStore = function useStore(actions) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(store.getState()), 2), state = _useState[0], set = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n return store.subscribe(function(state) {\n return set(state);\n });\n }, []);\n var boundActions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function() {\n return actions ? bindActions(store, actions) : {};\n }, [\n actions\n ]);\n return _object_spread({}, state, boundActions);\n };\n return useStore;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlU3RvcmUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsNEJBQTRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNxQjtBQUNJO0FBU3JELFNBQVNJLFlBQWVDLEtBQWtCLEVBQUVDLE9BQW1CLEVBQWdCOzRCQU90RDtRQUNyQkMsS0FBSyxDQUFDQyxFQUFFLEdBQUcsV0FBWTtZQUNyQixJQUFNQyxPQUFPQztZQUNiTCxNQUFNTSxRQUFRLENBQUMsU0FBQ0MsT0FBVTtvQkFNakJOO2dCQUxQLElBQUlPLFFBQVE7b0JBQUNEO2lCQUFNO2dCQUNuQixJQUFLLElBQUlKLEtBQUksR0FBR0EsS0FBSUMsS0FBS0ssTUFBTSxFQUFFTixLQUFLO29CQUNwQ0ssTUFBTUUsSUFBSSxDQUFDTixJQUFJLENBQUNELEdBQUU7Z0JBQ3BCO2dCQUVBLE9BQU9GLENBQUFBLFdBQUFBLFFBQU8sQ0FBQ0UsRUFBRSxDQUFWRixNQUFBQSxVQUFXLHFCQUFHTztZQUN2QjtRQUNGO0lBQ0Y7SUFsQkEsSUFBSSxPQUFPUCxXQUFXLFlBQVk7UUFDaENBLFVBQVVBLFFBQVFEO0lBQ3BCLENBQUM7SUFFRCxJQUFNRSxRQUFRLENBQUM7SUFFZixJQUFLLElBQUlDLEtBQUtGO0lBY2QsT0FBT0M7QUFDVDtBQUVBLElBQU1TLHdCQUF3QixTQUFDQztXQUFNQTs7QUFNckMsU0FBU0MsU0FBZWIsS0FBa0IsRUFBeUU7UUFBdkVjLFNBQUFBLGlFQUEwQkgscUJBQXFCLEVBQUVWO0lBQzNGLElBQTBCSCw2QkFBQUEsK0NBQVFBLENBQUk7ZUFBTWdCLE9BQU9kLE1BQU1lLFFBQVE7WUFBMURSLFFBQW1CVCxjQUFaUSxXQUFZUjtJQUMxQkYsZ0RBQVNBLENBQUM7ZUFBTUQsK0RBQVdBLENBQUNLLE9BQU9jLFFBQVFSO09BQVc7UUFBQ047UUFBT2M7S0FBTztJQUVyRSxJQUFJRSxlQUE2Qm5CLDhDQUFPQSxDQUFDO2VBQU9JLFVBQVVGLFlBQVlDLE9BQU9DLFdBQVcsQ0FBQyxDQUFDO09BQUc7UUFBQ0Q7UUFBT0M7S0FBUTtJQUU3RyxPQUFPLG1CQUFLTSxPQUFVUztBQUN4QjtBQUVBOzs7OztDQUtDLEdBQ0QsU0FBU0Msb0JBQXVCakIsS0FBa0IsRUFBRUMsT0FBbUIsRUFBb0I7SUFDekYsT0FBT1ksU0FBU2IsT0FBT1csdUJBQXVCVjtBQUNoRDtBQUVBOzs7Q0FHQyxHQUNELFNBQVNpQixlQUFrQmxCLEtBQWtCLEVBQUU7UUFJcENhLFdBQVQsU0FBU0EsU0FBU1osT0FBb0IsRUFBRTtRQUN0QyxJQUFxQkgsNkJBQUFBLCtDQUFRQSxDQUFDRSxNQUFNZSxRQUFRLFNBQXJDUixRQUFjVCxjQUFQcUIsTUFBT3JCO1FBQ3JCRixnREFBU0EsQ0FBQzttQkFBTUksTUFBTW9CLFNBQVMsQ0FBQyxTQUFDYjt1QkFBVVksSUFBSVo7O1dBQVMsRUFBRTtRQUMxRCxJQUFJUyxlQUE2Qm5CLDhDQUFPQSxDQUFDO21CQUFPSSxVQUFVRixZQUFZQyxPQUFPQyxXQUFXLENBQUMsQ0FBQztXQUFHO1lBQUNBO1NBQVE7UUFFdEcsT0FBTyxtQkFBS00sT0FBVVM7SUFDeEI7SUFFQSxPQUFPSDtBQUNUO0FBRXlEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VTdG9yZS50cz85NjQ0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBTdG9yZSAqL1xuaW1wb3J0IHsgc3Vic2NyaWJlVG8gfSBmcm9tICdAb3Blbm1ycy9lc20tc3RhdGUnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgU3RvcmVBcGkgfSBmcm9tICd6dXN0YW5kJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uRnVuY3Rpb248VD4gPSAoc3RhdGU6IFQsIC4uLmFyZ3M6IGFueVtdKSA9PiBQYXJ0aWFsPFQ+O1xuZXhwb3J0IHR5cGUgQWN0aW9uczxUPiA9XG4gIHwgKChzdG9yZTogU3RvcmVBcGk8VD4pID0+IFJlY29yZDxzdHJpbmcsIEFjdGlvbkZ1bmN0aW9uPFQ+PilcbiAgfCBSZWNvcmQ8c3RyaW5nLCBBY3Rpb25GdW5jdGlvbjxUPj47XG5leHBvcnQgdHlwZSBCb3VuZEFjdGlvbnMgPSB7IFtrZXk6IHN0cmluZ106ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCB9O1xuXG5mdW5jdGlvbiBiaW5kQWN0aW9uczxUPihzdG9yZTogU3RvcmVBcGk8VD4sIGFjdGlvbnM6IEFjdGlvbnM8VD4pOiBCb3VuZEFjdGlvbnMge1xuICBpZiAodHlwZW9mIGFjdGlvbnMgPT0gJ2Z1bmN0aW9uJykge1xuICAgIGFjdGlvbnMgPSBhY3Rpb25zKHN0b3JlKTtcbiAgfVxuXG4gIGNvbnN0IGJvdW5kID0ge307XG5cbiAgZm9yIChsZXQgaSBpbiBhY3Rpb25zKSB7XG4gICAgYm91bmRbaV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgc3RvcmUuc2V0U3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgICAgIGxldCBfYXJncyA9IFtzdGF0ZV07XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIF9hcmdzLnB1c2goYXJnc1tpXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWN0aW9uc1tpXSguLi5fYXJncyk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGJvdW5kO1xufVxuXG5jb25zdCBkZWZhdWx0U2VsZWN0RnVuY3Rpb24gPSAoeCkgPT4geDtcblxuZnVuY3Rpb24gdXNlU3RvcmU8VCwgVT4oc3RvcmU6IFN0b3JlQXBpPFQ+KTogVDtcbmZ1bmN0aW9uIHVzZVN0b3JlPFQsIFU+KHN0b3JlOiBTdG9yZUFwaTxUPiwgc2VsZWN0OiAoc3RhdGU6IFQpID0+IFUpOiBVO1xuZnVuY3Rpb24gdXNlU3RvcmU8VCwgVT4oc3RvcmU6IFN0b3JlQXBpPFQ+LCBzZWxlY3Q6IHVuZGVmaW5lZCwgYWN0aW9uczogQWN0aW9uczxUPik6IFQgJiBCb3VuZEFjdGlvbnM7XG5mdW5jdGlvbiB1c2VTdG9yZTxULCBVPihzdG9yZTogU3RvcmVBcGk8VD4sIHNlbGVjdDogKHN0YXRlOiBUKSA9PiBVLCBhY3Rpb25zOiBBY3Rpb25zPFQ+KTogVSAmIEJvdW5kQWN0aW9ucztcbmZ1bmN0aW9uIHVzZVN0b3JlPFQsIFU+KHN0b3JlOiBTdG9yZUFwaTxUPiwgc2VsZWN0OiAoc3RhdGU6IFQpID0+IFUgPSBkZWZhdWx0U2VsZWN0RnVuY3Rpb24sIGFjdGlvbnM/OiBBY3Rpb25zPFQ+KSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gdXNlU3RhdGU8VT4oKCkgPT4gc2VsZWN0KHN0b3JlLmdldFN0YXRlKCkpKTtcbiAgdXNlRWZmZWN0KCgpID0+IHN1YnNjcmliZVRvKHN0b3JlLCBzZWxlY3QsIHNldFN0YXRlKSwgW3N0b3JlLCBzZWxlY3RdKTtcblxuICBsZXQgYm91bmRBY3Rpb25zOiBCb3VuZEFjdGlvbnMgPSB1c2VNZW1vKCgpID0+IChhY3Rpb25zID8gYmluZEFjdGlvbnMoc3RvcmUsIGFjdGlvbnMpIDoge30pLCBbc3RvcmUsIGFjdGlvbnNdKTtcblxuICByZXR1cm4geyAuLi5zdGF0ZSwgLi4uYm91bmRBY3Rpb25zIH07XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBzdG9yZSBBIHp1c3RhbmQgc3RvcmVcbiAqIEBwYXJhbSBhY3Rpb25zXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiB1c2VTdG9yZVdpdGhBY3Rpb25zPFQ+KHN0b3JlOiBTdG9yZUFwaTxUPiwgYWN0aW9uczogQWN0aW9uczxUPik6IFQgJiBCb3VuZEFjdGlvbnMge1xuICByZXR1cm4gdXNlU3RvcmUoc3RvcmUsIGRlZmF1bHRTZWxlY3RGdW5jdGlvbiwgYWN0aW9ucyk7XG59XG5cbi8qKlxuICogV2hlbmV2ZXIgcG9zc2libGUsIHVzZSBgdXNlU3RvcmUoeW91clN0b3JlKWAgaW5zdGVhZC4gVGhpcyBmdW5jdGlvbiBpcyBmb3IgY3JlYXRpbmcgYVxuICogY3VzdG9tIGhvb2sgZm9yIGEgc3BlY2lmaWMgc3RvcmUuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVVzZVN0b3JlPFQ+KHN0b3JlOiBTdG9yZUFwaTxUPikge1xuICBmdW5jdGlvbiB1c2VTdG9yZSgpOiBUO1xuICBmdW5jdGlvbiB1c2VTdG9yZShhY3Rpb25zOiBBY3Rpb25zPFQ+KTogVCAmIEJvdW5kQWN0aW9ucztcbiAgZnVuY3Rpb24gdXNlU3RvcmUoYWN0aW9ucz86IEFjdGlvbnM8VD4pOiBUICYgQm91bmRBY3Rpb25zO1xuICBmdW5jdGlvbiB1c2VTdG9yZShhY3Rpb25zPzogQWN0aW9uczxUPikge1xuICAgIGNvbnN0IFtzdGF0ZSwgc2V0XSA9IHVzZVN0YXRlKHN0b3JlLmdldFN0YXRlKCkpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiBzdG9yZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiBzZXQoc3RhdGUpKSwgW10pO1xuICAgIGxldCBib3VuZEFjdGlvbnM6IEJvdW5kQWN0aW9ucyA9IHVzZU1lbW8oKCkgPT4gKGFjdGlvbnMgPyBiaW5kQWN0aW9ucyhzdG9yZSwgYWN0aW9ucykgOiB7fSksIFthY3Rpb25zXSk7XG5cbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgLi4uYm91bmRBY3Rpb25zIH07XG4gIH1cblxuICByZXR1cm4gdXNlU3RvcmU7XG59XG5cbmV4cG9ydCB7IGNyZWF0ZVVzZVN0b3JlLCB1c2VTdG9yZSwgdXNlU3RvcmVXaXRoQWN0aW9ucyB9O1xuIl0sIm5hbWVzIjpbInN1YnNjcmliZVRvIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiYmluZEFjdGlvbnMiLCJzdG9yZSIsImFjdGlvbnMiLCJib3VuZCIsImkiLCJhcmdzIiwiYXJndW1lbnRzIiwic2V0U3RhdGUiLCJzdGF0ZSIsIl9hcmdzIiwibGVuZ3RoIiwicHVzaCIsImRlZmF1bHRTZWxlY3RGdW5jdGlvbiIsIngiLCJ1c2VTdG9yZSIsInNlbGVjdCIsImdldFN0YXRlIiwiYm91bmRBY3Rpb25zIiwidXNlU3RvcmVXaXRoQWN0aW9ucyIsImNyZWF0ZVVzZVN0b3JlIiwic2V0Iiwic3Vic2NyaWJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useStore.ts\n");
|
|
7307
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createUseStore: () => (/* binding */ createUseStore),\n/* harmony export */ useStore: () => (/* binding */ useStore),\n/* harmony export */ useStoreWithActions: () => (/* binding */ useStoreWithActions)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category Store */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nfunction bindActions(store, actions) {\n var _loop = function(i) {\n bound[i] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n store.setState(function(state) {\n var _actions;\n var _args = [\n state\n ].concat(_to_consumable_array(args));\n return (_actions = actions)[i].apply(_actions, _to_consumable_array(_args));\n });\n };\n };\n if (typeof actions == \"function\") {\n actions = actions(store);\n }\n var bound = {};\n for(var i in actions)_loop(i);\n return bound;\n}\nvar defaultSelectFunction = function(x) {\n return x;\n};\nfunction useStore(store) {\n var select = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultSelectFunction, actions = arguments.length > 2 ? arguments[2] : void 0;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(function() {\n return select(store.getState());\n }), 2), state = _useState[0], setState = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n return (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_0__.subscribeTo)(store, select, setState);\n }, [\n store,\n select\n ]);\n var boundActions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function() {\n return actions ? bindActions(store, actions) : {};\n }, [\n store,\n actions\n ]);\n return _object_spread({}, state, boundActions);\n}\n/**\n *\n * @param store A zustand store\n * @param actions\n * @returns\n */ function useStoreWithActions(store, actions) {\n return useStore(store, defaultSelectFunction, actions);\n}\n/**\n * Whenever possible, use `useStore(yourStore)` instead. This function is for creating a\n * custom hook for a specific store.\n */ function createUseStore(store) {\n var useStore = function useStore(actions) {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(store.getState()), 2), state = _useState[0], set = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n return store.subscribe(function(state) {\n return set(state);\n });\n }, []);\n var boundActions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function() {\n return actions ? bindActions(store, actions) : {};\n }, [\n actions\n ]);\n return _object_spread({}, state, boundActions);\n };\n return useStore;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlU3RvcmUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsNEJBQTRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNxQjtBQUNJO0FBU3JELFNBQVNJLFlBQWVDLEtBQWtCLEVBQUVDLE9BQW1CLEVBQWdCOzRCQU90RDtRQUNyQkMsS0FBSyxDQUFDQyxFQUFFLEdBQUcsV0FBbUI7WUFBVDtnQkFBR0MsS0FBSCx1QkFBTztZQUFEO1lBQ3pCSixNQUFNSyxRQUFRLENBQUMsU0FBQ0MsT0FBVTtvQkFFakJMO2dCQURQLElBQUlNLFFBQVE7b0JBQUNEO2lCQUFlLENBQWhCLE9BQVEscUJBQUdGO2dCQUN2QixPQUFPSCxDQUFBQSxXQUFBQSxRQUFPLENBQUNFLEVBQUUsQ0FBVkYsTUFBQUEsVUFBVyxxQkFBR007WUFDdkI7UUFDRjtJQUNGO0lBYkEsSUFBSSxPQUFPTixXQUFXLFlBQVk7UUFDaENBLFVBQVVBLFFBQVFEO0lBQ3BCLENBQUM7SUFFRCxJQUFNRSxRQUFRLENBQUM7SUFFZixJQUFLLElBQUlDLEtBQUtGO0lBU2QsT0FBT0M7QUFDVDtBQUVBLElBQU1NLHdCQUF3QixTQUFDQztXQUFNQTs7QUFNckMsU0FBU0MsU0FBZVYsS0FBa0IsRUFBeUU7UUFBdkVXLFNBQUFBLGlFQUEwQkgscUJBQXFCLEVBQUVQO0lBQzNGLElBQTBCSCw2QkFBQUEsK0NBQVFBLENBQUk7ZUFBTWEsT0FBT1gsTUFBTVksUUFBUTtZQUExRE4sUUFBbUJSLGNBQVpPLFdBQVlQO0lBQzFCRixnREFBU0EsQ0FBQztlQUFNRCwrREFBV0EsQ0FBQ0ssT0FBT1csUUFBUU47T0FBVztRQUFDTDtRQUFPVztLQUFPO0lBRXJFLElBQUlFLGVBQTZCaEIsOENBQU9BLENBQUM7ZUFBT0ksVUFBVUYsWUFBWUMsT0FBT0MsV0FBVyxDQUFDLENBQUM7T0FBRztRQUFDRDtRQUFPQztLQUFRO0lBRTdHLE9BQU8sbUJBQUtLLE9BQVVPO0FBQ3hCO0FBRUE7Ozs7O0NBS0MsR0FDRCxTQUFTQyxvQkFBdUJkLEtBQWtCLEVBQUVDLE9BQW1CLEVBQW9CO0lBQ3pGLE9BQU9TLFNBQVNWLE9BQU9RLHVCQUF1QlA7QUFDaEQ7QUFFQTs7O0NBR0MsR0FDRCxTQUFTYyxlQUFrQmYsS0FBa0IsRUFBRTtRQUlwQ1UsV0FBVCxTQUFTQSxTQUFTVCxPQUFvQixFQUFFO1FBQ3RDLElBQXFCSCw2QkFBQUEsK0NBQVFBLENBQUNFLE1BQU1ZLFFBQVEsU0FBckNOLFFBQWNSLGNBQVBrQixNQUFPbEI7UUFDckJGLGdEQUFTQSxDQUFDO21CQUFNSSxNQUFNaUIsU0FBUyxDQUFDLFNBQUNYO3VCQUFVVSxJQUFJVjs7V0FBUyxFQUFFO1FBQzFELElBQUlPLGVBQTZCaEIsOENBQU9BLENBQUM7bUJBQU9JLFVBQVVGLFlBQVlDLE9BQU9DLFdBQVcsQ0FBQyxDQUFDO1dBQUc7WUFBQ0E7U0FBUTtRQUV0RyxPQUFPLG1CQUFLSyxPQUFVTztJQUN4QjtJQUVBLE9BQU9IO0FBQ1Q7QUFFeUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZVN0b3JlLnRzPzk2NDQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IFN0b3JlICovXG5pbXBvcnQgeyBzdWJzY3JpYmVUbyB9IGZyb20gJ0BvcGVubXJzL2VzbS1zdGF0ZSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBTdG9yZUFwaSB9IGZyb20gJ3p1c3RhbmQnO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25GdW5jdGlvbjxUPiA9IChzdGF0ZTogVCwgLi4uYXJnczogYW55W10pID0+IFBhcnRpYWw8VD47XG5leHBvcnQgdHlwZSBBY3Rpb25zPFQ+ID1cbiAgfCAoKHN0b3JlOiBTdG9yZUFwaTxUPikgPT4gUmVjb3JkPHN0cmluZywgQWN0aW9uRnVuY3Rpb248VD4+KVxuICB8IFJlY29yZDxzdHJpbmcsIEFjdGlvbkZ1bmN0aW9uPFQ+PjtcbmV4cG9ydCB0eXBlIEJvdW5kQWN0aW9ucyA9IHsgW2tleTogc3RyaW5nXTogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkIH07XG5cbmZ1bmN0aW9uIGJpbmRBY3Rpb25zPFQ+KHN0b3JlOiBTdG9yZUFwaTxUPiwgYWN0aW9uczogQWN0aW9uczxUPik6IEJvdW5kQWN0aW9ucyB7XG4gIGlmICh0eXBlb2YgYWN0aW9ucyA9PSAnZnVuY3Rpb24nKSB7XG4gICAgYWN0aW9ucyA9IGFjdGlvbnMoc3RvcmUpO1xuICB9XG5cbiAgY29uc3QgYm91bmQgPSB7fTtcblxuICBmb3IgKGxldCBpIGluIGFjdGlvbnMpIHtcbiAgICBib3VuZFtpXSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICBzdG9yZS5zZXRTdGF0ZSgoc3RhdGUpID0+IHtcbiAgICAgICAgbGV0IF9hcmdzID0gW3N0YXRlLCAuLi5hcmdzXTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbnNbaV0oLi4uX2FyZ3MpO1xuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBib3VuZDtcbn1cblxuY29uc3QgZGVmYXVsdFNlbGVjdEZ1bmN0aW9uID0gKHgpID0+IHg7XG5cbmZ1bmN0aW9uIHVzZVN0b3JlPFQsIFU+KHN0b3JlOiBTdG9yZUFwaTxUPik6IFQ7XG5mdW5jdGlvbiB1c2VTdG9yZTxULCBVPihzdG9yZTogU3RvcmVBcGk8VD4sIHNlbGVjdDogKHN0YXRlOiBUKSA9PiBVKTogVTtcbmZ1bmN0aW9uIHVzZVN0b3JlPFQsIFU+KHN0b3JlOiBTdG9yZUFwaTxUPiwgc2VsZWN0OiB1bmRlZmluZWQsIGFjdGlvbnM6IEFjdGlvbnM8VD4pOiBUICYgQm91bmRBY3Rpb25zO1xuZnVuY3Rpb24gdXNlU3RvcmU8VCwgVT4oc3RvcmU6IFN0b3JlQXBpPFQ+LCBzZWxlY3Q6IChzdGF0ZTogVCkgPT4gVSwgYWN0aW9uczogQWN0aW9uczxUPik6IFUgJiBCb3VuZEFjdGlvbnM7XG5mdW5jdGlvbiB1c2VTdG9yZTxULCBVPihzdG9yZTogU3RvcmVBcGk8VD4sIHNlbGVjdDogKHN0YXRlOiBUKSA9PiBVID0gZGVmYXVsdFNlbGVjdEZ1bmN0aW9uLCBhY3Rpb25zPzogQWN0aW9uczxUPikge1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlPFU+KCgpID0+IHNlbGVjdChzdG9yZS5nZXRTdGF0ZSgpKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiBzdWJzY3JpYmVUbyhzdG9yZSwgc2VsZWN0LCBzZXRTdGF0ZSksIFtzdG9yZSwgc2VsZWN0XSk7XG5cbiAgbGV0IGJvdW5kQWN0aW9uczogQm91bmRBY3Rpb25zID0gdXNlTWVtbygoKSA9PiAoYWN0aW9ucyA/IGJpbmRBY3Rpb25zKHN0b3JlLCBhY3Rpb25zKSA6IHt9KSwgW3N0b3JlLCBhY3Rpb25zXSk7XG5cbiAgcmV0dXJuIHsgLi4uc3RhdGUsIC4uLmJvdW5kQWN0aW9ucyB9O1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gc3RvcmUgQSB6dXN0YW5kIHN0b3JlXG4gKiBAcGFyYW0gYWN0aW9uc1xuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gdXNlU3RvcmVXaXRoQWN0aW9uczxUPihzdG9yZTogU3RvcmVBcGk8VD4sIGFjdGlvbnM6IEFjdGlvbnM8VD4pOiBUICYgQm91bmRBY3Rpb25zIHtcbiAgcmV0dXJuIHVzZVN0b3JlKHN0b3JlLCBkZWZhdWx0U2VsZWN0RnVuY3Rpb24sIGFjdGlvbnMpO1xufVxuXG4vKipcbiAqIFdoZW5ldmVyIHBvc3NpYmxlLCB1c2UgYHVzZVN0b3JlKHlvdXJTdG9yZSlgIGluc3RlYWQuIFRoaXMgZnVuY3Rpb24gaXMgZm9yIGNyZWF0aW5nIGFcbiAqIGN1c3RvbSBob29rIGZvciBhIHNwZWNpZmljIHN0b3JlLlxuICovXG5mdW5jdGlvbiBjcmVhdGVVc2VTdG9yZTxUPihzdG9yZTogU3RvcmVBcGk8VD4pIHtcbiAgZnVuY3Rpb24gdXNlU3RvcmUoKTogVDtcbiAgZnVuY3Rpb24gdXNlU3RvcmUoYWN0aW9uczogQWN0aW9uczxUPik6IFQgJiBCb3VuZEFjdGlvbnM7XG4gIGZ1bmN0aW9uIHVzZVN0b3JlKGFjdGlvbnM/OiBBY3Rpb25zPFQ+KTogVCAmIEJvdW5kQWN0aW9ucztcbiAgZnVuY3Rpb24gdXNlU3RvcmUoYWN0aW9ucz86IEFjdGlvbnM8VD4pIHtcbiAgICBjb25zdCBbc3RhdGUsIHNldF0gPSB1c2VTdGF0ZShzdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4gc3RvcmUuc3Vic2NyaWJlKChzdGF0ZSkgPT4gc2V0KHN0YXRlKSksIFtdKTtcbiAgICBsZXQgYm91bmRBY3Rpb25zOiBCb3VuZEFjdGlvbnMgPSB1c2VNZW1vKCgpID0+IChhY3Rpb25zID8gYmluZEFjdGlvbnMoc3RvcmUsIGFjdGlvbnMpIDoge30pLCBbYWN0aW9uc10pO1xuXG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIC4uLmJvdW5kQWN0aW9ucyB9O1xuICB9XG5cbiAgcmV0dXJuIHVzZVN0b3JlO1xufVxuXG5leHBvcnQgeyBjcmVhdGVVc2VTdG9yZSwgdXNlU3RvcmUsIHVzZVN0b3JlV2l0aEFjdGlvbnMgfTtcbiJdLCJuYW1lcyI6WyJzdWJzY3JpYmVUbyIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImJpbmRBY3Rpb25zIiwic3RvcmUiLCJhY3Rpb25zIiwiYm91bmQiLCJpIiwiYXJncyIsInNldFN0YXRlIiwic3RhdGUiLCJfYXJncyIsImRlZmF1bHRTZWxlY3RGdW5jdGlvbiIsIngiLCJ1c2VTdG9yZSIsInNlbGVjdCIsImdldFN0YXRlIiwiYm91bmRBY3Rpb25zIiwidXNlU3RvcmVXaXRoQWN0aW9ucyIsImNyZWF0ZVVzZVN0b3JlIiwic2V0Iiwic3Vic2NyaWJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useStore.ts\n");
|
|
7308
7308
|
|
|
7309
7309
|
/***/ }),
|
|
7310
7310
|
|
|
@@ -7315,7 +7315,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7315
7315
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7316
7316
|
|
|
7317
7317
|
"use strict";
|
|
7318
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisit: () => (/* binding */ useVisit)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/core/dist/index.mjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs/plugin/isToday */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n/** @module @category API */ \n\n\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_2___default().extend((dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3___default()));\n/**\n * This React hook returns visit information if the patient UUID is not null. There are\n * potentially two relevant visits at a time: \"active\" and \"current\".\n *\n * The active visit is the most recent visit without an end date. The presence of an active\n * visit generally means that the patient is in the facility.\n *\n * The current visit is the active visit, unless a retrospective visit has been selected.\n * If there is no active visit and no selected retrospective visit, then there is no\n * current visit. If there is no active visit but there is a retrospective visit, then\n * the retrospective visit is the current visit. `currentVisitIsRetrospective` tells you\n * whether the current visit is a retrospective visit.\n *\n * The active visit and current visit require two separate API calls. `error` contains\n * the error from either one, if there is an error. `isValidating` is true if either\n * API call is in progress. `mutate` refreshes the data from both API calls.\n *\n * @param patientUuid Unique patient identifier `string`\n */ function useVisit(patientUuid) {\n var _useStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_5__.useStore)((0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getVisitStore)()), visitStorePatientUuid = _useStore.patientUuid, manuallySetVisitUuid = _useStore.manuallySetVisitUuid;\n // Ignore the visit store data if it is not for this patient\n var retrospectiveVisitUuid = patientUuid && visitStorePatientUuid == patientUuid ? manuallySetVisitUuid : null;\n var activeVisitUrlSuffix = \"?patient=\".concat(patientUuid, \"&v=\").concat(_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.defaultVisitCustomRepresentation, \"&includeInactive=false\");\n var retrospectiveVisitUrlSuffix = \"/\".concat(retrospectiveVisitUuid);\n var _useSWR = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid ? \"/ws/rest/v1/visit\".concat(activeVisitUrlSuffix) : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.openmrsFetch), activeData = _useSWR.data, activeError = _useSWR.error, activeMutate = _useSWR.mutate, activeIsValidating = _useSWR.isValidating;\n var _useSWR1 = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid && retrospectiveVisitUuid ? \"/ws/rest/v1/visit\".concat(retrospectiveVisitUrlSuffix) : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.openmrsFetch), retroData = _useSWR1.data, retroError = _useSWR1.error, retroMutate = _useSWR1.mutate, retroIsValidating = _useSWR1.isValidating;\n var _activeData_data_results_find;\n var activeVisit = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function() {\n return (_activeData_data_results_find = activeData === null || activeData === void 0 ? void 0 : activeData.data.results.find(function(visit) {\n return visit.stopDatetime === null;\n })) !== null && _activeData_data_results_find !== void 0 ? _activeData_data_results_find : null;\n }, [\n activeData\n ]);\n var currentVisit = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function() {\n return retrospectiveVisitUuid ? retroData === null || retroData === void 0 ? void 0 : retroData.data : activeVisit !== null && activeVisit !== void 0 ? activeVisit : null;\n }, [\n retroData,\n activeVisit,\n retrospectiveVisitUuid\n ]);\n return {\n error: activeError || retroError,\n mutate: function() {\n activeMutate();\n retroMutate();\n },\n isValidating: activeIsValidating || retroIsValidating,\n activeVisit: activeVisit,\n currentVisit: currentVisit,\n currentVisitIsRetrospective: Boolean(retrospectiveVisitUuid),\n isLoading: Boolean((!activeData || retrospectiveVisitUuid && !retroData) && (!activeError || !retroError))\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlVmlzaXQudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLDBCQUEwQixHQUM4RTtBQUMvRTtBQUNDO0FBQ2lCO0FBQ1g7QUFDTTtBQUV0Q0ksbURBQVksQ0FBQ0MsNkRBQU9BO0FBWXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQkMsR0FDTSxTQUFTSSxTQUFTQyxXQUFtQixFQUFtQjtJQUM3RCxJQUFxRUgsWUFBQUEsbURBQVFBLENBQUNOLCtEQUFhQSxLQUFuRlMsd0JBQTZESCxVQUE3REcsYUFBb0NFLHVCQUF5QkwsVUFBekJLO0lBQzVDLDREQUE0RDtJQUM1RCxJQUFNQyx5QkFBeUJILGVBQWVDLHlCQUF5QkQsY0FBY0UsdUJBQXVCLElBQUk7SUFDaEgsSUFBTUUsdUJBQXVCLFlBQTZCZCxPQUFqQlUsYUFBWSxPQUFzQyxPQUFqQ1YsOEVBQWdDQSxFQUFDO0lBQzNGLElBQU1lLDhCQUE4QixJQUEyQixPQUF2QkY7SUFFeEMsSUFLSVYsVUFBQUEsK0NBQU1BLENBRVBPLGNBQWMsb0JBQXlDLE9BQXJCSSx3QkFBeUIsSUFBSSxFQUFFWiwwREFBWUEsR0FOOUVjLGFBSUViLFFBSkZhLE1BQ0FFLGNBR0VmLFFBSEZlLE9BQ0FFLGVBRUVqQixRQUZGaUIsUUFDQUUscUJBQ0VuQixRQURGbUI7SUFLRixJQUtJbkIsV0FBQUEsK0NBQU1BLENBRVBPLGVBQWVHLHlCQUF5QixvQkFBZ0QsT0FBNUJFLCtCQUFnQyxJQUFJLEVBQUViLDBEQUFZQSxHQU4vR2MsWUFJRWIsU0FKRmEsTUFDQUUsYUFHRWYsU0FIRmUsT0FDQUUsY0FFRWpCLFNBRkZpQixRQUNBRSxvQkFDRW5CLFNBREZtQjtRQU1NTDtJQURSLElBQU1XLGNBQWN0Qiw4Q0FBT0EsQ0FDekI7UUFBTVcsT0FBQUEsQ0FBQUEsZ0NBQUFBLHVCQUFBQSx3QkFBQUEsS0FBQUEsSUFBQUEsV0FBWUQsSUFBSSxDQUFDYSxPQUFPLENBQUNDLElBQUksQ0FBQyxTQUFDQzttQkFBVUEsTUFBTUMsWUFBWSxLQUFLLElBQUk7VUFBQyxjQUFyRWYsMkNBQUFBLGdDQUF5RSxJQUFJO09BQ25GO1FBQUNBO0tBQVc7SUFHZCxJQUFNZ0IsZUFBZTNCLDhDQUFPQSxDQUMxQjtRQUFPTyxPQUFBQSx5QkFBeUJXLHNCQUFBQSx1QkFBQUEsS0FBQUEsSUFBQUEsVUFBV1IsSUFBSSxHQUFHWSx3QkFBQUEseUJBQUFBLGNBQWUsSUFBSTtPQUNyRTtRQUFDSjtRQUFXSTtRQUFhZjtLQUF1QjtJQUdsRCxPQUFPO1FBQ0xLLE9BQU9DLGVBQWVNO1FBQ3RCTCxRQUFRLFdBQU07WUFDWkM7WUFDQUs7UUFDRjtRQUNBSixjQUFjQyxzQkFBc0JJO1FBQ3BDQyxhQUFBQTtRQUNBSyxjQUFBQTtRQUNBQyw2QkFBNkJDLFFBQVF0QjtRQUNyQ3VCLFdBQVdELFFBQVEsQ0FBQyxDQUFDbEIsY0FBZUosMEJBQTBCLENBQUNXLFNBQVMsS0FBTyxFQUFDTCxlQUFlLENBQUNNLFVBQVM7SUFDM0c7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VWaXNpdC50cz80MGNmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB7IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uLCBnZXRWaXNpdFN0b3JlLCBvcGVubXJzRmV0Y2gsIFZpc2l0IH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSc7XG5pbXBvcnQgdXNlU1dSIGZyb20gJ3N3cic7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IGlzVG9kYXkgZnJvbSAnZGF5anMvcGx1Z2luL2lzVG9kYXknO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVN0b3JlIH0gZnJvbSAnLi91c2VTdG9yZSc7XG5cbmRheWpzLmV4dGVuZChpc1RvZGF5KTtcblxuZXhwb3J0IGludGVyZmFjZSBWaXNpdFJldHVyblR5cGUge1xuICBlcnJvcjogRXJyb3I7XG4gIG11dGF0ZTogKCkgPT4gdm9pZDtcbiAgaXNWYWxpZGF0aW5nOiBib29sZWFuO1xuICBhY3RpdmVWaXNpdDogVmlzaXQgfCBudWxsO1xuICBjdXJyZW50VmlzaXQ6IFZpc2l0IHwgbnVsbDtcbiAgY3VycmVudFZpc2l0SXNSZXRyb3NwZWN0aXZlOiBib29sZWFuO1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhpcyBSZWFjdCBob29rIHJldHVybnMgdmlzaXQgaW5mb3JtYXRpb24gaWYgdGhlIHBhdGllbnQgVVVJRCBpcyBub3QgbnVsbC4gVGhlcmUgYXJlXG4gKiBwb3RlbnRpYWxseSB0d28gcmVsZXZhbnQgdmlzaXRzIGF0IGEgdGltZTogXCJhY3RpdmVcIiBhbmQgXCJjdXJyZW50XCIuXG4gKlxuICogVGhlIGFjdGl2ZSB2aXNpdCBpcyB0aGUgbW9zdCByZWNlbnQgdmlzaXQgd2l0aG91dCBhbiBlbmQgZGF0ZS4gVGhlIHByZXNlbmNlIG9mIGFuIGFjdGl2ZVxuICogdmlzaXQgZ2VuZXJhbGx5IG1lYW5zIHRoYXQgdGhlIHBhdGllbnQgaXMgaW4gdGhlIGZhY2lsaXR5LlxuICpcbiAqIFRoZSBjdXJyZW50IHZpc2l0IGlzIHRoZSBhY3RpdmUgdmlzaXQsIHVubGVzcyBhIHJldHJvc3BlY3RpdmUgdmlzaXQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4gKiBJZiB0aGVyZSBpcyBubyBhY3RpdmUgdmlzaXQgYW5kIG5vIHNlbGVjdGVkIHJldHJvc3BlY3RpdmUgdmlzaXQsIHRoZW4gdGhlcmUgaXMgbm9cbiAqIGN1cnJlbnQgdmlzaXQuIElmIHRoZXJlIGlzIG5vIGFjdGl2ZSB2aXNpdCBidXQgdGhlcmUgaXMgYSByZXRyb3NwZWN0aXZlIHZpc2l0LCB0aGVuXG4gKiB0aGUgcmV0cm9zcGVjdGl2ZSB2aXNpdCBpcyB0aGUgY3VycmVudCB2aXNpdC4gYGN1cnJlbnRWaXNpdElzUmV0cm9zcGVjdGl2ZWAgdGVsbHMgeW91XG4gKiB3aGV0aGVyIHRoZSBjdXJyZW50IHZpc2l0IGlzIGEgcmV0cm9zcGVjdGl2ZSB2aXNpdC5cbiAqXG4gKiBUaGUgYWN0aXZlIHZpc2l0IGFuZCBjdXJyZW50IHZpc2l0IHJlcXVpcmUgdHdvIHNlcGFyYXRlIEFQSSBjYWxscy4gYGVycm9yYCBjb250YWluc1xuICogdGhlIGVycm9yIGZyb20gZWl0aGVyIG9uZSwgaWYgdGhlcmUgaXMgYW4gZXJyb3IuIGBpc1ZhbGlkYXRpbmdgIGlzIHRydWUgaWYgZWl0aGVyXG4gKiBBUEkgY2FsbCBpcyBpbiBwcm9ncmVzcy4gYG11dGF0ZWAgcmVmcmVzaGVzIHRoZSBkYXRhIGZyb20gYm90aCBBUEkgY2FsbHMuXG4gKlxuICogQHBhcmFtIHBhdGllbnRVdWlkIFVuaXF1ZSBwYXRpZW50IGlkZW50aWZpZXIgYHN0cmluZ2BcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZpc2l0KHBhdGllbnRVdWlkOiBzdHJpbmcpOiBWaXNpdFJldHVyblR5cGUge1xuICBjb25zdCB7IHBhdGllbnRVdWlkOiB2aXNpdFN0b3JlUGF0aWVudFV1aWQsIG1hbnVhbGx5U2V0VmlzaXRVdWlkIH0gPSB1c2VTdG9yZShnZXRWaXNpdFN0b3JlKCkpO1xuICAvLyBJZ25vcmUgdGhlIHZpc2l0IHN0b3JlIGRhdGEgaWYgaXQgaXMgbm90IGZvciB0aGlzIHBhdGllbnRcbiAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA9IHBhdGllbnRVdWlkICYmIHZpc2l0U3RvcmVQYXRpZW50VXVpZCA9PSBwYXRpZW50VXVpZCA/IG1hbnVhbGx5U2V0VmlzaXRVdWlkIDogbnVsbDtcbiAgY29uc3QgYWN0aXZlVmlzaXRVcmxTdWZmaXggPSBgP3BhdGllbnQ9JHtwYXRpZW50VXVpZH0mdj0ke2RlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9ufSZpbmNsdWRlSW5hY3RpdmU9ZmFsc2VgO1xuICBjb25zdCByZXRyb3NwZWN0aXZlVmlzaXRVcmxTdWZmaXggPSBgLyR7cmV0cm9zcGVjdGl2ZVZpc2l0VXVpZH1gO1xuXG4gIGNvbnN0IHtcbiAgICBkYXRhOiBhY3RpdmVEYXRhLFxuICAgIGVycm9yOiBhY3RpdmVFcnJvcixcbiAgICBtdXRhdGU6IGFjdGl2ZU11dGF0ZSxcbiAgICBpc1ZhbGlkYXRpbmc6IGFjdGl2ZUlzVmFsaWRhdGluZyxcbiAgfSA9IHVzZVNXUjx7XG4gICAgZGF0YTogVmlzaXQgfCB7IHJlc3VsdHM6IEFycmF5PFZpc2l0PiB9O1xuICB9PihwYXRpZW50VXVpZCA/IGAvd3MvcmVzdC92MS92aXNpdCR7YWN0aXZlVmlzaXRVcmxTdWZmaXh9YCA6IG51bGwsIG9wZW5tcnNGZXRjaCk7XG5cbiAgY29uc3Qge1xuICAgIGRhdGE6IHJldHJvRGF0YSxcbiAgICBlcnJvcjogcmV0cm9FcnJvcixcbiAgICBtdXRhdGU6IHJldHJvTXV0YXRlLFxuICAgIGlzVmFsaWRhdGluZzogcmV0cm9Jc1ZhbGlkYXRpbmcsXG4gIH0gPSB1c2VTV1I8e1xuICAgIGRhdGE6IFZpc2l0IHwgeyByZXN1bHRzOiBBcnJheTxWaXNpdD4gfTtcbiAgfT4ocGF0aWVudFV1aWQgJiYgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA/IGAvd3MvcmVzdC92MS92aXNpdCR7cmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4fWAgOiBudWxsLCBvcGVubXJzRmV0Y2gpO1xuXG4gIGNvbnN0IGFjdGl2ZVZpc2l0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBhY3RpdmVEYXRhPy5kYXRhLnJlc3VsdHMuZmluZCgodmlzaXQpID0+IHZpc2l0LnN0b3BEYXRldGltZSA9PT0gbnVsbCkgPz8gbnVsbCxcbiAgICBbYWN0aXZlRGF0YV0sXG4gICk7XG5cbiAgY29uc3QgY3VycmVudFZpc2l0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAocmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA/IHJldHJvRGF0YT8uZGF0YSA6IGFjdGl2ZVZpc2l0ID8/IG51bGwpLFxuICAgIFtyZXRyb0RhdGEsIGFjdGl2ZVZpc2l0LCByZXRyb3NwZWN0aXZlVmlzaXRVdWlkXSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGVycm9yOiBhY3RpdmVFcnJvciB8fCByZXRyb0Vycm9yLFxuICAgIG11dGF0ZTogKCkgPT4ge1xuICAgICAgYWN0aXZlTXV0YXRlKCk7XG4gICAgICByZXRyb011dGF0ZSgpO1xuICAgIH0sXG4gICAgaXNWYWxpZGF0aW5nOiBhY3RpdmVJc1ZhbGlkYXRpbmcgfHwgcmV0cm9Jc1ZhbGlkYXRpbmcsXG4gICAgYWN0aXZlVmlzaXQsXG4gICAgY3VycmVudFZpc2l0LFxuICAgIGN1cnJlbnRWaXNpdElzUmV0cm9zcGVjdGl2ZTogQm9vbGVhbihyZXRyb3NwZWN0aXZlVmlzaXRVdWlkKSxcbiAgICBpc0xvYWRpbmc6IEJvb2xlYW4oKCFhY3RpdmVEYXRhIHx8IChyZXRyb3NwZWN0aXZlVmlzaXRVdWlkICYmICFyZXRyb0RhdGEpKSAmJiAoIWFjdGl2ZUVycm9yIHx8ICFyZXRyb0Vycm9yKSksXG4gIH07XG59XG4iXSwibmFtZXMiOlsiZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24iLCJnZXRWaXNpdFN0b3JlIiwib3Blbm1yc0ZldGNoIiwidXNlU1dSIiwiZGF5anMiLCJpc1RvZGF5IiwidXNlTWVtbyIsInVzZVN0b3JlIiwiZXh0ZW5kIiwidXNlVmlzaXQiLCJwYXRpZW50VXVpZCIsInZpc2l0U3RvcmVQYXRpZW50VXVpZCIsIm1hbnVhbGx5U2V0VmlzaXRVdWlkIiwicmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCIsImFjdGl2ZVZpc2l0VXJsU3VmZml4IiwicmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4IiwiZGF0YSIsImFjdGl2ZURhdGEiLCJlcnJvciIsImFjdGl2ZUVycm9yIiwibXV0YXRlIiwiYWN0aXZlTXV0YXRlIiwiaXNWYWxpZGF0aW5nIiwiYWN0aXZlSXNWYWxpZGF0aW5nIiwicmV0cm9EYXRhIiwicmV0cm9FcnJvciIsInJldHJvTXV0YXRlIiwicmV0cm9Jc1ZhbGlkYXRpbmciLCJhY3RpdmVWaXNpdCIsInJlc3VsdHMiLCJmaW5kIiwidmlzaXQiLCJzdG9wRGF0ZXRpbWUiLCJjdXJyZW50VmlzaXQiLCJjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmUiLCJCb29sZWFuIiwiaXNMb2FkaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useVisit.ts\n");
|
|
7318
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisit: () => (/* binding */ useVisit)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/core/dist/index.mjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs/plugin/isToday */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useStore */ \"../../framework/esm-react-utils/src/useStore.ts\");\n/** @module @category API */ \n\n\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_2___default().extend((dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_3___default()));\n/**\n * This React hook returns visit information if the patient UUID is not null. There are\n * potentially two relevant visits at a time: \"active\" and \"current\".\n *\n * The active visit is the most recent visit without an end date. The presence of an active\n * visit generally means that the patient is in the facility.\n *\n * The current visit is the active visit, unless a retrospective visit has been selected.\n * If there is no active visit and no selected retrospective visit, then there is no\n * current visit. If there is no active visit but there is a retrospective visit, then\n * the retrospective visit is the current visit. `currentVisitIsRetrospective` tells you\n * whether the current visit is a retrospective visit.\n *\n * The active visit and current visit require two separate API calls. `error` contains\n * the error from either one, if there is an error. `isValidating` is true if either\n * API call is in progress. `mutate` refreshes the data from both API calls.\n *\n * @param patientUuid Unique patient identifier `string`\n */ function useVisit(patientUuid) {\n var _useStore = (0,_useStore__WEBPACK_IMPORTED_MODULE_5__.useStore)((0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getVisitStore)()), visitStorePatientUuid = _useStore.patientUuid, manuallySetVisitUuid = _useStore.manuallySetVisitUuid;\n // Ignore the visit store data if it is not for this patient\n var retrospectiveVisitUuid = patientUuid && visitStorePatientUuid == patientUuid ? manuallySetVisitUuid : null;\n var activeVisitUrlSuffix = \"?patient=\".concat(patientUuid, \"&v=\").concat(_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.defaultVisitCustomRepresentation, \"&includeInactive=false\");\n var retrospectiveVisitUrlSuffix = \"/\".concat(retrospectiveVisitUuid);\n var _useSWR = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid ? \"/ws/rest/v1/visit\".concat(activeVisitUrlSuffix) : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.openmrsFetch), activeData = _useSWR.data, activeError = _useSWR.error, activeMutate = _useSWR.mutate, activeIsValidating = _useSWR.isValidating;\n var _useSWR1 = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid && retrospectiveVisitUuid ? \"/ws/rest/v1/visit\".concat(retrospectiveVisitUrlSuffix) : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.openmrsFetch), retroData = _useSWR1.data, retroError = _useSWR1.error, retroMutate = _useSWR1.mutate, retroIsValidating = _useSWR1.isValidating;\n var _activeData_data_results_find;\n var activeVisit = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function() {\n return (_activeData_data_results_find = activeData === null || activeData === void 0 ? void 0 : activeData.data.results.find(function(visit) {\n return visit.stopDatetime === null;\n })) !== null && _activeData_data_results_find !== void 0 ? _activeData_data_results_find : null;\n }, [\n activeData\n ]);\n var currentVisit = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(function() {\n return retrospectiveVisitUuid ? retroData === null || retroData === void 0 ? void 0 : retroData.data : activeVisit !== null && activeVisit !== void 0 ? activeVisit : null;\n }, [\n retroData,\n activeVisit,\n retrospectiveVisitUuid\n ]);\n return {\n error: activeError || retroError,\n mutate: function() {\n activeMutate();\n retroMutate();\n },\n isValidating: activeIsValidating || retroIsValidating,\n activeVisit: activeVisit,\n currentVisit: currentVisit,\n currentVisitIsRetrospective: Boolean(retrospectiveVisitUuid),\n isLoading: Boolean((!activeData || retrospectiveVisitUuid && !retroData) && (!activeError || !retroError))\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlVmlzaXQudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLDBCQUEwQixHQUV1RTtBQUN4RTtBQUNDO0FBQ2lCO0FBQ1g7QUFDTTtBQUV0Q0ksbURBQVksQ0FBQ0MsNkRBQU9BO0FBWXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQkMsR0FDTSxTQUFTSSxTQUFTQyxXQUFtQixFQUFtQjtJQUM3RCxJQUFxRUgsWUFBQUEsbURBQVFBLENBQUNOLCtEQUFhQSxLQUFuRlMsd0JBQTZESCxVQUE3REcsYUFBb0NFLHVCQUF5QkwsVUFBekJLO0lBQzVDLDREQUE0RDtJQUM1RCxJQUFNQyx5QkFBeUJILGVBQWVDLHlCQUF5QkQsY0FBY0UsdUJBQXVCLElBQUk7SUFDaEgsSUFBTUUsdUJBQXVCLFlBQTZCZCxPQUFqQlUsYUFBWSxPQUFzQyxPQUFqQ1YsOEVBQWdDQSxFQUFDO0lBQzNGLElBQU1lLDhCQUE4QixJQUEyQixPQUF2QkY7SUFFeEMsSUFLSVYsVUFBQUEsK0NBQU1BLENBRVBPLGNBQWMsb0JBQXlDLE9BQXJCSSx3QkFBeUIsSUFBSSxFQUFFWiwwREFBWUEsR0FOOUVjLGFBSUViLFFBSkZhLE1BQ0FFLGNBR0VmLFFBSEZlLE9BQ0FFLGVBRUVqQixRQUZGaUIsUUFDQUUscUJBQ0VuQixRQURGbUI7SUFLRixJQUtJbkIsV0FBQUEsK0NBQU1BLENBRVBPLGVBQWVHLHlCQUF5QixvQkFBZ0QsT0FBNUJFLCtCQUFnQyxJQUFJLEVBQUViLDBEQUFZQSxHQU4vR2MsWUFJRWIsU0FKRmEsTUFDQUUsYUFHRWYsU0FIRmUsT0FDQUUsY0FFRWpCLFNBRkZpQixRQUNBRSxvQkFDRW5CLFNBREZtQjtRQU1NTDtJQURSLElBQU1XLGNBQWN0Qiw4Q0FBT0EsQ0FDekI7UUFBTVcsT0FBQUEsQ0FBQUEsZ0NBQUFBLHVCQUFBQSx3QkFBQUEsS0FBQUEsSUFBQUEsV0FBWUQsSUFBSSxDQUFDYSxPQUFPLENBQUNDLElBQUksQ0FBQyxTQUFDQzttQkFBVUEsTUFBTUMsWUFBWSxLQUFLLElBQUk7VUFBQyxjQUFyRWYsMkNBQUFBLGdDQUF5RSxJQUFJO09BQ25GO1FBQUNBO0tBQVc7SUFHZCxJQUFNZ0IsZUFBZTNCLDhDQUFPQSxDQUMxQjtRQUFPTyxPQUFBQSx5QkFBeUJXLHNCQUFBQSx1QkFBQUEsS0FBQUEsSUFBQUEsVUFBV1IsSUFBSSxHQUFHWSx3QkFBQUEseUJBQUFBLGNBQWUsSUFBSTtPQUNyRTtRQUFDSjtRQUFXSTtRQUFhZjtLQUF1QjtJQUdsRCxPQUFPO1FBQ0xLLE9BQU9DLGVBQWVNO1FBQ3RCTCxRQUFRLFdBQU07WUFDWkM7WUFDQUs7UUFDRjtRQUNBSixjQUFjQyxzQkFBc0JJO1FBQ3BDQyxhQUFBQTtRQUNBSyxjQUFBQTtRQUNBQyw2QkFBNkJDLFFBQVF0QjtRQUNyQ3VCLFdBQVdELFFBQVEsQ0FBQyxDQUFDbEIsY0FBZUosMEJBQTBCLENBQUNXLFNBQVMsS0FBTyxFQUFDTCxlQUFlLENBQUNNLFVBQVM7SUFDM0c7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL3NyYy91c2VWaXNpdC50cz80MGNmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBBUEkgKi9cbmltcG9ydCB0eXBlIHsgVmlzaXQgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbmltcG9ydCB7IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uLCBnZXRWaXNpdFN0b3JlLCBvcGVubXJzRmV0Y2ggfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJztcbmltcG9ydCB1c2VTV1IgZnJvbSAnc3dyJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgaXNUb2RheSBmcm9tICdkYXlqcy9wbHVnaW4vaXNUb2RheSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tICcuL3VzZVN0b3JlJztcblxuZGF5anMuZXh0ZW5kKGlzVG9kYXkpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpc2l0UmV0dXJuVHlwZSB7XG4gIGVycm9yOiBFcnJvcjtcbiAgbXV0YXRlOiAoKSA9PiB2b2lkO1xuICBpc1ZhbGlkYXRpbmc6IGJvb2xlYW47XG4gIGFjdGl2ZVZpc2l0OiBWaXNpdCB8IG51bGw7XG4gIGN1cnJlbnRWaXNpdDogVmlzaXQgfCBudWxsO1xuICBjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmU6IGJvb2xlYW47XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIFJlYWN0IGhvb2sgcmV0dXJucyB2aXNpdCBpbmZvcm1hdGlvbiBpZiB0aGUgcGF0aWVudCBVVUlEIGlzIG5vdCBudWxsLiBUaGVyZSBhcmVcbiAqIHBvdGVudGlhbGx5IHR3byByZWxldmFudCB2aXNpdHMgYXQgYSB0aW1lOiBcImFjdGl2ZVwiIGFuZCBcImN1cnJlbnRcIi5cbiAqXG4gKiBUaGUgYWN0aXZlIHZpc2l0IGlzIHRoZSBtb3N0IHJlY2VudCB2aXNpdCB3aXRob3V0IGFuIGVuZCBkYXRlLiBUaGUgcHJlc2VuY2Ugb2YgYW4gYWN0aXZlXG4gKiB2aXNpdCBnZW5lcmFsbHkgbWVhbnMgdGhhdCB0aGUgcGF0aWVudCBpcyBpbiB0aGUgZmFjaWxpdHkuXG4gKlxuICogVGhlIGN1cnJlbnQgdmlzaXQgaXMgdGhlIGFjdGl2ZSB2aXNpdCwgdW5sZXNzIGEgcmV0cm9zcGVjdGl2ZSB2aXNpdCBoYXMgYmVlbiBzZWxlY3RlZC5cbiAqIElmIHRoZXJlIGlzIG5vIGFjdGl2ZSB2aXNpdCBhbmQgbm8gc2VsZWN0ZWQgcmV0cm9zcGVjdGl2ZSB2aXNpdCwgdGhlbiB0aGVyZSBpcyBub1xuICogY3VycmVudCB2aXNpdC4gSWYgdGhlcmUgaXMgbm8gYWN0aXZlIHZpc2l0IGJ1dCB0aGVyZSBpcyBhIHJldHJvc3BlY3RpdmUgdmlzaXQsIHRoZW5cbiAqIHRoZSByZXRyb3NwZWN0aXZlIHZpc2l0IGlzIHRoZSBjdXJyZW50IHZpc2l0LiBgY3VycmVudFZpc2l0SXNSZXRyb3NwZWN0aXZlYCB0ZWxscyB5b3VcbiAqIHdoZXRoZXIgdGhlIGN1cnJlbnQgdmlzaXQgaXMgYSByZXRyb3NwZWN0aXZlIHZpc2l0LlxuICpcbiAqIFRoZSBhY3RpdmUgdmlzaXQgYW5kIGN1cnJlbnQgdmlzaXQgcmVxdWlyZSB0d28gc2VwYXJhdGUgQVBJIGNhbGxzLiBgZXJyb3JgIGNvbnRhaW5zXG4gKiB0aGUgZXJyb3IgZnJvbSBlaXRoZXIgb25lLCBpZiB0aGVyZSBpcyBhbiBlcnJvci4gYGlzVmFsaWRhdGluZ2AgaXMgdHJ1ZSBpZiBlaXRoZXJcbiAqIEFQSSBjYWxsIGlzIGluIHByb2dyZXNzLiBgbXV0YXRlYCByZWZyZXNoZXMgdGhlIGRhdGEgZnJvbSBib3RoIEFQSSBjYWxscy5cbiAqXG4gKiBAcGFyYW0gcGF0aWVudFV1aWQgVW5pcXVlIHBhdGllbnQgaWRlbnRpZmllciBgc3RyaW5nYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVmlzaXQocGF0aWVudFV1aWQ6IHN0cmluZyk6IFZpc2l0UmV0dXJuVHlwZSB7XG4gIGNvbnN0IHsgcGF0aWVudFV1aWQ6IHZpc2l0U3RvcmVQYXRpZW50VXVpZCwgbWFudWFsbHlTZXRWaXNpdFV1aWQgfSA9IHVzZVN0b3JlKGdldFZpc2l0U3RvcmUoKSk7XG4gIC8vIElnbm9yZSB0aGUgdmlzaXQgc3RvcmUgZGF0YSBpZiBpdCBpcyBub3QgZm9yIHRoaXMgcGF0aWVudFxuICBjb25zdCByZXRyb3NwZWN0aXZlVmlzaXRVdWlkID0gcGF0aWVudFV1aWQgJiYgdmlzaXRTdG9yZVBhdGllbnRVdWlkID09IHBhdGllbnRVdWlkID8gbWFudWFsbHlTZXRWaXNpdFV1aWQgOiBudWxsO1xuICBjb25zdCBhY3RpdmVWaXNpdFVybFN1ZmZpeCA9IGA/cGF0aWVudD0ke3BhdGllbnRVdWlkfSZ2PSR7ZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb259JmluY2x1ZGVJbmFjdGl2ZT1mYWxzZWA7XG4gIGNvbnN0IHJldHJvc3BlY3RpdmVWaXNpdFVybFN1ZmZpeCA9IGAvJHtyZXRyb3NwZWN0aXZlVmlzaXRVdWlkfWA7XG5cbiAgY29uc3Qge1xuICAgIGRhdGE6IGFjdGl2ZURhdGEsXG4gICAgZXJyb3I6IGFjdGl2ZUVycm9yLFxuICAgIG11dGF0ZTogYWN0aXZlTXV0YXRlLFxuICAgIGlzVmFsaWRhdGluZzogYWN0aXZlSXNWYWxpZGF0aW5nLFxuICB9ID0gdXNlU1dSPHtcbiAgICBkYXRhOiBWaXNpdCB8IHsgcmVzdWx0czogQXJyYXk8VmlzaXQ+IH07XG4gIH0+KHBhdGllbnRVdWlkID8gYC93cy9yZXN0L3YxL3Zpc2l0JHthY3RpdmVWaXNpdFVybFN1ZmZpeH1gIDogbnVsbCwgb3Blbm1yc0ZldGNoKTtcblxuICBjb25zdCB7XG4gICAgZGF0YTogcmV0cm9EYXRhLFxuICAgIGVycm9yOiByZXRyb0Vycm9yLFxuICAgIG11dGF0ZTogcmV0cm9NdXRhdGUsXG4gICAgaXNWYWxpZGF0aW5nOiByZXRyb0lzVmFsaWRhdGluZyxcbiAgfSA9IHVzZVNXUjx7XG4gICAgZGF0YTogVmlzaXQgfCB7IHJlc3VsdHM6IEFycmF5PFZpc2l0PiB9O1xuICB9PihwYXRpZW50VXVpZCAmJiByZXRyb3NwZWN0aXZlVmlzaXRVdWlkID8gYC93cy9yZXN0L3YxL3Zpc2l0JHtyZXRyb3NwZWN0aXZlVmlzaXRVcmxTdWZmaXh9YCA6IG51bGwsIG9wZW5tcnNGZXRjaCk7XG5cbiAgY29uc3QgYWN0aXZlVmlzaXQgPSB1c2VNZW1vKFxuICAgICgpID0+IGFjdGl2ZURhdGE/LmRhdGEucmVzdWx0cy5maW5kKCh2aXNpdCkgPT4gdmlzaXQuc3RvcERhdGV0aW1lID09PSBudWxsKSA/PyBudWxsLFxuICAgIFthY3RpdmVEYXRhXSxcbiAgKTtcblxuICBjb25zdCBjdXJyZW50VmlzaXQgPSB1c2VNZW1vKFxuICAgICgpID0+IChyZXRyb3NwZWN0aXZlVmlzaXRVdWlkID8gcmV0cm9EYXRhPy5kYXRhIDogYWN0aXZlVmlzaXQgPz8gbnVsbCksXG4gICAgW3JldHJvRGF0YSwgYWN0aXZlVmlzaXQsIHJldHJvc3BlY3RpdmVWaXNpdFV1aWRdLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgZXJyb3I6IGFjdGl2ZUVycm9yIHx8IHJldHJvRXJyb3IsXG4gICAgbXV0YXRlOiAoKSA9PiB7XG4gICAgICBhY3RpdmVNdXRhdGUoKTtcbiAgICAgIHJldHJvTXV0YXRlKCk7XG4gICAgfSxcbiAgICBpc1ZhbGlkYXRpbmc6IGFjdGl2ZUlzVmFsaWRhdGluZyB8fCByZXRyb0lzVmFsaWRhdGluZyxcbiAgICBhY3RpdmVWaXNpdCxcbiAgICBjdXJyZW50VmlzaXQsXG4gICAgY3VycmVudFZpc2l0SXNSZXRyb3NwZWN0aXZlOiBCb29sZWFuKHJldHJvc3BlY3RpdmVWaXNpdFV1aWQpLFxuICAgIGlzTG9hZGluZzogQm9vbGVhbigoIWFjdGl2ZURhdGEgfHwgKHJldHJvc3BlY3RpdmVWaXNpdFV1aWQgJiYgIXJldHJvRGF0YSkpICYmICghYWN0aXZlRXJyb3IgfHwgIXJldHJvRXJyb3IpKSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJkZWZhdWx0VmlzaXRDdXN0b21SZXByZXNlbnRhdGlvbiIsImdldFZpc2l0U3RvcmUiLCJvcGVubXJzRmV0Y2giLCJ1c2VTV1IiLCJkYXlqcyIsImlzVG9kYXkiLCJ1c2VNZW1vIiwidXNlU3RvcmUiLCJleHRlbmQiLCJ1c2VWaXNpdCIsInBhdGllbnRVdWlkIiwidmlzaXRTdG9yZVBhdGllbnRVdWlkIiwibWFudWFsbHlTZXRWaXNpdFV1aWQiLCJyZXRyb3NwZWN0aXZlVmlzaXRVdWlkIiwiYWN0aXZlVmlzaXRVcmxTdWZmaXgiLCJyZXRyb3NwZWN0aXZlVmlzaXRVcmxTdWZmaXgiLCJkYXRhIiwiYWN0aXZlRGF0YSIsImVycm9yIiwiYWN0aXZlRXJyb3IiLCJtdXRhdGUiLCJhY3RpdmVNdXRhdGUiLCJpc1ZhbGlkYXRpbmciLCJhY3RpdmVJc1ZhbGlkYXRpbmciLCJyZXRyb0RhdGEiLCJyZXRyb0Vycm9yIiwicmV0cm9NdXRhdGUiLCJyZXRyb0lzVmFsaWRhdGluZyIsImFjdGl2ZVZpc2l0IiwicmVzdWx0cyIsImZpbmQiLCJ2aXNpdCIsInN0b3BEYXRldGltZSIsImN1cnJlbnRWaXNpdCIsImN1cnJlbnRWaXNpdElzUmV0cm9zcGVjdGl2ZSIsIkJvb2xlYW4iLCJpc0xvYWRpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useVisit.ts\n");
|
|
7319
7319
|
|
|
7320
7320
|
/***/ }),
|
|
7321
7321
|
|
|
@@ -7326,7 +7326,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7326
7326
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7327
7327
|
|
|
7328
7328
|
"use strict";
|
|
7329
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisitTypes: () => (/* binding */ useVisitTypes)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nfunction useVisitTypes() {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), 2), visitTypes = _useState[0], setVisitTypes = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n var visitTypesSub = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getVisitTypes)().subscribe(function(visitTypes) {\n setVisitTypes(visitTypes);\n }, function(error) {\n return console.error(error);\n });\n return function() {\n return visitTypesSub.unsubscribe();\n };\n }, []);\n return visitTypes;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7329
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisitTypes: () => (/* binding */ useVisitTypes)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/src/index.ts\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/** @module @category API */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nfunction useVisitTypes() {\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), 2), visitTypes = _useState[0], setVisitTypes = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function() {\n var visitTypesSub = (0,_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_0__.getVisitTypes)().subscribe(function(visitTypes) {\n setVisitTypes(visitTypes);\n }, function(error) {\n return console.error(error);\n });\n return function() {\n return visitTypesSub.unsubscribe();\n };\n }, []);\n return visitTypes;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9zcmMvdXNlVmlzaXRUeXBlcy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXVCO0FBQ0w7QUFFckMsU0FBU0csZ0JBQWdCO0lBQzlCLElBQW9DRCw2QkFBQUEsK0NBQVFBLENBQW1CLEVBQUUsT0FBMURFLGFBQTZCRixjQUFqQkcsZ0JBQWlCSDtJQUVwQ0QsZ0RBQVNBLENBQUMsV0FBTTtRQUNkLElBQU1LLGdCQUFnQk4sK0RBQWFBLEdBQUdPLFNBQVMsQ0FDN0MsU0FBQ0gsWUFBZTtZQUNkQyxjQUFjRDtRQUNoQixHQUNBLFNBQUNJO21CQUFVQyxRQUFRRCxLQUFLLENBQUNBOztRQUczQixPQUFPO21CQUFNRixjQUFjSSxXQUFXOztJQUN4QyxHQUFHLEVBQUU7SUFFTCxPQUFPTjtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvc3JjL3VzZVZpc2l0VHlwZXMudHM/OTlmNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovXG5pbXBvcnQgdHlwZSB7IFZpc2l0VHlwZSB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuaW1wb3J0IHsgZ2V0VmlzaXRUeXBlcyB9IGZyb20gJ0BvcGVubXJzL2VzbS1hcGknO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVZpc2l0VHlwZXMoKSB7XG4gIGNvbnN0IFt2aXNpdFR5cGVzLCBzZXRWaXNpdFR5cGVzXSA9IHVzZVN0YXRlPEFycmF5PFZpc2l0VHlwZT4+KFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHZpc2l0VHlwZXNTdWIgPSBnZXRWaXNpdFR5cGVzKCkuc3Vic2NyaWJlKFxuICAgICAgKHZpc2l0VHlwZXMpID0+IHtcbiAgICAgICAgc2V0VmlzaXRUeXBlcyh2aXNpdFR5cGVzKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IpLFxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gdmlzaXRUeXBlc1N1Yi51bnN1YnNjcmliZSgpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHZpc2l0VHlwZXM7XG59XG4iXSwibmFtZXMiOlsiZ2V0VmlzaXRUeXBlcyIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlVmlzaXRUeXBlcyIsInZpc2l0VHlwZXMiLCJzZXRWaXNpdFR5cGVzIiwidmlzaXRUeXBlc1N1YiIsInN1YnNjcmliZSIsImVycm9yIiwiY29uc29sZSIsInVuc3Vic2NyaWJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/src/useVisitTypes.ts\n");
|
|
7330
7330
|
|
|
7331
7331
|
/***/ }),
|
|
7332
7332
|
|
|
@@ -7359,7 +7359,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7359
7359
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7360
7360
|
|
|
7361
7361
|
"use strict";
|
|
7362
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addRoutesOverride: () => (/* binding */ addRoutesOverride),\n/* harmony export */ isOpenmrsAppRoutes: () => (/* binding */ isOpenmrsAppRoutes),\n/* harmony export */ isOpenmrsRoutes: () => (/* binding */ isOpenmrsRoutes),\n/* harmony export */ removeRoutesOverride: () => (/* binding */ removeRoutesOverride),\n/* harmony export */ resetAllRoutesOverrides: () => (/* binding */ resetAllRoutesOverrides)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-utils */ \"../../framework/esm-utils/src/storage.ts\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"../../framework/esm-routes/src/constants.ts\");\n/** @module @category Routes Utilities */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar isEnabled = (0,_openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_0__.canAccessStorage)();\n/**\n * Used to add a route override to local storage. These are read as the routes registry\n * is assembled, so the app must be reloaded for new overrides to take effect.\n *\n * @internal\n * @param moduleName The name of the module the routes are for\n * @param routes Either an {@link OpenmrsAppRoutes} object, a string that represents a JSON\n * version of an {@link OpenmrsAppRoutes} object or a string or URL that resolves to a\n * JSON document that represents an {@link OpenmrsAppRoutes} object\n */ function addRoutesOverride(moduleName, routes) {\n if (!isEnabled) {\n return;\n }\n if (typeof routes === \"string\") {\n if (routes.startsWith(\"http\")) {\n return addRouteOverrideInternal(moduleName, routes);\n } else {\n try {\n var maybeRoutes = JSON.parse(routes);\n if (isOpenmrsAppRoutes(maybeRoutes)) {\n return addRouteOverrideInternal(moduleName, maybeRoutes);\n } else {\n console.error(\"The supplied routes for \".concat(moduleName, \" is not a valid OpenmrsAppRoutes object\"), routes);\n }\n } catch (e) {}\n }\n } else if (_instanceof(routes, URL)) {\n return addRouteOverrideInternal(moduleName, routes.toString());\n } else if (isOpenmrsAppRoutes(routes)) {\n return addRouteOverrideInternal(moduleName, routes);\n }\n console.error(\"Override for \".concat(moduleName, \" is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL\"), routes);\n}\n/**\n * Used to remove an existing routes override from local storage. These are read as the routes registry\n * is assembled, so the app must be reloaded for removed override to be removed.\n *\n * @internal\n * @param moduleName The module to remove the overrides for\n */ function removeRoutesOverride(moduleName) {\n if (!isEnabled) {\n return;\n }\n var key = _constants__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix + moduleName;\n localStorage.removeItem(key);\n}\n/**\n * Used to remove all existing routes overrides from local storage. These are read as the routes registry\n * is assembled, so the app must be reloaded for the removed overrides to appear to be removed.\n *\n * @internal\n */ function resetAllRoutesOverrides() {\n if (!isEnabled) {\n return;\n }\n var localStorage1 = window.localStorage;\n for(var i = 0; i < localStorage1.length; i++){\n var key = localStorage1.key(i);\n if (key === null || key === void 0 ? void 0 : key.startsWith(_constants__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix)) {\n localStorage1.removeItem(key);\n }\n }\n}\nfunction addRouteOverrideInternal(moduleName, routes) {\n var key = _constants__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix + moduleName;\n localStorage.setItem(key, JSON.stringify(routes));\n}\n/**\n * Simple type-predicate to ensure that the value can be treated as an OpenmrsAppRoutes\n * object.\n *\n * @internal\n * @param routes the object to check to see if it is an OpenmrsAppRoutes object\n * @returns true if the routes value is an OpenmrsAppRoutes\n */ function isOpenmrsAppRoutes(routes) {\n if (routes && typeof routes === \"object\") {\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n // we cast maybeRoutes as OpenmrsAppRoutes mainly so we can refer to the properties it should\n // have without repeated casts\n var maybeRoutes = routes;\n if (hasOwnProperty.call(routes, \"pages\")) {\n if (!Boolean(maybeRoutes.pages) || !Array.isArray(maybeRoutes.pages)) {\n return false;\n }\n }\n if (hasOwnProperty.call(routes, \"extensions\")) {\n if (!Boolean(maybeRoutes.extensions) || !Array.isArray(maybeRoutes.extensions)) {\n return false;\n }\n }\n // Notice that we're essentially testing for things that cannot be treated as an OpenmrsAppRoutes\n // object. This is because a completely empty object is a valid OpenmrsAppRoutes object.\n return true;\n }\n return false;\n}\n/**\n * Simple type-predicate to ensure that the value can be treated as an OpenmrsRoutes\n * object.\n *\n * @internal\n * @param routes the object to check to see if it is an OpenmrsRoutes object\n * @returns true if the routes value is an OpenmrsRoutes\n */ function isOpenmrsRoutes(routes) {\n if (routes && typeof routes === \"object\") {\n var maybeRoutes = routes;\n return Object.entries(maybeRoutes).every(function(param) {\n var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];\n return typeof key === \"string\" && isOpenmrsAppRoutes(value);\n });\n }\n return false;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yb3V0ZXMvc3JjL3JvdXRlcy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsdUNBQXVDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVlO0FBQ0M7QUFFdkQsSUFBTUUsWUFBWUYsb0VBQWdCQTtBQUVsQzs7Ozs7Ozs7O0NBU0MsR0FDTSxTQUFTRyxrQkFBa0JDLFVBQWtCLEVBQUVDLE1BQXVDLEVBQUU7SUFDN0YsSUFBSSxDQUFDSCxXQUFXO1FBQ2Q7SUFDRixDQUFDO0lBRUQsSUFBSSxPQUFPRyxXQUFXLFVBQVU7UUFDOUIsSUFBSUEsT0FBT0MsVUFBVSxDQUFDLFNBQVM7WUFDN0IsT0FBT0MseUJBQXlCSCxZQUFZQztRQUM5QyxPQUFPO1lBQ0wsSUFBSTtnQkFDRixJQUFNRyxjQUFjQyxLQUFLQyxLQUFLLENBQUNMO2dCQUMvQixJQUFJTSxtQkFBbUJILGNBQWM7b0JBQ25DLE9BQU9ELHlCQUF5QkgsWUFBWUk7Z0JBQzlDLE9BQU87b0JBQ0xJLFFBQVFDLEtBQUssQ0FBQywyQkFBc0MsT0FBWFQsWUFBVyw0Q0FBMENDO2dCQUNoRyxDQUFDO1lBQ0gsRUFBRSxVQUFNLENBQUM7UUFDWCxDQUFDO0lBQ0gsT0FBTyxJQUFJQSxZQUFBQSxRQUFrQlMsTUFBSztRQUNoQyxPQUFPUCx5QkFBeUJILFlBQVlDLE9BQU9VLFFBQVE7SUFDN0QsT0FBTyxJQUFJSixtQkFBbUJOLFNBQVM7UUFDckMsT0FBT0UseUJBQXlCSCxZQUFZQztJQUM5QyxDQUFDO0lBRURPLFFBQVFDLEtBQUssQ0FDWCxnQkFBMkIsT0FBWFQsWUFBVyxtSEFDM0JDO0FBRUosQ0FBQztBQUVEOzs7Ozs7Q0FNQyxHQUNNLFNBQVNXLHFCQUFxQlosVUFBa0IsRUFBRTtJQUN2RCxJQUFJLENBQUNGLFdBQVc7UUFDZDtJQUNGLENBQUM7SUFFRCxJQUFNZSxNQUFNaEIsZ0VBQXdCQSxHQUFHRztJQUN2Q2MsYUFBYUMsVUFBVSxDQUFDRjtBQUMxQixDQUFDO0FBRUQ7Ozs7O0NBS0MsR0FDTSxTQUFTRywwQkFBMEI7SUFDeEMsSUFBSSxDQUFDbEIsV0FBVztRQUNkO0lBQ0YsQ0FBQztJQUVELElBQU1nQixnQkFBZUcsT0FBT0gsWUFBWTtJQUN4QyxJQUFLLElBQUlJLElBQUksR0FBR0EsSUFBSUosY0FBYUssTUFBTSxFQUFFRCxJQUFLO1FBQzVDLElBQU1MLE1BQU1DLGNBQWFELEdBQUcsQ0FBQ0s7UUFDN0IsSUFBSUwsZ0JBQUFBLGlCQUFBQSxLQUFBQSxJQUFBQSxJQUFLWCxVQUFVLENBQUNMLGdFQUF3QkEsR0FBRztZQUM3Q2lCLGNBQWFDLFVBQVUsQ0FBQ0Y7UUFDMUIsQ0FBQztJQUNIO0FBQ0YsQ0FBQztBQUVELFNBQVNWLHlCQUF5QkgsVUFBa0IsRUFBRUMsTUFBaUMsRUFBRTtJQUN2RixJQUFNWSxNQUFNaEIsZ0VBQXdCQSxHQUFHRztJQUN2Q2MsYUFBYU0sT0FBTyxDQUFDUCxLQUFLUixLQUFLZ0IsU0FBUyxDQUFDcEI7QUFDM0M7QUFFQTs7Ozs7OztDQU9DLEdBQ00sU0FBU00sbUJBQW1CTixNQUFrQyxFQUE4QjtJQUNqRyxJQUFJQSxVQUFVLE9BQU9BLFdBQVcsVUFBVTtRQUN4QyxJQUFNcUIsaUJBQWlCQyxPQUFPQyxTQUFTLENBQUNGLGNBQWM7UUFDdEQsNkZBQTZGO1FBQzdGLDhCQUE4QjtRQUM5QixJQUFNbEIsY0FBY0g7UUFFcEIsSUFBSXFCLGVBQWVHLElBQUksQ0FBQ3hCLFFBQVEsVUFBVTtZQUN4QyxJQUFJLENBQUN5QixRQUFRdEIsWUFBWXVCLEtBQUssS0FBSyxDQUFDQyxNQUFNQyxPQUFPLENBQUN6QixZQUFZdUIsS0FBSyxHQUFHO2dCQUNwRSxPQUFPLEtBQUs7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUlMLGVBQWVHLElBQUksQ0FBQ3hCLFFBQVEsZUFBZTtZQUM3QyxJQUFJLENBQUN5QixRQUFRdEIsWUFBWTBCLFVBQVUsS0FBSyxDQUFDRixNQUFNQyxPQUFPLENBQUN6QixZQUFZMEIsVUFBVSxHQUFHO2dCQUM5RSxPQUFPLEtBQUs7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUVELGlHQUFpRztRQUNqRyx3RkFBd0Y7UUFDeEYsT0FBTyxJQUFJO0lBQ2IsQ0FBQztJQUVELE9BQU8sS0FBSztBQUNkLENBQUM7QUFFRDs7Ozs7OztDQU9DLEdBQ00sU0FBU0MsZ0JBQWdCOUIsTUFBK0IsRUFBMkI7SUFDeEYsSUFBSUEsVUFBVSxPQUFPQSxXQUFXLFVBQVU7UUFDeEMsSUFBTUcsY0FBY0g7UUFFcEIsT0FBT3NCLE9BQU9TLE9BQU8sQ0FBQzVCLGFBQWE2QixLQUFLLENBQUM7cURBQUVwQixpQkFBS3FCO21CQUFXLE9BQU9yQixRQUFRLFlBQVlOLG1CQUFtQjJCOztJQUMzRyxDQUFDO0lBRUQsT0FBTyxLQUFLO0FBQ2QsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yb3V0ZXMvc3JjL3JvdXRlcy50cz8yNTM1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBSb3V0ZXMgVXRpbGl0aWVzICovXG5pbXBvcnQgdHlwZSB7IE9wZW5tcnNBcHBSb3V0ZXMsIE9wZW5tcnNSb3V0ZXMgfSBmcm9tICdAb3Blbm1ycy9lc20tZ2xvYmFscyc7XG5pbXBvcnQgeyBjYW5BY2Nlc3NTdG9yYWdlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLXV0aWxzJztcbmltcG9ydCB7IGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaXNFbmFibGVkID0gY2FuQWNjZXNzU3RvcmFnZSgpO1xuXG4vKipcbiAqIFVzZWQgdG8gYWRkIGEgcm91dGUgb3ZlcnJpZGUgdG8gbG9jYWwgc3RvcmFnZS4gVGhlc2UgYXJlIHJlYWQgYXMgdGhlIHJvdXRlcyByZWdpc3RyeVxuICogaXMgYXNzZW1ibGVkLCBzbyB0aGUgYXBwIG11c3QgYmUgcmVsb2FkZWQgZm9yIG5ldyBvdmVycmlkZXMgdG8gdGFrZSBlZmZlY3QuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoZSByb3V0ZXMgYXJlIGZvclxuICogQHBhcmFtIHJvdXRlcyBFaXRoZXIgYW4ge0BsaW5rIE9wZW5tcnNBcHBSb3V0ZXN9IG9iamVjdCwgYSBzdHJpbmcgdGhhdCByZXByZXNlbnRzIGEgSlNPTlxuICogIHZlcnNpb24gb2YgYW4ge0BsaW5rIE9wZW5tcnNBcHBSb3V0ZXN9IG9iamVjdCBvciBhIHN0cmluZyBvciBVUkwgdGhhdCByZXNvbHZlcyB0byBhXG4gKiAgSlNPTiBkb2N1bWVudCB0aGF0IHJlcHJlc2VudHMgYW4ge0BsaW5rIE9wZW5tcnNBcHBSb3V0ZXN9IG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkUm91dGVzT3ZlcnJpZGUobW9kdWxlTmFtZTogc3RyaW5nLCByb3V0ZXM6IE9wZW5tcnNBcHBSb3V0ZXMgfCBzdHJpbmcgfCBVUkwpIHtcbiAgaWYgKCFpc0VuYWJsZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAodHlwZW9mIHJvdXRlcyA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAocm91dGVzLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgcmV0dXJuIGFkZFJvdXRlT3ZlcnJpZGVJbnRlcm5hbChtb2R1bGVOYW1lLCByb3V0ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBtYXliZVJvdXRlcyA9IEpTT04ucGFyc2Uocm91dGVzKTtcbiAgICAgICAgaWYgKGlzT3Blbm1yc0FwcFJvdXRlcyhtYXliZVJvdXRlcykpIHtcbiAgICAgICAgICByZXR1cm4gYWRkUm91dGVPdmVycmlkZUludGVybmFsKG1vZHVsZU5hbWUsIG1heWJlUm91dGVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBUaGUgc3VwcGxpZWQgcm91dGVzIGZvciAke21vZHVsZU5hbWV9IGlzIG5vdCBhIHZhbGlkIE9wZW5tcnNBcHBSb3V0ZXMgb2JqZWN0YCwgcm91dGVzKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7fVxuICAgIH1cbiAgfSBlbHNlIGlmIChyb3V0ZXMgaW5zdGFuY2VvZiBVUkwpIHtcbiAgICByZXR1cm4gYWRkUm91dGVPdmVycmlkZUludGVybmFsKG1vZHVsZU5hbWUsIHJvdXRlcy50b1N0cmluZygpKTtcbiAgfSBlbHNlIGlmIChpc09wZW5tcnNBcHBSb3V0ZXMocm91dGVzKSkge1xuICAgIHJldHVybiBhZGRSb3V0ZU92ZXJyaWRlSW50ZXJuYWwobW9kdWxlTmFtZSwgcm91dGVzKTtcbiAgfVxuXG4gIGNvbnNvbGUuZXJyb3IoXG4gICAgYE92ZXJyaWRlIGZvciAke21vZHVsZU5hbWV9IGlzIG5vdCBpbiBhIHZhbGlkIGZvcm1hdC4gRXhwZWN0ZWQgZWl0aGVyIGEgSmF2YXNjcmlwdCBPYmplY3QsIGEgSlNPTiBzdHJpbmcgb2YgYSBKYXZhc2NyaXB0IG9iamVjdCwgb3IgYSBVUkxgLFxuICAgIHJvdXRlcyxcbiAgKTtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIHJlbW92ZSBhbiBleGlzdGluZyByb3V0ZXMgb3ZlcnJpZGUgZnJvbSBsb2NhbCBzdG9yYWdlLiBUaGVzZSBhcmUgcmVhZCBhcyB0aGUgcm91dGVzIHJlZ2lzdHJ5XG4gKiBpcyBhc3NlbWJsZWQsIHNvIHRoZSBhcHAgbXVzdCBiZSByZWxvYWRlZCBmb3IgcmVtb3ZlZCBvdmVycmlkZSB0byBiZSByZW1vdmVkLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIG1vZHVsZU5hbWUgVGhlIG1vZHVsZSB0byByZW1vdmUgdGhlIG92ZXJyaWRlcyBmb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJvdXRlc092ZXJyaWRlKG1vZHVsZU5hbWU6IHN0cmluZykge1xuICBpZiAoIWlzRW5hYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCArIG1vZHVsZU5hbWU7XG4gIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG59XG5cbi8qKlxuICogVXNlZCB0byByZW1vdmUgYWxsIGV4aXN0aW5nIHJvdXRlcyBvdmVycmlkZXMgZnJvbSBsb2NhbCBzdG9yYWdlLiBUaGVzZSBhcmUgcmVhZCBhcyB0aGUgcm91dGVzIHJlZ2lzdHJ5XG4gKiBpcyBhc3NlbWJsZWQsIHNvIHRoZSBhcHAgbXVzdCBiZSByZWxvYWRlZCBmb3IgdGhlIHJlbW92ZWQgb3ZlcnJpZGVzIHRvIGFwcGVhciB0byBiZSByZW1vdmVkLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRBbGxSb3V0ZXNPdmVycmlkZXMoKSB7XG4gIGlmICghaXNFbmFibGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbG9jYWxTdG9yYWdlID0gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2NhbFN0b3JhZ2UubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBrZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuICAgIGlmIChrZXk/LnN0YXJ0c1dpdGgobG9jYWxTdG9yYWdlUm91dGVzUHJlZml4KSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkUm91dGVPdmVycmlkZUludGVybmFsKG1vZHVsZU5hbWU6IHN0cmluZywgcm91dGVzOiBPcGVubXJzQXBwUm91dGVzIHwgc3RyaW5nKSB7XG4gIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCArIG1vZHVsZU5hbWU7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkocm91dGVzKSk7XG59XG5cbi8qKlxuICogU2ltcGxlIHR5cGUtcHJlZGljYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSB2YWx1ZSBjYW4gYmUgdHJlYXRlZCBhcyBhbiBPcGVubXJzQXBwUm91dGVzXG4gKiBvYmplY3QuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gcm91dGVzIHRoZSBvYmplY3QgdG8gY2hlY2sgdG8gc2VlIGlmIGl0IGlzIGFuIE9wZW5tcnNBcHBSb3V0ZXMgb2JqZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSByb3V0ZXMgdmFsdWUgaXMgYW4gT3Blbm1yc0FwcFJvdXRlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPcGVubXJzQXBwUm91dGVzKHJvdXRlczogT3Blbm1yc0FwcFJvdXRlcyB8IHVua25vd24pOiByb3V0ZXMgaXMgT3Blbm1yc0FwcFJvdXRlcyB7XG4gIGlmIChyb3V0ZXMgJiYgdHlwZW9mIHJvdXRlcyA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG4gICAgLy8gd2UgY2FzdCBtYXliZVJvdXRlcyBhcyBPcGVubXJzQXBwUm91dGVzIG1haW5seSBzbyB3ZSBjYW4gcmVmZXIgdG8gdGhlIHByb3BlcnRpZXMgaXQgc2hvdWxkXG4gICAgLy8gaGF2ZSB3aXRob3V0IHJlcGVhdGVkIGNhc3RzXG4gICAgY29uc3QgbWF5YmVSb3V0ZXMgPSByb3V0ZXMgYXMgT3Blbm1yc0FwcFJvdXRlcztcblxuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHJvdXRlcywgJ3BhZ2VzJykpIHtcbiAgICAgIGlmICghQm9vbGVhbihtYXliZVJvdXRlcy5wYWdlcykgfHwgIUFycmF5LmlzQXJyYXkobWF5YmVSb3V0ZXMucGFnZXMpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChyb3V0ZXMsICdleHRlbnNpb25zJykpIHtcbiAgICAgIGlmICghQm9vbGVhbihtYXliZVJvdXRlcy5leHRlbnNpb25zKSB8fCAhQXJyYXkuaXNBcnJheShtYXliZVJvdXRlcy5leHRlbnNpb25zKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTm90aWNlIHRoYXQgd2UncmUgZXNzZW50aWFsbHkgdGVzdGluZyBmb3IgdGhpbmdzIHRoYXQgY2Fubm90IGJlIHRyZWF0ZWQgYXMgYW4gT3Blbm1yc0FwcFJvdXRlc1xuICAgIC8vIG9iamVjdC4gVGhpcyBpcyBiZWNhdXNlIGEgY29tcGxldGVseSBlbXB0eSBvYmplY3QgaXMgYSB2YWxpZCBPcGVubXJzQXBwUm91dGVzIG9iamVjdC5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBTaW1wbGUgdHlwZS1wcmVkaWNhdGUgdG8gZW5zdXJlIHRoYXQgdGhlIHZhbHVlIGNhbiBiZSB0cmVhdGVkIGFzIGFuIE9wZW5tcnNSb3V0ZXNcbiAqIG9iamVjdC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSByb3V0ZXMgdGhlIG9iamVjdCB0byBjaGVjayB0byBzZWUgaWYgaXQgaXMgYW4gT3Blbm1yc1JvdXRlcyBvYmplY3RcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHJvdXRlcyB2YWx1ZSBpcyBhbiBPcGVubXJzUm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09wZW5tcnNSb3V0ZXMocm91dGVzOiBPcGVubXJzUm91dGVzIHwgdW5rbm93bik6IHJvdXRlcyBpcyBPcGVubXJzUm91dGVzIHtcbiAgaWYgKHJvdXRlcyAmJiB0eXBlb2Ygcm91dGVzID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG1heWJlUm91dGVzID0gcm91dGVzIGFzIE9wZW5tcnNSb3V0ZXM7XG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMobWF5YmVSb3V0ZXMpLmV2ZXJ5KChba2V5LCB2YWx1ZV0pID0+IHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGlzT3Blbm1yc0FwcFJvdXRlcyh2YWx1ZSkpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIl0sIm5hbWVzIjpbImNhbkFjY2Vzc1N0b3JhZ2UiLCJsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgiLCJpc0VuYWJsZWQiLCJhZGRSb3V0ZXNPdmVycmlkZSIsIm1vZHVsZU5hbWUiLCJyb3V0ZXMiLCJzdGFydHNXaXRoIiwiYWRkUm91dGVPdmVycmlkZUludGVybmFsIiwibWF5YmVSb3V0ZXMiLCJKU09OIiwicGFyc2UiLCJpc09wZW5tcnNBcHBSb3V0ZXMiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJ0b1N0cmluZyIsInJlbW92ZVJvdXRlc092ZXJyaWRlIiwia2V5IiwibG9jYWxTdG9yYWdlIiwicmVtb3ZlSXRlbSIsInJlc2V0QWxsUm91dGVzT3ZlcnJpZGVzIiwid2luZG93IiwiaSIsImxlbmd0aCIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJoYXNPd25Qcm9wZXJ0eSIsIk9iamVjdCIsInByb3RvdHlwZSIsImNhbGwiLCJCb29sZWFuIiwicGFnZXMiLCJBcnJheSIsImlzQXJyYXkiLCJleHRlbnNpb25zIiwiaXNPcGVubXJzUm91dGVzIiwiZW50cmllcyIsImV2ZXJ5IiwidmFsdWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-routes/src/routes.ts\n");
|
|
7362
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addRoutesOverride: () => (/* binding */ addRoutesOverride),\n/* harmony export */ isOpenmrsAppRoutes: () => (/* binding */ isOpenmrsAppRoutes),\n/* harmony export */ isOpenmrsRoutes: () => (/* binding */ isOpenmrsRoutes),\n/* harmony export */ removeRoutesOverride: () => (/* binding */ removeRoutesOverride),\n/* harmony export */ resetAllRoutesOverrides: () => (/* binding */ resetAllRoutesOverrides)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-utils */ \"../../framework/esm-utils/src/storage.ts\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"../../framework/esm-routes/src/constants.ts\");\n/** @module @category Routes Utilities */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar isEnabled = (0,_openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_0__.canAccessStorage)();\n/**\n * Used to add a route override to local storage. These are read as the routes registry\n * is assembled, so the app must be reloaded for new overrides to take effect.\n *\n * @internal\n * @param moduleName The name of the module the routes are for\n * @param routes Either an {@link OpenmrsAppRoutes} object, a string that represents a JSON\n * version of an {@link OpenmrsAppRoutes} object or a string or URL that resolves to a\n * JSON document that represents an {@link OpenmrsAppRoutes} object\n */ function addRoutesOverride(moduleName, routes) {\n if (!isEnabled) {\n return;\n }\n if (typeof routes === \"string\") {\n if (routes.startsWith(\"http\")) {\n return addRouteOverrideInternal(moduleName, routes);\n } else {\n try {\n var maybeRoutes = JSON.parse(routes);\n if (isOpenmrsAppRoutes(maybeRoutes)) {\n return addRouteOverrideInternal(moduleName, maybeRoutes);\n } else {\n console.error(\"The supplied routes for \".concat(moduleName, \" is not a valid OpenmrsAppRoutes object\"), routes);\n }\n } catch (e) {\n console.error(\"Could not add routes override for \".concat(moduleName, \": \"), e);\n }\n }\n } else if (_instanceof(routes, URL)) {\n return addRouteOverrideInternal(moduleName, routes.toString());\n } else if (isOpenmrsAppRoutes(routes)) {\n return addRouteOverrideInternal(moduleName, routes);\n }\n console.error(\"Override for \".concat(moduleName, \" is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL\"), routes);\n}\n/**\n * Used to remove an existing routes override from local storage. These are read as the routes registry\n * is assembled, so the app must be reloaded for removed override to be removed.\n *\n * @internal\n * @param moduleName The module to remove the overrides for\n */ function removeRoutesOverride(moduleName) {\n if (!isEnabled) {\n return;\n }\n var key = _constants__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix + moduleName;\n localStorage.removeItem(key);\n}\n/**\n * Used to remove all existing routes overrides from local storage. These are read as the routes registry\n * is assembled, so the app must be reloaded for the removed overrides to appear to be removed.\n *\n * @internal\n */ function resetAllRoutesOverrides() {\n if (!isEnabled) {\n return;\n }\n var localStorage1 = window.localStorage;\n for(var i = 0; i < localStorage1.length; i++){\n var key = localStorage1.key(i);\n if (key === null || key === void 0 ? void 0 : key.startsWith(_constants__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix)) {\n localStorage1.removeItem(key);\n }\n }\n}\nfunction addRouteOverrideInternal(moduleName, routes) {\n var key = _constants__WEBPACK_IMPORTED_MODULE_1__.localStorageRoutesPrefix + moduleName;\n localStorage.setItem(key, JSON.stringify(routes));\n}\n/**\n * Simple type-predicate to ensure that the value can be treated as an OpenmrsAppRoutes\n * object.\n *\n * @internal\n * @param routes the object to check to see if it is an OpenmrsAppRoutes object\n * @returns true if the routes value is an OpenmrsAppRoutes\n */ function isOpenmrsAppRoutes(routes) {\n if (routes && typeof routes === \"object\") {\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n // we cast maybeRoutes as OpenmrsAppRoutes mainly so we can refer to the properties it should\n // have without repeated casts\n var maybeRoutes = routes;\n if (hasOwnProperty.call(routes, \"pages\")) {\n if (!Boolean(maybeRoutes.pages) || !Array.isArray(maybeRoutes.pages)) {\n return false;\n }\n }\n if (hasOwnProperty.call(routes, \"extensions\")) {\n if (!Boolean(maybeRoutes.extensions) || !Array.isArray(maybeRoutes.extensions)) {\n return false;\n }\n }\n // Notice that we're essentially testing for things that cannot be treated as an OpenmrsAppRoutes\n // object. This is because a completely empty object is a valid OpenmrsAppRoutes object.\n return true;\n }\n return false;\n}\n/**\n * Simple type-predicate to ensure that the value can be treated as an OpenmrsRoutes\n * object.\n *\n * @internal\n * @param routes the object to check to see if it is an OpenmrsRoutes object\n * @returns true if the routes value is an OpenmrsRoutes\n */ function isOpenmrsRoutes(routes) {\n if (routes && typeof routes === \"object\") {\n var maybeRoutes = routes;\n return Object.entries(maybeRoutes).every(function(param) {\n var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];\n return typeof key === \"string\" && isOpenmrsAppRoutes(value);\n });\n }\n return false;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yb3V0ZXMvc3JjL3JvdXRlcy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsdUNBQXVDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVlO0FBQ0M7QUFFdkQsSUFBTUUsWUFBWUYsb0VBQWdCQTtBQUVsQzs7Ozs7Ozs7O0NBU0MsR0FDTSxTQUFTRyxrQkFBa0JDLFVBQWtCLEVBQUVDLE1BQXVDLEVBQUU7SUFDN0YsSUFBSSxDQUFDSCxXQUFXO1FBQ2Q7SUFDRixDQUFDO0lBRUQsSUFBSSxPQUFPRyxXQUFXLFVBQVU7UUFDOUIsSUFBSUEsT0FBT0MsVUFBVSxDQUFDLFNBQVM7WUFDN0IsT0FBT0MseUJBQXlCSCxZQUFZQztRQUM5QyxPQUFPO1lBQ0wsSUFBSTtnQkFDRixJQUFNRyxjQUFjQyxLQUFLQyxLQUFLLENBQUNMO2dCQUMvQixJQUFJTSxtQkFBbUJILGNBQWM7b0JBQ25DLE9BQU9ELHlCQUF5QkgsWUFBWUk7Z0JBQzlDLE9BQU87b0JBQ0xJLFFBQVFDLEtBQUssQ0FBQywyQkFBc0MsT0FBWFQsWUFBVyw0Q0FBMENDO2dCQUNoRyxDQUFDO1lBQ0gsRUFBRSxPQUFPUyxHQUFHO2dCQUNWRixRQUFRQyxLQUFLLENBQUMscUNBQWdELE9BQVhULFlBQVcsT0FBS1U7WUFDckU7UUFDRixDQUFDO0lBQ0gsT0FBTyxJQUFJVCxZQUFBQSxRQUFrQlUsTUFBSztRQUNoQyxPQUFPUix5QkFBeUJILFlBQVlDLE9BQU9XLFFBQVE7SUFDN0QsT0FBTyxJQUFJTCxtQkFBbUJOLFNBQVM7UUFDckMsT0FBT0UseUJBQXlCSCxZQUFZQztJQUM5QyxDQUFDO0lBRURPLFFBQVFDLEtBQUssQ0FDWCxnQkFBMkIsT0FBWFQsWUFBVyxtSEFDM0JDO0FBRUosQ0FBQztBQUVEOzs7Ozs7Q0FNQyxHQUNNLFNBQVNZLHFCQUFxQmIsVUFBa0IsRUFBRTtJQUN2RCxJQUFJLENBQUNGLFdBQVc7UUFDZDtJQUNGLENBQUM7SUFFRCxJQUFNZ0IsTUFBTWpCLGdFQUF3QkEsR0FBR0c7SUFDdkNlLGFBQWFDLFVBQVUsQ0FBQ0Y7QUFDMUIsQ0FBQztBQUVEOzs7OztDQUtDLEdBQ00sU0FBU0csMEJBQTBCO0lBQ3hDLElBQUksQ0FBQ25CLFdBQVc7UUFDZDtJQUNGLENBQUM7SUFFRCxJQUFNaUIsZ0JBQWVHLE9BQU9ILFlBQVk7SUFDeEMsSUFBSyxJQUFJSSxJQUFJLEdBQUdBLElBQUlKLGNBQWFLLE1BQU0sRUFBRUQsSUFBSztRQUM1QyxJQUFNTCxNQUFNQyxjQUFhRCxHQUFHLENBQUNLO1FBQzdCLElBQUlMLGdCQUFBQSxpQkFBQUEsS0FBQUEsSUFBQUEsSUFBS1osVUFBVSxDQUFDTCxnRUFBd0JBLEdBQUc7WUFDN0NrQixjQUFhQyxVQUFVLENBQUNGO1FBQzFCLENBQUM7SUFDSDtBQUNGLENBQUM7QUFFRCxTQUFTWCx5QkFBeUJILFVBQWtCLEVBQUVDLE1BQWlDLEVBQUU7SUFDdkYsSUFBTWEsTUFBTWpCLGdFQUF3QkEsR0FBR0c7SUFDdkNlLGFBQWFNLE9BQU8sQ0FBQ1AsS0FBS1QsS0FBS2lCLFNBQVMsQ0FBQ3JCO0FBQzNDO0FBRUE7Ozs7Ozs7Q0FPQyxHQUNNLFNBQVNNLG1CQUFtQk4sTUFBa0MsRUFBOEI7SUFDakcsSUFBSUEsVUFBVSxPQUFPQSxXQUFXLFVBQVU7UUFDeEMsSUFBTXNCLGlCQUFpQkMsT0FBT0MsU0FBUyxDQUFDRixjQUFjO1FBQ3RELDZGQUE2RjtRQUM3Riw4QkFBOEI7UUFDOUIsSUFBTW5CLGNBQWNIO1FBRXBCLElBQUlzQixlQUFlRyxJQUFJLENBQUN6QixRQUFRLFVBQVU7WUFDeEMsSUFBSSxDQUFDMEIsUUFBUXZCLFlBQVl3QixLQUFLLEtBQUssQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDMUIsWUFBWXdCLEtBQUssR0FBRztnQkFDcEUsT0FBTyxLQUFLO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJTCxlQUFlRyxJQUFJLENBQUN6QixRQUFRLGVBQWU7WUFDN0MsSUFBSSxDQUFDMEIsUUFBUXZCLFlBQVkyQixVQUFVLEtBQUssQ0FBQ0YsTUFBTUMsT0FBTyxDQUFDMUIsWUFBWTJCLFVBQVUsR0FBRztnQkFDOUUsT0FBTyxLQUFLO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFFRCxpR0FBaUc7UUFDakcsd0ZBQXdGO1FBQ3hGLE9BQU8sSUFBSTtJQUNiLENBQUM7SUFFRCxPQUFPLEtBQUs7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7Q0FPQyxHQUNNLFNBQVNDLGdCQUFnQi9CLE1BQStCLEVBQTJCO0lBQ3hGLElBQUlBLFVBQVUsT0FBT0EsV0FBVyxVQUFVO1FBQ3hDLElBQU1HLGNBQWNIO1FBRXBCLE9BQU91QixPQUFPUyxPQUFPLENBQUM3QixhQUFhOEIsS0FBSyxDQUFDO3FEQUFFcEIsaUJBQUtxQjttQkFBVyxPQUFPckIsUUFBUSxZQUFZUCxtQkFBbUI0Qjs7SUFDM0csQ0FBQztJQUVELE9BQU8sS0FBSztBQUNkLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcm91dGVzL3NyYy9yb3V0ZXMudHM/MjUzNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgUm91dGVzIFV0aWxpdGllcyAqL1xuaW1wb3J0IHR5cGUgeyBPcGVubXJzQXBwUm91dGVzLCBPcGVubXJzUm91dGVzIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWdsb2JhbHMnO1xuaW1wb3J0IHsgY2FuQWNjZXNzU3RvcmFnZSB9IGZyb20gJ0BvcGVubXJzL2VzbS11dGlscyc7XG5pbXBvcnQgeyBsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGlzRW5hYmxlZCA9IGNhbkFjY2Vzc1N0b3JhZ2UoKTtcblxuLyoqXG4gKiBVc2VkIHRvIGFkZCBhIHJvdXRlIG92ZXJyaWRlIHRvIGxvY2FsIHN0b3JhZ2UuIFRoZXNlIGFyZSByZWFkIGFzIHRoZSByb3V0ZXMgcmVnaXN0cnlcbiAqIGlzIGFzc2VtYmxlZCwgc28gdGhlIGFwcCBtdXN0IGJlIHJlbG9hZGVkIGZvciBuZXcgb3ZlcnJpZGVzIHRvIHRha2UgZWZmZWN0LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIG1vZHVsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGUgcm91dGVzIGFyZSBmb3JcbiAqIEBwYXJhbSByb3V0ZXMgRWl0aGVyIGFuIHtAbGluayBPcGVubXJzQXBwUm91dGVzfSBvYmplY3QsIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIEpTT05cbiAqICB2ZXJzaW9uIG9mIGFuIHtAbGluayBPcGVubXJzQXBwUm91dGVzfSBvYmplY3Qgb3IgYSBzdHJpbmcgb3IgVVJMIHRoYXQgcmVzb2x2ZXMgdG8gYVxuICogIEpTT04gZG9jdW1lbnQgdGhhdCByZXByZXNlbnRzIGFuIHtAbGluayBPcGVubXJzQXBwUm91dGVzfSBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFJvdXRlc092ZXJyaWRlKG1vZHVsZU5hbWU6IHN0cmluZywgcm91dGVzOiBPcGVubXJzQXBwUm91dGVzIHwgc3RyaW5nIHwgVVJMKSB7XG4gIGlmICghaXNFbmFibGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHR5cGVvZiByb3V0ZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHJvdXRlcy5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIHJldHVybiBhZGRSb3V0ZU92ZXJyaWRlSW50ZXJuYWwobW9kdWxlTmFtZSwgcm91dGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWF5YmVSb3V0ZXMgPSBKU09OLnBhcnNlKHJvdXRlcyk7XG4gICAgICAgIGlmIChpc09wZW5tcnNBcHBSb3V0ZXMobWF5YmVSb3V0ZXMpKSB7XG4gICAgICAgICAgcmV0dXJuIGFkZFJvdXRlT3ZlcnJpZGVJbnRlcm5hbChtb2R1bGVOYW1lLCBtYXliZVJvdXRlcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgVGhlIHN1cHBsaWVkIHJvdXRlcyBmb3IgJHttb2R1bGVOYW1lfSBpcyBub3QgYSB2YWxpZCBPcGVubXJzQXBwUm91dGVzIG9iamVjdGAsIHJvdXRlcyk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgQ291bGQgbm90IGFkZCByb3V0ZXMgb3ZlcnJpZGUgZm9yICR7bW9kdWxlTmFtZX06IGAsIGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChyb3V0ZXMgaW5zdGFuY2VvZiBVUkwpIHtcbiAgICByZXR1cm4gYWRkUm91dGVPdmVycmlkZUludGVybmFsKG1vZHVsZU5hbWUsIHJvdXRlcy50b1N0cmluZygpKTtcbiAgfSBlbHNlIGlmIChpc09wZW5tcnNBcHBSb3V0ZXMocm91dGVzKSkge1xuICAgIHJldHVybiBhZGRSb3V0ZU92ZXJyaWRlSW50ZXJuYWwobW9kdWxlTmFtZSwgcm91dGVzKTtcbiAgfVxuXG4gIGNvbnNvbGUuZXJyb3IoXG4gICAgYE92ZXJyaWRlIGZvciAke21vZHVsZU5hbWV9IGlzIG5vdCBpbiBhIHZhbGlkIGZvcm1hdC4gRXhwZWN0ZWQgZWl0aGVyIGEgSmF2YXNjcmlwdCBPYmplY3QsIGEgSlNPTiBzdHJpbmcgb2YgYSBKYXZhc2NyaXB0IG9iamVjdCwgb3IgYSBVUkxgLFxuICAgIHJvdXRlcyxcbiAgKTtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIHJlbW92ZSBhbiBleGlzdGluZyByb3V0ZXMgb3ZlcnJpZGUgZnJvbSBsb2NhbCBzdG9yYWdlLiBUaGVzZSBhcmUgcmVhZCBhcyB0aGUgcm91dGVzIHJlZ2lzdHJ5XG4gKiBpcyBhc3NlbWJsZWQsIHNvIHRoZSBhcHAgbXVzdCBiZSByZWxvYWRlZCBmb3IgcmVtb3ZlZCBvdmVycmlkZSB0byBiZSByZW1vdmVkLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIG1vZHVsZU5hbWUgVGhlIG1vZHVsZSB0byByZW1vdmUgdGhlIG92ZXJyaWRlcyBmb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJvdXRlc092ZXJyaWRlKG1vZHVsZU5hbWU6IHN0cmluZykge1xuICBpZiAoIWlzRW5hYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCArIG1vZHVsZU5hbWU7XG4gIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG59XG5cbi8qKlxuICogVXNlZCB0byByZW1vdmUgYWxsIGV4aXN0aW5nIHJvdXRlcyBvdmVycmlkZXMgZnJvbSBsb2NhbCBzdG9yYWdlLiBUaGVzZSBhcmUgcmVhZCBhcyB0aGUgcm91dGVzIHJlZ2lzdHJ5XG4gKiBpcyBhc3NlbWJsZWQsIHNvIHRoZSBhcHAgbXVzdCBiZSByZWxvYWRlZCBmb3IgdGhlIHJlbW92ZWQgb3ZlcnJpZGVzIHRvIGFwcGVhciB0byBiZSByZW1vdmVkLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRBbGxSb3V0ZXNPdmVycmlkZXMoKSB7XG4gIGlmICghaXNFbmFibGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbG9jYWxTdG9yYWdlID0gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2NhbFN0b3JhZ2UubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBrZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuICAgIGlmIChrZXk/LnN0YXJ0c1dpdGgobG9jYWxTdG9yYWdlUm91dGVzUHJlZml4KSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkUm91dGVPdmVycmlkZUludGVybmFsKG1vZHVsZU5hbWU6IHN0cmluZywgcm91dGVzOiBPcGVubXJzQXBwUm91dGVzIHwgc3RyaW5nKSB7XG4gIGNvbnN0IGtleSA9IGxvY2FsU3RvcmFnZVJvdXRlc1ByZWZpeCArIG1vZHVsZU5hbWU7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkocm91dGVzKSk7XG59XG5cbi8qKlxuICogU2ltcGxlIHR5cGUtcHJlZGljYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSB2YWx1ZSBjYW4gYmUgdHJlYXRlZCBhcyBhbiBPcGVubXJzQXBwUm91dGVzXG4gKiBvYmplY3QuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gcm91dGVzIHRoZSBvYmplY3QgdG8gY2hlY2sgdG8gc2VlIGlmIGl0IGlzIGFuIE9wZW5tcnNBcHBSb3V0ZXMgb2JqZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSByb3V0ZXMgdmFsdWUgaXMgYW4gT3Blbm1yc0FwcFJvdXRlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPcGVubXJzQXBwUm91dGVzKHJvdXRlczogT3Blbm1yc0FwcFJvdXRlcyB8IHVua25vd24pOiByb3V0ZXMgaXMgT3Blbm1yc0FwcFJvdXRlcyB7XG4gIGlmIChyb3V0ZXMgJiYgdHlwZW9mIHJvdXRlcyA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG4gICAgLy8gd2UgY2FzdCBtYXliZVJvdXRlcyBhcyBPcGVubXJzQXBwUm91dGVzIG1haW5seSBzbyB3ZSBjYW4gcmVmZXIgdG8gdGhlIHByb3BlcnRpZXMgaXQgc2hvdWxkXG4gICAgLy8gaGF2ZSB3aXRob3V0IHJlcGVhdGVkIGNhc3RzXG4gICAgY29uc3QgbWF5YmVSb3V0ZXMgPSByb3V0ZXMgYXMgT3Blbm1yc0FwcFJvdXRlcztcblxuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHJvdXRlcywgJ3BhZ2VzJykpIHtcbiAgICAgIGlmICghQm9vbGVhbihtYXliZVJvdXRlcy5wYWdlcykgfHwgIUFycmF5LmlzQXJyYXkobWF5YmVSb3V0ZXMucGFnZXMpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChyb3V0ZXMsICdleHRlbnNpb25zJykpIHtcbiAgICAgIGlmICghQm9vbGVhbihtYXliZVJvdXRlcy5leHRlbnNpb25zKSB8fCAhQXJyYXkuaXNBcnJheShtYXliZVJvdXRlcy5leHRlbnNpb25zKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTm90aWNlIHRoYXQgd2UncmUgZXNzZW50aWFsbHkgdGVzdGluZyBmb3IgdGhpbmdzIHRoYXQgY2Fubm90IGJlIHRyZWF0ZWQgYXMgYW4gT3Blbm1yc0FwcFJvdXRlc1xuICAgIC8vIG9iamVjdC4gVGhpcyBpcyBiZWNhdXNlIGEgY29tcGxldGVseSBlbXB0eSBvYmplY3QgaXMgYSB2YWxpZCBPcGVubXJzQXBwUm91dGVzIG9iamVjdC5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBTaW1wbGUgdHlwZS1wcmVkaWNhdGUgdG8gZW5zdXJlIHRoYXQgdGhlIHZhbHVlIGNhbiBiZSB0cmVhdGVkIGFzIGFuIE9wZW5tcnNSb3V0ZXNcbiAqIG9iamVjdC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSByb3V0ZXMgdGhlIG9iamVjdCB0byBjaGVjayB0byBzZWUgaWYgaXQgaXMgYW4gT3Blbm1yc1JvdXRlcyBvYmplY3RcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHJvdXRlcyB2YWx1ZSBpcyBhbiBPcGVubXJzUm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09wZW5tcnNSb3V0ZXMocm91dGVzOiBPcGVubXJzUm91dGVzIHwgdW5rbm93bik6IHJvdXRlcyBpcyBPcGVubXJzUm91dGVzIHtcbiAgaWYgKHJvdXRlcyAmJiB0eXBlb2Ygcm91dGVzID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG1heWJlUm91dGVzID0gcm91dGVzIGFzIE9wZW5tcnNSb3V0ZXM7XG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMobWF5YmVSb3V0ZXMpLmV2ZXJ5KChba2V5LCB2YWx1ZV0pID0+IHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGlzT3Blbm1yc0FwcFJvdXRlcyh2YWx1ZSkpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIl0sIm5hbWVzIjpbImNhbkFjY2Vzc1N0b3JhZ2UiLCJsb2NhbFN0b3JhZ2VSb3V0ZXNQcmVmaXgiLCJpc0VuYWJsZWQiLCJhZGRSb3V0ZXNPdmVycmlkZSIsIm1vZHVsZU5hbWUiLCJyb3V0ZXMiLCJzdGFydHNXaXRoIiwiYWRkUm91dGVPdmVycmlkZUludGVybmFsIiwibWF5YmVSb3V0ZXMiLCJKU09OIiwicGFyc2UiLCJpc09wZW5tcnNBcHBSb3V0ZXMiLCJjb25zb2xlIiwiZXJyb3IiLCJlIiwiVVJMIiwidG9TdHJpbmciLCJyZW1vdmVSb3V0ZXNPdmVycmlkZSIsImtleSIsImxvY2FsU3RvcmFnZSIsInJlbW92ZUl0ZW0iLCJyZXNldEFsbFJvdXRlc092ZXJyaWRlcyIsIndpbmRvdyIsImkiLCJsZW5ndGgiLCJzZXRJdGVtIiwic3RyaW5naWZ5IiwiaGFzT3duUHJvcGVydHkiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJjYWxsIiwiQm9vbGVhbiIsInBhZ2VzIiwiQXJyYXkiLCJpc0FycmF5IiwiZXh0ZW5zaW9ucyIsImlzT3Blbm1yc1JvdXRlcyIsImVudHJpZXMiLCJldmVyeSIsInZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-routes/src/routes.ts\n");
|
|
7363
7363
|
|
|
7364
7364
|
/***/ }),
|
|
7365
7365
|
|
|
@@ -7392,7 +7392,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7392
7392
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7393
7393
|
|
|
7394
7394
|
"use strict";
|
|
7395
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createGlobalStore: () => (/* binding */ createGlobalStore),\n/* harmony export */ getGlobalStore: () => (/* binding */ getGlobalStore),\n/* harmony export */ subscribeTo: () => (/* binding */ subscribeTo)\n/* harmony export */ });\n/* harmony import */ var zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zustand/vanilla */ \"../../../node_modules/zustand/esm/vanilla.mjs\");\n/** @module @category Store */ \nvar availableStores = {};\n// spaEnv isn't available immediately. Wait a bit before making stores available\n// on window in development mode.\nsetTimeout(function() {\n if (window.spaEnv === \"development\") {\n window[\"stores\"] = availableStores;\n }\n}, 1000);\n/**\n * Creates a Zustand store.\n *\n * @param name A name by which the store can be looked up later.\n * Must be unique across the entire application.\n * @param initialState An object which will be the initial state of the store.\n * @returns The newly created store.\n */ function createGlobalStore(name, initialState) {\n var available = availableStores[name];\n if (available) {\n if (available.active) {\n console.error(\"Cannot override an existing store. Make sure that stores are only created once.\");\n } else {\n available.value.setState(initialState, true);\n }\n available.active = true;\n return available.value;\n } else {\n var store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__.createStore)()(function() {\n return initialState;\n });\n availableStores[name] = {\n value: store,\n active: true\n };\n return store;\n }\n}\n/**\n * Returns the existing store named `name`,\n * or creates a new store named `name` if none exists.\n *\n * @param name The name of the store to look up.\n * @param fallbackState The initial value of the new store if no store named `name` exists.\n * @returns The found or newly created store.\n */ function getGlobalStore(name, fallbackState) {\n var available = availableStores[name];\n if (!available) {\n var store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__.createStore)()(function() {\n return fallbackState !== null && fallbackState !== void 0 ? fallbackState : {};\n });\n availableStores[name] = {\n value: store,\n active: false\n };\n return store;\n }\n return available.value;\n}\nfunction subscribeTo(store, select, handle) {\n var previous = select(store.getState());\n return store.subscribe(function(state) {\n var current = select(state);\n if (current !== previous) {\n previous = current;\n handle(current);\n }\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7395
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createGlobalStore: () => (/* binding */ createGlobalStore),\n/* harmony export */ getGlobalStore: () => (/* binding */ getGlobalStore),\n/* harmony export */ subscribeTo: () => (/* binding */ subscribeTo)\n/* harmony export */ });\n/* harmony import */ var zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zustand/vanilla */ \"../../../node_modules/zustand/esm/vanilla.mjs\");\n/** @module @category Store */ \nvar availableStores = {};\n// spaEnv isn't available immediately. Wait a bit before making stores available\n// on window in development mode.\nsetTimeout(function() {\n if (window.spaEnv === \"development\") {\n window[\"stores\"] = availableStores;\n }\n}, 1000);\n/**\n * Creates a Zustand store.\n *\n * @param name A name by which the store can be looked up later.\n * Must be unique across the entire application.\n * @param initialState An object which will be the initial state of the store.\n * @returns The newly created store.\n */ function createGlobalStore(name, initialState) {\n var available = availableStores[name];\n if (available) {\n if (available.active) {\n console.error(\"Cannot override an existing store. Make sure that stores are only created once.\");\n } else {\n available.value.setState(initialState, true);\n }\n available.active = true;\n return available.value;\n } else {\n var store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__.createStore)()(function() {\n return initialState;\n });\n availableStores[name] = {\n value: store,\n active: true\n };\n return store;\n }\n}\n/**\n * Returns the existing store named `name`,\n * or creates a new store named `name` if none exists.\n *\n * @param name The name of the store to look up.\n * @param fallbackState The initial value of the new store if no store named `name` exists.\n * @returns The found or newly created store.\n */ function getGlobalStore(name, fallbackState) {\n var available = availableStores[name];\n if (!available) {\n var store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__.createStore)()(function() {\n return fallbackState !== null && fallbackState !== void 0 ? fallbackState : {};\n });\n availableStores[name] = {\n value: store,\n active: false\n };\n return store;\n }\n return available.value;\n}\nfunction subscribeTo(store, select, handle) {\n var previous = select(store.getState());\n return store.subscribe(function(state) {\n var current = select(state);\n if (current !== previous) {\n previous = current;\n handle(current);\n }\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdGF0ZS9zcmMvc3RhdGUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLDRCQUE0QixHQUVrQjtBQVE5QyxJQUFNQyxrQkFBK0MsQ0FBQztBQUV0RCxnRkFBZ0Y7QUFDaEYsaUNBQWlDO0FBQ2pDQyxXQUFXLFdBQU07SUFDZixJQUFJQyxPQUFPQyxNQUFNLEtBQUssZUFBZTtRQUNuQ0QsTUFBTSxDQUFDLFNBQVMsR0FBR0Y7SUFDckIsQ0FBQztBQUNILEdBQUc7QUFFSDs7Ozs7OztDQU9DLEdBQ00sU0FBU0ksa0JBQXFCQyxJQUFZLEVBQUVDLFlBQWUsRUFBZTtJQUMvRSxJQUFNQyxZQUFZUCxlQUFlLENBQUNLLEtBQUs7SUFFdkMsSUFBSUUsV0FBVztRQUNiLElBQUlBLFVBQVVDLE1BQU0sRUFBRTtZQUNwQkMsUUFBUUMsS0FBSyxDQUFDO1FBQ2hCLE9BQU87WUFDTEgsVUFBVUksS0FBSyxDQUFDQyxRQUFRLENBQUNOLGNBQWMsSUFBSTtRQUM3QyxDQUFDO1FBRURDLFVBQVVDLE1BQU0sR0FBRyxJQUFJO1FBQ3ZCLE9BQU9ELFVBQVVJLEtBQUs7SUFDeEIsT0FBTztRQUNMLElBQU1FLFFBQVFkLDREQUFXQSxHQUFNO21CQUFNTzs7UUFFckNOLGVBQWUsQ0FBQ0ssS0FBSyxHQUFHO1lBQ3RCTSxPQUFPRTtZQUNQTCxRQUFRLElBQUk7UUFDZDtRQUVBLE9BQU9LO0lBQ1QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7OztDQU9DLEdBQ00sU0FBU0MsZUFBa0JULElBQVksRUFBRVUsYUFBaUIsRUFBZTtJQUM5RSxJQUFNUixZQUFZUCxlQUFlLENBQUNLLEtBQUs7SUFFdkMsSUFBSSxDQUFDRSxXQUFXO1FBQ2QsSUFBTU0sUUFBUWQsNERBQVdBLEdBQU07bUJBQU1nQiwwQkFBQUEsMkJBQUFBLGdCQUFrQixDQUFDLENBQWtCOztRQUMxRWYsZUFBZSxDQUFDSyxLQUFLLEdBQUc7WUFDdEJNLE9BQU9FO1lBQ1BMLFFBQVEsS0FBSztRQUNmO1FBQ0EsT0FBT0s7SUFDVCxDQUFDO0lBRUQsT0FBT04sVUFBVUksS0FBSztBQUN4QixDQUFDO0FBSU0sU0FBU0ssWUFBa0JILEtBQWtCLEVBQUVJLE1BQXVCLEVBQUVDLE1BQTZCLEVBQUU7SUFDNUcsSUFBSUMsV0FBV0YsT0FBT0osTUFBTU8sUUFBUTtJQUVwQyxPQUFPUCxNQUFNUSxTQUFTLENBQUMsU0FBQ0MsT0FBVTtRQUNoQyxJQUFNQyxVQUFVTixPQUFPSztRQUV2QixJQUFJQyxZQUFZSixVQUFVO1lBQ3hCQSxXQUFXSTtZQUNYTCxPQUFPSztRQUNULENBQUM7SUFDSDtBQUNGLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3RhdGUvc3JjL3N0YXRlLnRzP2U5MmYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IFN0b3JlICovXG5pbXBvcnQgdHlwZSB7IFN0b3JlQXBpIH0gZnJvbSAnenVzdGFuZC92YW5pbGxhJztcbmltcG9ydCB7IGNyZWF0ZVN0b3JlIH0gZnJvbSAnenVzdGFuZC92YW5pbGxhJztcbmltcG9ydCB0eXBlIHt9IGZyb20gJ0BvcGVubXJzL2VzbS1nbG9iYWxzJztcblxuaW50ZXJmYWNlIFN0b3JlRW50aXR5IHtcbiAgdmFsdWU6IFN0b3JlQXBpPHVua25vd24+O1xuICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbmNvbnN0IGF2YWlsYWJsZVN0b3JlczogUmVjb3JkPHN0cmluZywgU3RvcmVFbnRpdHk+ID0ge307XG5cbi8vIHNwYUVudiBpc24ndCBhdmFpbGFibGUgaW1tZWRpYXRlbHkuIFdhaXQgYSBiaXQgYmVmb3JlIG1ha2luZyBzdG9yZXMgYXZhaWxhYmxlXG4vLyBvbiB3aW5kb3cgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbnNldFRpbWVvdXQoKCkgPT4ge1xuICBpZiAod2luZG93LnNwYUVudiA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgIHdpbmRvd1snc3RvcmVzJ10gPSBhdmFpbGFibGVTdG9yZXM7XG4gIH1cbn0sIDEwMDApO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBadXN0YW5kIHN0b3JlLlxuICpcbiAqIEBwYXJhbSBuYW1lIEEgbmFtZSBieSB3aGljaCB0aGUgc3RvcmUgY2FuIGJlIGxvb2tlZCB1cCBsYXRlci5cbiAqICAgIE11c3QgYmUgdW5pcXVlIGFjcm9zcyB0aGUgZW50aXJlIGFwcGxpY2F0aW9uLlxuICogQHBhcmFtIGluaXRpYWxTdGF0ZSBBbiBvYmplY3Qgd2hpY2ggd2lsbCBiZSB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgc3RvcmUuXG4gKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCBzdG9yZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdsb2JhbFN0b3JlPFQ+KG5hbWU6IHN0cmluZywgaW5pdGlhbFN0YXRlOiBUKTogU3RvcmVBcGk8VD4ge1xuICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG5cbiAgaWYgKGF2YWlsYWJsZSkge1xuICAgIGlmIChhdmFpbGFibGUuYWN0aXZlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdDYW5ub3Qgb3ZlcnJpZGUgYW4gZXhpc3Rpbmcgc3RvcmUuIE1ha2Ugc3VyZSB0aGF0IHN0b3JlcyBhcmUgb25seSBjcmVhdGVkIG9uY2UuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF2YWlsYWJsZS52YWx1ZS5zZXRTdGF0ZShpbml0aWFsU3RhdGUsIHRydWUpO1xuICAgIH1cblxuICAgIGF2YWlsYWJsZS5hY3RpdmUgPSB0cnVlO1xuICAgIHJldHVybiBhdmFpbGFibGUudmFsdWUgYXMgU3RvcmVBcGk8VD47XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVTdG9yZTxUPigpKCgpID0+IGluaXRpYWxTdGF0ZSk7XG5cbiAgICBhdmFpbGFibGVTdG9yZXNbbmFtZV0gPSB7XG4gICAgICB2YWx1ZTogc3RvcmUsXG4gICAgICBhY3RpdmU6IHRydWUsXG4gICAgfTtcblxuICAgIHJldHVybiBzdG9yZTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGV4aXN0aW5nIHN0b3JlIG5hbWVkIGBuYW1lYCxcbiAqIG9yIGNyZWF0ZXMgYSBuZXcgc3RvcmUgbmFtZWQgYG5hbWVgIGlmIG5vbmUgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBzdG9yZSB0byBsb29rIHVwLlxuICogQHBhcmFtIGZhbGxiYWNrU3RhdGUgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIG5ldyBzdG9yZSBpZiBubyBzdG9yZSBuYW1lZCBgbmFtZWAgZXhpc3RzLlxuICogQHJldHVybnMgVGhlIGZvdW5kIG9yIG5ld2x5IGNyZWF0ZWQgc3RvcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxTdG9yZTxUPihuYW1lOiBzdHJpbmcsIGZhbGxiYWNrU3RhdGU/OiBUKTogU3RvcmVBcGk8VD4ge1xuICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG5cbiAgaWYgKCFhdmFpbGFibGUpIHtcbiAgICBjb25zdCBzdG9yZSA9IGNyZWF0ZVN0b3JlPFQ+KCkoKCkgPT4gZmFsbGJhY2tTdGF0ZSA/PyAoe30gYXMgdW5rbm93biBhcyBUKSk7XG4gICAgYXZhaWxhYmxlU3RvcmVzW25hbWVdID0ge1xuICAgICAgdmFsdWU6IHN0b3JlLFxuICAgICAgYWN0aXZlOiBmYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiBzdG9yZTtcbiAgfVxuXG4gIHJldHVybiBhdmFpbGFibGUudmFsdWUgYXMgU3RvcmVBcGk8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwU3RhdGUge31cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnNjcmliZVRvPFQsIFU+KHN0b3JlOiBTdG9yZUFwaTxUPiwgc2VsZWN0OiAoc3RhdGU6IFQpID0+IFUsIGhhbmRsZTogKHN1YlN0YXRlOiBVKSA9PiB2b2lkKSB7XG4gIGxldCBwcmV2aW91cyA9IHNlbGVjdChzdG9yZS5nZXRTdGF0ZSgpKTtcblxuICByZXR1cm4gc3RvcmUuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBzZWxlY3Qoc3RhdGUpO1xuXG4gICAgaWYgKGN1cnJlbnQgIT09IHByZXZpb3VzKSB7XG4gICAgICBwcmV2aW91cyA9IGN1cnJlbnQ7XG4gICAgICBoYW5kbGUoY3VycmVudCk7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVTdG9yZSIsImF2YWlsYWJsZVN0b3JlcyIsInNldFRpbWVvdXQiLCJ3aW5kb3ciLCJzcGFFbnYiLCJjcmVhdGVHbG9iYWxTdG9yZSIsIm5hbWUiLCJpbml0aWFsU3RhdGUiLCJhdmFpbGFibGUiLCJhY3RpdmUiLCJjb25zb2xlIiwiZXJyb3IiLCJ2YWx1ZSIsInNldFN0YXRlIiwic3RvcmUiLCJnZXRHbG9iYWxTdG9yZSIsImZhbGxiYWNrU3RhdGUiLCJzdWJzY3JpYmVUbyIsInNlbGVjdCIsImhhbmRsZSIsInByZXZpb3VzIiwiZ2V0U3RhdGUiLCJzdWJzY3JpYmUiLCJzdGF0ZSIsImN1cnJlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-state/src/state.ts\n");
|
|
7396
7396
|
|
|
7397
7397
|
/***/ }),
|
|
7398
7398
|
|
|
@@ -7458,7 +7458,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7458
7458
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7459
7459
|
|
|
7460
7460
|
"use strict";
|
|
7461
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _internationalized_date__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @internationalized/date */ \"../../../node_modules/@internationalized/date/dist/import.mjs\");\n/* harmony import */ var _react_spectrum_datepicker__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @react-spectrum/datepicker */ \"../../../node_modules/@react-spectrum/datepicker/dist/import.mjs\");\n/* harmony import */ var _react_spectrum_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-spectrum/provider */ \"../../../node_modules/@react-spectrum/provider/dist/import.mjs\");\n/* harmony import */ var _react_spectrum_theme_default__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-spectrum/theme-default */ \"../../../node_modules/@react-spectrum/theme-default/dist/import.mjs\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n\n\n\nfunction toLocalDateString(dateValue) {\n var year = dateValue.getFullYear();\n var month = (dateValue.getMonth() + 1).toString().padStart(2, \"0\");\n var date = dateValue.getDate().toString().padStart(2, \"0\");\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(date);\n}\nfunction parseToCalendarDate(date) {\n if (!date) {\n return undefined;\n }\n return (0,_internationalized_date__WEBPACK_IMPORTED_MODULE_2__.parseDate)(toLocalDateString(typeof date === \"string\" ? (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__.parseDate)(date) : date));\n}\nfunction constructValidationState(invalid) {\n return invalid !== undefined ? invalid ? \"invalid\" : \"valid\" : undefined;\n}\nfunction constructErrorMessage(id, message) {\n return message ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: id + \"-invalid\"\n }, message) : undefined;\n}\nvar ReactSpectrumDatePickerWrapper = function(param) {\n var id = param.id, value = param.value, labelText = param.labelText, currentLocale = param.locale, defaultValue = param.defaultValue, minDate = param.minDate, maxDate = param.maxDate, readonly = param.readonly, isDisabled = param.isDisabled, invalid = param.invalid, invalidText = param.invalidText, onChange = param.onChange;\n var preferredCalendar = (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__.useConfig)({\n externalModuleName: \"@openmrs/esm-styleguide\"\n }).preferredCalendar;\n var locale = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n if (preferredCalendar === null || preferredCalendar === void 0 ? void 0 : preferredCalendar[currentLocale]) {\n return new Intl.Locale(currentLocale, {\n calendar: preferredCalendar[currentLocale]\n }).toString();\n }\n return currentLocale;\n }, [\n currentLocale,\n preferredCalendar\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_react_spectrum_provider__WEBPACK_IMPORTED_MODULE_3__.Provider, {\n locale: locale,\n colorScheme: \"light\",\n theme: _react_spectrum_theme_default__WEBPACK_IMPORTED_MODULE_4__.theme\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_react_spectrum_datepicker__WEBPACK_IMPORTED_MODULE_5__.DatePicker, {\n id: id,\n label: labelText,\n value: parseToCalendarDate(value),\n onChange: function(calendarDate) {\n onChange === null || onChange === void 0 ? void 0 : onChange(new Date(calendarDate.year, calendarDate.month - 1, calendarDate.day));\n },\n defaultValue: parseToCalendarDate(defaultValue),\n minValue: minDate ? parseToCalendarDate(minDate) : undefined,\n maxValue: maxDate ? parseToCalendarDate(maxDate) : undefined,\n isReadOnly: readonly,\n isDisabled: isDisabled,\n validationState: constructValidationState(invalid),\n errorMessage: constructErrorMessage(id, invalidText),\n isQuiet: true\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSpectrumDatePickerWrapper);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9kYXRlcGlja2VyL3JlYWN0LXNwZWN0cnVtL2Fkb2JlLXJlYWN0LXNwZWN0cnVtLWRhdGUtd3JhcHBlci5jb21wb25lbnQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUF1QztBQUMyQjtBQUNWO0FBQ0o7QUFDa0I7QUFDVztBQWlCakYsU0FBU1Msa0JBQWtCQyxTQUFlLEVBQUU7SUFDMUMsSUFBTUMsT0FBT0QsVUFBVUUsV0FBVztJQUNsQyxJQUFNQyxRQUFRLENBQUNILFVBQVVJLFFBQVEsS0FBSyxHQUFHQyxRQUFRLEdBQUdDLFFBQVEsQ0FBQyxHQUFHO0lBQ2hFLElBQU1DLE9BQU9QLFVBQVVRLE9BQU8sR0FBR0gsUUFBUSxHQUFHQyxRQUFRLENBQUMsR0FBRztJQUV4RCxPQUFPLEdBQVdILE9BQVJGLE1BQUssS0FBWU0sT0FBVEosT0FBTSxLQUFRLE9BQUxJO0FBQzdCO0FBRUEsU0FBU0Usb0JBQW9CRixJQUErQixFQUFFO0lBQzVELElBQUksQ0FBQ0EsTUFBTTtRQUNULE9BQU9HO0lBQ1QsQ0FBQztJQUNELE9BQU9sQixrRUFBU0EsQ0FBQ08sa0JBQWtCLE9BQU9RLFNBQVMsV0FBV1YsaUVBQWVBLENBQUNVLFFBQVFBLElBQUk7QUFDNUY7QUFFQSxTQUFTSSx5QkFBeUJDLE9BQTRCLEVBQUU7SUFDOUQsT0FBT0EsWUFBWUYsWUFBYUUsVUFBVSxZQUFZLE9BQU8sR0FBSUYsU0FBUztBQUM1RTtBQUVBLFNBQVNHLHNCQUFzQkMsRUFBVSxFQUFFQyxPQUEyQixFQUFFO0lBQ3RFLE9BQU9BLHdCQUFVLDJEQUFDQztRQUFLQyxXQUFXSCxLQUFLO09BQWFDLFdBQWtCTCxTQUFTO0FBQ2pGO0FBRUEsSUFBTVEsaUNBQWdGLGdCQWFoRjtRQVpKSixXQUFBQSxJQUNBSyxjQUFBQSxPQUNBQyxrQkFBQUEsV0FDQUMsc0JBQUFBLFFBQ0FFLHFCQUFBQSxjQUNBQyxnQkFBQUEsU0FDQUMsZ0JBQUFBLFNBQ0FDLGlCQUFBQSxVQUNBQyxtQkFBQUEsWUFDQWYsZ0JBQUFBLFNBQ0FnQixvQkFBQUEsYUFDQUMsaUJBQUFBO0lBRUEsSUFBTSxvQkFBd0IvQixpRUFBU0EsQ0FBQztRQUN0Q2lDLG9CQUFvQjtJQUN0QixHQUZRRDtJQUlSLElBQU1ULFNBQVM5Qiw4Q0FBT0EsQ0FBQyxXQUFNO1FBQzNCLElBQUl1Qyw4QkFBQUEsK0JBQUFBLEtBQUFBLElBQUFBLGlCQUFtQixDQUFDUixjQUFjLEVBQUU7WUFDdEMsT0FBTyxJQUFJVSxLQUFLQyxNQUFNLENBQUNYLGVBQWU7Z0JBQ3BDWSxVQUFVSixpQkFBaUIsQ0FBQ1IsY0FBYztZQUM1QyxHQUFHakIsUUFBUTtRQUNiLENBQUM7UUFDRCxPQUFPaUI7SUFDVCxHQUFHO1FBQUNBO1FBQWVRO0tBQWtCO0lBRXJDLHFCQUNFLDJEQUFDcEMsOERBQVFBO1FBQUMyQixRQUFRQTtRQUFRYyxhQUFZO1FBQVF4QyxPQUFPQyxnRUFBWUE7cUJBQy9ELDJEQUFDSCxrRUFBVUE7UUFDVHFCLElBQUlBO1FBQ0pzQixPQUFPaEI7UUFDUEQsT0FBT1Ysb0JBQW9CVTtRQUMzQlUsVUFBVSxTQUFDUSxjQUFpQjtZQUMxQlIscUJBQUFBLHNCQUFBQSxLQUFBQSxJQUFBQSxTQUFXLElBQUlTLEtBQUtELGFBQWFwQyxJQUFJLEVBQUVvQyxhQUFhbEMsS0FBSyxHQUFHLEdBQUdrQyxhQUFhRSxHQUFHO1FBQ2pGO1FBQ0FoQixjQUFjZCxvQkFBb0JjO1FBQ2xDaUIsVUFBVWhCLFVBQVdmLG9CQUFvQmUsV0FBNEJkLFNBQVM7UUFDOUUrQixVQUFVaEIsVUFBV2hCLG9CQUFvQmdCLFdBQTRCZixTQUFTO1FBQzlFZ0MsWUFBWWhCO1FBQ1pDLFlBQVlBO1FBQ1pnQixpQkFBaUJoQyx5QkFBeUJDO1FBQzFDZ0MsY0FBYy9CLHNCQUFzQkMsSUFBSWM7UUFDeENpQixTQUFBQSxJQUFPOztBQUlmO0FBRUEsaUVBQWUzQiw4QkFBOEJBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvZGF0ZXBpY2tlci9yZWFjdC1zcGVjdHJ1bS9hZG9iZS1yZWFjdC1zcGVjdHJ1bS1kYXRlLXdyYXBwZXIuY29tcG9uZW50LnRzeD9lYjYzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXRlLCBwYXJzZURhdGUgfSBmcm9tICdAaW50ZXJuYXRpb25hbGl6ZWQvZGF0ZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyIH0gZnJvbSAnQHJlYWN0LXNwZWN0cnVtL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAcmVhY3Qtc3BlY3RydW0vcHJvdmlkZXInO1xuaW1wb3J0IHsgdGhlbWUgYXMgZGVmYXVsdFRoZW1lIH0gZnJvbSAnQHJlYWN0LXNwZWN0cnVtL3RoZW1lLWRlZmF1bHQnO1xuaW1wb3J0IHsgcGFyc2VEYXRlIGFzIHBhcnNlRGF0ZVN0cmluZywgdXNlQ29uZmlnIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWZyYW1ld29yayc7XG5cbmludGVyZmFjZSBSZWFjdFNwZWN0cnVtRGF0ZVBpY2tlcldyYXBwZXJQcm9wcyB7XG4gIGlkOiBzdHJpbmc7XG4gIHZhbHVlPzogRGF0ZSB8IHN0cmluZztcbiAgbGFiZWxUZXh0Pzogc3RyaW5nO1xuICBsb2NhbGU6IHN0cmluZztcbiAgZGVmYXVsdFZhbHVlPzogRGF0ZSB8IHN0cmluZztcbiAgbWluRGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIG1heERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgaW52YWxpZFRleHQ/OiBzdHJpbmc7XG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiB0b0xvY2FsRGF0ZVN0cmluZyhkYXRlVmFsdWU6IERhdGUpIHtcbiAgY29uc3QgeWVhciA9IGRhdGVWYWx1ZS5nZXRGdWxsWWVhcigpO1xuICBjb25zdCBtb250aCA9IChkYXRlVmFsdWUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgY29uc3QgZGF0ZSA9IGRhdGVWYWx1ZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuXG4gIHJldHVybiBgJHt5ZWFyfS0ke21vbnRofS0ke2RhdGV9YDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUb0NhbGVuZGFyRGF0ZShkYXRlOiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gIGlmICghZGF0ZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHBhcnNlRGF0ZSh0b0xvY2FsRGF0ZVN0cmluZyh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgPyBwYXJzZURhdGVTdHJpbmcoZGF0ZSkgOiBkYXRlKSk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFZhbGlkYXRpb25TdGF0ZShpbnZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBpbnZhbGlkICE9PSB1bmRlZmluZWQgPyAoaW52YWxpZCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RFcnJvck1lc3NhZ2UoaWQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBtZXNzYWdlID8gPHNwYW4gY2xhc3NOYW1lPXtpZCArICctaW52YWxpZCd9PnttZXNzYWdlfTwvc3Bhbj4gOiB1bmRlZmluZWQ7XG59XG5cbmNvbnN0IFJlYWN0U3BlY3RydW1EYXRlUGlja2VyV3JhcHBlcjogUmVhY3QuRkM8UmVhY3RTcGVjdHJ1bURhdGVQaWNrZXJXcmFwcGVyUHJvcHM+ID0gKHtcbiAgaWQsXG4gIHZhbHVlLFxuICBsYWJlbFRleHQsXG4gIGxvY2FsZTogY3VycmVudExvY2FsZSxcbiAgZGVmYXVsdFZhbHVlLFxuICBtaW5EYXRlLFxuICBtYXhEYXRlLFxuICByZWFkb25seSxcbiAgaXNEaXNhYmxlZCxcbiAgaW52YWxpZCxcbiAgaW52YWxpZFRleHQsXG4gIG9uQ2hhbmdlLFxufSkgPT4ge1xuICBjb25zdCB7IHByZWZlcnJlZENhbGVuZGFyIH0gPSB1c2VDb25maWcoe1xuICAgIGV4dGVybmFsTW9kdWxlTmFtZTogJ0BvcGVubXJzL2VzbS1zdHlsZWd1aWRlJyxcbiAgfSk7XG5cbiAgY29uc3QgbG9jYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHByZWZlcnJlZENhbGVuZGFyPy5bY3VycmVudExvY2FsZV0pIHtcbiAgICAgIHJldHVybiBuZXcgSW50bC5Mb2NhbGUoY3VycmVudExvY2FsZSwge1xuICAgICAgICBjYWxlbmRhcjogcHJlZmVycmVkQ2FsZW5kYXJbY3VycmVudExvY2FsZV0sXG4gICAgICB9KS50b1N0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudExvY2FsZTtcbiAgfSwgW2N1cnJlbnRMb2NhbGUsIHByZWZlcnJlZENhbGVuZGFyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UHJvdmlkZXIgbG9jYWxlPXtsb2NhbGV9IGNvbG9yU2NoZW1lPVwibGlnaHRcIiB0aGVtZT17ZGVmYXVsdFRoZW1lfT5cbiAgICAgIDxEYXRlUGlja2VyXG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgbGFiZWw9e2xhYmVsVGV4dH1cbiAgICAgICAgdmFsdWU9e3BhcnNlVG9DYWxlbmRhckRhdGUodmFsdWUpfVxuICAgICAgICBvbkNoYW5nZT17KGNhbGVuZGFyRGF0ZSkgPT4ge1xuICAgICAgICAgIG9uQ2hhbmdlPy4obmV3IERhdGUoY2FsZW5kYXJEYXRlLnllYXIsIGNhbGVuZGFyRGF0ZS5tb250aCAtIDEsIGNhbGVuZGFyRGF0ZS5kYXkpKTtcbiAgICAgICAgfX1cbiAgICAgICAgZGVmYXVsdFZhbHVlPXtwYXJzZVRvQ2FsZW5kYXJEYXRlKGRlZmF1bHRWYWx1ZSl9XG4gICAgICAgIG1pblZhbHVlPXttaW5EYXRlID8gKHBhcnNlVG9DYWxlbmRhckRhdGUobWluRGF0ZSkgYXMgQ2FsZW5kYXJEYXRlKSA6IHVuZGVmaW5lZH1cbiAgICAgICAgbWF4VmFsdWU9e21heERhdGUgPyAocGFyc2VUb0NhbGVuZGFyRGF0ZShtYXhEYXRlKSBhcyBDYWxlbmRhckRhdGUpIDogdW5kZWZpbmVkfVxuICAgICAgICBpc1JlYWRPbmx5PXtyZWFkb25seX1cbiAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgdmFsaWRhdGlvblN0YXRlPXtjb25zdHJ1Y3RWYWxpZGF0aW9uU3RhdGUoaW52YWxpZCl9XG4gICAgICAgIGVycm9yTWVzc2FnZT17Y29uc3RydWN0RXJyb3JNZXNzYWdlKGlkLCBpbnZhbGlkVGV4dCl9XG4gICAgICAgIGlzUXVpZXRcbiAgICAgID48L0RhdGVQaWNrZXI+XG4gICAgPC9Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0U3BlY3RydW1EYXRlUGlja2VyV3JhcHBlcjtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJwYXJzZURhdGUiLCJEYXRlUGlja2VyIiwiUHJvdmlkZXIiLCJ0aGVtZSIsImRlZmF1bHRUaGVtZSIsInBhcnNlRGF0ZVN0cmluZyIsInVzZUNvbmZpZyIsInRvTG9jYWxEYXRlU3RyaW5nIiwiZGF0ZVZhbHVlIiwieWVhciIsImdldEZ1bGxZZWFyIiwibW9udGgiLCJnZXRNb250aCIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJkYXRlIiwiZ2V0RGF0ZSIsInBhcnNlVG9DYWxlbmRhckRhdGUiLCJ1bmRlZmluZWQiLCJjb25zdHJ1Y3RWYWxpZGF0aW9uU3RhdGUiLCJpbnZhbGlkIiwiY29uc3RydWN0RXJyb3JNZXNzYWdlIiwiaWQiLCJtZXNzYWdlIiwic3BhbiIsImNsYXNzTmFtZSIsIlJlYWN0U3BlY3RydW1EYXRlUGlja2VyV3JhcHBlciIsInZhbHVlIiwibGFiZWxUZXh0IiwibG9jYWxlIiwiY3VycmVudExvY2FsZSIsImRlZmF1bHRWYWx1ZSIsIm1pbkRhdGUiLCJtYXhEYXRlIiwicmVhZG9ubHkiLCJpc0Rpc2FibGVkIiwiaW52YWxpZFRleHQiLCJvbkNoYW5nZSIsInByZWZlcnJlZENhbGVuZGFyIiwiZXh0ZXJuYWxNb2R1bGVOYW1lIiwiSW50bCIsIkxvY2FsZSIsImNhbGVuZGFyIiwiY29sb3JTY2hlbWUiLCJsYWJlbCIsImNhbGVuZGFyRGF0ZSIsIkRhdGUiLCJkYXkiLCJtaW5WYWx1ZSIsIm1heFZhbHVlIiwiaXNSZWFkT25seSIsInZhbGlkYXRpb25TdGF0ZSIsImVycm9yTWVzc2FnZSIsImlzUXVpZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/datepicker/react-spectrum/adobe-react-spectrum-date-wrapper.component.tsx\n");
|
|
7461
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _internationalized_date__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @internationalized/date */ \"../../../node_modules/@internationalized/date/dist/import.mjs\");\n/* harmony import */ var _react_spectrum_datepicker__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @react-spectrum/datepicker */ \"../../../node_modules/@react-spectrum/datepicker/dist/import.mjs\");\n/* harmony import */ var _react_spectrum_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-spectrum/provider */ \"../../../node_modules/@react-spectrum/provider/dist/import.mjs\");\n/* harmony import */ var _react_spectrum_theme_default__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-spectrum/theme-default */ \"../../../node_modules/@react-spectrum/theme-default/dist/import.mjs\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n\n\n\nfunction toLocalDateString(dateValue) {\n var year = dateValue.getFullYear();\n var month = (dateValue.getMonth() + 1).toString().padStart(2, \"0\");\n var date = dateValue.getDate().toString().padStart(2, \"0\");\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(date);\n}\nfunction parseToCalendarDate(date) {\n if (!date) {\n return undefined;\n }\n return (0,_internationalized_date__WEBPACK_IMPORTED_MODULE_2__.parseDate)(toLocalDateString(typeof date === \"string\" ? (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__.parseDate)(date) : date));\n}\nfunction constructValidationState(invalid) {\n return invalid !== undefined ? invalid ? \"invalid\" : \"valid\" : undefined;\n}\nfunction constructErrorMessage(id, message) {\n return message ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: id + \"-invalid\"\n }, message) : undefined;\n}\nvar ReactSpectrumDatePickerWrapper = function(param) {\n var id = param.id, value = param.value, labelText = param.labelText, currentLocale = param.locale, defaultValue = param.defaultValue, minDate = param.minDate, maxDate = param.maxDate, readonly = param.readonly, isDisabled = param.isDisabled, invalid = param.invalid, invalidText = param.invalidText, onChange = param.onChange;\n var preferredCalendar = (0,_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_1__.useConfig)({\n externalModuleName: \"@openmrs/esm-styleguide\"\n }).preferredCalendar;\n var locale = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function() {\n if (preferredCalendar === null || preferredCalendar === void 0 ? void 0 : preferredCalendar[currentLocale]) {\n return new Intl.Locale(currentLocale, {\n calendar: preferredCalendar[currentLocale]\n }).toString();\n }\n return currentLocale;\n }, [\n currentLocale,\n preferredCalendar\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_react_spectrum_provider__WEBPACK_IMPORTED_MODULE_3__.Provider, {\n locale: locale,\n colorScheme: \"light\",\n theme: _react_spectrum_theme_default__WEBPACK_IMPORTED_MODULE_4__.theme\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_react_spectrum_datepicker__WEBPACK_IMPORTED_MODULE_5__.DatePicker, {\n id: id,\n label: labelText,\n value: parseToCalendarDate(value),\n onChange: function(calendarDate) {\n onChange === null || onChange === void 0 ? void 0 : onChange(new Date(calendarDate.year, calendarDate.month - 1, calendarDate.day));\n },\n defaultValue: parseToCalendarDate(defaultValue),\n minValue: minDate ? parseToCalendarDate(minDate) : undefined,\n maxValue: maxDate ? parseToCalendarDate(maxDate) : undefined,\n isReadOnly: readonly,\n isDisabled: isDisabled,\n validationState: constructValidationState(invalid),\n errorMessage: constructErrorMessage(id, invalidText),\n isQuiet: true\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactSpectrumDatePickerWrapper);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9kYXRlcGlja2VyL3JlYWN0LXNwZWN0cnVtL2Fkb2JlLXJlYWN0LXNwZWN0cnVtLWRhdGUtd3JhcHBlci5jb21wb25lbnQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUF1QztBQUVhO0FBQ0k7QUFDSjtBQUNrQjtBQUNXO0FBaUJqRixTQUFTUyxrQkFBa0JDLFNBQWUsRUFBRTtJQUMxQyxJQUFNQyxPQUFPRCxVQUFVRSxXQUFXO0lBQ2xDLElBQU1DLFFBQVEsQ0FBQ0gsVUFBVUksUUFBUSxLQUFLLEdBQUdDLFFBQVEsR0FBR0MsUUFBUSxDQUFDLEdBQUc7SUFDaEUsSUFBTUMsT0FBT1AsVUFBVVEsT0FBTyxHQUFHSCxRQUFRLEdBQUdDLFFBQVEsQ0FBQyxHQUFHO0lBRXhELE9BQU8sR0FBV0gsT0FBUkYsTUFBSyxLQUFZTSxPQUFUSixPQUFNLEtBQVEsT0FBTEk7QUFDN0I7QUFFQSxTQUFTRSxvQkFBb0JGLElBQStCLEVBQUU7SUFDNUQsSUFBSSxDQUFDQSxNQUFNO1FBQ1QsT0FBT0c7SUFDVCxDQUFDO0lBQ0QsT0FBT2xCLGtFQUFTQSxDQUFDTyxrQkFBa0IsT0FBT1EsU0FBUyxXQUFXVixpRUFBZUEsQ0FBQ1UsUUFBUUEsSUFBSTtBQUM1RjtBQUVBLFNBQVNJLHlCQUF5QkMsT0FBNEIsRUFBRTtJQUM5RCxPQUFPQSxZQUFZRixZQUFhRSxVQUFVLFlBQVksT0FBTyxHQUFJRixTQUFTO0FBQzVFO0FBRUEsU0FBU0csc0JBQXNCQyxFQUFVLEVBQUVDLE9BQTJCLEVBQUU7SUFDdEUsT0FBT0Esd0JBQVUsMkRBQUNDO1FBQUtDLFdBQVdILEtBQUs7T0FBYUMsV0FBa0JMLFNBQVM7QUFDakY7QUFFQSxJQUFNUSxpQ0FBZ0YsZ0JBYWhGO1FBWkpKLFdBQUFBLElBQ0FLLGNBQUFBLE9BQ0FDLGtCQUFBQSxXQUNBQyxzQkFBQUEsUUFDQUUscUJBQUFBLGNBQ0FDLGdCQUFBQSxTQUNBQyxnQkFBQUEsU0FDQUMsaUJBQUFBLFVBQ0FDLG1CQUFBQSxZQUNBZixnQkFBQUEsU0FDQWdCLG9CQUFBQSxhQUNBQyxpQkFBQUE7SUFFQSxJQUFNLG9CQUF3Qi9CLGlFQUFTQSxDQUFDO1FBQ3RDaUMsb0JBQW9CO0lBQ3RCLEdBRlFEO0lBSVIsSUFBTVQsU0FBUzlCLDhDQUFPQSxDQUFDLFdBQU07UUFDM0IsSUFBSXVDLDhCQUFBQSwrQkFBQUEsS0FBQUEsSUFBQUEsaUJBQW1CLENBQUNSLGNBQWMsRUFBRTtZQUN0QyxPQUFPLElBQUlVLEtBQUtDLE1BQU0sQ0FBQ1gsZUFBZTtnQkFDcENZLFVBQVVKLGlCQUFpQixDQUFDUixjQUFjO1lBQzVDLEdBQUdqQixRQUFRO1FBQ2IsQ0FBQztRQUNELE9BQU9pQjtJQUNULEdBQUc7UUFBQ0E7UUFBZVE7S0FBa0I7SUFFckMscUJBQ0UsMkRBQUNwQyw4REFBUUE7UUFBQzJCLFFBQVFBO1FBQVFjLGFBQVk7UUFBUXhDLE9BQU9DLGdFQUFZQTtxQkFDL0QsMkRBQUNILGtFQUFVQTtRQUNUcUIsSUFBSUE7UUFDSnNCLE9BQU9oQjtRQUNQRCxPQUFPVixvQkFBb0JVO1FBQzNCVSxVQUFVLFNBQUNRLGNBQWlCO1lBQzFCUixxQkFBQUEsc0JBQUFBLEtBQUFBLElBQUFBLFNBQVcsSUFBSVMsS0FBS0QsYUFBYXBDLElBQUksRUFBRW9DLGFBQWFsQyxLQUFLLEdBQUcsR0FBR2tDLGFBQWFFLEdBQUc7UUFDakY7UUFDQWhCLGNBQWNkLG9CQUFvQmM7UUFDbENpQixVQUFVaEIsVUFBV2Ysb0JBQW9CZSxXQUE0QmQsU0FBUztRQUM5RStCLFVBQVVoQixVQUFXaEIsb0JBQW9CZ0IsV0FBNEJmLFNBQVM7UUFDOUVnQyxZQUFZaEI7UUFDWkMsWUFBWUE7UUFDWmdCLGlCQUFpQmhDLHlCQUF5QkM7UUFDMUNnQyxjQUFjL0Isc0JBQXNCQyxJQUFJYztRQUN4Q2lCLFNBQUFBLElBQU87O0FBSWY7QUFFQSxpRUFBZTNCLDhCQUE4QkEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9kYXRlcGlja2VyL3JlYWN0LXNwZWN0cnVtL2Fkb2JlLXJlYWN0LXNwZWN0cnVtLWRhdGUtd3JhcHBlci5jb21wb25lbnQudHN4P2ViNjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IENhbGVuZGFyRGF0ZSB9IGZyb20gJ0BpbnRlcm5hdGlvbmFsaXplZC9kYXRlJztcbmltcG9ydCB7IHBhcnNlRGF0ZSB9IGZyb20gJ0BpbnRlcm5hdGlvbmFsaXplZC9kYXRlJztcbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tICdAcmVhY3Qtc3BlY3RydW0vZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0ByZWFjdC1zcGVjdHJ1bS9wcm92aWRlcic7XG5pbXBvcnQgeyB0aGVtZSBhcyBkZWZhdWx0VGhlbWUgfSBmcm9tICdAcmVhY3Qtc3BlY3RydW0vdGhlbWUtZGVmYXVsdCc7XG5pbXBvcnQgeyBwYXJzZURhdGUgYXMgcGFyc2VEYXRlU3RyaW5nLCB1c2VDb25maWcgfSBmcm9tICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcblxuaW50ZXJmYWNlIFJlYWN0U3BlY3RydW1EYXRlUGlja2VyV3JhcHBlclByb3BzIHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU/OiBEYXRlIHwgc3RyaW5nO1xuICBsYWJlbFRleHQ/OiBzdHJpbmc7XG4gIGxvY2FsZTogc3RyaW5nO1xuICBkZWZhdWx0VmFsdWU/OiBEYXRlIHwgc3RyaW5nO1xuICBtaW5EYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgbWF4RGF0ZT86IERhdGUgfCBzdHJpbmc7XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGludmFsaWQ/OiBib29sZWFuO1xuICBpbnZhbGlkVGV4dD86IHN0cmluZztcbiAgb25DaGFuZ2U/OiAodmFsdWU6IERhdGUpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIHRvTG9jYWxEYXRlU3RyaW5nKGRhdGVWYWx1ZTogRGF0ZSkge1xuICBjb25zdCB5ZWFyID0gZGF0ZVZhbHVlLmdldEZ1bGxZZWFyKCk7XG4gIGNvbnN0IG1vbnRoID0gKGRhdGVWYWx1ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBkYXRlID0gZGF0ZVZhbHVlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG5cbiAgcmV0dXJuIGAke3llYXJ9LSR7bW9udGh9LSR7ZGF0ZX1gO1xufVxuXG5mdW5jdGlvbiBwYXJzZVRvQ2FsZW5kYXJEYXRlKGRhdGU6IHN0cmluZyB8IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFkYXRlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4gcGFyc2VEYXRlKHRvTG9jYWxEYXRlU3RyaW5nKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyA/IHBhcnNlRGF0ZVN0cmluZyhkYXRlKSA6IGRhdGUpKTtcbn1cblxuZnVuY3Rpb24gY29uc3RydWN0VmFsaWRhdGlvblN0YXRlKGludmFsaWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGludmFsaWQgIT09IHVuZGVmaW5lZCA/IChpbnZhbGlkID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdEVycm9yTWVzc2FnZShpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIG1lc3NhZ2UgPyA8c3BhbiBjbGFzc05hbWU9e2lkICsgJy1pbnZhbGlkJ30+e21lc3NhZ2V9PC9zcGFuPiA6IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgUmVhY3RTcGVjdHJ1bURhdGVQaWNrZXJXcmFwcGVyOiBSZWFjdC5GQzxSZWFjdFNwZWN0cnVtRGF0ZVBpY2tlcldyYXBwZXJQcm9wcz4gPSAoe1xuICBpZCxcbiAgdmFsdWUsXG4gIGxhYmVsVGV4dCxcbiAgbG9jYWxlOiBjdXJyZW50TG9jYWxlLFxuICBkZWZhdWx0VmFsdWUsXG4gIG1pbkRhdGUsXG4gIG1heERhdGUsXG4gIHJlYWRvbmx5LFxuICBpc0Rpc2FibGVkLFxuICBpbnZhbGlkLFxuICBpbnZhbGlkVGV4dCxcbiAgb25DaGFuZ2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgcHJlZmVycmVkQ2FsZW5kYXIgfSA9IHVzZUNvbmZpZyh7XG4gICAgZXh0ZXJuYWxNb2R1bGVOYW1lOiAnQG9wZW5tcnMvZXNtLXN0eWxlZ3VpZGUnLFxuICB9KTtcblxuICBjb25zdCBsb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocHJlZmVycmVkQ2FsZW5kYXI/LltjdXJyZW50TG9jYWxlXSkge1xuICAgICAgcmV0dXJuIG5ldyBJbnRsLkxvY2FsZShjdXJyZW50TG9jYWxlLCB7XG4gICAgICAgIGNhbGVuZGFyOiBwcmVmZXJyZWRDYWxlbmRhcltjdXJyZW50TG9jYWxlXSxcbiAgICAgIH0pLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50TG9jYWxlO1xuICB9LCBbY3VycmVudExvY2FsZSwgcHJlZmVycmVkQ2FsZW5kYXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gY29sb3JTY2hlbWU9XCJsaWdodFwiIHRoZW1lPXtkZWZhdWx0VGhlbWV9PlxuICAgICAgPERhdGVQaWNrZXJcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICBsYWJlbD17bGFiZWxUZXh0fVxuICAgICAgICB2YWx1ZT17cGFyc2VUb0NhbGVuZGFyRGF0ZSh2YWx1ZSl9XG4gICAgICAgIG9uQ2hhbmdlPXsoY2FsZW5kYXJEYXRlKSA9PiB7XG4gICAgICAgICAgb25DaGFuZ2U/LihuZXcgRGF0ZShjYWxlbmRhckRhdGUueWVhciwgY2FsZW5kYXJEYXRlLm1vbnRoIC0gMSwgY2FsZW5kYXJEYXRlLmRheSkpO1xuICAgICAgICB9fVxuICAgICAgICBkZWZhdWx0VmFsdWU9e3BhcnNlVG9DYWxlbmRhckRhdGUoZGVmYXVsdFZhbHVlKX1cbiAgICAgICAgbWluVmFsdWU9e21pbkRhdGUgPyAocGFyc2VUb0NhbGVuZGFyRGF0ZShtaW5EYXRlKSBhcyBDYWxlbmRhckRhdGUpIDogdW5kZWZpbmVkfVxuICAgICAgICBtYXhWYWx1ZT17bWF4RGF0ZSA/IChwYXJzZVRvQ2FsZW5kYXJEYXRlKG1heERhdGUpIGFzIENhbGVuZGFyRGF0ZSkgOiB1bmRlZmluZWR9XG4gICAgICAgIGlzUmVhZE9ubHk9e3JlYWRvbmx5fVxuICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICB2YWxpZGF0aW9uU3RhdGU9e2NvbnN0cnVjdFZhbGlkYXRpb25TdGF0ZShpbnZhbGlkKX1cbiAgICAgICAgZXJyb3JNZXNzYWdlPXtjb25zdHJ1Y3RFcnJvck1lc3NhZ2UoaWQsIGludmFsaWRUZXh0KX1cbiAgICAgICAgaXNRdWlldFxuICAgICAgPjwvRGF0ZVBpY2tlcj5cbiAgICA8L1Byb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVhY3RTcGVjdHJ1bURhdGVQaWNrZXJXcmFwcGVyO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlTWVtbyIsInBhcnNlRGF0ZSIsIkRhdGVQaWNrZXIiLCJQcm92aWRlciIsInRoZW1lIiwiZGVmYXVsdFRoZW1lIiwicGFyc2VEYXRlU3RyaW5nIiwidXNlQ29uZmlnIiwidG9Mb2NhbERhdGVTdHJpbmciLCJkYXRlVmFsdWUiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJtb250aCIsImdldE1vbnRoIiwidG9TdHJpbmciLCJwYWRTdGFydCIsImRhdGUiLCJnZXREYXRlIiwicGFyc2VUb0NhbGVuZGFyRGF0ZSIsInVuZGVmaW5lZCIsImNvbnN0cnVjdFZhbGlkYXRpb25TdGF0ZSIsImludmFsaWQiLCJjb25zdHJ1Y3RFcnJvck1lc3NhZ2UiLCJpZCIsIm1lc3NhZ2UiLCJzcGFuIiwiY2xhc3NOYW1lIiwiUmVhY3RTcGVjdHJ1bURhdGVQaWNrZXJXcmFwcGVyIiwidmFsdWUiLCJsYWJlbFRleHQiLCJsb2NhbGUiLCJjdXJyZW50TG9jYWxlIiwiZGVmYXVsdFZhbHVlIiwibWluRGF0ZSIsIm1heERhdGUiLCJyZWFkb25seSIsImlzRGlzYWJsZWQiLCJpbnZhbGlkVGV4dCIsIm9uQ2hhbmdlIiwicHJlZmVycmVkQ2FsZW5kYXIiLCJleHRlcm5hbE1vZHVsZU5hbWUiLCJJbnRsIiwiTG9jYWxlIiwiY2FsZW5kYXIiLCJjb2xvclNjaGVtZSIsImxhYmVsIiwiY2FsZW5kYXJEYXRlIiwiRGF0ZSIsImRheSIsIm1pblZhbHVlIiwibWF4VmFsdWUiLCJpc1JlYWRPbmx5IiwidmFsaWRhdGlvblN0YXRlIiwiZXJyb3JNZXNzYWdlIiwiaXNRdWlldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/datepicker/react-spectrum/adobe-react-spectrum-date-wrapper.component.tsx\n");
|
|
7462
7462
|
|
|
7463
7463
|
/***/ }),
|
|
7464
7464
|
|
|
@@ -7524,7 +7524,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7524
7524
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7525
7525
|
|
|
7526
7526
|
"use strict";
|
|
7527
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LeftNavMenu: () => (/* binding */ LeftNavMenu),\n/* harmony export */ setLeftNav: () => (/* binding */ setLeftNav),\n/* harmony export */ unsetLeftNav: () => (/* binding */ unsetLeftNav)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-react-utils */ \"../../framework/esm-react-utils/src/index.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/* harmony import */ var _carbon_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @carbon/react */ \"../../../node_modules/@carbon/react/es/index.js\");\n/* harmony import */ var _left_nav_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./left-nav.module.scss */ \"../../framework/esm-styleguide/src/left-nav/left-nav.module.scss\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\n\n\n\n\n\nvar leftNavStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__.createGlobalStore)(\"left-nav\", {\n slotName: null,\n basePath: window.spaBase\n});\nfunction setLeftNav(param) {\n var name = param.name, basePath = param.basePath;\n leftNavStore.setState({\n slotName: name,\n basePath: basePath\n });\n}\nfunction unsetLeftNav(name) {\n if (leftNavStore.getState().slotName == name) {\n leftNavStore.setState({\n slotName: null\n });\n }\n}\nvar LeftNavMenu = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().forwardRef(function(props, ref) {\n var _useStore = (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__.useStore)(leftNavStore), slotName = _useStore.slotName, basePath = _useStore.basePath;\n var _window_location;\n var currentPath = (_window_location = window.location) !== null && _window_location !== void 0 ? _window_location : {\n pathname: \"\"\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.SideNav, _object_spread({\n ref: ref,\n expanded: true,\n \"aria-label\": \"Left navigation\",\n className: _left_nav_module_scss__WEBPACK_IMPORTED_MODULE_4__[\"default\"].leftNav\n }, props), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__.ExtensionSlot, {\n name: \"global-nav-menu-slot\"\n }), slotName ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__.ExtensionSlot, {\n name: slotName,\n state: {\n basePath: basePath,\n currentPath: currentPath\n }\n }) : null);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7527
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LeftNavMenu: () => (/* binding */ LeftNavMenu),\n/* harmony export */ setLeftNav: () => (/* binding */ setLeftNav),\n/* harmony export */ unsetLeftNav: () => (/* binding */ unsetLeftNav)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-react-utils */ \"../../framework/esm-react-utils/src/index.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/* harmony import */ var _carbon_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @carbon/react */ \"../../../node_modules/@carbon/react/es/index.js\");\n/* harmony import */ var _left_nav_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./left-nav.module.scss */ \"../../framework/esm-styleguide/src/left-nav/left-nav.module.scss\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\n\n\n\n\n\nvar leftNavStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_2__.createGlobalStore)(\"left-nav\", {\n slotName: null,\n basePath: window.spaBase\n});\nfunction setLeftNav(param) {\n var name = param.name, basePath = param.basePath;\n leftNavStore.setState({\n slotName: name,\n basePath: basePath\n });\n}\nfunction unsetLeftNav(name) {\n if (leftNavStore.getState().slotName == name) {\n leftNavStore.setState({\n slotName: null\n });\n }\n}\nvar LeftNavMenu = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().forwardRef(function(props, ref) {\n var _useStore = (0,_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__.useStore)(leftNavStore), slotName = _useStore.slotName, basePath = _useStore.basePath;\n var _window_location;\n var currentPath = (_window_location = window.location) !== null && _window_location !== void 0 ? _window_location : {\n pathname: \"\"\n };\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_carbon_react__WEBPACK_IMPORTED_MODULE_3__.SideNav, _object_spread({\n ref: ref,\n expanded: true,\n \"aria-label\": \"Left navigation\",\n className: _left_nav_module_scss__WEBPACK_IMPORTED_MODULE_4__[\"default\"].leftNav\n }, props), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__.ExtensionSlot, {\n name: \"global-nav-menu-slot\"\n }), slotName ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_openmrs_esm_react_utils__WEBPACK_IMPORTED_MODULE_1__.ExtensionSlot, {\n name: slotName,\n state: {\n basePath: basePath,\n currentPath: currentPath\n }\n }) : null);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9sZWZ0LW5hdi9pbmRleC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUJBQXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0M7QUFDeUM7QUFDWjtBQUVmO0FBQ0k7QUFPNUMsSUFBTU0sZUFBZUgscUVBQWlCQSxDQUFlLFlBQVk7SUFDL0RJLFVBQVUsSUFBSTtJQUNkQyxVQUFVQyxPQUFPQyxPQUFPO0FBQzFCO0FBRU8sU0FBU0MsV0FBVyxLQUFrQixFQUFFO1FBQWxCQyxPQUFGLE1BQUVBLE1BQU1KLFdBQVIsTUFBUUE7SUFDakNGLGFBQWFPLFFBQVEsQ0FBQztRQUFFTixVQUFVSztRQUFNSixVQUFBQTtJQUFTO0FBQ25ELENBQUM7QUFFTSxTQUFTTSxhQUFhRixJQUFJLEVBQUU7SUFDakMsSUFBSU4sYUFBYVMsUUFBUSxHQUFHUixRQUFRLElBQUlLLE1BQU07UUFDNUNOLGFBQWFPLFFBQVEsQ0FBQztZQUFFTixVQUFVLElBQUk7UUFBQztJQUN6QyxDQUFDO0FBQ0gsQ0FBQztBQUlNLElBQU1TLDRCQUFjaEIsdURBQWdCLENBQWdDLFNBQUNrQixPQUFPQyxLQUFRO0lBQ3pGLElBQStCakIsWUFBQUEsa0VBQVFBLENBQUNJLGVBQWhDQyxXQUF1QkwsVUFBdkJLLFVBQVVDLFdBQWFOLFVBQWJNO1FBQ0VDO0lBQXBCLElBQU1XLGNBQWNYLENBQUFBLG1CQUFBQSxPQUFPWSxRQUFRLGNBQWZaLDhCQUFBQSxtQkFBbUI7UUFBRWEsVUFBVTtJQUFHLENBQUM7SUFFdkQscUJBQ0UsMkRBQUNsQixrREFBT0E7UUFBQ2UsS0FBS0E7UUFBS0ksVUFBQUEsSUFBUTtRQUFDQyxjQUFXO1FBQWtCQyxXQUFXcEIsNkRBQU1BLENBQUNxQixPQUFPO09BQU1SLHNCQUN0RiwyREFBQ2pCLG1FQUFhQTtRQUFDVyxNQUFLO1FBQ25CTCx5QkFBVywyREFBQ04sbUVBQWFBO1FBQUNXLE1BQU1MO1FBQVVvQixPQUFPO1lBQUVuQixVQUFBQTtZQUFVWSxhQUFBQTtRQUFZO1NBQVEsSUFBSTtBQUc1RixHQUFHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvc3JjL2xlZnQtbmF2L2luZGV4LnRzeD9jM2U0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBVSSAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEV4dGVuc2lvblNsb3QsIHVzZVN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzJztcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlIH0gZnJvbSAnQG9wZW5tcnMvZXNtLXN0YXRlJztcbmltcG9ydCB0eXBlIHsgU2lkZU5hdlByb3BzIH0gZnJvbSAnQGNhcmJvbi9yZWFjdCc7XG5pbXBvcnQgeyBTaWRlTmF2IH0gZnJvbSAnQGNhcmJvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vbGVmdC1uYXYubW9kdWxlLnNjc3MnO1xuXG5pbnRlcmZhY2UgTGVmdE5hdlN0b3JlIHtcbiAgc2xvdE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGJhc2VQYXRoOiBzdHJpbmc7XG59XG5cbmNvbnN0IGxlZnROYXZTdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlPExlZnROYXZTdG9yZT4oJ2xlZnQtbmF2Jywge1xuICBzbG90TmFtZTogbnVsbCxcbiAgYmFzZVBhdGg6IHdpbmRvdy5zcGFCYXNlLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRMZWZ0TmF2KHsgbmFtZSwgYmFzZVBhdGggfSkge1xuICBsZWZ0TmF2U3RvcmUuc2V0U3RhdGUoeyBzbG90TmFtZTogbmFtZSwgYmFzZVBhdGggfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnNldExlZnROYXYobmFtZSkge1xuICBpZiAobGVmdE5hdlN0b3JlLmdldFN0YXRlKCkuc2xvdE5hbWUgPT0gbmFtZSkge1xuICAgIGxlZnROYXZTdG9yZS5zZXRTdGF0ZSh7IHNsb3ROYW1lOiBudWxsIH0pO1xuICB9XG59XG5cbnR5cGUgTGVmdE5hdk1lbnVQcm9wcyA9IFNpZGVOYXZQcm9wcztcblxuZXhwb3J0IGNvbnN0IExlZnROYXZNZW51ID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgTGVmdE5hdk1lbnVQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgY29uc3QgeyBzbG90TmFtZSwgYmFzZVBhdGggfSA9IHVzZVN0b3JlKGxlZnROYXZTdG9yZSk7XG4gIGNvbnN0IGN1cnJlbnRQYXRoID0gd2luZG93LmxvY2F0aW9uID8/IHsgcGF0aG5hbWU6ICcnIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZU5hdiByZWY9e3JlZn0gZXhwYW5kZWQgYXJpYS1sYWJlbD1cIkxlZnQgbmF2aWdhdGlvblwiIGNsYXNzTmFtZT17c3R5bGVzLmxlZnROYXZ9IHsuLi5wcm9wc30+XG4gICAgICA8RXh0ZW5zaW9uU2xvdCBuYW1lPVwiZ2xvYmFsLW5hdi1tZW51LXNsb3RcIiAvPlxuICAgICAge3Nsb3ROYW1lID8gPEV4dGVuc2lvblNsb3QgbmFtZT17c2xvdE5hbWV9IHN0YXRlPXt7IGJhc2VQYXRoLCBjdXJyZW50UGF0aCB9fSAvPiA6IG51bGx9XG4gICAgPC9TaWRlTmF2PlxuICApO1xufSk7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJFeHRlbnNpb25TbG90IiwidXNlU3RvcmUiLCJjcmVhdGVHbG9iYWxTdG9yZSIsIlNpZGVOYXYiLCJzdHlsZXMiLCJsZWZ0TmF2U3RvcmUiLCJzbG90TmFtZSIsImJhc2VQYXRoIiwid2luZG93Iiwic3BhQmFzZSIsInNldExlZnROYXYiLCJuYW1lIiwic2V0U3RhdGUiLCJ1bnNldExlZnROYXYiLCJnZXRTdGF0ZSIsIkxlZnROYXZNZW51IiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwiY3VycmVudFBhdGgiLCJsb2NhdGlvbiIsInBhdGhuYW1lIiwiZXhwYW5kZWQiLCJhcmlhLWxhYmVsIiwiY2xhc3NOYW1lIiwibGVmdE5hdiIsInN0YXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/left-nav/index.tsx\n");
|
|
7528
7528
|
|
|
7529
7529
|
/***/ }),
|
|
7530
7530
|
|
|
@@ -7546,7 +7546,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7546
7546
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7547
7547
|
|
|
7548
7548
|
"use strict";
|
|
7549
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderModals: () => (/* binding */ renderModals),\n/* harmony export */ showModal: () => (/* binding */ showModal)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category UI */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar modalStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.createGlobalStore)(\"globalModalState\", {\n modalContainer: null,\n modalStack: []\n});\nfunction htmlToElement(html) {\n var template = document.createElement(\"template\");\n template.innerHTML = html;\n return template.content.firstChild;\n}\nfunction createModalFrame() {\n var closeButton = htmlToElement('\\n <button\\n class=\"cds--modal-close\"\\n type=\"button\">\\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><defs><style>.cls-1{fill:#000000;}.cls-2{fill:none;}</style></defs><title>close</title><polygon class=\"cls-1\" points=\"24 9.4 22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4\"/><rect class=\"cls-2\" width=\"32\" height=\"32\"/></svg>\\n </button>'.trim());\n closeButton.addEventListener(\"click\", closeHighestInstance);\n var outer = document.createElement(\"div\");\n outer.className = \"cds--modal-container\";\n var contentContainer = document.createElement(\"div\");\n outer.append(closeButton);\n outer.append(contentContainer);\n return {\n outer: outer,\n contentContainer: contentContainer\n };\n}\nvar original = window.getComputedStyle(document.body).overflow;\nfunction handleModalStateUpdate(param) {\n var modalStack = param.modalStack, modalContainer = param.modalContainer;\n if (!modalContainer) return;\n if (modalStack.length) {\n // spin up the container if it was hidden previously\n if (!modalContainer.style.visibility) {\n addEventListener(\"keydown\", handleEscKey);\n document.body.style.overflow = \"hidden\";\n modalContainer.style.visibility = \"unset\";\n }\n modalStack.forEach(function(instance, index) {\n switch(instance.state){\n case \"NEW\":\n var _createModalFrame = createModalFrame(), outer = _createModalFrame.outer, contentContainer = _createModalFrame.contentContainer;\n instance.container = outer;\n (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.renderExtension)(contentContainer, \"\", \"\", instance.extensionId, undefined, instance.props).then(function(parcel) {\n instance.parcel = parcel;\n instance.state = \"MOUNTED\";\n modalContainer.prepend(outer);\n outer.style.visibility = \"unset\";\n });\n break;\n case \"MOUNTED\":\n if (instance.container) {\n instance.container.style.visibility = index ? \"hidden\" : \"unset\";\n }\n break;\n case \"TO_BE_DELETED\":\n var _instance_parcel, _instance_parcel_unmount, _instance_container;\n instance.onClose();\n (_instance_parcel = instance.parcel) === null || _instance_parcel === void 0 ? void 0 : (_instance_parcel_unmount = _instance_parcel.unmount) === null || _instance_parcel_unmount === void 0 ? void 0 : _instance_parcel_unmount.call(_instance_parcel);\n (_instance_container = instance.container) === null || _instance_container === void 0 ? void 0 : _instance_container.remove();\n setTimeout(function() {\n modalStore.setState({\n modalContainer: modalContainer,\n modalStack: modalStack.filter(function(x) {\n return x !== instance;\n })\n });\n }, 0);\n break;\n }\n });\n } else {\n modalContainer.style.removeProperty(\"visibility\");\n document.body.style.overflow = original;\n removeEventListener(\"keydown\", handleEscKey);\n }\n}\nfunction renderModals(modalContainer) {\n if (modalContainer) {\n modalStore.subscribe(handleModalStateUpdate);\n modalStore.setState(_object_spread_props(_object_spread({}, modalStore.getState()), {\n modalContainer: modalContainer\n }));\n }\n}\nfunction openInstance(instance) {\n var state = modalStore.getState();\n var modalStack = [\n instance\n ].concat(_to_consumable_array(state.modalStack));\n modalStore.setState(_object_spread_props(_object_spread({}, state), {\n modalStack: modalStack\n }));\n}\nfunction closeInstance(instance) {\n var state = modalStore.getState();\n var modalStack = state.modalStack.map(function(x) {\n return x === instance ? _object_spread_props(_object_spread({}, x), {\n state: \"TO_BE_DELETED\"\n }) : x;\n });\n modalStore.setState(_object_spread_props(_object_spread({}, state), {\n modalStack: modalStack\n }));\n}\nfunction closeHighestInstance() {\n var state = modalStore.getState();\n var _state_modalStack = _sliced_to_array(state.modalStack, 1), top = _state_modalStack[0];\n if (top) {\n closeInstance(top);\n }\n}\nfunction handleEscKey(e) {\n if (e.key === \"Escape\") {\n closeHighestInstance();\n }\n}\n/**\n * Shows the provided extension component in a modal dialog.\n * @param extensionId The id of the extension to show.\n * @param props The optional props to provide to the extension.\n * @param onClose The optional notification to receive when the modal is closed.\n * @returns The dispose function to force closing the modal dialog.\n */ function showModal(extensionId) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, onClose = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() {};\n var close = function() {\n var state = modalStore.getState();\n var item = state.modalStack.find(function(m) {\n return m.onClose === onClose;\n });\n if (item) {\n closeInstance(item);\n }\n };\n openInstance({\n state: \"NEW\",\n onClose: onClose,\n extensionId: extensionId,\n props: _object_spread({\n extensionId: extensionId,\n close: close\n }, props)\n });\n return close;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9tb2RhbHMvaW5kZXgudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSx5QkFBeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ2lDO0FBQ0g7QUFtQnZELElBQU1FLGFBQWFELHFFQUFpQkEsQ0FBYSxvQkFBb0I7SUFDbkVFLGdCQUFnQixJQUFJO0lBQ3BCQyxZQUFZLEVBQUU7QUFDaEI7QUFFQSxTQUFTQyxjQUFjQyxJQUFZLEVBQUU7SUFDbkMsSUFBTUMsV0FBV0MsU0FBU0MsYUFBYSxDQUFDO0lBQ3hDRixTQUFTRyxTQUFTLEdBQUdKO0lBQ3JCLE9BQU9DLFNBQVNJLE9BQU8sQ0FBQ0MsVUFBVTtBQUNwQztBQUVBLFNBQVNDLG1CQUFtQjtJQUMxQixJQUFNQyxjQUFjVCxjQUNsQixrYUFLU1UsSUFBSTtJQUdmRCxZQUFZRSxnQkFBZ0IsQ0FBQyxTQUFTQztJQUN0QyxJQUFNQyxRQUFRVixTQUFTQyxhQUFhLENBQUM7SUFDckNTLE1BQU1DLFNBQVMsR0FBRztJQUNsQixJQUFNQyxtQkFBbUJaLFNBQVNDLGFBQWEsQ0FBQztJQUVoRFMsTUFBTUcsTUFBTSxDQUFDUDtJQUNiSSxNQUFNRyxNQUFNLENBQUNEO0lBRWIsT0FBTztRQUFFRixPQUFBQTtRQUFPRSxrQkFBQUE7SUFBaUI7QUFDbkM7QUFFQSxJQUFNRSxXQUFXQyxPQUFPQyxnQkFBZ0IsQ0FBQ2hCLFNBQVNpQixJQUFJLEVBQUVDLFFBQVE7QUFFaEUsU0FBU0MsdUJBQXVCLEtBQTBDLEVBQUU7UUFBMUN2QixhQUFGLE1BQUVBLFlBQVlELGlCQUFkLE1BQWNBO0lBQzVDLElBQUksQ0FBQ0EsZ0JBQWdCO0lBRXJCLElBQUlDLFdBQVd3QixNQUFNLEVBQUU7UUFDckIsb0RBQW9EO1FBQ3BE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LE1BQXZCc0QsTUFBT3ZCO0lBRWQsSUFBSXVCLEtBQUs7UUFDUEYsY0FBY0U7SUFDaEIsQ0FBQztBQUNIO0FBRUEsU0FBUzNCLGFBQWE0QixDQUFnQixFQUFFO0lBQ3RDLElBQUlBLEVBQUVDLEdBQUcsS0FBSyxVQUFVO1FBQ3RCM0M7SUFDRixDQUFDO0FBQ0g7QUFFQTs7Ozs7O0NBTUMsR0FDTSxTQUFTNEMsVUFBVXhCLFdBQW1CLEVBQW1FO1FBQWpFRSxRQUFBQSxpRUFBNkIsQ0FBQyxDQUFDLEVBQUVJLFVBQUFBLGlFQUFzQixXQUFNLENBQUMsQ0FBQztJQUM1RyxJQUFNbUIsUUFBUSxXQUFNO1FBQ2xCLElBQU0zQixRQUFRakMsV0FBV29ELFFBQVE7UUFDakMsSUFBTVMsT0FBTzVCLE1BQU0vQixVQUFVLENBQUM0RCxJQUFJLENBQUMsU0FBQ0M7bUJBQU1BLEVBQUV0QixPQUFPLEtBQUtBOztRQUV4RCxJQUFJb0IsTUFBTTtZQUNSUCxjQUFjTztRQUNoQixDQUFDO0lBQ0g7SUFFQVIsYUFBYTtRQUNYcEIsT0FBTztRQUNQUSxTQUFBQTtRQUNBTixhQUFBQTtRQUNBRSxPQUFPO1lBQ0xGLGFBQUFBO1lBQ0F5QixPQUFBQTtXQUNHdkI7SUFFUDtJQUVBLE9BQU91QjtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvbW9kYWxzL2luZGV4LnRzeD8zZDU5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBVSSAqL1xuaW1wb3J0IHsgcmVuZGVyRXh0ZW5zaW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsU3RvcmUgfSBmcm9tICdAb3Blbm1ycy9lc20tc3RhdGUnO1xuaW1wb3J0IHR5cGUgeyBQYXJjZWwgfSBmcm9tICdzaW5nbGUtc3BhJztcblxudHlwZSBNb2RhbEluc3RhbmNlU3RhdGUgPSAnTkVXJyB8ICdNT1VOVEVEJyB8ICdUT19CRV9ERUxFVEVEJztcblxuaW50ZXJmYWNlIE1vZGFsSW5zdGFuY2Uge1xuICBjb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgc3RhdGU6IE1vZGFsSW5zdGFuY2VTdGF0ZTtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbiAgcGFyY2VsPzogUGFyY2VsIHwgbnVsbDtcbiAgZXh0ZW5zaW9uSWQ6IHN0cmluZztcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmludGVyZmFjZSBNb2RhbFN0YXRlIHtcbiAgbW9kYWxDb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgbW9kYWxTdGFjazogQXJyYXk8TW9kYWxJbnN0YW5jZT47XG59XG5cbmNvbnN0IG1vZGFsU3RvcmUgPSBjcmVhdGVHbG9iYWxTdG9yZTxNb2RhbFN0YXRlPignZ2xvYmFsTW9kYWxTdGF0ZScsIHtcbiAgbW9kYWxDb250YWluZXI6IG51bGwsXG4gIG1vZGFsU3RhY2s6IFtdLFxufSk7XG5cbmZ1bmN0aW9uIGh0bWxUb0VsZW1lbnQoaHRtbDogc3RyaW5nKSB7XG4gIGNvbnN0IHRlbXBsYXRlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcbiAgdGVtcGxhdGUuaW5uZXJIVE1MID0gaHRtbDtcbiAgcmV0dXJuIHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZCBhcyBDaGlsZE5vZGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGFsRnJhbWUoKSB7XG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbFRvRWxlbWVudChcbiAgICBgXG4gIDxidXR0b25cbiAgICBjbGFzcz1cImNkcy0tbW9kYWwtY2xvc2VcIlxuICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICA8c3ZnIGlkPVwiaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMwMDAwMDA7fS5jbHMtMntmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5jbG9zZTwvdGl0bGU+PHBvbHlnb24gY2xhc3M9XCJjbHMtMVwiIHBvaW50cz1cIjI0IDkuNCAyMi42IDggMTYgMTQuNiA5LjQgOCA4IDkuNCAxNC42IDE2IDggMjIuNiA5LjQgMjQgMTYgMTcuNCAyMi42IDI0IDI0IDIyLjYgMTcuNCAxNiAyNCA5LjRcIi8+PHJlY3QgY2xhc3M9XCJjbHMtMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiLz48L3N2Zz5cbiAgPC9idXR0b24+YC50cmltKCksXG4gICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgY2xvc2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZUhpZ2hlc3RJbnN0YW5jZSk7XG4gIGNvbnN0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIG91dGVyLmNsYXNzTmFtZSA9ICdjZHMtLW1vZGFsLWNvbnRhaW5lcic7XG4gIGNvbnN0IGNvbnRlbnRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICBvdXRlci5hcHBlbmQoY2xvc2VCdXR0b24pO1xuICBvdXRlci5hcHBlbmQoY29udGVudENvbnRhaW5lcik7XG5cbiAgcmV0dXJuIHsgb3V0ZXIsIGNvbnRlbnRDb250YWluZXIgfTtcbn1cblxuY29uc3Qgb3JpZ2luYWwgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5vdmVyZmxvdztcblxuZnVuY3Rpb24gaGFuZGxlTW9kYWxTdGF0ZVVwZGF0ZSh7IG1vZGFsU3RhY2ssIG1vZGFsQ29udGFpbmVyIH06IE1vZGFsU3RhdGUpIHtcbiAgaWYgKCFtb2RhbENvbnRhaW5lcikgcmV0dXJuO1xuXG4gIGlmIChtb2RhbFN0YWNrLmxlbmd0aCkge1xuICAgIC8vIHNwaW4gdXAgdGhlIGNvbnRhaW5lciBpZiBpdCB3YXMgaGlkZGVuIHByZXZpb3VzbHlcbiAgICBpZiAoIW1vZGFsQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHkpIHtcbiAgICAgIGFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVFc2NLZXkpO1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgICAgbW9kYWxDb250YWluZXIuc3R5bGUudmlzaWJpbGl0eSA9ICd1bnNldCc7XG4gICAgfVxuXG4gICAgbW9kYWxTdGFjay5mb3JFYWNoKChpbnN0YW5jZSwgaW5kZXgpID0+IHtcbiAgICAgIHN3aXRjaCAoaW5zdGFuY2Uuc3RhdGUpIHtcbiAgICAgICAgY2FzZSAnTkVXJzpcbiAgICAgICAgICBjb25zdCB7IG91dGVyLCBjb250ZW50Q29udGFpbmVyIH0gPSBjcmVhdGVNb2RhbEZyYW1lKCk7XG4gICAgICAgICAgaW5zdGFuY2UuY29udGFpbmVyID0gb3V0ZXI7XG4gICAgICAgICAgcmVuZGVyRXh0ZW5zaW9uKGNvbnRlbnRDb250YWluZXIsICcnLCAnJywgaW5zdGFuY2UuZXh0ZW5zaW9uSWQsIHVuZGVmaW5lZCwgaW5zdGFuY2UucHJvcHMpLnRoZW4oKHBhcmNlbCkgPT4ge1xuICAgICAgICAgICAgaW5zdGFuY2UucGFyY2VsID0gcGFyY2VsO1xuICAgICAgICAgICAgaW5zdGFuY2Uuc3RhdGUgPSAnTU9VTlRFRCc7XG4gICAgICAgICAgICBtb2RhbENvbnRhaW5lci5wcmVwZW5kKG91dGVyKTtcbiAgICAgICAgICAgIG91dGVyLnN0eWxlLnZpc2liaWxpdHkgPSAndW5zZXQnO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ01PVU5URUQnOlxuICAgICAgICAgIGlmIChpbnN0YW5jZS5jb250YWluZXIpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbnRhaW5lci5zdHlsZS52aXNpYmlsaXR5ID0gaW5kZXggPyAnaGlkZGVuJyA6ICd1bnNldCc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1RPX0JFX0RFTEVURUQnOlxuICAgICAgICAgIGluc3RhbmNlLm9uQ2xvc2UoKTtcbiAgICAgICAgICBpbnN0YW5jZS5wYXJjZWw/LnVubW91bnQ/LigpO1xuICAgICAgICAgIGluc3RhbmNlLmNvbnRhaW5lcj8ucmVtb3ZlKCk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBtb2RhbFN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgbW9kYWxDb250YWluZXIsXG4gICAgICAgICAgICAgIG1vZGFsU3RhY2s6IG1vZGFsU3RhY2suZmlsdGVyKCh4KSA9PiB4ICE9PSBpbnN0YW5jZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBtb2RhbENvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgndmlzaWJpbGl0eScpO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBvcmlnaW5hbDtcbiAgICByZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlRXNjS2V5KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTW9kYWxzKG1vZGFsQ29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwpIHtcbiAgaWYgKG1vZGFsQ29udGFpbmVyKSB7XG4gICAgbW9kYWxTdG9yZS5zdWJzY3JpYmUoaGFuZGxlTW9kYWxTdGF0ZVVwZGF0ZSk7XG5cbiAgICBtb2RhbFN0b3JlLnNldFN0YXRlKHtcbiAgICAgIC4uLm1vZGFsU3RvcmUuZ2V0U3RhdGUoKSxcbiAgICAgIG1vZGFsQ29udGFpbmVyLFxuICAgIH0pO1xuICB9XG59XG5mdW5jdGlvbiBvcGVuSW5zdGFuY2UoaW5zdGFuY2U6IE1vZGFsSW5zdGFuY2UpIHtcbiAgY29uc3Qgc3RhdGUgPSBtb2RhbFN0b3JlLmdldFN0YXRlKCk7XG4gIGNvbnN0IG1vZGFsU3RhY2sgPSBbaW5zdGFuY2UsIC4uLnN0YXRlLm1vZGFsU3RhY2tdO1xuXG4gIG1vZGFsU3RvcmUuc2V0U3RhdGUoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1vZGFsU3RhY2ssXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjbG9zZUluc3RhbmNlKGluc3RhbmNlOiBNb2RhbEluc3RhbmNlKSB7XG4gIGNvbnN0IHN0YXRlID0gbW9kYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICBjb25zdCBtb2RhbFN0YWNrID0gc3RhdGUubW9kYWxTdGFjay5tYXAoXG4gICAgKHgpOiBNb2RhbEluc3RhbmNlID0+ICh4ID09PSBpbnN0YW5jZSA/IHsgLi4ueCwgc3RhdGU6ICdUT19CRV9ERUxFVEVEJyB9IDogeCksXG4gICk7XG4gIG1vZGFsU3RvcmUuc2V0U3RhdGUoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1vZGFsU3RhY2ssXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjbG9zZUhpZ2hlc3RJbnN0YW5jZSgpIHtcbiAgY29uc3Qgc3RhdGUgPSBtb2RhbFN0b3JlLmdldFN0YXRlKCk7XG4gIGNvbnN0IFt0b3BdID0gc3RhdGUubW9kYWxTdGFjaztcblxuICBpZiAodG9wKSB7XG4gICAgY2xvc2VJbnN0YW5jZSh0b3ApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUVzY0tleShlOiBLZXlib2FyZEV2ZW50KSB7XG4gIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICBjbG9zZUhpZ2hlc3RJbnN0YW5jZSgpO1xuICB9XG59XG5cbi8qKlxuICogU2hvd3MgdGhlIHByb3ZpZGVkIGV4dGVuc2lvbiBjb21wb25lbnQgaW4gYSBtb2RhbCBkaWFsb2cuXG4gKiBAcGFyYW0gZXh0ZW5zaW9uSWQgVGhlIGlkIG9mIHRoZSBleHRlbnNpb24gdG8gc2hvdy5cbiAqIEBwYXJhbSBwcm9wcyBUaGUgb3B0aW9uYWwgcHJvcHMgdG8gcHJvdmlkZSB0byB0aGUgZXh0ZW5zaW9uLlxuICogQHBhcmFtIG9uQ2xvc2UgVGhlIG9wdGlvbmFsIG5vdGlmaWNhdGlvbiB0byByZWNlaXZlIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqIEByZXR1cm5zIFRoZSBkaXNwb3NlIGZ1bmN0aW9uIHRvIGZvcmNlIGNsb3NpbmcgdGhlIG1vZGFsIGRpYWxvZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dNb2RhbChleHRlbnNpb25JZDogc3RyaW5nLCBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LCBvbkNsb3NlOiAoKSA9PiB2b2lkID0gKCkgPT4ge30pIHtcbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBtb2RhbFN0b3JlLmdldFN0YXRlKCk7XG4gICAgY29uc3QgaXRlbSA9IHN0YXRlLm1vZGFsU3RhY2suZmluZCgobSkgPT4gbS5vbkNsb3NlID09PSBvbkNsb3NlKTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICBjbG9zZUluc3RhbmNlKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICBvcGVuSW5zdGFuY2Uoe1xuICAgIHN0YXRlOiAnTkVXJyxcbiAgICBvbkNsb3NlLFxuICAgIGV4dGVuc2lvbklkLFxuICAgIHByb3BzOiB7XG4gICAgICBleHRlbnNpb25JZCxcbiAgICAgIGNsb3NlLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSxcbiAgfSk7XG5cbiAgcmV0dXJuIGNsb3NlO1xufVxuIl0sIm5hbWVzIjpbInJlbmRlckV4dGVuc2lvbiIsImNyZWF0ZUdsb2JhbFN0b3JlIiwibW9kYWxTdG9yZSIsIm1vZGFsQ29udGFpbmVyIiwibW9kYWxTdGFjayIsImh0bWxUb0VsZW1lbnQiLCJodG1sIiwidGVtcGxhdGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpbm5lckhUTUwiLCJjb250ZW50IiwiZmlyc3RDaGlsZCIsImNyZWF0ZU1vZGFsRnJhbWUiLCJjbG9zZUJ1dHRvbiIsInRyaW0iLCJhZGRFdmVudExpc3RlbmVyIiwiY2xvc2VIaWdoZXN0SW5zdGFuY2UiLCJvdXRlciIsImNsYXNzTmFtZSIsImNvbnRlbnRDb250YWluZXIiLCJhcHBlbmQiLCJvcmlnaW5hbCIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJib2R5Iiwib3ZlcmZsb3ciLCJoYW5kbGVNb2RhbFN0YXRlVXBkYXRlIiwibGVuZ3RoIiwic3R5bGUiLCJ2aXNpYmlsaXR5IiwiaGFuZGxlRXNjS2V5IiwiZm9yRWFjaCIsImluc3RhbmNlIiwiaW5kZXgiLCJzdGF0ZSIsImNvbnRhaW5lciIsImV4dGVuc2lvbklkIiwidW5kZWZpbmVkIiwicHJvcHMiLCJ0aGVuIiwicGFyY2VsIiwicHJlcGVuZCIsIm9uQ2xvc2UiLCJ1bm1vdW50IiwicmVtb3ZlIiwic2V0VGltZW91dCIsInNldFN0YXRlIiwiZmlsdGVyIiwieCIsInJlbW92ZVByb3BlcnR5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbmRlck1vZGFscyIsInN1YnNjcmliZSIsImdldFN0YXRlIiwib3Blbkluc3RhbmNlIiwiY2xvc2VJbnN0YW5jZSIsIm1hcCIsInRvcCIsImUiLCJrZXkiLCJzaG93TW9kYWwiLCJjbG9zZSIsIml0ZW0iLCJmaW5kIiwibSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/modals/index.tsx\n");
|
|
7549
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderModals: () => (/* binding */ renderModals),\n/* harmony export */ showModal: () => (/* binding */ showModal)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-extensions */ \"../../framework/esm-extensions/src/index.ts\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/src/index.ts\");\n/** @module @category UI */ function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar modalStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.createGlobalStore)(\"globalModalState\", {\n modalContainer: null,\n modalStack: []\n});\nfunction htmlToElement(html) {\n var template = document.createElement(\"template\");\n template.innerHTML = html;\n return template.content.firstChild;\n}\nfunction createModalFrame() {\n var closeButton = htmlToElement('\\n <button\\n class=\"cds--modal-close\"\\n type=\"button\">\\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><defs><style>.cls-1{fill:#000000;}.cls-2{fill:none;}</style></defs><title>close</title><polygon class=\"cls-1\" points=\"24 9.4 22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4\"/><rect class=\"cls-2\" width=\"32\" height=\"32\"/></svg>\\n </button>'.trim());\n closeButton.addEventListener(\"click\", closeHighestInstance);\n var outer = document.createElement(\"div\");\n outer.className = \"cds--modal-container\";\n var contentContainer = document.createElement(\"div\");\n outer.append(closeButton);\n outer.append(contentContainer);\n return {\n outer: outer,\n contentContainer: contentContainer\n };\n}\nvar original = window.getComputedStyle(document.body).overflow;\nfunction handleModalStateUpdate(param) {\n var modalStack = param.modalStack, modalContainer = param.modalContainer;\n if (!modalContainer) return;\n if (modalStack.length) {\n // spin up the container if it was hidden previously\n if (!modalContainer.style.visibility) {\n addEventListener(\"keydown\", handleEscKey);\n document.body.style.overflow = \"hidden\";\n modalContainer.style.visibility = \"unset\";\n }\n modalStack.forEach(function(instance, index) {\n switch(instance.state){\n case \"NEW\":\n {\n var _createModalFrame = createModalFrame(), outer = _createModalFrame.outer, contentContainer = _createModalFrame.contentContainer;\n instance.container = outer;\n (0,_openmrs_esm_extensions__WEBPACK_IMPORTED_MODULE_0__.renderExtension)(contentContainer, \"\", \"\", instance.extensionId, undefined, instance.props).then(function(parcel) {\n instance.parcel = parcel;\n instance.state = \"MOUNTED\";\n modalContainer.prepend(outer);\n outer.style.visibility = \"unset\";\n });\n break;\n }\n case \"MOUNTED\":\n if (instance.container) {\n instance.container.style.visibility = index ? \"hidden\" : \"unset\";\n }\n break;\n case \"TO_BE_DELETED\":\n var _instance_parcel, _instance_parcel_unmount, _instance_container;\n instance.onClose();\n (_instance_parcel = instance.parcel) === null || _instance_parcel === void 0 ? void 0 : (_instance_parcel_unmount = _instance_parcel.unmount) === null || _instance_parcel_unmount === void 0 ? void 0 : _instance_parcel_unmount.call(_instance_parcel);\n (_instance_container = instance.container) === null || _instance_container === void 0 ? void 0 : _instance_container.remove();\n setTimeout(function() {\n modalStore.setState({\n modalContainer: modalContainer,\n modalStack: modalStack.filter(function(x) {\n return x !== instance;\n })\n });\n }, 0);\n break;\n }\n });\n } else {\n modalContainer.style.removeProperty(\"visibility\");\n document.body.style.overflow = original;\n removeEventListener(\"keydown\", handleEscKey);\n }\n}\nfunction renderModals(modalContainer) {\n if (modalContainer) {\n modalStore.subscribe(handleModalStateUpdate);\n modalStore.setState(_object_spread_props(_object_spread({}, modalStore.getState()), {\n modalContainer: modalContainer\n }));\n }\n}\nfunction openInstance(instance) {\n var state = modalStore.getState();\n var modalStack = [\n instance\n ].concat(_to_consumable_array(state.modalStack));\n modalStore.setState(_object_spread_props(_object_spread({}, state), {\n modalStack: modalStack\n }));\n}\nfunction closeInstance(instance) {\n var state = modalStore.getState();\n var modalStack = state.modalStack.map(function(x) {\n return x === instance ? _object_spread_props(_object_spread({}, x), {\n state: \"TO_BE_DELETED\"\n }) : x;\n });\n modalStore.setState(_object_spread_props(_object_spread({}, state), {\n modalStack: modalStack\n }));\n}\nfunction closeHighestInstance() {\n var state = modalStore.getState();\n var _state_modalStack = _sliced_to_array(state.modalStack, 1), top = _state_modalStack[0];\n if (top) {\n closeInstance(top);\n }\n}\nfunction handleEscKey(e) {\n if (e.key === \"Escape\") {\n closeHighestInstance();\n }\n}\n/**\n * Shows the provided extension component in a modal dialog.\n * @param extensionId The id of the extension to show.\n * @param props The optional props to provide to the extension.\n * @param onClose The optional notification to receive when the modal is closed.\n * @returns The dispose function to force closing the modal dialog.\n */ function showModal(extensionId) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, onClose = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() {};\n var close = function() {\n var state = modalStore.getState();\n var item = state.modalStack.find(function(m) {\n return m.onClose === onClose;\n });\n if (item) {\n closeInstance(item);\n }\n };\n openInstance({\n state: \"NEW\",\n onClose: onClose,\n extensionId: extensionId,\n props: _object_spread({\n extensionId: extensionId,\n close: close\n }, props)\n });\n return close;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9tb2RhbHMvaW5kZXgudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSx5QkFBeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ2lDO0FBQ0g7QUFtQnZELElBQU1FLGFBQWFELHFFQUFpQkEsQ0FBYSxvQkFBb0I7SUFDbkVFLGdCQUFnQixJQUFJO0lBQ3BCQyxZQUFZLEVBQUU7QUFDaEI7QUFFQSxTQUFTQyxjQUFjQyxJQUFZLEVBQUU7SUFDbkMsSUFBTUMsV0FBV0MsU0FBU0MsYUFBYSxDQUFDO0lBQ3hDRixTQUFTRyxTQUFTLEdBQUdKO0lBQ3JCLE9BQU9DLFNBQVNJLE9BQU8sQ0FBQ0MsVUFBVTtBQUNwQztBQUVBLFNBQVNDLG1CQUFtQjtJQUMxQixJQUFNQyxjQUFjVCxjQUNsQixrYUFLU1UsSUFBSTtJQUdmRCxZQUFZRSxnQkFBZ0IsQ0FBQyxTQUFTQztJQUN0QyxJQUFNQyxRQUFRVixTQUFTQyxhQUFhLENBQUM7SUFDckNTLE1BQU1DLFNBQVMsR0FBRztJQUNsQixJQUFNQyxtQkFBbUJaLFNBQVNDLGFBQWEsQ0FBQztJQUVoRFMsTUFBTUcsTUFBTSxDQUFDUDtJQUNiSSxNQUFNRyxNQUFNLENBQUNEO0lBRWIsT0FBTztRQUFFRixPQUFBQTtRQUFPRSxrQkFBQUE7SUFBaUI7QUFDbkM7QUFFQSxJQUFNRSxXQUFXQyxPQUFPQyxnQkFBZ0IsQ0FBQ2hCLFNBQVNpQixJQUFJLEVBQUVDLFFBQVE7QUFFaEUsU0FBU0MsdUJBQXVCLEtBQTBDLEVBQUU7UUFBMUN2QixhQUFGLE1BQUVBLFlBQVlELGlCQUFkLE1BQWNBO0lBQzVDLElBQUksQ0FBQ0EsZ0JBQWdCO0lBRXJCLElBQUlDLFdBQVd3QixNQUFNLEVBQUU7UUFDckIsb0RBQW9EO1FBQ3BE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LE1BQU0vQixVQUFVLE1BQXZCc0QsTUFBT3ZCO0lBRWQsSUFBSXVCLEtBQUs7UUFDUEYsY0FBY0U7SUFDaEIsQ0FBQztBQUNIO0FBRUEsU0FBUzNCLGFBQWE0QixDQUFnQixFQUFFO0lBQ3RDLElBQUlBLEVBQUVDLEdBQUcsS0FBSyxVQUFVO1FBQ3RCM0M7SUFDRixDQUFDO0FBQ0g7QUFFQTs7Ozs7O0NBTUMsR0FDTSxTQUFTNEMsVUFBVXhCLFdBQW1CLEVBQW1FO1FBQWpFRSxRQUFBQSxpRUFBNkIsQ0FBQyxDQUFDLEVBQUVJLFVBQUFBLGlFQUFzQixXQUFNLENBQUMsQ0FBQztJQUM1RyxJQUFNbUIsUUFBUSxXQUFNO1FBQ2xCLElBQU0zQixRQUFRakMsV0FBV29ELFFBQVE7UUFDakMsSUFBTVMsT0FBTzVCLE1BQU0vQixVQUFVLENBQUM0RCxJQUFJLENBQUMsU0FBQ0M7bUJBQU1BLEVBQUV0QixPQUFPLEtBQUtBOztRQUV4RCxJQUFJb0IsTUFBTTtZQUNSUCxjQUFjTztRQUNoQixDQUFDO0lBQ0g7SUFFQVIsYUFBYTtRQUNYcEIsT0FBTztRQUNQUSxTQUFBQTtRQUNBTixhQUFBQTtRQUNBRSxPQUFPO1lBQ0xGLGFBQUFBO1lBQ0F5QixPQUFBQTtXQUNHdkI7SUFFUDtJQUVBLE9BQU91QjtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvbW9kYWxzL2luZGV4LnRzeD8zZDU5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBVSSAqL1xuaW1wb3J0IHsgcmVuZGVyRXh0ZW5zaW9uIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsU3RvcmUgfSBmcm9tICdAb3Blbm1ycy9lc20tc3RhdGUnO1xuaW1wb3J0IHR5cGUgeyBQYXJjZWwgfSBmcm9tICdzaW5nbGUtc3BhJztcblxudHlwZSBNb2RhbEluc3RhbmNlU3RhdGUgPSAnTkVXJyB8ICdNT1VOVEVEJyB8ICdUT19CRV9ERUxFVEVEJztcblxuaW50ZXJmYWNlIE1vZGFsSW5zdGFuY2Uge1xuICBjb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgc3RhdGU6IE1vZGFsSW5zdGFuY2VTdGF0ZTtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbiAgcGFyY2VsPzogUGFyY2VsIHwgbnVsbDtcbiAgZXh0ZW5zaW9uSWQ6IHN0cmluZztcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmludGVyZmFjZSBNb2RhbFN0YXRlIHtcbiAgbW9kYWxDb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgbW9kYWxTdGFjazogQXJyYXk8TW9kYWxJbnN0YW5jZT47XG59XG5cbmNvbnN0IG1vZGFsU3RvcmUgPSBjcmVhdGVHbG9iYWxTdG9yZTxNb2RhbFN0YXRlPignZ2xvYmFsTW9kYWxTdGF0ZScsIHtcbiAgbW9kYWxDb250YWluZXI6IG51bGwsXG4gIG1vZGFsU3RhY2s6IFtdLFxufSk7XG5cbmZ1bmN0aW9uIGh0bWxUb0VsZW1lbnQoaHRtbDogc3RyaW5nKSB7XG4gIGNvbnN0IHRlbXBsYXRlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcbiAgdGVtcGxhdGUuaW5uZXJIVE1MID0gaHRtbDtcbiAgcmV0dXJuIHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZCBhcyBDaGlsZE5vZGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGFsRnJhbWUoKSB7XG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbFRvRWxlbWVudChcbiAgICBgXG4gIDxidXR0b25cbiAgICBjbGFzcz1cImNkcy0tbW9kYWwtY2xvc2VcIlxuICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICA8c3ZnIGlkPVwiaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMwMDAwMDA7fS5jbHMtMntmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5jbG9zZTwvdGl0bGU+PHBvbHlnb24gY2xhc3M9XCJjbHMtMVwiIHBvaW50cz1cIjI0IDkuNCAyMi42IDggMTYgMTQuNiA5LjQgOCA4IDkuNCAxNC42IDE2IDggMjIuNiA5LjQgMjQgMTYgMTcuNCAyMi42IDI0IDI0IDIyLjYgMTcuNCAxNiAyNCA5LjRcIi8+PHJlY3QgY2xhc3M9XCJjbHMtMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiLz48L3N2Zz5cbiAgPC9idXR0b24+YC50cmltKCksXG4gICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgY2xvc2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZUhpZ2hlc3RJbnN0YW5jZSk7XG4gIGNvbnN0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIG91dGVyLmNsYXNzTmFtZSA9ICdjZHMtLW1vZGFsLWNvbnRhaW5lcic7XG4gIGNvbnN0IGNvbnRlbnRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICBvdXRlci5hcHBlbmQoY2xvc2VCdXR0b24pO1xuICBvdXRlci5hcHBlbmQoY29udGVudENvbnRhaW5lcik7XG5cbiAgcmV0dXJuIHsgb3V0ZXIsIGNvbnRlbnRDb250YWluZXIgfTtcbn1cblxuY29uc3Qgb3JpZ2luYWwgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5vdmVyZmxvdztcblxuZnVuY3Rpb24gaGFuZGxlTW9kYWxTdGF0ZVVwZGF0ZSh7IG1vZGFsU3RhY2ssIG1vZGFsQ29udGFpbmVyIH06IE1vZGFsU3RhdGUpIHtcbiAgaWYgKCFtb2RhbENvbnRhaW5lcikgcmV0dXJuO1xuXG4gIGlmIChtb2RhbFN0YWNrLmxlbmd0aCkge1xuICAgIC8vIHNwaW4gdXAgdGhlIGNvbnRhaW5lciBpZiBpdCB3YXMgaGlkZGVuIHByZXZpb3VzbHlcbiAgICBpZiAoIW1vZGFsQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHkpIHtcbiAgICAgIGFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVFc2NLZXkpO1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgICAgbW9kYWxDb250YWluZXIuc3R5bGUudmlzaWJpbGl0eSA9ICd1bnNldCc7XG4gICAgfVxuXG4gICAgbW9kYWxTdGFjay5mb3JFYWNoKChpbnN0YW5jZSwgaW5kZXgpID0+IHtcbiAgICAgIHN3aXRjaCAoaW5zdGFuY2Uuc3RhdGUpIHtcbiAgICAgICAgY2FzZSAnTkVXJzoge1xuICAgICAgICAgIGNvbnN0IHsgb3V0ZXIsIGNvbnRlbnRDb250YWluZXIgfSA9IGNyZWF0ZU1vZGFsRnJhbWUoKTtcbiAgICAgICAgICBpbnN0YW5jZS5jb250YWluZXIgPSBvdXRlcjtcbiAgICAgICAgICByZW5kZXJFeHRlbnNpb24oY29udGVudENvbnRhaW5lciwgJycsICcnLCBpbnN0YW5jZS5leHRlbnNpb25JZCwgdW5kZWZpbmVkLCBpbnN0YW5jZS5wcm9wcykudGhlbigocGFyY2VsKSA9PiB7XG4gICAgICAgICAgICBpbnN0YW5jZS5wYXJjZWwgPSBwYXJjZWw7XG4gICAgICAgICAgICBpbnN0YW5jZS5zdGF0ZSA9ICdNT1VOVEVEJztcbiAgICAgICAgICAgIG1vZGFsQ29udGFpbmVyLnByZXBlbmQob3V0ZXIpO1xuICAgICAgICAgICAgb3V0ZXIuc3R5bGUudmlzaWJpbGl0eSA9ICd1bnNldCc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlICdNT1VOVEVEJzpcbiAgICAgICAgICBpZiAoaW5zdGFuY2UuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS5jb250YWluZXIuc3R5bGUudmlzaWJpbGl0eSA9IGluZGV4ID8gJ2hpZGRlbicgOiAndW5zZXQnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdUT19CRV9ERUxFVEVEJzpcbiAgICAgICAgICBpbnN0YW5jZS5vbkNsb3NlKCk7XG4gICAgICAgICAgaW5zdGFuY2UucGFyY2VsPy51bm1vdW50Py4oKTtcbiAgICAgICAgICBpbnN0YW5jZS5jb250YWluZXI/LnJlbW92ZSgpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbW9kYWxTdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGFsQ29udGFpbmVyLFxuICAgICAgICAgICAgICBtb2RhbFN0YWNrOiBtb2RhbFN0YWNrLmZpbHRlcigoeCkgPT4geCAhPT0gaW5zdGFuY2UpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgbW9kYWxDb250YWluZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3Zpc2liaWxpdHknKTtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gb3JpZ2luYWw7XG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY0tleSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlck1vZGFscyhtb2RhbENvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gIGlmIChtb2RhbENvbnRhaW5lcikge1xuICAgIG1vZGFsU3RvcmUuc3Vic2NyaWJlKGhhbmRsZU1vZGFsU3RhdGVVcGRhdGUpO1xuXG4gICAgbW9kYWxTdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAuLi5tb2RhbFN0b3JlLmdldFN0YXRlKCksXG4gICAgICBtb2RhbENvbnRhaW5lcixcbiAgICB9KTtcbiAgfVxufVxuZnVuY3Rpb24gb3Blbkluc3RhbmNlKGluc3RhbmNlOiBNb2RhbEluc3RhbmNlKSB7XG4gIGNvbnN0IHN0YXRlID0gbW9kYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICBjb25zdCBtb2RhbFN0YWNrID0gW2luc3RhbmNlLCAuLi5zdGF0ZS5tb2RhbFN0YWNrXTtcblxuICBtb2RhbFN0b3JlLnNldFN0YXRlKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtb2RhbFN0YWNrLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xvc2VJbnN0YW5jZShpbnN0YW5jZTogTW9kYWxJbnN0YW5jZSkge1xuICBjb25zdCBzdGF0ZSA9IG1vZGFsU3RvcmUuZ2V0U3RhdGUoKTtcbiAgY29uc3QgbW9kYWxTdGFjayA9IHN0YXRlLm1vZGFsU3RhY2subWFwKFxuICAgICh4KTogTW9kYWxJbnN0YW5jZSA9PiAoeCA9PT0gaW5zdGFuY2UgPyB7IC4uLngsIHN0YXRlOiAnVE9fQkVfREVMRVRFRCcgfSA6IHgpLFxuICApO1xuICBtb2RhbFN0b3JlLnNldFN0YXRlKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtb2RhbFN0YWNrLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xvc2VIaWdoZXN0SW5zdGFuY2UoKSB7XG4gIGNvbnN0IHN0YXRlID0gbW9kYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICBjb25zdCBbdG9wXSA9IHN0YXRlLm1vZGFsU3RhY2s7XG5cbiAgaWYgKHRvcCkge1xuICAgIGNsb3NlSW5zdGFuY2UodG9wKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVFc2NLZXkoZTogS2V5Ym9hcmRFdmVudCkge1xuICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgY2xvc2VIaWdoZXN0SW5zdGFuY2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFNob3dzIHRoZSBwcm92aWRlZCBleHRlbnNpb24gY29tcG9uZW50IGluIGEgbW9kYWwgZGlhbG9nLlxuICogQHBhcmFtIGV4dGVuc2lvbklkIFRoZSBpZCBvZiB0aGUgZXh0ZW5zaW9uIHRvIHNob3cuXG4gKiBAcGFyYW0gcHJvcHMgVGhlIG9wdGlvbmFsIHByb3BzIHRvIHByb3ZpZGUgdG8gdGhlIGV4dGVuc2lvbi5cbiAqIEBwYXJhbSBvbkNsb3NlIFRoZSBvcHRpb25hbCBub3RpZmljYXRpb24gdG8gcmVjZWl2ZSB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQuXG4gKiBAcmV0dXJucyBUaGUgZGlzcG9zZSBmdW5jdGlvbiB0byBmb3JjZSBjbG9zaW5nIHRoZSBtb2RhbCBkaWFsb2cuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93TW9kYWwoZXh0ZW5zaW9uSWQ6IHN0cmluZywgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSwgb25DbG9zZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9KSB7XG4gIGNvbnN0IGNsb3NlID0gKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gbW9kYWxTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IGl0ZW0gPSBzdGF0ZS5tb2RhbFN0YWNrLmZpbmQoKG0pID0+IG0ub25DbG9zZSA9PT0gb25DbG9zZSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgY2xvc2VJbnN0YW5jZShpdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgb3Blbkluc3RhbmNlKHtcbiAgICBzdGF0ZTogJ05FVycsXG4gICAgb25DbG9zZSxcbiAgICBleHRlbnNpb25JZCxcbiAgICBwcm9wczoge1xuICAgICAgZXh0ZW5zaW9uSWQsXG4gICAgICBjbG9zZSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiBjbG9zZTtcbn1cbiJdLCJuYW1lcyI6WyJyZW5kZXJFeHRlbnNpb24iLCJjcmVhdGVHbG9iYWxTdG9yZSIsIm1vZGFsU3RvcmUiLCJtb2RhbENvbnRhaW5lciIsIm1vZGFsU3RhY2siLCJodG1sVG9FbGVtZW50IiwiaHRtbCIsInRlbXBsYXRlIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaW5uZXJIVE1MIiwiY29udGVudCIsImZpcnN0Q2hpbGQiLCJjcmVhdGVNb2RhbEZyYW1lIiwiY2xvc2VCdXR0b24iLCJ0cmltIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsb3NlSGlnaGVzdEluc3RhbmNlIiwib3V0ZXIiLCJjbGFzc05hbWUiLCJjb250ZW50Q29udGFpbmVyIiwiYXBwZW5kIiwib3JpZ2luYWwiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiYm9keSIsIm92ZXJmbG93IiwiaGFuZGxlTW9kYWxTdGF0ZVVwZGF0ZSIsImxlbmd0aCIsInN0eWxlIiwidmlzaWJpbGl0eSIsImhhbmRsZUVzY0tleSIsImZvckVhY2giLCJpbnN0YW5jZSIsImluZGV4Iiwic3RhdGUiLCJjb250YWluZXIiLCJleHRlbnNpb25JZCIsInVuZGVmaW5lZCIsInByb3BzIiwidGhlbiIsInBhcmNlbCIsInByZXBlbmQiLCJvbkNsb3NlIiwidW5tb3VudCIsInJlbW92ZSIsInNldFRpbWVvdXQiLCJzZXRTdGF0ZSIsImZpbHRlciIsIngiLCJyZW1vdmVQcm9wZXJ0eSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXJNb2RhbHMiLCJzdWJzY3JpYmUiLCJnZXRTdGF0ZSIsIm9wZW5JbnN0YW5jZSIsImNsb3NlSW5zdGFuY2UiLCJtYXAiLCJ0b3AiLCJlIiwia2V5Iiwic2hvd01vZGFsIiwiY2xvc2UiLCJpdGVtIiwiZmluZCIsIm0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/modals/index.tsx\n");
|
|
7550
7550
|
|
|
7551
7551
|
/***/ }),
|
|
7552
7552
|
|
|
@@ -7568,7 +7568,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7568
7568
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7569
7569
|
|
|
7570
7570
|
"use strict";
|
|
7571
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _actionable_notification_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actionable-notification.component */ \"../../framework/esm-styleguide/src/notifications/actionable-notification.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActionableActiveNotifications = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), notifications = _useState[0], setNotifications = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(notification) {\n return setNotifications(function(notifications) {\n return _to_consumable_array(notifications.filter(function(n) {\n return n.subtitle !== notification.subtitle || n.actionButtonLabel !== notification.actionButtonLabel || n.onActionButtonClick !== notification.onActionButtonClick || n.kind !== notification.kind || n.title !== notification.title;\n })).concat([\n notification\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, notifications.map(function(notification) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_actionable_notification_component__WEBPACK_IMPORTED_MODULE_1__.ActionableNotificationComponent, {\n key: notification.id,\n notification: notification\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActionableActiveNotifications);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7571
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _actionable_notification_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actionable-notification.component */ \"../../framework/esm-styleguide/src/notifications/actionable-notification.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActionableActiveNotifications = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), notifications = _useState[0], setNotifications = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(notification) {\n return setNotifications(function(notifications) {\n return _to_consumable_array(notifications.filter(function(n) {\n return n.subtitle !== notification.subtitle || n.actionButtonLabel !== notification.actionButtonLabel || n.onActionButtonClick !== notification.onActionButtonClick || n.kind !== notification.kind || n.title !== notification.title;\n })).concat([\n notification\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, notifications.map(function(notification) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_actionable_notification_component__WEBPACK_IMPORTED_MODULE_1__.ActionableNotificationComponent, {\n key: notification.id,\n notification: notification\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActionableActiveNotifications);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9ub3RpZmljYXRpb25zL2FjdGl2ZS1hY3Rpb25hYmxlLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFtRDtBQUdtQztBQU10RixJQUFNSSxnQ0FBNkUsZ0JBQWlCO1FBQWRDLGdCQUFBQTtJQUNwRixJQUEwQ0gsNkJBQUFBLCtDQUFRQSxDQUFvQyxFQUFFLE9BQWpGSSxnQkFBbUNKLGNBQXBCSyxtQkFBb0JMO0lBRTFDRCxnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBTU8sZUFBZUgsUUFBUUksU0FBUyxDQUFDLFNBQUNDO21CQUN0Q0gsaUJBQWlCLFNBQUNEO3VCQUFrQixxQkFDL0JBLGNBQWNLLE1BQU0sQ0FDckIsU0FBQ0M7MkJBQ0NBLEVBQUVDLFFBQVEsS0FBS0gsYUFBYUcsUUFBUSxJQUNwQ0QsRUFBRUUsaUJBQWlCLEtBQUtKLGFBQWFJLGlCQUFpQixJQUN0REYsRUFBRUcsbUJBQW1CLEtBQUtMLGFBQWFLLG1CQUFtQixJQUMxREgsRUFBRUksSUFBSSxLQUFLTixhQUFhTSxJQUFJLElBQzVCSixFQUFFSyxLQUFLLEtBQUtQLGFBQWFPLEtBQUs7MkJBUEE7b0JBU2xDUDtpQkFDRDs7O1FBR0gsT0FBTzttQkFBTUYsYUFBYVUsV0FBVzs7SUFDdkMsR0FBRztRQUFDYjtLQUFRO0lBRVoscUJBQ0UsMEhBQ0dDLGNBQWNhLEdBQUcsQ0FBQyxTQUFDVDs2QkFDbEIsMkRBQUNQLCtGQUErQkE7WUFBQ2lCLEtBQUtWLGFBQWFXLEVBQUU7WUFBRVgsY0FBY0E7OztBQUk3RTtBQUVBLGlFQUFlTiw2QkFBNkJBLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvbm90aWZpY2F0aW9ucy9hY3RpdmUtYWN0aW9uYWJsZS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50c3g/ODViYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb25hYmxlTm90aWZpY2F0aW9uTWV0YSB9IGZyb20gJy4vYWN0aW9uYWJsZS1ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbmFibGVOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbmFibGUtbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBBY3Rpb25hYmxlQWN0aXZlTm90aWZpY2F0aW9uUHJvcHMge1xuICBzdWJqZWN0OiBTdWJqZWN0PEFjdGlvbmFibGVOb3RpZmljYXRpb25NZXRhPjtcbn1cblxuY29uc3QgQWN0aW9uYWJsZUFjdGl2ZU5vdGlmaWNhdGlvbnM6IFJlYWN0LkZDPEFjdGlvbmFibGVBY3RpdmVOb3RpZmljYXRpb25Qcm9wcz4gPSAoeyBzdWJqZWN0IH0pID0+IHtcbiAgY29uc3QgW25vdGlmaWNhdGlvbnMsIHNldE5vdGlmaWNhdGlvbnNdID0gdXNlU3RhdGU8QXJyYXk8QWN0aW9uYWJsZU5vdGlmaWNhdGlvbk1ldGE+PihbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBzdWJqZWN0LnN1YnNjcmliZSgobm90aWZpY2F0aW9uKSA9PlxuICAgICAgc2V0Tm90aWZpY2F0aW9ucygobm90aWZpY2F0aW9ucykgPT4gW1xuICAgICAgICAuLi5ub3RpZmljYXRpb25zLmZpbHRlcihcbiAgICAgICAgICAobikgPT5cbiAgICAgICAgICAgIG4uc3VidGl0bGUgIT09IG5vdGlmaWNhdGlvbi5zdWJ0aXRsZSB8fFxuICAgICAgICAgICAgbi5hY3Rpb25CdXR0b25MYWJlbCAhPT0gbm90aWZpY2F0aW9uLmFjdGlvbkJ1dHRvbkxhYmVsIHx8XG4gICAgICAgICAgICBuLm9uQWN0aW9uQnV0dG9uQ2xpY2sgIT09IG5vdGlmaWNhdGlvbi5vbkFjdGlvbkJ1dHRvbkNsaWNrIHx8XG4gICAgICAgICAgICBuLmtpbmQgIT09IG5vdGlmaWNhdGlvbi5raW5kIHx8XG4gICAgICAgICAgICBuLnRpdGxlICE9PSBub3RpZmljYXRpb24udGl0bGUsXG4gICAgICAgICksXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgIF0pLFxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH0sIFtzdWJqZWN0XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge25vdGlmaWNhdGlvbnMubWFwKChub3RpZmljYXRpb24pID0+IChcbiAgICAgICAgPEFjdGlvbmFibGVOb3RpZmljYXRpb25Db21wb25lbnQga2V5PXtub3RpZmljYXRpb24uaWR9IG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufSAvPlxuICAgICAgKSl9XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBY3Rpb25hYmxlQWN0aXZlTm90aWZpY2F0aW9ucztcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiQWN0aW9uYWJsZU5vdGlmaWNhdGlvbkNvbXBvbmVudCIsIkFjdGlvbmFibGVBY3RpdmVOb3RpZmljYXRpb25zIiwic3ViamVjdCIsIm5vdGlmaWNhdGlvbnMiLCJzZXROb3RpZmljYXRpb25zIiwic3Vic2NyaXB0aW9uIiwic3Vic2NyaWJlIiwibm90aWZpY2F0aW9uIiwiZmlsdGVyIiwibiIsInN1YnRpdGxlIiwiYWN0aW9uQnV0dG9uTGFiZWwiLCJvbkFjdGlvbkJ1dHRvbkNsaWNrIiwia2luZCIsInRpdGxlIiwidW5zdWJzY3JpYmUiLCJtYXAiLCJrZXkiLCJpZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/notifications/active-actionable-notifications.component.tsx\n");
|
|
7572
7572
|
|
|
7573
7573
|
/***/ }),
|
|
7574
7574
|
|
|
@@ -7579,7 +7579,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7579
7579
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7580
7580
|
|
|
7581
7581
|
"use strict";
|
|
7582
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _notification_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./notification.component */ \"../../framework/esm-styleguide/src/notifications/notification.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActiveNotifications = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), notifications = _useState[0], setNotifications = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(notification) {\n return setNotifications(function(notifications) {\n return _to_consumable_array(notifications.filter(function(n) {\n return n.description !== notification.description || n.action !== notification.action || n.kind !== notification.kind || n.title !== notification.title;\n })).concat([\n notification\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, notifications.map(function(notification) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_notification_component__WEBPACK_IMPORTED_MODULE_1__.Notification, {\n key: notification.id,\n notification: notification\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActiveNotifications);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7582
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _notification_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./notification.component */ \"../../framework/esm-styleguide/src/notifications/notification.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActiveNotifications = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), notifications = _useState[0], setNotifications = _useState[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(notification) {\n return setNotifications(function(notifications) {\n return _to_consumable_array(notifications.filter(function(n) {\n return n.description !== notification.description || n.action !== notification.action || n.kind !== notification.kind || n.title !== notification.title;\n })).concat([\n notification\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, notifications.map(function(notification) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_notification_component__WEBPACK_IMPORTED_MODULE_1__.Notification, {\n key: notification.id,\n notification: notification\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActiveNotifications);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9ub3RpZmljYXRpb25zL2FjdGl2ZS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBbUQ7QUFHSztBQU14RCxJQUFNSSxzQkFBeUQsZ0JBQWlCO1FBQWRDLGdCQUFBQTtJQUNoRSxJQUEwQ0gsNkJBQUFBLCtDQUFRQSxDQUFnQyxFQUFFLE9BQTdFSSxnQkFBbUNKLGNBQXBCSyxtQkFBb0JMO0lBRTFDRCxnREFBU0EsQ0FBQyxXQUFNO1FBQ2QsSUFBTU8sZUFBZUgsUUFBUUksU0FBUyxDQUFDLFNBQUNDO21CQUN0Q0gsaUJBQWlCLFNBQUNEO3VCQUFrQixxQkFDL0JBLGNBQWNLLE1BQU0sQ0FDckIsU0FBQ0M7MkJBQ0NBLEVBQUVDLFdBQVcsS0FBS0gsYUFBYUcsV0FBVyxJQUMxQ0QsRUFBRUUsTUFBTSxLQUFLSixhQUFhSSxNQUFNLElBQ2hDRixFQUFFRyxJQUFJLEtBQUtMLGFBQWFLLElBQUksSUFDNUJILEVBQUVJLEtBQUssS0FBS04sYUFBYU0sS0FBSzsyQkFOQTtvQkFRbENOO2lCQUNEOzs7UUFHSCxPQUFPO21CQUFNRixhQUFhUyxXQUFXOztJQUN2QyxHQUFHO1FBQUNaO0tBQVE7SUFFWixxQkFDRSwwSEFDR0MsY0FBY1ksR0FBRyxDQUFDLFNBQUNSOzZCQUNsQiwyREFBQ1AsaUVBQVlBO1lBQUNnQixLQUFLVCxhQUFhVSxFQUFFO1lBQUVWLGNBQWNBOzs7QUFJMUQ7QUFFQSxpRUFBZU4sbUJBQW1CQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvc3JjL25vdGlmaWNhdGlvbnMvYWN0aXZlLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LnRzeD84ZmI4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IElubGluZU5vdGlmaWNhdGlvbk1ldGEgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcblxuaW50ZXJmYWNlIEFjdGl2ZU5vdGlmaWNhdGlvblByb3BzIHtcbiAgc3ViamVjdDogU3ViamVjdDxJbmxpbmVOb3RpZmljYXRpb25NZXRhPjtcbn1cblxuY29uc3QgQWN0aXZlTm90aWZpY2F0aW9uczogUmVhY3QuRkM8QWN0aXZlTm90aWZpY2F0aW9uUHJvcHM+ID0gKHsgc3ViamVjdCB9KSA9PiB7XG4gIGNvbnN0IFtub3RpZmljYXRpb25zLCBzZXROb3RpZmljYXRpb25zXSA9IHVzZVN0YXRlPEFycmF5PElubGluZU5vdGlmaWNhdGlvbk1ldGE+PihbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBzdWJqZWN0LnN1YnNjcmliZSgobm90aWZpY2F0aW9uKSA9PlxuICAgICAgc2V0Tm90aWZpY2F0aW9ucygobm90aWZpY2F0aW9ucykgPT4gW1xuICAgICAgICAuLi5ub3RpZmljYXRpb25zLmZpbHRlcihcbiAgICAgICAgICAobikgPT5cbiAgICAgICAgICAgIG4uZGVzY3JpcHRpb24gIT09IG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbiB8fFxuICAgICAgICAgICAgbi5hY3Rpb24gIT09IG5vdGlmaWNhdGlvbi5hY3Rpb24gfHxcbiAgICAgICAgICAgIG4ua2luZCAhPT0gbm90aWZpY2F0aW9uLmtpbmQgfHxcbiAgICAgICAgICAgIG4udGl0bGUgIT09IG5vdGlmaWNhdGlvbi50aXRsZSxcbiAgICAgICAgKSxcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgXSksXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfSwgW3N1YmplY3RdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7bm90aWZpY2F0aW9ucy5tYXAoKG5vdGlmaWNhdGlvbikgPT4gKFxuICAgICAgICA8Tm90aWZpY2F0aW9uIGtleT17bm90aWZpY2F0aW9uLmlkfSBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn0gLz5cbiAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQWN0aXZlTm90aWZpY2F0aW9ucztcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiTm90aWZpY2F0aW9uIiwiQWN0aXZlTm90aWZpY2F0aW9ucyIsInN1YmplY3QiLCJub3RpZmljYXRpb25zIiwic2V0Tm90aWZpY2F0aW9ucyIsInN1YnNjcmlwdGlvbiIsInN1YnNjcmliZSIsIm5vdGlmaWNhdGlvbiIsImZpbHRlciIsIm4iLCJkZXNjcmlwdGlvbiIsImFjdGlvbiIsImtpbmQiLCJ0aXRsZSIsInVuc3Vic2NyaWJlIiwibWFwIiwia2V5IiwiaWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/notifications/active-notifications.component.tsx\n");
|
|
7583
7583
|
|
|
7584
7584
|
/***/ }),
|
|
7585
7585
|
|
|
@@ -7590,7 +7590,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7590
7590
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7591
7591
|
|
|
7592
7592
|
"use strict";
|
|
7593
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderActionableNotifications: () => (/* binding */ renderActionableNotifications),\n/* harmony export */ renderInlineNotifications: () => (/* binding */ renderInlineNotifications),\n/* harmony export */ showActionableNotification: () => (/* binding */ showActionableNotification),\n/* harmony export */ showNotification: () => (/* binding */ showNotification)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _active_notifications_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./active-notifications.component */ \"../../framework/esm-styleguide/src/notifications/active-notifications.component.tsx\");\n/* harmony import */ var _active_actionable_notifications_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./active-actionable-notifications.component */ \"../../framework/esm-styleguide/src/notifications/active-actionable-notifications.component.tsx\");\n/* harmony import */ var lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/isEmpty */ \"../../../node_modules/lodash-es/isEmpty.js\");\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\n\n\nvar inlineNotificationsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_1__.Subject();\nvar notificationId = 0;\nvar actionableNotificationsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_1__.Subject();\nvar actionableNotificationId = 0;\n/**\n * Starts a rendering host for inline notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the inline notifications.\n */ function renderInlineNotifications(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_4__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_notifications_component__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n subject: inlineNotificationsSubject\n }));\n }\n}\nfunction isNotEmpty(description) {\n if (typeof description === \"string\") {\n return description.trim().length > 0;\n } else if (typeof description === \"object\") {\n return _instanceof(description, Error) || !(0,lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(description);\n }\n return false;\n}\n/**\n * Displays an inline notification in the UI.\n * @param notification The description of the notification to display.\n */ function showNotification(notification) {\n if (notification && isNotEmpty(notification.description)) {\n if (_instanceof(notification.description, Error)) {\n notification.description = notification.description.toLocaleString();\n }\n setTimeout(function() {\n // always use in subsequent cycle\n inlineNotificationsSubject.next(_object_spread_props(_object_spread({}, notification), {\n id: notificationId++\n }));\n }, 0);\n } else {\n console.error(\"showNotification must be called with an object having a 'description' property that is a non-empty string or object\");\n }\n}\n// Actionable Notifications\nfunction renderActionableNotifications(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_4__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_actionable_notifications_component__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n subject: actionableNotificationsSubject\n }));\n }\n}\nfunction isNotActionableNotificationEmpty(subtitle) {\n return typeof subtitle === \"string\" ? subtitle.trim().length > 0 : typeof subtitle === \"object\" ? !(0,lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(subtitle) : false;\n}\n/**\n * Displays an actionable notification in the UI.\n * @param notification The description of the notification to display.\n */ function showActionableNotification(notification) {\n if (notification && isNotActionableNotificationEmpty(notification.actionButtonLabel)) {\n setTimeout(function() {\n // always use in subsequent cycle\n actionableNotificationsSubject.next(_object_spread_props(_object_spread({}, notification), {\n id: actionableNotificationId++\n }));\n }, 0);\n } else {\n console.error(\"showActionableNotification must be called with an actionButtonLabel that is a non-empty string\");\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9ub3RpZmljYXRpb25zL2luZGV4LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5QkFBeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0M7QUFDSztBQUdvQztBQUNxQjtBQUNoRDtBQUNNO0FBRTlDLElBQU1NLDZCQUE2QixJQUFJTCx5Q0FBT0E7QUFDOUMsSUFBSU0saUJBQWlCO0FBRXJCLElBQU1DLGlDQUFpQyxJQUFJUCx5Q0FBT0E7QUFDbEQsSUFBSVEsMkJBQTJCO0FBRS9COzs7O0NBSUMsR0FDTSxTQUFTQywwQkFBMEJDLE1BQTBCLEVBQUU7SUFDcEUsSUFBSUEsUUFBUTtRQUNWLElBQU1DLE9BQU9QLDREQUFVQSxDQUFDTTtRQUN4QkMsS0FBS0MsTUFBTSxlQUFDLDJEQUFDWCx1RUFBbUJBO1lBQUNZLFNBQVNSOztJQUM1QyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVNTLFdBQVdDLFdBQTRCLEVBQUU7SUFDaEQsSUFBSSxPQUFPQSxnQkFBZ0IsVUFBVTtRQUNuQyxPQUFPQSxZQUFZQyxJQUFJLEdBQUdDLE1BQU0sR0FBRztJQUNyQyxPQUFPLElBQUksT0FBT0YsZ0JBQWdCLFVBQVU7UUFDMUMsT0FBT0EsWUFBQUEsYUFBdUJHLFVBQVMsQ0FBQ2YsNkRBQU9BLENBQUNZO0lBQ2xELENBQUM7SUFFRCxPQUFPLEtBQUs7QUFDZDtBQUVBOzs7Q0FHQyxHQUNNLFNBQVNJLGlCQUFpQkMsWUFBb0MsRUFBRTtJQUNyRSxJQUFJQSxnQkFBZ0JOLFdBQVdNLGFBQWFMLFdBQVcsR0FBRztRQUN4RCxJQUFJSyxZQUFBQSxhQUFhTCxXQUFXLEVBQVlHLFFBQU87WUFDN0NFLGFBQWFMLFdBQVcsR0FBR0ssYUFBYUwsV0FBVyxDQUFDTSxjQUFjO1FBQ3BFLENBQUM7UUFFREMsV0FBVyxXQUFNO1lBQ2YsaUNBQWlDO1lBQ2pDakIsMkJBQTJCa0IsSUFBSSxDQUFDLHdDQUMzQkg7Z0JBQ0hJLElBQUlsQjs7UUFFUixHQUFHO0lBQ0wsT0FBTztRQUNMbUIsUUFBUUMsS0FBSyxDQUNWO0lBRUwsQ0FBQztBQUNILENBQUM7QUFFRCwyQkFBMkI7QUFFcEIsU0FBU0MsOEJBQThCakIsTUFBMEIsRUFBRTtJQUN4RSxJQUFJQSxRQUFRO1FBQ1YsSUFBTUMsT0FBT1AsNERBQVVBLENBQUNNO1FBQ3hCQyxLQUFLQyxNQUFNLGVBQUMsMkRBQUNWLGtGQUE2QkE7WUFBQ1csU0FBU047O0lBQ3RELENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBU3FCLGlDQUFpQ0MsUUFBeUIsRUFBRTtJQUNuRSxPQUFPLE9BQU9BLGFBQWEsV0FDdkJBLFNBQVNiLElBQUksR0FBR0MsTUFBTSxHQUFHLElBQ3pCLE9BQU9ZLGFBQWEsV0FDbEIsQ0FBQzFCLDZEQUFPQSxDQUFDMEIsWUFDVCxLQUFLO0FBQ2I7QUFFQTs7O0NBR0MsR0FFTSxTQUFTQywyQkFBMkJWLFlBQThDLEVBQUU7SUFDekYsSUFBSUEsZ0JBQWdCUSxpQ0FBaUNSLGFBQWFXLGlCQUFpQixHQUFHO1FBQ3BGVCxXQUFXLFdBQU07WUFDZixpQ0FBaUM7WUFDakNmLCtCQUErQmdCLElBQUksQ0FBQyx3Q0FDL0JIO2dCQUNISSxJQUFJaEI7O1FBRVIsR0FBRztJQUNMLE9BQU87UUFDTGlCLFFBQVFDLEtBQUssQ0FBRTtJQUNqQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9ub3RpZmljYXRpb25zL2luZGV4LnRzeD9lZDhiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBVSSAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElubGluZU5vdGlmaWNhdGlvbk1ldGEsIE5vdGlmaWNhdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uYWJsZU5vdGlmaWNhdGlvbk1ldGEsIEFjdGlvbmFibGVOb3RpZmljYXRpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi9hY3Rpb25hYmxlLW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IEFjdGl2ZU5vdGlmaWNhdGlvbnMgZnJvbSAnLi9hY3RpdmUtbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IEFjdGlvbmFibGVBY3RpdmVOb3RpZmljYXRpb25zIGZyb20gJy4vYWN0aXZlLWFjdGlvbmFibGUtbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoLWVzL2lzRW1wdHknO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnO1xuXG5jb25zdCBpbmxpbmVOb3RpZmljYXRpb25zU3ViamVjdCA9IG5ldyBTdWJqZWN0PElubGluZU5vdGlmaWNhdGlvbk1ldGE+KCk7XG5sZXQgbm90aWZpY2F0aW9uSWQgPSAwO1xuXG5jb25zdCBhY3Rpb25hYmxlTm90aWZpY2F0aW9uc1N1YmplY3QgPSBuZXcgU3ViamVjdDxBY3Rpb25hYmxlTm90aWZpY2F0aW9uTWV0YT4oKTtcbmxldCBhY3Rpb25hYmxlTm90aWZpY2F0aW9uSWQgPSAwO1xuXG4vKipcbiAqIFN0YXJ0cyBhIHJlbmRlcmluZyBob3N0IGZvciBpbmxpbmUgbm90aWZpY2F0aW9ucy4gU2hvdWxkIG9ubHkgYmUgdXNlZCBieSB0aGUgYXBwIHNoZWxsLlxuICogVW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMgdGhlcmUgaXMgbm8gbmVlZCB0byB1c2UgdGhpcyBmdW5jdGlvbi5cbiAqIEBwYXJhbSB0YXJnZXQgVGhlIGNvbnRhaW5lciB0YXJnZXQgdGhhdCBob3N0cyB0aGUgaW5saW5lIG5vdGlmaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJJbmxpbmVOb3RpZmljYXRpb25zKHRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBjb25zdCByb290ID0gY3JlYXRlUm9vdCh0YXJnZXQpO1xuICAgIHJvb3QucmVuZGVyKDxBY3RpdmVOb3RpZmljYXRpb25zIHN1YmplY3Q9e2lubGluZU5vdGlmaWNhdGlvbnNTdWJqZWN0fSAvPik7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNOb3RFbXB0eShkZXNjcmlwdGlvbjogUmVhY3QuUmVhY3ROb2RlKSB7XG4gIGlmICh0eXBlb2YgZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uLnRyaW0oKS5sZW5ndGggPiAwO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkZXNjcmlwdGlvbiA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZGVzY3JpcHRpb24gaW5zdGFuY2VvZiBFcnJvciB8fCAhaXNFbXB0eShkZXNjcmlwdGlvbik7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gaW5saW5lIG5vdGlmaWNhdGlvbiBpbiB0aGUgVUkuXG4gKiBAcGFyYW0gbm90aWZpY2F0aW9uIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIHRvIGRpc3BsYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uRGVzY3JpcHRvcikge1xuICBpZiAobm90aWZpY2F0aW9uICYmIGlzTm90RW1wdHkobm90aWZpY2F0aW9uLmRlc2NyaXB0aW9uKSkge1xuICAgIGlmIChub3RpZmljYXRpb24uZGVzY3JpcHRpb24gaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgbm90aWZpY2F0aW9uLmRlc2NyaXB0aW9uID0gbm90aWZpY2F0aW9uLmRlc2NyaXB0aW9uLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyBhbHdheXMgdXNlIGluIHN1YnNlcXVlbnQgY3ljbGVcbiAgICAgIGlubGluZU5vdGlmaWNhdGlvbnNTdWJqZWN0Lm5leHQoe1xuICAgICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICAgIGlkOiBub3RpZmljYXRpb25JZCsrLFxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBzaG93Tm90aWZpY2F0aW9uIG11c3QgYmUgY2FsbGVkIHdpdGggYW4gb2JqZWN0IGhhdmluZyBhICdkZXNjcmlwdGlvbicgcHJvcGVydHkgdGhhdCBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgb3Igb2JqZWN0YCxcbiAgICApO1xuICB9XG59XG5cbi8vIEFjdGlvbmFibGUgTm90aWZpY2F0aW9uc1xuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQWN0aW9uYWJsZU5vdGlmaWNhdGlvbnModGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwpIHtcbiAgaWYgKHRhcmdldCkge1xuICAgIGNvbnN0IHJvb3QgPSBjcmVhdGVSb290KHRhcmdldCk7XG4gICAgcm9vdC5yZW5kZXIoPEFjdGlvbmFibGVBY3RpdmVOb3RpZmljYXRpb25zIHN1YmplY3Q9e2FjdGlvbmFibGVOb3RpZmljYXRpb25zU3ViamVjdH0gLz4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTm90QWN0aW9uYWJsZU5vdGlmaWNhdGlvbkVtcHR5KHN1YnRpdGxlOiBSZWFjdC5SZWFjdE5vZGUpIHtcbiAgcmV0dXJuIHR5cGVvZiBzdWJ0aXRsZSA9PT0gJ3N0cmluZydcbiAgICA/IHN1YnRpdGxlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgOiB0eXBlb2Ygc3VidGl0bGUgPT09ICdvYmplY3QnXG4gICAgICA/ICFpc0VtcHR5KHN1YnRpdGxlKVxuICAgICAgOiBmYWxzZTtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBhY3Rpb25hYmxlIG5vdGlmaWNhdGlvbiBpbiB0aGUgVUkuXG4gKiBAcGFyYW0gbm90aWZpY2F0aW9uIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgbm90aWZpY2F0aW9uIHRvIGRpc3BsYXkuXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogQWN0aW9uYWJsZU5vdGlmaWNhdGlvbkRlc2NyaXB0b3IpIHtcbiAgaWYgKG5vdGlmaWNhdGlvbiAmJiBpc05vdEFjdGlvbmFibGVOb3RpZmljYXRpb25FbXB0eShub3RpZmljYXRpb24uYWN0aW9uQnV0dG9uTGFiZWwpKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyBhbHdheXMgdXNlIGluIHN1YnNlcXVlbnQgY3ljbGVcbiAgICAgIGFjdGlvbmFibGVOb3RpZmljYXRpb25zU3ViamVjdC5uZXh0KHtcbiAgICAgICAgLi4ubm90aWZpY2F0aW9uLFxuICAgICAgICBpZDogYWN0aW9uYWJsZU5vdGlmaWNhdGlvbklkKyssXG4gICAgICB9KTtcbiAgICB9LCAwKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKGBzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbiBtdXN0IGJlIGNhbGxlZCB3aXRoIGFuIGFjdGlvbkJ1dHRvbkxhYmVsIHRoYXQgaXMgYSBub24tZW1wdHkgc3RyaW5nYCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlN1YmplY3QiLCJBY3RpdmVOb3RpZmljYXRpb25zIiwiQWN0aW9uYWJsZUFjdGl2ZU5vdGlmaWNhdGlvbnMiLCJpc0VtcHR5IiwiY3JlYXRlUm9vdCIsImlubGluZU5vdGlmaWNhdGlvbnNTdWJqZWN0Iiwibm90aWZpY2F0aW9uSWQiLCJhY3Rpb25hYmxlTm90aWZpY2F0aW9uc1N1YmplY3QiLCJhY3Rpb25hYmxlTm90aWZpY2F0aW9uSWQiLCJyZW5kZXJJbmxpbmVOb3RpZmljYXRpb25zIiwidGFyZ2V0Iiwicm9vdCIsInJlbmRlciIsInN1YmplY3QiLCJpc05vdEVtcHR5IiwiZGVzY3JpcHRpb24iLCJ0cmltIiwibGVuZ3RoIiwiRXJyb3IiLCJzaG93Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uIiwidG9Mb2NhbGVTdHJpbmciLCJzZXRUaW1lb3V0IiwibmV4dCIsImlkIiwiY29uc29sZSIsImVycm9yIiwicmVuZGVyQWN0aW9uYWJsZU5vdGlmaWNhdGlvbnMiLCJpc05vdEFjdGlvbmFibGVOb3RpZmljYXRpb25FbXB0eSIsInN1YnRpdGxlIiwic2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb24iLCJhY3Rpb25CdXR0b25MYWJlbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/notifications/index.tsx\n");
|
|
7593
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderActionableNotifications: () => (/* binding */ renderActionableNotifications),\n/* harmony export */ renderInlineNotifications: () => (/* binding */ renderInlineNotifications),\n/* harmony export */ showActionableNotification: () => (/* binding */ showActionableNotification),\n/* harmony export */ showNotification: () => (/* binding */ showNotification)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _active_notifications_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./active-notifications.component */ \"../../framework/esm-styleguide/src/notifications/active-notifications.component.tsx\");\n/* harmony import */ var _active_actionable_notifications_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./active-actionable-notifications.component */ \"../../framework/esm-styleguide/src/notifications/active-actionable-notifications.component.tsx\");\n/* harmony import */ var lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/isEmpty */ \"../../../node_modules/lodash-es/isEmpty.js\");\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\n\n\nvar inlineNotificationsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_1__.Subject();\nvar notificationId = 0;\nvar actionableNotificationsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_1__.Subject();\nvar actionableNotificationId = 0;\n/**\n * Starts a rendering host for inline notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the inline notifications.\n */ function renderInlineNotifications(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_4__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_notifications_component__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n subject: inlineNotificationsSubject\n }));\n }\n}\nfunction isNotEmpty(description) {\n if (typeof description === \"string\") {\n return description.trim().length > 0;\n } else if (typeof description === \"object\") {\n return _instanceof(description, Error) || !(0,lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(description);\n }\n return false;\n}\n/**\n * Displays an inline notification in the UI.\n * @param notification The description of the notification to display.\n */ function showNotification(notification) {\n if (notification && isNotEmpty(notification.description)) {\n if (_instanceof(notification.description, Error)) {\n notification.description = notification.description.toLocaleString();\n }\n setTimeout(function() {\n // always use in subsequent cycle\n inlineNotificationsSubject.next(_object_spread_props(_object_spread({}, notification), {\n id: notificationId++\n }));\n }, 0);\n } else {\n console.error(\"showNotification must be called with an object having a 'description' property that is a non-empty string or object\");\n }\n}\n// Actionable Notifications\nfunction renderActionableNotifications(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_4__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_actionable_notifications_component__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n subject: actionableNotificationsSubject\n }));\n }\n}\nfunction isNotActionableNotificationEmpty(subtitle) {\n return typeof subtitle === \"string\" ? subtitle.trim().length > 0 : typeof subtitle === \"object\" ? !(0,lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(subtitle) : false;\n}\n/**\n * Displays an actionable notification in the UI.\n * @param notification The description of the notification to display.\n */ function showActionableNotification(notification) {\n if (notification && isNotActionableNotificationEmpty(notification.actionButtonLabel)) {\n setTimeout(function() {\n // always use in subsequent cycle\n actionableNotificationsSubject.next(_object_spread_props(_object_spread({}, notification), {\n id: actionableNotificationId++\n }));\n }, 0);\n } else {\n console.error(\"showActionableNotification must be called with an actionButtonLabel that is a non-empty string\");\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9ub3RpZmljYXRpb25zL2luZGV4LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5QkFBeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0M7QUFDSztBQUdvQztBQUNxQjtBQUNoRDtBQUNNO0FBRTlDLElBQU1NLDZCQUE2QixJQUFJTCx5Q0FBT0E7QUFDOUMsSUFBSU0saUJBQWlCO0FBRXJCLElBQU1DLGlDQUFpQyxJQUFJUCx5Q0FBT0E7QUFDbEQsSUFBSVEsMkJBQTJCO0FBRS9COzs7O0NBSUMsR0FDTSxTQUFTQywwQkFBMEJDLE1BQTBCLEVBQUU7SUFDcEUsSUFBSUEsUUFBUTtRQUNWLElBQU1DLE9BQU9QLDREQUFVQSxDQUFDTTtRQUN4QkMsS0FBS0MsTUFBTSxlQUFDLDJEQUFDWCx1RUFBbUJBO1lBQUNZLFNBQVNSOztJQUM1QyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVNTLFdBQVdDLFdBQTRCLEVBQUU7SUFDaEQsSUFBSSxPQUFPQSxnQkFBZ0IsVUFBVTtRQUNuQyxPQUFPQSxZQUFZQyxJQUFJLEdBQUdDLE1BQU0sR0FBRztJQUNyQyxPQUFPLElBQUksT0FBT0YsZ0JBQWdCLFVBQVU7UUFDMUMsT0FBT0EsWUFBQUEsYUFBdUJHLFVBQVMsQ0FBQ2YsNkRBQU9BLENBQUNZO0lBQ2xELENBQUM7SUFFRCxPQUFPLEtBQUs7QUFDZDtBQUVBOzs7Q0FHQyxHQUNNLFNBQVNJLGlCQUFpQkMsWUFBb0MsRUFBRTtJQUNyRSxJQUFJQSxnQkFBZ0JOLFdBQVdNLGFBQWFMLFdBQVcsR0FBRztRQUN4RCxJQUFJSyxZQUFBQSxhQUFhTCxXQUFXLEVBQVlHLFFBQU87WUFDN0NFLGFBQWFMLFdBQVcsR0FBR0ssYUFBYUwsV0FBVyxDQUFDTSxjQUFjO1FBQ3BFLENBQUM7UUFFREMsV0FBVyxXQUFNO1lBQ2YsaUNBQWlDO1lBQ2pDakIsMkJBQTJCa0IsSUFBSSxDQUFDLHdDQUMzQkg7Z0JBQ0hJLElBQUlsQjs7UUFFUixHQUFHO0lBQ0wsT0FBTztRQUNMbUIsUUFBUUMsS0FBSyxDQUNWO0lBRUwsQ0FBQztBQUNILENBQUM7QUFFRCwyQkFBMkI7QUFFcEIsU0FBU0MsOEJBQThCakIsTUFBMEIsRUFBRTtJQUN4RSxJQUFJQSxRQUFRO1FBQ1YsSUFBTUMsT0FBT1AsNERBQVVBLENBQUNNO1FBQ3hCQyxLQUFLQyxNQUFNLGVBQUMsMkRBQUNWLGtGQUE2QkE7WUFBQ1csU0FBU047O0lBQ3RELENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBU3FCLGlDQUFpQ0MsUUFBeUIsRUFBRTtJQUNuRSxPQUFPLE9BQU9BLGFBQWEsV0FDdkJBLFNBQVNiLElBQUksR0FBR0MsTUFBTSxHQUFHLElBQ3pCLE9BQU9ZLGFBQWEsV0FDbEIsQ0FBQzFCLDZEQUFPQSxDQUFDMEIsWUFDVCxLQUFLO0FBQ2I7QUFFQTs7O0NBR0MsR0FFTSxTQUFTQywyQkFBMkJWLFlBQThDLEVBQUU7SUFDekYsSUFBSUEsZ0JBQWdCUSxpQ0FBaUNSLGFBQWFXLGlCQUFpQixHQUFHO1FBQ3BGVCxXQUFXLFdBQU07WUFDZixpQ0FBaUM7WUFDakNmLCtCQUErQmdCLElBQUksQ0FBQyx3Q0FDL0JIO2dCQUNISSxJQUFJaEI7O1FBRVIsR0FBRztJQUNMLE9BQU87UUFDTGlCLFFBQVFDLEtBQUssQ0FBRTtJQUNqQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9ub3RpZmljYXRpb25zL2luZGV4LnRzeD9lZDhiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBVSSAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgSW5saW5lTm90aWZpY2F0aW9uTWV0YSwgTm90aWZpY2F0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbmFibGVOb3RpZmljYXRpb25NZXRhLCBBY3Rpb25hYmxlTm90aWZpY2F0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4vYWN0aW9uYWJsZS1ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCBBY3RpdmVOb3RpZmljYXRpb25zIGZyb20gJy4vYWN0aXZlLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCBBY3Rpb25hYmxlQWN0aXZlTm90aWZpY2F0aW9ucyBmcm9tICcuL2FjdGl2ZS1hY3Rpb25hYmxlLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC1lcy9pc0VtcHR5JztcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcblxuY29uc3QgaW5saW5lTm90aWZpY2F0aW9uc1N1YmplY3QgPSBuZXcgU3ViamVjdDxJbmxpbmVOb3RpZmljYXRpb25NZXRhPigpO1xubGV0IG5vdGlmaWNhdGlvbklkID0gMDtcblxuY29uc3QgYWN0aW9uYWJsZU5vdGlmaWNhdGlvbnNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8QWN0aW9uYWJsZU5vdGlmaWNhdGlvbk1ldGE+KCk7XG5sZXQgYWN0aW9uYWJsZU5vdGlmaWNhdGlvbklkID0gMDtcblxuLyoqXG4gKiBTdGFydHMgYSByZW5kZXJpbmcgaG9zdCBmb3IgaW5saW5lIG5vdGlmaWNhdGlvbnMuIFNob3VsZCBvbmx5IGJlIHVzZWQgYnkgdGhlIGFwcCBzaGVsbC5cbiAqIFVuZGVyIG5vcm1hbCBjb25kaXRpb25zIHRoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIHRoaXMgZnVuY3Rpb24uXG4gKiBAcGFyYW0gdGFyZ2V0IFRoZSBjb250YWluZXIgdGFyZ2V0IHRoYXQgaG9zdHMgdGhlIGlubGluZSBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyh0YXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCkge1xuICBpZiAodGFyZ2V0KSB7XG4gICAgY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3QodGFyZ2V0KTtcbiAgICByb290LnJlbmRlcig8QWN0aXZlTm90aWZpY2F0aW9ucyBzdWJqZWN0PXtpbmxpbmVOb3RpZmljYXRpb25zU3ViamVjdH0gLz4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTm90RW1wdHkoZGVzY3JpcHRpb246IFJlYWN0LlJlYWN0Tm9kZSkge1xuICBpZiAodHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkZXNjcmlwdGlvbi50cmltKCkubGVuZ3RoID4gMDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVzY3JpcHRpb24gPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uIGluc3RhbmNlb2YgRXJyb3IgfHwgIWlzRW1wdHkoZGVzY3JpcHRpb24pO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGlubGluZSBub3RpZmljYXRpb24gaW4gdGhlIFVJLlxuICogQHBhcmFtIG5vdGlmaWNhdGlvbiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiB0byBkaXNwbGF5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbkRlc2NyaXB0b3IpIHtcbiAgaWYgKG5vdGlmaWNhdGlvbiAmJiBpc05vdEVtcHR5KG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbikpIHtcbiAgICBpZiAobm90aWZpY2F0aW9uLmRlc2NyaXB0aW9uIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbiA9IG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbi50b0xvY2FsZVN0cmluZygpO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gYWx3YXlzIHVzZSBpbiBzdWJzZXF1ZW50IGN5Y2xlXG4gICAgICBpbmxpbmVOb3RpZmljYXRpb25zU3ViamVjdC5uZXh0KHtcbiAgICAgICAgLi4ubm90aWZpY2F0aW9uLFxuICAgICAgICBpZDogbm90aWZpY2F0aW9uSWQrKyxcbiAgICAgIH0pO1xuICAgIH0sIDApO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgc2hvd05vdGlmaWNhdGlvbiBtdXN0IGJlIGNhbGxlZCB3aXRoIGFuIG9iamVjdCBoYXZpbmcgYSAnZGVzY3JpcHRpb24nIHByb3BlcnR5IHRoYXQgaXMgYSBub24tZW1wdHkgc3RyaW5nIG9yIG9iamVjdGAsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBBY3Rpb25hYmxlIE5vdGlmaWNhdGlvbnNcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zKHRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBjb25zdCByb290ID0gY3JlYXRlUm9vdCh0YXJnZXQpO1xuICAgIHJvb3QucmVuZGVyKDxBY3Rpb25hYmxlQWN0aXZlTm90aWZpY2F0aW9ucyBzdWJqZWN0PXthY3Rpb25hYmxlTm90aWZpY2F0aW9uc1N1YmplY3R9IC8+KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc05vdEFjdGlvbmFibGVOb3RpZmljYXRpb25FbXB0eShzdWJ0aXRsZTogUmVhY3QuUmVhY3ROb2RlKSB7XG4gIHJldHVybiB0eXBlb2Ygc3VidGl0bGUgPT09ICdzdHJpbmcnXG4gICAgPyBzdWJ0aXRsZS50cmltKCkubGVuZ3RoID4gMFxuICAgIDogdHlwZW9mIHN1YnRpdGxlID09PSAnb2JqZWN0J1xuICAgICAgPyAhaXNFbXB0eShzdWJ0aXRsZSlcbiAgICAgIDogZmFsc2U7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gYWN0aW9uYWJsZSBub3RpZmljYXRpb24gaW4gdGhlIFVJLlxuICogQHBhcmFtIG5vdGlmaWNhdGlvbiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiB0byBkaXNwbGF5LlxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93QWN0aW9uYWJsZU5vdGlmaWNhdGlvbihub3RpZmljYXRpb246IEFjdGlvbmFibGVOb3RpZmljYXRpb25EZXNjcmlwdG9yKSB7XG4gIGlmIChub3RpZmljYXRpb24gJiYgaXNOb3RBY3Rpb25hYmxlTm90aWZpY2F0aW9uRW1wdHkobm90aWZpY2F0aW9uLmFjdGlvbkJ1dHRvbkxhYmVsKSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gYWx3YXlzIHVzZSBpbiBzdWJzZXF1ZW50IGN5Y2xlXG4gICAgICBhY3Rpb25hYmxlTm90aWZpY2F0aW9uc1N1YmplY3QubmV4dCh7XG4gICAgICAgIC4uLm5vdGlmaWNhdGlvbixcbiAgICAgICAgaWQ6IGFjdGlvbmFibGVOb3RpZmljYXRpb25JZCsrLFxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcihgc2hvd0FjdGlvbmFibGVOb3RpZmljYXRpb24gbXVzdCBiZSBjYWxsZWQgd2l0aCBhbiBhY3Rpb25CdXR0b25MYWJlbCB0aGF0IGlzIGEgbm9uLWVtcHR5IHN0cmluZ2ApO1xuICB9XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTdWJqZWN0IiwiQWN0aXZlTm90aWZpY2F0aW9ucyIsIkFjdGlvbmFibGVBY3RpdmVOb3RpZmljYXRpb25zIiwiaXNFbXB0eSIsImNyZWF0ZVJvb3QiLCJpbmxpbmVOb3RpZmljYXRpb25zU3ViamVjdCIsIm5vdGlmaWNhdGlvbklkIiwiYWN0aW9uYWJsZU5vdGlmaWNhdGlvbnNTdWJqZWN0IiwiYWN0aW9uYWJsZU5vdGlmaWNhdGlvbklkIiwicmVuZGVySW5saW5lTm90aWZpY2F0aW9ucyIsInRhcmdldCIsInJvb3QiLCJyZW5kZXIiLCJzdWJqZWN0IiwiaXNOb3RFbXB0eSIsImRlc2NyaXB0aW9uIiwidHJpbSIsImxlbmd0aCIsIkVycm9yIiwic2hvd05vdGlmaWNhdGlvbiIsIm5vdGlmaWNhdGlvbiIsInRvTG9jYWxlU3RyaW5nIiwic2V0VGltZW91dCIsIm5leHQiLCJpZCIsImNvbnNvbGUiLCJlcnJvciIsInJlbmRlckFjdGlvbmFibGVOb3RpZmljYXRpb25zIiwiaXNOb3RBY3Rpb25hYmxlTm90aWZpY2F0aW9uRW1wdHkiLCJzdWJ0aXRsZSIsInNob3dBY3Rpb25hYmxlTm90aWZpY2F0aW9uIiwiYWN0aW9uQnV0dG9uTGFiZWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/notifications/index.tsx\n");
|
|
7594
7594
|
|
|
7595
7595
|
/***/ }),
|
|
7596
7596
|
|
|
@@ -7623,7 +7623,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7623
7623
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7624
7624
|
|
|
7625
7625
|
"use strict";
|
|
7626
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _snackbar_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar.component */ \"../../framework/esm-styleguide/src/snackbars/snackbar.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActiveSnackbars = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), snackbars = _useState[0], setSnackbars = _useState[1];\n var closeSnackbar = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(snackbar) {\n setSnackbars(function(snackbars) {\n return snackbars.filter(function(t) {\n return t !== snackbar;\n });\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(snackbar) {\n return setSnackbars(function(snackbars) {\n return _to_consumable_array(snackbars.filter(function(n) {\n return n.subtitle !== snackbar.subtitle || n.actionButtonLabel !== snackbar.actionButtonLabel || n.onActionButtonClick !== snackbar.onActionButtonClick || n.kind !== snackbar.kind || n.title !== snackbar.title;\n })).concat([\n snackbar\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, snackbars.map(function(snackbar) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_snackbar_component__WEBPACK_IMPORTED_MODULE_1__.Snackbar, {\n key: snackbar.id,\n snackbar: snackbar,\n closeSnackbar: function() {\n return closeSnackbar(snackbar);\n }\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActiveSnackbars);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7626
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _snackbar_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar.component */ \"../../framework/esm-styleguide/src/snackbars/snackbar.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActiveSnackbars = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), snackbars = _useState[0], setSnackbars = _useState[1];\n var closeSnackbar = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(snackbar) {\n setSnackbars(function(snackbars) {\n return snackbars.filter(function(t) {\n return t !== snackbar;\n });\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(snackbar) {\n return setSnackbars(function(snackbars) {\n return _to_consumable_array(snackbars.filter(function(n) {\n return n.subtitle !== snackbar.subtitle || n.actionButtonLabel !== snackbar.actionButtonLabel || n.onActionButtonClick !== snackbar.onActionButtonClick || n.kind !== snackbar.kind || n.title !== snackbar.title;\n })).concat([\n snackbar\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, snackbars.map(function(snackbar) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_snackbar_component__WEBPACK_IMPORTED_MODULE_1__.Snackbar, {\n key: snackbar.id,\n snackbar: snackbar,\n closeSnackbar: function() {\n return closeSnackbar(snackbar);\n }\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActiveSnackbars);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9zbmFja2JhcnMvYWN0aXZlLXNuYWNrYmFyLmNvbXBvbmVudC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0U7QUFHaEI7QUFNaEQsSUFBTUssa0JBQWlELGdCQUFpQjtRQUFkQyxnQkFBQUE7SUFDeEQsSUFBa0NKLDZCQUFBQSwrQ0FBUUEsQ0FBc0IsRUFBRSxPQUEzREssWUFBMkJMLGNBQWhCTSxlQUFnQk47SUFFbEMsSUFBTU8sZ0JBQWdCTixrREFBV0EsQ0FBQyxTQUFDTyxVQUFhO1FBQzlDRixhQUFhLFNBQUNEO21CQUFjQSxVQUFVSSxNQUFNLENBQUMsU0FBQ0M7dUJBQU1BLE1BQU1GOzs7SUFDNUQsR0FBRyxFQUFFO0lBRUxULGdEQUFTQSxDQUFDLFdBQU07UUFDZCxJQUFNWSxlQUFlUCxRQUFRUSxTQUFTLENBQUMsU0FBQ0o7bUJBQ3RDRixhQUFhLFNBQUNEO3VCQUFjLHFCQUN2QkEsVUFBVUksTUFBTSxDQUNqQixTQUFDSTsyQkFDQ0EsRUFBRUMsUUFBUSxLQUFLTixTQUFTTSxRQUFRLElBQ2hDRCxFQUFFRSxpQkFBaUIsS0FBS1AsU0FBU08saUJBQWlCLElBQ2xERixFQUFFRyxtQkFBbUIsS0FBS1IsU0FBU1EsbUJBQW1CLElBQ3RESCxFQUFFSSxJQUFJLEtBQUtULFNBQVNTLElBQUksSUFDeEJKLEVBQUVLLEtBQUssS0FBS1YsU0FBU1UsS0FBSzsyQkFQSjtvQkFTMUJWO2lCQUNEOzs7UUFHSCxPQUFPO21CQUFNRyxhQUFhUSxXQUFXOztJQUN2QyxHQUFHO1FBQUNmO0tBQVE7SUFFWixxQkFDRSwwSEFDR0MsVUFBVWUsR0FBRyxDQUFDLFNBQUNaOzZCQUNkLDJEQUFDTix5REFBUUE7WUFBQ21CLEtBQUtiLFNBQVNjLEVBQUU7WUFBRWQsVUFBVUE7WUFBVUQsZUFBZTt1QkFBTUEsY0FBY0M7Ozs7QUFJM0Y7QUFFQSxpRUFBZUwsZUFBZUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9zbmFja2JhcnMvYWN0aXZlLXNuYWNrYmFyLmNvbXBvbmVudC50c3g/NDZkZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgU25hY2tiYXJNZXRhIH0gZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU25hY2tiYXIgfSBmcm9tICcuL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBBY3RpdmVTbmFja2JhclByb3BzIHtcbiAgc3ViamVjdDogU3ViamVjdDxTbmFja2Jhck1ldGE+O1xufVxuXG5jb25zdCBBY3RpdmVTbmFja2JhcnM6IFJlYWN0LkZDPEFjdGl2ZVNuYWNrYmFyUHJvcHM+ID0gKHsgc3ViamVjdCB9KSA9PiB7XG4gIGNvbnN0IFtzbmFja2JhcnMsIHNldFNuYWNrYmFyc10gPSB1c2VTdGF0ZTxBcnJheTxTbmFja2Jhck1ldGE+PihbXSk7XG5cbiAgY29uc3QgY2xvc2VTbmFja2JhciA9IHVzZUNhbGxiYWNrKChzbmFja2JhcikgPT4ge1xuICAgIHNldFNuYWNrYmFycygoc25hY2tiYXJzKSA9PiBzbmFja2JhcnMuZmlsdGVyKCh0KSA9PiB0ICE9PSBzbmFja2JhcikpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBzdWJqZWN0LnN1YnNjcmliZSgoc25hY2tiYXIpID0+XG4gICAgICBzZXRTbmFja2JhcnMoKHNuYWNrYmFycykgPT4gW1xuICAgICAgICAuLi5zbmFja2JhcnMuZmlsdGVyKFxuICAgICAgICAgIChuKSA9PlxuICAgICAgICAgICAgbi5zdWJ0aXRsZSAhPT0gc25hY2tiYXIuc3VidGl0bGUgfHxcbiAgICAgICAgICAgIG4uYWN0aW9uQnV0dG9uTGFiZWwgIT09IHNuYWNrYmFyLmFjdGlvbkJ1dHRvbkxhYmVsIHx8XG4gICAgICAgICAgICBuLm9uQWN0aW9uQnV0dG9uQ2xpY2sgIT09IHNuYWNrYmFyLm9uQWN0aW9uQnV0dG9uQ2xpY2sgfHxcbiAgICAgICAgICAgIG4ua2luZCAhPT0gc25hY2tiYXIua2luZCB8fFxuICAgICAgICAgICAgbi50aXRsZSAhPT0gc25hY2tiYXIudGl0bGUsXG4gICAgICAgICksXG4gICAgICAgIHNuYWNrYmFyLFxuICAgICAgXSksXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfSwgW3N1YmplY3RdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7c25hY2tiYXJzLm1hcCgoc25hY2tiYXIpID0+IChcbiAgICAgICAgPFNuYWNrYmFyIGtleT17c25hY2tiYXIuaWR9IHNuYWNrYmFyPXtzbmFja2Jhcn0gY2xvc2VTbmFja2Jhcj17KCkgPT4gY2xvc2VTbmFja2JhcihzbmFja2Jhcil9IC8+XG4gICAgICApKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFjdGl2ZVNuYWNrYmFycztcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJTbmFja2JhciIsIkFjdGl2ZVNuYWNrYmFycyIsInN1YmplY3QiLCJzbmFja2JhcnMiLCJzZXRTbmFja2JhcnMiLCJjbG9zZVNuYWNrYmFyIiwic25hY2tiYXIiLCJmaWx0ZXIiLCJ0Iiwic3Vic2NyaXB0aW9uIiwic3Vic2NyaWJlIiwibiIsInN1YnRpdGxlIiwiYWN0aW9uQnV0dG9uTGFiZWwiLCJvbkFjdGlvbkJ1dHRvbkNsaWNrIiwia2luZCIsInRpdGxlIiwidW5zdWJzY3JpYmUiLCJtYXAiLCJrZXkiLCJpZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/snackbars/active-snackbar.component.tsx\n");
|
|
7627
7627
|
|
|
7628
7628
|
/***/ }),
|
|
7629
7629
|
|
|
@@ -7634,7 +7634,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7634
7634
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7635
7635
|
|
|
7636
7636
|
"use strict";
|
|
7637
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderSnackbars: () => (/* binding */ renderSnackbars),\n/* harmony export */ showSnackbar: () => (/* binding */ showSnackbar)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _active_snackbar_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./active-snackbar.component */ \"../../framework/esm-styleguide/src/snackbars/active-snackbar.component.tsx\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\nvar snackbarsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.Subject();\nvar snackbarId = 0;\n/**\n * Starts a rendering host for snack bar notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the snack bar notifications.\n */ function renderSnackbars(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_snackbar_component__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n subject: snackbarsSubject\n }));\n }\n}\nfunction isNotEmpty(title) {\n return typeof title === \"string\" ? title.trim().length > 0 : false;\n}\n/**\n * Displays a snack bar notification in the UI.\n * @param snackbar The description of the snack bar to display.\n */ function showSnackbar(snackbar) {\n if (snackbar && isNotEmpty(snackbar.title)) {\n setTimeout(function() {\n snackbarsSubject.next(_object_spread_props(_object_spread({}, snackbar), {\n id: snackbarId++\n }));\n }, 0);\n } else {\n console.error(\"showSnackbar must be called with an object having a 'title' property that is a non-empty string\");\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9zbmFja2JhcnMvaW5kZXgudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEseUJBQXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0M7QUFDb0I7QUFDZjtBQUcyQjtBQUUxRCxJQUFNSSxtQkFBbUIsSUFBSUYseUNBQU9BO0FBQ3BDLElBQUlHLGFBQWE7QUFFakI7Ozs7Q0FJQyxHQUNNLFNBQVNDLGdCQUFnQkMsTUFBMEIsRUFBRTtJQUMxRCxJQUFJQSxRQUFRO1FBQ1YsSUFBTUMsT0FBT1AsNERBQVVBLENBQUNNO1FBQ3hCQyxLQUFLQyxNQUFNLGVBQUMsMkRBQUNOLGtFQUFlQTtZQUFDTyxTQUFTTjs7SUFDeEMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTTyxXQUFXQyxLQUFhLEVBQUU7SUFDakMsT0FBTyxPQUFPQSxVQUFVLFdBQVdBLE1BQU1DLElBQUksR0FBR0MsTUFBTSxHQUFHLElBQUksS0FBSztBQUNwRTtBQUVBOzs7Q0FHQyxHQUNNLFNBQVNDLGFBQWFDLFFBQTRCLEVBQUU7SUFDekQsSUFBSUEsWUFBWUwsV0FBV0ssU0FBU0osS0FBSyxHQUFHO1FBQzFDSyxXQUFXLFdBQU07WUFDZmIsaUJBQWlCYyxJQUFJLENBQUMsd0NBQ2pCRjtnQkFDSEcsSUFBSWQ7O1FBRVIsR0FBRztJQUNMLE9BQU87UUFDTGUsUUFBUUMsS0FBSyxDQUFFO0lBQ2pCLENBQUM7QUFDSCxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvc3JjL3NuYWNrYmFycy9pbmRleC50c3g/
|
|
7637
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderSnackbars: () => (/* binding */ renderSnackbars),\n/* harmony export */ showSnackbar: () => (/* binding */ showSnackbar)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _active_snackbar_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./active-snackbar.component */ \"../../framework/esm-styleguide/src/snackbars/active-snackbar.component.tsx\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\nvar snackbarsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.Subject();\nvar snackbarId = 0;\n/**\n * Starts a rendering host for snack bar notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the snack bar notifications.\n */ function renderSnackbars(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_snackbar_component__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n subject: snackbarsSubject\n }));\n }\n}\nfunction isNotEmpty(title) {\n return typeof title === \"string\" ? title.trim().length > 0 : false;\n}\n/**\n * Displays a snack bar notification in the UI.\n * @param snackbar The description of the snack bar to display.\n */ function showSnackbar(snackbar) {\n if (snackbar && isNotEmpty(snackbar.title)) {\n setTimeout(function() {\n snackbarsSubject.next(_object_spread_props(_object_spread({}, snackbar), {\n id: snackbarId++\n }));\n }, 0);\n } else {\n console.error(\"showSnackbar must be called with an object having a 'title' property that is a non-empty string\");\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy9zbmFja2JhcnMvaW5kZXgudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEseUJBQXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0M7QUFDb0I7QUFDZjtBQUcyQjtBQUUxRCxJQUFNSSxtQkFBbUIsSUFBSUYseUNBQU9BO0FBQ3BDLElBQUlHLGFBQWE7QUFFakI7Ozs7Q0FJQyxHQUNNLFNBQVNDLGdCQUFnQkMsTUFBMEIsRUFBRTtJQUMxRCxJQUFJQSxRQUFRO1FBQ1YsSUFBTUMsT0FBT1AsNERBQVVBLENBQUNNO1FBQ3hCQyxLQUFLQyxNQUFNLGVBQUMsMkRBQUNOLGtFQUFlQTtZQUFDTyxTQUFTTjs7SUFDeEMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTTyxXQUFXQyxLQUFhLEVBQUU7SUFDakMsT0FBTyxPQUFPQSxVQUFVLFdBQVdBLE1BQU1DLElBQUksR0FBR0MsTUFBTSxHQUFHLElBQUksS0FBSztBQUNwRTtBQUVBOzs7Q0FHQyxHQUNNLFNBQVNDLGFBQWFDLFFBQTRCLEVBQUU7SUFDekQsSUFBSUEsWUFBWUwsV0FBV0ssU0FBU0osS0FBSyxHQUFHO1FBQzFDSyxXQUFXLFdBQU07WUFDZmIsaUJBQWlCYyxJQUFJLENBQUMsd0NBQ2pCRjtnQkFDSEcsSUFBSWQ7O1FBRVIsR0FBRztJQUNMLE9BQU87UUFDTGUsUUFBUUMsS0FBSyxDQUFFO0lBQ2pCLENBQUM7QUFDSCxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvc3JjL3NuYWNrYmFycy9pbmRleC50c3g/NGYzYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgVUkgKi9cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB0eXBlIHsgU25hY2tiYXJEZXNjcmlwdG9yLCBTbmFja2Jhck1ldGEgfSBmcm9tICcuL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgQWN0aXZlU25hY2tiYXJzIGZyb20gJy4vYWN0aXZlLXNuYWNrYmFyLmNvbXBvbmVudCc7XG5cbmNvbnN0IHNuYWNrYmFyc1N1YmplY3QgPSBuZXcgU3ViamVjdDxTbmFja2Jhck1ldGE+KCk7XG5sZXQgc25hY2tiYXJJZCA9IDA7XG5cbi8qKlxuICogU3RhcnRzIGEgcmVuZGVyaW5nIGhvc3QgZm9yIHNuYWNrIGJhciBub3RpZmljYXRpb25zLiBTaG91bGQgb25seSBiZSB1c2VkIGJ5IHRoZSBhcHAgc2hlbGwuXG4gKiBVbmRlciBub3JtYWwgY29uZGl0aW9ucyB0aGVyZSBpcyBubyBuZWVkIHRvIHVzZSB0aGlzIGZ1bmN0aW9uLlxuICogQHBhcmFtIHRhcmdldCBUaGUgY29udGFpbmVyIHRhcmdldCB0aGF0IGhvc3RzIHRoZSBzbmFjayBiYXIgbm90aWZpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclNuYWNrYmFycyh0YXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCkge1xuICBpZiAodGFyZ2V0KSB7XG4gICAgY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3QodGFyZ2V0KTtcbiAgICByb290LnJlbmRlcig8QWN0aXZlU25hY2tiYXJzIHN1YmplY3Q9e3NuYWNrYmFyc1N1YmplY3R9IC8+KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc05vdEVtcHR5KHRpdGxlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiB0aXRsZSA9PT0gJ3N0cmluZycgPyB0aXRsZS50cmltKCkubGVuZ3RoID4gMCA6IGZhbHNlO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgc25hY2sgYmFyIG5vdGlmaWNhdGlvbiBpbiB0aGUgVUkuXG4gKiBAcGFyYW0gc25hY2tiYXIgVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzbmFjayBiYXIgdG8gZGlzcGxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dTbmFja2JhcihzbmFja2JhcjogU25hY2tiYXJEZXNjcmlwdG9yKSB7XG4gIGlmIChzbmFja2JhciAmJiBpc05vdEVtcHR5KHNuYWNrYmFyLnRpdGxlKSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc25hY2tiYXJzU3ViamVjdC5uZXh0KHtcbiAgICAgICAgLi4uc25hY2tiYXIsXG4gICAgICAgIGlkOiBzbmFja2JhcklkKyssXG4gICAgICB9KTtcbiAgICB9LCAwKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKGBzaG93U25hY2tiYXIgbXVzdCBiZSBjYWxsZWQgd2l0aCBhbiBvYmplY3QgaGF2aW5nIGEgJ3RpdGxlJyBwcm9wZXJ0eSB0aGF0IGlzIGEgbm9uLWVtcHR5IHN0cmluZ2ApO1xuICB9XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJjcmVhdGVSb290IiwiU3ViamVjdCIsIkFjdGl2ZVNuYWNrYmFycyIsInNuYWNrYmFyc1N1YmplY3QiLCJzbmFja2JhcklkIiwicmVuZGVyU25hY2tiYXJzIiwidGFyZ2V0Iiwicm9vdCIsInJlbmRlciIsInN1YmplY3QiLCJpc05vdEVtcHR5IiwidGl0bGUiLCJ0cmltIiwibGVuZ3RoIiwic2hvd1NuYWNrYmFyIiwic25hY2tiYXIiLCJzZXRUaW1lb3V0IiwibmV4dCIsImlkIiwiY29uc29sZSIsImVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/snackbars/index.tsx\n");
|
|
7638
7638
|
|
|
7639
7639
|
/***/ }),
|
|
7640
7640
|
|
|
@@ -7678,7 +7678,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7678
7678
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7679
7679
|
|
|
7680
7680
|
"use strict";
|
|
7681
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _toast_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toast.component */ \"../../framework/esm-styleguide/src/toasts/toast.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActiveToasts = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), toasts = _useState[0], setToasts = _useState[1];\n var closeToast = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(toast) {\n setToasts(function(toasts) {\n return toasts.filter(function(t) {\n return t !== toast;\n });\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(toast) {\n return setToasts(function(toasts) {\n return _to_consumable_array(toasts.filter(function(t) {\n return t.description !== toast.description || t.kind !== toast.kind || t.title !== toast.title;\n })).concat([\n toast\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, toasts.map(function(toast) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toast_component__WEBPACK_IMPORTED_MODULE_1__.Toast, {\n key: toast.id,\n toast: toast,\n closeToast: function() {\n return closeToast(toast);\n }\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActiveToasts);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7681
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _toast_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toast.component */ \"../../framework/esm-styleguide/src/toasts/toast.component.tsx\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar ActiveToasts = function(param) {\n var subject = param.subject;\n var _useState = _sliced_to_array((0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]), 2), toasts = _useState[0], setToasts = _useState[1];\n var closeToast = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function(toast) {\n setToasts(function(toasts) {\n return toasts.filter(function(t) {\n return t !== toast;\n });\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function() {\n var subscription = subject.subscribe(function(toast) {\n return setToasts(function(toasts) {\n return _to_consumable_array(toasts.filter(function(t) {\n return t.description !== toast.description || t.kind !== toast.kind || t.title !== toast.title;\n })).concat([\n toast\n ]);\n });\n });\n return function() {\n return subscription.unsubscribe();\n };\n }, [\n subject\n ]);\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, toasts.map(function(toast) {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_toast_component__WEBPACK_IMPORTED_MODULE_1__.Toast, {\n key: toast.id,\n toast: toast,\n closeToast: function() {\n return closeToast(toast);\n }\n });\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ActiveToasts);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy90b2FzdHMvYWN0aXZlLXRvYXN0cy5jb21wb25lbnQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWdFO0FBR3RCO0FBTTFDLElBQU1LLGVBQTRDLGdCQUFpQjtRQUFkQyxnQkFBQUE7SUFDbkQsSUFBNEJILDZCQUFBQSwrQ0FBUUEsQ0FBK0IsRUFBRSxPQUE5REksU0FBcUJKLGNBQWJLLFlBQWFMO0lBRTVCLElBQU1NLGFBQWFSLGtEQUFXQSxDQUFDLFNBQUNTLE9BQVU7UUFDeENGLFVBQVUsU0FBQ0Q7bUJBQVdBLE9BQU9JLE1BQU0sQ0FBQyxTQUFDQzt1QkFBTUEsTUFBTUY7OztJQUNuRCxHQUFHLEVBQUU7SUFFTFIsZ0RBQVNBLENBQUMsV0FBTTtRQUNkLElBQU1XLGVBQWVQLFFBQVFRLFNBQVMsQ0FBQyxTQUFDSjttQkFDdENGLFVBQVUsU0FBQ0Q7dUJBQVcscUJBQ2pCQSxPQUFPSSxNQUFNLENBQ2QsU0FBQ0M7MkJBQU1BLEVBQUVHLFdBQVcsS0FBS0wsTUFBTUssV0FBVyxJQUFJSCxFQUFFSSxJQUFJLEtBQUtOLE1BQU1NLElBQUksSUFBSUosRUFBRUssS0FBSyxLQUFLUCxNQUFNTyxLQUFLOzJCQUY1RTtvQkFJcEJQO2lCQUNEOzs7UUFHSCxPQUFPO21CQUFNRyxhQUFhSyxXQUFXOztJQUN2QyxHQUFHO1FBQUNaO0tBQVE7SUFFWixxQkFDRSwwSEFDR0MsT0FBT1ksR0FBRyxDQUFDLFNBQUNUOzZCQUNYLDJEQUFDTixtREFBS0E7WUFBQ2dCLEtBQUtWLE1BQU1XLEVBQUU7WUFBRVgsT0FBT0E7WUFBT0QsWUFBWTt1QkFBTUEsV0FBV0M7Ozs7QUFJekU7QUFFQSxpRUFBZUwsWUFBWUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy90b2FzdHMvYWN0aXZlLXRvYXN0cy5jb21wb25lbnQudHN4PzkwZjkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IFRvYXN0Tm90aWZpY2F0aW9uTWV0YSB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgQWN0aXZlVG9hc3RzUHJvcHMge1xuICBzdWJqZWN0OiBTdWJqZWN0PFRvYXN0Tm90aWZpY2F0aW9uTWV0YT47XG59XG5cbmNvbnN0IEFjdGl2ZVRvYXN0czogUmVhY3QuRkM8QWN0aXZlVG9hc3RzUHJvcHM+ID0gKHsgc3ViamVjdCB9KSA9PiB7XG4gIGNvbnN0IFt0b2FzdHMsIHNldFRvYXN0c10gPSB1c2VTdGF0ZTxBcnJheTxUb2FzdE5vdGlmaWNhdGlvbk1ldGE+PihbXSk7XG5cbiAgY29uc3QgY2xvc2VUb2FzdCA9IHVzZUNhbGxiYWNrKCh0b2FzdCkgPT4ge1xuICAgIHNldFRvYXN0cygodG9hc3RzKSA9PiB0b2FzdHMuZmlsdGVyKCh0KSA9PiB0ICE9PSB0b2FzdCkpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBzdWJqZWN0LnN1YnNjcmliZSgodG9hc3QpID0+XG4gICAgICBzZXRUb2FzdHMoKHRvYXN0cykgPT4gW1xuICAgICAgICAuLi50b2FzdHMuZmlsdGVyKFxuICAgICAgICAgICh0KSA9PiB0LmRlc2NyaXB0aW9uICE9PSB0b2FzdC5kZXNjcmlwdGlvbiB8fCB0LmtpbmQgIT09IHRvYXN0LmtpbmQgfHwgdC50aXRsZSAhPT0gdG9hc3QudGl0bGUsXG4gICAgICAgICksXG4gICAgICAgIHRvYXN0LFxuICAgICAgXSksXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfSwgW3N1YmplY3RdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7dG9hc3RzLm1hcCgodG9hc3QpID0+IChcbiAgICAgICAgPFRvYXN0IGtleT17dG9hc3QuaWR9IHRvYXN0PXt0b2FzdH0gY2xvc2VUb2FzdD17KCkgPT4gY2xvc2VUb2FzdCh0b2FzdCl9IC8+XG4gICAgICApKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFjdGl2ZVRvYXN0cztcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJUb2FzdCIsIkFjdGl2ZVRvYXN0cyIsInN1YmplY3QiLCJ0b2FzdHMiLCJzZXRUb2FzdHMiLCJjbG9zZVRvYXN0IiwidG9hc3QiLCJmaWx0ZXIiLCJ0Iiwic3Vic2NyaXB0aW9uIiwic3Vic2NyaWJlIiwiZGVzY3JpcHRpb24iLCJraW5kIiwidGl0bGUiLCJ1bnN1YnNjcmliZSIsIm1hcCIsImtleSIsImlkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/toasts/active-toasts.component.tsx\n");
|
|
7682
7682
|
|
|
7683
7683
|
/***/ }),
|
|
7684
7684
|
|
|
@@ -7689,7 +7689,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
7689
7689
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7690
7690
|
|
|
7691
7691
|
"use strict";
|
|
7692
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderToasts: () => (/* binding */ renderToasts),\n/* harmony export */ showToast: () => (/* binding */ showToast)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _active_toasts_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./active-toasts.component */ \"../../framework/esm-styleguide/src/toasts/active-toasts.component.tsx\");\n/* harmony import */ var lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es/isEmpty */ \"../../../node_modules/lodash-es/isEmpty.js\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\n\nvar toastsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.Subject();\nvar toastId = 0;\n/**\n * Starts a rendering host for toast notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the toast notifications.\n */ function renderToasts(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_toasts_component__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n subject: toastsSubject\n }));\n }\n}\nfunction isNotEmpty(description) {\n return typeof description === \"string\" ? description.trim().length > 0 : typeof description === \"object\" ? !(0,lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(description) : false;\n}\n/**\n * Displays a toast notification in the UI.\n * @param toast The description of the toast to display.\n */ function showToast(toast) {\n if (toast && isNotEmpty(toast.description)) {\n setTimeout(function() {\n // always use in subsequent cycle\n toastsSubject.next(_object_spread_props(_object_spread({}, toast), {\n id: toastId++\n }));\n }, 0);\n } else {\n console.error(\"showToast must be called with an object having a 'description' property that is a non-empty string or object\");\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7692
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderToasts: () => (/* binding */ renderToasts),\n/* harmony export */ showToast: () => (/* binding */ showToast)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"../../../node_modules/react-dom/client.js\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(rxjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _active_toasts_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./active-toasts.component */ \"../../framework/esm-styleguide/src/toasts/active-toasts.component.tsx\");\n/* harmony import */ var lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es/isEmpty */ \"../../../node_modules/lodash-es/isEmpty.js\");\n/** @module @category UI */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\n\n\nvar toastsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.Subject();\nvar toastId = 0;\n/**\n * Starts a rendering host for toast notifications. Should only be used by the app shell.\n * Under normal conditions there is no need to use this function.\n * @param target The container target that hosts the toast notifications.\n */ function renderToasts(target) {\n if (target) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(target);\n root.render(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_active_toasts_component__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n subject: toastsSubject\n }));\n }\n}\nfunction isNotEmpty(description) {\n return typeof description === \"string\" ? description.trim().length > 0 : typeof description === \"object\" ? !(0,lodash_es_isEmpty__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(description) : false;\n}\n/**\n * Displays a toast notification in the UI.\n * @param toast The description of the toast to display.\n */ function showToast(toast) {\n if (toast && isNotEmpty(toast.description)) {\n setTimeout(function() {\n // always use in subsequent cycle\n toastsSubject.next(_object_spread_props(_object_spread({}, toast), {\n id: toastId++\n }));\n }, 0);\n } else {\n console.error(\"showToast must be called with an object having a 'description' property that is a non-empty string or object\");\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL3NyYy90b2FzdHMvaW5kZXgudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlCQUF5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNDO0FBQ29CO0FBQ2Y7QUFFc0I7QUFDYjtBQUV4QyxJQUFNSyxnQkFBZ0IsSUFBSUgseUNBQU9BO0FBQ2pDLElBQUlJLFVBQVU7QUFFZDs7OztDQUlDLEdBQ00sU0FBU0MsYUFBYUMsTUFBMEIsRUFBRTtJQUN2RCxJQUFJQSxRQUFRO1FBQ1YsSUFBTUMsT0FBT1IsNERBQVVBLENBQUNPO1FBQ3hCQyxLQUFLQyxNQUFNLGVBQUMsMkRBQUNQLGdFQUFZQTtZQUFDUSxTQUFTTjs7SUFDckMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTTyxXQUFXQyxXQUE0QixFQUFFO0lBQ2hELE9BQU8sT0FBT0EsZ0JBQWdCLFdBQzFCQSxZQUFZQyxJQUFJLEdBQUdDLE1BQU0sR0FBRyxJQUM1QixPQUFPRixnQkFBZ0IsV0FDckIsQ0FBQ1QsNkRBQU9BLENBQUNTLGVBQ1QsS0FBSztBQUNiO0FBRUE7OztDQUdDLEdBQ00sU0FBU0csVUFBVUMsS0FBc0IsRUFBRTtJQUNoRCxJQUFJQSxTQUFTTCxXQUFXSyxNQUFNSixXQUFXLEdBQUc7UUFDMUNLLFdBQVcsV0FBTTtZQUNmLGlDQUFpQztZQUNqQ2IsY0FBY2MsSUFBSSxDQUFDLHdDQUNkRjtnQkFDSEcsSUFBSWQ7O1FBRVIsR0FBRztJQUNMLE9BQU87UUFDTGUsUUFBUUMsS0FBSyxDQUNWO0lBRUwsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9zcmMvdG9hc3RzL2luZGV4LnRzeD8zODY3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBjYXRlZ29yeSBVSSAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgVG9hc3REZXNjcmlwdG9yLCBUb2FzdE5vdGlmaWNhdGlvbk1ldGEgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgQWN0aXZlVG9hc3RzIGZyb20gJy4vYWN0aXZlLXRvYXN0cy5jb21wb25lbnQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoLWVzL2lzRW1wdHknO1xuXG5jb25zdCB0b2FzdHNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8VG9hc3ROb3RpZmljYXRpb25NZXRhPigpO1xubGV0IHRvYXN0SWQgPSAwO1xuXG4vKipcbiAqIFN0YXJ0cyBhIHJlbmRlcmluZyBob3N0IGZvciB0b2FzdCBub3RpZmljYXRpb25zLiBTaG91bGQgb25seSBiZSB1c2VkIGJ5IHRoZSBhcHAgc2hlbGwuXG4gKiBVbmRlciBub3JtYWwgY29uZGl0aW9ucyB0aGVyZSBpcyBubyBuZWVkIHRvIHVzZSB0aGlzIGZ1bmN0aW9uLlxuICogQHBhcmFtIHRhcmdldCBUaGUgY29udGFpbmVyIHRhcmdldCB0aGF0IGhvc3RzIHRoZSB0b2FzdCBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyVG9hc3RzKHRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gIGlmICh0YXJnZXQpIHtcbiAgICBjb25zdCByb290ID0gY3JlYXRlUm9vdCh0YXJnZXQpO1xuICAgIHJvb3QucmVuZGVyKDxBY3RpdmVUb2FzdHMgc3ViamVjdD17dG9hc3RzU3ViamVjdH0gLz4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTm90RW1wdHkoZGVzY3JpcHRpb246IFJlYWN0LlJlYWN0Tm9kZSkge1xuICByZXR1cm4gdHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJ1xuICAgID8gZGVzY3JpcHRpb24udHJpbSgpLmxlbmd0aCA+IDBcbiAgICA6IHR5cGVvZiBkZXNjcmlwdGlvbiA9PT0gJ29iamVjdCdcbiAgICAgID8gIWlzRW1wdHkoZGVzY3JpcHRpb24pXG4gICAgICA6IGZhbHNlO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgdG9hc3Qgbm90aWZpY2F0aW9uIGluIHRoZSBVSS5cbiAqIEBwYXJhbSB0b2FzdCBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHRvYXN0IHRvIGRpc3BsYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG93VG9hc3QodG9hc3Q6IFRvYXN0RGVzY3JpcHRvcikge1xuICBpZiAodG9hc3QgJiYgaXNOb3RFbXB0eSh0b2FzdC5kZXNjcmlwdGlvbikpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIGFsd2F5cyB1c2UgaW4gc3Vic2VxdWVudCBjeWNsZVxuICAgICAgdG9hc3RzU3ViamVjdC5uZXh0KHtcbiAgICAgICAgLi4udG9hc3QsXG4gICAgICAgIGlkOiB0b2FzdElkKyssXG4gICAgICB9KTtcbiAgICB9LCAwKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYHNob3dUb2FzdCBtdXN0IGJlIGNhbGxlZCB3aXRoIGFuIG9iamVjdCBoYXZpbmcgYSAnZGVzY3JpcHRpb24nIHByb3BlcnR5IHRoYXQgaXMgYSBub24tZW1wdHkgc3RyaW5nIG9yIG9iamVjdGAsXG4gICAgKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlUm9vdCIsIlN1YmplY3QiLCJBY3RpdmVUb2FzdHMiLCJpc0VtcHR5IiwidG9hc3RzU3ViamVjdCIsInRvYXN0SWQiLCJyZW5kZXJUb2FzdHMiLCJ0YXJnZXQiLCJyb290IiwicmVuZGVyIiwic3ViamVjdCIsImlzTm90RW1wdHkiLCJkZXNjcmlwdGlvbiIsInRyaW0iLCJsZW5ndGgiLCJzaG93VG9hc3QiLCJ0b2FzdCIsInNldFRpbWVvdXQiLCJuZXh0IiwiaWQiLCJjb25zb2xlIiwiZXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/src/toasts/index.tsx\n");
|
|
7693
7693
|
|
|
7694
7694
|
/***/ }),
|
|
7695
7695
|
|
|
@@ -8163,7 +8163,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8163
8163
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
8164
8164
|
|
|
8165
8165
|
"use strict";
|
|
8166
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatDate: () => (/* binding */ formatDate),\n/* harmony export */ formatDatetime: () => (/* binding */ formatDatetime),\n/* harmony export */ formatTime: () => (/* binding */ formatTime),\n/* harmony export */ getDefaultCalendar: () => (/* binding */ getDefaultCalendar),\n/* harmony export */ getLocale: () => (/* binding */ getLocale),\n/* harmony export */ isOmrsDateStrict: () => (/* binding */ isOmrsDateStrict),\n/* harmony export */ isOmrsDateToday: () => (/* binding */ isOmrsDateToday),\n/* harmony export */ parseDate: () => (/* binding */ parseDate),\n/* harmony export */ registerDefaultCalendar: () => (/* binding */ registerDefaultCalendar),\n/* harmony export */ toDateObjectStrict: () => (/* binding */ toDateObjectStrict),\n/* harmony export */ toOmrsDateFormat: () => (/* binding */ toOmrsDateFormat),\n/* harmony export */ toOmrsDayDateFormat: () => (/* binding */ toOmrsDayDateFormat),\n/* harmony export */ toOmrsIsoString: () => (/* binding */ toOmrsIsoString),\n/* harmony export */ toOmrsTimeString: () => (/* binding */ toOmrsTimeString),\n/* harmony export */ toOmrsTimeString24: () => (/* binding */ toOmrsTimeString24),\n/* harmony export */ toOmrsYearlessDateFormat: () => (/* binding */ toOmrsYearlessDateFormat)\n/* harmony export */ });\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dayjs/plugin/utc */ \"../../../node_modules/dayjs/plugin/utc.js\");\n/* harmony import */ var dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs/plugin/isToday */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * @module\n * @category Date and Time\n */ function _check_private_redeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\nfunction _class_apply_descriptor_get(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _class_extract_field_descriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nfunction _class_private_field_get(receiver, privateMap) {\n var descriptor = _class_extract_field_descriptor(receiver, privateMap, \"get\");\n return _class_apply_descriptor_get(receiver, descriptor);\n}\nfunction _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_0___default().extend((dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1___default()));\ndayjs__WEBPACK_IMPORTED_MODULE_0___default().extend((dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2___default()));\nvar isoFormat = \"YYYY-MM-DDTHH:mm:ss.SSSZZ\";\n/**\n * This function checks whether a date string is the OpenMRS ISO format.\n * The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ\n */ function isOmrsDateStrict(omrsPayloadString) {\n // omrs format 2018-03-19T00:00:00.000+0300\n if (omrsPayloadString === null || omrsPayloadString === undefined || omrsPayloadString.trim().length !== 28) {\n return false;\n }\n omrsPayloadString = omrsPayloadString.trim();\n // 11th character will always be T\n if (omrsPayloadString[10] !== \"T\") {\n return false;\n }\n // checking time format\n if (omrsPayloadString[13] !== \":\" || omrsPayloadString[16] !== \":\" || omrsPayloadString[19] !== \".\") {\n return false;\n }\n // checking UTC offset format\n if (!(omrsPayloadString[23] === \"+\" || omrsPayloadString[23] === \"-\")) {\n return false;\n }\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(omrsPayloadString, isoFormat).isValid();\n}\n/**\n *\n * @param date Checks if the provided date is today.\n */ function isOmrsDateToday(date) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).isToday();\n}\n/**\n * Converts the object to a date object if it is an OpenMRS ISO date time string.\n * Otherwise returns null.\n */ function toDateObjectStrict(omrsDateString) {\n if (!isOmrsDateStrict(omrsDateString)) {\n return null;\n }\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(omrsDateString, isoFormat).toDate();\n}\n/**\n * Formats the input to OpenMRS ISO format: \"YYYY-MM-DDTHH:mm:ss.SSSZZ\".\n */ function toOmrsIsoString(date) {\n var toUTC = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var d = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date);\n if (toUTC) {\n d = d.utc();\n }\n return d.format(isoFormat);\n}\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm\".\n */ function toOmrsTimeString24(date) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).format(\"HH:mm\");\n}\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm A\".\n */ function toOmrsTimeString(date) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default().utc(date).format(\"HH:mm A\");\n}\n/**\n * @deprecated use `formatDate(date, \"wide\")`\n * Formats the input as a date string using the format \"DD - MMM - YYYY\".\n */ function toOmrsDayDateFormat(date) {\n return toOmrsDateFormat(date, \"DD - MMM - YYYY\");\n}\n/**\n * @deprecated use `formatDate(date, \"no year\")`\n * Formats the input as a date string using the format \"DD-MMM\".\n */ function toOmrsYearlessDateFormat(date) {\n return toOmrsDateFormat(date, \"DD-MMM\");\n}\n/**\n * @deprecated use `formatDate(date)`\n * Formats the input as a date string. By default the format \"YYYY-MMM-DD\" is used.\n */ function toOmrsDateFormat(date) {\n var format = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"YYYY-MMM-DD\";\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).format(format);\n}\n/**\n * Utility function to parse an arbitrary string into a date.\n * Uses `dayjs(dateString)`.\n */ function parseDate(dateString) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(dateString).toDate();\n}\nvar defaultOptions = {\n mode: \"standard\",\n time: \"for today\",\n day: true,\n year: true,\n noToday: false\n};\nvar _registry = /*#__PURE__*/ new WeakMap();\n/**\n * Internal cache for per-locale calendars\n */ var LocaleCalendars = /*#__PURE__*/ function() {\n \"use strict\";\n function LocaleCalendars() {\n _class_call_check(this, LocaleCalendars);\n _class_private_field_init(this, _registry, {\n writable: true,\n value: new Map()\n });\n _class_private_field_get(this, _registry).set(\"am\", \"ethiopic\");\n }\n _create_class(LocaleCalendars, [\n {\n key: \"register\",\n value: function register(locale, calendar) {\n _class_private_field_get(this, _registry).set(locale, calendar);\n }\n },\n {\n key: \"getCalendar\",\n value: function getCalendar(locale) {\n if (!Boolean(locale)) {\n return undefined;\n }\n if (locale.calendar) {\n return locale.calendar;\n }\n if (locale.region) {\n var key = \"\".concat(locale.language, \"-\").concat(locale.region);\n if (_class_private_field_get(this, _registry).has(key)) {\n return _class_private_field_get(this, _registry).get(key);\n }\n }\n if (locale.language && _class_private_field_get(this, _registry).has(locale.language)) {\n return _class_private_field_get(this, _registry).get(locale.language);\n }\n var defaultCalendar = new Intl.DateTimeFormat(locale.toString()).resolvedOptions().calendar;\n // cache this result\n _class_private_field_get(this, _registry).set(\"\".concat(locale.language).concat(locale.region ? \"-\".concat(locale.region) : \"\"), defaultCalendar);\n return defaultCalendar;\n }\n }\n ]);\n return LocaleCalendars;\n}();\nvar registeredLocaleCalendars = new LocaleCalendars();\n/**\n * Provides the name of the calendar to associate, as a default, with the given base locale.\n *\n * @example\n * ```\n * registerDefaultCalendar('en', 'buddhist') // sets the default calendar for the 'en' locale to Buddhist.\n * ```\n *\n * @param baseLocale the locale to register this calendar for\n * @param calendar the calendar to use for this registration\n */ function registerDefaultCalendar(locale, calendar) {\n registeredLocaleCalendars.register(locale, calendar);\n}\n/**\n * Retrieves the default calendar for the specified locale if any.\n *\n * @param locale the locale to look-up\n */ function getDefaultCalendar(locale) {\n var locale_ = locale !== null && locale !== void 0 ? locale : getLocale();\n return registeredLocaleCalendars.getCalendar(_instanceof(locale_, Intl.Locale) ? locale_ : new Intl.Locale(locale_));\n}\n/**\n * Formats the input date according to the current locale and the\n * given options.\n *\n * Default options:\n * - mode: \"standard\",\n * - time: \"for today\",\n * - day: true,\n * - year: true\n * - noToday: false\n *\n * If the date is today then \"Today\" is produced (in the locale language).\n * This behavior can be disabled with `noToday: true`.\n *\n * When time is included, it is appended with a comma and a space. This\n * agrees with the output of `Date.prototype.toLocaleString` for *most*\n * locales.\n */ // TODO: Shouldn't throw on null input\nfunction formatDate(date, options) {\n var locale = getLocale();\n var _locale = new Intl.Locale(locale);\n var _$_object_spread = _object_spread({}, defaultOptions, {\n noToday: _locale.language === \"am\" ? true : false\n }, options), calendar = _$_object_spread.calendar, mode = _$_object_spread.mode, time = _$_object_spread.time, day = _$_object_spread.day, year = _$_object_spread.year, noToday = _$_object_spread.noToday;\n var formatCalendar = calendar !== null && calendar !== void 0 ? calendar : getDefaultCalendar(_locale);\n var formatterOptions = {\n calendar: formatCalendar,\n year: year ? \"numeric\" : undefined,\n month: \"short\",\n day: day ? \"2-digit\" : undefined\n };\n var localeString;\n var _$isToday = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).isToday();\n if (_$isToday && !noToday) {\n // This produces the word \"Today\" in the language of `locale`\n var rtf = new Intl.RelativeTimeFormat(locale, {\n numeric: \"auto\"\n });\n localeString = rtf.format(0, \"day\");\n localeString = localeString[0].toLocaleUpperCase(locale) + localeString.slice(1);\n } else {\n if (_locale.language === \"en\") {\n // This locale override is here rather than in `getLocale`\n // because Americans should see AM/PM for times.\n locale = \"en-GB\";\n }\n var formatter = new Intl.DateTimeFormat(locale, formatterOptions);\n var parts = formatter.formatToParts(date);\n if ((_locale.language === \"en\" || _locale.language === \"am\") && mode == \"standard\" && year && day) {\n // Custom formatting for English and Amharic. Use hyphens instead of spaces.\n parts = parts.map(formatParts(\"-\"));\n }\n if (mode == \"wide\") {\n parts = parts.map(formatParts(\" — \")); // space-emdash-space\n }\n // omit the era when using the Ethiopic calendar\n if (formatterOptions.calendar === \"ethiopic\") {\n parts = parts.filter(function(part, idx, values) {\n if (part.type === \"era\" || part.type === \"literal\" && idx < values.length - 1 && values[idx + 1].type === \"era\") {\n return false;\n }\n return true;\n });\n }\n localeString = parts.map(function(p) {\n return p.value;\n }).join(\"\");\n }\n if (time === true || _$isToday && time === \"for today\") {\n localeString += \", \".concat(formatTime(date));\n }\n return localeString;\n}\n// Internal curried call-back for map()\nvar formatParts = function(separator) {\n return function(part, idx, values) {\n if (part.type !== \"literal\" || part.value !== \" \") {\n return part;\n }\n if (idx < values.length - 1 && values[idx + 1].type === \"era\") {\n return part;\n }\n return {\n type: \"literal\",\n value: separator\n };\n };\n};\n/**\n * Formats the input as a time, according to the current locale.\n * 12-hour or 24-hour clock depends on locale.\n */ function formatTime(date) {\n return date.toLocaleTimeString(getLocale(), {\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n}\n/**\n * Formats the input into a string showing the date and time, according\n * to the current locale. The `mode` parameter is as described for\n * `formatDate`.\n *\n * This is created by concatenating the results of `formatDate`\n * and `formatTime` with a comma and space. This agrees with the\n * output of `Date.prototype.toLocaleString` for *most* locales.\n */ function formatDatetime(date, options) {\n return formatDate(date, _object_spread_props(_object_spread({}, options), {\n time: true\n }));\n}\n/**\n * Returns the current locale of the application.\n * @returns string\n */ function getLocale() {\n var language = window.i18next.language;\n language = language.replace(\"_\", \"-\"); // just in case\n // hack for `ht` until https://unicode-org.atlassian.net/browse/CLDR-14956 is fixed\n if (language === \"ht\") {\n language = \"fr-HT\";\n }\n return language;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS11dGlscy9zcmMvb21ycy1kYXRlcy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7OztDQUdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXlCO0FBQ1M7QUFDUTtBQUUzQ0EsbURBQVksQ0FBQ0MseURBQUdBO0FBQ2hCRCxtREFBWSxDQUFDRSw2REFBT0E7QUFVcEIsSUFBTUUsWUFBWTtBQUVsQjs7O0NBR0MsR0FDTSxTQUFTQyxpQkFBaUJDLGlCQUF5QixFQUFXO0lBQ25FLDJDQUEyQztJQUMzQyxJQUFJQSxzQkFBc0IsSUFBSSxJQUFJQSxzQkFBc0JDLGFBQWFELGtCQUFrQkUsSUFBSSxHQUFHQyxNQUFNLEtBQUssSUFBSTtRQUMzRyxPQUFPLEtBQUs7SUFDZCxDQUFDO0lBQ0RILG9CQUFvQkEsa0JBQWtCRSxJQUFJO0lBRTFDLGtDQUFrQztJQUNsQyxJQUFJRixpQkFBaUIsQ0FBQyxHQUFHLEtBQUssS0FBSztRQUNqQyxPQUFPLEtBQUs7SUFDZCxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQUlBLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxPQUFPQSxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssT0FBT0EsaUJBQWlCLENBQUMsR0FBRyxLQUFLLEtBQUs7UUFDbkcsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixJQUFJLENBQUVBLENBQUFBLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxPQUFPQSxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssR0FBRSxHQUFJO1FBQ3JFLE9BQU8sS0FBSztJQUNkLENBQUM7SUFFRCxPQUFPTiw0Q0FBS0EsQ0FBQ00sbUJBQW1CRixXQUFXTSxPQUFPO0FBQ3BELENBQUM7QUFFRDs7O0NBR0MsR0FDTSxTQUFTQyxn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RCxFQUFFO0lBQzdGLE9BQU9ELFdBQVc5QyxNQUFNLHdDQUFLK0M7UUFBUzlCLE1BQU0sSUFBSTs7QUFDbEQsQ0FBQztBQUVEOzs7Q0FHQyxHQUNNLFNBQVMyQixZQUFZO0lBQzFCLElBQUlaLFdBQVc2QyxPQUFPQyxPQUFPLENBQUM5QyxRQUFRO0lBQ3RDQSxXQUFXQSxTQUFTK0MsT0FBTyxDQUFDLEtBQUssTUFBTSxlQUFlO0lBQ3RELG1GQUFtRjtJQUNuRixJQUFJL0MsYUFBYSxNQUFNO1FBQ3JCQSxXQUFXO0lBQ2IsQ0FBQztJQUVELE9BQU9BO0FBQ1QsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS11dGlscy9zcmMvb21ycy1kYXRlcy50cz80ZTk2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZVxuICogQGNhdGVnb3J5IERhdGUgYW5kIFRpbWVcbiAqL1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgaXNUb2RheSBmcm9tICdkYXlqcy9wbHVnaW4vaXNUb2RheSc7XG5cbmRheWpzLmV4dGVuZCh1dGMpO1xuZGF5anMuZXh0ZW5kKGlzVG9kYXkpO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIGkxOG5leHQ6IGkxOG47XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRGF0ZUlucHV0ID0gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZTtcblxuY29uc3QgaXNvRm9ybWF0ID0gJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTWlonO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIHdoZXRoZXIgYSBkYXRlIHN0cmluZyBpcyB0aGUgT3Blbk1SUyBJU08gZm9ybWF0LlxuICogVGhlIGZvcm1hdCBzaG91bGQgYmUgWVlZWS1NTS1ERFRISDptbTpzcy5TU1NaWlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPbXJzRGF0ZVN0cmljdChvbXJzUGF5bG9hZFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIG9tcnMgZm9ybWF0IDIwMTgtMDMtMTlUMDA6MDA6MDAuMDAwKzAzMDBcbiAgaWYgKG9tcnNQYXlsb2FkU3RyaW5nID09PSBudWxsIHx8IG9tcnNQYXlsb2FkU3RyaW5nID09PSB1bmRlZmluZWQgfHwgb21yc1BheWxvYWRTdHJpbmcudHJpbSgpLmxlbmd0aCAhPT0gMjgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgb21yc1BheWxvYWRTdHJpbmcgPSBvbXJzUGF5bG9hZFN0cmluZy50cmltKCk7XG5cbiAgLy8gMTF0aCBjaGFyYWN0ZXIgd2lsbCBhbHdheXMgYmUgVFxuICBpZiAob21yc1BheWxvYWRTdHJpbmdbMTBdICE9PSAnVCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBjaGVja2luZyB0aW1lIGZvcm1hdFxuICBpZiAob21yc1BheWxvYWRTdHJpbmdbMTNdICE9PSAnOicgfHwgb21yc1BheWxvYWRTdHJpbmdbMTZdICE9PSAnOicgfHwgb21yc1BheWxvYWRTdHJpbmdbMTldICE9PSAnLicpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBjaGVja2luZyBVVEMgb2Zmc2V0IGZvcm1hdFxuICBpZiAoIShvbXJzUGF5bG9hZFN0cmluZ1syM10gPT09ICcrJyB8fCBvbXJzUGF5bG9hZFN0cmluZ1syM10gPT09ICctJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZGF5anMob21yc1BheWxvYWRTdHJpbmcsIGlzb0Zvcm1hdCkuaXNWYWxpZCgpO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gZGF0ZSBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGRhdGUgaXMgdG9kYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09tcnNEYXRlVG9kYXkoZGF0ZTogRGF0ZUlucHV0KSB7XG4gIHJldHVybiBkYXlqcyhkYXRlKS5pc1RvZGF5KCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgdGhlIG9iamVjdCB0byBhIGRhdGUgb2JqZWN0IGlmIGl0IGlzIGFuIE9wZW5NUlMgSVNPIGRhdGUgdGltZSBzdHJpbmcuXG4gKiBPdGhlcndpc2UgcmV0dXJucyBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlT2JqZWN0U3RyaWN0KG9tcnNEYXRlU3RyaW5nOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XG4gIGlmICghaXNPbXJzRGF0ZVN0cmljdChvbXJzRGF0ZVN0cmluZykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBkYXlqcyhvbXJzRGF0ZVN0cmluZywgaXNvRm9ybWF0KS50b0RhdGUoKTtcbn1cblxuLyoqXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCB0byBPcGVuTVJTIElTTyBmb3JtYXQ6IFwiWVlZWS1NTS1ERFRISDptbTpzcy5TU1NaWlwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PbXJzSXNvU3RyaW5nKGRhdGU6IERhdGVJbnB1dCwgdG9VVEMgPSBmYWxzZSk6IHN0cmluZyB7XG4gIGxldCBkID0gZGF5anMoZGF0ZSk7XG5cbiAgaWYgKHRvVVRDKSB7XG4gICAgZCA9IGQudXRjKCk7XG4gIH1cblxuICByZXR1cm4gZC5mb3JtYXQoaXNvRm9ybWF0KTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYGZvcm1hdFRpbWVgXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCBhcyBhIHRpbWUgc3RyaW5nIHVzaW5nIHRoZSBmb3JtYXQgXCJISDptbVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PbXJzVGltZVN0cmluZzI0KGRhdGU6IERhdGVJbnB1dCkge1xuICByZXR1cm4gZGF5anMoZGF0ZSkuZm9ybWF0KCdISDptbScpO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgZm9ybWF0VGltZWBcbiAqIEZvcm1hdHMgdGhlIGlucHV0IGFzIGEgdGltZSBzdHJpbmcgdXNpbmcgdGhlIGZvcm1hdCBcIkhIOm1tIEFcIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT21yc1RpbWVTdHJpbmcoZGF0ZTogRGF0ZUlucHV0KSB7XG4gIHJldHVybiBkYXlqcy51dGMoZGF0ZSkuZm9ybWF0KCdISDptbSBBJyk7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBmb3JtYXREYXRlKGRhdGUsIFwid2lkZVwiKWBcbiAqIEZvcm1hdHMgdGhlIGlucHV0IGFzIGEgZGF0ZSBzdHJpbmcgdXNpbmcgdGhlIGZvcm1hdCBcIkREIC0gTU1NIC0gWVlZWVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PbXJzRGF5RGF0ZUZvcm1hdChkYXRlOiBEYXRlSW5wdXQpIHtcbiAgcmV0dXJuIHRvT21yc0RhdGVGb3JtYXQoZGF0ZSwgJ0REIC0gTU1NIC0gWVlZWScpO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgZm9ybWF0RGF0ZShkYXRlLCBcIm5vIHllYXJcIilgXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCBhcyBhIGRhdGUgc3RyaW5nIHVzaW5nIHRoZSBmb3JtYXQgXCJERC1NTU1cIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT21yc1llYXJsZXNzRGF0ZUZvcm1hdChkYXRlOiBEYXRlSW5wdXQpIHtcbiAgcmV0dXJuIHRvT21yc0RhdGVGb3JtYXQoZGF0ZSwgJ0RELU1NTScpO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgZm9ybWF0RGF0ZShkYXRlKWBcbiAqIEZvcm1hdHMgdGhlIGlucHV0IGFzIGEgZGF0ZSBzdHJpbmcuIEJ5IGRlZmF1bHQgdGhlIGZvcm1hdCBcIllZWVktTU1NLUREXCIgaXMgdXNlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT21yc0RhdGVGb3JtYXQoZGF0ZTogRGF0ZUlucHV0LCBmb3JtYXQgPSAnWVlZWS1NTU0tREQnKSB7XG4gIHJldHVybiBkYXlqcyhkYXRlKS5mb3JtYXQoZm9ybWF0KTtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIHBhcnNlIGFuIGFyYml0cmFyeSBzdHJpbmcgaW50byBhIGRhdGUuXG4gKiBVc2VzIGBkYXlqcyhkYXRlU3RyaW5nKWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGUoZGF0ZVN0cmluZzogc3RyaW5nKSB7XG4gIHJldHVybiBkYXlqcyhkYXRlU3RyaW5nKS50b0RhdGUoKTtcbn1cblxuZXhwb3J0IHR5cGUgRm9ybWF0RGF0ZU1vZGUgPSAnc3RhbmRhcmQnIHwgJ3dpZGUnO1xuXG5leHBvcnQgdHlwZSBGb3JtYXREYXRlT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBjYWxlbmRhciB0byB1c2Ugd2hlbiBmb3JtYXR0aW5nIHRoaXMgZGF0ZS5cbiAgICovXG4gIGNhbGVuZGFyPzogc3RyaW5nO1xuICAvKipcbiAgICogLSBgc3RhbmRhcmRgOiBcIjAzIEZlYiAyMDIyXCJcbiAgICogLSBgd2lkZWA6ICAgICBcIjAzIOKAlCBGZWIg4oCUIDIwMjJcIlxuICAgKi9cbiAgbW9kZTogRm9ybWF0RGF0ZU1vZGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0aW1lIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0IGFsd2F5cyAoYHRydWVgKSxcbiAgICogbmV2ZXIgKGBmYWxzZWApLCBvciBvbmx5IHdoZW4gdGhlIGlucHV0IGRhdGUgaXMgdG9kYXkgKGBmb3IgdG9kYXlgKS5cbiAgICovXG4gIHRpbWU6IHRydWUgfCBmYWxzZSB8ICdmb3IgdG9kYXknO1xuICAvKiogV2hldGhlciB0byBpbmNsdWRlIHRoZSBkYXkgbnVtYmVyICovXG4gIGRheTogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSB0aGUgeWVhciAqL1xuICB5ZWFyOiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIHNwZWNpYWwgaGFuZGxpbmcgb2YgZGF0ZXMgdGhhdCBhcmUgdG9kYXkuIElmIGZhbHNlXG4gICAqICh0aGUgZGVmYXVsdCksIHRoZW4gZGF0ZXMgdGhhdCBhcmUgdG9kYXkgd2lsbCBiZSBmb3JtYXR0ZWQgYXMgXCJUb2RheVwiXG4gICAqIGluIHRoZSBsb2NhbGUgbGFuZ3VhZ2UuIElmIHRydWUsIHRoZW4gZGF0ZXMgdGhhdCBhcmUgdG9kYXkgd2lsbCBiZVxuICAgKiBmb3JtYXR0ZWQgdGhlIHNhbWUgYXMgYWxsIG90aGVyIGRhdGVzLlxuICAgKi9cbiAgbm9Ub2RheTogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBGb3JtYXREYXRlT3B0aW9ucyA9IHtcbiAgbW9kZTogJ3N0YW5kYXJkJyxcbiAgdGltZTogJ2ZvciB0b2RheScsXG4gIGRheTogdHJ1ZSxcbiAgeWVhcjogdHJ1ZSxcbiAgbm9Ub2RheTogZmFsc2UsXG59O1xuXG4vKipcbiAqIEludGVybmFsIGNhY2hlIGZvciBwZXItbG9jYWxlIGNhbGVuZGFyc1xuICovXG5jbGFzcyBMb2NhbGVDYWxlbmRhcnMge1xuICAjcmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI3JlZ2lzdHJ5LnNldCgnYW0nLCAnZXRoaW9waWMnKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKGxvY2FsZTogc3RyaW5nLCBjYWxlbmRhcjogc3RyaW5nKSB7XG4gICAgdGhpcy4jcmVnaXN0cnkuc2V0KGxvY2FsZSwgY2FsZW5kYXIpO1xuICB9XG5cbiAgZ2V0Q2FsZW5kYXIobG9jYWxlOiBJbnRsLkxvY2FsZSkge1xuICAgIGlmICghQm9vbGVhbihsb2NhbGUpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChsb2NhbGUuY2FsZW5kYXIpIHtcbiAgICAgIHJldHVybiBsb2NhbGUuY2FsZW5kYXI7XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsZS5yZWdpb24pIHtcbiAgICAgIGNvbnN0IGtleSA9IGAke2xvY2FsZS5sYW5ndWFnZX0tJHtsb2NhbGUucmVnaW9ufWA7XG4gICAgICBpZiAodGhpcy4jcmVnaXN0cnkuaGFzKGtleSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3JlZ2lzdHJ5LmdldChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChsb2NhbGUubGFuZ3VhZ2UgJiYgdGhpcy4jcmVnaXN0cnkuaGFzKGxvY2FsZS5sYW5ndWFnZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLiNyZWdpc3RyeS5nZXQobG9jYWxlLmxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0Q2FsZW5kYXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGUudG9TdHJpbmcoKSkucmVzb2x2ZWRPcHRpb25zKCkuY2FsZW5kYXI7XG5cbiAgICAvLyBjYWNoZSB0aGlzIHJlc3VsdFxuICAgIHRoaXMuI3JlZ2lzdHJ5LnNldChgJHtsb2NhbGUubGFuZ3VhZ2V9JHtsb2NhbGUucmVnaW9uID8gYC0ke2xvY2FsZS5yZWdpb259YCA6ICcnfWAsIGRlZmF1bHRDYWxlbmRhcik7XG5cbiAgICByZXR1cm4gZGVmYXVsdENhbGVuZGFyO1xuICB9XG59XG5cbmNvbnN0IHJlZ2lzdGVyZWRMb2NhbGVDYWxlbmRhcnMgPSBuZXcgTG9jYWxlQ2FsZW5kYXJzKCk7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIG5hbWUgb2YgdGhlIGNhbGVuZGFyIHRvIGFzc29jaWF0ZSwgYXMgYSBkZWZhdWx0LCB3aXRoIHRoZSBnaXZlbiBiYXNlIGxvY2FsZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiByZWdpc3RlckRlZmF1bHRDYWxlbmRhcignZW4nLCAnYnVkZGhpc3QnKSAvLyBzZXRzIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGZvciB0aGUgJ2VuJyBsb2NhbGUgdG8gQnVkZGhpc3QuXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gYmFzZUxvY2FsZSB0aGUgbG9jYWxlIHRvIHJlZ2lzdGVyIHRoaXMgY2FsZW5kYXIgZm9yXG4gKiBAcGFyYW0gY2FsZW5kYXIgdGhlIGNhbGVuZGFyIHRvIHVzZSBmb3IgdGhpcyByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdENhbGVuZGFyKGxvY2FsZTogc3RyaW5nLCBjYWxlbmRhcjogc3RyaW5nKSB7XG4gIHJlZ2lzdGVyZWRMb2NhbGVDYWxlbmRhcnMucmVnaXN0ZXIobG9jYWxlLCBjYWxlbmRhcik7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGZvciB0aGUgc3BlY2lmaWVkIGxvY2FsZSBpZiBhbnkuXG4gKlxuICogQHBhcmFtIGxvY2FsZSB0aGUgbG9jYWxlIHRvIGxvb2stdXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRDYWxlbmRhcihsb2NhbGU6IEludGwuTG9jYWxlIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IGxvY2FsZV8gPSBsb2NhbGUgPz8gZ2V0TG9jYWxlKCk7XG5cbiAgcmV0dXJuIHJlZ2lzdGVyZWRMb2NhbGVDYWxlbmRhcnMuZ2V0Q2FsZW5kYXIobG9jYWxlXyBpbnN0YW5jZW9mIEludGwuTG9jYWxlID8gbG9jYWxlXyA6IG5ldyBJbnRsLkxvY2FsZShsb2NhbGVfKSk7XG59XG5cbi8qKlxuICogRm9ybWF0cyB0aGUgaW5wdXQgZGF0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlIGFuZCB0aGVcbiAqIGdpdmVuIG9wdGlvbnMuXG4gKlxuICogRGVmYXVsdCBvcHRpb25zOlxuICogIC0gbW9kZTogXCJzdGFuZGFyZFwiLFxuICogIC0gdGltZTogXCJmb3IgdG9kYXlcIixcbiAqICAtIGRheTogdHJ1ZSxcbiAqICAtIHllYXI6IHRydWVcbiAqICAtIG5vVG9kYXk6IGZhbHNlXG4gKlxuICogSWYgdGhlIGRhdGUgaXMgdG9kYXkgdGhlbiBcIlRvZGF5XCIgaXMgcHJvZHVjZWQgKGluIHRoZSBsb2NhbGUgbGFuZ3VhZ2UpLlxuICogVGhpcyBiZWhhdmlvciBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgbm9Ub2RheTogdHJ1ZWAuXG4gKlxuICogV2hlbiB0aW1lIGlzIGluY2x1ZGVkLCBpdCBpcyBhcHBlbmRlZCB3aXRoIGEgY29tbWEgYW5kIGEgc3BhY2UuIFRoaXNcbiAqIGFncmVlcyB3aXRoIHRoZSBvdXRwdXQgb2YgYERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nYCBmb3IgKm1vc3QqXG4gKiBsb2NhbGVzLlxuICovXG4vLyBUT0RPOiBTaG91bGRuJ3QgdGhyb3cgb24gbnVsbCBpbnB1dFxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSwgb3B0aW9ucz86IFBhcnRpYWw8Rm9ybWF0RGF0ZU9wdGlvbnM+KSB7XG4gIGxldCBsb2NhbGUgPSBnZXRMb2NhbGUoKTtcbiAgY29uc3QgX2xvY2FsZSA9IG5ldyBJbnRsLkxvY2FsZShsb2NhbGUpO1xuXG4gIGNvbnN0IHsgY2FsZW5kYXIsIG1vZGUsIHRpbWUsIGRheSwgeWVhciwgbm9Ub2RheSB9OiBGb3JtYXREYXRlT3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0T3B0aW9ucyxcbiAgICAuLi57IG5vVG9kYXk6IF9sb2NhbGUubGFuZ3VhZ2UgPT09ICdhbScgPyB0cnVlIDogZmFsc2UgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9O1xuXG4gIGNvbnN0IGZvcm1hdENhbGVuZGFyID0gY2FsZW5kYXIgPz8gZ2V0RGVmYXVsdENhbGVuZGFyKF9sb2NhbGUpO1xuXG4gIGNvbnN0IGZvcm1hdHRlck9wdGlvbnM6IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge1xuICAgIGNhbGVuZGFyOiBmb3JtYXRDYWxlbmRhcixcbiAgICB5ZWFyOiB5ZWFyID8gJ251bWVyaWMnIDogdW5kZWZpbmVkLFxuICAgIG1vbnRoOiAnc2hvcnQnLFxuICAgIGRheTogZGF5ID8gJzItZGlnaXQnIDogdW5kZWZpbmVkLFxuICB9O1xuXG4gIGxldCBsb2NhbGVTdHJpbmc6IHN0cmluZztcbiAgY29uc3QgaXNUb2RheSA9IGRheWpzKGRhdGUpLmlzVG9kYXkoKTtcbiAgaWYgKGlzVG9kYXkgJiYgIW5vVG9kYXkpIHtcbiAgICAvLyBUaGlzIHByb2R1Y2VzIHRoZSB3b3JkIFwiVG9kYXlcIiBpbiB0aGUgbGFuZ3VhZ2Ugb2YgYGxvY2FsZWBcbiAgICBjb25zdCBydGYgPSBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQobG9jYWxlLCB7IG51bWVyaWM6ICdhdXRvJyB9KTtcbiAgICBsb2NhbGVTdHJpbmcgPSBydGYuZm9ybWF0KDAsICdkYXknKTtcbiAgICBsb2NhbGVTdHJpbmcgPSBsb2NhbGVTdHJpbmdbMF0udG9Mb2NhbGVVcHBlckNhc2UobG9jYWxlKSArIGxvY2FsZVN0cmluZy5zbGljZSgxKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoX2xvY2FsZS5sYW5ndWFnZSA9PT0gJ2VuJykge1xuICAgICAgLy8gVGhpcyBsb2NhbGUgb3ZlcnJpZGUgaXMgaGVyZSByYXRoZXIgdGhhbiBpbiBgZ2V0TG9jYWxlYFxuICAgICAgLy8gYmVjYXVzZSBBbWVyaWNhbnMgc2hvdWxkIHNlZSBBTS9QTSBmb3IgdGltZXMuXG4gICAgICBsb2NhbGUgPSAnZW4tR0InO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgZm9ybWF0dGVyT3B0aW9ucyk7XG4gICAgbGV0IHBhcnRzID0gZm9ybWF0dGVyLmZvcm1hdFRvUGFydHMoZGF0ZSk7XG5cbiAgICBpZiAoKF9sb2NhbGUubGFuZ3VhZ2UgPT09ICdlbicgfHwgX2xvY2FsZS5sYW5ndWFnZSA9PT0gJ2FtJykgJiYgbW9kZSA9PSAnc3RhbmRhcmQnICYmIHllYXIgJiYgZGF5KSB7XG4gICAgICAvLyBDdXN0b20gZm9ybWF0dGluZyBmb3IgRW5nbGlzaCBhbmQgQW1oYXJpYy4gVXNlIGh5cGhlbnMgaW5zdGVhZCBvZiBzcGFjZXMuXG4gICAgICBwYXJ0cyA9IHBhcnRzLm1hcChmb3JtYXRQYXJ0cygnLScpKTtcbiAgICB9XG5cbiAgICBpZiAobW9kZSA9PSAnd2lkZScpIHtcbiAgICAgIHBhcnRzID0gcGFydHMubWFwKGZvcm1hdFBhcnRzKCcg4oCUICcpKTsgLy8gc3BhY2UtZW1kYXNoLXNwYWNlXG4gICAgfVxuXG4gICAgLy8gb21pdCB0aGUgZXJhIHdoZW4gdXNpbmcgdGhlIEV0aGlvcGljIGNhbGVuZGFyXG4gICAgaWYgKGZvcm1hdHRlck9wdGlvbnMuY2FsZW5kYXIgPT09ICdldGhpb3BpYycpIHtcbiAgICAgIHBhcnRzID0gcGFydHMuZmlsdGVyKChwYXJ0LCBpZHgsIHZhbHVlcykgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFydC50eXBlID09PSAnZXJhJyB8fFxuICAgICAgICAgIChwYXJ0LnR5cGUgPT09ICdsaXRlcmFsJyAmJiBpZHggPCB2YWx1ZXMubGVuZ3RoIC0gMSAmJiB2YWx1ZXNbaWR4ICsgMV0udHlwZSA9PT0gJ2VyYScpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9jYWxlU3RyaW5nID0gcGFydHMubWFwKChwKSA9PiBwLnZhbHVlKS5qb2luKCcnKTtcbiAgfVxuICBpZiAodGltZSA9PT0gdHJ1ZSB8fCAoaXNUb2RheSAmJiB0aW1lID09PSAnZm9yIHRvZGF5JykpIHtcbiAgICBsb2NhbGVTdHJpbmcgKz0gYCwgJHtmb3JtYXRUaW1lKGRhdGUpfWA7XG4gIH1cbiAgcmV0dXJuIGxvY2FsZVN0cmluZztcbn1cblxuLy8gSW50ZXJuYWwgY3VycmllZCBjYWxsLWJhY2sgZm9yIG1hcCgpXG5jb25zdCBmb3JtYXRQYXJ0cyA9IChzZXBhcmF0b3I6IHN0cmluZykgPT4ge1xuICByZXR1cm4gKHBhcnQ6IEludGwuRGF0ZVRpbWVGb3JtYXRQYXJ0LCBpZHg6IG51bWJlciwgdmFsdWVzOiBBcnJheTxJbnRsLkRhdGVUaW1lRm9ybWF0UGFydD4pID0+IHtcbiAgICBpZiAocGFydC50eXBlICE9PSAnbGl0ZXJhbCcgfHwgcGFydC52YWx1ZSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm4gcGFydDtcbiAgICB9XG5cbiAgICBpZiAoaWR4IDwgdmFsdWVzLmxlbmd0aCAtIDEgJiYgdmFsdWVzW2lkeCArIDFdLnR5cGUgPT09ICdlcmEnKSB7XG4gICAgICByZXR1cm4gcGFydDtcbiAgICB9XG5cbiAgICByZXR1cm4geyB0eXBlOiAnbGl0ZXJhbCcsIHZhbHVlOiBzZXBhcmF0b3IgfSBhcyBJbnRsLkRhdGVUaW1lRm9ybWF0UGFydDtcbiAgfTtcbn07XG5cbi8qKlxuICogRm9ybWF0cyB0aGUgaW5wdXQgYXMgYSB0aW1lLCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLlxuICogMTItaG91ciBvciAyNC1ob3VyIGNsb2NrIGRlcGVuZHMgb24gbG9jYWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZShkYXRlOiBEYXRlKSB7XG4gIHJldHVybiBkYXRlLnRvTG9jYWxlVGltZVN0cmluZyhnZXRMb2NhbGUoKSwge1xuICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgfSk7XG59XG5cbi8qKlxuICogRm9ybWF0cyB0aGUgaW5wdXQgaW50byBhIHN0cmluZyBzaG93aW5nIHRoZSBkYXRlIGFuZCB0aW1lLCBhY2NvcmRpbmdcbiAqIHRvIHRoZSBjdXJyZW50IGxvY2FsZS4gVGhlIGBtb2RlYCBwYXJhbWV0ZXIgaXMgYXMgZGVzY3JpYmVkIGZvclxuICogYGZvcm1hdERhdGVgLlxuICpcbiAqIFRoaXMgaXMgY3JlYXRlZCBieSBjb25jYXRlbmF0aW5nIHRoZSByZXN1bHRzIG9mIGBmb3JtYXREYXRlYFxuICogYW5kIGBmb3JtYXRUaW1lYCB3aXRoIGEgY29tbWEgYW5kIHNwYWNlLiBUaGlzIGFncmVlcyB3aXRoIHRoZVxuICogb3V0cHV0IG9mIGBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZ2AgZm9yICptb3N0KiBsb2NhbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZXRpbWUoZGF0ZTogRGF0ZSwgb3B0aW9ucz86IFBhcnRpYWw8T21pdDxGb3JtYXREYXRlT3B0aW9ucywgJ3RpbWUnPj4pIHtcbiAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgeyAuLi5vcHRpb25zLCB0aW1lOiB0cnVlIH0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGN1cnJlbnQgbG9jYWxlIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAqIEByZXR1cm5zIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxlKCkge1xuICBsZXQgbGFuZ3VhZ2UgPSB3aW5kb3cuaTE4bmV4dC5sYW5ndWFnZTtcbiAgbGFuZ3VhZ2UgPSBsYW5ndWFnZS5yZXBsYWNlKCdfJywgJy0nKTsgLy8ganVzdCBpbiBjYXNlXG4gIC8vIGhhY2sgZm9yIGBodGAgdW50aWwgaHR0cHM6Ly91bmljb2RlLW9yZy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9DTERSLTE0OTU2IGlzIGZpeGVkXG4gIGlmIChsYW5ndWFnZSA9PT0gJ2h0Jykge1xuICAgIGxhbmd1YWdlID0gJ2ZyLUhUJztcbiAgfVxuXG4gIHJldHVybiBsYW5ndWFnZTtcbn1cbiJdLCJuYW1lcyI6WyJkYXlqcyIsInV0YyIsImlzVG9kYXkiLCJleHRlbmQiLCJpc29Gb3JtYXQiLCJpc09tcnNEYXRlU3RyaWN0Iiwib21yc1BheWxvYWRTdHJpbmciLCJ1bmRlZmluZWQiLCJ0cmltIiwibGVuZ3RoIiwiaXNWYWxpZCIsImlzT21yc0RhdGVUb2RheSIsImRhdGUiLCJ0b0RhdGVPYmplY3RTdHJpY3QiLCJvbXJzRGF0ZVN0cmluZyIsInRvRGF0ZSIsInRvT21yc0lzb1N0cmluZyIsInRvVVRDIiwiZCIsImZvcm1hdCIsInRvT21yc1RpbWVTdHJpbmcyNCIsInRvT21yc1RpbWVTdHJpbmciLCJ0b09tcnNEYXlEYXRlRm9ybWF0IiwidG9PbXJzRGF0ZUZvcm1hdCIsInRvT21yc1llYXJsZXNzRGF0ZUZvcm1hdCIsInBhcnNlRGF0ZSIsImRhdGVTdHJpbmciLCJkZWZhdWx0T3B0aW9ucyIsIm1vZGUiLCJ0aW1lIiwiZGF5IiwieWVhciIsIm5vVG9kYXkiLCJMb2NhbGVDYWxlbmRhcnMiLCJNYXAiLCJyZWdpc3RyeSIsInNldCIsInJlZ2lzdGVyIiwibG9jYWxlIiwiY2FsZW5kYXIiLCJnZXRDYWxlbmRhciIsIkJvb2xlYW4iLCJyZWdpb24iLCJrZXkiLCJsYW5ndWFnZSIsImhhcyIsImdldCIsImRlZmF1bHRDYWxlbmRhciIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsInRvU3RyaW5nIiwicmVzb2x2ZWRPcHRpb25zIiwicmVnaXN0ZXJlZExvY2FsZUNhbGVuZGFycyIsInJlZ2lzdGVyRGVmYXVsdENhbGVuZGFyIiwiZ2V0RGVmYXVsdENhbGVuZGFyIiwibG9jYWxlXyIsImdldExvY2FsZSIsIkxvY2FsZSIsImZvcm1hdERhdGUiLCJvcHRpb25zIiwiX2xvY2FsZSIsImZvcm1hdENhbGVuZGFyIiwiZm9ybWF0dGVyT3B0aW9ucyIsIm1vbnRoIiwibG9jYWxlU3RyaW5nIiwicnRmIiwiUmVsYXRpdmVUaW1lRm9ybWF0IiwibnVtZXJpYyIsInRvTG9jYWxlVXBwZXJDYXNlIiwic2xpY2UiLCJmb3JtYXR0ZXIiLCJwYXJ0cyIsImZvcm1hdFRvUGFydHMiLCJtYXAiLCJmb3JtYXRQYXJ0cyIsImZpbHRlciIsInBhcnQiLCJpZHgiLCJ2YWx1ZXMiLCJ0eXBlIiwicCIsInZhbHVlIiwiam9pbiIsImZvcm1hdFRpbWUiLCJzZXBhcmF0b3IiLCJ0b0xvY2FsZVRpbWVTdHJpbmciLCJob3VyIiwibWludXRlIiwiZm9ybWF0RGF0ZXRpbWUiLCJ3aW5kb3ciLCJpMThuZXh0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-utils/src/omrs-dates.ts\n");
|
|
8166
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatDate: () => (/* binding */ formatDate),\n/* harmony export */ formatDatetime: () => (/* binding */ formatDatetime),\n/* harmony export */ formatTime: () => (/* binding */ formatTime),\n/* harmony export */ getDefaultCalendar: () => (/* binding */ getDefaultCalendar),\n/* harmony export */ getLocale: () => (/* binding */ getLocale),\n/* harmony export */ isOmrsDateStrict: () => (/* binding */ isOmrsDateStrict),\n/* harmony export */ isOmrsDateToday: () => (/* binding */ isOmrsDateToday),\n/* harmony export */ parseDate: () => (/* binding */ parseDate),\n/* harmony export */ registerDefaultCalendar: () => (/* binding */ registerDefaultCalendar),\n/* harmony export */ toDateObjectStrict: () => (/* binding */ toDateObjectStrict),\n/* harmony export */ toOmrsDateFormat: () => (/* binding */ toOmrsDateFormat),\n/* harmony export */ toOmrsDayDateFormat: () => (/* binding */ toOmrsDayDateFormat),\n/* harmony export */ toOmrsIsoString: () => (/* binding */ toOmrsIsoString),\n/* harmony export */ toOmrsTimeString: () => (/* binding */ toOmrsTimeString),\n/* harmony export */ toOmrsTimeString24: () => (/* binding */ toOmrsTimeString24),\n/* harmony export */ toOmrsYearlessDateFormat: () => (/* binding */ toOmrsYearlessDateFormat)\n/* harmony export */ });\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dayjs/plugin/utc */ \"../../../node_modules/dayjs/plugin/utc.js\");\n/* harmony import */ var dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs/plugin/isToday */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * @module\n * @category Date and Time\n */ function _check_private_redeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\nfunction _class_apply_descriptor_get(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _class_extract_field_descriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nfunction _class_private_field_get(receiver, privateMap) {\n var descriptor = _class_extract_field_descriptor(receiver, privateMap, \"get\");\n return _class_apply_descriptor_get(receiver, descriptor);\n}\nfunction _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_0___default().extend((dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_1___default()));\ndayjs__WEBPACK_IMPORTED_MODULE_0___default().extend((dayjs_plugin_isToday__WEBPACK_IMPORTED_MODULE_2___default()));\nvar isoFormat = \"YYYY-MM-DDTHH:mm:ss.SSSZZ\";\n/**\n * This function checks whether a date string is the OpenMRS ISO format.\n * The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ\n */ function isOmrsDateStrict(omrsPayloadString) {\n // omrs format 2018-03-19T00:00:00.000+0300\n if (omrsPayloadString === null || omrsPayloadString === undefined || omrsPayloadString.trim().length !== 28) {\n return false;\n }\n omrsPayloadString = omrsPayloadString.trim();\n // 11th character will always be T\n if (omrsPayloadString[10] !== \"T\") {\n return false;\n }\n // checking time format\n if (omrsPayloadString[13] !== \":\" || omrsPayloadString[16] !== \":\" || omrsPayloadString[19] !== \".\") {\n return false;\n }\n // checking UTC offset format\n if (!(omrsPayloadString[23] === \"+\" || omrsPayloadString[23] === \"-\")) {\n return false;\n }\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(omrsPayloadString, isoFormat).isValid();\n}\n/**\n *\n * @param date Checks if the provided date is today.\n */ function isOmrsDateToday(date) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).isToday();\n}\n/**\n * Converts the object to a date object if it is an OpenMRS ISO date time string.\n * Otherwise returns null.\n */ function toDateObjectStrict(omrsDateString) {\n if (!isOmrsDateStrict(omrsDateString)) {\n return null;\n }\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(omrsDateString, isoFormat).toDate();\n}\n/**\n * Formats the input to OpenMRS ISO format: \"YYYY-MM-DDTHH:mm:ss.SSSZZ\".\n */ function toOmrsIsoString(date) {\n var toUTC = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var d = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date);\n if (toUTC) {\n d = d.utc();\n }\n return d.format(isoFormat);\n}\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm\".\n */ function toOmrsTimeString24(date) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).format(\"HH:mm\");\n}\n/**\n * @deprecated use `formatTime`\n * Formats the input as a time string using the format \"HH:mm A\".\n */ function toOmrsTimeString(date) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default().utc(date).format(\"HH:mm A\");\n}\n/**\n * @deprecated use `formatDate(date, \"wide\")`\n * Formats the input as a date string using the format \"DD - MMM - YYYY\".\n */ function toOmrsDayDateFormat(date) {\n return toOmrsDateFormat(date, \"DD - MMM - YYYY\");\n}\n/**\n * @deprecated use `formatDate(date, \"no year\")`\n * Formats the input as a date string using the format \"DD-MMM\".\n */ function toOmrsYearlessDateFormat(date) {\n return toOmrsDateFormat(date, \"DD-MMM\");\n}\n/**\n * @deprecated use `formatDate(date)`\n * Formats the input as a date string. By default the format \"YYYY-MMM-DD\" is used.\n */ function toOmrsDateFormat(date) {\n var format = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"YYYY-MMM-DD\";\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).format(format);\n}\n/**\n * Utility function to parse an arbitrary string into a date.\n * Uses `dayjs(dateString)`.\n */ function parseDate(dateString) {\n return dayjs__WEBPACK_IMPORTED_MODULE_0___default()(dateString).toDate();\n}\nvar defaultOptions = {\n mode: \"standard\",\n time: \"for today\",\n day: true,\n year: true,\n noToday: false\n};\nvar _registry = /*#__PURE__*/ new WeakMap();\n/**\n * Internal cache for per-locale calendars\n */ var LocaleCalendars = /*#__PURE__*/ function() {\n \"use strict\";\n function LocaleCalendars() {\n _class_call_check(this, LocaleCalendars);\n _class_private_field_init(this, _registry, {\n writable: true,\n value: new Map()\n });\n _class_private_field_get(this, _registry).set(\"am\", \"ethiopic\");\n }\n _create_class(LocaleCalendars, [\n {\n key: \"register\",\n value: function register(locale, calendar) {\n _class_private_field_get(this, _registry).set(locale, calendar);\n }\n },\n {\n key: \"getCalendar\",\n value: function getCalendar(locale) {\n if (!Boolean(locale)) {\n return undefined;\n }\n if (locale.calendar) {\n return locale.calendar;\n }\n if (locale.region) {\n var key = \"\".concat(locale.language, \"-\").concat(locale.region);\n if (_class_private_field_get(this, _registry).has(key)) {\n return _class_private_field_get(this, _registry).get(key);\n }\n }\n if (locale.language && _class_private_field_get(this, _registry).has(locale.language)) {\n return _class_private_field_get(this, _registry).get(locale.language);\n }\n var defaultCalendar = new Intl.DateTimeFormat(locale.toString()).resolvedOptions().calendar;\n // cache this result\n _class_private_field_get(this, _registry).set(\"\".concat(locale.language).concat(locale.region ? \"-\".concat(locale.region) : \"\"), defaultCalendar);\n return defaultCalendar;\n }\n }\n ]);\n return LocaleCalendars;\n}();\nvar registeredLocaleCalendars = new LocaleCalendars();\n/**\n * Provides the name of the calendar to associate, as a default, with the given base locale.\n *\n * @example\n * ```\n * registerDefaultCalendar('en', 'buddhist') // sets the default calendar for the 'en' locale to Buddhist.\n * ```\n *\n * @param baseLocale the locale to register this calendar for\n * @param calendar the calendar to use for this registration\n */ function registerDefaultCalendar(locale, calendar) {\n registeredLocaleCalendars.register(locale, calendar);\n}\n/**\n * Retrieves the default calendar for the specified locale if any.\n *\n * @param locale the locale to look-up\n */ function getDefaultCalendar(locale) {\n var locale_ = locale !== null && locale !== void 0 ? locale : getLocale();\n return registeredLocaleCalendars.getCalendar(_instanceof(locale_, Intl.Locale) ? locale_ : new Intl.Locale(locale_));\n}\n/**\n * Formats the input date according to the current locale and the\n * given options.\n *\n * Default options:\n * - mode: \"standard\",\n * - time: \"for today\",\n * - day: true,\n * - year: true\n * - noToday: false\n *\n * If the date is today then \"Today\" is produced (in the locale language).\n * This behavior can be disabled with `noToday: true`.\n *\n * When time is included, it is appended with a comma and a space. This\n * agrees with the output of `Date.prototype.toLocaleString` for *most*\n * locales.\n */ // TODO: Shouldn't throw on null input\nfunction formatDate(date, options) {\n var locale = getLocale();\n var _locale = new Intl.Locale(locale);\n var _$_object_spread = _object_spread({}, defaultOptions, {\n noToday: _locale.language === \"am\" ? true : false\n }, options), calendar = _$_object_spread.calendar, mode = _$_object_spread.mode, time = _$_object_spread.time, day = _$_object_spread.day, year = _$_object_spread.year, noToday = _$_object_spread.noToday;\n var formatCalendar = calendar !== null && calendar !== void 0 ? calendar : getDefaultCalendar(_locale);\n var formatterOptions = {\n calendar: formatCalendar,\n year: year ? \"numeric\" : undefined,\n month: \"short\",\n day: day ? \"2-digit\" : undefined\n };\n var localeString;\n var _$isToday = dayjs__WEBPACK_IMPORTED_MODULE_0___default()(date).isToday();\n if (_$isToday && !noToday) {\n // This produces the word \"Today\" in the language of `locale`\n var rtf = new Intl.RelativeTimeFormat(locale, {\n numeric: \"auto\"\n });\n localeString = rtf.format(0, \"day\");\n localeString = localeString[0].toLocaleUpperCase(locale) + localeString.slice(1);\n } else {\n if (_locale.language === \"en\") {\n // This locale override is here rather than in `getLocale`\n // because Americans should see AM/PM for times.\n locale = \"en-GB\";\n }\n var formatter = new Intl.DateTimeFormat(locale, formatterOptions);\n var parts = formatter.formatToParts(date);\n if ((_locale.language === \"en\" || _locale.language === \"am\") && mode == \"standard\" && year && day) {\n // Custom formatting for English and Amharic. Use hyphens instead of spaces.\n parts = parts.map(formatParts(\"-\"));\n }\n if (mode == \"wide\") {\n parts = parts.map(formatParts(\" — \")); // space-emdash-space\n }\n // omit the era when using the Ethiopic calendar\n if (formatterOptions.calendar === \"ethiopic\") {\n parts = parts.filter(function(part, idx, values) {\n if (part.type === \"era\" || part.type === \"literal\" && idx < values.length - 1 && values[idx + 1].type === \"era\") {\n return false;\n }\n return true;\n });\n }\n localeString = parts.map(function(p) {\n return p.value;\n }).join(\"\");\n }\n if (time === true || _$isToday && time === \"for today\") {\n localeString += \", \".concat(formatTime(date));\n }\n return localeString;\n}\n// Internal curried call-back for map()\nvar formatParts = function(separator) {\n return function(part, idx, values) {\n if (part.type !== \"literal\" || part.value !== \" \") {\n return part;\n }\n if (idx < values.length - 1 && values[idx + 1].type === \"era\") {\n return part;\n }\n return {\n type: \"literal\",\n value: separator\n };\n };\n};\n/**\n * Formats the input as a time, according to the current locale.\n * 12-hour or 24-hour clock depends on locale.\n */ function formatTime(date) {\n return date.toLocaleTimeString(getLocale(), {\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n}\n/**\n * Formats the input into a string showing the date and time, according\n * to the current locale. The `mode` parameter is as described for\n * `formatDate`.\n *\n * This is created by concatenating the results of `formatDate`\n * and `formatTime` with a comma and space. This agrees with the\n * output of `Date.prototype.toLocaleString` for *most* locales.\n */ function formatDatetime(date, options) {\n return formatDate(date, _object_spread_props(_object_spread({}, options), {\n time: true\n }));\n}\n/**\n * Returns the current locale of the application.\n * @returns string\n */ function getLocale() {\n var language = window.i18next.language;\n language = language.replace(\"_\", \"-\"); // just in case\n // hack for `ht` until https://unicode-org.atlassian.net/browse/CLDR-14956 is fixed\n if (language === \"ht\") {\n language = \"fr-HT\";\n }\n return language;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS11dGlscy9zcmMvb21ycy1kYXRlcy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7OztDQUdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXlCO0FBQ1M7QUFDUTtBQUUzQ0EsbURBQVksQ0FBQ0MseURBQUdBO0FBQ2hCRCxtREFBWSxDQUFDRSw2REFBT0E7QUFVcEIsSUFBTUUsWUFBWTtBQUVsQjs7O0NBR0MsR0FDTSxTQUFTQyxpQkFBaUJDLGlCQUF5QixFQUFXO0lBQ25FLDJDQUEyQztJQUMzQyxJQUFJQSxzQkFBc0IsSUFBSSxJQUFJQSxzQkFBc0JDLGFBQWFELGtCQUFrQkUsSUFBSSxHQUFHQyxNQUFNLEtBQUssSUFBSTtRQUMzRyxPQUFPLEtBQUs7SUFDZCxDQUFDO0lBQ0RILG9CQUFvQkEsa0JBQWtCRSxJQUFJO0lBRTFDLGtDQUFrQztJQUNsQyxJQUFJRixpQkFBaUIsQ0FBQyxHQUFHLEtBQUssS0FBSztRQUNqQyxPQUFPLEtBQUs7SUFDZCxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQUlBLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxPQUFPQSxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssT0FBT0EsaUJBQWlCLENBQUMsR0FBRyxLQUFLLEtBQUs7UUFDbkcsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixJQUFJLENBQUVBLENBQUFBLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxPQUFPQSxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssR0FBRSxHQUFJO1FBQ3JFLE9BQU8sS0FBSztJQUNkLENBQUM7SUFFRCxPQUFPTiw0Q0FBS0EsQ0FBQ00sbUJBQW1CRixXQUFXTSxPQUFPO0FBQ3BELENBQUM7QUFFRDs7O0NBR0MsR0FDTSxTQUFTQyxn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RCxFQUFFO0lBQzdGLE9BQU9ELFdBQVc5QyxNQUFNLHdDQUFLK0M7UUFBUzlCLE1BQU0sSUFBSTs7QUFDbEQsQ0FBQztBQUVEOzs7Q0FHQyxHQUNNLFNBQVMyQixZQUFZO0lBQzFCLElBQUlaLFdBQVc2QyxPQUFPQyxPQUFPLENBQUM5QyxRQUFRO0lBQ3RDQSxXQUFXQSxTQUFTK0MsT0FBTyxDQUFDLEtBQUssTUFBTSxlQUFlO0lBQ3RELG1GQUFtRjtJQUNuRixJQUFJL0MsYUFBYSxNQUFNO1FBQ3JCQSxXQUFXO0lBQ2IsQ0FBQztJQUVELE9BQU9BO0FBQ1QsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS11dGlscy9zcmMvb21ycy1kYXRlcy50cz80ZTk2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZVxuICogQGNhdGVnb3J5IERhdGUgYW5kIFRpbWVcbiAqL1xuaW1wb3J0IHR5cGUgeyBpMThuIH0gZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCBpc1RvZGF5IGZyb20gJ2RheWpzL3BsdWdpbi9pc1RvZGF5JztcblxuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQoaXNUb2RheSk7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgaTE4bmV4dDogaTE4bjtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBEYXRlSW5wdXQgPSBzdHJpbmcgfCBudW1iZXIgfCBEYXRlO1xuXG5jb25zdCBpc29Gb3JtYXQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1NaWic7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjaGVja3Mgd2hldGhlciBhIGRhdGUgc3RyaW5nIGlzIHRoZSBPcGVuTVJTIElTTyBmb3JtYXQuXG4gKiBUaGUgZm9ybWF0IHNob3VsZCBiZSBZWVlZLU1NLUREVEhIOm1tOnNzLlNTU1paXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09tcnNEYXRlU3RyaWN0KG9tcnNQYXlsb2FkU3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgLy8gb21ycyBmb3JtYXQgMjAxOC0wMy0xOVQwMDowMDowMC4wMDArMDMwMFxuICBpZiAob21yc1BheWxvYWRTdHJpbmcgPT09IG51bGwgfHwgb21yc1BheWxvYWRTdHJpbmcgPT09IHVuZGVmaW5lZCB8fCBvbXJzUGF5bG9hZFN0cmluZy50cmltKCkubGVuZ3RoICE9PSAyOCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBvbXJzUGF5bG9hZFN0cmluZyA9IG9tcnNQYXlsb2FkU3RyaW5nLnRyaW0oKTtcblxuICAvLyAxMXRoIGNoYXJhY3RlciB3aWxsIGFsd2F5cyBiZSBUXG4gIGlmIChvbXJzUGF5bG9hZFN0cmluZ1sxMF0gIT09ICdUJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGNoZWNraW5nIHRpbWUgZm9ybWF0XG4gIGlmIChvbXJzUGF5bG9hZFN0cmluZ1sxM10gIT09ICc6JyB8fCBvbXJzUGF5bG9hZFN0cmluZ1sxNl0gIT09ICc6JyB8fCBvbXJzUGF5bG9hZFN0cmluZ1sxOV0gIT09ICcuJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGNoZWNraW5nIFVUQyBvZmZzZXQgZm9ybWF0XG4gIGlmICghKG9tcnNQYXlsb2FkU3RyaW5nWzIzXSA9PT0gJysnIHx8IG9tcnNQYXlsb2FkU3RyaW5nWzIzXSA9PT0gJy0nKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBkYXlqcyhvbXJzUGF5bG9hZFN0cmluZywgaXNvRm9ybWF0KS5pc1ZhbGlkKCk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRlIENoZWNrcyBpZiB0aGUgcHJvdmlkZWQgZGF0ZSBpcyB0b2RheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT21yc0RhdGVUb2RheShkYXRlOiBEYXRlSW5wdXQpIHtcbiAgcmV0dXJuIGRheWpzKGRhdGUpLmlzVG9kYXkoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgb2JqZWN0IHRvIGEgZGF0ZSBvYmplY3QgaWYgaXQgaXMgYW4gT3Blbk1SUyBJU08gZGF0ZSB0aW1lIHN0cmluZy5cbiAqIE90aGVyd2lzZSByZXR1cm5zIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVPYmplY3RTdHJpY3Qob21yc0RhdGVTdHJpbmc6IHN0cmluZyk6IERhdGUgfCBudWxsIHtcbiAgaWYgKCFpc09tcnNEYXRlU3RyaWN0KG9tcnNEYXRlU3RyaW5nKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGRheWpzKG9tcnNEYXRlU3RyaW5nLCBpc29Gb3JtYXQpLnRvRGF0ZSgpO1xufVxuXG4vKipcbiAqIEZvcm1hdHMgdGhlIGlucHV0IHRvIE9wZW5NUlMgSVNPIGZvcm1hdDogXCJZWVlZLU1NLUREVEhIOm1tOnNzLlNTU1paXCIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b09tcnNJc29TdHJpbmcoZGF0ZTogRGF0ZUlucHV0LCB0b1VUQyA9IGZhbHNlKTogc3RyaW5nIHtcbiAgbGV0IGQgPSBkYXlqcyhkYXRlKTtcblxuICBpZiAodG9VVEMpIHtcbiAgICBkID0gZC51dGMoKTtcbiAgfVxuXG4gIHJldHVybiBkLmZvcm1hdChpc29Gb3JtYXQpO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgZm9ybWF0VGltZWBcbiAqIEZvcm1hdHMgdGhlIGlucHV0IGFzIGEgdGltZSBzdHJpbmcgdXNpbmcgdGhlIGZvcm1hdCBcIkhIOm1tXCIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b09tcnNUaW1lU3RyaW5nMjQoZGF0ZTogRGF0ZUlucHV0KSB7XG4gIHJldHVybiBkYXlqcyhkYXRlKS5mb3JtYXQoJ0hIOm1tJyk7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBmb3JtYXRUaW1lYFxuICogRm9ybWF0cyB0aGUgaW5wdXQgYXMgYSB0aW1lIHN0cmluZyB1c2luZyB0aGUgZm9ybWF0IFwiSEg6bW0gQVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PbXJzVGltZVN0cmluZyhkYXRlOiBEYXRlSW5wdXQpIHtcbiAgcmV0dXJuIGRheWpzLnV0YyhkYXRlKS5mb3JtYXQoJ0hIOm1tIEEnKTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYGZvcm1hdERhdGUoZGF0ZSwgXCJ3aWRlXCIpYFxuICogRm9ybWF0cyB0aGUgaW5wdXQgYXMgYSBkYXRlIHN0cmluZyB1c2luZyB0aGUgZm9ybWF0IFwiREQgLSBNTU0gLSBZWVlZXCIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b09tcnNEYXlEYXRlRm9ybWF0KGRhdGU6IERhdGVJbnB1dCkge1xuICByZXR1cm4gdG9PbXJzRGF0ZUZvcm1hdChkYXRlLCAnREQgLSBNTU0gLSBZWVlZJyk7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBmb3JtYXREYXRlKGRhdGUsIFwibm8geWVhclwiKWBcbiAqIEZvcm1hdHMgdGhlIGlucHV0IGFzIGEgZGF0ZSBzdHJpbmcgdXNpbmcgdGhlIGZvcm1hdCBcIkRELU1NTVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PbXJzWWVhcmxlc3NEYXRlRm9ybWF0KGRhdGU6IERhdGVJbnB1dCkge1xuICByZXR1cm4gdG9PbXJzRGF0ZUZvcm1hdChkYXRlLCAnREQtTU1NJyk7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBmb3JtYXREYXRlKGRhdGUpYFxuICogRm9ybWF0cyB0aGUgaW5wdXQgYXMgYSBkYXRlIHN0cmluZy4gQnkgZGVmYXVsdCB0aGUgZm9ybWF0IFwiWVlZWS1NTU0tRERcIiBpcyB1c2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PbXJzRGF0ZUZvcm1hdChkYXRlOiBEYXRlSW5wdXQsIGZvcm1hdCA9ICdZWVlZLU1NTS1ERCcpIHtcbiAgcmV0dXJuIGRheWpzKGRhdGUpLmZvcm1hdChmb3JtYXQpO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gcGFyc2UgYW4gYXJiaXRyYXJ5IHN0cmluZyBpbnRvIGEgZGF0ZS5cbiAqIFVzZXMgYGRheWpzKGRhdGVTdHJpbmcpYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGRheWpzKGRhdGVTdHJpbmcpLnRvRGF0ZSgpO1xufVxuXG5leHBvcnQgdHlwZSBGb3JtYXREYXRlTW9kZSA9ICdzdGFuZGFyZCcgfCAnd2lkZSc7XG5cbmV4cG9ydCB0eXBlIEZvcm1hdERhdGVPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIGNhbGVuZGFyIHRvIHVzZSB3aGVuIGZvcm1hdHRpbmcgdGhpcyBkYXRlLlxuICAgKi9cbiAgY2FsZW5kYXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAtIGBzdGFuZGFyZGA6IFwiMDMgRmViIDIwMjJcIlxuICAgKiAtIGB3aWRlYDogICAgIFwiMDMg4oCUIEZlYiDigJQgMjAyMlwiXG4gICAqL1xuICBtb2RlOiBGb3JtYXREYXRlTW9kZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRpbWUgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQgYWx3YXlzIChgdHJ1ZWApLFxuICAgKiBuZXZlciAoYGZhbHNlYCksIG9yIG9ubHkgd2hlbiB0aGUgaW5wdXQgZGF0ZSBpcyB0b2RheSAoYGZvciB0b2RheWApLlxuICAgKi9cbiAgdGltZTogdHJ1ZSB8IGZhbHNlIHwgJ2ZvciB0b2RheSc7XG4gIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgdGhlIGRheSBudW1iZXIgKi9cbiAgZGF5OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBpbmNsdWRlIHRoZSB5ZWFyICovXG4gIHllYXI6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgc3BlY2lhbCBoYW5kbGluZyBvZiBkYXRlcyB0aGF0IGFyZSB0b2RheS4gSWYgZmFsc2VcbiAgICogKHRoZSBkZWZhdWx0KSwgdGhlbiBkYXRlcyB0aGF0IGFyZSB0b2RheSB3aWxsIGJlIGZvcm1hdHRlZCBhcyBcIlRvZGF5XCJcbiAgICogaW4gdGhlIGxvY2FsZSBsYW5ndWFnZS4gSWYgdHJ1ZSwgdGhlbiBkYXRlcyB0aGF0IGFyZSB0b2RheSB3aWxsIGJlXG4gICAqIGZvcm1hdHRlZCB0aGUgc2FtZSBhcyBhbGwgb3RoZXIgZGF0ZXMuXG4gICAqL1xuICBub1RvZGF5OiBib29sZWFuO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEZvcm1hdERhdGVPcHRpb25zID0ge1xuICBtb2RlOiAnc3RhbmRhcmQnLFxuICB0aW1lOiAnZm9yIHRvZGF5JyxcbiAgZGF5OiB0cnVlLFxuICB5ZWFyOiB0cnVlLFxuICBub1RvZGF5OiBmYWxzZSxcbn07XG5cbi8qKlxuICogSW50ZXJuYWwgY2FjaGUgZm9yIHBlci1sb2NhbGUgY2FsZW5kYXJzXG4gKi9cbmNsYXNzIExvY2FsZUNhbGVuZGFycyB7XG4gICNyZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jcmVnaXN0cnkuc2V0KCdhbScsICdldGhpb3BpYycpO1xuICB9XG5cbiAgcmVnaXN0ZXIobG9jYWxlOiBzdHJpbmcsIGNhbGVuZGFyOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNyZWdpc3RyeS5zZXQobG9jYWxlLCBjYWxlbmRhcik7XG4gIH1cblxuICBnZXRDYWxlbmRhcihsb2NhbGU6IEludGwuTG9jYWxlKSB7XG4gICAgaWYgKCFCb29sZWFuKGxvY2FsZSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsZS5jYWxlbmRhcikge1xuICAgICAgcmV0dXJuIGxvY2FsZS5jYWxlbmRhcjtcbiAgICB9XG5cbiAgICBpZiAobG9jYWxlLnJlZ2lvbikge1xuICAgICAgY29uc3Qga2V5ID0gYCR7bG9jYWxlLmxhbmd1YWdlfS0ke2xvY2FsZS5yZWdpb259YDtcbiAgICAgIGlmICh0aGlzLiNyZWdpc3RyeS5oYXMoa2V5KSkge1xuICAgICAgICByZXR1cm4gdGhpcy4jcmVnaXN0cnkuZ2V0KGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsZS5sYW5ndWFnZSAmJiB0aGlzLiNyZWdpc3RyeS5oYXMobG9jYWxlLmxhbmd1YWdlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI3JlZ2lzdHJ5LmdldChsb2NhbGUubGFuZ3VhZ2UpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRDYWxlbmRhciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZS50b1N0cmluZygpKS5yZXNvbHZlZE9wdGlvbnMoKS5jYWxlbmRhcjtcblxuICAgIC8vIGNhY2hlIHRoaXMgcmVzdWx0XG4gICAgdGhpcy4jcmVnaXN0cnkuc2V0KGAke2xvY2FsZS5sYW5ndWFnZX0ke2xvY2FsZS5yZWdpb24gPyBgLSR7bG9jYWxlLnJlZ2lvbn1gIDogJyd9YCwgZGVmYXVsdENhbGVuZGFyKTtcblxuICAgIHJldHVybiBkZWZhdWx0Q2FsZW5kYXI7XG4gIH1cbn1cblxuY29uc3QgcmVnaXN0ZXJlZExvY2FsZUNhbGVuZGFycyA9IG5ldyBMb2NhbGVDYWxlbmRhcnMoKTtcblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgbmFtZSBvZiB0aGUgY2FsZW5kYXIgdG8gYXNzb2NpYXRlLCBhcyBhIGRlZmF1bHQsIHdpdGggdGhlIGdpdmVuIGJhc2UgbG9jYWxlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIHJlZ2lzdGVyRGVmYXVsdENhbGVuZGFyKCdlbicsICdidWRkaGlzdCcpIC8vIHNldHMgdGhlIGRlZmF1bHQgY2FsZW5kYXIgZm9yIHRoZSAnZW4nIGxvY2FsZSB0byBCdWRkaGlzdC5cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBiYXNlTG9jYWxlIHRoZSBsb2NhbGUgdG8gcmVnaXN0ZXIgdGhpcyBjYWxlbmRhciBmb3JcbiAqIEBwYXJhbSBjYWxlbmRhciB0aGUgY2FsZW5kYXIgdG8gdXNlIGZvciB0aGlzIHJlZ2lzdHJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIobG9jYWxlOiBzdHJpbmcsIGNhbGVuZGFyOiBzdHJpbmcpIHtcbiAgcmVnaXN0ZXJlZExvY2FsZUNhbGVuZGFycy5yZWdpc3Rlcihsb2NhbGUsIGNhbGVuZGFyKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGRlZmF1bHQgY2FsZW5kYXIgZm9yIHRoZSBzcGVjaWZpZWQgbG9jYWxlIGlmIGFueS5cbiAqXG4gKiBAcGFyYW0gbG9jYWxlIHRoZSBsb2NhbGUgdG8gbG9vay11cFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdENhbGVuZGFyKGxvY2FsZTogSW50bC5Mb2NhbGUgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgY29uc3QgbG9jYWxlXyA9IGxvY2FsZSA/PyBnZXRMb2NhbGUoKTtcblxuICByZXR1cm4gcmVnaXN0ZXJlZExvY2FsZUNhbGVuZGFycy5nZXRDYWxlbmRhcihsb2NhbGVfIGluc3RhbmNlb2YgSW50bC5Mb2NhbGUgPyBsb2NhbGVfIDogbmV3IEludGwuTG9jYWxlKGxvY2FsZV8pKTtcbn1cblxuLyoqXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCBkYXRlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUgYW5kIHRoZVxuICogZ2l2ZW4gb3B0aW9ucy5cbiAqXG4gKiBEZWZhdWx0IG9wdGlvbnM6XG4gKiAgLSBtb2RlOiBcInN0YW5kYXJkXCIsXG4gKiAgLSB0aW1lOiBcImZvciB0b2RheVwiLFxuICogIC0gZGF5OiB0cnVlLFxuICogIC0geWVhcjogdHJ1ZVxuICogIC0gbm9Ub2RheTogZmFsc2VcbiAqXG4gKiBJZiB0aGUgZGF0ZSBpcyB0b2RheSB0aGVuIFwiVG9kYXlcIiBpcyBwcm9kdWNlZCAoaW4gdGhlIGxvY2FsZSBsYW5ndWFnZSkuXG4gKiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBub1RvZGF5OiB0cnVlYC5cbiAqXG4gKiBXaGVuIHRpbWUgaXMgaW5jbHVkZWQsIGl0IGlzIGFwcGVuZGVkIHdpdGggYSBjb21tYSBhbmQgYSBzcGFjZS4gVGhpc1xuICogYWdyZWVzIHdpdGggdGhlIG91dHB1dCBvZiBgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmdgIGZvciAqbW9zdCpcbiAqIGxvY2FsZXMuXG4gKi9cbi8vIFRPRE86IFNob3VsZG4ndCB0aHJvdyBvbiBudWxsIGlucHV0XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlOiBEYXRlLCBvcHRpb25zPzogUGFydGlhbDxGb3JtYXREYXRlT3B0aW9ucz4pIHtcbiAgbGV0IGxvY2FsZSA9IGdldExvY2FsZSgpO1xuICBjb25zdCBfbG9jYWxlID0gbmV3IEludGwuTG9jYWxlKGxvY2FsZSk7XG5cbiAgY29uc3QgeyBjYWxlbmRhciwgbW9kZSwgdGltZSwgZGF5LCB5ZWFyLCBub1RvZGF5IH06IEZvcm1hdERhdGVPcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgIC4uLnsgbm9Ub2RheTogX2xvY2FsZS5sYW5ndWFnZSA9PT0gJ2FtJyA/IHRydWUgOiBmYWxzZSB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3QgZm9ybWF0Q2FsZW5kYXIgPSBjYWxlbmRhciA/PyBnZXREZWZhdWx0Q2FsZW5kYXIoX2xvY2FsZSk7XG5cbiAgY29uc3QgZm9ybWF0dGVyT3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XG4gICAgY2FsZW5kYXI6IGZvcm1hdENhbGVuZGFyLFxuICAgIHllYXI6IHllYXIgPyAnbnVtZXJpYycgOiB1bmRlZmluZWQsXG4gICAgbW9udGg6ICdzaG9ydCcsXG4gICAgZGF5OiBkYXkgPyAnMi1kaWdpdCcgOiB1bmRlZmluZWQsXG4gIH07XG5cbiAgbGV0IGxvY2FsZVN0cmluZzogc3RyaW5nO1xuICBjb25zdCBpc1RvZGF5ID0gZGF5anMoZGF0ZSkuaXNUb2RheSgpO1xuICBpZiAoaXNUb2RheSAmJiAhbm9Ub2RheSkge1xuICAgIC8vIFRoaXMgcHJvZHVjZXMgdGhlIHdvcmQgXCJUb2RheVwiIGluIHRoZSBsYW5ndWFnZSBvZiBgbG9jYWxlYFxuICAgIGNvbnN0IHJ0ZiA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChsb2NhbGUsIHsgbnVtZXJpYzogJ2F1dG8nIH0pO1xuICAgIGxvY2FsZVN0cmluZyA9IHJ0Zi5mb3JtYXQoMCwgJ2RheScpO1xuICAgIGxvY2FsZVN0cmluZyA9IGxvY2FsZVN0cmluZ1swXS50b0xvY2FsZVVwcGVyQ2FzZShsb2NhbGUpICsgbG9jYWxlU3RyaW5nLnNsaWNlKDEpO1xuICB9IGVsc2Uge1xuICAgIGlmIChfbG9jYWxlLmxhbmd1YWdlID09PSAnZW4nKSB7XG4gICAgICAvLyBUaGlzIGxvY2FsZSBvdmVycmlkZSBpcyBoZXJlIHJhdGhlciB0aGFuIGluIGBnZXRMb2NhbGVgXG4gICAgICAvLyBiZWNhdXNlIEFtZXJpY2FucyBzaG91bGQgc2VlIEFNL1BNIGZvciB0aW1lcy5cbiAgICAgIGxvY2FsZSA9ICdlbi1HQic7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBmb3JtYXR0ZXJPcHRpb25zKTtcbiAgICBsZXQgcGFydHMgPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhkYXRlKTtcblxuICAgIGlmICgoX2xvY2FsZS5sYW5ndWFnZSA9PT0gJ2VuJyB8fCBfbG9jYWxlLmxhbmd1YWdlID09PSAnYW0nKSAmJiBtb2RlID09ICdzdGFuZGFyZCcgJiYgeWVhciAmJiBkYXkpIHtcbiAgICAgIC8vIEN1c3RvbSBmb3JtYXR0aW5nIGZvciBFbmdsaXNoIGFuZCBBbWhhcmljLiBVc2UgaHlwaGVucyBpbnN0ZWFkIG9mIHNwYWNlcy5cbiAgICAgIHBhcnRzID0gcGFydHMubWFwKGZvcm1hdFBhcnRzKCctJykpO1xuICAgIH1cblxuICAgIGlmIChtb2RlID09ICd3aWRlJykge1xuICAgICAgcGFydHMgPSBwYXJ0cy5tYXAoZm9ybWF0UGFydHMoJyDigJQgJykpOyAvLyBzcGFjZS1lbWRhc2gtc3BhY2VcbiAgICB9XG5cbiAgICAvLyBvbWl0IHRoZSBlcmEgd2hlbiB1c2luZyB0aGUgRXRoaW9waWMgY2FsZW5kYXJcbiAgICBpZiAoZm9ybWF0dGVyT3B0aW9ucy5jYWxlbmRhciA9PT0gJ2V0aGlvcGljJykge1xuICAgICAgcGFydHMgPSBwYXJ0cy5maWx0ZXIoKHBhcnQsIGlkeCwgdmFsdWVzKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJ0LnR5cGUgPT09ICdlcmEnIHx8XG4gICAgICAgICAgKHBhcnQudHlwZSA9PT0gJ2xpdGVyYWwnICYmIGlkeCA8IHZhbHVlcy5sZW5ndGggLSAxICYmIHZhbHVlc1tpZHggKyAxXS50eXBlID09PSAnZXJhJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2NhbGVTdHJpbmcgPSBwYXJ0cy5tYXAoKHApID0+IHAudmFsdWUpLmpvaW4oJycpO1xuICB9XG4gIGlmICh0aW1lID09PSB0cnVlIHx8IChpc1RvZGF5ICYmIHRpbWUgPT09ICdmb3IgdG9kYXknKSkge1xuICAgIGxvY2FsZVN0cmluZyArPSBgLCAke2Zvcm1hdFRpbWUoZGF0ZSl9YDtcbiAgfVxuICByZXR1cm4gbG9jYWxlU3RyaW5nO1xufVxuXG4vLyBJbnRlcm5hbCBjdXJyaWVkIGNhbGwtYmFjayBmb3IgbWFwKClcbmNvbnN0IGZvcm1hdFBhcnRzID0gKHNlcGFyYXRvcjogc3RyaW5nKSA9PiB7XG4gIHJldHVybiAocGFydDogSW50bC5EYXRlVGltZUZvcm1hdFBhcnQsIGlkeDogbnVtYmVyLCB2YWx1ZXM6IEFycmF5PEludGwuRGF0ZVRpbWVGb3JtYXRQYXJ0PikgPT4ge1xuICAgIGlmIChwYXJ0LnR5cGUgIT09ICdsaXRlcmFsJyB8fCBwYXJ0LnZhbHVlICE9PSAnICcpIHtcbiAgICAgIHJldHVybiBwYXJ0O1xuICAgIH1cblxuICAgIGlmIChpZHggPCB2YWx1ZXMubGVuZ3RoIC0gMSAmJiB2YWx1ZXNbaWR4ICsgMV0udHlwZSA9PT0gJ2VyYScpIHtcbiAgICAgIHJldHVybiBwYXJ0O1xuICAgIH1cblxuICAgIHJldHVybiB7IHR5cGU6ICdsaXRlcmFsJywgdmFsdWU6IHNlcGFyYXRvciB9IGFzIEludGwuRGF0ZVRpbWVGb3JtYXRQYXJ0O1xuICB9O1xufTtcblxuLyoqXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCBhcyBhIHRpbWUsIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUuXG4gKiAxMi1ob3VyIG9yIDI0LWhvdXIgY2xvY2sgZGVwZW5kcyBvbiBsb2NhbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lKGRhdGU6IERhdGUpIHtcbiAgcmV0dXJuIGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKGdldExvY2FsZSgpLCB7XG4gICAgaG91cjogJzItZGlnaXQnLFxuICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICB9KTtcbn1cblxuLyoqXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCBpbnRvIGEgc3RyaW5nIHNob3dpbmcgdGhlIGRhdGUgYW5kIHRpbWUsIGFjY29yZGluZ1xuICogdG8gdGhlIGN1cnJlbnQgbG9jYWxlLiBUaGUgYG1vZGVgIHBhcmFtZXRlciBpcyBhcyBkZXNjcmliZWQgZm9yXG4gKiBgZm9ybWF0RGF0ZWAuXG4gKlxuICogVGhpcyBpcyBjcmVhdGVkIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHJlc3VsdHMgb2YgYGZvcm1hdERhdGVgXG4gKiBhbmQgYGZvcm1hdFRpbWVgIHdpdGggYSBjb21tYSBhbmQgc3BhY2UuIFRoaXMgYWdyZWVzIHdpdGggdGhlXG4gKiBvdXRwdXQgb2YgYERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nYCBmb3IgKm1vc3QqIGxvY2FsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXRldGltZShkYXRlOiBEYXRlLCBvcHRpb25zPzogUGFydGlhbDxPbWl0PEZvcm1hdERhdGVPcHRpb25zLCAndGltZSc+Pikge1xuICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCB7IC4uLm9wdGlvbnMsIHRpbWU6IHRydWUgfSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgY3VycmVudCBsb2NhbGUgb2YgdGhlIGFwcGxpY2F0aW9uLlxuICogQHJldHVybnMgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGUoKSB7XG4gIGxldCBsYW5ndWFnZSA9IHdpbmRvdy5pMThuZXh0Lmxhbmd1YWdlO1xuICBsYW5ndWFnZSA9IGxhbmd1YWdlLnJlcGxhY2UoJ18nLCAnLScpOyAvLyBqdXN0IGluIGNhc2VcbiAgLy8gaGFjayBmb3IgYGh0YCB1bnRpbCBodHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0NMRFItMTQ5NTYgaXMgZml4ZWRcbiAgaWYgKGxhbmd1YWdlID09PSAnaHQnKSB7XG4gICAgbGFuZ3VhZ2UgPSAnZnItSFQnO1xuICB9XG5cbiAgcmV0dXJuIGxhbmd1YWdlO1xufVxuIl0sIm5hbWVzIjpbImRheWpzIiwidXRjIiwiaXNUb2RheSIsImV4dGVuZCIsImlzb0Zvcm1hdCIsImlzT21yc0RhdGVTdHJpY3QiLCJvbXJzUGF5bG9hZFN0cmluZyIsInVuZGVmaW5lZCIsInRyaW0iLCJsZW5ndGgiLCJpc1ZhbGlkIiwiaXNPbXJzRGF0ZVRvZGF5IiwiZGF0ZSIsInRvRGF0ZU9iamVjdFN0cmljdCIsIm9tcnNEYXRlU3RyaW5nIiwidG9EYXRlIiwidG9PbXJzSXNvU3RyaW5nIiwidG9VVEMiLCJkIiwiZm9ybWF0IiwidG9PbXJzVGltZVN0cmluZzI0IiwidG9PbXJzVGltZVN0cmluZyIsInRvT21yc0RheURhdGVGb3JtYXQiLCJ0b09tcnNEYXRlRm9ybWF0IiwidG9PbXJzWWVhcmxlc3NEYXRlRm9ybWF0IiwicGFyc2VEYXRlIiwiZGF0ZVN0cmluZyIsImRlZmF1bHRPcHRpb25zIiwibW9kZSIsInRpbWUiLCJkYXkiLCJ5ZWFyIiwibm9Ub2RheSIsIkxvY2FsZUNhbGVuZGFycyIsIk1hcCIsInJlZ2lzdHJ5Iiwic2V0IiwicmVnaXN0ZXIiLCJsb2NhbGUiLCJjYWxlbmRhciIsImdldENhbGVuZGFyIiwiQm9vbGVhbiIsInJlZ2lvbiIsImtleSIsImxhbmd1YWdlIiwiaGFzIiwiZ2V0IiwiZGVmYXVsdENhbGVuZGFyIiwiSW50bCIsIkRhdGVUaW1lRm9ybWF0IiwidG9TdHJpbmciLCJyZXNvbHZlZE9wdGlvbnMiLCJyZWdpc3RlcmVkTG9jYWxlQ2FsZW5kYXJzIiwicmVnaXN0ZXJEZWZhdWx0Q2FsZW5kYXIiLCJnZXREZWZhdWx0Q2FsZW5kYXIiLCJsb2NhbGVfIiwiZ2V0TG9jYWxlIiwiTG9jYWxlIiwiZm9ybWF0RGF0ZSIsIm9wdGlvbnMiLCJfbG9jYWxlIiwiZm9ybWF0Q2FsZW5kYXIiLCJmb3JtYXR0ZXJPcHRpb25zIiwibW9udGgiLCJsb2NhbGVTdHJpbmciLCJydGYiLCJSZWxhdGl2ZVRpbWVGb3JtYXQiLCJudW1lcmljIiwidG9Mb2NhbGVVcHBlckNhc2UiLCJzbGljZSIsImZvcm1hdHRlciIsInBhcnRzIiwiZm9ybWF0VG9QYXJ0cyIsIm1hcCIsImZvcm1hdFBhcnRzIiwiZmlsdGVyIiwicGFydCIsImlkeCIsInZhbHVlcyIsInR5cGUiLCJwIiwidmFsdWUiLCJqb2luIiwiZm9ybWF0VGltZSIsInNlcGFyYXRvciIsInRvTG9jYWxlVGltZVN0cmluZyIsImhvdXIiLCJtaW51dGUiLCJmb3JtYXREYXRldGltZSIsIndpbmRvdyIsImkxOG5leHQiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-utils/src/omrs-dates.ts\n");
|
|
8167
8167
|
|
|
8168
8168
|
/***/ }),
|
|
8169
8169
|
|
|
@@ -8229,7 +8229,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8229
8229
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
8230
8230
|
|
|
8231
8231
|
"use strict";
|
|
8232
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupPaths: () => (/* binding */ setupPaths),\n/* harmony export */ setupUtils: () => (/* binding */ setupUtils)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_styleguide_dist_openmrs_esm_styleguide_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-styleguide/dist/openmrs-esm-styleguide.css */ \"../../framework/esm-styleguide/dist/openmrs-esm-styleguide.css\");\n/* harmony import */ var import_map_overrides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! import-map-overrides */ \"../../../node_modules/import-map-overrides/dist/import-map-overrides.js\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__);\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n\n\nfunction setupPaths(config) {\n var error = false;\n if (!config.apiUrl) {\n console.error(\"initializeSpa() was called without supplying an apiUrl. This means that the application cannot communicate with the backend.\");\n error = true;\n }\n if (!config.spaPath) {\n console.error(\"initializeSpa() was called without supplying a spaPath. This means that the application cannot properly generate urls.\");\n error = true;\n }\n if (error) {\n throw new Error(\"One or more required properties in the basic configuration of the application was missing and the application cannot be rendered. Please see the browser console for details.\");\n }\n window.openmrsBase = config.apiUrl;\n window.spaBase = config.spaPath;\n window.spaEnv = config.env || \"production\";\n window.spaVersion = \"5.3.3-pre.1296-20231219\";\n var spaBaseWithSlash = window.spaBase.endsWith(\"/\") ? window.spaBase : window.spaBase + \"/\";\n window.getOpenmrsSpaBase = function() {\n return spaBaseWithSlash;\n };\n}\nfunction setupUtils() {\n window.copyText = function(source) {\n var sel = window.getSelection();\n if (sel) {\n var r = document.createRange();\n r.selectNode(source);\n sel.removeAllRanges();\n sel.addRange(r);\n document.execCommand(\"copy\");\n sel.removeAllRanges();\n }\n };\n}\nfunction wireSpaPaths() {\n var baseElement = document.createElement(\"base\");\n var baseHref = window.getOpenmrsSpaBase();\n baseElement.href = baseHref;\n document.head.appendChild(baseElement);\n __webpack_require__.p = baseHref;\n}\n/**\n * Initializes the OpenMRS Frontend App Shell.\n * @param config The global configuration to apply.\n */ function initializeSpa(config) {\n setupUtils();\n setupPaths(config);\n wireSpaPaths();\n return Promise.resolve(__webpack_require__.I(\"default\")).then(/*#__PURE__*/ _async_to_generator(function() {\n var _config_configUrls, configUrls, _config_offline, offline, run;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _config_configUrls = config.configUrls, configUrls = _config_configUrls === void 0 ? [] : _config_configUrls, _config_offline = config.offline, offline = _config_offline === void 0 ? true : _config_offline;\n return [\n 4,\n Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguageDetector-bec0ef\"), __webpack_require__.e(\"src_run_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./run */ \"./src/run.ts\"))\n ];\n case 1:\n run = _state.sent().run;\n return [\n 2,\n run(configUrls, offline)\n ];\n }\n });\n }));\n}\nwindow.initializeSpa = initializeSpa;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFpRTtBQUNuQztBQUNFO0FBR3pCLFNBQVNBLFdBQVdDLE1BQWlCLEVBQUU7SUFDNUMsSUFBSUMsUUFBUSxLQUFLO0lBQ2pCLElBQUksQ0FBQ0QsT0FBT0UsTUFBTSxFQUFFO1FBQ2xCQyxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQ0QsT0FBT0ksT0FBTyxFQUFFO1FBQ25CRCxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUlBLE9BQU87UUFDVCxNQUFNLElBQUlJLE1BQ1IsaUxBQ0E7SUFDSixDQUFDO0lBRURDLE9BQU9DLFdBQVcsR0FBR1AsT0FBT0UsTUFBTTtJQUNsQ0ksT0FBT0UsT0FBTyxHQUFHUixPQUFPSSxPQUFPO0lBQy9CRSxPQUFPRyxNQUFNLEdBQUdULE9BQU9VLEdBQUcsSUFBSTtJQUM5QkosT0FBT0ssVUFBVSxHQUFHQyx5QkFBeUI7SUFDN0MsSUFBTUUsbUJBQW1CUixPQUFPRSxPQUFPLENBQUNPLFFBQVEsQ0FBQyxPQUFPVCxPQUFPRSxPQUFPLEdBQUdGLE9BQU9FLE9BQU8sR0FBRyxHQUFHO0lBQzdGRixPQUFPVSxpQkFBaUIsR0FBRztlQUFNRjs7QUFDbkMsQ0FBQztBQUVNLFNBQVNHLGFBQWE7SUFDM0JYLE9BQU9ZLFFBQVEsR0FBRyxTQUFDQyxRQUF3QjtRQUN6QyxJQUFNQyxNQUFNZCxPQUFPZSxZQUFZO1FBRS9CLElBQUlELEtBQUs7WUFDUCxJQUFNRSxJQUFJQyxTQUFTQyxXQUFXO1lBQzlCRixFQUFFRyxVQUFVLENBQUNOO1lBQ2JDLElBQUlNLGVBQWU7WUFDbkJOLElBQUlPLFFBQVEsQ0FBQ0w7WUFDYkMsU0FBU0ssV0FBVyxDQUFDO1lBQ3JCUixJQUFJTSxlQUFlO1FBQ3JCLENBQUM7SUFDSDtBQUNGLENBQUM7QUFFRCxTQUFTRyxlQUFlO0lBQ3RCLElBQU1DLGNBQWNQLFNBQVNRLGFBQWEsQ0FBQztJQUMzQyxJQUFNQyxXQUFXMUIsT0FBT1UsaUJBQWlCO0lBQ3pDYyxZQUFZRyxJQUFJLEdBQUdEO0lBQ25CVCxTQUFTVyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0w7SUFDMUJNLHFCQUF1QkEsR0FBR0o7QUFDNUI7QUFFQTs7O0NBR0MsR0FDRCxTQUFTSyxjQUFjckMsTUFBaUIsRUFBRTtJQUN4Q2lCO0lBQ0FsQixXQUFXQztJQUNYNkI7SUFDQSxPQUFPUyxRQUFRQyxPQUFPLENBQUNDLHFCQUF3QkEsQ0FBQyxZQUFZQyxJQUFJLGVBQUMsK0JBQVk7Z0NBQ25FQyw2QkFBaUJDLFNBQ2pCQzs7Ozt5Q0FEb0M1QyxPQUFwQzBDLFlBQUFBLHdGQUFvQzFDLE9BQW5CMkMsU0FBQUEsdUNBQVUsSUFBSTtvQkFDdkI7O3dCQUFNLGlSQUFPOzs7b0JBQXJCQyxNQUFRLGNBQVJBO29CQUNSOzt3QkFBT0EsSUFBSUYsWUFBWUM7Ozs7SUFDekI7QUFDRjtBQUVBckMsT0FBTytCLGFBQWEsR0FBR0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2luZGV4LnRzP2FkYTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9kaXN0L29wZW5tcnMtZXNtLXN0eWxlZ3VpZGUuY3NzJztcbmltcG9ydCAnaW1wb3J0LW1hcC1vdmVycmlkZXMnO1xuaW1wb3J0ICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcbmltcG9ydCB0eXBlIHsgU3BhQ29uZmlnIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBQYXRocyhjb25maWc6IFNwYUNvbmZpZykge1xuICBsZXQgZXJyb3IgPSBmYWxzZTtcbiAgaWYgKCFjb25maWcuYXBpVXJsKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdpbml0aWFsaXplU3BhKCkgd2FzIGNhbGxlZCB3aXRob3V0IHN1cHBseWluZyBhbiBhcGlVcmwuIFRoaXMgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGNvbW11bmljYXRlIHdpdGggdGhlIGJhY2tlbmQuJyxcbiAgICApO1xuICAgIGVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICghY29uZmlnLnNwYVBhdGgpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ2luaXRpYWxpemVTcGEoKSB3YXMgY2FsbGVkIHdpdGhvdXQgc3VwcGx5aW5nIGEgc3BhUGF0aC4gVGhpcyBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgcHJvcGVybHkgZ2VuZXJhdGUgdXJscy4nLFxuICAgICk7XG4gICAgZXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ09uZSBvciBtb3JlIHJlcXVpcmVkIHByb3BlcnRpZXMgaW4gdGhlIGJhc2ljIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uIHdhcyBtaXNzaW5nIGFuZCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGJlIHJlbmRlcmVkLiBQbGVhc2Ugc2VlIHRoZSBicm93c2VyIGNvbnNvbGUgZm9yIGRldGFpbHMuJyxcbiAgICApO1xuICB9XG5cbiAgd2luZG93Lm9wZW5tcnNCYXNlID0gY29uZmlnLmFwaVVybDtcbiAgd2luZG93LnNwYUJhc2UgPSBjb25maWcuc3BhUGF0aDtcbiAgd2luZG93LnNwYUVudiA9IGNvbmZpZy5lbnYgfHwgJ3Byb2R1Y3Rpb24nO1xuICB3aW5kb3cuc3BhVmVyc2lvbiA9IHByb2Nlc3MuZW52LkJVSUxEX1ZFUlNJT047XG4gIGNvbnN0IHNwYUJhc2VXaXRoU2xhc2ggPSB3aW5kb3cuc3BhQmFzZS5lbmRzV2l0aCgnLycpID8gd2luZG93LnNwYUJhc2UgOiB3aW5kb3cuc3BhQmFzZSArICcvJztcbiAgd2luZG93LmdldE9wZW5tcnNTcGFCYXNlID0gKCkgPT4gc3BhQmFzZVdpdGhTbGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwVXRpbHMoKSB7XG4gIHdpbmRvdy5jb3B5VGV4dCA9IChzb3VyY2U6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHNlbCkge1xuICAgICAgY29uc3QgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByLnNlbGVjdE5vZGUoc291cmNlKTtcbiAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbC5hZGRSYW5nZShyKTtcbiAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiB3aXJlU3BhUGF0aHMoKSB7XG4gIGNvbnN0IGJhc2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpO1xuICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpO1xuICBiYXNlRWxlbWVudC5ocmVmID0gYmFzZUhyZWY7XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYmFzZUVsZW1lbnQpO1xuICBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyA9IGJhc2VIcmVmO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBPcGVuTVJTIEZyb250ZW5kIEFwcCBTaGVsbC5cbiAqIEBwYXJhbSBjb25maWcgVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIHRvIGFwcGx5LlxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplU3BhKGNvbmZpZzogU3BhQ29uZmlnKSB7XG4gIHNldHVwVXRpbHMoKTtcbiAgc2V0dXBQYXRocyhjb25maWcpO1xuICB3aXJlU3BhUGF0aHMoKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX18oJ2RlZmF1bHQnKSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb25maWdVcmxzID0gW10sIG9mZmxpbmUgPSB0cnVlIH0gPSBjb25maWc7XG4gICAgY29uc3QgeyBydW4gfSA9IGF3YWl0IGltcG9ydCgnLi9ydW4nKTtcbiAgICByZXR1cm4gcnVuKGNvbmZpZ1VybHMsIG9mZmxpbmUpO1xuICB9KTtcbn1cblxud2luZG93LmluaXRpYWxpemVTcGEgPSBpbml0aWFsaXplU3BhO1xuIl0sIm5hbWVzIjpbInNldHVwUGF0aHMiLCJjb25maWciLCJlcnJvciIsImFwaVVybCIsImNvbnNvbGUiLCJzcGFQYXRoIiwiRXJyb3IiLCJ3aW5kb3ciLCJvcGVubXJzQmFzZSIsInNwYUJhc2UiLCJzcGFFbnYiLCJlbnYiLCJzcGFWZXJzaW9uIiwicHJvY2VzcyIsIkJVSUxEX1ZFUlNJT04iLCJzcGFCYXNlV2l0aFNsYXNoIiwiZW5kc1dpdGgiLCJnZXRPcGVubXJzU3BhQmFzZSIsInNldHVwVXRpbHMiLCJjb3B5VGV4dCIsInNvdXJjZSIsInNlbCIsImdldFNlbGVjdGlvbiIsInIiLCJkb2N1bWVudCIsImNyZWF0ZVJhbmdlIiwic2VsZWN0Tm9kZSIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwiZXhlY0NvbW1hbmQiLCJ3aXJlU3BhUGF0aHMiLCJiYXNlRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJiYXNlSHJlZiIsImhyZWYiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJfX3dlYnBhY2tfcHVibGljX3BhdGhfXyIsImluaXRpYWxpemVTcGEiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9fd2VicGFja19pbml0X3NoYXJpbmdfXyIsInRoZW4iLCJjb25maWdVcmxzIiwib2ZmbGluZSIsInJ1biJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.ts\n");
|
|
8232
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupPaths: () => (/* binding */ setupPaths),\n/* harmony export */ setupUtils: () => (/* binding */ setupUtils)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_styleguide_dist_openmrs_esm_styleguide_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-styleguide/dist/openmrs-esm-styleguide.css */ \"../../framework/esm-styleguide/dist/openmrs-esm-styleguide.css\");\n/* harmony import */ var import_map_overrides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! import-map-overrides */ \"../../../node_modules/import-map-overrides/dist/import-map-overrides.js\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-framework */ \"webpack/sharing/consume/default/@openmrs/esm-framework/@openmrs/esm-framework\");\n/* harmony import */ var _openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_openmrs_esm_framework__WEBPACK_IMPORTED_MODULE_2__);\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, g, _ = {\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 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 n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)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 = [\n op[0] & 2,\n t.value\n ];\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 = [\n 0\n ];\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 = [\n 6,\n e\n ];\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}\n\n\n\nfunction setupPaths(config) {\n var error = false;\n if (!config.apiUrl) {\n console.error(\"initializeSpa() was called without supplying an apiUrl. This means that the application cannot communicate with the backend.\");\n error = true;\n }\n if (!config.spaPath) {\n console.error(\"initializeSpa() was called without supplying a spaPath. This means that the application cannot properly generate urls.\");\n error = true;\n }\n if (error) {\n throw new Error(\"One or more required properties in the basic configuration of the application was missing and the application cannot be rendered. Please see the browser console for details.\");\n }\n window.openmrsBase = config.apiUrl;\n window.spaBase = config.spaPath;\n window.spaEnv = config.env || \"production\";\n window.spaVersion = \"5.3.3-pre.1307-20231221\";\n var spaBaseWithSlash = window.spaBase.endsWith(\"/\") ? window.spaBase : window.spaBase + \"/\";\n window.getOpenmrsSpaBase = function() {\n return spaBaseWithSlash;\n };\n}\nfunction setupUtils() {\n window.copyText = function(source) {\n var sel = window.getSelection();\n if (sel) {\n var r = document.createRange();\n r.selectNode(source);\n sel.removeAllRanges();\n sel.addRange(r);\n document.execCommand(\"copy\");\n sel.removeAllRanges();\n }\n };\n}\nfunction wireSpaPaths() {\n var baseElement = document.createElement(\"base\");\n var baseHref = window.getOpenmrsSpaBase();\n baseElement.href = baseHref;\n document.head.appendChild(baseElement);\n __webpack_require__.p = baseHref;\n}\n/**\n * Initializes the OpenMRS Frontend App Shell.\n * @param config The global configuration to apply.\n */ function initializeSpa(config) {\n setupUtils();\n setupPaths(config);\n wireSpaPaths();\n return Promise.resolve(__webpack_require__.I(\"default\")).then(/*#__PURE__*/ _async_to_generator(function() {\n var _config_configUrls, configUrls, _config_offline, offline, run;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _config_configUrls = config.configUrls, configUrls = _config_configUrls === void 0 ? [] : _config_configUrls, _config_offline = config.offline, offline = _config_offline === void 0 ? true : _config_offline;\n return [\n 4,\n Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguageDetector-bec0ef\"), __webpack_require__.e(\"src_run_ts\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./run */ \"./src/run.ts\"))\n ];\n case 1:\n run = _state.sent().run;\n return [\n 2,\n run(configUrls, offline)\n ];\n }\n });\n }));\n}\nwindow.initializeSpa = initializeSpa;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvaW5kZXgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFpRTtBQUNuQztBQUNFO0FBR3pCLFNBQVNBLFdBQVdDLE1BQWlCLEVBQUU7SUFDNUMsSUFBSUMsUUFBUSxLQUFLO0lBQ2pCLElBQUksQ0FBQ0QsT0FBT0UsTUFBTSxFQUFFO1FBQ2xCQyxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQ0QsT0FBT0ksT0FBTyxFQUFFO1FBQ25CRCxRQUFRRixLQUFLLENBQ1g7UUFFRkEsUUFBUSxJQUFJO0lBQ2QsQ0FBQztJQUVELElBQUlBLE9BQU87UUFDVCxNQUFNLElBQUlJLE1BQ1IsaUxBQ0E7SUFDSixDQUFDO0lBRURDLE9BQU9DLFdBQVcsR0FBR1AsT0FBT0UsTUFBTTtJQUNsQ0ksT0FBT0UsT0FBTyxHQUFHUixPQUFPSSxPQUFPO0lBQy9CRSxPQUFPRyxNQUFNLEdBQUdULE9BQU9VLEdBQUcsSUFBSTtJQUM5QkosT0FBT0ssVUFBVSxHQUFHQyx5QkFBeUI7SUFDN0MsSUFBTUUsbUJBQW1CUixPQUFPRSxPQUFPLENBQUNPLFFBQVEsQ0FBQyxPQUFPVCxPQUFPRSxPQUFPLEdBQUdGLE9BQU9FLE9BQU8sR0FBRyxHQUFHO0lBQzdGRixPQUFPVSxpQkFBaUIsR0FBRztlQUFNRjs7QUFDbkMsQ0FBQztBQUVNLFNBQVNHLGFBQWE7SUFDM0JYLE9BQU9ZLFFBQVEsR0FBRyxTQUFDQyxRQUF3QjtRQUN6QyxJQUFNQyxNQUFNZCxPQUFPZSxZQUFZO1FBRS9CLElBQUlELEtBQUs7WUFDUCxJQUFNRSxJQUFJQyxTQUFTQyxXQUFXO1lBQzlCRixFQUFFRyxVQUFVLENBQUNOO1lBQ2JDLElBQUlNLGVBQWU7WUFDbkJOLElBQUlPLFFBQVEsQ0FBQ0w7WUFDYkMsU0FBU0ssV0FBVyxDQUFDO1lBQ3JCUixJQUFJTSxlQUFlO1FBQ3JCLENBQUM7SUFDSDtBQUNGLENBQUM7QUFFRCxTQUFTRyxlQUFlO0lBQ3RCLElBQU1DLGNBQWNQLFNBQVNRLGFBQWEsQ0FBQztJQUMzQyxJQUFNQyxXQUFXMUIsT0FBT1UsaUJBQWlCO0lBQ3pDYyxZQUFZRyxJQUFJLEdBQUdEO0lBQ25CVCxTQUFTVyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0w7SUFDMUJNLHFCQUF1QkEsR0FBR0o7QUFDNUI7QUFFQTs7O0NBR0MsR0FDRCxTQUFTSyxjQUFjckMsTUFBaUIsRUFBRTtJQUN4Q2lCO0lBQ0FsQixXQUFXQztJQUNYNkI7SUFDQSxPQUFPUyxRQUFRQyxPQUFPLENBQUNDLHFCQUF3QkEsQ0FBQyxZQUFZQyxJQUFJLGVBQUMsK0JBQVk7Z0NBQ25FQyw2QkFBaUJDLFNBQ2pCQzs7Ozt5Q0FEb0M1QyxPQUFwQzBDLFlBQUFBLHdGQUFvQzFDLE9BQW5CMkMsU0FBQUEsdUNBQVUsSUFBSTtvQkFDdkI7O3dCQUFNLGlSQUFPOzs7b0JBQXJCQyxNQUFRLGNBQVJBO29CQUNSOzt3QkFBT0EsSUFBSUYsWUFBWUM7Ozs7SUFDekI7QUFDRjtBQUVBckMsT0FBTytCLGFBQWEsR0FBR0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2luZGV4LnRzP2FkYTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAb3Blbm1ycy9lc20tc3R5bGVndWlkZS9kaXN0L29wZW5tcnMtZXNtLXN0eWxlZ3VpZGUuY3NzJztcbmltcG9ydCAnaW1wb3J0LW1hcC1vdmVycmlkZXMnO1xuaW1wb3J0ICdAb3Blbm1ycy9lc20tZnJhbWV3b3JrJztcbmltcG9ydCB0eXBlIHsgU3BhQ29uZmlnIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBQYXRocyhjb25maWc6IFNwYUNvbmZpZykge1xuICBsZXQgZXJyb3IgPSBmYWxzZTtcbiAgaWYgKCFjb25maWcuYXBpVXJsKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdpbml0aWFsaXplU3BhKCkgd2FzIGNhbGxlZCB3aXRob3V0IHN1cHBseWluZyBhbiBhcGlVcmwuIFRoaXMgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGNvbW11bmljYXRlIHdpdGggdGhlIGJhY2tlbmQuJyxcbiAgICApO1xuICAgIGVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIGlmICghY29uZmlnLnNwYVBhdGgpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ2luaXRpYWxpemVTcGEoKSB3YXMgY2FsbGVkIHdpdGhvdXQgc3VwcGx5aW5nIGEgc3BhUGF0aC4gVGhpcyBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgcHJvcGVybHkgZ2VuZXJhdGUgdXJscy4nLFxuICAgICk7XG4gICAgZXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ09uZSBvciBtb3JlIHJlcXVpcmVkIHByb3BlcnRpZXMgaW4gdGhlIGJhc2ljIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uIHdhcyBtaXNzaW5nIGFuZCB0aGUgYXBwbGljYXRpb24gY2Fubm90IGJlIHJlbmRlcmVkLiBQbGVhc2Ugc2VlIHRoZSBicm93c2VyIGNvbnNvbGUgZm9yIGRldGFpbHMuJyxcbiAgICApO1xuICB9XG5cbiAgd2luZG93Lm9wZW5tcnNCYXNlID0gY29uZmlnLmFwaVVybDtcbiAgd2luZG93LnNwYUJhc2UgPSBjb25maWcuc3BhUGF0aDtcbiAgd2luZG93LnNwYUVudiA9IGNvbmZpZy5lbnYgfHwgJ3Byb2R1Y3Rpb24nO1xuICB3aW5kb3cuc3BhVmVyc2lvbiA9IHByb2Nlc3MuZW52LkJVSUxEX1ZFUlNJT047XG4gIGNvbnN0IHNwYUJhc2VXaXRoU2xhc2ggPSB3aW5kb3cuc3BhQmFzZS5lbmRzV2l0aCgnLycpID8gd2luZG93LnNwYUJhc2UgOiB3aW5kb3cuc3BhQmFzZSArICcvJztcbiAgd2luZG93LmdldE9wZW5tcnNTcGFCYXNlID0gKCkgPT4gc3BhQmFzZVdpdGhTbGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwVXRpbHMoKSB7XG4gIHdpbmRvdy5jb3B5VGV4dCA9IChzb3VyY2U6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKHNlbCkge1xuICAgICAgY29uc3QgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICByLnNlbGVjdE5vZGUoc291cmNlKTtcbiAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgIHNlbC5hZGRSYW5nZShyKTtcbiAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiB3aXJlU3BhUGF0aHMoKSB7XG4gIGNvbnN0IGJhc2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpO1xuICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpO1xuICBiYXNlRWxlbWVudC5ocmVmID0gYmFzZUhyZWY7XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYmFzZUVsZW1lbnQpO1xuICBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyA9IGJhc2VIcmVmO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBPcGVuTVJTIEZyb250ZW5kIEFwcCBTaGVsbC5cbiAqIEBwYXJhbSBjb25maWcgVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIHRvIGFwcGx5LlxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplU3BhKGNvbmZpZzogU3BhQ29uZmlnKSB7XG4gIHNldHVwVXRpbHMoKTtcbiAgc2V0dXBQYXRocyhjb25maWcpO1xuICB3aXJlU3BhUGF0aHMoKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX18oJ2RlZmF1bHQnKSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb25maWdVcmxzID0gW10sIG9mZmxpbmUgPSB0cnVlIH0gPSBjb25maWc7XG4gICAgY29uc3QgeyBydW4gfSA9IGF3YWl0IGltcG9ydCgnLi9ydW4nKTtcbiAgICByZXR1cm4gcnVuKGNvbmZpZ1VybHMsIG9mZmxpbmUpO1xuICB9KTtcbn1cblxud2luZG93LmluaXRpYWxpemVTcGEgPSBpbml0aWFsaXplU3BhO1xuIl0sIm5hbWVzIjpbInNldHVwUGF0aHMiLCJjb25maWciLCJlcnJvciIsImFwaVVybCIsImNvbnNvbGUiLCJzcGFQYXRoIiwiRXJyb3IiLCJ3aW5kb3ciLCJvcGVubXJzQmFzZSIsInNwYUJhc2UiLCJzcGFFbnYiLCJlbnYiLCJzcGFWZXJzaW9uIiwicHJvY2VzcyIsIkJVSUxEX1ZFUlNJT04iLCJzcGFCYXNlV2l0aFNsYXNoIiwiZW5kc1dpdGgiLCJnZXRPcGVubXJzU3BhQmFzZSIsInNldHVwVXRpbHMiLCJjb3B5VGV4dCIsInNvdXJjZSIsInNlbCIsImdldFNlbGVjdGlvbiIsInIiLCJkb2N1bWVudCIsImNyZWF0ZVJhbmdlIiwic2VsZWN0Tm9kZSIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwiZXhlY0NvbW1hbmQiLCJ3aXJlU3BhUGF0aHMiLCJiYXNlRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJiYXNlSHJlZiIsImhyZWYiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJfX3dlYnBhY2tfcHVibGljX3BhdGhfXyIsImluaXRpYWxpemVTcGEiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9fd2VicGFja19pbml0X3NoYXJpbmdfXyIsInRoZW4iLCJjb25maWdVcmxzIiwib2ZmbGluZSIsInJ1biJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.ts\n");
|
|
8233
8233
|
|
|
8234
8234
|
/***/ }),
|
|
8235
8235
|
|
|
@@ -12601,7 +12601,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
12601
12601
|
/******/ // This function allow to reference async chunks
|
|
12602
12602
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
12603
12603
|
/******/ // return url for filenames based on template
|
|
12604
|
-
/******/ return "" + {"vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguageDetector-bec0ef":"49af280eabf5f1f5","src_run_ts":"
|
|
12604
|
+
/******/ return "" + {"vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguageDetector-bec0ef":"49af280eabf5f1f5","src_run_ts":"f9f9ad7b04d63b74","src_ui_breadcrumbs_tsx":"a3d13dc3f29cc2c8"}[chunkId] + ".js";
|
|
12605
12605
|
/******/ };
|
|
12606
12606
|
/******/ })();
|
|
12607
12607
|
/******/
|
|
@@ -12729,8 +12729,8 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
12729
12729
|
/******/ var promises = [];
|
|
12730
12730
|
/******/ switch(name) {
|
|
12731
12731
|
/******/ case "default": {
|
|
12732
|
-
/******/ register("@openmrs/esm-framework/src/internal", "5.3.3-pre.
|
|
12733
|
-
/******/ register("@openmrs/esm-framework", "5.3.3-pre.
|
|
12732
|
+
/******/ register("@openmrs/esm-framework/src/internal", "5.3.3-pre.1307", () => (() => (__webpack_require__(/*! ../../framework/esm-framework/src/internal.ts */ "../../framework/esm-framework/src/internal.ts"))), 1);
|
|
12733
|
+
/******/ register("@openmrs/esm-framework", "5.3.3-pre.1307", () => (() => (__webpack_require__(/*! ../../framework/esm-framework/src/index.ts */ "../../framework/esm-framework/src/index.ts"))), 1);
|
|
12734
12734
|
/******/ register("dayjs", "1.11.5", () => (() => (__webpack_require__(/*! ../../../node_modules/dayjs/dayjs.min.js */ "../../../node_modules/dayjs/dayjs.min.js"))), 1);
|
|
12735
12735
|
/******/ register("i18next", "21.10.0", () => (() => (__webpack_require__(/*! ../../../node_modules/i18next/dist/esm/i18next.js */ "../../../node_modules/i18next/dist/esm/i18next.js"))), 1);
|
|
12736
12736
|
/******/ register("react-dom", "18.2.0", () => (() => (__webpack_require__(/*! ../../../node_modules/react-dom/index.js */ "../../../node_modules/react-dom/index.js"))), 1);
|