import {
StructFields,
ToStruct,
parseEither,
struct,
} from "@effect/schema/Schema";
import { Either } from "effect";
import { Simplify } from "effect/Types";
import { notFound } from "next/navigation";
export const usePageParams = <Fields extends StructFields>(
params: unknown,
fields: Fields,
): Simplify<ToStruct<Fields>> =>
parseEither(struct(fields))(params).pipe(Either.getOrElse(notFound));
import {
StructFields,
ToStruct,
parseEither,
struct,
} from "@effect/schema/Schema";
import { Either } from "effect";
import { Simplify } from "effect/Types";
import { notFound } from "next/navigation";
export const usePageParams = <Fields extends StructFields>(
params: unknown,
fields: Fields,
): Simplify<ToStruct<Fields>> =>
parseEither(struct(fields))(params).pipe(Either.getOrElse(notFound));