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