UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

53 lines (50 loc) 1.68 kB
"use strict"; import { withProjectBuildGradle, withGradleProperties } from '@expo/config-plugins'; function mapAndroidExtensionKey(ext) { switch (ext) { case 'ima': return 'THEOplayer_extensionGoogleIMA'; case 'dai': return 'THEOplayer_extensionGoogleDAI'; case 'cast': return 'THEOplayer_extensionCast'; case 'theoads': return 'THEOplayer_extensionTHEOads'; case 'millicast': return 'THEOplayer_extensionMillicast'; default: return undefined; } } const applyAndroidExtensions = (config, extensions) => { return withGradleProperties(config, config => { extensions?.forEach(ext => { const key = mapAndroidExtensionKey(ext); if (key) { const prop = { type: 'property', key, value: 'true' }; config.modResults.push(prop); } }); return config; }); }; export const withTHEOplayerAndroid = (config, props = {}) => { const { extensions, android } = props; // Apply Android extensions config = applyAndroidExtensions(config, android?.extensions ?? extensions); // Add THEOplayer and local Maven repos to the project's repositories return withProjectBuildGradle(config, config => { const localMaven = 'maven { url("$rootDir/../node_modules/react-native-theoplayer/android/local") }'; const THEOplayerMaven = 'maven { url("https://maven.theoplayer.com/releases") }'; config.modResults.contents = config.modResults.contents.replace(/allprojects\s*\{\s*repositories\s*\{/, `$&\n\t\t${localMaven}\n\t\t${THEOplayerMaven}`); return config; }); }; //# sourceMappingURL=withTHEOplayerAndroid.js.map