{"version":3,"file":"validate.js","names":[],"sources":["esm/platform/browser/validate.js"],"sourcesContent":["const knownPresentationStyles = [\n  \"automatic\",\n  \"currentContext\",\n  \"formSheet\",\n  \"fullScreen\",\n  \"overCurrentContext\",\n  \"overFullScreen\",\n  \"pageSheet\"\n];\nfunction assertBrowserUrl(url, verb) {\n  if (typeof url !== \"string\" || url.length === 0) {\n    throw new Error(`${verb}: url must be a non-empty string`);\n  }\n}\nfunction assertRedirectUrl(redirectUrl, verb) {\n  if (redirectUrl !== void 0 && redirectUrl !== null && typeof redirectUrl !== \"string\") {\n    throw new Error(`${verb}: redirectUrl must be a string or null`);\n  }\n}\nfunction assertOptionalString(options, key, verb) {\n  if (options[key] !== void 0 && typeof options[key] !== \"string\") {\n    throw new Error(`${verb}: ${key} must be a string`);\n  }\n}\nfunction assertOptionalBoolean(options, key, verb) {\n  if (options[key] !== void 0 && typeof options[key] !== \"boolean\") {\n    throw new Error(`${verb}: ${key} must be a boolean`);\n  }\n}\nconst knownColorSchemes = [\"system\", \"light\", \"dark\"];\nfunction assertOpenOptions(options, verb) {\n  if (options === void 0) return;\n  if (!options || typeof options !== \"object\") {\n    throw new Error(`${verb}: options must be an object`);\n  }\n  const fields = options;\n  if (fields.presentationStyle !== void 0 && (typeof fields.presentationStyle !== \"string\" || !knownPresentationStyles.includes(fields.presentationStyle))) {\n    throw new Error(\n      `${verb}: unknown presentationStyle ${JSON.stringify(fields.presentationStyle)}`\n    );\n  }\n  if (fields.colorScheme !== void 0 && (typeof fields.colorScheme !== \"string\" || !knownColorSchemes.includes(fields.colorScheme))) {\n    throw new Error(\n      `${verb}: unknown colorScheme ${JSON.stringify(fields.colorScheme)}`\n    );\n  }\n  assertOptionalString(fields, \"browserPackage\", verb);\n  assertOptionalString(fields, \"toolbarColor\", verb);\n  assertOptionalString(fields, \"secondaryToolbarColor\", verb);\n  assertOptionalString(fields, \"controlsColor\", verb);\n  assertOptionalBoolean(fields, \"showTitle\", verb);\n}\nfunction assertAuthOptions(options, verb) {\n  assertOpenOptions(options, verb);\n  if (options === void 0) return;\n  assertOptionalBoolean(options, \"preferEphemeralSession\", verb);\n}\nexport {\n  assertAuthOptions,\n  assertBrowserUrl,\n  assertOpenOptions,\n  assertRedirectUrl\n};\n//# sourceMappingURL=validate.js.map\n"],"mappings":";AAAA,MAAM,0BAA0B;CAC9B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,iBAAiB,KAAK,MAAM;CACnC,IAAI,OAAO,QAAQ,YAAY,IAAI,WAAW,GAAG;EAC/C,MAAM,IAAI,MAAM,GAAG,KAAK,iCAAiC;CAC3D;AACF;AACA,SAAS,kBAAkB,aAAa,MAAM;CAC5C,IAAI,gBAAgB,KAAK,KAAK,gBAAgB,QAAQ,OAAO,gBAAgB,UAAU;EACrF,MAAM,IAAI,MAAM,GAAG,KAAK,uCAAuC;CACjE;AACF;AACA,SAAS,qBAAqB,SAAS,KAAK,MAAM;CAChD,IAAI,QAAQ,SAAS,KAAK,KAAK,OAAO,QAAQ,SAAS,UAAU;EAC/D,MAAM,IAAI,MAAM,GAAG,KAAK,IAAI,IAAI,kBAAkB;CACpD;AACF;AACA,SAAS,sBAAsB,SAAS,KAAK,MAAM;CACjD,IAAI,QAAQ,SAAS,KAAK,KAAK,OAAO,QAAQ,SAAS,WAAW;EAChE,MAAM,IAAI,MAAM,GAAG,KAAK,IAAI,IAAI,mBAAmB;CACrD;AACF;AACA,MAAM,oBAAoB;CAAC;CAAU;CAAS;AAAM;AACpD,SAAS,kBAAkB,SAAS,MAAM;CACxC,IAAI,YAAY,KAAK,GAAG;CACxB,IAAI,CAAC,WAAW,OAAO,YAAY,UAAU;EAC3C,MAAM,IAAI,MAAM,GAAG,KAAK,4BAA4B;CACtD;CACA,MAAM,SAAS;CACf,IAAI,OAAO,sBAAsB,KAAK,MAAM,OAAO,OAAO,sBAAsB,YAAY,CAAC,wBAAwB,SAAS,OAAO,iBAAiB,IAAI;EACxJ,MAAM,IAAI,MACR,GAAG,KAAK,8BAA8B,KAAK,UAAU,OAAO,iBAAiB,GAC/E;CACF;CACA,IAAI,OAAO,gBAAgB,KAAK,MAAM,OAAO,OAAO,gBAAgB,YAAY,CAAC,kBAAkB,SAAS,OAAO,WAAW,IAAI;EAChI,MAAM,IAAI,MACR,GAAG,KAAK,wBAAwB,KAAK,UAAU,OAAO,WAAW,GACnE;CACF;CACA,qBAAqB,QAAQ,kBAAkB,IAAI;CACnD,qBAAqB,QAAQ,gBAAgB,IAAI;CACjD,qBAAqB,QAAQ,yBAAyB,IAAI;CAC1D,qBAAqB,QAAQ,iBAAiB,IAAI;CAClD,sBAAsB,QAAQ,aAAa,IAAI;AACjD;AACA,SAAS,kBAAkB,SAAS,MAAM;CACxC,kBAAkB,SAAS,IAAI;CAC/B,IAAI,YAAY,KAAK,GAAG;CACxB,sBAAsB,SAAS,0BAA0B,IAAI;AAC/D"}