From 00671ef281074085abc816b3a9aed35535f2da27 Mon Sep 17 00:00:00 2001 From: medic-ci Date: Mon, 19 Aug 2024 13:25:43 +0000 Subject: [PATCH] deploy: medic/cht-core@0498ec87c9375bded18aa49d455d4c34d8ebdec6 --- assets/icons.js | 31 +++---- assets/icons.svg | 2 +- assets/main.js | 9 +- assets/search.js | 2 +- assets/style.css | 98 +++++++-------------- functions/Person.v1.get.html | 10 +-- functions/Person.v1.getWithLineage.html | 10 +-- functions/Place.v1.get.html | 10 +-- functions/Place.v1.getWithLineage.html | 10 +-- functions/Qualifier.byUuid.html | 8 +- functions/Qualifier.isUuidQualifier.html | 6 +- functions/getDatasource.html | 42 ++++----- functions/getLocalDataContext.html | 8 +- functions/getRemoteDataContext.html | 6 +- hierarchy.html | 2 +- index.html | 16 ++-- interfaces/DataContext.html | 12 +-- interfaces/Person.v1.Person.html | 6 +- interfaces/Person.v1.PersonWithLineage.html | 6 +- interfaces/Place.v1.Place.html | 6 +- interfaces/Place.v1.PlaceWithLineage.html | 6 +- modules.html | 4 +- modules/Person.html | 4 +- modules/Person.v1.html | 4 +- modules/Place.html | 4 +- modules/Place.v1.html | 4 +- modules/Qualifier.html | 4 +- types/NonEmptyArray.html | 4 +- types/Nullable.html | 4 +- types/Qualifier.UuidQualifier.html | 4 +- 30 files changed, 151 insertions(+), 191 deletions(-) diff --git a/assets/icons.js b/assets/icons.js index e88e8ca..b79c9e8 100644 --- a/assets/icons.js +++ b/assets/icons.js @@ -1,18 +1,15 @@ -(function() { - addIcons(); - function addIcons() { - if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); - const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `""`; - svg.style.display = "none"; - if (location.protocol === "file:") updateUseElements(); +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } } - - function updateUseElements() { - document.querySelectorAll("use").forEach(el => { - if (el.getAttribute("href").includes("#icon-")) { - el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); - } - }); - } -})() \ No newline at end of file +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/assets/icons.svg b/assets/icons.svg index e371b8b..7dead61 100644 --- a/assets/icons.svg +++ b/assets/icons.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/main.js b/assets/main.js index 3572881..d6f1388 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,9 +1,8 @@ "use strict"; -window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; -"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/assets/search.js b/assets/search.js index 5ec9b67..cb1adf1 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index 9d619a6..778b949 100644 --- a/assets/style.css +++ b/assets/style.css @@ -10,7 +10,6 @@ --light-color-text: #222; --light-color-text-aside: #6e6e6e; --light-color-link: #1f70c2; - --light-color-focus-outline: #3584e4; --light-color-ts-keyword: #056bd6; --light-color-ts-project: #b111c9; @@ -36,7 +35,6 @@ --light-color-ts-set-signature: var(--light-color-ts-accessor); --light-color-ts-type-alias: #d51270; /* reference not included as links will be colored with the kind that it points to */ - --light-color-document: #000000; --light-external-icon: url("data:image/svg+xml;utf8,"); --light-color-scheme: light; @@ -52,7 +50,6 @@ --dark-color-text: #f5f5f5; --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; - --dark-color-focus-outline: #4c97f2; --dark-color-ts-keyword: #3399ff; --dark-color-ts-project: #e358ff; @@ -78,7 +75,6 @@ --dark-color-ts-set-signature: var(--dark-color-ts-accessor); --dark-color-ts-type-alias: #ff6492; /* reference not included as links will be colored with the kind that it points to */ - --dark-color-document: #ffffff; --dark-external-icon: url("data:image/svg+xml;utf8,"); --dark-color-scheme: dark; @@ -96,7 +92,6 @@ --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); --color-ts-keyword: var(--light-color-ts-keyword); --color-ts-module: var(--light-color-ts-module); @@ -121,7 +116,6 @@ --color-ts-get-signature: var(--light-color-ts-get-signature); --color-ts-set-signature: var(--light-color-ts-set-signature); --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); @@ -140,7 +134,6 @@ --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); --color-ts-keyword: var(--dark-color-ts-keyword); --color-ts-module: var(--dark-color-ts-module); @@ -165,7 +158,6 @@ --color-ts-get-signature: var(--dark-color-ts-get-signature); --color-ts-set-signature: var(--dark-color-ts-set-signature); --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); @@ -191,7 +183,6 @@ body { --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); --color-ts-keyword: var(--light-color-ts-keyword); --color-ts-module: var(--light-color-ts-module); @@ -216,7 +207,6 @@ body { --color-ts-get-signature: var(--light-color-ts-get-signature); --color-ts-set-signature: var(--light-color-ts-set-signature); --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); @@ -233,7 +223,6 @@ body { --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); --color-ts-keyword: var(--dark-color-ts-keyword); --color-ts-module: var(--dark-color-ts-module); @@ -258,17 +247,11 @@ body { --color-ts-get-signature: var(--dark-color-ts-get-signature); --color-ts-set-signature: var(--dark-color-ts-set-signature); --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } -*:focus-visible, -.tsd-accordion-summary:focus-visible svg { - outline: 2px solid var(--color-focus-outline); -} - .always-visible, .always-visible .tsd-signatures { display: inherit !important; @@ -283,6 +266,16 @@ h6 { line-height: 1.2; } +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + h1 { font-size: 1.875rem; margin: 0.67rem 0; @@ -313,6 +306,10 @@ h6 { margin: 2.33rem 0; } +.uppercase { + text-transform: uppercase; +} + dl, menu, ol, @@ -336,7 +333,7 @@ footer { padding-bottom: 1rem; max-height: 3.5rem; } -footer > p { +.tsd-generator { margin: 0 1em; } @@ -424,9 +421,6 @@ a.external[target="_blank"] { background-repeat: no-repeat; padding-right: 13px; } -a.tsd-anchor-link { - color: var(--color-text); -} code, pre { @@ -586,13 +580,13 @@ dl.tsd-comment-tag-group p { } .tsd-filter-input { display: flex; - width: -moz-fit-content; width: fit-content; + width: -moz-fit-content; align-items: center; + user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; - user-select: none; cursor: pointer; } .tsd-filter-input input[type="checkbox"] { @@ -615,8 +609,11 @@ dl.tsd-comment-tag-group p { Don't remove unless you know what you're doing. */ opacity: 0.99; } -.tsd-filter-input input[type="checkbox"]:focus-visible + svg { - outline: 2px solid var(--color-focus-outline); +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); } .tsd-checkbox-background { fill: var(--color-accent); @@ -633,18 +630,13 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { stroke: var(--color-accent); } -.settings-label { - font-weight: bold; - text-transform: uppercase; - display: inline-block; -} - -.tsd-filter-visibility .settings-label { - margin: 0.75rem 0 0.5rem 0; +.tsd-theme-toggle { + padding-top: 0.75rem; } - -.tsd-theme-toggle .settings-label { - margin: 0.75rem 0.75rem 0 0; +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; } .tsd-hierarchy { @@ -777,9 +769,6 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { padding: 0; max-width: 100%; } -.tsd-navigation .tsd-nav-link { - display: none; -} .tsd-nested-navigation { margin-left: 3rem; } @@ -793,15 +782,6 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { margin-left: -1.5rem; } -.tsd-page-navigation-section { - margin-left: 10px; -} -.tsd-page-navigation-section > summary { - padding: 0.25rem; -} -.tsd-page-navigation-section > div { - margin-left: 20px; -} .tsd-page-navigation ul { padding-left: 1.75rem; } @@ -832,10 +812,10 @@ a.tsd-index-link { } .tsd-accordion-summary, .tsd-accordion-summary a { + user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; - user-select: none; cursor: pointer; } @@ -848,9 +828,8 @@ a.tsd-index-link { padding-top: 0; padding-bottom: 0; } -.tsd-accordion .tsd-accordion-summary > svg { +.tsd-index-accordion .tsd-accordion-summary > svg { margin-left: 0.25rem; - vertical-align: text-top; } .tsd-index-content > :not(:first-child) { margin-top: 0.75rem; @@ -898,7 +877,7 @@ a.tsd-index-link { } .tsd-panel-group { - margin: 2rem 0; + margin: 4rem 0; } .tsd-panel-group.tsd-index-group { margin: 2rem 0; @@ -906,9 +885,6 @@ a.tsd-index-link { .tsd-panel-group.tsd-index-group details { margin: 2rem 0; } -.tsd-panel-group > .tsd-accordion-summary { - margin-bottom: 1rem; -} #tsd-search { transition: background-color 0.2s; @@ -1058,12 +1034,6 @@ a.tsd-index-link { border-width: 1px 0; transition: background-color 0.1s; } -.tsd-signatures .tsd-index-signature:not(:last-child) { - margin-bottom: 1em; -} -.tsd-signatures .tsd-index-signature .tsd-signature { - border-width: 1px; -} .tsd-description .tsd-signatures .tsd-signature { border-width: 1px; } @@ -1377,12 +1347,6 @@ img { .has-menu .tsd-navigation { max-height: 100%; } - #tsd-toolbar-links { - display: none; - } - .tsd-navigation .tsd-nav-link { - display: flex; - } } /* one sidebar */ diff --git a/functions/Person.v1.get.html b/functions/Person.v1.get.html index fb6d82c..c1b1512 100644 --- a/functions/Person.v1.get.html +++ b/functions/Person.v1.get.html @@ -1,5 +1,5 @@ -get | @medic/cht-datasource

