From 3d0028ba3d9c6da72bb58ba73f7f3e606fada0ab Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 10 Apr 2024 01:58:51 +0000 Subject: [PATCH] 2024-04-10T01:58:51+00:00 Signed-off-by: GitHub Actions --- .nojekyll | 1 + assets/highlight.css | 22 + assets/icons.js | 15 + assets/icons.svg | 1 + assets/main.js | 59 + assets/navigation.js | 1 + assets/search.js | 1 + assets/style.css | 1412 +++++++++++++++++++++++ classes/AllowAllTenantGate.html | 5 + classes/Cid.html | 17 + classes/DataStoreLevel.html | 27 + classes/DataStream.html | 13 + classes/Dwn.html | 14 + classes/DwnConstant.html | 6 + classes/DwnError.html | 4 + classes/Encoder.html | 11 + classes/Encryption.html | 17 + classes/EventEmitterStream.html | 7 + classes/EventLogLevel.html | 28 + classes/EventsGet.html | 9 + classes/EventsQuery.html | 9 + classes/EventsSubscribe.html | 11 + classes/HdKey.html | 9 + classes/Jws.html | 18 + classes/Message.html | 46 + classes/MessageStoreLevel.html | 26 + classes/MessagesGet.html | 9 + classes/PermissionsProtocol.html | 26 + classes/PrivateKeySigner.html | 17 + classes/Protocols.html | 7 + classes/ProtocolsConfigure.html | 9 + classes/ProtocolsQuery.html | 11 + classes/Records.html | 48 + classes/RecordsDelete.html | 13 + classes/RecordsQuery.html | 13 + classes/RecordsRead.html | 14 + classes/RecordsSubscribe.html | 13 + classes/RecordsWrite.html | 83 ++ classes/Secp256k1.html | 34 + classes/Secp256r1.html | 20 + classes/TestDataGenerator.html | 59 + classes/Time.html | 24 + enums/DateSort.html | 5 + enums/DwnErrorCode.html | 146 +++ enums/DwnInterfaceName.html | 5 + enums/DwnMethodName.html | 12 + enums/EncryptionAlgorithm.html | 3 + enums/KeyDerivationScheme.html | 7 + enums/SortDirection.html | 3 + functions/authenticate.html | 3 + functions/executeUnlessAborted.html | 2 + hierarchy.html | 1 + index.html | 123 ++ interfaces/DataStore.html | 21 + interfaces/EventLog.html | 25 + interfaces/EventStream.html | 6 + interfaces/MessageStore.html | 18 + interfaces/MessageStoreOptions.html | 2 + interfaces/MessageSubscription.html | 3 + interfaces/Signer.html | 16 + interfaces/TenantGate.html | 4 + types/ActiveTenantCheckResult.html | 4 + types/CreateFromOptions.html | 4 + types/DataStoreGetResult.html | 3 + types/DataStorePutResult.html | 3 + types/DerivedPrivateJwk.html | 1 + types/DwnConfig.html | 2 + types/EncryptionInput.html | 7 + types/EncryptionProperty.html | 1 + types/EqualFilter.html | 1 + types/EventSubscriptionHandler.html | 1 + types/EventsGetMessage.html | 1 + types/EventsGetOptions.html | 1 + types/EventsGetReply.html | 1 + types/EventsQueryMessage.html | 1 + types/EventsQueryOptions.html | 1 + types/EventsQueryReply.html | 1 + types/EventsSubscribeDescriptor.html | 1 + types/EventsSubscribeMessage.html | 1 + types/EventsSubscribeOptions.html | 1 + types/EventsSubscribeReply.html | 1 + types/Filter.html | 1 + types/GenericMessage.html | 2 + types/GenericMessageReply.html | 1 + types/KeyEncryptionInput.html | 7 + types/KeyMaterial.html | 2 + types/MessageEvent.html | 3 + types/MessageSort.html | 1 + types/MessagesGetMessage.html | 1 + types/MessagesGetOptions.html | 1 + types/MessagesGetReply.html | 1 + types/MessagesGetReplyEntry.html | 1 + types/OneOfFilter.html | 1 + types/Pagination.html | 3 + types/PaginationCursor.html | 1 + types/PermissionConditions.html | 4 + types/PermissionScope.html | 2 + types/Persona.html | 2 + types/PrivateJwk.html | 4 + types/ProtocolDefinition.html | 2 + types/ProtocolRuleSet.html | 5 + types/ProtocolTypes.html | 1 + types/ProtocolsConfigureDescriptor.html | 1 + types/ProtocolsConfigureMessage.html | 1 + types/ProtocolsConfigureOptions.html | 1 + types/ProtocolsQueryFilter.html | 1 + types/ProtocolsQueryMessage.html | 1 + types/ProtocolsQueryOptions.html | 1 + types/ProtocolsQueryReply.html | 1 + types/PublicJwk.html | 8 + types/QueryOptions.html | 1 + types/QueryResultEntry.html | 6 + types/RangeCriterion.html | 3 + types/RangeFilter.html | 2 + types/RecordsDeleteMessage.html | 1 + types/RecordsDeleteOptions.html | 2 + types/RecordsQueryMessage.html | 1 + types/RecordsQueryOptions.html | 2 + types/RecordsQueryReply.html | 1 + types/RecordsQueryReplyEntry.html | 9 + types/RecordsReadMessage.html | 1 + types/RecordsReadOptions.html | 4 + types/RecordsReadReply.html | 1 + types/RecordsSubscribeDescriptor.html | 1 + types/RecordsSubscribeMessage.html | 1 + types/RecordsSubscribeOptions.html | 2 + types/RecordsSubscribeReply.html | 1 + types/RecordsWriteDescriptor.html | 1 + types/RecordsWriteMessage.html | 1 + types/RecordsWriteOptions.html | 5 + types/SubscriptionReply.html | 1 + types/UnionMessageReply.html | 10 + 132 files changed, 2749 insertions(+) create mode 100644 .nojekyll create mode 100644 assets/highlight.css create mode 100644 assets/icons.js create mode 100644 assets/icons.svg create mode 100644 assets/main.js create mode 100644 assets/navigation.js create mode 100644 assets/search.js create mode 100644 assets/style.css create mode 100644 classes/AllowAllTenantGate.html create mode 100644 classes/Cid.html create mode 100644 classes/DataStoreLevel.html create mode 100644 classes/DataStream.html create mode 100644 classes/Dwn.html create mode 100644 classes/DwnConstant.html create mode 100644 classes/DwnError.html create mode 100644 classes/Encoder.html create mode 100644 classes/Encryption.html create mode 100644 classes/EventEmitterStream.html create mode 100644 classes/EventLogLevel.html create mode 100644 classes/EventsGet.html create mode 100644 classes/EventsQuery.html create mode 100644 classes/EventsSubscribe.html create mode 100644 classes/HdKey.html create mode 100644 classes/Jws.html create mode 100644 classes/Message.html create mode 100644 classes/MessageStoreLevel.html create mode 100644 classes/MessagesGet.html create mode 100644 classes/PermissionsProtocol.html create mode 100644 classes/PrivateKeySigner.html create mode 100644 classes/Protocols.html create mode 100644 classes/ProtocolsConfigure.html create mode 100644 classes/ProtocolsQuery.html create mode 100644 classes/Records.html create mode 100644 classes/RecordsDelete.html create mode 100644 classes/RecordsQuery.html create mode 100644 classes/RecordsRead.html create mode 100644 classes/RecordsSubscribe.html create mode 100644 classes/RecordsWrite.html create mode 100644 classes/Secp256k1.html create mode 100644 classes/Secp256r1.html create mode 100644 classes/TestDataGenerator.html create mode 100644 classes/Time.html create mode 100644 enums/DateSort.html create mode 100644 enums/DwnErrorCode.html create mode 100644 enums/DwnInterfaceName.html create mode 100644 enums/DwnMethodName.html create mode 100644 enums/EncryptionAlgorithm.html create mode 100644 enums/KeyDerivationScheme.html create mode 100644 enums/SortDirection.html create mode 100644 functions/authenticate.html create mode 100644 functions/executeUnlessAborted.html create mode 100644 hierarchy.html create mode 100644 index.html create mode 100644 interfaces/DataStore.html create mode 100644 interfaces/EventLog.html create mode 100644 interfaces/EventStream.html create mode 100644 interfaces/MessageStore.html create mode 100644 interfaces/MessageStoreOptions.html create mode 100644 interfaces/MessageSubscription.html create mode 100644 interfaces/Signer.html create mode 100644 interfaces/TenantGate.html create mode 100644 types/ActiveTenantCheckResult.html create mode 100644 types/CreateFromOptions.html create mode 100644 types/DataStoreGetResult.html create mode 100644 types/DataStorePutResult.html create mode 100644 types/DerivedPrivateJwk.html create mode 100644 types/DwnConfig.html create mode 100644 types/EncryptionInput.html create mode 100644 types/EncryptionProperty.html create mode 100644 types/EqualFilter.html create mode 100644 types/EventSubscriptionHandler.html create mode 100644 types/EventsGetMessage.html create mode 100644 types/EventsGetOptions.html create mode 100644 types/EventsGetReply.html create mode 100644 types/EventsQueryMessage.html create mode 100644 types/EventsQueryOptions.html create mode 100644 types/EventsQueryReply.html create mode 100644 types/EventsSubscribeDescriptor.html create mode 100644 types/EventsSubscribeMessage.html create mode 100644 types/EventsSubscribeOptions.html create mode 100644 types/EventsSubscribeReply.html create mode 100644 types/Filter.html create mode 100644 types/GenericMessage.html create mode 100644 types/GenericMessageReply.html create mode 100644 types/KeyEncryptionInput.html create mode 100644 types/KeyMaterial.html create mode 100644 types/MessageEvent.html create mode 100644 types/MessageSort.html create mode 100644 types/MessagesGetMessage.html create mode 100644 types/MessagesGetOptions.html create mode 100644 types/MessagesGetReply.html create mode 100644 types/MessagesGetReplyEntry.html create mode 100644 types/OneOfFilter.html create mode 100644 types/Pagination.html create mode 100644 types/PaginationCursor.html create mode 100644 types/PermissionConditions.html create mode 100644 types/PermissionScope.html create mode 100644 types/Persona.html create mode 100644 types/PrivateJwk.html create mode 100644 types/ProtocolDefinition.html create mode 100644 types/ProtocolRuleSet.html create mode 100644 types/ProtocolTypes.html create mode 100644 types/ProtocolsConfigureDescriptor.html create mode 100644 types/ProtocolsConfigureMessage.html create mode 100644 types/ProtocolsConfigureOptions.html create mode 100644 types/ProtocolsQueryFilter.html create mode 100644 types/ProtocolsQueryMessage.html create mode 100644 types/ProtocolsQueryOptions.html create mode 100644 types/ProtocolsQueryReply.html create mode 100644 types/PublicJwk.html create mode 100644 types/QueryOptions.html create mode 100644 types/QueryResultEntry.html create mode 100644 types/RangeCriterion.html create mode 100644 types/RangeFilter.html create mode 100644 types/RecordsDeleteMessage.html create mode 100644 types/RecordsDeleteOptions.html create mode 100644 types/RecordsQueryMessage.html create mode 100644 types/RecordsQueryOptions.html create mode 100644 types/RecordsQueryReply.html create mode 100644 types/RecordsQueryReplyEntry.html create mode 100644 types/RecordsReadMessage.html create mode 100644 types/RecordsReadOptions.html create mode 100644 types/RecordsReadReply.html create mode 100644 types/RecordsSubscribeDescriptor.html create mode 100644 types/RecordsSubscribeMessage.html create mode 100644 types/RecordsSubscribeOptions.html create mode 100644 types/RecordsSubscribeReply.html create mode 100644 types/RecordsWriteDescriptor.html create mode 100644 types/RecordsWriteMessage.html create mode 100644 types/RecordsWriteOptions.html create mode 100644 types/SubscriptionReply.html create mode 100644 types/UnionMessageReply.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e2ac6616a --- /dev/null +++ b/.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/assets/highlight.css b/assets/highlight.css new file mode 100644 index 000000000..5674cf392 --- /dev/null +++ b/assets/highlight.css @@ -0,0 +1,22 @@ +:root { + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --code-background: var(--dark-code-background); +} + +pre, code { background: var(--code-background); } diff --git a/assets/icons.js b/assets/icons.js new file mode 100644 index 000000000..b79c9e89f --- /dev/null +++ b/assets/icons.js @@ -0,0 +1,15 @@ +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/assets/icons.svg b/assets/icons.svg new file mode 100644 index 000000000..7dead6118 --- /dev/null +++ b/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 000000000..d6f138860 --- /dev/null +++ b/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 000000000..1449e7311 --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA5WaTW/jNhCG/4vOQdMETdrmFtje7CabxrWz6KHogZHGNhGZdEkqXqPof19I/uLHcEhe/b7zSBxyyBGTv/+rDHw31V01ZgbmUpnqotows6ruKhDdWl8ef/9pZdZtdVG9c9FUd7/9f3GO3IqJUlKNZANBtKWRhC/CgFqwGv5ga4zi6CTpGcxKNhHMWYwzJqJWu43hUty3S6m4Wa19EmKJ855gNwbFP1jvn9crCN8MscR5/WyMuYK6N/skR4wz7ttWbu/b9hUEE+aBGeuV6pZpDfoy9Li8q2ubOOJNiBjxhooZM8PmRir4Ch/QhuGuniYpYOsYpddIwlYgoVuRiBlJoQ0TBo09ignGUCEoYFCo6ImoZQNI8EFIxB4WMRp+0EjCBwgzWXNjQMWyH3qSxK9yGVkQjpzk6AdA5uUkpeP/7EDtYoRBTDPm3ZuuFX9DCswzUKzPzRMgbzL8TMU9bnUY9bjVVMwzaM2WyPsehIxYqqgDSwYPn0lLpBhTUGuuNZdCT5U0spbIWyEmkjls1vAEuzlfCqwAfQdN2z8RmauTlBU/kmLBl51CJi/0ZBEjJeDqFGkGtVQNMrKDkBE7hhawA8qRMziRsdhqBmUGDDnpLDGDQWwKviOD9pfiRHoGlaLMod5c39y+X4WIk5QRr+Lxiox/BW36M/oBBChmsKMwsJA8vkay0f+a1YucQ/mx57Q6ERdxfXOLHF4o4SgmAf5B6jOwQ9TF2DssyrENuaCXoRvQSd7Bl4PdL3GvA0Gwlo/C+juxRcK2YDcYa4QtQKwHdiH3teEfsPeOVlC/z0B3rXVymd2mb6xxm0f++fdfr26u7Q5bATPwScl1MBd7bmBIEU+r+gEM/qqhI5s57VLMkyPJ7L+NoDkcqY/b9wDpG5LEoTlf8GVAOgopwrlD/iI2XTBIT86nTZXcgDK7OPDoSDL/7Vj7ibfGLooD7CwlKcOeY5XgZyaaFkFGfFn8voUL2k6La+nZvEiR+Ho2bwabNpwVR81jDY0GOVrbUcAkR2w7CpjEqM96Hu/U0oxhv0gkvogwY+ETyOz6rkI2mWXfVcgmsu16Uly87PMqfmiyeB3JoauWsdDhIZYU9Ql2ie03dGQwn5kBxVmLwI5SinIYxTBlPsbWMjnuhayDCe9koxRidw0dBcxIJYSOAia6RHy9lDcRRiWhgylFfhHwssCLy5JSlClbcsHcvncPOSv5jFGndLiV+nqSd7oAGUnRcHRmMU8+d17LTbAAPTmDpqVgCKX/ORkdbSDzO8fjzccYFlxwdA4DRy5z1rUwh6DiPTmX9toHx1iDmEs63xnFj27KW/6cyHYVNZY/IbJ5RY3ZTxjaInyLwDxl3FReSjpHNyiVj5L+0Q1Ct3TEkqR2by2vseI9CikCNdCS8R3euf90RY8WX0/xZkwsYdTf0ylkP3HVLBa+/CwpSbGvViOLDvMUcSMzgXkyuVSNIJYSKv2yJavHDkFrIzAUE9FVibsy2f3FNp1Yy1HApNNqOQqYVFJPeiYv46M17ix9Bp3g0u9WP4xOdemXqx9GJb3s29X+u0Uy656rhE1n27aUUOks25YU1b5MQ7MbGFLEb4JLQX2LB4YUkXVmBcLw2rk4X3Ri+P8TfWnrLuv2FwsD36HuDHwTLWh9/yaVgQbDYb4A+88PTkImwtUkAAA=" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js new file mode 100644 index 000000000..a419e8f5c --- /dev/null +++ b/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/assets/style.css b/assets/style.css new file mode 100644 index 000000000..778b94927 --- /dev/null +++ b/assets/style.css @@ -0,0 +1,1412 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +.tsd-generator { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/classes/AllowAllTenantGate.html b/classes/AllowAllTenantGate.html new file mode 100644 index 000000000..5902912ed --- /dev/null +++ b/classes/AllowAllTenantGate.html @@ -0,0 +1,5 @@ +AllowAllTenantGate | DWN-SDK Documentation - v0.2.23

A tenant gate that treats every DID as an active tenant.

+

Implements

Constructors

Methods

Constructors

Methods

\ No newline at end of file diff --git a/classes/Cid.html b/classes/Cid.html new file mode 100644 index 000000000..e21efd99c --- /dev/null +++ b/classes/Cid.html @@ -0,0 +1,17 @@ +Cid | DWN-SDK Documentation - v0.2.23

Utility class for creating CIDs. Exported for the convenience of developers.

+

Constructors

