diff --git a/dist/index.d.ts b/dist/index.d.ts index df21177..62fa7f9 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,4 +1,3 @@ export * from "./rpc.js"; export * from "./plugin.js"; -export * from "./files.js"; //# sourceMappingURL=index.d.ts.map diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 76cb7d8..b9db183 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"} \ No newline at end of file diff --git a/dist/plugin.d.ts b/dist/plugin.d.ts index c241a3b..b53d957 100644 --- a/dist/plugin.d.ts +++ b/dist/plugin.d.ts @@ -1,62 +1,41 @@ -/// -import Config from "@lumeweb/cfg"; -import tls from "tls"; -import { Logger } from "loglevel"; +import type { EventEmitter2 } from "eventemitter2"; import { RPCMethod, RPCServer } from "./rpc.js"; -import { IndependentFileSmall, SavedSslData, SslData } from "./files.js"; -import type { express } from "express"; -import type { Err } from "libskynet"; +import { Logger } from "pino"; +import SSLManager from "./ssl.js"; +import type { HDKey } from "micro-ed25519-hdkey"; +import Config from "./config.js"; export type PluginFunction = (api: PluginAPI) => Promise; -export type DnsProvider = (ipAddress: string, domain: string) => Promise; -export type OverwriteDataFn = (newData: Uint8Array) => Promise; -export type ReadDataFn = () => Promise<[Uint8Array, Err]>; export interface Plugin { name: string; plugin: PluginFunction; exports?: any; default?: Plugin; } -export interface PluginAPI { - config: Config; - registerMethod: (methodName: string, method: RPCMethod) => void; - loadPlugin: (moduleName: string) => Promise; - getRpcServer: () => RPCServer; - ssl: { - setContext: (context: tls.SecureContext) => void; - getContext: () => tls.SecureContext; - getSaved: (retry: boolean) => Promise; - set: ( - cert: IndependentFileSmall | Uint8Array, - key: IndependentFileSmall | Uint8Array - ) => void; - get: () => SslData; - save: () => Promise; - setCheck(checker: () => Promise): void; - }; - appRouter: { - get: () => express.Router; - set: (newRouter: express.Router) => void; - reset: () => void; - }; - files: { - createIndependentFileSmall( - seed: Uint8Array, - userInode: string, - fileData: Uint8Array - ): Promise<[IndependentFileSmall, Err]>; - openIndependentFileSmall( - seed: Uint8Array, - userInode: string - ): Promise<[IndependentFileSmall, Err]>; - overwriteIndependentFileSmall( - file: IndependentFileSmall, - newData: Uint8Array - ): Promise; - }; - dns: { - setProvider(provider: DnsProvider): void; - }; - logger: Logger; - getSeed: () => Uint8Array; +declare class PluginAPI extends EventEmitter2 { + private _server; + constructor({ + config, + logger, + server, + swarm, + }: { + config: Config; + logger: Logger; + server: RPCServer; + swarm: any; + }); + private _swarm; + get swarm(): any; + private _config; + get config(): Config; + private _logger; + get logger(): Logger; + get rpcServer(): RPCServer; + get seed(): Uint8Array; + get identity(): HDKey; + get ssl(): SSLManager; + loadPlugin(moduleName: string): (moduleName: string) => Promise; + registerMethod(methodName: string, method: RPCMethod): void; } +export {}; //# sourceMappingURL=plugin.d.ts.map diff --git a/dist/plugin.d.ts.map b/dist/plugin.d.ts.map index df34e61..f66e7b6 100644 --- a/dist/plugin.d.ts.map +++ b/dist/plugin.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/D,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,OAAO,SAAU,SAAQ,aAAa;IAC3C,OAAO,CAAC,OAAO,CAAC;gBACJ,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,SAAS,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC;KACZ;IACD,OAAO,CAAC,MAAM,CAAC;IACf,IAAI,KAAK,IAAI,GAAG,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC;IAChB,IAAI,MAAM,IAAI,MAAM,CAAC;IACrB,OAAO,CAAC,OAAO,CAAC;IAChB,IAAI,MAAM,IAAI,MAAM,CAAC;IACrB,IAAI,SAAS,IAAI,SAAS,CAAC;IAC3B,IAAI,IAAI,IAAI,UAAU,CAAC;IACvB,IAAI,QAAQ,IAAI,KAAK,CAAC;IACtB,IAAI,GAAG,IAAI,UAAU,CAAC;IACtB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IACvE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI;CAC5D"} \ No newline at end of file