From 3538f63330475e95ae37917e66090e7615b909de Mon Sep 17 00:00:00 2001
From: CodyTseng
Date: Sun, 22 Sep 2024 11:48:40 +0000
Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20CodyTsen?=
=?UTF-8?q?g/nostr-relay@fe0e7523b28bd11c92f9fcc2f79de45c94c40e95=20?=
=?UTF-8?q?=F0=9F=9A=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
assets/search.js | 2 +-
classes/_nostr_relay_common.BaseError.html | 2 +-
.../_nostr_relay_common.ClientContext.html | 18 ++++++++-------
...str_relay_common.ConsoleLoggerService.html | 4 ++--
.../_nostr_relay_common.EventRepository.html | 14 ++++++------
classes/_nostr_relay_common.EventUtils.html | 4 ++--
classes/_nostr_relay_common.FilterUtils.html | 4 ++--
.../_nostr_relay_common.InternalError.html | 2 +-
...str_relay_common.UnauthenticatedError.html | 4 ++--
classes/_nostr_relay_core.NostrRelay.html | 22 +++++++++----------
...pository_sqlite.EventRepositorySqlite.html | 14 ++++++------
classes/_nostr_relay_validator.Validator.html | 20 ++++++++---------
...nostr_relay_common.countPowDifficulty.html | 2 +-
...elay_common.createOutgoingAuthMessage.html | 2 +-
...ay_common.createOutgoingClosedMessage.html | 2 +-
...elay_common.createOutgoingEoseMessage.html | 2 +-
...lay_common.createOutgoingEventMessage.html | 2 +-
...ay_common.createOutgoingNoticeMessage.html | 2 +-
..._relay_common.createOutgoingOkMessage.html | 2 +-
...tr_relay_common.getTimestampInSeconds.html | 2 +-
functions/_nostr_relay_common.isNil.html | 2 +-
.../_nostr_relay_common.isUndefined.html | 2 +-
.../_nostr_relay_common.schnorrSign.html | 2 +-
.../_nostr_relay_common.schnorrVerify.html | 2 +-
functions/_nostr_relay_common.sha256.html | 2 +-
functions/_nostr_relay_common.toPromise.html | 2 +-
..._relay_common.BeforeHandleEventPlugin.html | 4 ++--
.../_nostr_relay_common.BroadcastPlugin.html | 4 ++--
interfaces/_nostr_relay_common.Client.html | 4 ++--
interfaces/_nostr_relay_common.Event.html | 4 ++--
...ay_common.EventRepositoryUpsertResult.html | 4 ++--
interfaces/_nostr_relay_common.Filter.html | 4 ++--
...ostr_relay_common.HandleMessagePlugin.html | 4 ++--
interfaces/_nostr_relay_common.Logger.html | 4 ++--
...elay_event_repository_sqlite.Database.html | 4 ++--
modules/_nostr_relay_common.html | 2 +-
modules/_nostr_relay_core.html | 2 +-
.../_nostr_relay_event_repository_sqlite.html | 2 +-
modules/_nostr_relay_validator.html | 2 +-
..._relay_common.BeforeHandleEventResult.html | 2 +-
...str_relay_common.ClientContextOptions.html | 2 +-
.../_nostr_relay_common.ClientReadyState.html | 2 +-
types/_nostr_relay_common.EventId.html | 2 +-
types/_nostr_relay_common.EventKind.html | 2 +-
types/_nostr_relay_common.EventType.html | 2 +-
..._relay_common.HandleAuthMessageResult.html | 2 +-
...relay_common.HandleCloseMessageResult.html | 2 +-
...relay_common.HandleEventMessageResult.html | 2 +-
..._nostr_relay_common.HandleEventResult.html | 2 +-
...ostr_relay_common.HandleMessageResult.html | 2 +-
...r_relay_common.HandleReqMessageResult.html | 2 +-
...ostr_relay_common.IncomingAuthMessage.html | 2 +-
...str_relay_common.IncomingCloseMessage.html | 2 +-
...str_relay_common.IncomingEventMessage.html | 2 +-
.../_nostr_relay_common.IncomingMessage.html | 2 +-
...nostr_relay_common.IncomingReqMessage.html | 2 +-
types/_nostr_relay_common.KeysOfUnion.html | 2 +-
types/_nostr_relay_common.LogLevel.html | 2 +-
types/_nostr_relay_common.MessageType.html | 2 +-
..._nostr_relay_common.NostrRelayOptions.html | 2 +-
.../_nostr_relay_common.NostrRelayPlugin.html | 2 +-
...ostr_relay_common.OutgoingAuthMessage.html | 2 +-
...tr_relay_common.OutgoingClosedMessage.html | 2 +-
...ostr_relay_common.OutgoingEoseMessage.html | 2 +-
...str_relay_common.OutgoingEventMessage.html | 2 +-
.../_nostr_relay_common.OutgoingMessage.html | 2 +-
...tr_relay_common.OutgoingNoticeMessage.html | 2 +-
..._nostr_relay_common.OutgoingOkMessage.html | 2 +-
types/_nostr_relay_common.Pubkey.html | 2 +-
types/_nostr_relay_common.Signature.html | 2 +-
types/_nostr_relay_common.SubscriptionId.html | 2 +-
types/_nostr_relay_common.Tag.html | 2 +-
types/_nostr_relay_common.TagName.html | 2 +-
...y_sqlite.EventRepositorySqliteOptions.html | 2 +-
types/_nostr_relay_validator.RawData.html | 2 +-
...ay_validator.RequiredValidatorOptions.html | 2 +-
...ostr_relay_validator.ValidatorOptions.html | 2 +-
...nostr_relay_common.ClientReadyState-1.html | 2 +-
.../_nostr_relay_common.EventKind-1.html | 2 +-
.../_nostr_relay_common.EventType-1.html | 2 +-
variables/_nostr_relay_common.LogLevel-1.html | 2 +-
.../_nostr_relay_common.MessageType-1.html | 2 +-
variables/_nostr_relay_common.TagName-1.html | 2 +-
83 files changed, 136 insertions(+), 134 deletions(-)
diff --git a/assets/search.js b/assets/search.js
index 4c9029ff..97306251 100644
--- a/assets/search.js
+++ b/assets/search.js
@@ -1 +1 @@
-window.searchData = "data:application/octet-stream;base64,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";
\ No newline at end of file
+window.searchData = "data:application/octet-stream;base64,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";
\ No newline at end of file
diff --git a/classes/_nostr_relay_common.BaseError.html b/classes/_nostr_relay_common.BaseError.html
index 38db8723..f60e3724 100644
--- a/classes/_nostr_relay_common.BaseError.html
+++ b/classes/_nostr_relay_common.BaseError.html
@@ -1,4 +1,4 @@
-BaseError | nostr-relay IndexConstructors constructor
+
BaseError | nostr-relay IndexProperties message
name
stack?
diff --git a/classes/_nostr_relay_common.ClientContext.html b/classes/_nostr_relay_common.ClientContext.html
index aa99eb34..663a84cb 100644
--- a/classes/_nostr_relay_common.ClientContext.html
+++ b/classes/_nostr_relay_common.ClientContext.html
@@ -1,7 +1,8 @@
ClientContext | nostr-relay Index Constructors Propertiespubkey pubkey : undefined | string
Readonly
subscriptions subscriptions : LRUCache < string , Filter [] , unknown > Accessorsis Open get isOpen( ) : boolean Returns boolean Methodssend Message send Message ( message ) : void Propertiespubkey pubkey : undefined | string
Readonly
subscriptions subscriptions : LRUCache < string , Filter [] , unknown > Accessorsis Open get isOpen( ) : boolean Returns boolean Methodssend Message send Message ( message ) : void Returns void
+
Returns void
diff --git a/classes/_nostr_relay_common.ConsoleLoggerService.html b/classes/_nostr_relay_common.ConsoleLoggerService.html
index 15a63c58..2954b056 100644
--- a/classes/_nostr_relay_common.ConsoleLoggerService.html
+++ b/classes/_nostr_relay_common.ConsoleLoggerService.html
@@ -1,7 +1,7 @@
-
ConsoleLoggerService | nostr-relay Class ConsoleLoggerService IndexConstructors constructor
+
ConsoleLoggerService | nostr-relay Class ConsoleLoggerService Constructors Methodsdebug debug ( ... args ) : void Returns void error error ( ... args ) : void Returns void info info ( ... args ) : void Returns void set Log Level set Log Level ( level ) : void Returns void warn warn ( ... args ) : void Returns void
+
Constructors Methodsdebug debug ( ... args ) : void Returns void error error ( ... args ) : void Returns void info info ( ... args ) : void Returns void set Log Level set Log Level ( level ) : void Returns void warn warn ( ... args ) : void Returns void
diff --git a/classes/_nostr_relay_common.EventRepository.html b/classes/_nostr_relay_common.EventRepository.html
index aca5cccd..3f931414 100644
--- a/classes/_nostr_relay_common.EventRepository.html
+++ b/classes/_nostr_relay_common.EventRepository.html
@@ -1,7 +1,7 @@
EventRepository | nostr-relay Class EventRepositoryAbstract
Index Constructors MethodsAbstract
destroy destroy ( ) : Promise < void > Returns Promise < void > Abstract
find find ( filter ) : Event [] | Promise < Event [] > | Observable < Event > Returns Promise < void > find$ find$ ( filter ) : Observable < Event > Returns Event [] | Promise < Event [] > | Observable < Event > find$ find$ ( filter ) : Observable < Event > Returns Observable < Event > find One find One ( filter ) : Promise < null | Event > Returns Observable < Event > find One find One ( filter ) : Promise < null | Event > Returns Promise < null | Event > Abstract
is Search Supported is Search Supported ( ) : boolean Returns boolean Returns Promise < null | Event > Abstract
is Search Supported is Search Supported ( ) : boolean Returns boolean
+
diff --git a/classes/_nostr_relay_common.EventUtils.html b/classes/_nostr_relay_common.EventUtils.html
index fc6f14a4..ad2b58b4 100644
--- a/classes/_nostr_relay_common.EventUtils.html
+++ b/classes/_nostr_relay_common.EventUtils.html
@@ -1,4 +1,4 @@
-EventUtils | nostr-relay IndexConstructors constructor
+
EventUtils | nostr-relay Constructors MethodsStatic
check Permission check Permission ( event , pubkey ? ) : boolean Parameters event : Event Optional
pubkey : string Returns boolean Static
extract Delegation Tag extract Delegation Tag ( event ) : undefined | Tag Returns undefined | Tag Static
extractDTag Value extractDTag Value ( event ) : null | string Returns null | string Static
extract Expiration Timestamp extract Expiration Timestamp ( event ) : null | number Returns null | number Static
get Author get Author ( event , needValidateDelegationEvent ? ) : string Parameters event : Event needValidateDelegationEvent : boolean = true Returns string Static
is Delegation Event Valid is Delegation Event Valid ( event ) : boolean Returns boolean Static
is Id Valid is Id Valid ( event ) : boolean Returns boolean Static
is Matching Filter is Matching Filter ( event , filter ) : boolean Returns boolean Static
is Signed Event Valid is Signed Event Valid ( event , clientId , domain ) : string | void Parameters event : Event clientId : string domain : string Returns string | void Static
is Sig Valid is Sig Valid ( event ) : boolean Returns boolean Static
validate validate ( event , options ? ) : undefined | string Parameters event : Event options : { createdAtLowerLimit ?: number ; createdAtUpperLimit ?: number ; minPowDifficulty ?: number ; } = {} Optional
created At Lower Limit ?: number Optional
created At Upper Limit ?: number Optional
min Pow Difficulty ?: number Returns undefined | string
+
Constructors MethodsStatic
check Permission check Permission ( event , pubkey ? ) : boolean Parameters event : Event Optional
pubkey : string Returns boolean Static
extract Delegation Tag extract Delegation Tag ( event ) : undefined | Tag Returns undefined | Tag Static
extractDTag Value extractDTag Value ( event ) : null | string Returns null | string Static
extract Expiration Timestamp extract Expiration Timestamp ( event ) : null | number Returns null | number Static
get Author get Author ( event , needValidateDelegationEvent ? ) : string Parameters event : Event needValidateDelegationEvent : boolean = true Returns string Static
is Delegation Event Valid is Delegation Event Valid ( event ) : boolean Returns boolean Static
is Id Valid is Id Valid ( event ) : boolean Returns boolean Static
is Matching Filter is Matching Filter ( event , filter ) : boolean Returns boolean Static
is Signed Event Valid is Signed Event Valid ( event , clientId , domain ) : string | void Parameters event : Event clientId : string domain : string Returns string | void Static
is Sig Valid is Sig Valid ( event ) : boolean Returns boolean Static
validate validate ( event , options ? ) : undefined | string Parameters event : Event options : { createdAtLowerLimit ?: number ; createdAtUpperLimit ?: number ; minPowDifficulty ?: number ; } = {} Optional
created At Lower Limit ?: number Optional
created At Upper Limit ?: number Optional
min Pow Difficulty ?: number Returns undefined | string
diff --git a/classes/_nostr_relay_common.FilterUtils.html b/classes/_nostr_relay_common.FilterUtils.html
index f9be2878..8aeef5c1 100644
--- a/classes/_nostr_relay_common.FilterUtils.html
+++ b/classes/_nostr_relay_common.FilterUtils.html
@@ -1,3 +1,3 @@
-FilterUtils | nostr-relay IndexConstructors constructor
+
FilterUtils | nostr-relay Constructors MethodsStatic
has Encrypted Direct Message Kind has Encrypted Direct Message Kind ( filter ) : boolean Returns boolean
+
Constructors MethodsStatic
has Encrypted Direct Message Kind has Encrypted Direct Message Kind ( filter ) : boolean Returns boolean
diff --git a/classes/_nostr_relay_common.InternalError.html b/classes/_nostr_relay_common.InternalError.html
index daa99278..0066a90d 100644
--- a/classes/_nostr_relay_common.InternalError.html
+++ b/classes/_nostr_relay_common.InternalError.html
@@ -1,4 +1,4 @@
-InternalError | nostr-relay IndexConstructors constructor
+
InternalError | nostr-relay IndexProperties message
name
stack?
diff --git a/classes/_nostr_relay_common.UnauthenticatedError.html b/classes/_nostr_relay_common.UnauthenticatedError.html
index 2fc4f432..41ef4c7e 100644
--- a/classes/_nostr_relay_common.UnauthenticatedError.html
+++ b/classes/_nostr_relay_common.UnauthenticatedError.html
@@ -1,11 +1,11 @@
-
UnauthenticatedError | nostr-relay Class UnauthenticatedError IndexConstructors constructor
+
UnauthenticatedError | nostr-relay Class UnauthenticatedError Constructorsconstructor new Unauthenticated Error ( message ? ) : UnauthenticatedError Parameters message : string = 'Unauthorized access' PropertiesOptional
stack stack ?: string
Static
Optional
prepare Stack Trace prepare Stack Trace ?: ( ( err : Error , stackTraces : CallSite [] ) => any )
Constructorsconstructor new Unauthenticated Error ( message ? ) : UnauthenticatedError Parameters message : string = 'Unauthorized access' PropertiesOptional
stack stack ?: string
Static
Optional
prepare Stack Trace prepare Stack Trace ?: ( ( err : Error , stackTraces : CallSite [] ) => any )
Static
stack Trace Limit stack Trace Limit : number
MethodsStatic
capture Stack Trace capture Stack Trace ( targetObject , constructorOpt ? ) : void Parameters targetObject : object Optional
constructorOpt : Function Returns void
diff --git a/classes/_nostr_relay_core.NostrRelay.html b/classes/_nostr_relay_core.NostrRelay.html
index 71b028f5..cb20c22e 100644
--- a/classes/_nostr_relay_core.NostrRelay.html
+++ b/classes/_nostr_relay_core.NostrRelay.html
@@ -1,4 +1,4 @@
-NostrRelay | nostr-relay IndexConstructors constructor
+
NostrRelay | nostr-relay Constructorsconstructor new Nostr Relay ( eventRepository , options ? ) : NostrRelay Methodsbroadcast broadcast ( event ) : Promise < void > Methodsbroadcast broadcast ( event ) : Promise < void > Returns Promise < void > Returns Promise < void > destroy destroy ( ) : Promise < void > Returns Promise < void > find Events find Events ( filters , pubkey ? , iteratee ? ) : Promise < Event [] > Returns Promise < void > find Events find Events ( filters , pubkey ? , iteratee ? ) : Promise < Event [] > Parameters filters : Filter [] Optional
pubkey : string Optional
iteratee : ( ( event : Event ) => void ) ( event ) : void Returns void Returns Promise < Event [] > handle Connection handle Connection ( client ) : void ( event ) : void Returns void Returns Promise < Event [] > handle Connection handle Connection ( client ) : void Returns void handle Disconnect handle Disconnect ( client ) : void Returns void handle Disconnect handle Disconnect ( client ) : void Returns void Returns void is Authorized is Authorized ( client ) : boolean is Authorized is Authorized ( client ) : boolean Returns boolean Returns boolean
+
diff --git a/classes/_nostr_relay_event_repository_sqlite.EventRepositorySqlite.html b/classes/_nostr_relay_event_repository_sqlite.EventRepositorySqlite.html
index b35e8f67..1d5fcf5e 100644
--- a/classes/_nostr_relay_event_repository_sqlite.EventRepositorySqlite.html
+++ b/classes/_nostr_relay_event_repository_sqlite.EventRepositorySqlite.html
@@ -1,7 +1,7 @@
EventRepositorySqlite | nostr-relay Class EventRepositorySqlite Constructors Methodsdestroy destroy ( ) : Promise < void > Returns Promise < void > find find ( filter ) : Promise < Event [] > Returns Promise < void > find find ( filter ) : Promise < Event [] > Returns Promise < Event [] > find$ find$ ( filter ) : Observable < Event > Returns Promise < Event [] > find$ find$ ( filter ) : Observable < Event > Returns Observable < Event > find One find One ( filter ) : Promise < null | Event > Returns Promise < null | Event > get Database get Database ( ) : Database Returns Database get Default Limit get Default Limit ( ) : number Returns number is Search Supported is Search Supported ( ) : boolean Returns boolean set Default Limit set Default Limit ( limit ) : void Returns void Returns Promise < null | Event > get Database get Database ( ) : Database Returns Database get Default Limit get Default Limit ( ) : number Returns number is Search Supported is Search Supported ( ) : boolean Returns boolean set Default Limit set Default Limit ( limit ) : void Returns void
+
diff --git a/classes/_nostr_relay_validator.Validator.html b/classes/_nostr_relay_validator.Validator.html
index 3c74ff76..c158d268 100644
--- a/classes/_nostr_relay_validator.Validator.html
+++ b/classes/_nostr_relay_validator.Validator.html
@@ -1,5 +1,5 @@
Validator | nostr-relay Index Constructors Methodsvalidate Event validate Event ( data ) : Promise < Event > Methodsvalidate Event validate Event ( data ) : Promise < Event > Returns Promise < Event > validate Filter validate Filter ( data ) : Promise < Filter > Returns Promise < Event > validate Filter validate Filter ( data ) : Promise < Filter > Returns Promise < Filter > validate Filters validate Filters ( data ) : Promise < Filter [] > Returns Promise < Filter > validate Filters validate Filters ( data ) : Promise < Filter [] > Returns Promise < Filter [] > validate Incoming Message Returns Promise < Filter [] >
+
diff --git a/functions/_nostr_relay_common.countPowDifficulty.html b/functions/_nostr_relay_common.countPowDifficulty.html
index 5b24f4ae..014884d6 100644
--- a/functions/_nostr_relay_common.countPowDifficulty.html
+++ b/functions/_nostr_relay_common.countPowDifficulty.html
@@ -1 +1 @@
-countPowDifficulty | nostr-relay Function countPowDifficulty count Pow Difficulty ( hexStr ) : number Returns number
+countPowDifficulty | nostr-relay Function countPowDifficulty count Pow Difficulty ( hexStr ) : number Returns number
diff --git a/functions/_nostr_relay_common.createOutgoingAuthMessage.html b/functions/_nostr_relay_common.createOutgoingAuthMessage.html
index 29cd3c2c..903e6bb3 100644
--- a/functions/_nostr_relay_common.createOutgoingAuthMessage.html
+++ b/functions/_nostr_relay_common.createOutgoingAuthMessage.html
@@ -1,4 +1,4 @@
createOutgoingAuthMessage | nostr-relay Function createOutgoingAuthMessage
+
diff --git a/functions/_nostr_relay_common.createOutgoingClosedMessage.html b/functions/_nostr_relay_common.createOutgoingClosedMessage.html
index 52da355a..080a98a6 100644
--- a/functions/_nostr_relay_common.createOutgoingClosedMessage.html
+++ b/functions/_nostr_relay_common.createOutgoingClosedMessage.html
@@ -2,4 +2,4 @@
More info: https://github.com/nostr-protocol/nips/blob/master/01.md
Parameters subscriptionId : string message : string = ''
Client context.
-