gitextract_pkp7bq6l/ ├── .gitignore ├── .travis.yml ├── .vscode/ │ └── launch.json ├── .watchmanconfig ├── LICENSE ├── Makefile ├── README.md ├── __tests__/ │ └── change-observer-handler.test.js ├── event-emitter.js ├── example/ │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .gitignore │ ├── .npmignore │ ├── .vscode/ │ │ ├── launch.json │ │ ├── launchReactNative.js │ │ └── typings/ │ │ ├── react/ │ │ │ ├── react-addons-create-fragment.d.ts │ │ │ ├── react-addons-css-transition-group.d.ts │ │ │ ├── react-addons-linked-state-mixin.d.ts │ │ │ ├── react-addons-perf.d.ts │ │ │ ├── react-addons-pure-render-mixin.d.ts │ │ │ ├── react-addons-test-utils.d.ts │ │ │ ├── react-addons-transition-group.d.ts │ │ │ ├── react-addons-update.d.ts │ │ │ ├── react-dom.d.ts │ │ │ ├── react-global.d.ts │ │ │ └── react.d.ts │ │ └── react-native/ │ │ └── react-native.d.ts │ ├── .watchmanconfig │ ├── README.md │ ├── album-list.js │ ├── android/ │ │ ├── app/ │ │ │ ├── BUCK │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores/ │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ └── settings.gradle │ ├── index.android.js │ ├── index.ios-ajax.js │ ├── index.ios.js │ ├── ios/ │ │ ├── Example/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj/ │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets/ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ ├── Example.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Example.xcscheme │ │ └── ExampleTests/ │ │ ├── ExampleTests.m │ │ └── Info.plist │ ├── library-test.js │ ├── package.json │ ├── react-native-camera-roll-picker/ │ │ ├── ImageItem.js │ │ ├── camera-roll-picker.js │ │ └── index.ios.js │ ├── react-native-photos-framework/ │ │ ├── event-emitter.js │ │ └── index.js │ └── tsconfig.json ├── index.js ├── install.js ├── ios/ │ ├── RNPhotosFramework/ │ │ ├── ImageHelpers.h │ │ ├── ImageHelpers.m │ │ ├── PHAssetWithCollectionIndex.h │ │ ├── PHAssetWithCollectionIndex.m │ │ ├── PHAssetsService.h │ │ ├── PHAssetsService.m │ │ ├── PHCache.h │ │ ├── PHCache.m │ │ ├── PHCachedFetchResult.h │ │ ├── PHCachedFetchResult.m │ │ ├── PHCachingImageManagerInstance.h │ │ ├── PHCachingImageManagerInstance.m │ │ ├── PHCancellationToken.h │ │ ├── PHCancellationToken.m │ │ ├── PHCancellationTokenManager.h │ │ ├── PHCancellationTokenManager.m │ │ ├── PHChangeObserver.h │ │ ├── PHChangeObserver.m │ │ ├── PHCollectionService.h │ │ ├── PHCollectionService.m │ │ ├── PHCreateMediaQueue.h │ │ ├── PHCreateMediaQueue.m │ │ ├── PHFetchOptionsService.h │ │ ├── PHFetchOptionsService.m │ │ ├── PHOperationResult.h │ │ ├── PHOperationResult.m │ │ ├── PHSaveAsset.h │ │ ├── PHSaveAsset.m │ │ ├── PHSaveAssetFileRequest.h │ │ ├── PHSaveAssetFileRequest.m │ │ ├── PHSaveAssetRequest.h │ │ ├── PHSaveAssetRequest.m │ │ ├── PHSaveAssetToFileOperationResult.h │ │ ├── PHSaveAssetToFileOperationResult.m │ │ ├── PHVideoExporter.h │ │ ├── PHVideoExporter.m │ │ ├── RCTConvert+RNPhotosFramework.h │ │ ├── RCTConvert+RNPhotosFramework.m │ │ ├── RCTImageResizer.h │ │ ├── RCTImageResizer.m │ │ ├── RNPFFileDownloader.h │ │ ├── RNPFFileDownloader.m │ │ ├── RNPFGlobals.h │ │ ├── RNPFHelpers.h │ │ ├── RNPFHelpers.m │ │ ├── RNPFImageLoader.h │ │ ├── RNPFImageLoader.m │ │ ├── RNPFManager.h │ │ ├── RNPFManager.m │ │ ├── RNPFUrlRequestHandler.h │ │ ├── RNPFUrlRequestHandler.m │ │ ├── RNPhotosFramework.h │ │ ├── RNPhotosFramework.m │ │ ├── SDAVAssetExportSession.h │ │ ├── SDAVAssetExportSession.m │ │ ├── iDebounce.h │ │ └── iDebounce.m │ ├── RNPhotosFramework.xcodeproj/ │ │ └── project.pbxproj │ └── RNPhotosFrameworkTests/ │ ├── Info.plist │ ├── PHAssetsService_getAssetsForFetchResultTests.m │ └── RCTConvert+RNPhotosFrameworkTests.m ├── local-cli/ │ ├── android/ │ │ └── android.js │ ├── bundle/ │ │ ├── assetPathUtils.js │ │ ├── buildBundle.js │ │ ├── bundle.js │ │ ├── bundleCommandLineArgs.js │ │ ├── getAssetDestPathAndroid.js │ │ ├── getAssetDestPathIOS.js │ │ ├── output/ │ │ │ ├── bundle.js │ │ │ ├── meta.js │ │ │ ├── prepack.js │ │ │ ├── unbundle/ │ │ │ │ ├── as-assets.js │ │ │ │ ├── as-indexed-file.js │ │ │ │ ├── build-unbundle-sourcemap-with-metadata.js │ │ │ │ ├── index.js │ │ │ │ ├── magic-number.js │ │ │ │ ├── util.js │ │ │ │ └── write-sourcemap.js │ │ │ └── writeFile.js │ │ ├── saveAssets.js │ │ ├── sign.js │ │ ├── signedsource.js │ │ └── unbundle.js │ ├── cli.js │ ├── cliEntry.js │ ├── commands.js │ ├── core/ │ │ ├── config/ │ │ │ ├── android/ │ │ │ │ ├── findAndroidAppFolder.js │ │ │ │ ├── findManifest.js │ │ │ │ ├── findPackageClassName.js │ │ │ │ ├── index.js │ │ │ │ └── readManifest.js │ │ │ ├── findAssets.js │ │ │ ├── index.js │ │ │ ├── ios/ │ │ │ │ ├── findProject.js │ │ │ │ └── index.js │ │ │ └── wrapCommands.js │ │ ├── findPlugins.js │ │ ├── getCommands.js │ │ └── makeCommand.js │ ├── default.config.js │ ├── dependencies/ │ │ └── dependencies.js │ ├── generate/ │ │ └── generate.js │ ├── generate-android.js │ ├── generator/ │ │ └── index.js │ ├── generator-android/ │ │ ├── index.js │ │ └── templates/ │ │ ├── bin/ │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradlew │ │ │ └── gradlew.bat │ │ ├── package/ │ │ │ ├── MainActivity.java │ │ │ └── MainApplication.java │ │ └── src/ │ │ ├── app/ │ │ │ ├── BUCK │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── keystores/ │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ └── settings.gradle │ ├── generator-ios/ │ │ ├── index.js │ │ └── templates/ │ │ ├── app/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj/ │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets/ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ ├── tests/ │ │ │ ├── Info.plist │ │ │ └── Tests.m │ │ └── xcodeproj/ │ │ ├── project.pbxproj │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── _xcscheme │ ├── generator-utils.js │ ├── init/ │ │ └── init.js │ ├── install/ │ │ ├── install.js │ │ └── uninstall.js │ ├── library/ │ │ └── library.js │ ├── link/ │ │ ├── android/ │ │ │ ├── copyAssets.js │ │ │ ├── fs.js │ │ │ ├── isInstalled.js │ │ │ ├── patches/ │ │ │ │ ├── applyParams.js │ │ │ │ ├── applyPatch.js │ │ │ │ ├── makeBuildPatch.js │ │ │ │ ├── makeImportPatch.js │ │ │ │ ├── makePackagePatch.js │ │ │ │ ├── makeSettingsPatch.js │ │ │ │ ├── makeStringsPatch.js │ │ │ │ └── revokePatch.js │ │ │ ├── registerNativeModule.js │ │ │ ├── unlinkAssets.js │ │ │ └── unregisterNativeModule.js │ │ ├── commandStub.js │ │ ├── getDependencyConfig.js │ │ ├── getProjectDependencies.js │ │ ├── groupFilesByType.js │ │ ├── ios/ │ │ │ ├── addFileToProject.js │ │ │ ├── addProjectToLibraries.js │ │ │ ├── addSharedLibraries.js │ │ │ ├── addToHeaderSearchPaths.js │ │ │ ├── copyAssets.js │ │ │ ├── createGroup.js │ │ │ ├── createGroupWithMessage.js │ │ │ ├── getBuildProperty.js │ │ │ ├── getGroup.js │ │ │ ├── getHeaderSearchPath.js │ │ │ ├── getHeadersInFolder.js │ │ │ ├── getPlist.js │ │ │ ├── getPlistPath.js │ │ │ ├── getProducts.js │ │ │ ├── hasLibraryImported.js │ │ │ ├── isInstalled.js │ │ │ ├── mapHeaderSearchPaths.js │ │ │ ├── registerNativeModule.js │ │ │ ├── removeFromHeaderSearchPaths.js │ │ │ ├── removeFromPbxItemContainerProxySection.js │ │ │ ├── removeFromPbxReferenceProxySection.js │ │ │ ├── removeFromProjectReferences.js │ │ │ ├── removeFromStaticLibraries.js │ │ │ ├── removeProductGroup.js │ │ │ ├── removeProjectFromLibraries.js │ │ │ ├── removeProjectFromProject.js │ │ │ ├── removeSharedLibraries.js │ │ │ ├── unlinkAssets.js │ │ │ └── unregisterNativeModule.js │ │ ├── link.js │ │ ├── pollParams.js │ │ ├── promiseWaterfall.js │ │ ├── promisify.js │ │ └── unlink.js │ ├── logAndroid/ │ │ └── logAndroid.js │ ├── logIOS/ │ │ └── logIOS.js │ ├── runAndroid/ │ │ ├── adb.js │ │ └── runAndroid.js │ ├── runIOS/ │ │ ├── findMatchingSimulator.js │ │ ├── findXcodeProject.js │ │ ├── parseIOSDevicesList.js │ │ └── runIOS.js │ ├── server/ │ │ ├── checkNodeVersion.js │ │ ├── findSymlinksPaths.js │ │ ├── formatBanner.js │ │ ├── middleware/ │ │ │ ├── copyToClipBoardMiddleware.js │ │ │ ├── cpuProfilerMiddleware.js │ │ │ ├── getDevToolsMiddleware.js │ │ │ ├── heapCapture/ │ │ │ │ ├── .npmignore │ │ │ │ ├── Makefile │ │ │ │ ├── heapCapture.html │ │ │ │ ├── out/ │ │ │ │ │ ├── aggrow.js │ │ │ │ │ ├── heapCapture.js │ │ │ │ │ └── table.js │ │ │ │ └── src/ │ │ │ │ ├── aggrow.js │ │ │ │ ├── heapCapture.js │ │ │ │ └── table.js │ │ │ ├── heapCaptureMiddleware.js │ │ │ ├── index.html │ │ │ ├── indexPage.js │ │ │ ├── jscProfilerMiddleware.js │ │ │ ├── loadRawBodyMiddleware.js │ │ │ ├── openStackFrameInEditorMiddleware.js │ │ │ ├── statusPageMiddleware.js │ │ │ └── systraceProfileMiddleware.js │ │ ├── runServer.js │ │ ├── server.js │ │ └── util/ │ │ ├── attachHMRServer.js │ │ ├── copyToClipBoard.js │ │ ├── debugger.html │ │ ├── debuggerWorker.js │ │ ├── launchEditor.js │ │ ├── messageSocket.js │ │ └── webSocketProxy.js │ ├── setup_env.bat │ ├── setup_env.sh │ ├── upgrade/ │ │ └── upgrade.js │ ├── util/ │ │ ├── Config.js │ │ ├── assertRequiredOptions.js │ │ ├── copyAndReplace.js │ │ ├── isPackagerRunning.js │ │ ├── isValidPackageName.js │ │ ├── log.js │ │ ├── parseCommandLine.js │ │ └── walk.js │ └── wrong-react-native.js ├── package.json ├── react-native-photos-framework.podspec ├── scripts/ │ ├── objc-test-ios.sh │ └── objc-test.sh └── src/ ├── .watchmanconfig ├── ajax-helper.js ├── album-query-result-base.js ├── album-query-result-collection.js ├── album-query-result.js ├── album.js ├── asset.js ├── change-observer-handler.js ├── image-asset.js ├── index.js ├── instagram-app-sort.js ├── photo-app-sort.js ├── uuid-generator.js ├── video-asset.js └── video-props-resolver.js