UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

86 lines (85 loc) • 3.16 kB
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 validate_exports = {}; __export(validate_exports, { assertAuthOptions: () => assertAuthOptions, assertBrowserUrl: () => assertBrowserUrl, assertOpenOptions: () => assertOpenOptions, assertRedirectUrl: () => assertRedirectUrl }); module.exports = __toCommonJS(validate_exports); const knownPresentationStyles = [ "automatic", "currentContext", "formSheet", "fullScreen", "overCurrentContext", "overFullScreen", "pageSheet" ]; function assertBrowserUrl(url, verb) { if (typeof url !== "string" || url.length === 0) { throw new Error(`${verb}: url must be a non-empty string`); } } function assertRedirectUrl(redirectUrl, verb) { if (redirectUrl !== void 0 && redirectUrl !== null && typeof redirectUrl !== "string") { throw new Error(`${verb}: redirectUrl must be a string or null`); } } function assertOptionalString(options, key, verb) { if (options[key] !== void 0 && typeof options[key] !== "string") { throw new Error(`${verb}: ${key} must be a string`); } } function assertOptionalBoolean(options, key, verb) { if (options[key] !== void 0 && typeof options[key] !== "boolean") { throw new Error(`${verb}: ${key} must be a boolean`); } } const knownColorSchemes = [ "system", "light", "dark" ]; function assertOpenOptions(options, verb) { if (options === void 0) return; if (!options || typeof options !== "object") { throw new Error(`${verb}: options must be an object`); } const fields = options; if (fields.presentationStyle !== void 0 && (typeof fields.presentationStyle !== "string" || !knownPresentationStyles.includes(fields.presentationStyle))) { throw new Error(`${verb}: unknown presentationStyle ${JSON.stringify(fields.presentationStyle)}`); } if (fields.colorScheme !== void 0 && (typeof fields.colorScheme !== "string" || !knownColorSchemes.includes(fields.colorScheme))) { throw new Error(`${verb}: unknown colorScheme ${JSON.stringify(fields.colorScheme)}`); } assertOptionalString(fields, "browserPackage", verb); assertOptionalString(fields, "toolbarColor", verb); assertOptionalString(fields, "secondaryToolbarColor", verb); assertOptionalString(fields, "controlsColor", verb); assertOptionalBoolean(fields, "showTitle", verb); } function assertAuthOptions(options, verb) { assertOpenOptions(options, verb); if (options === void 0) return; assertOptionalBoolean(options, "preferEphemeralSession", verb); }