Files
space-stream/spacetimedb/src/index.ts
2026-04-13 00:32:23 -07:00

35 lines
827 B
TypeScript

import { schema, table, t } from "spacetimedb/server";
const spacetimedb = schema({
person: table(
{ public: true },
{
name: t.string(),
},
),
});
export default spacetimedb;
export const init = spacetimedb.init((_ctx) => {
// Called when the module is initially published
});
export const onConnect = spacetimedb.clientConnected((_ctx) => {
// Called every time a new client connects
});
export const onDisconnect = spacetimedb.clientDisconnected((_ctx) => {
// Called every time a client disconnects
});
export const add = spacetimedb.reducer({ name: t.string() }, (ctx, { name }) => {
ctx.db.person.insert({ name });
});
export const sayHello = spacetimedb.reducer((ctx) => {
for (const person of ctx.db.person.iter()) {
console.info(`Hello, ${person.name}!`);
}
console.info("Hello, World!");
});