import * as B from '@effect/data/Brand';import * as P from '@effect/data/Predicate';import * as E from '@effect/data/Either';type PositiveNumber = number & B.Brand<'PositiveNumber'>;const PositiveNumber = Brand_refined<PositiveNumber>([ Either_fromPredicate( (num) => num > 0, constant(B.error(`number must be positive`)), ),]);E.gen(function* ($) { const positive1 = yield* $(PositiveNumber(1));});
import * as B from '@effect/data/Brand';import * as P from '@effect/data/Predicate';import * as E from '@effect/data/Either';type PositiveNumber = number & B.Brand<'PositiveNumber'>;const PositiveNumber = Brand_refined<PositiveNumber>([ Either_fromPredicate( (num) => num > 0, constant(B.error(`number must be positive`)), ),]);E.gen(function* ($) { const positive1 = yield* $(PositiveNumber(1));});