MCPcopy Index your code
hub / github.com/callstack/agent-device / createScopedProvider

Function createScopedProvider

src/utils/scoped-provider.ts:9–27  ·  view source on GitHub ↗
(
  localProvider: TProvider,
  normalize: (input: TInput) => TProvider = (input) => input as unknown as TProvider,
)

Source from the content-addressed store, hash-verified

7};
8
9export function createScopedProvider<TProvider, TInput = TProvider>(
10 localProvider: TProvider,
11 normalize: (input: TInput) => TProvider = (input) => input as unknown as TProvider,
12): ScopedProvider<TProvider, TInput> {
13 const storage = new AsyncLocalStorage<TProvider>();
14
15 return {
16 resolve(input) {
17 return input ? normalize(input) : (storage.getStore() ?? localProvider);
18 },
19 async run(input, fn) {
20 if (!input) return await fn();
21 return await storage.run(normalize(input), fn);
22 },
23 hasScope() {
24 return Boolean(storage.getStore());
25 },
26 };
27}

Callers 5

app-log.tsFile · 0.90
tool-provider.tsFile · 0.90
tool-provider.tsFile · 0.90
provider.tsFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected