diff --git a/docs/8.3.0/.nojekyll b/docs/8.3.0/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/docs/8.3.0/.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/8.3.0/assets/highlight.css b/docs/8.3.0/assets/highlight.css new file mode 100644 index 0000000..7718b7b --- /dev/null +++ b/docs/8.3.0/assets/highlight.css @@ -0,0 +1,57 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #795E26; + --dark-hl-2: #DCDCAA; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0070C1; + --dark-hl-4: #4FC1FF; + --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); + --hl-4: var(--light-hl-4); + --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); + --hl-4: var(--dark-hl-4); + --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); + --hl-4: var(--light-hl-4); + --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); + --hl-4: var(--dark-hl-4); + --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); } +.hl-4 { color: var(--hl-4); } +pre, code { background: var(--code-background); } diff --git a/docs/8.3.0/assets/icons.js b/docs/8.3.0/assets/icons.js new file mode 100644 index 0000000..b79c9e8 --- /dev/null +++ b/docs/8.3.0/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/8.3.0/assets/icons.svg b/docs/8.3.0/assets/icons.svg new file mode 100644 index 0000000..7dead61 --- /dev/null +++ b/docs/8.3.0/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/8.3.0/assets/main.js b/docs/8.3.0/assets/main.js new file mode 100644 index 0000000..d6f1388 --- /dev/null +++ b/docs/8.3.0/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.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * 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/8.3.0/assets/navigation.js b/docs/8.3.0/assets/navigation.js new file mode 100644 index 0000000..5bac177 --- /dev/null +++ b/docs/8.3.0/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62XXW/aMBiF/8qU63ZdK3XruAvB0KghyRynE5qmyE1MsAh2ZDvS0LT/PkELhHwBDtfnvOd5/Rnn119DkT/KGBhD23FsdxKNgYlCCIwbI8dqYQwMwoqVvKvInxdqlRk3xpKyxBg83RhxhqU0BoaSyS2Vt+SPIoLhzPh3syfYLoJeBBx7Yg9tx0azKEAmCoMqqs2nw3S8SeSAV+BUIXtBJ9UbjwGMfHM2BS6Kpt6oNl11hw7HN60XcwIiNPNrhLKmlQ2g7Y2i0LVRLfogaSVDbxRaKLJMBCYenNXiK3ofRuPMlDTNbGgi23MbV/ZY1coPofVsBiCITAgiy5v6DkBgFA1nzcPptvfrAEDowchqGmeDpw+rc2zdI0lILkiMFUk+dYAgsEIIgWuBxnWryDpDgWAcuqMIgh8hCFDL7dVo0qEFyIPgxUbRK4CB7blVUFXXYSRkjotMHaK3NUTefQjHmfcPT6Vaq5CKr4iw2ZwfAihTRMxxTORd2XAc9PD49az2gBC8PX+v6oVPOE8z4gueFLGyFpilpBXV4tUD20wqnGUrwpRsJVZNuiglOMhoSt9oRtW6BXVs0kM5PLUZJPJoO5UoJV0P4BNBedKY/S5pxgoiCVMk8eZzIihLLc62UiOoxXwlNMIiJerSHqpVus3QmLQAaUz0QylL/QWW7dk7gyaiEPGmWlqczWlaCKwoZ82wRmtPLGCKqoxsDmrrYW4zXxctL2LLvvDN7XuCuLH0xGwvp469Wff1BO5OVTdu57oS7MTS7W09cT6Olzg9MZMfpr4owVd8c7xwtu3+BLPi7gkPFBe7r3U3uOy8InREZcwLdgF8V3GNJpDATOL49D1YdfeE/6RsiOPlGetddupBg+JNxoLmm7a9vHWodZseLsxTgZP2B2JJ7wCc9yNTfjeHeYIVcahUhJUnVa3zygv72Flp4sv3b/ePD+e+454xS7I67aDop0/xkux2QfWx+E6pO/Rp+/1mCmLxVZ4RRZLhuopssV2dO12beX4mfOvV7yBY8CJLdtnb6/XjomnbS6crLu3m93/GlBKkXRQAAA==" \ No newline at end of file diff --git a/docs/8.3.0/assets/search.js b/docs/8.3.0/assets/search.js new file mode 100644 index 0000000..2a95f2c --- /dev/null +++ b/docs/8.3.0/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WcW2/bOBaA/4vm1ehEdzdvruN2jHHirO10UBiFQEu0zI0sakUpqbfof19Q8uVQJiWF6b4MMO256XyHhxR91J9GTl+Zcbv+aTyTNDJuTWs4MFK0x8atEeEtKpPCGBhlnhi3RpggxjD78/jnH3bFPjEGpz82bg3j1+Bs58ZyzoYenxbjv0bLSbD69jhpNfdHUxQYHxgZynFagMhU/hbzu6fxKhiPVpMv88W3DpfX0lpeP01ns+nDl+DzZLR6WnQ857Wwls/F5PPTw12wmPzrabJcBcvVaPW0bPesUtHN9GK0ms4fgvv5XRfapqyex9H479GXXqUkSmp5mz6sFvNgMpt+mX6azqarb71S3KKl98zHRbEMJovFfBGMu3Mt19DyPpt/CWaTr5NZu0soppnrYPT4GNxPlst+gOUKWr4nD6vpaja5nzysgq+TxfTzdNy3rLtUteIRDC0my6fZqj0KuYKW7+Vqvpj8Pa2eZjmdP7Q7lki/s8ZHi0kwnt8/ziaryV3w6dsbdg21ct+YrBvnsgGGNN2SuMxxu3copuWH4WKUJPR1uUM5SeNlQXM8CkNapu2b7x/tirqxLMm+TFCB2Yg9r+in8jBNlyiNNvRHZzStqlrxoCgal6yge5xP0y19yiJU4BlhBU5x3h5Pl6pWPDne0xesG1IPbd0sLXe0TKLHMg93iOHHnO7pY06jMix6Z6uXiXdk7b0hvsGKVpQxLubbLeZLibVH0pDU9TYucy57MvWZ5o8JCvEedy38Tl29tX9Iw1FR5GRT8iWcRudnnG4fMI5w1NEA+ujr5urIuBsMENTylV0qi9tp93ct/C6fVQd/k+OGxru83xFW7R04elMIMrX3ZR6Fzyju2HWvhd+X+XLDwpxkBaHpvPpvz/zL9H4XhbfkQaam2atZVVNHux0LTiKtu8JHWfbEcD6961ziUFLLW0LjaQfgk4iu/XnZsXzOMrrntDu8KeMZjdkkRZukszlLFXR9z2g8wy846fQJBN/h6y+URknX8aApqr8rX45nPbZhQVh73+253Jqi+vv8Hv2XpidTPfb1pry25/mG4fwF5/c0wm+NolVXs9uFNI/6RXAlq+URV4tvFC1x/kJCzE4nJkLTFX3G6ZgmCQ67d6A32dGKlLBRStPDnpYdVSkK6r1r73D4vMoJSub5NC3qgwTND485CfEkITHZkIQUh45X8f5W3nEO3VOeVZRUx9s+59Gmgq7v+gkS/A9JP6HwuTLH+Mm/z3Gtl/5vj6zPEaaX/u84y/9Dih308KazvUT5d5xyNWNSKuut9PQFJYTfRMD9bIzCXQe6dkW9/OSY4bQY0wgvcIT31aF6ucO463WkTU/7Xu78Ott9EwdFdf1N9oh0H6pOUrpeHnc0xQ/lftPjSCXKap9VCcsSdHjgf9B5TBVktZ+xZLtqH+x+QiCp7S2nPw5Pi47fSERBzTvpale/w3zPn0Y4LciW4LyjPFu0tFdG9O+SFV0va6Kgtq8sY9vk0P1ueCWr6/Hzp/OJpofPprSu1/sM5QUJE9zDpyir63Gc4Becr1DWw6Moq/2M5EeGUpzcEVaQNOxTQVIVbbIkxxvE8CjLpikrUBr2ybZKSzeKeYoZiVOU9PAtymqvIZKzHcnGO5SmuI9biYI2cxwRtKRlHnZ3f1FWu67RPkMk7m7+QFC/E37JaZn1aIQnOX1PPZy8w/7f+PBK824nFzltPjlGBXnpLgcgqLdfovQePeNHdOC/jHRtk1fCWj43OCbpAm/LNFrg/5SYFZ9pPgr5Y0zSghRJj194etv4fRG+L7b/V1S93m07NPWqdEdfp+koy+4xYyjufAOQiGveuoxPAwUdK7Eh2deba1pwxIEVeXVJ0jnkAAQ7XH0fGCSN8A/j9qfxgnPG76BuDeuD/eGjMTC2BCcRHzqsgxgYId1XZfP9+HdfMXfDJWqRP2+Mwfpm4Nx8sFzn+/fB+qRR/UX1B5WYaQzWpkzMFMQsY7C2ZGKWIGYbg7UtE7MFMccYrB2ZmCOIucZg7crEXEHMMwZrTybmCWK+MVj7MjFfEBsag/VQJjYUxD4ag/VHmdhHMb0826aUg9kAUZGQoxBZmDznppSGKeIwedpNKRBTJGLyzJtSJqYIxeTJN6VYTJGLyfNvSsmYIhqTIzClcEyRjskpmFI+pgjI5CBMKSJTZGRxEJaUkSUysjgIS8rIaqyXasHIV4zIyOIgLCkjS2RkcRCWlJElMrI4CEvKyBIZWRyEJWVkiYwsDsKSMrJERhYHYUkZWSIji4OwpIwskZHNQdhSRrbIyOYgbCkjW2RkcxC2lJHdaGtVX5M3NpGRzUHYUka2yMjmIGwpI1tkZHMQtpSRLTKyOQhbysgWGdkchC1lZIuMbA7CljKyRUYOB+FIGTkiI4eDcKSMHJGRw0E4UkaOyMjhIBwpI6ex+1Tbj3z/ERk5HIQjZeSIjBwOwpEyckRGDgfhSBk5IiOHg3CkjByRkcNBOFJGjsjI5SBcKSNXZORyEK6UkSsycjkIV8rIFRm5HIQrZeSKjFwOwpUychuHhOqUID8miIxcDsKVMnJFRi4H4UoZuSIjl4NwpYxckZHLQbhSRq7IyOMgPCkjT2TkcRCelJEnMvI4CE/KyBMZeRyEJ2XkiYw8DsKTMvJERh4H4UkZeY2zXHWYk5/mREYeB+FJGXkiI4+D8KSMPJGRx0F4UkaeyMjnIHwpI19k5HMQvpSRLzLyOQhfysgXGfkchC9l5IuMfA7ClzLyRUY+B+FLGfkiI5+D8KWM/MaRuzpzyw/dIiOfg/CljHyRkc9B+FJGvshoyEEMpYyGIqMhBzGUMhqKjIYcxFDKaFgzqt7jXnBe4Ghav8+t13zWODz+1kfSLS2rAebkPHr70wiO737m+Z32p2EOjdufv35d3vX4/3GPKIpYNdB7+mUz4z+XZ/Wru8yqdXOxat0orFb3AXl1H5DX9wFbmqPq9gTDe4qLWd+/mPX9t5hVGQRP76ueXmowO91bAGMfgbGPKmMkSUgaB1uMiuprhIu+fVG3FdohSvfoGWfnuy/g3QPePZU+H70o+OgFzQkYvcj46AWGoxcXww4w7CgN179dRdVvVwT+dnUx5IGi8FRFAb7TAEXqgiJ11ZqXy4+L7tC66A4the7pUgTogWBVsdbDPShix+EedBnuKfhPlSEY7gH5dEA+HaXpc70GLzgnWxIibijY00hMjQlSYyqsxbhAWVYynJNIqDhYcqqai3ER1mPs9Dgpzsv/MsYOVj0wZ7Wau3QmIRywgGzVAopxgY9zKK8k3aDwuQqL8aBOcygg2cCko2Pyepk7oGc4qp4R43O2hDVggWq0VNUY4yI7z8cDXbAKLNUqqHVPs0y0njcBwYMO6qg6KEkDlGXBvr4jDYpDJpYcWBqmam1U3SUALSVgBSpKsWWBjqU0cxpdgUUT1qMrF0suSKurSith6DIAB1IC0uqo0srnti+3uKC7gOU3VC2/hMZBUs/XXjRBYarqMqExEVqHDVqHrWodCY1pKVSsDZ7QVj3hcfFc0QbdX9X8j0M9IY1wfh7qYfVQD2AEuoOr6g7Hug9CVOCY5sJGBJeOWj2X90mQAmUGjoeb64IH9d6hG50H/CXNyAaG7DdYuu5BFuhBlqoHnQ9r15FYoPosVfk19F9JsYPtUcgueDK368lkzwOqzFKWmajfGg9oUa6qRZ3ssQDlOAjpPktwgaNgc7iuALDwTNXCu9jDeU7zIGyUIGDWhaz6XEOWJ9AyLVXPPBsBX73QrHkMsUGKbFWK6mHq7DxMDbomWM2OajXXh+bgeGqW7ADwKKS0wb8n7PkyA8raVJV1bfCN7zOgvi1VfR+/sskuk/8g26B52aruxXCBhN3FB0n2VUmutOJ6aAGoAod+q0M++CUeCz3wtJ7qabluPXwS1sMnDRsAhadCwW3wT6NZ/Wl0lT50+jQaYAXdwVR1B1adceupskYoIBVeWyrAbChoJaBGXVWRMlyE5xkVAAEk0m9JZFgNbRUoawQONi1PtWtx9fP4BXANdP0W3Yh/bpTQmOHT50agaEHe7Za8R/UsaCUKMwealatqVgwXuB6UBYpws26Jfbs5H+gaiQPrxmtZN9vjwBjKMnIcGGsYAo/gtTzC82nWBgAAdeO31E1C493payiQerBZ2Krdota+OlnaIGi7Jeg9H+JixyEuEDjYGHzVxsDVjwN/0XHgr5E5eG5sqZ39aUKyoQ6y57Vkj57G7hrqIH1eS/oyPjedHuemQQGC4N2W4DM+J8znMaAuaHxuS+PLSrYr6oFmoAzidlviZqd/wgGx54JuygNJ2emfcAB9ExSCqSyEHX0lKcqy/XkkBhxZQC0MlbXA2/YzqS4qWOOUYYKVaCpX4iENUfWhmPSkAZqoo2yi3MS5f6M0Or99k216/KodbOeguixldR3SkB4/ZeNvEy0Rgg3GUW4whzSUHg0ckGNHlWPhDijHrHFZZYIITGkE3wdGRjKckBQbt+vvv379Dze0b+pWTAAA"; \ No newline at end of file diff --git a/docs/8.3.0/assets/style.css b/docs/8.3.0/assets/style.css new file mode 100644 index 0000000..778b949 --- /dev/null +++ b/docs/8.3.0/assets/style.css @@ -0,0 +1,1412 @@ +: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 */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +.tsd-generator { + margin: 0 1em; +} + +.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: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + 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/8.3.0/classes/default.html b/docs/8.3.0/classes/default.html new file mode 100644 index 0000000..4c4d745 --- /dev/null +++ b/docs/8.3.0/classes/default.html @@ -0,0 +1,468 @@ +default | react-native-purchases - v8.3.0

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_ARE_COMPLETED_BY_TYPE: typeof PURCHASES_ARE_COMPLETED_BY_TYPE = PURCHASES_ARE_COMPLETED_BY_TYPE

