<commit_before># prop()

- [API](#api)
- [Static members](#static-members)
	- [prop.combine](#propcombine)
	- [prop.reject](#propreject)
	- [prop.merge](#propmerge)
	- [prop.HALT](#prophalt)
	- [prop["fantasy-land/of"]](#propfantasy-landof)
- [Instance members](#static-members)
	- [stream.run](#streamrun)
	- [stream.end](#streamend)
	- [stream.error](#streamerror)
	- [stream.catch](#streamcatch)
	- [stream["fantasy-land/of"]](#streamfantasy-landof)
	- [stream["fantasy-land/map"]](#streamfantasy-landmap)
	- [stream["fantasy-land/ap"]](#streamfantasy-landap)
- [Basic usage](#basic-usage)
	- [Streams as variables](#streams-as-variables)
	- [Bidirectional bindings](#bidirectional-bindings)
	- [Computed properties](#computed-properties)
	- [Loading icons and error messages](#loading-icons-and-error-messages)
- [Streams vs promises](#streams-vs-promises)
- [Chaining streams](#chaining-streams)
- [Combining streams](#combining-streams)
- [Absorbing streams](#absorbing-streams)
- [Stream states](#stream-states)
- [Handling errors](#handling-errors)
- [Serializing streams](#serializing-streams)
- [Streams do not trigger rendering](#streams-do-not-trigger-rendering)

---

### API

Creates a stream

`stream = m.prop(value)`

Argument    | Type                 | Required | Description
----------- | -------------------- | -------- | ---
`value`     | `any`                | No       | If this argument is present, the value of the prop is set to it
**returns** | `Stream`             |          | Returns a stream

[How to read signatures](signatures.md)

#### Static members

##### prop.combine

Creates a computed stream that reactively updates if any of its upstreams are updated. See [combining streams](#combining-streams)

`stream = m.prop.combine(combiner, streams)`

Argument    | Type                        | Required | Description
----------- | --------------------------- | -------- | ---
`combiner`  | `(Stream..., Array) -> any` | Yes      | See [combiner](#combiner) argument
`streams`   | `Array<Stream>`             | Yes      | A list of streams to be combined
**returns** | `Stream`                    |          | Returns a stream

[How to read signatures](signatures.md)

---

###### combiner<commit_msg>more separators<commit_after># prop()

- [API](#api)
- [Static members](#static-members)
	- [prop.combine](#propcombine)
	- [prop.reject](#propreject)
	- [prop.merge](#propmerge)
	- [prop.HALT](#prophalt)
	- [prop["fantasy-land/of"]](#propfantasy-landof)
- [Instance members](#static-members)
	- [stream.run](#streamrun)
	- [stream.end](#streamend)
	- [stream.error](#streamerror)
	- [stream.catch](#streamcatch)
	- [stream["fantasy-land/of"]](#streamfantasy-landof)
	- [stream["fantasy-land/map"]](#streamfantasy-landmap)
	- [stream["fantasy-land/ap"]](#streamfantasy-landap)
- [Basic usage](#basic-usage)
	- [Streams as variables](#streams-as-variables)
	- [Bidirectional bindings](#bidirectional-bindings)
	- [Computed properties](#computed-properties)
	- [Loading icons and error messages](#loading-icons-and-error-messages)
- [Streams vs promises](#streams-vs-promises)
- [Chaining streams](#chaining-streams)
- [Combining streams](#combining-streams)
- [Absorbing streams](#absorbing-streams)
- [Stream states](#stream-states)
- [Handling errors](#handling-errors)
- [Serializing streams](#serializing-streams)
- [Streams do not trigger rendering](#streams-do-not-trigger-rendering)

---

### API

Creates a stream

`stream = m.prop(value)`

Argument    | Type                 | Required | Description
----------- | -------------------- | -------- | ---
`value`     | `any`                | No       | If this argument is present, the value of the prop is set to it
**returns** | `Stream`             |          | Returns a stream

[How to read signatures](signatures.md)

---

#### Static members

##### prop.combine

Creates a computed stream that reactively updates if any of its upstreams are updated. See [combining streams](#combining-streams)

`stream = m.prop.combine(combiner, streams)`

Argument    | Type                        | Required | Description
----------- | --------------------------- | -------- | ---
`combiner`  | `(Stream..., Array) -> any` | Yes      | See [combiner](#combiner) argument
`streams`   | `Array<Stream>`             | Yes      | A list of streams to be combined
**returns** | `Stream`                    |          | Returns a stream

[How to read signatures](signatures.md)

---

###### combiner
{'fraction_non_alphanumeric': 0.20044692737430167, 'fraction_numerical': 0.0, 'mean_word_length': 2.9023539668700957, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2426478', 'n_tokens_mistral': 1464, 'n_tokens_neox': 1351, 'n_words': 288}