Returns a person for the given qualifier.

-

Error if the provided context or qualifier is invalid

-
  • Parameters

    Returns ((qualifier: Readonly<{
        uuid: string;
    }>) => Promise<Nullable<Person>>)

    the person or null if no person is found for the qualifier

    -
+get | @medic/cht-datasource
  • Returns a person for the given qualifier.

    +

    Parameters

    Returns ((qualifier) => Promise<Nullable<Person>>)

    the person or null if no person is found for the qualifier

    +

    Throws

    Error if the provided context or qualifier is invalid

    +
\ No newline at end of file diff --git a/functions/Person.v1.getWithLineage.html b/functions/Person.v1.getWithLineage.html index 2aaaf58..af7223c 100644 --- a/functions/Person.v1.getWithLineage.html +++ b/functions/Person.v1.getWithLineage.html @@ -1,5 +1,5 @@ -getWithLineage | @medic/cht-datasource

Returns a person for the given qualifier with the person's parent lineage.

-

Error if the provided context or qualifier is invalid

-
+getWithLineage | @medic/cht-datasource
\ No newline at end of file diff --git a/functions/Place.v1.get.html b/functions/Place.v1.get.html index 87b8952..f771ffc 100644 --- a/functions/Place.v1.get.html +++ b/functions/Place.v1.get.html @@ -1,5 +1,5 @@ -get | @medic/cht-datasource