Methods

  • Computes a V1 CID for the provided payload

    +

    Parameters

    • payload: any
    • codecCode: number = cbor.code

      the codec to use. Defaults to cbor

      +
    • multihashCode: number = sha256.code

      the multihasher to use. Defaults to sha256

      +

    Returns Promise<string>

    payload CID

    +

    Throws

    codec is not supported

    +

    Throws

    encoding fails

    +

    Throws

    if hasher is not supported

    +
  • Parameters

    • content: Uint8Array

    Returns Promise<string>

    V1 CID of the DAG comprised by chunking data into unixfs DAG-PB encoded blocks

    +
  • Parameters

    • dataStream: Readable

    Returns Promise<string>

    V1 CID of the DAG comprised by chunking data into unixfs DAG-PB encoded blocks

    +
  • Parses the given CID string into a {CID}.

    +

    Parameters

    • str: string

    Returns CID<unknown, number, number, Version>

\ No newline at end of file diff --git a/classes/DataStoreLevel.html b/classes/DataStoreLevel.html new file mode 100644 index 000000000..161f00e60 --- /dev/null +++ b/classes/DataStoreLevel.html @@ -0,0 +1,27 @@ +DataStoreLevel | DWN-SDK Documentation - v0.2.23

A simple implementation of DataStore that works in both the browser and server-side. +Leverages LevelDB under the hood.

+

It has the following structure (+ represents an additional sublevel/partition): + 'data' + + + ->

+

Implements

Constructors

Properties

Methods

Constructors

Properties

blockstore: BlockstoreLevel
config: DataStoreLevelConfig

Methods

  • Deletes the specified data. No-op if the data does not exist.

    +

    Parameters

    • tenant: string
    • recordId: string

      The logical ID of the record that references the data.

      +
    • dataCid: string

      The IPFS CID of the data.

      +

    Returns Promise<void>

  • Fetches the specified data.

    +

    Parameters

    • tenant: string
    • recordId: string

      The logical ID of the record that references the data.

      +
    • dataCid: string

      The IPFS CID of the data.

      +

    Returns Promise<undefined | DataStoreGetResult>

    the data size and data stream if found, otherwise undefined.

    +
\ No newline at end of file diff --git a/classes/DataStream.html b/classes/DataStream.html new file mode 100644 index 000000000..25f4f4877 --- /dev/null +++ b/classes/DataStream.html @@ -0,0 +1,13 @@ +DataStream | DWN-SDK Documentation - v0.2.23

Utility class for readable data stream, intentionally named to disambiguate from ReadableStream, readable-stream, Readable etc.

+

Constructors

Methods

  • Duplicates the given data stream into the number of streams specified so that multiple handlers can consume the same data stream.

    +

    Parameters

    • dataStream: Readable
    • count: number

    Returns Readable[]

  • Creates a readable stream from the bytes given.

    +

    Parameters

    • bytes: Uint8Array

    Returns Readable

  • Creates a readable stream from the object given.

    +

    Parameters

    • object: Record<string, any>

    Returns Readable

  • Reads the entire readable stream given into array of bytes.

    +

    Parameters

    • readableStream: Readable

    Returns Promise<Uint8Array>

  • Reads the entire readable stream and JSON parses it into an object.

    +

    Parameters

    • readableStream: Readable

    Returns Promise<object>

\ No newline at end of file diff --git a/classes/Dwn.html b/classes/Dwn.html new file mode 100644 index 000000000..280734e9f --- /dev/null +++ b/classes/Dwn.html @@ -0,0 +1,14 @@ +Dwn | DWN-SDK Documentation - v0.2.23

Methods

  • Validates structure of DWN message

    +

    Parameters

    • rawMessage: any

    Returns Promise<undefined | GenericMessageReply>

    GenericMessageReply if the message has an integrity error, otherwise undefined.

    +
  • Checks tenant gate to see if tenant is allowed.

    +

    Parameters

    • tenant: string

      The tenant DID to route the given message to.

      +

    Returns Promise<undefined | GenericMessageReply>

    GenericMessageReply if the message has an integrity error, otherwise undefined.

    +
\ No newline at end of file diff --git a/classes/DwnConstant.html b/classes/DwnConstant.html new file mode 100644 index 000000000..cfc4d6cf6 --- /dev/null +++ b/classes/DwnConstant.html @@ -0,0 +1,6 @@ +DwnConstant | DWN-SDK Documentation - v0.2.23

Constructors

Properties

maxDataSizeAllowedToBeEncoded: 30000 = 30_000

The maximum size of raw data that will be returned as encodedData.

+

We chose 30k, as after encoding it would give plenty of headroom up to the 65k limit in most SQL variants. +We currently encode using base64url which is a 33% increase in size.

+
\ No newline at end of file diff --git a/classes/DwnError.html b/classes/DwnError.html new file mode 100644 index 000000000..cb07585f6 --- /dev/null +++ b/classes/DwnError.html @@ -0,0 +1,4 @@ +DwnError | DWN-SDK Documentation - v0.2.23

A class that represents a DWN error.

+

Hierarchy

  • Error
    • DwnError

Constructors

Properties

Constructors

Properties

code: string
\ No newline at end of file diff --git a/classes/Encoder.html b/classes/Encoder.html new file mode 100644 index 000000000..a3487771b --- /dev/null +++ b/classes/Encoder.html @@ -0,0 +1,11 @@ +Encoder | DWN-SDK Documentation - v0.2.23

Utility class for encoding/converting data into various formats.

+

Constructors

Methods

  • Parameters

    • base64urlString: string

    Returns Uint8Array

  • Parameters

    • base64urlString: string

    Returns any

  • Parameters

    • obj: Record<string, any>

    Returns Uint8Array

\ No newline at end of file diff --git a/classes/Encryption.html b/classes/Encryption.html new file mode 100644 index 000000000..b5e424741 --- /dev/null +++ b/classes/Encryption.html @@ -0,0 +1,17 @@ +Encryption | DWN-SDK Documentation - v0.2.23

Utility class for performing common, non-DWN specific encryption operations.

+

Constructors

Accessors

Methods

  • Decrypts the given cipher stream using AES-256-CTR algorithm.

    +

    Parameters

    • key: Uint8Array
    • initializationVector: Uint8Array
    • cipherStream: Readable

    Returns Promise<Readable>

  • Encrypts the given plaintext stream using AES-256-CTR algorithm.

    +

    Parameters

    • key: Uint8Array
    • initializationVector: Uint8Array
    • plaintextStream: Readable

    Returns Promise<Readable>

  • Decrypt the given plaintext using ECIES (Elliptic Curve Integrated Encryption Scheme) +with SECP256K1 for the asymmetric calculations, HKDF as the key-derivation function, +and AES-GCM for the symmetric encryption and MAC algorithms.

    +

    Parameters

    • input: EciesEncryptionInput

    Returns Promise<Uint8Array>

  • Encrypts the given plaintext using ECIES (Elliptic Curve Integrated Encryption Scheme) +with SECP256K1 for the asymmetric calculations, HKDF as the key-derivation function, +and AES-GCM for the symmetric encryption and MAC algorithms.

    +

    Parameters

    • publicKeyBytes: Uint8Array
    • plaintext: Uint8Array

    Returns Promise<EciesEncryptionOutput>

\ No newline at end of file diff --git a/classes/EventEmitterStream.html b/classes/EventEmitterStream.html new file mode 100644 index 000000000..ef861352e --- /dev/null +++ b/classes/EventEmitterStream.html @@ -0,0 +1,7 @@ +EventEmitterStream | DWN-SDK Documentation - v0.2.23

The EventStream interface implements a pub/sub system based on Message filters.

+

Implements

Constructors

Methods

Constructors

Methods

\ No newline at end of file diff --git a/classes/EventLogLevel.html b/classes/EventLogLevel.html new file mode 100644 index 000000000..a4a492bc0 --- /dev/null +++ b/classes/EventLogLevel.html @@ -0,0 +1,28 @@ +EventLogLevel | DWN-SDK Documentation - v0.2.23

Implements

Constructors

Properties

index: IndexLevel
ulidFactory: ULIDFactory

Methods

  • adds an event to a tenant's event log

    +

    Parameters

    • tenant: string

      the tenant's DID

      +
    • messageCid: string

      the CID of the message

      +
    • indexes: KeyValues

      (key-value pairs) to be included as part of indexing this event.

      +

    Returns Promise<void>

  • deletes any events that have any of the messageCids provided

    +

    Parameters

    • tenant: string
    • messageCids: string[]

    Returns Promise<void>

    the number of events deleted

    +
  • Retrieves all of a tenant's events that occurred after the cursor provided. +If no cursor is provided, all events for a given tenant will be returned.

    +

    The cursor is a messageCid.

    +

    Returns an array of messageCids that represent the events.

    +

    Parameters

    Returns Promise<{
        cursor?: PaginationCursor;
        events: string[];
    }>

  • retrieves a filtered set of events that occurred after a the cursor provided, accepts multiple filters.

    +

    If no cursor is provided, all events for a given tenant and filter combo will be returned. +The cursor is a messageCid.

    +

    Returns an array of messageCids that represent the events.

    +

    Parameters

    Returns Promise<{
        cursor?: PaginationCursor;
        events: string[];
    }>

\ No newline at end of file diff --git a/classes/EventsGet.html b/classes/EventsGet.html new file mode 100644 index 000000000..cd2000544 --- /dev/null +++ b/classes/EventsGet.html @@ -0,0 +1,9 @@ +EventsGet | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/EventsQuery.html b/classes/EventsQuery.html new file mode 100644 index 000000000..24113073c --- /dev/null +++ b/classes/EventsQuery.html @@ -0,0 +1,9 @@ +EventsQuery | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/EventsSubscribe.html b/classes/EventsSubscribe.html new file mode 100644 index 000000000..891ea8407 --- /dev/null +++ b/classes/EventsSubscribe.html @@ -0,0 +1,11 @@ +EventsSubscribe | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/HdKey.html b/classes/HdKey.html new file mode 100644 index 000000000..33bce32e5 --- /dev/null +++ b/classes/HdKey.html @@ -0,0 +1,9 @@ +HdKey | DWN-SDK Documentation - v0.2.23

Class containing hierarchical deterministic key related utility methods used by the DWN.

+

Constructors

Methods

  • Derives a descendant public key from an ancestor private key. +NOTE: currently only supports SECP256K1 keys.

    +

    Parameters

    Returns Promise<PublicJwk>

\ No newline at end of file diff --git a/classes/Jws.html b/classes/Jws.html new file mode 100644 index 000000000..3e9b2d684 --- /dev/null +++ b/classes/Jws.html @@ -0,0 +1,18 @@ +Jws | DWN-SDK Documentation - v0.2.23

Utility class for JWS related operations.

+

Constructors

Methods

  • Decodes the payload of the given JWS object as a plain object.

    +

    Parameters

    • jws: GeneralJws

    Returns any

  • Extracts the DID from the given kid string.

    +

    Parameters

    • kid: string

    Returns string

  • Gets the kid from a general JWS signature entry.

    +

    Parameters

    • signatureEntry: SignatureEntry

    Returns string

  • Gets the signer DID from a general JWS signature entry.

    +

    Parameters

    • signatureEntry: SignatureEntry

    Returns string

  • Verifies the signature against the given payload.

    +

    Parameters

    • base64UrlPayload: string
    • signatureEntry: SignatureEntry
    • jwkPublic: PublicJwk

    Returns Promise<boolean>

    true if signature is valid; false otherwise

    +
\ No newline at end of file diff --git a/classes/Message.html b/classes/Message.html new file mode 100644 index 000000000..11aa8336b --- /dev/null +++ b/classes/Message.html @@ -0,0 +1,46 @@ +Message | DWN-SDK Documentation - v0.2.23

A class containing utility methods for working with DWN messages.

+

Constructors

Methods

  • Compares message CID in lexicographical order according to the spec.

    +

    Returns Promise<number>

    1 if a is larger than b; -1 if a is smaller/older than b; 0 otherwise (same message)

    +
  • Compares the messageTimestamp of the given messages with a fallback to message CID according to the spec.

    +

    Returns Promise<number>

    1 if a is larger/newer than b; -1 if a is smaller/older than b; 0 otherwise (same age)

    +
  • Creates the authorization property to be included in a DWN message.

    +

    Parameters

    • input: {
          delegatedGrant?: RecordsWriteMessage;
          descriptor: Descriptor;
          permissionsGrantId?: string;
          protocolRole?: string;
          signer: Signer;
      }
      • Optional delegatedGrant?: RecordsWriteMessage
      • descriptor: Descriptor
      • Optional permissionsGrantId?: string
      • Optional protocolRole?: string
      • signer: Signer

    Returns Promise<AuthorizationModel>

    used as an authorization property.

    +
  • Creates a generic signature from the given DWN message descriptor by including descriptorCid as the required property in the signature payload. +NOTE: there is an opportunity to consolidate RecordsWrite.createSignerSignature() wth this method

    +

    Parameters

    • descriptor: Descriptor
    • signer: Signer
    • Optional additionalPayloadProperties: {
          delegatedGrantId?: string;
          permissionsGrantId?: string;
          protocolRole?: string;
      }
      • Optional delegatedGrantId?: string
      • Optional permissionsGrantId?: string
      • Optional protocolRole?: string

    Returns Promise<GeneralJws>

  • Gets the DID of the signer of the given message, returns undefined if message is not signed.

    +

    Parameters

    Returns undefined | string

  • Validates the given message against the corresponding JSON schema.

    +

    Parameters

    • rawMessage: any

    Returns void

    Throws

    if fails validation.

    +
  • Validates the structural integrity of the message signature given:

    +
      +
    1. The message signature must contain exactly 1 signature
    2. +
    3. Passes JSON schema validation
    4. +
    5. The descriptorCid property matches the CID of the message descriptor +NOTE: signature is NOT verified.
    6. +
    +

    Parameters

    • messageSignature: GeneralJws
    • messageDescriptor: Descriptor
    • payloadJsonSchemaKey: string = 'GenericSignaturePayload'

      The key to look up the JSON schema referenced in compile-validators.js and perform payload schema validation on.

      +

    Returns Promise<GenericSignaturePayload>

    the parsed JSON payload object if validation succeeds.

    +
\ No newline at end of file diff --git a/classes/MessageStoreLevel.html b/classes/MessageStoreLevel.html new file mode 100644 index 000000000..02d68e686 --- /dev/null +++ b/classes/MessageStoreLevel.html @@ -0,0 +1,26 @@ +MessageStoreLevel | DWN-SDK Documentation - v0.2.23

A simple implementation of MessageStore that works in both the browser and server-side. +Leverages LevelDB under the hood.

+

Implements

Constructors

Properties

blockstore: BlockstoreLevel
config: MessageStoreLevelConfig
index: IndexLevel

Methods

\ No newline at end of file diff --git a/classes/MessagesGet.html b/classes/MessagesGet.html new file mode 100644 index 000000000..5513cb9f8 --- /dev/null +++ b/classes/MessagesGet.html @@ -0,0 +1,9 @@ +MessagesGet | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/PermissionsProtocol.html b/classes/PermissionsProtocol.html new file mode 100644 index 000000000..bc803be39 --- /dev/null +++ b/classes/PermissionsProtocol.html @@ -0,0 +1,26 @@ +PermissionsProtocol | DWN-SDK Documentation - v0.2.23

This is a first-class DWN protocol for managing permission grants of a given DWN.

+

Constructors

Properties

definition: ProtocolDefinition = ...

The definition of the Permissions protocol.

+
grantPath: "grant" = 'grant'

The protocol path of the grant record.

+
requestPath: "request" = 'request'

The protocol path of the request record.

+
revocationPath: "grant/revocation" = 'grant/revocation'

The protocol path of the revocation record.

+
uri: "https://tbd.website/dwn/permissions" = 'https://tbd.website/dwn/permissions'

The URI of the DWN Permissions protocol.

+

Methods

  • Convenience method to create a permission grant.

    +

    Parameters

    • options: PermissionGrantCreateOptions

    Returns Promise<{
        dataEncodedMessage: DataEncodedRecordsWriteMessage;
        permissionGrantBytes: Uint8Array;
        permissionGrantModel: PermissionGrantModel;
        recordsWrite: RecordsWrite;
    }>

  • Convenience method to create a permission request.

    +

    Parameters

    • options: PermissionRequestCreateOptions

    Returns Promise<{
        permissionRequestBytes: Uint8Array;
        permissionRequestModel: PermissionRequestModel;
        recordsWrite: RecordsWrite;
    }>

  • Convenience method to create a permission revocation.

    +

    Parameters

    • options: PermissionRevocationCreateOptions

    Returns Promise<{
        permissionRevocationBytes: Uint8Array;
        permissionRevocationModel: PermissionRevocationModel;
        recordsWrite: RecordsWrite;
    }>

  • Fetches PermissionGrant with the specified recordID.

    +

    Parameters

    • tenant: string
    • messageStore: MessageStore
    • permissionsGrantId: string

    Returns Promise<PermissionGrant>

    the PermissionGrant matching the recordId specified.

    +

    Throws

    if PermissionGrant does not exist

    +
  • Parameters

    • base64UrlEncodedRequest: string

    Returns PermissionRequestModel

  • Validates the given Permissions protocol RecordsWrite. It can be a request, grant, or revocation.

    +

    Parameters

    Returns void

\ No newline at end of file diff --git a/classes/PrivateKeySigner.html b/classes/PrivateKeySigner.html new file mode 100644 index 000000000..d19a7b29f --- /dev/null +++ b/classes/PrivateKeySigner.html @@ -0,0 +1,17 @@ +PrivateKeySigner | DWN-SDK Documentation - v0.2.23

A signer that signs using a private key.

+

Implements

Constructors

Properties

Methods

Constructors

Properties

algorithm: string

The name of the signature algorithm used by this signer. +This value will be used as the "alg" parameter in JWS produced. +This parameter is not used by the DWN but is unfortunately a required header property for a JWS as per: +https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 +Valid signature algorithm values can be found at https://www.iana.org/assignments/jose/jose.xhtml

