hunk.code_window:   api.cache(true);
     return {
       presets: ['babel-preset-expo'],
       plugins: ['@babel/plugin-transform-runtime'],
     };
   };
hunk.labels: keep keep keep replace keep keep
hunk.file_path: apps/native-component-list/babel.config.js
hunk.type: replace
file: {"version":3,"file":"ExponentVideo.web.js","sourceRoot":"","sources":["../src/ExponentVideo.web.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport ExponentAV from './ExponentAV';\n\nimport { PlaybackNativeSource, PlaybackStatus, PlaybackStatusToSet } from './AV';\n\ntype ExponentVideoProps = {\n  source: PlaybackNativeSource | null;\n  resizeMode?: Object;\n  status?: PlaybackStatusToSet;\n  useNativeControls?: boolean;\n  onStatusUpdate?: (event: { nativeEvent: PlaybackStatus }) => void;\n  onReadyForDisplay?: (event: { nativeEvent: Object }) => void;\n  onFullscreenUpdate?: (event: { nativeEvent: Object }) => void;\n  onLoadStart: () => void;\n  onLoad: (event: { nativeEvent: PlaybackStatus }) => void;\n  onError: (event: { nativeEvent: { error: string } }) => void;\n  // Required by react-native\n  scaleX?: number;\n  scaleY?: number;\n  translateX?: number;\n  translateY?: number;\n  rotation?: number;\n} & React.ComponentProps<typeof View>;\n\nexport type NaturalSize = {\n  width: number;\n  height: number;\n  orientation: 'portrait' | 'landscape';\n};\n\nexport const FULLSCREEN_UPDATE_PLAYER_WILL_PRESENT = 0;\nexport const FULLSCREEN_UPDATE_PLAYER_DID_PRESENT = 1;\nexport const FULLSCREEN_UPDATE_PLAYER_WILL_DISMISS = 2;\nexport const FULLSCREEN_UPDATE_PLAYER_DID_DISMISS = 3;\n\nexport const IOS_FULLSCREEN_UPDATE_PLAYER_WILL_PRESENT = FULLSCREEN_UPDATE_PLAYER_WILL_PRESENT;\nexport const IOS_FULLSCREEN_UPDATE_PLAYER_DID_PRESENT = FULLSCREEN_UPDATE_PLAYER_DID_PRESENT;\nexport const IOS_FULLSCREEN_UPDATE_PLAYER_WILL_DISMISS = FULLSCREEN_UPDATE_PLAYER_WILL_DISMISS;\nexport const IOS_FULLSCREEN_UPDATE_PLAYER_DID_DISMISS = FULLSCREEN_UPDATE_PLAYER_DID_DISMISS;\n\nexport default class ExponentVideo extends React.Component<ExponentVideoProps> {\n  _video?: HTMLVideoElement;\n\n  onStatusUpdate = async () => {\n    if (!this.props.onStatusUpdate) {\n      return;\n    }\n    const nativeEvent = await ExponentAV.getStatusForVideo(this._video);\n    this.props.onStatusUpdate({ nativeEvent });\n  };\n\n  onLoadStart = () => {\n    if (!this.props.onLoadStart) {\n      return;\n    }\n    this.props.onLoadStart();\n    this.onStatusUpdate();\n  };\n\n  onLoadedData = event => {\n    if (!this.props.onLoad) {\n      return;\n    }\n    this.props.onLoad(event);\n    this.onStatusUpdate();\n  };\n\n  onError = event => {\n    if (!this.props.onError) {\n      return;\n    }\n    this.props.onError(event);\n    this.onStatusUpdate();\n  };\n\n  onProgress = () => {\n    this.onStatusUpdate();\n  };\n\n  onSeeking = () => {\n    this.onStatusUpdate();\n  };\n\n  onEnded = () => {\n    this.onStatusUpdate();\n  };\n\n  onLoadedMetadata = () => {\n    this.onStatusUpdate();\n  };\n\n  onCanPlay = event => {\n    if (!this.props.onReadyForDisplay) {\n      return;\n    }\n    this.props.onReadyForDisplay(event);\n    this.onStatusUpdate();\n  };\n\n  onStalled = () => {\n    this.onStatusUpdate();\n  };\n\n  onRef = (ref: HTMLVideoElement) => {\n    this._video = ref;\n    this.onStatusUpdate();\n  };\n\n  render() {\n    const { source, status = {}, resizeMode: objectFit, useNativeControls, style } = this.props;\n\n    const customStyle = {\n      position: undefined,\n      objectFit,\n      overflow: 'hidden',\n    } as any;\n    const finalStyle = StyleSheet.flatten([style, customStyle]) as React.CSSProperties;\n    return (\n      <video\n        ref={this.onRef}\n        onLoadStart={this.onLoadStart}\n        onLoadedData={this.onLoadedData}\n        onError={this.onError}\n        onTimeUpdate={this.onProgress}\n        onSeeking={this.onSeeking}\n        onEnded={this.onEnded}\n        onLoadedMetadata={this.onLoadedMetadata}\n        onCanPlay={this.onCanPlay}\n        onStalled={this.onStalled}\n        src={(source || { uri: undefined }).uri}\n        muted={status.isMuted}\n        loop={status.isLooping}\n        autoPlay={status.shouldPlay}\n        controls={useNativeControls}\n        style={finalStyle}\n      />\n    );\n  }\n}\n"]}