@openmrs/esm-api 4.3.2-pre.678 → 4.3.2-pre.681

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.
@@ -1,20 +1,20 @@
1
- @openmrs/esm-api:build: cache hit, replaying output 495dbace7c92db34
1
+ @openmrs/esm-api:build: cache hit, replaying output c7d8568178771873
2
2
  @openmrs/esm-api:build: Browserslist: caniuse-lite is outdated. Please run:
3
3
  @openmrs/esm-api:build:  npx update-browserslist-db@latest
4
4
  @openmrs/esm-api:build:  Why you should do it regularly: https://github.com/browserslist/update-db#readme
5
- @openmrs/esm-api:build: asset openmrs-esm-api.js 34 KiB [emitted] [minimized] (name: main) 2 related assets
5
+ @openmrs/esm-api:build: asset openmrs-esm-api.js 34.1 KiB [emitted] [minimized] (name: main) 2 related assets
6
6
  @openmrs/esm-api:build: orphan modules 384 KiB [orphan] 226 modules
7
7
  @openmrs/esm-api:build: runtime modules 1.76 KiB 6 modules
8
- @openmrs/esm-api:build: built modules 107 KiB [built]
8
+ @openmrs/esm-api:build: built modules 106 KiB [built]
9
9
  @openmrs/esm-api:build:  cacheable modules 106 KiB
10
10
  @openmrs/esm-api:build:  modules by path ../../../node_modules/systemjs-webpack-interop/ 3.27 KiB
11
11
  @openmrs/esm-api:build:  ../../../node_modules/systemjs-webpack-interop/auto-public-path/1.js 89 bytes [built] [code generated]
12
12
  @openmrs/esm-api:build:  ../../../node_modules/systemjs-webpack-interop/auto-public-path/auto-public-path.js 846 bytes [built] [code generated]
13
13
  @openmrs/esm-api:build:  ../../../node_modules/systemjs-webpack-interop/public-path.js 2.36 KiB [built] [code generated]
14
- @openmrs/esm-api:build:  ./src/index.ts + 44 modules 95.7 KiB [built] [code generated]
15
- @openmrs/esm-api:build:  ../esm-state/dist/openmrs-esm-state.js 7.44 KiB [built] [code generated]
14
+ @openmrs/esm-api:build:  ./src/index.ts + 44 modules 95.8 KiB [built] [code generated]
15
+ @openmrs/esm-api:build:  ../esm-state/dist/openmrs-esm-state.js 7.28 KiB [built] [code generated]
16
16
  @openmrs/esm-api:build:  modules by path external "@openmrs/ 126 bytes
17
17
  @openmrs/esm-api:build:  external "@openmrs/esm-config" 42 bytes [built] [code generated]
18
18
  @openmrs/esm-api:build:  external "@openmrs/esm-error-handling" 42 bytes [built] [code generated]
19
19
  @openmrs/esm-api:build:  external "@openmrs/esm-offline" 42 bytes [built] [code generated]
