import { Schema, Option } from "effect"
const BooleanFromOption = Schema.transform(Schema.Option(Schema.String), Schema.Boolean, {
decode: (fromA) => {
console.log("fromAAAAAAAAAAAAAAAAAAAAAAAAA", fromA)
return Option.match(fromA, {
onNone: () => false,
onSome: () => true
})
},
encode: (toB) => {
console.log("toB", toB)
return Option.some(toB.valueOf() as any)
}
})
const result = Schema.decodeUnknownSync(BooleanFromOption)(Option.some("bla"))
console.log(result)
import { Schema, Option } from "effect"
const BooleanFromOption = Schema.transform(Schema.Option(Schema.String), Schema.Boolean, {
decode: (fromA) => {
console.log("fromAAAAAAAAAAAAAAAAAAAAAAAAA", fromA)
return Option.match(fromA, {
onNone: () => false,
onSome: () => true
})
},
encode: (toB) => {
console.log("toB", toB)
return Option.some(toB.valueOf() as any)
}
})
const result = Schema.decodeUnknownSync(BooleanFromOption)(Option.some("bla"))
console.log(result)