summaryrefslogtreecommitdiff
path: root/api/pl.treksoft.kvision.state
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2020-04-20 00:23:54 +0200
committerRobert Jaros <rjaros@finn.pl>2020-04-20 00:23:54 +0200
commitccde61ffd1053e08612ed18788aaa7621b541a5e (patch)
treef158e90ad2e8f4c86d9701248bef5ceac34b4017 /api/pl.treksoft.kvision.state
parent0a6e242e88964d2049f2ec5de78ed84c54a856a7 (diff)
downloadkvision-ccde61ffd1053e08612ed18788aaa7621b541a5e.tar.gz
kvision-ccde61ffd1053e08612ed18788aaa7621b541a5e.tar.bz2
kvision-ccde61ffd1053e08612ed18788aaa7621b541a5e.zip
API documentation for KVision 3.7.0
Diffstat (limited to 'api/pl.treksoft.kvision.state')
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/add-all.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/add.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/clear.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/contains-all.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/contains.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/get-state.html15
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html160
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/is-empty.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/iterator.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/mutable-set.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/on-update.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/remove-all.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/remove.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/retain-all.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/size.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/subscribe.html15
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set/index.html41
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set/on-update.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-state/index.html18
-rw-r--r--api/pl.treksoft.kvision.state/index.html29
-rw-r--r--api/pl.treksoft.kvision.state/observable-list-of.html2
-rw-r--r--api/pl.treksoft.kvision.state/observable-set-of.html15
23 files changed, 504 insertions, 2 deletions
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/-init-.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/-init-.html
new file mode 100644
index 00000000..5f2ea2e7
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$&lt;init&gt;(kotlin.collections.MutableSet((pl.treksoft.kvision.state.ObservableSetWrapper.T)))"></a>
+<code><span class="identifier">ObservableSetWrapper</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$<init>(kotlin.collections.MutableSet((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/mutableSet">mutableSet</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">)</span></code>
+<p>Simple observable set implementation.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/add-all.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/add-all.html
new file mode 100644
index 00000000..a280d8b1
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/add-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$addAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$addAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/add.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/add.html
new file mode 100644
index 00000000..a96e3ed4
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/add.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.add - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$add(pl.treksoft.kvision.state.ObservableSetWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$add(pl.treksoft.kvision.state.ObservableSetWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/clear.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/clear.html
new file mode 100644
index 00000000..6660d61e
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/clear.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.clear - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./clear.html">clear</a><br/>
+<br/>
+<h1>clear</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$clear()"></a>
+<code><span class="keyword">fun </span><span class="identifier">clear</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/contains-all.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/contains-all.html
new file mode 100644
index 00000000..c2c520b7
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/contains-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.containsAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./contains-all.html">containsAll</a><br/>
+<br/>
+<h1>containsAll</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$containsAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">containsAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$containsAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/contains.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/contains.html
new file mode 100644
index 00000000..a3957531
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/contains.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.contains - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./contains.html">contains</a><br/>
+<br/>
+<h1>contains</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$contains(pl.treksoft.kvision.state.ObservableSetWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">contains</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$contains(pl.treksoft.kvision.state.ObservableSetWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/get-state.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/get-state.html
new file mode 100644
index 00000000..3c42bc37
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/get-state.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.getState - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./get-state.html">getState</a><br/>
+<br/>
+<h1>getState</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$getState()"></a>
+<code><span class="keyword">fun </span><span class="identifier">getState</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<p>Get current state.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html
new file mode 100644
index 00000000..7533d5bc
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html
@@ -0,0 +1,160 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="./index.html">ObservableSetWrapper</a><br/>
+<br/>
+<h1>ObservableSetWrapper</h1>
+(js) <code><span class="keyword">class </span><span class="identifier">ObservableSetWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="../-observable-set/index.html"><span class="identifier">ObservableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Simple observable set implementation.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="-init-.html">&lt;init&gt;</a></h4>
+</td>
+<td>
+<p>Simple observable set implementation.</p>
+<code><span class="identifier">ObservableSetWrapper</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$<init>(kotlin.collections.MutableSet((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/mutableSet">mutableSet</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="mutable-set.html">mutableSet</a></h4>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">mutableSet</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="on-update.html">onUpdate</a></h4>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="size.html">size</a></h4>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">size</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="add.html">add</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$add(pl.treksoft.kvision.state.ObservableSetWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="add-all.html">addAll</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$addAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="clear.html">clear</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">clear</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="contains.html">contains</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">contains</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$contains(pl.treksoft.kvision.state.ObservableSetWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="contains-all.html">containsAll</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">containsAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$containsAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="get-state.html">getState</a></h4>
+</td>
+<td>
+<p>Get current state.</p>
+<code><span class="keyword">fun </span><span class="identifier">getState</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="is-empty.html">isEmpty</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">isEmpty</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="iterator.html">iterator</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">iterator</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html"><span class="identifier">MutableIterator</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="remove.html">remove</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$remove(pl.treksoft.kvision.state.ObservableSetWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="remove-all.html">removeAll</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$removeAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="retain-all.html">retainAll</a></h4>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">retainAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$retainAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="subscribe.html">subscribe</a></h4>
+</td>
+<td>
+<p>Subscribe for the state change notifications.</p>
+<code><span class="keyword">fun </span><span class="identifier">subscribe</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$subscribe(kotlin.Function1((kotlin.collections.Set((pl.treksoft.kvision.state.ObservableSetWrapper.T)), kotlin.Unit)))/observer">observer</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/is-empty.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/is-empty.html
new file mode 100644
index 00000000..930c859b
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/is-empty.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.isEmpty - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./is-empty.html">isEmpty</a><br/>
+<br/>
+<h1>isEmpty</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$isEmpty()"></a>
+<code><span class="keyword">fun </span><span class="identifier">isEmpty</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/iterator.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/iterator.html
new file mode 100644
index 00000000..91b28891
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/iterator.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.iterator - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./iterator.html">iterator</a><br/>
+<br/>
+<h1>iterator</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$iterator()"></a>
+<code><span class="keyword">fun </span><span class="identifier">iterator</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-iterator/index.html"><span class="identifier">MutableIterator</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/mutable-set.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/mutable-set.html
new file mode 100644
index 00000000..752d66db
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/mutable-set.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.mutableSet - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./mutable-set.html">mutableSet</a><br/>
+<br/>
+<h1>mutableSet</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$mutableSet"></a>
+<code><span class="keyword">val </span><span class="identifier">mutableSet</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/on-update.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/on-update.html
new file mode 100644
index 00000000..22c14ef4
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/on-update.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.onUpdate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./on-update.html">onUpdate</a><br/>
+<br/>
+<h1>onUpdate</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$onUpdate"></a>
+<code><span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/remove-all.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/remove-all.html
new file mode 100644
index 00000000..15c072d2
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/remove-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.removeAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$removeAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$removeAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/remove.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/remove.html
new file mode 100644
index 00000000..d58d44f0
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/remove.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.remove - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$remove(pl.treksoft.kvision.state.ObservableSetWrapper.T)"></a>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$remove(pl.treksoft.kvision.state.ObservableSetWrapper.T)/element">element</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/retain-all.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/retain-all.html
new file mode 100644
index 00000000..518685fc
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/retain-all.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.retainAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./retain-all.html">retainAll</a><br/>
+<br/>
+<h1>retainAll</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$retainAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">retainAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$retainAll(kotlin.collections.Collection((pl.treksoft.kvision.state.ObservableSetWrapper.T)))/elements">elements</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html"><span class="identifier">Collection</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/size.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/size.html
new file mode 100644
index 00000000..0f593b39
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/size.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.size - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./size.html">size</a><br/>
+<br/>
+<h1>size</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$size"></a>
+<code><span class="keyword">val </span><span class="identifier">size</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/subscribe.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/subscribe.html
new file mode 100644
index 00000000..24e940eb
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/subscribe.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSetWrapper.subscribe - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSetWrapper</a>&nbsp;/&nbsp;<a href="./subscribe.html">subscribe</a><br/>
+<br/>
+<h1>subscribe</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSetWrapper$subscribe(kotlin.Function1((kotlin.collections.Set((pl.treksoft.kvision.state.ObservableSetWrapper.T)), kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">subscribe</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state.ObservableSetWrapper$subscribe(kotlin.Function1((kotlin.collections.Set((pl.treksoft.kvision.state.ObservableSetWrapper.T)), kotlin.Unit)))/observer">observer</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Subscribe for the state change notifications.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set/index.html b/api/pl.treksoft.kvision.state/-observable-set/index.html
new file mode 100644
index 00000000..a323f3af
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set/index.html
@@ -0,0 +1,41 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSet - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="./index.html">ObservableSet</a><br/>
+<br/>
+<h1>ObservableSet</h1>
+(js) <code><span class="keyword">interface </span><span class="identifier">ObservableSet</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Observable set interface.</p>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="on-update.html">onUpdate</a></h4>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../-observable-set-wrapper/index.html">ObservableSetWrapper</a></h4>
+</td>
+<td>
+<p>Simple observable set implementation.</p>
+<code><span class="keyword">class </span><span class="identifier">ObservableSetWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set/on-update.html b/api/pl.treksoft.kvision.state/-observable-set/on-update.html
new file mode 100644
index 00000000..825e3be3
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/-observable-set/on-update.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ObservableSet.onUpdate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="index.html">ObservableSet</a>&nbsp;/&nbsp;<a href="./on-update.html">onUpdate</a><br/>
+<br/>
+<h1>onUpdate</h1>
+(js) <a name="pl.treksoft.kvision.state.ObservableSet$onUpdate"></a>
+<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">onUpdate</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-collection/index.html"><span class="identifier">MutableCollection</span></a><span class="symbol">&lt;</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-state/index.html b/api/pl.treksoft.kvision.state/-observable-state/index.html
index e4d62215..50abbbfa 100644
--- a/api/pl.treksoft.kvision.state/-observable-state/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-state/index.html
@@ -57,6 +57,24 @@
<tr>
<td>
(js)
+<h4><a href="../-observable-set/index.html">ObservableSet</a></h4>
+</td>
+<td>
+<p>Observable set interface.</p>
+<code><span class="keyword">interface </span><span class="identifier">ObservableSet</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../-observable-set-wrapper/index.html">ObservableSetWrapper</a></h4>
+</td>
+<td>
+<p>Simple observable set implementation.</p>
+<code><span class="keyword">class </span><span class="identifier">ObservableSetWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="../-observable-set/index.html"><span class="identifier">ObservableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="../../pl.treksoft.kvision.redux/-redux-store/index.html">ReduxStore</a></h4>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.state/index.html b/api/pl.treksoft.kvision.state/index.html
index 672d6cef..f3b80ee6 100644
--- a/api/pl.treksoft.kvision.state/index.html
+++ b/api/pl.treksoft.kvision.state/index.html
@@ -33,6 +33,24 @@
<tr>
<td>
(js)
+<h4><a href="-observable-set/index.html">ObservableSet</a></h4>
+</td>
+<td>
+<p>Observable set interface.</p>
+<code><span class="keyword">interface </span><span class="identifier">ObservableSet</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="-observable-set-wrapper/index.html">ObservableSetWrapper</a></h4>
+</td>
+<td>
+<p>Simple observable set implementation.</p>
+<code><span class="keyword">class </span><span class="identifier">ObservableSetWrapper</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="-observable-set/index.html"><span class="identifier">ObservableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="-observable-state/index.html">ObservableState</a></h4>
</td>
<td>
@@ -69,7 +87,16 @@
</td>
<td>
<p>Creates an instance of ObservableList</p>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableListOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.state$observableListOf(kotlin.Array((pl.treksoft.kvision.state.observableListOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-list-wrapper/index.html"><span class="identifier">ObservableListWrapper</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableListOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.state$observableListOf(kotlin.Array((pl.treksoft.kvision.state.observableListOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-list/index.html"><span class="identifier">ObservableList</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="observable-set-of.html">observableSetOf</a></h4>
+</td>
+<td>
+<p>Creates an instance of ObservableSet</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableSetOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.state$observableSetOf(kotlin.Array((pl.treksoft.kvision.state.observableSetOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-set/index.html"><span class="identifier">ObservableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
diff --git a/api/pl.treksoft.kvision.state/observable-list-of.html b/api/pl.treksoft.kvision.state/observable-list-of.html
index 67279b8e..49986336 100644
--- a/api/pl.treksoft.kvision.state/observable-list-of.html
+++ b/api/pl.treksoft.kvision.state/observable-list-of.html
@@ -9,7 +9,7 @@
<br/>
<h1>observableListOf</h1>
(js) <a name="pl.treksoft.kvision.state$observableListOf(kotlin.Array((pl.treksoft.kvision.state.observableListOf.T)))"></a>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableListOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.state$observableListOf(kotlin.Array((pl.treksoft.kvision.state.observableListOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-list-wrapper/index.html"><span class="identifier">ObservableListWrapper</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableListOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.state$observableListOf(kotlin.Array((pl.treksoft.kvision.state.observableListOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-list/index.html"><span class="identifier">ObservableList</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code>
<p>Creates an instance of ObservableList</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.state/observable-set-of.html b/api/pl.treksoft.kvision.state/observable-set-of.html
new file mode 100644
index 00000000..c8515f31
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/observable-set-of.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>observableSetOf - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="./observable-set-of.html">observableSetOf</a><br/>
+<br/>
+<h1>observableSetOf</h1>
+(js) <a name="pl.treksoft.kvision.state$observableSetOf(kotlin.Array((pl.treksoft.kvision.state.observableSetOf.T)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">observableSetOf</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.state$observableSetOf(kotlin.Array((pl.treksoft.kvision.state.observableSetOf.T)))/items">items</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="-observable-set/index.html"><span class="identifier">ObservableSet</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code>
+<p>Creates an instance of ObservableSet</p>
+</BODY>
+</HTML>