+
keyId: string

The ID of the key used by this signer. +This needs to be a fully-qualified ID (ie. prefixed with DID) so that author can be parsed out for processing such as recordId computation. +Example: did:example:alice#key1 +This value will be used as the "kid" parameter in JWS produced. +While this property is not a required property per JWS specification, it is required for DWN authentication.

+

Methods

  • Signs the given content and returns the signature as bytes.

    +

    Parameters

    • content: Uint8Array

    Returns Promise<Uint8Array>

\ No newline at end of file diff --git a/classes/Protocols.html b/classes/Protocols.html new file mode 100644 index 000000000..47dd647f4 --- /dev/null +++ b/classes/Protocols.html @@ -0,0 +1,7 @@ +Protocols | DWN-SDK Documentation - v0.2.23

Class containing Protocol related utility methods.

+

Constructors

Methods

  • Derives public encryptions keys and inject it in the $encryption property for each protocol path segment of the given Protocol definition, +then returns the final encryption-enabled protocol definition. +NOTE: The original definition passed in is unmodified.

    +

    Parameters

    Returns Promise<ProtocolDefinition>

\ No newline at end of file diff --git a/classes/ProtocolsConfigure.html b/classes/ProtocolsConfigure.html new file mode 100644 index 000000000..bf834fe0d --- /dev/null +++ b/classes/ProtocolsConfigure.html @@ -0,0 +1,9 @@ +ProtocolsConfigure | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/ProtocolsQuery.html b/classes/ProtocolsQuery.html new file mode 100644 index 000000000..c78bc2073 --- /dev/null +++ b/classes/ProtocolsQuery.html @@ -0,0 +1,11 @@ +ProtocolsQuery | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/Records.html b/classes/Records.html new file mode 100644 index 000000000..bed49592a --- /dev/null +++ b/classes/Records.html @@ -0,0 +1,48 @@ +Records | DWN-SDK Documentation - v0.2.23

Class containing useful utilities related to the Records interface.

+

Constructors

Methods

  • This will create individual keys for each of the tags that look like tag.tag_property

    +

    Parameters

    • tags: RecordsWriteTags

    Returns KeyValues

  • Constructs the full key derivation path using dataFormats scheme.

    +

    Parameters

    • schema: undefined | string
    • dataFormat: string

    Returns string[]

  • Constructs the full key derivation path using protocolContext scheme.

    +

    Parameters

    • contextId: undefined | string

    Returns string[]

  • Constructs the full key derivation path using protocolPath scheme.

    +

    Parameters

    Returns string[]

  • Constructs the full key derivation path using schemas scheme.

    +

    Parameters

    • schema: undefined | string

    Returns string[]

  • Converts an incoming RecordsFilter into a Filter usable by MessageStore.

    +

    Parameters

    • filter: RecordsFilter

      A RecordsFilter

      +
    • Optional dateSort: DateSort

    Returns Filter

    a generic Filter able to be used with MessageStore.

    +
  • Decrypts the encrypted data in a message reply using the given ancestor private key.

    +

    Parameters

    Returns Promise<Readable>

  • Derives a descendant private key given an ancestor private key and the full absolute derivation path. +NOTE: right now only ECIES-ES256K algorithm is supported for asymmetric encryption, + so we will only derive SECP256K1 key without additional conditional checks

    +

    Parameters

    Returns Promise<Uint8Array>

  • Checks if the filter supports returning published records.

    +

    Parameters

    • filter: RecordsFilter

    Returns boolean

  • Checks if the filter supports returning unpublished records.

    +

    Parameters

    • filter: RecordsFilter

    Returns boolean

  • Extracts the parent context ID from the given context ID.

    +

    Parameters

    • contextId: undefined | string

    Returns undefined | string

  • Parameters

    • filter: string | number | boolean | {
          gt: RangeValue;
      } & {
          gte?: undefined;
      } & Partial<{
          gt: RangeValue;
      } & {
          gte?: undefined;
      }> & Partial<{
          lt: RangeValue;
      } & {
          lte?: undefined;
      }> | {
          gt: RangeValue;
      } & {
          gte?: undefined;
      } & Partial<{
          gt: RangeValue;
      } & {
          gte?: undefined;
      }> & Partial<{
          lt?: undefined;
      } & {
          lte: RangeValue;
      }> | never | never | never | never | {
          gt?: undefined;
      } & {
          gte: RangeValue;
      } & Partial<{
          gt?: undefined;
      } & {
          gte: RangeValue;
      }> & Partial<{
          lt: RangeValue;
      } & {
          lte?: undefined;
      }> | {
          gt?: undefined;
      } & {
          gte: RangeValue;
      } & Partial<{
          gt?: undefined;
      } & {
          gte: RangeValue;
      }> & Partial<{
          lt?: undefined;
      } & {
          lte: RangeValue;
      }> | {
          lt: RangeValue;
      } & {
          lte?: undefined;
      } & Partial<{
          gt: RangeValue;
      } & {
          gte?: undefined;
      }> & Partial<{
          lt: RangeValue;
      } & {
          lte?: undefined;
      }> | never | {
          lt: RangeValue;
      } & {
          lte?: undefined;
      } & Partial<{
          gt?: undefined;
      } & {
          gte: RangeValue;
      }> & Partial<{
          lt: RangeValue;
      } & {
          lte?: undefined;
      }> | never | never | {
          lt?: undefined;
      } & {
          lte: RangeValue;
      } & Partial<{
          gt: RangeValue;
      } & {
          gte?: undefined;
      }> & Partial<{
          lt?: undefined;
      } & {
          lte: RangeValue;
      }> | never | {
          lt?: undefined;
      } & {
          lte: RangeValue;
      } & Partial<{
          gt?: undefined;
      } & {
          gte: RangeValue;
      }> & Partial<{
          lt?: undefined;
      } & {
          lte: RangeValue;
      }> | StartsWithFilter

    Returns filter is StartsWithFilter

  • Normalizes the protocol and schema URLs within a provided RecordsFilter and returns a copy of RecordsFilter with the modified values.

    +

    Parameters

    • filter: RecordsFilter

      incoming RecordsFilter to normalize.

      +

    Returns RecordsFilter

    a copy of the incoming RecordsFilter with the normalized properties.

    +
  • Determines if signature payload contains a protocolRole and should be authorized as such.

    +

    Parameters

    • signaturePayload: GenericSignaturePayload

    Returns boolean

  • Validates that ancestor derivation path matches the descendant derivation path completely.

    +

    Parameters

    • ancestorKeyDerivationPath: string[]
    • descendantKeyDerivationPath: string[]

    Returns void

    Throws

    with DwnErrorCode.RecordsInvalidAncestorKeyDerivationSegment if fails validation.

    +
  • Validates the referential integrity of both author-delegated grant and owner-delegated grant.

    +

    Parameters

    • message: RecordsWriteMessage | RecordsQueryMessage | RecordsDeleteMessage | RecordsSubscribeMessage | RecordsReadMessage
    • authorSignaturePayload: undefined | GenericSignaturePayload

      Decoded payload of the author signature of the message. Pass undefined if message is not signed. + Passed purely as a performance optimization so we don't have to decode the signature payload again.

      +
    • Optional ownerSignaturePayload: GenericSignaturePayload

      Decoded payload of the owner signature of the message. Pass undefined if no owner signature is present. + Passed purely as a performance optimization so we don't have to decode the owner signature payload again.

      +

    Returns Promise<void>

\ No newline at end of file diff --git a/classes/RecordsDelete.html b/classes/RecordsDelete.html new file mode 100644 index 000000000..3e20e2350 --- /dev/null +++ b/classes/RecordsDelete.html @@ -0,0 +1,13 @@ +RecordsDelete | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/RecordsQuery.html b/classes/RecordsQuery.html new file mode 100644 index 000000000..4ccfdf604 --- /dev/null +++ b/classes/RecordsQuery.html @@ -0,0 +1,13 @@ +RecordsQuery | DWN-SDK Documentation - v0.2.23

A class representing a RecordsQuery DWN message.

+

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

  • Authorizes the delegate who signed this message.

    +

    Parameters

    • messageStore: MessageStore

      Used to check if the grant has been revoked.

      +

    Returns Promise<void>

\ No newline at end of file diff --git a/classes/RecordsRead.html b/classes/RecordsRead.html new file mode 100644 index 000000000..7c73b1832 --- /dev/null +++ b/classes/RecordsRead.html @@ -0,0 +1,14 @@ +RecordsRead | DWN-SDK Documentation - v0.2.23

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/RecordsSubscribe.html b/classes/RecordsSubscribe.html new file mode 100644 index 000000000..2ad8a327f --- /dev/null +++ b/classes/RecordsSubscribe.html @@ -0,0 +1,13 @@ +RecordsSubscribe | DWN-SDK Documentation - v0.2.23

A class representing a RecordsSubscribe DWN message.

+

Hierarchy

Accessors

  • get signaturePayload(): undefined | GenericSignaturePayload
  • Returns undefined | GenericSignaturePayload

Methods

\ No newline at end of file diff --git a/classes/RecordsWrite.html b/classes/RecordsWrite.html new file mode 100644 index 000000000..043400d82 --- /dev/null +++ b/classes/RecordsWrite.html @@ -0,0 +1,83 @@ +RecordsWrite | DWN-SDK Documentation - v0.2.23

A class representing a RecordsWrite DWN message. +NOTE: Unable to extend AbstractMessage directly because the incompatible _message type, which is not just a generic <M> type.

+

Implements

Properties

attesters: string[]

Accessors

  • get owner(): undefined | string
  • The owner DID of the message if owner signature is present in the message; undefined otherwise. +This is the logical owner of the message, not to be confused with the actual signer of the owner signature, +this is because the signer of the owner signature may not be the actual DWN owner, but a delegate authorized by the owner.

    +

    Returns undefined | string

  • get ownerSignaturePayload(): undefined | GenericSignaturePayload
  • Decoded owner signature payload.

    +

    Returns undefined | GenericSignaturePayload

  • get ownerSignatureSigner(): undefined | string
  • Gets the signer of owner signature; undefined if owner signature is not present in the message. +This is not to be confused with the logical owner #owner of the message, +this is because the signer of the owner signature may not be the actual DWN owner, but a delegate authorized by the owner. +In the case that the owner signature is signed by the actual DWN owner, this value will be the same as #owner.

    +

    Returns undefined | string

  • get signaturePayload(): undefined | RecordsWriteSignaturePayload
  • Returns undefined | RecordsWriteSignaturePayload

  • get signer(): undefined | string
  • Gets the signer of this message. +This is not to be confused with the logical author of the message.

    +

    Returns undefined | string

Methods

  • Authorizes the author-delegate who signed this message.

    +

    Parameters

    • messageStore: MessageStore

      Used to check if the grant has been revoked.

      +

    Returns Promise<void>

  • Authorizes the owner-delegate who signed this message.

    +

    Parameters

    • messageStore: MessageStore

      Used to check if the grant has been revoked.

      +

    Returns Promise<void>

  • Encrypts the symmetric encryption key using the public keys given and attach the resulting encryption property to the RecordsWrite.

    +

    Parameters

    Returns Promise<void>

  • Signs the RecordsWrite, the signer is commonly the author, but can also be a delegate.

    +

    Parameters

    • options: {
          delegatedGrant?: RecordsWriteMessage;
          permissionsGrantId?: string;
          protocolRole?: string;
          signer: Signer;
      }
      • Optional delegatedGrant?: RecordsWriteMessage
      • Optional permissionsGrantId?: string
      • Optional protocolRole?: string
      • signer: Signer

    Returns Promise<void>

  • Signs the RecordsWrite as the DWN owner. +This is used when the DWN owner wants to retain a copy of a message that the owner did not author. +NOTE: requires the RecordsWrite to already have the author's signature.

    +

    Parameters

    Returns Promise<void>

  • Signs the RecordsWrite as the DWN owner-delegate. +This is used when a DWN owner-delegate wants to retain a copy of a message that the owner did not author. +NOTE: requires the RecordsWrite to already have the author's signature.

    +

    Parameters

    Returns Promise<void>

  • Creates the attestation property of a RecordsWrite message if given signature inputs; returns undefined otherwise.

    +

    Parameters

    • descriptorCid: string
    • Optional signers: Signer[]

    Returns Promise<undefined | GeneralJws>

  • Convenience method that creates a message by:

    +
      +
    1. Copying over immutable properties from the given source message
    2. +
    3. Copying over mutable properties that are not overwritten from the given source message
    4. +
    5. Replace the mutable properties that are given new value
    6. +
    +

    Parameters

    Returns Promise<RecordsWrite>

  • Creates the signature property in the authorization of a RecordsWrite message.

    +

    Parameters

    • input: {
          attestation: undefined | GeneralJws;
          contextId: undefined | string;
          delegatedGrantId?: string;
          descriptorCid: string;
          encryption: undefined | EncryptionProperty;
          permissionsGrantId?: string;
          protocolRole?: string;
          recordId: string;
          signer: Signer;
      }
      • attestation: undefined | GeneralJws
      • contextId: undefined | string
      • Optional delegatedGrantId?: string
      • descriptorCid: string
      • encryption: undefined | EncryptionProperty
      • Optional permissionsGrantId?: string
      • Optional protocolRole?: string
      • recordId: string
      • signer: Signer

    Returns Promise<GeneralJws>

  • Fetches the initial RecordsWrite of a record.

    +

    Parameters

    Returns Promise<undefined | RecordsWrite>

    The initial RecordsWrite if found; undefined if the record is not found.

    +
  • Gets the DID of the author of the given message.

    +

    Parameters

    • message: InternalRecordsWriteMessage

    Returns string[]

\ No newline at end of file diff --git a/classes/Secp256k1.html b/classes/Secp256k1.html new file mode 100644 index 000000000..143e3407b --- /dev/null +++ b/classes/Secp256k1.html @@ -0,0 +1,34 @@ +Secp256k1 | DWN-SDK Documentation - v0.2.23

Class containing SECP256K1 related utility methods.

+

Constructors

Methods

  • Derives a child private key using the given derivation path segment.

    +

    Parameters

    • privateKey: Uint8Array
    • derivationPathSegment: Uint8Array

    Returns Promise<Uint8Array>

  • Derives a hardened hierarchical deterministic private key.

    +

    Parameters

    • privateKey: Uint8Array
    • relativePath: string[]

    Returns Promise<Uint8Array>

  • Derives a hardened hierarchical deterministic public key.

    +

    Parameters

    • privateKey: Uint8Array
    • relativePath: string[]

    Returns Promise<Uint8Array>

    uncompressed public key

    +
  • Generates key pair in raw bytes, where the publicKey is compressed.

    +

    Returns Promise<{
        privateKey: Uint8Array;
        publicKey: Uint8Array;
    }>

  • Gets the compressed public key of the given private key.

    +

    Parameters

    • privateKey: Uint8Array

    Returns Promise<Uint8Array>

  • Creates a private key in raw bytes from the given SECP256K1 JWK.

    +

    Parameters

    Returns Uint8Array

  • Creates a compressed key in raw bytes from the given SECP256K1 JWK.

    +

    Parameters

    Returns Uint8Array

  • Signs the provided content using the provided JWK.

    +

    Parameters

    Returns Promise<Uint8Array>

  • Verifies a signature against the provided payload hash and public key.

    +

    Parameters

    • content: Uint8Array
    • signature: Uint8Array
    • publicJwk: PublicJwk

    Returns Promise<boolean>

    a boolean indicating whether the signature is valid.

    +
\ No newline at end of file diff --git a/classes/Secp256r1.html b/classes/Secp256r1.html new file mode 100644 index 000000000..23fdb9109 --- /dev/null +++ b/classes/Secp256r1.html @@ -0,0 +1,20 @@ +Secp256r1 | DWN-SDK Documentation - v0.2.23

Class containing SECP256R1 related utility methods.

+

Constructors

Methods

  • Creates a private key in raw bytes from the given SECP256R1 JWK.

    +

    Parameters

    Returns Uint8Array

  • Signs the provided content using the provided JWK. +Signature that is outputted is JWS format, not DER.

    +

    Parameters

    Returns Promise<Uint8Array>

  • Verifies a signature against the provided payload hash and public key.

    +

    Parameters

    • content: Uint8Array
    • signature: Uint8Array

      the signature to verify. Can be in either DER or compact format. If using Oracle Cloud KMS, keys will be DER formatted.

      +
    • publicJwk: PublicJwk

    Returns Promise<boolean>

    a boolean indicating whether the signature is valid.

    +
\ No newline at end of file diff --git a/classes/TestDataGenerator.html b/classes/TestDataGenerator.html new file mode 100644 index 000000000..72a2d8b55 --- /dev/null +++ b/classes/TestDataGenerator.html @@ -0,0 +1,59 @@ +TestDataGenerator | DWN-SDK Documentation - v0.2.23

Utility class for generating data for testing.

+

Constructors