Returns a place for the given qualifier.

-

Error if the provided context or qualifier is invalid

-
  • Parameters

    Returns ((qualifier: Readonly<{
        uuid: string;
    }>) => Promise<Nullable<Place>>)

    the place or null if no place is found for the qualifier

    -
+get | @medic/cht-datasource
  • Returns a place for the given qualifier.

    +

    Parameters

    Returns ((qualifier) => Promise<Nullable<Place>>)

    the place or null if no place is found for the qualifier

    +

    Throws

    Error if the provided context or qualifier is invalid

    +
\ No newline at end of file diff --git a/functions/Place.v1.getWithLineage.html b/functions/Place.v1.getWithLineage.html index 8ddd75f..75e66e6 100644 --- a/functions/Place.v1.getWithLineage.html +++ b/functions/Place.v1.getWithLineage.html @@ -1,5 +1,5 @@ -getWithLineage | @medic/cht-datasource

Returns a place for the given qualifier with the place's parent lineage.

-

Error if the provided context or qualifier is invalid

-
+getWithLineage | @medic/cht-datasource
\ No newline at end of file diff --git a/functions/Qualifier.byUuid.html b/functions/Qualifier.byUuid.html index d7be32e..130ab86 100644 --- a/functions/Qualifier.byUuid.html +++ b/functions/Qualifier.byUuid.html @@ -1,5 +1,5 @@ -byUuid | @medic/cht-datasource

Builds a qualifier that identifies an entity by its UUID.

-

Error if the UUID is invalid

-
  • Parameters

    • uuid: string

      the UUID of the entity

      +byUuid | @medic/cht-datasource
      • Builds a qualifier that identifies an entity by its UUID.

        +

        Parameters

        • uuid: string

          the UUID of the entity

        Returns Readonly<{
            uuid: string;
        }>

        the qualifier

        -
      +

      Throws

      Error if the UUID is invalid

      +
\ No newline at end of file diff --git a/functions/Qualifier.isUuidQualifier.html b/functions/Qualifier.isUuidQualifier.html index bcdfb68..f96f79c 100644 --- a/functions/Qualifier.isUuidQualifier.html +++ b/functions/Qualifier.isUuidQualifier.html @@ -1,5 +1,5 @@ -isUuidQualifier | @medic/cht-datasource

Returns true if the given qualifier is a UuidQualifier, otherwise false.

-
  • Parameters

    • identifier: unknown

      the identifier to check

      +isUuidQualifier | @medic/cht-datasource
      • Returns true if the given qualifier is a UuidQualifier, otherwise false.

        +

        Parameters

        • identifier: unknown

          the identifier to check

        Returns identifier is Readonly<{
            uuid: string;
        }>

        true if the given identifier is a UuidQualifier, otherwise false

        -
      +
\ No newline at end of file diff --git a/functions/getDatasource.html b/functions/getDatasource.html index 55f4634..4904648 100644 --- a/functions/getDatasource.html +++ b/functions/getDatasource.html @@ -1,29 +1,29 @@ -getDatasource | @medic/cht-datasource

Returns the source for CHT data.

-

Error if the provided context is invalid

