123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import {
- backend,
- desktop,
- frontend,
- mobile,
- PlatformCategory,
- PlatformKey,
- serverless,
- } from 'sentry/data/platformCategories';
- /**
- *
- * @param platform - a SDK platform, for example `node-express`, `javascript-react`
- * @returns - the platform category, for example `backend`, `serverless`
- */
- export function platformToCategory(platform: PlatformKey | undefined): PlatformCategory {
- if (!platform) {
- return PlatformCategory.OTHER;
- }
- if (([...frontend] as string[]).includes(platform)) {
- return PlatformCategory.FRONTEND;
- }
- if (([...backend] as string[]).includes(platform)) {
- return PlatformCategory.BACKEND;
- }
- if (([...serverless] as string[]).includes(platform)) {
- return PlatformCategory.SERVERLESS;
- }
- if (([...mobile] as string[]).includes(platform)) {
- return PlatformCategory.MOBILE;
- }
- if (([...desktop] as string[]).includes(platform)) {
- return PlatformCategory.DESKTOP;
- }
- return PlatformCategory.OTHER;
- }
- export function isNativePlatform(platform: string | undefined) {
- switch (platform) {
- case 'cocoa':
- case 'objc':
- case 'native':
- case 'swift':
- case 'c':
- return true;
- default:
- return false;
- }
- }
- export function isMobilePlatform(platform: string | undefined) {
- if (!platform) {
- return false;
- }
- return ([...mobile] as string[]).includes(platform);
- }
|