Enum of PurchasesAreCompletedByType.

+
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.

+
STOREKIT_VERSION: typeof STOREKIT_VERSION = STOREKIT_VERSION

Enum of StoreKit version.

+
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.

    +
  • Sets up Purchases with your API key and an app user id.

    +

    Parameters

    Returns void

    Warning

    If you use purchasesAreCompletedBy=PurchasesAreCompletedByMyApp, you must also provide a value for storeKitVersion.

    +
  • 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.

    +
  • iOS only. Use this function to retrieve the eligible PurchasesWinBackOffers that a subscriber +is eligible for for a given PurchasesPackage.

    +

    Parameters

    Returns Promise<undefined | [PurchasesWinBackOffer]>

    Returns an array of win-back offers that the subscriber is eligible for. +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.

    +
  • iOS only. Use this function to retrieve the eligible PurchasesWinBackOffers that a subscriber +is eligible for for a given PurchasesProduct.

    +

    Parameters

    Returns Promise<undefined | [PurchasesWinBackOffer]>

    Returns an array of win-back offers that the subscriber is eligible for. +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.

    +
  • 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. 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.

    +
  • iOS only. Purchase a package applying a given win-back offer.

    +

    Only available on iOS 18.0+ when StoreKit 2 is enabled.

    +

    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

    • 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>

  • iOS only. Purchase a product applying a given win-back offer.

    +

    Only available on iOS 18.0+ when StoreKit 2 is enabled.

    +

    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

    • 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.

    +
  • iOS only. Always returns an error on iOS < 15.

    +

    Use this method only if you already have your own IAP implementation using StoreKit 2 and want to use +RevenueCat's backend. If you are using StoreKit 1 for your implementation, you do not need this method.

    +

    You only need to use this method with new purchases. Subscription updates are observed automatically.

    +

    Important: This should only be used if you have set PurchasesAreCompletedBy to MY_APP during SDK configuration.

    +

    Parameters

    • productID: string

      Product ID that was just purchased

      +

    Returns Promise<PurchasesStoreTransaction>

    If there was a transacton found and handled for the provided product ID.

    +

    Warning

    You need to finish the transaction yourself after calling this method.

    +
  • 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 (app.revenuecat.com) 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. +If you have configured the Legacy restore behavior in the RevenueCat dashboard +and are currently setting this to true, keep this setting active.

    +

    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.

    +
  • 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.

    +
  • 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 to be returned after setting the proxy has been completed.

    +
  • 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.

    +
  • 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.

    +
  • 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.

    +
  • @deprecated, use syncAmazonPurchase instead.

    +

    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.

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

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/INTRO_ELIGIBILITY_STATUS.html b/docs/8.3.0/enums/INTRO_ELIGIBILITY_STATUS.html new file mode 100644 index 0000000..07714f7 --- /dev/null +++ b/docs/8.3.0/enums/INTRO_ELIGIBILITY_STATUS.html @@ -0,0 +1,10 @@ +INTRO_ELIGIBILITY_STATUS | react-native-purchases - v8.3.0

