From 6439a6c63fb603c9137e5f7f7b65168db7d98cb0 Mon Sep 17 00:00:00 2001 From: "Acid Chicken (硫酸鶏)" Date: Thu, 31 Jan 2019 17:52:17 +0900 Subject: Create type definition for 'webfinger.js' (#4054) --- src/@types/webfinger.js.d.ts | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/@types/webfinger.js.d.ts (limited to 'src/@types') diff --git a/src/@types/webfinger.js.d.ts b/src/@types/webfinger.js.d.ts new file mode 100644 index 0000000000..9783a14cba --- /dev/null +++ b/src/@types/webfinger.js.d.ts @@ -0,0 +1,65 @@ +declare module 'webfinger.js' { + interface IWebFingerConstructorConfig { + tls_only?: boolean; + webfist_fallback?: boolean; + uri_fallback?: boolean; + request_timeout?: number; + } + + type JRDProperties = { [type: string]: string }; + + interface IJRDLink { + rel: string; + type?: string; + href?: string; + template?: string; + titles?: { [lang: string]: string }; + properties?: JRDProperties; + } + + interface IJRD { + subject?: string; + expires?: Date; + aliases?: string[]; + properties?: JRDProperties; + links?: IJRDLink[]; + } + + interface IIDXLinks { + 'avatar': IJRDLink[]; + 'remotestorage': IJRDLink[]; + 'blog': IJRDLink[]; + 'vcard': IJRDLink[]; + 'updates': IJRDLink[]; + 'share': IJRDLink[]; + 'profile': IJRDLink[]; + 'webfist': IJRDLink[]; + 'camlistore': IJRDLink[]; + [type: string]: IJRDLink[]; + } + + interface IIDXProperties { + 'name': string; + [type: string]: string; + } + + interface IIDX { + links: IIDXLinks; + properties: IIDXProperties; + } + + interface ILookupCallbackResult { + object: IJRD; + json: string; + idx: IIDX; + } + + type LookupCallback = (err: Error | string, result?: ILookupCallbackResult) => void; + + export class WebFinger { + constructor(config?: IWebFingerConstructorConfig); + + public lookup(address: string, cb: LookupCallback): NodeJS.Timeout; + public lookupLink(address: string, rel: string, cb: IJRDLink): void; + } +} -- cgit v1.2.3-freya