Compare commits

..

No commits in common. "5768ac93d908a99bf0c5e030891cf7d240fe5359" and "edfde535d268a259ab50c7228ee00d7b73b53c56" have entirely different histories.

2 changed files with 12 additions and 35 deletions

View File

@ -77,9 +77,6 @@ export class StolenDataEntry extends EventEmitter {
} }
static parseValue(value: unknown): string | Record<string, unknown> { static parseValue(value: unknown): string | Record<string, unknown> {
if (value === undefined) {
return "";
}
if (isJSONObject(value)) { if (isJSONObject(value)) {
const object = parseToObject(value); const object = parseToObject(value);
return object; return object;
@ -103,24 +100,18 @@ export class StolenDataEntry extends EventEmitter {
); );
} }
} }
const searchParams = Object.fromEntries( const object = {
[Symbol.for("originalURL")]: value, // so it doesn't appear raw in the table but can be easily retrieved later
host: url.host,
path: url.pathname,
...Object.fromEntries(
((url.searchParams as unknown) as { ((url.searchParams as unknown) as {
entries: () => Iterable<[string, string]>; entries: () => Iterable<[string, string]>;
}).entries() }).entries()
); ),
if (typeof hash !== "object" && Object.keys(searchParams).length === 0) {
return value; // just a string;
}
const object = {
[Symbol.for("originalString")]: value, // so it doesn't appear raw in the table but can be easily retrieved later
host: url.host,
path: url.pathname,
searchParams,
...(hash === "" ? {} : typeof hash === "string" ? { hash } : hash), ...(hash === "" ? {} : typeof hash === "string" ? { hash } : hash),
}; };
return object; return object;
} else if (value === null) {
return "null";
} else { } else {
return value.toString(); return value.toString();
} }
@ -190,21 +181,14 @@ export class StolenDataEntry extends EventEmitter {
} }
getValuePreview(key = ""): string { getValuePreview(key = ""): string {
console.log("getValuePreview", key, this.getParsedValue(key));
const value = this.getParsedValue(key); const value = this.getParsedValue(key);
const str = const str = value.toString();
typeof value === "object" && value[Symbol.for("originalString")]
? (value[Symbol.for("originalString")] as string)
: value.toString();
if (typeof value !== "object" && this.classification == "id") { if (typeof value !== "object" && this.classification == "id") {
return ( return (
str.slice(0, Math.min(str.length / 3, ID_PREVIEW_MAX_LENGTH)) + "(...)" str.slice(0, Math.min(str.length / 3, ID_PREVIEW_MAX_LENGTH)) + "(...)"
); );
} else if ( } else if (typeof value === "object" && value[Symbol.for("originalURL")]) {
typeof value === "object" && return value[Symbol.for("originalURL")] as string;
value[Symbol.for("originalString")]
) {
return value[Symbol.for("originalString")] as string;
} else { } else {
return str; return str;
} }

13
util.ts
View File

@ -74,19 +74,12 @@ export async function getTabByID(id: number) {
return tabs.find((tab) => tab.id == id); return tabs.find((tab) => tab.id == id);
} }
export function parseToObject(str: unknown): Record<string | symbol, unknown> { export function parseToObject(str: unknown): Record<string, unknown> {
let result: Record<string | symbol, unknown>;
let original_string: string;
if (typeof str === "string") { if (typeof str === "string") {
original_string = str; return JSON.parse(str);
result = JSON.parse(str);
} else if (typeof str == "object") { } else if (typeof str == "object") {
result = str as Record<string | symbol, unknown>; return str as Record<string, unknown>;
original_string =
(result[Symbol.for("originalString")] as string) || JSON.stringify(str);
} }
result[Symbol.for("originalString")] = original_string;
return result;
} }
export function isJSONObject( export function isJSONObject(