const entrypoint = {
foo: Effect.magicallyProxify(
Effect.promise(() => import("./foo.js"))
.pipe(Effect.map(mod => mod.default))
))
};
// foo.js
export default class Foo extends Effect.Service<Foo>()("Foo", {
accessors: true,
effect: Effect.succeed({
bar: () => "baz"
})
}) {}
// usage.js
expect(yield* entrypoint.foo.bar()).to.eq("bar");
const entrypoint = {
foo: Effect.magicallyProxify(
Effect.promise(() => import("./foo.js"))
.pipe(Effect.map(mod => mod.default))
))
};
// foo.js
export default class Foo extends Effect.Service<Foo>()("Foo", {
accessors: true,
effect: Effect.succeed({
bar: () => "baz"
})
}) {}
// usage.js
expect(yield* entrypoint.foo.bar()).to.eq("bar");