import * as S from "effect/Schema"; import * as SchemaAST from "effect/SchemaAST"; import { type Simplify } from "effect/Struct"; import type * as Tracer from "effect/Tracer"; import type { RequiredKeys } from "effect/Types"; import type { NonEmptyReadonlyArray } from "./Array.js"; import { Email as EmailT, type Email as EmailType } from "./Schema/email.js"; import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js"; import { type AST } from "./Schema/schema.js"; import { type StructuralCopyOrigin } from "./utils.js"; /** * Attach a default value used **only** when constructing a value (e.g. via * `.make(...)` or struct constructors) and the field is omitted from input. * * **Not applied during decode.** Decoding a payload that is missing the * field will still raise a parse error. Do **not** rely on this to migrate * database fields just-in-time — see the section header above. * * @see {@link withDecodingDefault} / {@link withDecodingDefaultType} — * decode-time variants (discouraged for persisted data; use explicit, * versioned migrations instead). */ export { withConstructorDefault } from "effect/Schema"; /** * Attach a default value used during decode when the field's `Encoded` value * is missing **or** `undefined`. The default is specified as an `Encoded` * value and threaded through the schema's decode step. * * **Discouraged for persisted data.** A missing field in a stored record is * just as likely to be data corruption as it is an old-shape document; * silently substituting a default hides the problem. Prefer an explicit, * preferably versioned migration of database data — see the section header * above. * * @see {@link withDecodingDefaultKey} — key-absent-only variant * @see {@link withDecodingDefaultType} — `Type`-side variant * @see {@link withConstructorDefault} — for `.make(...)`-time defaults */ export { withDecodingDefault } from "effect/Schema"; /** * Attach a default value used during decode when the field **key is absent** * (note: not when present and `undefined`). The default is an `Encoded` * value. * * **Discouraged for persisted data** — same reasoning as * {@link withDecodingDefault}. Use explicit, preferably versioned migrations * over decode-time fallbacks. * * @see {@link withDecodingDefault} — value-absent-or-undefined variant * @see {@link withDecodingDefaultTypeKey} — `Type`-side variant * @see {@link withConstructorDefault} — for `.make(...)`-time defaults */ export { withDecodingDefaultKey } from "effect/Schema"; /** * Attach a default value used during decode when the field is missing **or** * `undefined`. The default is specified as a `Type` value (i.e. on the * decoded side). * * **Discouraged for persisted data** — same reasoning as * {@link withDecodingDefault}. Use explicit, preferably versioned migrations * over decode-time fallbacks. * * @see {@link withDecodingDefault} — `Encoded`-side variant * @see {@link withDecodingDefaultTypeKey} — key-absent-only variant * @see {@link withConstructorDefault} — for `.make(...)`-time defaults */ export { withDecodingDefaultType } from "effect/Schema"; /** * Attach a default value used during decode when the field **key is absent** * (note: not when present and `undefined`). The default is a `Type` value. * * **Discouraged for persisted data** — same reasoning as * {@link withDecodingDefault}. Use explicit, preferably versioned migrations * over decode-time fallbacks. * * @see {@link withDecodingDefaultKey} — `Encoded`-side variant * @see {@link withDecodingDefaultType} — value-absent-or-undefined variant * @see {@link withConstructorDefault} — for `.make(...)`-time defaults */ export { withDecodingDefaultTypeKey } from "effect/Schema"; export * from "effect/Schema"; export * from "./Schema/Class.js"; export { Class, ErrorClass, Opaque, TaggedClass, TaggedErrorClass } from "./Schema/Class.js"; export { fromBrand, nominal } from "./Schema/brand.js"; export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literals, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js"; export { Int, NonNegativeInt } from "./Schema/numbers.js"; export * from "./Schema/email.js"; export * from "./Schema/ext.js"; export * from "./Schema/moreStrings.js"; export * from "./Schema/numbers.js"; export * from "./Schema/phoneNumber.js"; export * from "./Schema/schema.js"; export * from "./Schema/SpecialJsonSchema.js"; export * from "./Schema/SpecialOpenApi.js"; export * from "./Schema/strings.js"; export { NonEmptyString } from "./Schema/strings.js"; export * as SchemaIssue from "effect/SchemaIssue"; export declare const decodeEffectConcurrently: typeof S.decodeEffect; export declare const decodeUnknownEffectConcurrently: typeof S.decodeUnknownEffect; export * as SchemaParser from "./Schema/SchemaParser.js"; export { Void as Void_ } from "effect/Schema"; export declare function Struct(fields: Fields): Struct; export interface Struct extends S.Bottom, Struct.Encoded, Struct.DecodingServices, Struct.EncodingServices, AST.Objects, Struct, Struct.MakeIn, Struct.Iso> { /** * The field definitions of this struct. Spread them into a new struct to * reuse fields across schemas. * * **Example** (Reusing fields across structs) * * ```ts * import * as Schema from "effect/Schema" * * const Timestamped = Schema.Struct({ * createdAt: Schema.Date, * updatedAt: Schema.Date * }) * * const User = Schema.Struct({ * ...Timestamped.fields, * name: Schema.String, * email: Schema.String * }) * ``` */ readonly fields: Fields; /** * Returns a new struct with the fields modified by the provided function. * * **Options** * * - `unsafePreserveChecks` - if `true`, keep any `.check(...)` constraints * that were attached to the original union. Defaults to `false`. * * **Warning**: This is an unsafe operation. Since `mapFields` * transformations change the schema type, the original refinement functions * may no longer be valid or safe to apply to the transformed schema. Only * use this option if you have verified that your refinements remain correct * after the transformation. */ mapFields(f: (fields: Fields) => To, options?: { readonly unsafePreserveChecks?: boolean | undefined; } | undefined): Struct>>; readonly copy: StructuralCopyOrigin>; } export declare namespace Struct { type Fields = S.Struct.Fields; type Type = S.Struct.Type; type Encoded = S.Struct.Encoded; type DecodingServices = S.Struct.DecodingServices; type EncodingServices = S.Struct.EncodingServices; type MakeIn = RequiredKeys> extends never ? void | S.Struct.MakeIn : S.Struct.MakeIn; type Iso = S.Struct.Iso; } export type StructNestedEncodedError = { readonly _tag: "StructNestedEncodedError"; readonly message: "Expected a Struct schema or a schema with from.Encoded"; readonly schema: T; }; export type StructNestedEncoded = T extends { fields: infer Fields extends S.Struct.Fields; } ? Struct.Encoded : T extends { readonly from: { readonly Encoded: infer Encoded; }; } ? Encoded : StructNestedEncodedError; export declare function NonEmptyArray(value: Value): S.NonEmptyArray; export declare function TaggedStruct(value: Tag, fields: Fields): TaggedStruct; export interface TaggedStruct extends Struct<{ readonly _tag: S.tag; } & Fields> { } export declare namespace TaggedStruct { type Fields = S.Struct.Fields; type Type = S.Struct.Type<{ readonly _tag: S.tag; } & F>; type Encoded = S.Struct.Encoded<{ readonly _tag: S.tag; } & F>; type DecodingServices = S.Struct.DecodingServices<{ readonly _tag: S.tag; } & F>; type EncodingServices = S.Struct.EncodingServices<{ readonly _tag: S.tag; } & F>; type MakeIn = S.Struct.MakeIn<{ readonly _tag: S.tag; } & F>; type Iso = S.Struct.Iso<{ readonly _tag: S.tag; } & F>; } export declare function Record(key: Key, value: Value): S.$Record; export declare namespace Record { type Key = S.Record.Key; type Type = S.Record.Type; type Encoded = S.Record.Encoded; } export declare const SpanId: unique symbol; export type SpanId = typeof SpanId; export interface WithOptionalSpan { [SpanId]?: Tracer.Span; } export declare const Email: import("./Schema/ext.js").WithDefaults> & S.refine; export type Email = EmailType; export declare const PhoneNumber: import("./Schema/ext.js").WithDefaults> & S.refine; export type PhoneNumber = PhoneNumberType; export declare const tags: >(self: Members) => S.Literals<{ [Index in keyof Members]: Members[Index]["Type"]["_tag"]; }>; type TaggedUnionMembers = NonEmptyReadonlyArray; type TaggedUnionTags = S.Literals<{ [Index in keyof Members]: Members[Index]["Type"]["_tag"]; }>; type TaggedPropertyKeys = { [K in keyof A & string]: A[K] extends Members[number]["Type"] ? K : never; }[keyof A & string]; type PropertyGuardsFor = { readonly [M in Members[number] as `is${M["Type"]["_tag"]}`]: (target: A) => target is A & { readonly [P in K]: M["Type"]; }; } & { readonly isAnyOf: >(tags: Tags) => (target: A) => target is A & { readonly [P in K]: Extract; }; }; type PropertyGuards = { readonly [M in Members[number] as `is${M["Type"]["_tag"]}`]: (target: T) => target is T & { readonly [P in K]: M["Type"]; }; } & { readonly isAnyOf: >(tags: Tags) => (target: T) => target is T & { readonly [P in K]: Extract; }; }; type TaggedUnionWithTags = S.toTaggedUnion<"_tag", Members> & { readonly tags: TaggedUnionTags; readonly generateGuards: (property: K) => PropertyGuards; readonly generateGuardsFor: () => >(property: K) => PropertyGuardsFor; }; export declare const ExtendTaggedUnion: (schema: S.Union) => TaggedUnionWithTags; export declare const TaggedUnion: (members: Members) => TaggedUnionWithTags; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxTQUFTLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdDLE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDNUMsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ2hELE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXZELE9BQU8sRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLEtBQUssS0FBSyxJQUFJLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTVFLE9BQU8sRUFBRSxXQUFXLElBQUksWUFBWSxFQUFFLEtBQUssV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzFHLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sRUFBaUIsS0FBSyxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQXVCckU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbkQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXREOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV2RDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE9BQU8s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