Skip to content

Instantly share code, notes, and snippets.

👹
Kappa

Jimmy Jia taion

👹
Kappa
Block or report user

Report or block taion

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@taion
taion / Route.js
Created Aug 14, 2019
Found Relay <Route>
View Route.js
import HttpError from 'found/lib/HttpError';
import BaseRoute from 'found/lib/Route';
import React from 'react';
import LoadingIndicator from '@bfly/ui/lib/LoadingIndicator';
function defaultGetDataFrom({ location }) {
return location.action === 'POP' ? 'STORE_OR_NETWORK' : 'STORE_THEN_NETWORK';
}
export function createRender({ prerender, render, renderFetched }) {
@taion
taion / Pipfile
Last active Nov 1, 2017
Token exchange
View Pipfile
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages]
flask = "*"
View NetworkLayer.js
import io from 'socket.io-client';
import RelayNetworkLayer from '@taion/relay-network-layer';
const MAX_SUBSCRIPTIONS = 200;
const EMPTY_SUBSCRIPTION = {
dispose() {},
};
/**
View runQuery.js
import Relay from 'react-relay';
export default function runQuery(
queryNode,
args,
environment,
forceFetch = false,
) {
const query = Relay.createQuery(queryNode, args);
@taion
taion / server.js
Last active Aug 16, 2019
GraphQL subscription server with Socket.IO, backed by Redis Pub/Sub
View server.js
const redisClient = redis.createClient(REDIS_URL);
const listeners = Object.create(null);
function addListener(channel, listener) {
if (!listeners[channel]) {
listeners[channel] = [];
redisClient.subscribe(channel);
}
listeners[channel].push(listener);
@taion
taion / makeRequired.js
Created Aug 21, 2016
GraphQL CRUD partial updates
View makeRequired.js
/* @flow */
import { GraphQLNonNull } from 'graphql';
export default function makeRequired(partial?: boolean) {
if (partial) {
return (type: mixed) => type;
}
return (type: mixed) => new GraphQLNonNull(type);
View Route.js
import invariant from 'invariant';
import React from 'react';
import BaseRoute from 'react-router/lib/Route';
import LoadingIndicator from './LoadingIndicator';
// This is not a component.
/* eslint-disable react/prop-types */
function render({ props, element }) {
if (!props) {
@taion
taion / Button.js
Last active Jul 31, 2016
Embarrassing strawman API proposal that hopefully gets the point across
View Button.js
// This is _not_ supposed to be a real API. It's only intended to describe what
// I'm looking for. It's almost intentionally awful.
export const buttonHook = new OverrideHook({
properties: ['margin'],
});
export default function Button(props) {
return (
<button
View omit-benchmark.js
const Benchmark = require('benchmark');
const _ = require('lodash');
const props = {
className: 'foo',
onClick: () => null,
children: 'bar',
style: { top: 10 },
relay: {},
intl: {},
View Post.js
class Post {
static Resource = HttpResource;
static resourceConfig = { endpoint: '/posts' };
@field({ required: true }))
title = 'untitled';
@field()
text = '';
You can’t perform that action at this time.