Enumeration INTRO_ELIGIBILITY_STATUS

Enum indicating possible eligibility status for introductory pricing.

+

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/LOG_LEVEL.html b/docs/8.3.0/enums/LOG_LEVEL.html new file mode 100644 index 0000000..6891049 --- /dev/null +++ b/docs/8.3.0/enums/LOG_LEVEL.html @@ -0,0 +1,7 @@ +LOG_LEVEL | react-native-purchases - v8.3.0

Enumeration LOG_LEVEL

Enum for possible log levels to print.

+

Enumeration Members

Enumeration Members

DEBUG: "DEBUG"
ERROR: "ERROR"
INFO: "INFO"
VERBOSE: "VERBOSE"
WARN: "WARN"
\ No newline at end of file diff --git a/docs/8.3.0/enums/OFFER_PAYMENT_MODE.html b/docs/8.3.0/enums/OFFER_PAYMENT_MODE.html new file mode 100644 index 0000000..1a6c98b --- /dev/null +++ b/docs/8.3.0/enums/OFFER_PAYMENT_MODE.html @@ -0,0 +1,8 @@ +OFFER_PAYMENT_MODE | react-native-purchases - v8.3.0

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

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/PACKAGE_TYPE.html b/docs/8.3.0/enums/PACKAGE_TYPE.html new file mode 100644 index 0000000..980de9e --- /dev/null +++ b/docs/8.3.0/enums/PACKAGE_TYPE.html @@ -0,0 +1,20 @@ +PACKAGE_TYPE | react-native-purchases - v8.3.0

Enumeration PACKAGE_TYPE

Enum indicating possible package types.

+

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/PERIOD_UNIT.html b/docs/8.3.0/enums/PERIOD_UNIT.html new file mode 100644 index 0000000..2127305 --- /dev/null +++ b/docs/8.3.0/enums/PERIOD_UNIT.html @@ -0,0 +1,7 @@ +PERIOD_UNIT | react-native-purchases - v8.3.0

Enumeration PERIOD_UNIT

Time duration unit for Period.

+

Enumeration Members

Enumeration Members

DAY: "DAY"
MONTH: "MONTH"
UNKNOWN: "UNKNOWN"
WEEK: "WEEK"
YEAR: "YEAR"
\ No newline at end of file diff --git a/docs/8.3.0/enums/PRODUCT_CATEGORY.html b/docs/8.3.0/enums/PRODUCT_CATEGORY.html new file mode 100644 index 0000000..fdb8056 --- /dev/null +++ b/docs/8.3.0/enums/PRODUCT_CATEGORY.html @@ -0,0 +1,8 @@ +PRODUCT_CATEGORY | react-native-purchases - v8.3.0

Enumeration PRODUCT_CATEGORY

Enum indicating possible product categories.

+

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/PRODUCT_TYPE.html b/docs/8.3.0/enums/PRODUCT_TYPE.html new file mode 100644 index 0000000..641279c --- /dev/null +++ b/docs/8.3.0/enums/PRODUCT_TYPE.html @@ -0,0 +1,14 @@ +PRODUCT_TYPE | react-native-purchases - v8.3.0

Enumeration PRODUCT_TYPE

Enum indicating possible product types.

+

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/PRORATION_MODE.html b/docs/8.3.0/enums/PRORATION_MODE.html new file mode 100644 index 0000000..e5c802b --- /dev/null +++ b/docs/8.3.0/enums/PRORATION_MODE.html @@ -0,0 +1,20 @@ +PRORATION_MODE | react-native-purchases - v8.3.0

Enumeration PRORATION_MODE

Enum with possible proration modes in a subscription upgrade or downgrade in the Play Store. Used only for Google.

+

Enumeration Members

DEFERRED: 6

Replacement takes effect when the old plan expires, and the new price will +be charged at the same time.