Methods

  • Generates a dummy authorization property for a DWN message that only conforms to schema validation.

    +

    Returns AuthorizationModel

  • Generates a dummy authorization property for a DWN message that only conforms to schema validation.

    +

    Returns GeneralJws

  • Parameters

    • Optional input: GenerateEventsGetInput

    Returns Promise<GenerateEventsGetOutput>

  • Parameters

    • input: GenerateEventsQueryInput

    Returns Promise<GenerateEventsQueryOutput>

  • Generates a EventsSubscribe message for testing.

    +

    Parameters

    • Optional input: GenerateEventsSubscribeInput

    Returns Promise<GenerateEventsSubscribeOutput>

  • Generates a valid RecordsWrite that modifies the given an existing write. +Any mutable property is not specified will be automatically mutated. +e.g. if published is not specified, it will be toggled from the state of the given existing write.

    +

    Parameters

    • input: GenerateFromRecordsWriteInput

    Returns Promise<GenerateFromRecordsWriteOut>

  • Parameters

    • input: GenerateMessagesGetInput

    Returns Promise<GenerateMessagesGetOutput>

  • Generates a encrypted RecordsWrite message for testing.

    +

    Parameters

    • input: {
          author: Persona;
          encryptSymmetricKeyWithProtocolContextDerivedKey: boolean;
          encryptSymmetricKeyWithProtocolPathDerivedKey: boolean;
          plaintextBytes: Uint8Array;
          protocolContextDerivedPublicJwk?: PublicJwk;
          protocolContextDerivingRootKeyId?: string;
          protocolDefinition: ProtocolDefinition;
          protocolParentContextId?: string;
          protocolPath: string;
          recipient?: string;
      }
      • author: Persona
      • encryptSymmetricKeyWithProtocolContextDerivedKey: boolean

        Set to true to attach the symmetric key encrypted by the protocol context derived public key

        +
      • encryptSymmetricKeyWithProtocolPathDerivedKey: boolean

        Set to true to attach the symmetric key encrypted by the protocol path derived public key

        +
      • plaintextBytes: Uint8Array
      • Optional protocolContextDerivedPublicJwk?: PublicJwk
      • Optional protocolContextDerivingRootKeyId?: string
      • protocolDefinition: ProtocolDefinition

        Protocol definition used to generate the RecordsWrite. + Must be the RECIPIENT's protocol definition if encryptSymmetricKeyWithProtocolPathDerivedKey is true, + because the recipient's public keys will be needed to encrypt the symmetric key.

        +
      • Optional protocolParentContextId?: string
      • protocolPath: string
      • Optional recipient?: string

    Returns Promise<{
        dataStream: Readable;
        encryptedDataBytes: Uint8Array;
        encryptionInput: EncryptionInput;
        message: RecordsWriteMessage;
        recordsWrite: RecordsWrite;
    }>

  • Generates a ProtocolsConfigure message for testing. +Optional parameters are generated if not given. +Implementation currently uses ProtocolsConfigure.create().

    +

    Parameters

    • Optional input: GenerateProtocolsConfigureInput

    Returns Promise<GenerateProtocolsConfigureOutput>

  • Generates a ProtocolsQuery message for testing.

    +

    Parameters

    • Optional input: GenerateProtocolsQueryInput

    Returns Promise<GenerateProtocolsQueryOutput>

  • Generates a RecordsDelete for testing.

    +

    Parameters

    • Optional input: GenerateRecordsDeleteInput

    Returns Promise<GenerateRecordsDeleteOutput>

  • Generates a RecordsQuery message for testing.

    +

    Parameters

    • Optional input: GenerateRecordsQueryInput

    Returns Promise<GenerateRecordsQueryOutput>

  • Generates a RecordsSubscribe message for testing.

    +

    Parameters

    • Optional input: GenerateRecordsSubscribeInput

    Returns Promise<GenerateRecordsSubscribeOutput>

  • Generates a RecordsWrite message for testing. +Implementation currently uses RecordsWrite.create().

    +

    Parameters

    • Optional input: GenerateRecordsWriteInput

    Returns Promise<GenerateRecordsWriteOutput>

  • Generates a random within a range (inclusive).

    +

    Parameters

    • min: number

      lowest potential value.

      +
    • max: number

      greatest potential value.

      +

    Returns number

  • Generates a random timestamp. Optionally allows you to set specific non-randomized values for the timestamp.

    +

    Parameters

    • Optional options: {
          day?: number;
          hour?: number;
          microsecond?: number;
          millisecond?: number;
          minute?: number;
          month?: number;
          second?: number;
          year?: number;
      }
      • Optional day?: number
      • Optional hour?: number
      • Optional microsecond?: number
      • Optional millisecond?: number
      • Optional minute?: number
      • Optional month?: number
      • Optional second?: number
      • Optional year?: number

    Returns string

    random UTC ISO-8601 timestamp

    +
\ No newline at end of file diff --git a/classes/Time.html b/classes/Time.html new file mode 100644 index 000000000..cee82b048 --- /dev/null +++ b/classes/Time.html @@ -0,0 +1,24 @@ +Time | DWN-SDK Documentation - v0.2.23

Time related utilities.

+

Constructors

Methods

  • Creates a UTC ISO-8601 timestamp offset from now or given timestamp accepted by DWN.

    +

    Parameters

    • offset: {
          seconds: number;
      }

      Negative number means offset into the past.

      +
      • seconds: number
    • Optional timestamp: string

    Returns string

  • Creates a UTC ISO-8601 timestamp in microsecond precision accepted by DWN.

    +

    Parameters

    • options: {
          day?: number;
          hour?: number;
          microsecond?: number;
          millisecond?: number;
          minute?: number;
          month?: number;
          second?: number;
          year?: number;
      }

      Options for creating the timestamp.

      +
      • Optional day?: number
      • Optional hour?: number
      • Optional microsecond?: number
      • Optional millisecond?: number
      • Optional minute?: number
      • Optional month?: number
      • Optional second?: number
      • Optional year?: number

    Returns string

    string

    +
  • Returns an UTC ISO-8601 timestamp with microsecond precision accepted by DWN. +using @js-temporal/polyfill

    +

    Returns string

  • sleeps for the desired duration

    +

    Parameters

    • durationInMillisecond: number

      the desired amount of sleep time

      +

    Returns Promise<void>

    when the provided duration has passed

    +
  • Validates that the provided timestamp is a valid number

    +

    Parameters

    • timestamp: string

      the timestamp to validate

      +

    Returns void

    Throws

    DwnError if timestamp is not a valid number

    +
\ No newline at end of file diff --git a/enums/DateSort.html b/enums/DateSort.html new file mode 100644 index 000000000..8994ed513 --- /dev/null +++ b/enums/DateSort.html @@ -0,0 +1,5 @@ +DateSort | DWN-SDK Documentation - v0.2.23

Enumeration DateSort

Enumeration Members

CreatedAscending: "createdAscending"
CreatedDescending: "createdDescending"
PublishedAscending: "publishedAscending"
PublishedDescending: "publishedDescending"
\ No newline at end of file diff --git a/enums/DwnErrorCode.html b/enums/DwnErrorCode.html new file mode 100644 index 000000000..5349e5a2f --- /dev/null +++ b/enums/DwnErrorCode.html @@ -0,0 +1,146 @@ +DwnErrorCode | DWN-SDK Documentation - v0.2.23

Enumeration DwnErrorCode

DWN SDK error codes.

+

Enumeration Members

AuthenticateDescriptorCidMismatch +AuthenticateJwsMissing +AuthenticationMoreThanOneSignatureNotSupported +AuthorizationAuthorNotOwner +AuthorizationNotGrantedToAuthor +ComputeCidCodecNotSupported +ComputeCidMultihashNotSupported +DidMethodNotSupported +DidNotString +DidNotValid +DidResolutionFailed +Ed25519InvalidJwk +EventEmitterStreamNotOpenError +EventsSubscribeEventStreamUnimplemented +GeneralJwsVerifierGetPublicKeyNotFound +GeneralJwsVerifierInvalidSignature +GrantAuthorizationGrantExpired +GrantAuthorizationGrantMissing +GrantAuthorizationGrantNotYetActive +GrantAuthorizationGrantRevoked +GrantAuthorizationInterfaceMismatch +GrantAuthorizationMethodMismatch +GrantAuthorizationNotGrantedForTenant +GrantAuthorizationNotGrantedToAuthor +HdKeyDerivationPathInvalid +IndexInvalidCursorSortProperty +IndexInvalidCursorValueType +IndexInvalidSortPropertyInMemory +IndexMissingIndexableProperty +JwsDecodePlainObjectPayloadInvalid +JwsVerifySignatureUnsupportedCrv +MessageGetInvalidCid +ParseCidCodecNotSupported +ParseCidMultihashNotSupported +PermissionsProtocolValidateSchemaUnexpectedRecord +PermissionsProtocolValidateScopeContextIdProhibitedProperties +PermissionsProtocolValidateScopeSchemaProhibitedProperties +PrivateKeySignerUnableToDeduceAlgorithm +PrivateKeySignerUnableToDeduceKeyId +PrivateKeySignerUnsupportedCurve +ProtocolAuthorizationActionNotAllowed +ProtocolAuthorizationActionRulesNotFound +ProtocolAuthorizationDuplicateRoleRecipient +ProtocolAuthorizationIncorrectContextId +ProtocolAuthorizationIncorrectDataFormat +ProtocolAuthorizationIncorrectProtocolPath +ProtocolAuthorizationInvalidSchema +ProtocolAuthorizationInvalidType +ProtocolAuthorizationMatchingRoleRecordNotFound +ProtocolAuthorizationMaxSizeInvalid +ProtocolAuthorizationMinSizeInvalid +ProtocolAuthorizationMissingContextId +ProtocolAuthorizationMissingRuleSet +ProtocolAuthorizationNotARole +ProtocolAuthorizationParentNotFoundConstructingAncestorChain +ProtocolAuthorizationParentlessIncorrectProtocolPath +ProtocolAuthorizationProtocolNotFound +ProtocolAuthorizationQueryWithoutRole +ProtocolAuthorizationRoleMissingRecipient +ProtocolsConfigureDuplicateActorInRuleSet +ProtocolsConfigureDuplicateRoleInRuleSet +ProtocolsConfigureInvalidActionDeleteWithoutCreate +ProtocolsConfigureInvalidActionMissingOf +ProtocolsConfigureInvalidActionOfNotAllowed +ProtocolsConfigureInvalidActionUpdateWithoutCreate +ProtocolsConfigureInvalidRecipientOfAction +ProtocolsConfigureInvalidRuleSetRecordType +ProtocolsConfigureInvalidSize +ProtocolsConfigureQueryNotAllowed +ProtocolsConfigureRecordNestingDepthExceeded +ProtocolsConfigureRoleDoesNotExistAtGivenPath +ProtocolsConfigureUnauthorized +ProtocolsQueryUnauthorized +RecordsAuthorDelegatedGrantAndIdExistenceMismatch +RecordsAuthorDelegatedGrantCidMismatch +RecordsAuthorDelegatedGrantGrantedToAndOwnerSignatureMismatch +RecordsAuthorDelegatedGrantNotADelegatedGrant +RecordsDecryptNoMatchingKeyEncryptedFound +RecordsDeleteAuthorizationFailed +RecordsDerivePrivateKeyUnSupportedCurve +RecordsGrantAuthorizationConditionPublicationProhibited +RecordsGrantAuthorizationConditionPublicationRequired +RecordsGrantAuthorizationDeleteProtocolScopeMismatch +RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch +RecordsGrantAuthorizationScopeContextIdMismatch +RecordsGrantAuthorizationScopeMissingProtocol +RecordsGrantAuthorizationScopeNotRecords +RecordsGrantAuthorizationScopeProtocolMismatch +RecordsGrantAuthorizationScopeProtocolPathMismatch +RecordsGrantAuthorizationScopeSchema +RecordsInvalidAncestorKeyDerivationSegment +RecordsOwnerDelegatedGrantAndIdExistenceMismatch +RecordsOwnerDelegatedGrantCidMismatch +RecordsOwnerDelegatedGrantGrantedToAndOwnerSignatureMismatch +RecordsOwnerDelegatedGrantNotADelegatedGrant +RecordsProtocolContextDerivationSchemeMissingContextId +RecordsProtocolPathDerivationSchemeMissingProtocol +RecordsQueryCreateFilterPublishedSortInvalid +RecordsQueryFilterMissingRequiredProperties +RecordsQueryParseFilterPublishedSortInvalid +RecordsReadAuthorizationFailed +RecordsReadReturnedMultiple +RecordsSchemasDerivationSchemeMissingSchema +RecordsSubscribeEventStreamUnimplemented +RecordsSubscribeFilterMissingRequiredProperties +RecordsWriteAttestationIntegrityDescriptorCidMismatch +RecordsWriteAttestationIntegrityInvalidPayloadProperty +RecordsWriteAttestationIntegrityMoreThanOneSignature +RecordsWriteAuthorizationFailed +RecordsWriteCreateDataAndDataCidMutuallyExclusive +RecordsWriteCreateDataCidAndDataSizeMutuallyInclusive +RecordsWriteCreateMissingSigner +RecordsWriteCreateProtocolAndProtocolPathMutuallyInclusive +RecordsWriteDataCidMismatch +RecordsWriteDataSizeMismatch +RecordsWriteGetEntryIdUndefinedAuthor +RecordsWriteGetInitialWriteNotFound +RecordsWriteImmutablePropertyChanged +RecordsWriteMissingDataInPrevious +RecordsWriteMissingDataStream +RecordsWriteMissingEncodedDataInPrevious +RecordsWriteMissingProtocol +RecordsWriteMissingSchema +RecordsWriteMissingSigner +RecordsWriteOwnerAndTenantMismatch +RecordsWriteSignAsOwnerDelegateUnknownAuthor +RecordsWriteSignAsOwnerUnknownAuthor +RecordsWriteValidateIntegrityAttestationMismatch +RecordsWriteValidateIntegrityContextIdMismatch +RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload +RecordsWriteValidateIntegrityDateCreatedMismatch +RecordsWriteValidateIntegrityEncryptionCidMismatch +RecordsWriteValidateIntegrityRecordIdUnauthorized +SchemaValidatorAdditionalPropertyNotAllowed +SchemaValidatorFailure +SchemaValidatorSchemaNotFound +SchemaValidatorUnevaluatedPropertyNotAllowed +Secp256k1KeyNotValid +Secp256r1KeyNotValid +TimestampInvalid +UrlProtocolNotNormalizable +UrlProtocolNotNormalized +UrlSchemaNotNormalizable +UrlSchemaNotNormalized +

Enumeration Members

