@sendbird/uikit-react-native
Version:
Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
66 lines (65 loc) • 2.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.openDocument = openDocument;
var _uikitUtils = require("@sendbird/uikit-utils");
var _SBUError = _interopRequireDefault(require("../libs/SBUError"));
var _normalizeFile = _interopRequireDefault(require("../utils/normalizeFile"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
async function openDocumentByOldDocumentPicker(documentPickerModule, options) {
_uikitUtils.Logger.warn('please update to @react-native-documents/picker');
try {
const {
uri,
size,
name,
type
} = await documentPickerModule.pickSingle();
return (0, _normalizeFile.default)({
uri,
size,
name,
type
});
} catch (e) {
if (!documentPickerModule.isCancel(e) && documentPickerModule.isInProgress(e)) {
var _options$onOpenFailur;
options === null || options === void 0 || (_options$onOpenFailur = options.onOpenFailure) === null || _options$onOpenFailur === void 0 || _options$onOpenFailur.call(options, _SBUError.default.UNKNOWN, e);
}
return null;
}
}
async function openDocumentByNewDocumentsPicker(documentPickerModule, options) {
try {
const results = await documentPickerModule.pick();
const {
uri,
size,
name,
type
} = results[0];
return (0, _normalizeFile.default)({
uri,
size,
name,
type
});
} catch (e) {
if (!documentPickerModule.isErrorWithCode(documentPickerModule.errorCodes.OPERATION_CANCELED) && documentPickerModule.isErrorWithCode(documentPickerModule.errorCodes.IN_PROGRESS)) {
var _options$onOpenFailur2;
options === null || options === void 0 || (_options$onOpenFailur2 = options.onOpenFailure) === null || _options$onOpenFailur2 === void 0 || _options$onOpenFailur2.call(options, _SBUError.default.UNKNOWN, e);
}
return null;
}
}
function isOldModule(documentPicker) {
return 'pickSingle' in documentPicker && typeof documentPicker.pickSingle === 'function';
}
async function openDocument(documentPickerModule, options) {
if (isOldModule(documentPickerModule)) {
return await openDocumentByOldDocumentPicker(documentPickerModule, options);
}
return await openDocumentByNewDocumentsPicker(documentPickerModule, options);
}
//# sourceMappingURL=openDocument.native.js.map
;