const make = <Name extends String, SchemaType extends S.Schema.Any>(collectionName: Name, schema: SchemaType) =>
T.gen(function* () {
return {
create: (dto: S.Schema.Type<SchemaType>) => pipe(
T.tryPromise({
try: async () => Promise.resolve({
...dto,
username: 'jonh doe of ' + collectionName
}),
catch: () => console.log('something went wrong')
}),
S.decode(schema)
)
}
})
const make = <Name extends String, SchemaType extends S.Schema.Any>(collectionName: Name, schema: SchemaType) =>
T.gen(function* () {
return {
create: (dto: S.Schema.Type<SchemaType>) => pipe(
T.tryPromise({
try: async () => Promise.resolve({
...dto,
username: 'jonh doe of ' + collectionName
}),
catch: () => console.log('something went wrong')
}),
S.decode(schema)
)
}
})