This commit is contained in:
InsanusMokrassar
2025-01-19 03:27:18 +00:00
parent 02681f4c48
commit e2c9907347
6505 changed files with 6864 additions and 6561 deletions

View File

@@ -46,7 +46,7 @@
</button>
<div class="navigation-controls--break ui-kit_mobile-only"></div>
<div class="library-version" id="library-version">
0.24.3 </div>
0.24.4 </div>
<div class="navigation-controls">
<div class="filter-section filter-section_loading" id="filter-section">
<button class="platform-tag platform-selector common-like" data-active=""
@@ -109,7 +109,7 @@
<div class="cover ">
<h1 class="cover"><span>Default</span><wbr></wbr><span>Updatable</span><wbr></wbr><span>States</span><wbr></wbr><span><span>Machine</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">statesManager<span class="token operator">: </span><a href="../-states-manager/index.html">StatesManager</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">handlers<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../-checkable-handler-holder/index.html">CheckableHandlerHolder</a><span class="token operator">&lt;</span><span class="token keyword">in </span><a href="index.html">T</a><span class="token punctuation">, </span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><a href="../../dev.inmo.micro_utils.fsm.common.utils/-state-handling-error-handler/index.html">StateHandlingErrorHandler</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()</span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L22">source</a>)</span></span></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">statesManager<span class="token operator">: </span><a href="../-states-manager/index.html">StatesManager</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">handlers<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../-checkable-handler-holder/index.html">CheckableHandlerHolder</a><span class="token operator">&lt;</span><span class="token keyword">in </span><a href="index.html">T</a><span class="token punctuation">, </span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><a href="../../dev.inmo.micro_utils.fsm.common.utils/-state-handling-error-handler/index.html">StateHandlingErrorHandler</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()</span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L23">source</a>)</span></span></div></div></div>
</div>
<div class="footer">
<a href="#content" id="go-to-top-link" class="footer--button footer--button_go-to-top"></a>

View File

@@ -46,7 +46,7 @@
</button>
<div class="navigation-controls--break ui-kit_mobile-only"></div>
<div class="library-version" id="library-version">
0.24.3 </div>
0.24.4 </div>
<div class="navigation-controls">
<div class="filter-section filter-section_loading" id="filter-section">
<button class="platform-tag platform-selector common-like" data-active=""
@@ -108,7 +108,7 @@
<div class="breadcrumbs"><a href="../../../index.html">micro_utils.dokka</a><span class="delimiter">/</span><a href="../index.html">dev.inmo.micro_utils.fsm.common</a><span class="delimiter">/</span><span class="current">DefaultUpdatableStatesMachine</span></div>
<div class="cover ">
<h1 class="cover"><span>Default</span><wbr></wbr><span>Updatable</span><wbr></wbr><span>States</span><wbr></wbr><span><span>Machine</span></span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">class </span><a href="index.html">DefaultUpdatableStatesMachine</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator"> : </span><a href="../-state/index.html">State</a><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">statesManager<span class="token operator">: </span><a href="../-states-manager/index.html">StatesManager</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">handlers<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../-checkable-handler-holder/index.html">CheckableHandlerHolder</a><span class="token operator">&lt;</span><span class="token keyword">in </span><a href="index.html">T</a><span class="token punctuation">, </span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><a href="../../dev.inmo.micro_utils.fsm.common.utils/-state-handling-error-handler/index.html">StateHandlingErrorHandler</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()</span></span><span class="token punctuation">)</span> : <a href="../-default-states-machine/index.html">DefaultStatesMachine</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt; </span>, <a href="../-updatable-states-machine/index.html">UpdatableStatesMachine</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt; </span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L22">source</a>)</span></span></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">class </span><a href="index.html">DefaultUpdatableStatesMachine</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator"> : </span><a href="../-state/index.html">State</a><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">statesManager<span class="token operator">: </span><a href="../-states-manager/index.html">StatesManager</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">handlers<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../-checkable-handler-holder/index.html">CheckableHandlerHolder</a><span class="token operator">&lt;</span><span class="token keyword">in </span><a href="index.html">T</a><span class="token punctuation">, </span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><a href="../../dev.inmo.micro_utils.fsm.common.utils/-state-handling-error-handler/index.html">StateHandlingErrorHandler</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()</span></span><span class="token punctuation">)</span> : <a href="../-default-states-machine/index.html">DefaultStatesMachine</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt; </span>, <a href="../-updatable-states-machine/index.html">UpdatableStatesMachine</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt; </span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L23">source</a>)</span></span></div></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button><button class="section-tab" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION,EXTENSION_PROPERTY,EXTENSION_FUNCTION">Members &amp; Extensions</button></div>

View File