+
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
\ No newline at end of file diff --git a/docs/8.3.0/enums/PURCHASES_ARE_COMPLETED_BY_TYPE.html b/docs/8.3.0/enums/PURCHASES_ARE_COMPLETED_BY_TYPE.html new file mode 100644 index 0000000..a47afad --- /dev/null +++ b/docs/8.3.0/enums/PURCHASES_ARE_COMPLETED_BY_TYPE.html @@ -0,0 +1,9 @@ +PURCHASES_ARE_COMPLETED_BY_TYPE | react-native-purchases - v8.3.0

Enumeration PURCHASES_ARE_COMPLETED_BY_TYPE

Modes for completing the purchase process.

+

Enumeration Members

Enumeration Members

MY_APP: "MY_APP"

RevenueCat will not automatically acknowledge any purchases. You will have to do so manually.

+

Note: failing to acknowledge a purchase within 3 days will lead to Google Play automatically issuing a +refund to the user.

+

For more info, see revenuecat.com.

+
REVENUECAT: "REVENUECAT"

RevenueCat will automatically acknowledge verified purchases. No action is required by you.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/PURCHASES_ERROR_CODE.html b/docs/8.3.0/enums/PURCHASES_ERROR_CODE.html new file mode 100644 index 0000000..e94b871 --- /dev/null +++ b/docs/8.3.0/enums/PURCHASES_ERROR_CODE.html @@ -0,0 +1,37 @@ +PURCHASES_ERROR_CODE | react-native-purchases - v8.3.0

Enumeration PURCHASES_ERROR_CODE

Error codes indicating the reason for an error.

+

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"
\ No newline at end of file diff --git a/docs/8.3.0/enums/PURCHASE_TYPE.html b/docs/8.3.0/enums/PURCHASE_TYPE.html new file mode 100644 index 0000000..1295f06 --- /dev/null +++ b/docs/8.3.0/enums/PURCHASE_TYPE.html @@ -0,0 +1,6 @@ +PURCHASE_TYPE | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/RECURRENCE_MODE.html b/docs/8.3.0/enums/RECURRENCE_MODE.html new file mode 100644 index 0000000..e62b31c --- /dev/null +++ b/docs/8.3.0/enums/RECURRENCE_MODE.html @@ -0,0 +1,8 @@ +RECURRENCE_MODE | react-native-purchases - v8.3.0

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

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/REFUND_REQUEST_STATUS.html b/docs/8.3.0/enums/REFUND_REQUEST_STATUS.html new file mode 100644 index 0000000..adc2ced --- /dev/null +++ b/docs/8.3.0/enums/REFUND_REQUEST_STATUS.html @@ -0,0 +1,8 @@ +REFUND_REQUEST_STATUS | react-native-purchases - v8.3.0

Enumeration REFUND_REQUEST_STATUS

Enum for possible refund request results.

+

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/enums/STOREKIT_VERSION.html b/docs/8.3.0/enums/STOREKIT_VERSION.html new file mode 100644 index 0000000..b409a08 --- /dev/null +++ b/docs/8.3.0/enums/STOREKIT_VERSION.html @@ -0,0 +1,12 @@ +STOREKIT_VERSION | react-native-purchases - v8.3.0

Enumeration STOREKIT_VERSION

Defines which version of StoreKit may be used

+

Enumeration Members

Enumeration Members

DEFAULT: "DEFAULT"

Let RevenueCat use the most appropriate version of StoreKit

+
STOREKIT_1: "STOREKIT_1"

Always use StoreKit 1.

+
STOREKIT_2: "STOREKIT_2"

Always use StoreKit 2 (StoreKit 1 will be used if StoreKit 2 is not available in the current device.)

+ +
\ No newline at end of file diff --git a/docs/8.3.0/hierarchy.html b/docs/8.3.0/hierarchy.html new file mode 100644 index 0000000..03b1b56 --- /dev/null +++ b/docs/8.3.0/hierarchy.html @@ -0,0 +1 @@ +react-native-purchases - v8.3.0

react-native-purchases - v8.3.0

Class Hierarchy

\ No newline at end of file diff --git a/docs/8.3.0/index.html b/docs/8.3.0/index.html new file mode 100644 index 0000000..66a8724 --- /dev/null +++ b/docs/8.3.0/index.html @@ -0,0 +1,72 @@ +react-native-purchases - v8.3.0

react-native-purchases - v8.3.0

😻 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

Expo supports in-app payments and is compatible with react-native-purchases. To use the library, create a new project and set up a development build. A development build helps you iterate quickly and provides a complete development environment. After you've created the project, install the library:

+
$ npx expo install react-native-purchases
+
+

Bare workflow

If you are using bare workflow (that is, your project is created using react-native init), install expo into your project and leverage Expo CLI to use Expo tooling and services.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/CustomerInfo.html b/docs/8.3.0/interfaces/CustomerInfo.html new file mode 100644 index 0000000..51ac93b --- /dev/null +++ b/docs/8.3.0/interfaces/CustomerInfo.html @@ -0,0 +1,38 @@ +CustomerInfo | react-native-purchases - v8.3.0

Type containing all information regarding the customer

+
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[]

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

+
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

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/ErrorInfo.html b/docs/8.3.0/interfaces/ErrorInfo.html new file mode 100644 index 0000000..ff24fba --- /dev/null +++ b/docs/8.3.0/interfaces/ErrorInfo.html @@ -0,0 +1,3 @@ +ErrorInfo | react-native-purchases - v8.3.0

Type encapsulating extra info on an error in an SDK operation.

+
interface ErrorInfo {
    readableErrorCode: string;
}

Properties

Properties

readableErrorCode: string
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/GoogleProductChangeInfo.html b/docs/8.3.0/interfaces/GoogleProductChangeInfo.html new file mode 100644 index 0000000..7a1a311 --- /dev/null +++ b/docs/8.3.0/interfaces/GoogleProductChangeInfo.html @@ -0,0 +1,6 @@ +GoogleProductChangeInfo | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/InstallmentsInfo.html b/docs/8.3.0/interfaces/InstallmentsInfo.html new file mode 100644 index 0000000..571e13d --- /dev/null +++ b/docs/8.3.0/interfaces/InstallmentsInfo.html @@ -0,0 +1,6 @@ +InstallmentsInfo | react-native-purchases - v8.3.0

Interface InstallmentsInfo

Type containing information of installment subscriptions. Currently only supported in Google Play.

+
interface InstallmentsInfo {
    commitmentPaymentsCount: number;
    renewalCommitmentPaymentsCount: number;
}

Properties

commitmentPaymentsCount: number

Number of payments the customer commits to in order to purchase the subscription.

+
renewalCommitmentPaymentsCount: number

After the commitment payments are complete, the number of payments the user commits to upon a renewal.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/IntroEligibility.html b/docs/8.3.0/interfaces/IntroEligibility.html new file mode 100644 index 0000000..3a941d8 --- /dev/null +++ b/docs/8.3.0/interfaces/IntroEligibility.html @@ -0,0 +1,6 @@ +IntroEligibility | react-native-purchases - v8.3.0

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

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/LogInResult.html b/docs/8.3.0/interfaces/LogInResult.html new file mode 100644 index 0000000..feb67c1 --- /dev/null +++ b/docs/8.3.0/interfaces/LogInResult.html @@ -0,0 +1,6 @@ +LogInResult | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/Period.html b/docs/8.3.0/interfaces/Period.html new file mode 100644 index 0000000..b8af3e1 --- /dev/null +++ b/docs/8.3.0/interfaces/Period.html @@ -0,0 +1,10 @@ +Period | react-native-purchases - v8.3.0

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

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PresentedOfferingContext.html b/docs/8.3.0/interfaces/PresentedOfferingContext.html new file mode 100644 index 0000000..bcb1994 --- /dev/null +++ b/docs/8.3.0/interfaces/PresentedOfferingContext.html @@ -0,0 +1,8 @@ +PresentedOfferingContext | react-native-purchases - v8.3.0

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.

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

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.

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

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

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PricingPhase.html b/docs/8.3.0/interfaces/PricingPhase.html new file mode 100644 index 0000000..f74c030 --- /dev/null +++ b/docs/8.3.0/interfaces/PricingPhase.html @@ -0,0 +1,13 @@ +PricingPhase | react-native-purchases - v8.3.0

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

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesConfiguration.html b/docs/8.3.0/interfaces/PurchasesConfiguration.html new file mode 100644 index 0000000..bcee9c1 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesConfiguration.html @@ -0,0 +1,42 @@ +PurchasesConfiguration | react-native-purchases - v8.3.0

Interface PurchasesConfiguration

Holds parameters to initialize the SDK.

+
interface PurchasesConfiguration {
    apiKey: string;
    appUserID?: null | string;
    entitlementVerificationMode?: ENTITLEMENT_VERIFICATION_MODE;
    pendingTransactionsForPrepaidPlansEnabled?: boolean;
    purchasesAreCompletedBy?: PurchasesAreCompletedBy;
    shouldShowInAppMessagesAutomatically?: boolean;
    storeKitVersion?: STOREKIT_VERSION;
    useAmazon?: boolean;
    userDefaultsSuiteName?: string;
}

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.

+
pendingTransactionsForPrepaidPlansEnabled?: boolean

Enable this setting if you want to allow pending purchases for prepaid subscriptions (only supported +in Google Play). Note that entitlements are not granted until payment is done. +Disabled by default.

+
purchasesAreCompletedBy?: PurchasesAreCompletedBy

Set this to MY_APP and provide a STOREKIT_VERSION if you have your own IAP implementation and +want to only use RevenueCat's backend. Defaults to PURCHASES_ARE_COMPLETED_BY_TYPE.REVENUECAT.

+

If you are on Android and setting this to MY_APP, will have to acknowledge the purchases yourself. +If your app is only on Android, you may specify any StoreKit version, as it is ignored by the +Android SDK.

+
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

+
storeKitVersion?: STOREKIT_VERSION

iOS-only, will be ignored for Android.

+

By selecting the DEFAULT value, RevenueCat will automatically select the most appropriate StoreKit version +for the app's runtime environment.

+
    +
  • Warning: Make sure you have an In-App Purchase Key configured in your app. +Please see https://rev.cat/in-app-purchase-key-configuration for more info.

    +
  • +
  • Note: StoreKit 2 is only available on iOS 16+. StoreKit 1 will be used for previous iOS versions +regardless of this setting.

    +
  • +
+
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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesEntitlementInfo.html b/docs/8.3.0/interfaces/PurchasesEntitlementInfo.html new file mode 100644 index 0000000..1bb039f --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesEntitlementInfo.html @@ -0,0 +1,53 @@ +PurchasesEntitlementInfo | react-native-purchases - v8.3.0

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" | "EXTERNAL" | "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

+

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

+

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" | "EXTERNAL" | "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.

+

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.

+

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).

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesEntitlementInfos.html b/docs/8.3.0/interfaces/PurchasesEntitlementInfos.html new file mode 100644 index 0000000..f5a64e9 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesEntitlementInfos.html @@ -0,0 +1,8 @@ +PurchasesEntitlementInfos | react-native-purchases - v8.3.0

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

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesError.html b/docs/8.3.0/interfaces/PurchasesError.html new file mode 100644 index 0000000..f7ab14f --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesError.html @@ -0,0 +1,10 @@ +PurchasesError | react-native-purchases - v8.3.0