20
- @openmrs/esm-api:build: webpack 5.77.0 compiled successfully in 5878 ms
20
+ @openmrs/esm-api:build: webpack 5.77.0 compiled successfully in 5814 ms
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see openmrs-esm-api.js.LICENSE.txt */
2
- System.register(["@openmrs/esm-config","@openmrs/esm-error-handling","@openmrs/esm-offline"],(function(t,r){var e={},n={},o={};return{setters:[function(t){e.Type=t.Type,e.defineConfigSchema=t.defineConfigSchema,e.getConfig=t.getConfig,e.navigate=t.navigate,e.validators=t.validators},function(t){n.reportError=t.reportError},function(t){o.getSynchronizationItems=t.getSynchronizationItems}],execute:function(){t((()=>{var t={385:()=>{System.register([],(function(t,r){return{execute:function(){t(function(){var t={968:function(t,r,e){var n=e(577).R;r.s=function(t){if(t||(t=1),!e.y.meta||!e.y.meta.url)throw console.error("__system_context__",e.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");e.p=n(e.y.meta.url,t)}},577:function(t,r,e){r.R=function(t,r){var e=document.createElement("a");e.href=t;for(var n="/"===e.pathname[0]?e.pathname:"/"+e.pathname,o=0,i=n.length;o!==r&&i>=0;)"/"===n[--i]&&o++;if(o!==r)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+r+") is greater than the number of directories ("+o+") in the URL path "+t);var s=n.slice(0,i+1);return e.protocol+"//"+e.host+s},Number.isInteger}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.y=r,n.d=function(t,r){for(var e in r)n.o(r,e)&&!n.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:r[e]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;n.g.importScripts&&(t=n.g.location+"");var r=n.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var e=r.getElementsByTagName("script");e.length&&(t=e[e.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t}();var o={};return(0,n(968).s)(1),function(){"use strict";var t=function(t,r){for(var e in r)t[e]=r[e];return t},r=function(r){var e=[];function n(t){for(var r=[],n=0;n<e.length;n++)e[n]===t?t=null:r.push(e[n]);e=r}function o(n,o,i){r=o?n:t(t({},r),n);for(var s=e,u=0;u<s.length;u++)s[u](r,i)}return r=r||{},{action:function(t){function e(r){o(r,!1,t)}return function(){for(var n=arguments,o=[r],i=0;i<arguments.length;i++)o.push(n[i]);var s=t.apply(this,o);if(null!=s)return s.then?s.then(e):e(s)}},setState:o,subscribe:function(t){return e.push(t),function(){n(t)}},unsubscribe:n,getState:function(){return r}}},e=function(t,e){var n=a[t];if(n)return n.active?console.error("Cannot override an existing store. Make sure that stores are only created once."):n.value.setState(e,!0),n.active=!0,n.value;var o=r(e);return a[t]={value:o,active:!0},o},i=function(t,e){var n=a[t];if(!n){var o=r(e);return a[t]={value:o,active:!1},o}return n.value},s=function(t){return e("app",t)},u=function(){return i("app",{})},c=function(t,r,e){var n=r(t.getState());return t.subscribe((function(t){var o=r(t);o!==n&&(n=o,e(o))}))};n.r(o),n.d(o,{createAppState:function(){return s},createGlobalStore:function(){return e},getAppState:function(){return u},getGlobalStore:function(){return i},subscribeTo:function(){return c}});var a={}}(),o}())}}}))},968:(t,r,e)=>{const n=e(577).R;r.s=function(t){if(t||(t=1),!e.y.meta||!e.y.meta.url)throw console.error("__system_context__",e.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");e.p=n(e.y.meta.url,t)}},577:(t,r,e)=>{r.R=function(t,r){var e=document.createElement("a");e.href=t;for(var n="/"===e.pathname[0]?e.pathname:"/"+e.pathname,o=0,i=n.length;o!==r&&i>=0;)"/"===n[--i]&&o++;if(o!==r)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+r+") is greater than the number of directories ("+o+") in the URL path "+t);var s=n.slice(0,i+1);return e.protocol+"//"+e.host+s};Number.isInteger},824:t=>{"use strict";t.exports=e},254:t=>{"use strict";t.exports=n},738:t=>{"use strict";t.exports=o}},i={};function s(r){var e=i[r];if(void 0!==e)return e.exports;var n=i[r]={exports:{}};return t[r](n,n.exports,s),n.exports}s.y=r,s.d=(t,r)=>{for(var e in r)s.o(r,e)&&!s.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:r[e]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r),s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;s.g.importScripts&&(t=s.g.location+"");var r=s.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var e=r.getElementsByTagName("script");e.length&&(t=e[e.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t})();var u={};return(0,s(968).s)(1),(()=>{"use strict";s.r(u),s.d(u,{OpenmrsFetchError:()=>nt,VisitMode:()=>Kt,VisitStatus:()=>Qt,backendDependencies:()=>nr,clearCurrentUser:()=>bt,defaultVisitCustomRepresentation:()=>Jt,fetchCurrentPatient:()=>Pt,fhirBaseUrl:()=>X,getCurrentUser:()=>pt,getLocations:()=>er,getLoggedInUser:()=>vt,getSessionLocation:()=>mt,getSessionStore:()=>ht,getStartedVisit:()=>Xt,getVisitTypes:()=>tr,getVisitsForPatient:()=>Yt,makeUrl:()=>tt,openmrsFetch:()=>rt,openmrsObservableFetch:()=>et,refetchCurrentUser:()=>dt,restBaseUrl:()=>Q,saveVisit:()=>zt,sessionEndpoint:()=>Z,setSessionLocation:()=>wt,setupApiModule:()=>St,toLocationObject:()=>rr,toVisitTypeObject:()=>Zt,updateVisit:()=>qt,userHasAccess:()=>yt});var t=function(r,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])},t(r,e)};function r(r,e){function n(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function e(t){return"function"==typeof t}var n=!1,o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack,n=t},get useDeprecatedSynchronousErrorHandling(){return n}};function i(t){setTimeout((function(){throw t}),0)}var c={closed:!0,next:function(t){},error:function(t){if(o.useDeprecatedSynchronousErrorHandling)throw t;i(t)},complete:function(){}},a=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}(),l=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(t,r){return r+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}(),f=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var r;if(!this.closed){var n,o=this,i=o._parentOrParents,s=o._ctorUnsubscribe,u=o._unsubscribe,c=o._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,i instanceof t)i.remove(this);else if(null!==i)for(var f=0;f<i.length;++f)i[f].remove(this);if(e(u)){s&&(this._unsubscribe=void 0);try{u.call(this)}catch(t){r=t instanceof l?p(t.errors):[t]}}if(a(c)){f=-1;for(var h=c.length;++f<h;){var d=c[f];if(null!==(n=d)&&"object"==typeof n)try{d.unsubscribe()}catch(t){r=r||[],t instanceof l?r=r.concat(p(t.errors)):r.push(t)}}}if(r)throw new l(r)}},t.prototype.add=function(r){var e=r;if(!r)return t.EMPTY;switch(typeof r){case"function":e=new t(r);case"object":if(e===this||e.closed||"function"!=typeof e.unsubscribe)return e;if(this.closed)return e.unsubscribe(),e;if(!(e instanceof t)){var n=e;(e=new t)._subscriptions=[n]}break;default:throw new Error("unrecognized teardown "+r+" added to Subscription.")}var o=e._parentOrParents;if(null===o)e._parentOrParents=this;else if(o instanceof t){if(o===this)return e;e._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return e;o.push(this)}var i=this._subscriptions;return null===i?this._subscriptions=[e]:i.push(e),e},t.prototype.remove=function(t){var r=this._subscriptions;if(r){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();function p(t){return t.reduce((function(t,r){return t.concat(r instanceof l?r.errors:r)}),[])}var h=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}(),d=function(t){function e(r,n,o){var i=t.call(this)||this;switch(i.syncErrorValue=null,i.syncErrorThrown=!1,i.syncErrorThrowable=!1,i.isStopped=!1,arguments.length){case 0:i.destination=c;break;case 1:if(!r){i.destination=c;break}if("object"==typeof r){r instanceof e?(i.syncErrorThrowable=r.syncErrorThrowable,i.destination=r,r.add(i)):(i.syncErrorThrowable=!0,i.destination=new b(i,r));break}default:i.syncErrorThrowable=!0,i.destination=new b(i,r,n,o)}return i}return r(e,t),e.prototype[h]=function(){return this},e.create=function(t,r,n){var o=new e(t,r,n);return o.syncErrorThrowable=!1,o},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this},e}(f),b=function(t){function n(r,n,o,i){var s,u=t.call(this)||this;u._parentSubscriber=r;var a=u;return e(n)?s=n:n&&(s=n.next,o=n.error,i=n.complete,n!==c&&(e((a=Object.create(n)).unsubscribe)&&u.add(a.unsubscribe.bind(a)),a.unsubscribe=u.unsubscribe.bind(u))),u._context=a,u._next=s,u._error=o,u._complete=i,u}return r(n,t),n.prototype.next=function(t){if(!this.isStopped&&this._next){var r=this._parentSubscriber;o.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable?this.__tryOrSetError(r,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},n.prototype.error=function(t){if(!this.isStopped){var r=this._parentSubscriber,e=o.useDeprecatedSynchronousErrorHandling;if(this._error)e&&r.syncErrorThrowable?(this.__tryOrSetError(r,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(r.syncErrorThrowable)e?(r.syncErrorValue=t,r.syncErrorThrown=!0):i(t),this.unsubscribe();else{if(this.unsubscribe(),e)throw t;i(t)}}},n.prototype.complete=function(){var t=this;if(!this.isStopped){var r=this._parentSubscriber;if(this._complete){var e=function(){return t._complete.call(t._context)};o.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable?(this.__tryOrSetError(r,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}},n.prototype.__tryOrUnsub=function(t,r){try{t.call(this._context,r)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;i(t)}},n.prototype.__tryOrSetError=function(t,r,e){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{r.call(this._context,e)}catch(r){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(i(r),!0)}return!1},n.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},n}(d),y=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();function v(t){return t}function m(t){return 0===t.length?v:1===t.length?t[0]:function(r){return t.reduce((function(t,r){return r(t)}),r)}}var w=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(r){var e=new t;return e.source=this,e.operator=r,e},t.prototype.subscribe=function(t,r,e){var n=this.operator,i=function(t,r,e){if(t){if(t instanceof d)return t;if(t[h])return t[h]()}return t||r||e?new d(t,r,e):new d(c)}(t,r,e);if(n?i.add(n.call(i,this.source)):i.add(this.source||o.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),o.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(r){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=r),function(t){for(;t;){var r=t,e=r.closed,n=r.destination,o=r.isStopped;if(e||o)return!1;t=n&&n instanceof d?n:null}return!0}(t)?t.error(r):console.warn(r)}},t.prototype.forEach=function(t,r){var e=this;return new(r=g(r))((function(r,n){var o;o=e.subscribe((function(r){try{t(r)}catch(t){n(t),o&&o.unsubscribe()}}),n,r)}))},t.prototype._subscribe=function(t){var r=this.source;return r&&r.subscribe(t)},t.prototype[y]=function(){return this},t.prototype.pipe=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return 0===t.length?this:m(t)(this)},t.prototype.toPromise=function(t){var r=this;return new(t=g(t))((function(t,e){var n;r.subscribe((function(t){return n=t}),(function(t){return e(t)}),(function(){return t(n)}))}))},t.create=function(r){return new t(r)},t}();function g(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const S="object"==typeof global&&global&&global.Object===Object&&global;var _="object"==typeof self&&self&&self.Object===Object&&self;const E=(S||_||Function("return this")()).Symbol;var O=Object.prototype,x=O.hasOwnProperty,T=O.toString,j=E?E.toStringTag:void 0;var P=Object.prototype.toString;var A=E?E.toStringTag:void 0;const k=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":A&&A in Object(t)?function(t){var r=x.call(t,j),e=t[j];try{t[j]=void 0;var n=!0}catch(t){}var o=T.call(t);return n&&(r?t[j]=e:delete t[j]),o}(t):function(t){return P.call(t)}(t)},D=(R=Object.getPrototypeOf,C=Object,function(t){return R(C(t))});var R,C;var U=Function.prototype,V=Object.prototype,I=U.toString,F=V.hasOwnProperty,M=I.call(Object);const B=function(t){if(!function(t){return null!=t&&"object"==typeof t}(t)||"[object Object]"!=k(t))return!1;var r=D(t);if(null===r)return!0;var e=F.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&I.call(e)==M};var H=s(824);function L(t,r,e,n,o,i,s){try{var u=t[i](s),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function N(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var i=t.apply(r,e);function s(t){L(i,n,o,s,u,"next",t)}function u(t){L(i,n,o,s,u,"throw",t)}s(void 0)}))}}function G(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function W(t,r,e){return W=G()?Reflect.construct:function(t,r,e){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(t,n));return e&&Y(o,e.prototype),o},W.apply(null,arguments)}function $(t){return $=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},$(t)}function J(t,r){return!r||"object"!==z(r)&&"function"!=typeof r?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):r}function Y(t,r){return Y=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},Y(t,r)}var z=function(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t};function q(t){var r="function"==typeof Map?new Map:void 0;return q=function(t){if(null===t||(e=t,-1===Function.toString.call(e).indexOf("[native code]")))return t;var e;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,n)}function n(){return W(t,arguments,$(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Y(n,t)},q(t)}var K=function(t,r){var e,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;s;)try{if(e=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=r.call(t,s)}catch(t){i=[6,t],n=0}finally{e=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}},Q="/ws/rest/v1/",X="/ws/fhir2/R4",Z="".concat(Q,"session");function tt(t){return window.openmrsBase+t}function rt(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof t)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof r)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)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.");"/"!==t[0]&&(t="/"+t);var e=tt(t);if(r.headers||(r.headers={}),B(r.body)&&(r.body=JSON.stringify(r.body)),void 0===r.headers.Accept&&(r.headers.Accept="application/json"),null===r.headers.Accept&&delete r.headers.Accept,t.startsWith(Q)&&void 0===r.headers["Disable-WWW-Authenticate"]&&(r.headers["Disable-WWW-Authenticate"]="true"),t.startsWith(X)){var n=new URL(e,window.location.toString());n.searchParams.has("_summary")||(n.searchParams.set("_summary","data"),e=n.toString())}var o,i=Error();return window.fetch(e,r).then((o=N((function(t){var r,n;return K(this,(function(o){switch(o.label){case 0:return(r=t).ok?204===r.status?(r.data=null,[2,r]):[2,r.text().then((function(t){try{t&&(r.data=JSON.parse(t))}catch(t){}return r}))]:[3,1];case 1:return[4,(0,H.getConfig)("@openmrs/esm-api")];case 2:return n=o.sent().redirectAuthFailure,e===tt(Z)&&403===r.status||n.enabled&&n.errors.includes(r.status)?((0,H.navigate)({to:n.url}),[2,n.resolvePromise?Promise.resolve():new Promise((function(){}))]):[2,r.text().then((function(t){var n=t;try{n=JSON.parse(t)}catch(t){}throw new nt(e,r,n,i)}),(function(t){throw new nt(e,r,null,i)}))];case 3:return[2]}}))})),function(t){return o.apply(this,arguments)}))}function et(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof r)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");var e=new AbortController;return r.signal=e.signal,new w((function(n){var o=!1;return rt(t,r).then((function(t){o=!0,n.next(t),n.complete()}),(function(t){o=!0,n.error(t)})),function(){o||e.abort()}}))}var nt=function(t){!function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),r&&Y(t,r)}(o,t);var r,e,n=(r=o,e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=$(r);if(e){var o=$(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return J(this,t)});function o(t,r,e,i){var s;return function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,o),(s=n.call(this)).message="Server responded with ".concat(r.status," (").concat(r.statusText,") for url ").concat(t,". Check err.responseBody or network tab in dev tools for more info"),i.message=s.message,s.responseBody=e,s.response=r,s.stack="Stacktrace for outgoing request:\n".concat(i.stack,"\nStacktrace for incoming response:\n").concat(s.stack),s}return o}(q(Error)),ot=s(254),it=s(385);const st=function(t){return void 0===t};function ut(t,r,e,n,o,i,s){try{var u=t[i](s),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function ct(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var i=t.apply(r,e);function s(t){ut(i,n,o,s,u,"next",t)}function u(t){ut(i,n,o,s,u,"throw",t)}s(void 0)}))}}var at=function(t,r){var e,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;s;)try{if(e=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=r.call(t,s)}catch(t){i=[6,t],n=0}finally{e=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}},lt=(0,it.createGlobalStore)("session",{loaded:!1,session:null}),ft=0;function pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeAuthStatus:!0};return(ft<Date.now()-6e4||!lt.getState().loaded)&&dt(),new w((function(r){var e=function(e){var n;e.loaded&&(t.includeAuthStatus?r.next(e.session):r.next(null===(n=e.session)||void 0===n?void 0:n.user))};return e(lt.getState()),lt.subscribe(e)}))}function ht(){return(ft<Date.now()-6e4||!lt.getState().loaded)&&dt(),lt}function dt(){return new Promise((function(t,r){ft=Date.now(),rt(Z).then((function(e){if("object"!=typeof(null==e?void 0:e.data))return r(),Promise.reject();var n,o,i,s,u;(u=null!==(s=null==(n=e.data)||null===(o=n.user)||void 0===o||null===(i=o.userProperties)||void 0===i?void 0:i.defaultLocale)&&void 0!==s?s:n.locale)!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",u),t(e.data),lt.setState({loaded:!0,session:e.data})})).catch((function(t){return(0,ot.reportError)("Failed to fetch new session information: ".concat(t)),r(t),{sessionId:"",authenticated:!1}}))}))}function bt(){lt.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function yt(t,r){return void 0===r?Boolean(t):!Boolean(t)||function(t,r){return"string"==typeof t?!st(r.privileges.find((function(r){return t===r.display}))):Array.isArray(t)?t.every((function(t){return!st(r.privileges.find((function(r){return t===r.display})))})):(st(t)||console.error('Could not understand privileges "'.concat(t,'"')),!0)}(t,r)||function(t){return!st(t.roles.find((function(t){return"System Developer"===t.display})))}(r)}function vt(){var t,r;return new Promise((function(e,n){var o=function(n){n.loaded&&n.session.user&&(t=n.session.user,e(n.session.user),r&&r())};o(lt.getState()),t||(r=lt.subscribe(o))}))}function mt(){return new Promise((function(t,r){pt().subscribe((function(r){t(r.sessionLocation)}),r).unsubscribe()}))}function wt(t,r){return gt.apply(this,arguments)}function gt(){return(gt=ct((function(t,r){return at(this,(function(e){switch(e.label){case 0:return[4,rt(Z,{method:"POST",body:{sessionLocation:t},headers:{"Content-Type":"application/json"},signal:r.signal})];case 1:return e.sent(),[4,dt()];case 2:return e.sent(),[2]}}))}))).apply(this,arguments)}function St(){(0,H.defineConfigSchema)("@openmrs/esm-api",{redirectAuthFailure:{enabled:{_type:H.Type.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:H.Type.String,_default:"${openmrsSpaBase}/login",_validators:[H.validators.isUrl]},errors:{_type:H.Type.Array,_default:[401],_elements:{_type:H.Type.Number,_validators:[H.validators.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:H.Type.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}}}),dt()}var _t=s(738);function Et(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function Ot(t,r,e,n,o,i,s){try{var u=t[i](s),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function xt(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var i=t.apply(r,e);function s(t){Ot(i,n,o,s,u,"next",t)}function u(t){Ot(i,n,o,s,u,"throw",t)}s(void 0)}))}}function Tt(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i=[],s=!0,u=!1;try{for(e=e.call(t);!(s=(n=e.next()).done)&&(i.push(n.value),!r||i.length!==r);s=!0);}catch(t){u=!0,o=t}finally{try{s||null==e.return||e.return()}finally{if(u)throw o}}return i}}(t,r)||function(t,r){if(t){if("string"==typeof t)return Et(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(e):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Et(t,r):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var jt=function(t,r){var e,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;s;)try{if(e=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=r.call(t,s)}catch(t){i=[6,t],n=0}finally{e=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}};function Pt(t,r){return At.apply(this,arguments)}function At(){return At=xt((function(t,r){var e,n,o,i,s,u=arguments;return jt(this,(function(c){switch(c.label){case 0:return e=!(u.length>2&&void 0!==u[2])||u[2],t?(n=null,[4,Promise.all([rt("".concat(X,"/Patient/").concat(t),r).catch((function(t){return n=t})),e?kt(t):Promise.resolve(null)])]):[3,2];case 1:if(o=Tt.apply(void 0,[c.sent(),2]),i=o[0],s=o[1],i.ok)return[2,i.data];if(s)return[2,s];if(n)throw n;c.label=2;case 2:return[2,null]}}))})),At.apply(this,arguments)}function kt(t){return Dt.apply(this,arguments)}function Dt(){return(Dt=xt((function(t){var r,e,n;return jt(this,(function(o){switch(o.label){case 0:return[4,(0,_t.getSynchronizationItems)("patient-registration")];case 1:return r=o.sent(),e=r.find((function(r){return r.fhirPatient.id===t})),[2,null!==(n=null==e?void 0:e.fhirPatient)&&void 0!==n?n:null]}}))}))).apply(this,arguments)}var Rt=function(){function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t}(),Ct=function(t){function e(r,e){var n=t.call(this)||this;return n.subject=r,n.subscriber=e,n.closed=!1,n}return r(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,r=t.observers;if(this.subject=null,r&&0!==r.length&&!t.isStopped&&!t.closed){var e=r.indexOf(this.subscriber);-1!==e&&r.splice(e,1)}}},e}(f),Ut=function(t){function e(r){var e=t.call(this,r)||this;return e.destination=r,e}return r(e,t),e}(d),Vt=function(t){function e(){var r=t.call(this)||this;return r.observers=[],r.closed=!1,r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return r(e,t),e.prototype[h]=function(){return new Ut(this)},e.prototype.lift=function(t){var r=new It(this,this);return r.operator=t,r},e.prototype.next=function(t){if(this.closed)throw new Rt;if(!this.isStopped)for(var r=this.observers,e=r.length,n=r.slice(),o=0;o<e;o++)n[o].next(t)},e.prototype.error=function(t){if(this.closed)throw new Rt;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var r=this.observers,e=r.length,n=r.slice(),o=0;o<e;o++)n[o].error(t);this.observers.length=0},e.prototype.complete=function(){if(this.closed)throw new Rt;this.isStopped=!0;for(var t=this.observers,r=t.length,e=t.slice(),n=0;n<r;n++)e[n].complete();this.observers.length=0},e.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},e.prototype._trySubscribe=function(r){if(this.closed)throw new Rt;return t.prototype._trySubscribe.call(this,r)},e.prototype._subscribe=function(t){if(this.closed)throw new Rt;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new Ct(this,t))},e.prototype.asObservable=function(){var t=new w;return t.source=this,t},e.create=function(t,r){return new It(t,r)},e}(w),It=function(t){function e(r,e){var n=t.call(this)||this;return n.destination=r,n.source=e,n}return r(e,t),e.prototype.next=function(t){var r=this.destination;r&&r.next&&r.next(t)},e.prototype.error=function(t){var r=this.destination;r&&r.error&&this.destination.error(t)},e.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},e.prototype._subscribe=function(t){return this.source?this.source.subscribe(t):f.EMPTY},e}(Vt),Ft=function(t){function e(r){var e=t.call(this)||this;return e._value=r,e}return r(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(r){var e=t.prototype._subscribe.call(this,r);return e&&!e.closed&&r.next(this._value),e},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Rt;return this._value},e.prototype.next=function(r){t.prototype.next.call(this,this._value=r)},e}(Vt),Mt=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}(),Bt=new w((function(t){return t.complete()}));function Ht(t){return function(r){return 0===t?e?function(t){return new w((function(r){return t.schedule((function(){return r.complete()}))}))}(e):Bt:r.lift(new Lt(t));var e}}var Lt=function(){function t(t){if(this.total=t,this.total<0)throw new Mt}return t.prototype.call=function(t,r){return r.subscribe(new Nt(t,this.total))},t}(),Nt=function(t){function e(r,e){var n=t.call(this,r)||this;return n.total=e,n.count=0,n}return r(e,t),e.prototype._next=function(t){var r=this.total,e=++this.count;e<=r&&(this.destination.next(t),e===r&&(this.destination.complete(),this.unsubscribe()))},e}(d);function Gt(t,r){return function(e){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return e.lift(new Wt(t,r))}}var Wt=function(){function t(t,r){this.project=t,this.thisArg=r}return t.prototype.call=function(t,r){return r.subscribe(new $t(t,this.project,this.thisArg))},t}(),$t=function(t){function e(r,e,n){var o=t.call(this,r)||this;return o.project=e,o.count=0,o.thisArg=n||o,o}return r(e,t),e.prototype._next=function(t){var r;try{r=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(r)},e}(d),Jt="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)";function Yt(t,r,e){var n=null!=e?e:Jt;return et("/ws/rest/v1/visit?patient=".concat(t,"&v=").concat(n),{signal:r.signal,method:"GET",headers:{"Content-type":"application/json"}}).pipe(Ht(1)).pipe(Gt((function(t){return t})))}function zt(t,r){return et("/ws/rest/v1/visit",{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function qt(t,r,e){return et("/ws/rest/v1/visit/".concat(t),{signal:e.signal,method:"POST",headers:{"Content-type":"application/json"},body:r})}var Kt,Qt,Xt=new Ft(null);function Zt(t){return{uuid:t.uuid,display:t.display,name:t.name}}function tr(){return et("/ws/rest/v1/visittype").pipe(Gt((function(t){return t.data.results.map(Zt)}))).pipe(Ht(1))}function rr(t){return{uuid:t.uuid,display:t.display}}function er(){return et("/ws/rest/v1/location").pipe(Gt((function(t){return t.data.results.map(rr)}))).pipe(Ht(1))}!function(t){t.NEWVISIT="startVisit",t.EDITVISIT="editVisit",t.LOADING="loadingVisit"}(Kt||(Kt={})),function(t){t.NOTSTARTED="notStarted",t.ONGOING="ongoing"}(Qt||(Qt={}));var nr={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"}})(),u})())}}}));
2
+ System.register(["@openmrs/esm-config","@openmrs/esm-error-handling","@openmrs/esm-offline"],(function(t,e){var r={},n={},o={};return{setters:[function(t){r.Type=t.Type,r.defineConfigSchema=t.defineConfigSchema,r.getConfig=t.getConfig,r.navigate=t.navigate,r.validators=t.validators},function(t){n.reportError=t.reportError},function(t){o.getSynchronizationItems=t.getSynchronizationItems}],execute:function(){t((()=>{var t={385:()=>{System.register([],(function(t,e){return{execute:function(){t(function(){var t={968:function(t,e,r){var n=r(577).R;e.s=function(t){if(t||(t=1),!r.y.meta||!r.y.meta.url)throw console.error("__system_context__",r.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");r.p=n(r.y.meta.url,t)}},577:function(t,e,r){e.R=function(t,e){var r=document.createElement("a");r.href=t;for(var n="/"===r.pathname[0]?r.pathname:"/"+r.pathname,o=0,i=n.length;o!==e&&i>=0;)"/"===n[--i]&&o++;if(o!==e)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+e+") is greater than the number of directories ("+o+") in the URL path "+t);var s=n.slice(0,i+1);return r.protocol+"//"+r.host+s},Number.isInteger}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,n),i.exports}n.y=e,n.d=function(t,e){for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");r.length&&(t=r[r.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t}();var o={};return(0,n(968).s)(1),function(){"use strict";var t=function(t,e){var r=a[t];if(r)return r.active?console.error("Cannot override an existing store. Make sure that stores are only created once."):r.value.setState(e,!0),r.active=!0,r.value;var n=c()((function(){return e}));return a[t]={value:n,active:!0},n},e=function(t,e){var r=a[t];if(!r){var n=c()((function(){return null!=e?e:{}}));return a[t]={value:n,active:!1},n}return r.value},r=function(e){return t("app",e)},i=function(){return e("app",{})},s=function(t,e,r){var n=e(t.getState());return t.subscribe((function(t){var o=e(t);o!==n&&(n=o,r(o))}))};n.r(o),n.d(o,{createAppState:function(){return r},createGlobalStore:function(){return t},getAppState:function(){return i},getGlobalStore:function(){return e},subscribeTo:function(){return s}});var u=function(t){var e,r=new Set,n=function(t,n){var o="function"==typeof t?t(e):t;if(!Object.is(o,e)){var i=e;e=(null!=n?n:"object"!=typeof o)?o:Object.assign({},e,o),r.forEach((function(t){return t(e,i)}))}},o=function(){return e},i={setState:n,getState:o,subscribe:function(t){return r.add(t),function(){return r.delete(t)}},destroy:function(){console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,o,i),i},c=function(t){return t?u(t):u},a={}}(),o}())}}}))},968:(t,e,r)=>{const n=r(577).R;e.s=function(t){if(t||(t=1),!r.y.meta||!r.y.meta.url)throw console.error("__system_context__",r.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");r.p=n(r.y.meta.url,t)}},577:(t,e,r)=>{e.R=function(t,e){var r=document.createElement("a");r.href=t;for(var n="/"===r.pathname[0]?r.pathname:"/"+r.pathname,o=0,i=n.length;o!==e&&i>=0;)"/"===n[--i]&&o++;if(o!==e)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+e+") is greater than the number of directories ("+o+") in the URL path "+t);var s=n.slice(0,i+1);return r.protocol+"//"+r.host+s};Number.isInteger},824:t=>{"use strict";t.exports=r},254:t=>{"use strict";t.exports=n},738:t=>{"use strict";t.exports=o}},i={};function s(e){var r=i[e];if(void 0!==r)return r.exports;var n=i[e]={exports:{}};return t[e](n,n.exports,s),n.exports}s.y=e,s.d=(t,e)=>{for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;s.g.importScripts&&(t=s.g.location+"");var e=s.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");r.length&&(t=r[r.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t})();var u={};return(0,s(968).s)(1),(()=>{"use strict";s.r(u),s.d(u,{OpenmrsFetchError:()=>nt,VisitMode:()=>Kt,VisitStatus:()=>Qt,backendDependencies:()=>ne,clearCurrentUser:()=>bt,defaultVisitCustomRepresentation:()=>Jt,fetchCurrentPatient:()=>Pt,fhirBaseUrl:()=>X,getCurrentUser:()=>pt,getLocations:()=>re,getLoggedInUser:()=>vt,getSessionLocation:()=>mt,getSessionStore:()=>ht,getStartedVisit:()=>Xt,getVisitTypes:()=>te,getVisitsForPatient:()=>Yt,makeUrl:()=>tt,openmrsFetch:()=>et,openmrsObservableFetch:()=>rt,refetchCurrentUser:()=>dt,restBaseUrl:()=>Q,saveVisit:()=>zt,sessionEndpoint:()=>Z,setSessionLocation:()=>wt,setupApiModule:()=>St,toLocationObject:()=>ee,toVisitTypeObject:()=>Zt,updateVisit:()=>qt,userHasAccess:()=>yt});var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};function e(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}function r(t){return"function"==typeof t}var n=!1,o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack,n=t},get useDeprecatedSynchronousErrorHandling(){return n}};function i(t){setTimeout((function(){throw t}),0)}var c={closed:!0,next:function(t){},error:function(t){if(o.useDeprecatedSynchronousErrorHandling)throw t;i(t)},complete:function(){}},a=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}(),l=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}(),f=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var e;if(!this.closed){var n,o=this,i=o._parentOrParents,s=o._ctorUnsubscribe,u=o._unsubscribe,c=o._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,i instanceof t)i.remove(this);else if(null!==i)for(var f=0;f<i.length;++f)i[f].remove(this);if(r(u)){s&&(this._unsubscribe=void 0);try{u.call(this)}catch(t){e=t instanceof l?p(t.errors):[t]}}if(a(c)){f=-1;for(var h=c.length;++f<h;){var d=c[f];if(null!==(n=d)&&"object"==typeof n)try{d.unsubscribe()}catch(t){e=e||[],t instanceof l?e=e.concat(p(t.errors)):e.push(t)}}}if(e)throw new l(e)}},t.prototype.add=function(e){var r=e;if(!e)return t.EMPTY;switch(typeof e){case"function":r=new t(e);case"object":if(r===this||r.closed||"function"!=typeof r.unsubscribe)return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof t)){var n=r;(r=new t)._subscriptions=[n]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}var o=r._parentOrParents;if(null===o)r._parentOrParents=this;else if(o instanceof t){if(o===this)return r;r._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return r;o.push(this)}var i=this._subscriptions;return null===i?this._subscriptions=[r]:i.push(r),r},t.prototype.remove=function(t){var e=this._subscriptions;if(e){var r=e.indexOf(t);-1!==r&&e.splice(r,1)}},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();function p(t){return t.reduce((function(t,e){return t.concat(e instanceof l?e.errors:e)}),[])}var h=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}(),d=function(t){function r(e,n,o){var i=t.call(this)||this;switch(i.syncErrorValue=null,i.syncErrorThrown=!1,i.syncErrorThrowable=!1,i.isStopped=!1,arguments.length){case 0:i.destination=c;break;case 1:if(!e){i.destination=c;break}if("object"==typeof e){e instanceof r?(i.syncErrorThrowable=e.syncErrorThrowable,i.destination=e,e.add(i)):(i.syncErrorThrowable=!0,i.destination=new b(i,e));break}default:i.syncErrorThrowable=!0,i.destination=new b(i,e,n,o)}return i}return e(r,t),r.prototype[h]=function(){return this},r.create=function(t,e,n){var o=new r(t,e,n);return o.syncErrorThrowable=!1,o},r.prototype.next=function(t){this.isStopped||this._next(t)},r.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},r.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},r.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},r.prototype._next=function(t){this.destination.next(t)},r.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},r.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},r.prototype._unsubscribeAndRecycle=function(){var t=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this},r}(f),b=function(t){function n(e,n,o,i){var s,u=t.call(this)||this;u._parentSubscriber=e;var a=u;return r(n)?s=n:n&&(s=n.next,o=n.error,i=n.complete,n!==c&&(r((a=Object.create(n)).unsubscribe)&&u.add(a.unsubscribe.bind(a)),a.unsubscribe=u.unsubscribe.bind(u))),u._context=a,u._next=s,u._error=o,u._complete=i,u}return e(n,t),n.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},n.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,r=o.useDeprecatedSynchronousErrorHandling;if(this._error)r&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)r?(e.syncErrorValue=t,e.syncErrorThrown=!0):i(t),this.unsubscribe();else{if(this.unsubscribe(),r)throw t;i(t)}}},n.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var r=function(){return t._complete.call(t._context)};o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,r),this.unsubscribe()):(this.__tryOrUnsub(r),this.unsubscribe())}else this.unsubscribe()}},n.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;i(t)}},n.prototype.__tryOrSetError=function(t,e,r){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,r)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(i(e),!0)}return!1},n.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},n}(d),y=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();function v(t){return t}function m(t){return 0===t.length?v:1===t.length?t[0]:function(e){return t.reduce((function(t,e){return e(t)}),e)}}var w=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var r=new t;return r.source=this,r.operator=e,r},t.prototype.subscribe=function(t,e,r){var n=this.operator,i=function(t,e,r){if(t){if(t instanceof d)return t;if(t[h])return t[h]()}return t||e||r?new d(t,e,r):new d(c)}(t,e,r);if(n?i.add(n.call(i,this.source)):i.add(this.source||o.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),o.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){var e=t,r=e.closed,n=e.destination,o=e.isStopped;if(r||o)return!1;t=n&&n instanceof d?n:null}return!0}(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var r=this;return new(e=g(e))((function(e,n){var o;o=r.subscribe((function(e){try{t(e)}catch(t){n(t),o&&o.unsubscribe()}}),n,e)}))},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[y]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:m(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=g(t))((function(t,r){var n;e.subscribe((function(t){return n=t}),(function(t){return r(t)}),(function(){return t(n)}))}))},t.create=function(e){return new t(e)},t}();function g(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const S="object"==typeof global&&global&&global.Object===Object&&global;var _="object"==typeof self&&self&&self.Object===Object&&self;const E=(S||_||Function("return this")()).Symbol;var O=Object.prototype,T=O.hasOwnProperty,j=O.toString,x=E?E.toStringTag:void 0;var P=Object.prototype.toString;var A=E?E.toStringTag:void 0;const k=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":A&&A in Object(t)?function(t){var e=T.call(t,x),r=t[x];try{t[x]=void 0;var n=!0}catch(t){}var o=j.call(t);return n&&(e?t[x]=r:delete t[x]),o}(t):function(t){return P.call(t)}(t)},D=(R=Object.getPrototypeOf,C=Object,function(t){return R(C(t))});var R,C;var U=Function.prototype,V=Object.prototype,I=U.toString,F=V.hasOwnProperty,M=I.call(Object);const B=function(t){if(!function(t){return null!=t&&"object"==typeof t}(t)||"[object Object]"!=k(t))return!1;var e=D(t);if(null===e)return!0;var r=F.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&I.call(r)==M};var H=s(824);function L(t,e,r,n,o,i,s){try{var u=t[i](s),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function N(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){L(i,n,o,s,u,"next",t)}function u(t){L(i,n,o,s,u,"throw",t)}s(void 0)}))}}function G(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function W(t,e,r){return W=G()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&Y(o,r.prototype),o},W.apply(null,arguments)}function $(t){return $=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},$(t)}function J(t,e){return!e||"object"!==z(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Y(t,e){return Y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},Y(t,e)}var z=function(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t};function q(t){var e="function"==typeof Map?new Map:void 0;return q=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return W(t,arguments,$(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Y(n,t)},q(t)}var K=function(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}},Q="/ws/rest/v1/",X="/ws/fhir2/R4",Z="".concat(Q,"session");function tt(t){return window.openmrsBase+t}function et(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof t)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof e)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)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.");"/"!==t[0]&&(t="/"+t);var r=tt(t);if(e.headers||(e.headers={}),B(e.body)&&(e.body=JSON.stringify(e.body)),void 0===e.headers.Accept&&(e.headers.Accept="application/json"),null===e.headers.Accept&&delete e.headers.Accept,t.startsWith(Q)&&void 0===e.headers["Disable-WWW-Authenticate"]&&(e.headers["Disable-WWW-Authenticate"]="true"),t.startsWith(X)){var n=new URL(r,window.location.toString());n.searchParams.has("_summary")||(n.searchParams.set("_summary","data"),r=n.toString())}var o,i=Error();return window.fetch(r,e).then((o=N((function(t){var e,n;return K(this,(function(o){switch(o.label){case 0:return(e=t).ok?204===e.status?(e.data=null,[2,e]):[2,e.clone().text().then((function(t){try{t&&(e.data=JSON.parse(t))}catch(t){}return e}))]:[3,1];case 1:return[4,(0,H.getConfig)("@openmrs/esm-api")];case 2:return n=o.sent().redirectAuthFailure,r===tt(Z)&&403===e.status||n.enabled&&n.errors.includes(e.status)?((0,H.navigate)({to:n.url}),[2,n.resolvePromise?Promise.resolve():new Promise((function(){}))]):[2,e.clone().text().then((function(t){var n=t;try{n=JSON.parse(t)}catch(t){}throw new nt(r,e,n,i)}),(function(t){throw new nt(r,e,null,i)}))];case 3:return[2]}}))})),function(t){return o.apply(this,arguments)}))}function rt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");var r=new AbortController;return e.signal=r.signal,new w((function(n){var o=!1;return et(t,e).then((function(t){o=!0,n.next(t),n.complete()}),(function(t){o=!0,n.error(t)})),function(){o||r.abort()}}))}var nt=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Y(t,e)}(o,t);var e,r,n=(e=o,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=$(e);if(r){var o=$(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return J(this,t)});function o(t,e,r,i){var s;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),(s=n.call(this)).message="Server responded with ".concat(e.status," (").concat(e.statusText,") for url ").concat(t,". Check err.responseBody or network tab in dev tools for more info"),i.message=s.message,s.responseBody=r,s.response=e,s.stack="Stacktrace for outgoing request:\n".concat(i.stack,"\nStacktrace for incoming response:\n").concat(s.stack),s}return o}(q(Error)),ot=s(254),it=s(385);const st=function(t){return void 0===t};function ut(t,e,r,n,o,i,s){try{var u=t[i](s),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function ct(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){ut(i,n,o,s,u,"next",t)}function u(t){ut(i,n,o,s,u,"throw",t)}s(void 0)}))}}var at=function(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}},lt=(0,it.createGlobalStore)("session",{loaded:!1,session:null}),ft=0;function pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeAuthStatus:!0};return(ft<Date.now()-6e4||!lt.getState().loaded)&&dt(),new w((function(e){var r=function(r){var n;r.loaded&&(t.includeAuthStatus?e.next(r.session):e.next(null===(n=r.session)||void 0===n?void 0:n.user))};return r(lt.getState()),lt.subscribe(r)}))}function ht(){return(ft<Date.now()-6e4||!lt.getState().loaded)&&dt(),lt}function dt(){return new Promise((function(t,e){ft=Date.now(),et(Z).then((function(r){if("object"!=typeof(null==r?void 0:r.data))return e(),Promise.reject();var n,o,i,s,u;(u=null!==(s=null==(n=r.data)||null===(o=n.user)||void 0===o||null===(i=o.userProperties)||void 0===i?void 0:i.defaultLocale)&&void 0!==s?s:n.locale)!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",u),t(r.data),lt.setState({loaded:!0,session:r.data})})).catch((function(t){return(0,ot.reportError)("Failed to fetch new session information: ".concat(t)),e(t),{sessionId:"",authenticated:!1}}))}))}function bt(){lt.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function yt(t,e){return void 0===e?Boolean(t):!Boolean(t)||function(t,e){return"string"==typeof t?!st(e.privileges.find((function(e){return t===e.display}))):Array.isArray(t)?t.every((function(t){return!st(e.privileges.find((function(e){return t===e.display})))})):(st(t)||console.error('Could not understand privileges "'.concat(t,'"')),!0)}(t,e)||function(t){return!st(t.roles.find((function(t){return"System Developer"===t.display})))}(e)}function vt(){var t,e;return new Promise((function(r,n){var o=function(n){n.loaded&&n.session.user&&(t=n.session.user,r(n.session.user),e&&e())};o(lt.getState()),t||(e=lt.subscribe(o))}))}function mt(){return new Promise((function(t,e){pt().subscribe((function(e){t(e.sessionLocation)}),e).unsubscribe()}))}function wt(t,e){return gt.apply(this,arguments)}function gt(){return(gt=ct((function(t,e){return at(this,(function(r){switch(r.label){case 0:return[4,et(Z,{method:"POST",body:{sessionLocation:t},headers:{"Content-Type":"application/json"},signal:e.signal})];case 1:return r.sent(),[4,dt()];case 2:return r.sent(),[2]}}))}))).apply(this,arguments)}function St(){(0,H.defineConfigSchema)("@openmrs/esm-api",{redirectAuthFailure:{enabled:{_type:H.Type.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:H.Type.String,_default:"${openmrsSpaBase}/login",_validators:[H.validators.isUrl]},errors:{_type:H.Type.Array,_default:[401],_elements:{_type:H.Type.Number,_validators:[H.validators.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:H.Type.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}}}),dt()}var _t=s(738);function Et(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ot(t,e,r,n,o,i,s){try{var u=t[i](s),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Tt(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){Ot(i,n,o,s,u,"next",t)}function u(t){Ot(i,n,o,s,u,"throw",t)}s(void 0)}))}}function jt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i=[],s=!0,u=!1;try{for(r=r.call(t);!(s=(n=r.next()).done)&&(i.push(n.value),!e||i.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{s||null==r.return||r.return()}finally{if(u)throw o}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Et(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Et(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var xt=function(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}};function Pt(t,e){return At.apply(this,arguments)}function At(){return At=Tt((function(t,e){var r,n,o,i,s,u=arguments;return xt(this,(function(c){switch(c.label){case 0:return r=!(u.length>2&&void 0!==u[2])||u[2],t?(n=null,[4,Promise.all([et("".concat(X,"/Patient/").concat(t),e).catch((function(t){return n=t})),r?kt(t):Promise.resolve(null)])]):[3,2];case 1:if(o=jt.apply(void 0,[c.sent(),2]),i=o[0],s=o[1],i.ok)return[2,i.data];if(s)return[2,s];if(n)throw n;c.label=2;case 2:return[2,null]}}))})),At.apply(this,arguments)}function kt(t){return Dt.apply(this,arguments)}function Dt(){return(Dt=Tt((function(t){var e,r,n;return xt(this,(function(o){switch(o.label){case 0:return[4,(0,_t.getSynchronizationItems)("patient-registration")];case 1:return e=o.sent(),r=e.find((function(e){return e.fhirPatient.id===t})),[2,null!==(n=null==r?void 0:r.fhirPatient)&&void 0!==n?n:null]}}))}))).apply(this,arguments)}var Rt=function(){function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t}(),Ct=function(t){function r(e,r){var n=t.call(this)||this;return n.subject=e,n.subscriber=r,n.closed=!1,n}return e(r,t),r.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var r=e.indexOf(this.subscriber);-1!==r&&e.splice(r,1)}}},r}(f),Ut=function(t){function r(e){var r=t.call(this,e)||this;return r.destination=e,r}return e(r,t),r}(d),Vt=function(t){function r(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return e(r,t),r.prototype[h]=function(){return new Ut(this)},r.prototype.lift=function(t){var e=new It(this,this);return e.operator=t,e},r.prototype.next=function(t){if(this.closed)throw new Rt;if(!this.isStopped)for(var e=this.observers,r=e.length,n=e.slice(),o=0;o<r;o++)n[o].next(t)},r.prototype.error=function(t){if(this.closed)throw new Rt;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var e=this.observers,r=e.length,n=e.slice(),o=0;o<r;o++)n[o].error(t);this.observers.length=0},r.prototype.complete=function(){if(this.closed)throw new Rt;this.isStopped=!0;for(var t=this.observers,e=t.length,r=t.slice(),n=0;n<e;n++)r[n].complete();this.observers.length=0},r.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},r.prototype._trySubscribe=function(e){if(this.closed)throw new Rt;return t.prototype._trySubscribe.call(this,e)},r.prototype._subscribe=function(t){if(this.closed)throw new Rt;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new Ct(this,t))},r.prototype.asObservable=function(){var t=new w;return t.source=this,t},r.create=function(t,e){return new It(t,e)},r}(w),It=function(t){function r(e,r){var n=t.call(this)||this;return n.destination=e,n.source=r,n}return e(r,t),r.prototype.next=function(t){var e=this.destination;e&&e.next&&e.next(t)},r.prototype.error=function(t){var e=this.destination;e&&e.error&&this.destination.error(t)},r.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},r.prototype._subscribe=function(t){return this.source?this.source.subscribe(t):f.EMPTY},r}(Vt),Ft=function(t){function r(e){var r=t.call(this)||this;return r._value=e,r}return e(r,t),Object.defineProperty(r.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),r.prototype._subscribe=function(e){var r=t.prototype._subscribe.call(this,e);return r&&!r.closed&&e.next(this._value),r},r.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Rt;return this._value},r.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},r}(Vt),Mt=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}(),Bt=new w((function(t){return t.complete()}));function Ht(t){return function(e){return 0===t?r?function(t){return new w((function(e){return t.schedule((function(){return e.complete()}))}))}(r):Bt:e.lift(new Lt(t));var r}}var Lt=function(){function t(t){if(this.total=t,this.total<0)throw new Mt}return t.prototype.call=function(t,e){return e.subscribe(new Nt(t,this.total))},t}(),Nt=function(t){function r(e,r){var n=t.call(this,e)||this;return n.total=r,n.count=0,n}return e(r,t),r.prototype._next=function(t){var e=this.total,r=++this.count;r<=e&&(this.destination.next(t),r===e&&(this.destination.complete(),this.unsubscribe()))},r}(d);function Gt(t,e){return function(r){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return r.lift(new Wt(t,e))}}var Wt=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new $t(t,this.project,this.thisArg))},t}(),$t=function(t){function r(e,r,n){var o=t.call(this,e)||this;return o.project=r,o.count=0,o.thisArg=n||o,o}return e(r,t),r.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},r}(d),Jt="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)";function Yt(t,e,r){var n=null!=r?r:Jt;return rt("/ws/rest/v1/visit?patient=".concat(t,"&v=").concat(n),{signal:e.signal,method:"GET",headers:{"Content-type":"application/json"}}).pipe(Ht(1)).pipe(Gt((function(t){return t})))}function zt(t,e){return rt("/ws/rest/v1/visit",{signal:e.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function qt(t,e,r){return rt("/ws/rest/v1/visit/".concat(t),{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}var Kt,Qt,Xt=new Ft(null);function Zt(t){return{uuid:t.uuid,display:t.display,name:t.name}}function te(){return rt("/ws/rest/v1/visittype").pipe(Gt((function(t){return t.data.results.map(Zt)}))).pipe(Ht(1))}function ee(t){return{uuid:t.uuid,display:t.display}}function re(){return rt("/ws/rest/v1/location").pipe(Gt((function(t){return t.data.results.map(ee)}))).pipe(Ht(1))}!function(t){t.NEWVISIT="startVisit",t.EDITVISIT="editVisit",t.LOADING="loadingVisit"}(Kt||(Kt={})),function(t){t.NOTSTARTED="notStarted",t.ONGOING="ongoing"}(Qt||(Qt={}));var ne={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"}})(),u})())}}}));
3
3
  //# sourceMappingURL=openmrs-esm-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-api.js","mappings":"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","sources":["webpack://@openmrs/esm-api/../esm-state/dist/openmrs-esm-state.js","webpack://@openmrs/esm-api/../../../node_modules/systemjs-webpack-interop/auto-public-path/auto-public-path.js","webpack://@openmrs/esm-api/../../../node_modules/systemjs-webpack-interop/public-path.js","webpack://@openmrs/esm-api/external system \"@openmrs/esm-config\"","webpack://@openmrs/esm-api/external system \"@openmrs/esm-error-handling\"","webpack://@openmrs/esm-api/external system \"@openmrs/esm-offline\"","webpack://@openmrs/esm-api/webpack/bootstrap","webpack://@openmrs/esm-api/webpack/runtime/__system_context__","webpack://@openmrs/esm-api/webpack/runtime/define property getters","webpack://@openmrs/esm-api/webpack/runtime/global","webpack://@openmrs/esm-api/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-api/webpack/runtime/make namespace object","webpack://@openmrs/esm-api/webpack/runtime/publicPath","webpack://@openmrs/esm-api/../../../node_modules/systemjs-webpack-interop/auto-public-path/1.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/node_modules/tslib/tslib.es6.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/config.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Observer.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/isArray.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Subscription.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/isObject.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Subscriber.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/identity.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/pipe.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Observable.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_freeGlobal.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_root.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_Symbol.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_getRawTag.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_objectToString.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_baseGetTag.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_getPrototype.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_overArg.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/isPlainObject.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/isObjectLike.js","webpack://@openmrs/esm-api/./src/openmrs-fetch.ts","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/isUndefined.js","webpack://@openmrs/esm-api/./src/shared-api-objects/current-user.ts","webpack://@openmrs/esm-api/./src/setup.ts","webpack://@openmrs/esm-api/./src/shared-api-objects/current-patient.ts","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Subject.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/BehaviorSubject.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/observable/empty.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/operators/take.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/operators/map.js","webpack://@openmrs/esm-api/./src/shared-api-objects/visit-utils.ts","webpack://@openmrs/esm-api/./src/shared-api-objects/visit-type.ts","webpack://@openmrs/esm-api/./src/shared-api-objects/location.ts","webpack://@openmrs/esm-api/./src/openmrs-backend-dependencies.ts"],"sourcesContent":["System.register([],(function(e,t){return{execute:function(){e((()=>{var e={968:(e,t,r)=>{const n=r(577).R;t.s=function(e){if(e||(e=1),!r.y.meta||!r.y.meta.url)throw console.error(\"__system_context__\",r.y),Error(\"systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided\");r.p=n(r.y.meta.url,e)}},577:(e,t,r)=>{t.R=function(e,t){var r=document.createElement(\"a\");r.href=e;for(var n=\"/\"===r.pathname[0]?r.pathname:\"/\"+r.pathname,o=0,a=n.length;o!==t&&a>=0;)\"/\"===n[--a]&&o++;if(o!==t)throw Error(\"systemjs-webpack-interop: rootDirectoryLevel (\"+t+\") is greater than the number of directories (\"+o+\") in the URL path \"+e);var i=n.slice(0,a+1);return r.protocol+\"//\"+r.host+i};Number.isInteger}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var a=r[t]={exports:{}};return e[t](a,a.exports,n),a.exports}n.y=t,n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\"\");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName(\"script\");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error(\"Automatic publicPath is not supported in this browser\");e=e.replace(/#.*$/,\"\").replace(/\\?.*$/,\"\").replace(/\\/[^\\/]+$/,\"/\"),n.p=e})();var o={};return(0,n(968).s)(1),(()=>{\"use strict\";function e(e,t){for(var r in t)e[r]=t[r];return e}function t(t){var r=[];function n(e){for(var t=[],n=0;n<r.length;n++)r[n]===e?e=null:t.push(r[n]);r=t}function o(n,o,a){t=o?n:e(e({},t),n);for(var i=r,u=0;u<i.length;u++)i[u](t,a)}return t=t||{},{action:function(e){function r(t){o(t,!1,e)}return function(){for(var n=arguments,o=[t],a=0;a<arguments.length;a++)o.push(n[a]);var i=e.apply(this,o);if(null!=i)return i.then?i.then(r):r(i)}},setState:o,subscribe:function(e){return r.push(e),function(){n(e)}},unsubscribe:n,getState:function(){return t}}}n.r(o),n.d(o,{createAppState:()=>u,createGlobalStore:()=>a,getAppState:()=>c,getGlobalStore:()=>i,subscribeTo:()=>s});var r={};function a(e,n){var o=r[e];if(o)return o.active?console.error(\"Cannot override an existing store. Make sure that stores are only created once.\"):o.value.setState(n,!0),o.active=!0,o.value;var a=t(n);return r[e]={value:a,active:!0},a}function i(e,n){var o=r[e];if(!o){var a=t(n);return r[e]={value:a,active:!1},a}return o.value}function u(e){return a(\"app\",e)}function c(){return i(\"app\",{})}function s(e,t,r){var n=t(e.getState());return e.subscribe((function(e){var o=t(e);o!==n&&(n=o,r(o))}))}})(),o})())}}}));\n//# sourceMappingURL=openmrs-esm-state.js.map","const resolveDirectory = require(\"../public-path\").resolveDirectory;\n\nexports.autoPublicPath = function autoPublicPath(rootDirLevel) {\n if (!rootDirLevel) {\n rootDirLevel = 1;\n }\n\n if (typeof __webpack_public_path__ !== \"undefined\") {\n if (typeof __system_context__ === \"undefined\") {\n throw Error(\n \"systemjs-webpack-interop requires webpack@>=5.0.0-beta.15 and output.libraryTarget set to 'system'\"\n );\n }\n\n if (!__system_context__.meta || !__system_context__.meta.url) {\n console.error(\"__system_context__\", __system_context__);\n throw Error(\n \"systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(\n __system_context__.meta.url,\n rootDirLevel\n );\n }\n};\n","exports.setPublicPath = function setPublicPath(\n systemjsModuleName,\n rootDirectoryLevel\n) {\n if (!rootDirectoryLevel) {\n rootDirectoryLevel = 1;\n }\n if (\n typeof systemjsModuleName !== \"string\" ||\n systemjsModuleName.trim().length === 0\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName) must be called with a non-empty string 'systemjsModuleName'\"\n );\n }\n\n if (\n typeof rootDirectoryLevel !== \"number\" ||\n rootDirectoryLevel <= 0 ||\n isNaN(rootDirectoryLevel) ||\n !isInteger(rootDirectoryLevel)\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName, rootDirectoryLevel) must be called with a positive integer 'rootDirectoryLevel'\"\n );\n }\n\n var moduleUrl;\n try {\n moduleUrl = window.System.resolve(systemjsModuleName);\n if (!moduleUrl) {\n throw Error();\n }\n } catch (err) {\n throw Error(\n \"systemjs-webpack-interop: There is no such module '\" +\n systemjsModuleName +\n \"' in the SystemJS registry. Did you misspell the name of your module?\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(moduleUrl, rootDirectoryLevel);\n};\n\nfunction resolveDirectory(urlString, rootDirectoryLevel) {\n // Our friend IE11 doesn't support new URL()\n // https://github.com/single-spa/single-spa/issues/612\n // https://gist.github.com/jlong/2428561\n\n var a = document.createElement(\"a\");\n a.href = urlString;\n\n var pathname = a.pathname[0] === \"/\" ? a.pathname : \"/\" + a.pathname;\n var numDirsProcessed = 0,\n index = pathname.length;\n while (numDirsProcessed !== rootDirectoryLevel && index >= 0) {\n var char = pathname[--index];\n if (char === \"/\") {\n numDirsProcessed++;\n }\n }\n\n if (numDirsProcessed !== rootDirectoryLevel) {\n throw Error(\n \"systemjs-webpack-interop: rootDirectoryLevel (\" +\n rootDirectoryLevel +\n \") is greater than the number of directories (\" +\n numDirsProcessed +\n \") in the URL path \" +\n urlString\n );\n }\n\n var finalPath = pathname.slice(0, index + 1);\n\n return a.protocol + \"//\" + a.host + finalPath;\n}\n\nexports.resolveDirectory = resolveDirectory;\n\n// borrowed from https://github.com/parshap/js-is-integer/blob/master/index.js\nvar isInteger =\n Number.isInteger ||\n function isInteger(val) {\n return typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n };\n","module.exports = __WEBPACK_EXTERNAL_MODULE__824__;","module.exports = __WEBPACK_EXTERNAL_MODULE__254__;","module.exports = __WEBPACK_EXTERNAL_MODULE__738__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.y = __system_context__;","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","const autoPublicPath = require(\"./auto-public-path\").autoPublicPath;\n\nautoPublicPath(1);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","/** @module @category API */\nimport { Observable } from \"rxjs\";\nimport isPlainObject from \"lodash-es/isPlainObject\";\nimport { getConfig, navigate } from \"@openmrs/esm-config\";\nimport { FetchResponse } from \"./types\";\n\nexport const restBaseUrl = \"/ws/rest/v1/\";\n\nexport const fhirBaseUrl = \"/ws/fhir2/R4\";\n\nexport const sessionEndpoint = `${restBaseUrl}session`;\n\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 */\nexport function makeUrl(path: string) {\n return window.openmrsBase + path;\n}\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 */\nexport function openmrsFetch<T = any>(\n path: string,\n fetchInit: FetchConfig = {}\n): Promise<FetchResponse<T>> {\n if (typeof path !== \"string\") {\n throw Error(\n \"The first argument to @openmrs/api's openmrsFetch function must be a url string\"\n );\n }\n\n if (typeof fetchInit !== \"object\") {\n throw Error(\n \"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\"\n );\n }\n\n // @ts-ignore\n if (!window.openmrsBase) {\n throw Error(\n \"@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 }\n\n // ensure path starts with /\n if (path[0] !== \"/\") {\n path = \"/\" + path;\n }\n\n // Prefix the url with the openmrs spa base\n let url: string = makeUrl(path);\n\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */\n if (isPlainObject(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\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 */\n if (typeof fetchInit.headers.Accept === \"undefined\") {\n fetchInit.headers.Accept = \"application/json\";\n }\n\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\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 */\n if (\n path.startsWith(restBaseUrl) &&\n typeof fetchInit.headers[\"Disable-WWW-Authenticate\"] === \"undefined\"\n ) {\n fetchInit.headers[\"Disable-WWW-Authenticate\"] = \"true\";\n }\n\n if (path.startsWith(fhirBaseUrl)) {\n const 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\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 */\n const requestStacktrace = Error();\n\n return window.fetch(url, fetchInit as RequestInit).then(async (r) => {\n const response = r as FetchResponse<T>;\n if (response.ok) {\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 */\n response.data = null as unknown as T;\n return response;\n } else {\n // HTTP 200s - The request succeeded\n return response.text().then((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 } else {\n /* HTTP response status is not in 200s. Usually this will mean\n * either HTTP 400s (bad request from browser) or HTTP 500s (server error)\n * Our goal is to come up with best possible stacktrace and error message\n * to help developers understand the problem and debug\n */\n\n /*\n *Redirect to given url when redirect on auth failure is enabled\n */\n const { redirectAuthFailure } = await getConfig(\"@openmrs/esm-api\");\n\n if (\n (url === makeUrl(sessionEndpoint) && response.status === 403) ||\n (redirectAuthFailure.enabled &&\n redirectAuthFailure.errors.includes(response.status))\n ) {\n navigate({ 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 */\n return redirectAuthFailure.resolvePromise\n ? (Promise.resolve() as unknown as Promise<FetchResponse>)\n : new Promise<FetchResponse>(() => {});\n } else {\n // Attempt to download a response body, if it has one\n return response.text().then(\n (responseText) => {\n let 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\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */\n throw new OpenmrsFetchError(\n url,\n response,\n responseBody,\n requestStacktrace\n );\n },\n (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 */\n throw new OpenmrsFetchError(url, response, null, requestStacktrace);\n }\n );\n }\n }\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 */\nexport function openmrsObservableFetch<T>(\n url: string,\n fetchInit: FetchConfig = {}\n) {\n if (typeof fetchInit !== \"object\") {\n throw Error(\n \"The second argument to openmrsObservableFetch must be either omitted or an object\"\n );\n }\n\n const abortController = new AbortController();\n\n fetchInit.signal = abortController.signal;\n\n return new Observable<FetchResponse<T>>((observer) => {\n let hasResponse = false;\n\n openmrsFetch(url, fetchInit).then(\n (response) => {\n hasResponse = true;\n observer.next(response);\n observer.complete();\n },\n (err) => {\n hasResponse = true;\n observer.error(err);\n }\n );\n\n return () => {\n if (!hasResponse) {\n abortController.abort();\n }\n };\n });\n}\n\nexport class OpenmrsFetchError extends Error {\n constructor(\n url: string,\n response: Response,\n responseBody: ResponseBody | null,\n requestStacktrace: Error\n ) {\n super();\n this.message = `Server responded with ${response.status} (${response.statusText}) for url ${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${requestStacktrace.stack}\\nStacktrace for incoming response:\\n${this.stack}`;\n }\n response: Response;\n responseBody: string | FetchResponseJson | null;\n}\n\nexport interface FetchConfig extends Omit<RequestInit, \"body\" | \"headers\"> {\n headers?: FetchHeaders;\n body?: FetchBody | string;\n}\n\ntype ResponseBody = string | FetchResponseJson;\n\nexport interface FetchHeaders {\n [key: string]: string | null;\n}\n\ninterface FetchBody {\n [key: string]: any;\n}\n\nexport interface FetchResponseJson {\n [key: string]: any;\n}\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n","/** @module @category API */\nimport { reportError } from \"@openmrs/esm-error-handling\";\nimport { createGlobalStore } from \"@openmrs/esm-state\";\nimport isUndefined from \"lodash-es/isUndefined\";\nimport { Observable } from \"rxjs\";\nimport { openmrsFetch, sessionEndpoint } from \"../openmrs-fetch\";\nimport type {\n LoggedInUser,\n SessionLocation,\n Privilege,\n Role,\n Session,\n} from \"../types\";\n\nexport type SessionStore = LoadedSessionStore | UnloadedSessionStore;\n\nexport type LoadedSessionStore = {\n loaded: true;\n session: Session;\n};\n\nexport type UnloadedSessionStore = {\n loaded: false;\n session: null;\n};\n\nconst sessionStore = createGlobalStore<SessionStore>(\"session\", {\n loaded: false,\n session: null,\n});\nlet lastFetchTimeMillis = 0;\n\n/**\n * The getCurrentUser function returns an observable that produces\n * **zero or more values, over time**. It will produce zero values\n * by default if the user is not logged in. And it will provide a\n * first value when the logged in user is fetched from the server.\n * Subsequent values will be produced whenever the user object is\n * updated.\n *\n * @param options An object with `includeAuthStatus` boolean\n * property that defaults to `false`. When `includeAuthStatus` is set\n * to `true`, the entire response object from the API will be provided.\n * When `includeAuthStatus` is set to `false`, only the `user` property\n * of the response object will be provided.\n *\n * @returns An Observable that produces zero or more values (as\n * described above). The values produced will be a user object (if\n * `includeAuthStatus` is set to `false`) or an object with a session\n * and authenticated property (if `includeAuthStatus` is set to `true`).\n *\n * #### Example\n *\n * ```js\n * import { getCurrentUser } from '@openmrs/esm-api'\n * const subscription = getCurrentUser().subscribe(\n * user => console.log(user)\n * )\n * subscription.unsubscribe()\n * getCurrentUser({includeAuthStatus: true}).subscribe(\n * data => console.log(data.authenticated)\n * )\n * ```\n *\n * #### Be sure to unsubscribe when your component unmounts\n *\n * Otherwise your code will continue getting updates to the user object\n * even after the UI component is gone from the screen. This is a memory\n * leak and source of bugs.\n */\nfunction getCurrentUser(): Observable<Session>;\nfunction getCurrentUser(opts: { includeAuthStatus: true }): Observable<Session>;\nfunction getCurrentUser(opts: {\n includeAuthStatus: false;\n}): Observable<LoggedInUser>;\nfunction getCurrentUser(\n opts = { includeAuthStatus: true }\n): Observable<Session | LoggedInUser> {\n if (\n lastFetchTimeMillis < Date.now() - 1000 * 60 ||\n !sessionStore.getState().loaded\n ) {\n refetchCurrentUser();\n }\n\n return new Observable((subscriber) => {\n const handler = (state) => {\n if (state.loaded) {\n if (opts.includeAuthStatus) {\n subscriber.next(state.session);\n } else {\n subscriber.next(state.session?.user);\n }\n }\n };\n handler(sessionStore.getState());\n // The observable subscribe function should return an unsubscribe function,\n // which happens to be exactly what Unistore `subscribe` returns.\n return sessionStore.subscribe(handler);\n });\n}\n\nexport { getCurrentUser };\n\nexport function getSessionStore() {\n if (\n lastFetchTimeMillis < Date.now() - 1000 * 60 ||\n !sessionStore.getState().loaded\n ) {\n refetchCurrentUser();\n }\n\n return sessionStore;\n}\n\nfunction setUserLanguage(data: Session) {\n const locale = data?.user?.userProperties?.defaultLocale ?? data.locale;\n const htmlLang = document.documentElement.getAttribute(\"lang\");\n\n if (locale !== htmlLang) {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n}\n\nfunction userHasPrivilege(\n requiredPrivilege: string | string[] | undefined,\n user: { privileges: Array<Privilege> }\n) {\n if (typeof requiredPrivilege === \"string\") {\n return !isUndefined(\n user.privileges.find((p) => requiredPrivilege === p.display)\n );\n } else if (Array.isArray(requiredPrivilege)) {\n return requiredPrivilege.every(\n (rp) => !isUndefined(user.privileges.find((p) => rp === p.display))\n );\n } else if (!isUndefined(requiredPrivilege)) {\n console.error(`Could not understand privileges \"${requiredPrivilege}\"`);\n }\n\n return true;\n}\n\nfunction isSuperUser(user: { roles: Array<Role> }) {\n return !isUndefined(\n user.roles.find((role) => role.display === \"System Developer\")\n );\n}\n\n/**\n * The `refetchCurrentUser` function causes a network request to redownload\n * the user. All subscribers to the current user will be notified of the\n * new users once the new version of the user object is downloaded.\n *\n * @returns The same observable as returned by [[getCurrentUser]].\n *\n * #### Example\n * ```js\n * import { refetchCurrentUser } from '@openmrs/esm-api'\n * refetchCurrentUser()\n * ```\n */\nexport function refetchCurrentUser() {\n return new Promise((resolve, reject) => {\n lastFetchTimeMillis = Date.now();\n openmrsFetch(sessionEndpoint)\n .then((res) => {\n if (typeof res?.data === \"object\") {\n setUserLanguage(res.data);\n resolve(res.data);\n sessionStore.setState({ loaded: true, session: res.data });\n } else {\n reject();\n return Promise.reject();\n }\n })\n .catch((err) => {\n reportError(`Failed to fetch new session information: ${err}`);\n reject(err);\n return {\n sessionId: \"\",\n authenticated: false,\n };\n });\n });\n}\n\nexport function clearCurrentUser() {\n sessionStore.setState({\n loaded: true,\n session: { authenticated: false, sessionId: \"\" },\n });\n}\n\nexport function userHasAccess(\n requiredPrivilege: string | string[],\n user: { privileges: Array<Privilege>; roles: Array<Role> }\n) {\n if (user === undefined) {\n // if the user hasn't been loaded, then return false iff there is a required privilege\n return Boolean(requiredPrivilege);\n }\n\n if (!Boolean(requiredPrivilege)) {\n // if user exists but no requiredPrivilege is defined\n return true;\n }\n\n return userHasPrivilege(requiredPrivilege, user) || isSuperUser(user);\n}\n\nexport function getLoggedInUser() {\n let user;\n let unsubscribe;\n return new Promise<LoggedInUser>((res, rej) => {\n const handler = (state: SessionStore) => {\n if (state.loaded && state.session.user) {\n user = state.session.user;\n res(state.session.user);\n unsubscribe && unsubscribe();\n }\n };\n handler(sessionStore.getState());\n if (!user) {\n unsubscribe = sessionStore.subscribe(handler);\n }\n });\n}\n\nexport function getSessionLocation() {\n return new Promise<SessionLocation | undefined>((res, rej) => {\n const sub = getCurrentUser().subscribe((session) => {\n res(session.sessionLocation);\n }, rej);\n sub.unsubscribe();\n });\n}\n\nexport async function setSessionLocation(\n locationUuid: string,\n abortController: AbortController\n): Promise<any> {\n await openmrsFetch(sessionEndpoint, {\n method: \"POST\",\n body: { sessionLocation: locationUuid },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal: abortController.signal,\n });\n\n await refetchCurrentUser();\n}\n","import { defineConfigSchema, Type, validators } from \"@openmrs/esm-config\";\nimport { refetchCurrentUser } from \"./shared-api-objects/current-user\";\n\n/**\n * @internal\n */\nexport function setupApiModule() {\n defineConfigSchema(\"@openmrs/esm-api\", {\n redirectAuthFailure: {\n enabled: {\n _type: Type.Boolean,\n _default: true,\n _description:\n \"Whether to redirect logged-out users to `redirectAuthFailure.url`\",\n },\n url: {\n _type: Type.String,\n _default: \"${openmrsSpaBase}/login\",\n _validators: [validators.isUrl],\n },\n errors: {\n _type: Type.Array,\n _default: [401],\n _elements: {\n _type: Type.Number,\n _validators: [validators.inRange(100, 600)],\n },\n _description: \"The HTTP error codes for which users will be redirected\",\n },\n resolvePromise: {\n _type: Type.Boolean,\n _default: false,\n _description:\n \"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly.\",\n },\n },\n });\n\n refetchCurrentUser();\n}\n","/** @module @category API */\nimport { getSynchronizationItems } from \"@openmrs/esm-offline\";\nimport { FetchConfig, fhirBaseUrl, openmrsFetch } from \"../openmrs-fetch\";\nimport { FetchResponse } from \"../types\";\n\nexport type CurrentPatient = fhir.Patient | FetchResponse<fhir.Patient>;\nexport interface CurrentPatientOptions {\n includeConfig?: boolean;\n}\n\nexport interface PatientWithFullResponse extends CurrentPatientOptions {\n includeConfig: true;\n}\n\nexport interface OnlyThePatient extends CurrentPatientOptions {\n includeConfig: false;\n}\n\nexport type PatientUuid = string | null;\n\nexport async function fetchCurrentPatient(\n patientUuid: PatientUuid,\n fetchInit?: FetchConfig,\n includeOfflinePatients: boolean = true\n): Promise<fhir.Patient | null> {\n if (patientUuid) {\n let err: Error | null = null;\n const [onlinePatient, offlinePatient] = await Promise.all([\n openmrsFetch<fhir.Patient>(\n `${fhirBaseUrl}/Patient/${patientUuid}`,\n fetchInit\n ).catch<FetchResponse<fhir.Patient>>((e) => (err = e)),\n includeOfflinePatients\n ? getOfflineRegisteredPatientAsFhirPatient(patientUuid)\n : Promise.resolve(null),\n ]);\n\n if (onlinePatient.ok) {\n return onlinePatient.data;\n }\n\n if (offlinePatient) {\n return offlinePatient;\n }\n\n if (err) {\n throw err;\n }\n }\n\n return null;\n}\n\nasync function getOfflineRegisteredPatientAsFhirPatient(\n patientUuid: string\n): Promise<fhir.Patient | null> {\n const patientRegistrationSyncItems = await getSynchronizationItems<{\n fhirPatient: fhir.Patient;\n }>(\"patient-registration\");\n const patientSyncItem = patientRegistrationSyncItems.find(\n (item) => item.fhirPatient.id === patientUuid\n );\n\n return patientSyncItem?.fhirPatient ?? null;\n}\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ArgumentOutOfRangeErrorImpl = /*@__PURE__*/ (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return function (source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nvar TakeOperator = /*@__PURE__*/ (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\nvar TakeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=take.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** @module @category API */\nimport { Observable, BehaviorSubject } from \"rxjs\";\nimport { take, map } from \"rxjs/operators\";\nimport { openmrsObservableFetch } from \"../openmrs-fetch\";\nimport {\n FetchResponse,\n NewVisitPayload,\n UpdateVisitPayload,\n Visit,\n} from \"../types\";\n\nexport const defaultVisitCustomRepresentation =\n \"custom:(uuid,encounters:(uuid,encounterDatetime,\" +\n \"form:(uuid,name),location:ref,\" +\n \"encounterType:ref,encounterProviders:(uuid,display,\" +\n \"provider:(uuid,display))),patient:(uuid,uuid),\" +\n \"visitType:(uuid,name,display),\" +\n \"attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),\" +\n \"location:(uuid,name,display),startDatetime,stopDatetime)\";\n\nexport function getVisitsForPatient(\n patientUuid: string,\n abortController: AbortController,\n v?: string\n): Observable<FetchResponse<{ results: Array<Visit> }>> {\n const custom = v ?? defaultVisitCustomRepresentation;\n\n return openmrsObservableFetch(\n `/ws/rest/v1/visit?patient=${patientUuid}&v=${custom}`,\n {\n signal: abortController.signal,\n method: \"GET\",\n headers: {\n \"Content-type\": \"application/json\",\n },\n }\n )\n .pipe(take(1))\n .pipe(\n map((response: FetchResponse<{ results: Array<Visit> }>) => {\n return response;\n })\n );\n}\n\nexport function saveVisit(\n payload: NewVisitPayload,\n abortController: AbortController\n): Observable<FetchResponse<any>> {\n return 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}\n\nexport function updateVisit(\n uuid: string,\n payload: UpdateVisitPayload,\n abortController: AbortController\n): Observable<any> {\n return openmrsObservableFetch(`/ws/rest/v1/visit/${uuid}`, {\n signal: abortController.signal,\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/json\",\n },\n body: payload,\n });\n}\n\nexport const getStartedVisit = new BehaviorSubject<VisitItem | null>(null);\n\nexport interface VisitItem {\n mode: VisitMode;\n visitData?: Visit;\n status: VisitStatus;\n anythingElse?: any;\n}\n\nexport enum VisitMode {\n NEWVISIT = \"startVisit\",\n EDITVISIT = \"editVisit\",\n LOADING = \"loadingVisit\",\n}\n\nexport enum VisitStatus {\n NOTSTARTED = \"notStarted\",\n ONGOING = \"ongoing\",\n}\n","/** @module @category API */\nimport { Observable } from \"rxjs\";\nimport { map, take } from \"rxjs/operators\";\nimport { openmrsObservableFetch } from \"../openmrs-fetch\";\nimport { VisitType } from \"../types\";\n\nexport function toVisitTypeObject(openmrsRestForm: any): VisitType {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display,\n name: openmrsRestForm.name,\n };\n}\n\nexport function getVisitTypes(): Observable<Array<VisitType>> {\n return openmrsObservableFetch<any>(`/ws/rest/v1/visittype`)\n .pipe(\n map((results) => {\n const visitTypes: Array<VisitType> =\n results.data.results.map(toVisitTypeObject);\n return visitTypes;\n })\n )\n .pipe(take(1));\n}\n","/** @module @category API */\nimport { Observable } from \"rxjs\";\nimport { map, take } from \"rxjs/operators\";\nimport { openmrsObservableFetch } from \"../openmrs-fetch\";\nimport { Location } from \"../types\";\n\nexport function toLocationObject(openmrsRestForm: any): Location {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display,\n };\n}\n\nexport function getLocations(): Observable<Array<Location>> {\n return openmrsObservableFetch<any>(`/ws/rest/v1/location`)\n .pipe(\n map((results) => {\n const locations: Array<Location> =\n results.data.results.map(toLocationObject);\n return locations;\n })\n )\n .pipe(take(1));\n}\n","export const backendDependencies = {\n \"webservices.rest\": \"2.24.0\",\n fhir2: \"1.0.0-SNAPSHOT\",\n};\n"],"names":["System","register","e","t","execute","r","n","R","s","y","meta","url","console","error","Error","p","document","createElement","href","pathname","o","a","length","i","slice","protocol","host","Number","isInteger","exports","d","Object","defineProperty","enumerable","get","g","globalThis","this","Function","window","prototype","hasOwnProperty","call","Symbol","toStringTag","value","importScripts","location","currentScript","src","getElementsByTagName","replace","push","u","action","arguments","apply","then","setState","subscribe","unsubscribe","getState","active","c","createAppState","createGlobalStore","getAppState","getGlobalStore","subscribeTo","resolveDirectory","rootDirLevel","urlString","rootDirectoryLevel","numDirsProcessed","index","finalPath","module","__WEBPACK_EXTERNAL_MODULE__824__","__WEBPACK_EXTERNAL_MODULE__254__","__WEBPACK_EXTERNAL_MODULE__738__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","__system_context__","definition","key","obj","prop","scriptUrl","scripts","autoPublicPath","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","constructor","create","isFunction","x","_enable_super_gross_mode_that_will_cause_bad_things","config","Promise","useDeprecatedSynchronousErrorHandling","stack","hostReportError","err","setTimeout","empty","closed","next","complete","isArray","UnsubscriptionError","UnsubscriptionErrorImpl","errors","message","map","toString","join","name","Subscription","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","_a","remove","flattenUnsubscriptionErrors","len","sub","concat","add","teardown","subscription","EMPTY","tmp","indexOf","subscriptions","subscriptionIndex","splice","reduce","errs","rxSubscriber","Math","random","Subscriber","_super","destinationOrNext","_this","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","SafeSubscriber","subscriber","_next","_error","_complete","_unsubscribeAndRecycle","_parentSubscriber","observerOrNext","context","bind","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","observable","identity","pipeFromArray","fns","input","prev","Observable","_isScalar","_subscribe","lift","operator","source","sink","nextOrObserver","toSubscriber","_trySubscribe","observer","closed_1","canReportError","warn","forEach","promiseCtor","getPromiseCtor","resolve","reject","pipe","operations","_i","toPromise","global","freeSelf","self","objectProto","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","result","func","getPrototypeOf","transform","arg","funcProto","funcToString","objectCtorString","proto","Ctor","restBaseUrl","fhirBaseUrl","sessionEndpoint","makeUrl","path","openmrsBase","openmrsFetch","fetchInit","headers","isPlainObject","body","JSON","stringify","Accept","startsWith","urlUrl","URL","searchParams","has","set","requestStacktrace","fetch","response","redirectAuthFailure","ok","status","data","text","responseText","parse","getConfig","enabled","includes","navigate","to","resolvePromise","responseBody","OpenmrsFetchError","openmrsObservableFetch","abortController","AbortController","signal","hasResponse","abort","statusText","sessionStore","loaded","session","lastFetchTimeMillis","getCurrentUser","opts","includeAuthStatus","Date","now","refetchCurrentUser","handler","state","user","getSessionStore","res","locale","userProperties","defaultLocale","documentElement","getAttribute","setAttribute","catch","reportError","sessionId","authenticated","clearCurrentUser","userHasAccess","requiredPrivilege","Boolean","isUndefined","privileges","find","display","every","rp","userHasPrivilege","roles","role","isSuperUser","getLoggedInUser","rej","getSessionLocation","sessionLocation","setSessionLocation","locationUuid","method","setupApiModule","defineConfigSchema","_type","Type","_default","_description","_validators","validators","_elements","fetchCurrentPatient","patientUuid","includeOfflinePatients","onlinePatient","offlinePatient","all","getOfflineRegisteredPatientAsFhirPatient","patientRegistrationSyncItems","patientSyncItem","getSynchronizationItems","item","fhirPatient","id","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","SubjectSubscription","subject","observers","subscriberIndex","SubjectSubscriber","Subject","hasError","thrownError","AnonymousSubject","copy","asObservable","BehaviorSubject","_value","getValue","configurable","ArgumentOutOfRangeError","ArgumentOutOfRangeErrorImpl","take","count","scheduler","schedule","emptyScheduled","TakeOperator","total","TakeSubscriber","project","thisArg","TypeError","MapOperator","MapSubscriber","defaultVisitCustomRepresentation","getVisitsForPatient","v","custom","saveVisit","payload","updateVisit","uuid","getStartedVisit","toVisitTypeObject","openmrsRestForm","getVisitTypes","results","toLocationObject","getLocations","VisitMode","NEWVISIT","EDITVISIT","LOADING","VisitStatus","NOTSTARTED","ONGOING","backendDependencies","fhir2"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-api.js","mappings":"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","sources":["webpack://@openmrs/esm-api/../esm-state/dist/openmrs-esm-state.js","webpack://@openmrs/esm-api/../../../node_modules/systemjs-webpack-interop/auto-public-path/auto-public-path.js","webpack://@openmrs/esm-api/../../../node_modules/systemjs-webpack-interop/public-path.js","webpack://@openmrs/esm-api/external system \"@openmrs/esm-config\"","webpack://@openmrs/esm-api/external system \"@openmrs/esm-error-handling\"","webpack://@openmrs/esm-api/external system \"@openmrs/esm-offline\"","webpack://@openmrs/esm-api/webpack/bootstrap","webpack://@openmrs/esm-api/webpack/runtime/__system_context__","webpack://@openmrs/esm-api/webpack/runtime/define property getters","webpack://@openmrs/esm-api/webpack/runtime/global","webpack://@openmrs/esm-api/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-api/webpack/runtime/make namespace object","webpack://@openmrs/esm-api/webpack/runtime/publicPath","webpack://@openmrs/esm-api/../../../node_modules/systemjs-webpack-interop/auto-public-path/1.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/node_modules/tslib/tslib.es6.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/config.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Observer.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/isArray.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Subscription.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/isObject.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Subscriber.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/symbol/observable.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/identity.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/pipe.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Observable.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/toSubscriber.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/canReportError.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_freeGlobal.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_root.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_Symbol.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_getRawTag.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_objectToString.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_baseGetTag.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_getPrototype.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/_overArg.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/isPlainObject.js","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/isObjectLike.js","webpack://@openmrs/esm-api/./src/openmrs-fetch.ts","webpack://@openmrs/esm-api/../../../node_modules/lodash-es/isUndefined.js","webpack://@openmrs/esm-api/./src/shared-api-objects/current-user.ts","webpack://@openmrs/esm-api/./src/setup.ts","webpack://@openmrs/esm-api/./src/shared-api-objects/current-patient.ts","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/SubjectSubscription.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/Subject.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/BehaviorSubject.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/observable/empty.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/operators/take.js","webpack://@openmrs/esm-api/../../../node_modules/rxjs/_esm5/internal/operators/map.js","webpack://@openmrs/esm-api/./src/shared-api-objects/visit-utils.ts","webpack://@openmrs/esm-api/./src/shared-api-objects/visit-type.ts","webpack://@openmrs/esm-api/./src/shared-api-objects/location.ts","webpack://@openmrs/esm-api/./src/openmrs-backend-dependencies.ts"],"sourcesContent":["System.register([],(function(e,t){return{execute:function(){e((()=>{var e={968:(e,t,r)=>{const n=r(577).R;t.s=function(e){if(e||(e=1),!r.y.meta||!r.y.meta.url)throw console.error(\"__system_context__\",r.y),Error(\"systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided\");r.p=n(r.y.meta.url,e)}},577:(e,t,r)=>{t.R=function(e,t){var r=document.createElement(\"a\");r.href=e;for(var n=\"/\"===r.pathname[0]?r.pathname:\"/\"+r.pathname,o=0,a=n.length;o!==t&&a>=0;)\"/\"===n[--a]&&o++;if(o!==t)throw Error(\"systemjs-webpack-interop: rootDirectoryLevel (\"+t+\") is greater than the number of directories (\"+o+\") in the URL path \"+e);var i=n.slice(0,a+1);return r.protocol+\"//\"+r.host+i};Number.isInteger}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var a=r[t]={exports:{}};return e[t](a,a.exports,n),a.exports}n.y=t,n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\"\");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName(\"script\");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error(\"Automatic publicPath is not supported in this browser\");e=e.replace(/#.*$/,\"\").replace(/\\?.*$/,\"\").replace(/\\/[^\\/]+$/,\"/\"),n.p=e})();var o={};return(0,n(968).s)(1),(()=>{\"use strict\";n.r(o),n.d(o,{createAppState:()=>c,createGlobalStore:()=>a,getAppState:()=>u,getGlobalStore:()=>i,subscribeTo:()=>s});const e=e=>{let t;const r=new Set,n=(e,n)=>{const o=\"function\"==typeof e?e(t):e;if(!Object.is(o,t)){const e=t;t=(null!=n?n:\"object\"!=typeof o)?o:Object.assign({},t,o),r.forEach((r=>r(t,e)))}},o=()=>t,a={setState:n,getState:o,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>{console.warn(\"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"),r.clear()}};return t=e(n,o,a),a},t=t=>t?e(t):e;var r={};function a(e,n){var o=r[e];if(o)return o.active?console.error(\"Cannot override an existing store. Make sure that stores are only created once.\"):o.value.setState(n,!0),o.active=!0,o.value;var a=t()((function(){return n}));return r[e]={value:a,active:!0},a}function i(e,n){var o=r[e];if(!o){var a=t()((function(){return null!=n?n:{}}));return r[e]={value:a,active:!1},a}return o.value}function c(e){return a(\"app\",e)}function u(){return i(\"app\",{})}function s(e,t,r){var n=t(e.getState());return e.subscribe((function(e){var o=t(e);o!==n&&(n=o,r(o))}))}})(),o})())}}}));\n//# sourceMappingURL=openmrs-esm-state.js.map","const resolveDirectory = require(\"../public-path\").resolveDirectory;\n\nexports.autoPublicPath = function autoPublicPath(rootDirLevel) {\n if (!rootDirLevel) {\n rootDirLevel = 1;\n }\n\n if (typeof __webpack_public_path__ !== \"undefined\") {\n if (typeof __system_context__ === \"undefined\") {\n throw Error(\n \"systemjs-webpack-interop requires webpack@>=5.0.0-beta.15 and output.libraryTarget set to 'system'\"\n );\n }\n\n if (!__system_context__.meta || !__system_context__.meta.url) {\n console.error(\"__system_context__\", __system_context__);\n throw Error(\n \"systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(\n __system_context__.meta.url,\n rootDirLevel\n );\n }\n};\n","exports.setPublicPath = function setPublicPath(\n systemjsModuleName,\n rootDirectoryLevel\n) {\n if (!rootDirectoryLevel) {\n rootDirectoryLevel = 1;\n }\n if (\n typeof systemjsModuleName !== \"string\" ||\n systemjsModuleName.trim().length === 0\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName) must be called with a non-empty string 'systemjsModuleName'\"\n );\n }\n\n if (\n typeof rootDirectoryLevel !== \"number\" ||\n rootDirectoryLevel <= 0 ||\n isNaN(rootDirectoryLevel) ||\n !isInteger(rootDirectoryLevel)\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName, rootDirectoryLevel) must be called with a positive integer 'rootDirectoryLevel'\"\n );\n }\n\n var moduleUrl;\n try {\n moduleUrl = window.System.resolve(systemjsModuleName);\n if (!moduleUrl) {\n throw Error();\n }\n } catch (err) {\n throw Error(\n \"systemjs-webpack-interop: There is no such module '\" +\n systemjsModuleName +\n \"' in the SystemJS registry. Did you misspell the name of your module?\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(moduleUrl, rootDirectoryLevel);\n};\n\nfunction resolveDirectory(urlString, rootDirectoryLevel) {\n // Our friend IE11 doesn't support new URL()\n // https://github.com/single-spa/single-spa/issues/612\n // https://gist.github.com/jlong/2428561\n\n var a = document.createElement(\"a\");\n a.href = urlString;\n\n var pathname = a.pathname[0] === \"/\" ? a.pathname : \"/\" + a.pathname;\n var numDirsProcessed = 0,\n index = pathname.length;\n while (numDirsProcessed !== rootDirectoryLevel && index >= 0) {\n var char = pathname[--index];\n if (char === \"/\") {\n numDirsProcessed++;\n }\n }\n\n if (numDirsProcessed !== rootDirectoryLevel) {\n throw Error(\n \"systemjs-webpack-interop: rootDirectoryLevel (\" +\n rootDirectoryLevel +\n \") is greater than the number of directories (\" +\n numDirsProcessed +\n \") in the URL path \" +\n urlString\n );\n }\n\n var finalPath = pathname.slice(0, index + 1);\n\n return a.protocol + \"//\" + a.host + finalPath;\n}\n\nexports.resolveDirectory = resolveDirectory;\n\n// borrowed from https://github.com/parshap/js-is-integer/blob/master/index.js\nvar isInteger =\n Number.isInteger ||\n function isInteger(val) {\n return typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n };\n","module.exports = __WEBPACK_EXTERNAL_MODULE__824__;","module.exports = __WEBPACK_EXTERNAL_MODULE__254__;","module.exports = __WEBPACK_EXTERNAL_MODULE__738__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.y = __system_context__;","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","const autoPublicPath = require(\"./auto-public-path\").autoPublicPath;\n\nautoPublicPath(1);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","/** @module @category API */\nimport { Observable } from \"rxjs\";\nimport isPlainObject from \"lodash-es/isPlainObject\";\nimport { getConfig, navigate } from \"@openmrs/esm-config\";\nimport { FetchResponse } from \"./types\";\n\nexport const restBaseUrl = \"/ws/rest/v1/\";\n\nexport const fhirBaseUrl = \"/ws/fhir2/R4\";\n\nexport const sessionEndpoint = `${restBaseUrl}session`;\n\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 */\nexport function makeUrl(path: string) {\n return window.openmrsBase + path;\n}\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 */\nexport function openmrsFetch<T = any>(\n path: string,\n fetchInit: FetchConfig = {}\n): Promise<FetchResponse<T>> {\n if (typeof path !== \"string\") {\n throw Error(\n \"The first argument to @openmrs/api's openmrsFetch function must be a url string\"\n );\n }\n\n if (typeof fetchInit !== \"object\") {\n throw Error(\n \"The second argument to @openmrs/api's openmrsFetch function must be a plain object.\"\n );\n }\n\n // @ts-ignore\n if (!window.openmrsBase) {\n throw Error(\n \"@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 }\n\n // ensure path starts with /\n if (path[0] !== \"/\") {\n path = \"/\" + path;\n }\n\n // Prefix the url with the openmrs spa base\n let url: string = makeUrl(path);\n\n // We're going to need some headers\n if (!fetchInit.headers) {\n fetchInit.headers = {};\n }\n\n /* Automatically stringify javascript objects being sent in the\n * request body.\n */\n if (isPlainObject(fetchInit.body)) {\n fetchInit.body = JSON.stringify(fetchInit.body);\n }\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 */\n if (typeof fetchInit.headers.Accept === \"undefined\") {\n fetchInit.headers.Accept = \"application/json\";\n }\n\n if (fetchInit.headers.Accept === null) {\n delete fetchInit.headers.Accept;\n }\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 */\n if (\n path.startsWith(restBaseUrl) &&\n typeof fetchInit.headers[\"Disable-WWW-Authenticate\"] === \"undefined\"\n ) {\n fetchInit.headers[\"Disable-WWW-Authenticate\"] = \"true\";\n }\n\n if (path.startsWith(fhirBaseUrl)) {\n const 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\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 */\n const requestStacktrace = Error();\n\n return window.fetch(url, fetchInit as RequestInit).then(async (r) => {\n const response = r as FetchResponse<T>;\n if (response.ok) {\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 */\n response.data = null as unknown as T;\n return response;\n } else {\n // HTTP 200s - The request succeeded\n return response\n .clone()\n .text()\n .then((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 } else {\n /* HTTP response status is not in 200s. Usually this will mean\n * either HTTP 400s (bad request from browser) or HTTP 500s (server error)\n * Our goal is to come up with best possible stacktrace and error message\n * to help developers understand the problem and debug\n */\n\n /*\n *Redirect to given url when redirect on auth failure is enabled\n */\n const { redirectAuthFailure } = await getConfig(\"@openmrs/esm-api\");\n\n if (\n (url === makeUrl(sessionEndpoint) && response.status === 403) ||\n (redirectAuthFailure.enabled &&\n redirectAuthFailure.errors.includes(response.status))\n ) {\n navigate({ 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 */\n return redirectAuthFailure.resolvePromise\n ? (Promise.resolve() as unknown as Promise<FetchResponse>)\n : new Promise<FetchResponse>(() => {});\n } else {\n // Attempt to download a response body, if it has one\n return response\n .clone()\n .text()\n .then(\n (responseText) => {\n let 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\n /* Make the fetch promise go into \"rejected\" status, with the best\n * possible stacktrace and error message.\n */\n throw new OpenmrsFetchError(\n url,\n response,\n responseBody,\n requestStacktrace\n );\n },\n (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 */\n throw new OpenmrsFetchError(\n url,\n response,\n null,\n requestStacktrace\n );\n }\n );\n }\n }\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 */\nexport function openmrsObservableFetch<T>(\n url: string,\n fetchInit: FetchConfig = {}\n) {\n if (typeof fetchInit !== \"object\") {\n throw Error(\n \"The second argument to openmrsObservableFetch must be either omitted or an object\"\n );\n }\n\n const abortController = new AbortController();\n\n fetchInit.signal = abortController.signal;\n\n return new Observable<FetchResponse<T>>((observer) => {\n let hasResponse = false;\n\n openmrsFetch(url, fetchInit).then(\n (response) => {\n hasResponse = true;\n observer.next(response);\n observer.complete();\n },\n (err) => {\n hasResponse = true;\n observer.error(err);\n }\n );\n\n return () => {\n if (!hasResponse) {\n abortController.abort();\n }\n };\n });\n}\n\nexport class OpenmrsFetchError extends Error {\n constructor(\n url: string,\n response: Response,\n responseBody: ResponseBody | null,\n requestStacktrace: Error\n ) {\n super();\n this.message = `Server responded with ${response.status} (${response.statusText}) for url ${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${requestStacktrace.stack}\\nStacktrace for incoming response:\\n${this.stack}`;\n }\n response: Response;\n responseBody: string | FetchResponseJson | null;\n}\n\nexport interface FetchConfig extends Omit<RequestInit, \"body\" | \"headers\"> {\n headers?: FetchHeaders;\n body?: FetchBody | string;\n}\n\ntype ResponseBody = string | FetchResponseJson;\n\nexport interface FetchHeaders {\n [key: string]: string | null;\n}\n\ninterface FetchBody {\n [key: string]: any;\n}\n\nexport interface FetchResponseJson {\n [key: string]: any;\n}\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n","/** @module @category API */\nimport { reportError } from \"@openmrs/esm-error-handling\";\nimport { createGlobalStore } from \"@openmrs/esm-state\";\nimport isUndefined from \"lodash-es/isUndefined\";\nimport { Observable } from \"rxjs\";\nimport { openmrsFetch, sessionEndpoint } from \"../openmrs-fetch\";\nimport type {\n LoggedInUser,\n SessionLocation,\n Privilege,\n Role,\n Session,\n} from \"../types\";\n\nexport type SessionStore = LoadedSessionStore | UnloadedSessionStore;\n\nexport type LoadedSessionStore = {\n loaded: true;\n session: Session;\n};\n\nexport type UnloadedSessionStore = {\n loaded: false;\n session: null;\n};\n\nconst sessionStore = createGlobalStore<SessionStore>(\"session\", {\n loaded: false,\n session: null,\n});\nlet lastFetchTimeMillis = 0;\n\n/**\n * The getCurrentUser function returns an observable that produces\n * **zero or more values, over time**. It will produce zero values\n * by default if the user is not logged in. And it will provide a\n * first value when the logged in user is fetched from the server.\n * Subsequent values will be produced whenever the user object is\n * updated.\n *\n * @param options An object with `includeAuthStatus` boolean\n * property that defaults to `false`. When `includeAuthStatus` is set\n * to `true`, the entire response object from the API will be provided.\n * When `includeAuthStatus` is set to `false`, only the `user` property\n * of the response object will be provided.\n *\n * @returns An Observable that produces zero or more values (as\n * described above). The values produced will be a user object (if\n * `includeAuthStatus` is set to `false`) or an object with a session\n * and authenticated property (if `includeAuthStatus` is set to `true`).\n *\n * #### Example\n *\n * ```js\n * import { getCurrentUser } from '@openmrs/esm-api'\n * const subscription = getCurrentUser().subscribe(\n * user => console.log(user)\n * )\n * subscription.unsubscribe()\n * getCurrentUser({includeAuthStatus: true}).subscribe(\n * data => console.log(data.authenticated)\n * )\n * ```\n *\n * #### Be sure to unsubscribe when your component unmounts\n *\n * Otherwise your code will continue getting updates to the user object\n * even after the UI component is gone from the screen. This is a memory\n * leak and source of bugs.\n */\nfunction getCurrentUser(): Observable<Session>;\nfunction getCurrentUser(opts: { includeAuthStatus: true }): Observable<Session>;\nfunction getCurrentUser(opts: {\n includeAuthStatus: false;\n}): Observable<LoggedInUser>;\nfunction getCurrentUser(\n opts = { includeAuthStatus: true }\n): Observable<Session | LoggedInUser> {\n if (\n lastFetchTimeMillis < Date.now() - 1000 * 60 ||\n !sessionStore.getState().loaded\n ) {\n refetchCurrentUser();\n }\n\n return new Observable((subscriber) => {\n const handler = (state) => {\n if (state.loaded) {\n if (opts.includeAuthStatus) {\n subscriber.next(state.session);\n } else {\n subscriber.next(state.session?.user);\n }\n }\n };\n handler(sessionStore.getState());\n // The observable subscribe function should return an unsubscribe function,\n // which happens to be exactly what `subscribe` returns.\n return sessionStore.subscribe(handler);\n });\n}\n\nexport { getCurrentUser };\n\nexport function getSessionStore() {\n if (\n lastFetchTimeMillis < Date.now() - 1000 * 60 ||\n !sessionStore.getState().loaded\n ) {\n refetchCurrentUser();\n }\n\n return sessionStore;\n}\n\nfunction setUserLanguage(data: Session) {\n const locale = data?.user?.userProperties?.defaultLocale ?? data.locale;\n const htmlLang = document.documentElement.getAttribute(\"lang\");\n\n if (locale !== htmlLang) {\n document.documentElement.setAttribute(\"lang\", locale);\n }\n}\n\nfunction userHasPrivilege(\n requiredPrivilege: string | string[] | undefined,\n user: { privileges: Array<Privilege> }\n) {\n if (typeof requiredPrivilege === \"string\") {\n return !isUndefined(\n user.privileges.find((p) => requiredPrivilege === p.display)\n );\n } else if (Array.isArray(requiredPrivilege)) {\n return requiredPrivilege.every(\n (rp) => !isUndefined(user.privileges.find((p) => rp === p.display))\n );\n } else if (!isUndefined(requiredPrivilege)) {\n console.error(`Could not understand privileges \"${requiredPrivilege}\"`);\n }\n\n return true;\n}\n\nfunction isSuperUser(user: { roles: Array<Role> }) {\n return !isUndefined(\n user.roles.find((role) => role.display === \"System Developer\")\n );\n}\n\n/**\n * The `refetchCurrentUser` function causes a network request to redownload\n * the user. All subscribers to the current user will be notified of the\n * new users once the new version of the user object is downloaded.\n *\n * @returns The same observable as returned by [[getCurrentUser]].\n *\n * #### Example\n * ```js\n * import { refetchCurrentUser } from '@openmrs/esm-api'\n * refetchCurrentUser()\n * ```\n */\nexport function refetchCurrentUser() {\n return new Promise((resolve, reject) => {\n lastFetchTimeMillis = Date.now();\n openmrsFetch(sessionEndpoint)\n .then((res) => {\n if (typeof res?.data === \"object\") {\n setUserLanguage(res.data);\n resolve(res.data);\n sessionStore.setState({ loaded: true, session: res.data });\n } else {\n reject();\n return Promise.reject();\n }\n })\n .catch((err) => {\n reportError(`Failed to fetch new session information: ${err}`);\n reject(err);\n return {\n sessionId: \"\",\n authenticated: false,\n };\n });\n });\n}\n\nexport function clearCurrentUser() {\n sessionStore.setState({\n loaded: true,\n session: { authenticated: false, sessionId: \"\" },\n });\n}\n\nexport function userHasAccess(\n requiredPrivilege: string | string[],\n user: { privileges: Array<Privilege>; roles: Array<Role> }\n) {\n if (user === undefined) {\n // if the user hasn't been loaded, then return false iff there is a required privilege\n return Boolean(requiredPrivilege);\n }\n\n if (!Boolean(requiredPrivilege)) {\n // if user exists but no requiredPrivilege is defined\n return true;\n }\n\n return userHasPrivilege(requiredPrivilege, user) || isSuperUser(user);\n}\n\nexport function getLoggedInUser() {\n let user;\n let unsubscribe;\n return new Promise<LoggedInUser>((res, rej) => {\n const handler = (state: SessionStore) => {\n if (state.loaded && state.session.user) {\n user = state.session.user;\n res(state.session.user);\n unsubscribe && unsubscribe();\n }\n };\n handler(sessionStore.getState());\n if (!user) {\n unsubscribe = sessionStore.subscribe(handler);\n }\n });\n}\n\nexport function getSessionLocation() {\n return new Promise<SessionLocation | undefined>((res, rej) => {\n const sub = getCurrentUser().subscribe((session) => {\n res(session.sessionLocation);\n }, rej);\n sub.unsubscribe();\n });\n}\n\nexport async function setSessionLocation(\n locationUuid: string,\n abortController: AbortController\n): Promise<any> {\n await openmrsFetch(sessionEndpoint, {\n method: \"POST\",\n body: { sessionLocation: locationUuid },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal: abortController.signal,\n });\n\n await refetchCurrentUser();\n}\n","import { defineConfigSchema, Type, validators } from \"@openmrs/esm-config\";\nimport { refetchCurrentUser } from \"./shared-api-objects/current-user\";\n\n/**\n * @internal\n */\nexport function setupApiModule() {\n defineConfigSchema(\"@openmrs/esm-api\", {\n redirectAuthFailure: {\n enabled: {\n _type: Type.Boolean,\n _default: true,\n _description:\n \"Whether to redirect logged-out users to `redirectAuthFailure.url`\",\n },\n url: {\n _type: Type.String,\n _default: \"${openmrsSpaBase}/login\",\n _validators: [validators.isUrl],\n },\n errors: {\n _type: Type.Array,\n _default: [401],\n _elements: {\n _type: Type.Number,\n _validators: [validators.inRange(100, 600)],\n },\n _description: \"The HTTP error codes for which users will be redirected\",\n },\n resolvePromise: {\n _type: Type.Boolean,\n _default: false,\n _description:\n \"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly.\",\n },\n },\n });\n\n refetchCurrentUser();\n}\n","/** @module @category API */\nimport { getSynchronizationItems } from \"@openmrs/esm-offline\";\nimport { FetchConfig, fhirBaseUrl, openmrsFetch } from \"../openmrs-fetch\";\nimport { FetchResponse } from \"../types\";\n\nexport type CurrentPatient = fhir.Patient | FetchResponse<fhir.Patient>;\nexport interface CurrentPatientOptions {\n includeConfig?: boolean;\n}\n\nexport interface PatientWithFullResponse extends CurrentPatientOptions {\n includeConfig: true;\n}\n\nexport interface OnlyThePatient extends CurrentPatientOptions {\n includeConfig: false;\n}\n\nexport type PatientUuid = string | null;\n\nexport async function fetchCurrentPatient(\n patientUuid: PatientUuid,\n fetchInit?: FetchConfig,\n includeOfflinePatients: boolean = true\n): Promise<fhir.Patient | null> {\n if (patientUuid) {\n let err: Error | null = null;\n const [onlinePatient, offlinePatient] = await Promise.all([\n openmrsFetch<fhir.Patient>(\n `${fhirBaseUrl}/Patient/${patientUuid}`,\n fetchInit\n ).catch<FetchResponse<fhir.Patient>>((e) => (err = e)),\n includeOfflinePatients\n ? getOfflineRegisteredPatientAsFhirPatient(patientUuid)\n : Promise.resolve(null),\n ]);\n\n if (onlinePatient.ok) {\n return onlinePatient.data;\n }\n\n if (offlinePatient) {\n return offlinePatient;\n }\n\n if (err) {\n throw err;\n }\n }\n\n return null;\n}\n\nasync function getOfflineRegisteredPatientAsFhirPatient(\n patientUuid: string\n): Promise<fhir.Patient | null> {\n const patientRegistrationSyncItems = await getSynchronizationItems<{\n fhirPatient: fhir.Patient;\n }>(\"patient-registration\");\n const patientSyncItem = patientRegistrationSyncItems.find(\n (item) => item.fhirPatient.id === patientUuid\n );\n\n return patientSyncItem?.fhirPatient ?? null;\n}\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ArgumentOutOfRangeErrorImpl = /*@__PURE__*/ (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return function (source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nvar TakeOperator = /*@__PURE__*/ (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\nvar TakeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=take.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** @module @category API */\nimport { Observable, BehaviorSubject } from \"rxjs\";\nimport { take, map } from \"rxjs/operators\";\nimport { openmrsObservableFetch } from \"../openmrs-fetch\";\nimport {\n FetchResponse,\n NewVisitPayload,\n UpdateVisitPayload,\n Visit,\n} from \"../types\";\n\nexport const defaultVisitCustomRepresentation =\n \"custom:(uuid,encounters:(uuid,encounterDatetime,\" +\n \"form:(uuid,name),location:ref,\" +\n \"encounterType:ref,encounterProviders:(uuid,display,\" +\n \"provider:(uuid,display))),patient:(uuid,uuid),\" +\n \"visitType:(uuid,name,display),\" +\n \"attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),\" +\n \"location:(uuid,name,display),startDatetime,stopDatetime)\";\n\nexport function getVisitsForPatient(\n patientUuid: string,\n abortController: AbortController,\n v?: string\n): Observable<FetchResponse<{ results: Array<Visit> }>> {\n const custom = v ?? defaultVisitCustomRepresentation;\n\n return openmrsObservableFetch(\n `/ws/rest/v1/visit?patient=${patientUuid}&v=${custom}`,\n {\n signal: abortController.signal,\n method: \"GET\",\n headers: {\n \"Content-type\": \"application/json\",\n },\n }\n )\n .pipe(take(1))\n .pipe(\n map((response: FetchResponse<{ results: Array<Visit> }>) => {\n return response;\n })\n );\n}\n\nexport function saveVisit(\n payload: NewVisitPayload,\n abortController: AbortController\n): Observable<FetchResponse<any>> {\n return 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}\n\nexport function updateVisit(\n uuid: string,\n payload: UpdateVisitPayload,\n abortController: AbortController\n): Observable<any> {\n return openmrsObservableFetch(`/ws/rest/v1/visit/${uuid}`, {\n signal: abortController.signal,\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/json\",\n },\n body: payload,\n });\n}\n\nexport const getStartedVisit = new BehaviorSubject<VisitItem | null>(null);\n\nexport interface VisitItem {\n mode: VisitMode;\n visitData?: Visit;\n status: VisitStatus;\n anythingElse?: any;\n}\n\nexport enum VisitMode {\n NEWVISIT = \"startVisit\",\n EDITVISIT = \"editVisit\",\n LOADING = \"loadingVisit\",\n}\n\nexport enum VisitStatus {\n NOTSTARTED = \"notStarted\",\n ONGOING = \"ongoing\",\n}\n","/** @module @category API */\nimport { Observable } from \"rxjs\";\nimport { map, take } from \"rxjs/operators\";\nimport { openmrsObservableFetch } from \"../openmrs-fetch\";\nimport { VisitType } from \"../types\";\n\nexport function toVisitTypeObject(openmrsRestForm: any): VisitType {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display,\n name: openmrsRestForm.name,\n };\n}\n\nexport function getVisitTypes(): Observable<Array<VisitType>> {\n return openmrsObservableFetch<any>(`/ws/rest/v1/visittype`)\n .pipe(\n map((results) => {\n const visitTypes: Array<VisitType> =\n results.data.results.map(toVisitTypeObject);\n return visitTypes;\n })\n )\n .pipe(take(1));\n}\n","/** @module @category API */\nimport { Observable } from \"rxjs\";\nimport { map, take } from \"rxjs/operators\";\nimport { openmrsObservableFetch } from \"../openmrs-fetch\";\nimport { Location } from \"../types\";\n\nexport function toLocationObject(openmrsRestForm: any): Location {\n return {\n uuid: openmrsRestForm.uuid,\n display: openmrsRestForm.display,\n };\n}\n\nexport function getLocations(): Observable<Array<Location>> {\n return openmrsObservableFetch<any>(`/ws/rest/v1/location`)\n .pipe(\n map((results) => {\n const locations: Array<Location> =\n results.data.results.map(toLocationObject);\n return locations;\n })\n )\n .pipe(take(1));\n}\n","export const backendDependencies = {\n \"webservices.rest\": \"2.24.0\",\n fhir2: \"1.0.0-SNAPSHOT\",\n};\n"],"names":["System","register","e","t","execute","r","n","R","s","y","meta","url","console","error","Error","p","document","createElement","href","pathname","o","a","length","i","slice","protocol","host","Number","isInteger","exports","d","Object","defineProperty","enumerable","get","g","globalThis","this","Function","window","prototype","hasOwnProperty","call","Symbol","toStringTag","value","importScripts","location","currentScript","src","getElementsByTagName","replace","active","setState","c","u","getState","subscribe","createAppState","createGlobalStore","getAppState","getGlobalStore","subscribeTo","Set","is","assign","forEach","add","delete","destroy","warn","clear","resolveDirectory","rootDirLevel","urlString","rootDirectoryLevel","numDirsProcessed","index","finalPath","module","__WEBPACK_EXTERNAL_MODULE__824__","__WEBPACK_EXTERNAL_MODULE__254__","__WEBPACK_EXTERNAL_MODULE__738__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","__system_context__","definition","key","obj","prop","scriptUrl","scripts","autoPublicPath","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","constructor","create","isFunction","x","_enable_super_gross_mode_that_will_cause_bad_things","config","Promise","useDeprecatedSynchronousErrorHandling","stack","hostReportError","err","setTimeout","empty","closed","next","complete","isArray","UnsubscriptionError","UnsubscriptionErrorImpl","errors","message","map","toString","join","name","Subscription","unsubscribe","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","_a","remove","flattenUnsubscriptionErrors","len","sub","concat","push","teardown","subscription","EMPTY","tmp","indexOf","subscriptions","subscriptionIndex","splice","reduce","errs","rxSubscriber","Math","random","Subscriber","_super","destinationOrNext","_this","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","arguments","destination","SafeSubscriber","subscriber","_next","_error","_complete","_unsubscribeAndRecycle","_parentSubscriber","observerOrNext","context","bind","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","observable","identity","pipeFromArray","fns","input","prev","Observable","_isScalar","_subscribe","lift","operator","source","sink","nextOrObserver","toSubscriber","_trySubscribe","observer","closed_1","canReportError","promiseCtor","getPromiseCtor","resolve","reject","pipe","operations","_i","toPromise","global","freeSelf","self","objectProto","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","result","func","getPrototypeOf","transform","arg","funcProto","funcToString","objectCtorString","proto","Ctor","restBaseUrl","fhirBaseUrl","sessionEndpoint","makeUrl","path","openmrsBase","openmrsFetch","fetchInit","headers","isPlainObject","body","JSON","stringify","Accept","startsWith","urlUrl","URL","searchParams","has","set","requestStacktrace","fetch","then","response","redirectAuthFailure","ok","status","data","clone","text","responseText","parse","getConfig","enabled","includes","navigate","to","resolvePromise","responseBody","OpenmrsFetchError","openmrsObservableFetch","abortController","AbortController","signal","hasResponse","abort","statusText","sessionStore","loaded","session","lastFetchTimeMillis","getCurrentUser","opts","includeAuthStatus","Date","now","refetchCurrentUser","handler","state","user","getSessionStore","res","locale","userProperties","defaultLocale","documentElement","getAttribute","setAttribute","catch","reportError","sessionId","authenticated","clearCurrentUser","userHasAccess","requiredPrivilege","Boolean","isUndefined","privileges","find","display","every","rp","userHasPrivilege","roles","role","isSuperUser","getLoggedInUser","rej","getSessionLocation","sessionLocation","setSessionLocation","locationUuid","method","setupApiModule","defineConfigSchema","_type","Type","_default","_description","_validators","validators","_elements","fetchCurrentPatient","patientUuid","includeOfflinePatients","onlinePatient","offlinePatient","all","getOfflineRegisteredPatientAsFhirPatient","patientRegistrationSyncItems","patientSyncItem","getSynchronizationItems","item","fhirPatient","id","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","SubjectSubscription","subject","observers","subscriberIndex","SubjectSubscriber","Subject","hasError","thrownError","AnonymousSubject","copy","asObservable","BehaviorSubject","_value","getValue","configurable","ArgumentOutOfRangeError","ArgumentOutOfRangeErrorImpl","take","count","scheduler","schedule","emptyScheduled","TakeOperator","total","TakeSubscriber","project","thisArg","TypeError","MapOperator","MapSubscriber","defaultVisitCustomRepresentation","getVisitsForPatient","v","custom","saveVisit","payload","updateVisit","uuid","getStartedVisit","toVisitTypeObject","openmrsRestForm","getVisitTypes","results","toLocationObject","getLocations","VisitMode","NEWVISIT","EDITVISIT","LOADING","VisitStatus","NOTSTARTED","ONGOING","backendDependencies","fhir2"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-api",
3
- "version": "4.3.2-pre.678",
3
+ "version": "4.3.2-pre.681",
4
4
  "license": "MPL-2.0",
5
5
  "description": "The javascript module for interacting with the OpenMRS API",
6
6
  "browser": "dist/openmrs-esm-api.js",
@@ -45,10 +45,10 @@
45
45
  "@openmrs/esm-offline": "4.x"
46
46
  },
47
47
  "devDependencies": {
48
- "@openmrs/esm-config": "^4.3.2-pre.678",
49
- "@openmrs/esm-error-handling": "^4.3.2-pre.678",
50
- "@openmrs/esm-state": "^4.3.2-pre.678",
48
+ "@openmrs/esm-config": "^4.3.2-pre.681",
49
+ "@openmrs/esm-error-handling": "^4.3.2-pre.681",
50
+ "@openmrs/esm-state": "^4.3.2-pre.681",
51
51
  "rxjs": "^6.5.3"
52
52
  },
53
- "gitHead": "5b2c5db38c12ad4741c129b86a7add4248cc8019"
53
+ "gitHead": "655c37aaa07de7a265a220786176877b6502ab6a"
54
54
  }
@@ -119,7 +119,9 @@ describe("openmrsFetch", () => {
119
119
  Promise.resolve({
120
120
  ok: true,
121
121
  status: 200,
122
- text: () => Promise.resolve('{ "value": "hi" }'),
122
+ clone: () => ({
123
+ text: () => Promise.resolve('{ "value": "hi" }'),
124
+ }),
123
125
  })
124
126
  );
125
127
 
@@ -152,12 +154,14 @@ describe("openmrsFetch", () => {
152
154
  ok: false,
153
155
  status: 500,
154
156
  statusText: "Internal Server Error",
155
- text: () =>
156
- Promise.resolve(
157
- JSON.stringify({
158
- error: "The server is dead",
159
- })
160
- ),
157
+ clone: () => ({
158
+ text: () =>
159
+ Promise.resolve(
160
+ JSON.stringify({
161
+ error: "The server is dead",
162
+ })
163
+ ),
164
+ }),
161
165
  })
162
166
  );
163
167
 
@@ -182,7 +186,9 @@ describe("openmrsFetch", () => {
182
186
  ok: false,
183
187
  status: 400,
184
188
  statusText: "You goofed up",
185
- text: () => Promise.resolve("a string response body"),
189
+ clone: () => ({
190
+ text: () => Promise.resolve("a string response body"),
191
+ }),
186
192
  })
187
193
  );
188
194
 
@@ -242,7 +248,9 @@ describe("openmrsObservableFetch", () => {
242
248
  Promise.resolve({
243
249
  ok: true,
244
250
  status: 200,
245
- text: () => Promise.resolve('{"value": "hi"}'),
251
+ clone: () => ({
252
+ text: () => Promise.resolve('{"value": "hi"}'),
253
+ }),
246
254
  })
247
255
  );
248
256
 
@@ -255,7 +263,7 @@ describe("openmrsObservableFetch", () => {
255
263
  done();
256
264
  },
257
265
  (err) => {
258
- fail(err);
266
+ done.fail(err);
259
267
  }
260
268
  );
261
269
 
@@ -168,16 +168,19 @@ export function openmrsFetch<T = any>(
168
168
  return response;
169
169
  } else {
170
170
  // HTTP 200s - The request succeeded
171
- return response.text().then((responseText) => {
172
- try {
173
- if (responseText) {
174
- response.data = JSON.parse(responseText);
171
+ return response
172
+ .clone()
173
+ .text()
174
+ .then((responseText) => {
175
+ try {
176
+ if (responseText) {
177
+ response.data = JSON.parse(responseText);
178
+ }
179
+ } catch (err) {
180
+ // Server didn't respond with json
175
181
  }
176
- } catch (err) {
177
- // Server didn't respond with json
178
- }
179
- return response;
180
- });
182
+ return response;
183
+ });
181
184
  }
182
185
  } else {
183
186
  /* HTTP response status is not in 200s. Usually this will mean
@@ -207,32 +210,40 @@ export function openmrsFetch<T = any>(
207
210
  : new Promise<FetchResponse>(() => {});
208
211
  } else {
209
212
  // Attempt to download a response body, if it has one
210
- return response.text().then(
211
- (responseText) => {
212
- let responseBody = responseText;
213
- try {
214
- responseBody = JSON.parse(responseText);
215
- } catch (err) {
216
- // Server didn't respond with json, so just go with the response text string
213
+ return response
214
+ .clone()
215
+ .text()
216
+ .then(
217
+ (responseText) => {
218
+ let responseBody = responseText;
219
+ try {
220
+ responseBody = JSON.parse(responseText);
221
+ } catch (err) {
222
+ // Server didn't respond with json, so just go with the response text string
223
+ }
224
+
225
+ /* Make the fetch promise go into "rejected" status, with the best
226
+ * possible stacktrace and error message.
227
+ */
228
+ throw new OpenmrsFetchError(
229
+ url,
230
+ response,
231
+ responseBody,
232
+ requestStacktrace
233
+ );
234
+ },
235
+ (err) => {
236
+ /* We weren't able to download a response body for this error.
237
+ * Time to just give the best possible stacktrace and error message.
238
+ */
239
+ throw new OpenmrsFetchError(
240
+ url,
241
+ response,
242
+ null,
243
+ requestStacktrace
244
+ );
217
245
  }
218
-
219
- /* Make the fetch promise go into "rejected" status, with the best
220
- * possible stacktrace and error message.
221
- */
222
- throw new OpenmrsFetchError(
223
- url,
224
- response,
225
- responseBody,
226
- requestStacktrace
227
- );
228
- },
229
- (err) => {
230
- /* We weren't able to download a response body for this error.
231
- * Time to just give the best possible stacktrace and error message.
232
- */
233
- throw new OpenmrsFetchError(url, response, null, requestStacktrace);
234
- }
235
- );
246
+ );
236
247
  }
237
248
  }
238
249
  });
@@ -95,7 +95,7 @@ function getCurrentUser(
95
95
  };
96
96
  handler(sessionStore.getState());
97
97
  // The observable subscribe function should return an unsubscribe function,
98
- // which happens to be exactly what Unistore `subscribe` returns.
98
+ // which happens to be exactly what `subscribe` returns.
99
99
  return sessionStore.subscribe(handler);
100
100
  });
101
101
  }