Skip to content

Commit bb18cfe

Browse files
update sdk docs
1 parent 392f2a8 commit bb18cfe

File tree

1 file changed

+58
-1
lines changed

1 file changed

+58
-1
lines changed

docs/docs/00200-core-concepts/00600-client-sdk-languages/00400-sdk-api.md

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Subscriptions replicate a subset of the database to your client, maintaining a l
2424

2525
### Creating Subscriptions
2626

27-
Subscribe to tables or queries using SQL:
27+
Subscribe to tables or queries using raw SQL:
2828

2929
<Tabs groupId="client-language" queryString>
3030
<TabItem value="typescript" label="TypeScript">
@@ -110,6 +110,63 @@ void OnSubscriptionError(const FErrorContext& Ctx)
110110
</TabItem>
111111
</Tabs>
112112
113+
Or use the query builder:
114+
115+
<Tabs groupId="client-language" queryString>
116+
<TabItem value="typescript" label="TypeScript">
117+
118+
```typescript
119+
import { queries } from './module_bindings';
120+
121+
// Subscribe with callbacks
122+
conn
123+
.subscriptionBuilder()
124+
.onApplied(ctx => {
125+
console.log(`Subscription ready with ${ctx.db.User.count()} users`);
126+
})
127+
.onError((ctx, error) => {
128+
console.error(`Subscription failed: ${error}`);
129+
})
130+
.subscribe([queries.user.build()]);
131+
```
132+
133+
</TabItem>
134+
<TabItem value="csharp" label="C#">
135+
136+
```csharp
137+
// Subscribe with callbacks
138+
conn.SubscriptionBuilder()
139+
.OnApplied(ctx =>
140+
{
141+
Console.WriteLine($"Subscription ready with {ctx.Db.User.Count()} users");
142+
})
143+
.OnError((ctx, error) =>
144+
{
145+
Console.WriteLine($"Subscription failed: {error}");
146+
})
147+
.AddQuery(ctx => ctx.From.User().Build())
148+
.Subscribe();
149+
```
150+
151+
</TabItem>
152+
<TabItem value="rust" label="Rust">
153+
154+
```rust
155+
// Subscribe with callbacks
156+
conn.subscription_builder()
157+
.on_applied(|ctx| {
158+
println!("Subscription ready with {} users", ctx.db().user().count());
159+
})
160+
.on_error(|ctx, error| {
161+
eprintln!("Subscription failed: {}", error);
162+
})
163+
.add_query(|ctx| ctx.from.user().build())
164+
.subscribe();
165+
```
166+
167+
</TabItem>
168+
</Tabs>
169+
113170
See the [Subscriptions documentation](/subscriptions) for detailed information on subscription queries and semantics. Subscribe to [tables](/tables) for row data, or to [views](/functions/views) for computed query results.
114171

115172
### Querying the Local Cache

0 commit comments

Comments
 (0)