AuthenticateDescriptorCidMismatch: "AuthenticateDescriptorCidMismatch"
AuthenticateJwsMissing: "AuthenticateJwsMissing"
AuthenticationMoreThanOneSignatureNotSupported: "AuthenticationMoreThanOneSignatureNotSupported"
AuthorizationAuthorNotOwner: "AuthorizationAuthorNotOwner"
AuthorizationNotGrantedToAuthor: "AuthorizationNotGrantedToAuthor"
ComputeCidCodecNotSupported: "ComputeCidCodecNotSupported"
ComputeCidMultihashNotSupported: "ComputeCidMultihashNotSupported"
DidMethodNotSupported: "DidMethodNotSupported"
DidNotString: "DidNotString"
DidNotValid: "DidNotValid"
DidResolutionFailed: "DidResolutionFailed"
Ed25519InvalidJwk: "Ed25519InvalidJwk"
EventEmitterStreamNotOpenError: "EventEmitterStreamNotOpenError"
EventsSubscribeEventStreamUnimplemented: "EventsSubscribeEventStreamUnimplemented"
GeneralJwsVerifierGetPublicKeyNotFound: "GeneralJwsVerifierGetPublicKeyNotFound"
GeneralJwsVerifierInvalidSignature: "GeneralJwsVerifierInvalidSignature"
GrantAuthorizationGrantExpired: "GrantAuthorizationGrantExpired"
GrantAuthorizationGrantMissing: "GrantAuthorizationGrantMissing"
GrantAuthorizationGrantNotYetActive: "GrantAuthorizationGrantNotYetActive"
GrantAuthorizationGrantRevoked: "GrantAuthorizationGrantRevoked"
GrantAuthorizationInterfaceMismatch: "GrantAuthorizationInterfaceMismatch"
GrantAuthorizationMethodMismatch: "GrantAuthorizationMethodMismatch"
GrantAuthorizationNotGrantedForTenant: "GrantAuthorizationNotGrantedForTenant"
GrantAuthorizationNotGrantedToAuthor: "GrantAuthorizationNotGrantedToAuthor"
HdKeyDerivationPathInvalid: "HdKeyDerivationPathInvalid"
IndexInvalidCursorSortProperty: "IndexInvalidCursorSortProperty"
IndexInvalidCursorValueType: "IndexInvalidCursorValueType"
IndexInvalidSortPropertyInMemory: "IndexInvalidSortPropertyInMemory"
IndexMissingIndexableProperty: "IndexMissingIndexableProperty"
JwsDecodePlainObjectPayloadInvalid: "JwsDecodePlainObjectPayloadInvalid"
JwsVerifySignatureUnsupportedCrv: "JwsVerifySignatureUnsupportedCrv"
MessageGetInvalidCid: "MessageGetInvalidCid"
ParseCidCodecNotSupported: "ParseCidCodecNotSupported"
ParseCidMultihashNotSupported: "ParseCidMultihashNotSupported"
PermissionsProtocolValidateSchemaUnexpectedRecord: "PermissionsProtocolValidateSchemaUnexpectedRecord"
PermissionsProtocolValidateScopeContextIdProhibitedProperties: "PermissionsProtocolValidateScopeContextIdProhibitedProperties"
PermissionsProtocolValidateScopeSchemaProhibitedProperties: "PermissionsProtocolValidateScopeSchemaProhibitedProperties"
PrivateKeySignerUnableToDeduceAlgorithm: "PrivateKeySignerUnableToDeduceAlgorithm"
PrivateKeySignerUnableToDeduceKeyId: "PrivateKeySignerUnableToDeduceKeyId"
PrivateKeySignerUnsupportedCurve: "PrivateKeySignerUnsupportedCurve"
ProtocolAuthorizationActionNotAllowed: "ProtocolAuthorizationActionNotAllowed"
ProtocolAuthorizationActionRulesNotFound: "ProtocolAuthorizationActionRulesNotFound"
ProtocolAuthorizationDuplicateRoleRecipient: "ProtocolAuthorizationDuplicateRoleRecipient"
ProtocolAuthorizationIncorrectContextId: "ProtocolAuthorizationIncorrectContextId"
ProtocolAuthorizationIncorrectDataFormat: "ProtocolAuthorizationIncorrectDataFormat"
ProtocolAuthorizationIncorrectProtocolPath: "ProtocolAuthorizationIncorrectProtocolPath"
ProtocolAuthorizationInvalidSchema: "ProtocolAuthorizationInvalidSchema"
ProtocolAuthorizationInvalidType: "ProtocolAuthorizationInvalidType"
ProtocolAuthorizationMatchingRoleRecordNotFound: "ProtocolAuthorizationMatchingRoleRecordNotFound"
ProtocolAuthorizationMaxSizeInvalid: "ProtocolAuthorizationMaxSizeInvalid"
ProtocolAuthorizationMinSizeInvalid: "ProtocolAuthorizationMinSizeInvalid"
ProtocolAuthorizationMissingContextId: "ProtocolAuthorizationMissingContextId"
ProtocolAuthorizationMissingRuleSet: "ProtocolAuthorizationMissingRuleSet"
ProtocolAuthorizationNotARole: "ProtocolAuthorizationNotARole"
ProtocolAuthorizationParentNotFoundConstructingAncestorChain: "ProtocolAuthorizationParentNotFoundConstructingAncestorChain"
ProtocolAuthorizationParentlessIncorrectProtocolPath: "ProtocolAuthorizationParentlessIncorrectProtocolPath"
ProtocolAuthorizationProtocolNotFound: "ProtocolAuthorizationProtocolNotFound"
ProtocolAuthorizationQueryWithoutRole: "ProtocolAuthorizationQueryWithoutRole"
ProtocolAuthorizationRoleMissingRecipient: "ProtocolAuthorizationRoleMissingRecipient"
ProtocolsConfigureDuplicateActorInRuleSet: "ProtocolsConfigureDuplicateActorInRuleSet"
ProtocolsConfigureDuplicateRoleInRuleSet: "ProtocolsConfigureDuplicateRoleInRuleSet"
ProtocolsConfigureInvalidActionDeleteWithoutCreate: "ProtocolsConfigureInvalidActionDeleteWithoutCreate"
ProtocolsConfigureInvalidActionMissingOf: "ProtocolsConfigureInvalidActionMissingOf"
ProtocolsConfigureInvalidActionOfNotAllowed: "ProtocolsConfigureInvalidActionOfNotAllowed"
ProtocolsConfigureInvalidActionUpdateWithoutCreate: "ProtocolsConfigureInvalidActionUpdateWithoutCreate"
ProtocolsConfigureInvalidRecipientOfAction: "ProtocolsConfigureInvalidRecipientOfAction"
ProtocolsConfigureInvalidRuleSetRecordType: "ProtocolsConfigureInvalidRuleSetRecordType"
ProtocolsConfigureInvalidSize: "ProtocolsConfigureInvalidSize"
ProtocolsConfigureQueryNotAllowed: "ProtocolsConfigureQueryNotAllowed"
ProtocolsConfigureRecordNestingDepthExceeded: "ProtocolsConfigureRecordNestingDepthExceeded"
ProtocolsConfigureRoleDoesNotExistAtGivenPath: "ProtocolsConfigureRoleDoesNotExistAtGivenPath"
ProtocolsConfigureUnauthorized: "ProtocolsConfigureUnauthorized"
ProtocolsQueryUnauthorized: "ProtocolsQueryUnauthorized"
RecordsAuthorDelegatedGrantAndIdExistenceMismatch: "RecordsAuthorDelegatedGrantAndIdExistenceMismatch"
RecordsAuthorDelegatedGrantCidMismatch: "RecordsAuthorDelegatedGrantCidMismatch"
RecordsAuthorDelegatedGrantGrantedToAndOwnerSignatureMismatch: "RecordsAuthorDelegatedGrantGrantedToAndOwnerSignatureMismatch"
RecordsAuthorDelegatedGrantNotADelegatedGrant: "RecordsAuthorDelegatedGrantNotADelegatedGrant"
RecordsDecryptNoMatchingKeyEncryptedFound: "RecordsDecryptNoMatchingKeyEncryptedFound"
RecordsDeleteAuthorizationFailed: "RecordsDeleteAuthorizationFailed"
RecordsDerivePrivateKeyUnSupportedCurve: "RecordsDerivePrivateKeyUnSupportedCurve"
RecordsGrantAuthorizationConditionPublicationProhibited: "RecordsGrantAuthorizationConditionPublicationProhibited"
RecordsGrantAuthorizationConditionPublicationRequired: "RecordsGrantAuthorizationConditionPublicationRequired"
RecordsGrantAuthorizationDeleteProtocolScopeMismatch: "RecordsGrantAuthorizationDeleteProtocolScopeMismatch"
RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch: "RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch"
RecordsGrantAuthorizationScopeContextIdMismatch: "RecordsGrantAuthorizationScopeContextIdMismatch"
RecordsGrantAuthorizationScopeMissingProtocol: "RecordsGrantAuthorizationScopeMissingProtocol"
RecordsGrantAuthorizationScopeNotRecords: "RecordsGrantAuthorizationScopeNotRecords"
RecordsGrantAuthorizationScopeProtocolMismatch: "RecordsGrantAuthorizationScopeProtocolMismatch"
RecordsGrantAuthorizationScopeProtocolPathMismatch: "RecordsGrantAuthorizationScopeProtocolPathMismatch"
RecordsGrantAuthorizationScopeSchema: "RecordsGrantAuthorizationScopeSchema"
RecordsInvalidAncestorKeyDerivationSegment: "RecordsInvalidAncestorKeyDerivationSegment"
RecordsOwnerDelegatedGrantAndIdExistenceMismatch: "RecordsOwnerDelegatedGrantAndIdExistenceMismatch"
RecordsOwnerDelegatedGrantCidMismatch: "RecordsOwnerDelegatedGrantCidMismatch"
RecordsOwnerDelegatedGrantGrantedToAndOwnerSignatureMismatch: "RecordsOwnerDelegatedGrantGrantedToAndOwnerSignatureMismatch"
RecordsOwnerDelegatedGrantNotADelegatedGrant: "RecordsOwnerDelegatedGrantNotADelegatedGrant"
RecordsProtocolContextDerivationSchemeMissingContextId: "RecordsProtocolContextDerivationSchemeMissingContextId"
RecordsProtocolPathDerivationSchemeMissingProtocol: "RecordsProtocolPathDerivationSchemeMissingProtocol"
RecordsQueryCreateFilterPublishedSortInvalid: "RecordsQueryCreateFilterPublishedSortInvalid"
RecordsQueryFilterMissingRequiredProperties: "RecordsQueryFilterMissingRequiredProperties"
RecordsQueryParseFilterPublishedSortInvalid: "RecordsQueryParseFilterPublishedSortInvalid"
RecordsReadAuthorizationFailed: "RecordsReadAuthorizationFailed"
RecordsReadReturnedMultiple: "RecordsReadReturnedMultiple"
RecordsSchemasDerivationSchemeMissingSchema: "RecordsSchemasDerivationSchemeMissingSchema"
RecordsSubscribeEventStreamUnimplemented: "RecordsSubscribeEventStreamUnimplemented"
RecordsSubscribeFilterMissingRequiredProperties: "RecordsSubscribeFilterMissingRequiredProperties"
RecordsWriteAttestationIntegrityDescriptorCidMismatch: "RecordsWriteAttestationIntegrityDescriptorCidMismatch"
RecordsWriteAttestationIntegrityInvalidPayloadProperty: "RecordsWriteAttestationIntegrityInvalidPayloadProperty"
RecordsWriteAttestationIntegrityMoreThanOneSignature: "RecordsWriteAttestationIntegrityMoreThanOneSignature"
RecordsWriteAuthorizationFailed: "RecordsWriteAuthorizationFailed"
RecordsWriteCreateDataAndDataCidMutuallyExclusive: "RecordsWriteCreateDataAndDataCidMutuallyExclusive"
RecordsWriteCreateDataCidAndDataSizeMutuallyInclusive: "RecordsWriteCreateDataCidAndDataSizeMutuallyInclusive"
RecordsWriteCreateMissingSigner: "RecordsWriteCreateMissingSigner"
RecordsWriteCreateProtocolAndProtocolPathMutuallyInclusive: "RecordsWriteCreateProtocolAndProtocolPathMutuallyInclusive"
RecordsWriteDataCidMismatch: "RecordsWriteDataCidMismatch"
RecordsWriteDataSizeMismatch: "RecordsWriteDataSizeMismatch"
RecordsWriteGetEntryIdUndefinedAuthor: "RecordsWriteGetEntryIdUndefinedAuthor"
RecordsWriteGetInitialWriteNotFound: "RecordsWriteGetInitialWriteNotFound"
RecordsWriteImmutablePropertyChanged: "RecordsWriteImmutablePropertyChanged"
RecordsWriteMissingDataInPrevious: "RecordsWriteMissingDataInPrevious"
RecordsWriteMissingDataStream: "RecordsWriteMissingDataStream"
RecordsWriteMissingEncodedDataInPrevious: "RecordsWriteMissingEncodedDataInPrevious"
RecordsWriteMissingProtocol: "RecordsWriteMissingProtocol"
RecordsWriteMissingSchema: "RecordsWriteMissingSchema"
RecordsWriteMissingSigner: "RecordsWriteMissingSigner"
RecordsWriteOwnerAndTenantMismatch: "RecordsWriteOwnerAndTenantMismatch"
RecordsWriteSignAsOwnerDelegateUnknownAuthor: "RecordsWriteSignAsOwnerDelegateUnknownAuthor"
RecordsWriteSignAsOwnerUnknownAuthor: "RecordsWriteSignAsOwnerUnknownAuthor"
RecordsWriteValidateIntegrityAttestationMismatch: "RecordsWriteValidateIntegrityAttestationMismatch"
RecordsWriteValidateIntegrityContextIdMismatch: "RecordsWriteValidateIntegrityContextIdMismatch"
RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload: "RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload"
RecordsWriteValidateIntegrityDateCreatedMismatch: "RecordsWriteValidateIntegrityDateCreatedMismatch"
RecordsWriteValidateIntegrityEncryptionCidMismatch: "RecordsWriteValidateIntegrityEncryptionCidMismatch"
RecordsWriteValidateIntegrityRecordIdUnauthorized: "RecordsWriteValidateIntegrityRecordIdUnauthorized"
SchemaValidatorAdditionalPropertyNotAllowed: "SchemaValidatorAdditionalPropertyNotAllowed"
SchemaValidatorFailure: "SchemaValidatorFailure"
SchemaValidatorSchemaNotFound: "SchemaValidatorSchemaNotFound"
SchemaValidatorUnevaluatedPropertyNotAllowed: "SchemaValidatorUnevaluatedPropertyNotAllowed"
Secp256k1KeyNotValid: "Secp256k1KeyNotValid"
Secp256r1KeyNotValid: "Secp256r1KeyNotValid"
TimestampInvalid: "TimestampInvalid"
UrlProtocolNotNormalizable: "UrlProtocolNotNormalizable"
UrlProtocolNotNormalized: "UrlProtocolNotNormalized"
UrlSchemaNotNormalizable: "UrlSchemaNotNormalizable"
UrlSchemaNotNormalized: "UrlSchemaNotNormalized"
\ No newline at end of file diff --git a/enums/DwnInterfaceName.html b/enums/DwnInterfaceName.html new file mode 100644 index 000000000..8fcc0d16f --- /dev/null +++ b/enums/DwnInterfaceName.html @@ -0,0 +1,5 @@ +DwnInterfaceName | DWN-SDK Documentation - v0.2.23

Enumeration DwnInterfaceName

Enumeration Members

Enumeration Members

Events: "Events"
Messages: "Messages"
Protocols: "Protocols"
Records: "Records"
\ No newline at end of file diff --git a/enums/DwnMethodName.html b/enums/DwnMethodName.html new file mode 100644 index 000000000..e34b891ef --- /dev/null +++ b/enums/DwnMethodName.html @@ -0,0 +1,12 @@ +DwnMethodName | DWN-SDK Documentation - v0.2.23

Enumeration DwnMethodName

Enumeration Members

Configure: "Configure"
Create: "Create"
Delete: "Delete"
Get: "Get"
Grant: "Grant"
Query: "Query"
Read: "Read"
Request: "Request"
Revoke: "Revoke"
Subscribe: "Subscribe"
Write: "Write"
\ No newline at end of file diff --git a/enums/EncryptionAlgorithm.html b/enums/EncryptionAlgorithm.html new file mode 100644 index 000000000..59b8d38b6 --- /dev/null +++ b/enums/EncryptionAlgorithm.html @@ -0,0 +1,3 @@ +EncryptionAlgorithm | DWN-SDK Documentation - v0.2.23

Enumeration EncryptionAlgorithm

Enumeration Members

Enumeration Members

Aes256Ctr: "A256CTR"
EciesSecp256k1: "ECIES-ES256K"
\ No newline at end of file diff --git a/enums/KeyDerivationScheme.html b/enums/KeyDerivationScheme.html new file mode 100644 index 000000000..dbf6c6381 --- /dev/null +++ b/enums/KeyDerivationScheme.html @@ -0,0 +1,7 @@ +KeyDerivationScheme | DWN-SDK Documentation - v0.2.23

Enumeration KeyDerivationScheme

Enumeration Members

DataFormats: "dataFormats"

Key derivation using the dataFormat value for Flat-space records.

+
ProtocolContext: "protocolContext"
ProtocolPath: "protocolPath"
Schemas: "schemas"

Key derivation using the schema value for Flat-space records.

+
\ No newline at end of file diff --git a/enums/SortDirection.html b/enums/SortDirection.html new file mode 100644 index 000000000..0a64cf9f3 --- /dev/null +++ b/enums/SortDirection.html @@ -0,0 +1,3 @@ +SortDirection | DWN-SDK Documentation - v0.2.23

Enumeration SortDirection

Enumeration Members

Enumeration Members

Ascending: 1
Descending: -1
\ No newline at end of file diff --git a/functions/authenticate.html b/functions/authenticate.html new file mode 100644 index 000000000..9a870d990 --- /dev/null +++ b/functions/authenticate.html @@ -0,0 +1,3 @@ +authenticate | DWN-SDK Documentation - v0.2.23
  • Verifies all the signature(s) within the authorization property.

    +

    Parameters

    • authorizationModel: undefined | AuthorizationModel
    • didResolver: DidResolver

    Returns Promise<void>

    Throws

    if fails authentication

    +
\ No newline at end of file diff --git a/functions/executeUnlessAborted.html b/functions/executeUnlessAborted.html new file mode 100644 index 000000000..e914c43c2 --- /dev/null +++ b/functions/executeUnlessAborted.html @@ -0,0 +1,2 @@ +executeUnlessAborted | DWN-SDK Documentation - v0.2.23

Function executeUnlessAborted

  • Wraps the given Promise such that it will reject if the AbortSignal is triggered.

    +

    Type Parameters

    • T

    Parameters

    • promise: Promise<T>
    • signal: undefined | AbortSignal

    Returns Promise<T>

\ No newline at end of file diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 000000000..e09fd8ffc --- /dev/null +++ b/hierarchy.html @@ -0,0 +1 @@ +DWN-SDK Documentation - v0.2.23
\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..807cebb4a --- /dev/null +++ b/index.html @@ -0,0 +1,123 @@ +DWN-SDK Documentation - v0.2.23

DWN-SDK Documentation - v0.2.23

Index

Enumerations

Classes

Interfaces

Type Aliases

Functions

\ No newline at end of file diff --git a/interfaces/DataStore.html b/interfaces/DataStore.html new file mode 100644 index 000000000..ea131ae41 --- /dev/null +++ b/interfaces/DataStore.html @@ -0,0 +1,21 @@ +DataStore | DWN-SDK Documentation - v0.2.23

The interface that defines how to store and fetch data associated with a message.

+
interface DataStore {
    clear(): Promise<void>;
    close(): Promise<void>;
    delete(tenant, recordId, dataCid): Promise<void>;
    get(tenant, recordId, dataCid): Promise<undefined | DataStoreGetResult>;
    open(): Promise<void>;
    put(tenant, recordId, dataCid, dataStream): Promise<DataStorePutResult>;
}

Implemented by

Methods

Methods

  • Clears the entire store. Mainly used for testing to cleaning up in test environments.

    +

    Returns Promise<void>

  • Deletes the specified data. No-op if the data does not exist.

    +

    Parameters

    • tenant: string
    • recordId: string

      The logical ID of the record that references the data.

      +
    • dataCid: string

      The IPFS CID of the data.

      +

    Returns Promise<void>

  • Fetches the specified data.

    +

    Parameters

    • tenant: string
    • recordId: string

      The logical ID of the record that references the data.

      +
    • dataCid: string

      The IPFS CID of the data.

      +

    Returns Promise<undefined | DataStoreGetResult>

    the data size and data stream if found, otherwise undefined.

    +
  • Stores the given data.

    +

    Parameters

    • tenant: string
    • recordId: string

      The logical ID of the record that references the data.

      +
    • dataCid: string

      The IPFS CID of the data.

      +
    • dataStream: Readable

    Returns Promise<DataStorePutResult>

\ No newline at end of file diff --git a/interfaces/EventLog.html b/interfaces/EventLog.html new file mode 100644 index 000000000..83e61756a --- /dev/null +++ b/interfaces/EventLog.html @@ -0,0 +1,25 @@ +EventLog | DWN-SDK Documentation - v0.2.23
interface EventLog {
    append(tenant, messageCid, indexes): Promise<void>;
    clear(): Promise<void>;
    close(): Promise<void>;
    deleteEventsByCid(tenant, messageCids): Promise<void>;
    getEvents(tenant, cursor?): Promise<{
        cursor?: PaginationCursor;
        events: string[];
    }>;
    open(): Promise<void>;
    queryEvents(tenant, filters, cursor?): Promise<{
        cursor?: PaginationCursor;
        events: string[];
    }>;
}

