MCPcopy Create free account
hub / github.com/CreminiAI/skillpack / withEnv

Function withEnv

tests/runtime-config.test.ts:18–43  ·  view source on GitHub ↗
(
  overrides: Record<string, string | undefined>,
  fn: () => T,
)

Source from the content-addressed store, hash-verified

16}
17
18function withEnv<T>(
19 overrides: Record<string, string | undefined>,
20 fn: () => T,
21): T {
22 const previous = new Map<string, string | undefined>();
23 for (const [key, value] of Object.entries(overrides)) {
24 previous.set(key, process.env[key]);
25 if (value === undefined) {
26 delete process.env[key];
27 } else {
28 process.env[key] = value;
29 }
30 }
31
32 try {
33 return fn();
34 } finally {
35 for (const [key, value] of previous.entries()) {
36 if (value === undefined) {
37 delete process.env[key];
38 } else {
39 process.env[key] = value;
40 }
41 }
42 }
43}
44
45test("config manager can clear feishu adapter settings with null", () => {
46 const rootDir = createTempRootDir();

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected