Skip to content

Commit

Permalink
feat: add typescript types (#13)
Browse files Browse the repository at this point in the history
  • Loading branch information
jayu authored and Trancever committed Mar 11, 2019
1 parent 4bf35bb commit 94b1e73
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "1.0.0",
"description": "React Native Image Editing native modules for iOS & Android",
"main": "lib/ImageEditor.js",
"typings": "typings/index.d.ts",
"author": "Dawid Urbaniak <[email protected]>",
"contributors": [],
"homepage": "https://github.com/react-native-community/react-native-image-editor#readme",
Expand Down
59 changes: 59 additions & 0 deletions typings/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
type $Maybe<T> = T | null | undefined;

export type ImageCropData = {
/**
* The top-left corner of the cropped image, specified in the original
* image's coordinate space.
*/
offset: {
x: number,
y: number,
},
/**
* The size (dimensions) of the cropped image, specified in the original
* image's coordinate space.
*/
size: {
width: number,
height: number,
},
/**
* (Optional) size to scale the cropped image to.
*/
displaySize?: $Maybe<{
width: number,
height: number,
}>,
/**
* (Optional) the resizing mode to use when scaling the image. If the
* `displaySize` param is not specified, this has no effect.
*/
resizeMode?: $Maybe<{
contain: string,
cover: string,
stretch: string,
}>,
};

declare class ImageEditor {
/**
* Crop the image specified by the URI param. If URI points to a remote
* image, it will be downloaded automatically. If the image cannot be
* loaded/downloaded, the failure callback will be called. On Android, a
* downloaded image may be cached in external storage, a publicly accessible
* location, if it has more available space than internal storage.
*
* If the cropping process is successful, the resultant cropped image
* will be stored in the ImageStore, and the URI returned in the success
* callback will point to the image in the store. Remember to delete the
* cropped image from the ImageStore when you are done with it.
*/
static cropImage: (
uri: string,
cropData: ImageCropData,
success: (uri: string) => void,
failure: (error: Object) => void,
) => void
}

export default ImageEditor

0 comments on commit 94b1e73

Please sign in to comment.