tool-shack 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/dom/addClickOutsideListener.d.ts +8 -0
  2. package/dist/dom/addClickOutsideListener.js +16 -0
  3. package/dist/dom/addClickOutsideListener.js.map +1 -0
  4. package/dist/dom/index.d.ts +1 -0
  5. package/dist/dom/index.js +1 -0
  6. package/dist/dom/index.js.map +1 -1
  7. package/dist/general/index.d.ts +3 -0
  8. package/dist/general/index.js +4 -0
  9. package/dist/general/index.js.map +1 -0
  10. package/dist/general/isEmpty.d.ts +7 -0
  11. package/dist/general/isEmpty.js +18 -0
  12. package/dist/general/isEmpty.js.map +1 -0
  13. package/dist/general/isNil.d.ts +7 -0
  14. package/dist/general/isNil.js +8 -0
  15. package/dist/general/isNil.js.map +1 -0
  16. package/dist/general/isValidJson.d.ts +7 -0
  17. package/dist/general/isValidJson.js +16 -0
  18. package/dist/general/isValidJson.js.map +1 -0
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/schedule/index.d.ts +1 -0
  23. package/dist/schedule/index.js +1 -0
  24. package/dist/schedule/index.js.map +1 -1
  25. package/dist/schedule/runAnimation.d.ts +11 -0
  26. package/dist/schedule/runAnimation.js +40 -0
  27. package/dist/schedule/runAnimation.js.map +1 -0
  28. package/dist/string/index.d.ts +1 -0
  29. package/dist/string/index.js +1 -0
  30. package/dist/string/index.js.map +1 -1
  31. package/dist/string/truncate.d.ts +9 -0
  32. package/dist/string/truncate.js +17 -0
  33. package/dist/string/truncate.js.map +1 -0
  34. package/docs/.nojekyll +0 -0
  35. package/docs/assets/highlight.css +22 -22
  36. package/docs/assets/icons.css +1043 -1043
  37. package/docs/assets/main.js +52 -52
  38. package/docs/assets/search.js +1 -1
  39. package/docs/assets/style.css +1388 -1388
  40. package/docs/index.html +1 -1
  41. package/docs/interfaces/dateTime.IDuration.html +1 -1
  42. package/docs/interfaces/dom.IExtendingElementProps.html +1 -1
  43. package/docs/modules/browser.html +7 -7
  44. package/docs/modules/dateTime.html +3 -3
  45. package/docs/modules/dom.html +14 -7
  46. package/docs/modules/general.html +16 -0
  47. package/docs/modules/schedule.html +9 -2
  48. package/docs/modules/string.html +11 -2
  49. package/docs/modules.html +1 -1
  50. package/package.json +1 -1
  51. package/src/dom/addClickOutsideListener.ts +16 -0
  52. package/src/dom/index.ts +1 -0
  53. package/src/general/index.ts +3 -0
  54. package/src/general/isEmpty.ts +21 -0
  55. package/src/general/isNil.ts +7 -0
  56. package/src/general/isValidJson.ts +15 -0
  57. package/src/index.ts +3 -2
  58. package/src/schedule/index.ts +1 -0
  59. package/src/schedule/runAnimation.ts +51 -0
  60. package/src/string/index.ts +1 -0
  61. package/src/string/truncate.ts +21 -0
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>general | Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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="../modules.html">Tool-Shack</a></li><li><a href="general.html">general</a></li></ul><h1>Module general</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Functions</h3><ul class="tsd-index-list"><li class="tsd-kind-function tsd-parent-kind-module"><a href="general.html#isEmpty" class="tsd-kind-icon">is<wbr/>Empty</a></li><li class="tsd-kind-function tsd-parent-kind-module"><a href="general.html#isNil" class="tsd-kind-icon">is<wbr/>Nil</a></li><li class="tsd-kind-function tsd-parent-kind-module"><a href="general.html#isValidJson" class="tsd-kind-icon">is<wbr/>Valid<wbr/>Json</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Functions</h2><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="isEmpty" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr/>Empty</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">is<wbr/>Empty<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/general/isEmpty.ts#L9">general/isEmpty.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
+ <p>Check if given value is empty</p>
3
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>value: <span class="tsd-signature-type">any</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
4
+ <p>Value to be checked</p>
5
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><div><p>Boolean indicating if given value is empty</p>
6
+ </div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="isNil" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr/>Nil</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">is<wbr/>Nil<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/general/isNil.ts#L7">general/isNil.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
7
+ <p>Check if value is equal to null or undefined</p>
8
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>value: <span class="tsd-signature-type">any</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
9
+ <p>Value to be checked</p>
10
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><div><p>Boolean indicating if value is equal to null or undefined</p>
11
+ </div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="isValidJson" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr/>Valid<wbr/>Json</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">is<wbr/>Valid<wbr/>Json<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/general/isValidJson.ts#L7">general/isValidJson.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
12
+ <p>Check if string is valid JSON</p>
13
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>value: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
14
+ <p>String value to be checked</p>
15
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><div><p>Boolean indicating if string value is a valid JSON</p>
16
+ </div></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="browser.html">browser</a></li><li class=" tsd-kind-module"><a href="dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="dom.html">dom</a></li><li class="current tsd-kind-module"><a href="general.html">general</a></li><li class=" tsd-kind-module"><a href="schedule.html">schedule</a></li><li class=" tsd-kind-module"><a href="string.html">string</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-function tsd-parent-kind-module"><a href="general.html#isEmpty" class="tsd-kind-icon">is<wbr/>Empty</a></li><li class="tsd-kind-function tsd-parent-kind-module"><a href="general.html#isNil" class="tsd-kind-icon">is<wbr/>Nil</a></li><li class="tsd-kind-function tsd-parent-kind-module"><a href="general.html#isValidJson" class="tsd-kind-icon">is<wbr/>Valid<wbr/>Json</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
@@ -1,6 +1,13 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>schedule | Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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="../modules.html">Tool-Shack</a></li><li><a href="schedule.html">schedule</a></li></ul><h1>Module schedule</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Functions</h3><ul class="tsd-index-list"><li class="tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><a href="schedule.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Functions</h2><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><a id="runAsync" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> run<wbr/>Async</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><li class="tsd-signature tsd-kind-icon">run<wbr/>Async<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/fb5bda8/src/schedule/runAsync.ts#L7">schedule/runAsync.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>schedule | Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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="../modules.html">Tool-Shack</a></li><li><a href="schedule.html">schedule</a></li></ul><h1>Module schedule</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Functions</h3><ul class="tsd-index-list"><li class="tsd-kind-function tsd-parent-kind-module"><a href="schedule.html#runAnimation" class="tsd-kind-icon">run<wbr/>Animation</a></li><li class="tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><a href="schedule.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Functions</h2><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="runAnimation" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> run<wbr/>Animation</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">run<wbr/>Animation<span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span>, autoStart<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>startAnimation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>stopAnimation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/schedule/runAnimation.ts#L8">schedule/runAnimation.ts:8</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
+ <p>Run function as animation using requestAnimationFrame</p>
3
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
4
+ <p>Function to be run as animation</p>
5
+ </div></div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></li><li><h5>autoStart: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
6
+ <p>If animation should start right away or just return callbacks</p>
7
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>startAnimation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>stopAnimation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h4><div><p>Callbacks to start animation (startAnimation) and stop animation (stopAnimation)</p>
8
+ </div><ul class="tsd-parameters"><li class="tsd-parameter"><h5>start<wbr/>Animation<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">start<wbr/>Animation<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/schedule/runAnimation.ts#L11">schedule/runAnimation.ts:11</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li><li class="tsd-parameter"><h5>stop<wbr/>Animation<span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-type-literal"><li class="tsd-signature tsd-kind-icon">stop<wbr/>Animation<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/schedule/runAnimation.ts#L11">schedule/runAnimation.ts:11</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></section><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><a id="runAsync" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> run<wbr/>Async</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><li class="tsd-signature tsd-kind-icon">run<wbr/>Async<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>fn<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/schedule/runAsync.ts#L7">schedule/runAsync.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
9
  <p>Run function in asynchronously in Worker</p>
