restate-for-dummies
Version:
Type-safe Restate SDK wrapper with simplified API
15 lines • 836 B
TypeScript
import type { ServiceDefinition } from "@restatedev/restate-sdk";
import * as restate from "@restatedev/restate-sdk";
import type { BaseClientMethods, TransformServiceHandler, TypedRun } from "./common-types";
export type ServiceHandlerContext = {
ctx: restate.Context;
runStep: TypedRun;
} & BaseClientMethods;
type TransformHandlers<THandlers> = {
[K in keyof THandlers]: TransformServiceHandler<ServiceHandlerContext, THandlers[K]>;
};
export declare function createRestateService(name: string, SerdeClass: new <T>() => restate.Serde<T>): <THandlers extends {
[key: string]: (context: ServiceHandlerContext, ...args: any[]) => Promise<any>;
}>(handlers: THandlers) => ServiceDefinition<string, TransformHandlers<THandlers>>;
export { createRestateService as typedService };
//# sourceMappingURL=typed-service.d.ts.map