firebase-admin
Version:
Firebase admin SDK for Node.js
110 lines (109 loc) • 3.79 kB
TypeScript
/*! firebase-admin v14.0.0 */
/*!
* @license
* Copyright 2017 Google LLC
*
* 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.
*/
/**
* Represents the raw HTTP response object.
*/
export interface HttpResponse {
/** The HTTP status code of the response. */
status: number;
/** The HTTP headers of the response. */
headers: {
[key: string]: any;
};
/** The response data payload. */
data?: string | object;
}
/**
* Defines error info type. This includes a code and message string.
*/
export interface ErrorInfo {
/** The string error code. */
code: string;
/** The error message. */
message: string;
/** The HTTP response associated with this error, if any. */
httpResponse?: HttpResponse;
/** The original wrapped error that triggered this error, if any. */
cause?: Error;
}
/**
* `FirebaseError` is a subclass of the standard JavaScript `Error` object. In
* addition to a message string and stack trace, it contains a string code.
*/
export interface FirebaseError {
/**
* Error codes are strings using the following format: `"service/string-code"`.
* Some examples include `"auth/invalid-uid"` and
* `"messaging/invalid-recipient"`.
*
* While the message for a given error can change, the code will remain the same
* between backward-compatible versions of the Firebase SDK.
*/
code: string;
/**
* An explanatory message for the error that just occurred.
*
* This message is designed to be helpful to you, the developer. Because
* it generally does not convey meaningful information to end users,
* this message should not be displayed in your application.
*/
message: string;
/**
* A string value containing the execution backtrace when the error originally
* occurred.
*
* This information can be useful for troubleshooting the cause of the error with
* {@link https://firebase.google.com/support | Firebase Support}.
*/
stack?: string;
/**
* The HTTP response associated with this error, if any.
*/
httpResponse?: HttpResponse;
/**
* The original wrapped error that triggered this error, if any.
*/
cause?: Error;
/**
* Checks if this error matches the specified error code.
*
* This method enables checking the error type without needing to account for
* service-specific code prefixes. For example, if this error has the code
* `"auth/invalid-uid"`, calling `err.hasCode('invalid-uid')` or
* `err.hasCode('auth/invalid-uid')` will both return `true`.
*
* @param code - The error code to test against (either non-prefixed or fully qualified).
* @returns True if the error code matches, false otherwise.
*/
hasCode(code: string): boolean;
/**
* Returns a JSON-serializable object representation of this error.
*
* @returns A JSON-serializable representation of this object.
*/
toJSON(): object;
}
/**
* Firebase error code structure. This extends Error.
*/
export declare class FirebaseError extends Error implements FirebaseError {
/**
* @param errorInfo - The error information (code and message).
*/
constructor(errorInfo: ErrorInfo);
}