3
10
  </div></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>fn: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
4
11
  <p>Function to be run asynchronously</p>
5
12
  </div></div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h4><div><p>Promise of expected result</p>
6
- </div></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="browser.html">browser</a></li><li class=" tsd-kind-module"><a href="dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="dom.html">dom</a></li><li class="current tsd-kind-module"><a href="schedule.html">schedule</a></li><li class=" tsd-kind-module"><a href="string.html">string</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><a href="schedule.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
13
+ </div></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="browser.html">browser</a></li><li class=" tsd-kind-module"><a href="dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="dom.html">dom</a></li><li class=" tsd-kind-module"><a href="general.html">general</a></li><li class="current tsd-kind-module"><a href="schedule.html">schedule</a></li><li class=" tsd-kind-module"><a href="string.html">string</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-function tsd-parent-kind-module"><a href="schedule.html#runAnimation" class="tsd-kind-icon">run<wbr/>Animation</a></li><li class="tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter"><a href="schedule.html#runAsync" class="tsd-kind-icon">run<wbr/>Async</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
@@ -1,6 +1,15 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>string | Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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="../modules.html">Tool-Shack</a></li><li><a href="string.html">string</a></li></ul><h1>Module string</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Functions</h3><ul class="tsd-index-list"><li class="tsd-kind-function tsd-parent-kind-module"><a href="string.html#escapeHTML" class="tsd-kind-icon">escapeHTML</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Functions</h2><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="escapeHTML" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> escapeHTML</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">escapeHTML<span class="tsd-signature-symbol">(</span>html<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/fb5bda8/src/string/escapeHTML.ts#L7">string/escapeHTML.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>string | Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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="../modules.html">Tool-Shack</a></li><li><a href="string.html">string</a></li></ul><h1>Module string</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Functions</h3><ul class="tsd-index-list"><li class="tsd-kind-function tsd-parent-kind-module"><a href="string.html#escapeHTML" class="tsd-kind-icon">escapeHTML</a></li><li class="tsd-kind-function tsd-parent-kind-module"><a href="string.html#truncate" class="tsd-kind-icon">truncate</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Functions</h2><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="escapeHTML" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> escapeHTML</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">escapeHTML<span class="tsd-signature-symbol">(</span>html<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/string/escapeHTML.ts#L7">string/escapeHTML.ts:7</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
2
  <p>Escape special HTML related characters from string</p>
