Dart SDK - Edge functions#

Sandboxed JavaScript/TypeScript functions executed server-side.

Create, deploy, invoke#

final fn = await db.functions.create(
  name: 'hello',
  runtime: 'javascript', // or 'typescript'
  code: 'export default (req) => ({ body: { hello: req.body?.name ?? "world" } });',
);

await db.functions.list();
await db.functions.get(fnId);
await db.functions.update(fnId, code: '...');

// Deploy, then invoke
await db.functions.deploy(fnId);
final result = await db.functions.invoke(
  fnId,
  method: 'POST',
  path: '/greet',
  headers: {'x-custom': 'value'},
  body: '{"name":"Asha"}',
);
// result.data => the function's response

await db.functions.remove(fnId);
DART

Next: Payments.