diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/docs/.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/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 0000000..f40d582 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,92 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #267F99; + --dark-hl-4: #4EC9B0; + --light-hl-5: #AF00DB; + --dark-hl-5: #C586C0; + --light-hl-6: #001080; + --dark-hl-6: #9CDCFE; + --light-hl-7: #008000; + --dark-hl-7: #6A9955; + --light-hl-8: #0070C1; + --dark-hl-8: #4FC1FF; + --light-hl-9: #098658; + --dark-hl-9: #B5CEA8; + --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); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --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); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --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); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --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); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --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); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 0000000..3092fea --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ie=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?Ie(_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),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,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.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}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()}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){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",H="mouseup",J={x:0,y:0},fe=!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",pe="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(pe,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=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{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 ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{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()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.updateIndexHeadingVisibility()}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.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){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)}};var Z=class extends C{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,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(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.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.href===r.href&&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/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 0000000..7d615cc --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE5WZTXPbNhCG/wvPnibxtE3qm007mUyTVBM77aHTA0yuKYwggAFAN0qn/z0jSqIIcnexPNrvu8+SiyW+9Pd/RYRvsbgqSg+1jqXy9Y1Xti4uilbFdXFVgO224cVE/mkdt6a4KDba1sXVm/8vBs6tbnRU5i9lDMQpJRFpxlsPXzuw1W4aPwh07DvnGgMrtbuzz9o7uwU7ewzMQxPf2xCVMXvTSu0w3txB0z4o23SqgSnj9H868ogunQ3RK23jw66dYVBTlvkR4trNxjwRacZDyxZ7ItOc67r2EMI5vjIqBAgvjkIa+eoyid0+6qZzXbg2WmGIRBeRbozezMZ7xhu5eKrrhuY4Dw4GRo0su237Zi6dfdJN51XUziJkzCbh0kVIDSyri26roq6SnsIGCjdy7P0QEMM+SLl48h2F41sqYx5VtUGeYZDYePBRP+lKRVhpa7VtMqOZCWBzjY33XVWhHx3mYqnDAoGwBk1GOOTmOAeHjEaO7czC8e6+tfpQjFsVYQ5LdY40rD6ZIcZ9i8hw573zAvTBuIz9GUJnkLJSzmV0sjFJq4j/Rwu2VLYCYwDpVNwnJn9ycXiqHD3xijNki342iZn5Uo9cYuoXu7HuX5vrwKlVxCc/6alDRPsStQnSj3Fu5nKcdnVIcQeJjXeVMvo71PfRa4tMiRMDx/oIvlorrGonRRJ93cW18/o7USfUJuHeQlTaIHWaGHjWfrOwX3CJrpsYWJarOwOlcQH7kscqR/nkjqu0dhZ5t0TmOPuOdmTXj9UMBZCq9P/OxpXO9n/i4Uc1Q+k3tfTsO3VIaGtlLRiaddDlpEC0DuZaQKXmbdS2gEvO3bhPQnbb1kDkxufkENHos86iU87RTE4TqS4gvfOua0lOrwoo5EFGfn75rOJuBRtFf99TB0uDqvNBPyNb1EHi42vtoYrIKw0SH483er6z7ysPYA2E/lCdO9FzblmW8+7rWNa3SqPTUjZEli+7OpFWGX+lNPvwe11KIhpxZlnEKz0odF6hnIvo2aKOfTIy1ctTh4z2pzK67pf67KNOrCxf28bAg1c2qArfk80sHO/BbcCSDTBWsxRykzhWpRRmWUJtUu7+C+48MlsiJgETavwKJJFZTpu9GJhZWB7XGdKe2NuewNNtkRo4VvYrWND7h98RMtVCTLn633QxOrvyrh0tPHHXHms/klPS5cvfXr/65RKlnUFPne0rPoalnF9/HiGq05qDEQZRAkjPsCwutTLwBuL1s9JGPfb28ZYTS8DYmSQ6DM8zRGN0zMdgXQt2CMB4iYEBhWHiPv8u8OH977PP5UzmI2SpqOt5NAt3VU8kEL/C0idnrmYxfOaalkhC3xVhOfh7IyIFfijH8PQBnUDTZwIMz58PiBTkpI5lYCf4NEFUvh8sfCMxgmPGHDjHy2PicSFOl+kzZqzPMP/8ACaTyyUwHwAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 0000000..56ccceb --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000..98a4377 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1414 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/classes/Address.html b/docs/classes/Address.html new file mode 100644 index 0000000..e5b3e5f --- /dev/null +++ b/docs/classes/Address.html @@ -0,0 +1,11 @@ +Address | react-native-tpay

Class responsible for storing payer address

+

Constructors

Properties

Constructors

  • Parameters

    • address: null | string

      street number

      +
    • city: null | string

      city name

      +
    • countryCode: null | string

      country code, for example 'PL'

      +
    • postalCode: null | string

      postal code

      +

    Returns Address

Properties

address: null | string
city: null | string
countryCode: null | string
postalCode: null | string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/AmbiguousAlias.html b/docs/classes/AmbiguousAlias.html new file mode 100644 index 0000000..f27049f --- /dev/null +++ b/docs/classes/AmbiguousAlias.html @@ -0,0 +1,7 @@ +AmbiguousAlias | react-native-tpay

Class responsible for storing ambiguous alias information

+

Constructors

Properties

Constructors

Properties

code: string

Alias identifier

+
name: string

Alias display name

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/AmbiguousBlikPayment.html b/docs/classes/AmbiguousBlikPayment.html new file mode 100644 index 0000000..ad6b601 --- /dev/null +++ b/docs/classes/AmbiguousBlikPayment.html @@ -0,0 +1,9 @@ +AmbiguousBlikPayment | react-native-tpay

Class AmbiguousBlikPayment

Class responsible for storing information about ambiguous BLIK payment

+

Constructors

Properties

ambiguousAlias: AmbiguousAlias
blikAlias: BlikAlias
transactionId: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/AmountPaymentConstraint.html b/docs/classes/AmountPaymentConstraint.html new file mode 100644 index 0000000..6e6b6fe --- /dev/null +++ b/docs/classes/AmountPaymentConstraint.html @@ -0,0 +1,9 @@ +AmountPaymentConstraint | react-native-tpay

Class AmountPaymentConstraint

Class responsible for storing information about amount payment constraint

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

maximum: undefined | null | number

maximum price that can be used while creating the transaction

+
minimum: undefined | null | number

minimum price that can be used while creating the transaction

+
type: amount

type of a payment constraint

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ApplePayConfiguration.html b/docs/classes/ApplePayConfiguration.html new file mode 100644 index 0000000..5a147b0 --- /dev/null +++ b/docs/classes/ApplePayConfiguration.html @@ -0,0 +1,7 @@ +ApplePayConfiguration | react-native-tpay

Class ApplePayConfiguration

Class responsible for storing information about Apple Pay configuration.

+

Constructors

Properties

Constructors

Properties

countryCode: string
merchantIdentifier: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ApplePayPayment.html b/docs/classes/ApplePayPayment.html new file mode 100644 index 0000000..5d333a0 --- /dev/null +++ b/docs/classes/ApplePayPayment.html @@ -0,0 +1,8 @@ +ApplePayPayment | react-native-tpay

