mirror of https://codeberg.org/pzp/pzp-db.git
add semantic type MsgID in lib/index.js
This commit is contained in:
parent
31ec544522
commit
39d48ac416
33
lib/index.js
33
lib/index.js
|
@ -22,6 +22,7 @@ const { decrypt } = require('./encryption')
|
|||
* @typedef {import('ppppp-keypair').Keypair} Keypair
|
||||
* @typedef {import('ppppp-keypair').KeypairPublicSlice} KeypairPublicSlice
|
||||
* @typedef {import('ppppp-keypair').KeypairPrivateSlice} KeypairPrivateSlice
|
||||
* @typedef {string} MsgID
|
||||
* @typedef {import('./msg-v3').Msg} Msg
|
||||
* @typedef {import('./msg-v3').AccountData} AccountData
|
||||
* @typedef {import('./msg-v3').AccountPower} AccountPower
|
||||
|
@ -44,7 +45,7 @@ const { decrypt } = require('./encryption')
|
|||
* }} RecDeleted
|
||||
*
|
||||
* @typedef {{
|
||||
* id: string;
|
||||
* id: MsgID;
|
||||
* msg: Msg;
|
||||
* received: number;
|
||||
* misc: {
|
||||
|
@ -70,7 +71,7 @@ const { decrypt } = require('./encryption')
|
|||
|
||||
class DBTangle extends MsgV3.Tangle {
|
||||
/**
|
||||
* @param {string} rootID
|
||||
* @param {MsgID} rootID
|
||||
* @param {Iterable<Rec>} recordsIter
|
||||
*/
|
||||
constructor(rootID, recordsIter) {
|
||||
|
@ -90,8 +91,8 @@ class DBTangle extends MsgV3.Tangle {
|
|||
*
|
||||
* *Erasables* are msgs that precede `msgsIDs` and can be erased without
|
||||
* losing a validation path toward the root.
|
||||
* @param {Array<string>} msgIDs
|
||||
* @returns {{ deletables: Set<string>, erasables: Set<string> }}
|
||||
* @param {Array<MsgID>} msgIDs
|
||||
* @returns {{ deletables: Set<MsgID>, erasables: Set<MsgID> }}
|
||||
*/
|
||||
getDeletablesAndErasables(...msgIDs) {
|
||||
// Determine erasables
|
||||
|
@ -204,7 +205,7 @@ function initDB(peer, config) {
|
|||
})
|
||||
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {MsgID} id
|
||||
* @param {Msg} msg
|
||||
* @param {CB<RecPresent>} cb
|
||||
*/
|
||||
|
@ -264,10 +265,10 @@ function initDB(peer, config) {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {Array<string>} tangleIDs
|
||||
* @param {Array<MsgID>} tangleIDs
|
||||
*/
|
||||
function populateTangles(tangleIDs) {
|
||||
/** @type {Record<string, DBTangle>} */
|
||||
/** @type {Record<MsgID, DBTangle>} */
|
||||
const tangles = {}
|
||||
for (const tangleID of tangleIDs) {
|
||||
tangles[tangleID] ??= new DBTangle(tangleID, records())
|
||||
|
@ -332,7 +333,7 @@ function initDB(peer, config) {
|
|||
* locally known.
|
||||
*
|
||||
* @param {Pick<RecPresent, 'id' | 'msg'>} rec
|
||||
* @param {string} tangleID
|
||||
* @param {MsgID} tangleID
|
||||
* @returns {Error | null}
|
||||
*/
|
||||
function verifyRec(rec, tangleID) {
|
||||
|
@ -387,7 +388,7 @@ function initDB(peer, config) {
|
|||
|
||||
/**
|
||||
* @param {Msg} msg
|
||||
* @param {string} tangleID
|
||||
* @param {MsgID} tangleID
|
||||
* @param {CB<RecPresent>} cb
|
||||
*/
|
||||
function add(msg, tangleID, cb) {
|
||||
|
@ -438,7 +439,7 @@ function initDB(peer, config) {
|
|||
|
||||
/**
|
||||
* @param {{ keypair?: Keypair; account: string; domain: string; }} opts
|
||||
* @param {CB<string>} cb
|
||||
* @param {CB<MsgID>} cb
|
||||
*/
|
||||
function initializeFeed(opts, cb) {
|
||||
const keypair = opts.keypair ?? config.keypair
|
||||
|
@ -777,7 +778,7 @@ function initDB(peer, config) {
|
|||
* data: any;
|
||||
* domain: string;
|
||||
* account: string;
|
||||
* tangles?: Array<string>;
|
||||
* tangles?: Array<MsgID>;
|
||||
* }} opts
|
||||
* @param {CB<RecPresent>} cb
|
||||
*/
|
||||
|
@ -890,7 +891,7 @@ function initDB(peer, config) {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {string} msgID
|
||||
* @param {MsgID} msgID
|
||||
* @returns {RecPresent | null}
|
||||
*/
|
||||
function getRecord(msgID) {
|
||||
|
@ -907,14 +908,14 @@ function initDB(peer, config) {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {string} msgID
|
||||
* @param {MsgID} msgID
|
||||
*/
|
||||
function get(msgID) {
|
||||
return getRecord(msgID)?.msg
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} msgID
|
||||
* @param {MsgID} msgID
|
||||
* @param {CB<void>} cb
|
||||
*/
|
||||
function del(msgID, cb) {
|
||||
|
@ -929,7 +930,7 @@ function initDB(peer, config) {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {string} msgID
|
||||
* @param {MsgID} msgID
|
||||
* @param {CB<void>} cb
|
||||
*/
|
||||
function erase(msgID, cb) {
|
||||
|
@ -943,7 +944,7 @@ function initDB(peer, config) {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {string} tangleID
|
||||
* @param {MsgID} tangleID
|
||||
* @returns {DBTangle}
|
||||
*/
|
||||
function getTangle(tangleID) {
|
||||
|
|
Loading…
Reference in New Issue