<commit_before><h1>Do Async</h1>
<p>Do Async is a tiny asynchronous wrapper for doing asynchronous calls in series and having the events play out in the proper sequence. The special aspect of this is you can break your chain at any time (unlike Promises) and it works both in the browser and in Node</p>

<h2>Installing:</h2>

<h3>Browser</h3>

<p>put this somewhere in your document</p>
<pre><script src="path/to/do-async.js"></script></pre><commit_msg>added install instructions<commit_after><h1>Do Async</h1>
<p>Do Async is a tiny asynchronous wrapper for doing asynchronous calls in series and having the events play out in the proper sequence. The special aspect of this is you can break your chain at any time (unlike Promises) and it works both in the browser and in Node</p>

<h2>Installing:</h2>

<h3>Browser</h3>

<p>put this somewhere in your document</p>
<pre>&lt;script src=&quot;path/to/do-async.js&quot;&gt;&lt;/script&gt;</pre>

<h3>Node</h3>
<p>Coming Soon...</p>
{'fraction_non_alphanumeric': 0.11938775510204082, 'fraction_numerical': 0.014285714285714285, 'mean_word_length': 5.055555555555555, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '697992', 'n_tokens_mistral': 316, 'n_tokens_neox': 306, 'n_words': 126}