documon
Version:
A documentation system for mortals. Use with any language.
1,021 lines (515 loc) • 31 kB
HTML
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>dirutils</title>
<meta name="description" content="A collection of utilities for manipulating directories syncronously.">
<!-- Normalize -->
<link rel="stylesheet" href="assets/vendor/normalize.css">
<!-- prettify -->
<link rel="stylesheet" href="assets/vendor/prettify/codamike.css">
<script src="assets/vendor/prettify/prettify.js"></script>
<!-- Documon Pages Info. (Used by various classes to identify this page.) -->
<script>
var pageCtx = {
id : "documon.dirutils",
name: "dirutils"
}
</script>
<!-- theme
<link rel="stylesheet" href="assets/fonts/Fira_Sans/FiraSans.css">
<link rel="stylesheet" href="assets/fonts/Inconsolata/inconsolata.css">
-->
<link rel="stylesheet" href="assets/css/pages.css">
<script src="assets/js/documon/Storage.js"></script>
<script src="assets/js/documon/Access.js"></script>
<script src="assets/js/documon/Pages.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-106684927-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<div class="page">
<div class="main-method">
<a name="methods"></a>
<div class="part-methods">
<a name="documon.dirutils"></a><a name="dirutils"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
dirutils ()
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">12</span>
</span>
</div>
<div class="member-description">
<div class="meta-block meta-block-klass">
<div class="meta-line"><span class="meta-label" >xpath</span> <span class="meta-target">documon.dirutils<span></div>
<div class="meta-line"><span class="meta-label" >file</span> <span class="meta-target">documon/src/dirutils.js<span></div>
</div>
<p>A collection of utilities for manipulating directories syncronously.</p>
</div>
</div>
</div>
</div>
<div class="parts">
<a name="methods"></a>
<div class="part-methods">
<div class="heading-part">Methods</div>
<a name="documon.dirutils.copydir"></a><a name="copydir"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
copydir (<span class="method-arguments">from</span>, <span class="method-arguments">to</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">193</span>
</span>
</div>
<div class="member-description">
<p>Copies the entire folder's heirarchy folder from one location to another. If the other location doesn't exists, it will be constructed.</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">from</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The source folder</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">to</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The destination folder (get's created if not exist)</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<a name="documon.dirutils.emptydir"></a><a name="emptydir"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
emptydir (<span class="method-arguments">who</span>, <span class="method-arguments">dryRun</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">224</span>
</span>
</div>
<div class="member-description">
<p>Recursively empties a folder of all it's contents (and all the sub-folder's contents), but leaves the source folder.</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">who</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The source folder</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">dryRun</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">boolean</span>
<div class="member-description">
<p>Prevents actual deletion, but still allows the return list to display what "will" be deleted.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="heading-returns">Returns
<span class="type">array</span>
</div>
<div class="member"><p>An array containing a list of paths to files and folders that we're deleted (or will be deleted when dryrun is true)</p></div>
</div>
</div>
<a name="documon.dirutils.exists"></a><a name="exists"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
exists (<span class="method-arguments">who</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">283</span>
</span>
</div>
<div class="member-description">
<p>Checks to see if a folder exists.</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">who</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The path to the folder.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="heading-returns">Returns
<span class="type">boolean</span>
</div>
<div class="member"><p>duh duh</p></div>
</div>
</div>
<a name="documon.dirutils.makedir"></a><a name="makedir"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
makedir (<span class="method-arguments">dest</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">43</span>
</span>
</div>
<div class="member-description">
<p>Creates a folder at the specified location. The sub-folder heirarchy is<br />
constructed as needed.</p>
<p>For example if a folder exists here:</p>
<pre><code> /path/to/folder</code></pre>
<p>… but the following sub-folders don't exists:</p>
<pre><code>/path/to/folder/sub/one/two/three</code></pre>
<p>… Then the "sub/one/two/three" tree will be constructed inside "/path/to/folder")</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">dest</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<span class="default-value">
path/to/make
</span>
<div class="member-description">
<p>The destination folder to create</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<a name="documon.dirutils.readdir"></a><a name="readdir"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
readdir (<span class="method-arguments">from</span>, <span class="method-arguments">filter</span>, <span class="method-arguments">recursive</span>, <span class="method-arguments">store</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">144</span>
</span>
</div>
<div class="member-description">
<p>Read a folder and returns an object containing all of the files and<br />
folder in arrays.</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">from</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The path to the folder to read.</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">filter</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">function</span>
<div class="member-description">
<p>A custom filter funciton.</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">recursive</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">boolean</span>
<div class="member-description">
<p>Should we retrieve sub-folders too?</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">store</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">object</span>
<div class="member-description">
<p>Used internally to store recursive findings.<br />
Note that you may also provide this argument and readdir will populate your<br />
existing files/folder list. But is recommended to leave this argument alone.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="heading-returns">Returns
<span class="type">object</span>
</div>
<div class="member"><p>An object containing a list of "files" and "folders"<br />
(as properties of the returned list), where each is an array.</p></div>
<div class="member">
<div class="heading-example">Example</div>
<div class="example-block">
<pre><code> var contents = readdir("/path/to/folder", null, true);
// yeids contents {
// files : [
// "/path/to/folder/1.foo",
// "/path/to/folder/2.bar",
// "/path/to/folder/3.png",
// "/path/to/folder/sub1/1.foo",
// "/path/to/folder/sub2/2.bar",
// "/path/to/folder/sub3/3.png"
// ],
// dirs : [
// "/path/to/folder/sub1",
// "/path/to/folder/sub2",
// "/path/to/folder/sub3"
//
// ]
// }</code></pre>
</div>
</div>
</div>
</div>
<a name="documon.dirutils.readExt"></a><a name="readExt"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
readExt (<span class="method-arguments">from</span>, <span class="method-arguments method-arg-optional">exts</span>, <span class="method-arguments method-arg-optional">recursive</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">79</span>
</span>
</div>
<div class="member-description">
<p>Collects files from a folder based on the specified extension (or<br />
extensions). Can be used to search recursively through all sub-folders, and can<br />
search multiple extensions.</p>
<p>Provided as shortcut for <a href="#readdir">readdir</a> with your own<br />
extension-checking filter.</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">from</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The path to search</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">exts</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string | array</span>
<span class="flag optional">optional</span>
<div class="member-description">
<p>The extension to look for (e.g. "jpg"). To<br />
search for multiple extensions, use an array e.g. ["jpg", "png", "gif"]</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">recursive</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">boolean</span>
<span class="flag optional">optional</span>
<div class="member-description">
<p>Find all matching files in all<br />
sub-folders.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="heading-returns">Returns
<span class="type">array</span>
</div>
<div class="member"><p>The resulting array contains only files that mathc the<br />
specified extension(s).</p></div>
</div>
</div>
<a name="documon.dirutils.removedir"></a><a name="removedir"></a>
<div class="member" >
<div class="member-name clearfix">
<span class="member-name-left">
removedir (<span class="method-arguments">who</span>, <span class="method-arguments">dryRun</span>)
</span>
<span class="member-name-right">
<span class="member-file">documon/src/dirutils.js</span>
<span class="member-line-number">261</span>
</span>
</div>
<div class="member-description">
<p>Recursively removes a folder and all of it's sub-folders as well.</p>
<div class="part-parameters">
<div class="heading-part">Parameters</div>
<div class="member">
<div class="member-block-group">
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">who</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">string</span>
<div class="member-description">
<p>The path to the folder</p>
</div>
</div>
</div>
</div>
<div class="member-block" >
<div class="member-block-left">
<span class="member-name">dryRun</span>
</div>
<div class="member-block-center">
<span class="member-name-right">
</span>
<div class="param-description">
<span class="type">boolean</span>
<div class="member-description">
<p>Prevents actual deletion, but still allows the return to return the list of items that "will" be deleted.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="heading-returns">Returns
<span class="type">array</span>
</div>
<div class="member"><p>An array of all the items that were deleted (or "will be" deleted if dryrun is true.</p></div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">Generated by <a href="http://www.documon.net" target="_blank">Documon</a></div>
</body>
</html>