lib/utils.js
function (arr, val) {
    if (!arr || arr.length === 0) return {}

    let o = {}
    let v = val || null

    if (arr.length > 1)
      v = this.fromArray(arr.slice(1), v)

    o[arr[0]] = v
    return o
  }
function (arr, val) {
    if (!arr || arr.length === 0) return {}

    let o = {}
    let v = val || null

    if (arr.length > 1)
      v = this.fromArray(arr.slice(1), v)

    o[arr[0]] = v
    return o
  }
function ( arr , val ) { if ( ! arr || arr . length === 0 ) return { } let o = { } let v = val || null if ( arr . length > 1 ) v = this . fromArray ( arr . slice ( 1 ) , v ) o [ arr [ 0 ] ] = v return o }
Constructs nested object reflecting array
@returns {object} The nested object
@param {array} arr - array from which to construct object
@param {any} val - value to assign to the deepest level object key
Constructs nested object reflecting array