├── .gitattributes ├── .gitignore ├── README.md ├── android ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── reactlibrary │ ├── RNStripeModule.java │ └── RNStripePackage.java ├── example ├── api │ ├── .gitignore │ ├── index.js │ ├── package.json │ └── yarn.lock └── app │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .gitignore │ ├── .watchmanconfig │ ├── __tests__ │ └── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── stripeexample │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── Podfile │ ├── Podfile.lock │ ├── stripeExample-tvOS │ │ └── Info.plist │ ├── stripeExample-tvOSTests │ │ └── Info.plist │ ├── stripeExample.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── stripeExample-tvOS.xcscheme │ │ │ └── stripeExample.xcscheme │ ├── stripeExample.xcworkspace │ │ └── contents.xcworkspacedata │ ├── stripeExample │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── stripeExampleTests │ │ ├── Info.plist │ │ └── stripeExampleTests.m │ ├── package.json │ ├── src │ ├── App.js │ ├── Custom.js │ ├── Home.js │ └── stripe.js │ └── yarn.lock ├── index.js ├── ios ├── RNStripe.h ├── RNStripe.m ├── RNStripe.xcodeproj │ └── project.pbxproj └── RNStripe.xcworkspace │ └── contents.xcworkspacedata ├── package.json ├── react-native-stripe.podspec └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # OSX 3 | # 4 | .DS_Store 5 | 6 | # node.js 7 | # 8 | node_modules/ 9 | npm-debug.log 10 | yarn-error.log 11 | 12 | 13 | # Xcode 14 | # 15 | build/ 16 | *.pbxuser 17 | !default.pbxuser 18 | *.mode1v3 19 | !default.mode1v3 20 | *.mode2v3 21 | !default.mode2v3 22 | *.perspectivev3 23 | !default.perspectivev3 24 | xcuserdata 25 | *.xccheckout 26 | *.moved-aside 27 | DerivedData 28 | *.hmap 29 | *.ipa 30 | *.xcuserstate 31 | project.xcworkspace 32 | 33 | 34 | # Android/IntelliJ 35 | # 36 | build/ 37 | .idea 38 | .gradle 39 | local.properties 40 | *.iml 41 | 42 | # BUCK 43 | buck-out/ 44 | \.buckd/ 45 | *.keystore 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # react-native-stripe 3 | 4 | Basic Stripe integration with React Native. 5 | 6 | The project just started, feel free to contribute. 7 | 8 | ## Getting started 9 | 10 | `$ npm install react-native-stripe --save` 11 | 12 | ### Installation 13 | 14 | #### iOS 15 | 16 | 1. Settup cocoapod if not done yet. 17 | 2. Add in your podfile, the following lines : 18 | ``` 19 | pod 'react-native-stripe', path: '../../..' 20 | pod 'yoga', path: '../node_modules/react-native/ReactCommon/yoga/yoga.podspec' 21 | pod 'React', :path => '../node_modules/react-native', :subspecs => [ 22 | 'Core', 23 | 'RCTActionSheet', 24 | 'RCTAnimation', 25 | 'RCTGeolocation', 26 | 'RCTImage', 27 | 'RCTLinkingIOS', 28 | 'RCTNetwork', 29 | 'RCTSettings', 30 | 'RCTText', 31 | 'RCTVibration', 32 | 'RCTWebSocket', 33 | 'DevSupport' 34 | ] 35 | ``` 36 | 3. Run `pod install` in your `ios/` folder. 37 | 38 | 39 | #### Android 40 | 41 | 1. Open up `android/app/src/main/java/[...]/MainActivity.java` 42 | - Add `import com.reactlibrary.RNStripePackage;` to the imports at the top of the file 43 | - Add `new RNStripePackage()` to the list returned by the `getPackages()` method 44 | 2. Append the following lines to `android/settings.gradle`: 45 | ``` 46 | include ':react-native-stripe' 47 | project(':react-native-stripe').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-stripe/android') 48 | ``` 49 | 3. Insert the following lines inside the dependencies block in `android/app/build.gradle`: 50 | ``` 51 | compile project(':react-native-stripe') 52 | ``` 53 | 54 | ## Usage 55 | ```javascript 56 | import Stripe from 'react-native-stripe'; 57 | 58 | Stripe.init({ 59 | publishableKey: 'pk_...', 60 | }); 61 | 62 | Stripe.createTokenWithCard({ 63 | number: '4111 1111 1111 1111', 64 | cvc: '123', 65 | expMonth: 11, 66 | expYear: 22, 67 | }).then(res => { 68 | console.log(res.token); 69 | }); 70 | ``` 71 | 72 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | def safeExtGet(prop, fallback) { 4 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback 5 | } 6 | 7 | android { 8 | compileSdkVersion safeExtGet('compileSdkVersion', 26) 9 | buildToolsVersion safeExtGet('buildToolsVersion', "26.0.3") 10 | 11 | defaultConfig { 12 | minSdkVersion safeExtGet('minSdkVersion', 16) 13 | targetSdkVersion safeExtGet('targetSdkVersion', 26) 14 | versionCode 1 15 | versionName "1.0" 16 | } 17 | } 18 | 19 | dependencies { 20 | compileOnly "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}" 21 | compile 'com.stripe:stripe-android:7.0.0' 22 | } 23 | -------------------------------------------------------------------------------- /android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactlibrary/RNStripeModule.java: -------------------------------------------------------------------------------- 1 | 2 | package com.reactlibrary; 3 | 4 | import com.facebook.react.bridge.ReactApplicationContext; 5 | import com.facebook.react.bridge.ReactContextBaseJavaModule; 6 | import com.facebook.react.bridge.ReactMethod; 7 | import com.facebook.react.bridge.Callback; 8 | import com.facebook.react.bridge.Promise; 9 | import com.facebook.react.bridge.Arguments; 10 | 11 | import com.facebook.react.bridge.ReadableMap; 12 | import com.facebook.react.bridge.WritableMap; 13 | 14 | import com.stripe.android.Stripe; 15 | import com.stripe.android.model.Card; 16 | import com.stripe.android.TokenCallback; 17 | import com.stripe.android.model.Token; 18 | 19 | 20 | public class RNStripeModule extends ReactContextBaseJavaModule { 21 | private static final String TAG = "com.reactlibrary.stripe"; 22 | private final ReactApplicationContext reactContext; 23 | private Stripe stripe; 24 | 25 | public RNStripeModule(ReactApplicationContext reactContext) { 26 | super(reactContext); 27 | this.reactContext = reactContext; 28 | } 29 | 30 | @ReactMethod 31 | public void init(ReadableMap options) { 32 | String publicKey = options.getString("publishableKey"); 33 | stripe = new Stripe(reactContext.getBaseContext(), publicKey); 34 | } 35 | 36 | @ReactMethod 37 | public void createTokenWithCard(final ReadableMap card, final Promise promise) { 38 | try { 39 | stripe.createToken(createCard(card), 40 | new TokenCallback() { 41 | public void onSuccess(Token token) { 42 | promise.resolve(convertTokenToWritableMap(token)); 43 | } 44 | 45 | public void onError(Exception error) { 46 | error.printStackTrace(); 47 | promise.reject(TAG, error.getMessage()); 48 | } 49 | }); 50 | } catch (Exception e) { 51 | promise.reject(TAG, e.getMessage()); 52 | } 53 | } 54 | 55 | @Override 56 | public String getName() { 57 | return "RNStripe"; 58 | } 59 | 60 | private WritableMap convertTokenToWritableMap(Token token) { 61 | WritableMap newToken = Arguments.createMap(); 62 | 63 | if (token == null) return newToken; 64 | 65 | newToken.putString("tokenId", token.getId()); 66 | newToken.putBoolean("livemode", token.getLivemode()); 67 | newToken.putBoolean("used", token.getUsed()); 68 | newToken.putDouble("created", token.getCreated().getTime()); 69 | 70 | if (token.getCard() != null) { 71 | newToken.putMap("card", convertCardToWritableMap(token.getCard())); 72 | } 73 | return newToken; 74 | } 75 | 76 | private Card createCard(final ReadableMap cardData) { 77 | return new Card( 78 | // required fields 79 | cardData.getString("number"), 80 | cardData.getInt("expMonth"), 81 | cardData.getInt("expYear"), 82 | // additional fields 83 | getIfExist(cardData, "cvc"), 84 | getIfExist(cardData, "name"), 85 | getIfExist(getMapIfExist(cardData, "address"), "line1"), 86 | getIfExist(getMapIfExist(cardData,"address"), "line2"), 87 | getIfExist(getMapIfExist(cardData,"address"), "city"), 88 | getIfExist(getMapIfExist(cardData,"address"), "state"), 89 | getIfExist(getMapIfExist(cardData,"address"), "zip"), 90 | getIfExist(getMapIfExist(cardData,"address"), "postalCode"), 91 | getIfExist(cardData, "brand"), 92 | getIfExist(cardData, "last4"), 93 | getIfExist(cardData, "fingerprint"), 94 | getIfExist(cardData, "funding"), 95 | getIfExist(cardData, "country"), 96 | getIfExist(cardData, "currency"), 97 | getIfExist(cardData, "id") 98 | ); 99 | } 100 | private WritableMap convertCardToWritableMap(final Card card) { 101 | WritableMap result = Arguments.createMap(); 102 | 103 | if(card == null) return result; 104 | 105 | result.putString("cardId", card.getId()); 106 | result.putString("number", card.getNumber()); 107 | result.putString("cvc", card.getCVC() ); 108 | result.putInt("expMonth", card.getExpMonth() ); 109 | result.putInt("expYear", card.getExpYear() ); 110 | result.putString("name", card.getName() ); 111 | result.putString("addressLine1", card.getAddressLine1() ); 112 | result.putString("addressLine2", card.getAddressLine2() ); 113 | result.putString("addressCity", card.getAddressCity() ); 114 | result.putString("addressState", card.getAddressState() ); 115 | result.putString("addressZip", card.getAddressZip() ); 116 | result.putString("addressCountry", card.getAddressCountry() ); 117 | result.putString("last4", card.getLast4() ); 118 | result.putString("brand", card.getBrand() ); 119 | result.putString("funding", card.getFunding() ); 120 | result.putString("fingerprint", card.getFingerprint() ); 121 | result.putString("country", card.getCountry() ); 122 | result.putString("currency", card.getCurrency() ); 123 | 124 | return result; 125 | } 126 | 127 | private String getIfExist(final ReadableMap map, final String key) { 128 | if (map == null || !map.hasKey(key)) { 129 | return null; 130 | } 131 | return map.getString(key); 132 | } 133 | 134 | private ReadableMap getMapIfExist(final ReadableMap map, final String key) { 135 | if (map == null || !map.hasKey(key)) { 136 | return null; 137 | } 138 | return map.getMap(key); 139 | } 140 | 141 | } 142 | -------------------------------------------------------------------------------- /android/src/main/java/com/reactlibrary/RNStripePackage.java: -------------------------------------------------------------------------------- 1 | 2 | package com.reactlibrary; 3 | 4 | import java.util.Arrays; 5 | import java.util.Collections; 6 | import java.util.List; 7 | 8 | import com.facebook.react.ReactPackage; 9 | import com.facebook.react.bridge.NativeModule; 10 | import com.facebook.react.bridge.ReactApplicationContext; 11 | import com.facebook.react.uimanager.ViewManager; 12 | import com.facebook.react.bridge.JavaScriptModule; 13 | public class RNStripePackage implements ReactPackage { 14 | @Override 15 | public List createNativeModules(ReactApplicationContext reactContext) { 16 | return Arrays.asList(new RNStripeModule(reactContext)); 17 | } 18 | 19 | // Deprecated from RN 0.47 20 | public List> createJSModules() { 21 | return Collections.emptyList(); 22 | } 23 | 24 | @Override 25 | public List createViewManagers(ReactApplicationContext reactContext) { 26 | return Collections.emptyList(); 27 | } 28 | } -------------------------------------------------------------------------------- /example/api/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | secret.js 3 | -------------------------------------------------------------------------------- /example/api/index.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const express = require('express'); 3 | const Sequelize = require('sequelize'); 4 | const bodyParser = require('body-parser'); 5 | 6 | const apiKey = require('./secret.js'); 7 | console.log(apiKey); 8 | var stripe = require('stripe')(apiKey); 9 | 10 | const email = 'demo@domain.fr'; 11 | 12 | const sequelize = new Sequelize('example', 'username', 'password', { 13 | host: 'localhost', 14 | dialect: 'sqlite', 15 | storage: path.join(__dirname, 'database.sqlite'), 16 | }); 17 | 18 | const User = sequelize.define('user', { 19 | email: { 20 | type: Sequelize.STRING, 21 | }, 22 | stripeId: { 23 | type: Sequelize.STRING, 24 | }, 25 | }); 26 | 27 | User.sync({ force: true }).then(() => User.create({ email })); 28 | 29 | const app = express(); 30 | app.use(bodyParser.json()); 31 | 32 | app.post('/', function(req, res) { 33 | const source = req.body.token; 34 | User.findOne({ where: { email } }) 35 | .then(user => { 36 | if (user.stripeId) { 37 | return stripe.customers.createSource(user.stripeId, { source }).then(() => user); 38 | } 39 | return stripe.customers.create({ email: user.email, source }).then(stripeUser => { 40 | user.stripeId = stripeUser.id; 41 | console.log(stripeUser); 42 | return user.save(); 43 | }); 44 | }) 45 | .then(user => stripe.customers.listCards(user.stripeId)) 46 | .then(cards => { 47 | res.send(cards); 48 | }); 49 | }); 50 | 51 | app.listen(3000, function() { 52 | console.log('Example app listening on port 3000!'); 53 | }); 54 | -------------------------------------------------------------------------------- /example/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "1.0.0", 4 | "description": "Example api of react-native-stripe", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node index.js" 9 | }, 10 | "author": "nicolasd@bam.tech", 11 | "license": "MIT", 12 | "dependencies": { 13 | "body-parser": "^1.18.2", 14 | "express": "^4.16.2", 15 | "sequelize": "^4.32.2", 16 | "sqlite3": "^3.1.13", 17 | "stripe": "^5.4.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /example/api/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/geojson@^1.0.0": 6 | version "1.0.6" 7 | resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.6.tgz#3e02972728c69248c2af08d60a48cbb8680fffdf" 8 | 9 | "@types/node@*": 10 | version "9.4.0" 11 | resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.0.tgz#b85a0bcf1e1cc84eb4901b7e96966aedc6f078d1" 12 | 13 | abbrev@1: 14 | version "1.1.1" 15 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 16 | 17 | accepts@~1.3.4: 18 | version "1.3.4" 19 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" 20 | dependencies: 21 | mime-types "~2.1.16" 22 | negotiator "0.6.1" 23 | 24 | ajv@^4.9.1: 25 | version "4.11.8" 26 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 27 | dependencies: 28 | co "^4.6.0" 29 | json-stable-stringify "^1.0.1" 30 | 31 | ansi-regex@^2.0.0: 32 | version "2.1.1" 33 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 34 | 35 | aproba@^1.0.3: 36 | version "1.2.0" 37 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 38 | 39 | are-we-there-yet@~1.1.2: 40 | version "1.1.4" 41 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 42 | dependencies: 43 | delegates "^1.0.0" 44 | readable-stream "^2.0.6" 45 | 46 | array-flatten@1.1.1: 47 | version "1.1.1" 48 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 49 | 50 | asn1@~0.2.3: 51 | version "0.2.3" 52 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 53 | 54 | assert-plus@1.0.0, assert-plus@^1.0.0: 55 | version "1.0.0" 56 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 57 | 58 | assert-plus@^0.2.0: 59 | version "0.2.0" 60 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 61 | 62 | asynckit@^0.4.0: 63 | version "0.4.0" 64 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 65 | 66 | aws-sign2@~0.6.0: 67 | version "0.6.0" 68 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 69 | 70 | aws4@^1.2.1: 71 | version "1.6.0" 72 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 73 | 74 | balanced-match@^1.0.0: 75 | version "1.0.0" 76 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 77 | 78 | bcrypt-pbkdf@^1.0.0: 79 | version "1.0.1" 80 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 81 | dependencies: 82 | tweetnacl "^0.14.3" 83 | 84 | block-stream@*: 85 | version "0.0.9" 86 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 87 | dependencies: 88 | inherits "~2.0.0" 89 | 90 | bluebird@^3.4.6, bluebird@^3.5.0: 91 | version "3.5.1" 92 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 93 | 94 | body-parser@1.18.2, body-parser@^1.18.2: 95 | version "1.18.2" 96 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 97 | dependencies: 98 | bytes "3.0.0" 99 | content-type "~1.0.4" 100 | debug "2.6.9" 101 | depd "~1.1.1" 102 | http-errors "~1.6.2" 103 | iconv-lite "0.4.19" 104 | on-finished "~2.3.0" 105 | qs "6.5.1" 106 | raw-body "2.3.2" 107 | type-is "~1.6.15" 108 | 109 | boom@2.x.x: 110 | version "2.10.1" 111 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 112 | dependencies: 113 | hoek "2.x.x" 114 | 115 | brace-expansion@^1.1.7: 116 | version "1.1.8" 117 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 118 | dependencies: 119 | balanced-match "^1.0.0" 120 | concat-map "0.0.1" 121 | 122 | bytes@3.0.0: 123 | version "3.0.0" 124 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 125 | 126 | caseless@~0.12.0: 127 | version "0.12.0" 128 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 129 | 130 | cls-bluebird@^2.0.1: 131 | version "2.1.0" 132 | resolved "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz#37ef1e080a8ffb55c2f4164f536f1919e7968aee" 133 | dependencies: 134 | is-bluebird "^1.0.2" 135 | shimmer "^1.1.0" 136 | 137 | co@^4.6.0: 138 | version "4.6.0" 139 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 140 | 141 | code-point-at@^1.0.0: 142 | version "1.1.0" 143 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 144 | 145 | combined-stream@^1.0.5, combined-stream@~1.0.5: 146 | version "1.0.5" 147 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 148 | dependencies: 149 | delayed-stream "~1.0.0" 150 | 151 | concat-map@0.0.1: 152 | version "0.0.1" 153 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 154 | 155 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 156 | version "1.1.0" 157 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 158 | 159 | content-disposition@0.5.2: 160 | version "0.5.2" 161 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 162 | 163 | content-type@~1.0.4: 164 | version "1.0.4" 165 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 166 | 167 | cookie-signature@1.0.6: 168 | version "1.0.6" 169 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 170 | 171 | cookie@0.3.1: 172 | version "0.3.1" 173 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 174 | 175 | core-util-is@1.0.2, core-util-is@~1.0.0: 176 | version "1.0.2" 177 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 178 | 179 | cryptiles@2.x.x: 180 | version "2.0.5" 181 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 182 | dependencies: 183 | boom "2.x.x" 184 | 185 | dashdash@^1.12.0: 186 | version "1.14.1" 187 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 188 | dependencies: 189 | assert-plus "^1.0.0" 190 | 191 | debug@2.6.9, debug@^2.2.0, debug@^2.6.9: 192 | version "2.6.9" 193 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 194 | dependencies: 195 | ms "2.0.0" 196 | 197 | debug@^3.0.0: 198 | version "3.1.0" 199 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 200 | dependencies: 201 | ms "2.0.0" 202 | 203 | deep-extend@~0.4.0: 204 | version "0.4.2" 205 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 206 | 207 | delayed-stream@~1.0.0: 208 | version "1.0.0" 209 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 210 | 211 | delegates@^1.0.0: 212 | version "1.0.0" 213 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 214 | 215 | depd@1.1.1: 216 | version "1.1.1" 217 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 218 | 219 | depd@^1.1.0, depd@~1.1.1: 220 | version "1.1.2" 221 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 222 | 223 | destroy@~1.0.4: 224 | version "1.0.4" 225 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 226 | 227 | detect-libc@^1.0.2: 228 | version "1.0.3" 229 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 230 | 231 | dottie@^2.0.0: 232 | version "2.0.0" 233 | resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.0.tgz#da191981c8b8d713ca0115d5898cf397c2f0ddd0" 234 | 235 | ecc-jsbn@~0.1.1: 236 | version "0.1.1" 237 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 238 | dependencies: 239 | jsbn "~0.1.0" 240 | 241 | ee-first@1.1.1: 242 | version "1.1.1" 243 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 244 | 245 | encodeurl@~1.0.1: 246 | version "1.0.2" 247 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 248 | 249 | escape-html@~1.0.3: 250 | version "1.0.3" 251 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 252 | 253 | etag@~1.8.1: 254 | version "1.8.1" 255 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 256 | 257 | express@^4.16.2: 258 | version "4.16.2" 259 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" 260 | dependencies: 261 | accepts "~1.3.4" 262 | array-flatten "1.1.1" 263 | body-parser "1.18.2" 264 | content-disposition "0.5.2" 265 | content-type "~1.0.4" 266 | cookie "0.3.1" 267 | cookie-signature "1.0.6" 268 | debug "2.6.9" 269 | depd "~1.1.1" 270 | encodeurl "~1.0.1" 271 | escape-html "~1.0.3" 272 | etag "~1.8.1" 273 | finalhandler "1.1.0" 274 | fresh "0.5.2" 275 | merge-descriptors "1.0.1" 276 | methods "~1.1.2" 277 | on-finished "~2.3.0" 278 | parseurl "~1.3.2" 279 | path-to-regexp "0.1.7" 280 | proxy-addr "~2.0.2" 281 | qs "6.5.1" 282 | range-parser "~1.2.0" 283 | safe-buffer "5.1.1" 284 | send "0.16.1" 285 | serve-static "1.13.1" 286 | setprototypeof "1.1.0" 287 | statuses "~1.3.1" 288 | type-is "~1.6.15" 289 | utils-merge "1.0.1" 290 | vary "~1.1.2" 291 | 292 | extend@~3.0.0: 293 | version "3.0.1" 294 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 295 | 296 | extsprintf@1.3.0: 297 | version "1.3.0" 298 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 299 | 300 | extsprintf@^1.2.0: 301 | version "1.4.0" 302 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 303 | 304 | finalhandler@1.1.0: 305 | version "1.1.0" 306 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" 307 | dependencies: 308 | debug "2.6.9" 309 | encodeurl "~1.0.1" 310 | escape-html "~1.0.3" 311 | on-finished "~2.3.0" 312 | parseurl "~1.3.2" 313 | statuses "~1.3.1" 314 | unpipe "~1.0.0" 315 | 316 | forever-agent@~0.6.1: 317 | version "0.6.1" 318 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 319 | 320 | form-data@~2.1.1: 321 | version "2.1.4" 322 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 323 | dependencies: 324 | asynckit "^0.4.0" 325 | combined-stream "^1.0.5" 326 | mime-types "^2.1.12" 327 | 328 | forwarded@~0.1.2: 329 | version "0.1.2" 330 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 331 | 332 | fresh@0.5.2: 333 | version "0.5.2" 334 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 335 | 336 | fs.realpath@^1.0.0: 337 | version "1.0.0" 338 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 339 | 340 | fstream-ignore@^1.0.5: 341 | version "1.0.5" 342 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 343 | dependencies: 344 | fstream "^1.0.0" 345 | inherits "2" 346 | minimatch "^3.0.0" 347 | 348 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 349 | version "1.0.11" 350 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 351 | dependencies: 352 | graceful-fs "^4.1.2" 353 | inherits "~2.0.0" 354 | mkdirp ">=0.5 0" 355 | rimraf "2" 356 | 357 | gauge@~2.7.3: 358 | version "2.7.4" 359 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 360 | dependencies: 361 | aproba "^1.0.3" 362 | console-control-strings "^1.0.0" 363 | has-unicode "^2.0.0" 364 | object-assign "^4.1.0" 365 | signal-exit "^3.0.0" 366 | string-width "^1.0.1" 367 | strip-ansi "^3.0.1" 368 | wide-align "^1.1.0" 369 | 370 | generic-pool@^3.1.8: 371 | version "3.4.0" 372 | resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.4.0.tgz#6b76fc201bb49a0ff381450f585352378fb1c08f" 373 | 374 | getpass@^0.1.1: 375 | version "0.1.7" 376 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 377 | dependencies: 378 | assert-plus "^1.0.0" 379 | 380 | glob@^7.0.5: 381 | version "7.1.2" 382 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 383 | dependencies: 384 | fs.realpath "^1.0.0" 385 | inflight "^1.0.4" 386 | inherits "2" 387 | minimatch "^3.0.4" 388 | once "^1.3.0" 389 | path-is-absolute "^1.0.0" 390 | 391 | graceful-fs@^4.1.2: 392 | version "4.1.11" 393 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 394 | 395 | har-schema@^1.0.5: 396 | version "1.0.5" 397 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 398 | 399 | har-validator@~4.2.1: 400 | version "4.2.1" 401 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 402 | dependencies: 403 | ajv "^4.9.1" 404 | har-schema "^1.0.5" 405 | 406 | has-unicode@^2.0.0: 407 | version "2.0.1" 408 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 409 | 410 | hawk@3.1.3, hawk@~3.1.3: 411 | version "3.1.3" 412 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 413 | dependencies: 414 | boom "2.x.x" 415 | cryptiles "2.x.x" 416 | hoek "2.x.x" 417 | sntp "1.x.x" 418 | 419 | hoek@2.x.x: 420 | version "2.16.3" 421 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 422 | 423 | http-errors@1.6.2, http-errors@~1.6.2: 424 | version "1.6.2" 425 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 426 | dependencies: 427 | depd "1.1.1" 428 | inherits "2.0.3" 429 | setprototypeof "1.0.3" 430 | statuses ">= 1.3.1 < 2" 431 | 432 | http-signature@~1.1.0: 433 | version "1.1.1" 434 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 435 | dependencies: 436 | assert-plus "^0.2.0" 437 | jsprim "^1.2.2" 438 | sshpk "^1.7.0" 439 | 440 | iconv-lite@0.4.19: 441 | version "0.4.19" 442 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 443 | 444 | inflection@1.12.0: 445 | version "1.12.0" 446 | resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" 447 | 448 | inflight@^1.0.4: 449 | version "1.0.6" 450 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 451 | dependencies: 452 | once "^1.3.0" 453 | wrappy "1" 454 | 455 | inherits@2, inherits@2.0.3, inherits@~2.0.0, inherits@~2.0.3: 456 | version "2.0.3" 457 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 458 | 459 | ini@~1.3.0: 460 | version "1.3.5" 461 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 462 | 463 | ipaddr.js@1.5.2: 464 | version "1.5.2" 465 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" 466 | 467 | is-bluebird@^1.0.2: 468 | version "1.0.2" 469 | resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2" 470 | 471 | is-fullwidth-code-point@^1.0.0: 472 | version "1.0.0" 473 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 474 | dependencies: 475 | number-is-nan "^1.0.0" 476 | 477 | is-typedarray@~1.0.0: 478 | version "1.0.0" 479 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 480 | 481 | isarray@~1.0.0: 482 | version "1.0.0" 483 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 484 | 485 | isstream@~0.1.2: 486 | version "0.1.2" 487 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 488 | 489 | jsbn@~0.1.0: 490 | version "0.1.1" 491 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 492 | 493 | json-schema@0.2.3: 494 | version "0.2.3" 495 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 496 | 497 | json-stable-stringify@^1.0.1: 498 | version "1.0.1" 499 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 500 | dependencies: 501 | jsonify "~0.0.0" 502 | 503 | json-stringify-safe@~5.0.1: 504 | version "5.0.1" 505 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 506 | 507 | jsonify@~0.0.0: 508 | version "0.0.0" 509 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 510 | 511 | jsprim@^1.2.2: 512 | version "1.4.1" 513 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 514 | dependencies: 515 | assert-plus "1.0.0" 516 | extsprintf "1.3.0" 517 | json-schema "0.2.3" 518 | verror "1.10.0" 519 | 520 | lodash.isplainobject@^4.0.6: 521 | version "4.0.6" 522 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 523 | 524 | lodash@^4.17.1: 525 | version "4.17.4" 526 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 527 | 528 | media-typer@0.3.0: 529 | version "0.3.0" 530 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 531 | 532 | merge-descriptors@1.0.1: 533 | version "1.0.1" 534 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 535 | 536 | methods@~1.1.2: 537 | version "1.1.2" 538 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 539 | 540 | mime-db@~1.30.0: 541 | version "1.30.0" 542 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 543 | 544 | mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.7: 545 | version "2.1.17" 546 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 547 | dependencies: 548 | mime-db "~1.30.0" 549 | 550 | mime@1.4.1: 551 | version "1.4.1" 552 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 553 | 554 | minimatch@^3.0.0, minimatch@^3.0.4: 555 | version "3.0.4" 556 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 557 | dependencies: 558 | brace-expansion "^1.1.7" 559 | 560 | minimist@0.0.8: 561 | version "0.0.8" 562 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 563 | 564 | minimist@^1.2.0: 565 | version "1.2.0" 566 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 567 | 568 | "mkdirp@>=0.5 0", mkdirp@^0.5.1: 569 | version "0.5.1" 570 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 571 | dependencies: 572 | minimist "0.0.8" 573 | 574 | moment-timezone@^0.5.4: 575 | version "0.5.14" 576 | resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1" 577 | dependencies: 578 | moment ">= 2.9.0" 579 | 580 | "moment@>= 2.9.0", moment@^2.13.0: 581 | version "2.20.1" 582 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd" 583 | 584 | ms@2.0.0: 585 | version "2.0.0" 586 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 587 | 588 | nan@~2.7.0: 589 | version "2.7.0" 590 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" 591 | 592 | negotiator@0.6.1: 593 | version "0.6.1" 594 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 595 | 596 | node-pre-gyp@~0.6.38: 597 | version "0.6.39" 598 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 599 | dependencies: 600 | detect-libc "^1.0.2" 601 | hawk "3.1.3" 602 | mkdirp "^0.5.1" 603 | nopt "^4.0.1" 604 | npmlog "^4.0.2" 605 | rc "^1.1.7" 606 | request "2.81.0" 607 | rimraf "^2.6.1" 608 | semver "^5.3.0" 609 | tar "^2.2.1" 610 | tar-pack "^3.4.0" 611 | 612 | nopt@^4.0.1: 613 | version "4.0.1" 614 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 615 | dependencies: 616 | abbrev "1" 617 | osenv "^0.1.4" 618 | 619 | npmlog@^4.0.2: 620 | version "4.1.2" 621 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 622 | dependencies: 623 | are-we-there-yet "~1.1.2" 624 | console-control-strings "~1.1.0" 625 | gauge "~2.7.3" 626 | set-blocking "~2.0.0" 627 | 628 | number-is-nan@^1.0.0: 629 | version "1.0.1" 630 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 631 | 632 | oauth-sign@~0.8.1: 633 | version "0.8.2" 634 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 635 | 636 | object-assign@^4.1.0: 637 | version "4.1.1" 638 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 639 | 640 | on-finished@~2.3.0: 641 | version "2.3.0" 642 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 643 | dependencies: 644 | ee-first "1.1.1" 645 | 646 | once@^1.3.0, once@^1.3.3: 647 | version "1.4.0" 648 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 649 | dependencies: 650 | wrappy "1" 651 | 652 | os-homedir@^1.0.0: 653 | version "1.0.2" 654 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 655 | 656 | os-tmpdir@^1.0.0: 657 | version "1.0.2" 658 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 659 | 660 | osenv@^0.1.4: 661 | version "0.1.4" 662 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 663 | dependencies: 664 | os-homedir "^1.0.0" 665 | os-tmpdir "^1.0.0" 666 | 667 | parseurl@~1.3.2: 668 | version "1.3.2" 669 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 670 | 671 | path-is-absolute@^1.0.0: 672 | version "1.0.1" 673 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 674 | 675 | path-to-regexp@0.1.7: 676 | version "0.1.7" 677 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 678 | 679 | performance-now@^0.2.0: 680 | version "0.2.0" 681 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 682 | 683 | process-nextick-args@~1.0.6: 684 | version "1.0.7" 685 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 686 | 687 | proxy-addr@~2.0.2: 688 | version "2.0.2" 689 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" 690 | dependencies: 691 | forwarded "~0.1.2" 692 | ipaddr.js "1.5.2" 693 | 694 | punycode@^1.4.1: 695 | version "1.4.1" 696 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 697 | 698 | qs@6.5.1, qs@~6.5.1: 699 | version "6.5.1" 700 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 701 | 702 | qs@~6.4.0: 703 | version "6.4.0" 704 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 705 | 706 | range-parser@~1.2.0: 707 | version "1.2.0" 708 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 709 | 710 | raw-body@2.3.2: 711 | version "2.3.2" 712 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 713 | dependencies: 714 | bytes "3.0.0" 715 | http-errors "1.6.2" 716 | iconv-lite "0.4.19" 717 | unpipe "1.0.0" 718 | 719 | rc@^1.1.7: 720 | version "1.2.4" 721 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.4.tgz#a0f606caae2a3b862bbd0ef85482c0125b315fa3" 722 | dependencies: 723 | deep-extend "~0.4.0" 724 | ini "~1.3.0" 725 | minimist "^1.2.0" 726 | strip-json-comments "~2.0.1" 727 | 728 | readable-stream@^2.0.6, readable-stream@^2.1.4: 729 | version "2.3.3" 730 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 731 | dependencies: 732 | core-util-is "~1.0.0" 733 | inherits "~2.0.3" 734 | isarray "~1.0.0" 735 | process-nextick-args "~1.0.6" 736 | safe-buffer "~5.1.1" 737 | string_decoder "~1.0.3" 738 | util-deprecate "~1.0.1" 739 | 740 | request@2.81.0: 741 | version "2.81.0" 742 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 743 | dependencies: 744 | aws-sign2 "~0.6.0" 745 | aws4 "^1.2.1" 746 | caseless "~0.12.0" 747 | combined-stream "~1.0.5" 748 | extend "~3.0.0" 749 | forever-agent "~0.6.1" 750 | form-data "~2.1.1" 751 | har-validator "~4.2.1" 752 | hawk "~3.1.3" 753 | http-signature "~1.1.0" 754 | is-typedarray "~1.0.0" 755 | isstream "~0.1.2" 756 | json-stringify-safe "~5.0.1" 757 | mime-types "~2.1.7" 758 | oauth-sign "~0.8.1" 759 | performance-now "^0.2.0" 760 | qs "~6.4.0" 761 | safe-buffer "^5.0.1" 762 | stringstream "~0.0.4" 763 | tough-cookie "~2.3.0" 764 | tunnel-agent "^0.6.0" 765 | uuid "^3.0.0" 766 | 767 | retry-as-promised@^2.3.1: 768 | version "2.3.2" 769 | resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-2.3.2.tgz#cd974ee4fd9b5fe03cbf31871ee48221c07737b7" 770 | dependencies: 771 | bluebird "^3.4.6" 772 | debug "^2.6.9" 773 | 774 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 775 | version "2.6.2" 776 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 777 | dependencies: 778 | glob "^7.0.5" 779 | 780 | safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 781 | version "5.1.1" 782 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 783 | 784 | semver@^5.3.0, semver@^5.5.0: 785 | version "5.5.0" 786 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 787 | 788 | send@0.16.1: 789 | version "0.16.1" 790 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" 791 | dependencies: 792 | debug "2.6.9" 793 | depd "~1.1.1" 794 | destroy "~1.0.4" 795 | encodeurl "~1.0.1" 796 | escape-html "~1.0.3" 797 | etag "~1.8.1" 798 | fresh "0.5.2" 799 | http-errors "~1.6.2" 800 | mime "1.4.1" 801 | ms "2.0.0" 802 | on-finished "~2.3.0" 803 | range-parser "~1.2.0" 804 | statuses "~1.3.1" 805 | 806 | sequelize@^4.32.2: 807 | version "4.32.2" 808 | resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-4.32.2.tgz#de5924f6b904cabfbde1f9f8886d1be14ecf9e42" 809 | dependencies: 810 | bluebird "^3.4.6" 811 | cls-bluebird "^2.0.1" 812 | debug "^3.0.0" 813 | depd "^1.1.0" 814 | dottie "^2.0.0" 815 | generic-pool "^3.1.8" 816 | inflection "1.12.0" 817 | lodash "^4.17.1" 818 | moment "^2.13.0" 819 | moment-timezone "^0.5.4" 820 | retry-as-promised "^2.3.1" 821 | semver "^5.5.0" 822 | terraformer-wkt-parser "^1.1.2" 823 | toposort-class "^1.0.1" 824 | uuid "^3.2.1" 825 | validator "^9.1.0" 826 | wkx "^0.4.1" 827 | 828 | serve-static@1.13.1: 829 | version "1.13.1" 830 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" 831 | dependencies: 832 | encodeurl "~1.0.1" 833 | escape-html "~1.0.3" 834 | parseurl "~1.3.2" 835 | send "0.16.1" 836 | 837 | set-blocking@~2.0.0: 838 | version "2.0.0" 839 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 840 | 841 | setprototypeof@1.0.3: 842 | version "1.0.3" 843 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 844 | 845 | setprototypeof@1.1.0: 846 | version "1.1.0" 847 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 848 | 849 | shimmer@^1.1.0: 850 | version "1.2.0" 851 | resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.0.tgz#f966f7555789763e74d8841193685a5e78736665" 852 | 853 | signal-exit@^3.0.0: 854 | version "3.0.2" 855 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 856 | 857 | sntp@1.x.x: 858 | version "1.0.9" 859 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 860 | dependencies: 861 | hoek "2.x.x" 862 | 863 | sqlite3@^3.1.13: 864 | version "3.1.13" 865 | resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-3.1.13.tgz#d990a05627392768de6278bafd1a31fdfe907dd9" 866 | dependencies: 867 | nan "~2.7.0" 868 | node-pre-gyp "~0.6.38" 869 | 870 | sshpk@^1.7.0: 871 | version "1.13.1" 872 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 873 | dependencies: 874 | asn1 "~0.2.3" 875 | assert-plus "^1.0.0" 876 | dashdash "^1.12.0" 877 | getpass "^0.1.1" 878 | optionalDependencies: 879 | bcrypt-pbkdf "^1.0.0" 880 | ecc-jsbn "~0.1.1" 881 | jsbn "~0.1.0" 882 | tweetnacl "~0.14.0" 883 | 884 | "statuses@>= 1.3.1 < 2": 885 | version "1.4.0" 886 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 887 | 888 | statuses@~1.3.1: 889 | version "1.3.1" 890 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 891 | 892 | string-width@^1.0.1, string-width@^1.0.2: 893 | version "1.0.2" 894 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 895 | dependencies: 896 | code-point-at "^1.0.0" 897 | is-fullwidth-code-point "^1.0.0" 898 | strip-ansi "^3.0.0" 899 | 900 | string_decoder@~1.0.3: 901 | version "1.0.3" 902 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 903 | dependencies: 904 | safe-buffer "~5.1.0" 905 | 906 | stringstream@~0.0.4: 907 | version "0.0.5" 908 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 909 | 910 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 911 | version "3.0.1" 912 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 913 | dependencies: 914 | ansi-regex "^2.0.0" 915 | 916 | strip-json-comments@~2.0.1: 917 | version "2.0.1" 918 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 919 | 920 | stripe@^5.4.0: 921 | version "5.4.0" 922 | resolved "https://registry.yarnpkg.com/stripe/-/stripe-5.4.0.tgz#df258a983386f132bc2b8846cbb7a39761de2694" 923 | dependencies: 924 | bluebird "^3.5.0" 925 | lodash.isplainobject "^4.0.6" 926 | qs "~6.5.1" 927 | safe-buffer "^5.1.1" 928 | 929 | tar-pack@^3.4.0: 930 | version "3.4.1" 931 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 932 | dependencies: 933 | debug "^2.2.0" 934 | fstream "^1.0.10" 935 | fstream-ignore "^1.0.5" 936 | once "^1.3.3" 937 | readable-stream "^2.1.4" 938 | rimraf "^2.5.1" 939 | tar "^2.2.1" 940 | uid-number "^0.0.6" 941 | 942 | tar@^2.2.1: 943 | version "2.2.1" 944 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 945 | dependencies: 946 | block-stream "*" 947 | fstream "^1.0.2" 948 | inherits "2" 949 | 950 | terraformer-wkt-parser@^1.1.2: 951 | version "1.1.2" 952 | resolved "https://registry.yarnpkg.com/terraformer-wkt-parser/-/terraformer-wkt-parser-1.1.2.tgz#336a0c8fc82094a5aff83288f69aedecd369bf0c" 953 | dependencies: 954 | terraformer "~1.0.5" 955 | 956 | terraformer@~1.0.5: 957 | version "1.0.8" 958 | resolved "https://registry.yarnpkg.com/terraformer/-/terraformer-1.0.8.tgz#51e0ad89746fcf2161dc6f65aa70e42377c8b593" 959 | dependencies: 960 | "@types/geojson" "^1.0.0" 961 | 962 | toposort-class@^1.0.1: 963 | version "1.0.1" 964 | resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988" 965 | 966 | tough-cookie@~2.3.0: 967 | version "2.3.3" 968 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 969 | dependencies: 970 | punycode "^1.4.1" 971 | 972 | tunnel-agent@^0.6.0: 973 | version "0.6.0" 974 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 975 | dependencies: 976 | safe-buffer "^5.0.1" 977 | 978 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 979 | version "0.14.5" 980 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 981 | 982 | type-is@~1.6.15: 983 | version "1.6.15" 984 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" 985 | dependencies: 986 | media-typer "0.3.0" 987 | mime-types "~2.1.15" 988 | 989 | uid-number@^0.0.6: 990 | version "0.0.6" 991 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 992 | 993 | unpipe@1.0.0, unpipe@~1.0.0: 994 | version "1.0.0" 995 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 996 | 997 | util-deprecate@~1.0.1: 998 | version "1.0.2" 999 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1000 | 1001 | utils-merge@1.0.1: 1002 | version "1.0.1" 1003 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1004 | 1005 | uuid@^3.0.0, uuid@^3.2.1: 1006 | version "3.2.1" 1007 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 1008 | 1009 | validator@^9.1.0: 1010 | version "9.3.0" 1011 | resolved "https://registry.yarnpkg.com/validator/-/validator-9.3.0.tgz#9fbe89a73848560b87377561776766d565e2ee54" 1012 | 1013 | vary@~1.1.2: 1014 | version "1.1.2" 1015 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1016 | 1017 | verror@1.10.0: 1018 | version "1.10.0" 1019 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1020 | dependencies: 1021 | assert-plus "^1.0.0" 1022 | core-util-is "1.0.2" 1023 | extsprintf "^1.2.0" 1024 | 1025 | wide-align@^1.1.0: 1026 | version "1.1.2" 1027 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 1028 | dependencies: 1029 | string-width "^1.0.2" 1030 | 1031 | wkx@^0.4.1: 1032 | version "0.4.2" 1033 | resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.4.2.tgz#776d35a634a5c22e656e4744bdeb54f83fd2ce8d" 1034 | dependencies: 1035 | "@types/node" "*" 1036 | 1037 | wrappy@1: 1038 | version "1.0.2" 1039 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1040 | -------------------------------------------------------------------------------- /example/app/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /example/app/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /example/app/.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | ; We fork some components by platform 3 | .*/*[.]android.js 4 | 5 | ; Ignore "BUCK" generated dirs 6 | /\.buckd/ 7 | 8 | ; Ignore unexpected extra "@providesModule" 9 | .*/node_modules/.*/node_modules/fbjs/.* 10 | 11 | ; Ignore duplicate module providers 12 | ; For RN Apps installed via npm, "Libraries" folder is inside 13 | ; "node_modules/react-native" but in the source repo it is in the root 14 | .*/Libraries/react-native/React.js 15 | 16 | ; Ignore polyfills 17 | .*/Libraries/polyfills/.* 18 | 19 | ; Ignore metro 20 | .*/node_modules/metro/.* 21 | 22 | [include] 23 | 24 | [libs] 25 | node_modules/react-native/Libraries/react-native/react-native-interface.js 26 | node_modules/react-native/flow/ 27 | node_modules/react-native/flow-github/ 28 | 29 | [options] 30 | emoji=true 31 | 32 | module.system=haste 33 | 34 | munge_underscores=true 35 | 36 | 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\)$' -> 'RelativeImageStub' 37 | 38 | module.file_ext=.js 39 | module.file_ext=.jsx 40 | module.file_ext=.json 41 | module.file_ext=.native.js 42 | 43 | suppress_type=$FlowIssue 44 | suppress_type=$FlowFixMe 45 | suppress_type=$FlowFixMeProps 46 | suppress_type=$FlowFixMeState 47 | 48 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) 49 | suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ 50 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy 51 | suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError 52 | 53 | unsafe.enable_getters_and_setters=true 54 | 55 | [version] 56 | ^0.61.0 57 | -------------------------------------------------------------------------------- /example/app/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /example/app/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | project.xcworkspace 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | 33 | # node.js 34 | # 35 | node_modules/ 36 | npm-debug.log 37 | yarn-error.log 38 | 39 | # BUCK 40 | buck-out/ 41 | \.buckd/ 42 | *.keystore 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | */fastlane/report.xml 52 | */fastlane/Preview.html 53 | */fastlane/screenshots 54 | 55 | ios/Pods 56 | -------------------------------------------------------------------------------- /example/app/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /example/app/__tests__/App.js: -------------------------------------------------------------------------------- 1 | import 'react-native'; 2 | import React from 'react'; 3 | import App from '../App'; 4 | 5 | // Note: test renderer must be required after react-native. 6 | import renderer from 'react-test-renderer'; 7 | 8 | it('renders correctly', () => { 9 | const tree = renderer.create( 10 | 11 | ); 12 | }); 13 | -------------------------------------------------------------------------------- /example/app/android/app/BUCK: -------------------------------------------------------------------------------- 1 | # To learn about Buck see [Docs](https://buckbuild.com/). 2 | # To run your application with Buck: 3 | # - install Buck 4 | # - `npm start` - to start the packager 5 | # - `cd android` 6 | # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` 7 | # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck 8 | # - `buck install -r android/app` - compile, install and run application 9 | # 10 | 11 | lib_deps = [] 12 | 13 | for jarfile in glob(['libs/*.jar']): 14 | name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')] 15 | lib_deps.append(':' + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | 21 | for aarfile in glob(['libs/*.aar']): 22 | name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')] 23 | lib_deps.append(':' + name) 24 | android_prebuilt_aar( 25 | name = name, 26 | aar = aarfile, 27 | ) 28 | 29 | android_library( 30 | name = "all-libs", 31 | exported_deps = lib_deps, 32 | ) 33 | 34 | android_library( 35 | name = "app-code", 36 | srcs = glob([ 37 | "src/main/java/**/*.java", 38 | ]), 39 | deps = [ 40 | ":all-libs", 41 | ":build_config", 42 | ":res", 43 | ], 44 | ) 45 | 46 | android_build_config( 47 | name = "build_config", 48 | package = "com.stripeexample", 49 | ) 50 | 51 | android_resource( 52 | name = "res", 53 | package = "com.stripeexample", 54 | res = "src/main/res", 55 | ) 56 | 57 | android_binary( 58 | name = "app", 59 | keystore = "//android/keystores:debug", 60 | manifest = "src/main/AndroidManifest.xml", 61 | package_type = "debug", 62 | deps = [ 63 | ":app-code", 64 | ], 65 | ) 66 | -------------------------------------------------------------------------------- /example/app/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | 3 | import com.android.build.OutputFile 4 | 5 | /** 6 | * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets 7 | * and bundleReleaseJsAndAssets). 8 | * These basically call `react-native bundle` with the correct arguments during the Android build 9 | * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the 10 | * bundle directly from the development server. Below you can see all the possible configurations 11 | * and their defaults. If you decide to add a configuration block, make sure to add it before the 12 | * `apply from: "../../node_modules/react-native/react.gradle"` line. 13 | * 14 | * project.ext.react = [ 15 | * // the name of the generated asset file containing your JS bundle 16 | * bundleAssetName: "index.android.bundle", 17 | * 18 | * // the entry file for bundle generation 19 | * entryFile: "index.android.js", 20 | * 21 | * // whether to bundle JS and assets in debug mode 22 | * bundleInDebug: false, 23 | * 24 | * // whether to bundle JS and assets in release mode 25 | * bundleInRelease: true, 26 | * 27 | * // whether to bundle JS and assets in another build variant (if configured). 28 | * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants 29 | * // The configuration property can be in the following formats 30 | * // 'bundleIn${productFlavor}${buildType}' 31 | * // 'bundleIn${buildType}' 32 | * // bundleInFreeDebug: true, 33 | * // bundleInPaidRelease: true, 34 | * // bundleInBeta: true, 35 | * 36 | * // whether to disable dev mode in custom build variants (by default only disabled in release) 37 | * // for example: to disable dev mode in the staging build type (if configured) 38 | * devDisabledInStaging: true, 39 | * // The configuration property can be in the following formats 40 | * // 'devDisabledIn${productFlavor}${buildType}' 41 | * // 'devDisabledIn${buildType}' 42 | * 43 | * // the root of your project, i.e. where "package.json" lives 44 | * root: "../../", 45 | * 46 | * // where to put the JS bundle asset in debug mode 47 | * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", 48 | * 49 | * // where to put the JS bundle asset in release mode 50 | * jsBundleDirRelease: "$buildDir/intermediates/assets/release", 51 | * 52 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 53 | * // require('./image.png')), in debug mode 54 | * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", 55 | * 56 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 57 | * // require('./image.png')), in release mode 58 | * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", 59 | * 60 | * // by default the gradle tasks are skipped if none of the JS files or assets change; this means 61 | * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to 62 | * // date; if you have any other folders that you want to ignore for performance reasons (gradle 63 | * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ 64 | * // for example, you might want to remove it from here. 65 | * inputExcludes: ["android/**", "ios/**"], 66 | * 67 | * // override which node gets called and with what additional arguments 68 | * nodeExecutableAndArgs: ["node"], 69 | * 70 | * // supply additional arguments to the packager 71 | * extraPackagerArgs: [] 72 | * ] 73 | */ 74 | 75 | project.ext.react = [ 76 | entryFile: "index.js" 77 | ] 78 | 79 | apply from: "../../node_modules/react-native/react.gradle" 80 | 81 | /** 82 | * Set this to true to create two separate APKs instead of one: 83 | * - An APK that only works on ARM devices 84 | * - An APK that only works on x86 devices 85 | * The advantage is the size of the APK is reduced by about 4MB. 86 | * Upload all the APKs to the Play Store and people will download 87 | * the correct one based on the CPU architecture of their device. 88 | */ 89 | def enableSeparateBuildPerCPUArchitecture = false 90 | 91 | /** 92 | * Run Proguard to shrink the Java bytecode in release builds. 93 | */ 94 | def enableProguardInReleaseBuilds = false 95 | 96 | android { 97 | compileSdkVersion 26 98 | buildToolsVersion "26.0.1" 99 | 100 | defaultConfig { 101 | applicationId "com.stripeexample" 102 | minSdkVersion 16 103 | targetSdkVersion 22 104 | versionCode 1 105 | versionName "1.0" 106 | ndk { 107 | abiFilters "armeabi-v7a", "x86" 108 | } 109 | } 110 | splits { 111 | abi { 112 | reset() 113 | enable enableSeparateBuildPerCPUArchitecture 114 | universalApk false // If true, also generate a universal APK 115 | include "armeabi-v7a", "x86" 116 | } 117 | } 118 | buildTypes { 119 | release { 120 | minifyEnabled enableProguardInReleaseBuilds 121 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 122 | } 123 | } 124 | // applicationVariants are e.g. debug, release 125 | applicationVariants.all { variant -> 126 | variant.outputs.each { output -> 127 | // For each separate APK per architecture, set a unique version code as described here: 128 | // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits 129 | def versionCodes = ["armeabi-v7a":1, "x86":2] 130 | def abi = output.getFilter(OutputFile.ABI) 131 | if (abi != null) { // null for the universal-debug, universal-release variants 132 | output.versionCodeOverride = 133 | versionCodes.get(abi) * 1048576 + defaultConfig.versionCode 134 | } 135 | } 136 | } 137 | } 138 | 139 | dependencies { 140 | compile project(':react-native-stripe') 141 | compile fileTree(dir: "libs", include: ["*.jar"]) 142 | compile "com.android.support:appcompat-v7:26.0.1" 143 | compile "com.facebook.react:react-native:+" // From node_modules 144 | } 145 | 146 | // Run this once to be able to run the application with BUCK 147 | // puts all compile dependencies into folder libs for BUCK to use 148 | task copyDownloadableDepsToLibs(type: Copy) { 149 | from configurations.compile 150 | into 'libs' 151 | } 152 | -------------------------------------------------------------------------------- /example/app/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Disabling obfuscation is useful if you collect stack traces from production crashes 20 | # (unless you are using a system that supports de-obfuscate the stack traces). 21 | -dontobfuscate 22 | 23 | # React Native 24 | 25 | # Keep our interfaces so they can be used by other ProGuard rules. 26 | # See http://sourceforge.net/p/proguard/bugs/466/ 27 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip 28 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters 29 | -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip 30 | 31 | # Do not strip any method/class that is annotated with @DoNotStrip 32 | -keep @com.facebook.proguard.annotations.DoNotStrip class * 33 | -keep @com.facebook.common.internal.DoNotStrip class * 34 | -keepclassmembers class * { 35 | @com.facebook.proguard.annotations.DoNotStrip *; 36 | @com.facebook.common.internal.DoNotStrip *; 37 | } 38 | 39 | -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { 40 | void set*(***); 41 | *** get*(); 42 | } 43 | 44 | -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } 45 | -keep class * extends com.facebook.react.bridge.NativeModule { *; } 46 | -keepclassmembers,includedescriptorclasses class * { native ; } 47 | -keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } 48 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } 49 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } 50 | 51 | -dontwarn com.facebook.react.** 52 | 53 | # TextLayoutBuilder uses a non-public Android constructor within StaticLayout. 54 | # See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details. 55 | -dontwarn android.text.StaticLayout 56 | 57 | # okhttp 58 | 59 | -keepattributes Signature 60 | -keepattributes *Annotation* 61 | -keep class okhttp3.** { *; } 62 | -keep interface okhttp3.** { *; } 63 | -dontwarn okhttp3.** 64 | 65 | # okio 66 | 67 | -keep class sun.misc.Unsafe { *; } 68 | -dontwarn java.nio.file.* 69 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 70 | -dontwarn okio.** 71 | -------------------------------------------------------------------------------- /example/app/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 19 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /example/app/android/app/src/main/java/com/stripeexample/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.stripeexample; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "stripeExample"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /example/app/android/app/src/main/java/com/stripeexample/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.stripeexample; 2 | 3 | import android.app.Application; 4 | 5 | import com.facebook.react.ReactApplication; 6 | import com.reactlibrary.RNStripePackage; 7 | import com.facebook.react.ReactNativeHost; 8 | import com.facebook.react.ReactPackage; 9 | import com.facebook.react.shell.MainReactPackage; 10 | import com.facebook.soloader.SoLoader; 11 | 12 | import java.util.Arrays; 13 | import java.util.List; 14 | 15 | public class MainApplication extends Application implements ReactApplication { 16 | 17 | private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 18 | @Override 19 | public boolean getUseDeveloperSupport() { 20 | return BuildConfig.DEBUG; 21 | } 22 | 23 | @Override 24 | protected List getPackages() { 25 | return Arrays.asList( 26 | new MainReactPackage(), 27 | new RNStripePackage() 28 | ); 29 | } 30 | 31 | @Override 32 | protected String getJSMainModuleName() { 33 | return "index"; 34 | } 35 | }; 36 | 37 | @Override 38 | public ReactNativeHost getReactNativeHost() { 39 | return mReactNativeHost; 40 | } 41 | 42 | @Override 43 | public void onCreate() { 44 | super.onCreate(); 45 | SoLoader.init(this, /* native exopackage */ false); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /example/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bamlab/react-native-stripe/40ed9483a5e2be45dacd6ce4db2449f268f8a7cf/example/app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bamlab/react-native-stripe/40ed9483a5e2be45dacd6ce4db2449f268f8a7cf/example/app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bamlab/react-native-stripe/40ed9483a5e2be45dacd6ce4db2449f268f8a7cf/example/app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bamlab/react-native-stripe/40ed9483a5e2be45dacd6ce4db2449f268f8a7cf/example/app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/app/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | stripeExample 3 | 4 | -------------------------------------------------------------------------------- /example/app/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /example/app/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.2.3' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | mavenLocal() 18 | jcenter() 19 | maven { 20 | url 'https://maven.google.com' 21 | } 22 | maven { 23 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 24 | url "$rootDir/../node_modules/react-native/android" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /example/app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | android.useDeprecatedNdk=true 21 | -------------------------------------------------------------------------------- /example/app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /example/app/android/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # For Cygwin, ensure paths are in UNIX format before anything is touched. 46 | if $cygwin ; then 47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 48 | fi 49 | 50 | # Attempt to set APP_HOME 51 | # Resolve links: $0 may be a link 52 | PRG="$0" 53 | # Need this for relative symlinks. 54 | while [ -h "$PRG" ] ; do 55 | ls=`ls -ld "$PRG"` 56 | link=`expr "$ls" : '.*-> \(.*\)$'` 57 | if expr "$link" : '/.*' > /dev/null; then 58 | PRG="$link" 59 | else 60 | PRG=`dirname "$PRG"`"/$link" 61 | fi 62 | done 63 | SAVED="`pwd`" 64 | cd "`dirname \"$PRG\"`/" >&- 65 | APP_HOME="`pwd -P`" 66 | cd "$SAVED" >&- 67 | 68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 69 | 70 | # Determine the Java command to use to start the JVM. 71 | if [ -n "$JAVA_HOME" ] ; then 72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 73 | # IBM's JDK on AIX uses strange locations for the executables 74 | JAVACMD="$JAVA_HOME/jre/sh/java" 75 | else 76 | JAVACMD="$JAVA_HOME/bin/java" 77 | fi 78 | if [ ! -x "$JAVACMD" ] ; then 79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 80 | 81 | Please set the JAVA_HOME variable in your environment to match the 82 | location of your Java installation." 83 | fi 84 | else 85 | JAVACMD="java" 86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 87 | 88 | Please set the JAVA_HOME variable in your environment to match the 89 | location of your Java installation." 90 | fi 91 | 92 | # Increase the maximum file descriptors if we can. 93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 94 | MAX_FD_LIMIT=`ulimit -H -n` 95 | if [ $? -eq 0 ] ; then 96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 97 | MAX_FD="$MAX_FD_LIMIT" 98 | fi 99 | ulimit -n $MAX_FD 100 | if [ $? -ne 0 ] ; then 101 | warn "Could not set maximum file descriptor limit: $MAX_FD" 102 | fi 103 | else 104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 105 | fi 106 | fi 107 | 108 | # For Darwin, add options to specify how the application appears in the dock 109 | if $darwin; then 110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 111 | fi 112 | 113 | # For Cygwin, switch paths to Windows format before running java 114 | if $cygwin ; then 115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 158 | function splitJvmOpts() { 159 | JVM_OPTS=("$@") 160 | } 161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 163 | 164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 165 | -------------------------------------------------------------------------------- /example/app/android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /example/app/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /example/app/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /example/app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'stripeExample' 2 | include ':react-native-stripe' 3 | project(':react-native-stripe').projectDir = new File(rootProject.projectDir, '../../../android') 4 | 5 | include ':app' 6 | -------------------------------------------------------------------------------- /example/app/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stripeExample", 3 | "displayName": "stripeExample" 4 | } -------------------------------------------------------------------------------- /example/app/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './src/App'; 3 | 4 | AppRegistry.registerComponent('stripeExample', () => App); 5 | -------------------------------------------------------------------------------- /example/app/ios/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '9.0' 3 | 4 | target 'stripeExample' do 5 | # pod 'react-native-stripe', path: '../node_modules/react-native-stripe' 6 | pod 'react-native-stripe', path: '../../..' 7 | pod 'yoga', path: '../node_modules/react-native/ReactCommon/yoga/yoga.podspec' 8 | pod 'React', :path => '../node_modules/react-native', :subspecs => [ 9 | 'Core', 10 | 'RCTActionSheet', 11 | 'RCTAnimation', 12 | 'RCTGeolocation', 13 | 'RCTImage', 14 | 'RCTLinkingIOS', 15 | 'RCTNetwork', 16 | 'RCTSettings', 17 | 'RCTText', 18 | 'RCTVibration', 19 | 'RCTWebSocket', 20 | 'DevSupport' 21 | ] 22 | end 23 | 24 | -------------------------------------------------------------------------------- /example/app/ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - React (0.52.2): 3 | - React/Core (= 0.52.2) 4 | - react-native-stripe (0.0.1): 5 | - React 6 | - Stripe 7 | - React/Core (0.52.2): 8 | - yoga (= 0.52.2.React) 9 | - React/DevSupport (0.52.2): 10 | - React/Core 11 | - React/RCTWebSocket 12 | - React/fishhook (0.52.2) 13 | - React/RCTActionSheet (0.52.2): 14 | - React/Core 15 | - React/RCTAnimation (0.52.2): 16 | - React/Core 17 | - React/RCTBlob (0.52.2): 18 | - React/Core 19 | - React/RCTGeolocation (0.52.2): 20 | - React/Core 21 | - React/RCTImage (0.52.2): 22 | - React/Core 23 | - React/RCTNetwork 24 | - React/RCTLinkingIOS (0.52.2): 25 | - React/Core 26 | - React/RCTNetwork (0.52.2): 27 | - React/Core 28 | - React/RCTSettings (0.52.2): 29 | - React/Core 30 | - React/RCTText (0.52.2): 31 | - React/Core 32 | - React/RCTVibration (0.52.2): 33 | - React/Core 34 | - React/RCTWebSocket (0.52.2): 35 | - React/Core 36 | - React/fishhook 37 | - React/RCTBlob 38 | - Stripe (11.5.0) 39 | - yoga (0.52.2.React) 40 | 41 | DEPENDENCIES: 42 | - react-native-stripe (from `../../..`) 43 | - React/Core (from `../node_modules/react-native`) 44 | - React/DevSupport (from `../node_modules/react-native`) 45 | - React/RCTActionSheet (from `../node_modules/react-native`) 46 | - React/RCTAnimation (from `../node_modules/react-native`) 47 | - React/RCTGeolocation (from `../node_modules/react-native`) 48 | - React/RCTImage (from `../node_modules/react-native`) 49 | - React/RCTLinkingIOS (from `../node_modules/react-native`) 50 | - React/RCTNetwork (from `../node_modules/react-native`) 51 | - React/RCTSettings (from `../node_modules/react-native`) 52 | - React/RCTText (from `../node_modules/react-native`) 53 | - React/RCTVibration (from `../node_modules/react-native`) 54 | - React/RCTWebSocket (from `../node_modules/react-native`) 55 | - yoga (from `../node_modules/react-native/ReactCommon/yoga/yoga.podspec`) 56 | 57 | EXTERNAL SOURCES: 58 | React: 59 | :path: ../node_modules/react-native 60 | react-native-stripe: 61 | :path: ../../.. 62 | yoga: 63 | :path: ../node_modules/react-native/ReactCommon/yoga/yoga.podspec 64 | 65 | SPEC CHECKSUMS: 66 | React: 43e97926f429d846050880666de1809e22dd5cc5 67 | react-native-stripe: cd15f19c9fc2aa4ed330e47fa37cf45a8882d14a 68 | Stripe: 10761682d20dc491c52287393c800db056c9748d 69 | yoga: 55da126afc384965b96bff46652464373b330add 70 | 71 | PODFILE CHECKSUM: 8116487be51ff071793adc63a859f13ec6838a8d 72 | 73 | COCOAPODS: 1.4.0 74 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample-tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UIViewControllerBasedStatusBarAppearance 38 | 39 | NSLocationWhenInUseUsageDescription 40 | 41 | NSAppTransportSecurity 42 | 43 | 44 | NSExceptionDomains 45 | 46 | localhost 47 | 48 | NSExceptionAllowsInsecureHTTPLoads 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample-tvOSTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 11 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; 12 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 13 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 14 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 15 | 00E356F31AD99517003FC87E /* stripeExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* stripeExampleTests.m */; }; 16 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 17 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 18 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 19 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 20 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 21 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 22 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 23 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 24 | 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 25 | 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 26 | 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 27 | 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 28 | 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 29 | 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; 30 | 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; 31 | 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; 32 | 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; 33 | 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; 34 | 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; 35 | 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; }; 36 | 2DCD954D1E0B4F2C00145EB5 /* stripeExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* stripeExampleTests.m */; }; 37 | 5BA1F8B49C12510CDCF29C66 /* libPods-stripeExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 21BCD7D9D20FCAE131DBA92D /* libPods-stripeExample.a */; }; 38 | 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 39 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 40 | ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; 41 | /* End PBXBuildFile section */ 42 | 43 | /* Begin PBXContainerItemProxy section */ 44 | 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { 45 | isa = PBXContainerItemProxy; 46 | containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 47 | proxyType = 2; 48 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 49 | remoteInfo = RCTActionSheet; 50 | }; 51 | 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { 52 | isa = PBXContainerItemProxy; 53 | containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 54 | proxyType = 2; 55 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 56 | remoteInfo = RCTGeolocation; 57 | }; 58 | 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { 59 | isa = PBXContainerItemProxy; 60 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 61 | proxyType = 2; 62 | remoteGlobalIDString = 58B5115D1A9E6B3D00147676; 63 | remoteInfo = RCTImage; 64 | }; 65 | 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { 66 | isa = PBXContainerItemProxy; 67 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 68 | proxyType = 2; 69 | remoteGlobalIDString = 58B511DB1A9E6C8500147676; 70 | remoteInfo = RCTNetwork; 71 | }; 72 | 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { 73 | isa = PBXContainerItemProxy; 74 | containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 75 | proxyType = 2; 76 | remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; 77 | remoteInfo = RCTVibration; 78 | }; 79 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 80 | isa = PBXContainerItemProxy; 81 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 82 | proxyType = 1; 83 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 84 | remoteInfo = stripeExample; 85 | }; 86 | 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { 87 | isa = PBXContainerItemProxy; 88 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 89 | proxyType = 2; 90 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 91 | remoteInfo = RCTSettings; 92 | }; 93 | 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { 94 | isa = PBXContainerItemProxy; 95 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 96 | proxyType = 2; 97 | remoteGlobalIDString = 3C86DF461ADF2C930047B81A; 98 | remoteInfo = RCTWebSocket; 99 | }; 100 | 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { 101 | isa = PBXContainerItemProxy; 102 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 103 | proxyType = 2; 104 | remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; 105 | remoteInfo = React; 106 | }; 107 | 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { 108 | isa = PBXContainerItemProxy; 109 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 110 | proxyType = 1; 111 | remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; 112 | remoteInfo = "stripeExample-tvOS"; 113 | }; 114 | 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { 115 | isa = PBXContainerItemProxy; 116 | containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; 117 | proxyType = 2; 118 | remoteGlobalIDString = ADD01A681E09402E00F6D226; 119 | remoteInfo = "RCTBlob-tvOS"; 120 | }; 121 | 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { 122 | isa = PBXContainerItemProxy; 123 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 124 | proxyType = 2; 125 | remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; 126 | remoteInfo = fishhook; 127 | }; 128 | 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { 129 | isa = PBXContainerItemProxy; 130 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 131 | proxyType = 2; 132 | remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; 133 | remoteInfo = "fishhook-tvOS"; 134 | }; 135 | 2FC8A087201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 136 | isa = PBXContainerItemProxy; 137 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 138 | proxyType = 2; 139 | remoteGlobalIDString = EBF21BDC1FC498900052F4D5; 140 | remoteInfo = jsinspector; 141 | }; 142 | 2FC8A089201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 143 | isa = PBXContainerItemProxy; 144 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 145 | proxyType = 2; 146 | remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; 147 | remoteInfo = "jsinspector-tvOS"; 148 | }; 149 | 2FC8A08B201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 150 | isa = PBXContainerItemProxy; 151 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 152 | proxyType = 2; 153 | remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; 154 | remoteInfo = "third-party"; 155 | }; 156 | 2FC8A08D201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 157 | isa = PBXContainerItemProxy; 158 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 159 | proxyType = 2; 160 | remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; 161 | remoteInfo = "third-party-tvOS"; 162 | }; 163 | 2FC8A08F201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 164 | isa = PBXContainerItemProxy; 165 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 166 | proxyType = 2; 167 | remoteGlobalIDString = 139D7E881E25C6D100323FB7; 168 | remoteInfo = "double-conversion"; 169 | }; 170 | 2FC8A091201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 171 | isa = PBXContainerItemProxy; 172 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 173 | proxyType = 2; 174 | remoteGlobalIDString = 3D383D621EBD27B9005632C8; 175 | remoteInfo = "double-conversion-tvOS"; 176 | }; 177 | 2FC8A093201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 178 | isa = PBXContainerItemProxy; 179 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 180 | proxyType = 2; 181 | remoteGlobalIDString = 9936F3131F5F2E4B0010BF04; 182 | remoteInfo = privatedata; 183 | }; 184 | 2FC8A095201E1E7D00BEBEDC /* PBXContainerItemProxy */ = { 185 | isa = PBXContainerItemProxy; 186 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 187 | proxyType = 2; 188 | remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; 189 | remoteInfo = "privatedata-tvOS"; 190 | }; 191 | 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { 192 | isa = PBXContainerItemProxy; 193 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 194 | proxyType = 2; 195 | remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; 196 | remoteInfo = "RCTImage-tvOS"; 197 | }; 198 | 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { 199 | isa = PBXContainerItemProxy; 200 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 201 | proxyType = 2; 202 | remoteGlobalIDString = 2D2A28471D9B043800D4039D; 203 | remoteInfo = "RCTLinking-tvOS"; 204 | }; 205 | 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 206 | isa = PBXContainerItemProxy; 207 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 208 | proxyType = 2; 209 | remoteGlobalIDString = 2D2A28541D9B044C00D4039D; 210 | remoteInfo = "RCTNetwork-tvOS"; 211 | }; 212 | 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 213 | isa = PBXContainerItemProxy; 214 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 215 | proxyType = 2; 216 | remoteGlobalIDString = 2D2A28611D9B046600D4039D; 217 | remoteInfo = "RCTSettings-tvOS"; 218 | }; 219 | 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { 220 | isa = PBXContainerItemProxy; 221 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 222 | proxyType = 2; 223 | remoteGlobalIDString = 2D2A287B1D9B048500D4039D; 224 | remoteInfo = "RCTText-tvOS"; 225 | }; 226 | 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { 227 | isa = PBXContainerItemProxy; 228 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 229 | proxyType = 2; 230 | remoteGlobalIDString = 2D2A28881D9B049200D4039D; 231 | remoteInfo = "RCTWebSocket-tvOS"; 232 | }; 233 | 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { 234 | isa = PBXContainerItemProxy; 235 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 236 | proxyType = 2; 237 | remoteGlobalIDString = 2D2A28131D9B038B00D4039D; 238 | remoteInfo = "React-tvOS"; 239 | }; 240 | 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { 241 | isa = PBXContainerItemProxy; 242 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 243 | proxyType = 2; 244 | remoteGlobalIDString = 3D3C059A1DE3340900C268FA; 245 | remoteInfo = yoga; 246 | }; 247 | 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { 248 | isa = PBXContainerItemProxy; 249 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 250 | proxyType = 2; 251 | remoteGlobalIDString = 3D3C06751DE3340C00C268FA; 252 | remoteInfo = "yoga-tvOS"; 253 | }; 254 | 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { 255 | isa = PBXContainerItemProxy; 256 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 257 | proxyType = 2; 258 | remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; 259 | remoteInfo = cxxreact; 260 | }; 261 | 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 262 | isa = PBXContainerItemProxy; 263 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 264 | proxyType = 2; 265 | remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; 266 | remoteInfo = "cxxreact-tvOS"; 267 | }; 268 | 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 269 | isa = PBXContainerItemProxy; 270 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 271 | proxyType = 2; 272 | remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; 273 | remoteInfo = jschelpers; 274 | }; 275 | 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 276 | isa = PBXContainerItemProxy; 277 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 278 | proxyType = 2; 279 | remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; 280 | remoteInfo = "jschelpers-tvOS"; 281 | }; 282 | 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { 283 | isa = PBXContainerItemProxy; 284 | containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; 285 | proxyType = 2; 286 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 287 | remoteInfo = RCTAnimation; 288 | }; 289 | 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { 290 | isa = PBXContainerItemProxy; 291 | containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; 292 | proxyType = 2; 293 | remoteGlobalIDString = 2D2A28201D9B03D100D4039D; 294 | remoteInfo = "RCTAnimation-tvOS"; 295 | }; 296 | 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { 297 | isa = PBXContainerItemProxy; 298 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 299 | proxyType = 2; 300 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 301 | remoteInfo = RCTLinking; 302 | }; 303 | 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { 304 | isa = PBXContainerItemProxy; 305 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 306 | proxyType = 2; 307 | remoteGlobalIDString = 58B5119B1A9E6C1200147676; 308 | remoteInfo = RCTText; 309 | }; 310 | ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = { 311 | isa = PBXContainerItemProxy; 312 | containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; 313 | proxyType = 2; 314 | remoteGlobalIDString = 358F4ED71D1E81A9004DF814; 315 | remoteInfo = RCTBlob; 316 | }; 317 | /* End PBXContainerItemProxy section */ 318 | 319 | /* Begin PBXFileReference section */ 320 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; 321 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; 322 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; 323 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; 324 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; 325 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; 326 | 00E356EE1AD99517003FC87E /* stripeExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = stripeExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 327 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 328 | 00E356F21AD99517003FC87E /* stripeExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = stripeExampleTests.m; sourceTree = ""; }; 329 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 330 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 331 | 13B07F961A680F5B00A75B9A /* stripeExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = stripeExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 332 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = stripeExample/AppDelegate.h; sourceTree = ""; }; 333 | 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = stripeExample/AppDelegate.m; sourceTree = ""; }; 334 | 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 335 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = stripeExample/Images.xcassets; sourceTree = ""; }; 336 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = stripeExample/Info.plist; sourceTree = ""; }; 337 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = stripeExample/main.m; sourceTree = ""; }; 338 | 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 339 | 21BCD7D9D20FCAE131DBA92D /* libPods-stripeExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-stripeExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 340 | 2D02E47B1E0B4A5D006451C7 /* stripeExample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "stripeExample-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 341 | 2D02E4901E0B4A5D006451C7 /* stripeExample-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "stripeExample-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 342 | 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; 343 | 3ECF23247959B4C579387864 /* Pods-stripeExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-stripeExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-stripeExample/Pods-stripeExample.release.xcconfig"; sourceTree = ""; }; 344 | 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 345 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 346 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 347 | ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; 348 | D8FEAEBE5FCE190A37B51E70 /* Pods-stripeExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-stripeExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-stripeExample/Pods-stripeExample.debug.xcconfig"; sourceTree = ""; }; 349 | /* End PBXFileReference section */ 350 | 351 | /* Begin PBXFrameworksBuildPhase section */ 352 | 00E356EB1AD99517003FC87E /* Frameworks */ = { 353 | isa = PBXFrameworksBuildPhase; 354 | buildActionMask = 2147483647; 355 | files = ( 356 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, 357 | ); 358 | runOnlyForDeploymentPostprocessing = 0; 359 | }; 360 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 361 | isa = PBXFrameworksBuildPhase; 362 | buildActionMask = 2147483647; 363 | files = ( 364 | ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, 365 | 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 366 | 146834051AC3E58100842450 /* libReact.a in Frameworks */, 367 | 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 368 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 369 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 370 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, 371 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, 372 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, 373 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, 374 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 375 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 376 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, 377 | 5BA1F8B49C12510CDCF29C66 /* libPods-stripeExample.a in Frameworks */, 378 | ); 379 | runOnlyForDeploymentPostprocessing = 0; 380 | }; 381 | 2D02E4781E0B4A5D006451C7 /* Frameworks */ = { 382 | isa = PBXFrameworksBuildPhase; 383 | buildActionMask = 2147483647; 384 | files = ( 385 | 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */, 386 | 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */, 387 | 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, 388 | 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, 389 | 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, 390 | 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */, 391 | 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */, 392 | 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */, 393 | ); 394 | runOnlyForDeploymentPostprocessing = 0; 395 | }; 396 | 2D02E48D1E0B4A5D006451C7 /* Frameworks */ = { 397 | isa = PBXFrameworksBuildPhase; 398 | buildActionMask = 2147483647; 399 | files = ( 400 | ); 401 | runOnlyForDeploymentPostprocessing = 0; 402 | }; 403 | /* End PBXFrameworksBuildPhase section */ 404 | 405 | /* Begin PBXGroup section */ 406 | 00C302A81ABCB8CE00DB3ED1 /* Products */ = { 407 | isa = PBXGroup; 408 | children = ( 409 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, 410 | ); 411 | name = Products; 412 | sourceTree = ""; 413 | }; 414 | 00C302B61ABCB90400DB3ED1 /* Products */ = { 415 | isa = PBXGroup; 416 | children = ( 417 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, 418 | ); 419 | name = Products; 420 | sourceTree = ""; 421 | }; 422 | 00C302BC1ABCB91800DB3ED1 /* Products */ = { 423 | isa = PBXGroup; 424 | children = ( 425 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, 426 | 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, 427 | ); 428 | name = Products; 429 | sourceTree = ""; 430 | }; 431 | 00C302D41ABCB9D200DB3ED1 /* Products */ = { 432 | isa = PBXGroup; 433 | children = ( 434 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, 435 | 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, 436 | ); 437 | name = Products; 438 | sourceTree = ""; 439 | }; 440 | 00C302E01ABCB9EE00DB3ED1 /* Products */ = { 441 | isa = PBXGroup; 442 | children = ( 443 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, 444 | ); 445 | name = Products; 446 | sourceTree = ""; 447 | }; 448 | 00E356EF1AD99517003FC87E /* stripeExampleTests */ = { 449 | isa = PBXGroup; 450 | children = ( 451 | 00E356F21AD99517003FC87E /* stripeExampleTests.m */, 452 | 00E356F01AD99517003FC87E /* Supporting Files */, 453 | ); 454 | path = stripeExampleTests; 455 | sourceTree = ""; 456 | }; 457 | 00E356F01AD99517003FC87E /* Supporting Files */ = { 458 | isa = PBXGroup; 459 | children = ( 460 | 00E356F11AD99517003FC87E /* Info.plist */, 461 | ); 462 | name = "Supporting Files"; 463 | sourceTree = ""; 464 | }; 465 | 139105B71AF99BAD00B5F7CC /* Products */ = { 466 | isa = PBXGroup; 467 | children = ( 468 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, 469 | 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, 470 | ); 471 | name = Products; 472 | sourceTree = ""; 473 | }; 474 | 139FDEE71B06529A00C62182 /* Products */ = { 475 | isa = PBXGroup; 476 | children = ( 477 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, 478 | 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, 479 | 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */, 480 | 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */, 481 | ); 482 | name = Products; 483 | sourceTree = ""; 484 | }; 485 | 13B07FAE1A68108700A75B9A /* stripeExample */ = { 486 | isa = PBXGroup; 487 | children = ( 488 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 489 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 490 | 13B07FB01A68108700A75B9A /* AppDelegate.m */, 491 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 492 | 13B07FB61A68108700A75B9A /* Info.plist */, 493 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 494 | 13B07FB71A68108700A75B9A /* main.m */, 495 | ); 496 | name = stripeExample; 497 | sourceTree = ""; 498 | }; 499 | 146834001AC3E56700842450 /* Products */ = { 500 | isa = PBXGroup; 501 | children = ( 502 | 146834041AC3E56700842450 /* libReact.a */, 503 | 3DAD3EA31DF850E9000B6D8A /* libReact.a */, 504 | 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, 505 | 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, 506 | 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, 507 | 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, 508 | 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, 509 | 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, 510 | 2FC8A088201E1E7D00BEBEDC /* libjsinspector.a */, 511 | 2FC8A08A201E1E7D00BEBEDC /* libjsinspector-tvOS.a */, 512 | 2FC8A08C201E1E7D00BEBEDC /* libthird-party.a */, 513 | 2FC8A08E201E1E7D00BEBEDC /* libthird-party.a */, 514 | 2FC8A090201E1E7D00BEBEDC /* libdouble-conversion.a */, 515 | 2FC8A092201E1E7D00BEBEDC /* libdouble-conversion.a */, 516 | 2FC8A094201E1E7D00BEBEDC /* libprivatedata.a */, 517 | 2FC8A096201E1E7D00BEBEDC /* libprivatedata-tvOS.a */, 518 | ); 519 | name = Products; 520 | sourceTree = ""; 521 | }; 522 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 523 | isa = PBXGroup; 524 | children = ( 525 | 2D16E6891FA4F8E400B85C8A /* libReact.a */, 526 | 21BCD7D9D20FCAE131DBA92D /* libPods-stripeExample.a */, 527 | ); 528 | name = Frameworks; 529 | sourceTree = ""; 530 | }; 531 | 5E91572E1DD0AC6500FF2AA8 /* Products */ = { 532 | isa = PBXGroup; 533 | children = ( 534 | 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, 535 | 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, 536 | ); 537 | name = Products; 538 | sourceTree = ""; 539 | }; 540 | 78C398B11ACF4ADC00677621 /* Products */ = { 541 | isa = PBXGroup; 542 | children = ( 543 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, 544 | 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, 545 | ); 546 | name = Products; 547 | sourceTree = ""; 548 | }; 549 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 550 | isa = PBXGroup; 551 | children = ( 552 | 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, 553 | 146833FF1AC3E56700842450 /* React.xcodeproj */, 554 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 555 | ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */, 556 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, 557 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, 558 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, 559 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, 560 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, 561 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 562 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 563 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, 564 | ); 565 | name = Libraries; 566 | sourceTree = ""; 567 | }; 568 | 832341B11AAA6A8300B99B32 /* Products */ = { 569 | isa = PBXGroup; 570 | children = ( 571 | 832341B51AAA6A8300B99B32 /* libRCTText.a */, 572 | 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, 573 | ); 574 | name = Products; 575 | sourceTree = ""; 576 | }; 577 | 83CBB9F61A601CBA00E9B192 = { 578 | isa = PBXGroup; 579 | children = ( 580 | 13B07FAE1A68108700A75B9A /* stripeExample */, 581 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 582 | 00E356EF1AD99517003FC87E /* stripeExampleTests */, 583 | 83CBBA001A601CBA00E9B192 /* Products */, 584 | 2D16E6871FA4F8E400B85C8A /* Frameworks */, 585 | E7ED40939C66F99B1E676DBE /* Pods */, 586 | ); 587 | indentWidth = 2; 588 | sourceTree = ""; 589 | tabWidth = 2; 590 | usesTabs = 0; 591 | }; 592 | 83CBBA001A601CBA00E9B192 /* Products */ = { 593 | isa = PBXGroup; 594 | children = ( 595 | 13B07F961A680F5B00A75B9A /* stripeExample.app */, 596 | 00E356EE1AD99517003FC87E /* stripeExampleTests.xctest */, 597 | 2D02E47B1E0B4A5D006451C7 /* stripeExample-tvOS.app */, 598 | 2D02E4901E0B4A5D006451C7 /* stripeExample-tvOSTests.xctest */, 599 | ); 600 | name = Products; 601 | sourceTree = ""; 602 | }; 603 | ADBDB9201DFEBF0600ED6528 /* Products */ = { 604 | isa = PBXGroup; 605 | children = ( 606 | ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */, 607 | 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */, 608 | ); 609 | name = Products; 610 | sourceTree = ""; 611 | }; 612 | E7ED40939C66F99B1E676DBE /* Pods */ = { 613 | isa = PBXGroup; 614 | children = ( 615 | D8FEAEBE5FCE190A37B51E70 /* Pods-stripeExample.debug.xcconfig */, 616 | 3ECF23247959B4C579387864 /* Pods-stripeExample.release.xcconfig */, 617 | ); 618 | name = Pods; 619 | sourceTree = ""; 620 | }; 621 | /* End PBXGroup section */ 622 | 623 | /* Begin PBXNativeTarget section */ 624 | 00E356ED1AD99517003FC87E /* stripeExampleTests */ = { 625 | isa = PBXNativeTarget; 626 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "stripeExampleTests" */; 627 | buildPhases = ( 628 | 00E356EA1AD99517003FC87E /* Sources */, 629 | 00E356EB1AD99517003FC87E /* Frameworks */, 630 | 00E356EC1AD99517003FC87E /* Resources */, 631 | ); 632 | buildRules = ( 633 | ); 634 | dependencies = ( 635 | 00E356F51AD99517003FC87E /* PBXTargetDependency */, 636 | ); 637 | name = stripeExampleTests; 638 | productName = stripeExampleTests; 639 | productReference = 00E356EE1AD99517003FC87E /* stripeExampleTests.xctest */; 640 | productType = "com.apple.product-type.bundle.unit-test"; 641 | }; 642 | 13B07F861A680F5B00A75B9A /* stripeExample */ = { 643 | isa = PBXNativeTarget; 644 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "stripeExample" */; 645 | buildPhases = ( 646 | 1D20B6E829D60B786F945081 /* [CP] Check Pods Manifest.lock */, 647 | 13B07F871A680F5B00A75B9A /* Sources */, 648 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 649 | 13B07F8E1A680F5B00A75B9A /* Resources */, 650 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 651 | 30E7C33FFF7098FFA4F29C5A /* [CP] Embed Pods Frameworks */, 652 | 8217403DF5C079EF9D4D1440 /* [CP] Copy Pods Resources */, 653 | ); 654 | buildRules = ( 655 | ); 656 | dependencies = ( 657 | ); 658 | name = stripeExample; 659 | productName = "Hello World"; 660 | productReference = 13B07F961A680F5B00A75B9A /* stripeExample.app */; 661 | productType = "com.apple.product-type.application"; 662 | }; 663 | 2D02E47A1E0B4A5D006451C7 /* stripeExample-tvOS */ = { 664 | isa = PBXNativeTarget; 665 | buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "stripeExample-tvOS" */; 666 | buildPhases = ( 667 | 2D02E4771E0B4A5D006451C7 /* Sources */, 668 | 2D02E4781E0B4A5D006451C7 /* Frameworks */, 669 | 2D02E4791E0B4A5D006451C7 /* Resources */, 670 | 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */, 671 | ); 672 | buildRules = ( 673 | ); 674 | dependencies = ( 675 | ); 676 | name = "stripeExample-tvOS"; 677 | productName = "stripeExample-tvOS"; 678 | productReference = 2D02E47B1E0B4A5D006451C7 /* stripeExample-tvOS.app */; 679 | productType = "com.apple.product-type.application"; 680 | }; 681 | 2D02E48F1E0B4A5D006451C7 /* stripeExample-tvOSTests */ = { 682 | isa = PBXNativeTarget; 683 | buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "stripeExample-tvOSTests" */; 684 | buildPhases = ( 685 | 2D02E48C1E0B4A5D006451C7 /* Sources */, 686 | 2D02E48D1E0B4A5D006451C7 /* Frameworks */, 687 | 2D02E48E1E0B4A5D006451C7 /* Resources */, 688 | ); 689 | buildRules = ( 690 | ); 691 | dependencies = ( 692 | 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */, 693 | ); 694 | name = "stripeExample-tvOSTests"; 695 | productName = "stripeExample-tvOSTests"; 696 | productReference = 2D02E4901E0B4A5D006451C7 /* stripeExample-tvOSTests.xctest */; 697 | productType = "com.apple.product-type.bundle.unit-test"; 698 | }; 699 | /* End PBXNativeTarget section */ 700 | 701 | /* Begin PBXProject section */ 702 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 703 | isa = PBXProject; 704 | attributes = { 705 | LastUpgradeCheck = 0610; 706 | ORGANIZATIONNAME = Facebook; 707 | TargetAttributes = { 708 | 00E356ED1AD99517003FC87E = { 709 | CreatedOnToolsVersion = 6.2; 710 | TestTargetID = 13B07F861A680F5B00A75B9A; 711 | }; 712 | 2D02E47A1E0B4A5D006451C7 = { 713 | CreatedOnToolsVersion = 8.2.1; 714 | ProvisioningStyle = Automatic; 715 | }; 716 | 2D02E48F1E0B4A5D006451C7 = { 717 | CreatedOnToolsVersion = 8.2.1; 718 | ProvisioningStyle = Automatic; 719 | TestTargetID = 2D02E47A1E0B4A5D006451C7; 720 | }; 721 | }; 722 | }; 723 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "stripeExample" */; 724 | compatibilityVersion = "Xcode 3.2"; 725 | developmentRegion = English; 726 | hasScannedForEncodings = 0; 727 | knownRegions = ( 728 | en, 729 | Base, 730 | ); 731 | mainGroup = 83CBB9F61A601CBA00E9B192; 732 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 733 | projectDirPath = ""; 734 | projectReferences = ( 735 | { 736 | ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; 737 | ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 738 | }, 739 | { 740 | ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; 741 | ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; 742 | }, 743 | { 744 | ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */; 745 | ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; 746 | }, 747 | { 748 | ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; 749 | ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 750 | }, 751 | { 752 | ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; 753 | ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 754 | }, 755 | { 756 | ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; 757 | ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 758 | }, 759 | { 760 | ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; 761 | ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 762 | }, 763 | { 764 | ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; 765 | ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 766 | }, 767 | { 768 | ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; 769 | ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 770 | }, 771 | { 772 | ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; 773 | ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 774 | }, 775 | { 776 | ProductGroup = 139FDEE71B06529A00C62182 /* Products */; 777 | ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 778 | }, 779 | { 780 | ProductGroup = 146834001AC3E56700842450 /* Products */; 781 | ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; 782 | }, 783 | ); 784 | projectRoot = ""; 785 | targets = ( 786 | 13B07F861A680F5B00A75B9A /* stripeExample */, 787 | 00E356ED1AD99517003FC87E /* stripeExampleTests */, 788 | 2D02E47A1E0B4A5D006451C7 /* stripeExample-tvOS */, 789 | 2D02E48F1E0B4A5D006451C7 /* stripeExample-tvOSTests */, 790 | ); 791 | }; 792 | /* End PBXProject section */ 793 | 794 | /* Begin PBXReferenceProxy section */ 795 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { 796 | isa = PBXReferenceProxy; 797 | fileType = archive.ar; 798 | path = libRCTActionSheet.a; 799 | remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; 800 | sourceTree = BUILT_PRODUCTS_DIR; 801 | }; 802 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { 803 | isa = PBXReferenceProxy; 804 | fileType = archive.ar; 805 | path = libRCTGeolocation.a; 806 | remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; 807 | sourceTree = BUILT_PRODUCTS_DIR; 808 | }; 809 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { 810 | isa = PBXReferenceProxy; 811 | fileType = archive.ar; 812 | path = libRCTImage.a; 813 | remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; 814 | sourceTree = BUILT_PRODUCTS_DIR; 815 | }; 816 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { 817 | isa = PBXReferenceProxy; 818 | fileType = archive.ar; 819 | path = libRCTNetwork.a; 820 | remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; 821 | sourceTree = BUILT_PRODUCTS_DIR; 822 | }; 823 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { 824 | isa = PBXReferenceProxy; 825 | fileType = archive.ar; 826 | path = libRCTVibration.a; 827 | remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; 828 | sourceTree = BUILT_PRODUCTS_DIR; 829 | }; 830 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { 831 | isa = PBXReferenceProxy; 832 | fileType = archive.ar; 833 | path = libRCTSettings.a; 834 | remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; 835 | sourceTree = BUILT_PRODUCTS_DIR; 836 | }; 837 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { 838 | isa = PBXReferenceProxy; 839 | fileType = archive.ar; 840 | path = libRCTWebSocket.a; 841 | remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; 842 | sourceTree = BUILT_PRODUCTS_DIR; 843 | }; 844 | 146834041AC3E56700842450 /* libReact.a */ = { 845 | isa = PBXReferenceProxy; 846 | fileType = archive.ar; 847 | path = libReact.a; 848 | remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; 849 | sourceTree = BUILT_PRODUCTS_DIR; 850 | }; 851 | 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = { 852 | isa = PBXReferenceProxy; 853 | fileType = archive.ar; 854 | path = "libRCTBlob-tvOS.a"; 855 | remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; 856 | sourceTree = BUILT_PRODUCTS_DIR; 857 | }; 858 | 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = { 859 | isa = PBXReferenceProxy; 860 | fileType = archive.ar; 861 | path = libfishhook.a; 862 | remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */; 863 | sourceTree = BUILT_PRODUCTS_DIR; 864 | }; 865 | 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = { 866 | isa = PBXReferenceProxy; 867 | fileType = archive.ar; 868 | path = "libfishhook-tvOS.a"; 869 | remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */; 870 | sourceTree = BUILT_PRODUCTS_DIR; 871 | }; 872 | 2FC8A088201E1E7D00BEBEDC /* libjsinspector.a */ = { 873 | isa = PBXReferenceProxy; 874 | fileType = archive.ar; 875 | path = libjsinspector.a; 876 | remoteRef = 2FC8A087201E1E7D00BEBEDC /* PBXContainerItemProxy */; 877 | sourceTree = BUILT_PRODUCTS_DIR; 878 | }; 879 | 2FC8A08A201E1E7D00BEBEDC /* libjsinspector-tvOS.a */ = { 880 | isa = PBXReferenceProxy; 881 | fileType = archive.ar; 882 | path = "libjsinspector-tvOS.a"; 883 | remoteRef = 2FC8A089201E1E7D00BEBEDC /* PBXContainerItemProxy */; 884 | sourceTree = BUILT_PRODUCTS_DIR; 885 | }; 886 | 2FC8A08C201E1E7D00BEBEDC /* libthird-party.a */ = { 887 | isa = PBXReferenceProxy; 888 | fileType = archive.ar; 889 | path = "libthird-party.a"; 890 | remoteRef = 2FC8A08B201E1E7D00BEBEDC /* PBXContainerItemProxy */; 891 | sourceTree = BUILT_PRODUCTS_DIR; 892 | }; 893 | 2FC8A08E201E1E7D00BEBEDC /* libthird-party.a */ = { 894 | isa = PBXReferenceProxy; 895 | fileType = archive.ar; 896 | path = "libthird-party.a"; 897 | remoteRef = 2FC8A08D201E1E7D00BEBEDC /* PBXContainerItemProxy */; 898 | sourceTree = BUILT_PRODUCTS_DIR; 899 | }; 900 | 2FC8A090201E1E7D00BEBEDC /* libdouble-conversion.a */ = { 901 | isa = PBXReferenceProxy; 902 | fileType = archive.ar; 903 | path = "libdouble-conversion.a"; 904 | remoteRef = 2FC8A08F201E1E7D00BEBEDC /* PBXContainerItemProxy */; 905 | sourceTree = BUILT_PRODUCTS_DIR; 906 | }; 907 | 2FC8A092201E1E7D00BEBEDC /* libdouble-conversion.a */ = { 908 | isa = PBXReferenceProxy; 909 | fileType = archive.ar; 910 | path = "libdouble-conversion.a"; 911 | remoteRef = 2FC8A091201E1E7D00BEBEDC /* PBXContainerItemProxy */; 912 | sourceTree = BUILT_PRODUCTS_DIR; 913 | }; 914 | 2FC8A094201E1E7D00BEBEDC /* libprivatedata.a */ = { 915 | isa = PBXReferenceProxy; 916 | fileType = archive.ar; 917 | path = libprivatedata.a; 918 | remoteRef = 2FC8A093201E1E7D00BEBEDC /* PBXContainerItemProxy */; 919 | sourceTree = BUILT_PRODUCTS_DIR; 920 | }; 921 | 2FC8A096201E1E7D00BEBEDC /* libprivatedata-tvOS.a */ = { 922 | isa = PBXReferenceProxy; 923 | fileType = archive.ar; 924 | path = "libprivatedata-tvOS.a"; 925 | remoteRef = 2FC8A095201E1E7D00BEBEDC /* PBXContainerItemProxy */; 926 | sourceTree = BUILT_PRODUCTS_DIR; 927 | }; 928 | 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { 929 | isa = PBXReferenceProxy; 930 | fileType = archive.ar; 931 | path = "libRCTImage-tvOS.a"; 932 | remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; 933 | sourceTree = BUILT_PRODUCTS_DIR; 934 | }; 935 | 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { 936 | isa = PBXReferenceProxy; 937 | fileType = archive.ar; 938 | path = "libRCTLinking-tvOS.a"; 939 | remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; 940 | sourceTree = BUILT_PRODUCTS_DIR; 941 | }; 942 | 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { 943 | isa = PBXReferenceProxy; 944 | fileType = archive.ar; 945 | path = "libRCTNetwork-tvOS.a"; 946 | remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; 947 | sourceTree = BUILT_PRODUCTS_DIR; 948 | }; 949 | 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { 950 | isa = PBXReferenceProxy; 951 | fileType = archive.ar; 952 | path = "libRCTSettings-tvOS.a"; 953 | remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; 954 | sourceTree = BUILT_PRODUCTS_DIR; 955 | }; 956 | 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { 957 | isa = PBXReferenceProxy; 958 | fileType = archive.ar; 959 | path = "libRCTText-tvOS.a"; 960 | remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; 961 | sourceTree = BUILT_PRODUCTS_DIR; 962 | }; 963 | 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { 964 | isa = PBXReferenceProxy; 965 | fileType = archive.ar; 966 | path = "libRCTWebSocket-tvOS.a"; 967 | remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; 968 | sourceTree = BUILT_PRODUCTS_DIR; 969 | }; 970 | 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { 971 | isa = PBXReferenceProxy; 972 | fileType = archive.ar; 973 | path = libReact.a; 974 | remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; 975 | sourceTree = BUILT_PRODUCTS_DIR; 976 | }; 977 | 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { 978 | isa = PBXReferenceProxy; 979 | fileType = archive.ar; 980 | path = libyoga.a; 981 | remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; 982 | sourceTree = BUILT_PRODUCTS_DIR; 983 | }; 984 | 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { 985 | isa = PBXReferenceProxy; 986 | fileType = archive.ar; 987 | path = libyoga.a; 988 | remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; 989 | sourceTree = BUILT_PRODUCTS_DIR; 990 | }; 991 | 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { 992 | isa = PBXReferenceProxy; 993 | fileType = archive.ar; 994 | path = libcxxreact.a; 995 | remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; 996 | sourceTree = BUILT_PRODUCTS_DIR; 997 | }; 998 | 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { 999 | isa = PBXReferenceProxy; 1000 | fileType = archive.ar; 1001 | path = libcxxreact.a; 1002 | remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; 1003 | sourceTree = BUILT_PRODUCTS_DIR; 1004 | }; 1005 | 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = { 1006 | isa = PBXReferenceProxy; 1007 | fileType = archive.ar; 1008 | path = libjschelpers.a; 1009 | remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */; 1010 | sourceTree = BUILT_PRODUCTS_DIR; 1011 | }; 1012 | 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = { 1013 | isa = PBXReferenceProxy; 1014 | fileType = archive.ar; 1015 | path = libjschelpers.a; 1016 | remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */; 1017 | sourceTree = BUILT_PRODUCTS_DIR; 1018 | }; 1019 | 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { 1020 | isa = PBXReferenceProxy; 1021 | fileType = archive.ar; 1022 | path = libRCTAnimation.a; 1023 | remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; 1024 | sourceTree = BUILT_PRODUCTS_DIR; 1025 | }; 1026 | 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { 1027 | isa = PBXReferenceProxy; 1028 | fileType = archive.ar; 1029 | path = libRCTAnimation.a; 1030 | remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; 1031 | sourceTree = BUILT_PRODUCTS_DIR; 1032 | }; 1033 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { 1034 | isa = PBXReferenceProxy; 1035 | fileType = archive.ar; 1036 | path = libRCTLinking.a; 1037 | remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; 1038 | sourceTree = BUILT_PRODUCTS_DIR; 1039 | }; 1040 | 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { 1041 | isa = PBXReferenceProxy; 1042 | fileType = archive.ar; 1043 | path = libRCTText.a; 1044 | remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; 1045 | sourceTree = BUILT_PRODUCTS_DIR; 1046 | }; 1047 | ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = { 1048 | isa = PBXReferenceProxy; 1049 | fileType = archive.ar; 1050 | path = libRCTBlob.a; 1051 | remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; 1052 | sourceTree = BUILT_PRODUCTS_DIR; 1053 | }; 1054 | /* End PBXReferenceProxy section */ 1055 | 1056 | /* Begin PBXResourcesBuildPhase section */ 1057 | 00E356EC1AD99517003FC87E /* Resources */ = { 1058 | isa = PBXResourcesBuildPhase; 1059 | buildActionMask = 2147483647; 1060 | files = ( 1061 | ); 1062 | runOnlyForDeploymentPostprocessing = 0; 1063 | }; 1064 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 1065 | isa = PBXResourcesBuildPhase; 1066 | buildActionMask = 2147483647; 1067 | files = ( 1068 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 1069 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 1070 | ); 1071 | runOnlyForDeploymentPostprocessing = 0; 1072 | }; 1073 | 2D02E4791E0B4A5D006451C7 /* Resources */ = { 1074 | isa = PBXResourcesBuildPhase; 1075 | buildActionMask = 2147483647; 1076 | files = ( 1077 | 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */, 1078 | ); 1079 | runOnlyForDeploymentPostprocessing = 0; 1080 | }; 1081 | 2D02E48E1E0B4A5D006451C7 /* Resources */ = { 1082 | isa = PBXResourcesBuildPhase; 1083 | buildActionMask = 2147483647; 1084 | files = ( 1085 | ); 1086 | runOnlyForDeploymentPostprocessing = 0; 1087 | }; 1088 | /* End PBXResourcesBuildPhase section */ 1089 | 1090 | /* Begin PBXShellScriptBuildPhase section */ 1091 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 1092 | isa = PBXShellScriptBuildPhase; 1093 | buildActionMask = 2147483647; 1094 | files = ( 1095 | ); 1096 | inputPaths = ( 1097 | ); 1098 | name = "Bundle React Native code and images"; 1099 | outputPaths = ( 1100 | ); 1101 | runOnlyForDeploymentPostprocessing = 0; 1102 | shellPath = /bin/sh; 1103 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; 1104 | }; 1105 | 1D20B6E829D60B786F945081 /* [CP] Check Pods Manifest.lock */ = { 1106 | isa = PBXShellScriptBuildPhase; 1107 | buildActionMask = 2147483647; 1108 | files = ( 1109 | ); 1110 | inputPaths = ( 1111 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 1112 | "${PODS_ROOT}/Manifest.lock", 1113 | ); 1114 | name = "[CP] Check Pods Manifest.lock"; 1115 | outputPaths = ( 1116 | "$(DERIVED_FILE_DIR)/Pods-stripeExample-checkManifestLockResult.txt", 1117 | ); 1118 | runOnlyForDeploymentPostprocessing = 0; 1119 | shellPath = /bin/sh; 1120 | 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"; 1121 | showEnvVarsInLog = 0; 1122 | }; 1123 | 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { 1124 | isa = PBXShellScriptBuildPhase; 1125 | buildActionMask = 2147483647; 1126 | files = ( 1127 | ); 1128 | inputPaths = ( 1129 | ); 1130 | name = "Bundle React Native Code And Images"; 1131 | outputPaths = ( 1132 | ); 1133 | runOnlyForDeploymentPostprocessing = 0; 1134 | shellPath = /bin/sh; 1135 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; 1136 | }; 1137 | 30E7C33FFF7098FFA4F29C5A /* [CP] Embed Pods Frameworks */ = { 1138 | isa = PBXShellScriptBuildPhase; 1139 | buildActionMask = 2147483647; 1140 | files = ( 1141 | ); 1142 | inputPaths = ( 1143 | ); 1144 | name = "[CP] Embed Pods Frameworks"; 1145 | outputPaths = ( 1146 | ); 1147 | runOnlyForDeploymentPostprocessing = 0; 1148 | shellPath = /bin/sh; 1149 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-stripeExample/Pods-stripeExample-frameworks.sh\"\n"; 1150 | showEnvVarsInLog = 0; 1151 | }; 1152 | 8217403DF5C079EF9D4D1440 /* [CP] Copy Pods Resources */ = { 1153 | isa = PBXShellScriptBuildPhase; 1154 | buildActionMask = 2147483647; 1155 | files = ( 1156 | ); 1157 | inputPaths = ( 1158 | "${SRCROOT}/Pods/Target Support Files/Pods-stripeExample/Pods-stripeExample-resources.sh", 1159 | "${PODS_CONFIGURATION_BUILD_DIR}/Stripe/Stripe.bundle", 1160 | ); 1161 | name = "[CP] Copy Pods Resources"; 1162 | outputPaths = ( 1163 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Stripe.bundle", 1164 | ); 1165 | runOnlyForDeploymentPostprocessing = 0; 1166 | shellPath = /bin/sh; 1167 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-stripeExample/Pods-stripeExample-resources.sh\"\n"; 1168 | showEnvVarsInLog = 0; 1169 | }; 1170 | /* End PBXShellScriptBuildPhase section */ 1171 | 1172 | /* Begin PBXSourcesBuildPhase section */ 1173 | 00E356EA1AD99517003FC87E /* Sources */ = { 1174 | isa = PBXSourcesBuildPhase; 1175 | buildActionMask = 2147483647; 1176 | files = ( 1177 | 00E356F31AD99517003FC87E /* stripeExampleTests.m in Sources */, 1178 | ); 1179 | runOnlyForDeploymentPostprocessing = 0; 1180 | }; 1181 | 13B07F871A680F5B00A75B9A /* Sources */ = { 1182 | isa = PBXSourcesBuildPhase; 1183 | buildActionMask = 2147483647; 1184 | files = ( 1185 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, 1186 | 13B07FC11A68108700A75B9A /* main.m in Sources */, 1187 | ); 1188 | runOnlyForDeploymentPostprocessing = 0; 1189 | }; 1190 | 2D02E4771E0B4A5D006451C7 /* Sources */ = { 1191 | isa = PBXSourcesBuildPhase; 1192 | buildActionMask = 2147483647; 1193 | files = ( 1194 | 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */, 1195 | 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */, 1196 | ); 1197 | runOnlyForDeploymentPostprocessing = 0; 1198 | }; 1199 | 2D02E48C1E0B4A5D006451C7 /* Sources */ = { 1200 | isa = PBXSourcesBuildPhase; 1201 | buildActionMask = 2147483647; 1202 | files = ( 1203 | 2DCD954D1E0B4F2C00145EB5 /* stripeExampleTests.m in Sources */, 1204 | ); 1205 | runOnlyForDeploymentPostprocessing = 0; 1206 | }; 1207 | /* End PBXSourcesBuildPhase section */ 1208 | 1209 | /* Begin PBXTargetDependency section */ 1210 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 1211 | isa = PBXTargetDependency; 1212 | target = 13B07F861A680F5B00A75B9A /* stripeExample */; 1213 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 1214 | }; 1215 | 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = { 1216 | isa = PBXTargetDependency; 1217 | target = 2D02E47A1E0B4A5D006451C7 /* stripeExample-tvOS */; 1218 | targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */; 1219 | }; 1220 | /* End PBXTargetDependency section */ 1221 | 1222 | /* Begin PBXVariantGroup section */ 1223 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { 1224 | isa = PBXVariantGroup; 1225 | children = ( 1226 | 13B07FB21A68108700A75B9A /* Base */, 1227 | ); 1228 | name = LaunchScreen.xib; 1229 | path = stripeExample; 1230 | sourceTree = ""; 1231 | }; 1232 | /* End PBXVariantGroup section */ 1233 | 1234 | /* Begin XCBuildConfiguration section */ 1235 | 00E356F61AD99517003FC87E /* Debug */ = { 1236 | isa = XCBuildConfiguration; 1237 | buildSettings = { 1238 | BUNDLE_LOADER = "$(TEST_HOST)"; 1239 | GCC_PREPROCESSOR_DEFINITIONS = ( 1240 | "DEBUG=1", 1241 | "$(inherited)", 1242 | ); 1243 | INFOPLIST_FILE = stripeExampleTests/Info.plist; 1244 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1245 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1246 | OTHER_LDFLAGS = ( 1247 | "-ObjC", 1248 | "-lc++", 1249 | ); 1250 | PRODUCT_NAME = "$(TARGET_NAME)"; 1251 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stripeExample.app/stripeExample"; 1252 | }; 1253 | name = Debug; 1254 | }; 1255 | 00E356F71AD99517003FC87E /* Release */ = { 1256 | isa = XCBuildConfiguration; 1257 | buildSettings = { 1258 | BUNDLE_LOADER = "$(TEST_HOST)"; 1259 | COPY_PHASE_STRIP = NO; 1260 | INFOPLIST_FILE = stripeExampleTests/Info.plist; 1261 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1262 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1263 | OTHER_LDFLAGS = ( 1264 | "-ObjC", 1265 | "-lc++", 1266 | ); 1267 | PRODUCT_NAME = "$(TARGET_NAME)"; 1268 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stripeExample.app/stripeExample"; 1269 | }; 1270 | name = Release; 1271 | }; 1272 | 13B07F941A680F5B00A75B9A /* Debug */ = { 1273 | isa = XCBuildConfiguration; 1274 | baseConfigurationReference = D8FEAEBE5FCE190A37B51E70 /* Pods-stripeExample.debug.xcconfig */; 1275 | buildSettings = { 1276 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 1277 | CURRENT_PROJECT_VERSION = 1; 1278 | DEAD_CODE_STRIPPING = NO; 1279 | INFOPLIST_FILE = stripeExample/Info.plist; 1280 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1281 | OTHER_LDFLAGS = ( 1282 | "$(inherited)", 1283 | "-ObjC", 1284 | "-lc++", 1285 | ); 1286 | PRODUCT_NAME = stripeExample; 1287 | VERSIONING_SYSTEM = "apple-generic"; 1288 | }; 1289 | name = Debug; 1290 | }; 1291 | 13B07F951A680F5B00A75B9A /* Release */ = { 1292 | isa = XCBuildConfiguration; 1293 | baseConfigurationReference = 3ECF23247959B4C579387864 /* Pods-stripeExample.release.xcconfig */; 1294 | buildSettings = { 1295 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 1296 | CURRENT_PROJECT_VERSION = 1; 1297 | INFOPLIST_FILE = stripeExample/Info.plist; 1298 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1299 | OTHER_LDFLAGS = ( 1300 | "$(inherited)", 1301 | "-ObjC", 1302 | "-lc++", 1303 | ); 1304 | PRODUCT_NAME = stripeExample; 1305 | VERSIONING_SYSTEM = "apple-generic"; 1306 | }; 1307 | name = Release; 1308 | }; 1309 | 2D02E4971E0B4A5E006451C7 /* Debug */ = { 1310 | isa = XCBuildConfiguration; 1311 | buildSettings = { 1312 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; 1313 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 1314 | CLANG_ANALYZER_NONNULL = YES; 1315 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1316 | CLANG_WARN_INFINITE_RECURSION = YES; 1317 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1318 | DEBUG_INFORMATION_FORMAT = dwarf; 1319 | ENABLE_TESTABILITY = YES; 1320 | GCC_NO_COMMON_BLOCKS = YES; 1321 | INFOPLIST_FILE = "stripeExample-tvOS/Info.plist"; 1322 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1323 | OTHER_LDFLAGS = ( 1324 | "-ObjC", 1325 | "-lc++", 1326 | ); 1327 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.stripeExample-tvOS"; 1328 | PRODUCT_NAME = "$(TARGET_NAME)"; 1329 | SDKROOT = appletvos; 1330 | TARGETED_DEVICE_FAMILY = 3; 1331 | TVOS_DEPLOYMENT_TARGET = 9.2; 1332 | }; 1333 | name = Debug; 1334 | }; 1335 | 2D02E4981E0B4A5E006451C7 /* Release */ = { 1336 | isa = XCBuildConfiguration; 1337 | buildSettings = { 1338 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; 1339 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 1340 | CLANG_ANALYZER_NONNULL = YES; 1341 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1342 | CLANG_WARN_INFINITE_RECURSION = YES; 1343 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1344 | COPY_PHASE_STRIP = NO; 1345 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 1346 | GCC_NO_COMMON_BLOCKS = YES; 1347 | INFOPLIST_FILE = "stripeExample-tvOS/Info.plist"; 1348 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1349 | OTHER_LDFLAGS = ( 1350 | "-ObjC", 1351 | "-lc++", 1352 | ); 1353 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.stripeExample-tvOS"; 1354 | PRODUCT_NAME = "$(TARGET_NAME)"; 1355 | SDKROOT = appletvos; 1356 | TARGETED_DEVICE_FAMILY = 3; 1357 | TVOS_DEPLOYMENT_TARGET = 9.2; 1358 | }; 1359 | name = Release; 1360 | }; 1361 | 2D02E4991E0B4A5E006451C7 /* Debug */ = { 1362 | isa = XCBuildConfiguration; 1363 | buildSettings = { 1364 | BUNDLE_LOADER = "$(TEST_HOST)"; 1365 | CLANG_ANALYZER_NONNULL = YES; 1366 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1367 | CLANG_WARN_INFINITE_RECURSION = YES; 1368 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1369 | DEBUG_INFORMATION_FORMAT = dwarf; 1370 | ENABLE_TESTABILITY = YES; 1371 | GCC_NO_COMMON_BLOCKS = YES; 1372 | INFOPLIST_FILE = "stripeExample-tvOSTests/Info.plist"; 1373 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1374 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.stripeExample-tvOSTests"; 1375 | PRODUCT_NAME = "$(TARGET_NAME)"; 1376 | SDKROOT = appletvos; 1377 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stripeExample-tvOS.app/stripeExample-tvOS"; 1378 | TVOS_DEPLOYMENT_TARGET = 10.1; 1379 | }; 1380 | name = Debug; 1381 | }; 1382 | 2D02E49A1E0B4A5E006451C7 /* Release */ = { 1383 | isa = XCBuildConfiguration; 1384 | buildSettings = { 1385 | BUNDLE_LOADER = "$(TEST_HOST)"; 1386 | CLANG_ANALYZER_NONNULL = YES; 1387 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1388 | CLANG_WARN_INFINITE_RECURSION = YES; 1389 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1390 | COPY_PHASE_STRIP = NO; 1391 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 1392 | GCC_NO_COMMON_BLOCKS = YES; 1393 | INFOPLIST_FILE = "stripeExample-tvOSTests/Info.plist"; 1394 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1395 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.stripeExample-tvOSTests"; 1396 | PRODUCT_NAME = "$(TARGET_NAME)"; 1397 | SDKROOT = appletvos; 1398 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/stripeExample-tvOS.app/stripeExample-tvOS"; 1399 | TVOS_DEPLOYMENT_TARGET = 10.1; 1400 | }; 1401 | name = Release; 1402 | }; 1403 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 1404 | isa = XCBuildConfiguration; 1405 | buildSettings = { 1406 | ALWAYS_SEARCH_USER_PATHS = NO; 1407 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 1408 | CLANG_CXX_LIBRARY = "libc++"; 1409 | CLANG_ENABLE_MODULES = YES; 1410 | CLANG_ENABLE_OBJC_ARC = YES; 1411 | CLANG_WARN_BOOL_CONVERSION = YES; 1412 | CLANG_WARN_CONSTANT_CONVERSION = YES; 1413 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 1414 | CLANG_WARN_EMPTY_BODY = YES; 1415 | CLANG_WARN_ENUM_CONVERSION = YES; 1416 | CLANG_WARN_INT_CONVERSION = YES; 1417 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 1418 | CLANG_WARN_UNREACHABLE_CODE = YES; 1419 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 1420 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 1421 | COPY_PHASE_STRIP = NO; 1422 | ENABLE_STRICT_OBJC_MSGSEND = YES; 1423 | GCC_C_LANGUAGE_STANDARD = gnu99; 1424 | GCC_DYNAMIC_NO_PIC = NO; 1425 | GCC_OPTIMIZATION_LEVEL = 0; 1426 | GCC_PREPROCESSOR_DEFINITIONS = ( 1427 | "DEBUG=1", 1428 | "$(inherited)", 1429 | ); 1430 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 1431 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 1432 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 1433 | GCC_WARN_UNDECLARED_SELECTOR = YES; 1434 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 1435 | GCC_WARN_UNUSED_FUNCTION = YES; 1436 | GCC_WARN_UNUSED_VARIABLE = YES; 1437 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1438 | MTL_ENABLE_DEBUG_INFO = YES; 1439 | ONLY_ACTIVE_ARCH = YES; 1440 | SDKROOT = iphoneos; 1441 | }; 1442 | name = Debug; 1443 | }; 1444 | 83CBBA211A601CBA00E9B192 /* Release */ = { 1445 | isa = XCBuildConfiguration; 1446 | buildSettings = { 1447 | ALWAYS_SEARCH_USER_PATHS = NO; 1448 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 1449 | CLANG_CXX_LIBRARY = "libc++"; 1450 | CLANG_ENABLE_MODULES = YES; 1451 | CLANG_ENABLE_OBJC_ARC = YES; 1452 | CLANG_WARN_BOOL_CONVERSION = YES; 1453 | CLANG_WARN_CONSTANT_CONVERSION = YES; 1454 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 1455 | CLANG_WARN_EMPTY_BODY = YES; 1456 | CLANG_WARN_ENUM_CONVERSION = YES; 1457 | CLANG_WARN_INT_CONVERSION = YES; 1458 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 1459 | CLANG_WARN_UNREACHABLE_CODE = YES; 1460 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 1461 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 1462 | COPY_PHASE_STRIP = YES; 1463 | ENABLE_NS_ASSERTIONS = NO; 1464 | ENABLE_STRICT_OBJC_MSGSEND = YES; 1465 | GCC_C_LANGUAGE_STANDARD = gnu99; 1466 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 1467 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 1468 | GCC_WARN_UNDECLARED_SELECTOR = YES; 1469 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 1470 | GCC_WARN_UNUSED_FUNCTION = YES; 1471 | GCC_WARN_UNUSED_VARIABLE = YES; 1472 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 1473 | MTL_ENABLE_DEBUG_INFO = NO; 1474 | SDKROOT = iphoneos; 1475 | VALIDATE_PRODUCT = YES; 1476 | }; 1477 | name = Release; 1478 | }; 1479 | /* End XCBuildConfiguration section */ 1480 | 1481 | /* Begin XCConfigurationList section */ 1482 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "stripeExampleTests" */ = { 1483 | isa = XCConfigurationList; 1484 | buildConfigurations = ( 1485 | 00E356F61AD99517003FC87E /* Debug */, 1486 | 00E356F71AD99517003FC87E /* Release */, 1487 | ); 1488 | defaultConfigurationIsVisible = 0; 1489 | defaultConfigurationName = Release; 1490 | }; 1491 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "stripeExample" */ = { 1492 | isa = XCConfigurationList; 1493 | buildConfigurations = ( 1494 | 13B07F941A680F5B00A75B9A /* Debug */, 1495 | 13B07F951A680F5B00A75B9A /* Release */, 1496 | ); 1497 | defaultConfigurationIsVisible = 0; 1498 | defaultConfigurationName = Release; 1499 | }; 1500 | 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "stripeExample-tvOS" */ = { 1501 | isa = XCConfigurationList; 1502 | buildConfigurations = ( 1503 | 2D02E4971E0B4A5E006451C7 /* Debug */, 1504 | 2D02E4981E0B4A5E006451C7 /* Release */, 1505 | ); 1506 | defaultConfigurationIsVisible = 0; 1507 | defaultConfigurationName = Release; 1508 | }; 1509 | 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "stripeExample-tvOSTests" */ = { 1510 | isa = XCConfigurationList; 1511 | buildConfigurations = ( 1512 | 2D02E4991E0B4A5E006451C7 /* Debug */, 1513 | 2D02E49A1E0B4A5E006451C7 /* Release */, 1514 | ); 1515 | defaultConfigurationIsVisible = 0; 1516 | defaultConfigurationName = Release; 1517 | }; 1518 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "stripeExample" */ = { 1519 | isa = XCConfigurationList; 1520 | buildConfigurations = ( 1521 | 83CBBA201A601CBA00E9B192 /* Debug */, 1522 | 83CBBA211A601CBA00E9B192 /* Release */, 1523 | ); 1524 | defaultConfigurationIsVisible = 0; 1525 | defaultConfigurationName = Release; 1526 | }; 1527 | /* End XCConfigurationList section */ 1528 | }; 1529 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 1530 | } 1531 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample.xcodeproj/xcshareddata/xcschemes/stripeExample-tvOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 43 | 49 | 50 | 51 | 52 | 53 | 58 | 59 | 61 | 67 | 68 | 69 | 70 | 71 | 77 | 78 | 79 | 80 | 81 | 82 | 92 | 94 | 100 | 101 | 102 | 103 | 104 | 105 | 111 | 113 | 119 | 120 | 121 | 122 | 124 | 125 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample.xcodeproj/xcshareddata/xcschemes/stripeExample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 43 | 49 | 50 | 51 | 52 | 53 | 58 | 59 | 61 | 67 | 68 | 69 | 70 | 71 | 77 | 78 | 79 | 80 | 81 | 82 | 92 | 94 | 100 | 101 | 102 | 103 | 104 | 105 | 111 | 113 | 119 | 120 | 121 | 122 | 124 | 125 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "AppDelegate.h" 11 | 12 | #import 13 | #import 14 | 15 | @implementation AppDelegate 16 | 17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 18 | { 19 | NSURL *jsCodeLocation; 20 | 21 | jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; 22 | 23 | RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 24 | moduleName:@"stripeExample" 25 | initialProperties:nil 26 | launchOptions:launchOptions]; 27 | rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; 28 | 29 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 30 | UIViewController *rootViewController = [UIViewController new]; 31 | rootViewController.view = rootView; 32 | self.window.rootViewController = rootViewController; 33 | [self.window makeKeyAndVisible]; 34 | return YES; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /example/app/ios/stripeExample/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | stripeExample 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UIViewControllerBasedStatusBarAppearance 40 | 41 | NSLocationWhenInUseUsageDescription 42 | 43 | NSAppTransportSecurity 44 | 45 | 46 | NSExceptionDomains 47 | 48 | localhost 49 | 50 | NSExceptionAllowsInsecureHTTPLoads 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /example/app/ios/stripeExample/main.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import "AppDelegate.h" 13 | 14 | int main(int argc, char * argv[]) { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /example/app/ios/stripeExampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /example/app/ios/stripeExampleTests/stripeExampleTests.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | #import 12 | 13 | #import 14 | #import 15 | 16 | #define TIMEOUT_SECONDS 600 17 | #define TEXT_TO_LOOK_FOR @"Welcome to React Native!" 18 | 19 | @interface stripeExampleTests : XCTestCase 20 | 21 | @end 22 | 23 | @implementation stripeExampleTests 24 | 25 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test 26 | { 27 | if (test(view)) { 28 | return YES; 29 | } 30 | for (UIView *subview in [view subviews]) { 31 | if ([self findSubviewInView:subview matching:test]) { 32 | return YES; 33 | } 34 | } 35 | return NO; 36 | } 37 | 38 | - (void)testRendersWelcomeScreen 39 | { 40 | UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; 41 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; 42 | BOOL foundElement = NO; 43 | 44 | __block NSString *redboxError = nil; 45 | RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { 46 | if (level >= RCTLogLevelError) { 47 | redboxError = message; 48 | } 49 | }); 50 | 51 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { 52 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 53 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 54 | 55 | foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { 56 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { 57 | return YES; 58 | } 59 | return NO; 60 | }]; 61 | } 62 | 63 | RCTSetLogFunction(RCTDefaultLogFunction); 64 | 65 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); 66 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); 67 | } 68 | 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /example/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stripeExample", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest", 8 | "run-ios": "yarn add ../.. && rm -fR node_modules/react-native-stripe/example && react-native run-ios" 9 | }, 10 | "dependencies": { 11 | "react": "16.2.0", 12 | "react-native": "^0.52.2", 13 | "react-native-credit-card-input": "^0.4.1", 14 | "react-native-stripe": "../..", 15 | "react-navigation": "^1.0.0-beta.27", 16 | "recompose": "^0.26.0" 17 | }, 18 | "devDependencies": { 19 | "babel-jest": "22.1.0", 20 | "babel-preset-react-native": "4.0.0", 21 | "jest": "22.1.4", 22 | "react-test-renderer": "16.2.0" 23 | }, 24 | "jest": { 25 | "preset": "react-native" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /example/app/src/App.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | import React, { Component } from 'react'; 3 | import { StackNavigator } from 'react-navigation'; 4 | import Home from './Home'; 5 | import Custom from './Custom'; 6 | 7 | export default StackNavigator( 8 | { 9 | home: { 10 | screen: Home, 11 | navigationOptions: { 12 | header: null, 13 | }, 14 | }, 15 | custom: { 16 | screen: Custom, 17 | navigationOptions: { 18 | title: 'Add Card', 19 | }, 20 | }, 21 | }, 22 | { 23 | initialRoute: 'home', 24 | } 25 | ); 26 | -------------------------------------------------------------------------------- /example/app/src/Custom.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | import React, { PureComponent } from 'react'; 3 | import { StyleSheet, View, Modal, Button, TouchableOpacity, Text } from 'react-native'; 4 | import { CreditCardInput } from 'react-native-credit-card-input'; 5 | import { compose, withState, withProps } from 'recompose'; 6 | import stripe from './stripe'; 7 | 8 | type Props = { 9 | openCardModal: () => any, 10 | closeCardModal: () => any, 11 | isCardModalOpened: boolean, 12 | }; 13 | 14 | const CloseButton = props => ( 15 | 16 | X 17 | 18 | ); 19 | 20 | class Manual extends PureComponent { 21 | render() { 22 | return ( 23 | 24 |