Skip to content

Commit 31cb885

Browse files
authored
Replace chained endpoint API with unified createEndpointHandler (#574)
--------- Signed-off-by: Nik Nasr <[email protected]>
1 parent f29ca9d commit 31cb885

File tree

22 files changed

+346
-49
lines changed

22 files changed

+346
-49
lines changed

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ const greeter = restate.service({
2323
},
2424
});
2525

26-
restate.endpoint()
27-
.bind(greeter)
28-
.listen(9080);
26+
restate.serve({ services: [greeter], port: 9080 });
2927
```
3028

3129
## Community

packages/restate-sdk-cloudflare-workers/patches/fetch.js

Lines changed: 37 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/restate-sdk-examples/src/greeter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
1010
*/
1111

12-
import { service, endpoint, type Context } from "@restatedev/restate-sdk";
12+
import { service, serve, type Context } from "@restatedev/restate-sdk";
1313

1414
const greeter = service({
1515
name: "greeter",
@@ -22,4 +22,4 @@ const greeter = service({
2222

2323
export type Greeter = typeof greeter;
2424

25-
endpoint().bind(greeter).listen();
25+
serve({ services: [greeter] });

packages/restate-sdk-examples/src/greeter_with_options.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import {
1313
service,
14-
endpoint,
14+
serve,
1515
handlers,
1616
TerminalError,
1717
type Context,
@@ -49,10 +49,10 @@ const greeter = service({
4949

5050
export type Greeter = typeof greeter;
5151

52-
endpoint()
53-
.bind(greeter)
54-
.defaultServiceOptions({
52+
serve({
53+
services: [greeter],
54+
defaultServiceOptions: {
5555
// You can configure default service options that will be applied to every service.
5656
journalRetention: { days: 10 },
57-
})
58-
.listen();
57+
},
58+
});

packages/restate-sdk-examples/src/object.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,4 @@ export const counter = restate.object({
5959

6060
export type Counter = typeof counter;
6161

62-
restate.endpoint().bind(counter).listen();
62+
restate.serve({ services: [counter] });

packages/restate-sdk-examples/src/workflow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,4 @@ const payment = restate.workflow({
120120

121121
export type PaymentWorkflow = typeof payment;
122122

123-
restate.endpoint().bind(payment).listen();
123+
restate.serve({ services: [payment] });

packages/restate-sdk-examples/src/zod_greeter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ const greeter = restate.service({
3434

3535
export type Greeter = typeof greeter;
3636

37-
restate.endpoint().bind(greeter).listen();
37+
restate.serve({ services: [greeter] });

packages/restate-sdk-examples/test/hello.test.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import * as restate from "@restatedev/restate-sdk";
1313
import { describe, it } from "vitest";
1414

1515
describe("HelloGreeter", () => {
16-
it("Demonstrates how to write a simple services", () => {
16+
it("Demonstrates how we used to write a simple services", () => {
1717
const myservice = restate.service({
1818
name: "myservice",
1919
handlers: {
@@ -24,6 +24,22 @@ describe("HelloGreeter", () => {
2424
});
2525

2626
restate.endpoint().bind(myservice);
27+
28+
//---> .listen();
29+
});
30+
31+
it("Demonstrates how to write a simple services", () => {
32+
const myservice = restate.service({
33+
name: "myservice",
34+
handlers: {
35+
greet: async (ctx: restate.Context) => {
36+
return await ctx.run("greet", () => "hi there!");
37+
},
38+
},
39+
});
40+
41+
restate.createEndpointHandler({ services: [myservice] });
42+
2743
//---> .listen();
2844
});
2945
});

packages/restate-sdk-examples/test/testcontainers.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ describe("ExampleObject", () => {
2626

2727
// Deploy Restate and the Service endpoint once for all the tests in this suite
2828
beforeAll(async () => {
29-
restateTestEnvironment = await RestateTestEnvironment.start(
30-
(restateServer) => restateServer.bind(counter)
31-
);
29+
restateTestEnvironment = await RestateTestEnvironment.start({
30+
services: [counter],
31+
});
3232
rs = clients.connect({ url: restateTestEnvironment.baseUrl() });
3333
}, 20_000);
3434

@@ -127,7 +127,7 @@ describe("Custom testcontainer config", () => {
127127
// Deploy Restate and the Service endpoint once for all the tests in this suite
128128
beforeAll(async () => {
129129
restateTestEnvironment = await RestateTestEnvironment.start(
130-
(restateServer) => restateServer.bind(counter),
130+
{ services: [counter] },
131131
() =>
132132
new RestateContainer()
133133
.withEnvironment({ RESTATE_LOG_FORMAT: "json" })

packages/restate-sdk-testcontainers/src/public_api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,5 @@ export type {
3232
WorkflowOptions,
3333
TerminalError,
3434
RestateError,
35+
EndpointOptions,
3536
} from "@restatedev/restate-sdk";

0 commit comments

Comments
 (0)