Media client - Upgrade guide
14.x - 15.x
API Changes
MediaSubscribable
Media Client API has been updated to use MediaSubscribable which provides subscription functionality (similar to RxJs observables). It exposes subscribe method that is called with MediaObserver as an argument and returns MediaSubscription. MediaSubscription exposes unsubscribe method.
getFileState
The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
Usage:
import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
const mediaClient = new MediaClient({ authProvider });
const fileStateSubscribable: MediaSubscribable<FileState> = mediaClient.file.getFileState(id);
const mediaObserver: MediaObserver<FileState> = {
next: (fileState) => {
nextCallback(fileState)
},
error: (error) => {
errorCallback(error)
},
};
const subscription: MediaSubscription = fileStateSubscribable.subscribe(mediaObserver);
subscription.unsubscribe();
upload
The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
Usage:
import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
const mediaClient = new MediaClient({ authProvider });
const uploadFileSubscribable: MediaSubscribable<FileState> = mediaClient.file.upload(uploadableFile);
const mediaObserver: MediaObserver<FileState> = {
next: (fileState) => {
nextCallback(fileState)
},
error: (error) => {
errorCallback(error)
},
};
const subscription: MediaSubscription = uploadFileSubscribable.subscribe(mediaObserver);
subscription.unsubscribe();
getItems
The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
Usage:
import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
const mediaClient = new MediaClient({ authProvider });
const collectionItemsSubscribable: MediaSubscribable<MediaCollectionItem[]> = mediaClient.collection.getItems(collectionName);
const mediaObserver: MediaObserver<MediaCollectionItem[]> = {
next: (items) => {
nextCallback(items)
},
error: (error) => {
errorCallback(error)
},
};
const subscription: MediaSubscription = collectionItemsSubscribable.subscribe(mediaObserver);
subscription.unsubscribe();