npm package diff
Package: @forge/resolver
Versions: 1.6.17-next.0 - 1.7.0-next.1
File: package/out/index.d.ts
Index: package/out/index.d.ts
===================================================================
--- package/out/index.d.ts
+++ package/out/index.d.ts
@@ -1,34 +1,28 @@
-interface InvokePayload {
+import type { Context, DefArgument, DefResult, Definitions, Request } from './shared';
+export { Request };
+declare type InvokePayload<Argument> = {
call: {
functionKey: string;
- payload?: {
- [key in number | string]: any;
- };
+ payload?: Argument;
jobId?: string;
};
- context: {
- [key: string]: any;
- };
-}
-export interface Request {
- payload: {
- [key in number | string]: any;
- };
- context: InvokePayload['context'];
-}
-interface ResponseObject {
+ context: Context;
+};
+export declare type Response = {
[key: string]: any;
-}
-export declare type Response = ResponseObject | string | void;
-export declare type ResolverFunction = (request: Request) => Promise<Response> | Response;
-declare type DefinitionsHandler = (payload: InvokePayload, backendRuntimePayload?: Request['payload']) => Promise<ReturnType<ResolverFunction>>;
+} | string | void;
+export declare type ResolverFunction<Argument = any, Result = Response> = (request: Request<Argument>) => Promise<Result> | Result;
+declare type DefinitionsHandler = (payload: InvokePayload<unknown>, backendRuntimePayload?: Record<string, any>) => Promise<unknown>;
export default class Resolver {
private functions;
constructor();
- define(functionKey: string, cb: ResolverFunction): this;
+ define(functionKey: string, cb: ResolverFunction<never, unknown>): this;
private getFunction;
private sanitizeObject;
getDefinitions(): DefinitionsHandler;
}
-export {};
+export declare type Handlers<D extends Definitions> = {
+ [Def in keyof D & string]: ResolverFunction<DefArgument<D, Def>, DefResult<D, Def>>;
+};
+export declare function makeResolver<D extends Definitions>(handlers: Handlers<D>): DefinitionsHandler;
//# sourceMappingURL=index.d.ts.map
\ No newline at end of file