diff --git a/docs/7.26.1/.nojekyll b/docs/7.26.1/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/docs/7.26.1/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/7.26.1/assets/highlight.css b/docs/7.26.1/assets/highlight.css new file mode 100644 index 0000000..4c69f15 --- /dev/null +++ b/docs/7.26.1/assets/highlight.css @@ -0,0 +1,50 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +pre, code { background: var(--code-background); } diff --git a/docs/7.26.1/assets/icons.js b/docs/7.26.1/assets/icons.js new file mode 100644 index 0000000..b79c9e8 --- /dev/null +++ b/docs/7.26.1/assets/icons.js @@ -0,0 +1,15 @@ +(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(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/docs/7.26.1/assets/icons.svg b/docs/7.26.1/assets/icons.svg new file mode 100644 index 0000000..7dead61 --- /dev/null +++ b/docs/7.26.1/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/7.26.1/assets/main.js b/docs/7.26.1/assets/main.js new file mode 100644 index 0000000..1daeb69 --- /dev/null +++ b/docs/7.26.1/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"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.scrollToHash(),this.updateIndexVisibility())}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&&(document.body.style.removeProperty("display"),this.scrollToHash(),this.updateIndexVisibility())}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&&!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(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(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 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=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 Ve(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: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/7.26.1/assets/navigation.js b/docs/7.26.1/assets/navigation.js new file mode 100644 index 0000000..60b0037 --- /dev/null +++ b/docs/7.26.1/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62W0W6bMABF/4Xndt0qdev6xoiTolFgxkyKpgm54BCrxI5sI62a9u9z0pIQwE1j8nyvz3Fs7PjXX0eRP8q5c775QeCHs2wKXJRC4Fw4a6yWOiCsXsmrTvxhqVaV7jxRVjh3txdOXmEpdVvJ4pLKS80kguHK+XexM/ghglEGAn/ma5qP5lmCNCzpqkw9G2cQzbIA/ARBV7ILbKjRdApgFrvzBxCi7CGa9Jar37DxxK733Z2BDM3jnqGdWbEB9KNJloY+6qH3kRUZRpPUQ5nnIjCL4LyH7+RjHIMr08os2dBFfhQO7uxhasVPoXfvJiDJANSwzBuyDHTGuIYXqh3a0CHwUghB6IHBperEdoZpGk4yCH6kIEGGC2OwZGMryALXldrzt2OIvHoNDpmfrm9bY71aKr4iwmcLvgdQpi0LnGtGu3AIur75/K7pASG4mb9L7eAzzsuKxIIXda68JWYlMaoMXTuxz5TgoKIlfaQVVc+Dxm7JThXw0meQyIM9bllauZ0gJoLyYpD9ElliBZFEo4posdAYVnqcbaNBkaF8JjXCoiTq1Dl0R9lOhubEINSJPVRPLF5iaWY3BUtFLfLNaKl//YKWtcCKcjYsG6yO1AKmqKrISm+J8UybyudVy5Pccqx8cyUeMW4qIzXby+mNb7PfGylsTtXbuqZ1JtmRrdvVRupinD/h8shKvpbGqgRf8c3xwtV29kecnfZIeaK4aP5C3xa3m2eUTqjMec1OkDcjzjEJJDCTOD9+D3bbdvKkfpS5oOsNIVobrf2anS5dlwIX5gdUK7cTtB+T6brAigRUKsLaH7F6XneenYfNjvnj1y+fbq7f+466x6yo+rZ9Yk9/wE+k2f7uY+3F0m/Y25Ilr6uioW0P+evnblrR4yNOnc3v/zsp1RqHEQAA" \ No newline at end of file diff --git a/docs/7.26.1/assets/search.js b/docs/7.26.1/assets/search.js new file mode 100644 index 0000000..70428b4 --- /dev/null +++ b/docs/7.26.1/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WbW3ObyBKA/4v21ZU1w83xmyLLXtX6diQ5VamUi8IwkjhGwOGSRMeV/36mQUg9aIbB4z0vuyWnL0N/3TMNNG+jPP1ZjC6/v41eoyQcXRrk4myU+Fs6uhyFdOVXcTk6G1V5zH4HsV8UtPhz//dPm3Ibs3/c/5kJjH6fHeycE+tg6PFpPvlrvJh6y2+P015zf3RFkfGzUebnNCnRymT+5g9XT5OlNxkvpzcP828Kl6fSWl6/zG5vZ/c33vV0vHyaK67zVFjL53x6/XR/5c2n/3qaLpbeYsmsLfo9y1R0Iz0fL2cP997dw5UKbVdWz+N48vf4ZlAq8ZJa3mb3y/mDN72d3cwYsdny26AQ92jpXfO+KBbedM6C6E3UsRZraHm/fbjxbqdfp7f9LrGYZqy98eOjdzddLIYBFito+Z7eL2fL2+kd+7/3dTqfXc8mQ9Napaq1Hs7QfLp4ul32r0KsMNQ3ObeO236QJqtoXeW03yMW0/JT0HIcx+nPxcbPo2S9KNOcjoMgrZL+I+ePfkXdtVxHSVRslrmfFH5QRmlSKFchVNH1v4i2VeyXtBgXr8v0S7WbJQs/CV/SX8p19KpqrccPw0lVlOmW5rNklT5lITN/GxUlTWjevx6VqtZ6crpNf1DdJQ3Q1o3SYpNWcfhY5cHGL+hjnm5T9p+wCsrB0Rpk4gNR++gS32FFa5VrWj6sVhRKWVFyHUldb5MqB9nW1HWaP8Z+QLdUtfEodfVqf5cE47LMo5cKSjgJD9c4W91TGtJQsQEM0deN1Z6xGgwS1PKVHTML7PT7OxX+kM/6BHmX447Gh7xfRUV9dtHwXUsQqX0s8n7w6q8Vp/6p8MciX70UQR5lcHg+1P8dGH+R3j9F4T1xEKlp7tVFnVN7u4qCE0jrVvg4y54KdipeKUscS2p5i9P1TAG4FdG1/1Apyucgo9unXdGXan2brotp4r/Eys1ZqKDrm1m5pT9orPSJBD/g6y/WRMaq9qArqn8qH9uzAccwJ6x97g4st66otr+HF1ZAP2h+l4Z0vPX/myatWfUCenW178AqFke/jAJW3DFdUJ9ZHIdF20+wjXWSxjEN1Fvz+41prZnWRTQOFywWUUCx8WX6Sgcv9112tFYasV4sTXbbtFJkFy+od8++ocHrMo/8+IHVRNk0BGm+e8zZtU3jaB29RHFU7hS39MOtfKCf3KYQVeYD2tQhfWVXQY9G8sOPI7jrw3vHxGfXrKDTq6jXc7DjmwlOWCHPWX++rRuYxYZSVevXp6e9AxxuHdT1jUV1/U23fqQ+wFopXS+PmzSh99X2ZcDxxctq9wVRkcX+7h7+oGwJOFnta6yKTb1Xqa8QSWp7y9Nfu6e54ikwL6j5/LHeea8o7MuzkOlEq4jmivTs0dKujPDfrOJVjTEvqO0ry4pVvFP34Sey2s87vxxOnQE+u9K6Xu+YLGsQYjrAJy+r63ESs0Y4X/rZAI+8rPY1Rr8yP6Exq/IySoIhGSRU0X+SndMX1hayPJklReknwZBoy7R0V/GQ0CJas2N7gG9eVruGorzYRNlk4ycslEMK6VRBmzkNI3+RsoZcvfvzstp57W8znwVNndRHQf2d8CZPq2zARtjK6Xsa4OQD9v+mu59prnZylNPmk1N2K/RDnQ5IUO+89JM7/5U++jt4Cq06Jk+EtXy+0HWUzOmqSsI5/U9Fi/I6zccBXMaUnbxlPOBp+mAb/9wKP7a2/9eqBj32VWjqZekm/TlL2IZ/R4vCXyvvAATimnfGk/blsaISO5JDvdkGwa+zizKvb2RVHSQWVLh6PmN3lCH9Nbp8G7GWoYDnBJcj8sn89JnJs84zDmGsqlkEs5Zu67R53v/bVwpuQKIR+fN8dPb9/Mz8/Ikt/fn57HurUf9D/YdazGC/DJGYwYkR9ouIxAgnZrJfpkjM5MQs9ssSiVmcmM1+2SIxmxNz2C9HJOZwYi775YrEXE7sgv26EIldcGIMyvfPIrHPfHgh2oaQg9EBUZMQo+BZGBBzQ0jD4HEYEHZDCMTgiRgQeUPIxOChGBB8Q4jF4LkYEH9DSMbg0RiAwBDCMXg6BlAwhHwMHpABIAwhIoNnRAAEETIiPCMCIIiQEenUS10w4orhGREAQYSMCM+IAAgiZER4RgRAECEjwjMiAIIIGRGeEQEQRMiI8IwIgCBCRoRnRAAEETIiPCMTQJhCRibPyAQQppCRyTMyAYQpZGR2trV6XxNvbDwjE0CYQkYmz8gEEKaQkckzMgGEKWRk8oxMAGEKGZk8IxNAmEJGJs/IBBCmkJHJM7IAhCVkZPGMLABhCRlZPCMLQFhCRhbPyAIQlpCR1Tl96uNHfP7wjCwAYQkZWTwjC0BYQkYWz8gCEJaQkcUzsgCEJWRk8YwsAGEJGVk8IxtA2EJGNs/IBhC2kJHNM7IBhC1kZPOMbABhCxnZPCMbQNhCRnanSai7BHGbwDOyAYQtZGTzjGwAYQsZ2TwjG0DYQkY2z8gGELaQkc0zcgCEI2Tk8IwcAOEIGTk8IwdAOEJGDs/IARCOkJHDM3IAhCNk5PCMHADhCBk5nV6ububE3RzPyAEQjpCRwzNyAIQjZOTwjBwA4QgZOTwjF0C4QkYuz8gFEK6QkcszcgGEK2Tk8oxcAOEKGbk8IxdAuEJGLs/IBRCukJHLM3IBhCtk5DaM6nsZdhNT0nDW3NOwuxI/DIP9+64oWaVVPTAZH0b93kbe/v6HNYL7W623EWv/Lt9+/z7e78Av8MisFfUAYTs3k8Frvay5fRVa/YysfpZYre+J8/qeOG/uiVdp7tdPECi+Vz+aZWQPZhnPd5iVGSTIIHmPway9d0fGTGTMlBmL4jhK1t6K+mU9fX3UR+oy7cBPtv4rzQ7Pf5D3c+T9XKYPr4hLeEWcsrw4viLO4BUxxa+Ij4Yt62iYHdkSw837m7B+fxPh9zdHQzYyZMsNHebSUTqh0BjS2OAHACguDoqLI9FtHwwgPRROWTSbIQQ/LPZDCP5xCKGE13UBGkJA8UQ5Z8lyDuWrx2qbBTPwwZC3TUM+NKgkDFlJrGnpZ1nF1hmFXMahpZiypTDloBmbTfeTqZD+x7HZozmCzJFec8ediVvOBVrOhVw/PU4RI+coEKQnENlh0hXposwkssxsdNtphrSZZkBYbYTVltiIEo+B8LbNEziv3GU8TJR0hizr6rr1ULF6Rcn2En4zQDkvNdMORmAcQTMYgS4LlY8lK5+o8I8jMEgXla0lK1uYwDw+I0SXgOLpyuIZp2svbibljpro7JEdPUwv4orSxJuvbKlMK624jDdR4piyxMma0dIT2iiyssDuR0YCVvT5YWSkaEZGUJwRbkvGe5/3HttH6Jpt+Vz+o/SXq+fiHQhxkmFq24bThEf5rtAND6O6WTuqizigwjFlhSOwdHqIExRLIo1l2wadroSgPYzI9jDURp34R+EkqngWHs0ZFy/oIEFrUC2hHkQWrQNlJ5GmZ2sEzXOnWffAI6ggiawim/7K2zdYgi0NdyFSG/Cpy8C+F8XIkAWpMfi+1pegVCSyVNwPgGfHoVSUy6goTFlVFOxE57ZLB+WtI8vbWmvdvONFqngjkqGuVWFOhu8gbFz9snQF3eZdfdC8q+dtOGjvdWR7L9iArwaL5qvBOnx++9UgworSxJDlSVG3Q80QTudyUCjsvlCgUTqUoiinLFlOgXY7aOvDoG1RD9qyLhK1j5LOEWWG1ZMZwWFkAAUZgXJ6QAX1DA2LTycwqIZtWQ2D+uFtOHKNdJ0e3RAm7dkZW9B20h4VBVq+2bP8sBnNq0Xx8lHk7J7I0WZuEYUcrd3qWfvq5dABdQKH6tLuqctV/TFqyX2MitIaXb7Rc/mr/RQQS6xoPwXUqTUUCKcnEK/tAAVSRdnt9GQ3I7hpPydAAFEczJ44MO2Ths5EVWn2VOUWJnOK/WQOWjjaE5yePWG7n+IK91Ncncihfd2R7etgpR176+QBip7dE720naXqeEctmiPr0Zh6BsOwyX4YFnlHi7d7Fp/B8Ce8ZMe6aHu2e7Zndn+5KZspVaSM1m33rLtov4H2i9cyfal2LH3bb6BRGaBEMKSJsEl/RgmrgO1hzgHdVaBccKW5sEuC4w7PlnG44YxWyf6TTHTgo/gQaXyYyXT/BQg00H79BUh2+AIE7TgIlSVFxcyJmwe0X5my/Yp7oMBakc6TDwMxM4TMns9GWZSxczxhQt+ff//+HxKznemJRgAA"; \ No newline at end of file diff --git a/docs/7.26.1/assets/style.css b/docs/7.26.1/assets/style.css new file mode 100644 index 0000000..98a4377 --- /dev/null +++ b/docs/7.26.1/assets/style.css @@ -0,0 +1,1414 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --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-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --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-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --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); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --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); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --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); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --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); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +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; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + 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; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.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); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/7.26.1/classes/default.html b/docs/7.26.1/classes/default.html new file mode 100644 index 0000000..b76e434 --- /dev/null +++ b/docs/7.26.1/classes/default.html @@ -0,0 +1,419 @@ +default | react-native-purchases - v7.26.1

Constructors

Properties

Methods

Constructors

Properties

BILLING_FEATURE: typeof BILLING_FEATURE = BILLING_FEATURE

Enum for billing features. +Currently, these are only relevant for Google Play Android users: +https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType

+
ENTITLEMENT_VERIFICATION_MODE: typeof ENTITLEMENT_VERIFICATION_MODE = ENTITLEMENT_VERIFICATION_MODE

Enum of entitlement verification modes.

+
INTRO_ELIGIBILITY_STATUS: typeof INTRO_ELIGIBILITY_STATUS = INTRO_ELIGIBILITY_STATUS

Enum of different possible states for intro price eligibility status.

+
IN_APP_MESSAGE_TYPE: typeof IN_APP_MESSAGE_TYPE = IN_APP_MESSAGE_TYPE

List of valid in app message types.

+
LOG_LEVEL: typeof LOG_LEVEL = LOG_LEVEL

List of valid log levels.

+
PACKAGE_TYPE: typeof PACKAGE_TYPE = PACKAGE_TYPE

Enumeration of all possible Package types.

+
PRODUCT_CATEGORY: typeof PRODUCT_CATEGORY = PRODUCT_CATEGORY

Supported product categories.

+
PRORATION_MODE: typeof PRORATION_MODE = PRORATION_MODE

Replace SKU's ProrationMode.

+
PURCHASES_ERROR_CODE: typeof PURCHASES_ERROR_CODE = PURCHASES_ERROR_CODE

Enum of all error codes the SDK produces.

+
PURCHASE_TYPE: typeof PURCHASE_TYPE = PURCHASE_TYPE

Supported SKU types.

+

@deprecated, use PRODUCT_CATEGORY

+
REFUND_REQUEST_STATUS: typeof REFUND_REQUEST_STATUS = REFUND_REQUEST_STATUS

Enum with possible return states for beginning refund request.

+
VERIFICATION_RESULT: typeof VERIFICATION_RESULT = VERIFICATION_RESULT

The result of the verification process.

+

Methods

  • Sets a function to be called on updated customer info

    +

    Parameters

    Returns void

  • Sets a function to be called on purchases initiated on the Apple App Store. This is only used in iOS.

    +

    Parameters

    • shouldPurchasePromoProductListener: ShouldPurchasePromoProductListener

      Called when a user initiates a +promotional in-app purchase from the App Store. If your app is able to handle a purchase at the current time, run +the deferredPurchase function. If the app is not in a state to make a purchase: cache the deferredPurchase, then +call the deferredPurchase when the app is ready to make the promotional purchase. +If the purchase should never be made, you don't need to ever call the deferredPurchase and the app will not +proceed with promotional purchases.

      +

    Returns void

  • iOS 15+ only. Presents a refund request sheet in the current window scene for +the latest transaction associated with the active entitlement.

    +

    If the request was unsuccessful, no active entitlements could be found for +the user, or multiple active entitlements were found for the user, +the promise will return an error. +If called in an unsupported platform (Android or iOS < 15), an UnsupportedPlatformException will be thrown.

    +

    Important: This method should only be used if your user can only have a single active entitlement at a given time. +If a user could have more than one entitlement at a time, use beginRefundRequestForEntitlement instead.

    +

    Returns Promise<REFUND_REQUEST_STATUS>

    Returns REFUND_REQUEST_STATUS: The status of the + refund request. Keep in mind the status could be REFUND_REQUEST_STATUS.USER_CANCELLED

    +
  • iOS 15+ only. Presents a refund request sheet in the current window scene for +the latest transaction associated with the entitlement.

    +

    If the request was unsuccessful, the promise will return an error. +If called in an unsupported platform (Android or iOS < 15), an UnsupportedPlatformException will be thrown.

    +

    Parameters

    Returns Promise<REFUND_REQUEST_STATUS>

    Returns REFUND_REQUEST_STATUS: The status of the + refund request. Keep in mind the status could be REFUND_REQUEST_STATUS.USER_CANCELLED

    +
  • iOS 15+ only. Presents a refund request sheet in the current window scene for +the latest transaction associated with the product.

    +

    If the request was unsuccessful, the promise will return an error. +If called in an unsupported platform (Android or iOS < 15), an UnsupportedPlatformException will be thrown.

    +

    Parameters

    Returns Promise<REFUND_REQUEST_STATUS>

    Returns a REFUND_REQUEST_STATUS: The status of the + refund request. Keep in mind the status could be REFUND_REQUEST_STATUS.USER_CANCELLED

    +
  • Check if billing is supported for the current user (meaning IN-APP purchases are supported) +and optionally, whether a list of specified feature types are supported.

    +

    Note: Billing features are only relevant to Google Play Android users. +For other stores and platforms, billing features won't be checked.

    +

    Parameters

    • features: BILLING_FEATURE[] = []

      An array of feature types to check for support. Feature types must be one of + [BILLING_FEATURE]. By default, is an empty list and no specific feature support will be checked.

      +

    Returns Promise<boolean>

    promise with boolean response. True if billing is supported, false otherwise.

    +
  • iOS only. Computes whether or not a user is eligible for the introductory pricing period of a given product. +You should use this method to determine whether or not you show the user the normal product price or the +introductory price. This also applies to trials (trials are considered a type of introductory pricing).

    +

    Parameters

    • productIdentifiers: string[]

      Array of product identifiers for which you want to compute eligibility

      +

    Returns Promise<{
        [productId: string]: IntroEligibility;
    }>

    A map of IntroEligility per productId. The promise +will be rejected if configure has not been called yet or if there's in an error checking eligibility.

    +

    Note

    Subscription groups are automatically collected for determining eligibility. If RevenueCat can't +definitively compute the eligibility, most likely because of missing group information, it will return +INTRO_ELIGIBILITY_STATUS_UNKNOWN. The best course of action on unknown status is to display the non-intro +pricing, to not create a misleading situation. To avoid this, make sure you are testing with the latest version of +iOS so that the subscription group can be collected by the SDK. Android always returns INTRO_ELIGIBILITY_STATUS_UNKNOWN.

    +
  • Automatically collect subscriber attributes associated with the device identifiers. +$idfa, $idfv, $ip on iOS +$gpsAdId, $androidId, $ip on Android

    +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting collecting the device identifiers.

    +
  • Enable automatic collection of Apple Search Ad attribution on iOS. Disabled by default

    +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet.

    +
  • Get the appUserID

    +

    Returns Promise<string>

    The app user id in a promise

    +
  • Retrieves a current offering for a placement identifier, use this to access offerings defined by targeting +placements configured in the RevenueCat dashboard.

    +

    Parameters

    • placementIdentifier: string

      The placement identifier to fetch a current offeringn for

      +

    Returns Promise<null | PurchasesOffering>

    Promise of an optional offering. The promise will be rejected if configure +has not been called yet.

    +
  • Gets current customer info

    +

    Returns Promise<CustomerInfo>

    A promise of a customer info object. Rejections return an error code, and an +userInfo object with more information. The promise will be rejected if configure has not been called yet or if +there's an issue getting the customer information.

    +
  • Fetch the product info

    +

    Parameters

    • productIdentifiers: string[]

      Array of product identifiers

      +
    • type: PURCHASE_TYPE | PRODUCT_CATEGORY = PRODUCT_CATEGORY.SUBSCRIPTION

      Optional type of products to fetch, can be SUBSCRIPTION or NON_SUBSCRIPTION. SUBSCRIPTION by default

      +

    Returns Promise<PurchasesStoreProduct[]>

    A promise containing an array of products. The promise will be rejected +if the products are not properly configured in RevenueCat or if there is another error retrieving them. +Rejections return an error code, and a userInfo object with more information. The promise will also be rejected +if configure has not been called yet.

    +
  • iOS only. Use this function to retrieve the PurchasesPromotionalOffer for a given PurchasesPackage.

    +

    Parameters

    Returns Promise<undefined | PurchasesPromotionalOffer>

    Returns when the PurchasesPaymentDiscount is returned. +Null is returned for Android and incompatible iOS versions. The promise will be rejected if configure has not been +called yet or if there's an error getting the payment discount.

    +
  • Invalidates the cache for customer information.

    +

    Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state. +Refer to https://docs.revenuecat.com/docs/customer-info#section-get-user-information for more information on +using the cache properly.

    +

    This is useful for cases where customer information might have been updated outside of the app, like if a +promotional subscription is granted through the RevenueCat dashboard.

    +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or there's an error +invalidating the customer info cache.

    +
  • Returns Promise<boolean>

    If the appUserID has been generated by RevenueCat or not.

    +
  • Check if configure has finished and Purchases has been configured.

    +

    Returns Promise<boolean>

    promise with boolean response

    +
  • This function will logIn the current user with an appUserID. Typically this would be used after a log in +to identify a user without calling configure.

    +

    Parameters

    • appUserID: string

      The appUserID that should be linked to the currently user

      +

    Returns Promise<LogInResult>

    A promise of an object that contains the customerInfo after logging in, as well +as a boolean indicating whether the user has just been created for the first time in the RevenueCat backend. The +promise will be rejected if configure has not been called yet or if there's an issue logging in.

    +
  • Logs out the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.

    +

    Returns Promise<CustomerInfo>

    A promise of a customer info object. Rejections return an error code, +and a userInfo object with more information. The promise will be rejected if configure has not been called yet or if +there's an issue logging out.

    +
  • iOS only. Presents a code redemption sheet, useful for redeeming offer codes +Refer to https://docs.revenuecat.com/docs/ios-subscription-offers#offer-codes for more information on how +to configure and use offer codes

    +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or there's an error +presenting the code redemption sheet.

    +
  • iOS only. Purchase a package applying a given discount.

    +

    Parameters

    • aPackage: PurchasesPackage

      The Package you wish to purchase. You can get the Packages by calling getOfferings

      +
    • discount: PurchasesPromotionalOffer

      Discount to apply to this package. Retrieve this discount using getPromotionalOffer.

      +

    Returns Promise<MakePurchaseResult>

    A promise of an object containing +a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the +user cancelled the purchase, and an object with more information. The promise will be also be rejected if configure +has not been called yet.

    +
  • iOS only. Purchase a product applying a given discount.

    +

    Parameters

    Returns Promise<MakePurchaseResult>

    A promise of an object containing +a customer info object and a product identifier. Rejections return an error code, +a boolean indicating if the user cancelled the purchase, and an object with more information. The promise will be +rejected if configure has not been called yet.

    +
  • Make a purchase

    +

    Parameters

    • aPackage: PurchasesPackage

      The Package you wish to purchase. You can get the Packages by calling getOfferings

      +
    • Optional upgradeInfo: null | UpgradeInfo

      DEPRECATED. Use googleProductChangeInfo.

      +
    • Optional googleProductChangeInfo: null | GoogleProductChangeInfo

      Android only. Optional GoogleProductChangeInfo you +wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.

      +
    • Optional googleIsPersonalizedPrice: null | boolean

      Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU. +For compliance with EU regulations. User will see "This price has been customize for you" in the purchase dialog when true. +See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.

      +

    Returns Promise<MakePurchaseResult>

    A promise of an object containing +a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the +user cancelled the purchase, and an object with more information. The promise will be also be rejected if configure +has not been called yet.

    +
  • Make a purchase

    +

    Parameters

    • productIdentifier: string

      The product identifier of the product you want to purchase

      +
    • Optional upgradeInfo: null | UpgradeInfo

      Android only. Optional UpgradeInfo you wish to upgrade from containing the oldSKU +and the optional prorationMode.

      +
    • type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS

      Optional type of product, can be inapp or subs. Subs by default +@deprecated, use purchaseStoreProduct instead

      +

    Returns Promise<MakePurchaseResult>

  • Make a purchase

    +

    Parameters

    • product: PurchasesStoreProduct

      The product you want to purchase

      +
    • Optional googleProductChangeInfo: null | GoogleProductChangeInfo

      Android only. Optional GoogleProductChangeInfo you +wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.

      +
    • Optional googleIsPersonalizedPrice: null | boolean

      Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU. +For compliance with EU regulations. User will see "This price has been customize for you" in the purchase dialog when true. +See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.

      +

    Returns Promise<MakePurchaseResult>

    A promise of an object containing +a customer info object and a product identifier. Rejections return an error code, +a boolean indicating if the user cancelled the purchase, and an object with more information. The promise will +also be rejected if configure has not been called yet.

    +
  • Google only. Make a purchase of a subscriptionOption

    +

    Parameters

    • subscriptionOption: SubscriptionOption

      The SubscriptionOption you wish to purchase. You can get the SubscriptionOption from StoreProducts by calling getOfferings

      +
    • Optional googleProductChangeInfo: GoogleProductChangeInfo

      Android only. Optional GoogleProductChangeInfo you +wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.

      +
    • Optional googleIsPersonalizedPrice: boolean

      Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU. +For compliance with EU regulations. User will see "This price has been customize for you" in the purchase dialog when true. +See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.

      +

    Returns Promise<MakePurchaseResult>

    A promise of an object containing +a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the +user cancelled the purchase, and an object with more information. The promise will be also be rejected if configure +has not been called yet.

    +
  • Removes a given CustomerInfoUpdateListener

    +

    Parameters

    Returns boolean

    True if listener was removed, false otherwise

    +
  • Removes a given ShouldPurchasePromoProductListener

    +

    Parameters

    Returns boolean

    True if listener was removed, false otherwise

    +
  • Restores a user's previous purchases and links their appUserIDs to any user's also using those purchases.

    +

    Returns Promise<CustomerInfo>

    A promise of a customer info object. Rejections return an error code, and an +userInfo object with more information. The promise will be also be rejected if configure has not been called yet.

    +
  • Subscriber attribute associated with the install ad for the user

    +

    Parameters

    • ad: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the ad subscriber attribute.

    +
  • Subscriber attribute associated with the install ad group for the user

    +

    Parameters

    • adGroup: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting ad group.

    +
  • Subscriber attribute associated with the Adjust Id for the user +Required for the RevenueCat Adjust integration

    +

    Parameters

    • adjustID: null | string

      Adjust ID to use in Adjust integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting Adjust ID.

    +
  • Subscriber attribute associated with the Airship Channel Id for the user +Required for the RevenueCat Airship integration

    +

    Parameters

    • airshipChannelID: null | string

      Airship Channel ID to use in Airship integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the Airship Channel ID.

    +
  • @deprecated, configure behavior through the RevenueCat dashboard instead. +If an user tries to purchase a product that is active on the current app store account, +we will treat it as a restore and alias the new ID with the previous id.

    +

    Parameters

    • allowSharing: boolean

      Set this to true if you are passing in an appUserID but it is anonymous, +this is true by default if you didn't pass an appUserID

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet.

    +
  • Subscriber attribute associated with the AppsFlyer Id for the user +Required for the RevenueCat AppsFlyer integration

    +

    Parameters

    • appsflyerID: null | string

      Appsflyer ID to use in Appsflyer integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the Appsflyer ID.

    +
  • Subscriber attributes are useful for storing additional, structured information on a user. +Since attributes are writable using a public key they should not be used for +managing secure or sensitive information such as subscription status, coins, etc.

    +

    Key names starting with "$" are reserved names used by RevenueCat. For a full list of key +restrictions refer to our guide: https://docs.revenuecat.com/docs/subscriber-attributes

    +

    Parameters

    • attributes: {
          [key: string]: string | null;
      }

      Map of attributes by key. Set the value as an empty string to delete an attribute.

      +
      • [key: string]: string | null

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or there's an error +setting the subscriber attributes.

    +
  • @deprecated, use enableAdServicesAttributionTokenCollection instead. +Enable automatic collection of Apple Search Ad attribution. Disabled by default

    +

    Parameters

    • enabled: boolean

      Enable or not automatic apple search ads attribution collection

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet.

    +
  • Subscriber attribute associated with the install campaign for the user

    +

    Parameters

    • campaign: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the campaign.

    +
  • Subscriber attribute associated with the CleverTap Id for the user +Required for the RevenueCat CleverTap integration

    +

    Parameters

    • cleverTapID: null | string

      CleverTap user ID to use in CleverTap integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the CleverTap ID.

    +
  • Subscriber attribute associated with the install ad creative for the user

    +

    Parameters

    • creative: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the creative subscriber attribute.

    +
  • Enables/Disables debugs logs

    +

    Parameters

    • enabled: boolean

      Enable or not debug logs +@deprecated, use setLogLevel instead

      +

    Returns Promise<void>

  • Subscriber attribute associated with the display name for the user

    +

    Parameters

    • displayName: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the display name.

    +
  • Subscriber attribute associated with the email address for the user

    +

    Parameters

    • email: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the email.

    +
  • Subscriber attribute associated with the Facebook SDK Anonymous Id for the user +Recommended for the RevenueCat Facebook integration

    +

    Parameters

    • fbAnonymousID: null | string

      Facebook Anonymous ID to use in Mparticle integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the Facebook Anonymous ID.

    +
  • Parameters

    • finishTransactions: boolean

      Set finishTransactions to false if you aren't using Purchases SDK to +make the purchase

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet.

    +
  • Subscriber attribute associated with the Firebase App Instance ID for the user +Required for the RevenueCat Firebase integration

    +

    Parameters

    • firebaseAppInstanceID: null | string

      Firebase App Instance ID to use in Firebase integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the Firebase App Instance ID.

    +
  • Subscriber attribute associated with the install keyword for the user

    +

    Parameters

    • keyword: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the keyword.

    +
  • Set a custom log handler for redirecting logs to your own logging system. +By default, this sends info, warning, and error messages. +If you wish to receive Debug level messages, see [setLogLevel].

    +

    Parameters

    • logHandler: LogHandler

      It will get called for each log event. +Use this function to redirect the log to your own logging system

      +

    Returns void

  • Used to set the log level. Useful for debugging issues with the lovely team @RevenueCat. +The default is {LOG_LEVEL.INFO} in release builds and {LOG_LEVEL.DEBUG} in debug builds.

    +

    Parameters

    Returns Promise<void>

  • Subscriber attribute associated with the install media source for the user

    +

    Parameters

    • mediaSource: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the media source.

    +
  • Subscriber attribute associated with the Mixpanel Distinct Id for the user +Required for the RevenueCat Mixpanel integration

    +

    Parameters

    • mixpanelDistinctID: null | string

      Mixpanel Distinct ID to use in Mixpanel integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the Mixpanel Distinct ID.

    +
  • Subscriber attribute associated with the mParticle Id for the user +Recommended for the RevenueCat mParticle integration

    +

    Parameters

    • mparticleID: null | string

      Mparticle ID to use in Mparticle integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the Mparticle ID.

    +
  • Subscriber attribute associated with the OneSignal Player Id for the user +Required for the RevenueCat OneSignal integration

    +

    Parameters

    • onesignalID: null | string

      OneSignal Player ID to use in OneSignal integration. Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the OneSignal ID.

    +
  • Subscriber attribute associated with the phone number for the user

    +

    Parameters

    • phoneNumber: null | string

      Empty String or null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the phone number.

    +
  • Set this property to your proxy URL before configuring Purchases only if you've received a proxy key value +from your RevenueCat contact.

    +

    Parameters

    • url: string

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the proxy url.

    +
  • Subscriber attribute associated with the push token for the user

    +

    Parameters

    • pushToken: null | string

      null will delete the subscriber attribute.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +setting the push token.

    +
  • iOS only.

    +

    Parameters

    • simulatesAskToBuyInSandbox: boolean

      Set this property to true only when testing the ask-to-buy / SCA +purchases flow. More information: http://errors.rev.cat/ask-to-buy

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet.

    +
  • Shows in-app messages available from the App Store or Google Play. You need to disable messages from showing +automatically using [PurchasesConfiguration.shouldShowInAppMessagesAutomatically].

    +

    Note: In iOS, this requires version 16+. In older versions the promise will be resolved successfully +immediately.

    +

    Parameters

    • Optional messageTypes: IN_APP_MESSAGE_TYPE[]

      An array of message types that the stores can display inside your app. Must be one of + [IN_APP_MESSAGE_TYPE]. By default, is undefined and all message types will be shown.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet.

    +
  • Syncs subscriber attributes and then fetches the configured offerings for this user. This method is intended to +be called when using Targeting Rules with Custom Attributes. Any subscriber attributes should be set before +calling this method to ensure the returned offerings are applied with the latest subscriber attributes.

    +

    Returns Promise<PurchasesOfferings>

    Promise of entitlements structure. The promise will be rejected if configure +has not been called yet.

    +
  • This method will send a purchase to the RevenueCat backend. This function should only be called if you are +in Amazon observer mode or performing a client side migration of your current users to RevenueCat.

    +

    The receipt IDs are cached if successfully posted so they are not posted more than once.

    +

    Parameters

    • productID: string

      Product ID associated to the purchase.

      +
    • receiptID: string

      ReceiptId that represents the Amazon purchase.

      +
    • amazonUserID: string

      Amazon's userID. This parameter will be ignored when syncing a Google purchase.

      +
    • Optional isoCurrencyCode: null | string

      Product's currency code in ISO 4217 format.

      +
    • Optional price: null | number

      Product's price.

      +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +syncing purchases.

    +
  • This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation +for subscriptions anytime a sync is needed, like after a successful purchase.

    +

    Returns Promise<void>

    The promise will be rejected if configure has not been called yet or if there's an error +syncing purchases.

    +

    Warning

    This function should only be called if you're not calling purchaseProduct/purchaseStoreProduct/purchasePackage/purchaseSubscriptionOption.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/BILLING_FEATURE.html b/docs/7.26.1/enums/BILLING_FEATURE.html new file mode 100644 index 0000000..1a80b46 --- /dev/null +++ b/docs/7.26.1/enums/BILLING_FEATURE.html @@ -0,0 +1,14 @@ +BILLING_FEATURE | react-native-purchases - v7.26.1

Enumeration BILLING_FEATURE

Enum for billing features. +Currently, these are only relevant for Google Play Android users: +https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType

+

Enumeration Members

IN_APP_ITEMS_ON_VR: 2

Purchase/query for in-app items on VR.

+
PRICE_CHANGE_CONFIRMATION: 4

Launch a price change confirmation flow.

+
SUBSCRIPTIONS: 0

Purchase/query for subscriptions.

+
SUBSCRIPTIONS_ON_VR: 3

Purchase/query for subscriptions on VR.

+
SUBSCRIPTIONS_UPDATE: 1

Subscriptions update/replace.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/INTRO_ELIGIBILITY_STATUS.html b/docs/7.26.1/enums/INTRO_ELIGIBILITY_STATUS.html new file mode 100644 index 0000000..ea4dc83 --- /dev/null +++ b/docs/7.26.1/enums/INTRO_ELIGIBILITY_STATUS.html @@ -0,0 +1,9 @@ +INTRO_ELIGIBILITY_STATUS | react-native-purchases - v7.26.1

Enumeration INTRO_ELIGIBILITY_STATUS

Enumeration Members

INTRO_ELIGIBILITY_STATUS_ELIGIBLE: 2

The user is eligible for a free trial or intro pricing for this product.

+
INTRO_ELIGIBILITY_STATUS_INELIGIBLE: 1

The user is not eligible for a free trial or intro pricing for this product.

+
INTRO_ELIGIBILITY_STATUS_NO_INTRO_OFFER_EXISTS: 3

There is no free trial or intro pricing for this product.

+
INTRO_ELIGIBILITY_STATUS_UNKNOWN: 0

RevenueCat doesn't have enough information to determine eligibility.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/LOG_LEVEL.html b/docs/7.26.1/enums/LOG_LEVEL.html new file mode 100644 index 0000000..ac937c3 --- /dev/null +++ b/docs/7.26.1/enums/LOG_LEVEL.html @@ -0,0 +1,6 @@ +LOG_LEVEL | react-native-purchases - v7.26.1

Enumeration LOG_LEVEL

Enumeration Members

Enumeration Members

DEBUG: "DEBUG"
ERROR: "ERROR"
INFO: "INFO"
VERBOSE: "VERBOSE"
WARN: "WARN"

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/OFFER_PAYMENT_MODE.html b/docs/7.26.1/enums/OFFER_PAYMENT_MODE.html new file mode 100644 index 0000000..61e916c --- /dev/null +++ b/docs/7.26.1/enums/OFFER_PAYMENT_MODE.html @@ -0,0 +1,8 @@ +OFFER_PAYMENT_MODE | react-native-purchases - v7.26.1

Enumeration OFFER_PAYMENT_MODE

Payment mode for offer pricing phases. Google Play only.

+

Enumeration Members

DISCOUNTED_RECURRING_PAYMENT: "DISCOUNTED_RECURRING_PAYMENT"

Subscribers pay a discounted amount for a specified number of periods

+
FREE_TRIAL: "FREE_TRIAL"

Subscribers don't pay until the specified period ends

+
SINGLE_PAYMENT: "SINGLE_PAYMENT"

Subscribers pay up front for a specified period

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PACKAGE_TYPE.html b/docs/7.26.1/enums/PACKAGE_TYPE.html new file mode 100644 index 0000000..dcae719 --- /dev/null +++ b/docs/7.26.1/enums/PACKAGE_TYPE.html @@ -0,0 +1,19 @@ +PACKAGE_TYPE | react-native-purchases - v7.26.1

Enumeration PACKAGE_TYPE

Enumeration Members

ANNUAL: "ANNUAL"

A package configured with the predefined annual identifier.

+
CUSTOM: "CUSTOM"

A package that was defined with a custom identifier.

+
LIFETIME: "LIFETIME"

A package configured with the predefined lifetime identifier.

+
MONTHLY: "MONTHLY"

A package configured with the predefined monthly identifier.

+
SIX_MONTH: "SIX_MONTH"

A package configured with the predefined six month identifier.

+
THREE_MONTH: "THREE_MONTH"

A package configured with the predefined three month identifier.

+
TWO_MONTH: "TWO_MONTH"

A package configured with the predefined two month identifier.

+
UNKNOWN: "UNKNOWN"

A package that was defined with a custom identifier.

+
WEEKLY: "WEEKLY"

A package configured with the predefined weekly identifier.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PERIOD_UNIT.html b/docs/7.26.1/enums/PERIOD_UNIT.html new file mode 100644 index 0000000..37bfd3e --- /dev/null +++ b/docs/7.26.1/enums/PERIOD_UNIT.html @@ -0,0 +1,7 @@ +PERIOD_UNIT | react-native-purchases - v7.26.1

Enumeration PERIOD_UNIT

Time duration unit for Period.

+

Enumeration Members

Enumeration Members

DAY: "DAY"
MONTH: "MONTH"
UNKNOWN: "UNKNOWN"
WEEK: "WEEK"
YEAR: "YEAR"

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PRODUCT_CATEGORY.html b/docs/7.26.1/enums/PRODUCT_CATEGORY.html new file mode 100644 index 0000000..9fa177f --- /dev/null +++ b/docs/7.26.1/enums/PRODUCT_CATEGORY.html @@ -0,0 +1,7 @@ +PRODUCT_CATEGORY | react-native-purchases - v7.26.1

Enumeration PRODUCT_CATEGORY

Enumeration Members

Enumeration Members

NON_SUBSCRIPTION: "NON_SUBSCRIPTION"

A type of product for non-subscription.

+
SUBSCRIPTION: "SUBSCRIPTION"

A type of product for subscriptions.

+
UNKNOWN: "UNKNOWN"

A type of product for unknowns.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PRODUCT_TYPE.html b/docs/7.26.1/enums/PRODUCT_TYPE.html new file mode 100644 index 0000000..68012bf --- /dev/null +++ b/docs/7.26.1/enums/PRODUCT_TYPE.html @@ -0,0 +1,13 @@ +PRODUCT_TYPE | react-native-purchases - v7.26.1

Enumeration PRODUCT_TYPE

Enumeration Members

AUTO_RENEWABLE_SUBSCRIPTION: "AUTO_RENEWABLE_SUBSCRIPTION"

An auto-renewable subscription.

+
CONSUMABLE: "CONSUMABLE"

A consumable in-app purchase.

+
NON_CONSUMABLE: "NON_CONSUMABLE"

A non-consumable in-app purchase. Only applies to Apple Store products.

+
NON_RENEWABLE_SUBSCRIPTION: "NON_RENEWABLE_SUBSCRIPTION"

A non-renewing subscription. Only applies to Apple Store products.

+
PREPAID_SUBSCRIPTION: "PREPAID_SUBSCRIPTION"

A subscription that is pre-paid. Only applies to Google Play products.

+
UNKNOWN: "UNKNOWN"

Unable to determine product type.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PRORATION_MODE.html b/docs/7.26.1/enums/PRORATION_MODE.html new file mode 100644 index 0000000..9039464 --- /dev/null +++ b/docs/7.26.1/enums/PRORATION_MODE.html @@ -0,0 +1,16 @@ +PRORATION_MODE | react-native-purchases - v7.26.1

Enumeration PRORATION_MODE

Enumeration Members

IMMEDIATE_AND_CHARGE_FULL_PRICE: 5

Replacement takes effect immediately, and the user is charged full price +of new plan and is given a full billing cycle of subscription, +plus remaining prorated time from the old plan.

+
IMMEDIATE_AND_CHARGE_PRORATED_PRICE: 2

Replacement takes effect immediately, and the billing cycle remains the +same. The price for the remaining period will be charged. This option is +only available for subscription upgrade.

+
IMMEDIATE_WITHOUT_PRORATION: 3

Replacement takes effect immediately, and the new price will be charged on +next recurrence time. The billing cycle stays the same.

+
IMMEDIATE_WITH_TIME_PRORATION: 1

Replacement takes effect immediately, and the remaining time will be +prorated and credited to the user. This is the current default behavior.

+
UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY: 0

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PURCHASES_ERROR_CODE.html b/docs/7.26.1/enums/PURCHASES_ERROR_CODE.html new file mode 100644 index 0000000..5486ef0 --- /dev/null +++ b/docs/7.26.1/enums/PURCHASES_ERROR_CODE.html @@ -0,0 +1,36 @@ +PURCHASES_ERROR_CODE | react-native-purchases - v7.26.1

Enumeration PURCHASES_ERROR_CODE

Enumeration Members

API_ENDPOINT_BLOCKED: "33"
BEGIN_REFUND_REQUEST_ERROR: "31"
CONFIGURATION_ERROR: "23"
CUSTOMER_INFO_ERROR: "29"
EMPTY_SUBSCRIBER_ATTRIBUTES_ERROR: "25"
INELIGIBLE_ERROR: "18"
INSUFFICIENT_PERMISSIONS_ERROR: "19"
INVALID_APPLE_SUBSCRIPTION_KEY_ERROR: "17"
INVALID_APP_USER_ID_ERROR: "14"
INVALID_CREDENTIALS_ERROR: "11"
INVALID_PROMOTIONAL_OFFER_ERROR: "34"
INVALID_RECEIPT_ERROR: "8"
INVALID_SUBSCRIBER_ATTRIBUTES_ERROR: "21"
LOG_OUT_ANONYMOUS_USER_ERROR: "22"
MISSING_RECEIPT_FILE_ERROR: "9"
NETWORK_ERROR: "10"
OFFLINE_CONNECTION_ERROR: "35"
OPERATION_ALREADY_IN_PROGRESS_ERROR: "15"
PAYMENT_PENDING_ERROR: "20"
PRODUCT_ALREADY_PURCHASED_ERROR: "6"
PRODUCT_DISCOUNT_MISSING_IDENTIFIER_ERROR: "26"
PRODUCT_DISCOUNT_MISSING_SUBSCRIPTION_GROUP_IDENTIFIER_ERROR: "28"
PRODUCT_NOT_AVAILABLE_FOR_PURCHASE_ERROR: "5"
PRODUCT_REQUEST_TIMED_OUT_ERROR: "32"
PURCHASE_CANCELLED_ERROR: "1"
PURCHASE_INVALID_ERROR: "4"
PURCHASE_NOT_ALLOWED_ERROR: "3"
RECEIPT_ALREADY_IN_USE_ERROR: "7"
RECEIPT_IN_USE_BY_OTHER_SUBSCRIBER_ERROR: "13"
STORE_PROBLEM_ERROR: "2"
SYSTEM_INFO_ERROR: "30"
UNEXPECTED_BACKEND_RESPONSE_ERROR: "12"
UNKNOWN_BACKEND_ERROR: "16"
UNKNOWN_ERROR: "0"
UNSUPPORTED_ERROR: "24"

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/PURCHASE_TYPE.html b/docs/7.26.1/enums/PURCHASE_TYPE.html new file mode 100644 index 0000000..e2d58f3 --- /dev/null +++ b/docs/7.26.1/enums/PURCHASE_TYPE.html @@ -0,0 +1,6 @@ +PURCHASE_TYPE | react-native-purchases - v7.26.1

Enumeration PURCHASE_TYPE

@deprecated, use PRODUCT_CATEGORY

+

Enumeration Members

Enumeration Members

INAPP: "inapp"

A type of SKU for in-app products.

+
SUBS: "subs"

A type of SKU for subscriptions.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/RECURRENCE_MODE.html b/docs/7.26.1/enums/RECURRENCE_MODE.html new file mode 100644 index 0000000..68584b3 --- /dev/null +++ b/docs/7.26.1/enums/RECURRENCE_MODE.html @@ -0,0 +1,8 @@ +RECURRENCE_MODE | react-native-purchases - v7.26.1

Enumeration RECURRENCE_MODE

Recurrence mode for a pricing phase

+

Enumeration Members

FINITE_RECURRING: 2

Pricing phase repeats for a fixed number of billing periods

+
INFINITE_RECURRING: 1

Pricing phase repeats infinitely until cancellation

+
NON_RECURRING: 3

Pricing phase does not repeat

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/enums/REFUND_REQUEST_STATUS.html b/docs/7.26.1/enums/REFUND_REQUEST_STATUS.html new file mode 100644 index 0000000..aa6b2fc --- /dev/null +++ b/docs/7.26.1/enums/REFUND_REQUEST_STATUS.html @@ -0,0 +1,7 @@ +REFUND_REQUEST_STATUS | react-native-purchases - v7.26.1

Enumeration REFUND_REQUEST_STATUS

Enumeration Members

Enumeration Members

ERROR: 2

There was an error with the request. See message for more details.

+
SUCCESS: 0

Apple has received the refund request.

+
USER_CANCELLED: 1

User canceled submission of the refund request.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/index.html b/docs/7.26.1/index.html new file mode 100644 index 0000000..d26aeb0 --- /dev/null +++ b/docs/7.26.1/index.html @@ -0,0 +1,101 @@ +react-native-purchases - v7.26.1

react-native-purchases - v7.26.1

😻 In-App Subscriptions Made Easy 😻

+ +

License

+

RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. Our open-source framework provides a backend and a wrapper around StoreKit and Google Play Billing to make implementing in-app purchases and subscriptions easy.

+

Whether you are building a new app or already have millions of customers, you can use RevenueCat to:

+
    +
  • Fetch products, make purchases, and check subscription status with our native SDKs.
  • +
  • Host and configure products remotely from our dashboard.
  • +
  • Analyze the most important metrics for your app business in one place.
  • +
  • See customer transaction histories, chart lifetime value, and grant promotional subscriptions.
  • +
  • Get notified of real-time events through webhooks.
  • +
  • Send enriched purchase events to analytics and attribution tools with our easy integrations.
  • +
+

Sign up to get started for free.

+

React Native Purchases

React Native Purchases is the client for the RevenueCat subscription and purchase tracking system. It is an open source framework that provides a wrapper around StoreKit, Google Play Billing and the RevenueCat backend to make implementing in-app purchases in React Native easy.

+

Migrating from React-Native Purchases v4 to v5

+

RevenueCat SDK Features

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RevenueCat
Server-side receipt validation
➡️Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more
🎯Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web
📊Analytics - automatic calculation of metrics like conversion, mrr, and churn
📝Online documentation and SDK reference up to date
🔀Integrations - over a dozen integrations to easily send purchase data where you need it
💯Well maintained - frequent releases
📮Great support - Help Center
+

Getting Started

For more detailed information, you can view our complete documentation at docs.revenuecat.com.

+

Please follow the Quickstart Guide for more information on how to install the SDK.

+

Or view our React Native sample app:

+ +

Requirements

The minimum React Native version this SDK requires is 0.64.

+

SDK Reference

Our full SDK reference can be found here.

+
+

Installation

ExpoKit projects of version 33 or higher can successfully use react-native-purchases. If you haven't upgraded, you can follow the instructions here to upgrade.

+
+

❗️ If you're planning on ejecting from Expo, upgrade your expo version first, THEN eject. It'll save you a whole lot of hassle. ❗️

+
+

1. Add the library to the project

$ npm install react-native-purchases --save
+
+

or

+
$ yarn add react-native-purchases
+
+

2. Link library to the project

$ react-native link react-native-purchases
+
+

Additional iOS Setup

If your project uses Cocoapods

If your project already uses Cocoapods to install iOS dependencies, common in ExpoKit projects, linking the library should have added it to the podfile. If it hasn't, add the following to your project's podfile to reference the library from your node_modules folder:

+
pod 'RNPurchases', :path => '../node_modules/react-native-purchases'
:inhibit_warnings => true +
+

In your ios folder, run pod install. If you've just upgraded ExpoKit, you might need to upgrade cocoapods to the newest version: sudo gem install cocoapods.

+

Migrating from manual installation (if your project doesn't use CocoapodsCreate)

Remove the Framework Reference from your project
    +
  1. Remove Purchases.framework and PurchasesHybridCommon.framework from the libraries section of the project.
  2. +
+
Remove iOS Frameworks to Embedded Binaries
    +
  1. In Xcode, in project manager, select your app target.
  2. +
  3. Select the general tab
  4. +
  5. Look for Purchases.framework and PurchasesHybridCommon.framework in the Embedded Binaries section and remove them.
  6. +
+

Remove $(PROJECT_DIR)/../node_modules/react-native-purchases/ios from Framework Search paths in build settings

+
Remove Strip Frameworks Phase

During the old manual installation instructions, now deprecated, we indicated to add a build phase to strip fat frameworks.

+
    +
  1. In Xcode, in project manager, select your app target.
  2. +
  3. Open the Build Phases tab
  4. +
  5. Remove the added Strip Frameworks phase
  6. +
  7. Clean Derived Data
  8. +
+
Link static library

The react-native link command should have added the libRNPurchases.a library to the Linked Frameworks and Libraries section of your app target. If it hasn't add it like this:

+

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/CustomerInfo.html b/docs/7.26.1/interfaces/CustomerInfo.html new file mode 100644 index 0000000..c51e885 --- /dev/null +++ b/docs/7.26.1/interfaces/CustomerInfo.html @@ -0,0 +1,35 @@ +CustomerInfo | react-native-purchases - v7.26.1
interface CustomerInfo {
    activeSubscriptions: string[];
    allExpirationDates: {
        [key: string]: string | null;
    };
    allPurchaseDates: {
        [key: string]: string | null;
    };
    allPurchasedProductIdentifiers: string[];
    entitlements: PurchasesEntitlementInfos;
    firstSeen: string;
    latestExpirationDate: null | string;
    managementURL: null | string;
    nonSubscriptionTransactions: PurchasesStoreTransaction[];
    originalAppUserId: string;
    originalApplicationVersion: null | string;
    originalPurchaseDate: null | string;
    requestDate: string;
}

Properties

activeSubscriptions: string[]

Set of active subscription skus

+
allExpirationDates: {
    [key: string]: string | null;
}

Map of skus to expiration dates

+

Type declaration

  • [key: string]: string | null
allPurchaseDates: {
    [key: string]: string | null;
}

Map of skus to purchase dates

+

Type declaration

  • [key: string]: string | null
allPurchasedProductIdentifiers: string[]

Set of purchased skus, active and inactive

+

Entitlements attached to this customer info

+
firstSeen: string

The date this user was first seen in RevenueCat.

+
latestExpirationDate: null | string

The latest expiration date of all purchased skus

+
managementURL: null | string

URL to manage the active subscription of the user. If this user has an active iOS +subscription, this will point to the App Store, if the user has an active Play Store subscription +it will point there. If there are no active subscriptions it will be null. +If there are multiple for different platforms, it will point to the device store.

+
nonSubscriptionTransactions: PurchasesStoreTransaction[]
originalAppUserId: string

The original App User Id recorded for this user.

+
originalApplicationVersion: null | string

Returns the version number for the version of the application when the +user bought the app. Use this for grandfathering users when migrating +to subscriptions.

+

This corresponds to the value of CFBundleVersion (in iOS) in the +Info.plist file when the purchase was originally made. This is always null +in Android

+
originalPurchaseDate: null | string

Returns the purchase date for the version of the application when the user bought the app. +Use this for grandfathering users when migrating to subscriptions.

+
requestDate: string

Date when this info was requested

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/ErrorInfo.html b/docs/7.26.1/interfaces/ErrorInfo.html new file mode 100644 index 0000000..85397a2 --- /dev/null +++ b/docs/7.26.1/interfaces/ErrorInfo.html @@ -0,0 +1,2 @@ +ErrorInfo | react-native-purchases - v7.26.1
interface ErrorInfo {
    readableErrorCode: string;
}

Properties

Properties

readableErrorCode: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/GoogleProductChangeInfo.html b/docs/7.26.1/interfaces/GoogleProductChangeInfo.html new file mode 100644 index 0000000..3273515 --- /dev/null +++ b/docs/7.26.1/interfaces/GoogleProductChangeInfo.html @@ -0,0 +1,6 @@ +GoogleProductChangeInfo | react-native-purchases - v7.26.1

Interface GoogleProductChangeInfo

Holds the information used when upgrading from another sku. For Android use only.

+
interface GoogleProductChangeInfo {
    oldProductIdentifier: string;
    prorationMode?: PRORATION_MODE;
}

Properties

oldProductIdentifier: string

The old product identifier to upgrade from.

+
prorationMode?: PRORATION_MODE

The [PRORATION_MODE] to use when upgrading the given oldSKU.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/IntroEligibility.html b/docs/7.26.1/interfaces/IntroEligibility.html new file mode 100644 index 0000000..7e2d8ac --- /dev/null +++ b/docs/7.26.1/interfaces/IntroEligibility.html @@ -0,0 +1,6 @@ +IntroEligibility | react-native-purchases - v7.26.1

Interface IntroEligibility

Holds the introductory price status

+
interface IntroEligibility {
    description: string;
    status: INTRO_ELIGIBILITY_STATUS;
}

Properties

Properties

description: string

Description of the status

+

The introductory price eligibility status

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/LogInResult.html b/docs/7.26.1/interfaces/LogInResult.html new file mode 100644 index 0000000..32628c4 --- /dev/null +++ b/docs/7.26.1/interfaces/LogInResult.html @@ -0,0 +1,6 @@ +LogInResult | react-native-purchases - v7.26.1

Holds the logIn result

+
interface LogInResult {
    created: boolean;
    customerInfo: CustomerInfo;
}

Properties

Properties

created: boolean

True if the call resulted in a new user getting created in the RevenueCat backend.

+
customerInfo: CustomerInfo

The Customer Info for the user.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/Period.html b/docs/7.26.1/interfaces/Period.html new file mode 100644 index 0000000..2883ffc --- /dev/null +++ b/docs/7.26.1/interfaces/Period.html @@ -0,0 +1,10 @@ +Period | react-native-purchases - v7.26.1

Contains all the details associated with a Period

+
interface Period {
    iso8601: string;
    unit: PERIOD_UNIT;
    value: number;
}

Properties

Properties

iso8601: string

Specified in ISO 8601 format. For example, P1W equates to one week, +P1M equates to one month, P3M equates to three months, P6M equates to six months, +and P1Y equates to one year

+

The number of period units: day, week, month, year, unknown

+
value: number

The increment of time that a subscription period is specified in

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PresentedOfferingContext.html b/docs/7.26.1/interfaces/PresentedOfferingContext.html new file mode 100644 index 0000000..50b0704 --- /dev/null +++ b/docs/7.26.1/interfaces/PresentedOfferingContext.html @@ -0,0 +1,8 @@ +PresentedOfferingContext | react-native-purchases - v7.26.1

Interface PresentedOfferingContext

Contains data about the context in which an offering was presented.

+
interface PresentedOfferingContext {
    offeringIdentifier: string;
    placementIdentifier: null | string;
    targetingContext: null | PresentedOfferingTargetingContext;
}

Properties

offeringIdentifier: string

The identifier of the offering used to obtain this object.

+
placementIdentifier: null | string

The identifier of the placement used to obtain this object.

+
targetingContext: null | PresentedOfferingTargetingContext

The revision of the targeting used to obtain this object.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PresentedOfferingTargetingContext.html b/docs/7.26.1/interfaces/PresentedOfferingTargetingContext.html new file mode 100644 index 0000000..f5ab456 --- /dev/null +++ b/docs/7.26.1/interfaces/PresentedOfferingTargetingContext.html @@ -0,0 +1,6 @@ +PresentedOfferingTargetingContext | react-native-purchases - v7.26.1

Interface PresentedOfferingTargetingContext

Contains data about the context in which an offering was presented.

+
interface PresentedOfferingTargetingContext {
    revision: number;
    ruleId: string;
}

Properties

Properties

revision: number

The revision of the targeting used to obtain this object.

+
ruleId: string

The rule id from the targeting used to obtain this object.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/Price.html b/docs/7.26.1/interfaces/Price.html new file mode 100644 index 0000000..0b691a1 --- /dev/null +++ b/docs/7.26.1/interfaces/Price.html @@ -0,0 +1,12 @@ +Price | react-native-purchases - v7.26.1

Contains all the details associated with a Price

+
interface Price {
    amountMicros: number;
    currencyCode: string;
    formatted: string;
}

Properties

amountMicros: number

Price in micro-units, where 1,000,000 micro-units equal one unit of the currency.

+

For example, if price is "€7.99", price_amount_micros is 7,990,000. This value represents +the localized, rounded price for a particular currency.

+
currencyCode: string

Returns ISO 4217 currency code for price and original price.

+

For example, if price is specified in British pounds sterling, price_currency_code is "GBP". +If currency code cannot be determined, currency symbol is returned.

+
formatted: string

Formatted price of the item, including its currency sign. For example $3.00

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PricingPhase.html b/docs/7.26.1/interfaces/PricingPhase.html new file mode 100644 index 0000000..81511aa --- /dev/null +++ b/docs/7.26.1/interfaces/PricingPhase.html @@ -0,0 +1,13 @@ +PricingPhase | react-native-purchases - v7.26.1

Contains all the details associated with a PricingPhase

+
interface PricingPhase {
    billingCycleCount: null | number;
    billingPeriod: Period;
    offerPaymentMode: null | OFFER_PAYMENT_MODE;
    price: Price;
    recurrenceMode: null | RECURRENCE_MODE;
}

Properties

billingCycleCount: null | number

Number of cycles for which the pricing phase applies. +Null for infiniteRecurring or finiteRecurring recurrence modes.

+
billingPeriod: Period

Billing period for which the PricingPhase applies

+
offerPaymentMode: null | OFFER_PAYMENT_MODE

Indicates how the pricing phase is charged for finiteRecurring pricing phases

+
price: Price

Price of the PricingPhase

+
recurrenceMode: null | RECURRENCE_MODE

Recurrence mode of the PricingPhase

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesConfiguration.html b/docs/7.26.1/interfaces/PurchasesConfiguration.html new file mode 100644 index 0000000..cc798ec --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesConfiguration.html @@ -0,0 +1,33 @@ +PurchasesConfiguration | react-native-purchases - v7.26.1

Interface PurchasesConfiguration

Holds parameters to initialize the SDK.

+
interface PurchasesConfiguration {
    apiKey: string;
    appUserID?: null | string;
    entitlementVerificationMode?: ENTITLEMENT_VERIFICATION_MODE;
    observerMode?: boolean;
    shouldShowInAppMessagesAutomatically?: boolean;
    useAmazon?: boolean;
    userDefaultsSuiteName?: string;
    usesStoreKit2IfAvailable?: boolean;
}

Properties

apiKey: string

RevenueCat API Key. Needs to be a string

+
appUserID?: null | string

A unique id for identifying the user

+
entitlementVerificationMode?: ENTITLEMENT_VERIFICATION_MODE

Verification strictness levels for [EntitlementInfo]. +See https://rev.cat/trusted-entitlements for more info.

+
observerMode?: boolean

An optional boolean. Set this to TRUE if you have your own IAP implementation and +want to use only RevenueCat's backend. Default is FALSE. If you are on Android and setting this to ON, you will have +to acknowledge the purchases yourself.

+
shouldShowInAppMessagesAutomatically?: boolean

Whether we should show store in-app messages automatically. Both Google Play and the App Store provide in-app +messages for some situations like billing issues. By default, those messages will be shown automatically. +This allows to disable that behavior, so you can display those messages at your convenience. For more information, +check: https://rev.cat/storekit-message and https://rev.cat/googleplayinappmessaging

+
useAmazon?: boolean

An optional boolean. Android only. Required to configure the plugin to be used in the Amazon Appstore.

+
userDefaultsSuiteName?: string

An optional string. iOS-only, will be ignored for Android. +Set this if you would like the RevenueCat SDK to store its preferences in a different NSUserDefaults +suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.

+
usesStoreKit2IfAvailable?: boolean

iOS-only, will be ignored for Android. +Set this to TRUE to enable StoreKit2. +Default is FALSE.

+

Deprecated

RevenueCat currently uses StoreKit 1 for purchases, as its stability in production scenarios has +proven to be more performant than StoreKit 2. +We're collecting more data on the best approach, but StoreKit 1 vs StoreKit 2 is an implementation detail +that you shouldn't need to care about. +We recommend not using this parameter, letting RevenueCat decide for you which StoreKit implementation to use.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesEntitlementInfo.html b/docs/7.26.1/interfaces/PurchasesEntitlementInfo.html new file mode 100644 index 0000000..55efc03 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesEntitlementInfo.html @@ -0,0 +1,53 @@ +PurchasesEntitlementInfo | react-native-purchases - v7.26.1

Interface PurchasesEntitlementInfo

The EntitlementInfo object gives you access to all of the information about the status of a user entitlement.

+
interface PurchasesEntitlementInfo {
    billingIssueDetectedAt: null | string;
    billingIssueDetectedAtMillis: null | number;
    expirationDate: null | string;
    expirationDateMillis: null | number;
    identifier: string;
    isActive: boolean;
    isSandbox: boolean;
    latestPurchaseDate: string;
    latestPurchaseDateMillis: number;
    originalPurchaseDate: string;
    originalPurchaseDateMillis: number;
    ownershipType: "FAMILY_SHARED" | "PURCHASED" | "UNKNOWN";
    periodType: string;
    productIdentifier: string;
    productPlanIdentifier: null | string;
    store: "PLAY_STORE" | "APP_STORE" | "STRIPE" | "MAC_APP_STORE" | "PROMOTIONAL" | "AMAZON" | "RC_BILLING" | "UNKNOWN_STORE";
    unsubscribeDetectedAt: null | string;
    unsubscribeDetectedAtMillis: null | number;
    verification: VERIFICATION_RESULT;
    willRenew: boolean;
}

Properties

billingIssueDetectedAt: null | string

The date a billing issue was detected in ISO8601 format. Can be null if there is no billing issue or an +issue has been resolved

+

@note: Entitlement may still be active even if there is a billing issue. Check the isActive property.

+
billingIssueDetectedAtMillis: null | number

The date a billing issue was detected in milliseconds. Can be null if there is no billing issue or an +issue has been resolved

+

@note: Entitlement may still be active even if there is a billing issue. Check the isActive property.

+
expirationDate: null | string

The expiration date for the entitlement in ISO8601, can be null for lifetime access. +If the periodType is trial, this is the trial expiration date.

+
expirationDateMillis: null | number

The expiration date for the entitlement in milliseconds, can be null for lifetime access. +If the periodType is trial, this is the trial expiration date.

+
identifier: string

The entitlement identifier configured in the RevenueCat dashboard

+
isActive: boolean

True if the user has access to this entitlement

+
isSandbox: boolean

False if this entitlement is unlocked via a production purchase

+
latestPurchaseDate: string

The latest purchase or renewal date for the entitlement in ISO8601 format.

+
latestPurchaseDateMillis: number

The latest purchase or renewal date for the entitlement in milliseconds.

+
originalPurchaseDate: string

The first date this entitlement was purchased in ISO8601 format.

+
originalPurchaseDateMillis: number

The first date this entitlement was purchased in milliseconds.

+
ownershipType: "FAMILY_SHARED" | "PURCHASED" | "UNKNOWN"

Supported ownership types for an entitlement. +PURCHASED if the purchase was made directly by this user. +FAMILY_SHARED if the purchase has been shared to this user by a family member. +UNKNOWN if the purchase has no or an unknown ownership type.

+
periodType: string

The last period type this entitlement was in. Either: NORMAL, INTRO, TRIAL.

+
productIdentifier: string

The product identifier that unlocked this entitlement

+
productPlanIdentifier: null | string

The product plan identifier that unlocked this entitlement. Android subscriptions only, null on consumables and iOS.

+
store: "PLAY_STORE" | "APP_STORE" | "STRIPE" | "MAC_APP_STORE" | "PROMOTIONAL" | "AMAZON" | "RC_BILLING" | "UNKNOWN_STORE"

The store where this entitlement was unlocked from.

+
unsubscribeDetectedAt: null | string

The date an unsubscribe was detected in ISO8601 format. Can be null.

+

@note: Entitlement may still be active even if user has unsubscribed. Check the isActive property.

+
unsubscribeDetectedAtMillis: null | number

The date an unsubscribe was detected in milliseconds. Can be null.

+

@note: Entitlement may still be active even if user has unsubscribed. Check the isActive property.

+
verification: VERIFICATION_RESULT

If entitlement verification was enabled, the result of that verification. If not, VerificationResult.NOT_REQUESTED

+
willRenew: boolean

True if the underlying subscription is set to renew at the end of the billing period (expirationDate).

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesEntitlementInfos.html b/docs/7.26.1/interfaces/PurchasesEntitlementInfos.html new file mode 100644 index 0000000..17d09d9 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesEntitlementInfos.html @@ -0,0 +1,8 @@ +PurchasesEntitlementInfos | react-native-purchases - v7.26.1

Interface PurchasesEntitlementInfos

Contains all the entitlements associated to the user.

+
interface PurchasesEntitlementInfos {
    active: {
        [key: string]: PurchasesEntitlementInfo;
    };
    all: {
        [key: string]: PurchasesEntitlementInfo;
    };
    verification: VERIFICATION_RESULT;
}

Properties

Properties

active: {
    [key: string]: PurchasesEntitlementInfo;
}

Map of active EntitlementInfo (PurchasesEntitlementInfo) objects keyed by entitlement identifier.

+

Type declaration

all: {
    [key: string]: PurchasesEntitlementInfo;
}

Map of all EntitlementInfo (PurchasesEntitlementInfo) objects (active and inactive) keyed by entitlement identifier.

+

Type declaration

verification: VERIFICATION_RESULT

If entitlement verification was enabled, the result of that verification. If not, VerificationResult.NOT_REQUESTED

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesError.html b/docs/7.26.1/interfaces/PurchasesError.html new file mode 100644 index 0000000..6b39944 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesError.html @@ -0,0 +1,7 @@ +PurchasesError | react-native-purchases - v7.26.1

Interface PurchasesError

interface PurchasesError {
    code: PURCHASES_ERROR_CODE;
    message: string;
    readableErrorCode: string;
    underlyingErrorMessage: string;
    userCancelled: null | boolean;
    userInfo: ErrorInfo;
}

Properties

message: string
readableErrorCode: string
underlyingErrorMessage: string
userCancelled: null | boolean
userInfo: ErrorInfo

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesIntroPrice.html b/docs/7.26.1/interfaces/PurchasesIntroPrice.html new file mode 100644 index 0000000..1bd5dc9 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesIntroPrice.html @@ -0,0 +1,13 @@ +PurchasesIntroPrice | react-native-purchases - v7.26.1

Interface PurchasesIntroPrice

interface PurchasesIntroPrice {
    cycles: number;
    period: string;
    periodNumberOfUnits: number;
    periodUnit: string;
    price: number;
    priceString: string;
}

Properties

cycles: number

Number of subscription billing periods for which the user will be given the discount, such as 3.

+
period: string

Billing period of the discount, specified in ISO 8601 format.

+
periodNumberOfUnits: number

Number of units for the billing period of the discount.

+
periodUnit: string

Unit for the billing period of the discount, can be DAY, WEEK, MONTH or YEAR.

+
price: number

Price in the local currency.

+
priceString: string

Formatted price, including its currency sign, such as €3.99.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesOffering.html b/docs/7.26.1/interfaces/PurchasesOffering.html new file mode 100644 index 0000000..92876e9 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesOffering.html @@ -0,0 +1,28 @@ +PurchasesOffering | react-native-purchases - v7.26.1

Interface PurchasesOffering

An offering is a collection of Packages (PurchasesPackage) available for the user to purchase. +For more info see https://docs.revenuecat.com/docs/entitlements

+
interface PurchasesOffering {
    annual: null | PurchasesPackage;
    availablePackages: PurchasesPackage[];
    identifier: string;
    lifetime: null | PurchasesPackage;
    metadata: {
        [key: string]: unknown;
    };
    monthly: null | PurchasesPackage;
    serverDescription: string;
    sixMonth: null | PurchasesPackage;
    threeMonth: null | PurchasesPackage;
    twoMonth: null | PurchasesPackage;
    weekly: null | PurchasesPackage;
}

Properties

annual: null | PurchasesPackage

Annual package type configured in the RevenueCat dashboard, if available.

+
availablePackages: PurchasesPackage[]

Array of Package objects available for purchase.

+
identifier: string

Unique identifier defined in RevenueCat dashboard.

+
lifetime: null | PurchasesPackage

Lifetime package type configured in the RevenueCat dashboard, if available.

+
metadata: {
    [key: string]: unknown;
}

Offering metadata defined in RevenueCat dashboard. To access values, you need +to check the type beforehand. For example: +const my_unknown_value: unknown = offering.metadata['my_key']; +const my_string_value: string | undefined = typeof(my_unknown_value) === 'string' ? my_unknown_value : undefined;

+

Type declaration

  • [key: string]: unknown
monthly: null | PurchasesPackage

Monthly package type configured in the RevenueCat dashboard, if available.

+
serverDescription: string

Offering description defined in RevenueCat dashboard.

+
sixMonth: null | PurchasesPackage

Six month package type configured in the RevenueCat dashboard, if available.

+
threeMonth: null | PurchasesPackage

Three month package type configured in the RevenueCat dashboard, if available.

+
twoMonth: null | PurchasesPackage

Two month package type configured in the RevenueCat dashboard, if available.

+
weekly: null | PurchasesPackage

Weekly package type configured in the RevenueCat dashboard, if available.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesOfferings.html b/docs/7.26.1/interfaces/PurchasesOfferings.html new file mode 100644 index 0000000..904bf14 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesOfferings.html @@ -0,0 +1,7 @@ +PurchasesOfferings | react-native-purchases - v7.26.1

Interface PurchasesOfferings

Contains all the offerings configured in RevenueCat dashboard. +For more info see https://docs.revenuecat.com/docs/entitlements

+
interface PurchasesOfferings {
    all: {
        [key: string]: PurchasesOffering;
    };
    current: null | PurchasesOffering;
}

Properties

Properties

all: {
    [key: string]: PurchasesOffering;
}

Map of all Offerings [PurchasesOffering] objects keyed by their identifier.

+

Type declaration

current: null | PurchasesOffering

Current offering configured in the RevenueCat dashboard.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesPackage.html b/docs/7.26.1/interfaces/PurchasesPackage.html new file mode 100644 index 0000000..136cc7e --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesPackage.html @@ -0,0 +1,15 @@ +PurchasesPackage | react-native-purchases - v7.26.1

Interface PurchasesPackage

Contains information about the product available for the user to purchase. +For more info see https://docs.revenuecat.com/docs/entitlements

+
interface PurchasesPackage {
    identifier: string;
    offeringIdentifier: string;
    packageType: PACKAGE_TYPE;
    presentedOfferingContext: PresentedOfferingContext;
    product: PurchasesStoreProduct;
}

Properties

identifier: string

Unique identifier for this package. Can be one a predefined package type or a custom one.

+
offeringIdentifier: string

Offering this package belongs to. +@deprecated, use presentedOfferingContext

+
packageType: PACKAGE_TYPE

Package type for the product. Will be one of [PACKAGE_TYPE].

+
presentedOfferingContext: PresentedOfferingContext

Offering context this package belongs to. +Null if not using offerings or if fetched directly from store via getProducts.

+

Product assigned to this package.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesPromotionalOffer.html b/docs/7.26.1/interfaces/PurchasesPromotionalOffer.html new file mode 100644 index 0000000..35fde82 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesPromotionalOffer.html @@ -0,0 +1,6 @@ +PurchasesPromotionalOffer | react-native-purchases - v7.26.1

Interface PurchasesPromotionalOffer

interface PurchasesPromotionalOffer {
    identifier: string;
    keyIdentifier: string;
    nonce: string;
    signature: string;
    timestamp: number;
}

Properties

identifier: string
keyIdentifier: string
nonce: string
signature: string
timestamp: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesStoreProduct.html b/docs/7.26.1/interfaces/PurchasesStoreProduct.html new file mode 100644 index 0000000..1b20724 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesStoreProduct.html @@ -0,0 +1,42 @@ +PurchasesStoreProduct | react-native-purchases - v7.26.1

Interface PurchasesStoreProduct

interface PurchasesStoreProduct {
    currencyCode: string;
    defaultOption: null | SubscriptionOption;
    description: string;
    discounts: null | PurchasesStoreProductDiscount[];
    identifier: string;
    introPrice: null | PurchasesIntroPrice;
    presentedOfferingContext: null | PresentedOfferingContext;
    presentedOfferingIdentifier: null | string;
    price: number;
    priceString: string;
    productCategory: null | PRODUCT_CATEGORY;
    productType: PRODUCT_TYPE;
    subscriptionOptions: null | SubscriptionOption[];
    subscriptionPeriod: null | string;
    title: string;
}

Properties

currencyCode: string

Currency code for price and original price. +Contains the currency code value of defaultOption for Google Play.

+
defaultOption: null | SubscriptionOption

Default subscription option for a product. Google Play only.

+
description: string

Description of the product.

+
discounts: null | PurchasesStoreProductDiscount[]

Collection of discount offers for a product. Null for Android.

+
identifier: string

Product Id.

+
introPrice: null | PurchasesIntroPrice

Introductory price.

+
presentedOfferingContext: null | PresentedOfferingContext

Offering context this package belongs to. +Null if not using offerings or if fetched directly from store via getProducts.

+
presentedOfferingIdentifier: null | string

Offering identifier the store product was presented from. +Null if not using offerings or if fetched directly from store via getProducts. +@deprecated, use presentedOfferingContext

+
price: number

Price of the product in the local currency. +Contains the price value of defaultOption for Google Play.

+
priceString: string

Formatted price of the item, including its currency sign. +Contains the formatted price value of defaultOption for Google Play.

+
productCategory: null | PRODUCT_CATEGORY

Product category.

+
productType: PRODUCT_TYPE

The specific type of subscription or one time purchase this product represents. +Important: In iOS, if using StoreKit 1, we cannot determine the type.

+
subscriptionOptions: null | SubscriptionOption[]

Collection of subscription options for a product. Google Play only.

+
subscriptionPeriod: null | string

Subscription period, specified in ISO 8601 format. For example, +P1W equates to one week, P1M equates to one month, +P3M equates to three months, P6M equates to six months, +and P1Y equates to one year. +Note: Not available for Amazon.

+
title: string

Title of the product.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesStoreProductDiscount.html b/docs/7.26.1/interfaces/PurchasesStoreProductDiscount.html new file mode 100644 index 0000000..041b772 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesStoreProductDiscount.html @@ -0,0 +1,15 @@ +PurchasesStoreProductDiscount | react-native-purchases - v7.26.1

Interface PurchasesStoreProductDiscount

interface PurchasesStoreProductDiscount {
    cycles: number;
    identifier: string;
    period: string;
    periodNumberOfUnits: number;
    periodUnit: string;
    price: number;
    priceString: string;
}

Properties

cycles: number

Number of subscription billing periods for which the user will be given the discount, such as 3.

+
identifier: string

Identifier of the discount.

+
period: string

Billing period of the discount, specified in ISO 8601 format.

+
periodNumberOfUnits: number

Number of units for the billing period of the discount.

+
periodUnit: string

Unit for the billing period of the discount, can be DAY, WEEK, MONTH or YEAR.

+
price: number

Price in the local currency.

+
priceString: string

Formatted price, including its currency sign, such as €3.99.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/PurchasesStoreTransaction.html b/docs/7.26.1/interfaces/PurchasesStoreTransaction.html new file mode 100644 index 0000000..0223dd8 --- /dev/null +++ b/docs/7.26.1/interfaces/PurchasesStoreTransaction.html @@ -0,0 +1,9 @@ +PurchasesStoreTransaction | react-native-purchases - v7.26.1

Interface PurchasesStoreTransaction

List of all non subscription transactions. Use this to fetch the history of +non-subscription purchases

+
interface PurchasesStoreTransaction {
    productIdentifier: string;
    purchaseDate: string;
    transactionIdentifier: string;
}

Properties

productIdentifier: string

Product Id associated with the transaction.

+
purchaseDate: string

Purchase date of the transaction in ISO 8601 format.

+
transactionIdentifier: string

Id of the transaction.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/SubscriptionOption.html b/docs/7.26.1/interfaces/SubscriptionOption.html new file mode 100644 index 0000000..8908014 --- /dev/null +++ b/docs/7.26.1/interfaces/SubscriptionOption.html @@ -0,0 +1,40 @@ +SubscriptionOption | react-native-purchases - v7.26.1

Interface SubscriptionOption

Contains all details associated with a SubscriptionOption +Used only for Google

+
interface SubscriptionOption {
    billingPeriod: null | Period;
    freePhase: null | PricingPhase;
    fullPricePhase: null | PricingPhase;
    id: string;
    introPhase: null | PricingPhase;
    isBasePlan: boolean;
    isPrepaid: boolean;
    presentedOfferingContext: null | PresentedOfferingContext;
    presentedOfferingIdentifier: null | string;
    pricingPhases: PricingPhase[];
    productId: string;
    storeProductId: string;
    tags: string[];
}

Properties

billingPeriod: null | Period

The subscription period of fullPricePhase (after free and intro trials).

+
freePhase: null | PricingPhase

The free trial PricingPhase of the subscription. +Looks for the first pricing phase of the SubscriptionOption where amountMicros is 0. +There can be a freeTrialPhase and an introductoryPhase in the same SubscriptionOption.

+
fullPricePhase: null | PricingPhase

The full price PricingPhase of the subscription. +Looks for the last price phase of the SubscriptionOption.

+
id: string

Identifier of the subscription option +If this SubscriptionOption represents a base plan, this will be the basePlanId. +If it represents an offer, it will be {basePlanId}:{offerId}

+
introPhase: null | PricingPhase

The intro trial PricingPhase of the subscription. +Looks for the first pricing phase of the SubscriptionOption where amountMicros is greater than 0. +There can be a freeTrialPhase and an introductoryPhase in the same SubscriptionOption.

+
isBasePlan: boolean

True if this SubscriptionOption represents a subscription base plan (rather than an offer).

+
isPrepaid: boolean

True if the subscription is pre-paid.

+
presentedOfferingContext: null | PresentedOfferingContext

Offering context this package belongs to. +Null if not using offerings or if fetched directly from store via getProducts.

+
presentedOfferingIdentifier: null | string

Offering identifier the subscription option was presented from +@deprecated, use presentedOfferingContext

+
pricingPhases: PricingPhase[]

Pricing phases defining a user's payment plan for the product over time.

+
productId: string

Identifer of the subscription associated with this SubscriptionOption +This will be {subId}

+
storeProductId: string

Identifier of the StoreProduct associated with this SubscriptionOption +This will be {subId}:{basePlanId}

+
tags: string[]

Tags defined on the base plan or offer. Empty for Amazon.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/interfaces/UpgradeInfo.html b/docs/7.26.1/interfaces/UpgradeInfo.html new file mode 100644 index 0000000..b5d7865 --- /dev/null +++ b/docs/7.26.1/interfaces/UpgradeInfo.html @@ -0,0 +1,7 @@ +UpgradeInfo | react-native-purchases - v7.26.1

Holds the information used when upgrading from another sku. For Android use only. +@deprecated, use GoogleProductChangeInfo

+
interface UpgradeInfo {
    oldSKU: string;
    prorationMode?: PRORATION_MODE;
}

Properties

Properties

oldSKU: string

The oldSKU to upgrade from.

+
prorationMode?: PRORATION_MODE

The [PRORATION_MODE] to use when upgrading the given oldSKU.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/modules.html b/docs/7.26.1/modules.html new file mode 100644 index 0000000..f3f3878 --- /dev/null +++ b/docs/7.26.1/modules.html @@ -0,0 +1,43 @@ +react-native-purchases - v7.26.1

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/types/CustomerInfoUpdateListener.html b/docs/7.26.1/types/CustomerInfoUpdateListener.html new file mode 100644 index 0000000..506abee --- /dev/null +++ b/docs/7.26.1/types/CustomerInfoUpdateListener.html @@ -0,0 +1,3 @@ +CustomerInfoUpdateListener | react-native-purchases - v7.26.1

Type alias CustomerInfoUpdateListener

CustomerInfoUpdateListener: ((customerInfo) => void)

Listener used on updated customer info

+

Type declaration

    • (customerInfo): void
    • Parameters

      • customerInfo: CustomerInfo

        Object containing info for the customer

        +

      Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/types/LogHandler.html b/docs/7.26.1/types/LogHandler.html new file mode 100644 index 0000000..b58a71f --- /dev/null +++ b/docs/7.26.1/types/LogHandler.html @@ -0,0 +1 @@ +LogHandler | react-native-purchases - v7.26.1
LogHandler: ((logLevel, message) => void)

Type declaration

    • (logLevel, message): void
    • Parameters

      Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/types/MakePurchaseResult.html b/docs/7.26.1/types/MakePurchaseResult.html new file mode 100644 index 0000000..9c7f88e --- /dev/null +++ b/docs/7.26.1/types/MakePurchaseResult.html @@ -0,0 +1 @@ +MakePurchaseResult | react-native-purchases - v7.26.1

Type alias MakePurchaseResult

MakePurchaseResult: {
    customerInfo: CustomerInfo;
    productIdentifier: string;
    transaction: PurchasesStoreTransaction;
}

Type declaration

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/7.26.1/types/ShouldPurchasePromoProductListener.html b/docs/7.26.1/types/ShouldPurchasePromoProductListener.html new file mode 100644 index 0000000..a84faf2 --- /dev/null +++ b/docs/7.26.1/types/ShouldPurchasePromoProductListener.html @@ -0,0 +1 @@ +ShouldPurchasePromoProductListener | react-native-purchases - v7.26.1

Type alias ShouldPurchasePromoProductListener

ShouldPurchasePromoProductListener: ((deferredPurchase) => void)

Type declaration

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index d314e31..d9f95a5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,7 +2,7 @@ - +