import * as S from "@effect/schema/Schema";
export type RequiredJsonPrimitive = string | number | boolean;
export const RequiredJsonPrimitive = S.union(S.string, S.number, S.boolean);
export type RequiredJsonArray =
| RequiredJsonValue[]
| readonly RequiredJsonValue[];
export type RequiredJsonObject = { [Key in string]: RequiredJsonValue };
export type RequiredJsonValue =
| RequiredJsonPrimitive
| RequiredJsonObject
| RequiredJsonArray;
export const RequiredJsonValue: S.Schema<RequiredJsonValue> = S.union(
RequiredJsonPrimitive,
S.array(S.suspend(() => RequiredJsonValue)),
S.record(
S.string,
S.suspend(() => RequiredJsonValue),
),
);
export const RequiredJsonArray = S.array(S.suspend(() => RequiredJsonValue));
export const RequiredJsonObject: S.Schema<RequiredJsonObject> = S.record(
S.string,
S.suspend(() => RequiredJsonValue),
);
import * as S from "@effect/schema/Schema";
export type RequiredJsonPrimitive = string | number | boolean;
export const RequiredJsonPrimitive = S.union(S.string, S.number, S.boolean);
export type RequiredJsonArray =
| RequiredJsonValue[]
| readonly RequiredJsonValue[];
export type RequiredJsonObject = { [Key in string]: RequiredJsonValue };
export type RequiredJsonValue =
| RequiredJsonPrimitive
| RequiredJsonObject
| RequiredJsonArray;
export const RequiredJsonValue: S.Schema<RequiredJsonValue> = S.union(
RequiredJsonPrimitive,
S.array(S.suspend(() => RequiredJsonValue)),
S.record(
S.string,
S.suspend(() => RequiredJsonValue),
),
);
export const RequiredJsonArray = S.array(S.suspend(() => RequiredJsonValue));
export const RequiredJsonObject: S.Schema<RequiredJsonObject> = S.record(
S.string,
S.suspend(() => RequiredJsonValue),
);