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

Method provideBy

src/effected.ts:1158–1167  ·  view source on GitHub ↗

* Provide a value for a dependency effect with a getter. * @param name The name of the dependency. * @param getter The getter to provide for the dependency. * @returns

(
    name: Name,
    getter: ExtractEffect<E> extends infer E extends Effect ?
      E extends Effect.Dependency<Name, infer R> ?
        () => R | Generator<F, R, unknown> | Effected<F, R>
      : never
    : never,
  )

Source from the content-addressed store, hash-verified

1156 * @returns
1157 */
1158 provideBy<Name extends DependencyName<ExtractEffect<E>>, F extends Effect = never>(
1159 name: Name,
1160 getter: ExtractEffect<E> extends infer E extends Effect ?
1161 E extends Effect.Dependency<Name, infer R> ?
1162 () => R | Generator<F, R, unknown> | Effected<F, R>
1163 : never
1164 : never,
1165 ): Effected<ExcludeEffect<E, Effect.Dependency<Name>> | F, R> {
1166 return this.resume(`dependency:${name}`, getter as never) as never;
1167 }
1168
1169 /**
1170 * Apply a handler to the effected program.

Callers

nothing calls this directly

Calls 1

resumeMethod · 0.95

Tested by

no test coverage detected