code: function (str, sep, val) {
      if (!str || str.length === 0) return {}
      const parts = str.split(sep).filter((s) => s)
      return this.fromArray(parts, val)
    }
docs: Constructs nested object reflecting string
  @returns {object} The nested object
  @param {string} str - string from which to construct object
  @param {string} sep - separator with which to split the string
  @param {any} val - value to assign to the deepest level object key