UNPKG

voca

Version:

The ultimate JavaScript string library

41 lines (34 loc) 1.05 kB
'use strict'; var is_nil = require('./internal/is_nil.js'); require('./is_string.js'); var coerce_to_string = require('./internal/coerce_to_string.js'); var to_integer = require('./internal/to_integer.js'); /** * Extracts the first `length` characters from `subject`. * * @function first * @static * @since 1.0.0 * @memberOf Chop * @param {string} [subject=''] The string to extract from. * @param {int} [length=1] The number of characters to extract. * @return {string} Returns the first characters string. * @example * v.first('helicopter'); * // => 'h' * * v.first('vehicle', 2); * // => 've' * * v.first('car', 5); * // => 'car' */ function first(subject, length) { var subjectString = coerce_to_string.coerceToString(subject); var lengthInt = is_nil.isNil(length) ? 1 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER); if (subjectString.length <= lengthInt) { return subjectString; } return subjectString.substr(0, lengthInt); } module.exports = first;