mirror of
https://github.com/status-im/react-native-fast-image.git
synced 2025-02-23 19:58:15 +00:00
chore: Convert example to TypeScript (#648)
This commit is contained in:
parent
dc3d66e1a0
commit
bf55742e5f
@ -1,6 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
root: true,
|
root: true,
|
||||||
extends: '@react-native-community',
|
extends: '@react-native-community',
|
||||||
|
parser: '@typescript-eslint/parser',
|
||||||
|
plugins: ['@typescript-eslint'],
|
||||||
rules: {
|
rules: {
|
||||||
semi: ['error', 'never'],
|
semi: ['error', 'never'],
|
||||||
},
|
},
|
||||||
|
@ -1,75 +0,0 @@
|
|||||||
[ignore]
|
|
||||||
; We fork some components by platform
|
|
||||||
.*/*[.]android.js
|
|
||||||
|
|
||||||
; Ignore "BUCK" generated dirs
|
|
||||||
<PROJECT_ROOT>/\.buckd/
|
|
||||||
|
|
||||||
; Ignore polyfills
|
|
||||||
node_modules/react-native/Libraries/polyfills/.*
|
|
||||||
|
|
||||||
; These should not be required directly
|
|
||||||
; require from fbjs/lib instead: require('fbjs/lib/warning')
|
|
||||||
node_modules/warning/.*
|
|
||||||
|
|
||||||
; Flow doesn't support platforms
|
|
||||||
.*/Libraries/Utilities/LoadingView.js
|
|
||||||
|
|
||||||
[untyped]
|
|
||||||
.*/node_modules/@react-native-community/cli/.*/.*
|
|
||||||
|
|
||||||
[include]
|
|
||||||
|
|
||||||
[libs]
|
|
||||||
node_modules/react-native/Libraries/react-native/react-native-interface.js
|
|
||||||
node_modules/react-native/flow/
|
|
||||||
|
|
||||||
[options]
|
|
||||||
emoji=true
|
|
||||||
|
|
||||||
esproposal.optional_chaining=enable
|
|
||||||
esproposal.nullish_coalescing=enable
|
|
||||||
|
|
||||||
module.file_ext=.js
|
|
||||||
module.file_ext=.json
|
|
||||||
module.file_ext=.ios.js
|
|
||||||
|
|
||||||
munge_underscores=true
|
|
||||||
|
|
||||||
module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation'
|
|
||||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
|
|
||||||
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
|
|
||||||
|
|
||||||
suppress_type=$FlowIssue
|
|
||||||
suppress_type=$FlowFixMe
|
|
||||||
suppress_type=$FlowFixMeProps
|
|
||||||
suppress_type=$FlowFixMeState
|
|
||||||
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
|
|
||||||
|
|
||||||
[lints]
|
|
||||||
sketchy-null-number=warn
|
|
||||||
sketchy-null-mixed=warn
|
|
||||||
sketchy-number=warn
|
|
||||||
untyped-type-import=warn
|
|
||||||
nonstrict-import=warn
|
|
||||||
deprecated-type=warn
|
|
||||||
unsafe-getters-setters=warn
|
|
||||||
inexact-spread=warn
|
|
||||||
unnecessary-invariant=warn
|
|
||||||
signature-verification-failure=warn
|
|
||||||
deprecated-utility=error
|
|
||||||
|
|
||||||
[strict]
|
|
||||||
deprecated-type
|
|
||||||
nonstrict-import
|
|
||||||
sketchy-null
|
|
||||||
unclear-type
|
|
||||||
unsafe-getters-setters
|
|
||||||
untyped-import
|
|
||||||
untyped-type-import
|
|
||||||
|
|
||||||
[version]
|
|
||||||
^0.105.0
|
|
5
ReactNativeFastImageExample/.gitignore
vendored
Normal file → Executable file
5
ReactNativeFastImageExample/.gitignore
vendored
Normal file → Executable file
@ -20,6 +20,7 @@ DerivedData
|
|||||||
*.hmap
|
*.hmap
|
||||||
*.ipa
|
*.ipa
|
||||||
*.xcuserstate
|
*.xcuserstate
|
||||||
|
project.xcworkspace
|
||||||
|
|
||||||
# Android/IntelliJ
|
# Android/IntelliJ
|
||||||
#
|
#
|
||||||
@ -29,6 +30,10 @@ build/
|
|||||||
local.properties
|
local.properties
|
||||||
*.iml
|
*.iml
|
||||||
|
|
||||||
|
# Visual Studio Code
|
||||||
|
#
|
||||||
|
.vscode/
|
||||||
|
|
||||||
# node.js
|
# node.js
|
||||||
#
|
#
|
||||||
node_modules/
|
node_modules/
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* @format
|
|
||||||
*/
|
|
||||||
|
|
||||||
import 'react-native'
|
|
||||||
import React from 'react'
|
|
||||||
import App from '../App'
|
|
||||||
|
|
||||||
// Note: test renderer must be required after react-native.
|
|
||||||
import renderer from 'react-test-renderer'
|
|
||||||
|
|
||||||
it('renders correctly', () => {
|
|
||||||
renderer.create(<App />)
|
|
||||||
})
|
|
9
ReactNativeFastImageExample/__tests__/App-test.tsx
Normal file
9
ReactNativeFastImageExample/__tests__/App-test.tsx
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* @format
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const _ = 0
|
||||||
|
|
||||||
|
it('adds', () => {
|
||||||
|
expect(2 + 2).toBe(4)
|
||||||
|
})
|
0
ReactNativeFastImageExample/android/app/_BUCK
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/_BUCK
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/build.gradle
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/build.gradle
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/src/main/AndroidManifest.xml
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/src/main/AndroidManifest.xml
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/src/main/res/values/strings.xml
Normal file → Executable file
0
ReactNativeFastImageExample/android/app/src/main/res/values/strings.xml
Normal file → Executable file
0
ReactNativeFastImageExample/android/settings.gradle
Normal file → Executable file
0
ReactNativeFastImageExample/android/settings.gradle
Normal file → Executable file
@ -230,9 +230,9 @@ PODS:
|
|||||||
- React-cxxreact (= 0.61.5)
|
- React-cxxreact (= 0.61.5)
|
||||||
- React-jsi (= 0.61.5)
|
- React-jsi (= 0.61.5)
|
||||||
- ReactCommon/jscallinvoker (= 0.61.5)
|
- ReactCommon/jscallinvoker (= 0.61.5)
|
||||||
- RNCMaskedView (0.1.6):
|
- RNCMaskedView (0.1.7):
|
||||||
- React
|
- React
|
||||||
- RNFastImage (7.0.2):
|
- RNFastImage (8.0.0):
|
||||||
- React
|
- React
|
||||||
- SDWebImage (~> 5.0)
|
- SDWebImage (~> 5.0)
|
||||||
- SDWebImageWebPCoder (~> 0.2.3)
|
- SDWebImageWebPCoder (~> 0.2.3)
|
||||||
@ -240,7 +240,7 @@ PODS:
|
|||||||
- React
|
- React
|
||||||
- RNReanimated (1.7.0):
|
- RNReanimated (1.7.0):
|
||||||
- React
|
- React
|
||||||
- RNScreens (2.2.0):
|
- RNScreens (2.3.0):
|
||||||
- React
|
- React
|
||||||
- RNVectorIcons (6.6.0):
|
- RNVectorIcons (6.6.0):
|
||||||
- React
|
- React
|
||||||
@ -394,11 +394,11 @@ SPEC CHECKSUMS:
|
|||||||
React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe
|
React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe
|
||||||
React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad
|
React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad
|
||||||
ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd
|
ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd
|
||||||
RNCMaskedView: a88953beefbd347a29072d9eba90e42945fe291e
|
RNCMaskedView: 76c40a1d41c3e2535df09246a2b5487f04de0814
|
||||||
RNFastImage: 9b0c22643872bb7494c8d87bbbb66cc4c0d9e7a2
|
RNFastImage: c104f15f04c4f68bd65c9645cc27900bbacd9cc7
|
||||||
RNGestureHandler: dde546180bf24af0b5f737c8ad04b6f3fa51609a
|
RNGestureHandler: dde546180bf24af0b5f737c8ad04b6f3fa51609a
|
||||||
RNReanimated: 031fe8d9ea93c2bd689a40f05320ef9d96f74d7f
|
RNReanimated: 031fe8d9ea93c2bd689a40f05320ef9d96f74d7f
|
||||||
RNScreens: 812b79d384e2bea7eebc4ec981469160d4948fd5
|
RNScreens: 03bf608b92ac0acf323f47d8f5b63a8f829340c8
|
||||||
RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4
|
RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4
|
||||||
SDWebImage: 4d5c027c935438f341ed33dbac53ff9f479922ca
|
SDWebImage: 4d5c027c935438f341ed33dbac53ff9f479922ca
|
||||||
SDWebImageWebPCoder: 947093edd1349d820c40afbd9f42acb6cdecd987
|
SDWebImageWebPCoder: 947093edd1349d820c40afbd9f42acb6cdecd987
|
||||||
|
@ -12,14 +12,14 @@
|
|||||||
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
|
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
|
||||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||||
1829EFD01EDCC120B36DC384 /* libPods-ReactNativeFastImageExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BA5F569BE99A43AAF170C1B2 /* libPods-ReactNativeFastImageExampleTests.a */; };
|
|
||||||
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
|
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
|
||||||
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||||
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||||
2DCD954D1E0B4F2C00145EB5 /* ReactNativeFastImageExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeFastImageExampleTests.m */; };
|
2DCD954D1E0B4F2C00145EB5 /* ReactNativeFastImageExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeFastImageExampleTests.m */; };
|
||||||
5B76F0ED936BBFCBF369D233 /* libPods-ReactNativeFastImageExample-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B7B0D2E9145E48BDA2976AA /* libPods-ReactNativeFastImageExample-tvOSTests.a */; };
|
7339F561B0CE29B728993582 /* libPods-ReactNativeFastImageExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5730E398098D985EEA94844D /* libPods-ReactNativeFastImageExampleTests.a */; };
|
||||||
8ED0B79327FA1A4B3B6281B4 /* libPods-ReactNativeFastImageExample-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 686792D106A578EEBD13F1AF /* libPods-ReactNativeFastImageExample-tvOS.a */; };
|
7BF37A49DF3174DEBBCD15AF /* libPods-ReactNativeFastImageExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3FA6DA7AADBA70EE7027384 /* libPods-ReactNativeFastImageExample.a */; };
|
||||||
F8C69D5180CB05D63857155A /* libPods-ReactNativeFastImageExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 80915DCF4D7BA073041627FB /* libPods-ReactNativeFastImageExample.a */; };
|
B589F39E663EF2DC2BE53734 /* libPods-ReactNativeFastImageExample-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 36F2D8488D887812E71A27EF /* libPods-ReactNativeFastImageExample-tvOSTests.a */; };
|
||||||
|
DCA1D63D4747298994E20087 /* libPods-ReactNativeFastImageExample-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D14914D6626685F198EBC65 /* libPods-ReactNativeFastImageExample-tvOS.a */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@ -44,7 +44,7 @@
|
|||||||
00E356EE1AD99517003FC87E /* ReactNativeFastImageExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ReactNativeFastImageExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
00E356EE1AD99517003FC87E /* ReactNativeFastImageExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ReactNativeFastImageExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
00E356F21AD99517003FC87E /* ReactNativeFastImageExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReactNativeFastImageExampleTests.m; sourceTree = "<group>"; };
|
00E356F21AD99517003FC87E /* ReactNativeFastImageExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReactNativeFastImageExampleTests.m; sourceTree = "<group>"; };
|
||||||
0EA7E3956412991EA7A2CA0C /* Pods-ReactNativeFastImageExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExampleTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExampleTests/Pods-ReactNativeFastImageExampleTests.release.xcconfig"; sourceTree = "<group>"; };
|
0D14914D6626685F198EBC65 /* libPods-ReactNativeFastImageExample-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExample-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
13B07F961A680F5B00A75B9A /* ReactNativeFastImageExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReactNativeFastImageExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
13B07F961A680F5B00A75B9A /* ReactNativeFastImageExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReactNativeFastImageExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ReactNativeFastImageExample/AppDelegate.h; sourceTree = "<group>"; };
|
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ReactNativeFastImageExample/AppDelegate.h; sourceTree = "<group>"; };
|
||||||
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ReactNativeFastImageExample/AppDelegate.m; sourceTree = "<group>"; };
|
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ReactNativeFastImageExample/AppDelegate.m; sourceTree = "<group>"; };
|
||||||
@ -52,21 +52,21 @@
|
|||||||
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ReactNativeFastImageExample/Images.xcassets; sourceTree = "<group>"; };
|
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ReactNativeFastImageExample/Images.xcassets; sourceTree = "<group>"; };
|
||||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeFastImageExample/Info.plist; sourceTree = "<group>"; };
|
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeFastImageExample/Info.plist; sourceTree = "<group>"; };
|
||||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ReactNativeFastImageExample/main.m; sourceTree = "<group>"; };
|
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ReactNativeFastImageExample/main.m; sourceTree = "<group>"; };
|
||||||
160E9822226B7DA14DDC0D14 /* Pods-ReactNativeFastImageExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExampleTests/Pods-ReactNativeFastImageExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
2D02E47B1E0B4A5D006451C7 /* ReactNativeFastImageExample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ReactNativeFastImageExample-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
2D02E47B1E0B4A5D006451C7 /* ReactNativeFastImageExample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ReactNativeFastImageExample-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
2D02E4901E0B4A5D006451C7 /* ReactNativeFastImageExample-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ReactNativeFastImageExample-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
2D02E4901E0B4A5D006451C7 /* ReactNativeFastImageExample-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ReactNativeFastImageExample-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
409CCB29044E2AF2ED6DF4BA /* Pods-ReactNativeFastImageExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample/Pods-ReactNativeFastImageExample.debug.xcconfig"; sourceTree = "<group>"; };
|
36F2D8488D887812E71A27EF /* libPods-ReactNativeFastImageExample-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExample-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
686792D106A578EEBD13F1AF /* libPods-ReactNativeFastImageExample-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExample-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
4BC30000AD6A26886DBE1546 /* Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOSTests/Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
73097A8CB6376953A4C77750 /* Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOSTests/Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
|
4F945D662771617B29FCC251 /* Pods-ReactNativeFastImageExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample/Pods-ReactNativeFastImageExample.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
80915DCF4D7BA073041627FB /* libPods-ReactNativeFastImageExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
5730E398098D985EEA94844D /* libPods-ReactNativeFastImageExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
9B7B0D2E9145E48BDA2976AA /* libPods-ReactNativeFastImageExample-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExample-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
5C5A3370DB6FCFF06A10F2A5 /* Pods-ReactNativeFastImageExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExampleTests/Pods-ReactNativeFastImageExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
A14530762FEF5633D3AEC4A8 /* Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOS/Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
|
8E2A7D7E62E9083CAA8F5E5A /* Pods-ReactNativeFastImageExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample/Pods-ReactNativeFastImageExample.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
AB6AC85AF5F7B0ACC2A0C2F9 /* Pods-ReactNativeFastImageExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample/Pods-ReactNativeFastImageExample.release.xcconfig"; sourceTree = "<group>"; };
|
90A992153999BEDA2888B03A /* Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOS/Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
B2ADAAD9246EF7C6F31DB94D /* Pods-ReactNativeFastImageExample-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOS.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOS/Pods-ReactNativeFastImageExample-tvOS.release.xcconfig"; sourceTree = "<group>"; };
|
B3FA6DA7AADBA70EE7027384 /* libPods-ReactNativeFastImageExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
BA5F569BE99A43AAF170C1B2 /* libPods-ReactNativeFastImageExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeFastImageExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
BDAC40DD72EAA22375172E5A /* Pods-ReactNativeFastImageExample-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOS.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOS/Pods-ReactNativeFastImageExample-tvOS.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
E38D7B34F535ED1EECB9B3FF /* Pods-ReactNativeFastImageExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExampleTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExampleTests/Pods-ReactNativeFastImageExampleTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
E4E0AD4EA9AF278B80494501 /* Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOSTests/Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
|
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
EE5420CCEC8C76218298A8A1 /* Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeFastImageExample-tvOSTests/Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -74,7 +74,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
1829EFD01EDCC120B36DC384 /* libPods-ReactNativeFastImageExampleTests.a in Frameworks */,
|
7339F561B0CE29B728993582 /* libPods-ReactNativeFastImageExampleTests.a in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -82,7 +82,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
F8C69D5180CB05D63857155A /* libPods-ReactNativeFastImageExample.a in Frameworks */,
|
7BF37A49DF3174DEBBCD15AF /* libPods-ReactNativeFastImageExample.a in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -90,7 +90,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
8ED0B79327FA1A4B3B6281B4 /* libPods-ReactNativeFastImageExample-tvOS.a in Frameworks */,
|
DCA1D63D4747298994E20087 /* libPods-ReactNativeFastImageExample-tvOS.a in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -98,7 +98,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
5B76F0ED936BBFCBF369D233 /* libPods-ReactNativeFastImageExample-tvOSTests.a in Frameworks */,
|
B589F39E663EF2DC2BE53734 /* libPods-ReactNativeFastImageExample-tvOSTests.a in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -136,34 +136,35 @@
|
|||||||
name = ReactNativeFastImageExample;
|
name = ReactNativeFastImageExample;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
24E013F858679DCB2ED70BF2 /* Pods */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
409CCB29044E2AF2ED6DF4BA /* Pods-ReactNativeFastImageExample.debug.xcconfig */,
|
|
||||||
AB6AC85AF5F7B0ACC2A0C2F9 /* Pods-ReactNativeFastImageExample.release.xcconfig */,
|
|
||||||
A14530762FEF5633D3AEC4A8 /* Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig */,
|
|
||||||
B2ADAAD9246EF7C6F31DB94D /* Pods-ReactNativeFastImageExample-tvOS.release.xcconfig */,
|
|
||||||
73097A8CB6376953A4C77750 /* Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig */,
|
|
||||||
EE5420CCEC8C76218298A8A1 /* Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig */,
|
|
||||||
160E9822226B7DA14DDC0D14 /* Pods-ReactNativeFastImageExampleTests.debug.xcconfig */,
|
|
||||||
0EA7E3956412991EA7A2CA0C /* Pods-ReactNativeFastImageExampleTests.release.xcconfig */,
|
|
||||||
);
|
|
||||||
path = Pods;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
|
2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
||||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
|
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
|
||||||
80915DCF4D7BA073041627FB /* libPods-ReactNativeFastImageExample.a */,
|
B3FA6DA7AADBA70EE7027384 /* libPods-ReactNativeFastImageExample.a */,
|
||||||
686792D106A578EEBD13F1AF /* libPods-ReactNativeFastImageExample-tvOS.a */,
|
0D14914D6626685F198EBC65 /* libPods-ReactNativeFastImageExample-tvOS.a */,
|
||||||
9B7B0D2E9145E48BDA2976AA /* libPods-ReactNativeFastImageExample-tvOSTests.a */,
|
36F2D8488D887812E71A27EF /* libPods-ReactNativeFastImageExample-tvOSTests.a */,
|
||||||
BA5F569BE99A43AAF170C1B2 /* libPods-ReactNativeFastImageExampleTests.a */,
|
5730E398098D985EEA94844D /* libPods-ReactNativeFastImageExampleTests.a */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
2DE285898A0F182C8C14FF24 /* Pods */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
8E2A7D7E62E9083CAA8F5E5A /* Pods-ReactNativeFastImageExample.debug.xcconfig */,
|
||||||
|
4F945D662771617B29FCC251 /* Pods-ReactNativeFastImageExample.release.xcconfig */,
|
||||||
|
90A992153999BEDA2888B03A /* Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig */,
|
||||||
|
BDAC40DD72EAA22375172E5A /* Pods-ReactNativeFastImageExample-tvOS.release.xcconfig */,
|
||||||
|
E4E0AD4EA9AF278B80494501 /* Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig */,
|
||||||
|
4BC30000AD6A26886DBE1546 /* Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig */,
|
||||||
|
5C5A3370DB6FCFF06A10F2A5 /* Pods-ReactNativeFastImageExampleTests.debug.xcconfig */,
|
||||||
|
E38D7B34F535ED1EECB9B3FF /* Pods-ReactNativeFastImageExampleTests.release.xcconfig */,
|
||||||
|
);
|
||||||
|
name = Pods;
|
||||||
|
path = Pods;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
|
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -179,7 +180,7 @@
|
|||||||
00E356EF1AD99517003FC87E /* ReactNativeFastImageExampleTests */,
|
00E356EF1AD99517003FC87E /* ReactNativeFastImageExampleTests */,
|
||||||
83CBBA001A601CBA00E9B192 /* Products */,
|
83CBBA001A601CBA00E9B192 /* Products */,
|
||||||
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
||||||
24E013F858679DCB2ED70BF2 /* Pods */,
|
2DE285898A0F182C8C14FF24 /* Pods */,
|
||||||
);
|
);
|
||||||
indentWidth = 2;
|
indentWidth = 2;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -204,7 +205,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExampleTests" */;
|
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExampleTests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
A3C904C455880AE5C8CB30A7 /* [CP] Check Pods Manifest.lock */,
|
90A0F6843DD36E00EDE760E7 /* [CP] Check Pods Manifest.lock */,
|
||||||
00E356EA1AD99517003FC87E /* Sources */,
|
00E356EA1AD99517003FC87E /* Sources */,
|
||||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||||
00E356EC1AD99517003FC87E /* Resources */,
|
00E356EC1AD99517003FC87E /* Resources */,
|
||||||
@ -223,13 +224,13 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExample" */;
|
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExample" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
C9EF48499D14DC6AAB1055EB /* [CP] Check Pods Manifest.lock */,
|
1C29FF70A1275C410D1130E7 /* [CP] Check Pods Manifest.lock */,
|
||||||
FD10A7F022414F080027D42C /* Start Packager */,
|
FD10A7F022414F080027D42C /* Start Packager */,
|
||||||
13B07F871A680F5B00A75B9A /* Sources */,
|
13B07F871A680F5B00A75B9A /* Sources */,
|
||||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||||
3F4B7383C8858047AC768489 /* [CP] Copy Pods Resources */,
|
0E5D58080FA5BEA5649E01E2 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -244,7 +245,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExample-tvOS" */;
|
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExample-tvOS" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
88C215EF52A3D9B37FC84F38 /* [CP] Check Pods Manifest.lock */,
|
8B78132A37384AECF84133EB /* [CP] Check Pods Manifest.lock */,
|
||||||
FD10A7F122414F3F0027D42C /* Start Packager */,
|
FD10A7F122414F3F0027D42C /* Start Packager */,
|
||||||
2D02E4771E0B4A5D006451C7 /* Sources */,
|
2D02E4771E0B4A5D006451C7 /* Sources */,
|
||||||
2D02E4781E0B4A5D006451C7 /* Frameworks */,
|
2D02E4781E0B4A5D006451C7 /* Frameworks */,
|
||||||
@ -264,7 +265,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExample-tvOSTests" */;
|
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ReactNativeFastImageExample-tvOSTests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
774E6DFD9644F561C28BE978 /* [CP] Check Pods Manifest.lock */,
|
12AE9A278A527C278C4A502D /* [CP] Check Pods Manifest.lock */,
|
||||||
2D02E48C1E0B4A5D006451C7 /* Sources */,
|
2D02E48C1E0B4A5D006451C7 /* Sources */,
|
||||||
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
|
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
|
||||||
2D02E48E1E0B4A5D006451C7 /* Resources */,
|
2D02E48E1E0B4A5D006451C7 /* Resources */,
|
||||||
@ -308,7 +309,6 @@
|
|||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
English,
|
|
||||||
en,
|
en,
|
||||||
Base,
|
Base,
|
||||||
);
|
);
|
||||||
@ -374,21 +374,7 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||||
};
|
};
|
||||||
2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
|
0E5D58080FA5BEA5649E01E2 /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "Bundle React Native Code And Images";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
|
||||||
};
|
|
||||||
3F4B7383C8858047AC768489 /* [CP] Copy Pods Resources */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -436,7 +422,7 @@
|
|||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeFastImageExample/Pods-ReactNativeFastImageExample-resources.sh\"\n";
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeFastImageExample/Pods-ReactNativeFastImageExample-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
774E6DFD9644F561C28BE978 /* [CP] Check Pods Manifest.lock */ = {
|
12AE9A278A527C278C4A502D /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -458,7 +444,43 @@
|
|||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
88C215EF52A3D9B37FC84F38 /* [CP] Check Pods Manifest.lock */ = {
|
1C29FF70A1275C410D1130E7 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||||
|
"${PODS_ROOT}/Manifest.lock",
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
"$(DERIVED_FILE_DIR)/Pods-ReactNativeFastImageExample-checkManifestLockResult.txt",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "Bundle React Native Code And Images";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||||
|
};
|
||||||
|
8B78132A37384AECF84133EB /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -480,7 +502,7 @@
|
|||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
A3C904C455880AE5C8CB30A7 /* [CP] Check Pods Manifest.lock */ = {
|
90A0F6843DD36E00EDE760E7 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -502,28 +524,6 @@
|
|||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
C9EF48499D14DC6AAB1055EB /* [CP] Check Pods Manifest.lock */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
||||||
"${PODS_ROOT}/Manifest.lock",
|
|
||||||
);
|
|
||||||
name = "[CP] Check Pods Manifest.lock";
|
|
||||||
outputFileListPaths = (
|
|
||||||
);
|
|
||||||
outputPaths = (
|
|
||||||
"$(DERIVED_FILE_DIR)/Pods-ReactNativeFastImageExample-checkManifestLockResult.txt",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
FD10A7F022414F080027D42C /* Start Packager */ = {
|
FD10A7F022414F080027D42C /* Start Packager */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -629,7 +629,7 @@
|
|||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
00E356F61AD99517003FC87E /* Debug */ = {
|
00E356F61AD99517003FC87E /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 160E9822226B7DA14DDC0D14 /* Pods-ReactNativeFastImageExampleTests.debug.xcconfig */;
|
baseConfigurationReference = 5C5A3370DB6FCFF06A10F2A5 /* Pods-ReactNativeFastImageExampleTests.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
@ -652,7 +652,7 @@
|
|||||||
};
|
};
|
||||||
00E356F71AD99517003FC87E /* Release */ = {
|
00E356F71AD99517003FC87E /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 0EA7E3956412991EA7A2CA0C /* Pods-ReactNativeFastImageExampleTests.release.xcconfig */;
|
baseConfigurationReference = E38D7B34F535ED1EECB9B3FF /* Pods-ReactNativeFastImageExampleTests.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
@ -672,7 +672,7 @@
|
|||||||
};
|
};
|
||||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 409CCB29044E2AF2ED6DF4BA /* Pods-ReactNativeFastImageExample.debug.xcconfig */;
|
baseConfigurationReference = 8E2A7D7E62E9083CAA8F5E5A /* Pods-ReactNativeFastImageExample.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
@ -692,7 +692,7 @@
|
|||||||
};
|
};
|
||||||
13B07F951A680F5B00A75B9A /* Release */ = {
|
13B07F951A680F5B00A75B9A /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = AB6AC85AF5F7B0ACC2A0C2F9 /* Pods-ReactNativeFastImageExample.release.xcconfig */;
|
baseConfigurationReference = 4F945D662771617B29FCC251 /* Pods-ReactNativeFastImageExample.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
@ -711,7 +711,7 @@
|
|||||||
};
|
};
|
||||||
2D02E4971E0B4A5E006451C7 /* Debug */ = {
|
2D02E4971E0B4A5E006451C7 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = A14530762FEF5633D3AEC4A8 /* Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig */;
|
baseConfigurationReference = 90A992153999BEDA2888B03A /* Pods-ReactNativeFastImageExample-tvOS.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||||
@ -739,7 +739,7 @@
|
|||||||
};
|
};
|
||||||
2D02E4981E0B4A5E006451C7 /* Release */ = {
|
2D02E4981E0B4A5E006451C7 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = B2ADAAD9246EF7C6F31DB94D /* Pods-ReactNativeFastImageExample-tvOS.release.xcconfig */;
|
baseConfigurationReference = BDAC40DD72EAA22375172E5A /* Pods-ReactNativeFastImageExample-tvOS.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||||
@ -767,7 +767,7 @@
|
|||||||
};
|
};
|
||||||
2D02E4991E0B4A5E006451C7 /* Debug */ = {
|
2D02E4991E0B4A5E006451C7 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 73097A8CB6376953A4C77750 /* Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig */;
|
baseConfigurationReference = E4E0AD4EA9AF278B80494501 /* Pods-ReactNativeFastImageExample-tvOSTests.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
@ -794,7 +794,7 @@
|
|||||||
};
|
};
|
||||||
2D02E49A1E0B4A5E006451C7 /* Release */ = {
|
2D02E49A1E0B4A5E006451C7 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = EE5420CCEC8C76218298A8A1 /* Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig */;
|
baseConfigurationReference = 4BC30000AD6A26886DBE1546 /* Pods-ReactNativeFastImageExample-tvOSTests.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>IDEDidComputeMac32BitWarning</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -5,9 +5,20 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"android": "react-native run-android",
|
"android": "react-native run-android",
|
||||||
"ios": "react-native run-ios",
|
"ios": "react-native run-ios",
|
||||||
|
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
|
||||||
"start": "react-native start",
|
"start": "react-native start",
|
||||||
"test": "jest",
|
"test": "jest"
|
||||||
"lint": "eslint ."
|
},
|
||||||
|
"jest": {
|
||||||
|
"moduleFileExtensions": [
|
||||||
|
"ts",
|
||||||
|
"tsx",
|
||||||
|
"js",
|
||||||
|
"jsx",
|
||||||
|
"json",
|
||||||
|
"node"
|
||||||
|
],
|
||||||
|
"preset": "react-native"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-native-community/masked-view": "^0.1.7",
|
"@react-native-community/masked-view": "^0.1.7",
|
||||||
@ -16,7 +27,7 @@
|
|||||||
"@react-navigation/stack": "^5.1.0",
|
"@react-navigation/stack": "^5.1.0",
|
||||||
"react": "16.9.0",
|
"react": "16.9.0",
|
||||||
"react-native": "0.61.5",
|
"react-native": "0.61.5",
|
||||||
"react-native-fast-image": "../react-native-fast-image-8.0.0.tgz",
|
"react-native-fast-image": "^8.1.3",
|
||||||
"react-native-gesture-handler": "^1.6.0",
|
"react-native-gesture-handler": "^1.6.0",
|
||||||
"react-native-image-picker": "^2.3.1",
|
"react-native-image-picker": "^2.3.1",
|
||||||
"react-native-image-progress": "^1.1.1",
|
"react-native-image-progress": "^1.1.1",
|
||||||
@ -25,20 +36,23 @@
|
|||||||
"react-native-screens": "^2.2.0",
|
"react-native-screens": "^2.2.0",
|
||||||
"react-native-status-bar-height": "^2.1.0",
|
"react-native-status-bar-height": "^2.1.0",
|
||||||
"react-native-vector-icons": "^6.6.0",
|
"react-native-vector-icons": "^6.6.0",
|
||||||
"react-timeout": "^1.1.2",
|
"react-timeout": "^1.1.2"
|
||||||
"uuid": "^7.0.1"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.6.2",
|
"@babel/core": "^7.6.2",
|
||||||
"@babel/runtime": "^7.6.2",
|
"@babel/runtime": "^7.6.2",
|
||||||
"@react-native-community/eslint-config": "^0.0.5",
|
"@react-native-community/eslint-config": "^0.0.5",
|
||||||
|
"@types/jest": "^24.0.24",
|
||||||
|
"@types/react-native": "^0.60.25",
|
||||||
|
"@types/react-native-vector-icons": "^6.4.5",
|
||||||
|
"@types/react-test-renderer": "16.9.1",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^2.12.0",
|
||||||
|
"@typescript-eslint/parser": "^2.12.0",
|
||||||
"babel-jest": "^24.9.0",
|
"babel-jest": "^24.9.0",
|
||||||
"eslint": "^6.5.1",
|
"eslint": "^6.5.1",
|
||||||
"jest": "^24.9.0",
|
"jest": "^24.9.0",
|
||||||
"metro-react-native-babel-preset": "^0.56.0",
|
"metro-react-native-babel-preset": "^0.56.0",
|
||||||
"react-test-renderer": "16.9.0"
|
"react-test-renderer": "16.9.0",
|
||||||
},
|
"typescript": "^3.8.3"
|
||||||
"jest": {
|
|
||||||
"preset": "react-native"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,20 +2,35 @@ import React, { Component } from 'react'
|
|||||||
import { StyleSheet, View } from 'react-native'
|
import { StyleSheet, View } from 'react-native'
|
||||||
import withCacheBust from './withCacheBust'
|
import withCacheBust from './withCacheBust'
|
||||||
import SectionFlex from './SectionFlex'
|
import SectionFlex from './SectionFlex'
|
||||||
import FastImage from 'react-native-fast-image'
|
import FastImage, { FastImageProps } from 'react-native-fast-image'
|
||||||
import Section from './Section'
|
import Section from './Section'
|
||||||
import FeatureText from './FeatureText'
|
import FeatureText from './FeatureText'
|
||||||
|
|
||||||
const GIF_URL =
|
const GIF_URL =
|
||||||
'https://cdn-images-1.medium.com/max/1600/1*-CY5bU4OqiJRox7G00sftw.gif'
|
'https://cdn-images-1.medium.com/max/1600/1*-CY5bU4OqiJRox7G00sftw.gif'
|
||||||
|
|
||||||
class AutoSizingImage extends Component {
|
interface AutoSizingImageProps extends FastImageProps {
|
||||||
|
onLoad?: (event: any) => void
|
||||||
|
defaultHeight?: number
|
||||||
|
width: number
|
||||||
|
style?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
interface AutoSizingImageState {
|
||||||
|
height: number
|
||||||
|
width: number
|
||||||
|
}
|
||||||
|
|
||||||
|
class AutoSizingImage extends Component<
|
||||||
|
AutoSizingImageProps,
|
||||||
|
AutoSizingImageState
|
||||||
|
> {
|
||||||
state = {
|
state = {
|
||||||
height: 0,
|
height: 0,
|
||||||
width: 0,
|
width: 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
onLoad = e => {
|
onLoad = (e: any) => {
|
||||||
const {
|
const {
|
||||||
nativeEvent: { width, height },
|
nativeEvent: { width, height },
|
||||||
} = e
|
} = e
|
||||||
@ -27,7 +42,9 @@ class AutoSizingImage extends Component {
|
|||||||
|
|
||||||
getHeight = () => {
|
getHeight = () => {
|
||||||
if (!this.state.height) {
|
if (!this.state.height) {
|
||||||
return this.props.defaultHeight
|
return this.props.defaultHeight === undefined
|
||||||
|
? 300
|
||||||
|
: this.props.defaultHeight
|
||||||
}
|
}
|
||||||
const ratio = this.state.height / this.state.width
|
const ratio = this.state.height / this.state.width
|
||||||
const height = this.props.width * ratio
|
const height = this.props.width * ratio
|
||||||
@ -46,11 +63,12 @@ class AutoSizingImage extends Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AutoSizingImage.defaultProps = {
|
interface AutoSizeExampleProps {
|
||||||
defaultHeight: 300,
|
onPressReload: () => void
|
||||||
|
bust: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const AutoSizeExample = ({ onPressReload, bust }) => (
|
const AutoSizeExample = ({ onPressReload, bust }: AutoSizeExampleProps) => (
|
||||||
<View>
|
<View>
|
||||||
<Section>
|
<Section>
|
||||||
<FeatureText text="• AutoSize." />
|
<FeatureText text="• AutoSize." />
|
@ -8,7 +8,15 @@ import FeatureText from './FeatureText'
|
|||||||
|
|
||||||
const IMAGE_URL = 'https://media.giphy.com/media/GEsoqZDGVoisw/giphy.gif'
|
const IMAGE_URL = 'https://media.giphy.com/media/GEsoqZDGVoisw/giphy.gif'
|
||||||
|
|
||||||
const BorderRadiusExample = ({ onPressReload, bust }) => (
|
interface BorderRadiusExampleProps {
|
||||||
|
onPressReload: () => void
|
||||||
|
bust: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const BorderRadiusExample = ({
|
||||||
|
onPressReload,
|
||||||
|
bust,
|
||||||
|
}: BorderRadiusExampleProps) => (
|
||||||
<View>
|
<View>
|
||||||
<Section>
|
<Section>
|
||||||
<FeatureText text="• Border radius." />
|
<FeatureText text="• Border radius." />
|
@ -1,7 +1,12 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import FeatureText from './FeatureText'
|
import FeatureText from './FeatureText'
|
||||||
|
|
||||||
const BulletText = ({ text, children }) => (
|
interface BulletTextProps {
|
||||||
|
text?: string
|
||||||
|
children?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
const BulletText = ({ text, children }: BulletTextProps) => (
|
||||||
<FeatureText text={`• ${text || children} •`} />
|
<FeatureText text={`• ${text || children} •`} />
|
||||||
)
|
)
|
||||||
|
|
@ -1,7 +1,12 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
|
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
|
||||||
|
|
||||||
const Button = ({ text, onPress }) => (
|
interface ButtonProps {
|
||||||
|
text: string
|
||||||
|
onPress: () => void
|
||||||
|
}
|
||||||
|
|
||||||
|
const Button = ({ text, onPress }: ButtonProps) => (
|
||||||
<TouchableOpacity onPress={onPress}>
|
<TouchableOpacity onPress={onPress}>
|
||||||
<View style={styles.button}>
|
<View style={styles.button}>
|
||||||
<Text style={styles.text}>{text}</Text>
|
<Text style={styles.text}>{text}</Text>
|
@ -1,12 +0,0 @@
|
|||||||
import React from 'react'
|
|
||||||
import { StyleSheet, Text } from 'react-native'
|
|
||||||
|
|
||||||
export default ({ text, style, children }) => (
|
|
||||||
<Text style={[styles.style, style]}>{text || children}</Text>
|
|
||||||
)
|
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
|
||||||
style: {
|
|
||||||
color: '#222',
|
|
||||||
},
|
|
||||||
})
|
|
22
ReactNativeFastImageExample/src/FeatureText.tsx
Normal file
22
ReactNativeFastImageExample/src/FeatureText.tsx
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import { StyleSheet, Text } from 'react-native'
|
||||||
|
|
||||||
|
interface FeatureTextProps {
|
||||||
|
text?: string
|
||||||
|
style?: any
|
||||||
|
children?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FeatureText({
|
||||||
|
text,
|
||||||
|
style,
|
||||||
|
children,
|
||||||
|
}: FeatureTextProps) {
|
||||||
|
return <Text style={[styles.style, style]}>{text || children}</Text>
|
||||||
|
}
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
style: {
|
||||||
|
color: '#222',
|
||||||
|
},
|
||||||
|
})
|
@ -9,7 +9,12 @@ import FeatureText from './FeatureText'
|
|||||||
const GIF_URL =
|
const GIF_URL =
|
||||||
'https://cdn-images-1.medium.com/max/1600/1*-CY5bU4OqiJRox7G00sftw.gif'
|
'https://cdn-images-1.medium.com/max/1600/1*-CY5bU4OqiJRox7G00sftw.gif'
|
||||||
|
|
||||||
const GifExample = ({ onPressReload, bust }) => (
|
interface GifExampleProps {
|
||||||
|
onPressReload: () => void
|
||||||
|
bust: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
const GifExample = ({ onPressReload, bust }: GifExampleProps) => (
|
||||||
<View>
|
<View>
|
||||||
<Section>
|
<Section>
|
||||||
<FeatureText text="• GIF support." />
|
<FeatureText text="• GIF support." />
|
@ -1,7 +1,13 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import Base from 'react-native-vector-icons/Ionicons'
|
import Base from 'react-native-vector-icons/Ionicons'
|
||||||
|
|
||||||
export function Icon({ size, name, color }) {
|
interface IconProps {
|
||||||
|
size?: number
|
||||||
|
name: string
|
||||||
|
color: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export function Icon({ size, name, color }: IconProps) {
|
||||||
return (
|
return (
|
||||||
<Base
|
<Base
|
||||||
name={name}
|
name={name}
|
@ -1,26 +1,45 @@
|
|||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import { FlatList, StyleSheet, Text, View } from 'react-native'
|
import {
|
||||||
|
FlatList,
|
||||||
|
StyleSheet,
|
||||||
|
Text,
|
||||||
|
View,
|
||||||
|
LayoutChangeEvent,
|
||||||
|
} from 'react-native'
|
||||||
import StatusBarUnderlay, { STATUS_BAR_HEIGHT } from './StatusBarUnderlay'
|
import StatusBarUnderlay, { STATUS_BAR_HEIGHT } from './StatusBarUnderlay'
|
||||||
|
|
||||||
const getImageUrl = (id, width, height) =>
|
const getImageUrl = (id: string, width: number, height: number) =>
|
||||||
`https://unsplash.it/${width}/${height}?image=${id}`
|
`https://unsplash.it/${width}/${height}?image=${id}`
|
||||||
|
|
||||||
class ImageGrid extends Component {
|
interface ImageGridProps {
|
||||||
constructor(props) {
|
ImageComponent: React.ComponentType<any>
|
||||||
super(props)
|
}
|
||||||
|
|
||||||
|
interface ImageGridState {
|
||||||
|
images: any[]
|
||||||
|
itemHeight: number
|
||||||
|
error?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
class ImageGrid extends Component<ImageGridProps, ImageGridState> {
|
||||||
|
constructor(props: ImageGridProps) {
|
||||||
|
super(props)
|
||||||
fetch('https://unsplash.it/list')
|
fetch('https://unsplash.it/list')
|
||||||
.then(res => res.json())
|
.then(res => res.json())
|
||||||
.then(this._onFetchImagesSuccess)
|
.then(this._onFetchImagesSuccess)
|
||||||
.catch(this._onFetchImagesError)
|
.catch(this._onFetchImagesError)
|
||||||
}
|
}
|
||||||
|
|
||||||
state = {
|
state: {
|
||||||
|
images: any[]
|
||||||
|
itemHeight: number
|
||||||
|
error?: any
|
||||||
|
} = {
|
||||||
images: [],
|
images: [],
|
||||||
itemHeight: 0,
|
itemHeight: 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
_onLayout = e => {
|
_onLayout = (e: LayoutChangeEvent) => {
|
||||||
const width = e.nativeEvent.layout.width
|
const width = e.nativeEvent.layout.width
|
||||||
this.setState({
|
this.setState({
|
||||||
itemHeight: width / 4,
|
itemHeight: width / 4,
|
||||||
@ -33,18 +52,18 @@ class ImageGrid extends Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
_onFetchImagesSuccess = images => {
|
_onFetchImagesSuccess = (images: any[]) => {
|
||||||
this.setState({
|
this.setState({
|
||||||
images,
|
images,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
_getItemLayout = (data, index) => {
|
_getItemLayout = (_: any, index: number) => {
|
||||||
const { itemHeight } = this.state
|
const { itemHeight } = this.state
|
||||||
return { length: itemHeight, offset: itemHeight * index, index }
|
return { length: itemHeight, offset: itemHeight * index, index }
|
||||||
}
|
}
|
||||||
|
|
||||||
_renderItem = ({ item }) => {
|
_renderItem = ({ item }: { item: any }) => {
|
||||||
const ImageComponent = this.props.ImageComponent
|
const ImageComponent = this.props.ImageComponent
|
||||||
const uri = getImageUrl(item.id, 100, 100)
|
const uri = getImageUrl(item.id, 100, 100)
|
||||||
return (
|
return (
|
||||||
@ -54,7 +73,7 @@ class ImageGrid extends Component {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
_extractKey = item => {
|
_extractKey = (item: any) => {
|
||||||
return item.id
|
return item.id
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,8 +130,8 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
image: {
|
image: {
|
||||||
flex: 1,
|
flex: 1,
|
||||||
width: null,
|
width: null as any,
|
||||||
height: null,
|
height: null as any,
|
||||||
margin: MARGIN,
|
margin: MARGIN,
|
||||||
backgroundColor: '#eee',
|
backgroundColor: '#eee',
|
||||||
},
|
},
|
@ -1,17 +1,28 @@
|
|||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native'
|
import {
|
||||||
|
StyleSheet,
|
||||||
|
View,
|
||||||
|
Text,
|
||||||
|
TouchableOpacity,
|
||||||
|
ViewProps,
|
||||||
|
} from 'react-native'
|
||||||
import withCacheBust from './withCacheBust'
|
import withCacheBust from './withCacheBust'
|
||||||
import FastImage from 'react-native-fast-image'
|
import FastImage, { FastImageProps, Source } from 'react-native-fast-image'
|
||||||
import Section from './Section'
|
import Section from './Section'
|
||||||
import FeatureText from './FeatureText'
|
import FeatureText from './FeatureText'
|
||||||
import FieldsImage from './images/fields.jpg'
|
import FieldsBase64 from './images/fields'
|
||||||
import FieldsBase64 from './images/fields.js'
|
|
||||||
import FieldsWebP from './images/fields.webp'
|
|
||||||
import JellyfishGIF from './images/jellyfish.gif'
|
|
||||||
import JellyfishWebP from './images/jellyfish.webp'
|
|
||||||
import ImagePicker from 'react-native-image-picker'
|
import ImagePicker from 'react-native-image-picker'
|
||||||
import BulletText from './BulletText'
|
import BulletText from './BulletText'
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
import FieldsImage from './images/fields.jpg'
|
||||||
|
// @ts-ignore
|
||||||
|
import FieldsWebP from './images/fields.webp'
|
||||||
|
// @ts-ignore
|
||||||
|
import JellyfishGIF from './images/jellyfish.gif'
|
||||||
|
// @ts-ignore
|
||||||
|
import JellyfishWebP from './images/jellyfish.webp'
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
title: 'Select Avatar',
|
title: 'Select Avatar',
|
||||||
customButtons: [{ name: 'fb', title: 'Choose Photo from Facebook' }],
|
customButtons: [{ name: 'fb', title: 'Choose Photo from Facebook' }],
|
||||||
@ -21,21 +32,32 @@ const options = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
const Image = ({ source, ...p }) => (
|
const Image = ({ source, ...p }: FastImageProps) => (
|
||||||
<FastImage style={styles.imageSquare} source={source} {...p} />
|
<FastImage style={styles.imageSquare} source={source} {...p} />
|
||||||
)
|
)
|
||||||
|
|
||||||
const Row = p => <View style={styles.row} {...p} />
|
const Row: React.ComponentType<ViewProps> = (p: ViewProps) => (
|
||||||
|
<View style={styles.row} {...p} />
|
||||||
|
)
|
||||||
|
|
||||||
const Example = ({ name, source }) => (
|
interface ExampleProps {
|
||||||
|
name: string
|
||||||
|
source: any
|
||||||
|
}
|
||||||
|
|
||||||
|
const Example = ({ name, source }: ExampleProps) => (
|
||||||
<Row>
|
<Row>
|
||||||
<BulletText>{name}</BulletText>
|
<BulletText>{name}</BulletText>
|
||||||
<Image source={source} />
|
<Image source={source} />
|
||||||
</Row>
|
</Row>
|
||||||
)
|
)
|
||||||
|
|
||||||
class PhotoExample extends Component {
|
interface PhotoExampleState {
|
||||||
state = {}
|
image?: Source
|
||||||
|
}
|
||||||
|
|
||||||
|
class PhotoExample extends Component<{}, PhotoExampleState> {
|
||||||
|
state: PhotoExampleState = {}
|
||||||
|
|
||||||
pick = () => {
|
pick = () => {
|
||||||
ImagePicker.showImagePicker(options, response => {
|
ImagePicker.showImagePicker(options, response => {
|
||||||
@ -59,7 +81,10 @@ class PhotoExample extends Component {
|
|||||||
<Row>
|
<Row>
|
||||||
<BulletText>photo library</BulletText>
|
<BulletText>photo library</BulletText>
|
||||||
<TouchableOpacity onPress={this.pick}>
|
<TouchableOpacity onPress={this.pick}>
|
||||||
<Image style={styles.imageSquare} source={this.state.image}>
|
<Image
|
||||||
|
style={styles.imageSquare}
|
||||||
|
source={this.state.image || 0}
|
||||||
|
>
|
||||||
<Text style={styles.pickPhoto}>Pick Photo</Text>
|
<Text style={styles.pickPhoto}>Pick Photo</Text>
|
||||||
</Image>
|
</Image>
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
@ -4,8 +4,8 @@ import SectionFlex from './SectionFlex'
|
|||||||
import FastImage from 'react-native-fast-image'
|
import FastImage from 'react-native-fast-image'
|
||||||
import Section from './Section'
|
import Section from './Section'
|
||||||
import FeatureText from './FeatureText'
|
import FeatureText from './FeatureText'
|
||||||
import { v4 as uuid } from 'uuid'
|
|
||||||
import Button from './Button'
|
import Button from './Button'
|
||||||
|
// @ts-ignore
|
||||||
import { createImageProgress } from 'react-native-image-progress'
|
import { createImageProgress } from 'react-native-image-progress'
|
||||||
|
|
||||||
const IMAGE_URL =
|
const IMAGE_URL =
|
||||||
@ -13,14 +13,16 @@ const IMAGE_URL =
|
|||||||
|
|
||||||
const Image = createImageProgress(FastImage)
|
const Image = createImageProgress(FastImage)
|
||||||
|
|
||||||
class PreloadExample extends Component {
|
interface PreloadExampleProps {}
|
||||||
|
|
||||||
|
class PreloadExample extends Component<PreloadExampleProps> {
|
||||||
state = {
|
state = {
|
||||||
show: false,
|
show: false,
|
||||||
url: IMAGE_URL,
|
url: IMAGE_URL,
|
||||||
}
|
}
|
||||||
|
|
||||||
bustCache = () => {
|
bustCache = () => {
|
||||||
const key = uuid()
|
const key = Math.random().toString()
|
||||||
const bust = `?bust=${key}`
|
const bust = `?bust=${key}`
|
||||||
// Preload images. This can be called anywhere.
|
// Preload images. This can be called anywhere.
|
||||||
const url = IMAGE_URL + bust
|
const url = IMAGE_URL + bust
|
||||||
@ -45,10 +47,7 @@ class PreloadExample extends Component {
|
|||||||
<FeatureText text="• Preloading." />
|
<FeatureText text="• Preloading." />
|
||||||
<FeatureText text="• Progress indication using react-native-image-progress." />
|
<FeatureText text="• Progress indication using react-native-image-progress." />
|
||||||
</Section>
|
</Section>
|
||||||
<SectionFlex
|
<SectionFlex style={styles.section}>
|
||||||
style={styles.section}
|
|
||||||
onPress={this.props.onPressReload}
|
|
||||||
>
|
|
||||||
{this.state.show ? (
|
{this.state.show ? (
|
||||||
<Image
|
<Image
|
||||||
style={styles.image}
|
style={styles.image}
|
@ -6,7 +6,7 @@ import Section from './Section'
|
|||||||
import SectionFlex from './SectionFlex'
|
import SectionFlex from './SectionFlex'
|
||||||
import FeatureText from './FeatureText'
|
import FeatureText from './FeatureText'
|
||||||
|
|
||||||
const getImageUrl = (id, width, height) =>
|
const getImageUrl = (id: string, width: number, height: number) =>
|
||||||
`https://source.unsplash.com/${id}/${width}x${height}`
|
`https://source.unsplash.com/${id}/${width}x${height}`
|
||||||
const IMAGE_SIZE = 1024
|
const IMAGE_SIZE = 1024
|
||||||
const IMAGE_SIZE_PX = PixelRatio.getPixelSizeForLayoutSize(IMAGE_SIZE)
|
const IMAGE_SIZE_PX = PixelRatio.getPixelSizeForLayoutSize(IMAGE_SIZE)
|
||||||
@ -16,7 +16,12 @@ const IMAGE_URLS = [
|
|||||||
getImageUrl('S7VCcp6KCKE', IMAGE_SIZE, IMAGE_SIZE),
|
getImageUrl('S7VCcp6KCKE', IMAGE_SIZE, IMAGE_SIZE),
|
||||||
]
|
]
|
||||||
|
|
||||||
const PriorityExample = ({ onPressReload, bust }) => (
|
interface PriorityExampleProps {
|
||||||
|
onPressReload: () => void
|
||||||
|
bust: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const PriorityExample = ({ onPressReload, bust }: PriorityExampleProps) => (
|
||||||
<View>
|
<View>
|
||||||
<Section>
|
<Section>
|
||||||
<FeatureText text="• Prioritize images (low, normal, high)." />
|
<FeatureText text="• Prioritize images (low, normal, high)." />
|
@ -8,9 +8,24 @@ import FeatureText from './FeatureText'
|
|||||||
|
|
||||||
const IMAGE_URL = 'https://media.giphy.com/media/GEsoqZDGVoisw/giphy.gif'
|
const IMAGE_URL = 'https://media.giphy.com/media/GEsoqZDGVoisw/giphy.gif'
|
||||||
|
|
||||||
class ProgressExample extends Component {
|
interface ProgressExampleProps {
|
||||||
state = {
|
onPressReload: () => void
|
||||||
mount: new Date(),
|
bust: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ProgressExampleState {
|
||||||
|
mount: number
|
||||||
|
start?: number
|
||||||
|
progress?: number
|
||||||
|
end?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
class ProgressExample extends Component<
|
||||||
|
ProgressExampleProps,
|
||||||
|
ProgressExampleState
|
||||||
|
> {
|
||||||
|
state: ProgressExampleState = {
|
||||||
|
mount: Date.now(),
|
||||||
start: undefined,
|
start: undefined,
|
||||||
progress: undefined,
|
progress: undefined,
|
||||||
end: undefined,
|
end: undefined,
|
@ -8,7 +8,7 @@ import BulletText from './BulletText'
|
|||||||
|
|
||||||
const IMAGE_URL = 'https://media.giphy.com/media/GEsoqZDGVoisw/giphy.gif'
|
const IMAGE_URL = 'https://media.giphy.com/media/GEsoqZDGVoisw/giphy.gif'
|
||||||
|
|
||||||
const Col = p => <View style={styles.col} {...p} />
|
const Col = (p: any) => <View style={styles.col} {...p} />
|
||||||
|
|
||||||
const ResizeModeExample = () => (
|
const ResizeModeExample = () => (
|
||||||
<View>
|
<View>
|
@ -1,7 +1,13 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { StyleSheet, View } from 'react-native'
|
import { StyleSheet, View } from 'react-native'
|
||||||
|
|
||||||
export default ({ children }) => <View style={styles.section}>{children}</View>
|
interface SectionProps {
|
||||||
|
children?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Section({ children }: SectionProps) {
|
||||||
|
return <View style={styles.section}>{children}</View>
|
||||||
|
}
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
section: {
|
section: {
|
@ -1,14 +1,25 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { StyleSheet, TouchableOpacity, View } from 'react-native'
|
import { StyleSheet, TouchableOpacity, View } from 'react-native'
|
||||||
|
|
||||||
export default ({ children, onPress, style }) =>
|
interface SectionFlexProps {
|
||||||
onPress ? (
|
style?: any
|
||||||
|
onPress?: () => void
|
||||||
|
children?: any
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function SectionFlex({
|
||||||
|
children,
|
||||||
|
onPress,
|
||||||
|
style,
|
||||||
|
}: SectionFlexProps) {
|
||||||
|
return onPress ? (
|
||||||
<TouchableOpacity style={[styles.sectionFlex, style]} onPress={onPress}>
|
<TouchableOpacity style={[styles.sectionFlex, style]} onPress={onPress}>
|
||||||
{children}
|
{children}
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
) : (
|
) : (
|
||||||
<View style={[styles.sectionFlex, style]}>{children}</View>
|
<View style={[styles.sectionFlex, style]}>{children}</View>
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
sectionFlex: {
|
sectionFlex: {
|
@ -5,9 +5,15 @@ import FastImage from 'react-native-fast-image'
|
|||||||
import Section from './Section'
|
import Section from './Section'
|
||||||
import SectionFlex from './SectionFlex'
|
import SectionFlex from './SectionFlex'
|
||||||
import FeatureText from './FeatureText'
|
import FeatureText from './FeatureText'
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
import LogoImage from './images/logo.png'
|
import LogoImage from './images/logo.png'
|
||||||
|
|
||||||
const TintColorExample = ({ onPressReload }) => (
|
interface TintColorExampleProps {
|
||||||
|
onPressReload: () => void
|
||||||
|
}
|
||||||
|
|
||||||
|
const TintColorExample = ({ onPressReload }: TintColorExampleProps) => (
|
||||||
<View>
|
<View>
|
||||||
<Section>
|
<Section>
|
||||||
<FeatureText text="Images with tint color." />
|
<FeatureText text="Images with tint color." />
|
@ -1,13 +1,15 @@
|
|||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import { v4 as uuid } from 'uuid'
|
|
||||||
|
|
||||||
export default BaseComponent => {
|
export default function withCacheBust(BaseComponent: React.ComponentType<any>) {
|
||||||
class WithCacheBust extends Component {
|
class WithCacheBust extends Component {
|
||||||
state = { bust: '?bust' }
|
state = { bust: '?bust' }
|
||||||
|
|
||||||
|
static displayName = `withCacheBust(${BaseComponent.displayName ||
|
||||||
|
BaseComponent.name})`
|
||||||
|
|
||||||
onPressReload = () => {
|
onPressReload = () => {
|
||||||
// Force complete re-render and bust image cache.
|
// Force complete re-render and bust image cache.
|
||||||
const key = uuid()
|
const key = Math.random().toString()
|
||||||
const bust = `?bust=${key}`
|
const bust = `?bust=${key}`
|
||||||
this.setState({ bust })
|
this.setState({ bust })
|
||||||
}
|
}
|
||||||
@ -22,8 +24,5 @@ export default BaseComponent => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WithCacheBust.displayName = `withCacheBust(${BaseComponent.displayName ||
|
|
||||||
BaseComponent.name})`
|
|
||||||
|
|
||||||
return WithCacheBust
|
return WithCacheBust
|
||||||
}
|
}
|
63
ReactNativeFastImageExample/tsconfig.json
Normal file
63
ReactNativeFastImageExample/tsconfig.json
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
/* Basic Options */
|
||||||
|
"target": "esnext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
|
||||||
|
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||||
|
"lib": ["es6"], /* Specify library files to be included in the compilation. */
|
||||||
|
"allowJs": true, /* Allow javascript files to be compiled. */
|
||||||
|
// "checkJs": true, /* Report errors in .js files. */
|
||||||
|
"jsx": "react-native", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||||
|
// "declaration": true, /* Generates corresponding '.d.ts' file. */
|
||||||
|
// "sourceMap": true, /* Generates corresponding '.map' file. */
|
||||||
|
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||||
|
// "outDir": "./", /* Redirect output structure to the directory. */
|
||||||
|
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||||
|
// "removeComments": true, /* Do not emit comments to output. */
|
||||||
|
"noEmit": true, /* Do not emit outputs. */
|
||||||
|
"incremental": false, /* Enable incremental compilation */
|
||||||
|
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
|
||||||
|
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
||||||
|
"isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
||||||
|
|
||||||
|
/* Strict Type-Checking Options */
|
||||||
|
"strict": true, /* Enable all strict type-checking options. */
|
||||||
|
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||||
|
// "strictNullChecks": true, /* Enable strict null checks. */
|
||||||
|
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
||||||
|
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
||||||
|
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
||||||
|
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||||
|
|
||||||
|
/* Additional Checks */
|
||||||
|
// "noUnusedLocals": true, /* Report errors on unused locals. */
|
||||||
|
// "noUnusedParameters": true, /* Report errors on unused parameters. */
|
||||||
|
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
||||||
|
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||||
|
|
||||||
|
/* Module Resolution Options */
|
||||||
|
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||||
|
"baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
||||||
|
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||||
|
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||||
|
// "typeRoots": [], /* List of folders to include type definitions from. */
|
||||||
|
// "types": [], /* Type declaration files to be included in compilation. */
|
||||||
|
"allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
||||||
|
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||||
|
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||||
|
|
||||||
|
/* Source Map Options */
|
||||||
|
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||||
|
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||||
|
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||||
|
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||||
|
|
||||||
|
/* Experimental Options */
|
||||||
|
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
||||||
|
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
||||||
|
"skipLibCheck": true
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"node_modules", "babel.config.js", "metro.config.js", "jest.config.js"
|
||||||
|
]
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user