From b398fdca6a229cbd31c2a0c8d36b8d92b503f3e2 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Thu, 21 Aug 2025 12:58:41 -0700 Subject: [PATCH] Refactor db names as readonly getters. --- src/lib/account.ts | 3 +++ src/lib/rolodex.ts | 16 ++++++++-------- src/lib/wallet/index.ts | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/lib/account.ts b/src/lib/account.ts index bddbafa..345ead0 100644 --- a/src/lib/account.ts +++ b/src/lib/account.ts @@ -15,6 +15,9 @@ import { Rpc } from './rpc' * be fetched from the network. */ export class Account { + [key: string]: any + static get DB_NAME (): 'Account' { return 'Account' } + static #isInternal: boolean = false #address: string diff --git a/src/lib/rolodex.ts b/src/lib/rolodex.ts index 9be2e64..a3ce833 100644 --- a/src/lib/rolodex.ts +++ b/src/lib/rolodex.ts @@ -11,7 +11,7 @@ import { verify } from './tools' * saved under one nickname. */ export class Rolodex { - static #DB_NAME = 'Rolodex' + static get DB_NAME (): 'Rolodex' { return 'Rolodex' } /** * Adds an address to the rolodex under a specific nickname. * @@ -72,7 +72,7 @@ export class Rolodex { id: name, addresses } - const results = await Database.put(data, Rolodex.#DB_NAME) + const results = await Database.put(data, Rolodex.DB_NAME) if (results.length !== Object.keys(data).length) { throw new Error('Unexpected results from adding address', { cause: results }) } @@ -100,11 +100,11 @@ export class Rolodex { addresses } } - const isUpdated = await Database.put(data, Rolodex.#DB_NAME) + const isUpdated = await Database.put(data, Rolodex.DB_NAME) if (!isUpdated) { throw new Error('failed to remove address from existing name') } - const isDeleted = await Database.delete(address, Rolodex.#DB_NAME) + const isDeleted = await Database.delete(address, Rolodex.DB_NAME) return isDeleted } @@ -117,7 +117,7 @@ export class Rolodex { static async deleteName (name: string): Promise { const records = await this.getAddresses(name) records.push(name) - return await Database.delete(records, Rolodex.#DB_NAME) + return await Database.delete(records, Rolodex.DB_NAME) } /** @@ -128,7 +128,7 @@ export class Rolodex { */ static async getAddresses (name: string): Promise { try { - const records = await Database.get>(name, Rolodex.#DB_NAME) + const records = await Database.get>(name, Rolodex.DB_NAME) const record = records[name] return record?.addresses ? record.addresses.sort() @@ -146,7 +146,7 @@ export class Rolodex { */ static async getAllNames (): Promise { try { - const records = await Database.getAll(Rolodex.#DB_NAME) + const records = await Database.getAll(Rolodex.DB_NAME) return Object.keys(records).filter(v => v.slice(0, 5) !== 'nano_') } catch (err) { console.error(err) @@ -162,7 +162,7 @@ export class Rolodex { */ static async getName (address: string): Promise { try { - const records = await Database.get>(address, Rolodex.#DB_NAME) + const records = await Database.get>(address, Rolodex.DB_NAME) const record = records[address] return record?.name ?? null } catch (err) { diff --git a/src/lib/wallet/index.ts b/src/lib/wallet/index.ts index c72aaf2..12b23e4 100644 --- a/src/lib/wallet/index.ts +++ b/src/lib/wallet/index.ts @@ -28,7 +28,7 @@ import { _verify } from './verify' * three types of wallets are supported: BIP-44, BLAKE2b, and Ledger. */ export class Wallet { - static DB_NAME = 'Wallet' + static get DB_NAME (): 'Wallet' { return 'Wallet' } /** * Retrieves all encrypted wallets from the database. -- 2.47.3