Interface PurchasesError

Type encapsulating an error in an SDK operation.

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

Properties

message: string
readableErrorCode: string

Deprecated

access readableErrorCode through userInfo.readableErrorCode

+
underlyingErrorMessage: string
userCancelled: null | boolean

Deprecated

use code === Purchases.PURCHASES_ERROR_CODE.PURCHASE_CANCELLED_ERROR instead

+
userInfo: ErrorInfo
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesIntroPrice.html b/docs/8.3.0/interfaces/PurchasesIntroPrice.html new file mode 100644 index 0000000..86ae1e0 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesIntroPrice.html @@ -0,0 +1,14 @@ +PurchasesIntroPrice | react-native-purchases - v8.3.0

Interface PurchasesIntroPrice

Contains information about the introductory price for a product

+
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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesOffering.html b/docs/8.3.0/interfaces/PurchasesOffering.html new file mode 100644 index 0000000..ccf7cd7 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesOffering.html @@ -0,0 +1,28 @@ +PurchasesOffering | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesOfferings.html b/docs/8.3.0/interfaces/PurchasesOfferings.html new file mode 100644 index 0000000..1541e36 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesOfferings.html @@ -0,0 +1,7 @@ +PurchasesOfferings | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesPackage.html b/docs/8.3.0/interfaces/PurchasesPackage.html new file mode 100644 index 0000000..d50d64a --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesPackage.html @@ -0,0 +1,15 @@ +PurchasesPackage | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesPromotionalOffer.html b/docs/8.3.0/interfaces/PurchasesPromotionalOffer.html new file mode 100644 index 0000000..70ac8a5 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesPromotionalOffer.html @@ -0,0 +1,7 @@ +PurchasesPromotionalOffer | react-native-purchases - v8.3.0

Interface PurchasesPromotionalOffer

Holds the information about a PromotionalOffer in Apple's App Store.

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

Properties

identifier: string
keyIdentifier: string
nonce: string
signature: string
timestamp: number
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesStoreProduct.html b/docs/8.3.0/interfaces/PurchasesStoreProduct.html new file mode 100644 index 0000000..67779e0 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesStoreProduct.html @@ -0,0 +1,76 @@ +PurchasesStoreProduct | react-native-purchases - v8.3.0

Interface PurchasesStoreProduct

Type representing a product from the Store.

+
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;
    pricePerMonth: number;
    pricePerMonthString: string;
    pricePerWeek: number;
    pricePerWeekString: string;
    pricePerYear: number;
    pricePerYearString: string;
    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.

+
pricePerMonth: number

Null for INAPP products. The price of the PurchasesStoreProduct in a monthly recurrence. +This means that, for example, if the period is annual, the price will be +divided by 12. Note that this value may be an approximation. For Google subscriptions, +this value will use the basePlan to calculate the value.

+
pricePerMonthString: string

Null for INAPP products. The price of the PurchasesStoreProduct formatted for the current +locale in a monthly recurrence. This means that, for example, if the period is annual, +the price will be divided by 12. It uses a currency formatter to format the price in the +given locale. Note that this value may be an approximation. For Google subscriptions, +this value will use the basePlan to calculate the value.

+
pricePerWeek: number

Null for INAPP products. The price of the PurchasesStoreProduct in a weekly recurrence. +This means that, for example, if the period is monthly, the price will be +divided by 4. Note that this value may be an approximation. For Google subscriptions, +this value will use the basePlan to calculate the value.

+
pricePerWeekString: string

Null for INAPP products. The price of the PurchasesStoreProduct formatted for the current +locale in a weekly recurrence. This means that, for example, if the period is monthly, +the price will be divided by 4. It uses a currency formatter to format the price in the +given locale. Note that this value may be an approximation. For Google subscriptions, +this value will use the basePlan to calculate the value.

+
pricePerYear: number

Null for INAPP products. The price of the PurchasesStoreProduct in a yearly recurrence. +This means that, for example, if the period is monthly, the price will be multiplied by +12. Note that this value may be an approximation. For Google subscriptions, this value +will use the basePlan to calculate the value.

+
pricePerYearString: string

Null for INAPP products. The price of the PurchasesStoreProduct formatted for the current +locale in a yearly recurrence. This means that, for example, if the period is monthly, +the price will be multiplied by 12. It uses a currency formatter to format the price in the +given locale. Note that this value may be an approximation. For Google subscriptions, +this value will use the basePlan to calculate the value.

+
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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesStoreProductDiscount.html b/docs/8.3.0/interfaces/PurchasesStoreProductDiscount.html new file mode 100644 index 0000000..cbfc060 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesStoreProductDiscount.html @@ -0,0 +1,16 @@ +PurchasesStoreProductDiscount | react-native-purchases - v8.3.0

Interface PurchasesStoreProductDiscount

Contains information about a discount offer for a product

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

Hierarchy (view full)

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesStoreTransaction.html b/docs/8.3.0/interfaces/PurchasesStoreTransaction.html new file mode 100644 index 0000000..c315417 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesStoreTransaction.html @@ -0,0 +1,8 @@ +PurchasesStoreTransaction | react-native-purchases - v8.3.0

Interface PurchasesStoreTransaction

Represents a non-subscription transaction in the Store.

+
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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/PurchasesWinBackOffer.html b/docs/8.3.0/interfaces/PurchasesWinBackOffer.html new file mode 100644 index 0000000..1618449 --- /dev/null +++ b/docs/8.3.0/interfaces/PurchasesWinBackOffer.html @@ -0,0 +1,16 @@ +PurchasesWinBackOffer | react-native-purchases - v8.3.0