Implemented by

Methods

  • adds an event to a tenant's event log

    +

    Parameters

    • tenant: string

      the tenant's DID

      +
    • messageCid: string

      the CID of the message

      +
    • indexes: KeyValues

      (key-value pairs) to be included as part of indexing this event.

      +

    Returns Promise<void>

  • Clears the entire store. Mainly used for cleaning up in test environment.

    +

    Returns Promise<void>

  • closes the connection to the underlying store

    +

    Returns Promise<void>

  • deletes any events that have any of the messageCids provided

    +

    Parameters

    • tenant: string
    • messageCids: string[]

    Returns Promise<void>

    the number of events deleted

    +
  • Retrieves all of a tenant's events that occurred after the cursor provided. +If no cursor is provided, all events for a given tenant will be returned.

    +

    The cursor is a messageCid.

    +

    Returns an array of messageCids that represent the events.

    +

    Parameters

    Returns Promise<{
        cursor?: PaginationCursor;
        events: string[];
    }>

  • opens a connection to the underlying store

    +

    Returns Promise<void>

  • retrieves a filtered set of events that occurred after a the cursor provided, accepts multiple filters.

    +

    If no cursor is provided, all events for a given tenant and filter combo will be returned. +The cursor is a messageCid.

    +

    Returns an array of messageCids that represent the events.

    +

    Parameters

    Returns Promise<{
        cursor?: PaginationCursor;
        events: string[];
    }>

\ No newline at end of file diff --git a/interfaces/EventStream.html b/interfaces/EventStream.html new file mode 100644 index 000000000..c98d1f092 --- /dev/null +++ b/interfaces/EventStream.html @@ -0,0 +1,6 @@ +EventStream | DWN-SDK Documentation - v0.2.23

The EventStream interface implements a pub/sub system based on Message filters.

+
interface EventStream {
    close(): Promise<void>;
    emit(tenant, event, indexes): void;
    open(): Promise<void>;
    subscribe(tenant, id, listener): Promise<EventSubscription>;
}

Implemented by

Methods

Methods

  • Parameters

    • tenant: string
    • id: string
    • listener: EventListener

    Returns Promise<EventSubscription>

\ No newline at end of file diff --git a/interfaces/MessageStore.html b/interfaces/MessageStore.html new file mode 100644 index 000000000..50e4e6215 --- /dev/null +++ b/interfaces/MessageStore.html @@ -0,0 +1,18 @@ +MessageStore | DWN-SDK Documentation - v0.2.23

Interface MessageStore

interface MessageStore {
    clear(): Promise<void>;
    close(): Promise<void>;
    delete(tenant, cid, options?): Promise<void>;
    get(tenant, cid, options?): Promise<undefined | GenericMessage>;
    open(): Promise<void>;
    put(tenant, message, indexes, options?): Promise<void>;
    query(tenant, filters, messageSort?, pagination?, options?): Promise<{
        cursor?: PaginationCursor;
        messages: GenericMessage[];
    }>;
}

Implemented by

Methods

Methods

  • Clears the entire store. Mainly used for cleaning up in test environment.

    +

    Returns Promise<void>

  • adds a message to the underlying store. Uses the message's cid as the key

    +

    Parameters

    Returns Promise<void>

\ No newline at end of file diff --git a/interfaces/MessageStoreOptions.html b/interfaces/MessageStoreOptions.html new file mode 100644 index 000000000..df7b16d25 --- /dev/null +++ b/interfaces/MessageStoreOptions.html @@ -0,0 +1,2 @@ +MessageStoreOptions | DWN-SDK Documentation - v0.2.23

Interface MessageStoreOptions

interface MessageStoreOptions {
    signal?: AbortSignal;
}

Properties

Properties

signal?: AbortSignal
\ No newline at end of file diff --git a/interfaces/MessageSubscription.html b/interfaces/MessageSubscription.html new file mode 100644 index 000000000..a6e02d61d --- /dev/null +++ b/interfaces/MessageSubscription.html @@ -0,0 +1,3 @@ +MessageSubscription | DWN-SDK Documentation - v0.2.23

Interface MessageSubscription

interface MessageSubscription {
    close: (() => Promise<void>);
    id: string;
}

Properties

Properties

close: (() => Promise<void>)

Type declaration

    • (): Promise<void>
    • Returns Promise<void>

id: string
\ No newline at end of file diff --git a/interfaces/Signer.html b/interfaces/Signer.html new file mode 100644 index 000000000..b2e121611 --- /dev/null +++ b/interfaces/Signer.html @@ -0,0 +1,16 @@ +Signer | DWN-SDK Documentation - v0.2.23

A signer that is capable of generating a digital signature over any given bytes.

+
interface Signer {
    algorithm: string;
    keyId: string;
    sign(content): Promise<Uint8Array>;
}

Implemented by

Properties

Methods

Properties

algorithm: string

The name of the signature algorithm used by this signer. +This value will be used as the "alg" parameter in JWS produced. +This parameter is not used by the DWN but is unfortunately a required header property for a JWS as per: +https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 +Valid signature algorithm values can be found at https://www.iana.org/assignments/jose/jose.xhtml

+
keyId: string

The ID of the key used by this signer. +This needs to be a fully-qualified ID (ie. prefixed with DID) so that author can be parsed out for processing such as recordId computation. +Example: did:example:alice#key1 +This value will be used as the "kid" parameter in JWS produced. +While this property is not a required property per JWS specification, it is required for DWN authentication.

+

Methods

  • Signs the given content and returns the signature as bytes.

    +

    Parameters

    • content: Uint8Array

    Returns Promise<Uint8Array>

\ No newline at end of file diff --git a/interfaces/TenantGate.html b/interfaces/TenantGate.html new file mode 100644 index 000000000..9f3d78530 --- /dev/null +++ b/interfaces/TenantGate.html @@ -0,0 +1,4 @@ +TenantGate | DWN-SDK Documentation - v0.2.23

An interface that gates tenant access to the DWN.

+
interface TenantGate {
    isActiveTenant(did): Promise<ActiveTenantCheckResult>;
}

Implemented by

Methods

\ No newline at end of file diff --git a/types/ActiveTenantCheckResult.html b/types/ActiveTenantCheckResult.html new file mode 100644 index 000000000..6721240ac --- /dev/null +++ b/types/ActiveTenantCheckResult.html @@ -0,0 +1,4 @@ +ActiveTenantCheckResult | DWN-SDK Documentation - v0.2.23

Type alias ActiveTenantCheckResult

ActiveTenantCheckResult: {
    detail?: string;
    isActiveTenant: boolean;
}

The result of the isActiveTenant() call.

+

Type declaration

  • Optional detail?: string

    An optional detail message if the given DID is not an active tenant of the DWN.

    +
  • isActiveTenant: boolean

    true if the given DID is an active tenant of the DWN; false otherwise.

    +
\ No newline at end of file diff --git a/types/CreateFromOptions.html b/types/CreateFromOptions.html new file mode 100644 index 000000000..9722548b4 --- /dev/null +++ b/types/CreateFromOptions.html @@ -0,0 +1,4 @@ +CreateFromOptions | DWN-SDK Documentation - v0.2.23

Type alias CreateFromOptions

CreateFromOptions: {
    attestationSigners?: Signer[];
    data?: Uint8Array;
    dataFormat?: string;
    datePublished?: string;
    delegatedGrant?: RecordsWriteMessage;
    encryptionInput?: EncryptionInput;
    messageTimestamp?: string;
    protocolRole?: string;
    published?: boolean;
    recordsWriteMessage: RecordsWriteMessage;
    signer?: Signer;
    tags?: RecordsWriteTags;
}

Type declaration

  • Optional attestationSigners?: Signer[]
  • Optional data?: Uint8Array
  • Optional dataFormat?: string

    The data format of the new data. If not given, the data format from the existing message will be used.

    +
  • Optional datePublished?: string
  • Optional delegatedGrant?: RecordsWriteMessage

    The delegated grant to sign on behalf of the logical author, which is the grantor (grantedBy) of the delegated grant.

    +
  • Optional encryptionInput?: EncryptionInput
  • Optional messageTimestamp?: string
  • Optional protocolRole?: string
  • Optional published?: boolean
  • recordsWriteMessage: RecordsWriteMessage
  • Optional signer?: Signer

    The signer of the message, which is commonly the author, but can also be a delegate.

    +
  • Optional tags?: RecordsWriteTags
\ No newline at end of file diff --git a/types/DataStoreGetResult.html b/types/DataStoreGetResult.html new file mode 100644 index 000000000..09b698e98 --- /dev/null +++ b/types/DataStoreGetResult.html @@ -0,0 +1,3 @@ +DataStoreGetResult | DWN-SDK Documentation - v0.2.23

Type alias DataStoreGetResult

DataStoreGetResult: {
    dataSize: number;
    dataStream: Readable;
}

Result of a data store get() method call if the data exists.

+

Type declaration

  • dataSize: number

    The number of bytes of the data stored.

    +
  • dataStream: Readable
\ No newline at end of file diff --git a/types/DataStorePutResult.html b/types/DataStorePutResult.html new file mode 100644 index 000000000..2cf3eec19 --- /dev/null +++ b/types/DataStorePutResult.html @@ -0,0 +1,3 @@ +DataStorePutResult | DWN-SDK Documentation - v0.2.23

Type alias DataStorePutResult

DataStorePutResult: {
    dataSize: number;
}

Result of a data store put() method call.

+

Type declaration

  • dataSize: number

    The number of bytes of the data stored.

    +
\ No newline at end of file diff --git a/types/DerivedPrivateJwk.html b/types/DerivedPrivateJwk.html new file mode 100644 index 000000000..d5ce44de4 --- /dev/null +++ b/types/DerivedPrivateJwk.html @@ -0,0 +1 @@ +DerivedPrivateJwk | DWN-SDK Documentation - v0.2.23

Type alias DerivedPrivateJwk

DerivedPrivateJwk: {
    derivationPath?: string[];
    derivationScheme: KeyDerivationScheme;
    derivedPrivateKey: PrivateJwk;
    rootKeyId: string;
}

Type declaration

\ No newline at end of file diff --git a/types/DwnConfig.html b/types/DwnConfig.html new file mode 100644 index 000000000..2ec0f7032 --- /dev/null +++ b/types/DwnConfig.html @@ -0,0 +1,2 @@ +DwnConfig | DWN-SDK Documentation - v0.2.23

Type alias DwnConfig

DwnConfig: {
    dataStore: DataStore;
    didResolver?: DidResolver;
    eventLog: EventLog;
    eventStream?: EventStream;
    messageStore: MessageStore;
    tenantGate?: TenantGate;
}

DWN configuration.

+

Type declaration

\ No newline at end of file diff --git a/types/EncryptionInput.html b/types/EncryptionInput.html new file mode 100644 index 000000000..6f7405e15 --- /dev/null +++ b/types/EncryptionInput.html @@ -0,0 +1,7 @@ +EncryptionInput | DWN-SDK Documentation - v0.2.23

Type alias EncryptionInput

EncryptionInput: {
    algorithm?: EncryptionAlgorithm;
    initializationVector: Uint8Array;
    key: Uint8Array;
    keyEncryptionInputs: KeyEncryptionInput[];
}

