code: function createparams(filename, fallback) {
    if (filename === undefined) {
      return
    }
  
    var params = {}
  
    if (typeof filename !== 'string') {
      throw new TypeError('filename must be a string')
    }
  
    // fallback defaults to true
    if (fallback === undefined) {
      fallback = true
    }
  
    if (typeof fallback !== 'string' && typeof fallback !== 'boolean') {
      throw new TypeError('fallback must be a string or boolean')
    }
  
    if (typeof fallback === 'string' && nonLatin1RegExp.test(fallback)) {
      throw new TypeError('fallback must be ISO-8859-1 string')
    }
  
    // restrict to file base name
    var name = basename(filename)
  
    // determine if name is suitable for quoted string
    var isQuotedString = textRegExp.test(name)
  
    // generate fallback name
    var fallbackName = typeof fallback !== 'string'
      ? fallback && getlatin1(name)
      : basename(fallback)
    var hasFallback = typeof fallbackName === 'string' && fallbackName !== name
  
    // set extended filename parameter
    if (hasFallback || !isQuotedString || hexEscapeRegExp.test(name)) {
      params['filename*'] = name
    }
  
    // set filename parameter
    if (isQuotedString || hasFallback) {
      params.filename = hasFallback
        ? fallbackName
        : name
    }
  
    return params
  }
docs: Create parameters object from filename and fallback.
  
  @param {string} [filename]
  @param {string|boolean} [fallback=true]
  @return {object}
  @api private