clear-af.js 1.0.1 → 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/docs/index.html CHANGED
@@ -1,58 +1,87 @@
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><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>Un package JavaScript rempli d'utilitaires pour rendre votre code <strong>lisible af</strong>. Parce que la clarté, c'est la clé de la survie en programmation.</p>
3
- <blockquote>
4
- <p><strong>Le projet est encore en cours de developpement, la plupart des fonctions listées dans la présentation ne sont pas encore disponible et le package NPM n'est pas encore installable.</strong></p>
5
- </blockquote>
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>
6
5
  <hr>
7
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>
8
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>
9
8
  </code><button type="button">Copy</button></pre>
10
9
 
11
10
  <hr>
12
- <h2 id="🚀-utilisation-rapide" class="tsd-anchor-link">🚀 Utilisation rapide<a href="#🚀-utilisation-rapide" 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>
13
- <pre><code class="javascript"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">clearaf</span><span class="hl-1"> = </span><span class="hl-0">require</span><span class="hl-1">(</span><span class="hl-2">&#39;clear-af&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><br/><span class="hl-5">// Vos utilitaires arrivent ici</span>
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">&#39;clear-af&#39;</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">&quot;An error!&quot;</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">&quot;hello world&quot;</span><span class="hl-1">); </span><span class="hl-6">// &quot;helloWorld&quot;</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>
14
13
  </code><button type="button">Copy</button></pre>
15
14
 
16
15
  <hr>
17
- <h2 id="✨-fonctionnalités" class="tsd-anchor-link">✨ Fonctionnalités<a href="#✨-fonctionnalités" 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>
18
- <h3 id="🔍-debugging-amélioré" class="tsd-anchor-link">🔍 Debugging amélioré<a href="#🔍-debugging-amélioré" 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>
19
- <p>Parce que <code>console.log()</code> c'est pour les amateurs.</p>
20
- <pre><code class="javascript"><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">prettyLog</span><span class="hl-1">(</span><span class="hl-6">data</span><span class="hl-1">);</span><br/><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">prettyError</span><span class="hl-1">(</span><span class="hl-6">error</span><span class="hl-1">);</span><br/><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">prettyWarn</span><span class="hl-1">(</span><span class="hl-6">warning</span><span class="hl-1">);</span>
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>
21
20
  </code><button type="button">Copy</button></pre>
22
21
 
23
- <h3 id="📊-formatage-lisible" class="tsd-anchor-link">📊 Formatage lisible<a href="#📊-formatage-lisible" 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>
24
- <p>Transformez vos données en quelque chose de compréhensible.</p>
25
- <pre><code class="javascript"><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">formatJSON</span><span class="hl-1">(</span><span class="hl-6">obj</span><span class="hl-1">);</span><br/><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">formatArray</span><span class="hl-1">(</span><span class="hl-6">arr</span><span class="hl-1">);</span><br/><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">prettyPrint</span><span class="hl-1">(</span><span class="hl-6">anything</span><span class="hl-1">);</span>
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">&quot;test@example.com&quot;</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">&quot;https://example.com&quot;</span><span class="hl-1">);</span>
26
25
  </code><button type="button">Copy</button></pre>
27
26
 
28
- <h3 id="🎯-validation-facile" class="tsd-anchor-link">🎯 Validation facile<a href="#🎯-validation-facile" 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>
29
- <p>Clarifiez votre logique de validation.</p>
30
- <pre><code class="javascript"><span class="hl-7">if</span><span class="hl-1"> (</span><span class="hl-6">clear</span><span class="hl-1">.</span><span class="hl-0">isValid</span><span class="hl-1">(</span><span class="hl-6">data</span><span class="hl-1">)) {</span><br/><span class="hl-1"> </span><span class="hl-5">// Do something</span><br/><span class="hl-1">}</span>
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">&quot;hello world&quot;</span><span class="hl-1">); </span><span class="hl-6">// &quot;helloWorld&quot;</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">&quot;hello world&quot;</span><span class="hl-1">); </span><span class="hl-6">// &quot;hello-world&quot;</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">&quot;hello world&quot;</span><span class="hl-1">); </span><span class="hl-6">// &quot;hello_world&quot;</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">&quot;hello&quot;</span><span class="hl-1">); </span><span class="hl-6">// &quot;Hello&quot;</span>
31
35
  </code><button type="button">Copy</button></pre>
32
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 &amp; 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>
33
68
  <hr>
34
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>
35
- <p><strong>Q: Pourquoi &quot;-af&quot; dans le nom ?</strong><br>
36
- R: Parce que votre code doit être lisible <em>af</em>, mec.</p>
37
- <p><strong>Q: C'est lourd à utiliser ?</strong><br>
38
- R: Non, c'est ultra minimaliste. Just import and go.</p>
39
- <p><strong>Q: Compatible avec TypeScript ?</strong><br>
40
- R: Oui ! Les types TypeScript arrivent bientôt.</p>
41
- <p><strong>Q: Ça ralentit mon app ?</strong><br>
42
- R: Non, c'est juste des helpers utilitaires. Zéro overhead en production si vous l'utilisez à bon escient.</p>
70
+ <p><strong>Q: Why &quot;-af&quot; 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>
43
76
  <hr>
44
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>
45
- <p>MIT - Libre de l'utiliser comme bon vous semble.</p>
78
+ <p>MIT - Free to use as you see fit.</p>
46
79
  <hr>
47
- <h2 id="🤝-contribution" class="tsd-anchor-link">🤝 Contribution<a href="#🤝-contribution" 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>
48
- <p>Les contributions sont bienvenues ! Fork, crée une branche, commit, et ouvre une PR.</p>
49
- <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">test</span>
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>
50
83
  </code><button type="button">Copy</button></pre>
51
84
 
52
85
  <hr>
53
- <blockquote>
54
- <p><em>Créé par un développeur qui en avait marre de lire du code illisible.</em></p>
55
- </blockquote>
56
- <hr>
57
- <p><strong>clear-af.js</strong> - <em>Parce que la clarté, c'est la santé mentale du dev.</em></p>
58
- </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="#🚀-utilisation-rapide"><span>🚀 <wbr/>Utilisation rapide</span></a></li><li><a href="#✨-fonctionnalités"><span>✨ <wbr/>Fonctionnalités</span></a></li><li><ul><li><a href="#🔍-debugging-amélioré"><span>🔍 <wbr/>Debugging amélioré</span></a></li><li><a href="#📊-formatage-lisible"><span>📊 <wbr/>Formatage lisible</span></a></li><li><a href="#🎯-validation-facile"><span>🎯 <wbr/>Validation facile</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="#🤝-contribution"><span>🤝 <wbr/>Contribution</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>
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 &amp; <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.* 🖤
package/docs/modules.html CHANGED
@@ -1 +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-Functions"><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>Functions</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><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><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><dt class="tsd-member-summary" id="getdate"><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/getDate.html">getDate</a><a href="#getdate" 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><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><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><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><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><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><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><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><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><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><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><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><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><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><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></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-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Functions</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><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><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><a href="#getdate"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="assets/icons.svg#icon-64"></use></svg><span>get<wbr/>Date</span></a><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><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><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><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><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><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><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><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><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><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><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><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><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><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></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>
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.1",
3
+ "version": "1.0.2",
4
4
  "description": "Make your code readable af with zero bullsh*t utilities.",
5
5
  "keywords": [
6
6
  "javascript",