MCPcopy Create free account
hub / github.com/Snowflyt/tinyeffect / dependency

Function dependency

src/effected.ts:253–268  ·  view source on GitHub ↗
(...args: unknown[])

Source from the content-addressed store, hash-verified

251 >
252: never;
253export function dependency(...args: unknown[]): any {
254 if (args.length === 0) return dependency;
255 const [name, defaultFactory] = args as [name: string, defaultFactory?: () => unknown];
256 const defaultHandler =
257 defaultFactory &&
258 (({ resume }: any) => {
259 resume(defaultFactory());
260 });
261 return renameFunction(
262 effect(`dependency:${name}`, {
263 _overrideFunctionName: false,
264 ...(typeof defaultFactory === "function" ? { defaultHandler } : {}),
265 } as {}),
266 `ask${capitalize(name)}`,
267 );
268}
269
270type DependencyName<E extends Effect> =
271 E extends Effect<`dependency:${infer Name}`, []> ? Name : never;

Callers 6

effected.proof.tsFile · 0.90
effected.spec.tsFile · 0.90

Calls 4

resumeFunction · 0.85
renameFunctionFunction · 0.85
effectFunction · 0.85
capitalizeFunction · 0.85

Tested by

no test coverage detected