clear-af.js 1.0.0 β 1.0.2
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.
- package/README.md +90 -62
- package/README_FR.md +125 -0
- package/dist/index.d.ts +108 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -1
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +78 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/functions/camelify.html +7 -0
- package/docs/functions/capitalize.html +7 -0
- package/docs/functions/deepClone.html +7 -0
- package/docs/functions/isEmail.html +7 -0
- package/docs/functions/isEmpty.html +7 -0
- package/docs/functions/isType.html +8 -0
- package/docs/functions/isURL.html +7 -0
- package/docs/functions/kebabify.html +7 -0
- package/docs/functions/logHeader.html +6 -0
- package/docs/functions/logSeparator.html +5 -0
- package/docs/functions/noTwins.html +7 -0
- package/docs/functions/prettyDebug.html +7 -0
- package/docs/functions/prettyError.html +7 -0
- package/docs/functions/prettyInfo.html +7 -0
- package/docs/functions/prettySuccess.html +7 -0
- package/docs/functions/prettyWarn.html +7 -0
- package/docs/functions/snakify.html +7 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +87 -0
- package/docs/media/README_FR.md +125 -0
- package/docs/modules.html +69 -0
- package/package.json +4 -2
- package/src/index.ts +4 -251
- package/src/logging.ts +129 -0
- package/src/object_manipulation.ts +42 -0
- package/src/transformation.ts +89 -0
- package/src/validation.ts +79 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>snakify | clear-af.js</title><meta name="description" content="Documentation for clear-af.js"/><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 defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">clear-af.js</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">snakify</a></li></ul><h1>Function snakify</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="snakify"><span class="tsd-kind-call-signature">snakify</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">str</span><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><a href="#snakify" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><code class="tsd-tag">Function</code><div class="tsd-comment tsd-typography"><p>Transform a string to snake_case format</p>
|
|
2
|
+
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">str</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The string to transform</p>
|
|
3
|
+
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><p>The string in snake_case format</p>
|
|
4
|
+
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-0">snakify</span><span class="hl-1">(</span><span class="hl-2">"hello world"</span><span class="hl-1">); </span><span class="hl-6">// "hello_world"</span><br/><span class="hl-0">snakify</span><span class="hl-1">(</span><span class="hl-2">"C'est un test"</span><span class="hl-1">); </span><span class="hl-6">// "ceststun_test"</span><br/><span class="hl-0">snakify</span><span class="hl-1">(</span><span class="hl-2">"foo bar baz"</span><span class="hl-1">); </span><span class="hl-6">// "foo_bar_baz"</span>
|
|
5
|
+
</code><button type="button">Copy</button></pre>
|
|
6
|
+
|
|
7
|
+
</div></div><aside class="tsd-sources"><ul><li>Defined in transformation.ts:62</li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">clear-af.js</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>clear-af.js</title><meta name="description" content="Documentation for clear-af.js"/><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 defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">clear-af.js</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>clear-af.js</h1></div><h2>Hierarchy Summary</h2></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">clear-af.js</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/docs/index.html
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>clear-af.js</title><meta name="description" content="Documentation for clear-af.js"/><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 defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">clear-af.js</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>clear-af.js</h1></div><div class="tsd-panel tsd-typography"><h1 id="clear-afjs" class="tsd-anchor-link">clear-af.js<a href="#clear-afjs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
|
|
2
|
+
<p>A JavaScript package packed with utilities to make your code <strong>readable af</strong>. Because clarity is the key to survival in programming.</p>
|
|
3
|
+
<p>π <strong>Languages</strong> : <a href="#">π¬π§ English</a> | <a href="media/README_FR.md">π«π· FranΓ§ais</a></p>
|
|
4
|
+
<p>π <strong><a href="https://froostdev.github.io/clear-af.js/">Full Documentation</a></strong></p>
|
|
5
|
+
<hr>
|
|
6
|
+
<h2 id="π¦-installation" class="tsd-anchor-link">π¦ Installation<a href="#π¦-installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
7
|
+
<pre><code class="bash"><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">install</span><span class="hl-1"> </span><span class="hl-2">clear-af</span>
|
|
8
|
+
</code><button type="button">Copy</button></pre>
|
|
9
|
+
|
|
10
|
+
<hr>
|
|
11
|
+
<h2 id="π-quick-start" class="tsd-anchor-link">π Quick Start<a href="#π-quick-start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
12
|
+
<pre><code class="javascript"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">clear</span><span class="hl-1"> = </span><span class="hl-0">require</span><span class="hl-1">(</span><span class="hl-2">'clear-af'</span><span class="hl-1">);</span><br/><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">prettyError</span><span class="hl-1">(</span><span class="hl-2">"An error!"</span><span class="hl-1">);</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">camelify</span><span class="hl-1">(</span><span class="hl-2">"hello world"</span><span class="hl-1">); </span><span class="hl-6">// "helloWorld"</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">isEmpty</span><span class="hl-1">(</span><span class="hl-5">data</span><span class="hl-1">);</span>
|
|
13
|
+
</code><button type="button">Copy</button></pre>
|
|
14
|
+
|
|
15
|
+
<hr>
|
|
16
|
+
<h2 id="β¨-features" class="tsd-anchor-link">β¨ Features<a href="#β¨-features" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
17
|
+
<h3 id="π-improved-logging" class="tsd-anchor-link">π Improved Logging<a href="#π-improved-logging" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
18
|
+
<p>Colored and formatted messages for better debugging.</p>
|
|
19
|
+
<pre><code class="javascript"><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">prettyError</span><span class="hl-1">(</span><span class="hl-5">error</span><span class="hl-1">);</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">prettySuccess</span><span class="hl-1">(</span><span class="hl-5">message</span><span class="hl-1">);</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">prettyWarn</span><span class="hl-1">(</span><span class="hl-5">warning</span><span class="hl-1">);</span>
|
|
20
|
+
</code><button type="button">Copy</button></pre>
|
|
21
|
+
|
|
22
|
+
<h3 id="β
-easy-validation" class="tsd-anchor-link">β
Easy Validation<a href="#β
-easy-validation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
23
|
+
<p>Verify your data quickly.</p>
|
|
24
|
+
<pre><code class="javascript"><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">isEmpty</span><span class="hl-1">(</span><span class="hl-5">value</span><span class="hl-1">);</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">isEmail</span><span class="hl-1">(</span><span class="hl-2">"test@example.com"</span><span class="hl-1">);</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">isURL</span><span class="hl-1">(</span><span class="hl-2">"https://example.com"</span><span class="hl-1">);</span>
|
|
25
|
+
</code><button type="button">Copy</button></pre>
|
|
26
|
+
|
|
27
|
+
<h3 id="π-object-manipulation" class="tsd-anchor-link">π Object Manipulation<a href="#π-object-manipulation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
28
|
+
<p>Deep clone and manipulate your data.</p>
|
|
29
|
+
<pre><code class="javascript"><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">deepClone</span><span class="hl-1">(</span><span class="hl-5">obj</span><span class="hl-1">);</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">noTwins</span><span class="hl-1">([</span><span class="hl-7">1</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">2</span><span class="hl-1">, </span><span class="hl-7">3</span><span class="hl-1">]); </span><span class="hl-6">// [1, 2, 3]</span>
|
|
30
|
+
</code><button type="button">Copy</button></pre>
|
|
31
|
+
|
|
32
|
+
<h3 id="π-string-transformation" class="tsd-anchor-link">π String Transformation<a href="#π-string-transformation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
33
|
+
<p>Convert your strings to different formats.</p>
|
|
34
|
+
<pre><code class="javascript"><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">camelify</span><span class="hl-1">(</span><span class="hl-2">"hello world"</span><span class="hl-1">); </span><span class="hl-6">// "helloWorld"</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">kebabify</span><span class="hl-1">(</span><span class="hl-2">"hello world"</span><span class="hl-1">); </span><span class="hl-6">// "hello-world"</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">snakify</span><span class="hl-1">(</span><span class="hl-2">"hello world"</span><span class="hl-1">); </span><span class="hl-6">// "hello_world"</span><br/><span class="hl-5">clear</span><span class="hl-1">.</span><span class="hl-0">capitalize</span><span class="hl-1">(</span><span class="hl-2">"hello"</span><span class="hl-1">); </span><span class="hl-6">// "Hello"</span>
|
|
35
|
+
</code><button type="button">Copy</button></pre>
|
|
36
|
+
|
|
37
|
+
<hr>
|
|
38
|
+
<h2 id="π-complete-api" class="tsd-anchor-link">π Complete API<a href="#π-complete-api" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
39
|
+
<h3 id="logging" class="tsd-anchor-link">Logging<a href="#logging" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
40
|
+
<ul>
|
|
41
|
+
<li><code>prettyError(message, showTime?)</code></li>
|
|
42
|
+
<li><code>prettyWarn(message, showTime?)</code></li>
|
|
43
|
+
<li><code>prettySuccess(message, showTime?)</code></li>
|
|
44
|
+
<li><code>prettyInfo(message, showTime?)</code></li>
|
|
45
|
+
<li><code>prettyDebug(message, showTime?)</code></li>
|
|
46
|
+
<li><code>logSeparator()</code></li>
|
|
47
|
+
<li><code>logHeader(title)</code></li>
|
|
48
|
+
</ul>
|
|
49
|
+
<h3 id="validation" class="tsd-anchor-link">Validation<a href="#validation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
50
|
+
<ul>
|
|
51
|
+
<li><code>isEmpty(value)</code></li>
|
|
52
|
+
<li><code>isType(value, type)</code></li>
|
|
53
|
+
<li><code>isEmail(email)</code></li>
|
|
54
|
+
<li><code>isURL(url)</code></li>
|
|
55
|
+
</ul>
|
|
56
|
+
<h3 id="objects-arrays" class="tsd-anchor-link">Objects & Arrays<a href="#objects-arrays" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
57
|
+
<ul>
|
|
58
|
+
<li><code>deepClone(obj)</code></li>
|
|
59
|
+
<li><code>noTwins(array)</code></li>
|
|
60
|
+
</ul>
|
|
61
|
+
<h3 id="string-transformation" class="tsd-anchor-link">String Transformation<a href="#string-transformation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
62
|
+
<ul>
|
|
63
|
+
<li><code>camelify(string)</code></li>
|
|
64
|
+
<li><code>kebabify(string)</code></li>
|
|
65
|
+
<li><code>snakify(string)</code></li>
|
|
66
|
+
<li><code>capitalize(string)</code></li>
|
|
67
|
+
</ul>
|
|
68
|
+
<hr>
|
|
69
|
+
<h2 id="π€-faq" class="tsd-anchor-link">π€ FAQ<a href="#π€-faq" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
70
|
+
<p><strong>Q: Why "-af" in the name?</strong><br>
|
|
71
|
+
A: Because your code should be readable <em>af</em>, mate.</p>
|
|
72
|
+
<p><strong>Q: Is it compatible with TypeScript?</strong><br>
|
|
73
|
+
A: Yes! TypeScript types are included.</p>
|
|
74
|
+
<p><strong>Q: Will it slow down my app?</strong><br>
|
|
75
|
+
A: No, zero overhead. These are just helpers.</p>
|
|
76
|
+
<hr>
|
|
77
|
+
<h2 id="π-license" class="tsd-anchor-link">π License<a href="#π-license" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
78
|
+
<p>MIT - Free to use as you see fit.</p>
|
|
79
|
+
<hr>
|
|
80
|
+
<h2 id="π€-contributing" class="tsd-anchor-link">π€ Contributing<a href="#π€-contributing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
81
|
+
<p>Contributions are welcome!</p>
|
|
82
|
+
<pre><code class="bash"><span class="hl-0">git</span><span class="hl-1"> </span><span class="hl-2">clone</span><span class="hl-1"> </span><span class="hl-2">https://github.com/FroostDev/clear-af.js</span><br/><span class="hl-0">cd</span><span class="hl-1"> </span><span class="hl-2">clear-af.js</span><br/><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">install</span><br/><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">run</span><span class="hl-1"> </span><span class="hl-2">build</span>
|
|
83
|
+
</code><button type="button">Copy</button></pre>
|
|
84
|
+
|
|
85
|
+
<hr>
|
|
86
|
+
<p><strong>clear-af.js</strong> - <em>Because clarity is the developer's mental health.</em> π€</p>
|
|
87
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#clear-afjs"><span>clear-<wbr/>af.js</span></a><ul><li><a href="#π¦-installation"><span>π¦ <wbr/>Installation</span></a></li><li><a href="#π-quick-start"><span>π <wbr/>Quick <wbr/>Start</span></a></li><li><a href="#β¨-features"><span>β¨ <wbr/>Features</span></a></li><li><ul><li><a href="#π-improved-logging"><span>π <wbr/>Improved <wbr/>Logging</span></a></li><li><a href="#β
-easy-validation"><span>β
<wbr/>Easy <wbr/>Validation</span></a></li><li><a href="#π-object-manipulation"><span>π <wbr/>Object <wbr/>Manipulation</span></a></li><li><a href="#π-string-transformation"><span>π <wbr/>String <wbr/>Transformation</span></a></li></ul></li><li><a href="#π-complete-api"><span>π <wbr/>Complete <wbr/>API</span></a></li><li><ul><li><a href="#logging"><span>Logging</span></a></li><li><a href="#validation"><span>Validation</span></a></li><li><a href="#objects-arrays"><span>Objects & <wbr/>Arrays</span></a></li><li><a href="#string-transformation"><span>String <wbr/>Transformation</span></a></li></ul></li><li><a href="#π€-faq"><span>π€ <wbr/>FAQ</span></a></li><li><a href="#π-license"><span>π <wbr/>License</span></a></li><li><a href="#π€-contributing"><span>π€ <wbr/>Contributing</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">clear-af.js</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# clear-af.js
|
|
2
|
+
|
|
3
|
+
Un package JavaScript rempli d'utilitaires pour rendre votre code **lisible af**. Parce que la clartΓ©, c'est la clΓ© de la survie en programmation.
|
|
4
|
+
|
|
5
|
+
π **Languages** : [π¬π§ English](README.md) | [π«π· FranΓ§ais](#)
|
|
6
|
+
|
|
7
|
+
π **[Documentation ComplΓ¨te](https://froostdev.github.io/clear-af.js/)**
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## π¦ Installation
|
|
12
|
+
```bash
|
|
13
|
+
npm install clear-af
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## π Utilisation rapide
|
|
19
|
+
```javascript
|
|
20
|
+
const clear = require('clear-af');
|
|
21
|
+
|
|
22
|
+
clear.prettyError("Une erreur !");
|
|
23
|
+
clear.camelify("hello world"); // "helloWorld"
|
|
24
|
+
clear.isEmpty(data);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## β¨ FonctionnalitΓ©s
|
|
30
|
+
|
|
31
|
+
### π Logging amΓ©liorΓ©
|
|
32
|
+
Messages colorΓ©s et formatΓ©s pour un meilleur debugging.
|
|
33
|
+
```javascript
|
|
34
|
+
clear.prettyError(error);
|
|
35
|
+
clear.prettySuccess(message);
|
|
36
|
+
clear.prettyWarn(warning);
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### β
Validation facile
|
|
40
|
+
VΓ©rifiez vos donnΓ©es rapidement.
|
|
41
|
+
```javascript
|
|
42
|
+
clear.isEmpty(value);
|
|
43
|
+
clear.isEmail("test@example.com");
|
|
44
|
+
clear.isURL("https://example.com");
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### π Manipulation d'objets
|
|
48
|
+
Clonez profondΓ©ment et manipulez vos donnΓ©es.
|
|
49
|
+
```javascript
|
|
50
|
+
clear.deepClone(obj);
|
|
51
|
+
clear.noTwins([1, 2, 2, 3]); // [1, 2, 3]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### π Transformation de strings
|
|
55
|
+
Convertissez vos strings en diffΓ©rents formats.
|
|
56
|
+
```javascript
|
|
57
|
+
clear.camelify("hello world"); // "helloWorld"
|
|
58
|
+
clear.kebabify("hello world"); // "hello-world"
|
|
59
|
+
clear.snakify("hello world"); // "hello_world"
|
|
60
|
+
clear.capitalize("hello"); // "Hello"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## π API ComplΓ¨te
|
|
66
|
+
|
|
67
|
+
### Logging
|
|
68
|
+
- `prettyError(message, showTime?)`
|
|
69
|
+
- `prettyWarn(message, showTime?)`
|
|
70
|
+
- `prettySuccess(message, showTime?)`
|
|
71
|
+
- `prettyInfo(message, showTime?)`
|
|
72
|
+
- `prettyDebug(message, showTime?)`
|
|
73
|
+
- `logSeparator()`
|
|
74
|
+
- `logHeader(title)`
|
|
75
|
+
|
|
76
|
+
### Validation
|
|
77
|
+
- `isEmpty(value)`
|
|
78
|
+
- `isType(value, type)`
|
|
79
|
+
- `isEmail(email)`
|
|
80
|
+
- `isURL(url)`
|
|
81
|
+
|
|
82
|
+
### Objets & Arrays
|
|
83
|
+
- `deepClone(obj)`
|
|
84
|
+
- `noTwins(array)`
|
|
85
|
+
|
|
86
|
+
### Transformation de strings
|
|
87
|
+
- `camelify(string)`
|
|
88
|
+
- `kebabify(string)`
|
|
89
|
+
- `snakify(string)`
|
|
90
|
+
- `capitalize(string)`
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## π€ FAQ
|
|
95
|
+
|
|
96
|
+
**Q: Pourquoi "-af" dans le nom ?**
|
|
97
|
+
R: Parce que ton code doit Γͺtre lisible *af*, mec.
|
|
98
|
+
|
|
99
|
+
**Q: Compatible avec TypeScript ?**
|
|
100
|
+
R: Oui ! Les types TypeScript sont inclus.
|
|
101
|
+
|
|
102
|
+
**Q: Γa ralentit mon app ?**
|
|
103
|
+
R: Non, zΓ©ro overhead. Ce ne sont que des helpers.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## π Licence
|
|
108
|
+
|
|
109
|
+
MIT - Libre de l'utiliser comme bon vous semble.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## π€ Contribution
|
|
114
|
+
|
|
115
|
+
Les contributions sont bienvenues !
|
|
116
|
+
```bash
|
|
117
|
+
git clone https://github.com/FroostDev/clear-af.js
|
|
118
|
+
cd clear-af.js
|
|
119
|
+
npm install
|
|
120
|
+
npm run build
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
**clear-af.js** - *Parce que la clartΓ©, c'est la santΓ© mentale du dev.* π€
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>clear-af.js</title><meta name="description" content="Documentation for clear-af.js"/><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 defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">clear-af.js</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"></ul><h1>clear-af.js</h1></div><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
2
|
+
logHeader"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
3
|
+
logHeader</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="logheader"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/logHeader.html">logHeader</a><a href="#logheader" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
4
|
+
logSeparator"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
5
|
+
logSeparator</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="logseparator"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/logSeparator.html">logSeparator</a><a href="#logseparator" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
6
|
+
prettyDebug"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
7
|
+
prettyDebug</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="prettydebug"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/prettyDebug.html">prettyDebug</a><a href="#prettydebug" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
8
|
+
prettyError"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
9
|
+
prettyError</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="prettyerror"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/prettyError.html">prettyError</a><a href="#prettyerror" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
10
|
+
prettyInfo"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
11
|
+
prettyInfo</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="prettyinfo"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/prettyInfo.html">prettyInfo</a><a href="#prettyinfo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
12
|
+
prettySuccess"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
13
|
+
prettySuccess</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="prettysuccess"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/prettySuccess.html">prettySuccess</a><a href="#prettysuccess" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
14
|
+
prettyWarn"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Logging
|
|
15
|
+
prettyWarn</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="prettywarn"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/prettyWarn.html">prettyWarn</a><a href="#prettywarn" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Object Manipulation
|
|
16
|
+
deepClone"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Object Manipulation
|
|
17
|
+
deepClone</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="deepclone"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/deepClone.html">deepClone</a><a href="#deepclone" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Object Manipulation
|
|
18
|
+
noTwins"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Object Manipulation
|
|
19
|
+
noTwins</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="notwins"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/noTwins.html">noTwins</a><a href="#notwins" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
20
|
+
camelify"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Transformation
|
|
21
|
+
camelify</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="camelify"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/camelify.html">camelify</a><a href="#camelify" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
22
|
+
capitalize"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Transformation
|
|
23
|
+
capitalize</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="capitalize"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/capitalize.html">capitalize</a><a href="#capitalize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
24
|
+
kebabify"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Transformation
|
|
25
|
+
kebabify</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="kebabify"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/kebabify.html">kebabify</a><a href="#kebabify" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
26
|
+
snakify"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Transformation
|
|
27
|
+
snakify</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="snakify"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/snakify.html">snakify</a><a href="#snakify" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
28
|
+
isEmail"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Validation
|
|
29
|
+
isEmail</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="isemail"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/isEmail.html">isEmail</a><a href="#isemail" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
30
|
+
isEmpty"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Validation
|
|
31
|
+
isEmpty</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="isempty"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/isEmpty.html">isEmpty</a><a href="#isempty" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
32
|
+
isType"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Validation
|
|
33
|
+
isType</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="istype"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/isType.html">isType</a><a href="#istype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
34
|
+
isURL"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h2>Validation
|
|
35
|
+
isURL</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="isurl"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><a href="functions/isURL.html">isURL</a><a href="#isurl" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
36
|
+
logHeader"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
37
|
+
logHeader</summary><div><a href="#logheader"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>log<wbr/>Header</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
38
|
+
logSeparator"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
39
|
+
logSeparator</summary><div><a href="#logseparator"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>log<wbr/>Separator</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
40
|
+
prettyDebug"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
41
|
+
prettyDebug</summary><div><a href="#prettydebug"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>pretty<wbr/>Debug</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
42
|
+
prettyError"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
43
|
+
prettyError</summary><div><a href="#prettyerror"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>pretty<wbr/>Error</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
44
|
+
prettyInfo"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
45
|
+
prettyInfo</summary><div><a href="#prettyinfo"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>pretty<wbr/>Info</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
46
|
+
prettySuccess"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
47
|
+
prettySuccess</summary><div><a href="#prettysuccess"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>pretty<wbr/>Success</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Logging
|
|
48
|
+
prettyWarn"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Logging
|
|
49
|
+
prettyWarn</summary><div><a href="#prettywarn"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>pretty<wbr/>Warn</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Object Manipulation
|
|
50
|
+
deepClone"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Object Manipulation
|
|
51
|
+
deepClone</summary><div><a href="#deepclone"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>deep<wbr/>Clone</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Object Manipulation
|
|
52
|
+
noTwins"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Object Manipulation
|
|
53
|
+
noTwins</summary><div><a href="#notwins"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>no<wbr/>Twins</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
54
|
+
camelify"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Transformation
|
|
55
|
+
camelify</summary><div><a href="#camelify"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>camelify</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
56
|
+
capitalize"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Transformation
|
|
57
|
+
capitalize</summary><div><a href="#capitalize"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>capitalize</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
58
|
+
kebabify"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Transformation
|
|
59
|
+
kebabify</summary><div><a href="#kebabify"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>kebabify</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Transformation
|
|
60
|
+
snakify"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Transformation
|
|
61
|
+
snakify</summary><div><a href="#snakify"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>snakify</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
62
|
+
isEmail"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Validation
|
|
63
|
+
isEmail</summary><div><a href="#isemail"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>is<wbr/>Email</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
64
|
+
isEmpty"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Validation
|
|
65
|
+
isEmpty</summary><div><a href="#isempty"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>is<wbr/>Empty</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
66
|
+
isType"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Validation
|
|
67
|
+
isType</summary><div><a href="#istype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>is<wbr/>Type</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Validation
|
|
68
|
+
isURL"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Validation
|
|
69
|
+
isURL</summary><div><a href="#isurl"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>is<wbr/>URL</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current">clear-af.js</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clear-af.js",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Make your code readable af with zero bullsh*t utilities.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript",
|
|
@@ -24,9 +24,11 @@
|
|
|
24
24
|
"type": "commonjs",
|
|
25
25
|
"main": "index.js",
|
|
26
26
|
"scripts": {
|
|
27
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
27
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
28
|
+
"docs": "typedoc --out docs src"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
31
|
+
"typedoc": "^0.28.18",
|
|
30
32
|
"typescript": "^6.0.2"
|
|
31
33
|
}
|
|
32
34
|
}
|