summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathMan05 <mathmanrm@gmail.com>2025-11-25 23:49:03 -0600
committerMathMan05 <mathmanrm@gmail.com>2025-11-25 23:49:03 -0600
commit54540a8b14c463aca83430c2a8a5f8d7322a2d66 (patch)
treea5ba11641eb3338104a28149cf40393135e602dc
parentremove unused forEach (diff)
downloadserver-ts-54540a8b14c463aca83430c2a8a5f8d7322a2d66.tar.xz
Delete Object.map
-rw-r--r--src/api/routes/users/@me/settings.ts13
-rw-r--r--src/util/util/FieldError.ts6
-rw-r--r--src/util/util/extensions/Object.test.ts13
-rw-r--r--src/util/util/extensions/Object.ts25
-rw-r--r--src/util/util/extensions/index.ts3
5 files changed, 9 insertions, 51 deletions
diff --git a/src/api/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts

index beef662b..3a972424 100644 --- a/src/api/routes/users/@me/settings.ts +++ b/src/api/routes/users/@me/settings.ts
@@ -19,7 +19,7 @@ import { route } from "@spacebar/api"; import { User, UserSettings } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import { UserSettingsUpdateSchema, UserSettingsSchema } from "@spacebar/schemas" +import { UserSettingsUpdateSchema, UserSettingsSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); @@ -36,7 +36,7 @@ router.get( }, }), async (req: Request, res: Response) => { - const settings = await UserSettings.getOrDefault(req.user_id) + const settings = await UserSettings.getOrDefault(req.user_id); return res.json(settings); }, ); @@ -67,13 +67,10 @@ router.patch( relations: ["settings"], }); - if (!user.settings) - user.settings = UserSettings.create(body as UserSettingsUpdateSchema); - else - user.settings.assign(body); + if (!user.settings) user.settings = UserSettings.create<UserSettings>(body); + else user.settings.assign(body); - if (body.guild_folders) - user.settings.guild_folders = body.guild_folders; + if (body.guild_folders) user.settings.guild_folders = body.guild_folders; await user.settings.save(); await user.save(); diff --git a/src/util/util/FieldError.ts b/src/util/util/FieldError.ts
index a99a0486..83d6051c 100644 --- a/src/util/util/FieldError.ts +++ b/src/util/util/FieldError.ts
@@ -31,7 +31,7 @@ export function FieldErrors(fields: Record<string, { code?: string; message: str return new FieldError( 50035, "Invalid Form Body", - fields.map<ErrorContent, ObjectErrorContent>(({ message, code }) => ({ + Object.values(fields).map(({ message, code }) => ({ _errors: [ { message, @@ -39,7 +39,7 @@ export function FieldErrors(fields: Record<string, { code?: string; message: str }, ], })), - errors + errors, ); } @@ -51,7 +51,7 @@ export class FieldError extends Error { public code: string | number, public message: string, public errors?: object, // TODO: I don't like this typing. - public _ajvErrors?: ErrorObject[] + public _ajvErrors?: ErrorObject[], ) { super(message); } diff --git a/src/util/util/extensions/Object.test.ts b/src/util/util/extensions/Object.test.ts deleted file mode 100644
index 1bcd487e..00000000 --- a/src/util/util/extensions/Object.test.ts +++ /dev/null
@@ -1,13 +0,0 @@ -import moduleAlias from "module-alias"; -moduleAlias(); -import "./Object"; -import { describe, it } from "node:test"; -import assert from "node:assert/strict"; - -describe("Object extensions", () => { - it("map", async () => { - const obj = { a: 1, b: 2, c: 3 }; - const result = obj.map((value, key) => `${key}:${value}`); - assert.deepEqual(result, { a: "a:1", b: "b:2", c: "c:3" }); - }); -}); diff --git a/src/util/util/extensions/Object.ts b/src/util/util/extensions/Object.ts deleted file mode 100644
index 894fbba3..00000000 --- a/src/util/util/extensions/Object.ts +++ /dev/null
@@ -1,25 +0,0 @@ -declare global { - interface Object { - map<SV, TV>(callback: (value: SV, key: string, object: { [index: string]: SV }) => TV): { [index: string]: TV }; - } -} - -export function objectMap<SV, TV>(srcObj: { [index: string]: SV }, callback: (value: SV, key: string, object: { [index: string]: SV }) => TV): { [index: string]: TV } { - if (typeof callback !== "function") throw new TypeError(`${callback} is not a function`); - const obj: { [index: string]: TV } = {}; - Object.keys(srcObj).forEach((key) => { - obj[key] = callback(srcObj[key], key, srcObj); - }); - return obj; -} - -if (!Object.prototype.map) - Object.defineProperty(Object.prototype, "map", { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - value: function (cb) { - return objectMap(this, cb); - }, - enumerable: false, - writable: true, - }); diff --git a/src/util/util/extensions/index.ts b/src/util/util/extensions/index.ts
index e006591f..6d9ed8de 100644 --- a/src/util/util/extensions/index.ts +++ b/src/util/util/extensions/index.ts
@@ -1,5 +1,4 @@ export * from "./Array"; export * from "./Math"; export * from "./Url"; -export * from "./Object"; -export * from "./String"; \ No newline at end of file +export * from "./String";