92 lines
1.9 KiB
TypeScript
92 lines
1.9 KiB
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
export type GroupType =
|
|
'Album' |
|
|
'All' |
|
|
'Event' |
|
|
'Faces' |
|
|
'Library' |
|
|
'PhotoStream' |
|
|
'SavedPhotos';
|
|
|
|
|
|
export type AssetType =
|
|
'All' |
|
|
'Videos' |
|
|
'Photos';
|
|
|
|
export interface GetPhotosParams {
|
|
first: number,
|
|
after?: string,
|
|
groupTypes?: GroupType,
|
|
groupName?: string,
|
|
assetType?: AssetType,
|
|
mimeTypes?: Array<string>,
|
|
}
|
|
|
|
export interface PhotoIdentifier {
|
|
node: {
|
|
type: string,
|
|
group_name: string,
|
|
image: {
|
|
filename: string,
|
|
uri: string,
|
|
height: number,
|
|
width: number,
|
|
isStored?: boolean,
|
|
playableDuration: number,
|
|
},
|
|
timestamp: number,
|
|
location?: {
|
|
latitude?: number,
|
|
longitude?: number,
|
|
altitude?: number,
|
|
heading?: number,
|
|
speed?: number,
|
|
},
|
|
},
|
|
}
|
|
|
|
export interface PhotoIdentifiersPage {
|
|
edges: Array<PhotoIdentifier>,
|
|
page_info: {
|
|
has_next_page: boolean,
|
|
start_cursor?: string,
|
|
end_cursor?: string,
|
|
},
|
|
}
|
|
|
|
export interface CameraRollStatic {
|
|
/**
|
|
* `CameraRoll.saveImageWithTag()` is deprecated. Use `CameraRoll.saveToCameraRoll()` instead.
|
|
*/
|
|
saveImageWithTag: (tag: string) => Promise<string>;
|
|
|
|
/**
|
|
* Delete a photo from the camera roll or media library. photos is an array of photo uri's.
|
|
*/
|
|
deletePhotos: (photos: Array<string>) => void;
|
|
|
|
/**
|
|
* Saves the photo or video to the camera roll or photo library.
|
|
*/
|
|
saveToCameraRoll: (tag: string, type?: 'photo' | 'video') => Promise<string>;
|
|
|
|
/**
|
|
* Returns a Promise with photo identifier objects from the local camera
|
|
* roll of the device matching shape defined by `getPhotosReturnChecker`.
|
|
*/
|
|
getPhotos: (params: GetPhotosParams) => Promise<PhotoIdentifiersPage>;
|
|
}
|
|
|
|
let CameraRoll: CameraRollStatic;
|
|
|
|
export default CameraRoll;
|