mirror of https://gitee.com/bigwinds/arangodb
74 lines
1.9 KiB
JavaScript
74 lines
1.9 KiB
JavaScript
'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;
|