foop
Version:
interfaces that describe their intentions.
34 lines (31 loc) • 2.32 kB
JavaScript
var curry = require('../fp/curry')
var toString = require('../cast/toString')
var concatArray = require('../array/concat')
var isString = require('../is/stringPrimitive')
/**
* @name concat
* @alias concatAny
* @since 5.0.0-beta.6
*
* @curried 2
* @see array/concat
*
* @param {string|Array} a
* @param {string|Array} b
* @return {string|Array} y
*/
function concat(a, b) {
if (isString(a)) {
if (isString(b)) {
return a + b
}
else {
return a + toString(b)
}
}
else {
return concatArray(a, b)
}
}
module.exports = curry(2, concat)
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2F0LmpzIiwic291cmNlcyI6WyJjb25jYXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY3VycnkgPSByZXF1aXJlKCcuLi9mcC9jdXJyeScpXG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoJy4uL2Nhc3QvdG9TdHJpbmcnKVxuY29uc3QgY29uY2F0QXJyYXkgPSByZXF1aXJlKCcuLi9hcnJheS9jb25jYXQnKVxuY29uc3QgaXNTdHJpbmcgPSByZXF1aXJlKCcuLi9pcy9zdHJpbmdQcmltaXRpdmUnKVxuXG4vKipcbiAqIEBuYW1lIGNvbmNhdFxuICogQGFsaWFzIGNvbmNhdEFueVxuICogQHNpbmNlIDUuMC4wLWJldGEuNlxuICpcbiAqIEBjdXJyaWVkIDJcbiAqIEBzZWUgYXJyYXkvY29uY2F0XG4gKlxuICogQHBhcmFtICB7c3RyaW5nfEFycmF5fSBhXG4gKiBAcGFyYW0gIHtzdHJpbmd8QXJyYXl9IGJcbiAqIEByZXR1cm4ge3N0cmluZ3xBcnJheX0geVxuICovXG5mdW5jdGlvbiBjb25jYXQoYSwgYikge1xuICBpZiAoaXNTdHJpbmcoYSkpIHtcbiAgICBpZiAoaXNTdHJpbmcoYikpIHtcbiAgICAgIHJldHVybiBhICsgYlxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBhICsgdG9TdHJpbmcoYilcbiAgICB9XG4gIH1cbiAgZWxzZSB7XG4gICAgcmV0dXJuIGNvbmNhdEFycmF5KGEsIGIpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjdXJyeSgyLCBjb25jYXQpXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDcENBLEdBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQzVDQSxHQUFLLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUM5Q0EsR0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBY2pELFNBQVMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFDcEIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDZixJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUM7S0FDYjtTQUNJO01BQ0gsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUN2QjtHQUNGO09BQ0k7SUFDSCxPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0dBQ3pCO0NBQ0Y7O0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQzsifQ==