From 9b074743e6ade4d68e2dc9f41aa9e684a3609e2a Mon Sep 17 00:00:00 2001 From: Eric Lewis Date: Thu, 16 May 2019 12:11:20 -0400 Subject: [PATCH 1/2] [TM] add spec for FileReaderModule --- Libraries/Blob/FileReader.js | 6 +++--- Libraries/Blob/NativeFileReaderModule.js | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 Libraries/Blob/NativeFileReaderModule.js diff --git a/Libraries/Blob/FileReader.js b/Libraries/Blob/FileReader.js index 7d8116fce9c3..d48dfbd5bf50 100644 --- a/Libraries/Blob/FileReader.js +++ b/Libraries/Blob/FileReader.js @@ -12,7 +12,7 @@ const EventTarget = require('event-target-shim'); const Blob = require('./Blob'); -const {FileReaderModule} = require('../BatchedBridge/NativeModules'); +import NativeFileReaderModule from '../BatchedBridge/NativeModules'; type ReadyState = | 0 // EMPTY @@ -87,7 +87,7 @@ class FileReader extends EventTarget(...READER_EVENTS) { readAsDataURL(blob: Blob) { this._aborted = false; - FileReaderModule.readAsDataURL(blob.data).then( + NativeFileReaderModule.readAsDataURL(blob.data).then( (text: string) => { if (this._aborted) { return; @@ -108,7 +108,7 @@ class FileReader extends EventTarget(...READER_EVENTS) { readAsText(blob: Blob, encoding: string = 'UTF-8') { this._aborted = false; - FileReaderModule.readAsText(blob.data, encoding).then( + NativeFileReaderModule.readAsText(blob.data, encoding).then( (text: string) => { if (this._aborted) { return; diff --git a/Libraries/Blob/NativeFileReaderModule.js b/Libraries/Blob/NativeFileReaderModule.js new file mode 100644 index 000000000000..b784d8c6f825 --- /dev/null +++ b/Libraries/Blob/NativeFileReaderModule.js @@ -0,0 +1,21 @@ +/** + * 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 { + +readAsDataURL: (data: Object) => Promise; + +readAsText: (data: Object, encoding: string) => Promise; +} + +export default TurboModuleRegistry.getEnforcing('FileReaderModule'); From 66b1b5c0fba3d8f98e99dc629438bc247ebd6373 Mon Sep 17 00:00:00 2001 From: Eric Lewis Date: Thu, 16 May 2019 12:12:29 -0400 Subject: [PATCH 2/2] Fix import --- Libraries/Blob/FileReader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/Blob/FileReader.js b/Libraries/Blob/FileReader.js index d48dfbd5bf50..b9113966f1a9 100644 --- a/Libraries/Blob/FileReader.js +++ b/Libraries/Blob/FileReader.js @@ -12,7 +12,7 @@ const EventTarget = require('event-target-shim'); const Blob = require('./Blob'); -import NativeFileReaderModule from '../BatchedBridge/NativeModules'; +import NativeFileReaderModule from './NativeFileReaderModule'; type ReadyState = | 0 // EMPTY