Skip to content

Commit

Permalink
Prettier example
Browse files Browse the repository at this point in the history
  • Loading branch information
wacii committed Oct 12, 2017
1 parent 00f8445 commit 9d6b756
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 85 deletions.
30 changes: 13 additions & 17 deletions examples/basic/client/src/actions.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,40 @@
function succeedAlways() {
return {
type: "SUCCEED_ALWAYS",
type: 'SUCCEED_ALWAYS',
meta: {
offline: {
effect: { url: "/succeed-always" },
commit: { type: "SUCCEED_ALWAYS_SUCCESS" },
rollback: { type: "SUCCEED_ALWAYS_FAILURE" }
effect: { url: '/succeed-always' },
commit: { type: 'SUCCEED_ALWAYS_SUCCESS' },
rollback: { type: 'SUCCEED_ALWAYS_FAILURE' }
}
}
};
}

function succeedSometimes() {
return {
type: "SUCCEED_SOMETIMES",
type: 'SUCCEED_SOMETIMES',
meta: {
offline: {
effect: { url: "/succeed-sometimes" },
commit: { type: "SUCCEED_SOMETIMES_SUCCESS" },
rollback: { type: "SUCCEED_SOMETIMES_FAILURE" }
effect: { url: '/succeed-sometimes' },
commit: { type: 'SUCCEED_SOMETIMES_SUCCESS' },
rollback: { type: 'SUCCEED_SOMETIMES_FAILURE' }
}
}
};
}

function failSometimes() {
return {
type: "FAIL_SOMETIMES",
type: 'FAIL_SOMETIMES',
meta: {
offline: {
effect: { url: "/fail-sometimes" },
commit: { type: "FAIL_SOMETIMES_SUCCESS" },
rollback: { type: "FAIL_SOMETIMES_FAILURE" }
effect: { url: '/fail-sometimes' },
commit: { type: 'FAIL_SOMETIMES_SUCCESS' },
rollback: { type: 'FAIL_SOMETIMES_FAILURE' }
}
}
};
}

export {
succeedAlways,
succeedSometimes,
failSometimes
};
export { succeedAlways, succeedSometimes, failSometimes };
12 changes: 6 additions & 6 deletions examples/basic/client/src/components/App.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import React from "react";
import { Provider } from "react-redux";
import MakeRequests from "./MakeRequests";
import RequestsQueue from "./RequestsQueue";
import SyncStatus from "./SyncStatus";
import store from "../store";
import React from 'react';
import { Provider } from 'react-redux';
import MakeRequests from './MakeRequests';
import RequestsQueue from './RequestsQueue';
import SyncStatus from './SyncStatus';
import store from '../store';

