This commit is contained in:
InsanusMokrassar 2024-05-04 15:03:58 +00:00
parent 1c24ddc1ff
commit 87625064c3
4 changed files with 119 additions and 44 deletions

View File

@ -308,6 +308,31 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#keyvalue">
<span class="md-ellipsis">
KeyValue
</span>
</a>
<nav aria-label="KeyValue" class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a class="md-nav__link" href="#readkeyvaluerepo">
<span class="md-ellipsis">
ReadKeyValueRepo
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#writekeyvaluerepo">
<span class="md-ellipsis">
WritekeyValueRepo
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
@ -847,6 +872,31 @@
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#keyvalue">
<span class="md-ellipsis">
KeyValue
</span>
</a>
<nav aria-label="KeyValue" class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a class="md-nav__link" href="#readkeyvaluerepo">
<span class="md-ellipsis">
ReadKeyValueRepo
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#writekeyvaluerepo">
<span class="md-ellipsis">
WritekeyValueRepo
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
@ -906,6 +956,31 @@ but all they have their extension function-variations with one/two args (like <c
<code>Id</code> of registered object, but it is not required for repo.</p>
<p><code>update</code> operation consumes list of pairs with <code>Id</code> and <code>New</code> objects and produces list of <code>Registered</code> objects.</p>
<p><code>deleteById</code> operation consumes list of <code>Id</code>s and do not consume anything except of notifying via <code>deletedObjectsIdsFlow</code>.</p>
<h2 id="keyvalue">KeyValue<a class="headerlink" href="#keyvalue" title="Permanent link"></a></h2>
<p>Key-value repos has been created to support work with classic key-value stores, where keys are unique across all the repo when values are not unique.
As well as all the others types of repos, this one have two basic types:
<a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-read-key-value-repo/index.html">ReadKeyValueRepo</a> and
<a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-write-key-value-repo/index.html">WriteKeyValueRepo</a></p>
<h3 id="readkeyvaluerepo">ReadKeyValueRepo<a class="headerlink" href="#readkeyvaluerepo" title="Permanent link"></a></h3>
<p>Read repo provides functions like: <a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-read-key-value-repo/contains.html">contains</a>,
<a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-read-key-value-repo/get.html">get</a> or
<a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-read-key-value-repo/values.html">values</a>.</p>
<h3 id="writekeyvaluerepo">WritekeyValueRepo<a class="headerlink" href="#writekeyvaluerepo" title="Permanent link"></a></h3>
<p>Contains write-only operations. This interface can be observed via its flows:</p>
<ul>
<li><a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-write-key-value-repo/on-new-value.html">onNewValue</a> to retrieve newely set values and keys</li>
<li><a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-write-key-value-repo/on-value-removed.html">onValueRemoved</a> for the values removed from repo</li>
</ul>
<div class="admonition info">
<p class="admonition-title">Info</p>
<p>
By default, all mutating operations consumes some collections. For example, <a href="https://microutils.inmo.dev/micro_utils.dokka/dev.inmo.micro_utils.repos/-write-key-value-repo/set.html">set</a>
require <code>Map</code> with <code>Key</code>s and <code>Value</code>s and do not returns anything. Instead, it will throw notification via <code>onNewValue</code> flow</p>
<p>All the methods on <code>WriteKeyValueRepo</code> have their variances with <code>pairs</code> (for set) or plain <code>vararg</code>s.</p>
</div>
<p><code>set</code> operation consumes map of <code>Key</code>s and their <code>Value</code>s, set them and produces updates via <code>onNewValue</code></p>
<p><code>unset</code> operation consumes list of <code>Key</code>s, removing <code>Value</code> by <code>Key</code> and produces updates via <code>onValueRemoved</code></p>
<p><code>unsetWithValues</code> consumes list of <code>Value</code>s, removing all <code>Key</code>s with the <code>Value</code>s equal to one of the input <code>Value</code>s, and then produces updates via <code>onValueRemoved</code></p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>

File diff suppressed because one or more lines are too long

View File

@ -2,217 +2,217 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://docs.inmo.dev/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/krontab/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/krontab/describing/krontabscheduler.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/krontab/describing/string-format.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/krontab/introduction/faq.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/krontab/introduction/how-to-use.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/krontab/introduction/including-in-project.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/kslog/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/kslog/logging.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/kslog/setup.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/micro_utils/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/micro_utils/resources.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/micro_utils/startup.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/micro_utils/repos/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/navigation/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/navigation/getting-started.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/plagubot/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/plagubot/opportunities_out_of_the_box.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/services/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/index.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/faq.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logs.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/dsls/keyboards.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/dsls/live-location.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/dsls/text.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/guides/keyboards.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/introduction/before-any-bot-project.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/introduction/first-bot.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/introduction/including-in-your-project.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/introduction/proxy-setup.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/api-extensions.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/behaviour-builder-with-fsm.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/behaviour-builder.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/exceptions-handling.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/files-handling.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/low-level-work-with-bots.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/media-groups.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/types-conversations.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/logic/updates-with-flows.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/updates/heroku.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/updates/long-polling.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/updates/updates-filters.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docs.inmo.dev/tgbotapi/updates/webhooks.html</loc>
<lastmod>2024-05-02</lastmod>
<lastmod>2024-05-04</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.