From 925502b791f25543d8e73b3516c9bd093c27220a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 15 Feb 2024 20:20:50 +0000 Subject: [PATCH] 2024-02-15T20:20:50+00:00 Signed-off-by: GitHub Actions --- .nojekyll | 1 + assets/highlight.css | 22 + assets/main.js | 59 + assets/navigation.js | 1 + assets/search.js | 1 + assets/style.css | 1414 +++++++++++++++++++++++ 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 | 44 + classes/MessageStoreLevel.html | 26 + classes/MessagesGet.html | 9 + classes/PermissionsGrant.html | 23 + classes/PermissionsRequest.html | 9 + classes/PermissionsRevoke.html | 10 + classes/PrivateKeySigner.html | 17 + classes/Protocols.html | 7 + classes/ProtocolsConfigure.html | 9 + classes/ProtocolsQuery.html | 11 + classes/Records.html | 43 + classes/RecordsDelete.html | 13 + classes/RecordsQuery.html | 13 + classes/RecordsRead.html | 14 + classes/RecordsSubscribe.html | 13 + classes/RecordsWrite.html | 65 ++ classes/Secp256k1.html | 34 + classes/TestDataGenerator.html | 65 ++ classes/Time.html | 24 + enums/DateSort.html | 5 + enums/DwnErrorCode.html | 136 +++ enums/DwnInterfaceName.html | 6 + 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 | 133 +++ 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 | 3 + 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 | 1 + types/PermissionsGrantDescriptor.html | 8 + types/PermissionsGrantMessage.html | 1 + types/PermissionsGrantOptions.html | 1 + types/PermissionsRequestDescriptor.html | 1 + types/PermissionsRequestMessage.html | 1 + types/PermissionsRequestOptions.html | 1 + types/PermissionsRevokeDescriptor.html | 1 + types/PermissionsRevokeMessage.html | 1 + types/PermissionsRevokeOptions.html | 1 + types/Persona.html | 2 + types/PrivateJwk.html | 4 + types/ProtocolDefinition.html | 2 + types/ProtocolRuleSet.html | 11 + 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 + 140 files changed, 2733 insertions(+) create mode 100644 .nojekyll create mode 100644 assets/highlight.css 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/PermissionsGrant.html create mode 100644 classes/PermissionsRequest.html create mode 100644 classes/PermissionsRevoke.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/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/PermissionsGrantDescriptor.html create mode 100644 types/PermissionsGrantMessage.html create mode 100644 types/PermissionsGrantOptions.html create mode 100644 types/PermissionsRequestDescriptor.html create mode 100644 types/PermissionsRequestMessage.html create mode 100644 types/PermissionsRequestOptions.html create mode 100644 types/PermissionsRevokeDescriptor.html create mode 100644 types/PermissionsRevokeMessage.html create mode 100644 types/PermissionsRevokeOptions.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/main.js b/assets/main.js new file mode 100644 index 000000000..3092fea0e --- /dev/null +++ b/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ie=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ie(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",H="mouseup",J={x:0,y:0},fe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",pe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.updateIndexHeadingVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 000000000..f07947196 --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA5WaTXMiNxCG/wtnVxy7YifxzQVe79rr2AFv5ZDKQZ5pQMUgsZIGlkrlv6dmGEAfLal15X370aj11aPh739HBn6Y0d1owgzMpDKji9GGmeXobgSiXevL4+8/Lc26GV2MVlzUo7vf/rs4R+7Eg1JSjWUNQbSlJQlfhAE1ZxX8wdYYxdGTpBcwS1lHMGcxzngQldpvDJfivllIxc1y7ZMQS5z3DPsJKL5lnX9WLSF8MsQS53WjMeEKqs7skxwxzrhvGrm7b5p3EEyYR2asR6oapjXoy9Dj8q6ubeKY1yFizOtUzIQZNjNSwVfYQhOGu3qepICtY5ROSxJ2AgndiUzMWAptmDBo7FHMMPoVggJ6JRX9ICpZAxI8CJnYYRKj4YOWJGxBmIc1NwZULPuhJ0v8KheRCeHIWY5+BGRcTlI+/s8W1D5G6MU8Y9Z+6ErxD2SBeYYU63P9DMiT9D+n4p52Oox62ulUzAtozRbI8w4CITa1qAMLgYePpCWmGG+g1lxrLoV+VOhS9R1E2hS+t6DTvMFDJm7lCsl8YEny+oMEnmE/4wuBbQ6+I02TRlayQebRSSLFj6WY80WrsO4FHhIxsjxdPUWaQiVVjfRsEAixE2gAOzwdmcCJ9MVWCZQpMOQUtkQCI7Fh+Q4C7S/FE+np1RRlBtXm+uZ2dRUiTlIq/h206c7/RxCgmMGO2cCS5PE10pvuV1Kdcw7lx3rWqnJcxPXNLXIwooSjmAX4h7TPwA5oF2Pv3ijHNlBBr32lobO8wUfBHqaoV90gWMuXwvo7qUXCtlA3GCuyLUCsvnYh95XhWzh4x0uoVlPQbWMdPma/6Yp23OaRf/7916uba7t6V8AMfFJyHYzFgRsYcsTTrH4Egz9q6CAz39oc8+TIMrv3LqiHI/FptwqQviFL7Av/OV8EpKOQI5yr7y9i0wad9GQ67U3JDSizjwOPjizze8uaT7wx9qIYYGcpS+n3HGsJfmaibhBkxEfid+VhUNJaXEsn8yKLxNfJvClsmnBUHJXG6guFZG9tRwEz2WPbUcBM9Pqs03inkmQCh0ki8UmEGQtbSGbXdxWyk1n2XYXsRLZdT46LL3vaiu+LLF5FcuiqZSy0e4glR32GfWb7DR0E5gszoDhrENhRylGGXvRD5mNsjchxL3sdTHjfG6UkdtfQUcCMrITQUcBEp4ivl/IehFFZaG/KkV8FvM7xxWVJOcobW3DB3Lr3ADkrdMa4VTrcSn09yztdX4ylqDk6spiHzp1VchNMQE+m0w63QPGjJO4sbSOydCK2UnpkEUVsBfThVouUocBb3k4+S66xvIV8plxjUQvdhR0xVa61uBVKoixfMZ+SJstH4GspGILrfs5GR1/Z6O9qx7vCCcy54OiuGTiozGnbwAyCM9aTqbT3LjjG6kUq6XzLmpiUCW95O7FpGTOWtxCbmDEjuYX+RQQ/lDFPGTeXl5J3NTcol4+SNzY3CC2iEEuW2n40vMIW71HIEVIdLenf8MzdZRFazPl6jjdlYgHj7mZbIfuJq5JY+PSzpCzF/hgRmXSYp4gbGQnMQ+Sm1ghiKaGmH7Zk9tgh6NoIDMVEdFbiLiK7+xSUTqzlKGCm02o5CpippJ50Io9wTRR3lraRTnDpTZEflk516V2RH5ZKetltkf2lL5t1z1XCTmfbtpRQ01m2LTmqfX2NZjcw5IjfBJcidfsVGHJE1polCMMr51PVvBX9v8n0pa27rNtfLAz8gKo18E00oPX9h1QGagyH+QLsP/8D/Itqu6MoAAA=" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js new file mode 100644 index 000000000..00db2334a --- /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..98a437794 --- /dev/null +++ b/assets/style.css @@ -0,0 +1,1414 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/classes/AllowAllTenantGate.html b/classes/AllowAllTenantGate.html new file mode 100644 index 000000000..14aac5fa0 --- /dev/null +++ b/classes/AllowAllTenantGate.html @@ -0,0 +1,5 @@ +AllowAllTenantGate | DWN-SDK Documentation - v0.2.17

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

+

Implements

Constructors

Methods

Constructors

Methods

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

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.

+

Generated using TypeDoc

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

A class that represents a DWN error.

+

Hierarchy

  • Error
    • DwnError

Constructors

Properties

Constructors

Properties

code: string

Generated using TypeDoc

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

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

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

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

+

Implements

Constructors

Methods

Constructors

Methods

Generated using TypeDoc

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

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[];
    }>

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

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

    +

Generated using TypeDoc

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

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?: DelegatedGrantMessage;
          descriptor: Descriptor;
          permissionsGrantId?: string;
          protocolRole?: string;
          signer: Signer;
      }
      • Optional delegatedGrant?: DelegatedGrantMessage
      • 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.

    +

Generated using TypeDoc

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

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

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

  • A convenience method for casting a PermissionsGrantMessage to a DelegatedGrantMessage if the delegated property is true.

    +

    Returns DelegatedGrantMessage

    Throws

    if the delegated property is not true.

    +
  • A convenience method for casting a PermissionsGrantMessage to a DelegatedGrantMessage if the delegated property is true.

    +

    Parameters

    Returns DelegatedGrantMessage

    Throws

    if the delegated property is not true.

    +
  • generates a PermissionsGrant using the provided PermissionsRequest

    +

    Parameters

    • permissionsRequest: PermissionsRequest
    • signer: Signer

      the private key and additional signature material of the grantor

      +
    • overrides: CreateFromPermissionsRequestOverrides

      overrides that will be used instead of the properties in permissionsRequest

      +

    Returns Promise<PermissionsGrant>

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/PermissionsRevoke.html b/classes/PermissionsRevoke.html new file mode 100644 index 000000000..018000ab0 --- /dev/null +++ b/classes/PermissionsRevoke.html @@ -0,0 +1,10 @@ +PermissionsRevoke | DWN-SDK Documentation - v0.2.17

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

