@@ -201,7 +201,7 @@ export const metadataUpdatedEvent = "google.cloud.storage.object.v1.metadataUpda
201201/** StorageOptions extend EventHandlerOptions with a bucket name */
202202export interface StorageOptions extends options . EventHandlerOptions {
203203 /** The name of the bucket containing this object. */
204- bucket ?: string ;
204+ bucket ?: string | Expression < string > ;
205205
206206 /**
207207 * If true, do not deploy or emulate this function.
@@ -324,7 +324,7 @@ export function onObjectArchived(
324324 * @param handler - Event handler which is run every time a Google Cloud Storage archival occurs.
325325 */
326326export function onObjectArchived (
327- bucket : string ,
327+ bucket : string | Expression < string > ,
328328 handler : ( event : StorageEvent ) => any | Promise < any >
329329) : CloudFunction < StorageEvent > ;
330330
@@ -352,7 +352,11 @@ export function onObjectArchived(
352352 * @param handler - Event handler which is run every time a Google Cloud Storage archival occurs.
353353 */
354354export function onObjectArchived (
355- bucketOrOptsOrHandler : string | StorageOptions | ( ( event : StorageEvent ) => any | Promise < any > ) ,
355+ bucketOrOptsOrHandler :
356+ | string
357+ | Expression < string >
358+ | StorageOptions
359+ | ( ( event : StorageEvent ) => any | Promise < any > ) ,
356360 handler ?: ( event : StorageEvent ) => any | Promise < any >
357361) : CloudFunction < StorageEvent > {
358362 return onOperation ( archivedEvent , bucketOrOptsOrHandler , handler ) ;
@@ -384,7 +388,7 @@ export function onObjectFinalized(
384388 * @param handler - Event handler which is run every time a Google Cloud Storage object creation occurs.
385389 */
386390export function onObjectFinalized (
387- bucket : string ,
391+ bucket : string | Expression < string > ,
388392 handler : ( event : StorageEvent ) => any | Promise < any >
389393) : CloudFunction < StorageEvent > ;
390394
@@ -416,7 +420,11 @@ export function onObjectFinalized(
416420 * @param handler - Event handler which is run every time a Google Cloud Storage object creation occurs.
417421 */
418422export function onObjectFinalized (
419- bucketOrOptsOrHandler : string | StorageOptions | ( ( event : StorageEvent ) => any | Promise < any > ) ,
423+ bucketOrOptsOrHandler :
424+ | string
425+ | Expression < string >
426+ | StorageOptions
427+ | ( ( event : StorageEvent ) => any | Promise < any > ) ,
420428 handler ?: ( event : StorageEvent ) => any | Promise < any >
421429) : CloudFunction < StorageEvent > {
422430 return onOperation ( finalizedEvent , bucketOrOptsOrHandler , handler ) ;
@@ -450,7 +458,7 @@ export function onObjectDeleted(
450458 * @param handler - Event handler which is run every time a Google Cloud Storage object deletion occurs.
451459 */
452460export function onObjectDeleted (
453- bucket : string ,
461+ bucket : string | Expression < string > ,
454462 handler : ( event : StorageEvent ) => any | Promise < any >
455463) : CloudFunction < StorageEvent > ;
456464
@@ -484,7 +492,11 @@ export function onObjectDeleted(
484492 * @param handler - Event handler which is run every time a Google Cloud Storage object deletion occurs.
485493 */
486494export function onObjectDeleted (
487- bucketOrOptsOrHandler : string | StorageOptions | ( ( event : StorageEvent ) => any | Promise < any > ) ,
495+ bucketOrOptsOrHandler :
496+ | string
497+ | Expression < string >
498+ | StorageOptions
499+ | ( ( event : StorageEvent ) => any | Promise < any > ) ,
488500 handler ?: ( event : StorageEvent ) => any | Promise < any >
489501) : CloudFunction < StorageEvent > {
490502 return onOperation ( deletedEvent , bucketOrOptsOrHandler , handler ) ;
@@ -509,7 +521,7 @@ export function onObjectMetadataUpdated(
509521 * @param handler - Event handler which is run every time a Google Cloud Storage object metadata update occurs.
510522 */
511523export function onObjectMetadataUpdated (
512- bucket : string ,
524+ bucket : string | Expression < string > ,
513525 handler : ( event : StorageEvent ) => any | Promise < any >
514526) : CloudFunction < StorageEvent > ;
515527
@@ -533,7 +545,11 @@ export function onObjectMetadataUpdated(
533545 * @param handler - Event handler which is run every time a Google Cloud Storage object metadata update occurs.
534546 */
535547export function onObjectMetadataUpdated (
536- bucketOrOptsOrHandler : string | StorageOptions | ( ( event : StorageEvent ) => any | Promise < any > ) ,
548+ bucketOrOptsOrHandler :
549+ | string
550+ | Expression < string >
551+ | StorageOptions
552+ | ( ( event : StorageEvent ) => any | Promise < any > ) ,
537553 handler ?: ( event : StorageEvent ) => any | Promise < any >
538554) : CloudFunction < StorageEvent > {
539555 return onOperation ( metadataUpdatedEvent , bucketOrOptsOrHandler , handler ) ;
@@ -542,7 +558,11 @@ export function onObjectMetadataUpdated(
542558/** @internal */
543559export function onOperation (
544560 eventType : string ,
545- bucketOrOptsOrHandler : string | StorageOptions | ( ( event : StorageEvent ) => any | Promise < any > ) ,
561+ bucketOrOptsOrHandler :
562+ | string
563+ | Expression < string >
564+ | StorageOptions
565+ | ( ( event : StorageEvent ) => any | Promise < any > ) ,
546566 handler : ( event : StorageEvent ) => any | Promise < any >
547567) : CloudFunction < StorageEvent > {
548568 if ( typeof bucketOrOptsOrHandler === "function" ) {
@@ -616,11 +636,12 @@ export function onOperation(
616636
617637/** @internal */
618638export function getOptsAndBucket (
619- bucketOrOpts : string | StorageOptions
620- ) : [ options . EventHandlerOptions , string ] {
621- let bucket : string ;
639+ bucketOrOpts : string | Expression < string > | StorageOptions
640+ ) : [ options . EventHandlerOptions , string | Expression < string > ] {
641+ let bucket : string | Expression < string > ;
622642 let opts : options . EventHandlerOptions ;
623- if ( typeof bucketOrOpts === "string" ) {
643+ // If bucket is a string or Expression<string>
644+ if ( typeof bucketOrOpts === "string" || "value" in bucketOrOpts ) {
624645 bucket = bucketOrOpts ;
625646 opts = { } ;
626647 } else {
@@ -635,7 +656,7 @@ export function getOptsAndBucket(
635656 " by providing bucket name directly in the event handler or by setting process.env.FIREBASE_CONFIG."
636657 ) ;
637658 }
638- if ( ! / ^ [ a - z \d ] [ a - z \d \\ . _ - ] { 1 , 230 } [ a - z \d ] $ / . test ( bucket ) ) {
659+ if ( typeof bucket === "string" && ! / ^ [ a - z \d ] [ a - z \d \\ . _ - ] { 1 , 230 } [ a - z \d ] $ / . test ( bucket ) ) {
639660 throw new Error ( `Invalid bucket name ${ bucket } ` ) ;
640661 }
641662
0 commit comments