3
3
  </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>html: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
4
4
  <p>String containing HTML related characters</p>
5
5
  </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div><p>Safe string with escaped HTML related characters</p>
6
- </div></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="browser.html">browser</a></li><li class=" tsd-kind-module"><a href="dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="dom.html">dom</a></li><li class=" tsd-kind-module"><a href="schedule.html">schedule</a></li><li class="current tsd-kind-module"><a href="string.html">string</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-function tsd-parent-kind-module"><a href="string.html#escapeHTML" class="tsd-kind-icon">escapeHTML</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
6
+ </div></li></ul></section><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"><a id="truncate" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagConst">Const</span> truncate</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"><li class="tsd-signature tsd-kind-icon">truncate<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, maxLength<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, appendedString<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/miskith/utensils/blob/00e25ee/src/string/truncate.ts#L9">string/truncate.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
7
+ <p>Truncate string to maximum given length if needed and append string at the end (by default &quot;...&quot;)</p>
8
+ </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>value: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
9
+ <p>String value to be truncated</p>
10
+ </div></div></li><li><h5>maxLength: <span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
11
+ <p>Maximum allowed length</p>
12
+ </div></div></li><li><h5>appendedString: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &#39;...&#39;</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
13
+ <p>String to append at the end, be default &quot;...&quot;</p>
14
+ </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div><p>Truncated value if needed otherwise original value</p>
15
+ </div></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="browser.html">browser</a></li><li class=" tsd-kind-module"><a href="dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="dom.html">dom</a></li><li class=" tsd-kind-module"><a href="general.html">general</a></li><li class=" tsd-kind-module"><a href="schedule.html">schedule</a></li><li class="current tsd-kind-module"><a href="string.html">string</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-function tsd-parent-kind-module"><a href="string.html#escapeHTML" class="tsd-kind-icon">escapeHTML</a></li><li class="tsd-kind-function tsd-parent-kind-module"><a href="string.html#truncate" class="tsd-kind-icon">truncate</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
package/docs/modules.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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"><h1> Tool-Shack</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Modules</h3><ul class="tsd-index-list"><li class="tsd-kind-module"><a href="modules/browser.html" class="tsd-kind-icon">browser</a></li><li class="tsd-kind-module"><a href="modules/dateTime.html" class="tsd-kind-icon">date<wbr/>Time</a></li><li class="tsd-kind-module"><a href="modules/dom.html" class="tsd-kind-icon">dom</a></li><li class="tsd-kind-module"><a href="modules/schedule.html" class="tsd-kind-icon">schedule</a></li><li class="tsd-kind-module"><a href="modules/string.html" class="tsd-kind-icon">string</a></li></ul></section></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="modules/browser.html">browser</a></li><li class=" tsd-kind-module"><a href="modules/dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="modules/dom.html">dom</a></li><li class=" tsd-kind-module"><a href="modules/schedule.html">schedule</a></li><li class=" tsd-kind-module"><a href="modules/string.html">string</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Tool-Shack</title><meta name="description" content="Documentation for Tool-Shack"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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">Tool-Shack</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></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"><h1> Tool-Shack</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><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>Modules</h3><ul class="tsd-index-list"><li class="tsd-kind-module"><a href="modules/browser.html" class="tsd-kind-icon">browser</a></li><li class="tsd-kind-module"><a href="modules/dateTime.html" class="tsd-kind-icon">date<wbr/>Time</a></li><li class="tsd-kind-module"><a href="modules/dom.html" class="tsd-kind-icon">dom</a></li><li class="tsd-kind-module"><a href="modules/general.html" class="tsd-kind-icon">general</a></li><li class="tsd-kind-module"><a href="modules/schedule.html" class="tsd-kind-icon">schedule</a></li><li class="tsd-kind-module"><a href="modules/string.html" class="tsd-kind-icon">string</a></li></ul></section></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="modules/browser.html">browser</a></li><li class=" tsd-kind-module"><a href="modules/dateTime.html">date<wbr/>Time</a></li><li class=" tsd-kind-module"><a href="modules/dom.html">dom</a></li><li class=" tsd-kind-module"><a href="modules/general.html">general</a></li><li class=" tsd-kind-module"><a href="modules/schedule.html">schedule</a></li><li class=" tsd-kind-module"><a href="modules/string.html">string</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-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-type-alias"><span class="tsd-kind-icon">Type alias</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></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/main.js"></script></body></html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tool-shack",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Collection of usefull functions to ease work",
5
5
  "main": "dist",
