message: feat(schema): integer from string
diff: @@ -4,7 +4,10 @@ import * as Chunk from "@effect-ts/core/Collections/Immutable/Chunk"
  import { pipe } from "@effect-ts/core/Function"
  import * as S from "../_schema"
  +import * as Constructor from "../Constructor"
  +import * as Th from "../These"
  import { number } from "./number"
  +import { string } from "./string"
  export interface IntBrand {
  readonly Int: unique symbol
  @@ -38,3 +41,22 @@ export const int: S.Schema<
  S.mapApi(() => ({})),
  S.identified(intIdentifier, {})
  )
  +
  +const parseStringInt = (s: string) => {
  + const parsed = Number.parseInt(s)
  + if (Number.isNaN(parsed)) {
  + return Th.fail(S.leafE(S.parseNumberE(s)))
  + }
  + return Th.succeed(parsed as Int)
  +}
  +
  +export const stringIntIdentifier = Symbol.for("@effect-ts/schema/ids/stringInt")
  +
  +export const stringInt = pipe(
  + string,
  + S.compose(pipe(int, S.parser(parseStringInt), S.constructor(parseStringInt))),
  + S.constructor(Constructor.for(int)),
  + S.encoder((_) => `${_}`),
  + S.mapApi(() => ({})),
  + S.identified(stringIntIdentifier, {})
  +)
  