This commit is contained in:
2019-07-05 10:07:30 +02:00
parent 8aec17f1e0
commit 59cb7142e3
11 changed files with 39 additions and 36 deletions

View File

@@ -29,6 +29,14 @@ xhr = new XMLHttpRequest();
xhr.open('GET', 'https://google.com/sdfsfsdfsfdf');
xhr.send();
console.log({
hello: {
world: 1,
earth: 2,
},
});
AsyncStorage.setItem('a', 'b');
AsyncStorage.setItem('b', 'c');
AsyncStorage.setItem('c', 'd');
@@ -107,12 +115,12 @@ export default class App extends React.Component {
/>
<View style={{ height: 10 }} />
</View>
{/* <DevTool
<DevTool
style={{
flex: 1,
}}
/> */}
<DevToolModal />
/>
<DevToolModal storage={AsyncStorage} />
</KeyboardAvoidingView>
</SafeAreaView>
);

View File

@@ -3,9 +3,8 @@ module.exports = function(api) {
return {
presets: ['babel-preset-expo'],
plugins: [
['module-resolver', {
[require.resolve('babel-plugin-module-resolver'), {
alias: {
//'react-native-debug-console': '../lib',
'@babel/runtime': '../node_modules/@babel/runtime',
}
}]

View File

@@ -11,7 +11,6 @@
"postinstall": "expo-yarn-workspaces postinstall"
},
"dependencies": {
"@react-native-community/async-storage": "^1.5.0",
"expo": "^33.0.0",
"react": "16.8.3",
"react-dom": "^16.8.6",
@@ -24,7 +23,7 @@
"babel-preset-expo": "^5.1.1",
"expo-cli": "^2.21.2",
"expo-yarn-workspaces": "^1.2.0",
"module-resolver": "^1.0.0"
"babel-plugin-module-resolver": "^3.2.0"
},
"private": true
}

View File

@@ -11,10 +11,9 @@
"styled-components": "^4.3.1"
},
"peerDependencies": {
"@react-native-community/async-storage": "^1.5.0",
"prop-types": "^15.6.0",
"react": "16.8.3",
"react-native": "0.59.8"
"react": "^16.8.3",
"react-native": "^0.59.8"
},
"devDependencies": {}
}

View File

@@ -72,11 +72,19 @@ const Data = ({
<Cell left="Method" right={method} />
<Cell left="Url" right={url} />
<CellHeader>Response Headers</CellHeader>
<Indented><Fixed>{requestHeaders}</Fixed></Indented>
{headerInfo && (
<Indented>
<Fixed>
{requestHeaders}
</Fixed>
</Indented>
{headerInfo.length > 0 && (
<Fragment>
<CellHeader>Request Headers</CellHeader>
<Indented><Fixed selectable={true}>{headerInfo}</Fixed></Indented>
<Indented>
<Fixed selectable={true}>
{headerInfo}
</Fixed>
</Indented>
</Fragment>
)}
{args[0] && (

View File

@@ -13,10 +13,12 @@ const Wrapper = styled.View`
flex: 1;
`;
const StorageView = () => (
const StorageView = ({
provider,
}) => (
<State>
{({ selected }, setState) => (
<Storage>
<Storage provider={provider}>
{(data, update, removeItem, clear) => (
<Wrapper>
<Toolbar>

View File

@@ -23,9 +23,9 @@ const DevTool = ({
includeStackTrace,
onClose,
showNetwork = true,
showStorage = true,
showConsole = true,
additionalTools = [],
storage,
}) => {
const views = [];
@@ -45,10 +45,10 @@ const DevTool = ({
});
}
if (showStorage) {
if (storage) {
views.push({
name: 'Storage',
view: <Storage />,
view: <Storage provider={storage} />,
});
}

View File

@@ -51,6 +51,7 @@ const Selector = ({
/>
{options.map((option) => (
<TouchableOpacity
key={option.name}
onPress={() => {
if (!multiSelect) {
options.forEach(o => o.selected = false);

View File

@@ -1,5 +1,4 @@
import { Component } from 'react';
import AsyncStorage from '@react-native-community/async-storage';
class Storage extends Component {
constructor() {
@@ -17,19 +16,19 @@ class Storage extends Component {
}
async removeItem(name) {
await AsyncStorage.removeItem(name);
await this.props.provider.removeItem(name);
await this.update();
}
async clear() {
await AsyncStorage.clear();
await this.props.provider.clear();
await this.update();
}
async update() {
try {
const keys = await AsyncStorage.getAllKeys();
const values = await Promise.all(keys.map(key => AsyncStorage.getItem(key)));
const keys = await this.props.provider.getAllKeys();
const values = await Promise.all(keys.map(key => this.props.provider.getItem(key)));
const data = {};
for (let i = 0; i < keys.length; i++) {
const key = keys[i];

View File

@@ -1,8 +1,6 @@
import log from './log';
import AsyncStorage from '@react-native-community/async-storage';
export const context = {
storage: AsyncStorage,
log: (...args) => console.log(...args),
clear: log.clear,
};

View File

@@ -2011,11 +2011,6 @@
universal-user-agent "^2.0.0"
url-template "^2.0.8"
"@react-native-community/async-storage@^1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@react-native-community/async-storage/-/async-storage-1.5.0.tgz#647ffcd832272068b0be57332e08d73036ed391f"
integrity sha512-2yE4RzQ5IL+UTPhuMY0ykNRKHf1m90jOnmp8fcDPUun5U97cXlorjI4p66ovDgF0FuOv8ZpiUKvunGy3qqBxwg==
"@react-native-community/cli@^1.2.1":
version "1.10.0"
resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-1.10.0.tgz#66e3c9f407763281f7060c034145650bf0d6786c"
@@ -2884,7 +2879,7 @@ babel-plugin-dynamic-import-node@^2.3.0:
dependencies:
object.assign "^4.1.0"
babel-plugin-module-resolver@^3.1.1:
babel-plugin-module-resolver@^3.1.1, babel-plugin-module-resolver@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz#ddfa5e301e3b9aa12d852a9979f18b37881ff5a7"
integrity sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==
@@ -9145,11 +9140,6 @@ modify-values@^1.0.0:
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
module-resolver@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/module-resolver/-/module-resolver-1.0.0.tgz#d412c0b66e08588cd39347a60c3c818bc9119fb5"
integrity sha1-1BLAtm4IWIzTk0emDDyBi8kRn7U=
moment@^2.10.6:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"