From ebafda5407f80d888efb4bd44e1eecda21e26ed4 Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Tue, 25 Feb 2025 16:33:52 +0100 Subject: [PATCH] Update with comments from review --- packages/lib/src/database.ts | 14 ++++++-------- plugins/subspace_storage/controller.ts | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/lib/src/database.ts b/packages/lib/src/database.ts index a0237773..41f41d0c 100644 --- a/packages/lib/src/database.ts +++ b/packages/lib/src/database.ts @@ -9,6 +9,7 @@ import fs from "fs-extra"; import * as libFileOps from "./file_ops"; import { basicType } from "./helpers"; +export type ItemCountWithQuality = { [quality: string]: number }; /** * Converts a Map with only string keys to a JavaScript object. @@ -169,7 +170,7 @@ function checkQuality(quality: unknown): asserts quality is string { * deserialized the content is verified. */ export class ItemDatabase { - private _items: Map = new Map(); + private _items: Map = new Map(); /** * Create a new item database @@ -206,10 +207,10 @@ export class ItemDatabase { * @returns Serialized representation of the database */ serialize() { - let obj: Record = {}; + let obj: Record = {}; for (let [name, qualities] of this._items) { - for (const quality in qualities) { - if (Object.prototype.hasOwnProperty.call(qualities, quality) && qualities[quality] !== 0) { + for (const quality of Object.getOwnPropertyNames(qualities)) { + if (qualities[quality] !== 0) { if (!obj[name]) { obj[name] = {}; } @@ -288,9 +289,6 @@ export class ItemDatabase { * @param quality - The quality of the item to remove. */ removeItem(name: string, count: number, quality: string) { - checkName(name); - checkCount(count); - this.addItem(name, -count, quality); }; @@ -298,7 +296,7 @@ export class ItemDatabase { * Allow to iterate through the items. * @returns array of items. */ - getEntries(): IterableIterator<[string, { [quality: string]: number }]> { + getEntries(): IterableIterator<[string, ItemCountWithQuality]> { return this._items.entries(); } } diff --git a/plugins/subspace_storage/controller.ts b/plugins/subspace_storage/controller.ts index 958e7094..3b8efdd1 100644 --- a/plugins/subspace_storage/controller.ts +++ b/plugins/subspace_storage/controller.ts @@ -73,7 +73,7 @@ async function saveDatabase( export class ControllerPlugin extends BaseControllerPlugin { items!: lib.ItemDatabase; itemUpdateRateLimiter!: lib.RateLimiter; - itemsLastUpdate: Map = new Map(); + itemsLastUpdate: Map = new Map(); subscribedControlLinks!: Set; doleMagicId!: ReturnType; neuralDole!: dole.NeuralDole;