Class containing useful utilities related to the Records interface.

+

Constructors

Methods

  • 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

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

    +

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

A class representing a RecordsSubscribe DWN message.

+

Hierarchy

Accessors

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

Methods

Generated using TypeDoc

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

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 ownerSignaturePayload(): undefined | GenericSignaturePayload
  • Decoded owner signature payload.

    +

    Returns undefined | GenericSignaturePayload

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

  • Checks if the author of the RecordsWrite is the same as the author of the initial RecordsWrite for the record. +Returns true if this is the initial RecordsWrite.

    +

    Parameters

    Returns Promise<boolean>

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

    +

    Parameters

    • options: {
          delegatedGrant?: DelegatedGrantMessage;
          permissionsGrantId?: string;
          protocolRole?: string;
          signer: Signer;
      }
      • Optional delegatedGrant?: DelegatedGrantMessage
      • 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 already.

    +

    Parameters

    • signer: Signer
    • Optional permissionsGrantId: string

    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>

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

    +

    Parameters

    • message: InternalRecordsWriteMessage

    Returns string[]

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

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 PermissionsGrant message for testing.

    +

    Parameters

    • Optional input: GeneratePermissionsGrantInput

    Returns Promise<GeneratePermissionsGrantOutput>

  • Generates a PermissionsRequest message for testing.

    +

    Parameters

    • Optional input: GeneratePermissionsRequestInput

    Returns Promise<GeneratePermissionsRequestOutput>

  • Generates a PermissionsRevoke message for testing.

    +

    Parameters

    • Optional input: GeneratePermissionsRevokeInput

    Returns Promise<GeneratePermissionsRevokeOutput>

  • 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

    +

Generated using TypeDoc

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

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

    +

Generated using TypeDoc

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

Enumeration DateSort

Enumeration Members

CreatedAscending: "createdAscending"
CreatedDescending: "createdDescending"
PublishedAscending: "publishedAscending"
PublishedDescending: "publishedDescending"

Generated using TypeDoc

\ No newline at end of file diff --git a/enums/DwnErrorCode.html b/enums/DwnErrorCode.html new file mode 100644 index 000000000..063b9eac5 --- /dev/null +++ b/enums/DwnErrorCode.html @@ -0,0 +1,136 @@ +DwnErrorCode | DWN-SDK Documentation - v0.2.17

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 +PermissionsGrantGrantedByMismatch +PermissionsGrantNotADelegatedGrant +PermissionsGrantScopeContextIdAndProtocolPath +PermissionsGrantScopeSchemaProhibitedFields +PermissionsGrantUnauthorizedGrant +PermissionsRevokeMissingPermissionsGrant +PermissionsRevokeUnauthorizedRevoke +PrivateKeySignerUnableToDeduceAlgorithm +PrivateKeySignerUnableToDeduceKeyId +PrivateKeySignerUnsupportedCurve +ProtocolAuthorizationActionNotAllowed +ProtocolAuthorizationActionRulesNotFound +ProtocolAuthorizationDuplicateContextRoleRecipient +ProtocolAuthorizationDuplicateGlobalRoleRecipient +ProtocolAuthorizationIncorrectContextId +ProtocolAuthorizationIncorrectDataFormat +ProtocolAuthorizationIncorrectProtocolPath +ProtocolAuthorizationInvalidSchema +ProtocolAuthorizationInvalidType +ProtocolAuthorizationMatchingRoleRecordNotFound +ProtocolAuthorizationMaxSizeInvalid +ProtocolAuthorizationMinSizeInvalid +ProtocolAuthorizationMissingContextId +ProtocolAuthorizationMissingRuleSet +ProtocolAuthorizationNotARole +ProtocolAuthorizationParentNotFoundConstructingAncestorChain +ProtocolAuthorizationParentlessIncorrectProtocolPath +ProtocolAuthorizationProtocolNotFound +ProtocolAuthorizationQueryWithoutRole +ProtocolAuthorizationRoleMissingRecipient +ProtocolsConfigureGlobalRoleAtProhibitedProtocolPath +ProtocolsConfigureInvalidActionMissingOf +ProtocolsConfigureInvalidActionOfNotAllowed +ProtocolsConfigureInvalidRecipientOfAction +ProtocolsConfigureInvalidRole +ProtocolsConfigureInvalidSize +ProtocolsConfigureQueryNotAllowed +ProtocolsConfigureRecordNestingDepthExceeded +ProtocolsConfigureUnauthorized +ProtocolsQueryUnauthorized +RecordsDecryptNoMatchingKeyEncryptedFound +RecordsDeleteAuthorizationFailed +RecordsDerivePrivateKeyUnSupportedCurve +RecordsGrantAuthorizationConditionPublicationProhibited +RecordsGrantAuthorizationConditionPublicationRequired +RecordsGrantAuthorizationDeleteProtocolScopeMismatch +RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch +RecordsGrantAuthorizationScopeContextIdMismatch +RecordsGrantAuthorizationScopeNotProtocol +RecordsGrantAuthorizationScopeProtocolMismatch +RecordsGrantAuthorizationScopeProtocolPathMismatch +RecordsGrantAuthorizationScopeSchema +RecordsInvalidAncestorKeyDerivationSegment +RecordsProtocolContextDerivationSchemeMissingContextId +RecordsProtocolPathDerivationSchemeMissingProtocol +RecordsQueryCreateFilterPublishedSortInvalid +RecordsQueryFilterMissingRequiredProperties +RecordsQueryParseFilterPublishedSortInvalid +RecordsReadAuthorizationFailed +RecordsReadReturnedMultiple +RecordsSchemasDerivationSchemeMissingSchema +RecordsSubscribeEventStreamUnimplemented +RecordsSubscribeFilterMissingRequiredProperties +RecordsValidateIntegrityDelegatedGrantAndIdExistenceMismatch +RecordsValidateIntegrityGrantedToAndSignerMismatch +RecordsWriteAttestationIntegrityDescriptorCidMismatch +RecordsWriteAttestationIntegrityInvalidPayloadProperty +RecordsWriteAttestationIntegrityMoreThanOneSignature +RecordsWriteAuthorizationFailed +RecordsWriteCreateDataAndDataCidMutuallyExclusive +RecordsWriteCreateDataCidAndDataSizeMutuallyInclusive +RecordsWriteCreateMissingSigner +RecordsWriteCreateProtocolAndProtocolPathMutuallyInclusive +RecordsWriteDataCidMismatch +RecordsWriteDataSizeMismatch +RecordsWriteGetEntryIdUndefinedAuthor +RecordsWriteGetInitialWriteNotFound +RecordsWriteImmutablePropertyChanged +RecordsWriteMissingDataInPrevious +RecordsWriteMissingDataStream +RecordsWriteMissingEncodedDataInPrevious +RecordsWriteMissingProtocol +RecordsWriteMissingSchema +RecordsWriteMissingSigner +RecordsWriteOwnerAndTenantMismatch +RecordsWriteSignAsOwnerUnknownAuthor +RecordsWriteValidateIntegrityAttestationMismatch +RecordsWriteValidateIntegrityContextIdMismatch +RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload +RecordsWriteValidateIntegrityDateCreatedMismatch +RecordsWriteValidateIntegrityEncryptionCidMismatch +RecordsWriteValidateIntegrityRecordIdUnauthorized +SchemaValidationFailure +SchemaValidatorSchemaNotFound +Secp256k1KeyNotValid +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"
PermissionsGrantGrantedByMismatch: "PermissionsGrantGrantedByMismatch"
PermissionsGrantNotADelegatedGrant: "PermissionsGrantNotADelegatedGrant"
PermissionsGrantScopeContextIdAndProtocolPath: "PermissionsGrantScopeContextIdAndProtocolPath"
PermissionsGrantScopeSchemaProhibitedFields: "PermissionsGrantScopeSchemaProhibitedFields"
PermissionsGrantUnauthorizedGrant: "PermissionsGrantUnauthorizedGrant"
PermissionsRevokeMissingPermissionsGrant: "PermissionsRevokeMissingPermissionsGrant"
PermissionsRevokeUnauthorizedRevoke: "PermissionsRevokeUnauthorizedRevoke"
PrivateKeySignerUnableToDeduceAlgorithm: "PrivateKeySignerUnableToDeduceAlgorithm"
PrivateKeySignerUnableToDeduceKeyId: "PrivateKeySignerUnableToDeduceKeyId"
PrivateKeySignerUnsupportedCurve: "PrivateKeySignerUnsupportedCurve"
ProtocolAuthorizationActionNotAllowed: "ProtocolAuthorizationActionNotAllowed"
ProtocolAuthorizationActionRulesNotFound: "ProtocolAuthorizationActionRulesNotFound"
ProtocolAuthorizationDuplicateContextRoleRecipient: "ProtocolAuthorizationDuplicateContextRoleRecipient"
ProtocolAuthorizationDuplicateGlobalRoleRecipient: "ProtocolAuthorizationDuplicateGlobalRoleRecipient"
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"
ProtocolsConfigureGlobalRoleAtProhibitedProtocolPath: "ProtocolsConfigureGlobalRoleAtProhibitedProtocolPath"
ProtocolsConfigureInvalidActionMissingOf: "ProtocolsConfigureInvalidActionMissingOf"
ProtocolsConfigureInvalidActionOfNotAllowed: "ProtocolsConfigureInvalidActionOfNotAllowed"
ProtocolsConfigureInvalidRecipientOfAction: "ProtocolsConfigureInvalidRecipientOfAction"
ProtocolsConfigureInvalidRole: "ProtocolsConfigureInvalidRole"
ProtocolsConfigureInvalidSize: "ProtocolsConfigureInvalidSize"
ProtocolsConfigureQueryNotAllowed: "ProtocolsConfigureQueryNotAllowed"
ProtocolsConfigureRecordNestingDepthExceeded: "ProtocolsConfigureRecordNestingDepthExceeded"
ProtocolsConfigureUnauthorized: "ProtocolsConfigureUnauthorized"
ProtocolsQueryUnauthorized: "ProtocolsQueryUnauthorized"
RecordsDecryptNoMatchingKeyEncryptedFound: "RecordsDecryptNoMatchingKeyEncryptedFound"
RecordsDeleteAuthorizationFailed: "RecordsDeleteAuthorizationFailed"
RecordsDerivePrivateKeyUnSupportedCurve: "RecordsDerivePrivateKeyUnSupportedCurve"
RecordsGrantAuthorizationConditionPublicationProhibited: "RecordsGrantAuthorizationConditionPublicationProhibited"
RecordsGrantAuthorizationConditionPublicationRequired: "RecordsGrantAuthorizationConditionPublicationRequired"
RecordsGrantAuthorizationDeleteProtocolScopeMismatch: "RecordsGrantAuthorizationDeleteProtocolScopeMismatch"
RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch: "RecordsGrantAuthorizationQueryOrSubscribeProtocolScopeMismatch"
RecordsGrantAuthorizationScopeContextIdMismatch: "RecordsGrantAuthorizationScopeContextIdMismatch"
RecordsGrantAuthorizationScopeNotProtocol: "RecordsGrantAuthorizationScopeNotProtocol"
RecordsGrantAuthorizationScopeProtocolMismatch: "RecordsGrantAuthorizationScopeProtocolMismatch"
RecordsGrantAuthorizationScopeProtocolPathMismatch: "RecordsGrantAuthorizationScopeProtocolPathMismatch"
RecordsGrantAuthorizationScopeSchema: "RecordsGrantAuthorizationScopeSchema"
RecordsInvalidAncestorKeyDerivationSegment: "RecordsInvalidAncestorKeyDerivationSegment"
RecordsProtocolContextDerivationSchemeMissingContextId: "RecordsProtocolContextDerivationSchemeMissingContextId"
RecordsProtocolPathDerivationSchemeMissingProtocol: "RecordsProtocolPathDerivationSchemeMissingProtocol"
RecordsQueryCreateFilterPublishedSortInvalid: "RecordsQueryCreateFilterPublishedSortInvalid"
RecordsQueryFilterMissingRequiredProperties: "RecordsQueryFilterMissingRequiredProperties"
RecordsQueryParseFilterPublishedSortInvalid: "RecordsQueryParseFilterPublishedSortInvalid"
RecordsReadAuthorizationFailed: "RecordsReadAuthorizationFailed"
RecordsReadReturnedMultiple: "RecordsReadReturnedMultiple"
RecordsSchemasDerivationSchemeMissingSchema: "RecordsSchemasDerivationSchemeMissingSchema"
RecordsSubscribeEventStreamUnimplemented: "RecordsSubscribeEventStreamUnimplemented"
RecordsSubscribeFilterMissingRequiredProperties: "RecordsSubscribeFilterMissingRequiredProperties"
RecordsValidateIntegrityDelegatedGrantAndIdExistenceMismatch: "RecordsValidateIntegrityDelegatedGrantAndIdExistenceMismatch"
RecordsValidateIntegrityGrantedToAndSignerMismatch: "RecordsValidateIntegrityGrantedToAndSignerMismatch"
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"
RecordsWriteSignAsOwnerUnknownAuthor: "RecordsWriteSignAsOwnerUnknownAuthor"
RecordsWriteValidateIntegrityAttestationMismatch: "RecordsWriteValidateIntegrityAttestationMismatch"
RecordsWriteValidateIntegrityContextIdMismatch: "RecordsWriteValidateIntegrityContextIdMismatch"
RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload: "RecordsWriteValidateIntegrityContextIdNotInSignerSignaturePayload"
RecordsWriteValidateIntegrityDateCreatedMismatch: "RecordsWriteValidateIntegrityDateCreatedMismatch"
RecordsWriteValidateIntegrityEncryptionCidMismatch: "RecordsWriteValidateIntegrityEncryptionCidMismatch"
RecordsWriteValidateIntegrityRecordIdUnauthorized: "RecordsWriteValidateIntegrityRecordIdUnauthorized"
SchemaValidationFailure: "SchemaValidationFailure"
SchemaValidatorSchemaNotFound: "SchemaValidatorSchemaNotFound"
Secp256k1KeyNotValid: "Secp256k1KeyNotValid"
TimestampInvalid: "TimestampInvalid"
UrlProtocolNotNormalizable: "UrlProtocolNotNormalizable"
UrlProtocolNotNormalized: "UrlProtocolNotNormalized"
UrlSchemaNotNormalizable: "UrlSchemaNotNormalizable"
UrlSchemaNotNormalized: "UrlSchemaNotNormalized"

