UNPKG

one

Version:

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

61 lines (59 loc) • 2.22 kB
var 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`); } } var 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`); } var 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); } export { assertAuthOptions, assertBrowserUrl, assertOpenOptions, assertRedirectUrl }; //# sourceMappingURL=validate.native.js.map