_.value
The terminal node that unwraps an underscore chain
- chain
- value
Every pipeline needs an endpoint, and _.value is the endpoint for the underscore method-node family in comfy-ovum. It takes a _.CHAIN object - the thing produced by _.chain and passed along by every method node in the family - and unwraps it into the actual final value. No chain input, no result; that's its whole job.
If you're not chaining underscore methods, you don't need this node at all: every method node already returns its computed result directly when you hand it a plain object. _.value only matters in the "pipe" mode, where you feed a _.CHAIN into method node after method node (each one continuing the chain) and then want the concrete answer at the end.
Family context you should have before relying on it: the README's own warning that the underscore nodes are "an absolute disaster to use in production," WIP, not recommended for live workflows. The chaining machinery is exactly the part that deserves the side-eye - it works, but it's the most moving parts in the family.
How it works
The chain is an underscore3 wrapper object (underscore3 being the vendored Python port of Underscore.js). Each method node checks whether its primary input is a _.CHAIN; if so it calls the method on the chain and hands the updated chain to the next node. _.value is the one that finally calls .value() on that object, extracting the wrapped result. _.chain(obj) → _.first → _.sortBy → _.value becomes a single graph path that computes a value at the end.
This node is special in one way: its input is required and typed. The schema demands a chain input of type _.CHAIN - you cannot wire a plain list into it, and it will raise if you try. It's the only underscore node in the pack that hard-requires a specific type.
Inputs and output
chain- required, type_.CHAIN. Wire it to_.chainor to the chained output of another method node.- Output:
value(type*) - the unwrapped result, whatever type the chain ended on.
Install
Manager: search comfy-ovum, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart. No model downloads; underscore3 ships inside the repo.
When it's worth the ceremony
If you're assembling a multi-step transform of one list or dict - filter, then map, then group - the chain keeps it to a straight line of nodes instead of a pile of intermediate save/load. For anything shorter than that, skip the chain entirely and just let the method nodes return values directly. You'll thank yourself later.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| chain | _.CHAIN | A _.CHAIN produced by _.chain or other underscore nodes. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | * | — |