Skip to content

Commit d59b293

Browse files
Ron RadtkeRon Radtke
authored andcommitted
a few fixes to the interface
1 parent e5ce535 commit d59b293

File tree

4 files changed

+22
-10
lines changed

4 files changed

+22
-10
lines changed

android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtil.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -428,12 +428,15 @@ public void getSDCardApplicationDir(Promise promise) {
428428
}
429429

430430
@ReactMethod
431-
public void createMediaFile(ReadableMap filedata, ReactNativeBlobUtilMediaCollection.MediaType mt, Promise promise) {
432-
if (!(filedata.hasKey("name") || filedata.hasKey("partentFolder") || filedata.hasKey("mimeType"))) promise.reject("ReactNativeBlobUtil.createMediaFile", "invalid filedata");
431+
public void createMediaFile(ReadableMap filedata, String mt, Promise promise) {
432+
if (!(filedata.hasKey("name") && filedata.hasKey("parentFolder") && filedata.hasKey("mimeType"))) {
433+
promise.reject("ReactNativeBlobUtil.createMediaFile", "invalid filedata: " + filedata.toString());
434+
return;
435+
}
433436

434-
FileDescription file = new FileDescription(filedata.getString("name"), filedata.getString("partentFolder"), filedata.getString("mimeType"));
435-
Uri res = ReactNativeBlobUtilMediaCollection.createNewMediaFile(file, mt);
436-
if (res != null) promise.resolve(res);
437+
FileDescription file = new FileDescription(filedata.getString("name"), filedata.getString("parentFolder"), filedata.getString("mimeType"));
438+
Uri res = ReactNativeBlobUtilMediaCollection.createNewMediaFile(file, ReactNativeBlobUtilMediaCollection.MediaType.valueOf(mt));
439+
if (res != null) promise.resolve(res.toString());
437440
else promise.reject("ReactNativeBlobUtil.createMediaFile", "File could not be created");
438441
}
439442

index.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ interface ReactNativeBlobUtilStatic {
2020
session(name: string): ReactNativeBlobUtilSession;
2121

2222
fs: FS;
23+
MediaCollection: MediaCollection;
2324

2425
wrap(path: string): string;
2526

@@ -766,11 +767,12 @@ export declare class ReactNativeBlobUtilStat {
766767
}
767768

768769
export type Mediatype = "Audio" | "Image" | "Video" | "Download";
770+
769771
export interface MediaCollection {
770772
/**
771773
* Creates a new File in the collection.
772774
* @param filedata
773775
* @param mediatype
774776
*/
775-
createMediafile(filedata: { path: string, parentFolder: string, mimeType: string }, mediatype: Mediatype): Promise<string>;
777+
createMediafile(filedata: { name: string, parentFolder: string, mimeType: string }, mediatype: Mediatype): Promise<string>;
776778
}

index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {AppState, DeviceEventEmitter, NativeModules, Platform,} from 'react-nati
66

77
//import StatefulPromise from './class/StatefulPromise.js'
88
import fs from './fs';
9+
import MediaCollection from './mediacollection';
910
import base64 from 'base-64';
1011
import polyfill from './polyfill';
1112
import android from './android';
@@ -69,4 +70,5 @@ export default {
6970
wrap,
7071
polyfill,
7172
JSONStream,
73+
MediaCollection
7274
};

mediacollection.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
import {NativeModules} from 'react-native'
1+
import {NativeModules} from 'react-native';
2+
import type {ReactNativeBlobUtilNative} from "types";
23

3-
const ReactNativeBlobUtil: ReactNativeBlobUtilNative = NativeModules.ReactNativeBlobUtil
4+
const ReactNativeBlobUtil: ReactNativeBlobUtilNative = NativeModules.ReactNativeBlobUtil;
45

56
function createMediafile(filedata: Object<{ path: string, parentFolder: string, mimeType: string }>, mediatype: string): Promise {
67
if ((!'parentFolder' in filedata)) filedata['parentFolder'] = '';
7-
return ReactNativeBlobUtil.createMediaFile(filedata, mediatype)
8-
}
8+
return ReactNativeBlobUtil.createMediaFile(filedata, mediatype);
9+
}
10+
11+
export default {
12+
createMediafile
13+
};

0 commit comments

Comments
 (0)