First basic working state
This commit is contained in:
parent
93870118cf
commit
490ec86bf7
|
@ -6,7 +6,7 @@ module.exports = function(grunt) {
|
|||
pkg: grunt.file.readJSON('package.json'),
|
||||
jsdoc: {
|
||||
dist: {
|
||||
src: ['lib/*.js', 'lib/drivers/*.js', 'README.md'],
|
||||
src: ['lib/*.js', 'README.md'],
|
||||
options: {
|
||||
template: 'node_modules/grunt-jsdoc/node_modules/ink-docstrap/template',
|
||||
configure: 'node_modules/grunt-jsdoc/node_modules/ink-docstrap/template/jsdoc.conf.json',
|
||||
|
@ -15,7 +15,10 @@ module.exports = function(grunt) {
|
|||
}
|
||||
},
|
||||
nodeunit: {
|
||||
all: ['tests/**/*_test.js']
|
||||
all: ['tests/**/*_test.js'],
|
||||
options: {
|
||||
reporter: 'verbose'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
16
README.md
16
README.md
|
@ -2,16 +2,22 @@
|
|||
|
||||
A node query builder for various SQL databases, based on CodeIgniter's query builder.
|
||||
|
||||
### Probable use
|
||||
### Basic use
|
||||
|
||||
var query = require('node-query');
|
||||
var nodeQuery = require('node-query');
|
||||
|
||||
var res = query
|
||||
.select('foo')
|
||||
var mysql = ... // Database module connection
|
||||
|
||||
// Three arguments: database type, database connection, database connection library
|
||||
var query = nodeQuery('mysql', mysql, 'mysql2');
|
||||
|
||||
query.select('foo')
|
||||
.from('bar')
|
||||
.where('x', 3)
|
||||
.orWhere('y', 2)
|
||||
.orderBy('x')
|
||||
.limit(2, 3)
|
||||
.get();
|
||||
.get(function(err, result) {
|
||||
// Database module result handling
|
||||
});
|
||||
|
||||
|
|
|
@ -0,0 +1,189 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: adapter.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: adapter.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">'use strict';
|
||||
|
||||
/** @module adapter */
|
||||
module.exports = {
|
||||
|
||||
/**
|
||||
* Run the sql query as a prepared statement
|
||||
*
|
||||
* @param {String} sql - The sql with placeholders
|
||||
* @param {Array} params - The values to insert into the query
|
||||
* @param {Function} callback - Callback to run when a response is recieved
|
||||
* @return void
|
||||
*/
|
||||
execute: function(sql, params, callback) {
|
||||
throw new Error("Correct adapter not defined for query execution");
|
||||
}
|
||||
};</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,190 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: adapters/mysql.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: adapters/mysql.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">/** @module adapters/mysql */
|
||||
|
||||
'use strict';
|
||||
|
||||
var adapter = require('../lib/adapter.js');
|
||||
|
||||
module.exports = function(instance) {
|
||||
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.query(sql, params, callback);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
}</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,190 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: adapters/mysql2.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: adapters/mysql2.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">/** @module adapters/mysql2 */
|
||||
|
||||
'use strict';
|
||||
|
||||
var adapter = require('../lib/adapter.js');
|
||||
|
||||
module.exports = function(instance) {
|
||||
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.execute(sql, params, callback);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
}</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,42 +1,84 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Source: driver.js</title>
|
||||
<title>DocStrap Source: driver.js</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: driver.js</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="prettyprint source"><code>/** @module driver */
|
||||
|
||||
"use strict";
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">'use strict';
|
||||
|
||||
var helpers = require('./helpers');
|
||||
|
||||
/**
|
||||
* Base Database Driver
|
||||
*
|
||||
* @type {{identifierChar: string, quoteIdentifiers: quoteIdentifiers}}
|
||||
* @module driver
|
||||
*/
|
||||
module.exports = {
|
||||
var d = {
|
||||
identifierChar: '"',
|
||||
tablePrefix: null,
|
||||
|
||||
|
@ -48,8 +90,8 @@ module.exports = {
|
|||
* @private
|
||||
*/
|
||||
_quote: function(str) {
|
||||
return (helpers.isString(str) && ! (str.startsWith(this.identifierChar) || str.endsWith(this.identifierChar)))
|
||||
? this.identifierChar + str + this.identifierChar
|
||||
return (helpers.isString(str) && ! (str.startsWith(d.identifierChar) || str.endsWith(d.identifierChar)))
|
||||
? d.identifierChar + str + d.identifierChar
|
||||
: str;
|
||||
},
|
||||
|
||||
|
@ -61,12 +103,12 @@ module.exports = {
|
|||
* @private
|
||||
*/
|
||||
_prefix: function(str) {
|
||||
if (str.startsWith(this.prefix))
|
||||
if (str.startsWith(d.prefix))
|
||||
{
|
||||
return str;
|
||||
}
|
||||
|
||||
return this.prefix + str;
|
||||
return d.prefix + str;
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -95,7 +137,7 @@ module.exports = {
|
|||
* @return {String}
|
||||
*/
|
||||
prefixTable: function(table) {
|
||||
if (this.tablePrefix)
|
||||
if (d.tablePrefix)
|
||||
{
|
||||
// Split identifier by period, will split into:
|
||||
// database.schema.table OR
|
||||
|
@ -106,7 +148,7 @@ module.exports = {
|
|||
var segments = idents.length;
|
||||
|
||||
// Add the database prefix
|
||||
idents[segments - 1] = this._prefix(idents[segments - 1]);
|
||||
idents[segments - 1] = d._prefix(idents[segments - 1]);
|
||||
|
||||
table = idents.join('.');
|
||||
}
|
||||
|
@ -121,10 +163,10 @@ module.exports = {
|
|||
* @return {String}
|
||||
*/
|
||||
quoteTable: function(table) {
|
||||
table = this.prefixTable(table);
|
||||
table = d.prefixTable(table);
|
||||
|
||||
// Quote after prefix
|
||||
return this.quoteIdentifiers(table);
|
||||
return d.quoteIdentifiers(table);
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -139,40 +181,121 @@ module.exports = {
|
|||
// Recurse for arrays of identifiiers
|
||||
if (Array.isArray(str))
|
||||
{
|
||||
return str.map(this.quoteIdentifiers);
|
||||
return str.map(d.quoteIdentifiers);
|
||||
}
|
||||
|
||||
// Handle commas
|
||||
str = helpers.splitTrim(',', str);
|
||||
|
||||
// Split identifiers by period
|
||||
hiers = str.split('.').map(String.trim).map(this._quote);
|
||||
hiers = str.split('.').map(d._quote);
|
||||
raw = hiers.join('.');
|
||||
|
||||
// TODO: fix functions
|
||||
|
||||
return raw;
|
||||
}
|
||||
};</code></pre>
|
||||
};
|
||||
|
||||
module.exports = d;</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,203 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: drivers/mysql.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: drivers/mysql.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">"use strict";
|
||||
|
||||
/**
|
||||
* Driver for MySQL databases
|
||||
*
|
||||
* @returns {driver}
|
||||
*/
|
||||
module.exports = function() {
|
||||
var driver = require('../driver'),
|
||||
helpers = require('../helpers');
|
||||
|
||||
driver.identifierChar = '`';
|
||||
|
||||
/**
|
||||
* Override default limit method because mysql likes to be different
|
||||
*/
|
||||
driver.limit = function(sql, limit, offset) {
|
||||
if ( ! helpers.isNumber(offset))
|
||||
{
|
||||
return sql += " LIMIT " + limit;
|
||||
}
|
||||
|
||||
return sql += " LIMIT " + offset + "," + limit;
|
||||
};
|
||||
|
||||
return driver;
|
||||
};</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,188 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: drivers/pg.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: drivers/pg.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">"use strict";
|
||||
|
||||
/**
|
||||
* Driver for PostgreSQL databases
|
||||
*
|
||||
* @returns {driver}
|
||||
*/
|
||||
module.exports = function() {
|
||||
var driver = require('../driver');
|
||||
|
||||
return driver;
|
||||
};</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,250 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: es6-polyfill.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: es6-polyfill.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">/**
|
||||
* Polyfills for very handy methods that are standardized, but not fully implemented in Javascript engines
|
||||
*/
|
||||
module.exports = (function() {
|
||||
if (!Array.prototype.fill) {
|
||||
Array.prototype.fill = function(value) {
|
||||
// Steps 1-2.
|
||||
if (this == null) {
|
||||
throw new TypeError('this is null or not defined');
|
||||
}
|
||||
|
||||
var O = Object(this);
|
||||
|
||||
// Steps 3-5.
|
||||
var len = O.length >>> 0;
|
||||
|
||||
// Steps 6-7.
|
||||
var start = arguments[1];
|
||||
var relativeStart = start >> 0;
|
||||
|
||||
// Step 8.
|
||||
var k = relativeStart < 0 ?
|
||||
Math.max(len + relativeStart, 0) :
|
||||
Math.min(relativeStart, len);
|
||||
|
||||
// Steps 9-10.
|
||||
var end = arguments[2];
|
||||
var relativeEnd = end === undefined ?
|
||||
len : end >> 0;
|
||||
|
||||
// Step 11.
|
||||
var final = relativeEnd < 0 ?
|
||||
Math.max(len + relativeEnd, 0) :
|
||||
Math.min(relativeEnd, len);
|
||||
|
||||
// Step 12.
|
||||
while (k < final) {
|
||||
O[k] = value;
|
||||
k++;
|
||||
}
|
||||
|
||||
// Step 13.
|
||||
return O;
|
||||
};
|
||||
}
|
||||
|
||||
if ( !String.prototype.contains ) {
|
||||
String.prototype.contains = function() {
|
||||
return String.prototype.indexOf.apply( this, arguments ) !== -1;
|
||||
};
|
||||
}
|
||||
|
||||
if (!String.prototype.startsWith) {
|
||||
Object.defineProperty(String.prototype, 'startsWith', {
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
writable: false,
|
||||
value: function (searchString, position) {
|
||||
position = position || 0;
|
||||
return this.lastIndexOf(searchString, position) === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!String.prototype.endsWith) {
|
||||
Object.defineProperty(String.prototype, 'endsWith', {
|
||||
value: function (searchString, position) {
|
||||
var subjectString = this.toString();
|
||||
if (position === undefined || position > subjectString.length) {
|
||||
position = subjectString.length;
|
||||
}
|
||||
position -= searchString.length;
|
||||
var lastIndex = subjectString.indexOf(searchString, position);
|
||||
return lastIndex !== -1 && lastIndex === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
}());</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
324
docs/global.html
324
docs/global.html
|
@ -1,28 +1,80 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Global</title>
|
||||
<title>DocStrap Global</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="global.html#init">init</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Global</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
|
@ -63,6 +115,8 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -84,32 +138,124 @@
|
|||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Members</h3>
|
||||
|
||||
|
||||
<h3 class="subsection-title">Methods</h3>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="module:driver"><span class="type-signature"></span>module:driver<span class="type-signature"> :Object</span></h4>
|
||||
<h4 class="name" id="init"><span class="type-signature"></span>init<span class="signature">(drivername, connObject, connLib)</span><span class="type-signature"> → {queryBuilder}</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Base Database Driver
|
||||
<p>Create a query builder object</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<h5>Type:</h5>
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>drivername</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>The name of the database type, eg. mysql or pg</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>connObject</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">Object</span>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>A connection object from the database library you are connecting with</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>connLib</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>The name of the db connection library you are using, eg. mysql or mysql2</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -132,11 +278,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="driver.js.html">driver.js</a>, <a href="driver.js.html#line12">line 12</a>
|
||||
</li></ul></dd>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="node-query.js.html">node-query.js</a>,
|
||||
<a href="node-query.js.html#sunlight-1-line-11">line 11</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
@ -148,6 +301,35 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">queryBuilder</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
@ -156,8 +338,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
@ -167,17 +347,99 @@
|
|||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,61 +1,90 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Source: helpers.js</title>
|
||||
<title>DocStrap Source: helpers.js</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: helpers.js</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="prettyprint source"><code>/** @module helpers */
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">/** @module helpers */
|
||||
|
||||
"use strict";
|
||||
|
||||
if (!String.prototype.startsWith) {
|
||||
Object.defineProperty(String.prototype, 'startsWith', {
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
writable: false,
|
||||
value: function (searchString, position) {
|
||||
position = position || 0;
|
||||
return this.lastIndexOf(searchString, position) === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
require('./es6-polyfill');
|
||||
|
||||
if (!String.prototype.endsWith) {
|
||||
Object.defineProperty(String.prototype, 'endsWith', {
|
||||
value: function (searchString, position) {
|
||||
var subjectString = this.toString();
|
||||
if (position === undefined || position > subjectString.length) {
|
||||
position = subjectString.length;
|
||||
}
|
||||
position -= searchString.length;
|
||||
var lastIndex = subjectString.indexOf(searchString, position);
|
||||
return lastIndex !== -1 && lastIndex === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
var h = {
|
||||
/**
|
||||
* Wrap String.prototype.trim in a way that is easily mappable
|
||||
*
|
||||
* @param {String} str - The string to trim
|
||||
* @return {String} - The trimmed string
|
||||
*/
|
||||
stringTrim: function(str) {
|
||||
return str.trim();
|
||||
},
|
||||
/**
|
||||
* Split a string by a character, trim the string
|
||||
* and rejoin the string
|
||||
|
@ -65,45 +94,150 @@ module.exports = {
|
|||
* @return {String}
|
||||
*/
|
||||
splitTrim: function(char, string) {
|
||||
return string.split(char).map(String.trim).join(char);
|
||||
return string.split(char).map(h.stringTrim).join(char);
|
||||
},
|
||||
/**
|
||||
* Determine whether an object is a string
|
||||
* Get the type of the variable passed
|
||||
*
|
||||
* @see https://techblog.badoo.com/blog/2013/11/01/type-checking-in-javascript/
|
||||
* @see http://toddmotto.com/understanding-javascript-types-and-reliable-type-checking/
|
||||
* @param {mixed} o
|
||||
* @return {String}
|
||||
*/
|
||||
type: function (o) {
|
||||
var type = Object.prototype.toString.call(o).slice(8, -1).toLowerCase();
|
||||
|
||||
// handle NaN and Infinity
|
||||
if (type === 'number') {
|
||||
if (isNaN(o)) {
|
||||
return 'nan';
|
||||
}
|
||||
if (!isFinite(o)) {
|
||||
return 'infinity';
|
||||
}
|
||||
}
|
||||
|
||||
return type;
|
||||
},
|
||||
/**
|
||||
* Determine whether an object is scalar
|
||||
*
|
||||
* @param {mixed} obj
|
||||
* @return {bool}
|
||||
*/
|
||||
isString: function(obj) {
|
||||
return (typeof obj === 'string' || obj instanceof String);
|
||||
},
|
||||
/**
|
||||
* Determine whether an object is numeric
|
||||
* @param {mixed} obj
|
||||
* @return {bool}
|
||||
*/
|
||||
isNumber: function(obj) {
|
||||
return ! isNaN(parseFloat(obj)) && isFinite(obj);
|
||||
isScalar: function(obj) {
|
||||
var scalar = ['string', 'number', 'boolean'];
|
||||
return scalar.indexOf(h.type(obj)) !== -1;
|
||||
}
|
||||
};
|
||||
</code></pre>
|
||||
|
||||
// Define an 'is' method for each type
|
||||
var types = ['Null','Undefined','Object','Array','String','Number','Boolean','Function','RegExp','NaN','Infinite'];
|
||||
types.forEach(function (t) {
|
||||
h['is' + t] = function (o) {
|
||||
return h.type(o) === t.toLowerCase();
|
||||
};
|
||||
});
|
||||
|
||||
module.exports = h;</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
188
docs/index.html
188
docs/index.html
|
@ -1,31 +1,71 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Index</title>
|
||||
<title>DocStrap Index</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 class="page-title">Index</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3> </h3>
|
||||
<span class="page-title">Index</span>
|
||||
|
||||
|
||||
|
||||
|
@ -40,20 +80,31 @@
|
|||
|
||||
|
||||
|
||||
<section>
|
||||
<article><h1>Node-query</h1>
|
||||
<p>A node query builder for various SQL databases, based on CodeIgniter's query builder.</p>
|
||||
<h3>Probable use</h3>
|
||||
<pre><code>var query = require('node-query');
|
||||
|
||||
var res = query
|
||||
.select('foo')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="readme-section">
|
||||
<article><h1>Node-query</h1><p>A node query builder for various SQL databases, based on CodeIgniter's query builder.</p>
|
||||
<h3>Basic use</h3><pre class="prettyprint source"><code>var nodeQuery = require('node-query');
|
||||
|
||||
var mysql = ... // Database module connection
|
||||
|
||||
// Three arguments: database type, database connection, database connection library
|
||||
var query = nodeQuery('mysql', mysql, 'mysql2');
|
||||
|
||||
query.select('foo')
|
||||
.from('bar')
|
||||
.where('x', 3)
|
||||
.orWhere('y', 2)
|
||||
.orderBy('x')
|
||||
.limit(2, 3)
|
||||
.get();</code></pre></article>
|
||||
.get(function(err, result) {
|
||||
// Database module result handling
|
||||
});</code></pre></article>
|
||||
</section>
|
||||
|
||||
|
||||
|
@ -61,19 +112,102 @@ var res = query
|
|||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,437 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: adapter</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: adapter</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
adapter
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="adapter.js.html">adapter.js</a>,
|
||||
<a href="adapter.js.html#sunlight-1-line-3">line 3</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Methods</h3>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="execute"><span class="type-signature"><static> </span>execute<span class="signature">(sql, params, callback)</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
<p>Run the sql query as a prepared statement</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>sql</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>The sql with placeholders</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>params</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">Array</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>The values to insert into the query</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>callback</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">function</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>Callback to run when a response is recieved</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="adapter.js.html">adapter.js</a>,
|
||||
<a href="adapter.js.html#sunlight-1-line-14">line 14</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
<div class="param-desc">
|
||||
<p>void</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,255 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: adapters/mysql</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: adapters/mysql</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
adapters/mysql
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="adapters_mysql.js.html">adapters/mysql.js</a>,
|
||||
<a href="adapters_mysql.js.html#sunlight-1-line-1">line 1</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,255 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: adapters/mysql2</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-adapters_mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: adapters/mysql2</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
adapters/mysql2
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="adapters_mysql2.js.html">adapters/mysql2.js</a>,
|
||||
<a href="adapters_mysql2.js.html#sunlight-1-line-1">line 1</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,28 +1,70 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Module: helpers</title>
|
||||
<title>DocStrap Module: helpers</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: helpers</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
<header>
|
||||
|
@ -59,11 +101,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="helpers.js.html">helpers.js</a>, <a href="helpers.js.html#line1">line 1</a>
|
||||
</li></ul></dd>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="helpers.js.html">helpers.js</a>,
|
||||
<a href="helpers.js.html#sunlight-1-line-1">line 1</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
@ -91,439 +140,6 @@
|
|||
|
||||
|
||||
|
||||
<h3 class="subsection-title">Methods</h3>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="isNumber"><span class="type-signature"><static> </span>isNumber<span class="signature">(obj)</span><span class="type-signature"> → {bool}</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Determine whether an object is numeric
|
||||
</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>obj</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">mixed</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="helpers.js.html">helpers.js</a>, <a href="helpers.js.html#line56">line 56</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">bool</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="isString"><span class="type-signature"><static> </span>isString<span class="signature">(obj)</span><span class="type-signature"> → {bool}</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Determine whether an object is a string
|
||||
</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>obj</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">mixed</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="helpers.js.html">helpers.js</a>, <a href="helpers.js.html#line48">line 48</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">bool</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="splitTrim"><span class="type-signature"><static> </span>splitTrim<span class="signature">(char, string)</span><span class="type-signature"> → {String}</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
Split a string by a character, trim the string
|
||||
and rejoin the string
|
||||
</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>char</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>string</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="helpers.js.html">helpers.js</a>, <a href="helpers.js.html#line40">line 40</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -537,17 +153,99 @@ and rejoin the string
|
|||
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,441 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: node-query</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: node-query</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
node-query
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="module:node-query"><span class="type-signature"></span>require("node-query")<span class="signature">(drivername, connObject, connLib)</span><span class="type-signature"> → {queryBuilder}</span></h4>
|
||||
|
||||
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
|
||||
<div class="description">
|
||||
<p>Create a query builder object</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
<table class="params table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th>Name</th>
|
||||
|
||||
|
||||
<th>Type</th>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<th class="last">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>drivername</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>The name of the database type, eg. mysql or pg</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>connObject</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">Object</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>A connection object from the database library you are connecting with</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>connLib</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">String</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last"><p>The name of the db connection library you are using, eg. mysql or mysql2</p></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="node-query.js.html">node-query.js</a>,
|
||||
<a href="node-query.js.html#sunlight-1-line-15">line 15</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">queryBuilder</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="node-query.js.html">node-query.js</a>,
|
||||
<a href="node-query.js.html#sunlight-1-line-3">line 3</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,241 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Modules</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Modules</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,261 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: drivers/mysql</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">drivers/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="pg.html">drivers/pg</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: drivers/mysql</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
drivers/mysql
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="description"><p>Driver for MySQL databases</p></div>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="mysql.js.html">drivers/mysql.js</a>,
|
||||
<a href="mysql.js.html#sunlight-1-line-3">line 3</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,38 +1,91 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Source: drivers/mysql.js</title>
|
||||
<title>DocStrap Source: drivers/mysql.js</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">drivers/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="pg.html">drivers/pg</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: drivers/mysql.js</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="prettyprint source"><code>"use strict";
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">"use strict";
|
||||
|
||||
/**
|
||||
* Driver for MySQL databases
|
||||
*
|
||||
* @returns {driver}
|
||||
* @module drivers/mysql
|
||||
*/
|
||||
module.exports = function() {
|
||||
module.exports = (function() {
|
||||
|
||||
var driver = require('../driver'),
|
||||
helpers = require('../helpers');
|
||||
|
||||
|
@ -51,26 +104,106 @@ module.exports = function() {
|
|||
};
|
||||
|
||||
return driver;
|
||||
};</code></pre>
|
||||
|
||||
}());</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,193 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: adapters/mysql.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: adapters/mysql.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">'use strict';
|
||||
|
||||
var adapter = require('../lib/adapter.js');
|
||||
|
||||
/** @module adapters/mysql */
|
||||
module.exports = function(instance) {
|
||||
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.query(sql, params, callback);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
}</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,259 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: adapters/mysql2</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: adapters/mysql2</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
adapters/mysql2
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="mysql2.js.html">adapters/mysql2.js</a>,
|
||||
<a href="mysql2.js.html#sunlight-1-line-5">line 5</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,201 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: adapters/mysql2.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">adapters/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql2.html">adapters/mysql2</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: adapters/mysql2.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">'use strict';
|
||||
|
||||
var adapter = require('../lib/adapter.js');
|
||||
|
||||
/** @module adapters/mysql2 */
|
||||
module.exports = function(instance) {
|
||||
|
||||
/**
|
||||
* Run the sql query as a prepared statement
|
||||
*
|
||||
* @param {String} sql - The sql with placeholders
|
||||
* @param {Array} params - The values to insert into the query
|
||||
* @param {Function} callback - Callback to run when a response is recieved
|
||||
* @return void
|
||||
*/
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.execute(sql, params, callback);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
}</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Tue Oct 21st 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,208 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Source: node-query.js</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: node-query.js</h1>
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">"use strict";
|
||||
|
||||
/** @module node-query */
|
||||
var nodeQuery = {};
|
||||
|
||||
/**
|
||||
* Create a query builder object
|
||||
*
|
||||
* @alias module:node-query
|
||||
* @param {String} drivername - The name of the database type, eg. mysql or pg
|
||||
* @param {Object} connObject - A connection object from the database library you are connecting with
|
||||
* @param {String} connLib - The name of the db connection library you are using, eg. mysql or mysql2
|
||||
* @return {queryBuilder}
|
||||
*/
|
||||
nodeQuery.init = function (driverType, connObject, connLib) {
|
||||
var fs = require('fs'),
|
||||
qb = require('./query-builder');
|
||||
|
||||
var paths = {
|
||||
driver: __dirname + '/drivers/' + driverType + '.js',
|
||||
adapter: __dirname + '/adapters/' + connLib + '.js'
|
||||
};
|
||||
|
||||
Object.keys(paths).forEach(function(type) {
|
||||
if ( ! fs.existsSync(paths[type]))
|
||||
{
|
||||
console.log(paths[type]);
|
||||
throw new Error('Selected ' + type + ' does not exist!');
|
||||
}
|
||||
});
|
||||
|
||||
return new qb(require(paths.driver), require(paths.adapter)(connObject));
|
||||
};
|
||||
|
||||
|
||||
module.exports = nodeQuery.init;</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,261 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>DocStrap Module: drivers/pg</title>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">drivers/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="pg.html">drivers/pg</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span8">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Module: drivers/pg</h1>
|
||||
<section>
|
||||
|
||||
<header>
|
||||
<h2>
|
||||
drivers/pg
|
||||
</h2>
|
||||
|
||||
</header>
|
||||
|
||||
<article>
|
||||
<div class="container-overview">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="description"><p>Driver for PostgreSQL databases</p></div>
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source">
|
||||
<ul class="dummy">
|
||||
<li>
|
||||
<a href="pg.js.html">drivers/pg.js</a>,
|
||||
<a href="pg.js.html#sunlight-1-line-3">line 3</a>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="span3">
|
||||
<div id="toc"></div>
|
||||
</div>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
173
docs/pg.js.html
173
docs/pg.js.html
|
@ -1,61 +1,192 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>JSDoc: Source: drivers/pg.js</title>
|
||||
<title>DocStrap Source: drivers/pg.js</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="styles/prettify-tomorrow.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
||||
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="navbar navbar-fixed-top navbar-inverse">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="index.html">DocStrap</a>
|
||||
<ul class="nav">
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
|
||||
class="caret"></b></a>
|
||||
|
||||
<ul class="dropdown-menu ">
|
||||
|
||||
<li>
|
||||
<a href="module-adapter.html">adapter</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-driver.html">driver</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="mysql.html">drivers/mysql</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="pg.html">drivers/pg</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-helpers.html">helpers</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-node-query.html">node-query</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="module-query-builder.html">query-builder</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
|
||||
|
||||
<div class="span12">
|
||||
|
||||
<div id="main">
|
||||
|
||||
|
||||
|
||||
<h1 class="page-title">Source: drivers/pg.js</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section>
|
||||
<article>
|
||||
<pre class="prettyprint source"><code>"use strict";
|
||||
<pre
|
||||
class="sunlight-highlight-javascript linenums">"use strict";
|
||||
|
||||
/**
|
||||
* Driver for PostgreSQL databases
|
||||
*
|
||||
* @returns {driver}
|
||||
* @module drivers/pg
|
||||
*/
|
||||
module.exports = function() {
|
||||
module.exports = (function() {
|
||||
var driver = require('../driver');
|
||||
|
||||
return driver;
|
||||
};</code></pre>
|
||||
}());</pre>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<footer>
|
||||
|
||||
|
||||
<span class="copyright">
|
||||
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
|
||||
</span>
|
||||
<br />
|
||||
|
||||
<span class="jsdoc-message">
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
|
||||
on Thu Oct 23rd 2014 using the <a
|
||||
href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-driver.html">driver</a></li><li><a href="module-helpers.html">helpers</a></li><li><a href="module-query-builder.html">query-builder</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--<script src="scripts/sunlight.js"></script>-->
|
||||
<script src="scripts/docstrap.lib.js"></script>
|
||||
<script src="scripts/bootstrap-dropdown.js"></script>
|
||||
<script src="scripts/toc.js"></script>
|
||||
|
||||
<script>
|
||||
$( function () {
|
||||
$( "[id*='$']" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
||||
} );
|
||||
|
||||
$( "#toc" ).toc( {
|
||||
anchorName : function ( i, heading, prefix ) {
|
||||
return $( heading ).attr( "id" ) || ( prefix + i );
|
||||
},
|
||||
selectors : "h1,h2,h3,h4",
|
||||
showAndHide : false,
|
||||
scrollTo : "100px"
|
||||
} );
|
||||
|
||||
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
||||
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
||||
$( '.dropdown-toggle' ).dropdown();
|
||||
// $( ".tutorial-section pre, .readme-section pre" ).addClass( "sunlight-highlight-javascript" ).addClass( "linenums" );
|
||||
|
||||
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
|
||||
var $this = $( this );
|
||||
|
||||
var example = $this.find( "code" );
|
||||
exampleText = example.html();
|
||||
var lang = /{@lang (.*?)}/.exec( exampleText );
|
||||
if ( lang && lang[1] ) {
|
||||
exampleText = exampleText.replace( lang[0], "" );
|
||||
example.html( exampleText );
|
||||
lang = lang[1];
|
||||
} else {
|
||||
lang = "javascript";
|
||||
}
|
||||
|
||||
if ( lang ) {
|
||||
|
||||
$this
|
||||
.addClass( "sunlight-highlight-" + lang )
|
||||
.addClass( "linenums" )
|
||||
.html( example.html() );
|
||||
|
||||
}
|
||||
} );
|
||||
|
||||
Sunlight.highlightAll( {
|
||||
lineNumbers : true,
|
||||
showMenu : true,
|
||||
enableDoclinks : true
|
||||
} );
|
||||
} );
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<!--Navigation and Symbol Display-->
|
||||
|
||||
|
||||
|
||||
<!--Google Analytics-->
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Oct 20 2014 16:34:02 GMT-0400 (EDT)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
<script src="scripts/linenumber.js"> </script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,169 @@
|
|||
/* ============================================================
|
||||
* bootstrap-dropdown.js v2.3.2
|
||||
* http://getbootstrap.com/2.3.2/javascript.html#dropdowns
|
||||
* ============================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* DROPDOWN CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var toggle = '[data-toggle=dropdown]'
|
||||
, Dropdown = function (element) {
|
||||
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||
$('html').on('click.dropdown.data-api', function () {
|
||||
$el.parent().removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
Dropdown.prototype = {
|
||||
|
||||
constructor: Dropdown
|
||||
|
||||
, toggle: function (e) {
|
||||
var $this = $(this)
|
||||
, $parent
|
||||
, isActive
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
clearMenus()
|
||||
|
||||
if (!isActive) {
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
// if mobile we we use a backdrop because click events don't delegate
|
||||
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||
}
|
||||
$parent.toggleClass('open')
|
||||
}
|
||||
|
||||
$this.focus()
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
, keydown: function (e) {
|
||||
var $this
|
||||
, $items
|
||||
, $active
|
||||
, $parent
|
||||
, isActive
|
||||
, index
|
||||
|
||||
if (!/(38|40|27)/.test(e.keyCode)) return
|
||||
|
||||
$this = $(this)
|
||||
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
if (!isActive || (isActive && e.keyCode == 27)) {
|
||||
if (e.which == 27) $parent.find(toggle).focus()
|
||||
return $this.click()
|
||||
}
|
||||
|
||||
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
||||
|
||||
if (!$items.length) return
|
||||
|
||||
index = $items.index($items.filter(':focus'))
|
||||
|
||||
if (e.keyCode == 38 && index > 0) index-- // up
|
||||
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
||||
if (!~index) index = 0
|
||||
|
||||
$items
|
||||
.eq(index)
|
||||
.focus()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function clearMenus() {
|
||||
$('.dropdown-backdrop').remove()
|
||||
$(toggle).each(function () {
|
||||
getParent($(this)).removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
function getParent($this) {
|
||||
var selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = selector && $(selector)
|
||||
|
||||
if (!$parent || !$parent.length) $parent = $this.parent()
|
||||
|
||||
return $parent
|
||||
}
|
||||
|
||||
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.dropdown
|
||||
|
||||
$.fn.dropdown = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('dropdown')
|
||||
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
|
||||
if (typeof option == 'string') data[option].call($this)
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.dropdown.Constructor = Dropdown
|
||||
|
||||
|
||||
/* DROPDOWN NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.dropdown.noConflict = function () {
|
||||
$.fn.dropdown = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
||||
* =================================== */
|
||||
|
||||
$(document)
|
||||
.on('click.dropdown.data-api', clearMenus)
|
||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,144 @@
|
|||
/* ========================================================
|
||||
* bootstrap-tab.js v2.3.0
|
||||
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
||||
* ========================================================
|
||||
* Copyright 2012 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ======================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TAB CLASS DEFINITION
|
||||
* ==================== */
|
||||
|
||||
var Tab = function (element) {
|
||||
this.element = $(element)
|
||||
}
|
||||
|
||||
Tab.prototype = {
|
||||
|
||||
constructor: Tab
|
||||
|
||||
, show: function () {
|
||||
var $this = this.element
|
||||
, $ul = $this.closest('ul:not(.dropdown-menu)')
|
||||
, selector = $this.attr('data-target')
|
||||
, previous
|
||||
, $target
|
||||
, e
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
if ( $this.parent('li').hasClass('active') ) return
|
||||
|
||||
previous = $ul.find('.active:last a')[0]
|
||||
|
||||
e = $.Event('show', {
|
||||
relatedTarget: previous
|
||||
})
|
||||
|
||||
$this.trigger(e)
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$target = $(selector)
|
||||
|
||||
this.activate($this.parent('li'), $ul)
|
||||
this.activate($target, $target.parent(), function () {
|
||||
$this.trigger({
|
||||
type: 'shown'
|
||||
, relatedTarget: previous
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
, activate: function ( element, container, callback) {
|
||||
var $active = container.find('> .active')
|
||||
, transition = callback
|
||||
&& $.support.transition
|
||||
&& $active.hasClass('fade')
|
||||
|
||||
function next() {
|
||||
$active
|
||||
.removeClass('active')
|
||||
.find('> .dropdown-menu > .active')
|
||||
.removeClass('active')
|
||||
|
||||
element.addClass('active')
|
||||
|
||||
if (transition) {
|
||||
element[0].offsetWidth // reflow for transition
|
||||
element.addClass('in')
|
||||
} else {
|
||||
element.removeClass('fade')
|
||||
}
|
||||
|
||||
if ( element.parent('.dropdown-menu') ) {
|
||||
element.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
callback && callback()
|
||||
}
|
||||
|
||||
transition ?
|
||||
$active.one($.support.transition.end, next) :
|
||||
next()
|
||||
|
||||
$active.removeClass('in')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* TAB PLUGIN DEFINITION
|
||||
* ===================== */
|
||||
|
||||
var old = $.fn.tab
|
||||
|
||||
$.fn.tab = function ( option ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('tab')
|
||||
if (!data) $this.data('tab', (data = new Tab(this)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.tab.Constructor = Tab
|
||||
|
||||
|
||||
/* TAB NO CONFLICT
|
||||
* =============== */
|
||||
|
||||
$.fn.tab.noConflict = function () {
|
||||
$.fn.tab = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* TAB DATA-API
|
||||
* ============ */
|
||||
|
||||
$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
||||
e.preventDefault()
|
||||
$(this).tab('show')
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
File diff suppressed because one or more lines are too long
|
@ -1,17 +1,25 @@
|
|||
/*global document */
|
||||
(function() {
|
||||
var counter = 0;
|
||||
var numbered;
|
||||
var source = document.getElementsByClassName('prettyprint source');
|
||||
var source = document.getElementsByClassName('prettyprint source linenums');
|
||||
var i = 0;
|
||||
var lineNumber = 0;
|
||||
var lineId;
|
||||
var lines;
|
||||
var totalLines;
|
||||
var anchorHash;
|
||||
|
||||
if (source && source[0]) {
|
||||
source = source[0].getElementsByTagName('code')[0];
|
||||
anchorHash = document.location.hash.substring(1);
|
||||
lines = source[0].getElementsByTagName('li');
|
||||
totalLines = lines.length;
|
||||
|
||||
numbered = source.innerHTML.split('\n');
|
||||
numbered = numbered.map(function(item) {
|
||||
counter++;
|
||||
return '<span id="line' + counter + '" class="line"></span>' + item;
|
||||
});
|
||||
|
||||
source.innerHTML = numbered.join('\n');
|
||||
for (; i < totalLines; i++) {
|
||||
lineNumber++;
|
||||
lineId = 'line' + lineNumber;
|
||||
lines[i].id = lineId;
|
||||
if (lineId === anchorHash) {
|
||||
lines[i].className += ' selected';
|
||||
}
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +1,21 @@
|
|||
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
|
||||
/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
|
||||
PR.registerLangHandler(PR.createSimpleLexer([
|
||||
["pln", /^[\t\n\f\r ]+/, null, " \t\r\n"]
|
||||
], [
|
||||
["str", /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/, null],
|
||||
["str", /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/, null],
|
||||
["lang-css-str", /^url\(([^"')]*)\)/i],
|
||||
["kwd", /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i, null],
|
||||
["lang-css-kw", /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],
|
||||
["com", /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
|
||||
["com", /^(?:<\!--|--\>)/],
|
||||
["lit", /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
|
||||
["lit", /^#[\da-f]{3,6}/i],
|
||||
["pln", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],
|
||||
["pun", /^[^\s\w"']+/]
|
||||
]), ["css"]);
|
||||
PR.registerLangHandler(PR.createSimpleLexer([], [
|
||||
["kwd", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]
|
||||
]), ["css-kw"]);
|
||||
PR.registerLangHandler(PR.createSimpleLexer([], [
|
||||
["str", /^[^"')]+/]
|
||||
]), ["css-str"]);
|
|
@ -1,28 +1,496 @@
|
|||
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
||||
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
|
||||
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
|
||||
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
|
||||
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
|
||||
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
|
||||
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
|
||||
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
|
||||
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
|
||||
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
|
||||
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
|
||||
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
|
||||
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
|
||||
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
|
||||
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
|
||||
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
|
||||
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
|
||||
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||
J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
|
||||
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
|
||||
["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
|
||||
/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
|
||||
["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
||||
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
|
||||
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
|
||||
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
|
||||
PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
|
||||
var q = null;
|
||||
window.PR_SHOULD_USE_CONTINUATION = !0;
|
||||
(function() {
|
||||
function L(a) {
|
||||
function m(a) {
|
||||
var f = a.charCodeAt(0);
|
||||
if (f !== 92) return f;
|
||||
var b = a.charAt(1);
|
||||
return (f = r[b]) ? f : "0" <= b && b <= "7" ? parseInt(a.substring(1), 8) : b === "u" || b === "x" ? parseInt(a.substring(2), 16) : a.charCodeAt(1)
|
||||
}
|
||||
|
||||
function e(a) {
|
||||
if (a < 32) return (a < 16 ? "\\x0" : "\\x") + a.toString(16);
|
||||
a = String.fromCharCode(a);
|
||||
if (a === "\\" || a === "-" || a === "[" || a === "]") a = "\\" + a;
|
||||
return a
|
||||
}
|
||||
|
||||
function h(a) {
|
||||
for (var f = a.substring(1, a.length - 1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g), a = [], b = [], o = f[0] === "^", c = o ? 1 : 0, i = f.length; c < i; ++c) {
|
||||
var j = f[c];
|
||||
if (/\\[bdsw]/i.test(j)) a.push(j);
|
||||
else {
|
||||
var j = m(j),
|
||||
d;
|
||||
c + 2 < i && "-" === f[c + 1] ? (d = m(f[c + 2]), c += 2) : d = j;
|
||||
b.push([j, d]);
|
||||
d < 65 || j > 122 || (d < 65 || j > 90 || b.push([Math.max(65, j) | 32, Math.min(d, 90) | 32]), d < 97 || j > 122 || b.push([Math.max(97, j) & -33, Math.min(d, 122) & -33]))
|
||||
}
|
||||
}
|
||||
b.sort(function(a, f) {
|
||||
return a[0] - f[0] || f[1] - a[1]
|
||||
});
|
||||
f = [];
|
||||
j = [NaN, NaN];
|
||||
for (c = 0; c < b.length; ++c) i = b[c], i[0] <= j[1] + 1 ? j[1] = Math.max(j[1], i[1]) : f.push(j = i);
|
||||
b = ["["];
|
||||
o && b.push("^");
|
||||
b.push.apply(b, a);
|
||||
for (c = 0; c < f.length; ++c) i = f[c], b.push(e(i[0])), i[1] > i[0] && (i[1] + 1 > i[0] && b.push("-"), b.push(e(i[1])));
|
||||
b.push("]");
|
||||
return b.join("")
|
||||
}
|
||||
|
||||
function y(a) {
|
||||
for (var f = a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g), b = f.length, d = [], c = 0, i = 0; c < b; ++c) {
|
||||
var j = f[c];
|
||||
j === "(" ? ++i : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (d[j] = -1)
|
||||
}
|
||||
for (c = 1; c < d.length; ++c) - 1 === d[c] && (d[c] = ++t);
|
||||
for (i = c = 0; c < b; ++c) j = f[c], j === "(" ? (++i, d[i] === void 0 && (f[c] = "(?:")) : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (f[c] = "\\" + d[i]);
|
||||
for (i = c = 0; c < b; ++c)"^" === f[c] && "^" !== f[c + 1] && (f[c] = "");
|
||||
if (a.ignoreCase && s) for (c = 0; c < b; ++c) j = f[c], a = j.charAt(0), j.length >= 2 && a === "[" ? f[c] = h(j) : a !== "\\" && (f[c] = j.replace(/[A-Za-z]/g, function(a) {
|
||||
a = a.charCodeAt(0);
|
||||
return "[" + String.fromCharCode(a & -33, a | 32) + "]"
|
||||
}));
|
||||
return f.join("")
|
||||
}
|
||||
for (var t = 0, s = !1, l = !1, p = 0, d = a.length; p < d; ++p) {
|
||||
var g = a[p];
|
||||
if (g.ignoreCase) l = !0;
|
||||
else if (/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi, ""))) {
|
||||
s = !0;
|
||||
l = !1;
|
||||
break
|
||||
}
|
||||
}
|
||||
for (var r = {
|
||||
b: 8,
|
||||
t: 9,
|
||||
n: 10,
|
||||
v: 11,
|
||||
f: 12,
|
||||
r: 13
|
||||
}, n = [], p = 0, d = a.length; p < d; ++p) {
|
||||
g = a[p];
|
||||
if (g.global || g.multiline) throw Error("" + g);
|
||||
n.push("(?:" + y(g) + ")")
|
||||
}
|
||||
return RegExp(n.join("|"), l ? "gi" : "g")
|
||||
}
|
||||
|
||||
function M(a) {
|
||||
function m(a) {
|
||||
switch (a.nodeType) {
|
||||
case 1:
|
||||
if (e.test(a.className)) break;
|
||||
for (var g = a.firstChild; g; g = g.nextSibling) m(g);
|
||||
g = a.nodeName;
|
||||
if ("BR" === g || "LI" === g) h[s] = "\n", t[s << 1] = y++, t[s++ << 1 | 1] = a;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
g = a.nodeValue, g.length && (g = p ? g.replace(/\r\n?/g, "\n") : g.replace(/[\t\n\r ]+/g, " "), h[s] = g, t[s << 1] = y, y += g.length, t[s++ << 1 | 1] = a)
|
||||
}
|
||||
}
|
||||
var e = /(?:^|\s)nocode(?:\s|$)/,
|
||||
h = [],
|
||||
y = 0,
|
||||
t = [],
|
||||
s = 0,
|
||||
l;
|
||||
a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = document.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
|
||||
var p = l && "pre" === l.substring(0, 3);
|
||||
m(a);
|
||||
return {
|
||||
a: h.join("").replace(/\n$/, ""),
|
||||
c: t
|
||||
}
|
||||
}
|
||||
|
||||
function B(a, m, e, h) {
|
||||
m && (a = {
|
||||
a: m,
|
||||
d: a
|
||||
}, e(a), h.push.apply(h, a.e))
|
||||
}
|
||||
|
||||
function x(a, m) {
|
||||
function e(a) {
|
||||
for (var l = a.d, p = [l, "pln"], d = 0, g = a.a.match(y) || [], r = {}, n = 0, z = g.length; n < z; ++n) {
|
||||
var f = g[n],
|
||||
b = r[f],
|
||||
o = void 0,
|
||||
c;
|
||||
if (typeof b === "string") c = !1;
|
||||
else {
|
||||
var i = h[f.charAt(0)];
|
||||
if (i) o = f.match(i[1]), b = i[0];
|
||||
else {
|
||||
for (c = 0; c < t; ++c) if (i = m[c], o = f.match(i[1])) {
|
||||
b = i[0];
|
||||
break
|
||||
}
|
||||
o || (b = "pln")
|
||||
}
|
||||
if ((c = b.length >= 5 && "lang-" === b.substring(0, 5)) && !(o && typeof o[1] === "string")) c = !1, b = "src";
|
||||
c || (r[f] = b)
|
||||
}
|
||||
i = d;
|
||||
d += f.length;
|
||||
if (c) {
|
||||
c = o[1];
|
||||
var j = f.indexOf(c),
|
||||
k = j + c.length;
|
||||
o[2] && (k = f.length - o[2].length, j = k - c.length);
|
||||
b = b.substring(5);
|
||||
B(l + i, f.substring(0, j), e, p);
|
||||
B(l + i + j, c, C(b, c), p);
|
||||
B(l + i + k, f.substring(k), e, p)
|
||||
} else p.push(l + i, b)
|
||||
}
|
||||
a.e = p
|
||||
}
|
||||
var h = {},
|
||||
y;
|
||||
(function() {
|
||||
for (var e = a.concat(m), l = [], p = {}, d = 0, g = e.length; d < g; ++d) {
|
||||
var r = e[d],
|
||||
n = r[3];
|
||||
if (n) for (var k = n.length; --k >= 0;) h[n.charAt(k)] = r;
|
||||
r = r[1];
|
||||
n = "" + r;
|
||||
p.hasOwnProperty(n) || (l.push(r), p[n] = q)
|
||||
}
|
||||
l.push(/[\S\s]/);
|
||||
y = L(l)
|
||||
})();
|
||||
var t = m.length;
|
||||
return e
|
||||
}
|
||||
|
||||
function u(a) {
|
||||
var m = [],
|
||||
e = [];
|
||||
a.tripleQuotedStrings ? m.push(["str", /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/, q, "'\""]) : a.multiLineStrings ? m.push(["str", /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, q, "'\"`"]) : m.push(["str", /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/, q, "\"'"]);
|
||||
a.verbatimStrings && e.push(["str", /^@"(?:[^"]|"")*(?:"|$)/, q]);
|
||||
var h = a.hashComments;
|
||||
h && (a.cStyleComments ? (h > 1 ? m.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, q, "#"]) : m.push(["com", /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/, q, "#"]), e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, q])) : m.push(["com", /^#[^\n\r]*/, q, "#"]));
|
||||
a.cStyleComments && (e.push(["com", /^\/\/[^\n\r]*/, q]), e.push(["com", /^\/\*[\S\s]*?(?:\*\/|$)/, q]));
|
||||
a.regexLiterals && e.push(["lang-regex", /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);
|
||||
(h = a.types) && e.push(["typ", h]);
|
||||
a = ("" + a.keywords).replace(/^ | $/g, "");
|
||||
a.length && e.push(["kwd", RegExp("^(?:" + a.replace(/[\s,]+/g, "|") + ")\\b"), q]);
|
||||
m.push(["pln", /^\s+/, q, " \r\n\t\xa0"]);
|
||||
e.push(["lit", /^@[$_a-z][\w$@]*/i, q], ["typ", /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/, q], ["pln", /^[$_a-z][\w$@]*/i, q], ["lit", /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i, q, "0123456789"], ["pln", /^\\[\S\s]?/, q], ["pun", /^.[^\s\w"-$'./@\\`]*/, q]);
|
||||
return x(m, e)
|
||||
}
|
||||
|
||||
function D(a, m) {
|
||||
function e(a) {
|
||||
switch (a.nodeType) {
|
||||
case 1:
|
||||
if (k.test(a.className)) break;
|
||||
if ("BR" === a.nodeName) h(a), a.parentNode && a.parentNode.removeChild(a);
|
||||
else for (a = a.firstChild; a; a = a.nextSibling) e(a);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (p) {
|
||||
var b = a.nodeValue,
|
||||
d = b.match(t);
|
||||
if (d) {
|
||||
var c = b.substring(0, d.index);
|
||||
a.nodeValue = c;
|
||||
(b = b.substring(d.index + d[0].length)) && a.parentNode.insertBefore(s.createTextNode(b), a.nextSibling);
|
||||
h(a);
|
||||
c || a.parentNode.removeChild(a)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function h(a) {
|
||||
function b(a, d) {
|
||||
var e = d ? a.cloneNode(!1) : a,
|
||||
f = a.parentNode;
|
||||
if (f) {
|
||||
var f = b(f, 1),
|
||||
g = a.nextSibling;
|
||||
f.appendChild(e);
|
||||
for (var h = g; h; h = g) g = h.nextSibling, f.appendChild(h)
|
||||
}
|
||||
return e
|
||||
}
|
||||
for (; !a.nextSibling;) if (a = a.parentNode, !a) return;
|
||||
for (var a = b(a.nextSibling, 0), e;
|
||||
(e = a.parentNode) && e.nodeType === 1;) a = e;
|
||||
d.push(a)
|
||||
}
|
||||
var k = /(?:^|\s)nocode(?:\s|$)/,
|
||||
t = /\r\n?|\n/,
|
||||
s = a.ownerDocument,
|
||||
l;
|
||||
a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = s.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
|
||||
var p = l && "pre" === l.substring(0, 3);
|
||||
for (l = s.createElement("LI"); a.firstChild;) l.appendChild(a.firstChild);
|
||||
for (var d = [l], g = 0; g < d.length; ++g) e(d[g]);
|
||||
m === (m | 0) && d[0].setAttribute("value", m);
|
||||
var r = s.createElement("OL");
|
||||
r.className = "linenums";
|
||||
for (var n = Math.max(0, m - 1 | 0) || 0, g = 0, z = d.length; g < z; ++g) l = d[g], l.className = "L" + (g + n) % 10, l.firstChild || l.appendChild(s.createTextNode("\xa0")), r.appendChild(l);
|
||||
a.appendChild(r)
|
||||
}
|
||||
|
||||
function k(a, m) {
|
||||
for (var e = m.length; --e >= 0;) {
|
||||
var h = m[e];
|
||||
A.hasOwnProperty(h) ? window.console && console.warn("cannot override language handler %s", h) : A[h] = a
|
||||
}
|
||||
}
|
||||
|
||||
function C(a, m) {
|
||||
if (!a || !A.hasOwnProperty(a)) a = /^\s*</.test(m) ? "default-markup" : "default-code";
|
||||
return A[a]
|
||||
}
|
||||
|
||||
function E(a) {
|
||||
var m =
|
||||
a.g;
|
||||
try {
|
||||
var e = M(a.h),
|
||||
h = e.a;
|
||||
a.a = h;
|
||||
a.c = e.c;
|
||||
a.d = 0;
|
||||
C(m, h)(a);
|
||||
var k = /\bMSIE\b/.test(navigator.userAgent),
|
||||
m = /\n/g,
|
||||
t = a.a,
|
||||
s = t.length,
|
||||
e = 0,
|
||||
l = a.c,
|
||||
p = l.length,
|
||||
h = 0,
|
||||
d = a.e,
|
||||
g = d.length,
|
||||
a = 0;
|
||||
d[g] = s;
|
||||
var r, n;
|
||||
for (n = r = 0; n < g;) d[n] !== d[n + 2] ? (d[r++] = d[n++], d[r++] = d[n++]) : n += 2;
|
||||
g = r;
|
||||
for (n = r = 0; n < g;) {
|
||||
for (var z = d[n], f = d[n + 1], b = n + 2; b + 2 <= g && d[b + 1] === f;) b += 2;
|
||||
d[r++] = z;
|
||||
d[r++] = f;
|
||||
n = b
|
||||
}
|
||||
for (d.length = r; h < p;) {
|
||||
var o = l[h + 2] || s,
|
||||
c = d[a + 2] || s,
|
||||
b = Math.min(o, c),
|
||||
i = l[h + 1],
|
||||
j;
|
||||
if (i.nodeType !== 1 && (j = t.substring(e, b))) {
|
||||
k && (j = j.replace(m, "\r"));
|
||||
i.nodeValue =
|
||||
j;
|
||||
var u = i.ownerDocument,
|
||||
v = u.createElement("SPAN");
|
||||
v.className = d[a + 1];
|
||||
var x = i.parentNode;
|
||||
x.replaceChild(v, i);
|
||||
v.appendChild(i);
|
||||
e < o && (l[h + 1] = i = u.createTextNode(t.substring(b, o)), x.insertBefore(i, v.nextSibling))
|
||||
}
|
||||
e = b;
|
||||
e >= o && (h += 2);
|
||||
e >= c && (a += 2)
|
||||
}
|
||||
} catch (w) {
|
||||
"console" in window && console.log(w && w.stack ? w.stack : w)
|
||||
}
|
||||
}
|
||||
var v = ["break,continue,do,else,for,if,return,while"],
|
||||
w = [
|
||||
[v, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],
|
||||
F = [w, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],
|
||||
G = [w, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||
H = [G, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],
|
||||
w = [w, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],
|
||||
I = [v, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||
J = [v, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],
|
||||
v = [v, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"],
|
||||
K = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,
|
||||
N = /\S/,
|
||||
O = u({
|
||||
keywords: [F, H, w, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" + I, J, v],
|
||||
hashComments: !0,
|
||||
cStyleComments: !0,
|
||||
multiLineStrings: !0,
|
||||
regexLiterals: !0
|
||||
}),
|
||||
A = {};
|
||||
k(O, ["default-code"]);
|
||||
k(x([], [
|
||||
["pln", /^[^<?]+/],
|
||||
["dec", /^<!\w[^>]*(?:>|$)/],
|
||||
["com", /^<\!--[\S\s]*?(?:--\>|$)/],
|
||||
["lang-", /^<\?([\S\s]+?)(?:\?>|$)/],
|
||||
["lang-", /^<%([\S\s]+?)(?:%>|$)/],
|
||||
["pun", /^(?:<[%?]|[%?]>)/],
|
||||
["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],
|
||||
["lang-js", /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],
|
||||
["lang-css", /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],
|
||||
["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]
|
||||
]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]);
|
||||
k(x([
|
||||
["pln", /^\s+/, q, " \t\r\n"],
|
||||
["atv", /^(?:"[^"]*"?|'[^']*'?)/, q, "\"'"]
|
||||
], [
|
||||
["tag", /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],
|
||||
["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
|
||||
["lang-uq.val", /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],
|
||||
["pun", /^[/<->]+/],
|
||||
["lang-js", /^on\w+\s*=\s*"([^"]+)"/i],
|
||||
["lang-js", /^on\w+\s*=\s*'([^']+)'/i],
|
||||
["lang-js", /^on\w+\s*=\s*([^\s"'>]+)/i],
|
||||
["lang-css", /^style\s*=\s*"([^"]+)"/i],
|
||||
["lang-css", /^style\s*=\s*'([^']+)'/i],
|
||||
["lang-css", /^style\s*=\s*([^\s"'>]+)/i]
|
||||
]), ["in.tag"]);
|
||||
k(x([], [
|
||||
["atv", /^[\S\s]+/]
|
||||
]), ["uq.val"]);
|
||||
k(u({
|
||||
keywords: F,
|
||||
hashComments: !0,
|
||||
cStyleComments: !0,
|
||||
types: K
|
||||
}), ["c", "cc", "cpp", "cxx", "cyc", "m"]);
|
||||
k(u({
|
||||
keywords: "null,true,false"
|
||||
}), ["json"]);
|
||||
k(u({
|
||||
keywords: H,
|
||||
hashComments: !0,
|
||||
cStyleComments: !0,
|
||||
verbatimStrings: !0,
|
||||
types: K
|
||||
}), ["cs"]);
|
||||
k(u({
|
||||
keywords: G,
|
||||
cStyleComments: !0
|
||||
}), ["java"]);
|
||||
k(u({
|
||||
keywords: v,
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0
|
||||
}), ["bsh", "csh", "sh"]);
|
||||
k(u({
|
||||
keywords: I,
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0,
|
||||
tripleQuotedStrings: !0
|
||||
}), ["cv", "py"]);
|
||||
k(u({
|
||||
keywords: "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0,
|
||||
regexLiterals: !0
|
||||
}), ["perl", "pl", "pm"]);
|
||||
k(u({
|
||||
keywords: J,
|
||||
hashComments: !0,
|
||||
multiLineStrings: !0,
|
||||
regexLiterals: !0
|
||||
}), ["rb"]);
|
||||
k(u({
|
||||
keywords: w,
|
||||
cStyleComments: !0,
|
||||
regexLiterals: !0
|
||||
}), ["js"]);
|
||||
k(u({
|
||||
keywords: "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
||||
hashComments: 3,
|
||||
cStyleComments: !0,
|
||||
multilineStrings: !0,
|
||||
tripleQuotedStrings: !0,
|
||||
regexLiterals: !0
|
||||
}), ["coffee"]);
|
||||
k(x([], [
|
||||
["str", /^[\S\s]+/]
|
||||
]), ["regex"]);
|
||||
window.prettyPrintOne = function(a, m, e) {
|
||||
var h = document.createElement("PRE");
|
||||
h.innerHTML = a;
|
||||
e && D(h, e);
|
||||
E({
|
||||
g: m,
|
||||
i: e,
|
||||
h: h
|
||||
});
|
||||
return h.innerHTML
|
||||
};
|
||||
window.prettyPrint = function(a) {
|
||||
function m() {
|
||||
for (var e = window.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity; p < h.length && l.now() < e; p++) {
|
||||
var n = h[p],
|
||||
k = n.className;
|
||||
if (k.indexOf("prettyprint") >= 0) {
|
||||
var k = k.match(g),
|
||||
f, b;
|
||||
if (b = !k) {
|
||||
b = n;
|
||||
for (var o = void 0, c = b.firstChild; c; c = c.nextSibling) var i = c.nodeType,
|
||||
o = i === 1 ? o ? b : c : i === 3 ? N.test(c.nodeValue) ? b : o : o;
|
||||
b = (f = o === b ? void 0 : o) && "CODE" === f.tagName
|
||||
}
|
||||
b && (k = f.className.match(g));
|
||||
k && (k = k[1]);
|
||||
b = !1;
|
||||
for (o = n.parentNode; o; o = o.parentNode) if ((o.tagName === "pre" || o.tagName === "code" || o.tagName === "xmp") && o.className && o.className.indexOf("prettyprint") >= 0) {
|
||||
b = !0;
|
||||
break
|
||||
}
|
||||
b || ((b = (b = n.className.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : !0 : !1) && D(n, b), d = {
|
||||
g: k,
|
||||
h: n,
|
||||
i: b
|
||||
}, E(d))
|
||||
}
|
||||
}
|
||||
p < h.length ? setTimeout(m, 250) : a && a()
|
||||
}
|
||||
for (var e = [document.getElementsByTagName("pre"), document.getElementsByTagName("code"), document.getElementsByTagName("xmp")], h = [], k = 0; k < e.length; ++k) for (var t = 0, s = e[k].length; t < s; ++t) h.push(e[k][t]);
|
||||
var e = q,
|
||||
l = Date;
|
||||
l.now || (l = {
|
||||
now: function() {
|
||||
return +new Date
|
||||
}
|
||||
});
|
||||
var p = 0,
|
||||
d, g = /\blang(?:uage)?-([\w.]+)(?!\S)/;
|
||||
m()
|
||||
};
|
||||
window.PR = {
|
||||
createSimpleLexer: x,
|
||||
registerLangHandler: k,
|
||||
sourceDecorator: u,
|
||||
PR_ATTRIB_NAME: "atn",
|
||||
PR_ATTRIB_VALUE: "atv",
|
||||
PR_COMMENT: "com",
|
||||
PR_DECLARATION: "dec",
|
||||
PR_KEYWORD: "kwd",
|
||||
PR_LITERAL: "lit",
|
||||
PR_NOCODE: "nocode",
|
||||
PR_PLAIN: "pln",
|
||||
PR_PUNCTUATION: "pun",
|
||||
PR_SOURCE: "src",
|
||||
PR_STRING: "str",
|
||||
PR_TAG: "tag",
|
||||
PR_TYPE: "typ"
|
||||
}
|
||||
})();
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,100 @@
|
|||
(function($) {
|
||||
$.fn.toc = function(options) {
|
||||
var self = this;
|
||||
var opts = $.extend({}, jQuery.fn.toc.defaults, options);
|
||||
|
||||
var container = $(opts.container);
|
||||
var headings = $(opts.selectors, container);
|
||||
var headingOffsets = [];
|
||||
var activeClassName = opts.prefix+'-active';
|
||||
|
||||
var scrollTo = function(e) {
|
||||
if (opts.smoothScrolling) {
|
||||
e.preventDefault();
|
||||
var elScrollTo = $(e.target).attr('href');
|
||||
var $el = $(elScrollTo);
|
||||
|
||||
$('body,html').animate({ scrollTop: $el.offset().top }, 400, 'swing', function() {
|
||||
location.hash = elScrollTo;
|
||||
});
|
||||
}
|
||||
$('li', self).removeClass(activeClassName);
|
||||
$(e.target).parent().addClass(activeClassName);
|
||||
};
|
||||
|
||||
//highlight on scroll
|
||||
var timeout;
|
||||
var highlightOnScroll = function(e) {
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
}
|
||||
timeout = setTimeout(function() {
|
||||
var top = $(window).scrollTop(),
|
||||
highlighted;
|
||||
for (var i = 0, c = headingOffsets.length; i < c; i++) {
|
||||
if (headingOffsets[i] >= top) {
|
||||
$('li', self).removeClass(activeClassName);
|
||||
highlighted = $('li:eq('+(i-1)+')', self).addClass(activeClassName);
|
||||
opts.onHighlight(highlighted);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}, 50);
|
||||
};
|
||||
if (opts.highlightOnScroll) {
|
||||
$(window).bind('scroll', highlightOnScroll);
|
||||
highlightOnScroll();
|
||||
}
|
||||
|
||||
return this.each(function() {
|
||||
//build TOC
|
||||
var el = $(this);
|
||||
var ul = $('<ul/>');
|
||||
headings.each(function(i, heading) {
|
||||
var $h = $(heading);
|
||||
headingOffsets.push($h.offset().top - opts.highlightOffset);
|
||||
|
||||
//add anchor
|
||||
var anchor = $('<span/>').attr('id', opts.anchorName(i, heading, opts.prefix)).insertBefore($h);
|
||||
|
||||
//build TOC item
|
||||
var a = $('<a/>')
|
||||
.text(opts.headerText(i, heading, $h))
|
||||
.attr('href', '#' + opts.anchorName(i, heading, opts.prefix))
|
||||
.bind('click', function(e) {
|
||||
scrollTo(e);
|
||||
el.trigger('selected', $(this).attr('href'));
|
||||
});
|
||||
|
||||
var li = $('<li/>')
|
||||
.addClass(opts.itemClass(i, heading, $h, opts.prefix))
|
||||
.append(a);
|
||||
|
||||
ul.append(li);
|
||||
});
|
||||
el.html(ul);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
jQuery.fn.toc.defaults = {
|
||||
container: 'body',
|
||||
selectors: 'h1,h2,h3',
|
||||
smoothScrolling: true,
|
||||
prefix: 'toc',
|
||||
onHighlight: function() {},
|
||||
highlightOnScroll: true,
|
||||
highlightOffset: 100,
|
||||
anchorName: function(i, heading, prefix) {
|
||||
return prefix+i;
|
||||
},
|
||||
headerText: function(i, heading, $heading) {
|
||||
return $heading.text();
|
||||
},
|
||||
itemClass: function(i, heading, $heading, prefix) {
|
||||
return prefix + '-' + $heading[0].tagName.toLowerCase();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
|
@ -0,0 +1,960 @@
|
|||
/*
|
||||
* Darkstrap v0.9.2
|
||||
* By danneu (http://github.com/danneu/darkstrap)
|
||||
* Based off Twitter Bootstrap v2.2.2
|
||||
*/
|
||||
|
||||
tr.warning,
|
||||
tr.success,
|
||||
tr.error,
|
||||
tr.info {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #c6c6c6;
|
||||
background-color: #2f2f2f;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #1ab2ff;
|
||||
}
|
||||
|
||||
textarea,
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="time"],
|
||||
input[type="week"],
|
||||
input[type="number"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="search"],
|
||||
input[type="tel"],
|
||||
input[type="color"],
|
||||
.uneditable-input {
|
||||
background-color: #cccccc;
|
||||
}
|
||||
select {
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.uneditable-input,
|
||||
.uneditable-textarea {
|
||||
background-color: #c9c9c9;
|
||||
}
|
||||
|
||||
input:-moz-placeholder,
|
||||
textarea:-moz-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
input:-ms-input-placeholder,
|
||||
textarea:-ms-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
input::-webkit-input-placeholder,
|
||||
textarea::-webkit-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.control-group.warning .input-prepend .add-on,
|
||||
.control-group.warning .input-append .add-on {
|
||||
background-color: #faa732;
|
||||
}
|
||||
|
||||
.control-group.error .input-prepend .add-on,
|
||||
.control-group.error .input-append .add-on {
|
||||
background-color: #fc5b5e;
|
||||
}
|
||||
|
||||
.control-group.success .input-prepend .add-on,
|
||||
.control-group.success .input-append .add-on {
|
||||
background-color: #5bb75b;
|
||||
}
|
||||
|
||||
.control-group.info .input-prepend .add-on,
|
||||
.control-group.info .input-append .add-on {
|
||||
background-color: #3a87ad;
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
background-color: #444444;
|
||||
}
|
||||
.help-block,
|
||||
.help-inline {
|
||||
color: #ececec;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
border-top: 1px solid #666666;
|
||||
}
|
||||
.table tbody + tbody {
|
||||
border-top: 2px solid #666666;
|
||||
}
|
||||
.table .table {
|
||||
background-color: #2f2f2f;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
border: 1px solid #666666;
|
||||
}
|
||||
.table-bordered th,
|
||||
.table-bordered td {
|
||||
border-left: 1px solid #666666;
|
||||
}
|
||||
.table-striped tbody > tr:nth-child(odd) > td,
|
||||
.table-striped tbody > tr:nth-child(odd) > th {
|
||||
background-color: #444444;
|
||||
}
|
||||
|
||||
.table-hover tbody tr:hover td,
|
||||
.table-hover tbody tr:hover th {
|
||||
background-color: #666666;
|
||||
}
|
||||
|
||||
|
||||
.table tbody tr.success td {
|
||||
background-color: #5bb75b;
|
||||
}
|
||||
.table tbody tr.error td {
|
||||
background-color: #fc5b5e;
|
||||
}
|
||||
.table tbody tr.warning td {
|
||||
background-color: #faa732;
|
||||
}
|
||||
.table tbody tr.info td {
|
||||
background-color: #3a87ad;
|
||||
}
|
||||
|
||||
.table-hover tbody tr.success:hover td {
|
||||
background-color: #4cad4c;
|
||||
}
|
||||
.table-hover tbody tr.error:hover td {
|
||||
background-color: #fc4245;
|
||||
}
|
||||
.table-hover tbody tr.warning:hover td {
|
||||
background-color: #f99c19;
|
||||
}
|
||||
.table-hover tbody tr.info:hover td {
|
||||
background-color: #34789a;
|
||||
}
|
||||
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
background-image: url("../img/glyphicons-halflings.png");
|
||||
}
|
||||
|
||||
.icon-white,
|
||||
.nav-pills > .active > a > [class^="icon-"],
|
||||
.nav-pills > .active > a > [class*=" icon-"],
|
||||
.nav-list > .active > a > [class^="icon-"],
|
||||
.nav-list > .active > a > [class*=" icon-"],
|
||||
.navbar-inverse .nav > .active > a > [class^="icon-"],
|
||||
.navbar-inverse .nav > .active > a > [class*=" icon-"],
|
||||
.dropdown-menu > li > a:hover > [class^="icon-"],
|
||||
.dropdown-menu > li > a:hover > [class*=" icon-"],
|
||||
.dropdown-menu > .active > a > [class^="icon-"],
|
||||
.dropdown-menu > .active > a > [class*=" icon-"],
|
||||
.dropdown-submenu:hover > a > [class^="icon-"],
|
||||
.dropdown-submenu:hover > a > [class*=" icon-"] {
|
||||
background-image: url("../img/glyphicons-halflings-white.png");
|
||||
}
|
||||
|
||||
|
||||
.btn-link:hover {
|
||||
color: #1ab2ff;
|
||||
}
|
||||
|
||||
.alert {
|
||||
background-color: #faa732;
|
||||
border: 1px solid #fa7d23;
|
||||
}
|
||||
|
||||
|
||||
.alert-success {
|
||||
background-color: #5bb75b;
|
||||
border-color: #5cad4c;
|
||||
}
|
||||
|
||||
|
||||
.alert-danger,
|
||||
.alert-error {
|
||||
background-color: #fc5b5e;
|
||||
border-color: #fc4c6d;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
background-color: #3a87ad;
|
||||
border-color: #318292;
|
||||
}
|
||||
|
||||
.nav-tabs > .active > a,
|
||||
.nav-tabs > .active > a:hover {
|
||||
background-color: #2f2f2f;
|
||||
}
|
||||
|
||||
.nav .dropdown-toggle:hover .caret {
|
||||
border-top-color: #1ab2ff;
|
||||
border-bottom-color: #1ab2ff;
|
||||
}
|
||||
|
||||
.navbar-inner {
|
||||
background-color: #363636;
|
||||
background-image: -moz-linear-gradient(top, #444444, #222222);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
|
||||
background-image: -webkit-linear-gradient(top, #444444, #222222);
|
||||
background-image: -o-linear-gradient(top, #444444, #222222);
|
||||
background-image: linear-gradient(to bottom, #444444, #222222);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0);
|
||||
border: 1px solid #030303;
|
||||
}
|
||||
.navbar .brand {
|
||||
color: #c6c6c6;
|
||||
text-shadow: 0 1px 0 #444444;
|
||||
}
|
||||
.navbar-text {
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.navbar-link {
|
||||
color: #c6c6c6;
|
||||
}
|
||||
.navbar-link:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar .divider-vertical {
|
||||
border-left: 1px solid #222222;
|
||||
border-right: 1px solid #444444;
|
||||
}
|
||||
|
||||
|
||||
.navbar .nav > li > a {
|
||||
color: #c6c6c6;
|
||||
text-shadow: 0 1px 0 #444444;
|
||||
}
|
||||
|
||||
.navbar .nav > li > a:focus,
|
||||
.navbar .nav > li > a:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar .nav > .active > a,
|
||||
.navbar .nav > .active > a:hover,
|
||||
.navbar .nav > .active > a:focus {
|
||||
color: white;
|
||||
background-color: #151515;
|
||||
}
|
||||
|
||||
.navbar .btn-navbar {
|
||||
background-color: #292929;
|
||||
background-image: -moz-linear-gradient(top, #373737, #151515);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#373737), to(#151515));
|
||||
background-image: -webkit-linear-gradient(top, #373737, #151515);
|
||||
background-image: -o-linear-gradient(top, #373737, #151515);
|
||||
background-image: linear-gradient(to bottom, #373737, #151515);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF373737', endColorstr='#FF151515', GradientType=0);
|
||||
border-color: #151515 #151515 black;
|
||||
*background-color: #151515;
|
||||
}
|
||||
.navbar .btn-navbar:hover, .navbar .btn-navbar:active, .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] {
|
||||
background-color: #151515;
|
||||
*background-color: #090909;
|
||||
}
|
||||
.navbar .btn-navbar:active, .navbar .btn-navbar.active {
|
||||
background-color: black \9;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown > a:hover .caret {
|
||||
border-top-color: white;
|
||||
border-bottom-color: white;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown.open > .dropdown-toggle,
|
||||
.navbar .nav li.dropdown.active > .dropdown-toggle,
|
||||
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #151515;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown > .dropdown-toggle .caret {
|
||||
border-top-color: #c6c6c6;
|
||||
border-bottom-color: #c6c6c6;
|
||||
}
|
||||
|
||||
.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
|
||||
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
|
||||
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
|
||||
border-top-color: white;
|
||||
border-bottom-color: white;
|
||||
}
|
||||
|
||||
.well {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.darkwell, .breadcrumb, code, pre, select,
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="time"],
|
||||
input[type="week"],
|
||||
input[type="number"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="search"],
|
||||
input[type="tel"],
|
||||
input[type="color"],
|
||||
.uneditable-input, textarea, .hero-unit, .progress {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
border: 0;
|
||||
}
|
||||
.breadcrumb li {
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: white;
|
||||
}
|
||||
|
||||
h6 {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left-color: #111;
|
||||
}
|
||||
blockquote.pull-right {
|
||||
border-right-color: #111;
|
||||
}
|
||||
|
||||
hr {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
code {
|
||||
border: none;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
pre {
|
||||
border: none;
|
||||
color: #c6c6c6;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
legend {
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
select,
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="time"],
|
||||
input[type="week"],
|
||||
input[type="number"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="search"],
|
||||
input[type="tel"],
|
||||
input[type="color"],
|
||||
.uneditable-input {
|
||||
color: white;
|
||||
height: 21px;
|
||||
}
|
||||
select:-moz-placeholder,
|
||||
input[type="text"]:-moz-placeholder,
|
||||
input[type="password"]:-moz-placeholder,
|
||||
input[type="datetime"]:-moz-placeholder,
|
||||
input[type="datetime-local"]:-moz-placeholder,
|
||||
input[type="date"]:-moz-placeholder,
|
||||
input[type="month"]:-moz-placeholder,
|
||||
input[type="time"]:-moz-placeholder,
|
||||
input[type="week"]:-moz-placeholder,
|
||||
input[type="number"]:-moz-placeholder,
|
||||
input[type="email"]:-moz-placeholder,
|
||||
input[type="url"]:-moz-placeholder,
|
||||
input[type="search"]:-moz-placeholder,
|
||||
input[type="tel"]:-moz-placeholder,
|
||||
input[type="color"]:-moz-placeholder,
|
||||
.uneditable-input:-moz-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
select:-ms-input-placeholder,
|
||||
input[type="text"]:-ms-input-placeholder,
|
||||
input[type="password"]:-ms-input-placeholder,
|
||||
input[type="datetime"]:-ms-input-placeholder,
|
||||
input[type="datetime-local"]:-ms-input-placeholder,
|
||||
input[type="date"]:-ms-input-placeholder,
|
||||
input[type="month"]:-ms-input-placeholder,
|
||||
input[type="time"]:-ms-input-placeholder,
|
||||
input[type="week"]:-ms-input-placeholder,
|
||||
input[type="number"]:-ms-input-placeholder,
|
||||
input[type="email"]:-ms-input-placeholder,
|
||||
input[type="url"]:-ms-input-placeholder,
|
||||
input[type="search"]:-ms-input-placeholder,
|
||||
input[type="tel"]:-ms-input-placeholder,
|
||||
input[type="color"]:-ms-input-placeholder,
|
||||
.uneditable-input:-ms-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
select::-webkit-input-placeholder,
|
||||
input[type="text"]::-webkit-input-placeholder,
|
||||
input[type="password"]::-webkit-input-placeholder,
|
||||
input[type="datetime"]::-webkit-input-placeholder,
|
||||
input[type="datetime-local"]::-webkit-input-placeholder,
|
||||
input[type="date"]::-webkit-input-placeholder,
|
||||
input[type="month"]::-webkit-input-placeholder,
|
||||
input[type="time"]::-webkit-input-placeholder,
|
||||
input[type="week"]::-webkit-input-placeholder,
|
||||
input[type="number"]::-webkit-input-placeholder,
|
||||
input[type="email"]::-webkit-input-placeholder,
|
||||
input[type="url"]::-webkit-input-placeholder,
|
||||
input[type="search"]::-webkit-input-placeholder,
|
||||
input[type="tel"]::-webkit-input-placeholder,
|
||||
input[type="color"]::-webkit-input-placeholder,
|
||||
.uneditable-input::-webkit-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
textarea {
|
||||
color: white;
|
||||
}
|
||||
textarea:-moz-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
textarea:-ms-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
textarea::-webkit-input-placeholder {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
select {
|
||||
height: 29px;
|
||||
}
|
||||
|
||||
.input-prepend .add-on,
|
||||
.input-append .add-on {
|
||||
background: #444;
|
||||
color: #c6c6c6;
|
||||
border-color: #111;
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
border-top-color: #222;
|
||||
}
|
||||
|
||||
.well .form-actions {
|
||||
border-top-color: #000;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
margin-left: -17px;
|
||||
margin-right: -17px;
|
||||
margin-bottom: -17px;
|
||||
}
|
||||
|
||||
.help-inline,
|
||||
.help-block {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.control-group.warning input, .control-group.warning select, .control-group.warning textarea {
|
||||
color: #faa732;
|
||||
border-color: #faa732;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.warning input:focus,
|
||||
.control-group.warning select:focus,
|
||||
.control-group.warning textarea:focus {
|
||||
border-color: #faa732;
|
||||
-webkit-box-shadow: 0 0 6px #faa732;
|
||||
-moz-box-shadow: 0 0 6px #faa732;
|
||||
box-shadow: 0 0 6px #faa732;
|
||||
}
|
||||
.control-group.warning .control-label,
|
||||
.control-group.warning .help-block,
|
||||
.control-group.warning .help-inline {
|
||||
color: #faa732;
|
||||
}
|
||||
.control-group.success input, .control-group.success select, .control-group.success textarea {
|
||||
color: #5bb75b;
|
||||
border-color: #5bb75b;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.success input:focus,
|
||||
.control-group.success select:focus,
|
||||
.control-group.success textarea:focus {
|
||||
border-color: #5bb75b;
|
||||
-webkit-box-shadow: 0 0 6px #5bb75b;
|
||||
-moz-box-shadow: 0 0 6px #5bb75b;
|
||||
box-shadow: 0 0 6px #5bb75b;
|
||||
}
|
||||
.control-group.success .control-label,
|
||||
.control-group.success .help-block,
|
||||
.control-group.success .help-inline {
|
||||
color: #5bb75b;
|
||||
}
|
||||
.control-group.error input, .control-group.error select, .control-group.error textarea {
|
||||
color: #fc5b5e;
|
||||
border-color: #fc5b5e;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.error input:focus,
|
||||
.control-group.error select:focus,
|
||||
.control-group.error textarea:focus {
|
||||
border-color: #fc5b5e;
|
||||
-webkit-box-shadow: 0 0 6px #fc5b5e;
|
||||
-moz-box-shadow: 0 0 6px #fc5b5e;
|
||||
box-shadow: 0 0 6px #fc5b5e;
|
||||
}
|
||||
.control-group.error .control-label,
|
||||
.control-group.error .help-block,
|
||||
.control-group.error .help-inline {
|
||||
color: #fc5b5e;
|
||||
}
|
||||
.control-group.info input, .control-group.info select, .control-group.info textarea {
|
||||
color: #3a87ad;
|
||||
border-color: #3a87ad;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0.8) 0 1px 7px 0px inset;
|
||||
background: #202020;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.control-group.info input:focus,
|
||||
.control-group.info select:focus,
|
||||
.control-group.info textarea:focus {
|
||||
border-color: #3a87ad;
|
||||
-webkit-box-shadow: 0 0 6px #3a87ad;
|
||||
-moz-box-shadow: 0 0 6px #3a87ad;
|
||||
box-shadow: 0 0 6px #3a87ad;
|
||||
}
|
||||
.control-group.info .control-label,
|
||||
.control-group.info .help-block,
|
||||
.control-group.info .help-inline {
|
||||
color: #3a87ad;
|
||||
}
|
||||
|
||||
input:focus:invalid,
|
||||
textarea:focus:invalid,
|
||||
select:focus:invalid {
|
||||
border-color: #fc5b5e;
|
||||
}
|
||||
|
||||
input:focus:invalid:focus,
|
||||
textarea:focus:invalid:focus,
|
||||
select:focus:invalid:focus {
|
||||
border-color: #fc5b5e;
|
||||
box-shadow: 0 0 6px #fc5b5e;
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.img-polaroid {
|
||||
background-color: #111;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.nav-tabs .open .dropdown-toggle,
|
||||
.nav-pills .open .dropdown-toggle,
|
||||
.nav > .open.active > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
border-color: transparent transparent #666666 transparent;
|
||||
}
|
||||
|
||||
.nav > .dropdown.active > a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.nav-tabs .active .dropdown-toggle .caret,
|
||||
.nav-pills .active .dropdown-toggle .caret {
|
||||
border-top-color: #fff;
|
||||
}
|
||||
|
||||
.nav-tabs {
|
||||
border-bottom: 1px solid #666666;
|
||||
}
|
||||
.nav-tabs > .active > a, .nav-tabs > .active > a:hover {
|
||||
background-color: #2f2f2f;
|
||||
color: #fff;
|
||||
border-color: #666666 #666666 transparent #666666;
|
||||
}
|
||||
.nav-tabs > li > a:hover {
|
||||
border-color: #2f2f2f #2f2f2f #666666 #2f2f2f;
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
color: #00aaff;
|
||||
}
|
||||
.nav-tabs.nav-stacked > li > a, .nav-tabs.nav-stacked > li > a:hover {
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.well > .nav-tabs > .active > a, .well > .nav-tabs > .active > a:hover {
|
||||
background-color: #202020;
|
||||
}
|
||||
|
||||
.nav-pills > li > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
color: #00aaff;
|
||||
}
|
||||
|
||||
.nav-list > li > a,
|
||||
.nav-list .nav-header {
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.nav-list > li > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
color: #00aaff;
|
||||
}
|
||||
|
||||
.nav-list .active > a:hover {
|
||||
background-color: #0088cc;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.tabs-below .nav-tabs {
|
||||
border-top: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-left .nav-tabs {
|
||||
border-right: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-right .nav-tabs {
|
||||
border-left: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-below .nav-tabs > li > a:hover {
|
||||
border-top: 1px solid #666666;
|
||||
}
|
||||
|
||||
.tabs-left .nav-tabs > li > a:hover {
|
||||
border-color: transparent #666666 transparent transparent;
|
||||
}
|
||||
|
||||
.tabs-right .nav-tabs > li > a:hover {
|
||||
border-color: transparent transparent transparent #666666;
|
||||
}
|
||||
|
||||
.tabs-below .nav-tabs .active > a,
|
||||
.tabs-below .nav-tabs .active > a:hover {
|
||||
border-color: transparent #666666 #666666 #666666;
|
||||
}
|
||||
|
||||
.tabs-left .nav-tabs .active > a,
|
||||
.tabs-left .nav-tabs .active > a:hover {
|
||||
border-color: #666666 transparent #666666 #666666;
|
||||
}
|
||||
|
||||
.tabs-right .nav-tabs .active > a,
|
||||
.tabs-right .nav-tabs .active > a:hover {
|
||||
border-color: #666666 #666666 #666666 transparent;
|
||||
}
|
||||
|
||||
.nav-list > li > a,
|
||||
.nav-list .nav-header {
|
||||
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.nav-tabs > li > a:hover {
|
||||
border-color: transparent transparent #666666 transparent;
|
||||
}
|
||||
|
||||
.nav > .disabled > a:hover {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.nav-list .divider {
|
||||
background-color: transparent;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 0 1px 0;
|
||||
border-bottom: 1px solid #121212;
|
||||
}
|
||||
|
||||
.navbar .brand {
|
||||
text-shadow: 0 1px 0 black;
|
||||
}
|
||||
|
||||
.navbar .divider-vertical {
|
||||
border: transparent;
|
||||
-webkit-box-shadow: rgba(255, 255, 255, 0.07) 1px 0 0;
|
||||
-moz-box-shadow: rgba(255, 255, 255, 0.07) 1px 0 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.07) 1px 0 0;
|
||||
border-right: 1px solid #121212;
|
||||
}
|
||||
|
||||
.navbar-inverse .brand {
|
||||
color: #555;
|
||||
text-shadow: 0 1px 0 white;
|
||||
}
|
||||
.navbar-inverse .brand:hover {
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .navbar-inner {
|
||||
background: #fafafa;
|
||||
border: 1px solid #030303;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
|
||||
background: -moz-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #999999));
|
||||
background: -webkit-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: -o-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: -ms-linear-gradient(top, white 0%, #999999 100%);
|
||||
background: linear-gradient(to bottom, #ffffff 0%, #999999 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#999999',GradientType=0 );
|
||||
}
|
||||
.navbar-inverse .nav > li > a {
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav > li > a:hover {
|
||||
color: #333;
|
||||
}
|
||||
.navbar-inverse .nav > .active > a,
|
||||
.navbar-inverse .nav > .active > a:hover {
|
||||
background-color: #e5e5e5;
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125) inset;
|
||||
color: #555555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #e5e5e5;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown > a:hover .caret {
|
||||
border-top-color: #555;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav > li > a:focus,
|
||||
.navbar-inverse .nav > li > a:hover {
|
||||
background-color: transparent;
|
||||
color: #333;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
|
||||
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #e5e5e5;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
|
||||
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
|
||||
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
|
||||
border-bottom-color: #555;
|
||||
border-top-color: #555;
|
||||
color: #555;
|
||||
}
|
||||
.navbar-inverse .navbar-search .search-query {
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6) inset;
|
||||
background-color: white;
|
||||
color: #333;
|
||||
}
|
||||
.navbar-inverse .navbar-search input.search-query:focus {
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6) inset, 0 0 8px rgba(82, 168, 236, 0.6);
|
||||
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.6) inset, 0 0 8px rgba(82, 168, 236, 0.9);
|
||||
padding: 4px 14px;
|
||||
outline: 0 none;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
|
||||
border-bottom-color: #555;
|
||||
border-top-color: #555;
|
||||
}
|
||||
.navbar-inverse .nav li.dropdown > a:hover .caret {
|
||||
border-bottom-color: #333;
|
||||
border-top-color: #333;
|
||||
}
|
||||
.navbar-inverse .navbar-search .search-query:-moz-placeholder {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.pagination ul > li > a,
|
||||
.pagination ul > li > span {
|
||||
background: transparent;
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.pagination ul > li > a:hover,
|
||||
.pagination ul > .active > a,
|
||||
.pagination ul > .active > span {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.pager li > a, .pager li > span {
|
||||
background-color: transparent;
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.pager li > a:hover {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.pager .disabled > a,
|
||||
.pager .disabled > a:hover,
|
||||
.pager .disabled > span {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.label,
|
||||
.badge {
|
||||
text-shadow: 1px 1px 0 black;
|
||||
box-shadow: 1px 1px 0 black;
|
||||
}
|
||||
|
||||
.label-inverse,
|
||||
.badge-inverse {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.hero-unit {
|
||||
background: #111;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
border-color: #666;
|
||||
box-shadow: 0 1px 3px black;
|
||||
}
|
||||
.thumbnail .caption {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.alert {
|
||||
color: white;
|
||||
border-color: #a86404;
|
||||
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.alert h1, .alert h2, .alert h3, .alert h4, .alert h5, .alert h6 {
|
||||
color: #c17305;
|
||||
}
|
||||
|
||||
.alert-error {
|
||||
border-color: #d40408;
|
||||
}
|
||||
.alert-error h1, .alert-error h2, .alert-error h3, .alert-error h4, .alert-error h5, .alert-error h6 {
|
||||
color: #ed0409;
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
border-color: #2d662d;
|
||||
}
|
||||
.alert-success h1, .alert-success h2, .alert-success h3, .alert-success h4, .alert-success h5, .alert-success h6 {
|
||||
color: #347834;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
border-color: #1a3c4e;
|
||||
}
|
||||
.alert-info h1, .alert-info h2, .alert-info h3, .alert-info h4, .alert-info h5, .alert-info h6 {
|
||||
color: #204B61;
|
||||
}
|
||||
|
||||
select::-webkit-scrollbar {
|
||||
-webkit-appearance: none;
|
||||
width: 11px;
|
||||
}
|
||||
select::-webkit-scrollbar-thumb {
|
||||
border-radius: 8px;
|
||||
border: 2px solid #202020;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.modal {
|
||||
background-color: #444;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
border-bottom: 1px solid #222222;
|
||||
}
|
||||
|
||||
.modal-body p {
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
background-color: #373737;
|
||||
border-top: 1px solid #222222;
|
||||
-moz-box-shadow: 0 1px 0 #333333 inset;
|
||||
-webkit-box-shadow: 0 1px 0 #333333 inset;
|
||||
-o-box-shadow: 0 1px 0 #333333 inset;
|
||||
box-shadow: 0 1px 0 #333333 inset;
|
||||
}
|
||||
|
||||
.popover {
|
||||
background: #444;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.popover-title {
|
||||
background: #373737;
|
||||
border-bottom-color: #222;
|
||||
}
|
||||
|
||||
.popover.top .arrow:after {
|
||||
border-top-color: #444;
|
||||
}
|
||||
|
||||
.popover.right .arrow:after {
|
||||
border-right-color: #444;
|
||||
}
|
||||
|
||||
.popover.bottom .arrow:after {
|
||||
border-bottom-color: #444;
|
||||
}
|
||||
|
||||
.popover.left .arrow:after {
|
||||
border-left-color: #444;
|
||||
}
|
|
@ -6,7 +6,7 @@ html
|
|||
|
||||
body
|
||||
{
|
||||
font: 14px "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans serif;
|
||||
font: 14px "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
line-height: 130%;
|
||||
color: #000;
|
||||
background-color: #fff;
|
||||
|
@ -58,8 +58,7 @@ section
|
|||
display: none;
|
||||
}
|
||||
|
||||
.optional:after {
|
||||
content: "opt";
|
||||
.signature-attributes {
|
||||
font-size: 60%;
|
||||
color: #aaa;
|
||||
font-style: italic;
|
||||
|
@ -239,7 +238,6 @@ h6
|
|||
margin: 0;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
border-left: 3px #ddd solid;
|
||||
}
|
||||
|
||||
.prettyprint code span.line
|
||||
|
@ -247,6 +245,39 @@ h6
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.prettyprint.linenums
|
||||
{
|
||||
padding-left: 70px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.prettyprint.linenums ol
|
||||
{
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.prettyprint.linenums li
|
||||
{
|
||||
border-left: 3px #ddd solid;
|
||||
}
|
||||
|
||||
.prettyprint.linenums li.selected,
|
||||
.prettyprint.linenums li.selected *
|
||||
{
|
||||
background-color: lightyellow;
|
||||
}
|
||||
|
||||
.prettyprint.linenums li *
|
||||
{
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
}
|
||||
|
||||
.params, .props
|
||||
{
|
||||
border-spacing: 0;
|
||||
|
@ -285,6 +316,18 @@ h6
|
|||
.params th, .props th { border-right: 1px solid #aaa; }
|
||||
.params thead .last, .props thead .last { border-right: 1px solid #ddd; }
|
||||
|
||||
.params td.description > p:first-child
|
||||
{
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.params td.description > p:last-child
|
||||
{
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.disabled {
|
||||
color: #454545;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,345 @@
|
|||
/* global styles */
|
||||
.sunlight-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
margin: 10px 0 !important;
|
||||
}
|
||||
.sunlight-code-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
border: none;
|
||||
border-color: #626262 !important;
|
||||
background-color: #262626 !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container, .sunlight-container textarea {
|
||||
font-family: Consolas, Inconsolata, Monaco, "Courier New" !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 15px !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container textarea {
|
||||
color: #FFFFFF !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.sunlight-container textarea {
|
||||
padding-left: 0 !important;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.sunlight-code-container > .sunlight-highlighted {
|
||||
white-space: pre;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden; /* ie requires this wtf? */
|
||||
}
|
||||
.sunlight-highlighted {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
}
|
||||
.sunlight-highlighted * {
|
||||
background: transparent;
|
||||
}
|
||||
.sunlight-line-number-margin {
|
||||
float: left !important;
|
||||
margin-right: 5px !important;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding: 0 !important;
|
||||
padding-right: 4px !important;
|
||||
padding-left: 4px !important;
|
||||
border-right: 1px solid #9A9A9A !important;
|
||||
background-color: #3E3E3E !important;
|
||||
color: #9A9A9A !important;
|
||||
text-align: right !important;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
.sunlight-highlighted a, .sunlight-line-number-margin a {
|
||||
border: none !important;
|
||||
text-decoration: none !important;
|
||||
font-style: normal !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.sunlight-line-number-margin a {
|
||||
color: inherit !important;
|
||||
}
|
||||
.sunlight-line-highlight-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
.sunlight-line-highlight-overlay div {
|
||||
height: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.sunlight-line-highlight-overlay .sunlight-line-highlight-active {
|
||||
background-color: #4B4B4B;
|
||||
}
|
||||
|
||||
/* menu */
|
||||
.sunlight-menu {
|
||||
background-color: #FFFFCC;
|
||||
color: #000000;
|
||||
}
|
||||
.sunlight-menu ul {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
list-style-type: none !important;
|
||||
}
|
||||
.sunlight-menu li {
|
||||
float: right !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.sunlight-menu a, .sunlight-menu img {
|
||||
color: #000099 !important;
|
||||
text-decoration: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.sunlight-string,
|
||||
.sunlight-char,
|
||||
.sunlight-heredoc,
|
||||
.sunlight-heredocDeclaration,
|
||||
.sunlight-nowdoc,
|
||||
.sunlight-longString,
|
||||
.sunlight-rawString,
|
||||
.sunlight-binaryString,
|
||||
.sunlight-verbatimString,
|
||||
.sunlight-rawLongString,
|
||||
.sunlight-binaryLongString,
|
||||
.sunlight-diff .sunlight-added {
|
||||
color: #55EB54 !important;
|
||||
}
|
||||
.sunlight-operator,
|
||||
.sunlight-punctuation,
|
||||
.sunlight-delimiter {
|
||||
color: #B1EDEC !important;
|
||||
}
|
||||
.sunlight-ident,
|
||||
.sunlight-diff .sunlight-unchanged {
|
||||
color: #E0E0E0 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-comment,
|
||||
.sunlight-xmlDocCommentContent,
|
||||
.sunlight-nginx .sunlight-ssiCommand,
|
||||
.sunlight-sln .sunlight-formatDeclaration,
|
||||
.sunlight-diff .sunlight-mergeHeader,
|
||||
.sunlight-diff .sunlight-noNewLine {
|
||||
color: #787D31 !important;
|
||||
}
|
||||
.sunlight-number,
|
||||
.sunlight-cdata,
|
||||
.sunlight-guid,
|
||||
.sunlight-diff .sunlight-modified {
|
||||
color: #F7BA7E !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-named-ident,
|
||||
.sunlight-xml .sunlight-attribute,
|
||||
.sunlight-constant,
|
||||
.sunlight-javascript .sunlight-globalVariable,
|
||||
.sunlight-globalObject,
|
||||
.sunlight-css .sunlight-id,
|
||||
.sunlight-python .sunlight-attribute,
|
||||
.sunlight-nginx .sunlight-context,
|
||||
.sunlight-httpd .sunlight-context,
|
||||
.sunlight-lisp .sunlight-declarationSpecifier,
|
||||
.sunlight-erlang .sunlight-userDefinedFunction,
|
||||
.sunlight-diff .sunlight-removed {
|
||||
color: #FBBDEE !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-keyword,
|
||||
.sunlight-languageConstruct,
|
||||
.sunlight-specialOperator,
|
||||
.sunlight-xml .sunlight-tagName,
|
||||
.sunlight-xml .sunlight-operator,
|
||||
.sunlight-bash .sunlight-command,
|
||||
.sunlight-erlang .sunlight-moduleAttribute {
|
||||
color: #A3CCF7 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-shortOpenTag,
|
||||
.sunlight-openTag,
|
||||
.sunlight-closeTag,
|
||||
.sunlight-xmlOpenTag,
|
||||
.sunlight-xmlCloseTag,
|
||||
.sunlight-aspOpenTag,
|
||||
.sunlight-aspCloseTag,
|
||||
.sunlight-label,
|
||||
.sunlight-css .sunlight-importantFlag {
|
||||
background-color: #7373C1 !important;
|
||||
}
|
||||
.sunlight-content {
|
||||
color: #FFFFFF !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-function,
|
||||
.sunlight-globalFunction,
|
||||
.sunlight-objective-c .sunlight-messageDestination,
|
||||
.sunlight-ruby .sunlight-specialFunction,
|
||||
.sunlight-6502asm .sunlight-illegalOpcode,
|
||||
.sunlight-powershell .sunlight-switch,
|
||||
.sunlight-lisp .sunlight-macro,
|
||||
.sunlight-lisp .sunlight-specialForm,
|
||||
.sunlight-lisp .sunlight-type,
|
||||
.sunlight-sln .sunlight-sectionName,
|
||||
.sunlight-diff .sunlight-header {
|
||||
color: #C8BBF1 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-variable,
|
||||
.sunlight-environmentVariable,
|
||||
.sunlight-specialVariable,
|
||||
.sunlight-objective-c .sunlight-messageArgumentName,
|
||||
.sunlight-lisp .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-instanceVariable {
|
||||
color: #F5E5B0 !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-regexLiteral,
|
||||
.sunlight-lisp .sunlight-operator,
|
||||
.sunlight-6502asm .sunlight-pseudoOp,
|
||||
.sunlight-erlang .sunlight-macro,
|
||||
.sunlight-diff .sunlight-rangeInfo {
|
||||
color: #E0F16A !important;
|
||||
}
|
||||
.sunlight-specialVariable {
|
||||
font-style: italic !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-csharp .sunlight-pragma,
|
||||
.sunlight-preprocessorDirective,
|
||||
.sunlight-vb .sunlight-compilerDirective {
|
||||
color: #666363 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.sunlight-xmlDocCommentMeta,
|
||||
.sunlight-java .sunlight-annotation,
|
||||
.sunlight-scala .sunlight-annotation,
|
||||
.sunlight-docComment {
|
||||
color: #666363 !important;
|
||||
}
|
||||
.sunlight-quotedIdent,
|
||||
.sunlight-ruby .sunlight-subshellCommand,
|
||||
.sunlight-lisp .sunlight-keywordArgument,
|
||||
.sunlight-haskell .sunlight-infixOperator,
|
||||
.sunlight-erlang .sunlight-quotedAtom {
|
||||
color: #F8CA16 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* html/xml */
|
||||
.sunlight-xml .sunlight-tagName,
|
||||
.sunlight-xml .sunlight-operator,
|
||||
.sunlight-xml .sunlight-attribute {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
.sunlight-doctype {
|
||||
color: #DEB9B2 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-entity {
|
||||
background-color: #E6E585 !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
|
||||
/* javascript */
|
||||
.sunlight-javascript .sunlight-reservedWord {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* css */
|
||||
.sunlight-css .sunlight-element {
|
||||
color: #E9EE97 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-microsoftFilterPrefix {
|
||||
color: #C9FF9F !important;
|
||||
}
|
||||
.sunlight-css .sunlight-rule {
|
||||
color: #0099FF !important;
|
||||
}
|
||||
.sunlight-css .sunlight-class {
|
||||
color: #E78282 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-pseudoClass, .sunlight-css .sunlight-pseudoElement {
|
||||
color: #73D693 !important;
|
||||
}
|
||||
|
||||
/* bash */
|
||||
.sunlight-bash .sunlight-hashBang {
|
||||
color: #FFFF00 !important;
|
||||
}
|
||||
|
||||
.sunlight-bash .sunlight-verbatimCommand {
|
||||
color: #BBA4EE !important;
|
||||
}
|
||||
.sunlight-bash .sunlight-variable,
|
||||
.sunlight-bash .sunlight-specialVariable {
|
||||
color: #ED8585 !important;
|
||||
}
|
||||
|
||||
/* python */
|
||||
.sunlight-python .sunlight-specialMethod {
|
||||
font-weight: bold !important;
|
||||
color: #B0A3C2;
|
||||
}
|
||||
|
||||
/* ruby */
|
||||
.sunlight-ruby .sunlight-symbol {
|
||||
font-weight: bold !important;
|
||||
color: #90EEA2 !important;
|
||||
}
|
||||
|
||||
/* brainfuck */
|
||||
.sunlight-brainfuck {
|
||||
font-weight: bold !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-increment {
|
||||
background-color: #FF9900 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrement {
|
||||
background-color: #FF99FF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-incrementPointer {
|
||||
background-color: #FFFF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrementPointer {
|
||||
background-color: #66CCFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-read {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-write {
|
||||
background-color: #99FF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-openLoop, .sunlight-brainfuck .sunlight-closeLoop {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
/* 6502 asm */
|
||||
.sunlight-6502asm .sunlight-label {
|
||||
background: none !important;
|
||||
color: #FFFFFF !important;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
||||
/* lisp */
|
||||
.sunlight-lisp .sunlight-macro {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* erlang */
|
||||
.sunlight-erlang .sunlight-atom {
|
||||
color: #FFFFFF !important;
|
||||
font-weight: bold !important;
|
||||
}
|
|
@ -0,0 +1,344 @@
|
|||
/* global styles */
|
||||
.sunlight-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
margin: 10px 0 !important;
|
||||
}
|
||||
.sunlight-code-container {
|
||||
clear: both !important;
|
||||
position: relative !important;
|
||||
border: none;
|
||||
border-color: #969696 !important;
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container, .sunlight-container textarea {
|
||||
font-family: Consolas, Inconsolata, Monaco, "Courier New" !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 15px !important;
|
||||
}
|
||||
.sunlight-highlighted, .sunlight-container textarea {
|
||||
color: #000000 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.sunlight-container textarea {
|
||||
padding-left: 0 !important;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.sunlight-code-container > .sunlight-highlighted {
|
||||
white-space: pre;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden; /* ie requires this wtf? */
|
||||
}
|
||||
.sunlight-highlighted {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
}
|
||||
.sunlight-highlighted * {
|
||||
background: transparent;
|
||||
}
|
||||
.sunlight-line-number-margin {
|
||||
float: left !important;
|
||||
margin-right: 5px !important;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding: 0 !important;
|
||||
padding-right: 4px !important;
|
||||
padding-left: 4px !important;
|
||||
border-right: 1px solid #CCCCCC !important;
|
||||
background-color: #EEEEEE !important;
|
||||
color: #848484 !important;
|
||||
text-align: right !important;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
.sunlight-highlighted a, .sunlight-line-number-margin a {
|
||||
border: none !important;
|
||||
text-decoration: none !important;
|
||||
font-weight: normal !important;
|
||||
font-style: normal !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.sunlight-line-number-margin a {
|
||||
color: inherit !important;
|
||||
}
|
||||
.sunlight-line-highlight-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
.sunlight-line-highlight-overlay div {
|
||||
height: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.sunlight-line-highlight-overlay .sunlight-line-highlight-active {
|
||||
background-color: #E7FCFA;
|
||||
}
|
||||
|
||||
/* menu */
|
||||
.sunlight-menu {
|
||||
background-color: #FFFFCC;
|
||||
color: #000000;
|
||||
}
|
||||
.sunlight-menu ul {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
list-style-type: none !important;
|
||||
}
|
||||
.sunlight-menu li {
|
||||
float: right !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.sunlight-menu a, .sunlight-menu img {
|
||||
color: #000099 !important;
|
||||
text-decoration: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.sunlight-string,
|
||||
.sunlight-char,
|
||||
.sunlight-heredoc,
|
||||
.sunlight-heredocDeclaration,
|
||||
.sunlight-nowdoc,
|
||||
.sunlight-longString,
|
||||
.sunlight-rawString,
|
||||
.sunlight-binaryString,
|
||||
.sunlight-rawLongString,
|
||||
.sunlight-binaryLongString,
|
||||
.sunlight-verbatimString,
|
||||
.sunlight-diff .sunlight-removed {
|
||||
color: #990000 !important;
|
||||
}
|
||||
|
||||
.sunlight-ident,
|
||||
.sunlight-operator,
|
||||
.sunlight-punctuation,
|
||||
.sunlight-delimiter,
|
||||
.sunlight-diff .sunlight-unchanged {
|
||||
color: #000000 !important;
|
||||
}
|
||||
|
||||
.sunlight-comment,
|
||||
.sunlight-xmlDocCommentContent,
|
||||
.sunlight-nginx .sunlight-ssiCommand,
|
||||
.sunlight-sln .sunlight-formatDeclaration,
|
||||
.sunlight-diff .sunlight-added {
|
||||
color: #009900 !important;
|
||||
}
|
||||
.sunlight-number,
|
||||
.sunlight-guid,
|
||||
.sunlight-cdata {
|
||||
color: #CC6600 !important;
|
||||
}
|
||||
|
||||
.sunlight-named-ident,
|
||||
.sunlight-constant,
|
||||
.sunlight-javascript .sunlight-globalVariable,
|
||||
.sunlight-globalObject,
|
||||
.sunlight-python .sunlight-attribute,
|
||||
.sunlight-nginx .sunlight-context,
|
||||
.sunlight-httpd .sunlight-context,
|
||||
.sunlight-haskell .sunlight-class,
|
||||
.sunlight-haskell .sunlight-type,
|
||||
.sunlight-lisp .sunlight-declarationSpecifier,
|
||||
.sunlight-erlang .sunlight-userDefinedFunction,
|
||||
.sunlight-diff .sunlight-header {
|
||||
color: #2B91AF !important;
|
||||
}
|
||||
.sunlight-keyword,
|
||||
.sunlight-languageConstruct,
|
||||
.sunlight-css
|
||||
.sunlight-element,
|
||||
.sunlight-bash .sunlight-command,
|
||||
.sunlight-specialOperator,
|
||||
.sunlight-erlang .sunlight-moduleAttribute,
|
||||
.sunlight-xml .sunlight-tagName,
|
||||
.sunlight-xml .sunlight-operator,
|
||||
.sunlight-diff .sunlight-modified {
|
||||
color: #0000FF !important;
|
||||
}
|
||||
.sunlight-shortOpenTag,
|
||||
.sunlight-openTag,
|
||||
.sunlight-closeTag,
|
||||
.sunlight-xmlOpenTag,
|
||||
.sunlight-xmlCloseTag,
|
||||
.sunlight-aspOpenTag,
|
||||
.sunlight-aspCloseTag,
|
||||
.sunlight-label,
|
||||
.sunlight-css .sunlight-importantFlag {
|
||||
background-color: #FFFF99 !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
.sunlight-function,
|
||||
.sunlight-globalFunction,
|
||||
.sunlight-ruby .sunlight-specialFunction,
|
||||
.sunlight-objective-c .sunlight-messageDestination,
|
||||
.sunlight-6502asm .sunlight-illegalOpcode,
|
||||
.sunlight-powershell .sunlight-switch,
|
||||
.sunlight-lisp .sunlight-macro,
|
||||
.sunlight-lisp .sunlight-specialForm,
|
||||
.sunlight-lisp .sunlight-type,
|
||||
.sunlight-sln .sunlight-sectionName,
|
||||
.sunlight-diff .sunlight-rangeInfo {
|
||||
color: #B069AF !important;
|
||||
}
|
||||
|
||||
.sunlight-variable,
|
||||
.sunlight-specialVariable,
|
||||
.sunlight-environmentVariable,
|
||||
.sunlight-objective-c .sunlight-messageArgumentName,
|
||||
.sunlight-lisp .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-globalVariable,
|
||||
.sunlight-ruby .sunlight-instanceVariable,
|
||||
.sunlight-sln .sunlight-operator {
|
||||
color: #325484 !important;
|
||||
}
|
||||
.sunlight-regexLiteral,
|
||||
.sunlight-lisp .sunlight-operator,
|
||||
.sunlight-6502asm .sunlight-pseudoOp,
|
||||
.sunlight-erlang .sunlight-macro {
|
||||
color: #FF00B2 !important;
|
||||
}
|
||||
.sunlight-specialVariable {
|
||||
font-style: italic !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.sunlight-csharp .sunlight-pragma,
|
||||
.sunlight-preprocessorDirective,
|
||||
.sunlight-vb .sunlight-compilerDirective,
|
||||
.sunlight-diff .sunlight-mergeHeader,
|
||||
.sunlight-diff .sunlight-noNewLine {
|
||||
color: #999999 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.sunlight-xmlDocCommentMeta,
|
||||
.sunlight-java .sunlight-annotation,
|
||||
.sunlight-scala .sunlight-annotation,
|
||||
.sunlight-docComment {
|
||||
color: #808080 !important;
|
||||
}
|
||||
.sunlight-quotedIdent,
|
||||
.sunlight-ruby .sunlight-subshellCommand,
|
||||
.sunlight-lisp .sunlight-keywordArgument,
|
||||
.sunlight-haskell .sunlight-infixOperator,
|
||||
.sunlight-erlang .sunlight-quotedAtom {
|
||||
color: #999900 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* xml */
|
||||
.sunlight-xml .sunlight-string {
|
||||
color: #990099 !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-attribute {
|
||||
color: #FF0000 !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-entity {
|
||||
background-color: #EEEEEE !important;
|
||||
color: #000000 !important;
|
||||
border: 1px solid #000000 !important;
|
||||
}
|
||||
.sunlight-xml .sunlight-doctype {
|
||||
color: #2B91AF !important;
|
||||
}
|
||||
|
||||
/* javascript */
|
||||
.sunlight-javascript .sunlight-reservedWord {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* css */
|
||||
.sunlight-css .sunlight-microsoftFilterPrefix {
|
||||
color: #FF00FF !important;
|
||||
}
|
||||
.sunlight-css .sunlight-rule {
|
||||
color: #0099FF !important;
|
||||
}
|
||||
.sunlight-css .sunlight-keyword {
|
||||
color: #4E65B8 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-class {
|
||||
color: #FF0000 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-id {
|
||||
color: #8A8E13 !important;
|
||||
}
|
||||
.sunlight-css .sunlight-pseudoClass,
|
||||
.sunlight-css .sunlight-pseudoElement {
|
||||
color: #368B87 !important;
|
||||
}
|
||||
|
||||
/* bash */
|
||||
.sunlight-bash .sunlight-hashBang {
|
||||
color: #3D97F5 !important;
|
||||
}
|
||||
.sunlight-bash .sunlight-verbatimCommand {
|
||||
color: #999900 !important;
|
||||
}
|
||||
.sunlight-bash .sunlight-variable,
|
||||
.sunlight-bash .sunlight-specialVariable {
|
||||
color: #FF0000 !important;
|
||||
}
|
||||
|
||||
/* python */
|
||||
.sunlight-python .sunlight-specialMethod {
|
||||
font-weight: bold !important;
|
||||
color: #A07DD3;
|
||||
}
|
||||
|
||||
/* ruby */
|
||||
.sunlight-ruby .sunlight-symbol {
|
||||
font-weight: bold !important;
|
||||
color: #ED7272 !important;
|
||||
}
|
||||
|
||||
/* brainfuck */
|
||||
.sunlight-brainfuck {
|
||||
font-weight: bold !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-increment {
|
||||
background-color: #FF9900 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrement {
|
||||
background-color: #FF99FF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-incrementPointer {
|
||||
background-color: #FFFF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-decrementPointer {
|
||||
background-color: #66CCFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-read {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-write {
|
||||
background-color: #99FF99 !important;
|
||||
}
|
||||
.sunlight-brainfuck .sunlight-openLoop, .sunlight-brainfuck .sunlight-closeLoop {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
/* 6502 asm */
|
||||
.sunlight-6502asm .sunlight-label {
|
||||
font-weight: bold !important;
|
||||
color: #000000 !important;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
/* lisp */
|
||||
.sunlight-lisp .sunlight-macro {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
/* erlang */
|
||||
.sunlight-erlang .sunlight-atom {
|
||||
font-weight: bold !important;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
'use strict';
|
||||
|
||||
/** @module adapter */
|
||||
module.exports = {
|
||||
|
||||
/**
|
||||
* Run the sql query as a prepared statement
|
||||
*
|
||||
* @param {String} sql - The sql with placeholders
|
||||
* @param {Array} params - The values to insert into the query
|
||||
* @param {Function} callback - Callback to run when a response is recieved
|
||||
* @return void
|
||||
*/
|
||||
execute: function(sql, params, callback) {
|
||||
throw new Error("Correct adapter not defined for query execution");
|
||||
}
|
||||
};
|
|
@ -0,0 +1,27 @@
|
|||
'use strict';
|
||||
|
||||
var adapter = require('../adapter.js');
|
||||
var conn;
|
||||
|
||||
/** @module adapters/mysql */
|
||||
var MySQL = function(instance) {
|
||||
|
||||
// That 'new' keyword is annoying
|
||||
if ( ! (this instanceof MySQL)) return new MySQL(instance);
|
||||
|
||||
/**
|
||||
* Run the sql query as a prepared statement
|
||||
*
|
||||
* @param {String} sql - The sql with placeholders
|
||||
* @param {Array} params - The values to insert into the query
|
||||
* @param {Function} callback - Callback to run when a response is recieved
|
||||
* @return void
|
||||
*/
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.query.apply(instance, arguments);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
};
|
||||
|
||||
module.exports = MySQL;
|
|
@ -0,0 +1,26 @@
|
|||
'use strict';
|
||||
|
||||
var adapter = require('../adapter.js');
|
||||
|
||||
/** @module adapters/mysql2 */
|
||||
var MySQL2 = function(instance) {
|
||||
|
||||
// That 'new' keyword is annoying
|
||||
if ( ! (this instanceof MySQL2)) return new MySQL2(instance);
|
||||
|
||||
/**
|
||||
* Run the sql query as a prepared statement
|
||||
*
|
||||
* @param {String} sql - The sql with placeholders
|
||||
* @param {Array} params - The values to insert into the query
|
||||
* @param {Function} callback - Callback to run when a response is recieved
|
||||
* @return void
|
||||
*/
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.execute.apply(instance, arguments);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
}
|
||||
|
||||
module.exports = MySQL2;
|
|
@ -0,0 +1,26 @@
|
|||
'use strict';
|
||||
|
||||
var adapter = require('../adapter.js');
|
||||
|
||||
/** @module adapters/mysql2 */
|
||||
var Pg = function(instance) {
|
||||
|
||||
// That 'new' keyword is annoying
|
||||
if ( ! (this instanceof Pg)) return new Pg(instance);
|
||||
|
||||
/**
|
||||
* Run the sql query as a prepared statement
|
||||
*
|
||||
* @param {String} sql - The sql with placeholders
|
||||
* @param {Array} params - The values to insert into the query
|
||||
* @param {Function} callback - Callback to run when a response is recieved
|
||||
* @return void
|
||||
*/
|
||||
adapter.execute = function(sql, params, callback) {
|
||||
instance.query.apply(instance, arguments);
|
||||
};
|
||||
|
||||
return adapter;
|
||||
}
|
||||
|
||||
module.exports = Pg;
|
|
@ -1,15 +1,13 @@
|
|||
/** @module driver */
|
||||
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
var helpers = require('./helpers');
|
||||
|
||||
/**
|
||||
* Base Database Driver
|
||||
*
|
||||
* @type {{identifierChar: string, quoteIdentifiers: quoteIdentifiers}}
|
||||
* @module driver
|
||||
*/
|
||||
module.exports = {
|
||||
var d = {
|
||||
identifierChar: '"',
|
||||
tablePrefix: null,
|
||||
|
||||
|
@ -21,8 +19,8 @@ module.exports = {
|
|||
* @private
|
||||
*/
|
||||
_quote: function(str) {
|
||||
return (helpers.isString(str) && ! (str.startsWith(this.identifierChar) || str.endsWith(this.identifierChar)))
|
||||
? this.identifierChar + str + this.identifierChar
|
||||
return (helpers.isString(str) && ! (str.startsWith(d.identifierChar) || str.endsWith(d.identifierChar)))
|
||||
? d.identifierChar + str + d.identifierChar
|
||||
: str;
|
||||
},
|
||||
|
||||
|
@ -34,12 +32,12 @@ module.exports = {
|
|||
* @private
|
||||
*/
|
||||
_prefix: function(str) {
|
||||
if (str.startsWith(this.prefix))
|
||||
if (str.startsWith(d.prefix))
|
||||
{
|
||||
return str;
|
||||
}
|
||||
|
||||
return this.prefix + str;
|
||||
return d.prefix + str;
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -68,7 +66,7 @@ module.exports = {
|
|||
* @return {String}
|
||||
*/
|
||||
prefixTable: function(table) {
|
||||
if (this.tablePrefix)
|
||||
if (d.tablePrefix)
|
||||
{
|
||||
// Split identifier by period, will split into:
|
||||
// database.schema.table OR
|
||||
|
@ -79,7 +77,7 @@ module.exports = {
|
|||
var segments = idents.length;
|
||||
|
||||
// Add the database prefix
|
||||
idents[segments - 1] = this._prefix(idents[segments - 1]);
|
||||
idents[segments - 1] = d._prefix(idents[segments - 1]);
|
||||
|
||||
table = idents.join('.');
|
||||
}
|
||||
|
@ -94,10 +92,10 @@ module.exports = {
|
|||
* @return {String}
|
||||
*/
|
||||
quoteTable: function(table) {
|
||||
table = this.prefixTable(table);
|
||||
table = d.prefixTable(table);
|
||||
|
||||
// Quote after prefix
|
||||
return this.quoteIdentifiers(table);
|
||||
return d.quoteIdentifiers(table);
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -112,14 +110,14 @@ module.exports = {
|
|||
// Recurse for arrays of identifiiers
|
||||
if (Array.isArray(str))
|
||||
{
|
||||
return str.map(this.quoteIdentifiers);
|
||||
return str.map(d.quoteIdentifiers);
|
||||
}
|
||||
|
||||
// Handle commas
|
||||
str = helpers.splitTrim(',', str);
|
||||
|
||||
// Split identifiers by period
|
||||
hiers = str.split('.').map(String.trim).map(this._quote);
|
||||
hiers = str.split('.').map(d._quote);
|
||||
raw = hiers.join('.');
|
||||
|
||||
// TODO: fix functions
|
||||
|
@ -127,3 +125,5 @@ module.exports = {
|
|||
return raw;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = d;
|
|
@ -3,9 +3,10 @@
|
|||
/**
|
||||
* Driver for MySQL databases
|
||||
*
|
||||
* @returns {driver}
|
||||
* @module drivers/mysql
|
||||
*/
|
||||
module.exports = function() {
|
||||
module.exports = (function() {
|
||||
|
||||
var driver = require('../driver'),
|
||||
helpers = require('../helpers');
|
||||
|
||||
|
@ -24,4 +25,5 @@ module.exports = function() {
|
|||
};
|
||||
|
||||
return driver;
|
||||
};
|
||||
|
||||
}());
|
|
@ -3,10 +3,10 @@
|
|||
/**
|
||||
* Driver for PostgreSQL databases
|
||||
*
|
||||
* @returns {driver}
|
||||
* @module drivers/pg
|
||||
*/
|
||||
module.exports = function() {
|
||||
module.exports = (function() {
|
||||
var driver = require('../driver');
|
||||
|
||||
return driver;
|
||||
};
|
||||
}());
|
|
@ -0,0 +1,78 @@
|
|||
/**
|
||||
* Polyfills for very handy methods that are standardized, but not fully implemented in Javascript engines
|
||||
*/
|
||||
module.exports = (function() {
|
||||
if (!Array.prototype.fill) {
|
||||
Array.prototype.fill = function(value) {
|
||||
// Steps 1-2.
|
||||
if (this == null) {
|
||||
throw new TypeError('this is null or not defined');
|
||||
}
|
||||
|
||||
var O = Object(this);
|
||||
|
||||
// Steps 3-5.
|
||||
var len = O.length >>> 0;
|
||||
|
||||
// Steps 6-7.
|
||||
var start = arguments[1];
|
||||
var relativeStart = start >> 0;
|
||||
|
||||
// Step 8.
|
||||
var k = relativeStart < 0 ?
|
||||
Math.max(len + relativeStart, 0) :
|
||||
Math.min(relativeStart, len);
|
||||
|
||||
// Steps 9-10.
|
||||
var end = arguments[2];
|
||||
var relativeEnd = end === undefined ?
|
||||
len : end >> 0;
|
||||
|
||||
// Step 11.
|
||||
var final = relativeEnd < 0 ?
|
||||
Math.max(len + relativeEnd, 0) :
|
||||
Math.min(relativeEnd, len);
|
||||
|
||||
// Step 12.
|
||||
while (k < final) {
|
||||
O[k] = value;
|
||||
k++;
|
||||
}
|
||||
|
||||
// Step 13.
|
||||
return O;
|
||||
};
|
||||
}
|
||||
|
||||
if ( !String.prototype.contains ) {
|
||||
String.prototype.contains = function() {
|
||||
return String.prototype.indexOf.apply( this, arguments ) !== -1;
|
||||
};
|
||||
}
|
||||
|
||||
if (!String.prototype.startsWith) {
|
||||
Object.defineProperty(String.prototype, 'startsWith', {
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
writable: false,
|
||||
value: function (searchString, position) {
|
||||
position = position || 0;
|
||||
return this.lastIndexOf(searchString, position) === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!String.prototype.endsWith) {
|
||||
Object.defineProperty(String.prototype, 'endsWith', {
|
||||
value: function (searchString, position) {
|
||||
var subjectString = this.toString();
|
||||
if (position === undefined || position > subjectString.length) {
|
||||
position = subjectString.length;
|
||||
}
|
||||
position -= searchString.length;
|
||||
var lastIndex = subjectString.indexOf(searchString, position);
|
||||
return lastIndex !== -1 && lastIndex === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
}());
|
|
@ -2,33 +2,18 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
if (!String.prototype.startsWith) {
|
||||
Object.defineProperty(String.prototype, 'startsWith', {
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
writable: false,
|
||||
value: function (searchString, position) {
|
||||
position = position || 0;
|
||||
return this.lastIndexOf(searchString, position) === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
require('./es6-polyfill');
|
||||
|
||||
if (!String.prototype.endsWith) {
|
||||
Object.defineProperty(String.prototype, 'endsWith', {
|
||||
value: function (searchString, position) {
|
||||
var subjectString = this.toString();
|
||||
if (position === undefined || position > subjectString.length) {
|
||||
position = subjectString.length;
|
||||
}
|
||||
position -= searchString.length;
|
||||
var lastIndex = subjectString.indexOf(searchString, position);
|
||||
return lastIndex !== -1 && lastIndex === position;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
var h = {
|
||||
/**
|
||||
* Wrap String.prototype.trim in a way that is easily mappable
|
||||
*
|
||||
* @param {String} str - The string to trim
|
||||
* @return {String} - The trimmed string
|
||||
*/
|
||||
stringTrim: function(str) {
|
||||
return str.trim();
|
||||
},
|
||||
/**
|
||||
* Split a string by a character, trim the string
|
||||
* and rejoin the string
|
||||
|
@ -38,22 +23,49 @@ module.exports = {
|
|||
* @return {String}
|
||||
*/
|
||||
splitTrim: function(char, string) {
|
||||
return string.split(char).map(String.trim).join(char);
|
||||
return string.split(char).map(h.stringTrim).join(char);
|
||||
},
|
||||
/**
|
||||
* Determine whether an object is a string
|
||||
* Get the type of the variable passed
|
||||
*
|
||||
* @see https://techblog.badoo.com/blog/2013/11/01/type-checking-in-javascript/
|
||||
* @see http://toddmotto.com/understanding-javascript-types-and-reliable-type-checking/
|
||||
* @param {mixed} o
|
||||
* @return {String}
|
||||
*/
|
||||
type: function (o) {
|
||||
var type = Object.prototype.toString.call(o).slice(8, -1).toLowerCase();
|
||||
|
||||
// handle NaN and Infinity
|
||||
if (type === 'number') {
|
||||
if (isNaN(o)) {
|
||||
return 'nan';
|
||||
}
|
||||
if (!isFinite(o)) {
|
||||
return 'infinity';
|
||||
}
|
||||
}
|
||||
|
||||
return type;
|
||||
},
|
||||
/**
|
||||
* Determine whether an object is scalar
|
||||
*
|
||||
* @param {mixed} obj
|
||||
* @return {bool}
|
||||
*/
|
||||
isString: function(obj) {
|
||||
return (typeof obj === 'string' || obj instanceof String);
|
||||
},
|
||||
/**
|
||||
* Determine whether an object is numeric
|
||||
* @param {mixed} obj
|
||||
* @return {bool}
|
||||
*/
|
||||
isNumber: function(obj) {
|
||||
return ! isNaN(parseFloat(obj)) && isFinite(obj);
|
||||
isScalar: function(obj) {
|
||||
var scalar = ['string', 'number', 'boolean'];
|
||||
return scalar.indexOf(h.type(obj)) !== -1;
|
||||
}
|
||||
};
|
||||
|
||||
// Define an 'is' method for each type
|
||||
var types = ['Null','Undefined','Object','Array','String','Number','Boolean','Function','RegExp','NaN','Infinite'];
|
||||
types.forEach(function (t) {
|
||||
h['is' + t] = function (o) {
|
||||
return h.type(o) === t.toLowerCase();
|
||||
};
|
||||
});
|
||||
|
||||
module.exports = h;
|
|
@ -1,14 +1,36 @@
|
|||
"use strict";
|
||||
|
||||
module.exports = function(driverType, connObject) {
|
||||
/** @module node-query */
|
||||
var nodeQuery = {};
|
||||
|
||||
var connection = null,
|
||||
driverType = null;
|
||||
/**
|
||||
* Create a query builder object
|
||||
*
|
||||
* @alias module:node-query
|
||||
* @param {String} drivername - The name of the database type, eg. mysql or pg
|
||||
* @param {Object} connObject - A connection object from the database library you are connecting with
|
||||
* @param {String} connLib - The name of the db connection library you are using, eg. mysql or mysql2
|
||||
* @return {queryBuilder}
|
||||
*/
|
||||
nodeQuery.init = function (driverType, connObject, connLib) {
|
||||
var fs = require('fs'),
|
||||
qb = require('./query-builder');
|
||||
|
||||
return {
|
||||
connect: function(driverName, connObject) {
|
||||
driverType = driverName;
|
||||
connection = connObject;
|
||||
var paths = {
|
||||
driver: __dirname + '/drivers/' + driverType + '.js',
|
||||
adapter: __dirname + '/adapters/' + connLib + '.js'
|
||||
};
|
||||
|
||||
Object.keys(paths).forEach(function(type) {
|
||||
if ( ! fs.existsSync(paths[type]))
|
||||
{
|
||||
console.log(paths[type]);
|
||||
throw new Error('Selected ' + type + ' does not exist!');
|
||||
}
|
||||
});
|
||||
|
||||
return new qb(require(paths.driver), require(paths.adapter)(connObject));
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
module.exports = nodeQuery.init;
|
|
@ -1,20 +1,32 @@
|
|||
'use strict';
|
||||
|
||||
/** @module query-builder */
|
||||
|
||||
var async = require('async');
|
||||
|
||||
module.exports = function(driver) {
|
||||
|
||||
"use strict";
|
||||
var getArgs = require('getargs'),
|
||||
helpers = require('./helpers');
|
||||
|
||||
/**
|
||||
* Variables controlling the sql building
|
||||
*
|
||||
* @private
|
||||
* @type {{}}
|
||||
*/
|
||||
var state = {};
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/*
|
||||
* SQL generation object
|
||||
*
|
||||
* @param {driver} - The syntax driver for the database
|
||||
* @param {adapter} - The database module adapter for running queries
|
||||
* @constructor
|
||||
*/
|
||||
var QueryBuilder = function(driver, adapter) {
|
||||
|
||||
// That 'new' keyword is annoying
|
||||
if ( ! (this instanceof QueryBuilder)) return new QueryBuilder(driver, adapter);
|
||||
|
||||
// Keep these properties as object members so they can be mocked/substituted
|
||||
this.driver = driver;
|
||||
this.adapter = adapter;
|
||||
|
||||
/**
|
||||
* "Private" methods
|
||||
|
@ -27,26 +39,298 @@ module.exports = function(driver) {
|
|||
*
|
||||
* @param {String} type
|
||||
* @param {String} table
|
||||
* @private
|
||||
* @return {String}
|
||||
*/
|
||||
compile: function (type, table) {
|
||||
// Put together the basic query
|
||||
var sql = _p.compileType(type, table);
|
||||
|
||||
// Set each subClause
|
||||
['queryMap', 'groupString', 'orderString', 'havingMap'].forEach(function(clause) {
|
||||
var param = state[clause];
|
||||
|
||||
if ( ! helpers.isScalar(param))
|
||||
{
|
||||
Object.keys(param).forEach(function(part) {
|
||||
sql += param[part].conjunction + param[part].string;
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
sql += param;
|
||||
}
|
||||
});
|
||||
|
||||
// Append the limit, if it exists
|
||||
if (helpers.isNumber(state.limit))
|
||||
{
|
||||
sql = this.driver.limit(sql, state.limit, state.offset);
|
||||
}
|
||||
|
||||
return sql;
|
||||
},
|
||||
compileType: function (type, table) {
|
||||
var sql = '';
|
||||
|
||||
switch(type) {
|
||||
case "insert":
|
||||
var paramCount = state.setArrayKeys.length;
|
||||
var params = [];
|
||||
params.fill('?', 0, paramCount);
|
||||
|
||||
sql = "INSERT INTO " + table + " (";
|
||||
sql += state.setArrayKeys.join(',');
|
||||
sql += ") VALUES (";
|
||||
sql += params.join(',') + ')';
|
||||
break;
|
||||
|
||||
case "update":
|
||||
sql = "UPDATE " + table + " SET " + state.setString;
|
||||
break;
|
||||
|
||||
case "delete":
|
||||
sql = "DELETE FROM " + table;
|
||||
break;
|
||||
|
||||
default:
|
||||
sql = "SELECT * FROM " + state.fromString;
|
||||
|
||||
// Set the select string
|
||||
if (state.selectString.length > 0)
|
||||
{
|
||||
// Replace the star with the selected fields
|
||||
sql = sql.replace('*', state.selectString);
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
compileType: function (type, table) {
|
||||
|
||||
return sql;
|
||||
},
|
||||
like: function (field, val, pos, like, conj) {
|
||||
field = this.driver.quoteIdentifiers(field);
|
||||
|
||||
like = field + " " + like + " ?";
|
||||
|
||||
if (pos == 'before')
|
||||
{
|
||||
val = "%" + val;
|
||||
}
|
||||
else if (pos == 'after')
|
||||
{
|
||||
val = val + "%";
|
||||
}
|
||||
else
|
||||
{
|
||||
val = "%" + val + "%";
|
||||
}
|
||||
|
||||
conj = (state.queryMap.length < 1) ? ' WHERE ' : ' ' + conj + '';
|
||||
_p.appendMap(conj, like, 'like');
|
||||
|
||||
state.whereValues.push(val);
|
||||
},
|
||||
/**
|
||||
* Append a clause to the query map
|
||||
*
|
||||
* @param {String} conjunction
|
||||
* @param {String} string
|
||||
* @param {String} type
|
||||
* @return void
|
||||
*/
|
||||
appendMap: function(conjunction, string, type) {
|
||||
state.queryMap.push({
|
||||
type: type,
|
||||
conjunction: conjunction,
|
||||
string: string
|
||||
});
|
||||
},
|
||||
/**
|
||||
* Handle key/value pairs in an object the same way as individual arguments,
|
||||
* when appending to state
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
mixedSet: function(/* varName, key, [val], valType */) {
|
||||
var args = getArgs('varName:string, key:string|array, [val]:string, valType:string', arguments);
|
||||
|
||||
var obj = {};
|
||||
|
||||
if (helpers.isString(args.key) && helpers.isString(args.val))
|
||||
{
|
||||
obj[args.key] = args.val;
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = args.key;
|
||||
}
|
||||
|
||||
Object.keys(obj).forEach(function(k) {
|
||||
if (args.valType != 'both')
|
||||
{
|
||||
state[args.varName].push(
|
||||
(args.valType === 'key')? k: obj[k]
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
state[args.varName][k] = obj[k];
|
||||
}
|
||||
});
|
||||
|
||||
return state[args.varName];
|
||||
},
|
||||
whereMixedSet: function(key, val) {
|
||||
_p.mixedSet('whereValues', key, val, 'value');
|
||||
_p.mixedSet('whereMap', key, val, 'both');
|
||||
},
|
||||
where: function(key, val, conj) {
|
||||
conj = conj || 'AND';
|
||||
|
||||
// Get an object to iterate over
|
||||
_p.whereMixedSet(key, val);
|
||||
|
||||
Object.keys(state.whereMap).forEach(function(field) {
|
||||
// Split each key by spaces, in case there
|
||||
// is an operator such as >, <, !=, etc.
|
||||
var fieldArray = field.split(' ');
|
||||
|
||||
var item = this.driver.quoteIdentifiers(fieldArray[0]);
|
||||
|
||||
// Simple key value, or an operator?
|
||||
item += (fieldArray.length === 1) ? '=?' : " " + fieldArray[1] + " ?";
|
||||
|
||||
var firstItem = state.queryMap[0],
|
||||
lastItem = state.queryMap[state.queryMap.length - 1];
|
||||
|
||||
// Determine the correct conjunction
|
||||
if (state.queryMap.length < 1 || firstItem.contains('JOIN'))
|
||||
{
|
||||
conj = " WHERE ";
|
||||
}
|
||||
else if (lastItem.type === 'groupStart')
|
||||
{
|
||||
conj = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
conj = ' ' + conj + ' ';
|
||||
}
|
||||
|
||||
_p.appendMap(conj, item, 'where');
|
||||
});
|
||||
},
|
||||
having: function(key, val, conj) {
|
||||
conj = conj || 'AND';
|
||||
|
||||
_p.whereMixedSet(key, val);
|
||||
|
||||
Object.keys(state.whereMap).forEach(function(field) {
|
||||
// Split each key by spaces, in case there
|
||||
// is an operator such as >, <, !=, etc.
|
||||
var fieldArray = field.split(' ').map(helpers.stringTrim);
|
||||
|
||||
var item = this.driver.quoteIdentifiers(fieldArray[0]);
|
||||
|
||||
// Simple key value, or an operator?
|
||||
item += (fieldArray.length === 1) ? '=?' : " " + fieldArray[1] + " ?";
|
||||
|
||||
// Put in the having map
|
||||
state.havingMap.push({
|
||||
conjunction: (state.havingMap.length > 0) ? " " + conj + " " : ' HAVING ',
|
||||
string: item
|
||||
});
|
||||
});
|
||||
},
|
||||
whereIn: function(key, val, inClause, conj) {
|
||||
key = this.driver.quoteIdentifiers(key);
|
||||
var params = [];
|
||||
params.fill('?', 0, val.length);
|
||||
|
||||
val.forEach(function(value) {
|
||||
state.whereValues.push(value);
|
||||
});
|
||||
|
||||
conj = (state.queryMap.length > 0) ? " " + conj + " " : ' WHERE ';
|
||||
var str = key + " " + inClause + " (" + params.join(',') + ") ";
|
||||
|
||||
_p.appendMap(conj, str, 'whereIn');
|
||||
},
|
||||
run: function(type, table, callback, sql, vals) {
|
||||
if ( ! sql)
|
||||
{
|
||||
sql = _p.compile(type, table);
|
||||
}
|
||||
|
||||
if ( ! vals)
|
||||
{
|
||||
vals = state.values.concat(state.whereValues);
|
||||
}
|
||||
|
||||
// Reset the state so another query can be built
|
||||
_p.resetState();
|
||||
|
||||
// Pass the sql and values to the adapter to run on the database
|
||||
adapter.execute(sql, vals, callback);
|
||||
|
||||
},
|
||||
getCompile: function(type, table, reset) {
|
||||
reset = reset || false;
|
||||
|
||||
var sql = _p.compile(type, table);
|
||||
|
||||
if (reset) _p.resetState();
|
||||
|
||||
return sql;
|
||||
},
|
||||
resetState: function() {
|
||||
state = {
|
||||
// Arrays/Maps
|
||||
queryMap: {},
|
||||
values: [],
|
||||
whereValues: [],
|
||||
setArrayKeys: [],
|
||||
orderArray: [],
|
||||
groupArray: [],
|
||||
havingMap: [],
|
||||
whereMap: [],
|
||||
|
||||
// Partials
|
||||
selectString: '',
|
||||
fromString: '',
|
||||
setString: '',
|
||||
orderString: '',
|
||||
groupString: '',
|
||||
|
||||
// Other various values
|
||||
limit: null,
|
||||
offset: null
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ! Miscellaneous Methods
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Reset the object state for a new query
|
||||
*
|
||||
* @memberOf query-builder
|
||||
* @return void
|
||||
*/
|
||||
this.resetQuery = function() {
|
||||
_p.resetState();
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the current class state for testing or other purposes
|
||||
*
|
||||
* @private
|
||||
* @return {Object}
|
||||
*/
|
||||
this.getState = function() {
|
||||
return state;
|
||||
};
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
@ -61,23 +345,23 @@ module.exports = function(driver) {
|
|||
/**
|
||||
* Specify rows to select in the query
|
||||
*
|
||||
* @param {String|Array} fields
|
||||
* @returns {exports}
|
||||
* @param {String|Array} fields - The fields to select from the current table
|
||||
* @return this
|
||||
*/
|
||||
this.select = function(fields) {
|
||||
|
||||
// Split/trim fields by comma
|
||||
fields = (Array.isArray(fields)) ? fields : fields.split(",").map(String.trim);
|
||||
fields = (Array.isArray(fields)) ? fields : fields.split(",").map(helpers.stringTrim);
|
||||
|
||||
// Split on 'As'
|
||||
fields.forEach(function (field, index) {
|
||||
if (field.match(/as/i))
|
||||
{
|
||||
fields[index] = field.split(/ as /i).map(String.trim);
|
||||
fields[index] = field.split(/ as /i).map(helpers.stringTrim);
|
||||
}
|
||||
});
|
||||
|
||||
var safeArray = driver.quoteIdentifiers(fields);
|
||||
var safeArray = this.driver.quoteIdentifiers(fields);
|
||||
|
||||
// Join the strings back together
|
||||
safeArray.forEach(function (field, index) {
|
||||
|
@ -95,16 +379,16 @@ module.exports = function(driver) {
|
|||
/**
|
||||
* Specify the database table to select from
|
||||
*
|
||||
* @param {String} tableName
|
||||
* @returns {exports}
|
||||
* @param {String} tableName - The table to use for the current query
|
||||
* @return this
|
||||
*/
|
||||
this.from = function(tableName) {
|
||||
// Split identifiers on spaces
|
||||
var identArray = String.trim(tableName).split(' ').map(String.trim);
|
||||
var identArray = tableName.trim().split(' ').map(helpers.stringTrim);
|
||||
|
||||
// Quote/prefix identifiers
|
||||
identArray[0] = driver.quoteTable(identArray[0]);
|
||||
identArray = driver.quoteIdentifiers(identArray);
|
||||
identArray[0] = this.driver.quoteTable(identArray[0]);
|
||||
identArray = this.driver.quoteIdentifiers(identArray);
|
||||
|
||||
// Put it back together
|
||||
state.fromString = identArray.join(' ');
|
||||
|
@ -112,118 +396,378 @@ module.exports = function(driver) {
|
|||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a 'like/ and like' clause to the query
|
||||
*
|
||||
* @param {String} field - The name of the field to compare to
|
||||
* @param {String} val - The value to compare to
|
||||
* @param {String} [pos=both] - The placement of the wildcard character(s): before, after, or both
|
||||
* @return this
|
||||
*/
|
||||
this.like = function(field, val, pos) {
|
||||
|
||||
_p.like(field, val, pos, ' LIKE ', 'AND');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a 'not like/ and not like' clause to the query
|
||||
*
|
||||
* @param {String} field - The name of the field to compare to
|
||||
* @param {String} val - The value to compare to
|
||||
* @param {String} [pos=both] - The placement of the wildcard character(s): before, after, or both
|
||||
* @return this
|
||||
*/
|
||||
this.notLike = function(field, val, pos) {
|
||||
_p.like(field, val, pos, ' NOT LIKE ', 'AND');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add an 'or like' clause to the query
|
||||
*
|
||||
* @param {String} field - The name of the field to compare to
|
||||
* @param {String} val - The value to compare to
|
||||
* @param {String} [pos=both] - The placement of the wildcard character(s): before, after, or both
|
||||
* @return this
|
||||
*/
|
||||
this.orLike = function(field, val, pos) {
|
||||
|
||||
_p.like(field, val, pos, ' LIKE ', 'OR');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add an 'or not like' clause to the query
|
||||
*
|
||||
* @param {String} field - The name of the field to compare to
|
||||
* @param {String} val - The value to compare to
|
||||
* @param {String} [pos=both] - The placement of the wildcard character(s): before, after, or both
|
||||
* @return this
|
||||
*/
|
||||
this.orNotLike = function(field, val, pos) {
|
||||
|
||||
_p.like(field, val, pos, ' NOT LIKE ', 'OR');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a 'having' clause
|
||||
*
|
||||
* @param {String|Object} key - The name of the field and the comparision operator, or an object
|
||||
* @param {String|Number} [val] - The value to compare if the value of key is a string
|
||||
* @return this
|
||||
*/
|
||||
this.having = function(key, val) {
|
||||
|
||||
_p.having(key, val, 'AND');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add an 'or having' clause
|
||||
*
|
||||
* @param {String|Object} key - The name of the field and the comparision operator, or an object
|
||||
* @param {String|Number} [val] - The value to compare if the value of key is a string
|
||||
* @return this
|
||||
*/
|
||||
this.orHaving = function(key, val) {
|
||||
|
||||
_p.having(key, val, 'OR');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set a 'where' clause
|
||||
*
|
||||
* @param {String|Object} key - The name of the field and the comparision operator, or an object
|
||||
* @param {String|Number} [val] - The value to compare if the value of key is a string
|
||||
* @return this
|
||||
*/
|
||||
this.where = function(key, val) {
|
||||
|
||||
_p.where(key, val, 'AND');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set a 'or where' clause
|
||||
*
|
||||
* @param {String|Object} key - The name of the field and the comparision operator, or an object
|
||||
* @param {String|Number} [val] - The value to compare if the value of key is a string
|
||||
* @return this
|
||||
*/
|
||||
this.orWhere = function(key, val) {
|
||||
|
||||
_p.where(key, val, 'OR');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set a 'where in' clause
|
||||
*
|
||||
* @param {String} key - the field to search
|
||||
* @param {Array} val - the array of items to search in
|
||||
* @return this
|
||||
*/
|
||||
this.whereIn = function(key, val) {
|
||||
|
||||
_p.whereIn(key, val, 'IN', 'AND');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set a 'or where in' clause
|
||||
*
|
||||
* @param {String} key - the field to search
|
||||
* @param {Array} val - the array of items to search in
|
||||
* @return this
|
||||
*/
|
||||
this.orWhereIn = function(key, val) {
|
||||
|
||||
_p.whereIn(key, val, 'IN', 'OR');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set a 'where not in' clause
|
||||
*
|
||||
* @param {String} key - the field to search
|
||||
* @param {Array} val - the array of items to search in
|
||||
* @return this
|
||||
*/
|
||||
this.whereNotIn = function(key, val) {
|
||||
|
||||
_p.whereIn(key, val, 'NOT IN', 'AND');
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set a 'or where not in' clause
|
||||
*
|
||||
* @param {String} key - the field to search
|
||||
* @param {Array} val - the array of items to search in
|
||||
* @return this
|
||||
*/
|
||||
this.orWhereNotIn = function(key, val) {
|
||||
|
||||
};
|
||||
|
||||
this.set = function(key, val) {
|
||||
_p.whereIn(key, val, 'NOT IN', 'OR');
|
||||
return this;
|
||||
};
|
||||
|
||||
this.join = function(table1, cond, table2, type) {
|
||||
type = type || "inner";
|
||||
/**
|
||||
* Set values for insertion or updating
|
||||
*
|
||||
* @param {String|Object} key - The key or object to use
|
||||
* @param {String} [val] - The value if using a scalar key
|
||||
* @return this
|
||||
*/
|
||||
this.set = function(/* key, [val] */) {
|
||||
var args = getArgs('key:string|object, [val]:string', arguments);
|
||||
|
||||
// Set the appropriate state variables
|
||||
_p.mixedSet('setArrayKeys', args.key, args.val, 'key');
|
||||
_p.mixedSet('values', args.key, args.val, 'value');
|
||||
|
||||
// Use the keys of the array to make the insert/update string
|
||||
// and escape the field names
|
||||
state.setArrayKeys = state.setArrayKeys.map(this.driver._quote);
|
||||
|
||||
// Generate the "set" string
|
||||
state.setString = state.setArrayKeys.join('=?,');
|
||||
state.setString += '=?';
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a join clause to the query
|
||||
*
|
||||
* @param {String} joinOn - The table you are joining
|
||||
* @param {String} [cond='='] - The join condition, eg. =,<,>,<>,!=,etc.
|
||||
* @param {String} joinTo - The value of the condition you are joining on, whether another table's field, or a literal value
|
||||
* @param {String} [type='inner'] - The type of join, which defaults to inner
|
||||
* @return this
|
||||
*/
|
||||
this.join = function(/* joinOn, [cond='='], joinTo, [type='inner']*/) {
|
||||
var args = getArgs('joinOn:string, [cond]:string, joinTo:string, [type]:string', arguments);
|
||||
args.cond = args.cond || '=';
|
||||
args.type = args.type || "inner";
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Group the results by the selected field(s)
|
||||
*
|
||||
* @param {String|Array} field
|
||||
* @return this
|
||||
*/
|
||||
this.groupBy = function(field) {
|
||||
if (Array.isArray(field))
|
||||
{
|
||||
var newGroupArray = field.map(this.driver.quoteIdentifiers);
|
||||
state.groupArray.concat(newGroupArray);
|
||||
}
|
||||
else
|
||||
{
|
||||
state.groupArray.push(this.driver.quoteIdentifiers(field));
|
||||
}
|
||||
|
||||
state.groupString = ' GROUP BY ' + state.groupArray.join(',');
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
this.orderBy = function(field) {
|
||||
/**
|
||||
* Order the results by the selected field(s)
|
||||
*
|
||||
* @param {String} field - The field to order by
|
||||
* @param {String} [type='ASC'] - The order direction, ASC or DESC
|
||||
* @return this
|
||||
*/
|
||||
this.orderBy = function(field, type) {
|
||||
type = type || 'ASC';
|
||||
|
||||
// Set the fields for later manipulation
|
||||
field = this.driver.quoteIdentifiers(field);
|
||||
state.orderArray[field] = type;
|
||||
|
||||
var orderClauses = [];
|
||||
|
||||
// Flatten key/val pairs into an array of space-separated pairs
|
||||
Object.keys(state.orderArray).forEach(function(key) {
|
||||
orderClauses.push(key + ' ' + state.orderArray[key].toUpperCase());
|
||||
});
|
||||
|
||||
// Set the final string
|
||||
state.orderString = ' ORDER BY ' + orderClauses.join(', ');
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Put a limit on the query
|
||||
*
|
||||
* @param {Number} limit - The maximum number of rows to fetch
|
||||
* @param {Number} [offset] - The row number to start from
|
||||
* @return this
|
||||
*/
|
||||
this.limit = function(limit, offset) {
|
||||
state.limit = limit;
|
||||
state.offset = offset;
|
||||
state.offset = offset || null;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Adds an open paren to the current query for logical grouping
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
this.groupStart = function() {
|
||||
var conj = (state.queryMap.length < 1) ? ' WHERE ' : ' ';
|
||||
_p.appendMap(conj, '(', 'groupStart');
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Adds an open paren to the current query for logical grouping,
|
||||
* prefixed with 'OR'
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
this.orGroupStart = function() {
|
||||
_p.appendMap('', ' OR (', 'groupStart');
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Adds an open paren to the current query for logical grouping,
|
||||
* prefixed with 'OR NOT'
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
this.orNotGroupStart = function() {
|
||||
_p.appendMap('', ' OR NOT (', 'groupStart');
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Ends a logical grouping started with one of the groupStart methods
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
this.groupEnd = function() {
|
||||
_p.appendMap('', ')', 'groupEnd');
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// ! Result Methods
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
this.get = function(table, limit, offset) {
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
/**
|
||||
* Get the results of the compiled query
|
||||
*
|
||||
* @param {String} [table] - The table to select from
|
||||
* @param {Number} [limit] - A limit for the query
|
||||
* @param {Number} [offset] - An offset for the query
|
||||
* @param {Function} callback - A callback for receiving the result
|
||||
* @return void
|
||||
*/
|
||||
this.get = function(/* [table], [limit], [offset], callback */) {
|
||||
var args = getArgs('[table]:string, [limit]:number, [offset]:number, callback:function', arguments);
|
||||
|
||||
if (args.table) {
|
||||
this.from(args.table);
|
||||
}
|
||||
|
||||
if (args.limit) {
|
||||
this.limit(args.limit, args.offset);
|
||||
}
|
||||
|
||||
// Run the query
|
||||
_p.run('get', args.table, args.callback);
|
||||
};
|
||||
|
||||
this.getWhere = function(table, where, limit, offset) {
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
/**
|
||||
* Run the generated insert query
|
||||
*
|
||||
* @param {String} table - The table to insert into
|
||||
* @param {Object} [data] - Data to insert, if not already added with the 'set' method
|
||||
* @param {Function} callback - Callback for handling response from the database
|
||||
* @return void
|
||||
*/
|
||||
this.insert = function(table, data, callback) {
|
||||
if (data) {
|
||||
this.set(data);
|
||||
}
|
||||
|
||||
// Run the query
|
||||
_p.run('insert', table, callback);
|
||||
};
|
||||
|
||||
this.insert = function(table, data) {
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
/**
|
||||
* Run the generated update query
|
||||
*
|
||||
* @param {String} table - The table to insert into
|
||||
* @param {Object} [data] - Data to insert, if not already added with the 'set' method
|
||||
* @param {Function} callback - Callback for handling response from the database
|
||||
* @return void
|
||||
*/
|
||||
this.update = function(table, data, callback) {
|
||||
if (data) {
|
||||
this.set(data);
|
||||
}
|
||||
|
||||
// Run the query
|
||||
_p.run('update', table, callback);
|
||||
};
|
||||
|
||||
this.update = function(table, data) {
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
};
|
||||
|
||||
this['delete'] = function (table, where) {
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
/**
|
||||
* Run the generated delete query
|
||||
*
|
||||
* @param {String} table - The table to insert into
|
||||
* @param {Function} callback - Callback for handling response from the database
|
||||
* @return void
|
||||
*/
|
||||
this['delete'] = function (table, callback) {
|
||||
// Run the query
|
||||
_p.run('delete', table, callback);
|
||||
};
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
@ -233,77 +777,53 @@ module.exports = function(driver) {
|
|||
/**
|
||||
* Return generated select query SQL
|
||||
*
|
||||
* @param {String} [table] - the name of the table to retrieve from
|
||||
* @param {Boolean} [reset=true] - Whether to reset the query builder so another query can be built
|
||||
* @return String
|
||||
*/
|
||||
this.getCompiledSelect = function(table, reset) {
|
||||
if (table)
|
||||
{
|
||||
this.from(table);
|
||||
}
|
||||
|
||||
return _p.getCompile('get', table, reset);
|
||||
};
|
||||
|
||||
/**
|
||||
* Return generated insert query SQL
|
||||
*
|
||||
* @param {String} table - the name of the table to insert into
|
||||
* @param {Boolean} [reset=true] - Whether to reset the query builder so another query can be built
|
||||
* @return {String}
|
||||
*/
|
||||
this.getCompiledSelect = function() {
|
||||
// Return sql
|
||||
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
};
|
||||
|
||||
this.getCompiledInsert = function() {
|
||||
// Return sql
|
||||
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
};
|
||||
|
||||
this.getCompiledUpdate = function() {
|
||||
// Return sql
|
||||
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
};
|
||||
|
||||
this.getCompiledDelete = function() {
|
||||
// Return sql
|
||||
|
||||
// Reset state
|
||||
this.resetQuery();
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ! Miscellaneous Methods
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Reset the object state for a new query
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
this.resetQuery = function() {
|
||||
state = {
|
||||
// Arrays/Maps
|
||||
queryMap: {},
|
||||
values: [],
|
||||
whereValues: [],
|
||||
setArrayKeys: [],
|
||||
orderArray: [],
|
||||
groupArray: [],
|
||||
havingMap: [],
|
||||
|
||||
// Partials
|
||||
selectString: '',
|
||||
fromString: '',
|
||||
setString: '',
|
||||
orderString: '',
|
||||
groupString: '',
|
||||
|
||||
// Other various values
|
||||
limit: null,
|
||||
offset: null
|
||||
};
|
||||
this.getCompiledInsert = function(table, reset) {
|
||||
return _p.getCompile('insert', table, reset);
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the current class state for testing or other purposes
|
||||
* Return generated update query SQL
|
||||
*
|
||||
* @return {Object}
|
||||
* @param {String} table - the name of the table to update
|
||||
* @param {Boolean} [reset=true] - Whether to reset the query builder so another query can be built
|
||||
* @return {String}
|
||||
*/
|
||||
this.getState = function() {
|
||||
return state;
|
||||
this.getCompiledUpdate = function(table, reset) {
|
||||
return _p.getCompile('update', table, reset);
|
||||
};
|
||||
|
||||
/**
|
||||
* Return generated delete query SQL
|
||||
*
|
||||
* @param {String} table - the name of the table to delete from
|
||||
* @param {Boolean} [reset=true] - Whether to reset the query builder so another query can be built
|
||||
* @return {String}
|
||||
*/
|
||||
this.getCompiledDelete = function(table, reset) {
|
||||
return _p.getCompile('delete', table, reset);
|
||||
};
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
module.exports = QueryBuilder;
|
|
@ -20,7 +20,10 @@
|
|||
"grunt-contrib-nodeunit": "^0.4.1",
|
||||
"grunt-jsdoc": ">=0.6.1",
|
||||
"jsdoc": "^3.3.0-alpha9",
|
||||
"nodeunit": "^0.9.0"
|
||||
"mysql": "^2.5.2",
|
||||
"mysql2": "^0.12.5",
|
||||
"nodeunit": "^0.9.0",
|
||||
"pg": "^3.6.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"mysql": "",
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
'use strict';
|
||||
|
||||
// Load a fresh version of the test base
|
||||
delete require.cache[require.resolve('../query-builder-base')];
|
||||
var testBase = require('../query-builder-base');
|
||||
var tests = testBase.tests;
|
||||
|
||||
// Load the test config file
|
||||
var adapterName = 'mysql2';
|
||||
var config = require('../config.json')[adapterName];
|
||||
|
||||
// Set up the connection
|
||||
var mysql2 = require(adapterName);
|
||||
var connection = mysql2.createConnection(config.conn);
|
||||
|
||||
// Set up the query builder object
|
||||
var nodeQuery = require('../../lib/node-query');
|
||||
var qb = nodeQuery('mysql', connection, adapterName);
|
||||
|
||||
// Set up the test base
|
||||
testBase._setUp(qb, function(test, err, rows) {
|
||||
if (err) {
|
||||
throw new Error(err);
|
||||
}
|
||||
|
||||
test.ok(rows);
|
||||
});
|
||||
|
||||
// Export the final test object
|
||||
tests["mysql2 adapter with query builder"] = function(test) {
|
||||
test.ok(testBase.qb);
|
||||
test.done();
|
||||
};
|
||||
|
||||
|
||||
module.exports = tests;
|
|
@ -0,0 +1,35 @@
|
|||
'use strict';
|
||||
|
||||
// Load the test base
|
||||
delete require.cache[require.resolve('../query-builder-base')];
|
||||
var testBase = require('../query-builder-base');
|
||||
var tests = testBase.tests;
|
||||
|
||||
// Load the test config file
|
||||
var adapterName = 'mysql';
|
||||
var config = require('../config.json')[adapterName];
|
||||
|
||||
// Set up the connection
|
||||
var mysql = require(adapterName);
|
||||
var connection = mysql.createConnection(config.conn);
|
||||
|
||||
// Set up the query builder object
|
||||
var nodeQuery = require('../../lib/node-query');
|
||||
var qb = nodeQuery('mysql', connection, adapterName);
|
||||
|
||||
// Set up the test base
|
||||
testBase._setUp(qb, function(test, err, rows) {
|
||||
if (err) {
|
||||
throw new Error(err);
|
||||
}
|
||||
|
||||
test.ok(rows);
|
||||
});
|
||||
|
||||
tests["mysql adapter with query builder"] = function(test) {
|
||||
test.ok(testBase.qb);
|
||||
test.done();
|
||||
};
|
||||
|
||||
// Export the final test object
|
||||
module.exports = tests;
|
|
@ -0,0 +1,37 @@
|
|||
'use strict';
|
||||
|
||||
// Load the test base
|
||||
delete require.cache[require.resolve('../query-builder-base')];
|
||||
var testBase = require('../query-builder-base');
|
||||
var tests = testBase.tests;
|
||||
|
||||
// Load the test config file
|
||||
var adapterName = 'pg';
|
||||
var config = require('../config.json')[adapterName];
|
||||
|
||||
// Set up the connection
|
||||
var pg = require(adapterName);
|
||||
var connection = new pg.Client(config.conn);
|
||||
|
||||
// Set up the query builder object
|
||||
var nodeQuery = require('../../lib/node-query');
|
||||
var qb = nodeQuery('pg', connection, adapterName);
|
||||
|
||||
|
||||
// Set up the test base
|
||||
testBase._setUp(qb, function(test, err, rows) {
|
||||
if (err) {
|
||||
throw new Error(err);
|
||||
}
|
||||
|
||||
test.ok(rows);
|
||||
});
|
||||
|
||||
// Export the final test object
|
||||
tests["pg adapter with query builder"] = function(test) {
|
||||
test.ok(testBase.qb);
|
||||
test.done();
|
||||
};
|
||||
|
||||
|
||||
module.exports = tests;
|
|
@ -4,7 +4,10 @@ var modules = {
|
|||
helpers: require('../lib/helpers'),
|
||||
driver: require('../lib/driver'),
|
||||
qb: require('../lib/query-builder'),
|
||||
'node-query': require('../lib/node-query')
|
||||
'node-query': require('../lib/node-query'),
|
||||
'drivers/pg': require('../lib/drivers/pg'),
|
||||
'drivers/mysql': require('../lib/drivers/mysql'),
|
||||
adapter: require('../lib/adapter')
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"mysql": {
|
||||
"driver": "mysql",
|
||||
"conn": {
|
||||
"host": "localhost",
|
||||
"user": "test",
|
||||
"password": "",
|
||||
"database": "test"
|
||||
}
|
||||
},
|
||||
"mysql2": {
|
||||
"driver": "mysql",
|
||||
"conn": {
|
||||
"host": "localhost",
|
||||
"user": "test",
|
||||
"password": "",
|
||||
"database": "test"
|
||||
}
|
||||
},
|
||||
"pg": {
|
||||
"driver": "pg",
|
||||
"conn": "postgres://test:test@localhost/test"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
'use strict';
|
||||
|
||||
var helpers = require('../lib/helpers');
|
||||
|
||||
var helperTests = {
|
||||
'Type checking method tests' : {
|
||||
"Object wrappers are listed as their native type": function(test) {
|
||||
test.deepEqual('boolean', helpers.type(new Boolean(true)), "Boolean Wrapper returns 'boolean' not 'object'");
|
||||
test.deepEqual('number', helpers.type(new Number(4867)), "Number Wrapper returns 'number' not 'object");
|
||||
test.deepEqual('string', helpers.type(new String("Foo")), "String Wrapper returns 'string' not 'object'");
|
||||
test.done();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
module.exports = helperTests;
|
|
@ -0,0 +1,57 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = (function() {
|
||||
var base = {};
|
||||
|
||||
/**
|
||||
* Inject the appropriate driver and adapter for the test suite
|
||||
*
|
||||
* @param {Object} qb - The adapter-specific query builder object
|
||||
* @param {Function} callback - The test callback
|
||||
* @return void
|
||||
*/
|
||||
base._setUp = function(qb, callback) {
|
||||
base.qb = qb;
|
||||
base.testCallback = callback;
|
||||
};
|
||||
|
||||
/**
|
||||
* Generic query builder tests
|
||||
*/
|
||||
base.tests = {
|
||||
'Get tests' : {
|
||||
'Basic select all get': function(test) {
|
||||
base.qb.get('create_test', base.testCallback.bind(test, test));
|
||||
test.done();
|
||||
},
|
||||
'Basic select all with from': function(test) {
|
||||
base.qb.from('create_test')
|
||||
.get(base.testCallback.bind(test, test));
|
||||
test.done();
|
||||
}
|
||||
},
|
||||
'Select tests' : {
|
||||
|
||||
},
|
||||
'Grouping tests' : {
|
||||
|
||||
},
|
||||
'Where in tests' : {
|
||||
|
||||
},
|
||||
'Query modifier tests': {
|
||||
|
||||
},
|
||||
'DB update tests' : {
|
||||
|
||||
},
|
||||
'Compiled query tests' : {
|
||||
|
||||
},
|
||||
'Error tests' : {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
return base;
|
||||
}());
|
|
@ -1,10 +0,0 @@
|
|||
var queryBuilder = require('../lib/query-builder');
|
||||
|
||||
module.exports = {
|
||||
setUp: function() {
|
||||
|
||||
},
|
||||
tearDown: function() {
|
||||
|
||||
}
|
||||
};
|
|
@ -0,0 +1,89 @@
|
|||
-- sample data to test MySQL
|
||||
|
||||
-- TABLE TEST
|
||||
DROP TABLE IF EXISTS TEST1;
|
||||
CREATE TABLE TEST1 (
|
||||
TEST_NAME CHAR(30) NOT NULL,
|
||||
TEST_ID INTEGER DEFAULT '0' NOT NULL,
|
||||
TEST_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (TEST_ID);
|
||||
|
||||
-- TABLE TEST2 with some CONSTRAINTs and an INDEX
|
||||
DROP TABLE IF EXISTS TEST2;
|
||||
CREATE TABLE TEST2 (
|
||||
ID INTEGER NOT NULL,
|
||||
FIELD1 INTEGER,
|
||||
FIELD2 CHAR(15),
|
||||
FIELD3 VARCHAR(50),
|
||||
FIELD4 INTEGER,
|
||||
FIELD5 INTEGER,
|
||||
ID2 INTEGER NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT PK_TEST2 PRIMARY KEY (ID2);
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD1ID_IDX UNIQUE (ID, FIELD1);
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD4_IDX UNIQUE (FIELD4);
|
||||
CREATE INDEX TEST2_FIELD5_IDX ON TEST2(FIELD5);
|
||||
|
||||
-- TABLE NUMBERS
|
||||
DROP TABLE IF EXISTS NUMBERS;
|
||||
CREATE TABLE NUMBERS (
|
||||
NUMBER INTEGER DEFAULT '0' NOT NULL,
|
||||
EN CHAR(100) NOT NULL,
|
||||
FR CHAR(100) NOT NULL
|
||||
);
|
||||
|
||||
-- TABLE NEWTABLE
|
||||
DROP TABLE IF EXISTS NEWTABLE;
|
||||
CREATE TABLE NEWTABLE (
|
||||
ID INT DEFAULT 0 NOT NULL,
|
||||
SOMENAME VARCHAR (12),
|
||||
SOMEDATE TIMESTAMP NOT NULL
|
||||
);
|
||||
ALTER TABLE NEWTABLE ADD CONSTRAINT PKINDEX_IDX PRIMARY KEY (ID);
|
||||
|
||||
-- DROP SEQUENCE IF EXISTS NEWTABLE_SEQ CASCADE;
|
||||
-- CREATE SEQUENCE NEWTABLE_SEQ INCREMENT 1 START 1;
|
||||
|
||||
-- VIEW on TEST
|
||||
CREATE OR REPLACE VIEW `testview`(
|
||||
TEST_NAME,
|
||||
TEST_ID,
|
||||
TEST_DATE
|
||||
) AS
|
||||
SELECT *
|
||||
FROM TEST1
|
||||
WHERE TEST_NAME LIKE 't%';
|
||||
|
||||
-- VIEW on NUMBERS
|
||||
CREATE OR REPLACE VIEW `numbersview`(
|
||||
NUMBER,
|
||||
TRANS_EN,
|
||||
TRANS_FR
|
||||
) AS
|
||||
SELECT *
|
||||
FROM NUMBERS
|
||||
WHERE NUMBER > 100;
|
||||
|
||||
-- TABLEs for testing CONSTRAINTs
|
||||
DROP TABLE IF EXISTS testconstraints;
|
||||
CREATE TABLE testconstraints (
|
||||
someid integer NOT NULL,
|
||||
somename varchar(10) NOT NULL,
|
||||
CONSTRAINT testconstraints_id_pk PRIMARY KEY (someid)
|
||||
);
|
||||
DROP TABLE IF EXISTS testconstraints2;
|
||||
CREATE TABLE testconstraints2 (
|
||||
ext_id integer NOT NULL,
|
||||
modified date,
|
||||
uniquefield varchar(10) NOT NULL,
|
||||
usraction integer NOT NULL,
|
||||
CONSTRAINT testconstraints_id_fk FOREIGN KEY (ext_id)
|
||||
REFERENCES testconstraints (someid)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT unique_2_fields_idx UNIQUE (modified, usraction),
|
||||
CONSTRAINT uniquefld_idx UNIQUE (uniquefield)
|
||||
);
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
-- sample data to test PostgreSQL INFORMATION_SCHEMA
|
||||
|
||||
-- TABLE TEST
|
||||
CREATE TABLE IF NOT EXISTS TEST1 (
|
||||
TEST_NAME CHAR(30) NOT NULL,
|
||||
TEST_ID INTEGER DEFAULT '0' NOT NULL,
|
||||
TEST_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
ALTER TABLE TEST1 DROP CONSTRAINT IF EXISTS PK_TEST CASCADE;
|
||||
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (TEST_ID);
|
||||
|
||||
-- TABLE TEST2 with some CONSTRAINTs and an INDEX
|
||||
CREATE TABLE IF NOT EXISTS TEST2 (
|
||||
ID INTEGER NOT NULL,
|
||||
FIELD1 INTEGER,
|
||||
FIELD2 CHAR(15),
|
||||
FIELD3 VARCHAR(50),
|
||||
FIELD4 INTEGER,
|
||||
FIELD5 INTEGER,
|
||||
ID2 INTEGER NOT NULL
|
||||
);
|
||||
ALTER TABLE TEST2 DROP CONSTRAINT IF EXISTS PK_TEST2 CASCADE;
|
||||
ALTER TABLE TEST2 DROP CONSTRAINT IF EXISTS TEST2_FIELD1ID_IDX CASCADE;
|
||||
ALTER TABLE TEST2 DROP CONSTRAINT IF EXISTS TEST2_FIELD4_IDX CASCADE;
|
||||
DROP INDEX IF EXISTS TEST2_FIELD5_IDX;
|
||||
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT PK_TEST2 PRIMARY KEY (ID2);
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD1ID_IDX UNIQUE (ID, FIELD1);
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD4_IDX UNIQUE (FIELD4);
|
||||
CREATE INDEX TEST2_FIELD5_IDX ON TEST2(FIELD5);
|
||||
|
||||
-- TABLE NUMBERS
|
||||
CREATE TABLE IF NOT EXISTS NUMBERS (
|
||||
NUMBER INTEGER DEFAULT '0' NOT NULL,
|
||||
EN CHAR(100) NOT NULL,
|
||||
FR CHAR(100) NOT NULL
|
||||
);
|
||||
|
||||
-- TABLE NEWTABLE
|
||||
CREATE TABLE IF NOT EXISTS NEWTABLE (
|
||||
ID INT DEFAULT 0 NOT NULL,
|
||||
SOMENAME VARCHAR (12),
|
||||
SOMEDATE TIMESTAMP NOT NULL
|
||||
);
|
||||
ALTER TABLE NEWTABLE DROP CONSTRAINT IF EXISTS PKINDEX_IDX CASCADE;
|
||||
ALTER TABLE NEWTABLE ADD CONSTRAINT PKINDEX_IDX PRIMARY KEY (ID);
|
||||
|
||||
DROP SEQUENCE IF EXISTS NEWTABLE_SEQ CASCADE;
|
||||
CREATE SEQUENCE NEWTABLE_SEQ INCREMENT 1 START 1;
|
||||
|
||||
-- VIEW on TEST
|
||||
CREATE OR REPLACE VIEW "testview"(
|
||||
TEST_NAME,
|
||||
TEST_ID,
|
||||
TEST_DATE
|
||||
) AS
|
||||
SELECT *
|
||||
FROM TEST1
|
||||
WHERE TEST_NAME LIKE 't%';
|
||||
|
||||
-- VIEW on NUMBERS
|
||||
CREATE OR REPLACE VIEW "numbersview"(
|
||||
NUMBER,
|
||||
TRANS_EN,
|
||||
TRANS_FR
|
||||
) AS
|
||||
SELECT *
|
||||
FROM NUMBERS
|
||||
WHERE NUMBER > 100;
|
||||
|
||||
-- TRIGGER on NEWTABLE
|
||||
DROP FUNCTION IF EXISTS add_stamp() CASCADE;
|
||||
CREATE OR REPLACE FUNCTION add_stamp() RETURNS OPAQUE AS '
|
||||
BEGIN
|
||||
IF (NEW.somedate IS NULL OR NEW.somedate = 0) THEN
|
||||
NEW.somedate := CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END IF;
|
||||
END;
|
||||
' LANGUAGE 'plpgsql';
|
||||
|
||||
DROP TRIGGER IF EXISTS ADDCURRENTDATE ON newtable;
|
||||
|
||||
CREATE TRIGGER ADDCURRENTDATE
|
||||
BEFORE INSERT OR UPDATE
|
||||
ON newtable FOR EACH ROW
|
||||
EXECUTE PROCEDURE add_stamp();
|
||||
|
||||
-- TABLEs for testing CONSTRAINTs
|
||||
CREATE TABLE IF NOT EXISTS testconstraints (
|
||||
someid integer NOT NULL,
|
||||
somename character varying(10) NOT NULL,
|
||||
CONSTRAINT testconstraints_id_pk PRIMARY KEY (someid)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS testconstraints2 (
|
||||
ext_id integer NOT NULL,
|
||||
modified date,
|
||||
uniquefield character varying(10) NOT NULL,
|
||||
usraction integer NOT NULL,
|
||||
CONSTRAINT testconstraints_id_fk FOREIGN KEY (ext_id)
|
||||
REFERENCES testconstraints (someid) MATCH SIMPLE
|
||||
ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
CONSTRAINT unique_2_fields_idx UNIQUE (modified, usraction),
|
||||
CONSTRAINT uniquefld_idx UNIQUE (uniquefield)
|
||||
);
|
|
@ -0,0 +1,82 @@
|
|||
-- sample data to test SQLite
|
||||
CREATE TABLE IF NOT EXISTS "create_test" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
CREATE TABLE IF NOT EXISTS "create_join" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
CREATE TABLE IF NOT EXISTS "create_delete" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
|
||||
-- TABLE TEST
|
||||
DROP TABLE IF EXISTS TEST1;
|
||||
CREATE TABLE TEST1 (
|
||||
TEST_NAME TEXT NOT NULL,
|
||||
TEST_ID INTEGER DEFAULT '0' NOT NULL,
|
||||
TEST_DATE TEXT NOT NULL,
|
||||
CONSTRAINT PK_TEST PRIMARY KEY (TEST_ID)
|
||||
);
|
||||
|
||||
-- TABLE TEST2 with some CONSTRAINTs and an INDEX
|
||||
DROP TABLE IF EXISTS TEST2;
|
||||
CREATE TABLE TEST2 (
|
||||
ID INTEGER NOT NULL,
|
||||
FIELD1 INTEGER,
|
||||
FIELD2 TEXT,
|
||||
FIELD3 TEXT,
|
||||
FIELD4 INTEGER,
|
||||
FIELD5 INTEGER,
|
||||
ID2 INTEGER NOT NULL,
|
||||
CONSTRAINT PK_TEST2 PRIMARY KEY (ID2),
|
||||
CONSTRAINT TEST2_FIELD1ID_IDX UNIQUE (ID, FIELD1),
|
||||
CONSTRAINT TEST2_FIELD4_IDX UNIQUE (FIELD4)
|
||||
);
|
||||
CREATE INDEX TEST2_FIELD5_IDX ON TEST2 (FIELD5);
|
||||
|
||||
-- TABLE NUMBERS
|
||||
DROP TABLE IF EXISTS NUMBERS;
|
||||
CREATE TABLE NUMBERS (
|
||||
NUMBER INTEGER DEFAULT 0 NOT NULL,
|
||||
EN TEXT NOT NULL,
|
||||
FR TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- TABLE NEWTABLE
|
||||
DROP TABLE IF EXISTS NEWTABLE;
|
||||
CREATE TABLE NEWTABLE (
|
||||
ID INTEGER DEFAULT 0 NOT NULL,
|
||||
SOMENAME TEXT,
|
||||
SOMEDATE TEXT NOT NULL,
|
||||
CONSTRAINT PKINDEX_IDX PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
-- VIEW on TEST
|
||||
DROP VIEW IF EXISTS "testview";
|
||||
CREATE VIEW "testview" AS
|
||||
SELECT *
|
||||
FROM TEST1
|
||||
WHERE TEST_NAME LIKE 't%';
|
||||
|
||||
-- VIEW on NUMBERS
|
||||
DROP VIEW IF EXISTS "numbersview";
|
||||
CREATE VIEW "numbersview" AS
|
||||
SELECT *
|
||||
FROM NUMBERS
|
||||
WHERE NUMBER > 100;
|
||||
|
||||
-- TABLEs for testing CONSTRAINTs
|
||||
DROP TABLE IF EXISTS "testconstraints";
|
||||
CREATE TABLE "testconstraints" (
|
||||
someid integer NOT NULL,
|
||||
somename TEXT NOT NULL,
|
||||
CONSTRAINT testconstraints_id_pk PRIMARY KEY (someid)
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS "testconstraints2";
|
||||
CREATE TABLE "testconstraints2" (
|
||||
ext_id integer NOT NULL,
|
||||
modified text,
|
||||
uniquefield text NOT NULL,
|
||||
usraction integer NOT NULL,
|
||||
CONSTRAINT testconstraints_id_fk FOREIGN KEY (ext_id)
|
||||
REFERENCES testconstraints (someid)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT unique_2_fields_idx UNIQUE (modified, usraction),
|
||||
CONSTRAINT uniquefld_idx UNIQUE (uniquefield)
|
||||
);
|
Loading…
Reference in New Issue