@playt/client
Version:
A client for the PLAYT API
1 lines • 31.7 kB
Source Map (JSON)
{"version":3,"sources":["../node_modules/slugify/slugify.js","../src/browser.mts","../node_modules/openapi-typescript-fetch/dist/index.js","../src/utils.mts"],"sourcesContent":["\n;(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory()\n module.exports['default'] = factory()\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory)\n }\n else {\n root[name] = factory()\n }\n}('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"Ə\":\"E\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"Lj\":\"LJ\",\"lj\":\"lj\",\"Nj\":\"NJ\",\"nj\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"ə\":\"e\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"Ա\":\"A\",\"Բ\":\"B\",\"Գ\":\"G\",\"Դ\":\"D\",\"Ե\":\"E\",\"Զ\":\"Z\",\"Է\":\"E\\'\",\"Ը\":\"Y\\'\",\"Թ\":\"T\\'\",\"Ժ\":\"JH\",\"Ի\":\"I\",\"Լ\":\"L\",\"Խ\":\"X\",\"Ծ\":\"C\\'\",\"Կ\":\"K\",\"Հ\":\"H\",\"Ձ\":\"D\\'\",\"Ղ\":\"GH\",\"Ճ\":\"TW\",\"Մ\":\"M\",\"Յ\":\"Y\",\"Ն\":\"N\",\"Շ\":\"SH\",\"Չ\":\"CH\",\"Պ\":\"P\",\"Ջ\":\"J\",\"Ռ\":\"R\\'\",\"Ս\":\"S\",\"Վ\":\"V\",\"Տ\":\"T\",\"Ր\":\"R\",\"Ց\":\"C\",\"Փ\":\"P\\'\",\"Ք\":\"Q\\'\",\"Օ\":\"O\\'\\'\",\"Ֆ\":\"F\",\"և\":\"EV\",\"ء\":\"a\",\"آ\":\"aa\",\"أ\":\"a\",\"ؤ\":\"u\",\"إ\":\"i\",\"ئ\":\"e\",\"ا\":\"a\",\"ب\":\"b\",\"ة\":\"h\",\"ت\":\"t\",\"ث\":\"th\",\"ج\":\"j\",\"ح\":\"h\",\"خ\":\"kh\",\"د\":\"d\",\"ذ\":\"th\",\"ر\":\"r\",\"ز\":\"z\",\"س\":\"s\",\"ش\":\"sh\",\"ص\":\"s\",\"ض\":\"dh\",\"ط\":\"t\",\"ظ\":\"z\",\"ع\":\"a\",\"غ\":\"gh\",\"ف\":\"f\",\"ق\":\"q\",\"ك\":\"k\",\"ل\":\"l\",\"م\":\"m\",\"ن\":\"n\",\"ه\":\"h\",\"و\":\"w\",\"ى\":\"a\",\"ي\":\"y\",\"ً\":\"an\",\"ٌ\":\"on\",\"ٍ\":\"en\",\"َ\":\"a\",\"ُ\":\"u\",\"ِ\":\"e\",\"ْ\":\"\",\"٠\":\"0\",\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"پ\":\"p\",\"چ\":\"ch\",\"ژ\":\"zh\",\"ک\":\"k\",\"گ\":\"g\",\"ی\":\"y\",\"۰\":\"0\",\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ṣ\":\"S\",\"ṣ\":\"s\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"–\":\"-\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"„\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\",\"ﻵ\":\"laa\",\"ﻷ\":\"laa\",\"ﻹ\":\"lai\",\"ﻻ\":\"la\"}')\n var locales = JSON.parse('{\"bg\":{\"Й\":\"Y\",\"Ц\":\"Ts\",\"Щ\":\"Sht\",\"Ъ\":\"A\",\"Ь\":\"Y\",\"й\":\"y\",\"ц\":\"ts\",\"щ\":\"sht\",\"ъ\":\"a\",\"ь\":\"y\"},\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\",\"ß\":\"ss\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"∑\":\"summe\",\"∞\":\"unendlich\",\"♥\":\"liebe\"},\"es\":{\"%\":\"por ciento\",\"&\":\"y\",\"<\":\"menor que\",\">\":\"mayor que\",\"|\":\"o\",\"¢\":\"centavos\",\"£\":\"libras\",\"¤\":\"moneda\",\"₣\":\"francos\",\"∑\":\"suma\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"¢\":\"centime\",\"£\":\"livre\",\"¤\":\"devise\",\"₣\":\"franc\",\"∑\":\"somme\",\"∞\":\"infini\",\"♥\":\"amour\"},\"pt\":{\"%\":\"porcento\",\"&\":\"e\",\"<\":\"menor\",\">\":\"maior\",\"|\":\"ou\",\"¢\":\"centavo\",\"∑\":\"soma\",\"£\":\"libra\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"uk\":{\"И\":\"Y\",\"и\":\"y\",\"Й\":\"Y\",\"й\":\"y\",\"Ц\":\"Ts\",\"ц\":\"ts\",\"Х\":\"Kh\",\"х\":\"kh\",\"Щ\":\"Shch\",\"щ\":\"shch\",\"Г\":\"H\",\"г\":\"h\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"},\"da\":{\"Ø\":\"OE\",\"ø\":\"oe\",\"Å\":\"AA\",\"å\":\"aa\",\"%\":\"procent\",\"&\":\"og\",\"|\":\"eller\",\"$\":\"dollar\",\"<\":\"mindre end\",\">\":\"større end\"},\"nb\":{\"&\":\"og\",\"Å\":\"AA\",\"Æ\":\"AE\",\"Ø\":\"OE\",\"å\":\"aa\",\"æ\":\"ae\",\"ø\":\"oe\"},\"it\":{\"&\":\"e\"},\"nl\":{\"&\":\"en\"},\"sv\":{\"&\":\"och\",\"Å\":\"AA\",\"Ä\":\"AE\",\"Ö\":\"OE\",\"å\":\"aa\",\"ä\":\"ae\",\"ö\":\"oe\"}}')\n\n function replace (string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected')\n }\n\n options = (typeof options === 'string')\n ? {replacement: options}\n : options || {}\n\n var locale = locales[options.locale] || {}\n\n var replacement = options.replacement === undefined ? '-' : options.replacement\n\n var trim = options.trim === undefined ? true : options.trim\n\n var slug = string.normalize().split('')\n // replace characters based on charMap\n .reduce(function (result, ch) {\n var appendChar = locale[ch];\n if (appendChar === undefined) appendChar = charMap[ch];\n if (appendChar === undefined) appendChar = ch;\n if (appendChar === replacement) appendChar = ' ';\n return result + appendChar\n // remove not allowed characters\n .replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '')\n }, '');\n\n if (options.strict) {\n slug = slug.replace(/[^A-Za-z0-9\\s]/g, '');\n }\n\n if (trim) {\n slug = slug.trim()\n }\n\n // Replace spaces with replacement character, treating multiple consecutive\n // spaces as a single space.\n slug = slug.replace(/\\s+/g, replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase()\n }\n\n return slug\n }\n\n replace.extend = function (customMap) {\n Object.assign(charMap, customMap)\n }\n\n return replace\n}))\n","import * as Sentry from \"@sentry/browser\";\nimport { CaptureConsole } from \"@sentry/integrations\";\nimport { Fetcher } from \"openapi-typescript-fetch\";\nimport type { FetchConfig } from \"openapi-typescript-fetch/types\";\nimport type { operations, paths } from \"./types.mjs\";\nimport { normalizeEnvironmentName } from \"./utils.mjs\";\n\nconst PLAYT_CLIENT_ID = `playt-browser-client/${process.env.npm_package_version}`;\n\nconst PlaytBrowserClient = ({\n\tgameId,\n\tapiUrl,\n\tplayerToken,\n}: {\n\tgameId: string;\n\tapiUrl: string;\n\tplayerToken: string;\n}) => {\n\tlet baseUrl: string;\n\ttry {\n\t\tconst url = new URL(apiUrl);\n\t\tbaseUrl = url.origin;\n\t} catch (e: unknown) {\n\t\tthrow new Error(`Invalid API URL: ${apiUrl}`);\n\t}\n\n\tconst fetcher = Fetcher.for<paths>();\n\tconst config: FetchConfig = {\n\t\tbaseUrl,\n\t\tuse: [],\n\t\tinit: {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": PLAYT_CLIENT_ID,\n\t\t\t},\n\t\t},\n\t};\n\tfetcher.configure(config);\n\n\tconst initialize = async ({ gameVersion }: { gameVersion: string }) => {\n\t\tconst sentryConfigResp = await fetcher\n\t\t\t.path(\"/api/games/{gameId}/sentry-config\")\n\t\t\t.method(\"get\")\n\t\t\t.create()({ gameId });\n\t\tif (!sentryConfigResp.ok) {\n\t\t\tconsole.error(\n\t\t\t\t\"Failed to fetch Sentry config, error tracking will not work\",\n\t\t\t);\n\t\t}\n\t\tSentry.init({\n\t\t\t...sentryConfigResp.data,\n\t\t\tdsn: sentryConfigResp.data.dsn ?? undefined,\n\t\t\trelease: gameVersion,\n\t\t\tenvironment: normalizeEnvironmentName(new URL(apiUrl)),\n\t\t\tintegrations: [\n\t\t\t\tnew Sentry.BrowserTracing(),\n\t\t\t\tnew CaptureConsole(sentryConfigResp.data.integrations?.captureConsole),\n\t\t\t],\n\t\t});\n\t};\n\n\tconst setupAnybrain = async () => {\n\t\tconst anybrainEvent = new Promise<DocumentEventMap[\"anybrain\"]>(\n\t\t\t(resolve) => {\n\t\t\t\tdocument.addEventListener(\"anybrain\", (event) => {\n\t\t\t\t\tresolve(event);\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t\tconst anybrain = await import(\"@playt/anybrain-sdk\");\n\t\tconst event = await anybrainEvent;\n\n\t\tif (event.detail.loadModuleSuccess()) {\n\t\t\treturn anybrain;\n\t\t}\n\n\t\tthrow new Error(\n\t\t\t`Anybrain SDK failed to load. Error code: ${event.detail.error}`,\n\t\t);\n\t};\n\tconst anybrainPromise = setupAnybrain();\n\n\tconst startMatch = async (userId: string, matchId: string) => {\n\t\tconst antiCheatConfigResp = await fetcher\n\t\t\t.path(\"/api/games/{gameId}/anti-cheat-config\")\n\t\t\t.method(\"get\")\n\t\t\t.create()({ gameId });\n\t\tif (!antiCheatConfigResp.ok) {\n\t\t\tthrow new Error(\"Failed to fetch anti-cheat config\");\n\t\t}\n\t\tconst { gameKey, gameSecret } = antiCheatConfigResp.data;\n\t\tconst {\n\t\t\tAnybrainSetCredentials,\n\t\t\tAnybrainSetUserId,\n\t\t\tAnybrainStartMatch,\n\t\t\tAnybrainStartSDK,\n\t\t\tAnybrainSetPlayerToken,\n\t\t} = await anybrainPromise;\n\t\tAnybrainSetCredentials(gameKey, gameSecret);\n\t\tAnybrainSetUserId(userId);\n\t\tAnybrainSetPlayerToken(playerToken);\n\t\tAnybrainStartSDK();\n\t\treturn AnybrainStartMatch(matchId);\n\t};\n\n\tconst stopMatch = async () => {\n\t\tconst { AnybrainStopSDK } = await anybrainPromise;\n\t\treturn AnybrainStopSDK();\n\t};\n\n\tconst reportFatalError = (error: unknown) => {\n\t\twindow.parent.postMessage(\n\t\t\t{ PLAYT_CLIENT_ID, type: \"error\", error },\n\t\t\tbaseUrl,\n\t\t);\n\t\tconsole.warn(\"Reporting error:\", error);\n\t};\n\n\tconst updatePlayerSettings = async (\n\t\tuserSettings: Omit<\n\t\t\toperations[\"updateSettings\"][\"requestBody\"][\"content\"][\"application/json\"],\n\t\t\t\"playerToken\"\n\t\t>,\n\t) => {\n\t\tawait fetcher.path(\"/api/user/settings\").method(\"post\").create()({\n\t\t\tplayerToken,\n\t\t\t...userSettings,\n\t\t});\n\t};\n\n\tconst quitMatch = async () => {\n\t\tconst quitPromise = fetcher\n\t\t\t.path(\"/api/matches/quit\")\n\t\t\t.method(\"post\")\n\t\t\t.create()({\n\t\t\tplayerToken,\n\t\t});\n\t\tvoid window.parent.postMessage({ PLAYT_CLIENT_ID, type: \"quit\" }, baseUrl);\n\t\tawait quitPromise;\n\t};\n\n\tconst getAvatar = async () => {\n\t\tconst result = await fetcher\n\t\t\t.path(\"/api/avatar/{playerToken}\")\n\t\t\t.method(\"get\")\n\t\t\t.create()({\n\t\t\tplayerToken,\n\t\t});\n\t\treturn result.data;\n\t};\n\n\treturn {\n\t\tinitialize,\n\t\tstartMatch,\n\t\tstopMatch,\n\t\treportFatalError,\n\t\tupdatePlayerSettings,\n\t\tquitMatch,\n\t\tgetAvatar,\n\t};\n};\n\nexport default PlaytBrowserClient;\n","// src/types.ts\nvar never = Symbol();\nvar ApiError = class extends Error {\n headers;\n url;\n status;\n statusText;\n data;\n constructor(response) {\n super(response.statusText);\n Object.setPrototypeOf(this, new.target.prototype);\n this.headers = response.headers;\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.data = response.data;\n }\n};\n\n// src/fetcher.ts\nvar sendBody = (method) => method === \"post\" || method === \"put\" || method === \"patch\" || method === \"delete\";\nfunction queryString(params) {\n const qs = [];\n const encode = (key, value) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`;\n Object.keys(params).forEach((key) => {\n const value = params[key];\n if (value != null) {\n if (Array.isArray(value)) {\n value.forEach((value2) => qs.push(encode(key, value2)));\n } else {\n qs.push(encode(key, value));\n }\n }\n });\n if (qs.length > 0) {\n return `?${qs.join(\"&\")}`;\n }\n return \"\";\n}\nfunction getPath(path, payload) {\n return path.replace(/\\{([^}]+)\\}/g, (_, key) => {\n const value = encodeURIComponent(payload[key]);\n delete payload[key];\n return value;\n });\n}\nfunction getQuery(method, payload, query) {\n let queryObj = {};\n if (sendBody(method)) {\n query.forEach((key) => {\n queryObj[key] = payload[key];\n delete payload[key];\n });\n } else {\n queryObj = { ...payload };\n }\n return queryString(queryObj);\n}\nfunction getHeaders(body, init) {\n const headers = new Headers(init);\n if (body !== void 0 && !headers.has(\"Content-Type\")) {\n headers.append(\"Content-Type\", \"application/json\");\n }\n if (!headers.has(\"Accept\")) {\n headers.append(\"Accept\", \"application/json\");\n }\n return headers;\n}\nfunction getBody(method, payload) {\n const body = sendBody(method) ? JSON.stringify(payload) : void 0;\n return method === \"delete\" && body === \"{}\" ? void 0 : body;\n}\nfunction mergeRequestInit(first, second) {\n const headers = new Headers(first?.headers);\n const other = new Headers(second?.headers);\n for (const key of other.keys()) {\n const value = other.get(key);\n if (value != null) {\n headers.set(key, value);\n }\n }\n return { ...first, ...second, headers };\n}\nfunction getFetchParams(request) {\n const payload = Object.assign(\n Array.isArray(request.payload) ? [] : {},\n request.payload\n );\n const path = getPath(request.path, payload);\n const query = getQuery(request.method, payload, request.queryParams);\n const body = getBody(request.method, payload);\n const headers = getHeaders(body, request.init?.headers);\n const url = request.baseUrl + path + query;\n const init = {\n ...request.init,\n method: request.method.toUpperCase(),\n headers,\n body\n };\n return { url, init };\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (response.status === 204) {\n return void 0;\n }\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\n return await response.json();\n }\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\nasync function fetchJson(url, init) {\n const response = await fetch(url, init);\n const data = await getResponseData(response);\n const result = {\n headers: response.headers,\n url: response.url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n data\n };\n if (result.ok) {\n return result;\n }\n throw new ApiError(result);\n}\nfunction wrapMiddlewares(middlewares, fetch2) {\n const handler = async (index, url, init) => {\n if (middlewares == null || index === middlewares.length) {\n return fetch2(url, init);\n }\n const current = middlewares[index];\n return await current(\n url,\n init,\n (nextUrl, nextInit) => handler(index + 1, nextUrl, nextInit)\n );\n };\n return (url, init) => handler(0, url, init);\n}\nasync function fetchUrl(request) {\n const { url, init } = getFetchParams(request);\n const response = await request.fetch(url, init);\n return response;\n}\nfunction createFetch(fetch2) {\n const fun = async (payload, init) => {\n try {\n return await fetch2(payload, init);\n } catch (err) {\n if (err instanceof ApiError) {\n throw new fun.Error(err);\n }\n throw err;\n }\n };\n fun.Error = class extends ApiError {\n constructor(error) {\n super(error);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n getActualType() {\n return {\n status: this.status,\n data: this.data\n };\n }\n };\n return fun;\n}\nfunction fetcher() {\n let baseUrl = \"\";\n let defaultInit = {};\n const middlewares = [];\n const fetch2 = wrapMiddlewares(middlewares, fetchJson);\n return {\n configure: (config) => {\n baseUrl = config.baseUrl || \"\";\n defaultInit = config.init || {};\n middlewares.splice(0);\n middlewares.push(...config.use || []);\n },\n use: (mw) => middlewares.push(mw),\n path: (path) => ({\n method: (method) => ({\n create: (queryParams) => createFetch(\n (payload, init) => fetchUrl({\n baseUrl: baseUrl || \"\",\n path,\n method,\n queryParams: Object.keys(queryParams || {}),\n payload,\n init: mergeRequestInit(defaultInit, init),\n fetch: fetch2\n })\n )\n })\n })\n };\n}\nvar Fetcher = {\n for: () => fetcher()\n};\n\n// src/utils.ts\nfunction arrayRequestBody(array, params) {\n return Object.assign([...array], params);\n}\nexport {\n ApiError,\n Fetcher,\n arrayRequestBody\n};\n","import slugify from \"slugify\";\nslugify.extend({\n\t\"/\": \"-\",\n\t\".\": \"-\",\n\t\":\": \"-\",\n});\n\nexport const normalizeEnvironmentName = (url: URL) => {\n\treturn slugify(url.origin + url.pathname, {\n\t\tlower: true,\n\t\tstrict: true,\n\t\treplacement: \"-\",\n\t});\n};\n"],"mappings":"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","names":["init","slugify","fetcher","event"]}