Generated using TypeDoc

\ No newline at end of file diff --git a/enums/DwnInterfaceName.html b/enums/DwnInterfaceName.html new file mode 100644 index 000000000..8f4c8adae --- /dev/null +++ b/enums/DwnInterfaceName.html @@ -0,0 +1,6 @@ +DwnInterfaceName | DWN-SDK Documentation - v0.2.17

Generated using TypeDoc

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

Generated using TypeDoc

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

Generated using TypeDoc

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

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.

+

Generated using TypeDoc

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

Generated using TypeDoc

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

    +

    Parameters

    • authorizationModel: undefined | AuthorizationModel
    • didResolver: DidResolver

    Returns Promise<void>

    Throws

    if fails authentication

    +

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

Generated using TypeDoc

\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..b13836cad --- /dev/null +++ b/index.html @@ -0,0 +1,133 @@ +DWN-SDK Documentation - v0.2.17

DWN-SDK Documentation - v0.2.17

Index

Enumerations

Classes

Interfaces

Type Aliases

ActiveTenantCheckResult +CreateFromOptions +DataStoreGetResult +DataStorePutResult +DerivedPrivateJwk +DwnConfig +EncryptionInput +EncryptionProperty +EqualFilter +EventSubscriptionHandler +EventsGetMessage +EventsGetOptions +EventsGetReply +EventsQueryMessage +EventsQueryOptions +EventsQueryReply +EventsSubscribeDescriptor +EventsSubscribeMessage +EventsSubscribeOptions +EventsSubscribeReply +Filter +GenericMessage +GenericMessageReply +KeyEncryptionInput +KeyMaterial +MessageEvent +MessageSort +MessagesGetMessage +MessagesGetOptions +MessagesGetReply +MessagesGetReplyEntry +OneOfFilter +Pagination +PaginationCursor +PermissionConditions +PermissionScope +PermissionsGrantDescriptor +PermissionsGrantMessage +PermissionsGrantOptions +PermissionsRequestDescriptor +PermissionsRequestMessage +PermissionsRequestOptions +PermissionsRevokeDescriptor +PermissionsRevokeMessage +PermissionsRevokeOptions +Persona +PrivateJwk +ProtocolDefinition +ProtocolRuleSet +ProtocolTypes +ProtocolsConfigureDescriptor +ProtocolsConfigureMessage +ProtocolsConfigureOptions +ProtocolsQueryFilter +ProtocolsQueryMessage +ProtocolsQueryOptions +ProtocolsQueryReply +PublicJwk +QueryOptions +QueryResultEntry +RangeCriterion +RangeFilter +RecordsDeleteMessage +RecordsDeleteOptions +RecordsQueryMessage +RecordsQueryOptions +RecordsQueryReply +RecordsQueryReplyEntry +RecordsReadMessage +RecordsReadOptions +RecordsReadReply +RecordsSubscribeDescriptor +RecordsSubscribeMessage +RecordsSubscribeOptions +RecordsSubscribeReply +RecordsWriteDescriptor +RecordsWriteMessage +RecordsWriteOptions +SubscriptionReply +UnionMessageReply +

