Documentation
    Preparing search index...
    • Define a Restate service.

      Type Parameters

      • P extends string
      • M

      Parameters

      • service: {
            description?: string;
            handlers: ServiceOpts<M> & ThisType<M>;
            metadata?: Record<string, string>;
            name: P;
            options?: ServiceOptions;
        }

      Returns ServiceDefinition<P, M>

      const greeter = service({
      name: "greeter",
      handlers: {
      greet: async (ctx: Context, name: string) => {
      return `Hello ${name}`;
      }
      }
      });

      To use the service, you can bind it to an endpoint:

      ...
      endpoint.bind(greeter)
      export type Greeter = typeof greeter;
      ...
      ...
      import type { Greeter } from "./greeter";
      const client = ctx.serviceClient<Greeter>({ name : "greeter"});
      client.greet("World").then(console.log);
      import type {Greeter} from "./greeter";
      const Greeter: Greeter = { name : "greeter"};

      // now you can reference the service like this:
      const client = ctx.serviceClient(Greeter);