export function createStorageRef()

in src/compat/storage/ref.ts [23:51]


export function createStorageRef(
  ref: Reference
): AngularFireStorageReference {
  return {
    getDownloadURL: () => of(undefined).pipe(
      observeOutsideAngular,
      switchMap(() => ref.getDownloadURL()),
      keepUnstableUntilFirst
    ),
    getMetadata: () => of(undefined).pipe(
      observeOutsideAngular,
      switchMap(() => ref.getMetadata()),
      keepUnstableUntilFirst
    ),
    delete: () => from(ref.delete()),
    child: (path: string) => createStorageRef(ref.child(path)),
    updateMetadata: (meta: SettableMetadata) => from(ref.updateMetadata(meta)),
    put: (data: any, metadata?: UploadMetadata) => {
      const task = ref.put(data, metadata);
      return createUploadTask(task);
    },
    putString: (data: string, format?: StringFormat, metadata?: UploadMetadata) => {
      const task = ref.putString(data, format, metadata);
      return createUploadTask(task);
    },
    list: (options?: ListOptions) => from(ref.list(options)),
    listAll: () => from(ref.listAll())
  };
}