export function getOptsAndBucket()

in src/v2/providers/storage.ts [378:403]


export function getOptsAndBucket(
  bucketOrOpts: string | StorageOptions
): [options.EventHandlerOptions, string] {
  let bucket: string;
  let opts: options.EventHandlerOptions;
  if (typeof bucketOrOpts === 'string') {
    bucket = bucketOrOpts;
    opts = {};
  } else {
    bucket = bucketOrOpts.bucket || firebaseConfig().storageBucket;
    opts = { ...bucketOrOpts };
    delete (opts as any).bucket;
  }

  if (!bucket) {
    throw new Error(
      'Missing bucket name. If you are unit testing, please provide a bucket name' +
        ' by providing bucket name directly in the event handler or by setting process.env.FIREBASE_CONFIG.'
    );
  }
  if (!/^[a-z\d][a-z\d\\._-]{1,230}[a-z\d]$/.test(bucket)) {
    throw new Error(`Invalid bucket name ${bucket}`);
  }

  return [opts, bucket];
}