mirror of
				https://github.com/musix-org/musix-oss
				synced 2025-11-04 15:59:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			166 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * @license Copyright 2017 Google Inc.
 | 
						|
 *
 | 
						|
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
 * you may not use this file except in compliance with the License.
 | 
						|
 * You may obtain a copy of the License at
 | 
						|
 *
 | 
						|
 *   http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 *
 | 
						|
 * Unless required by applicable law or agreed to in writing, software
 | 
						|
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 * See the License for the specific language governing permissions and
 | 
						|
 * limitations under the License.
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * @fileoverview Firebase Messaging API.
 | 
						|
 * @externs
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Gets the {@link firebase.messaging.Messaging `Messaging`} service for the
 | 
						|
 * default app or a given app.
 | 
						|
 *
 | 
						|
 * `firebase.messaging()` can be called with no arguments to access the default
 | 
						|
 * app's {@link firebase.messaging.Messaging `Messaging`} service or as
 | 
						|
 * `firebase.messaging(app)` to access the
 | 
						|
 * {@link firebase.messaging.Messaging `Messaging`} service associated with a
 | 
						|
 * specific app.
 | 
						|
 *
 | 
						|
 * Calling `firebase.messaging()` in a service worker results in Firebase
 | 
						|
 * generating notifications if the push message payload has a `notification`
 | 
						|
 * parameter.
 | 
						|
 *
 | 
						|
 * @example
 | 
						|
 * // Get the Messaging service for the default app
 | 
						|
 * var defaultMessaging = firebase.messaging();
 | 
						|
 *
 | 
						|
 * @example
 | 
						|
 * // Get the Messaging service for a given app
 | 
						|
 * var otherMessaging = firebase.messaging(otherApp);
 | 
						|
 *
 | 
						|
 * @namespace
 | 
						|
 * @param {!firebase.app.App=} app The app to create a Messaging service for.
 | 
						|
 *     If not passed, uses the default app.
 | 
						|
 *
 | 
						|
 * @return {!firebase.messaging.Messaging}
 | 
						|
 */
 | 
						|
firebase.messaging = function(app) {};
 | 
						|
 | 
						|
/**
 | 
						|
 * Gets the {@link firebase.messaging.Messaging `Messaging`} service for the
 | 
						|
 * current app.
 | 
						|
 *
 | 
						|
 * @example
 | 
						|
 * var messaging = app.messaging();
 | 
						|
 * // The above is shorthand for:
 | 
						|
 * // var messaging = firebase.messaging(app);
 | 
						|
 *
 | 
						|
 * @return {!firebase.messaging.Messaging}
 | 
						|
 */
 | 
						|
firebase.app.App.prototype.messaging = function() {};
 | 
						|
 | 
						|
/**
 | 
						|
 * The Firebase Messaging service interface.
 | 
						|
 *
 | 
						|
 * Do not call this constructor directly. Instead, use
 | 
						|
 * {@link firebase.messaging `firebase.messaging()`}.
 | 
						|
 *
 | 
						|
 * See
 | 
						|
 * {@link
 | 
						|
 *   https://firebase.google.com/docs/cloud-messaging/js/client
 | 
						|
 *   Set Up a JavaScript Firebase Cloud Messaging Client App}
 | 
						|
 * for a full guide on how to use the Firebase Messaging service.
 | 
						|
 *
 | 
						|
 * @interface
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging = function() {};
 | 
						|
 | 
						|
/**
 | 
						|
 * Notification permissions are required to send a user push messages.
 | 
						|
 * Calling this method displays the permission dialog to the user and
 | 
						|
 * resolves if the permission is granted.
 | 
						|
 *
 | 
						|
 * @return {firebase.Promise} The promise resolves if permission is
 | 
						|
 *   granted. Otherwise, the promise is rejected with an error.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.requestPermission = function() {};
 | 
						|
 | 
						|
/**
 | 
						|
 * After calling `requestPermission()` you can call this method to get an FCM
 | 
						|
 * registration token that can be used to send push messages to this user.
 | 
						|
 *
 | 
						|
 * @return {firebase.Promise<string>} The promise resolves if an FCM token can
 | 
						|
 *   be retrieved. This method returns null if the current origin does not have
 | 
						|
 *   permission to show notifications.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.getToken = function() {};
 | 
						|
 | 
						|
/**
 | 
						|
 * You should listen for token refreshes so your web app knows when FCM
 | 
						|
 * has invalidated your existing token and you need to call `getToken()`
 | 
						|
 * to get a new token.
 | 
						|
 *
 | 
						|
 * @param {!firebase.Observer<Object, void>|!function(!Object)}
 | 
						|
 *     nextOrObserver This function, or observer object with `next` defined,
 | 
						|
 *     is called when a token refresh has occurred.
 | 
						|
 * @return {firebase.Unsubscribe} To stop listening for token
 | 
						|
 *   refresh events execute this returned function.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.onTokenRefresh = function(
 | 
						|
  nextOrObserver
 | 
						|
) {};
 | 
						|
 | 
						|
/**
 | 
						|
 * When a push message is received and the user is currently on a page
 | 
						|
 * for your origin, the message is passed to the page and an `onMessage()`
 | 
						|
 * event is dispatched with the payload of the push message.
 | 
						|
 *
 | 
						|
 * NOTE: These events are dispatched when you have called
 | 
						|
 * `setBackgroundMessageHandler()` in your service worker.
 | 
						|
 *
 | 
						|
 * @param {!firebase.Observer<Object, void>|!function(!Object)}
 | 
						|
 *     nextOrObserver This function, or observer object with `next` defined,
 | 
						|
 *     is called when a message is received and the user is currently viewing your page.
 | 
						|
 * @return {firebase.Unsubscribe} To stop listening for messages
 | 
						|
 *    execute this returned function.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.onMessage = function(nextOrObserver) {};
 | 
						|
 | 
						|
/**
 | 
						|
 * To forceably stop a registration token from being used, delete it
 | 
						|
 * by calling this method.
 | 
						|
 *
 | 
						|
 * @param {!string} token The token to delete.
 | 
						|
 * @return {firebase.Promise} The promise resolves when the token has been
 | 
						|
 *   successfully deleted.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.deleteToken = function(token) {};
 | 
						|
 | 
						|
/**
 | 
						|
 * To use your own service worker for receiving push messages, you
 | 
						|
 * can pass in your service worker registration in this method.
 | 
						|
 *
 | 
						|
 * @param {!ServiceWorkerRegistration} registration The service worker
 | 
						|
 *   registration you wish to use for push messaging.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.useServiceWorker = function(
 | 
						|
  registration
 | 
						|
) {};
 | 
						|
 | 
						|
/**
 | 
						|
 * FCM directs push messages to your web page's `onMessage()` callback
 | 
						|
 * if the user currently has it open. Otherwise, it calls
 | 
						|
 * your callback passed into `setBackgroundMessageHandler()`.
 | 
						|
 *
 | 
						|
 * Your callback should return a promise that, once resolved, has
 | 
						|
 * shown a notification.
 | 
						|
 *
 | 
						|
 * @param {!function(!Object)} callback The function to handle the push message.
 | 
						|
 */
 | 
						|
firebase.messaging.Messaging.prototype.setBackgroundMessageHandler = function(
 | 
						|
  callback
 | 
						|
) {};
 |