diff --git a/DBREADME.md b/DBREADME.md new file mode 100644 index 0000000..95580c6 --- /dev/null +++ b/DBREADME.md @@ -0,0 +1,37 @@ +Browser-Network Database + +核心类和功能 +Db 类 (index.ts) +Db 类是 Browser-Network Database 的核心,负责状态管理、网络通信和本地存储。 + +构造函数:初始化数据库实例,接收网络实例、密钥和应用ID。 +set 方法:将状态包装后存储到本地,并广播到网络,以便其他用户可以接收到状态更新。 +get 方法:从本地存储中检索指定地址的状态。 +getAll 方法:获取所有本地存储的状态,返回一个包含所有状态的数组。 +onChange 方法:添加一个监听器,用于在状态更新时通知应用程序。 +clear 方法:清除所有本地存储的数据,重置数据库到初始状态。 +deny 方法:阻止特定地址的状态更新,防止其状态被数据库处理或转发。 +undeny 方法:取消对特定地址的阻止,允许其状态更新被数据库处理。 +allow 方法:将特定地址添加到允许列表,只有列表中的地址的状态更新才会被接受。 +unallow 方法:从允许列表中移除地址,停止接受其状态更新。 +消息处理:处理网络中接收到的状态更新、状态请求和状态提供消息。 +广播:定期广播本地存储的状态摘要,并在状态更新时广播更新。 +LocalDB 类 (LocalDB.ts) +LocalDB 类负责管理数据库的本地存储。 + +构造函数:接收应用ID,并初始化本地存储。 +set 方法:将包装后的状态存储到本地。 +get 方法:从本地存储中获取指定地址的状态。 +getAll 方法:获取所有本地存储的状态。 +remove 方法:从本地存储中删除指定地址的状态。 +clear 方法:清除所有本地存储的状态。 +buildKey 方法:构建用于本地存储的键名。 +类型定义 (types.d.ts) +定义了数据库中使用的基本类型,包括十六进制字符串、时间戳、全局唯一标识符、公钥和私钥等。 + +工具函数 (util.ts) +提供了一系列辅助函数,用于调试和处理 Promise。 + +debugFactory:创建一个根据日志级别输出日志的调试函数。 +isPromise:检查一个对象是否是 Promise。 +exhaustive:用于处理所有可能的情况,如果到达这个函数,抛出错误。 \ No newline at end of file