{"version":3,"sources":["jsdelivr-header.js","/npm/appcenter-analytics@4.4.5/Analytics.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACHA,MAAM,YAAc,QAAQ,iBAEtB,8BAAE,+BAAkC,YAAY,cAEhD,UAAY,CACd,YAAa,YAAY,SAAS,OAAO,CACrC,IAAK,gBACL,QAAS,gDAIb,aAAY,IACD,8BAA8B,eAIzC,WAAU,CAAC,EAAW,IACX,8BAA8B,WAAW,EAAW,mBAAmB,IAIlF,UAAS,IACE,8BAA8B,YAIzC,WAAW,GACA,8BAA8B,WAAW,GAIpD,sBAAsB,GACX,IAAI,SAAS,IAChB,8BAA8B,sBAAsB,GAC/C,MAAM,IAIC,EAHC,EAGO,IAAI,UAAU,mBAAmB,GAFjC,KAGZ,GACF,KA+ElB,SAAS,mBAAmB,EAAQ,MAGhC,MAAM,EAAS,CAAC,EAChB,OAAc,OAAV,GAGJ,OAAO,KAAK,GAAO,QAAQ,GAAuB,OAAf,EAAM,KAAe,SAAS,IAC7D,cAAe,EAAM,IACjB,IAAK,SACL,IAAK,SACL,IAAK,UACD,EAAO,GAAO,GAAG,EAAM,KACvB,MACJ,IAAK,YACD,MACJ,QACI,MAAM,IAAI,MAAM,qEACxB,IAbO,CAgBf,CA/FA,UAAU,qBAAuB,MAC7B,WAAA,CAAY,GACR,KAAK,mBAAqB,CAC9B,CAGA,UAAA,CAAW,GACP,OAAO,8BAA8B,6BAA6B,EAAS,KAAK,mBAAmB,YACvG,CAGA,aAAA,CAAc,GACV,OAAO,8BAA8B,gCAAgC,EAAY,KAAK,mBAAmB,YAC7G,CAGA,YAAA,CAAa,GACT,OAAO,8BAA8B,+BAA+B,EAAW,KAAK,mBAAmB,YAC3G,CAGA,gBAAA,CAAiB,EAAK,GAClB,OAAO,8BAA8B,mCAAmC,EAAK,EAAO,KAAK,mBAAmB,YAChH,CAGA,mBAAA,CAAoB,GAChB,OAAO,8BAA8B,sCAAsC,EAAK,KAAK,mBAAmB,YAC5G,CAGA,eAAA,GACI,OAAO,8BAA8B,kCAAkC,KAAK,mBAAmB,YACnG,GAGJ,UAAU,mBAAqB,MAC3B,WAAA,CAAY,GACR,KAAK,YAAc,EACnB,KAAK,qBAAuB,IAAI,UAAU,qBAAqB,KACnE,CAGA,SAAA,GACI,OAAO,8BAA8B,4BAA4B,KAAK,YAC1E,CAGA,UAAA,CAAW,GACP,OAAO,8BAA8B,6BAA6B,EAAS,KAAK,YACpF,CAGA,UAAA,CAAW,EAAW,GAClB,OAAO,8BAA8B,6BAA6B,EAAW,mBAAmB,GAAa,KAAK,YACtH,CAGA,qBAAA,CAAsB,GAClB,OAAO,IAAI,SAAS,IAChB,8BAA8B,2BAA2B,EAAY,KAAK,aACrE,MAAM,IAIC,EAHC,EAGO,IAAI,UAAU,mBAAmB,GAFjC,KAGZ,GACF,GAEd,GAGJ,OAAO,QAAU","file":"/npm/appcenter-analytics@4.4.5/Analytics.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/appcenter-analytics@4.4.5/Analytics.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT License.\n\nconst ReactNative = require('react-native');\n\nconst { AppCenterReactNativeAnalytics } = ReactNative.NativeModules;\n\nconst Analytics = {\n    bindingType: ReactNative.Platform.select({\n        ios: 'MSACAnalytics',\n        android: 'com.microsoft.appcenter.analytics.Analytics',\n    }),\n\n    // async - returns a Promise\n    startSession() {\n        return AppCenterReactNativeAnalytics.startSession();\n    },\n\n    // async - returns a Promise\n    trackEvent(eventName, properties) {\n        return AppCenterReactNativeAnalytics.trackEvent(eventName, sanitizeProperties(properties));\n    },\n\n    // async - returns a Promise\n    isEnabled() {\n        return AppCenterReactNativeAnalytics.isEnabled();\n    },\n\n    // async - returns a Promise\n    setEnabled(enabled) {\n        return AppCenterReactNativeAnalytics.setEnabled(enabled);\n    },\n\n    // async - returns a Promise\n    getTransmissionTarget(targetToken) {\n        return new Promise((resolve) => {\n            AppCenterReactNativeAnalytics.getTransmissionTarget(targetToken)\n                .then((token) => {\n                    if (!token) {\n                        resolve(null);\n                    } else {\n                        resolve(new Analytics.TransmissionTarget(token));\n                    }\n                });\n        });\n    },\n};\n\nAnalytics.PropertyConfigurator = class {\n    constructor(transmissionTarget) {\n        this.transmissionTarget = transmissionTarget;\n    }\n\n    // async - returns a Promise\n    setAppName(appName) {\n        return AppCenterReactNativeAnalytics.setTransmissionTargetAppName(appName, this.transmissionTarget.targetToken);\n    }\n\n    // async - returns a Promise\n    setAppVersion(appVersion) {\n        return AppCenterReactNativeAnalytics.setTransmissionTargetAppVersion(appVersion, this.transmissionTarget.targetToken);\n    }\n\n    // async - returns a Promise\n    setAppLocale(appLocale) {\n        return AppCenterReactNativeAnalytics.setTransmissionTargetAppLocale(appLocale, this.transmissionTarget.targetToken);\n    }\n\n    // async - returns a Promise\n    setEventProperty(key, value) {\n        return AppCenterReactNativeAnalytics.setTransmissionTargetEventProperty(key, value, this.transmissionTarget.targetToken);\n    }\n\n    // async - returns a Promise\n    removeEventProperty(key) {\n        return AppCenterReactNativeAnalytics.removeTransmissionTargetEventProperty(key, this.transmissionTarget.targetToken);\n    }\n\n    // async - returns a Promise\n    collectDeviceId() {\n        return AppCenterReactNativeAnalytics.collectTransmissionTargetDeviceId(this.transmissionTarget.targetToken);\n    }\n};\n\nAnalytics.TransmissionTarget = class {\n    constructor(targetToken) {\n        this.targetToken = targetToken;\n        this.propertyConfigurator = new Analytics.PropertyConfigurator(this);\n    }\n\n    // async - returns a Promise\n    isEnabled() {\n        return AppCenterReactNativeAnalytics.isTransmissionTargetEnabled(this.targetToken);\n    }\n\n    // async - returns a Promise\n    setEnabled(enabled) {\n        return AppCenterReactNativeAnalytics.setTransmissionTargetEnabled(enabled, this.targetToken);\n    }\n\n    // async - returns a Promise\n    trackEvent(eventName, properties) {\n        return AppCenterReactNativeAnalytics.trackTransmissionTargetEvent(eventName, sanitizeProperties(properties), this.targetToken);\n    }\n\n    // async - returns a Promise\n    getTransmissionTarget(childToken) {\n        return new Promise((resolve) => {\n            AppCenterReactNativeAnalytics.getChildTransmissionTarget(childToken, this.targetToken)\n                .then((token) => {\n                    if (!token) {\n                        resolve(null);\n                    } else {\n                        resolve(new Analytics.TransmissionTarget(token));\n                    }\n                });\n        });\n    }\n};\n\nmodule.exports = Analytics;\n\nfunction sanitizeProperties(props = null) {\n    // Only string:string mappings are supported currently.\n\n    const result = {};\n    if (props === null) {\n        return result;\n    }\n    Object.keys(props).filter((key) => props[key] !== null).forEach((key) => {\n        switch (typeof props[key]) {\n            case 'string':\n            case 'number':\n            case 'boolean':\n                result[key] = `${props[key]}`;\n                break;\n            case 'undefined':\n                break;\n            default:\n                throw new Error('Properties cannot be serialized. Object must only contain strings');\n        }\n    });\n    return result;\n}\n"]}