feat: Sync to OSS repo

This commit is contained in:
Wanjohi
2026-08-06 22:13:51 +03:00
parent 46d2a56180
commit 3faac3008f
144 changed files with 27561 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import { AsyncLocalStorage } from 'node:async_hooks';
import { ErrorCodes, VisibleError } from './error.js';
export namespace Context {
export class NotFound extends VisibleError {
constructor() {
super(
'internal',
ErrorCodes.Server.INTERNAL_ERROR,
'No context available - actor-dependent code was called outside of Actor.with()'
);
}
}
export function create<T>() {
const storage = new AsyncLocalStorage<T>();
return {
use() {
const result = storage.getStore();
if (!result) {
throw new NotFound();
}
return result;
},
provide<R>(value: T, fn: () => R) {
return storage.run<R>(value, fn);
}
};
}
}