UNPKG

mikronode-ng

Version:

Mikrotik API implemented in Node

370 lines (250 loc) 15.1 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Source: index.js</title> <meta property="og:title" content=""/> <meta property="og:type" content="website"/> <meta property="og:image" content=""/> <meta property="og:url" content=""/> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <script src="scripts/jquery.min.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css"> <link type="text/css" rel="stylesheet" href="styles/jaguar.css"> <script> var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true},"applicationName":"MikroNode","disqus":"","googleAnalytics":"","openGraph":{"title":"","type":"website","image":"","site_name":"","url":""},"meta":{"title":"","description":"","keyword":""},"linenums":false}; </script> </head> <body> <div id="wrap" class="clearfix"> <div class="navigation"> <h3 class="applicationName"><a href="index.html">MikroNode</a></h3> <div class="search"> <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations"> </div> <ul class="list"> <li class="item" data-name="mikronode-ng"> <span class="title"> <a href="mikronode-ng.html">mikronode-ng</a> <span class="static">static</span> </span> <ul class="members itemMembers"> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> <span class="subtitle">Methods</span> <li data-name="mikronode-ng.getConnection"><a href="mikronode-ng.html#.getConnection">getConnection</a></li> <li data-name="mikronode-ng.parseItems"><a href="mikronode-ng.html#.parseItems">parseItems</a></li> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="mikronode-ng.Channel"> <span class="title"> <a href="mikronode-ng.Channel.html">mikronode-ng.Channel</a> </span> <ul class="members itemMembers"> <span class="subtitle">Members</span> <li data-name="mikronode-ng.Channel#clearEvents"><a href="mikronode-ng.Channel.html#clearEvents">clearEvents</a></li> <li data-name="mikronode-ng.Channel#closed"><a href="mikronode-ng.Channel.html#closed">closed</a></li> <li data-name="mikronode-ng.Channel#closeOnDone"><a href="mikronode-ng.Channel.html#closeOnDone">closeOnDone</a></li> <li data-name="mikronode-ng.Channel#closing"><a href="mikronode-ng.Channel.html#closing">closing</a></li> <li data-name="mikronode-ng.Channel#id"><a href="mikronode-ng.Channel.html#id">id</a></li> <li data-name="mikronode-ng.Channel#lastCommand"><a href="mikronode-ng.Channel.html#lastCommand">lastCommand</a></li> <li data-name="mikronode-ng.Channel#running"><a href="mikronode-ng.Channel.html#running">running</a></li> <li data-name="mikronode-ng.Channel#saveBuffer"><a href="mikronode-ng.Channel.html#saveBuffer">saveBuffer</a></li> </ul> <ul class="typedefs itemMembers"> <span class="subtitle">Typedefs</span> <li data-name="mikronode-ng.Channel.writeCallback"><a href="mikronode-ng.Channel.html#.writeCallback">writeCallback</a></li> </ul> <ul class="methods itemMembers"> <span class="subtitle">Methods</span> <li data-name="mikronode-ng.Channel#close"><a href="mikronode-ng.Channel.html#close">close</a></li> <li data-name="mikronode-ng.Channel#finalize"><a href="mikronode-ng.Channel.html#finalize">finalize</a></li> <li data-name="mikronode-ng.Channel#write"><a href="mikronode-ng.Channel.html#write">write</a></li> </ul> <ul class="events itemMembers"> <span class="subtitle">Events</span> <li data-name="mikronode-ng.Channel#event:close"><a href="mikronode-ng.Channel.html#event:event:close">event:close</a></li> <li data-name="mikronode-ng.Channel#event:done"><a href="mikronode-ng.Channel.html#event:event:done">event:done</a></li> <li data-name="mikronode-ng.Channel#event:error"><a href="mikronode-ng.Channel.html#event:event:error">event:error</a></li> <li data-name="mikronode-ng.Channel#event:timeout"><a href="mikronode-ng.Channel.html#event:event:timeout">event:timeout</a></li> <li data-name="mikronode-ng.Channel#event:trap"><a href="mikronode-ng.Channel.html#event:event:trap">event:trap</a></li> </ul> </li> <li class="item" data-name="mikronode-ng.Connection"> <span class="title"> <a href="mikronode-ng.Connection.html">mikronode-ng.Connection</a> </span> <ul class="members itemMembers"> <span class="subtitle">Members</span> <li data-name="mikronode-ng.Connection#channels"><a href="mikronode-ng.Connection.html#channels">channels</a></li> <li data-name="mikronode-ng.Connection#closeOnDone"><a href="mikronode-ng.Connection.html#closeOnDone">closeOnDone</a></li> <li data-name="mikronode-ng.Connection#host"><a href="mikronode-ng.Connection.html#host">host</a></li> <li data-name="mikronode-ng.Connection#password"><a href="mikronode-ng.Connection.html#password">password</a></li> <li data-name="mikronode-ng.Connection#port"><a href="mikronode-ng.Connection.html#port">port</a></li> <li data-name="mikronode-ng.Connection#status"><a href="mikronode-ng.Connection.html#status">status</a></li> <li data-name="mikronode-ng.Connection#timeout"><a href="mikronode-ng.Connection.html#timeout">timeout</a></li> <li data-name="mikronode-ng.Connection#tls"><a href="mikronode-ng.Connection.html#tls">tls</a></li> <li data-name="mikronode-ng.Connection#user"><a href="mikronode-ng.Connection.html#user">user</a></li> </ul> <ul class="typedefs itemMembers"> <span class="subtitle">Typedefs</span> <li data-name="mikronode-ng.Connection.connectCallback"><a href="mikronode-ng.Connection.html#.connectCallback">connectCallback</a></li> </ul> <ul class="methods itemMembers"> <span class="subtitle">Methods</span> <li data-name="mikronode-ng.Connection.parseItems"><a href="mikronode-ng.Connection.html#.parseItems">parseItems</a></li> <li data-name="mikronode-ng.Connection#closeChannel"><a href="mikronode-ng.Connection.html#closeChannel">closeChannel</a></li> <li data-name="mikronode-ng.Connection#connect"><a href="mikronode-ng.Connection.html#connect">connect</a></li> <li data-name="mikronode-ng.Connection#getChannel"><a href="mikronode-ng.Connection.html#getChannel">getChannel</a></li> <li data-name="mikronode-ng.Connection#getCommandPromise"><a href="mikronode-ng.Connection.html#getCommandPromise">getCommandPromise</a></li> <li data-name="mikronode-ng.Connection#getConnectPromise"><a href="mikronode-ng.Connection.html#getConnectPromise">getConnectPromise</a></li> <li data-name="mikronode-ng.Connection#openChannel"><a href="mikronode-ng.Connection.html#openChannel">openChannel</a></li> </ul> <ul class="events itemMembers"> <span class="subtitle">Events</span> <li data-name="mikronode-ng.Connection#event:close"><a href="mikronode-ng.Connection.html#event:event:close">event:close</a></li> <li data-name="mikronode-ng.Connection#event:error"><a href="mikronode-ng.Connection.html#event:event:error">event:error</a></li> <li data-name="mikronode-ng.Connection#event:timeout"><a href="mikronode-ng.Connection.html#event:event:timeout">event:timeout</a></li> <li data-name="mikronode-ng.Connection#event:trap"><a href="mikronode-ng.Connection.html#event:event:trap">event:trap</a></li> </ul> </li> <li class="item" data-name="mikronode-ng.Trap"> <span class="title"> <a href="mikronode-ng.Trap.html">mikronode-ng.Trap</a> </span> <ul class="members itemMembers"> <span class="subtitle">Members</span> <li data-name="mikronode-ng.Trap#channel"><a href="mikronode-ng.Trap.html#channel">channel</a></li> <li data-name="mikronode-ng.Trap#channelId"><a href="mikronode-ng.Trap.html#channelId">channelId</a></li> <li data-name="mikronode-ng.Trap#errors"><a href="mikronode-ng.Trap.html#errors">errors</a></li> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> <li class="item" data-name="mikronode-ng.TrapError"> <span class="title"> <a href="mikronode-ng.TrapError.html">mikronode-ng.TrapError</a> </span> <ul class="members itemMembers"> <span class="subtitle">Members</span> <li data-name="mikronode-ng.TrapError#category"><a href="mikronode-ng.TrapError.html#category">category</a></li> <li data-name="mikronode-ng.TrapError#message"><a href="mikronode-ng.TrapError.html#message">message</a></li> </ul> <ul class="typedefs itemMembers"> </ul> <ul class="methods itemMembers"> </ul> <ul class="events itemMembers"> </ul> </li> </ul> </div> <div class="main"> <h1 class="page-title" data-filename="index.js.html">Source: index.js</h1> <section> <article> <pre class="prettyprint source "><code>/* Polyfill needed for private-parts */ if (!('WeakMap' in global)) { global.WeakMap = require('weakmap'); } /* Polyfill needed for Connection */ if (!('Promise' in global)) { global.Promise = require('es6-promise').Promise; } /** * MikroNode * @exports mikronode-ng * @namespace */ var Connection = require('./connection'); module.exports.Connection = Connection; var Channel = require('./channel'); module.exports.Channel = Channel; /** * Creates or returns a Connection object. * @exports mikronode-ng.getConnection * @function * @static * @param {string} host - The host name or ip address * @param {string} user - The user name * @param {string} password - The users password * @param {object} [options] * @param {number} [options.port=8728] - Sets the port if not the standard 8728 (8729 for * TLS). * @param {boolean} [options.closeOnDone=false] - If set, when the last channel closes, * the connection will automatically close. * @param {number} [options.timeout=0] - Sets the socket inactivity timeout. A timeout * does not necessarily mean that an error has occurred, especially if you're * only listening for events. * @param {boolean} [options.closeOnTimeout=false] - If set, when a socket timeout happens * the connection will automatically close. * @param {(object|boolean)} [options.tls] - Set to true to use TLS for this connection. * Set to an object to use TLS and pass the object to tls.connect as the tls * options. If your device uses self-signed certificates, you'll either have to * set 'rejectUnauthorized : false' or supply the proper CA certificate. See the * options for * {@link https://nodejs.org/api/tls.html#tls_tls_connect_port_host_options_callback|tls.connect()} * for more info. * @fires mikronode-ng.Connection#event:trap * @fires mikronode-ng.Connection#event:error * @throws &lt;strong>WARNING: If you do not listen for 'error' or 'timeout' events and one * occurrs during the initial connection (host unreachable, connection refused, * etc.), an "Unhandled 'error' event" exception will be thrown.&lt;/strong> * @fires mikronode-ng.Connection#event:timeout * @fires mikronode-ng.Connection#event:close * * @example * * &lt;pre> * var MikroNode = require('mikronode-ng'); * * var connection = MikroNode.getConnection('192.168.88.1', 'admin', 'mypassword', { * timeout : 4, * closeOnDone : true, * closeOnTimeout : true, * }); * * connection.on('error', function(err) { * console.error('Error: ', err); * }); * * &lt;/pre> */ module.exports.getConnection = function getConnection(host, user, password, options) { return new Connection(host, user, password, options); }; /** * Parse !re return records into an array of objects * @exports mikronode-ng.parseItems * @function * @static * @param {string[]} data - The data[] returned from Channel.on('done') * @returns {object[]} - An Array of objects */ module.exports.parseItems = Connection.parseItems; </code></pre> </article> </section> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Wed Jul 06 2016 06:45:18 GMT-0600 (MDT) </footer> </div> </div> <script>prettyPrint();</script> <script src="scripts/linenumber.js"></script> <script src="scripts/main.js"></script> </body> </html>