| 57 | // callback runs after `super(...)`, so it can read `self.ctx` / |
| 58 | // `self.env`. |
| 59 | export class ArtifactCreator extends withWorkspace(class extends DurableObject<Env> {}, (self) => { |
| 60 | const { ctx, env } = self as unknown as { ctx: DurableObjectState; env: Env }; |
| 61 | const workerShellBackendOptions: WorkerShellBackendOptions = { |
| 62 | loader: env.LOADER as unknown as WorkerShellBackendOptions["loader"], |
| 63 | workspace: { binding: "ArtifactCreator", id: ctx.id.toString() }, |
| 64 | ctx, |
| 65 | }; |
| 66 | return { |
| 67 | storage: ctx.storage as unknown as DurableObjectStorageLike, |
| 68 | sessionId: ctx.id.toString(), |
| 69 | artifacts: { binding: env.ARTIFACTS }, |
| 70 | backends: [new WorkerShellBackend(workerShellBackendOptions)], |
| 71 | }; |
| 72 | }) {} |
| 73 | |
| 74 | export default { |
| 75 | async fetch(request: Request, env: Env): Promise<Response> { |
nothing calls this directly
no test coverage detected