made with esnextbin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function PromiseComponent(initializeComponent, loadingComponent) { | |
| let cachedComponent; | |
| return class PromiseComponent extends React.Component { | |
| state = { Component: cachedComponent || loadingComponent || () => null }; | |
| componentDidMount() { | |
| if (!cachedComponent) { | |
| initializeComponent.then(component => { | |
| cachedComponent = component.default; | |
| this.setState({ Component: cachedComponent }); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* this lacks subscribe behavior or ability to dispatch from outside of component tree but that is generally not neccesary */ | |
| class State extends React.Component { | |
| constructor(props) { | |
| super(props); | |
| this.state = YOUR_INITIAL_STATE; | |
| } | |
| reducer = (action, state, props) => {...newState}; | |
| /* setState takes an object of new state as first arg or a function of props and state that returns new state | |
| * which we will use here | |
| * we pass dispatch around and use it similarly to redux dispatch |
made with esnextbin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export default function subscribableRequest({ baseUrl }) { | |
| let subscriptions = {}; | |
| return { | |
| fetch: ({ endpoint, ...rest }) => ( | |
| fetch(`${baseUrl}/${endpoint}`, ...rest) | |
| .then(res => res.json()) | |
| .then(res => { | |
| subscriptions[endpoint] && | |
| subscriptions[endpoint].forEach(sub => sub(res)); | |
| return res; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import gql from 'graphql-tag'; | |
| import { pick } = 'lodash' | |
| function routeql({ query = {}, params = [], method, apiPrefix = "" }) { | |
| const ast = gql` | |
| ${query} | |
| `; | |
| if ( | |
| ast.definitions.length > 1 || | |
| ast.definitions[0].selectionSet.selections.length > 1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "1": [ | |
| [1, 2], | |
| [1, 3], | |
| [1, 9], | |
| [1, 6], | |
| [1, 3], | |
| [1, 9], | |
| [1, 6], | |
| [1, 5], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export default function(babel) { | |
| const { types: t } = babel; | |
| return { | |
| visitor: { | |
| VariableDeclaration(path) { | |
| const node = path.node; | |
| if (node.declarations && node.declarations.length === 1) { | |
| const [{ init }] = node.declarations; | |
| if (t.isTemplateLiteral(init)) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export const userType = ` | |
| type User { | |
| id: Int! | |
| title: String! | |
| } | |
| `; | |
| export const resolveUserData() { | |
| return someFunctionThatGetsData(); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Available variables: | |
| // - Machine | |
| // - interpret | |
| // - assign | |
| // - send | |
| // - sendParent | |
| // - spawn | |
| // - raise | |
| // - actions |