UNPKG

file-js

Version:

Abstract representation of a pathname

2,387 lines (521 loc) 25.5 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>File - Documentation</title> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav> <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="File.html">File</a><ul class='methods'><li data-type='method'><a href="File.html#.create">create</a></li><li data-type='method'><a href="File.html#getAbsolutePath">getAbsolutePath</a></li><li data-type='method'><a href="File.html#getCanonicalPath">getCanonicalPath</a></li><li data-type='method'><a href="File.html#getDepthSync">getDepthSync</a></li><li data-type='method'><a href="File.html#getFiles">getFiles</a></li><li data-type='method'><a href="File.html#getFileSync">getFileSync</a></li><li data-type='method'><a href="File.html#getList">getList</a></li><li data-type='method'><a href="File.html#getListSync">getListSync</a></li><li data-type='method'><a href="File.html#getName">getName</a></li><li data-type='method'><a href="File.html#getPathExtension">getPathExtension</a></li><li data-type='method'><a href="File.html#isDirectory">isDirectory</a></li><li data-type='method'><a href="File.html#isDirectory">isDirectory</a></li><li data-type='method'><a href="File.html#isDirectory">isDirectory</a></li><li data-type='method'><a href="File.html#isDirectorySync">isDirectorySync</a></li><li data-type='method'><a href="File.html#isFileSync">isFileSync</a></li><li data-type='method'><a href="File.html#isHiddenSync">isHiddenSync</a></li><li data-type='method'><a href="File.html#isSocket">isSocket</a></li><li data-type='method'><a href="File.html#isSocketSync">isSocketSync</a></li><li data-type='method'><a href="File.html#rename">rename</a></li><li data-type='method'><a href="File.html#withLock">withLock</a></li></ul></li></ul> </nav> <div id="main"> <h1 class="page-title">File</h1> <section> <header> <h2> File </h2> </header> <article> <div class="container-overview"> <h4 class="name" id="File"><span class="type-signature"></span>new File<span class="signature">()</span><span class="type-signature"></span></h4> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line17">line 17</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <h4 class="name" id=".create"><span class="type-signature">(static) </span>create<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Static factory method to create an instance of File</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line542">line 542</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>File instance</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create();</code></pre> <h4 class="name" id="getAbsolutePath"><span class="type-signature"></span>getAbsolutePath<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Returns the absolutePath</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line418">line 418</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>String</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myFile'); console.log(file.getAbsolutePath());</code></pre> <h4 class="name" id="getCanonicalPath"><span class="type-signature"></span>getCanonicalPath<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Returns the canonical path</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line439">line 439</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>String</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myFile'); console.log(file.getCanonicalPath());</code></pre> <h4 class="name" id="getDepthSync"><span class="type-signature"></span>getDepthSync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously caculate the depth of a directory</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line379">line 379</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>boolean</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); console.log(file.getDepthSync());</code></pre> <h4 class="name" id="getFiles"><span class="type-signature"></span>getFiles<span class="signature">(glob<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4> <div class="description"> <p>Get list of file objects, if pathname is a directory</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>glob</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>file glob</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line313">line 313</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>a promise. If the Promise fulfils, the fulfilment value is a list of File objects</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; // get last modified time of all json files const file = File.create('./myDirectory'); file.getFiles('*.json') .then((jsonFiles) => { console.log(jsonFiles.map(file => file.lastModifiedSync())); });</code></pre> <h4 class="name" id="getFileSync"><span class="type-signature"></span>getFileSync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously get list of file objects, if pathname is a directory</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line350">line 350</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>array of files</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('./myHiddenFile'); const files = file.getFileSync(); console.log(files);</code></pre> <h4 class="name" id="getList"><span class="type-signature"></span>getList<span class="signature">(glob<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4> <div class="description"> <p>Get list of file objects, if pathname is a directory</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>glob</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>file glob</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line284">line 284</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>a promise. If the Promise fulfils, the fulfilment value is a list of pathnames</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; // get all json files const file = File.create('./myDirectory'); file.getFiles('*.json') .then((jsonFiles) => { console.log(jsonFiles); });</code></pre> <h4 class="name" id="getListSync"><span class="type-signature"></span>getListSync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously get list of files, if pathname is a directory</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line260">line 260</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>array of files</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('./myHiddenFile'); const files = file.getListSync(); console.log(files);</code></pre> <h4 class="name" id="getName"><span class="type-signature"></span>getName<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Returns the pathname as a string</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line400">line 400</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>String</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); console.log(file.getName());</code></pre> <h4 class="name" id="getPathExtension"><span class="type-signature"></span>getPathExtension<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Returns the file extension.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line457">line 457</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>String</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('./tmp.sh'); console.log(file.getPathExtension()); // sh</code></pre> <h4 class="name" id="isDirectory"><span class="type-signature"></span>isDirectory<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Determine if pathname is a file</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line203">line 203</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>If the Promise fulfils, the fulfilment value is a boolean indicating if the pathname is a file</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); file.isFile((isFile) => { console.log(isFile); });</code></pre> <h4 class="name" id="isDirectory"><span class="type-signature"></span>isDirectory<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Determine if pathname is a directory</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line115">line 115</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>If the Promise fulfils, the fulfilment value is a boolean indicating if the pathname is a directory</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); file.isDirectory((isDirectory) => { console.log(isDirectory); });</code></pre> <h4 class="name" id="isDirectory"><span class="type-signature"></span>isDirectory<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Determine if pathname is a file</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line159">line 159</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>If the Promise fulfils, the fulfilment value is a boolean indicating if the pathname is a file</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); file.isFile((isFile) => { console.log(isFile); });</code></pre> <h4 class="name" id="isDirectorySync"><span class="type-signature"></span>isDirectorySync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously determine if pathname is a directory</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line55">line 55</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>boolean</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); if (file.isDirectorySync()) { console.log('processing directory'); }</code></pre> <h4 class="name" id="isFileSync"><span class="type-signature"></span>isFileSync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously determine if pathname is a file</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line95">line 95</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>boolean</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myDirectory'); if (file.isFileSync()) { console.log('processing file'); }</code></pre> <h4 class="name" id="isHiddenSync"><span class="type-signature"></span>isHiddenSync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously determine if pathname is a hidden file</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line180">line 180</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>boolean</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('./myHiddenFile'); if (file.isHiddenSync()) { console.log('processing hidden file'); }</code></pre> <h4 class="name" id="isSocket"><span class="type-signature"></span>isSocket<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Determine if pathname is a Socket</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line137">line 137</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>If the Promise fulfils, the fulfilment value is a boolean indicating if the pathname is a Socket</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('mySocket'); file.isSocket((isSocket) => { console.log(isSocket); });</code></pre> <h4 class="name" id="isSocketSync"><span class="type-signature"></span>isSocketSync<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Synchronously determine if pathname is a socket</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line75">line 75</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>boolean</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('mysocket'); if (file.isSocketSync()) { console.log('processing socket'); }</code></pre> <h4 class="name" id="rename"><span class="type-signature"></span>rename<span class="signature">(pathname)</span><span class="type-signature"></span></h4> <div class="description"> <p>Renames the abstract pathname</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>pathname</code></td> <td class="type"> <span class="param-type">string</span> | <span class="param-type"><a href="File.html">File</a></span> </td> <td class="description last"><p>pathname either as a string or File instance</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line230">line 230</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>If the Promise fulfils, the fulfilment value is undefined</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const original = File.create('fileA'); const renameTo = File.create('fileB'); original .rename(renameTo) .then(() => { console.log(original.getName()) // prints fileA });</code></pre> <h4 class="name" id="withLock"><span class="type-signature"></span>withLock<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> <p>Locks the pathname</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="file.js.html">file.js</a>, <a href="file.js.html#line514">line 514</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>returning value of function</p> </div> <h5>Example</h5> <pre class="prettyprint"><code>import File from 'file-js'; const file = File.create('myFile'); file.with(() => { if (file.isFileSync()) { file.delete(); } });</code></pre> </article> </section> </div> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Fri Mar 10 2017 16:38:57 GMT+0000 (GMT) using the Minami theme. </footer> <script>prettyPrint();</script> <script src="scripts/linenumber.js"></script> </body> </html>