6
6
  "author": "David Myška",
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Add event listener to listen to clicks outside of given element
3
+ *
4
+ * @param element Node element outside which to listen to clicks
5
+ * @param fn Function to trigger when clicked outside
6
+ * @returns void
7
+ */
8
+ export const addClickOutsideListener = (element: HTMLElement, fn: () => any): void => {
9
+ document.addEventListener('click', (event: Event) => {
10
+ const target = event.target as HTMLElement;
11
+
12
+ if (!!target && !element.contains(target)) {
13
+ fn.call(this);
14
+ }
15
+ });
16
+ };
package/src/dom/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './interfaces';
2
2
 
3
3
  export * from './addAsyncEventListener';
4
+ export * from './addClickOutsideListener';
4
5
  export * from './addEventListener';
5
6
  export * from './appendAfter';
6
7
  export * from './appendBefore';
@@ -0,0 +1,3 @@
1
+ export * from './isEmpty';
2
+ export * from './isNil';
3
+ export * from './isValidJson';
@@ -0,0 +1,21 @@
1
+ import { isNil } from './isNil';
2
+
3
+ /**
4
+ * Check if given value is empty
5
+ *
6
+ * @param value Value to be checked
7
+ * @returns Boolean indicating if given value is empty
8
+ */
9
+ export const isEmpty = (value: any): boolean => {
10
+ if (value instanceof Function) {
11
+ return false;
12
+ }
13
+
14
+ return (
15
+ isNil(value) ||
16
+ (value instanceof Object &&
17
+ !Object.keys(value).length &&
18
+ Object.getPrototypeOf(value) === Object.prototype) ||
19
+ !value.valueOf().toString().length
20
+ );
21
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Check if value is equal to null or undefined
3
+ *
4
+ * @param value Value to be checked
5
+ * @returns Boolean indicating if value is equal to null or undefined
6
+ */
7
+ export const isNil = (value: any): boolean => value === undefined || value === null;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Check if string is valid JSON
3
+ *
4
+ * @param value String value to be checked
5
+ * @returns Boolean indicating if string value is a valid JSON
6
+ */
7
+ export const isValidJson = (value: string): boolean => {
8
+ try {
9
+ JSON.parse(value);
10
+ } catch (error: any) {
11
+ return false;
12
+ }
13
+
14
+ return true;
15
+ };
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './browser';
2
2
  export * from './dateTime';
3
3
  export * from './dom';
4
- export * from './schedule'
5
- export * from './string'
4
+ export * from './general';
5
+ export * from './schedule';
6
+ export * from './string';
@@ -1 +1,2 @@
1
+ export * from './runAnimation';
1
2
  export * from './runAsync';
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Run function as animation using requestAnimationFrame
3
+ *
4
+ * @param fn Function to be run as animation
5
+ * @param autoStart If animation should start right away or just return callbacks
6
+ * @returns Callbacks to start animation (startAnimation) and stop animation (stopAnimation)
7
+ */
8
+ export const runAnimation = (
9
+ fn: () => any,
10
+ autoStart = true,
11
+ ): { startAnimation: () => void; stopAnimation: () => void } => {
12
+ let isRunning = false;
13
+ let requestedAnimationFrame: number | null = null;
14
+
15
+ const runAnimation = (): void => {
16
+ requestedAnimationFrame = requestAnimationFrame((): void => {
17
+ fn.call(this);
18
+
19
+ if (isRunning) {
20
+ runAnimation();
21
+ }
22
+ });
23
+ };
24
+
25
+ const startAnimation = (): void => {
26
+ if (isRunning) {
27
+ return;
28
+ }
29
+
30
+ isRunning = true;
31
+ runAnimation();
32
+ };
33
+
34
+ const stopAnimation = (): void => {
35
+ if (!isRunning) {
36
+ return;
37
+ }
38
+
39
+ isRunning = false;
40
+
41
+ if (!!requestedAnimationFrame) {
42
+ cancelAnimationFrame(requestedAnimationFrame);
43
+ }
44
+ };
45
+
46
+ if (autoStart) {
47
+ startAnimation();
48
+ }
49
+
50
+ return { startAnimation, stopAnimation };
51
+ };
@@ -1 +1,2 @@
1
1
  export * from './escapeHTML';
2
+ export * from './truncate';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Truncate string to maximum given length if needed and append string at the end (by default "...")
3
+ *
4
+ * @param value String value to be truncated
5
+ * @param maxLength Maximum allowed length
6
+ * @param appendedString String to append at the end, be default "..."
7
+ * @returns Truncated value if needed otherwise original value
8
+ */
9
+ export const truncate = (
10
+ value: string,
11
+ maxLength: number,
12
+ appendedString: string = '...',
13
+ ): string => {
14
+ if (maxLength < appendedString.length) {
15
+ return appendedString.slice(0, maxLength);
16
+ }
17
+
18
+ return value.length > maxLength
19
+ ? value.slice(0, maxLength - appendedString.length) + appendedString
20
+ : value;
21
+ };