mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-04 18:00:08 +00:00
change: ids to use bigint instead of string (#892)
* p1 of bigints change * shtuff fixes and bits * Commit from GitHub Actions (Lint) * finish bigint structs * typings fixes * Commit from GitHub Actions (Lint) * more fixes * Commit from GitHub Actions (Lint) * more fixes * Commit from GitHub Actions (Lint) * blame wolf * Commit from GitHub Actions (Lint) * foxed * Commit from GitHub Actions (Lint) * fix unit tests * Commit from GitHub Actions (Lint) * change: guildUpdate guild ID can't change * delete server has been renamed to delete guild * fixes Co-authored-by: Skillz4Killz <Skillz4Killz@users.noreply.github.com> Co-authored-by: ITOH <72305210+itohatweb@users.noreply.github.com>
This commit is contained in:
39
src/util/loop_object.ts
Normal file
39
src/util/loop_object.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { eventHandlers } from "../bot.ts";
|
||||
|
||||
export function loopObject(
|
||||
obj: Record<string, unknown>,
|
||||
handler: (value: unknown, key: string) => unknown,
|
||||
log: string,
|
||||
) {
|
||||
let res: Record<string, unknown> | unknown[] = {};
|
||||
|
||||
if (Array.isArray(obj)) {
|
||||
res = [];
|
||||
|
||||
for (const o of obj) {
|
||||
if (
|
||||
typeof o === "object" && !Array.isArray(o) && o !== null
|
||||
) {
|
||||
// A nested object
|
||||
res.push(loopObject(o as Record<string, unknown>, handler, log));
|
||||
} else {
|
||||
res.push(handler(o, "array"));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
eventHandlers.debug?.("loop", log);
|
||||
|
||||
if (
|
||||
typeof value === "object" && !Array.isArray(value) && value !== null
|
||||
) {
|
||||
// A nested object
|
||||
res[key] = loopObject(value as Record<string, unknown>, handler, log);
|
||||
} else {
|
||||
res[key] = handler(value, key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
Reference in New Issue
Block a user