foop
Version:
interfaces that describe their intentions.
48 lines (46 loc) • 4.36 kB
JavaScript
var toS = require('./toS')
var isStringPrimitive = require('./stringPrimitive')
/**
* Checks if `value` is classified as a `String` primitive or object.
*
* @name isString
* @since 3.0.0
* @category Lang
*
* @memberOf is
* @extends isStringPrimitive
* @variation also allows String objects
*
* @param {*} x The value to check.
* @return {boolean} Returns `true` if `value` is a string, else `false`.
*
* {@link https://nodejs.org/api/util.html#util_util_isstring_object node-util-isstring}
* {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L1318 underscore-isstring}
* {@link https://github.com/infernojs/inferno/blob/master/packages/inferno-shared/src/index.ts#L42 inferno-isstring}
* {@link https://github.com/ramda/ramda/blob/master/src/internal/_isString.js ramda-is-string}
* {@link https://github.com/js-data/js-data/blob/v2/src/utils.js#L57 js-data-is-string}
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String mozilla-string}
* {@link https://github.com/lodash/lodash/blob/master/isString.js lodash-isString}
* @see {@link lodash-isString}
* @see {@link mozilla-string}
* @see {@link js-data-is-string}
* @see {@link ramda-is-string}
* @see {@link inferno-isstring}
* @see {@link underscore-isstring}
* @see {@link node-util-isstring}
* @see isStringPrimitive
*
* @example
*
* isString('abc')
* //=> true
*
* isString(new String('abc'))
* //=> true
*
* isString(1)
* //=> false
*
*/
module.exports = function (x) { return isStringPrimitive(x) || toS(x) === '[object String]'; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlcyI6WyJzdHJpbmcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdG9TID0gcmVxdWlyZSgnLi90b1MnKVxuY29uc3QgaXNTdHJpbmdQcmltaXRpdmUgPSByZXF1aXJlKCcuL3N0cmluZ1ByaW1pdGl2ZScpXG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTdHJpbmdgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQG5hbWUgaXNTdHJpbmdcbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqXG4gKiBAbWVtYmVyT2YgaXNcbiAqIEBleHRlbmRzIGlzU3RyaW5nUHJpbWl0aXZlXG4gKiBAdmFyaWF0aW9uIGFsc28gYWxsb3dzIFN0cmluZyBvYmplY3RzXG4gKlxuICogQHBhcmFtIHsqfSB4IFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzdHJpbmcsIGVsc2UgYGZhbHNlYC5cbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9ub2RlanMub3JnL2FwaS91dGlsLmh0bWwjdXRpbF91dGlsX2lzc3RyaW5nX29iamVjdCBub2RlLXV0aWwtaXNzdHJpbmd9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2phc2hrZW5hcy91bmRlcnNjb3JlL2Jsb2IvbWFzdGVyL3VuZGVyc2NvcmUuanMjTDEzMTggdW5kZXJzY29yZS1pc3N0cmluZ31cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vaW5mZXJub2pzL2luZmVybm8vYmxvYi9tYXN0ZXIvcGFja2FnZXMvaW5mZXJuby1zaGFyZWQvc3JjL2luZGV4LnRzI0w0MiBpbmZlcm5vLWlzc3RyaW5nfVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9yYW1kYS9yYW1kYS9ibG9iL21hc3Rlci9zcmMvaW50ZXJuYWwvX2lzU3RyaW5nLmpzIHJhbWRhLWlzLXN0cmluZ31cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vanMtZGF0YS9qcy1kYXRhL2Jsb2IvdjIvc3JjL3V0aWxzLmpzI0w1NyBqcy1kYXRhLWlzLXN0cmluZ31cbiAqIHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcgbW96aWxsYS1zdHJpbmd9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvaXNTdHJpbmcuanMgbG9kYXNoLWlzU3RyaW5nfVxuICogQHNlZSB7QGxpbmsgbG9kYXNoLWlzU3RyaW5nfVxuICogQHNlZSB7QGxpbmsgbW96aWxsYS1zdHJpbmd9XG4gKiBAc2VlIHtAbGluayBqcy1kYXRhLWlzLXN0cmluZ31cbiAqIEBzZWUge0BsaW5rIHJhbWRhLWlzLXN0cmluZ31cbiAqIEBzZWUge0BsaW5rIGluZmVybm8taXNzdHJpbmd9XG4gKiBAc2VlIHtAbGluayB1bmRlcnNjb3JlLWlzc3RyaW5nfVxuICogQHNlZSB7QGxpbmsgbm9kZS11dGlsLWlzc3RyaW5nfVxuICogQHNlZSBpc1N0cmluZ1ByaW1pdGl2ZVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICBpc1N0cmluZygnYWJjJylcbiAqICAgLy89PiB0cnVlXG4gKlxuICogICBpc1N0cmluZyhuZXcgU3RyaW5nKCdhYmMnKSlcbiAqICAgLy89PiB0cnVlXG4gKlxuICogICBpc1N0cmluZygxKVxuICogICAvLz0+IGZhbHNlXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHggPT4gaXNTdHJpbmdQcmltaXRpdmUoeCkgfHwgdG9TKHgpID09PSAnW29iamVjdCBTdHJpbmddJ1xuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQzVCQSxHQUFLLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRDdEQsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFBLENBQUMsQ0FBQSxDQUFDLEFBQUcsU0FBQSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLEdBQUE7In0=