From cf207f95531e84c9c30f5d38e137384af16451a9 Mon Sep 17 00:00:00 2001 From: Andre Staltz Date: Thu, 14 Sep 2023 12:59:43 +0300 Subject: [PATCH] use msg generic --- lib/index.js | 26 +++++++++++++------------- package.json | 2 +- protospec.md | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/index.js b/lib/index.js index 64cdb2f..5e32cfa 100644 --- a/lib/index.js +++ b/lib/index.js @@ -3,7 +3,6 @@ const MsgV3 = require('ppppp-db/msg-v3') const PREFIX = 'record_v1__' /** - * @typedef {import('ppppp-db').Msg} Msg * @typedef {ReturnType} PPPPPDB * @typedef {import('ppppp-db').RecPresent} RecPresent * @typedef {{ @@ -15,12 +14,18 @@ const PREFIX = 'record_v1__' * ) => void * ) => void * }} ClosableHook - */ - -/** * @typedef {string} Subdomain * @typedef {string} MsgID * @typedef {`${Subdomain}.${string}`} SubdomainField + * @typedef {{ + * update: Record, + * supersedes: Array, + * }} RecordData + */ + +/** + * @template [T = any] + * @typedef {import('ppppp-db/msg-v3').Msg} Msg */ /** @@ -63,10 +68,7 @@ module.exports = { manifest: {}, /** - * @param {{ - * db: PPPPPDB | null, - * close: ClosableHook, - * }} peer + * @param {{ db: PPPPPDB | null, close: ClosableHook }} peer * @param {any} config */ init(peer, config) { @@ -74,8 +76,8 @@ module.exports = { //#region state let accountID = /** @type {string | null} */ (null) - let cancelOnRecordAdded = /** @type {CallableFunction | null} */ (null) let loadPromise = /** @type {Promise | null} */ (null) + let cancelOnRecordAdded = /** @type {CallableFunction | null} */ (null) const tangles = /** @type {Map} */ (new Map()) const fieldRoots = { @@ -165,7 +167,7 @@ module.exports = { /** * @private * @param {Msg | null | undefined} msg - * @returns {msg is Msg} + * @returns {msg is Msg} */ function isValidRecordMsg(msg) { if (!msg) return false @@ -194,7 +196,7 @@ module.exports = { /** * @private * @param {string} msgID - * @param {Msg} msg + * @param {Msg} msg */ function learnRecordUpdate(msgID, msg) { const { account, domain } = msg.metadata @@ -241,7 +243,6 @@ module.exports = { /** * @private * @param {CB} cb - * @returns */ function loaded(cb) { if (cb === void 0) return loadPromise @@ -302,7 +303,6 @@ module.exports = { //#endregion //#region public methods - /** * @param {string} id * @param {CB} cb diff --git a/package.json b/package.json index 2df030b..7d983a7 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "devDependencies": { "bs58": "^5.0.0", "c8": "7", - "ppppp-db": "file:../db", + "ppppp-db": "github:staltz/ppppp-db", "ppppp-caps": "github:staltz/ppppp-caps", "ppppp-keypair": "github:staltz/ppppp-keypair", "rimraf": "^4.4.0", diff --git a/protospec.md b/protospec.md index 3b68bfb..a761689 100644 --- a/protospec.md +++ b/protospec.md @@ -30,7 +30,7 @@ Reducing the tangle above in a topological sort allows you to build a record `msg.data` format: ```typescript -interface MsgContent { +interface MsgData { update: Record, supersedes: Array, }