UNPKG

foop

Version:

interfaces that describe their intentions.

61 lines (59 loc) 5.68 kB
var isBooleanPrimitive = require('./booleanPrimitive') var isStringPrimitive = require('./stringPrimitive') var isNumberPrimitive = require('./numberPrimitive') var isNullOrUndefined = require('./nullOrUndefined') /** * Checks if `value` is classified as a **primitive** * `(number|string|boolean|null|undefined)` * * @version 5.0.0 added booleanPrimitive, is in own file * @since 4.0.0 was in another file * @memberOf is * * @param {*} x The value to check. * @return {boolean} x is number|string|boolean|null|undefined * * @func * @category Lang * * {@link https://github.com/andrewplummer/Sugar/blob/master/lib/common.js#L583 sugar-isprimitive} * {@link https://nodejs.org/api/util.html#util_util_isprimitive_object node-util-isprimitive} * {@link http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html java-data-types} * {@link https://developer.mozilla.org/en-US/docs/Glossary/Primitive mozilla-primitive} * {@link http://www.adequatelygood.com/Object-to-Primitive-Conversions-in-JavaScript.html primitive-conversions-in-js} * * @see {@link primitive-conversions-in-js} * @see {@link mozilla-primitive} * @see {@link java-data-types} * @see {@link node-util-isprimitive} * @see {@link sugar-isprimitive} * * @see is/nullOrUndefined * @see is/stringPrimitive * @see is/booleanPrimitive * @see is/numberPrimitive * * @example * * isPrimitive('abc') //=> true * isPrimitive(1) //=> true * isPrimitive('') //=> true * isPrimitive(null) //=> true * isPrimitive(undefined) //=> true * isPrimitive(void 0) //=> true * * isPrimitive(new String('abc')) //=> false * isPrimitive([]) //=> false * isPrimitive(() => {}) //=> false * isPrimitive({}) //=> false * */ module.exports = function isPrimitive(node) { return ( isNullOrUndefined(node) || isStringPrimitive(node) || isNumberPrimitive(node) || isBooleanPrimitive(node) ) } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLmpzIiwic291cmNlcyI6WyJwcmltaXRpdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNCb29sZWFuUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9ib29sZWFuUHJpbWl0aXZlJylcbmNvbnN0IGlzU3RyaW5nUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9zdHJpbmdQcmltaXRpdmUnKVxuY29uc3QgaXNOdW1iZXJQcmltaXRpdmUgPSByZXF1aXJlKCcuL251bWJlclByaW1pdGl2ZScpXG5jb25zdCBpc051bGxPclVuZGVmaW5lZCA9IHJlcXVpcmUoJy4vbnVsbE9yVW5kZWZpbmVkJylcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgKipwcmltaXRpdmUqKlxuICogYChudW1iZXJ8c3RyaW5nfGJvb2xlYW58bnVsbHx1bmRlZmluZWQpYFxuICpcbiAqIEB2ZXJzaW9uIDUuMC4wIGFkZGVkIGJvb2xlYW5QcmltaXRpdmUsIGlzIGluIG93biBmaWxlXG4gKiBAc2luY2UgNC4wLjAgd2FzIGluIGFub3RoZXIgZmlsZVxuICogQG1lbWJlck9mIGlzXG4gKlxuICogQHBhcmFtIHsqfSB4IFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHggaXMgbnVtYmVyfHN0cmluZ3xib29sZWFufG51bGx8dW5kZWZpbmVkXG4gKlxuICogQGZ1bmNcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyZXdwbHVtbWVyL1N1Z2FyL2Jsb2IvbWFzdGVyL2xpYi9jb21tb24uanMjTDU4MyBzdWdhci1pc3ByaW1pdGl2ZX1cbiAqIHtAbGluayBodHRwczovL25vZGVqcy5vcmcvYXBpL3V0aWwuaHRtbCN1dGlsX3V0aWxfaXNwcmltaXRpdmVfb2JqZWN0IG5vZGUtdXRpbC1pc3ByaW1pdGl2ZX1cbiAqIHtAbGluayBodHRwOi8vZG9jcy5vcmFjbGUuY29tL2phdmFzZS90dXRvcmlhbC9qYXZhL251dHNhbmRib2x0cy9kYXRhdHlwZXMuaHRtbCBqYXZhLWRhdGEtdHlwZXN9XG4gKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9HbG9zc2FyeS9QcmltaXRpdmUgbW96aWxsYS1wcmltaXRpdmV9XG4gKiB7QGxpbmsgaHR0cDovL3d3dy5hZGVxdWF0ZWx5Z29vZC5jb20vT2JqZWN0LXRvLVByaW1pdGl2ZS1Db252ZXJzaW9ucy1pbi1KYXZhU2NyaXB0Lmh0bWwgcHJpbWl0aXZlLWNvbnZlcnNpb25zLWluLWpzfVxuICpcbiAqIEBzZWUge0BsaW5rIHByaW1pdGl2ZS1jb252ZXJzaW9ucy1pbi1qc31cbiAqIEBzZWUge0BsaW5rIG1vemlsbGEtcHJpbWl0aXZlfVxuICogQHNlZSB7QGxpbmsgamF2YS1kYXRhLXR5cGVzfVxuICogQHNlZSB7QGxpbmsgbm9kZS11dGlsLWlzcHJpbWl0aXZlfVxuICogQHNlZSB7QGxpbmsgc3VnYXItaXNwcmltaXRpdmV9XG4gKlxuICogQHNlZSBpcy9udWxsT3JVbmRlZmluZWRcbiAqIEBzZWUgaXMvc3RyaW5nUHJpbWl0aXZlXG4gKiBAc2VlIGlzL2Jvb2xlYW5QcmltaXRpdmVcbiAqIEBzZWUgaXMvbnVtYmVyUHJpbWl0aXZlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICAgaXNQcmltaXRpdmUoJ2FiYycpICAgICAgICAgICAgLy89PiB0cnVlXG4gKiAgICAgaXNQcmltaXRpdmUoMSkgICAgICAgICAgICAgICAgLy89PiB0cnVlXG4gKiAgICAgaXNQcmltaXRpdmUoJycpICAgICAgICAgICAgICAgLy89PiB0cnVlXG4gKiAgICAgaXNQcmltaXRpdmUobnVsbCkgICAgICAgICAgICAgLy89PiB0cnVlXG4gKiAgICAgaXNQcmltaXRpdmUodW5kZWZpbmVkKSAgICAgICAgLy89PiB0cnVlXG4gKiAgICAgaXNQcmltaXRpdmUodm9pZCAwKSAgICAgICAgICAgLy89PiB0cnVlXG4gKlxuICogICAgIGlzUHJpbWl0aXZlKG5ldyBTdHJpbmcoJ2FiYycpKSAvLz0+IGZhbHNlXG4gKiAgICAgaXNQcmltaXRpdmUoW10pICAgICAgICAgICAgICAgIC8vPT4gZmFsc2VcbiAqICAgICBpc1ByaW1pdGl2ZSgoKSA9PiB7fSkgICAgICAgICAgLy89PiBmYWxzZVxuICogICAgIGlzUHJpbWl0aXZlKHt9KSAgICAgICAgICAgICAgICAvLz0+IGZhbHNlXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKG5vZGUpIHtcbiAgcmV0dXJuIChcbiAgICBpc051bGxPclVuZGVmaW5lZChub2RlKSB8fFxuICAgIGlzU3RyaW5nUHJpbWl0aXZlKG5vZGUpIHx8XG4gICAgaXNOdW1iZXJQcmltaXRpdmUobm9kZSkgfHxcbiAgICBpc0Jvb2xlYW5QcmltaXRpdmUobm9kZSlcbiAgKVxufVxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztBQUN4REEsR0FBSyxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztBQUN0REEsR0FBSyxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztBQUN0REEsR0FBSyxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0R0RCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsV0FBVyxDQUFDLElBQUksRUFBRTtFQUMxQyxPQUFPO0lBQ0wsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUN2QixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFDdkIsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0dBQ3pCO0NBQ0Y7In0=