Type Alias Schema<D, P, _S, _T, _E, _C>
Schema<D, P, _S, _T, _E, _C>: { context?: _C; events?: [keyof _E] extends [never] ? { [NEVER]?: never; } : IsStringLiteral<keyof _E> extends false ? "Error: Event types must be literal strings." : { [T in keyof _E]: T extends ReservedKeyword ? `Error: Event type '${T}' is reserved.` : IsPlainObject<_E[T]> extends false ? "Error: Event must be a plain object." : "type" extends keyof _E[T] ? "Error: Event cannot have a reserved property 'type'." : _E[T] }; strict?: IsBooleanLiteral<_T> extends false ? "Error: `strict` must be a `true` or `false`." : _T; } Type Parameters
- D
- P extends ReadonlyArray<keyof any>
- _S = Get<D, P>
- _T = Get<_S, ["strict"]>
- _E = Get<_S, ["events"]>
- _C = Get<_S, ["context"]>
Type declaration
Optional Readonlycontext?: _C
Optional Readonlyevents?: [keyof _E] extends [never]
? {
[NEVER]?: never;
}
: IsStringLiteral<keyof _E> extends false
? "Error: Event types must be literal strings."
: {
[T in keyof _E]: T extends ReservedKeyword
? `Error: Event type '${T}' is reserved.`
: IsPlainObject<_E[T]> extends false
? "Error: Event must be a plain object."
: "type" extends keyof _E[T]
? "Error: Event cannot have a reserved property 'type'."
: _E[T]
}
Optional Readonlystrict?: IsBooleanLiteral<_T> extends false
? "Error: `strict` must be a `true` or `false`."
: _T
The type of schema for state machine.