@@ -46,7 +46,7 @@
</button>
<div class="navigation-controls--break ui-kit_mobile-only"></div>
<div class="library-version" id="library-version">
0.24.3 </div>
0.24.4 </div>
<div class="navigation-controls">
<div class="filter-section filter-section_loading" id="filter-section">
<button class="platform-tag platform-selector common-like" data-active=""
@@ -109,7 +109,7 @@
<div class="cover ">
<h1 class="cover"><span>perform</span><wbr></wbr><span>State</span><wbr></wbr><span><span>Update</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="perform-state-update.html"><span class="token function">performStateUpdate</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">previousState<span class="token operator">: </span><a href="../../dev.inmo.micro_utils.common/-optional/index.html">Optional</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">actualState<span class="token operator">: </span><a href="index.html">T</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span></span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L39">source</a>)</span></span></div><p class="paragraph">Realization of this update will use the <span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span> of <a href="perform-state-update.html">previousState</a> in <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/statesJobs/#/PointingToDeclaration/">statesJobs</span> and <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/jobsStates/#/PointingToDeclaration/">jobsStates</span> if <a href="perform-state-update.html">previousState</a> is <a href="../../dev.inmo.micro_utils.common/-optional/-companion/presented.html">Optional.presented</a> and <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/shouldReplaceJob/#dev.inmo.micro_utils.common.Optional[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]#TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])/PointingToDeclaration/">shouldReplaceJob</span> has returned true for <a href="perform-state-update.html">previousState</a> and <a href="perform-state-update.html">actualState</a>. In other words, <span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span> of <a href="perform-state-update.html">previousState</a> WILL NOT be replaced with the new one if they are &quot;equal&quot;. Equality of states is solved in <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/shouldReplaceJob/#dev.inmo.micro_utils.common.Optional[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]#TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])/PointingToDeclaration/">shouldReplaceJob</span> and can be rewritten in subclasses</p></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="perform-state-update.html"><span class="token function">performStateUpdate</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">previousState<span class="token operator">: </span><a href="../../dev.inmo.micro_utils.common/-optional/index.html">Optional</a><span class="token operator">&lt;</span><a href="index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">actualState<span class="token operator">: </span><a href="index.html">T</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span></span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L40">source</a>)</span></span></div><p class="paragraph">Realization of this update will use the <span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span> of <a href="perform-state-update.html">previousState</a> in <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/statesJobs/#/PointingToDeclaration/">statesJobs</span> and <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/jobsStates/#/PointingToDeclaration/">jobsStates</span> if <a href="perform-state-update.html">previousState</a> is <a href="../../dev.inmo.micro_utils.common/-optional/-companion/presented.html">Optional.presented</a> and <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/shouldReplaceJob/#dev.inmo.micro_utils.common.Optional[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]#TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])/PointingToDeclaration/">shouldReplaceJob</span> has returned true for <a href="perform-state-update.html">previousState</a> and <a href="perform-state-update.html">actualState</a>. In other words, <span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span> of <a href="perform-state-update.html">previousState</a> WILL NOT be replaced with the new one if they are &quot;equal&quot;. Equality of states is solved in <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/DefaultUpdatableStatesMachine/shouldReplaceJob/#dev.inmo.micro_utils.common.Optional[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]#TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])/PointingToDeclaration/">shouldReplaceJob</span> and can be rewritten in subclasses</p></div></div>
</div>
<div class="footer">
<a href="#content" id="go-to-top-link" class="footer--button footer--button_go-to-top"></a>

View File

@@ -46,7 +46,7 @@
</button>
<div class="navigation-controls--break ui-kit_mobile-only"></div>
<div class="library-version" id="library-version">
0.24.3 </div>
0.24.4 </div>
<div class="navigation-controls">
<div class="filter-section filter-section_loading" id="filter-section">
<button class="platform-tag platform-selector common-like" data-active=""
@@ -109,7 +109,7 @@
<div class="cover ">
<h1 class="cover"><span>update</span><wbr></wbr><span><span>Chain</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="update-chain.html"><span class="token function">updateChain</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">currentState<span class="token operator">: </span><a href="index.html">T</a><span class="token punctuation">, </span></span><span class="parameter ">newState<span class="token operator">: </span><a href="index.html">T</a></span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L71">source</a>)</span></span></div><p class="paragraph">Update chain with current state equal to <a href="update-chain.html">currentState</a> with <a href="update-chain.html">newState</a>. Behaviour of this update preforming in cases when <a href="update-chain.html">currentState</a> does not exist in <a href="../-states-manager/index.html">StatesManager</a> must be declared inside of realization of <a href="../-states-manager/update.html">StatesManager.update</a> function</p></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="update-chain.html"><span class="token function">updateChain</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">currentState<span class="token operator">: </span><a href="index.html">T</a><span class="token punctuation">, </span></span><span class="parameter ">newState<span class="token operator">: </span><a href="index.html">T</a></span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt#L78">source</a>)</span></span></div><p class="paragraph">Update chain with current state equal to <a href="update-chain.html">currentState</a> with <a href="update-chain.html">newState</a>. Behaviour of this update preforming in cases when <a href="update-chain.html">currentState</a> does not exist in <a href="../-states-manager/index.html">StatesManager</a> must be declared inside of realization of <a href="../-states-manager/update.html">StatesManager.update</a> function</p></div></div>
</div>
<div class="footer">
<a href="#content" id="go-to-top-link" class="footer--button footer--button_go-to-top"></a>