Confusion About Creating Service: Comparing Two Code Snippets
Hey guys I am still confuse about creating service. is those 2 code snippet result in same thing ?
or is it different. if it is different which one should I use when creating service
or is it different. if it is different which one should I use when creating service
const getUserByApplicationId = Effect.fn("getUserByApplicationId")(function* (
applicationId: string,
) {
{
const db = yield* DatabaseService;
// rest of code
}
});
export class UserRepository extends Effect.Service<UserRepository>()(
"service/auth/modules/users/user.repository",
{
succeed: {
getUserByApplicationId,
},
dependencies: [DatabaseLive],
},
) {}const getUserByApplicationId = Effect.fn("getUserByApplicationId")(function* (
applicationId: string,
) {
{
const db = yield* DatabaseService;
// rest of code
}
});
export class UserRepository extends Effect.Service<UserRepository>()(
"service/auth/modules/users/user.repository",
{
succeed: {
getUserByApplicationId,
},
dependencies: [DatabaseLive],
},
) {}export class UserRepository extends Effect.Service<UserRepository>()(
"service/auth/modules/users/user.repository",
{
effect: Effect.gen(function* () {
const db = yield* DatabaseService;
const getUserByApplicationId = Effect.fn("getUserByApplicationId")(
function* (applicationId: string) {
{
// rest of code
}
},
);
return { getUserByApplicationId };
}),
dependencies: [DatabaseLive],
},
) {}export class UserRepository extends Effect.Service<UserRepository>()(
"service/auth/modules/users/user.repository",
{
effect: Effect.gen(function* () {
const db = yield* DatabaseService;
const getUserByApplicationId = Effect.fn("getUserByApplicationId")(
function* (applicationId: string) {
{
// rest of code
}
},
);
return { getUserByApplicationId };
}),
dependencies: [DatabaseLive],
},
) {}