Input that describes how data is encrypted as spec-ed in TP18 (https://github.com/TBD54566975/technical-proposals/pull/6).

+

Type declaration

  • Optional algorithm?: EncryptionAlgorithm

    Algorithm used for encrypting the Data. Uses {EncryptionAlgorithm.Aes256Ctr} if not given.

    +
  • initializationVector: Uint8Array

    Initialization vector used for encrypting the data.

    +
  • key: Uint8Array

    Symmetric key used to encrypt the data.

    +
  • keyEncryptionInputs: KeyEncryptionInput[]

    Array of input that specifies how the symmetric key is encrypted. +Each entry in the array will result in a unique ciphertext of the symmetric key.

    +
\ No newline at end of file diff --git a/types/EncryptionProperty.html b/types/EncryptionProperty.html new file mode 100644 index 000000000..19c852912 --- /dev/null +++ b/types/EncryptionProperty.html @@ -0,0 +1 @@ +EncryptionProperty | DWN-SDK Documentation - v0.2.23

Type alias EncryptionProperty

EncryptionProperty: {
    algorithm: EncryptionAlgorithm;
    initializationVector: string;
    keyEncryption: EncryptedKey[];
}

Type declaration

\ No newline at end of file diff --git a/types/EqualFilter.html b/types/EqualFilter.html new file mode 100644 index 000000000..38d2b824a --- /dev/null +++ b/types/EqualFilter.html @@ -0,0 +1 @@ +EqualFilter | DWN-SDK Documentation - v0.2.23

Type alias EqualFilter

EqualFilter: string | number | boolean
\ No newline at end of file diff --git a/types/EventSubscriptionHandler.html b/types/EventSubscriptionHandler.html new file mode 100644 index 000000000..e2e9e03d5 --- /dev/null +++ b/types/EventSubscriptionHandler.html @@ -0,0 +1 @@ +EventSubscriptionHandler | DWN-SDK Documentation - v0.2.23

Type alias EventSubscriptionHandler

EventSubscriptionHandler: ((event) => void)

Type declaration

\ No newline at end of file diff --git a/types/EventsGetMessage.html b/types/EventsGetMessage.html new file mode 100644 index 000000000..0a6e1bd99 --- /dev/null +++ b/types/EventsGetMessage.html @@ -0,0 +1 @@ +EventsGetMessage | DWN-SDK Documentation - v0.2.23

Type alias EventsGetMessage

EventsGetMessage: GenericMessage & {
    authorization: AuthorizationModel;
    descriptor: EventsGetDescriptor;
}

Type declaration

  • authorization: AuthorizationModel
  • descriptor: EventsGetDescriptor
\ No newline at end of file diff --git a/types/EventsGetOptions.html b/types/EventsGetOptions.html new file mode 100644 index 000000000..47a6f82dd --- /dev/null +++ b/types/EventsGetOptions.html @@ -0,0 +1 @@ +EventsGetOptions | DWN-SDK Documentation - v0.2.23

Type alias EventsGetOptions

EventsGetOptions: {
    cursor?: PaginationCursor;
    messageTimestamp?: string;
    signer: Signer;
}

Type declaration

\ No newline at end of file diff --git a/types/EventsGetReply.html b/types/EventsGetReply.html new file mode 100644 index 000000000..07cab64d2 --- /dev/null +++ b/types/EventsGetReply.html @@ -0,0 +1 @@ +EventsGetReply | DWN-SDK Documentation - v0.2.23

Type alias EventsGetReply

EventsGetReply: GenericMessageReply & {
    cursor?: PaginationCursor;
    entries?: string[];
}

Type declaration

\ No newline at end of file diff --git a/types/EventsQueryMessage.html b/types/EventsQueryMessage.html new file mode 100644 index 000000000..2f42474c2 --- /dev/null +++ b/types/EventsQueryMessage.html @@ -0,0 +1 @@ +EventsQueryMessage | DWN-SDK Documentation - v0.2.23

Type alias EventsQueryMessage

EventsQueryMessage: GenericMessage & {
    authorization: AuthorizationModel;
    descriptor: EventsQueryDescriptor;
}

Type declaration

  • authorization: AuthorizationModel
  • descriptor: EventsQueryDescriptor
\ No newline at end of file diff --git a/types/EventsQueryOptions.html b/types/EventsQueryOptions.html new file mode 100644 index 000000000..89e403dd5 --- /dev/null +++ b/types/EventsQueryOptions.html @@ -0,0 +1 @@ +EventsQueryOptions | DWN-SDK Documentation - v0.2.23

Type alias EventsQueryOptions

EventsQueryOptions: {
    cursor?: PaginationCursor;
    filters: EventsFilter[];
    messageTimestamp?: string;
    signer: Signer;
}

Type declaration

\ No newline at end of file diff --git a/types/EventsQueryReply.html b/types/EventsQueryReply.html new file mode 100644 index 000000000..02c62652a --- /dev/null +++ b/types/EventsQueryReply.html @@ -0,0 +1 @@ +EventsQueryReply | DWN-SDK Documentation - v0.2.23

Type alias EventsQueryReply

EventsQueryReply: GenericMessageReply & {
    cursor?: PaginationCursor;
    entries?: string[];
}

Type declaration

\ No newline at end of file diff --git a/types/EventsSubscribeDescriptor.html b/types/EventsSubscribeDescriptor.html new file mode 100644 index 000000000..128c47fea --- /dev/null +++ b/types/EventsSubscribeDescriptor.html @@ -0,0 +1 @@ +EventsSubscribeDescriptor | DWN-SDK Documentation - v0.2.23

Type alias EventsSubscribeDescriptor

EventsSubscribeDescriptor: {
    filters: EventsFilter[];
    interface: Events;
    messageTimestamp: string;
    method: Subscribe;
}

Type declaration

  • filters: EventsFilter[]
  • interface: Events
  • messageTimestamp: string
  • method: Subscribe
\ No newline at end of file diff --git a/types/EventsSubscribeMessage.html b/types/EventsSubscribeMessage.html new file mode 100644 index 000000000..50e179da1 --- /dev/null +++ b/types/EventsSubscribeMessage.html @@ -0,0 +1 @@ +EventsSubscribeMessage | DWN-SDK Documentation - v0.2.23

Type alias EventsSubscribeMessage

EventsSubscribeMessage: {
    authorization: AuthorizationModel;
    descriptor: EventsSubscribeDescriptor;
}

Type declaration

\ No newline at end of file diff --git a/types/EventsSubscribeOptions.html b/types/EventsSubscribeOptions.html new file mode 100644 index 000000000..60a13c108 --- /dev/null +++ b/types/EventsSubscribeOptions.html @@ -0,0 +1 @@ +EventsSubscribeOptions | DWN-SDK Documentation - v0.2.23

Type alias EventsSubscribeOptions

EventsSubscribeOptions: {
    filters?: EventsFilter[];
    messageTimestamp?: string;
    signer: Signer;
}

Type declaration

  • Optional filters?: EventsFilter[]
  • Optional messageTimestamp?: string
  • signer: Signer
\ No newline at end of file diff --git a/types/EventsSubscribeReply.html b/types/EventsSubscribeReply.html new file mode 100644 index 000000000..3f3f9070a --- /dev/null +++ b/types/EventsSubscribeReply.html @@ -0,0 +1 @@ +EventsSubscribeReply | DWN-SDK Documentation - v0.2.23

Type alias EventsSubscribeReply

EventsSubscribeReply: GenericMessageReply & {
    subscription?: MessageSubscription;
}

Type declaration

\ No newline at end of file diff --git a/types/Filter.html b/types/Filter.html new file mode 100644 index 000000000..fbbc17058 --- /dev/null +++ b/types/Filter.html @@ -0,0 +1 @@ +Filter | DWN-SDK Documentation - v0.2.23
Filter: {
    [property: string]: FilterValue;
}

Type declaration

  • [property: string]: FilterValue
\ No newline at end of file diff --git a/types/GenericMessage.html b/types/GenericMessage.html new file mode 100644 index 000000000..c6301757e --- /dev/null +++ b/types/GenericMessage.html @@ -0,0 +1,2 @@ +GenericMessage | DWN-SDK Documentation - v0.2.23

Type alias GenericMessage

GenericMessage: {
    authorization?: AuthorizationModel;
    descriptor: Descriptor;
}

Intersection type for all concrete message types.

+

Type declaration

  • Optional authorization?: AuthorizationModel
  • descriptor: Descriptor
\ No newline at end of file diff --git a/types/GenericMessageReply.html b/types/GenericMessageReply.html new file mode 100644 index 000000000..06a857802 --- /dev/null +++ b/types/GenericMessageReply.html @@ -0,0 +1 @@ +GenericMessageReply | DWN-SDK Documentation - v0.2.23

Type alias GenericMessageReply

GenericMessageReply: {
    status: Status;
}

Type declaration

  • status: Status
\ No newline at end of file diff --git a/types/KeyEncryptionInput.html b/types/KeyEncryptionInput.html new file mode 100644 index 000000000..81d1f00e5 --- /dev/null +++ b/types/KeyEncryptionInput.html @@ -0,0 +1,7 @@ +KeyEncryptionInput | DWN-SDK Documentation - v0.2.23

Type alias KeyEncryptionInput

KeyEncryptionInput: {
    algorithm?: EncryptionAlgorithm;
    derivationScheme: KeyDerivationScheme;
    publicKey: PublicJwk;
    publicKeyId: string;
}

Input that specifies how a symmetric key is encrypted.

+

Type declaration

  • Optional algorithm?: EncryptionAlgorithm

    Algorithm used for encrypting the symmetric key. Uses {EncryptionAlgorithm.EciesSecp256k1} if not given.

    +
  • derivationScheme: KeyDerivationScheme

    Key derivation scheme used to derive the public key to encrypt the symmetric key.

    +
  • publicKey: PublicJwk

    Public key to be used to encrypt the symmetric key.

    +
  • publicKeyId: string

    Fully qualified ID of root public key used derive the public key to be used to to encrypt the symmetric key. +(e.g. did:example:abc#encryption-key-id)

    +
\ No newline at end of file diff --git a/types/KeyMaterial.html b/types/KeyMaterial.html new file mode 100644 index 000000000..7b4d9b39d --- /dev/null +++ b/types/KeyMaterial.html @@ -0,0 +1,2 @@ +KeyMaterial | DWN-SDK Documentation - v0.2.23

Type alias KeyMaterial

KeyMaterial: {
    keyId: string;
    keyPair: {
        privateJwk: PrivateJwk;
        publicJwk: PublicJwk;
    };
}

Contains a public-private key pair and the associated key ID.

+

Type declaration

\ No newline at end of file diff --git a/types/MessageEvent.html b/types/MessageEvent.html new file mode 100644 index 000000000..14d851a86 --- /dev/null +++ b/types/MessageEvent.html @@ -0,0 +1,3 @@ +MessageEvent | DWN-SDK Documentation - v0.2.23

Type alias MessageEvent

MessageEvent: {
    initialWrite?: RecordsWriteMessage;
    message: GenericMessage;
}

MessageEvent contains the message being emitted and an optional initial write message.

+

Type declaration

\ No newline at end of file diff --git a/types/MessageSort.html b/types/MessageSort.html new file mode 100644 index 000000000..bc4d0329c --- /dev/null +++ b/types/MessageSort.html @@ -0,0 +1 @@ +MessageSort | DWN-SDK Documentation - v0.2.23

Type alias MessageSort

MessageSort: {
    dateCreated?: SortDirection;
    datePublished?: SortDirection;
    messageTimestamp?: SortDirection;
}

Type declaration

\ No newline at end of file diff --git a/types/MessagesGetMessage.html b/types/MessagesGetMessage.html new file mode 100644 index 000000000..c7291c368 --- /dev/null +++ b/types/MessagesGetMessage.html @@ -0,0 +1 @@ +MessagesGetMessage | DWN-SDK Documentation - v0.2.23

Type alias MessagesGetMessage

MessagesGetMessage: GenericMessage & {
    authorization: AuthorizationModel;
    descriptor: MessagesGetDescriptor;
}

Type declaration

  • authorization: AuthorizationModel
  • descriptor: MessagesGetDescriptor
\ No newline at end of file diff --git a/types/MessagesGetOptions.html b/types/MessagesGetOptions.html new file mode 100644 index 000000000..3e0eaa809 --- /dev/null +++ b/types/MessagesGetOptions.html @@ -0,0 +1 @@ +MessagesGetOptions | DWN-SDK Documentation - v0.2.23

Type alias MessagesGetOptions

MessagesGetOptions: {
    messageCids: string[];
    messageTimestamp?: string;
    signer: Signer;
}

Type declaration

  • messageCids: string[]
  • Optional messageTimestamp?: string
  • signer: Signer
\ No newline at end of file diff --git a/types/MessagesGetReply.html b/types/MessagesGetReply.html new file mode 100644 index 000000000..f2de08c23 --- /dev/null +++ b/types/MessagesGetReply.html @@ -0,0 +1 @@ +MessagesGetReply | DWN-SDK Documentation - v0.2.23

Type alias MessagesGetReply

MessagesGetReply: GenericMessageReply & {
    entries?: MessagesGetReplyEntry[];
}

Type declaration

\ No newline at end of file diff --git a/types/MessagesGetReplyEntry.html b/types/MessagesGetReplyEntry.html new file mode 100644 index 000000000..3f88fe00f --- /dev/null +++ b/types/MessagesGetReplyEntry.html @@ -0,0 +1 @@ +MessagesGetReplyEntry | DWN-SDK Documentation - v0.2.23

Type alias MessagesGetReplyEntry

MessagesGetReplyEntry: {
    encodedData?: string;
    error?: string;
    message?: GenericMessage;
    messageCid: string;
}

Type declaration

  • Optional encodedData?: string
  • Optional error?: string
  • Optional message?: GenericMessage
  • messageCid: string
\ No newline at end of file diff --git a/types/OneOfFilter.html b/types/OneOfFilter.html new file mode 100644 index 000000000..766700d1e --- /dev/null +++ b/types/OneOfFilter.html @@ -0,0 +1 @@ +OneOfFilter | DWN-SDK Documentation - v0.2.23

Type alias OneOfFilter

OneOfFilter: EqualFilter[]
\ No newline at end of file diff --git a/types/Pagination.html b/types/Pagination.html new file mode 100644 index 000000000..048b6fdf0 --- /dev/null +++ b/types/Pagination.html @@ -0,0 +1,3 @@ +Pagination | DWN-SDK Documentation - v0.2.23

Type alias Pagination

Pagination: {
    cursor?: PaginationCursor;
    limit?: number;
}

Pagination Options for querying messages.

+

The cursor is the messageCid of the message you would like to pagination from.

+

Type declaration

\ No newline at end of file diff --git a/types/PaginationCursor.html b/types/PaginationCursor.html new file mode 100644 index 000000000..d1123be1d --- /dev/null +++ b/types/PaginationCursor.html @@ -0,0 +1 @@ +PaginationCursor | DWN-SDK Documentation - v0.2.23

Type alias PaginationCursor

PaginationCursor: {
    messageCid: string;
    value: string | number;
}

Type declaration

  • messageCid: string
  • value: string | number
\ No newline at end of file diff --git a/types/PermissionConditions.html b/types/PermissionConditions.html new file mode 100644 index 000000000..d0318fbf6 --- /dev/null +++ b/types/PermissionConditions.html @@ -0,0 +1,4 @@ +PermissionConditions | DWN-SDK Documentation - v0.2.23

Type alias PermissionConditions

PermissionConditions: {
    publication?: PermissionConditionPublication;
}

Type declaration

  • Optional publication?: PermissionConditionPublication

    indicates whether a message written with the invocation of a permission must, may, or must not +be marked as public. +If undefined, it is optional to make the message public.

    +
\ No newline at end of file diff --git a/types/PermissionScope.html b/types/PermissionScope.html new file mode 100644 index 000000000..7e0b56825 --- /dev/null +++ b/types/PermissionScope.html @@ -0,0 +1,2 @@ +PermissionScope | DWN-SDK Documentation - v0.2.23

Type alias PermissionScope

PermissionScope: {
    interface: DwnInterfaceName;
    method: DwnMethodName;
} | RecordsPermissionScope

The data model for a permission scope.

+

Type declaration

\ No newline at end of file diff --git a/types/Persona.html b/types/Persona.html new file mode 100644 index 000000000..e5d1a5e70 --- /dev/null +++ b/types/Persona.html @@ -0,0 +1,2 @@ +Persona | DWN-SDK Documentation - v0.2.23
Persona: {
    did: string;
    keyId: string;
    keyPair: {
        privateJwk: PrivateJwk;
        publicJwk: PublicJwk;
    };
    signer: Signer;
}

A logical grouping of user data used to generate test messages.

+

Type declaration

\ No newline at end of file diff --git a/types/PrivateJwk.html b/types/PrivateJwk.html new file mode 100644 index 000000000..af9d46bb6 --- /dev/null +++ b/types/PrivateJwk.html @@ -0,0 +1,4 @@ +PrivateJwk | DWN-SDK Documentation - v0.2.23

Type alias PrivateJwk

PrivateJwk: PublicJwk & {
    d: string;
}

Type declaration

  • d: string

    the Elliptic Curve private key value. +It is represented as the base64url encoding of the octet string representation of the private key value +MUST be present to represent Elliptic Curve private keys.

    +
\ No newline at end of file diff --git a/types/ProtocolDefinition.html b/types/ProtocolDefinition.html new file mode 100644 index 000000000..fdb5976f2 --- /dev/null +++ b/types/ProtocolDefinition.html @@ -0,0 +1,2 @@ +ProtocolDefinition | DWN-SDK Documentation - v0.2.23

Type alias ProtocolDefinition

ProtocolDefinition: {
    protocol: string;
    published: boolean;
    structure: {
        [key: string]: ProtocolRuleSet;
    };
    types: ProtocolTypes;
}

Type declaration

  • protocol: string
  • published: boolean

    Denotes if this Protocol Definition can be returned by unauthenticated or unauthorized ProtocolsQuery.

    +
  • structure: {
        [key: string]: ProtocolRuleSet;
    }
  • types: ProtocolTypes
\ No newline at end of file diff --git a/types/ProtocolRuleSet.html b/types/ProtocolRuleSet.html new file mode 100644 index 000000000..895585c21 --- /dev/null +++ b/types/ProtocolRuleSet.html @@ -0,0 +1,5 @@ +ProtocolRuleSet | DWN-SDK Documentation - v0.2.23

Type alias ProtocolRuleSet

ProtocolRuleSet: {
    $actions?: ProtocolActionRule[];
    $encryption?: ProtocolPathEncryption;
    $role?: boolean;
    $size?: {
        max?: number;
        min?: number;
    };
    [key: string]: any;
}

Type declaration

  • [key: string]: any
  • Optional $actions?: ProtocolActionRule[]
  • Optional $encryption?: ProtocolPathEncryption

    Encryption setting for objects that are in this protocol path.

    +
  • Optional $role?: boolean

    If true, this marks a record as a role that may used within a context. +The recipient of a $role record may invoke their role by setting protocolRole property to the protocol path of the $role record.

    +
  • Optional $size?: {
        max?: number;
        min?: number;
    }

    If $size is set, the record size in bytes must be within the limits.

    +
    • Optional max?: number
    • Optional min?: number
\ No newline at end of file diff --git a/types/ProtocolTypes.html b/types/ProtocolTypes.html new file mode 100644 index 000000000..ae068295d --- /dev/null +++ b/types/ProtocolTypes.html @@ -0,0 +1 @@ +ProtocolTypes | DWN-SDK Documentation - v0.2.23

Type alias ProtocolTypes

ProtocolTypes: {
    [key: string]: ProtocolType;
}

Type declaration

  • [key: string]: ProtocolType
\ No newline at end of file diff --git a/types/ProtocolsConfigureDescriptor.html b/types/ProtocolsConfigureDescriptor.html new file mode 100644 index 000000000..232c561c3 --- /dev/null +++ b/types/ProtocolsConfigureDescriptor.html @@ -0,0 +1 @@ +ProtocolsConfigureDescriptor | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsConfigureDescriptor

ProtocolsConfigureDescriptor: {
    definition: ProtocolDefinition;
    interface: Protocols;
    messageTimestamp: string;
    method: Configure;
}

Type declaration

\ No newline at end of file diff --git a/types/ProtocolsConfigureMessage.html b/types/ProtocolsConfigureMessage.html new file mode 100644 index 000000000..c551b4036 --- /dev/null +++ b/types/ProtocolsConfigureMessage.html @@ -0,0 +1 @@ +ProtocolsConfigureMessage | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsConfigureMessage

ProtocolsConfigureMessage: GenericMessage & {
    authorization: AuthorizationModel;
    descriptor: ProtocolsConfigureDescriptor;
}

Type declaration

\ No newline at end of file diff --git a/types/ProtocolsConfigureOptions.html b/types/ProtocolsConfigureOptions.html new file mode 100644 index 000000000..ad9046d9c --- /dev/null +++ b/types/ProtocolsConfigureOptions.html @@ -0,0 +1 @@ +ProtocolsConfigureOptions | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsConfigureOptions

ProtocolsConfigureOptions: {
    definition: ProtocolDefinition;
    messageTimestamp?: string;
    permissionsGrantId?: string;
    signer: Signer;
}

Type declaration

\ No newline at end of file diff --git a/types/ProtocolsQueryFilter.html b/types/ProtocolsQueryFilter.html new file mode 100644 index 000000000..b95fafc98 --- /dev/null +++ b/types/ProtocolsQueryFilter.html @@ -0,0 +1 @@ +ProtocolsQueryFilter | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsQueryFilter

ProtocolsQueryFilter: {
    protocol: string;
}

Type declaration

  • protocol: string
\ No newline at end of file diff --git a/types/ProtocolsQueryMessage.html b/types/ProtocolsQueryMessage.html new file mode 100644 index 000000000..c094f55f3 --- /dev/null +++ b/types/ProtocolsQueryMessage.html @@ -0,0 +1 @@ +ProtocolsQueryMessage | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsQueryMessage

ProtocolsQueryMessage: GenericMessage & {
    descriptor: ProtocolsQueryDescriptor;
}

Type declaration

  • descriptor: ProtocolsQueryDescriptor
\ No newline at end of file diff --git a/types/ProtocolsQueryOptions.html b/types/ProtocolsQueryOptions.html new file mode 100644 index 000000000..d155f0ffa --- /dev/null +++ b/types/ProtocolsQueryOptions.html @@ -0,0 +1 @@ +ProtocolsQueryOptions | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsQueryOptions

ProtocolsQueryOptions: {
    filter?: ProtocolsQueryFilter;
    messageTimestamp?: string;
    permissionsGrantId?: string;
    signer?: Signer;
}

Type declaration

  • Optional filter?: ProtocolsQueryFilter
  • Optional messageTimestamp?: string
  • Optional permissionsGrantId?: string
  • Optional signer?: Signer
\ No newline at end of file diff --git a/types/ProtocolsQueryReply.html b/types/ProtocolsQueryReply.html new file mode 100644 index 000000000..a3a9d2fca --- /dev/null +++ b/types/ProtocolsQueryReply.html @@ -0,0 +1 @@ +ProtocolsQueryReply | DWN-SDK Documentation - v0.2.23

Type alias ProtocolsQueryReply

ProtocolsQueryReply: GenericMessageReply & {
    entries?: ProtocolsConfigureMessage[];
}

Type declaration

\ No newline at end of file diff --git a/types/PublicJwk.html b/types/PublicJwk.html new file mode 100644 index 000000000..7ec0a5056 --- /dev/null +++ b/types/PublicJwk.html @@ -0,0 +1,8 @@ +PublicJwk | DWN-SDK Documentation - v0.2.23

Type alias PublicJwk

PublicJwk: Jwk & {
    crv: "Ed25519" | "secp256k1" | "P-256";
    x: string;
    y?: string;
}

Type declaration

  • crv: "Ed25519" | "secp256k1" | "P-256"

    The "crv" (curve) parameter identifies the cryptographic curve used with the key. +MUST be present for all EC public keys

    +
  • x: string

    the x coordinate for the Elliptic Curve point. +Represented as the base64url encoding of the octet string representation of the coordinate. +MUST be present for all EC public keys

    +
  • Optional y?: string

    the y coordinate for the Elliptic Curve point. +Represented as the base64url encoding of the octet string representation of the coordinate.

    +
\ No newline at end of file diff --git a/types/QueryOptions.html b/types/QueryOptions.html new file mode 100644 index 000000000..49bc3efa2 --- /dev/null +++ b/types/QueryOptions.html @@ -0,0 +1 @@ +QueryOptions | DWN-SDK Documentation - v0.2.23

Type alias QueryOptions

QueryOptions: {
    cursor?: PaginationCursor;
    limit?: number;
    sortDirection?: SortDirection;
    sortProperty: string;
}

Type declaration

\ No newline at end of file diff --git a/types/QueryResultEntry.html b/types/QueryResultEntry.html new file mode 100644 index 000000000..3e8fd297f --- /dev/null +++ b/types/QueryResultEntry.html @@ -0,0 +1,6 @@ +QueryResultEntry | DWN-SDK Documentation - v0.2.23

Type alias QueryResultEntry

QueryResultEntry: GenericMessage & {
    encodedData?: string;
}

Message returned in a query result. +NOTE: the message structure is a modified version of the message received, the most notable differences are:

+
    +
  1. May include encoded data
  2. +
+

Type declaration

  • Optional encodedData?: string
\ No newline at end of file diff --git a/types/RangeCriterion.html b/types/RangeCriterion.html new file mode 100644 index 000000000..161ce0776 --- /dev/null +++ b/types/RangeCriterion.html @@ -0,0 +1,3 @@ +RangeCriterion | DWN-SDK Documentation - v0.2.23

Type alias RangeCriterion

RangeCriterion: {
    from?: string;
    to?: string;
}

Type declaration

  • Optional from?: string

    Inclusive starting date-time.

    +
  • Optional to?: string

    Inclusive end date-time.

    +
\ No newline at end of file diff --git a/types/RangeFilter.html b/types/RangeFilter.html new file mode 100644 index 000000000..e1f58ded0 --- /dev/null +++ b/types/RangeFilter.html @@ -0,0 +1,2 @@ +RangeFilter | DWN-SDK Documentation - v0.2.23

Type alias RangeFilter

RangeFilter: (GT | LT) & Partial<GT> & Partial<LT>

Ranger filter. 1 condition is required.

+
\ No newline at end of file diff --git a/types/RecordsDeleteMessage.html b/types/RecordsDeleteMessage.html new file mode 100644 index 000000000..3a4d59eb3 --- /dev/null +++ b/types/RecordsDeleteMessage.html @@ -0,0 +1 @@ +RecordsDeleteMessage | DWN-SDK Documentation - v0.2.23

Type alias RecordsDeleteMessage

RecordsDeleteMessage: GenericMessage & {
    authorization: AuthorizationModel;
    descriptor: RecordsDeleteDescriptor;
}

Type declaration

  • authorization: AuthorizationModel
  • descriptor: RecordsDeleteDescriptor
\ No newline at end of file diff --git a/types/RecordsDeleteOptions.html b/types/RecordsDeleteOptions.html new file mode 100644 index 000000000..3c0ee94fb --- /dev/null +++ b/types/RecordsDeleteOptions.html @@ -0,0 +1,2 @@ +RecordsDeleteOptions | DWN-SDK Documentation - v0.2.23

Type alias RecordsDeleteOptions

RecordsDeleteOptions: {
    delegatedGrant?: RecordsWriteMessage;
    messageTimestamp?: string;
    protocolRole?: string;
    recordId: string;
    signer: Signer;
}

Type declaration

  • Optional delegatedGrant?: RecordsWriteMessage

    The delegated grant to sign on behalf of the logical author, which is the grantor (grantedBy) of the delegated grant.

    +
  • Optional messageTimestamp?: string
  • Optional protocolRole?: string
  • recordId: string
  • signer: Signer
\ No newline at end of file diff --git a/types/RecordsQueryMessage.html b/types/RecordsQueryMessage.html new file mode 100644 index 000000000..c49e705fd --- /dev/null +++ b/types/RecordsQueryMessage.html @@ -0,0 +1 @@ +RecordsQueryMessage | DWN-SDK Documentation - v0.2.23

Type alias RecordsQueryMessage

RecordsQueryMessage: GenericMessage & {
    descriptor: RecordsQueryDescriptor;
}

Type declaration

  • descriptor: RecordsQueryDescriptor
\ No newline at end of file diff --git a/types/RecordsQueryOptions.html b/types/RecordsQueryOptions.html new file mode 100644 index 000000000..e0bf224fa --- /dev/null +++ b/types/RecordsQueryOptions.html @@ -0,0 +1,2 @@ +RecordsQueryOptions | DWN-SDK Documentation - v0.2.23

Type alias RecordsQueryOptions

RecordsQueryOptions: {
    dateSort?: DateSort;
    delegatedGrant?: RecordsWriteMessage;
    filter: RecordsFilter;
    messageTimestamp?: string;
    pagination?: Pagination;
    protocolRole?: string;
    signer?: Signer;
}

Type declaration

  • Optional dateSort?: DateSort
  • Optional delegatedGrant?: RecordsWriteMessage

    The delegated grant to sign on behalf of the logical author, which is the grantor (grantedBy) of the delegated grant.

    +
  • filter: RecordsFilter
  • Optional messageTimestamp?: string
  • Optional pagination?: Pagination
  • Optional protocolRole?: string
  • Optional signer?: Signer
\ No newline at end of file diff --git a/types/RecordsQueryReply.html b/types/RecordsQueryReply.html new file mode 100644 index 000000000..d2613b889 --- /dev/null +++ b/types/RecordsQueryReply.html @@ -0,0 +1 @@ +RecordsQueryReply | DWN-SDK Documentation - v0.2.23

Type alias RecordsQueryReply

RecordsQueryReply: GenericMessageReply & {
    cursor?: PaginationCursor;
    entries?: RecordsQueryReplyEntry[];
}

Type declaration

\ No newline at end of file diff --git a/types/RecordsQueryReplyEntry.html b/types/RecordsQueryReplyEntry.html new file mode 100644 index 000000000..947dcd3bd --- /dev/null +++ b/types/RecordsQueryReplyEntry.html @@ -0,0 +1,9 @@ +RecordsQueryReplyEntry | DWN-SDK Documentation - v0.2.23

Type alias RecordsQueryReplyEntry

RecordsQueryReplyEntry: RecordsWriteMessage & {
    encodedData?: string;
    initialWrite?: RecordsWriteMessage;
}

Data structure returned in a RecordsQuery reply entry. +NOTE: the message structure is a modified version of the message received, the most notable differences are:

+
    +
  1. May include an initial RecordsWrite message
  2. +
  3. May include encoded data
  4. +
+

Type declaration

  • Optional encodedData?: string

    The encoded data of the record if the data associated with the record is equal or smaller than DwnConstant.maxDataSizeAllowedToBeEncoded.

    +
  • Optional initialWrite?: RecordsWriteMessage

    The initial write of the record if the returned RecordsWrite message itself is not the initial write.

    +
\ No newline at end of file diff --git a/types/RecordsReadMessage.html b/types/RecordsReadMessage.html new file mode 100644 index 000000000..beef88523 --- /dev/null +++ b/types/RecordsReadMessage.html @@ -0,0 +1 @@ +RecordsReadMessage | DWN-SDK Documentation - v0.2.23

Type alias RecordsReadMessage

RecordsReadMessage: {
    authorization?: AuthorizationModel;
    descriptor: RecordsReadDescriptor;
}

Type declaration

  • Optional authorization?: AuthorizationModel
  • descriptor: RecordsReadDescriptor
\ No newline at end of file diff --git a/types/RecordsReadOptions.html b/types/RecordsReadOptions.html new file mode 100644 index 000000000..422868a8f --- /dev/null +++ b/types/RecordsReadOptions.html @@ -0,0 +1,4 @@ +RecordsReadOptions | DWN-SDK Documentation - v0.2.23

Type alias RecordsReadOptions

RecordsReadOptions: {
    delegatedGrant?: RecordsWriteMessage;
    filter: RecordsFilter;
    messageTimestamp?: string;
    permissionsGrantId?: string;
    protocolRole?: string;
    signer?: Signer;
}

Type declaration

  • Optional delegatedGrant?: RecordsWriteMessage

    The delegated grant to sign on behalf of the logical author, which is the grantor (grantedBy) of the delegated grant.

    +
  • filter: RecordsFilter
  • Optional messageTimestamp?: string
  • Optional permissionsGrantId?: string
  • Optional protocolRole?: string

    Used when authorizing protocol records. +The protocol path to the role record type whose recipient is the author of this RecordsRead

    +
  • Optional signer?: Signer
\ No newline at end of file diff --git a/types/RecordsReadReply.html b/types/RecordsReadReply.html new file mode 100644 index 000000000..55d924a79 --- /dev/null +++ b/types/RecordsReadReply.html @@ -0,0 +1 @@ +RecordsReadReply | DWN-SDK Documentation - v0.2.23

Type alias RecordsReadReply

RecordsReadReply: GenericMessageReply & {
    record?: RecordsWriteMessage & {
        data: Readable;
        initialWrite?: RecordsWriteMessage;
    };
}

Type declaration

\ No newline at end of file diff --git a/types/RecordsSubscribeDescriptor.html b/types/RecordsSubscribeDescriptor.html new file mode 100644 index 000000000..b7006c73f --- /dev/null +++ b/types/RecordsSubscribeDescriptor.html @@ -0,0 +1 @@ +RecordsSubscribeDescriptor | DWN-SDK Documentation - v0.2.23

Type alias RecordsSubscribeDescriptor

RecordsSubscribeDescriptor: {
    filter: RecordsFilter;
    interface: Records;
    messageTimestamp: string;
    method: Subscribe;
}

Type declaration

  • filter: RecordsFilter
  • interface: Records
  • messageTimestamp: string
  • method: Subscribe
\ No newline at end of file diff --git a/types/RecordsSubscribeMessage.html b/types/RecordsSubscribeMessage.html new file mode 100644 index 000000000..1eb633fd7 --- /dev/null +++ b/types/RecordsSubscribeMessage.html @@ -0,0 +1 @@ +RecordsSubscribeMessage | DWN-SDK Documentation - v0.2.23

Type alias RecordsSubscribeMessage

RecordsSubscribeMessage: GenericMessage & {
    descriptor: RecordsSubscribeDescriptor;
}

Type declaration

\ No newline at end of file diff --git a/types/RecordsSubscribeOptions.html b/types/RecordsSubscribeOptions.html new file mode 100644 index 000000000..21b096e5d --- /dev/null +++ b/types/RecordsSubscribeOptions.html @@ -0,0 +1,2 @@ +RecordsSubscribeOptions | DWN-SDK Documentation - v0.2.23

Type alias RecordsSubscribeOptions

RecordsSubscribeOptions: {
    delegatedGrant?: RecordsWriteMessage;
    filter: RecordsFilter;
    messageTimestamp?: string;
    protocolRole?: string;
    signer?: Signer;
}

Type declaration

  • Optional delegatedGrant?: RecordsWriteMessage

    The delegated grant to sign on behalf of the logical author, which is the grantor (grantedBy) of the delegated grant.

    +
  • filter: RecordsFilter
  • Optional messageTimestamp?: string
  • Optional protocolRole?: string
  • Optional signer?: Signer
\ No newline at end of file diff --git a/types/RecordsSubscribeReply.html b/types/RecordsSubscribeReply.html new file mode 100644 index 000000000..0d6863d5d --- /dev/null +++ b/types/RecordsSubscribeReply.html @@ -0,0 +1 @@ +RecordsSubscribeReply | DWN-SDK Documentation - v0.2.23

Type alias RecordsSubscribeReply

RecordsSubscribeReply: GenericMessageReply & {
    subscription?: MessageSubscription;
}

Type declaration

\ No newline at end of file diff --git a/types/RecordsWriteDescriptor.html b/types/RecordsWriteDescriptor.html new file mode 100644 index 000000000..65e10e083 --- /dev/null +++ b/types/RecordsWriteDescriptor.html @@ -0,0 +1 @@ +RecordsWriteDescriptor | DWN-SDK Documentation - v0.2.23

Type alias RecordsWriteDescriptor

RecordsWriteDescriptor: {
    dataCid: string;
    dataFormat: string;
    dataSize: number;
    dateCreated: string;
    datePublished?: string;
    interface: Records;
    messageTimestamp: string;
    method: Write;
    parentId?: string;
    protocol?: string;
    protocolPath?: string;
    published?: boolean;
    recipient?: string;
    schema?: string;
    tags?: RecordsWriteTags;
}

Type declaration

  • dataCid: string
  • dataFormat: string
  • dataSize: number
  • dateCreated: string
  • Optional datePublished?: string
  • interface: Records
  • messageTimestamp: string
  • method: Write
  • Optional parentId?: string
  • Optional protocol?: string
  • Optional protocolPath?: string
  • Optional published?: boolean
  • Optional recipient?: string
  • Optional schema?: string
  • Optional tags?: RecordsWriteTags
\ No newline at end of file diff --git a/types/RecordsWriteMessage.html b/types/RecordsWriteMessage.html new file mode 100644 index 000000000..e9e796639 --- /dev/null +++ b/types/RecordsWriteMessage.html @@ -0,0 +1 @@ +RecordsWriteMessage | DWN-SDK Documentation - v0.2.23

Type alias RecordsWriteMessage

RecordsWriteMessage: {
    attestation?: GeneralJws;
    authorization: AuthorizationModel;
    contextId?: string;
    descriptor: RecordsWriteDescriptor;
    encryption?: EncryptionProperty;
    recordId: string;
}

Type declaration

\ No newline at end of file diff --git a/types/RecordsWriteOptions.html b/types/RecordsWriteOptions.html new file mode 100644 index 000000000..405716ff3 --- /dev/null +++ b/types/RecordsWriteOptions.html @@ -0,0 +1,5 @@ +RecordsWriteOptions | DWN-SDK Documentation - v0.2.23

Type alias RecordsWriteOptions

RecordsWriteOptions: {
    attestationSigners?: Signer[];
    data?: Uint8Array;
    dataCid?: string;
    dataFormat: string;
    dataSize?: number;
    dateCreated?: string;
    datePublished?: string;
    delegatedGrant?: RecordsWriteMessage;
    encryptionInput?: EncryptionInput;
    messageTimestamp?: string;
    parentContextId?: string;
    permissionsGrantId?: string;
    protocol?: string;
    protocolPath?: string;
    protocolRole?: string;
    published?: boolean;
    recipient?: string;
    recordId?: string;
    schema?: string;
    signer?: Signer;
    tags?: RecordsWriteTags;
}

Type declaration

  • Optional attestationSigners?: Signer[]
  • Optional data?: Uint8Array
  • Optional dataCid?: string
  • dataFormat: string
  • Optional dataSize?: number
  • Optional dateCreated?: string
  • Optional datePublished?: string
  • Optional delegatedGrant?: RecordsWriteMessage

    The delegated grant invoked to sign on behalf of the logical author, which is the grantor of the delegated grant.

    +
  • Optional encryptionInput?: EncryptionInput
  • Optional messageTimestamp?: string
  • Optional parentContextId?: string

    Must be given if this message is for a non-root protocol record. +If not given, it either means this write is for a root protocol record or a flat-space record.

    +
  • Optional permissionsGrantId?: string
  • Optional protocol?: string
  • Optional protocolPath?: string
  • Optional protocolRole?: string
  • Optional published?: boolean
  • Optional recipient?: string
  • Optional recordId?: string
  • Optional schema?: string
  • Optional signer?: Signer

    The signer of the message, which is commonly the author, but can also be a delegate.

    +
  • Optional tags?: RecordsWriteTags
\ No newline at end of file diff --git a/types/SubscriptionReply.html b/types/SubscriptionReply.html new file mode 100644 index 000000000..f211eef3a --- /dev/null +++ b/types/SubscriptionReply.html @@ -0,0 +1 @@ +SubscriptionReply | DWN-SDK Documentation - v0.2.23

Type alias SubscriptionReply

SubscriptionReply: GenericMessageReply & {
    subscription?: MessageSubscription;
}

Type declaration

\ No newline at end of file diff --git a/types/UnionMessageReply.html b/types/UnionMessageReply.html new file mode 100644 index 000000000..644018c02 --- /dev/null +++ b/types/UnionMessageReply.html @@ -0,0 +1,10 @@ +UnionMessageReply | DWN-SDK Documentation - v0.2.23

Type alias UnionMessageReply

UnionMessageReply: GenericMessageReply & {
    cursor?: PaginationCursor;
    entries?: QueryResultEntry[] | ProtocolsConfigureMessage[] | MessagesGetReplyEntry[] | string[];
    record?: RecordsWriteMessage & {
        data: Readable;
        initialWrite?: RecordsWriteMessage;
    };
    subscription?: MessageSubscription;
}

Catch-all message reply type. It is recommended to use GenericMessageReply or a message-specific reply type wherever possible.

+

Type declaration

  • Optional cursor?: PaginationCursor

    A cursor for pagination if applicable (e.g. RecordsQuery). +Mutually exclusive with record.

    +
  • Optional entries?: QueryResultEntry[] | ProtocolsConfigureMessage[] | MessagesGetReplyEntry[] | string[]

    Resulting message entries or events returned from the invocation of the corresponding message. +e.g. the resulting messages from a RecordsQuery, or array of messageCid strings for EventsGet or EventsQuery +Mutually exclusive with record.

    +
  • Optional record?: RecordsWriteMessage & {
        data: Readable;
        initialWrite?: RecordsWriteMessage;
    }

    Record corresponding to the message received if applicable (e.g. RecordsRead). +Mutually exclusive with entries and cursor.

    +
  • Optional subscription?: MessageSubscription

    A subscription object if a subscription was requested.

    +
\ No newline at end of file