-
  • Parameters

    Returns {
        v1: {
            hasAnyPermission: ((permissionsGroupList: string[][], userRoles: string[], chtPermissionsSettings: object) => boolean);
            hasPermissions: ((permissions: string | string[], userRoles: string[], chtPermissionsSettings: object) => boolean);
            person: {
                getByUuid: ((uuid: string) => Promise<Nullable<Person>>);
                getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PersonWithLineage>>);
            };
            place: {
                getByUuid: ((uuid: string) => Promise<Nullable<Place>>);
                getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PlaceWithLineage>>);
            };
        };
    }

    the CHT datasource API

    -
    • v1: {
          hasAnyPermission: ((permissionsGroupList: string[][], userRoles: string[], chtPermissionsSettings: object) => boolean);
          hasPermissions: ((permissions: string | string[], userRoles: string[], chtPermissionsSettings: object) => boolean);
          person: {
              getByUuid: ((uuid: string) => Promise<Nullable<Person>>);
              getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PersonWithLineage>>);
          };
          place: {
              getByUuid: ((uuid: string) => Promise<Nullable<Place>>);
              getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PlaceWithLineage>>);
          };
      }
      • hasAnyPermission: ((permissionsGroupList: string[][], userRoles: string[], chtPermissionsSettings: object) => boolean)
          • (permissionsGroupList, userRoles, chtPermissionsSettings): boolean
          • Verify if the user's role has all the permissions of any of the provided groups.

            +getDatasource | @medic/cht-datasource
            • Returns the source for CHT data.

              +

              Parameters

              Returns {
                  v1: {
                      hasAnyPermission: ((permissionsGroupList, userRoles, chtPermissionsSettings) => boolean);
                      hasPermissions: ((permissions, userRoles, chtPermissionsSettings) => boolean);
                      person: {
                          getByUuid: ((uuid) => Promise<Nullable<Person>>);
                          getByUuidWithLineage: ((uuid) => Promise<Nullable<PersonWithLineage>>);
                      };
                      place: {
                          getByUuid: ((uuid) => Promise<Nullable<Place>>);
                          getByUuidWithLineage: ((uuid) => Promise<Nullable<PlaceWithLineage>>);
                      };
                  };
              }

              the CHT datasource API

              +
              • v1: {
                    hasAnyPermission: ((permissionsGroupList, userRoles, chtPermissionsSettings) => boolean);
                    hasPermissions: ((permissions, userRoles, chtPermissionsSettings) => boolean);
                    person: {
                        getByUuid: ((uuid) => Promise<Nullable<Person>>);
                        getByUuidWithLineage: ((uuid) => Promise<Nullable<PersonWithLineage>>);
                    };
                    place: {
                        getByUuid: ((uuid) => Promise<Nullable<Place>>);
                        getByUuidWithLineage: ((uuid) => Promise<Nullable<PlaceWithLineage>>);
                    };
                }
                • hasAnyPermission: ((permissionsGroupList, userRoles, chtPermissionsSettings) => boolean)
                    • (permissionsGroupList, userRoles, chtPermissionsSettings): boolean
                    • Verify if the user's role has all the permissions of any of the provided groups.

                      Parameters

                      • permissionsGroupList: string[][]

                        {string[][]} Array of groups of permissions due to the complexity of permission grouping

                      • userRoles: string[]

                        {string[]} Array of user roles.

                        -
                      • chtPermissionsSettings: object

                        {object} Object of configured permissions in CHT-Core's settings.

                        -

                      Returns boolean

                • hasPermissions: ((permissions: string | string[], userRoles: string[], chtPermissionsSettings: object) => boolean)
                    • (permissions, userRoles, chtPermissionsSettings): boolean
                    • Verify if the user's role has the permission(s).

                      +
                    • chtPermissionsSettings: object

                      {object} Object of configured permissions in CHT-Core's settings.

                      +

            Returns boolean

      • hasPermissions: ((permissions, userRoles, chtPermissionsSettings) => boolean)
          • (permissions, userRoles, chtPermissionsSettings): boolean
          • Verify if the user's role has the permission(s).

            Parameters

            • permissions: string | string[]

              {string | string[]} Permission(s) to verify

            • userRoles: string[]

              {string[]} Array of user roles.

              -
            • chtPermissionsSettings: object

              {object} Object of configured permissions in CHT-Core's settings.

              -

            Returns boolean

      • person: {
            getByUuid: ((uuid: string) => Promise<Nullable<Person>>);
            getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PersonWithLineage>>);
        }
        • getByUuid: ((uuid: string) => Promise<Nullable<Person>>)

          Returns a person by their UUID.

          -

          Error if no UUID is provided

          +
        • chtPermissionsSettings: object

          {object} Object of configured permissions in CHT-Core's settings.

          +