Functions

Generated using TypeDoc

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

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>

Generated using TypeDoc

\ No newline at end of file diff --git a/interfaces/EventLog.html b/interfaces/EventLog.html new file mode 100644 index 000000000..d0a3c347c --- /dev/null +++ b/interfaces/EventLog.html @@ -0,0 +1,25 @@ +EventLog | DWN-SDK Documentation - v0.2.17
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[];
    }>

Generated using TypeDoc

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

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(id, listener): Promise<EventSubscription>;
}

Implemented by

Methods

Methods

  • Parameters

    • id: string
    • listener: EventListener

    Returns Promise<EventSubscription>

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

Generated using TypeDoc

\ No newline at end of file diff --git a/interfaces/MessageSubscription.html b/interfaces/MessageSubscription.html new file mode 100644 index 000000000..498d4088a --- /dev/null +++ b/interfaces/MessageSubscription.html @@ -0,0 +1,3 @@ +MessageSubscription | DWN-SDK Documentation - v0.2.17

Interface MessageSubscription

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

Properties

Properties

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

Type declaration

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

id: string

Generated using TypeDoc

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

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>

Generated using TypeDoc

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

An interface that gates tenant access to the DWN.

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

Implemented by

Methods

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

Type alias CreateFromOptions

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

Type declaration

  • Optional attestationSigners?: Signer[]
  • Optional data?: Uint8Array
  • Optional datePublished?: string
  • Optional delegatedGrant?: DelegatedGrantMessage

    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

    Signer of the message.

    +

