diff --git a/js/CameraRoll.js b/js/CameraRoll.js index 983d3e1ba..9f5c8ea12 100644 --- a/js/CameraRoll.js +++ b/js/CameraRoll.js @@ -9,10 +9,7 @@ */ 'use strict'; -const PropTypes = require('prop-types'); -const {checkPropTypes} = PropTypes; -const RNCCameraRoll = require('./nativeInterface'); -const deprecatedCreateStrictShapeTypeChecker = require('deprecatedCreateStrictShapeTypeChecker'); +import RNCCameraRoll from './nativeInterface'; const invariant = require('fbjs/lib/invariant'); const GROUP_TYPES_OPTIONS = { @@ -33,52 +30,43 @@ const ASSET_TYPE_OPTIONS = { export type GroupTypes = $Keys; -export type GetPhotosParams = { - first: number, - after?: string, - groupTypes?: GroupTypes, - groupName?: string, - assetType?: $Keys, - mimeTypes?: Array, -}; - /** * Shape of the param arg for the `getPhotos` function. */ -const getPhotosParamChecker = deprecatedCreateStrictShapeTypeChecker({ +export type GetPhotosParams = { /** * The number of photos wanted in reverse order of the photo application * (i.e. most recent first for SavedPhotos). */ - first: PropTypes.number.isRequired, + first: number, /** * A cursor that matches `page_info { end_cursor }` returned from a previous * call to `getPhotos` */ - after: PropTypes.string, + after?: string, /** * Specifies which group types to filter the results to. */ - groupTypes: PropTypes.oneOf(Object.keys(GROUP_TYPES_OPTIONS)), + groupTypes?: GroupTypes, /** * Specifies filter on group names, like 'Recent Photos' or custom album * titles. */ - groupName: PropTypes.string, + groupName?: string, /** * Specifies filter on asset type */ - assetType: PropTypes.oneOf(Object.keys(ASSET_TYPE_OPTIONS)), + assetType?: $Keys, /** * Filter by mimetype (e.g. image/jpeg). */ - mimeTypes: PropTypes.arrayOf(PropTypes.string), -}); + mimeTypes?: Array, +}; export type PhotoIdentifier = { node: { @@ -112,43 +100,6 @@ export type PhotoIdentifiersPage = { }, }; -/** - * Shape of the return value of the `getPhotos` function. - */ -const getPhotosReturnChecker = deprecatedCreateStrictShapeTypeChecker({ - edges: PropTypes.arrayOf( - /* $FlowFixMe(>=0.66.0 site=react_native_fb) This comment suppresses an - * error found when Flow v0.66 was deployed. To see the error delete this - * comment and run Flow. */ - deprecatedCreateStrictShapeTypeChecker({ - node: deprecatedCreateStrictShapeTypeChecker({ - type: PropTypes.string.isRequired, - group_name: PropTypes.string.isRequired, - image: deprecatedCreateStrictShapeTypeChecker({ - uri: PropTypes.string.isRequired, - height: PropTypes.number.isRequired, - width: PropTypes.number.isRequired, - isStored: PropTypes.bool, - playableDuration: PropTypes.number.isRequired, - }).isRequired, - timestamp: PropTypes.number.isRequired, - location: deprecatedCreateStrictShapeTypeChecker({ - latitude: PropTypes.number, - longitude: PropTypes.number, - altitude: PropTypes.number, - heading: PropTypes.number, - speed: PropTypes.number, - }), - }).isRequired, - }), - ).isRequired, - page_info: deprecatedCreateStrictShapeTypeChecker({ - has_next_page: PropTypes.bool.isRequired, - start_cursor: PropTypes.string, - end_cursor: PropTypes.string, - }).isRequired, -}); - /** * `CameraRoll` provides access to the local camera roll or photo library. * @@ -208,35 +159,14 @@ class CameraRoll { * See https://facebook.github.io/react-native/docs/cameraroll.html#getphotos */ static getPhotos(params: GetPhotosParams): Promise { - if (__DEV__) { - checkPropTypes( - {params: getPhotosParamChecker}, - {params}, - 'params', - 'CameraRoll.getPhotos', - ); - } if (arguments.length > 1) { console.warn( 'CameraRoll.getPhotos(tag, success, error) is deprecated. Use the returned Promise instead', ); let successCallback = arguments[1]; - if (__DEV__) { - const callback = arguments[1]; - successCallback = response => { - checkPropTypes( - {response: getPhotosReturnChecker}, - {response}, - 'response', - 'CameraRoll.getPhotos callback', - ); - callback(response); - }; - } const errorCallback = arguments[2] || (() => {}); RNCCameraRoll.getPhotos(params).then(successCallback, errorCallback); } - // TODO: Add the __DEV__ check back in to verify the Promise result return RNCCameraRoll.getPhotos(params); } } diff --git a/js/nativeInterface.js b/js/nativeInterface.js index 664f64ef6..b65d3beeb 100644 --- a/js/nativeInterface.js +++ b/js/nativeInterface.js @@ -1,2 +1 @@ -const RNCCameraRoll = require('NativeModules').RNCCameraRoll; -export default RNCCameraRoll; +export default require('NativeModules').RNCCameraRoll;