UNPKG

povtor

Version:

Repeat function call depending on the previous call result and specified conditions.

444 lines 24.4 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>RetrySettings | povtor</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">povtor</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> <input type="checkbox" id="tsd-filter-externals" checked /> <label class="tsd-widget" for="tsd-filter-externals">Externals</label> <input type="checkbox" id="tsd-filter-only-exported" /> <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../globals.html">Globals</a> </li> <li> <a href="../modules/_index_.html">&quot;index&quot;</a> </li> <li> <a href="_index_.retrysettings.html">RetrySettings</a> </li> </ul> <h1>Interface RetrySettings</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel tsd-comment"> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Settings of <a href="../modules/_index_.html#retry">retry</a> function.</p> </div> </div> </section> <section class="tsd-panel tsd-hierarchy"> <h3>Hierarchy</h3> <ul class="tsd-hierarchy"> <li> <span class="target">RetrySettings</span> </li> </ul> </section> <section class="tsd-panel tsd-kind-interface tsd-parent-kind-external-module"> <h3 class="tsd-before-signature">Indexable</h3> <div class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">[</span>field: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">unknown</span></div> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Settings of <a href="../modules/_index_.html#retry">retry</a> function.</p> </div> </div> </section> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section "> <h3>Properties</h3> <ul class="tsd-index-list"> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#action" class="tsd-kind-icon">action</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#actioncontext" class="tsd-kind-icon">action<wbr>Context</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#actionparams" class="tsd-kind-icon">action<wbr>Params</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#delay" class="tsd-kind-icon">delay</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#retryattempts" class="tsd-kind-icon">retry<wbr>Attempts</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#retryonerror" class="tsd-kind-icon">retry<wbr>OnError</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#retryqty" class="tsd-kind-icon">retry<wbr>Qty</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#retrytest" class="tsd-kind-icon">retry<wbr>Test</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#retrytimeout" class="tsd-kind-icon">retry<wbr>Timeout</a></li> <li class="tsd-kind-property tsd-parent-kind-interface"><a href="_index_.retrysettings.html#timelimit" class="tsd-kind-icon">time<wbr>Limit</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Properties</h2> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="action" class="tsd-anchor"></a> <h3>action</h3> <div class="tsd-signature tsd-kind-icon">action<span class="tsd-signature-symbol">:</span> <a href="../modules/_index_.html#retryaction" class="tsd-signature-type">RetryAction</a></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L11">index.ts:11</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A function that should be called.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="actioncontext" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> action<wbr>Context</h3> <div class="tsd-signature tsd-kind-icon">action<wbr>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L13">index.ts:13</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>An object that should be used as <code>this</code> when calling the action function.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="actionparams" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> action<wbr>Params</h3> <div class="tsd-signature tsd-kind-icon">action<wbr>Params<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L15">index.ts:15</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>An array of parameters that should be passed into the action function.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="delay" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> delay</h3> <div class="tsd-signature tsd-kind-icon">delay<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L20">index.ts:20</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>An amount of milliseconds before first call of the action function. When the value is not specified or is negative, the action function will be called immediately first time.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="retryattempts" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> retry<wbr>Attempts</h3> <div class="tsd-signature tsd-kind-icon">retry<wbr>Attempts<span class="tsd-signature-symbol">:</span> <a href="../modules/_index_.html#retrytimeout" class="tsd-signature-type">RetryTimeout</a><span class="tsd-signature-symbol">[]</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L26">index.ts:26</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>An array specifying amount and timeouts between repeated calls of the action function. Each item can be a number or a function (see <a href="_index_.retrysettings.html#retrytimeout"><code>retryTimeout</code></a> setting for details). Has priority over <a href="_index_.retrysettings.html#retryqty"><code>retryQty</code></a> and <a href="_index_.retrysettings.html#retrytimeout"><code>retryTimeout</code></a> settings.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="retryonerror" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> retry<wbr>OnError</h3> <div class="tsd-signature tsd-kind-icon">retry<wbr>OnError<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><a href="../modules/_index_.html#retrytest" class="tsd-signature-type">RetryTest</a></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L44">index.ts:44</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A boolean value or a function returning boolean value that specifies whether the action function should be called again when the action function throws an error or returned promise is rejected. When not specified the call of the action function will not be repeated on an error.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="retryqty" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> retry<wbr>Qty</h3> <div class="tsd-signature tsd-kind-icon">retry<wbr>Qty<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L31">index.ts:31</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Maximum number of repeated calls of the action function. A negative value means no restriction. Default value is <code>-1</code>.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="retrytest" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> retry<wbr>Test</h3> <div class="tsd-signature tsd-kind-icon">retry<wbr>Test<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><a href="../modules/_index_.html#retrytest" class="tsd-signature-type">RetryTest</a></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L49">index.ts:49</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A boolean value or a function returning boolean value that specifies whether the action function should be called again after a made call. When not specified the action call will not be repeated.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="retrytimeout" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> retry<wbr>Timeout</h3> <div class="tsd-signature tsd-kind-icon">retry<wbr>Timeout<span class="tsd-signature-symbol">:</span> <a href="../modules/_index_.html#retrytimeout" class="tsd-signature-type">RetryTimeout</a></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L38">index.ts:38</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A timeout between repeated calls of the action function, or a function that returns such timeout. A negative or non-number value means the repeat call will be made without delay (this is applied by default). If specified function returns <code>false</code> then retry process will be finished and result promise will be fulfilled or rejected depending on result of the last action&#39;s call.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"> <a name="timelimit" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagOptional">Optional</span> time<wbr>Limit</h3> <div class="tsd-signature tsd-kind-icon">time<wbr>Limit<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/gamtiq/povtor/blob/master/src/index.ts#L58">index.ts:58</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Time in milliseconds specifying how long retry process can last starting from call of <code>retry</code> function. Elapsed time is checked before each retry attempt and when the time exceeds the given limit process will be finished and result promise will be fulfilled or rejected depending on result of the last action&#39;s call. <code>0</code> or negative value means no limit.</p> </div> </div> </section> </section> </div> <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <nav class="tsd-navigation primary"> <ul> <li class="globals "> <a href="../globals.html"><em>Globals</em></a> </li> <li class="current tsd-kind-external-module"> <a href="../modules/_index_.html">&quot;index&quot;</a> </li> </ul> </nav> <nav class="tsd-navigation secondary menu-sticky"> <ul class="before-current"> <li class=" tsd-kind-interface tsd-parent-kind-external-module"> <a href="_index_.errorresult.html" class="tsd-kind-icon">Error<wbr>Result</a> </li> <li class=" tsd-kind-interface tsd-parent-kind-external-module"> <a href="_index_.retryresult.html" class="tsd-kind-icon">Retry<wbr>Result</a> </li> </ul> <ul class="current"> <li class="current tsd-kind-interface tsd-parent-kind-external-module"> <a href="_index_.retrysettings.html" class="tsd-kind-icon">Retry<wbr>Settings</a> <ul> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#action" class="tsd-kind-icon">action</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#actioncontext" class="tsd-kind-icon">action<wbr>Context</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#actionparams" class="tsd-kind-icon">action<wbr>Params</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#delay" class="tsd-kind-icon">delay</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#retryattempts" class="tsd-kind-icon">retry<wbr>Attempts</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#retryonerror" class="tsd-kind-icon">retry<wbr>OnError</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#retryqty" class="tsd-kind-icon">retry<wbr>Qty</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#retrytest" class="tsd-kind-icon">retry<wbr>Test</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#retrytimeout" class="tsd-kind-icon">retry<wbr>Timeout</a> </li> <li class=" tsd-kind-property tsd-parent-kind-interface"> <a href="_index_.retrysettings.html#timelimit" class="tsd-kind-icon">time<wbr>Limit</a> </li> </ul> </li> </ul> <ul class="after-current"> <li class=" tsd-kind-interface tsd-parent-kind-external-module"> <a href="_index_.valueresult.html" class="tsd-kind-icon">Value<wbr>Result</a> </li> <li class=" tsd-kind-interface tsd-parent-kind-external-module"> <a href="_index_.withpromisefield.html" class="tsd-kind-icon">With<wbr>Promise<wbr>Field</a> </li> <li class=" tsd-kind-type-alias tsd-parent-kind-external-module"> <a href="../modules/_index_.html#actioncallresult" class="tsd-kind-icon">Action<wbr>Call<wbr>Result</a> </li> <li class=" tsd-kind-type-alias tsd-parent-kind-external-module"> <a href="../modules/_index_.html#getretrytimeout" class="tsd-kind-icon">Get<wbr>Retry<wbr>Timeout</a> </li> <li class=" tsd-kind-type-alias tsd-parent-kind-external-module"> <a href="../modules/_index_.html#retryaction" class="tsd-kind-icon">Retry<wbr>Action</a> </li> <li class=" tsd-kind-type-alias tsd-parent-kind-external-module"> <a href="../modules/_index_.html#retrytest" class="tsd-kind-icon">Retry<wbr>Test</a> </li> <li class=" tsd-kind-type-alias tsd-parent-kind-external-module"> <a href="../modules/_index_.html#retrytimeout" class="tsd-kind-icon">Retry<wbr>Timeout</a> </li> <li class=" tsd-kind-function tsd-parent-kind-external-module"> <a href="../modules/_index_.html#getpromisefield" class="tsd-kind-icon">get<wbr>Promise<wbr>Field</a> </li> <li class=" tsd-kind-function tsd-parent-kind-external-module"> <a href="../modules/_index_.html#retry" class="tsd-kind-icon">retry</a> </li> </ul> </nav> </div> </div> </div> <footer class="with-border-bottom"> <div class="container"> <h2>Legend</h2> <div class="tsd-legend-group"> <ul class="tsd-legend"> <li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li> <li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li> <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li> <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li> <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li> <li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li> <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li> <li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li> <li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li> <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li> <li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li> <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li> <li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li> <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li> <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li> <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li> <li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li> <li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li> <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li> <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li> <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li> <li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li> </ul> </div> </div> </footer> <div class="container tsd-generator"> <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p> </div> <div class="overlay"></div> <script src="../assets/js/main.js"></script> <script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script> </body> </html>