Interface PurchasesWinBackOffer

Holds the information about a Win-Back Offer in Apple's App Store.

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

Hierarchy (view full)

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/SubscriptionOption.html b/docs/8.3.0/interfaces/SubscriptionOption.html new file mode 100644 index 0000000..820dcaf --- /dev/null +++ b/docs/8.3.0/interfaces/SubscriptionOption.html @@ -0,0 +1,44 @@ +SubscriptionOption | react-native-purchases - v8.3.0

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;
    installmentsInfo: null | InstallmentsInfo;
    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

+
installmentsInfo: null | InstallmentsInfo

For installment subscriptions, the details of the installment plan the customer commits to. +Null for non-installment subscriptions. +Installment plans are only available for Google Play subscriptions.

+
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.

+
\ No newline at end of file diff --git a/docs/8.3.0/interfaces/UpgradeInfo.html b/docs/8.3.0/interfaces/UpgradeInfo.html new file mode 100644 index 0000000..2d2adba --- /dev/null +++ b/docs/8.3.0/interfaces/UpgradeInfo.html @@ -0,0 +1,7 @@ +UpgradeInfo | react-native-purchases - v8.3.0

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.

+
\ No newline at end of file diff --git a/docs/8.3.0/modules.html b/docs/8.3.0/modules.html new file mode 100644 index 0000000..921fa83 --- /dev/null +++ b/docs/8.3.0/modules.html @@ -0,0 +1,49 @@ +react-native-purchases - v8.3.0
\ No newline at end of file diff --git a/docs/8.3.0/types/CustomerInfoUpdateListener.html b/docs/8.3.0/types/CustomerInfoUpdateListener.html new file mode 100644 index 0000000..9559c7b --- /dev/null +++ b/docs/8.3.0/types/CustomerInfoUpdateListener.html @@ -0,0 +1,3 @@ +CustomerInfoUpdateListener | react-native-purchases - v8.3.0

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

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

Listener used to receive log messages from the SDK.

+

Type declaration

    • (logLevel, message): void
    • Parameters

      Returns void

\ No newline at end of file diff --git a/docs/8.3.0/types/MakePurchaseResult.html b/docs/8.3.0/types/MakePurchaseResult.html new file mode 100644 index 0000000..688dddd --- /dev/null +++ b/docs/8.3.0/types/MakePurchaseResult.html @@ -0,0 +1,5 @@ +MakePurchaseResult | react-native-purchases - v8.3.0

Type alias MakePurchaseResult

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

Result of a successful purchase

+

Type declaration

  • customerInfo: CustomerInfo

    The Customer Info for the user.

    +
  • productIdentifier: string

    The product identifier of the purchased product

    +
  • transaction: PurchasesStoreTransaction

    The transaction object for the purchase

    +
\ No newline at end of file diff --git a/docs/8.3.0/types/PurchasesAreCompletedBy.html b/docs/8.3.0/types/PurchasesAreCompletedBy.html new file mode 100644 index 0000000..9c6d28e --- /dev/null +++ b/docs/8.3.0/types/PurchasesAreCompletedBy.html @@ -0,0 +1,9 @@ +PurchasesAreCompletedBy | react-native-purchases - v8.3.0

Type alias PurchasesAreCompletedBy

PurchasesAreCompletedBy: REVENUECAT | PurchasesAreCompletedByMyApp

Allows you to specify whether you want RevenueCat to complete your app's purchases +or if your app will do so.

+

You can configure RevenueCat to complete your purchases like so:

+
Purchases.configure({
apiKey: "123",
purchasesAreCompletedBy: PURCHASES_ARE_COMPLETED_BY.REVENUECAT,
}); +
+

You can specify that purchase are completed by your app like so:

+
Purchases.configure({
apiKey: "123",
purchasesAreCompletedBy: {
type: PURCHASES_ARE_COMPLETED_BY.MY_APP,
storeKitVersion: STOREKIT_VERSION.STOREKIT_1
},
}); +
+
\ No newline at end of file diff --git a/docs/8.3.0/types/PurchasesAreCompletedByMyApp.html b/docs/8.3.0/types/PurchasesAreCompletedByMyApp.html new file mode 100644 index 0000000..0b6b22e --- /dev/null +++ b/docs/8.3.0/types/PurchasesAreCompletedByMyApp.html @@ -0,0 +1,4 @@ +PurchasesAreCompletedByMyApp | react-native-purchases - v8.3.0

Type alias PurchasesAreCompletedByMyApp

PurchasesAreCompletedByMyApp: {
    storeKitVersion: STOREKIT_VERSION;
    type: MY_APP;
}

Configuration option that specifies that your app will complete purchases.

+

Type declaration

  • storeKitVersion: STOREKIT_VERSION

    The version of StoreKit that your app is using to make purchases. This value is ignored +on Android, so if your app is Android-only, you may provide any value.

    +
  • type: MY_APP
\ No newline at end of file diff --git a/docs/8.3.0/types/ShouldPurchasePromoProductListener.html b/docs/8.3.0/types/ShouldPurchasePromoProductListener.html new file mode 100644 index 0000000..57fb0ab --- /dev/null +++ b/docs/8.3.0/types/ShouldPurchasePromoProductListener.html @@ -0,0 +1,2 @@ +ShouldPurchasePromoProductListener | react-native-purchases - v8.3.0

Type alias ShouldPurchasePromoProductListener

ShouldPurchasePromoProductListener: ((deferredPurchase) => void)

Listener used to determine if a user should be able to purchase a promo product.

+

Type declaration

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