Generated using TypeDoc

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

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

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

Type alias DerivedPrivateJwk

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

Type declaration

Generated using TypeDoc

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

Type alias DwnConfig

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

DWN configuration.

+

Type declaration

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

Type alias EncryptionProperty

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

Type declaration

Generated using TypeDoc

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

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias EventsGetMessage

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

Type declaration

  • authorization: AuthorizationModel
  • descriptor: EventsGetDescriptor

Generated using TypeDoc

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

Type alias EventsGetOptions

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

Type declaration

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias EventsQueryMessage

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

Type declaration

  • authorization: AuthorizationModel
  • descriptor: EventsQueryDescriptor

Generated using TypeDoc

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

Type alias EventsQueryOptions

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

Type declaration

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias EventsSubscribeDescriptor

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

Type declaration

  • filters: EventsFilter[]
  • interface: Events
  • messageTimestamp: string
  • method: Subscribe

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias EventsSubscribeOptions

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

Type declaration

  • Optional filters?: EventsFilter[]
  • Optional messageTimestamp?: string
  • signer: Signer

Generated using TypeDoc

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

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias GenericMessage

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

Intersection type for all concrete message types.

+

Type declaration

  • Optional authorization?: AuthorizationModel
  • descriptor: Descriptor

Generated using TypeDoc

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

Generated using TypeDoc

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

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)

    +

Generated using TypeDoc

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

Type alias KeyMaterial

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

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

+

Type declaration

Generated using TypeDoc

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

Type alias MessageEvent

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

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

+

Type declaration

Generated using TypeDoc

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

Type alias MessageSort

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

Type declaration

Generated using TypeDoc

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

Type alias MessagesGetMessage

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

Type declaration

  • authorization: AuthorizationModel
  • descriptor: MessagesGetDescriptor

Generated using TypeDoc

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

Type alias MessagesGetOptions

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

Type declaration

  • messageCids: string[]
  • Optional messageTimestamp?: string
  • signer: Signer

Generated using TypeDoc

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

Generated using TypeDoc

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

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

Generated using TypeDoc

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

Generated using TypeDoc

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

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

Generated using TypeDoc

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

Type alias PaginationCursor

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

Type declaration

  • messageCid: string
  • value: string | number

Generated using TypeDoc

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

Type alias PermissionConditions

PermissionConditions: {
    publication?: PermissionsConditionPublication;
}

Type declaration

  • Optional publication?: PermissionsConditionPublication

    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.

    +

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias PermissionsGrantDescriptor

PermissionsGrantDescriptor: {
    conditions?: PermissionConditions;
    dateExpires: string;
    delegated?: boolean;
    description?: string;
    grantedBy: string;
    grantedFor: string;
    grantedTo: string;
    interface: Permissions;
    messageTimestamp: string;
    method: Grant;
    permissionsRequestId?: string;
    scope: PermissionScope;
}

Type declaration

  • Optional conditions?: PermissionConditions
  • dateExpires: string

    Timestamp at which this grant will no longer be active.

    +
  • Optional delegated?: boolean

    Whether this grant is delegated or not. If true, the grantedTo will be able to act as the grantedTo within the scope of this grant.

    +
  • Optional description?: string

    Optional string that communicates what the grant would be used for

    +
  • grantedBy: string

    The granter, who will be either the DWN owner or an entity who the DWN owner has delegated permission to.

    +
  • grantedFor: string

    The DID of the DWN which the grantee will be given access

    +
  • grantedTo: string

    The recipient of the grant. Usually this is the author of the PermissionsRequest message

    +
  • interface: Permissions
  • messageTimestamp: string
  • method: Grant
  • Optional permissionsRequestId?: string

    Optional CID of a PermissionsRequest message. This is optional because grants may be given without being officially requested

    +
  • scope: PermissionScope

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias PermissionsGrantOptions

PermissionsGrantOptions: {
    conditions?: PermissionConditions;
    dateExpires: string;
    delegated?: boolean;
    description?: string;
    grantedBy: string;
    grantedFor: string;
    grantedTo: string;
    messageTimestamp?: string;
    permissionsRequestId?: string;
    scope: PermissionScope;
    signer: Signer;
}

Type declaration

  • Optional conditions?: PermissionConditions
  • dateExpires: string
  • Optional delegated?: boolean
  • Optional description?: string
  • grantedBy: string
  • grantedFor: string
  • grantedTo: string
  • Optional messageTimestamp?: string
  • Optional permissionsRequestId?: string
  • scope: PermissionScope
  • signer: Signer

Generated using TypeDoc

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

Type alias PermissionsRequestDescriptor

PermissionsRequestDescriptor: {
    conditions?: PermissionConditions;
    description?: string;
    grantedBy: string;
    grantedFor: string;
    grantedTo: string;
    interface: Permissions;
    messageTimestamp: string;
    method: Request;
    scope: PermissionScope;
}

