import { configure, Actor } from 'solid-objects' import { sqlite } from 'solid-objects/database/sqlite' class Counter extends Actor { static override readonly actorType = 'Counter' count = 0 increment(): number { this.count += 1 return this.count } } const runtime = configure({ database: sqlite({ path: './counter.sqlite3' }), authorizeMessage: () => true, authorizeQuery: () => true, }) runtime.register(Counter) await runtime.install() const controller = new AbortController() const running = runtime.run(controller.signal) const counter = Counter.ref('global') const results = await Promise.all([ counter.increment(), counter.increment(), counter.increment(), counter.increment(), counter.increment(), ]) console.log( 'results:', results.sort((a, b) => a - b) ) console.log('count: ', await counter.count) controller.abort() await running await runtime.close()