diff --git a/packages/shared/deno.jsonc b/packages/shared/deno.jsonc index c7dd9b7..b4b8d98 100644 --- a/packages/shared/deno.jsonc +++ b/packages/shared/deno.jsonc @@ -1,6 +1,6 @@ { "name": "@cistern/shared", - "version": "1.0.1", + "version": "1.0.2", "license": "MIT", "exports": { ".": "./mod.ts" diff --git a/packages/shared/produce-requirements.ts b/packages/shared/produce-requirements.ts index 7f860af..1c21c16 100644 --- a/packages/shared/produce-requirements.ts +++ b/packages/shared/produce-requirements.ts @@ -1,10 +1,15 @@ import { Client, CredentialManager } from "@atcute/client"; import { resolveMiniDoc } from "./resolve-did.ts"; import type { BaseClientOptions, ClientRequirements } from "./types.ts"; +import { isHandle } from "@atcute/lexicons/syntax"; export async function produceRequirements( options: Options, ): Promise> { + if (!isHandle(options.handle)) { + throw new Error("provided handle is not valid"); + } + const miniDoc = await resolveMiniDoc(options.handle); const manager = new CredentialManager({ service: miniDoc.pds }); const rpc = new Client({ handler: manager }); diff --git a/packages/shared/types.ts b/packages/shared/types.ts index 61544b7..3a12ddb 100644 --- a/packages/shared/types.ts +++ b/packages/shared/types.ts @@ -15,7 +15,7 @@ export interface MiniDoc { } export interface BaseClientOptions { - handle: Handle; + handle: string; appPassword: string; }