Type declaration

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias PermissionsRequestOptions

PermissionsRequestOptions: {
    conditions?: PermissionConditions;
    description?: string;
    grantedBy: string;
    grantedFor: string;
    grantedTo: string;
    messageTimestamp?: string;
    scope: PermissionScope;
    signer: Signer;
}

Type declaration

Generated using TypeDoc

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

Type alias PermissionsRevokeDescriptor

PermissionsRevokeDescriptor: {
    interface: Permissions;
    messageTimestamp: string;
    method: Revoke;
    permissionsGrantId: string;
}

Type declaration

  • interface: Permissions
  • messageTimestamp: string
  • method: Revoke
  • permissionsGrantId: string

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias PermissionsRevokeOptions

PermissionsRevokeOptions: {
    messageTimestamp?: string;
    permissionsGrantId: string;
    signer: Signer;
}

Type declaration

  • Optional messageTimestamp?: string
  • permissionsGrantId: string
  • signer: Signer

Generated using TypeDoc

\ No newline at end of file diff --git a/types/Persona.html b/types/Persona.html new file mode 100644 index 000000000..ee9aaa106 --- /dev/null +++ b/types/Persona.html @@ -0,0 +1,2 @@ +Persona | DWN-SDK Documentation - v0.2.17
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

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

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

Generated using TypeDoc

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

Type alias ProtocolRuleSet

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

Type declaration

  • [key: string]: any
  • Optional $actions?: ProtocolActionRule[]
  • Optional $contextRole?: boolean

    If true, this marks a record as a role that may used within a single context. Only +second-level records may set $contextRole: true. +The recipient of a $contextRole record may invoke their role in RecordsReads or RecordsWrites +by setting protocolRole property to the protocol path of the $contextRole record.

    +
  • Optional $encryption?: ProtocolPathEncryption

    Encryption setting for objects that are in this protocol path.

    +
  • Optional $globalRole?: boolean

    If true, this marks a record as a role that may be used across contexts. Only root records +may set $globalRole: true. +The recipient of a $globalRole record may invoke their role in RecordsRead or RecordsWrites +by setting protocolRole property to the protocol path of the $globalRole 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

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias ProtocolsConfigureDescriptor

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

Type declaration

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias ProtocolsConfigureOptions

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

Type declaration

Generated using TypeDoc

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

Generated using TypeDoc

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

Generated using TypeDoc

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

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

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias PublicJwk

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

Type declaration

  • crv: "Ed25519" | "secp256k1"

    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.

    +

Generated using TypeDoc

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

Type alias QueryOptions

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

Type declaration

Generated using TypeDoc

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

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

Generated using TypeDoc

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

Type alias RangeCriterion

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

Type declaration

  • Optional from?: string

    Inclusive starting date-time.

    +
  • Optional to?: string

    Inclusive end date-time.

    +

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias RecordsDeleteMessage

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

Type declaration

  • authorization: AuthorizationModel
  • descriptor: RecordsDeleteDescriptor

Generated using TypeDoc

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

Type alias RecordsDeleteOptions

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

Type declaration

  • Optional delegatedGrant?: DelegatedGrantMessage

    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

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias RecordsQueryOptions

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

Type declaration

  • Optional dateSort?: DateSort
  • Optional delegatedGrant?: DelegatedGrantMessage

    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

Generated using TypeDoc

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

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

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

Type alias RecordsReadMessage

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

Type declaration

  • Optional authorization?: AuthorizationModel
  • descriptor: RecordsReadDescriptor

Generated using TypeDoc

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

Type alias RecordsReadOptions

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

Type declaration

  • Optional delegatedGrant?: DelegatedGrantMessage

    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 a $globalRole record whose recipient is the author of this RecordsRead

    +
  • Optional signer?: Signer

Generated using TypeDoc

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

Type alias RecordsReadReply

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

Type declaration

Generated using TypeDoc

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

Type alias RecordsSubscribeDescriptor

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

Type declaration

  • filter: RecordsFilter
  • interface: Records
  • messageTimestamp: string
  • method: Subscribe

Generated using TypeDoc

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

Generated using TypeDoc

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

Type alias RecordsSubscribeOptions

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

Type declaration

  • Optional delegatedGrant?: DelegatedGrantMessage

    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

Generated using TypeDoc

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

Generated using TypeDoc

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

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;
}

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

Generated using TypeDoc

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

Type alias RecordsWriteMessage

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

Type declaration

Generated using TypeDoc

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

Type alias RecordsWriteOptions

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

Type declaration

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

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

    Signer of the message.

    +

Generated using TypeDoc

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

Generated using TypeDoc

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

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.

    +

Generated using TypeDoc

\ No newline at end of file