one
Version:
One is a React framework for web, iOS, and Android apps.
119 lines (117 loc) • 5.14 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var options_exports = {};
__export(options_exports, {
resolveCameraOptions: () => resolveCameraOptions,
resolveImagePickerOptions: () => resolveImagePickerOptions
});
module.exports = __toCommonJS(options_exports);
function resolveMediaTypes(mediaTypes, verb) {
var list = Array.isArray(mediaTypes) ? mediaTypes : [mediaTypes !== null && mediaTypes !== void 0 ? mediaTypes : "images"];
if (list.length === 0) {
throw new Error(`ImagePicker.${verb}: mediaTypes must list at least one media 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 mediaType = _step.value;
if (mediaType !== "images" && mediaType !== "videos") {
throw new Error(`ImagePicker.${verb}: mediaTypes must be 'images' or 'videos', got '${String(mediaType)}'`);
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return [...new Set(list)];
}
function resolveSelectionLimit(selectionLimit, verb) {
var limit = selectionLimit !== null && selectionLimit !== void 0 ? selectionLimit : 1;
if (!Number.isInteger(limit) || limit < 0) {
throw new Error(`ImagePicker.${verb}: selectionLimit must be a nonnegative integer, got '${String(selectionLimit)}'`);
}
return limit;
}
function resolveImagePickerOptions() {
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, verb = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "launchLibrary";
var _options_allowsEditing, _options_quality, _options_videoMaxDuration, _options_videoQuality;
var mediaTypes = resolveMediaTypes(options.mediaTypes, verb);
var selectionLimit = resolveSelectionLimit(options.selectionLimit, verb);
var allowsEditing = (_options_allowsEditing = options.allowsEditing) !== null && _options_allowsEditing !== void 0 ? _options_allowsEditing : false;
if (typeof allowsEditing !== "boolean") {
throw new Error(`ImagePicker.${verb}: allowsEditing must be a boolean`);
}
if (allowsEditing) {
if (selectionLimit !== 1) {
throw new Error(`ImagePicker.${verb}: allowsEditing needs a single pick: set selectionLimit to 1`);
}
if (mediaTypes.length !== 1 || mediaTypes[0] !== "images") {
throw new Error(`ImagePicker.${verb}: allowsEditing only supports images: set mediaTypes to 'images'`);
}
}
var aspect;
if (options.aspect !== void 0) {
var [x, y] = options.aspect;
if (!Array.isArray(options.aspect) || options.aspect.length !== 2 || typeof x !== "number" || typeof y !== "number" || !Number.isFinite(x) || !Number.isFinite(y) || x <= 0 || y <= 0) {
throw new Error(`ImagePicker.${verb}: aspect must be [x, y] of positive numbers`);
}
aspect = {
x,
y
};
}
var quality = (_options_quality = options.quality) !== null && _options_quality !== void 0 ? _options_quality : 1;
if (typeof quality !== "number" || Number.isNaN(quality) || quality < 0 || quality > 1) {
throw new Error(`ImagePicker.${verb}: quality must be a number from 0 to 1`);
}
var videoMaxDuration = (_options_videoMaxDuration = options.videoMaxDuration) !== null && _options_videoMaxDuration !== void 0 ? _options_videoMaxDuration : 0;
if (typeof videoMaxDuration !== "number" || Number.isNaN(videoMaxDuration) || videoMaxDuration < 0) {
throw new Error(`ImagePicker.${verb}: videoMaxDuration must be a nonnegative number`);
}
var videoQuality = (_options_videoQuality = options.videoQuality) !== null && _options_videoQuality !== void 0 ? _options_videoQuality : "high";
if (videoQuality !== "high" && videoQuality !== "medium" && videoQuality !== "low") {
throw new Error(`ImagePicker.${verb}: videoQuality must be 'high', 'medium' or 'low', got '${String(options.videoQuality)}'`);
}
return {
mediaTypes,
selectionLimit,
allowsEditing,
aspect,
quality,
videoMaxDuration,
videoQuality
};
}
function resolveCameraOptions() {
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
return resolveImagePickerOptions(options, "launchCamera");
}