made with esnextbin
This file contains 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 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 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 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 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 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 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 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 |