Schema.Struct<{
readonly sizes: Schema.Struct<{
readonly high: Schema.Number
readonly normal: Schema.Number
readonly low: Schema.Number
}>
readonly paused: Schema.Boolean
readonly inFlight: Schema.Number
readonly completed: Schema.Number
readonly phase: Schema.Literals<readonly ["running", "draining", "off"]>
}>A queue's current-state snapshot — the element of the status stream. Instantaneous
truth (what is), kept small and encodable (it crosses RPC). One snapshot a dashboard
atom / CLI --watch / TUI renders. Distinct from events (discrete facts) and metrics
(windowed aggregates).
export const const queueStatus: Schema.Struct<{
readonly sizes: Schema.Struct<{
readonly high: Schema.Number
readonly normal: Schema.Number
readonly low: Schema.Number
}>
readonly paused: Schema.Boolean
readonly inFlight: Schema.Number
readonly completed: Schema.Number
readonly phase: Schema.Literals<
readonly ["running", "draining", "off"]
>
}>
const queueStatus: {
Type: Struct.Type<Fields>;
Encoded: Struct.Encoded<Fields>;
DecodingServices: Struct.DecodingServices<Fields>;
EncodingServices: Struct.EncodingServices<Fields>;
Iso: Struct.Iso<Fields>;
fields: Fields;
mapFields: (f: (fields: { readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFlight: Schema.Number; readonly completed: Schema.Numb…;
Rebuild: Rebuild;
ast: Ast;
annotate: (annotations: Schema.Annotations.Bottom<Schema.Struct.ReadonlySide<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number; }>; readonly paused: Schema.Boolean; readonly i…;
annotateKey: (annotations: Schema.Annotations.Key<Schema.Struct.ReadonlySide<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFli…;
check: (checks_0: Check<Schema.Struct.ReadonlySide<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFlight: Schema.Number; …;
rebuild: (ast: Objects) => Schema.Struct<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFlight: Schema.Number; readonly com…;
make: (input: Schema.Struct.ReadonlyMakeIn<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFlight: Schema.Number; readonl…;
makeOption: (input: Schema.Struct.ReadonlyMakeIn<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFlight: Schema.Number; readonl…;
makeEffect: (input: Schema.Struct.ReadonlyMakeIn<{ readonly sizes: Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>; readonly paused: Schema.Boolean; readonly inFlight: Schema.Number; readonl…;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
A queue's current-state snapshot — the element of the status stream. Instantaneous
truth (what is), kept small and encodable (it crosses RPC). One snapshot a dashboard
atom / CLI --watch / TUI renders. Distinct from events (discrete facts) and metrics
(windowed aggregates).
queueStatus = import SchemaSchema.function Struct<{
readonly sizes: Schema.Struct<{
readonly high: Schema.Number;
readonly normal: Schema.Number;
readonly low: Schema.Number;
}>;
readonly paused: Schema.Boolean;
readonly inFlight: Schema.Number;
readonly completed: Schema.Number;
readonly phase: Schema.Literals<readonly ["running", "draining", "off"]>;
}>(fields: {
readonly sizes: Schema.Struct<{
readonly high: Schema.Number;
readonly normal: Schema.Number;
readonly low: Schema.Number;
}>;
readonly paused: Schema.Boolean;
readonly inFlight: Schema.Number;
readonly completed: Schema.Number;
readonly phase: Schema.Literals<readonly ["running", "draining", "off"]>;
}): Schema.Struct<...>
Defines a struct schema from a map of field schemas.
Details
Each field value is a schema. Use
optionalKey
or
optional
to
mark fields as optional, and
mutableKey
to mark them as mutable.
The resulting schema's Type is a readonly object type with the fields'
decoded types. The Encoded form mirrors the field schemas' encoded types.
Example (Defining a basic struct)
import { Schema } from "effect"
const Person = Schema.Struct({
name: Schema.String,
age: Schema.Number,
email: Schema.optionalKey(Schema.String)
})
// { readonly name: string; readonly age: number; readonly email?: string }
type Person = typeof Person.Type
const alice = Schema.decodeUnknownSync(Person)({ name: "Alice", age: 30 })
console.log(alice)
// { name: 'Alice', age: 30 }
Struct({
sizes: Schema.Struct<{
readonly high: Schema.Number
readonly normal: Schema.Number
readonly low: Schema.Number
}>
(property) sizes: {
Type: Struct.Type<Fields>;
Encoded: Struct.Encoded<Fields>;
DecodingServices: Struct.DecodingServices<Fields>;
EncodingServices: Struct.EncodingServices<Fields>;
Iso: Struct.Iso<Fields>;
fields: Fields;
mapFields: (f: (fields: { readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }) => To, options?: { readonly unsafePreserveChecks?: boolean | undefined } | undefined) => Schema.Struct<{ [K in keyof Readonly<To>]:…;
Rebuild: Rebuild;
ast: Ast;
annotate: (annotations: Schema.Annotations.Bottom<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number; }, 'Type'>, readonly []>) => Schema.Struct<{ readonly high: Schema.Number; read…;
annotateKey: (annotations: Schema.Annotations.Key<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }, 'Type'>>) => Schema.Struct<{ readonly high: Schema.Number; readonly normal: Sche…;
check: (checks_0: Check<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }, 'Type'>>, ...checks: Array<Check<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly…;
rebuild: (ast: Objects) => Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>;
make: (input: Schema.Struct.ReadonlyMakeIn<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>, options?: Schema.MakeOptions) => Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly norma…;
makeOption: (input: Schema.Struct.ReadonlyMakeIn<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>, options?: Schema.MakeOptions) => Option.Option<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; …;
makeEffect: (input: Schema.Struct.ReadonlyMakeIn<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>, options?: Schema.MakeOptions) => Effect.Effect<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; …;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
sizes: const queueSizes: Schema.Struct<{
readonly high: Schema.Number
readonly normal: Schema.Number
readonly low: Schema.Number
}>
const queueSizes: {
Type: Struct.Type<Fields>;
Encoded: Struct.Encoded<Fields>;
DecodingServices: Struct.DecodingServices<Fields>;
EncodingServices: Struct.EncodingServices<Fields>;
Iso: Struct.Iso<Fields>;
fields: Fields;
mapFields: (f: (fields: { readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }) => To, options?: { readonly unsafePreserveChecks?: boolean | undefined } | undefined) => Schema.Struct<{ [K in keyof Readonly<To>]:…;
Rebuild: Rebuild;
ast: Ast;
annotate: (annotations: Schema.Annotations.Bottom<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number; }, 'Type'>, readonly []>) => Schema.Struct<{ readonly high: Schema.Number; read…;
annotateKey: (annotations: Schema.Annotations.Key<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }, 'Type'>>) => Schema.Struct<{ readonly high: Schema.Number; readonly normal: Sche…;
check: (checks_0: Check<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }, 'Type'>>, ...checks: Array<Check<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly…;
rebuild: (ast: Objects) => Schema.Struct<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>;
make: (input: Schema.Struct.ReadonlyMakeIn<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>, options?: Schema.MakeOptions) => Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; readonly norma…;
makeOption: (input: Schema.Struct.ReadonlyMakeIn<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>, options?: Schema.MakeOptions) => Option.Option<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; …;
makeEffect: (input: Schema.Struct.ReadonlyMakeIn<{ readonly high: Schema.Number; readonly normal: Schema.Number; readonly low: Schema.Number }>, options?: Schema.MakeOptions) => Effect.Effect<Schema.Struct.ReadonlySide<{ readonly high: Schema.Number; …;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
The per-priority pending counts returned by sizes.
queueSizes,
paused: Schema.Boolean(property) paused: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<boolean, readonly []>) => Schema.Boolean;
annotateKey: (annotations: Schema.Annotations.Key<boolean>) => Schema.Boolean;
check: (checks_0: Check<boolean>, ...checks: Array<Check<boolean>>) => Schema.Boolean;
rebuild: (ast: Boolean) => Schema.Boolean;
make: (input: boolean, options?: Schema.MakeOptions) => boolean;
makeOption: (input: boolean, options?: Schema.MakeOptions) => Option.Option<boolean>;
makeEffect: (input: boolean, options?: Schema.MakeOptions) => Effect.Effect<boolean, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
paused: import SchemaSchema.const Boolean: Schema.Booleanconst Boolean: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<boolean, readonly []>) => Schema.Boolean;
annotateKey: (annotations: Schema.Annotations.Key<boolean>) => Schema.Boolean;
check: (checks_0: Check<boolean>, ...checks: Array<Check<boolean>>) => Schema.Boolean;
rebuild: (ast: Boolean) => Schema.Boolean;
make: (input: boolean, options?: Schema.MakeOptions) => boolean;
makeOption: (input: boolean, options?: Schema.MakeOptions) => Option.Option<boolean>;
makeEffect: (input: boolean, options?: Schema.MakeOptions) => Effect.Effect<boolean, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Boolean
.
Schema for boolean values. Validates that the input is typeof "boolean".
When to use
Use to validate values that are already JavaScript booleans.
Boolean,
inFlight: Schema.Number(property) inFlight: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<number, readonly []>) => Schema.Number;
annotateKey: (annotations: Schema.Annotations.Key<number>) => Schema.Number;
check: (checks_0: Check<number>, ...checks: Array<Check<number>>) => Schema.Number;
rebuild: (ast: Number) => Schema.Number;
make: (input: number, options?: Schema.MakeOptions) => number;
makeOption: (input: number, options?: Schema.MakeOptions) => Option.Option<number>;
makeEffect: (input: number, options?: Schema.MakeOptions) => Effect.Effect<number, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
inFlight: import SchemaSchema.const Number: Schema.Numberconst Number: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<number, readonly []>) => Schema.Number;
annotateKey: (annotations: Schema.Annotations.Key<number>) => Schema.Number;
check: (checks_0: Check<number>, ...checks: Array<Check<number>>) => Schema.Number;
rebuild: (ast: Number) => Schema.Number;
make: (input: number, options?: Schema.MakeOptions) => number;
makeOption: (input: number, options?: Schema.MakeOptions) => Option.Option<number>;
makeEffect: (input: number, options?: Schema.MakeOptions) => Effect.Effect<number, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Number
.
Schema for number values, including NaN, Infinity, and -Infinity.
Details
Default JSON serializer:
- Finite numbers are serialized as numbers.
- Non-finite values are serialized as strings (
"NaN", "Infinity", "-Infinity").
Number,
completed: Schema.Number(property) completed: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<number, readonly []>) => Schema.Number;
annotateKey: (annotations: Schema.Annotations.Key<number>) => Schema.Number;
check: (checks_0: Check<number>, ...checks: Array<Check<number>>) => Schema.Number;
rebuild: (ast: Number) => Schema.Number;
make: (input: number, options?: Schema.MakeOptions) => number;
makeOption: (input: number, options?: Schema.MakeOptions) => Option.Option<number>;
makeEffect: (input: number, options?: Schema.MakeOptions) => Effect.Effect<number, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
completed: import SchemaSchema.const Number: Schema.Numberconst Number: {
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<number, readonly []>) => Schema.Number;
annotateKey: (annotations: Schema.Annotations.Key<number>) => Schema.Number;
check: (checks_0: Check<number>, ...checks: Array<Check<number>>) => Schema.Number;
rebuild: (ast: Number) => Schema.Number;
make: (input: number, options?: Schema.MakeOptions) => number;
makeOption: (input: number, options?: Schema.MakeOptions) => Option.Option<number>;
makeEffect: (input: number, options?: Schema.MakeOptions) => Effect.Effect<number, Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
Type-level representation of
Number
.
Schema for number values, including NaN, Infinity, and -Infinity.
Details
Default JSON serializer:
- Finite numbers are serialized as numbers.
- Non-finite values are serialized as strings (
"NaN", "Infinity", "-Infinity").
Number,
// lifecycle phase (orthogonal to `paused`): running → draining (on shutdown) → off (terminal).
phase: Schema.Literals<
readonly ["running", "draining", "off"]
>
(property) phase: {
literals: L;
members: { readonly [K in keyof L]: Literal<L[K]>; };
mapMembers: (f: (members: readonly [Schema.Literal<'running'>, Schema.Literal<'draining'>, Schema.Literal<'off'>]) => To) => Schema.Union<{ [K in keyof Readonly<To>]: Readonly<To>[K]; }>;
pick: (literals: L2) => Schema.Literals<L2>;
transform: (to: L2) => Schema.Union<readonly [Schema.decodeTo<Schema.Literal<L2['0']>, Schema.Literal<'running'>, never, never>, Schema.decodeTo<Schema.Literal<L2['1']>, Schema.Literal<'draining'>, never, never>, Schema.decodeTo<Schema.Literal<L2['2'…;
Rebuild: Rebuild;
Iso: Iso;
ast: Ast;
Type: T;
Encoded: E;
DecodingServices: RD;
EncodingServices: RE;
annotate: (annotations: Schema.Annotations.Bottom<'running' | 'draining' | 'off', readonly []>) => Schema.Literals<readonly ['running', 'draining', 'off']>;
annotateKey: (annotations: Schema.Annotations.Key<'running' | 'draining' | 'off'>) => Schema.Literals<readonly ['running', 'draining', 'off']>;
check: (checks_0: Check<'running' | 'draining' | 'off'>, ...checks: Array<Check<'running' | 'draining' | 'off'>>) => Schema.Literals<readonly ['running', 'draining', 'off']>;
rebuild: (ast: Union<Literal>) => Schema.Literals<readonly ['running', 'draining', 'off']>;
make: (input: 'running' | 'draining' | 'off', options?: Schema.MakeOptions) => 'running' | 'draining' | 'off';
makeOption: (input: 'running' | 'draining' | 'off', options?: Schema.MakeOptions) => Option.Option<'running' | 'draining' | 'off'>;
makeEffect: (input: 'running' | 'draining' | 'off', options?: Schema.MakeOptions) => Effect.Effect<'running' | 'draining' | 'off', Schema.SchemaError, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
phase: import SchemaSchema.function Literals<readonly ["running", "draining", "off"]>(literals: readonly ["running", "draining", "off"]): Schema.Literals<readonly ["running", "draining", "off"]>Creates a union schema from an array of literal values.
Example (Defining status codes)
import { Schema } from "effect"
const schema = Schema.Literals(["active", "inactive", "pending"])
// accepts "active", "inactive", or "pending"
Literals(["running", "draining", "off"]),
});