123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- /**
- * @license
- * Copyright 2019 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.
- */
- /// <reference types="node" />
- import { Location } from './implementation/location';
- import { ListOptions, UploadResult } from './public-types';
- import { StringFormat } from './implementation/string';
- import { Metadata } from './metadata';
- import { FirebaseStorageImpl } from './service';
- import { ListResult } from './list';
- import { UploadTask } from './task';
- /**
- * Provides methods to interact with a bucket in the Firebase Storage service.
- * @internal
- * @param _location - An fbs.location, or the URL at
- * which to base this object, in one of the following forms:
- * gs://<bucket>/<object-path>
- * http[s]://firebasestorage.googleapis.com/
- * <api-version>/b/<bucket>/o/<object-path>
- * Any query or fragment strings will be ignored in the http[s]
- * format. If no value is passed, the storage object will use a URL based on
- * the project ID of the base firebase.App instance.
- */
- export declare class Reference {
- private _service;
- _location: Location;
- constructor(_service: FirebaseStorageImpl, location: string | Location);
- /**
- * Returns the URL for the bucket and path this object references,
- * in the form gs://<bucket>/<object-path>
- * @override
- */
- toString(): string;
- protected _newRef(service: FirebaseStorageImpl, location: Location): Reference;
- /**
- * A reference to the root of this object's bucket.
- */
- get root(): Reference;
- /**
- * The name of the bucket containing this reference's object.
- */
- get bucket(): string;
- /**
- * The full path of this object.
- */
- get fullPath(): string;
- /**
- * The short name of this object, which is the last component of the full path.
- * For example, if fullPath is 'full/path/image.png', name is 'image.png'.
- */
- get name(): string;
- /**
- * The `StorageService` instance this `StorageReference` is associated with.
- */
- get storage(): FirebaseStorageImpl;
- /**
- * A `StorageReference` pointing to the parent location of this `StorageReference`, or null if
- * this reference is the root.
- */
- get parent(): Reference | null;
- /**
- * Utility function to throw an error in methods that do not accept a root reference.
- */
- _throwIfRoot(name: string): void;
- }
- /**
- * Download the bytes at the object's location.
- * @returns A Promise containing the downloaded bytes.
- */
- export declare function getBytesInternal(ref: Reference, maxDownloadSizeBytes?: number): Promise<ArrayBuffer>;
- /**
- * Download the bytes at the object's location.
- * @returns A Promise containing the downloaded blob.
- */
- export declare function getBlobInternal(ref: Reference, maxDownloadSizeBytes?: number): Promise<Blob>;
- /** Stream the bytes at the object's location. */
- export declare function getStreamInternal(ref: Reference, maxDownloadSizeBytes?: number): NodeJS.ReadableStream;
- /**
- * Uploads data to this object's location.
- * The upload is not resumable.
- *
- * @param ref - StorageReference where data should be uploaded.
- * @param data - The data to upload.
- * @param metadata - Metadata for the newly uploaded data.
- * @returns A Promise containing an UploadResult
- */
- export declare function uploadBytes(ref: Reference, data: Blob | Uint8Array | ArrayBuffer, metadata?: Metadata): Promise<UploadResult>;
- /**
- * Uploads data to this object's location.
- * The upload can be paused and resumed, and exposes progress updates.
- * @public
- * @param ref - StorageReference where data should be uploaded.
- * @param data - The data to upload.
- * @param metadata - Metadata for the newly uploaded data.
- * @returns An UploadTask
- */
- export declare function uploadBytesResumable(ref: Reference, data: Blob | Uint8Array | ArrayBuffer, metadata?: Metadata): UploadTask;
- /**
- * Uploads a string to this object's location.
- * The upload is not resumable.
- * @public
- * @param ref - StorageReference where string should be uploaded.
- * @param value - The string to upload.
- * @param format - The format of the string to upload.
- * @param metadata - Metadata for the newly uploaded string.
- * @returns A Promise containing an UploadResult
- */
- export declare function uploadString(ref: Reference, value: string, format?: StringFormat, metadata?: Metadata): Promise<UploadResult>;
- /**
- * List all items (files) and prefixes (folders) under this storage reference.
- *
- * This is a helper method for calling list() repeatedly until there are
- * no more results. The default pagination size is 1000.
- *
- * Note: The results may not be consistent if objects are changed while this
- * operation is running.
- *
- * Warning: listAll may potentially consume too many resources if there are
- * too many results.
- * @public
- * @param ref - StorageReference to get list from.
- *
- * @returns A Promise that resolves with all the items and prefixes under
- * the current storage reference. `prefixes` contains references to
- * sub-directories and `items` contains references to objects in this
- * folder. `nextPageToken` is never returned.
- */
- export declare function listAll(ref: Reference): Promise<ListResult>;
- /**
- * List items (files) and prefixes (folders) under this storage reference.
- *
- * List API is only available for Firebase Rules Version 2.
- *
- * GCS is a key-blob store. Firebase Storage imposes the semantic of '/'
- * delimited folder structure.
- * Refer to GCS's List API if you want to learn more.
- *
- * To adhere to Firebase Rules's Semantics, Firebase Storage does not
- * support objects whose paths end with "/" or contain two consecutive
- * "/"s. Firebase Storage List API will filter these unsupported objects.
- * list() may fail if there are too many unsupported objects in the bucket.
- * @public
- *
- * @param ref - StorageReference to get list from.
- * @param options - See ListOptions for details.
- * @returns A Promise that resolves with the items and prefixes.
- * `prefixes` contains references to sub-folders and `items`
- * contains references to objects in this folder. `nextPageToken`
- * can be used to get the rest of the results.
- */
- export declare function list(ref: Reference, options?: ListOptions | null): Promise<ListResult>;
- /**
- * A `Promise` that resolves with the metadata for this object. If this
- * object doesn't exist or metadata cannot be retreived, the promise is
- * rejected.
- * @public
- * @param ref - StorageReference to get metadata from.
- */
- export declare function getMetadata(ref: Reference): Promise<Metadata>;
- /**
- * Updates the metadata for this object.
- * @public
- * @param ref - StorageReference to update metadata for.
- * @param metadata - The new metadata for the object.
- * Only values that have been explicitly set will be changed. Explicitly
- * setting a value to null will remove the metadata.
- * @returns A `Promise` that resolves
- * with the new metadata for this object.
- * See `firebaseStorage.Reference.prototype.getMetadata`
- */
- export declare function updateMetadata(ref: Reference, metadata: Partial<Metadata>): Promise<Metadata>;
- /**
- * Returns the download URL for the given Reference.
- * @public
- * @returns A `Promise` that resolves with the download
- * URL for this object.
- */
- export declare function getDownloadURL(ref: Reference): Promise<string>;
- /**
- * Deletes the object at this location.
- * @public
- * @param ref - StorageReference for object to delete.
- * @returns A `Promise` that resolves if the deletion succeeds.
- */
- export declare function deleteObject(ref: Reference): Promise<void>;
- /**
- * Returns reference for object obtained by appending `childPath` to `ref`.
- *
- * @param ref - StorageReference to get child of.
- * @param childPath - Child path from provided ref.
- * @returns A reference to the object obtained by
- * appending childPath, removing any duplicate, beginning, or trailing
- * slashes.
- *
- */
- export declare function _getChild(ref: Reference, childPath: string): Reference;
|