Class responsible for storing information about Apple Pay payment

+

Hierarchy (view full)

Constructors

Properties

applePayToken: string
callbacks: null | Callbacks
payer: Payer
paymentDetails: PaymentDetails

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/AutomaticPaymentMethods.html b/docs/classes/AutomaticPaymentMethods.html new file mode 100644 index 0000000..f6e0eac --- /dev/null +++ b/docs/classes/AutomaticPaymentMethods.html @@ -0,0 +1,7 @@ +AutomaticPaymentMethods | react-native-tpay

Class AutomaticPaymentMethods

Class responsible for storing information about payer's automatic payment methods

+

Constructors

Properties

Constructors

Properties

blikAlias: null | BlikAlias
tokenizedCards: null | TokenizedCard[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/BlikAlias.html b/docs/classes/BlikAlias.html new file mode 100644 index 0000000..ae21656 --- /dev/null +++ b/docs/classes/BlikAlias.html @@ -0,0 +1,9 @@ +BlikAlias | react-native-tpay

Class responsible for storing information about BLIK alias

+

Constructors

Properties

Constructors

  • Parameters

    • isRegistered: boolean

      true if this BLIK alias is registered (payer saved it after paying with 6-digit code)

      +
    • value: string

      payer's unique alias value

      +
    • label: string

      alias display name

      +

    Returns BlikAlias

Properties

isRegistered: boolean
label: string
value: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/BlikPayment.html b/docs/classes/BlikPayment.html new file mode 100644 index 0000000..b8c3b8d --- /dev/null +++ b/docs/classes/BlikPayment.html @@ -0,0 +1,12 @@ +BlikPayment | react-native-tpay

Class responsible for storing BLIK payment information

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

alias: null | BlikAlias
callbacks: null | Callbacks
code: null | string
payer: Payer
paymentDetails: PaymentDetails

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Callbacks.html b/docs/classes/Callbacks.html new file mode 100644 index 0000000..e71487a --- /dev/null +++ b/docs/classes/Callbacks.html @@ -0,0 +1,7 @@ +Callbacks | react-native-tpay

Class storing the information about callbacks

+

Constructors

Properties

Constructors

Properties

notifications: null | Notifications
redirects: null | Redirects

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CertificatePinningConfiguration.html b/docs/classes/CertificatePinningConfiguration.html new file mode 100644 index 0000000..2150fa7 --- /dev/null +++ b/docs/classes/CertificatePinningConfiguration.html @@ -0,0 +1,6 @@ +CertificatePinningConfiguration | react-native-tpay

Class CertificatePinningConfiguration

Class responsible for storing information about certificate pinning.

+

Constructors

Properties

Constructors

Properties

pinnedDomain: string
publicKeyHash: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ConfigurationSuccess.html b/docs/classes/ConfigurationSuccess.html new file mode 100644 index 0000000..3544779 --- /dev/null +++ b/docs/classes/ConfigurationSuccess.html @@ -0,0 +1,3 @@ +ConfigurationSuccess | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CreditCard.html b/docs/classes/CreditCard.html new file mode 100644 index 0000000..6d6bdd6 --- /dev/null +++ b/docs/classes/CreditCard.html @@ -0,0 +1,11 @@ +CreditCard | react-native-tpay

Class responsible for storing information about a credit card

+

Constructors

Properties

Constructors

Properties

cardNumber: string
cvv: string
expiryDate: ExpirationDate

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CreditCardConfig.html b/docs/classes/CreditCardConfig.html new file mode 100644 index 0000000..3ae45b1 --- /dev/null +++ b/docs/classes/CreditCardConfig.html @@ -0,0 +1,8 @@ +CreditCardConfig | react-native-tpay

Class CreditCardConfig

Class responsible for storing payment related information about credit card

+

Constructors

Properties

Constructors

Properties

domain: string
rocText: null | string
shouldSave: boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CreditCardPayment.html b/docs/classes/CreditCardPayment.html new file mode 100644 index 0000000..0f40117 --- /dev/null +++ b/docs/classes/CreditCardPayment.html @@ -0,0 +1,12 @@ +CreditCardPayment | react-native-tpay

Class CreditCardPayment

Class responsible for storing information about credit card payment

+

Hierarchy (view full)

Constructors

Properties

callbacks: null | Callbacks
creditCard: null | CreditCard
creditCardToken: null | string
payer: Payer
paymentDetails: PaymentDetails

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ExpirationDate.html b/docs/classes/ExpirationDate.html new file mode 100644 index 0000000..7d9c9b9 --- /dev/null +++ b/docs/classes/ExpirationDate.html @@ -0,0 +1,7 @@ +ExpirationDate | react-native-tpay

Class responsible for storing information about expiration date

+

Constructors

Properties

Constructors

Properties

month: String
year: String

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayConfiguration.html b/docs/classes/GooglePayConfiguration.html new file mode 100644 index 0000000..3bb2152 --- /dev/null +++ b/docs/classes/GooglePayConfiguration.html @@ -0,0 +1,5 @@ +GooglePayConfiguration | react-native-tpay

Class GooglePayConfiguration

Class responsible for storing information about GooglePay configuration

+

Constructors

Properties

Constructors

Properties

merchantId: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayConfigureError.html b/docs/classes/GooglePayConfigureError.html new file mode 100644 index 0000000..593056e --- /dev/null +++ b/docs/classes/GooglePayConfigureError.html @@ -0,0 +1,5 @@ +GooglePayConfigureError | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayConfigureResult.html b/docs/classes/GooglePayConfigureResult.html new file mode 100644 index 0000000..263e6b4 --- /dev/null +++ b/docs/classes/GooglePayConfigureResult.html @@ -0,0 +1,3 @@ +GooglePayConfigureResult | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayConfigureSuccess.html b/docs/classes/GooglePayConfigureSuccess.html new file mode 100644 index 0000000..f9a9a3c --- /dev/null +++ b/docs/classes/GooglePayConfigureSuccess.html @@ -0,0 +1,3 @@ +GooglePayConfigureSuccess | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayOpenCancelled.html b/docs/classes/GooglePayOpenCancelled.html new file mode 100644 index 0000000..1976a5f --- /dev/null +++ b/docs/classes/GooglePayOpenCancelled.html @@ -0,0 +1,3 @@ +GooglePayOpenCancelled | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayOpenNotConfigured.html b/docs/classes/GooglePayOpenNotConfigured.html new file mode 100644 index 0000000..6e2527e --- /dev/null +++ b/docs/classes/GooglePayOpenNotConfigured.html @@ -0,0 +1,4 @@ +GooglePayOpenNotConfigured | react-native-tpay

Class GooglePayOpenNotConfigured

Indicates that Google Pay utils were not configured before trying to open Google Pay. +Configure utils via configureGooglePayUtils(...) method

+

Hierarchy (view full)

Constructors

Constructors

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayOpenResult.html b/docs/classes/GooglePayOpenResult.html new file mode 100644 index 0000000..1ca3574 --- /dev/null +++ b/docs/classes/GooglePayOpenResult.html @@ -0,0 +1,3 @@ +GooglePayOpenResult | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayOpenSuccess.html b/docs/classes/GooglePayOpenSuccess.html new file mode 100644 index 0000000..75b4294 --- /dev/null +++ b/docs/classes/GooglePayOpenSuccess.html @@ -0,0 +1,11 @@ +GooglePayOpenSuccess | react-native-tpay

Class GooglePayOpenSuccess

Indicates that Google Pay was successfully opened and user has selected a credit card

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

cardNetwork: string

Credit card network

+
cardTail: string

Last digits of credit card number

+
description: string

Credit card description, for example "Visa •••• 1111"

+
token: string

Google Pay card token, use it with GooglePayPayment

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayOpenUnknownError.html b/docs/classes/GooglePayOpenUnknownError.html new file mode 100644 index 0000000..c54f93b --- /dev/null +++ b/docs/classes/GooglePayOpenUnknownError.html @@ -0,0 +1,3 @@ +GooglePayOpenUnknownError | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayPayment.html b/docs/classes/GooglePayPayment.html new file mode 100644 index 0000000..b7f22cc --- /dev/null +++ b/docs/classes/GooglePayPayment.html @@ -0,0 +1,8 @@ +GooglePayPayment | react-native-tpay

Class GooglePayPayment

Class responsible for storing information about Google Pay payment

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

callbacks: null | Callbacks
payer: Payer
paymentDetails: PaymentDetails
token: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GooglePayUtilsConfiguration.html b/docs/classes/GooglePayUtilsConfiguration.html new file mode 100644 index 0000000..4820b01 --- /dev/null +++ b/docs/classes/GooglePayUtilsConfiguration.html @@ -0,0 +1,13 @@ +GooglePayUtilsConfiguration | react-native-tpay

Class GooglePayUtilsConfiguration

Class responsible for storing information about Google Pay utils configuration

+

Constructors

Properties

customRequestCode: null | number
merchantId: string
merchantName: string
price: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Languages.html b/docs/classes/Languages.html new file mode 100644 index 0000000..43e0bd5 --- /dev/null +++ b/docs/classes/Languages.html @@ -0,0 +1,7 @@ +Languages | react-native-tpay

Class responsible for storing information about module languages.

+

Constructors

Properties

preferredLanguage: Language
supportedLanguages: Language[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/LocalizedString.html b/docs/classes/LocalizedString.html new file mode 100644 index 0000000..a551027 --- /dev/null +++ b/docs/classes/LocalizedString.html @@ -0,0 +1,5 @@ +LocalizedString | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Merchant.html b/docs/classes/Merchant.html new file mode 100644 index 0000000..8e532ec --- /dev/null +++ b/docs/classes/Merchant.html @@ -0,0 +1,13 @@ +Merchant | react-native-tpay

Class responsible for storing merchant information

+

Constructors

Properties

authorization: MerchantAuthorization
blikAliasToRegister: string
certificatePinningConfiguration: CertificatePinningConfiguration
environment: TpayEnvironment
walletConfiguration: null | WalletConfiguration

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MerchantAuthorization.html b/docs/classes/MerchantAuthorization.html new file mode 100644 index 0000000..351a6c3 --- /dev/null +++ b/docs/classes/MerchantAuthorization.html @@ -0,0 +1,7 @@ +MerchantAuthorization | react-native-tpay

Class MerchantAuthorization

Class responsible for storing merchant's authorization

+

Constructors

Properties

Constructors

Properties

clientId: string
clientSecret: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MerchantDetails.html b/docs/classes/MerchantDetails.html new file mode 100644 index 0000000..ee5e256 --- /dev/null +++ b/docs/classes/MerchantDetails.html @@ -0,0 +1,9 @@ +MerchantDetails | react-native-tpay

Class responsible for storing localized information about merchant

+

Constructors

Properties

merchantDisplayName: LocalizedString[]
merchantHeadquarters: LocalizedString[]
regulations: LocalizedString[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MethodCallError.html b/docs/classes/MethodCallError.html new file mode 100644 index 0000000..c234bce --- /dev/null +++ b/docs/classes/MethodCallError.html @@ -0,0 +1,5 @@ +MethodCallError | react-native-tpay

Indicates a module error

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

message: string

Error message

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ModuleClosed.html b/docs/classes/ModuleClosed.html new file mode 100644 index 0000000..b4f62f4 --- /dev/null +++ b/docs/classes/ModuleClosed.html @@ -0,0 +1,3 @@ +ModuleClosed | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Notifications.html b/docs/classes/Notifications.html new file mode 100644 index 0000000..5b64faa --- /dev/null +++ b/docs/classes/Notifications.html @@ -0,0 +1,7 @@ +Notifications | react-native-tpay

Class responsible for storing information about notifications

+

Constructors

Properties

Constructors

Properties

email: string
url: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PayPoPayment.html b/docs/classes/PayPoPayment.html new file mode 100644 index 0000000..bf459f9 --- /dev/null +++ b/docs/classes/PayPoPayment.html @@ -0,0 +1,6 @@ +PayPoPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Payer.html b/docs/classes/Payer.html new file mode 100644 index 0000000..db8e0ef --- /dev/null +++ b/docs/classes/Payer.html @@ -0,0 +1,11 @@ +Payer | react-native-tpay

Class responsible for storing information about payer

+

Constructors

Properties

Constructors

  • Parameters

    • name: string

      payer's full name

      +
    • email: string

      payer's email

      +
    • phone: null | string

      payer's phone number

      +
    • address: null | Address

      payer's address

      +

    Returns Payer

Properties

address: null | Address
email: string
name: string
phone: null | string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PayerContext.html b/docs/classes/PayerContext.html new file mode 100644 index 0000000..f7eed98 --- /dev/null +++ b/docs/classes/PayerContext.html @@ -0,0 +1,7 @@ +PayerContext | react-native-tpay

Class responsible for storing information about payer and automatic payment methods

+

Constructors

Properties

Constructors

Properties

automaticPaymentMethods: null | AutomaticPaymentMethods
payer: null | Payer

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentCancelled.html b/docs/classes/PaymentCancelled.html new file mode 100644 index 0000000..4b04bd6 --- /dev/null +++ b/docs/classes/PaymentCancelled.html @@ -0,0 +1,5 @@ +PaymentCancelled | react-native-tpay

Class PaymentCancelled

Indicates that payment failed and module was closed

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

transactionId: null | string

If exists, id of the transaction

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentChannel.html b/docs/classes/PaymentChannel.html new file mode 100644 index 0000000..36295b8 --- /dev/null +++ b/docs/classes/PaymentChannel.html @@ -0,0 +1,11 @@ +PaymentChannel | react-native-tpay

Class responsible for storing information about a payment channel

+

Constructors

Properties

Constructors

Properties

constraints: PaymentConstraint[]

channel constraints

+
id: string

id of the payment channel

+
imageUrl: string

channel image url

+
name: string

channel display name

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentChannelsError.html b/docs/classes/PaymentChannelsError.html new file mode 100644 index 0000000..74b4d26 --- /dev/null +++ b/docs/classes/PaymentChannelsError.html @@ -0,0 +1,5 @@ +PaymentChannelsError | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentChannelsResult.html b/docs/classes/PaymentChannelsResult.html new file mode 100644 index 0000000..c94672e --- /dev/null +++ b/docs/classes/PaymentChannelsResult.html @@ -0,0 +1,3 @@ +PaymentChannelsResult | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentChannelsSuccess.html b/docs/classes/PaymentChannelsSuccess.html new file mode 100644 index 0000000..d05e53c --- /dev/null +++ b/docs/classes/PaymentChannelsSuccess.html @@ -0,0 +1,5 @@ +PaymentChannelsSuccess | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentCompleted.html b/docs/classes/PaymentCompleted.html new file mode 100644 index 0000000..d1719fe --- /dev/null +++ b/docs/classes/PaymentCompleted.html @@ -0,0 +1,5 @@ +PaymentCompleted | react-native-tpay

Class PaymentCompleted

Indicates that payment was successful and module was closed

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

transactionId: string

Transaction id of the completed transaction

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentConstraint.html b/docs/classes/PaymentConstraint.html new file mode 100644 index 0000000..f41bc86 --- /dev/null +++ b/docs/classes/PaymentConstraint.html @@ -0,0 +1,5 @@ +PaymentConstraint | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentDetails.html b/docs/classes/PaymentDetails.html new file mode 100644 index 0000000..d95526b --- /dev/null +++ b/docs/classes/PaymentDetails.html @@ -0,0 +1,11 @@ +PaymentDetails | react-native-tpay

Class responsible for storing information about payment details

+

Constructors

  • Parameters

    • amount: number

      amount of money payer has to pay

      +
    • description: string

      description of payment shown to payer

      +
    • hiddenDescription: null | string

      description visible to store

      +
    • language: null | Language

      language of the transaction

      +

    Returns PaymentDetails

Properties

amount: number
description: string
hiddenDescription: null | string
language: null | Language

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentGroup.html b/docs/classes/PaymentGroup.html new file mode 100644 index 0000000..f2ca95c --- /dev/null +++ b/docs/classes/PaymentGroup.html @@ -0,0 +1,9 @@ +PaymentGroup | react-native-tpay

Class responsible for storing payment group's information

+

Constructors

Properties

Constructors

Properties

id: string

id of the group

+
imageUrl: string

group's image url

+
name: string

group's display name

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PaymentMethods.html b/docs/classes/PaymentMethods.html new file mode 100644 index 0000000..e69065a --- /dev/null +++ b/docs/classes/PaymentMethods.html @@ -0,0 +1,9 @@ +PaymentMethods | react-native-tpay

Class responsible for storing selected payment methods

+

Constructors

Properties

Constructors

Properties

installmentPayments: null | InstallmentPayment[]
methods: PaymentMethod[]
wallets: null | DigitalWallet[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/RatyPekaoPayment.html b/docs/classes/RatyPekaoPayment.html new file mode 100644 index 0000000..e75a736 --- /dev/null +++ b/docs/classes/RatyPekaoPayment.html @@ -0,0 +1,8 @@ +RatyPekaoPayment | react-native-tpay

Class RatyPekaoPayment

Class responsible for storing information about Raty Pekao payment

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

callbacks: null | Callbacks
channelId: number
payer: Payer
paymentDetails: PaymentDetails

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Recursive.html b/docs/classes/Recursive.html new file mode 100644 index 0000000..2f74932 --- /dev/null +++ b/docs/classes/Recursive.html @@ -0,0 +1,9 @@ +Recursive | react-native-tpay

Class responsible for storing information about recurring payments

+

Constructors

Properties

Constructors

  • Parameters

    • frequency: Frequency

      how often payment should be repeated

      +
    • quantity: null | number

      how many times payment should be repeated. If null, quantity = infinity

      +
    • endDate: string

      date in yyyy-MM-dd format

      +

    Returns Recursive

Properties

endDate: string
frequency: Frequency
quantity: null | number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Redirects.html b/docs/classes/Redirects.html new file mode 100644 index 0000000..a6943ca --- /dev/null +++ b/docs/classes/Redirects.html @@ -0,0 +1,7 @@ +Redirects | react-native-tpay

Class responsible for storing information about redirect urls

+

Constructors

Properties

Constructors

  • Parameters

    • successUrl: string

      payer will be redirected to this url after successful payment

      +
    • errorUrl: string

      payer will be redirected to this url after unsuccessful payment

      +

    Returns Redirects

Properties

errorUrl: string
successUrl: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Result.html b/docs/classes/Result.html new file mode 100644 index 0000000..115c760 --- /dev/null +++ b/docs/classes/Result.html @@ -0,0 +1,3 @@ +Result | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessBlikAmbiguousAlias.html b/docs/classes/ScreenlessBlikAmbiguousAlias.html new file mode 100644 index 0000000..8c9b1ee --- /dev/null +++ b/docs/classes/ScreenlessBlikAmbiguousAlias.html @@ -0,0 +1,9 @@ +ScreenlessBlikAmbiguousAlias | react-native-tpay

Class ScreenlessBlikAmbiguousAlias

Indicates that payer has the same BLIK alias registered in more than one bank app. +You need to display a list of aliases to user and then use AmbiguousBlikPayment to +continue the payment.

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

aliases: AmbiguousAlias[]

Ambiguous aliases that need to be displayed to the user

+
transactionId: string

Transaction id of the created transaction

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessConfiguredPaymentFailed.html b/docs/classes/ScreenlessConfiguredPaymentFailed.html new file mode 100644 index 0000000..6bf2f3c --- /dev/null +++ b/docs/classes/ScreenlessConfiguredPaymentFailed.html @@ -0,0 +1,11 @@ +ScreenlessConfiguredPaymentFailed | react-native-tpay

Class ScreenlessConfiguredPaymentFailed

Indicates that creating payment failed because of error with:

+
    +
  • credit card data or credit card token
  • +
  • BLIK code or BLIK alias
  • +
+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

error: null | string

Optional error message

+
transactionId: string

Transaction id of the created transaction

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessMethodCallError.html b/docs/classes/ScreenlessMethodCallError.html new file mode 100644 index 0000000..737d872 --- /dev/null +++ b/docs/classes/ScreenlessMethodCallError.html @@ -0,0 +1,5 @@ +ScreenlessMethodCallError | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessPaid.html b/docs/classes/ScreenlessPaid.html new file mode 100644 index 0000000..b337b96 --- /dev/null +++ b/docs/classes/ScreenlessPaid.html @@ -0,0 +1,5 @@ +ScreenlessPaid | react-native-tpay

Indicates that payment was completed successfully

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

transactionId: string

Transaction id of the completed transaction

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessPayment.html b/docs/classes/ScreenlessPayment.html new file mode 100644 index 0000000..26b83f0 --- /dev/null +++ b/docs/classes/ScreenlessPayment.html @@ -0,0 +1,9 @@ +ScreenlessPayment | react-native-tpay

Class ScreenlessPayment

Class responsible for storing information about screenless payment details

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

callbacks: null | Callbacks
payer: Payer
paymentDetails: PaymentDetails

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessPaymentCreated.html b/docs/classes/ScreenlessPaymentCreated.html new file mode 100644 index 0000000..7a6c56c --- /dev/null +++ b/docs/classes/ScreenlessPaymentCreated.html @@ -0,0 +1,12 @@ +ScreenlessPaymentCreated | react-native-tpay

Class ScreenlessPaymentCreated

Indicates that payment was created. +If it was a credit card or transfer payment you might +have to display paymentUrl to the user to finish the payment. +If it was a BLIK payment user has to accept it in bank app. +It is advised to use long polling mechanism to observe +payment status via transactionId.

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

paymentUrl: null | string

Payment url, needs to be displayed to the user to finish the payment

+
transactionId: string

Transaction id of the created transaction

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessPaymentError.html b/docs/classes/ScreenlessPaymentError.html new file mode 100644 index 0000000..6d5d562 --- /dev/null +++ b/docs/classes/ScreenlessPaymentError.html @@ -0,0 +1,5 @@ +ScreenlessPaymentError | react-native-tpay

Class ScreenlessPaymentError

Indicates that payment was not created because of an error

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

error: null | string

Optional error message

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessResult.html b/docs/classes/ScreenlessResult.html new file mode 100644 index 0000000..b56acab --- /dev/null +++ b/docs/classes/ScreenlessResult.html @@ -0,0 +1,3 @@ +ScreenlessResult | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScreenlessValidationError.html b/docs/classes/ScreenlessValidationError.html new file mode 100644 index 0000000..1daa64c --- /dev/null +++ b/docs/classes/ScreenlessValidationError.html @@ -0,0 +1,5 @@ +ScreenlessValidationError | react-native-tpay

Class ScreenlessValidationError

Indicates that some data passed to payment is invalid

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

message: string

Validation error message

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SingleTransaction.html b/docs/classes/SingleTransaction.html new file mode 100644 index 0000000..f1b2157 --- /dev/null +++ b/docs/classes/SingleTransaction.html @@ -0,0 +1,11 @@ +SingleTransaction | react-native-tpay

Class SingleTransaction

Class responsible for storing information about standard Tpay UI module payment

+

Hierarchy (view full)

Constructors

Properties

amount: number
description: string
notifications: null | Notifications
payerContext: PayerContext

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TokenPayment.html b/docs/classes/TokenPayment.html new file mode 100644 index 0000000..320f930 --- /dev/null +++ b/docs/classes/TokenPayment.html @@ -0,0 +1,13 @@ +TokenPayment | react-native-tpay

Class responsible for storing information about credit card token payment with Tpay UI module.

+

Hierarchy (view full)

Constructors

Properties

amount: number
cardToken: string
description: string
notifications: null | Notifications
payer: Payer

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Tokenization.html b/docs/classes/Tokenization.html new file mode 100644 index 0000000..870ca59 --- /dev/null +++ b/docs/classes/Tokenization.html @@ -0,0 +1,7 @@ +Tokenization | react-native-tpay

Class responsible for storing information needed to start UI tokenization.

+

Constructors

Properties

Constructors

Properties

notificationUrl: string
payer: Payer

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TokenizationCompleted.html b/docs/classes/TokenizationCompleted.html new file mode 100644 index 0000000..b64725b --- /dev/null +++ b/docs/classes/TokenizationCompleted.html @@ -0,0 +1,3 @@ +TokenizationCompleted | react-native-tpay

Class TokenizationCompleted

Indicates that credit card tokenization was successful and module was closed

+

Hierarchy (view full)

Constructors

Constructors

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TokenizationFailure.html b/docs/classes/TokenizationFailure.html new file mode 100644 index 0000000..a3fb08e --- /dev/null +++ b/docs/classes/TokenizationFailure.html @@ -0,0 +1,3 @@ +TokenizationFailure | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TokenizedCard.html b/docs/classes/TokenizedCard.html new file mode 100644 index 0000000..f1e724c --- /dev/null +++ b/docs/classes/TokenizedCard.html @@ -0,0 +1,9 @@ +TokenizedCard | react-native-tpay

Class responsible for storing tokenized card information

+

Constructors

Properties

Constructors

Properties

cardTail: string
token: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TpayConfiguration.html b/docs/classes/TpayConfiguration.html new file mode 100644 index 0000000..6938232 --- /dev/null +++ b/docs/classes/TpayConfiguration.html @@ -0,0 +1,11 @@ +TpayConfiguration | react-native-tpay

Class TpayConfiguration

Class responsible for storing information about Tpay configuration

+

Constructors

Properties

languages: Languages
merchant: Merchant
merchantDetails: MerchantDetails
paymentMethods: PaymentMethods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Transaction.html b/docs/classes/Transaction.html new file mode 100644 index 0000000..3fc3a9a --- /dev/null +++ b/docs/classes/Transaction.html @@ -0,0 +1,9 @@ +Transaction | react-native-tpay

Class responsible for storing information about UI module transaction

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

amount: number
description: string
notifications: null | Notifications

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TransferPayment.html b/docs/classes/TransferPayment.html new file mode 100644 index 0000000..28908f3 --- /dev/null +++ b/docs/classes/TransferPayment.html @@ -0,0 +1,8 @@ +TransferPayment | react-native-tpay

Class responsible for storing information about transfer payment

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

callbacks: null | Callbacks
channelId: number
payer: Payer
paymentDetails: PaymentDetails

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ValidationError.html b/docs/classes/ValidationError.html new file mode 100644 index 0000000..3d18a45 --- /dev/null +++ b/docs/classes/ValidationError.html @@ -0,0 +1,5 @@ +ValidationError | react-native-tpay

Indicates that some data passed to module is invalid

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

message: string

Validation error message

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WalletConfiguration.html b/docs/classes/WalletConfiguration.html new file mode 100644 index 0000000..8a7cbea --- /dev/null +++ b/docs/classes/WalletConfiguration.html @@ -0,0 +1,7 @@ +WalletConfiguration | react-native-tpay

Class WalletConfiguration

Class responsible for storing wallet configuration

+

Constructors

Properties

Constructors

Properties

applePay: null | ApplePayConfiguration
googlePay: null | GooglePayConfiguration

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/CreditCardBrand.html b/docs/enums/CreditCardBrand.html new file mode 100644 index 0000000..c8012d0 --- /dev/null +++ b/docs/enums/CreditCardBrand.html @@ -0,0 +1,5 @@ +CreditCardBrand | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/DigitalWallet.html b/docs/enums/DigitalWallet.html new file mode 100644 index 0000000..198d9b2 --- /dev/null +++ b/docs/enums/DigitalWallet.html @@ -0,0 +1,4 @@ +DigitalWallet | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/Frequency.html b/docs/enums/Frequency.html new file mode 100644 index 0000000..1f83e99 --- /dev/null +++ b/docs/enums/Frequency.html @@ -0,0 +1,7 @@ +Frequency | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/GooglePayEnvironment.html b/docs/enums/GooglePayEnvironment.html new file mode 100644 index 0000000..c49cc5d --- /dev/null +++ b/docs/enums/GooglePayEnvironment.html @@ -0,0 +1,4 @@ +GooglePayEnvironment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/InstallmentPayment.html b/docs/enums/InstallmentPayment.html new file mode 100644 index 0000000..e8cc4ee --- /dev/null +++ b/docs/enums/InstallmentPayment.html @@ -0,0 +1,4 @@ +InstallmentPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/Language.html b/docs/enums/Language.html new file mode 100644 index 0000000..4783bfd --- /dev/null +++ b/docs/enums/Language.html @@ -0,0 +1,3 @@ +Language | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/PaymentConstraintType.html b/docs/enums/PaymentConstraintType.html new file mode 100644 index 0000000..1595b8b --- /dev/null +++ b/docs/enums/PaymentConstraintType.html @@ -0,0 +1,3 @@ +PaymentConstraintType | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/PaymentMethod.html b/docs/enums/PaymentMethod.html new file mode 100644 index 0000000..1247e43 --- /dev/null +++ b/docs/enums/PaymentMethod.html @@ -0,0 +1,5 @@ +PaymentMethod | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/TpayEnvironment.html b/docs/enums/TpayEnvironment.html new file mode 100644 index 0000000..5d02114 --- /dev/null +++ b/docs/enums/TpayEnvironment.html @@ -0,0 +1,3 @@ +TpayEnvironment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/TpayButton.html b/docs/functions/TpayButton.html new file mode 100644 index 0000000..7e29b5e --- /dev/null +++ b/docs/functions/TpayButton.html @@ -0,0 +1 @@ +TpayButton | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/configure.html b/docs/functions/configure.html new file mode 100644 index 0000000..19a2f36 --- /dev/null +++ b/docs/functions/configure.html @@ -0,0 +1,3 @@ +configure | react-native-tpay

Function configure

  • Method used to configure Tpay UI Module

    +

    Parameters

    Returns Promise<Result>

    ConfigurationSuccess when Tpay module was successfully configured

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/configureGooglePayUtils.html b/docs/functions/configureGooglePayUtils.html new file mode 100644 index 0000000..fd23c50 --- /dev/null +++ b/docs/functions/configureGooglePayUtils.html @@ -0,0 +1,4 @@ +configureGooglePayUtils | react-native-tpay

Function configureGooglePayUtils

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/getAvailablePaymentChannels.html b/docs/functions/getAvailablePaymentChannels.html new file mode 100644 index 0000000..cb4569a --- /dev/null +++ b/docs/functions/getAvailablePaymentChannels.html @@ -0,0 +1,2 @@ +getAvailablePaymentChannels | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/isGooglePayAvailable.html b/docs/functions/isGooglePayAvailable.html new file mode 100644 index 0000000..a919e2b --- /dev/null +++ b/docs/functions/isGooglePayAvailable.html @@ -0,0 +1,4 @@ +isGooglePayAvailable | react-native-tpay

Function isGooglePayAvailable

  • Method used to check if Google Pay is available

    +

    Android only

    +

    Returns Promise<Boolean>

    true if Google Pay is available on the device

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/openGooglePay.html b/docs/functions/openGooglePay.html new file mode 100644 index 0000000..a1d40ab --- /dev/null +++ b/docs/functions/openGooglePay.html @@ -0,0 +1,4 @@ +openGooglePay | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessAmbiguousBLIKPayment.html b/docs/functions/screenlessAmbiguousBLIKPayment.html new file mode 100644 index 0000000..64cc7d6 --- /dev/null +++ b/docs/functions/screenlessAmbiguousBLIKPayment.html @@ -0,0 +1,2 @@ +screenlessAmbiguousBLIKPayment | react-native-tpay

Function screenlessAmbiguousBLIKPayment

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessApplePayPayment.html b/docs/functions/screenlessApplePayPayment.html new file mode 100644 index 0000000..29f7043 --- /dev/null +++ b/docs/functions/screenlessApplePayPayment.html @@ -0,0 +1,2 @@ +screenlessApplePayPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessBLIKPayment.html b/docs/functions/screenlessBLIKPayment.html new file mode 100644 index 0000000..9ee858c --- /dev/null +++ b/docs/functions/screenlessBLIKPayment.html @@ -0,0 +1,2 @@ +screenlessBLIKPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessCreditCardPayment.html b/docs/functions/screenlessCreditCardPayment.html new file mode 100644 index 0000000..64d2035 --- /dev/null +++ b/docs/functions/screenlessCreditCardPayment.html @@ -0,0 +1,2 @@ +screenlessCreditCardPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessGooglePayPayment.html b/docs/functions/screenlessGooglePayPayment.html new file mode 100644 index 0000000..f33d352 --- /dev/null +++ b/docs/functions/screenlessGooglePayPayment.html @@ -0,0 +1,2 @@ +screenlessGooglePayPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessPayPoPayment.html b/docs/functions/screenlessPayPoPayment.html new file mode 100644 index 0000000..e1cfbde --- /dev/null +++ b/docs/functions/screenlessPayPoPayment.html @@ -0,0 +1,2 @@ +screenlessPayPoPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessRatyPekaoPayment.html b/docs/functions/screenlessRatyPekaoPayment.html new file mode 100644 index 0000000..5ecf63d --- /dev/null +++ b/docs/functions/screenlessRatyPekaoPayment.html @@ -0,0 +1,2 @@ +screenlessRatyPekaoPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/screenlessTransferPayment.html b/docs/functions/screenlessTransferPayment.html new file mode 100644 index 0000000..34c26f4 --- /dev/null +++ b/docs/functions/screenlessTransferPayment.html @@ -0,0 +1,2 @@ +screenlessTransferPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/startCardTokenPayment.html b/docs/functions/startCardTokenPayment.html new file mode 100644 index 0000000..7ed1929 --- /dev/null +++ b/docs/functions/startCardTokenPayment.html @@ -0,0 +1,2 @@ +startCardTokenPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/startPayment.html b/docs/functions/startPayment.html new file mode 100644 index 0000000..c091ee0 --- /dev/null +++ b/docs/functions/startPayment.html @@ -0,0 +1,2 @@ +startPayment | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/tokenizeCard.html b/docs/functions/tokenizeCard.html new file mode 100644 index 0000000..3cf58b7 --- /dev/null +++ b/docs/functions/tokenizeCard.html @@ -0,0 +1,2 @@ +tokenizeCard | react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html new file mode 100644 index 0000000..2dbd064 --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1 @@ +react-native-tpay

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..10340f4 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,69 @@ +react-native-tpay

react-native-tpay

react-native-tpay

The Tpay SDK empowers your app to seamlessly integrate Tpay’s payment functionalities, providing a comprehensive and developer-friendly solution for managing payments. +Documentation is available here.

+

Installation

npm install react-native-tpay
+
+

UI Module

Tpay package contains a UI module. Users can interact with it to make payments.

+

Setup

Android

Tpay UI module is a native Android bottom sheet. In order to handle system backpress events you need +to add the following code to your Activity.

+
import com.tpay.util.TpayBackpressUtil;

class MainActivity : ReactActivity() {
override fun onBackPressed() {
if (TpayBackpressUtil.isModuleVisible) {
TpayBackpressUtil.onBackPressed()
} else {
super.onBackPressed()
}
}
} +
+

iOS

When integrating the Tpay payment module into your app, it’s important to ensure that the necessary permissions are correctly set up to ensure a smooth user experience.

+

Privacy - Camera Usage Description

The module allows the user to automatically fill the credit card form for secure payment processing. This feature requires you to setup the “Privacy - Camera Usage Description” in your app’s Info.plist file.

+

Integration Steps

+
    +
  1. Open your project’s Info.plist file.
  2. +
  3. Add the key-value pair for the “Privacy - Camera Usage Description” permission, explaining the purpose of camera access. Clearly state that the camera is used to facilitate the automatic filling of the credit card form for secure payment processing.
  4. +
+

Example:

+
<key>NSCameraUsageDescription</key>
<string>We need access to your camera to automatically fill the credit card form for secure payment processing.</string> +
+

Handling UI module events

function handleResult(result: Result) {
if (result instanceof TokenizationCompleted) {
// credit card was tokenized successfully
}
if (result instanceof TokenizationFailure) {
// credit card was not tokenized
}
if (result instanceof ConfigurationSuccess) {
// Tpay package was configured successfully
}
if (result instanceof ModuleClosed) {
// User closed the Tpay UI module
}
if (result instanceof ValidationError) {
// provided data is invalid
// check error message via result.message
}
if (result instanceof PaymentCompleted) {
// payment completed successfully
// read transactionId via result.transactionId
}
if (result instanceof PaymentCancelled) {
// payment was cancelled by user
// result.transactionId might not exist if
// an error occurred during payment creation
}
if (result instanceof MethodCallError) {
// package error occurred
// read error message via result.message
}
} +
+

Configure Tpay package

async function configureTpay() {
const authorization = new MerchantAuthorization('client id', 'client secret');
const certificateConfiguration = new CertificatePinningConfiguration(
'public key hash'
);

const merchant = new Merchant(
authorization,
TpayEnvironment.production,
certificateConfiguration,
'BLIK alias to register',
new WalletConfiguration(
new GooglePayConfiguration('merchant id'),
new ApplePayConfiguration('merchant identifier', 'country code')
)
);

const merchantDetails = new MerchantDetails(
[
new LocalizedString(Language.pl, 'Sklep'),
new LocalizedString(Language.en, 'Merchant'),
],
[
new LocalizedString(Language.pl, 'Warszawie'),
new LocalizedString(Language.en, 'Warsaw'),
],
[
new LocalizedString(Language.pl, 'polish url'),
new LocalizedString(Language.en, 'english url'),
]
);

const languages = new Languages(Language.pl, [Language.en, Language.pl]);
const paymentMethods = new PaymentMethods(
[PaymentMethod.card, PaymentMethod.blik, PaymentMethod.transfer],
[DigitalWallet.googlePay, DigitalWallet.applePay],
[InstallmentPayment.ratyPekao]
);

const configuration = new TpayConfiguration(
merchant,
merchantDetails,
languages,
paymentMethods
);

const result = await configure(configuration);
handleResult(result);
} +
+

Payment with UI module

async function startUiPayment() {
// Create a payer object, phone number and address fields are optional
// Name and email fields can be empty, user will fill them in the UI
const payer = new Payer('John Doe', 'john.doe@example.com', null, null);

// Users can choose to save a credit card, it will result in your backend
// receiving the tokenized card data, provide it there to enable one click payment.
// You can also provide the BLIK alias to enable the one click BLIK payments.
// To register the BLIK alias user has to make a payment with 6-digit code first and save the alias.
// BLIK one click will be shown in the UI when the provided 'isRegistered' parameter is true.
const automaticPaymentMethods = new AutomaticPaymentMethods(
[new TokenizedCard('card token', 'card tail', CreditCardBrand.mastercard)],
new BlikAlias(true, 'alias value', 'alias label')
);

// Tokenized card and BLIK alias registration data will be sent to the notification url.
// Payments will result in a email notifications sent to notification email.
const notifications = new Notifications(
'https://yourdomain.com/notifications',
'store@yourdomain.com'
);

const payerContext = new PayerContext(payer, automaticPaymentMethods);

const transaction = new SingleTransaction(
payerContext,
39.99,
'transaction description',
notifications
);

const result = await startPayment(transaction);
handleResult(result);
} +
+

Credit card tokenization with UI module

async function startCreditCardTokenizationUi() {
// Create a payer object, phone number and address fields are optional
// Name and email fields can be empty, user will fill them in the UI
const payer = new Payer('John Doe', 'john.doe@example.com', null, null);

// Tokenized card data will be sent to notification url
const tokenization = new Tokenization(
payer,
'https://yourdomain.com/notifications'
);

const result = await tokenizeCard(tokenization);
handleResult(result);
} +
+

Credit card token payment with UI module

async function startCreditCardTokenPaymentUi() {
// Create a payer object, phone number and address fields are optional
// Name and email fields are required, because user cannot fill them in the UI
const payer = new Payer('John Doe', 'john.doe@example.com', null, null);

const notifications = new Notifications(
'https://yourdomain.com/notifications',
'store@yourdomain.com'
);

const tokenPayment = new TokenPayment(
'credit card token',
payer,
39.99,
'transaction description',
notifications
);

const result = await startCardTokenPayment(tokenPayment);
handleResult(result);
} +
+

Screenless Payments

Tpay package provides methods to create payments without displaying the UI module.

+

Handling screenless events

function handleScreenlessResult(result: ScreenlessResult) {
if (result instanceof ScreenlessPaid) {
// payment completed successfully
// read transactionId via result.transactionId
}
if (result instanceof ScreenlessPaymentCreated) {
// payment was successfully created
// if it was a BLIK payment user has to accept it in bank app
// if it was a credit card, transfer or installment payment you have to
// display result.paymentUrl to finish the payment
// it is advised to use long polling mechanism to observe payment status
// you can get transaction id from result.transactionId
}
if (result instanceof ScreenlessPaymentError) {
// creating payment failed
// read error message via result.error
}
if (result instanceof ScreenlessConfiguredPaymentFailed) {
// creating payment failed because of error with:
// - credit card data or credit card token
// - BLIK code or BLIK alias
}
if (result instanceof ScreenlessBlikAmbiguousAlias) {
// when using BLIK payment with alias this result indicates
// that user has alias registered in more than one bank
// display result.aliases to the user and
// continue payment using screenlessAmbiguousBLIKPayment(...) method
}
if (result instanceof ScreenlessValidationError) {
// provided data is invalid
// check error message via result.message
}
if (result instanceof ScreenlessMethodCallError) {
// package error occurred
// read error message via result.message
}
} +
+

Common screenless objects

Screenless payments require the following objects.

+
// Create a payer object, phone number and address fields are optional
// Name and email fields are required in screenless payments
const payer = new Payer('John Doe', 'john.doe@example.com', null, null);

// Hidden description can be used to search for transaction internally.
// Tpay website (if needed) will open in the provided language.
const paymentDetails = new PaymentDetails(
39.99,
'transaction description',
'hidden description',
Language.pl
);

// User will be redirected to these urls after a payment on the Tpay website.
// Catch these urls in your web view to know if the payment was successful or not.
const redirects = new Redirects(
'https://yourdomain.com/success',
'https://yourdomain.com/error'
);

// Tokenized card and BLIK alias registration data will be sent to the notification url.
// Payments will result in a email notifications sent to notification email.
const notifications = new Notifications(
'https://yourdomain.com/notifications',
'store@yourdomain.com'
);

const callbacks = new Callbacks(redirects, notifications); +
+

Screenless BLIK payment

Using BLIK user can pay with 6-digit code or alias (for returning customers).

+
async function startScreenlessBlikPayment() {
// You have to provide either code or alias.
// If you provide both, package will try to register the alias.
// One alias can be registered in multiple banks.
const blikPayment = new BlikPayment(
'6-digit code',
new BlikAlias(true, 'alias value', 'alias label'),
paymentDetails,
payer,
callbacks
);

const screenlessResult = await screenlessBLIKPayment(blikPayment);
handleScreenlessResult(screenlessResult);
} +
+

Screenless ambiguous BLIK payment

screenlessBLIKPayment(...) method can return a ScreenlessBlikAmbiguousAlias result, +this means that user has BLIK alias registered in more than one bank. +You need to display ambiguous aliases provided in ScreenlessBlikAmbiguousAlias result to the user. +After that, you need to continue the payment with ambiguous alias selected by user using screenlessAmbiguousBLIKPayment(...) method.

+
async function startAmbiguousBlikPayment(
result: ScreenlessBlikAmbiguousAlias,
ambiguousAlias: AmbiguousAlias
) {
// BLIK alias used to create payment with screenlessBLIKPayment(...) method
const blikAlias = new BlikAlias(true, 'alias value', 'alias label');

// Provide transaction id from result and ambiguous alias selected by user
const ambiguousBlikPayment = new AmbiguousBlikPayment(
result.transactionId,
blikAlias,
ambiguousAlias
);

const screenlessResult = await screenlessAmbiguousBLIKPayment(
ambiguousBlikPayment
);
handleScreenlessResult(screenlessResult);
} +
+

Screenless transfer payment

Transfer payment requires a channelId of bank in Tpay system.

+
async function startScreenlessTransferPayment() {
// Provide channelId of a bank
const transferPayment = new TransferPayment(
3,
paymentDetails,
payer,
callbacks
);

const screenlessResult = await screenlessTransferPayment(transferPayment);
handleScreenlessResult(screenlessResult);
} +
+

Screenless Raty Pekao payment

Raty Pekao payment requires a channelId of Raty Pekao variant.

+
async function startScreenlessRatyPekaoPayment() {
// Provide channelId of Raty Pekao variant
const ratyPekaoPayment = new RatyPekaoPayment(
80,
paymentDetails,
payer,
callbacks
);

const screenlessResult = await screenlessRatyPekaoPayment(ratyPekaoPayment);
handleScreenlessResult(screenlessResult);
} +
+

Screenless PayPo payment

async function startScreenlessPayPoPayment() {
const payPoPayment = new PayPoPayment(paymentDetails, payer, callbacks);
const screenlessResult = await screenlessPayPoPayment(payPoPayment);
handleScreenlessResult(screenlessResult);
} +
+

Screenless credit card payment

Credit card payment can be created with credit card data or credit card token (for returning customers).

+
async function startScreenlessCreditCardPayment() {
const creditCard = new CreditCard(
'card number',
new ExpirationDate('month', 'year'),
'cvv',
// Configure if the credit card should be tokenized after payment
// Provide your domain, it's used while encrypting the credit card data
new CreditCardConfig(false, 'yourdomain.com', null)
);
const creditCardToken = 'card token';

// You have to provide either credit card or credit card token
const creditCardPayment = new CreditCardPayment(
creditCard,
creditCardToken,
paymentDetails,
payer,
callbacks
);

const screenlessResult = await screenlessCreditCardPayment(creditCardPayment);
handleScreenlessResult(screenlessResult);
} +
+

Screenless Google Pay payment (Android only)

Google Pay payment requires a Google Pay token.

+
async function startScreenlessGooglePayPayment() {
const googlePayPayment = new GooglePayPayment(
'Google Pay token',
paymentDetails,
payer,
callbacks
);

const screenlessResult = await screenlessGooglePayPayment(googlePayPayment);
handleScreenlessResult(screenlessResult);
} +
+

Screenless Apple Pay payment (iOS only)

Apple Pay payment requires a Apple Pay token.

+
async function startScreenlessApplePayPayment() {
const applePayPayment = new ApplePayPayment(
'Apple Pay token',
paymentDetails,
payer,
callbacks
);

const screenlessResult = await screenlessApplePayPayment(applePayPayment);
handleScreenlessResult(screenlessResult);
} +
+

Google Pay utils (Android only)

Tpay package offers few convenience methods to interact with Google Pay.

+
async function googlePayUtils() {
// Create configuration object by providing the final price,
// your store name, your merchant id and a Google Pay environment
const googlePayUtilsConfiguration = new GooglePayUtilsConfiguration(
39.99,
'your store name',
'your merchant id',
GooglePayEnvironment.production,
null
);
const configurationResult = await configureGooglePayUtils(
googlePayUtilsConfiguration
);

if (configurationResult instanceof GooglePayConfigureError) {
// configuration failed
// check error message via configurationResult.message
}
if (configurationResult instanceof GooglePayConfigureSuccess) {
// utils are configured

const isAvailable = await isGooglePayAvailable();
if (isAvailable) {
// show Google Pay button

// if user clicks on the button do the following
const googlePayOpenResult = await openGooglePay();

if (googlePayOpenResult instanceof GooglePayOpenSuccess) {
// credit card data was received
// read Google Pay token via googlePayOpenResult.token
// and use it with GooglePayPayment
}
if (googlePayOpenResult instanceof GooglePayOpenCancelled) {
// user closed Google Pay
}
if (googlePayOpenResult instanceof GooglePayOpenNotConfigured) {
// Google Pay utils not configured
}
if (googlePayOpenResult instanceof GooglePayOpenUnknownError) {
// unknown error has occurred
}
}
}
} +
+

Fetch payment channels

Fetch available payment channels for your merchant account. Filter channels based on availability and payment constraints.

+
async function fetchPaymentChannels() {
const result = await getPaymentChannels();
if (result instanceof PaymentChannelsSuccess) {
// payment channels received

result.channels.forEach((channel) => {
// channel can have payment constraints
// that need to be satisfied, otherwise the payment creation will fail
channel.constraints.forEach((constraint) => {
switch (constraint.type) {
case PaymentConstraintType.amount:
// check if your payment amount is between
// - amountConstraint.minimum
// - amountConstraint.maximum
// this constraint can have:
// - only minimum value
// - only maximum value
// - minimum and maximum values
const amountConstraint = constraint as AmountPaymentConstraint;
}
});

// display payment channel if all payment constraints are satisfied
});
}
if (result instanceof PaymentChannelsError) {
// error occurred
// read error message via result.message
}
} +
+

License

This library is released under the MIT License.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 0000000..080a691 --- /dev/null +++ b/docs/modules.html @@ -0,0 +1,100 @@ +react-native-tpay

react-native-tpay

Index

Enumerations

Classes

Type Aliases

Functions

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TpayButtonProps.html b/docs/types/TpayButtonProps.html new file mode 100644 index 0000000..51e17d1 --- /dev/null +++ b/docs/types/TpayButtonProps.html @@ -0,0 +1,3 @@ +TpayButtonProps | react-native-tpay

Type alias TpayButtonProps

TpayButtonProps: {
    isEnabled: boolean;
    onClick: Function;
}

Type declaration

  • isEnabled: boolean

    Whether the button should be enabled

    +
  • onClick: Function

    Called when button is clicked

    +

Generated using TypeDoc

\ No newline at end of file