From d2ef1145382b63d95f1f3374384e55487adee130 Mon Sep 17 00:00:00 2001 From: Youssouf El Azizi Date: Mon, 27 May 2019 22:09:41 -0700 Subject: [PATCH] Add Spec for ImageEditor (#24921) Summary: This PR solves part of this issue: #24875 ## Changelog [General] [Added] - TM Spec for ImageEditor Pull Request resolved: https://github.com/facebook/react-native/pull/24921 Reviewed By: rickhanlonii Differential Revision: D15471058 Pulled By: fkgozali fbshipit-source-id: f01539fc8acea95fca27ce7bb4b4169ffe138d93 --- Libraries/Image/ImageEditor.js | 6 ++---- Libraries/Image/NativeImageEditor.js | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 Libraries/Image/NativeImageEditor.js diff --git a/Libraries/Image/ImageEditor.js b/Libraries/Image/ImageEditor.js index 75621c7bb3e..69a7a9121e0 100644 --- a/Libraries/Image/ImageEditor.js +++ b/Libraries/Image/ImageEditor.js @@ -8,9 +8,7 @@ * @format */ 'use strict'; - -const RCTImageEditingManager = require('../BatchedBridge/NativeModules') - .ImageEditingManager; +import NativeImageEditor from './NativeImageEditor'; type ImageCropData = { /** @@ -66,7 +64,7 @@ class ImageEditor { success: (uri: string) => void, failure: (error: Object) => void, ) { - RCTImageEditingManager.cropImage(uri, cropData, success, failure); + NativeImageEditor.cropImage(uri, cropData, success, failure); } } diff --git a/Libraries/Image/NativeImageEditor.js b/Libraries/Image/NativeImageEditor.js new file mode 100644 index 00000000000..4f4da0b5388 --- /dev/null +++ b/Libraries/Image/NativeImageEditor.js @@ -0,0 +1,25 @@ +/** + * 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. + * + * @flow + * @format + */ + +'use strict'; + +import type {TurboModule} from 'RCTExport'; +import * as TurboModuleRegistry from 'TurboModuleRegistry'; + +export interface Spec extends TurboModule { + +cropImage: ( + uri: string, + options: Object, // TODO: type this better + success: (uri: string) => void, + error: (error: string) => void, + ) => void; +} + +export default TurboModuleRegistry.getEnforcing('ImageEditingManager');