function App() {
return (
Expand Down
25 changes: 12 additions & 13 deletions examples/basic/client/src/components/MakeRequests.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import React from "react";
import { connect } from "react-redux";
import { bindActionCreators } from "redux";
import {
succeedAlways,
succeedSometimes,
failSometimes
} from "../actions";
import React from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { succeedAlways, succeedSometimes, failSometimes } from '../actions';

function MakeRequests({ succeedAlways, succeedSometimes, failSometimes }) {
return (
Expand All @@ -18,11 +14,14 @@ function MakeRequests({ succeedAlways, succeedSometimes, failSometimes }) {
}

function mapDispatchToProps(dispatch) {
return bindActionCreators({
succeedAlways,
succeedSometimes,
failSometimes
}, dispatch);
return bindActionCreators(
{
succeedAlways,
succeedSometimes,
failSometimes
},
dispatch
);
}

const ConnectedComponent = connect(null, mapDispatchToProps)(MakeRequests);
Expand Down
22 changes: 9 additions & 13 deletions examples/basic/client/src/components/RequestsQueue.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
import React from "react";
import { connect } from "react-redux";
import React from 'react';
import { connect } from 'react-redux';

function RequestsQueue({ actions }) {
if (actions.length === 0) {
return (
<p>There are no requests</p>
)
return <p>There are no requests</p>;
}

return (
<ul>
{actions.map((action, i) => {
return (
<li key={action.meta.transaction}>
<span>{action.type}</span>
<span>#{action.meta.transaction}</span>
</li>
)
})}
{actions.map(action => (
<li key={action.meta.transaction}>
<span>{action.type}</span>
<span>#{action.meta.transaction}</span>
</li>
))}
</ul>
);
}
Expand Down
11 changes: 7 additions & 4 deletions examples/basic/client/src/components/SyncStatus.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import React from "react";
import { connect } from "react-redux";
import React from 'react';
import { connect } from 'react-redux';

function SyncStatus({ timer, busy, retryScheduled, attempt }) {
if (!busy && !retryScheduled) {
return <p>Synced</p>;
} else if (busy) {
return <p>Waiting on request - Attempt #{attempt}</p>;
} else {
return <p>Waiting on retry: {timer}s - Attempt #{attempt}</p>
}
return (
<p>
Waiting on retry: {timer}s - Attempt #{attempt}
</p>
);
}

function mapStateToProps(state) {
Expand Down
25 changes: 11 additions & 14 deletions examples/basic/client/src/store.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import { applyMiddleware, compose, createStore } from "redux";
import { offline } from "@redux-offline/redux-offline";
import defaultConfig from "@redux-offline/redux-offline/lib/defaults";
import { applyMiddleware, compose, createStore } from 'redux';
import { offline } from '@redux-offline/redux-offline';
import defaultConfig from '@redux-offline/redux-offline/lib/defaults';

const initialState = {
timer: 0
};
function reducer(state = initialState, action) {
if (action.type === "Offline/SCHEDULE_RETRY") {
if (action.type === 'Offline/SCHEDULE_RETRY') {
return {
...state,
timer: action.payload.delay / 1000
};
}
if (action.type === "TICK") {
if (action.type === 'TICK') {
return {
...state,
timer: state.timer === 0 ? 0 : state.timer - 1
}
};
}
return state;
}
Expand All @@ -26,26 +26,23 @@ const config = {
retry(_action, retries) {
return (retries + 1) * 1000;
}
}
};

function middleware(store) {
return next => action => {
if (action.type === "Offline/SCHEDULE_RETRY") {
if (action.type === 'Offline/SCHEDULE_RETRY') {
const intervalId = setInterval(() => {
store.dispatch({ type: "TICK" })
store.dispatch({ type: 'TICK' });
}, 1000);
setTimeout(() => clearInterval(intervalId), action.payload.delay);
}
return next(action);
}
};
}
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(
reducer,
composeEnhancers(
offline(config),
applyMiddleware(middleware),
)
composeEnhancers(offline(config), applyMiddleware(middleware))
);

export default store;
29 changes: 11 additions & 18 deletions examples/basic/server.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,27 @@
const express = require("express");
const app = express();

function success(res) {
return res.status(200).json({ some: "data" });
}
const express = require('express');

function failure(res) {
return res.status(500).json({ error: "reasons" });
}
const app = express();

app.use((_req, _res, next) => setTimeout(next, 400));

app.get("/succeed-always", (_req, res) => {
res.status(200).json({ some: "data" });
app.get('/succeed-always', (_req, res) => {
res.status(200).json({ some: 'data' });
});

app.get("/succeed-sometimes", (_req, res) => {
app.get('/succeed-sometimes', (_req, res) => {
if (Math.random() < 0.5) {
res.status(500).json({ error: "server" });
res.status(500).json({ error: 'server' });
} else {
res.status(200).json({ some: "data" });
res.status(200).json({ some: 'data' });
}
});

app.get("/fail-sometimes", (_req, res) => {
app.get('/fail-sometimes', (_req, res) => {
if (Math.random() < 0.5) {
res.status(500).json({ error: "server" });
res.status(500).json({ error: 'server' });
} else {
res.status(400).json({ error: "client" });
res.status(400).json({ error: 'client' });
}
})
});

app.listen(4000);

0 comments on commit 9d6b756

Please sign in to comment.