export class PrismaService extends Effect.Service<PrismaService>()("Prisma", {
succeed: new Proxy(
{
foo: "bar",
},
{
get: function (_target, model) {
console.log("proxying " + model.toString());
return new Proxy(
{},
{
get(_target, method) {
return (...args: any[]) =>
Effect.tryPromise(() =>
(prisma as any)[model][method](...args),
);
},
},
);
},
},
) as EffectPrisma,
}) {}
export class PrismaService extends Effect.Service<PrismaService>()("Prisma", {
succeed: new Proxy(
{
foo: "bar",
},
{
get: function (_target, model) {
console.log("proxying " + model.toString());
return new Proxy(
{},
{
get(_target, method) {
return (...args: any[]) =>
Effect.tryPromise(() =>
(prisma as any)[model][method](...args),
);
},
},
);
},
},
) as EffectPrisma,
}) {}