From e30747945c826305f1f1e993a49fef1691a89280 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Fri, 8 Sep 2023 06:58:44 -0400 Subject: [PATCH] refactor: remove function version of cid api --- src/cid.ts | 145 ----------------------------------------------------- 1 file changed, 145 deletions(-) delete mode 100644 src/cid.ts diff --git a/src/cid.ts b/src/cid.ts deleted file mode 100644 index 0df8c91..0000000 --- a/src/cid.ts +++ /dev/null @@ -1,145 +0,0 @@ -import { ErrTuple } from "#types.js"; -import type { CID } from "@lumeweb/libportal"; -import { - decodeCid as decodeCidPortal, - encodeCid as encodeCidPortal, -} from "@lumeweb/libportal"; -import { addContextToErr } from "#err.js"; -import { CID_HASH_TYPES, CID_TYPES, REGISTRY_TYPES } from "@lumeweb/libs5"; -import { concatBytes } from "@noble/hashes/utils"; - -export function encodeCid( - hash: Uint8Array, - size: bigint, - type?: number, - hashType?: number, - raw?: boolean, -): ErrTuple; -export function encodeCid( - hash: string, - size: bigint, - type?: number, - hashType?: number, - raw?: boolean, -): ErrTuple; -export function encodeCid( - hash: CID, - size?: bigint, - type?: number, - hashType?: number, - raw?: boolean, -): ErrTuple; -export function encodeCid( - hash: any, - size?: bigint, - type?: number, - hashType?: number, - raw: boolean = false, -): ErrTuple { - if (typeof hash !== "string" && !(hash instanceof Uint8Array)) { - size = hash.size; - type = type ?? hash.type; - hashType = hashType ?? hash.hashType; - hash = hash.hash; - } - try { - return [encodeCidPortal(hash, size, type, hashType, raw), null]; - } catch (e) { - return ["", addContextToErr(e as Error, "failed to encode cid")]; - } -} - -export function decodeCid(cid: string | Uint8Array): ErrTuple { - try { - return [decodeCidPortal(cid), null]; - } catch (e) { - return [null, addContextToErr(e as Error, "failed to decode cid")]; - } -} - -export function verifyCid(cid: string): boolean { - try { - decodeCidPortal(cid); - return true; - } catch (e) { - return false; - } -} - -export function encodeRegistryCid( - hash: Uint8Array, - size?: bigint, - type?: number, - hashType?: number, - raw?: boolean, -): ErrTuple; -export function encodeRegistryCid( - hash: string, - size?: bigint, - type?: number, - hashType?: number, - raw?: boolean, -): ErrTuple; -export function encodeRegistryCid( - hash: any, - size = BigInt(0), - type = CID_TYPES.RESOLVER, - hashType = CID_HASH_TYPES.ED25519, - raw: boolean = false, -): ErrTuple { - if (hash instanceof Uint8Array) { - if (Object.values(CID_HASH_TYPES).includes(hash[0])) { - hash = hash.slice(1); - } - } - - return encodeCid(hash, size, type, hashType, raw); -} - -export function encodeRegistryValue( - cid: CID | string, - type: number = REGISTRY_TYPES.CID, - hashType = CID_HASH_TYPES.BLAKE3, -): ErrTuple { - if (typeof cid === "string") { - let err; - [cid, err] = decodeCid(cid); - - if (err) { - return [new Uint8Array(), err]; - } - } - - const [ret, err] = encodeCid(cid.hash, cid.size, cid.type, hashType, true); - - if (err) { - return [new Uint8Array(), err]; - } - - return [concatBytes(Uint8Array.from([type]), ret as Uint8Array), null]; -} - -export function decodeRegistryValue(hash: Uint8Array): ErrTuple { - if (!Object.values(REGISTRY_TYPES).includes(hash[0])) { - return [null, "invalid registry type"]; - } - - hash = hash.slice(1); - - return decodeCid(hash); -} - -export function decodeRegistryCid(cid: string | Uint8Array): ErrTuple { - const [ret, err] = decodeCid(cid); - if (err) { - return [null, err]; - } - - if (ret.type !== CID_TYPES.RESOLVER) { - return [null, "not a valid registry cid"]; - } - - return [ret, null]; -} - -export type { CID } from "@lumeweb/libportal";