LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
LangGraph
  • Web
  • Channels
  • Pregel
  • Prebuilt
  • Remote
React SDK
Vue SDK
Svelte SDK
Angular SDK
LangGraph SDK
  • Ui
  • Client
  • Auth
  • React
  • Logging
  • React Ui
  • Utils
  • Server
LangGraph Checkpoint
LangGraph Checkpoint MongoDB
LangGraph Checkpoint Postgres
  • Store
LangGraph Checkpoint Redis
  • Shallow
  • Store
LangGraph Checkpoint SQLite
LangGraph Checkpoint Validation
  • Cli
LangGraph API
LangGraph CLI
LangGraph CUA
  • Utils
LangGraph Supervisor
LangGraph Swarm
⌘I

LangChain Assistant

Ask a question to get started

Enter to send•Shift+Enter new line

Menu

LangGraph
WebChannelsPregelPrebuiltRemote
React SDK
Vue SDK
Svelte SDK
Angular SDK
LangGraph SDK
UiClientAuthReactLoggingReact UiUtilsServer
LangGraph Checkpoint
LangGraph Checkpoint MongoDB
LangGraph Checkpoint Postgres
Store
LangGraph Checkpoint Redis
ShallowStore
LangGraph Checkpoint SQLite
LangGraph Checkpoint Validation
Cli
LangGraph API
LangGraph CLI
LangGraph CUA
Utils
LangGraph Supervisor
LangGraph Swarm
Language
Theme
JavaScript@langchain/langgraph-sdkuiInferMiddlewareStatesFromArray
Typeā—Since v1.7

InferMiddlewareStatesFromArray

Copy
InferMiddlewareStatesFromArray: IsAny<
  T
> extends true  __type : T extends undefined | null  __type 
View source on GitHub
:
T
extends
readonly
[
]
__type
:
T
extends
[
]
__type
:
T
extends
readonly
[
First
,
.
.
.
Rest
]
InferMiddlewareState
<
First
>
InferMiddlewareStatesFromArray
<
Rest
>
:
T
extends
[
First
,
.
.
.
Rest
]
InferMiddlewareState
<
First
>
InferMiddlewareStatesFromArray
<
Rest
>
:
T
extends
readonly
U
[
]
InferMiddlewareState
<
U
>
:
T
extends
U
[
]
InferMiddlewareState
<
U
>
:
__type

Example

Helper type to extract and merge states from an array of middleware. Recursively processes each middleware and intersects their state types.

Handles both readonly and mutable arrays/tuples explicitly.

Copy
type States = InferMiddlewareStatesFromArray<typeof middlewareArray>;
// Returns intersection of all middleware state types