# ModelNodeSet

typedef

Value that can be normalized to an array of [nodes](module_engine_model_node-ModelNode.md).

Non-arrays are normalized as follows:

* [Node](module_engine_model_node-ModelNode.md) is left as is,
* [TextProxy](module_engine_model_textproxy-ModelTextProxy.md) and `string` are normalized to [Text](module_engine_model_text-ModelText.md),
* [NodeList](module_engine_model_nodelist-ModelNodeList.md) is normalized to an array containing all nodes that are in that node list,
* [ModelDocumentFragment](module_engine_model_documentfragment-ModelDocumentFragment.md) is normalized to an array containing all of it's children.

Arrays are processed item by item like non-array values and flattened to one array. Normalization always results in a flat array of [nodes](module_engine_model_node-ModelNode.md). Consecutive text nodes (or items normalized to text nodes) will be merged if they have same attributes.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/model/operation/utils.ts#L284)

#### Value

`ModelItem | string | ModelNodeList | ModelDocumentFragment | Iterable<ModelItem | string | ModelNodeList | ModelDocumentFragment>`

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
