one
Version:
One is a React framework for web, iOS, and Android apps.
43 lines (41 loc) • 1.43 kB
JavaScript
function resolveDocumentPickerOptions() {
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var { type = "*/*", multiple = false } = options;
var list = Array.isArray(type) ? type : [type];
if (list.length === 0) {
throw new Error("DocumentPicker type must list at least one mime type");
}
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
try {
for (var _iterator = list[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var mimeType = _step.value;
if (typeof mimeType !== "string" || !/^[^\s/]+\/[^\s/]+$/.test(mimeType)) {
throw new Error(`DocumentPicker type must be a mime type like 'application/pdf' or 'image/*', got '${String(mimeType)}'`);
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
if (typeof multiple !== "boolean") {
throw new Error(`DocumentPicker multiple must be a boolean, got '${String(multiple)}'`);
}
return {
types: [...new Set(list.map(function(mimeType2) {
return mimeType2.toLowerCase();
}))],
multiple
};
}
export { resolveDocumentPickerOptions };
//# sourceMappingURL=options.native.js.map