/*!

* chai
* Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/

/*!

* Dependencies that are used for multiple exports are required here only once
*/

var pathval = require('pathval');

/*!

* test utility
*/

exports.test = require('./test');

/*!

* type utility
*/

exports.type = require('type-detect');

/*!

* expectTypes utility
*/

exports.expectTypes = require('./expectTypes');

/*!

* message utility
*/

exports.getMessage = require('./getMessage');

/*!

* actual utility
*/

exports.getActual = require('./getActual');

/*!

* Inspect util
*/

exports.inspect = require('./inspect');

/*!

* Object Display util
*/

exports.objDisplay = require('./objDisplay');

/*!

* Flag utility
*/

exports.flag = require('./flag');

/*!

* Flag transferring utility
*/

exports.transferFlags = require('./transferFlags');

/*!

* Deep equal utility
*/

exports.eql = require('deep-eql');

/*!

* Deep path info
*/

exports.getPathInfo = pathval.getPathInfo;

/*!

* Check if a property exists
*/

exports.hasProperty = pathval.hasProperty;

/*!

* Function name
*/

exports.getName = require('get-func-name');

/*!

* add Property
*/

exports.addProperty = require('./addProperty');

/*!

* add Method
*/

exports.addMethod = require('./addMethod');

/*!

* overwrite Property
*/

exports.overwriteProperty = require('./overwriteProperty');

/*!

* overwrite Method
*/

exports.overwriteMethod = require('./overwriteMethod');

/*!

* Add a chainable method
*/

exports.addChainableMethod = require('./addChainableMethod');

/*!

* Overwrite chainable method
*/

exports.overwriteChainableMethod = require('./overwriteChainableMethod');

/*!

* Compare by inspect method
*/

exports.compareByInspect = require('./compareByInspect');

/*!

* Get own enumerable property symbols method
*/

exports.getOwnEnumerablePropertySymbols = require('./getOwnEnumerablePropertySymbols');

/*!

* Get own enumerable properties method
*/

exports.getOwnEnumerableProperties = require('./getOwnEnumerableProperties');

/*!

* Checks error against a given set of criteria
*/

exports.checkError = require('check-error');

/*!

* Proxify util
*/

exports.proxify = require('./proxify');

/*!

* addLengthGuard util
*/

exports.addLengthGuard = require('./addLengthGuard');

/*!

* isProxyEnabled helper
*/

exports.isProxyEnabled = require('./isProxyEnabled');

/*!

* isNaN method
*/

exports.isNaN = require('./isNaN');