mattermost-mobile/app/mattermost_bucket/index.js
Elias Nahum 3feaa8e6bb
iOS Native Share Extension (Swift) (#2575)
* iOS Native Share Extension (Swift)

* Re-arrange files

* Fix .gitignore
2019-02-26 14:31:57 -03:00

58 lines
1.6 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {NativeModules, Platform} from 'react-native';
// TODO: Remove platform specific once android is implemented
const MattermostBucket = Platform.OS === 'ios' ? NativeModules.MattermostBucketModule : null;
export default {
setPreference: (key, value) => {
if (MattermostBucket) {
MattermostBucket.setPreference(key, value);
}
},
getPreference: async (key) => {
if (MattermostBucket) {
const value = await MattermostBucket.getPreference(key);
if (value) {
try {
return JSON.parse(value);
} catch (e) {
return value;
}
}
}
return null;
},
removePreference: (key) => {
if (MattermostBucket) {
MattermostBucket.removePreference(key);
}
},
writeToFile: (fileName, content) => {
if (MattermostBucket) {
MattermostBucket.writeToFile(fileName, content);
}
},
readFromFile: async (fileName) => {
if (MattermostBucket) {
const value = await MattermostBucket.readFromFile(fileName);
if (value) {
try {
return JSON.parse(value);
} catch (e) {
return value;
}
}
}
return null;
},
removeFile: (fileName) => {
if (MattermostBucket) {
MattermostBucket.removeFile(fileName);
}
},
};