'use strict'; //////////////////////////////////////////////////////////////////////////////// /// @brief Check if something is something /// /// @file /// /// DISCLAIMER /// /// Copyright 2010-2012 triagens GmbH, Cologne, Germany /// /// 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. /// /// Copyright holder is triAGENS GmbH, Cologne, Germany /// /// @author Dr. Frank Celler, Lucas Dohmen /// @author Copyright 2011-2012, triAGENS GmbH, Cologne, Germany //////////////////////////////////////////////////////////////////////////////// // Check if a value is not undefined or null function existy (x) { return x !== null && x !== undefined; } // Check if a value is undefined or null function notExisty (x) { return !existy(x); } // Check if a value is existy and not false function truthy (x) { return (x !== false) && existy(x); } // Check if a value is not truthy function falsy (x) { return !truthy(x); } // is.object, is.noObject, is.array, is.noArray... [ 'Object', 'Array', 'Boolean', 'Date', 'Function', 'Number', 'String', 'RegExp' ].forEach(function(type) { exports[type.toLowerCase()] = function (obj) { return Object.prototype.toString.call(obj) === '[object '+type+']'; }; exports["no" + type] = function (obj) { return Object.prototype.toString.call(obj) !== '[object '+type+']'; }; }); exports.existy = existy; exports.notExisty = notExisty; exports.truthy = truthy; exports.falsy = falsy;