Returns boolean

  • person: {
        getByUuid: ((uuid) => Promise<Nullable<Person>>);
        getByUuidWithLineage: ((uuid) => Promise<Nullable<PersonWithLineage>>);
    }
    • getByUuid: ((uuid) => Promise<Nullable<Person>>)

      Returns a person by their UUID.

      +

      Returns

      the person or null if no person is found for the UUID

      +

      Throws

      Error if no UUID is provided

        • (uuid): Promise<Nullable<Person>>
        • Parameters

          • uuid: string

            the UUID of the person to retrieve

            -

          Returns Promise<Nullable<Person>>

          the person or null if no person is found for the UUID

          -
    • getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PersonWithLineage>>)

      Returns a person by their UUID along with the person's parent lineage.

      -

      Error if no UUID is provided

      +
  • Returns Promise<Nullable<Person>>

  • getByUuidWithLineage: ((uuid) => Promise<Nullable<PersonWithLineage>>)

    Returns a person by their UUID along with the person's parent lineage.

    +

    Returns

    the person or null if no person is found for the UUID

    +

    Throws

    Error if no UUID is provided

  • place: {
        getByUuid: ((uuid: string) => Promise<Nullable<Place>>);
        getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PlaceWithLineage>>);
    }
    • getByUuid: ((uuid: string) => Promise<Nullable<Place>>)

      Returns a place by its UUID.

      -

      Error if no UUID is provided

      +

    Returns Promise<Nullable<PersonWithLineage>>

  • place: {
        getByUuid: ((uuid) => Promise<Nullable<Place>>);
        getByUuidWithLineage: ((uuid) => Promise<Nullable<PlaceWithLineage>>);
    }
    • getByUuid: ((uuid) => Promise<Nullable<Place>>)

      Returns a place by its UUID.

      +

      Returns

      the place or null if no place is found for the UUID

      +

      Throws

      Error if no UUID is provided

        • (uuid): Promise<Nullable<Place>>
        • Parameters

          • uuid: string

            the UUID of the place to retrieve

            -

          Returns Promise<Nullable<Place>>

          the place or null if no place is found for the UUID

          -
    • getByUuidWithLineage: ((uuid: string) => Promise<Nullable<PlaceWithLineage>>)

      Returns a place by its UUID along with the place's parent lineage.

      -

      Error if no UUID is provided

      +

    Returns Promise<Nullable<Place>>

  • getByUuidWithLineage: ((uuid) => Promise<Nullable<PlaceWithLineage>>)

    Returns a place by its UUID along with the place's parent lineage.

    +

    Returns

    the place or null if no place is found for the UUID

    +

    Throws

    Error if no UUID is provided

  • +

    Returns Promise<Nullable<PlaceWithLineage>>

    Throws

    Error if the provided context is invalid

    +
    \ No newline at end of file diff --git a/functions/getLocalDataContext.html b/functions/getLocalDataContext.html index ef6f2e0..421aa48 100644 --- a/functions/getLocalDataContext.html +++ b/functions/getLocalDataContext.html @@ -1,7 +1,7 @@ -getLocalDataContext | @medic/cht-datasource

    Function getLocalDataContext

    Returns the data context for accessing data via the provided local sources This functionality is intended for use +getLocalDataContext | @medic/cht-datasource

    Function getLocalDataContext

    • Returns the data context for accessing data via the provided local sources This functionality is intended for use cases requiring offline functionality. For all other use cases, use getRemoteDataContext.

      -

      Error if the provided settings or source databases are invalid

      -
    • Parameters

      • settings: Readonly<{
            getAll: (() => Doc);
        }>

        service providing access to the app settings

        +

        Parameters

        • settings: Readonly<{
              getAll: (() => Doc);
          }>

          service providing access to the app settings

        • sourceDatabases: Readonly<{
              medic: Database<Doc>;
          }>

          the PouchDB databases to use as the local datasource

        Returns DataContext

        the local data context

        -
    +

    Throws

    Error if the provided settings or source databases are invalid

    +
    \ No newline at end of file diff --git a/functions/getRemoteDataContext.html b/functions/getRemoteDataContext.html index a70b445..bfa40ff 100644 --- a/functions/getRemoteDataContext.html +++ b/functions/getRemoteDataContext.html @@ -1,6 +1,6 @@ -getRemoteDataContext | @medic/cht-datasource

    Function getRemoteDataContext

    Returns the data context based on a remote CHT API server. This function should not be used when offline +getRemoteDataContext | @medic/cht-datasource

    Function getRemoteDataContext

    • Returns the data context based on a remote CHT API server. This function should not be used when offline functionality is required.

      -
    • Parameters

      • url: string = ''

        the URL of the remote CHT API server. If not provided, requests will be made relative to the current +

        Parameters

        • url: string = ''

          the URL of the remote CHT API server. If not provided, requests will be made relative to the current location.

        Returns DataContext

        the data context

        -
    +
    \ No newline at end of file diff --git a/hierarchy.html b/hierarchy.html index b304dcc..10a832f 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -1 +1 @@ -@medic/cht-datasource

    @medic/cht-datasource

    Class Hierarchy

    +@medic/cht-datasource

    @medic/cht-datasource

    Class Hierarchy

    \ No newline at end of file diff --git a/index.html b/index.html index 453ea1c..b99ad7b 100644 --- a/index.html +++ b/index.html @@ -1,15 +1,15 @@ -@medic/cht-datasource

    @medic/cht-datasource

    CHT Datasource

    The CHT Datasource library is intended to be agnostic and simple. It provides a versioned API from feature modules.

    -

    See the TSDoc in the code for more information about using the API.

    -

    Functionality in cht-datasource is provided via two implementations. The local adapter leverages the provided PouchDB instances for data interaction. This is intended for usage in cases where offline functionality is required (like webapp for offline users) or direct access to the Couch database is guaranteed (like api and sentinel). The remote adapter functions by proxying requests directly to the api server via HTTP. This is intended for usage in cases where connectivity to the api server is guaranteed (like in admin or webapp for online users).

    -

    The transpiled JavaScript code is generated in the dist directory. The library is automatically built when running npm ci (either within the cht-datasource directory or from the root level). To manually build the library, run npm run build. To automatically re-build the library when any of the source files change, run npm run build-watch.

    +@medic/cht-datasource

    @medic/cht-datasource

    CHT Datasource

    The CHT Datasource library is intended to be agnostic and simple. It provides a versioned API from feature modules.

    +

    See the TSDoc in the code for more information about using the API.

    +

    Development

    Functionality in cht-datasource is provided via two implementations. The local adapter leverages the provided PouchDB instances for data interaction. This is intended for usage in cases where offline functionality is required (like webapp for offline users) or direct access to the Couch database is guaranteed (like api and sentinel). The remote adapter functions by proxying requests directly to the api server via HTTP. This is intended for usage in cases where connectivity to the api server is guaranteed (like in admin or webapp for online users).

    +

    Building cht-datasource

    The transpiled JavaScript code is generated in the dist directory. The library is automatically built when running npm ci (either within the cht-datasource directory or from the root level). To manually build the library, run npm run build. To automatically re-build the library when any of the source files change, run npm run build-watch.

    The root level build-dev-watch, dev-api, and dev-sentinel scripts will automatically watch for changes in the cht-datasource code and rebuild the library.

    -

    When adding a new API to cht-datasource (whether it is a new concept or just a new interaction with an existing concept), the implementation must be completed at four levels:

    +

    Adding a new API

    When adding a new API to cht-datasource (whether it is a new concept or just a new interaction with an existing concept), the implementation must be completed at four levels:

    1. Implement the interaction in the local and remote adapters.
    2. Expose a unified interface for the interaction from the relevant top-level concept module.
    3. -
    4. Expose the new concept interaction by adding it to the datasource returned from the index.ts.
    5. +
    6. Expose the new concept interaction by adding it to the datasource returned from the index.ts.
    7. Implement the necessary endpoint(s) in api to support the new interaction (these are the endpoints called by the remote adapter code).
    -

    Only passive changes should be made to the versioned public API's exposed by cht-datasource. Besides their usage in cht-core, these API's are available to custom configuration code for things like purging, tasks, targets, etc. If a non-passive change is needed, it should be made on a new version of the API.

    +

    Updating functionality

    Only passive changes should be made to the versioned public API's exposed by cht-datasource. Besides their usage in cht-core, these API's are available to custom configuration code for things like purging, tasks, targets, etc. If a non-passive change is needed, it should be made on a new version of the API.

    The previous version of the functionality should be marked as @deprecated and, where possible, all usages in the cht-core code should be updated to use the new API.

    -
    +
    \ No newline at end of file diff --git a/interfaces/DataContext.html b/interfaces/DataContext.html index ce227ca..9805822 100644 --- a/interfaces/DataContext.html +++ b/interfaces/DataContext.html @@ -1,8 +1,8 @@ -DataContext | @medic/cht-datasource

    Context for interacting with the data. This may represent a local data context where data can be accessed even while +DataContext | @medic/cht-datasource

    Context for interacting with the data. This may represent a local data context where data can be accessed even while offline. Or it may represent a remote data context where all data operations are performed against a remote CHT instance.

    -
    interface DataContext {
        bind: (<T>(fn: ((ctx: DataContext) => T)) => T);
    }

    Properties

    Properties

    bind: (<T>(fn: ((ctx: DataContext) => T)) => T)

    Executes the provided function with this data context as the argument.

    -

    Type declaration

      • <T>(fn): T
      • Type Parameters

        • T

        Parameters

        Returns T

        the result of the function

        -
    +
    interface DataContext {
        bind: (<T>(fn) => T);
    }

    Properties

    Properties

    bind: (<T>(fn) => T)

    Executes the provided function with this data context as the argument.

    +

    Type declaration

      • <T>(fn): T
      • Type Parameters

        • T

        Parameters

        • fn: ((ctx) => T)

          the function to execute

          +

        Returns T

    Returns

    the result of the function

    +
    \ No newline at end of file diff --git a/interfaces/Person.v1.Person.html b/interfaces/Person.v1.Person.html index 035c683..5bd2ce3 100644 --- a/interfaces/Person.v1.Person.html +++ b/interfaces/Person.v1.Person.html @@ -1,5 +1,5 @@ -Person | @medic/cht-datasource

    Immutable data about a person contact.

    -
    interface Person {
        _id: string;
        _rev: string;
        contact_type?: string;
        date_of_birth?: Date;
        name?: string;
        parent?: NormalizedParent;
        patient_id?: string;
        phone?: string;
        reported_date?: Date;
        sex?: string;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id +Person | @medic/cht-datasource

    Immutable data about a person contact.

    +
    interface Person {
        _id: string;
        _rev: string;
        contact_type?: string;
        date_of_birth?: Date;
        name?: string;
        parent?: NormalizedParent;
        patient_id?: string;
        phone?: string;
        reported_date?: Date;
        sex?: string;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id: string
    _rev: string
    contact_type?: string
    date_of_birth?: Date
    name?: string
    parent?: NormalizedParent
    patient_id?: string
    phone?: string
    reported_date?: Date
    sex?: string
    type: string
    +

    Properties

    _id: string
    _rev: string
    contact_type?: string
    date_of_birth?: Date
    name?: string
    parent?: NormalizedParent
    patient_id?: string
    phone?: string
    reported_date?: Date
    sex?: string
    type: string
    \ No newline at end of file diff --git a/interfaces/Person.v1.PersonWithLineage.html b/interfaces/Person.v1.PersonWithLineage.html index 86217c4..e1e0109 100644 --- a/interfaces/Person.v1.PersonWithLineage.html +++ b/interfaces/Person.v1.PersonWithLineage.html @@ -1,5 +1,5 @@ -PersonWithLineage | @medic/cht-datasource

    Immutable data about a person contact, including the full records of the parent place lineage.

    -
    interface PersonWithLineage {
        _id: string;
        _rev: string;
        contact_type?: string;
        date_of_birth?: Date;
        name?: string;
        parent?: NormalizedParent | PlaceWithLineage;
        patient_id?: string;
        phone?: string;
        reported_date?: Date;
        sex?: string;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id +PersonWithLineage | @medic/cht-datasource

    Immutable data about a person contact, including the full records of the parent place lineage.

    +
    interface PersonWithLineage {
        _id: string;
        _rev: string;
        contact_type?: string;
        date_of_birth?: Date;
        name?: string;
        parent?: NormalizedParent | PlaceWithLineage;
        patient_id?: string;
        phone?: string;
        reported_date?: Date;
        sex?: string;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id: string
    _rev: string
    contact_type?: string
    date_of_birth?: Date
    name?: string
    parent?: NormalizedParent | PlaceWithLineage
    patient_id?: string
    phone?: string
    reported_date?: Date
    sex?: string
    type: string
    +

    Properties

    _id: string
    _rev: string
    contact_type?: string
    date_of_birth?: Date
    name?: string
    parent?: NormalizedParent | PlaceWithLineage
    patient_id?: string
    phone?: string
    reported_date?: Date
    sex?: string
    type: string
    \ No newline at end of file diff --git a/interfaces/Place.v1.Place.html b/interfaces/Place.v1.Place.html index d1b2b75..be8f68f 100644 --- a/interfaces/Place.v1.Place.html +++ b/interfaces/Place.v1.Place.html @@ -1,5 +1,5 @@ -Place | @medic/cht-datasource

    Immutable data about a place contact.

    -
    interface Place {
        _id: string;
        _rev: string;
        contact?: NormalizedParent;
        contact_type?: string;
        name?: string;
        parent?: NormalizedParent;
        place_id?: string;
        reported_date?: Date;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id +Place | @medic/cht-datasource

    Immutable data about a place contact.

    +
    interface Place {
        _id: string;
        _rev: string;
        contact?: NormalizedParent;
        contact_type?: string;
        name?: string;
        parent?: NormalizedParent;
        place_id?: string;
        reported_date?: Date;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id: string
    _rev: string
    contact?: NormalizedParent
    contact_type?: string
    name?: string
    parent?: NormalizedParent
    place_id?: string
    reported_date?: Date
    type: string
    +

    Properties

    _id: string
    _rev: string
    contact?: NormalizedParent
    contact_type?: string
    name?: string
    parent?: NormalizedParent
    place_id?: string
    reported_date?: Date
    type: string
    \ No newline at end of file diff --git a/interfaces/Place.v1.PlaceWithLineage.html b/interfaces/Place.v1.PlaceWithLineage.html index 71ddeac..21a62f5 100644 --- a/interfaces/Place.v1.PlaceWithLineage.html +++ b/interfaces/Place.v1.PlaceWithLineage.html @@ -1,6 +1,6 @@ -PlaceWithLineage | @medic/cht-datasource

    Immutable data about a place contact, including the full records of the parent place lineage and the primary +PlaceWithLineage | @medic/cht-datasource

    Immutable data about a place contact, including the full records of the parent place lineage and the primary contact for the place.

    -
    interface PlaceWithLineage {
        _id: string;
        _rev: string;
        contact?: NormalizedParent | PersonWithLineage;
        contact_type?: string;
        name?: string;
        parent?: NormalizedParent | PlaceWithLineage;
        place_id?: string;
        reported_date?: Date;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id +
    interface PlaceWithLineage {
        _id: string;
        _rev: string;
        contact?: NormalizedParent | PersonWithLineage;
        contact_type?: string;
        name?: string;
        parent?: NormalizedParent | PlaceWithLineage;
        place_id?: string;
        reported_date?: Date;
        type: string;
    }

    Hierarchy (view full)

    Properties

    _id: string
    _rev: string
    contact?: NormalizedParent | PersonWithLineage
    contact_type?: string
    name?: string
    parent?: NormalizedParent | PlaceWithLineage
    place_id?: string
    reported_date?: Date
    type: string
    +

    Properties

    _id: string
    _rev: string
    contact?: NormalizedParent | PersonWithLineage
    contact_type?: string
    name?: string
    parent?: NormalizedParent | PlaceWithLineage
    place_id?: string
    reported_date?: Date
    type: string
    \ No newline at end of file diff --git a/modules.html b/modules.html index 61eefa2..c5e1186 100644 --- a/modules.html +++ b/modules.html @@ -1,4 +1,4 @@ -@medic/cht-datasource

    @medic/cht-datasource

    Index

    Namespaces

    Person +@medic/cht-datasource

    @medic/cht-datasource

    Index

    Namespaces

    Interfaces

    DataContext @@ -7,4 +7,4 @@

    Functions

    +
    \ No newline at end of file diff --git a/modules/Person.html b/modules/Person.html index a9fbdb8..bf2ac09 100644 --- a/modules/Person.html +++ b/modules/Person.html @@ -1,2 +1,2 @@ -Person | @medic/cht-datasource

    Index

    Namespaces

    v1 -
    +Person | @medic/cht-datasource

    Index

    Namespaces

    v1 +
    \ No newline at end of file diff --git a/modules/Person.v1.html b/modules/Person.v1.html index bf08e98..4451fa1 100644 --- a/modules/Person.v1.html +++ b/modules/Person.v1.html @@ -1,5 +1,5 @@ -v1 | @medic/cht-datasource

    Index

    Interfaces

    Person +v1 | @medic/cht-datasource
    +
    \ No newline at end of file diff --git a/modules/Place.html b/modules/Place.html index 9399aa3..a3f87f9 100644 --- a/modules/Place.html +++ b/modules/Place.html @@ -1,2 +1,2 @@ -Place | @medic/cht-datasource

    Index

    Namespaces

    v1 -
    +Place | @medic/cht-datasource

    Index

    Namespaces

    v1 +
    \ No newline at end of file diff --git a/modules/Place.v1.html b/modules/Place.v1.html index 683bfb8..db177dc 100644 --- a/modules/Place.v1.html +++ b/modules/Place.v1.html @@ -1,5 +1,5 @@ -v1 | @medic/cht-datasource

    Index

    Interfaces

    Place +v1 | @medic/cht-datasource

    Index

    Interfaces

    Functions

    +
    \ No newline at end of file diff --git a/modules/Qualifier.html b/modules/Qualifier.html index 80c8693..69a1353 100644 --- a/modules/Qualifier.html +++ b/modules/Qualifier.html @@ -1,4 +1,4 @@ -Qualifier | @medic/cht-datasource

    Index

    Type Aliases

    UuidQualifier +Qualifier | @medic/cht-datasource

    Index

    Type Aliases

    Functions

    +
    \ No newline at end of file diff --git a/types/NonEmptyArray.html b/types/NonEmptyArray.html index 2019c89..ff1a1f5 100644 --- a/types/NonEmptyArray.html +++ b/types/NonEmptyArray.html @@ -1,2 +1,2 @@ -NonEmptyArray | @medic/cht-datasource

    Type Alias NonEmptyArray<T>

    NonEmptyArray<T>: [T, ...T[]]

    An array that is guaranteed to have at least one element.

    -

    Type Parameters

    • T
    +NonEmptyArray | @medic/cht-datasource

    Type alias NonEmptyArray<T>

    NonEmptyArray<T>: [T, ...T[]]

    An array that is guaranteed to have at least one element.

    +

    Type Parameters

    • T
    \ No newline at end of file diff --git a/types/Nullable.html b/types/Nullable.html index 6776fa7..dadce10 100644 --- a/types/Nullable.html +++ b/types/Nullable.html @@ -1,2 +1,2 @@ -Nullable | @medic/cht-datasource

    Type Alias Nullable<T>

    Nullable<T>: T | null

    A value that could be null.

    -

    Type Parameters

    • T
    +Nullable | @medic/cht-datasource

    Type alias Nullable<T>

    Nullable<T>: T | null

    A value that could be null.

    +

    Type Parameters

    • T
    \ No newline at end of file diff --git a/types/Qualifier.UuidQualifier.html b/types/Qualifier.UuidQualifier.html index 397be67..68ae398 100644 --- a/types/Qualifier.UuidQualifier.html +++ b/types/Qualifier.UuidQualifier.html @@ -1,2 +1,2 @@ -UuidQualifier | @medic/cht-datasource
    UuidQualifier: Readonly<{
        uuid: string;
    }>

    A qualifier that identifies an entity by its UUID.

    -
    +UuidQualifier | @medic/cht-datasource
    UuidQualifier: Readonly<{
        uuid: string;
    }>

    A qualifier that identifies an entity by its UUID.

    +

    Type declaration

    • uuid: string
    \ No newline at end of file