Skip to content

Instantly share code, notes, and snippets.

View ddgromit's full-sized avatar

Derek Dahmer ddgromit

  • Alchemy
  • San Francisco, CA
View GitHub Profile
@ddgromit
ddgromit / snippets.cson
Last active December 6, 2017 22:57
Atom Snippets
'.source.js':
'[DD] query renderer':
prefix: 'queryrendererfile'
body: """
/* @flow */
import React from 'react';
import { graphql } from 'react-relay/compat';
import DefaultQueryRenderer from 'components/DefaultQueryRenderer';
import type { $1QueryResponse } from './__generated__/$1Query.graphql';
@ddgromit
ddgromit / groupByAdjacent.js
Created December 5, 2017 01:33
Groups adjacent elements of an array that satisfy an equality function.
/* @flow */
function groupByAdjacent<T>(arr: Array<T>, eq: (T, T) => boolean): Array<Array<T>> {
return arr.reduce((prev, curr) => {
if (prev.length && eq(curr, prev[prev.length - 1][0])) {
prev[prev.length - 1].push(curr);
} else {
prev.push([curr]);
}
return prev;
}, []);
import React from 'react'
import styled from 'styled-components';
class Blah extends React.Component {
render() { return <div />; }
}
styled(Blah);
// LoadingContainer.js
class LoadingContainer extends React.Component {
render() {
if (this.props.loading) {
return (
<div>
Loading...
</div>
);
// WeatherPage.js
import LoadingContainer from './LoadingContainer';
class WeatherPage extends React.Component {
// constructor, componentWillMount, etc...
render() {
return (
// WeatherPage.js
class WeatherPage extends React.Component {
constructor() {
this.state = {
loading: true,
temperature: null,
error: null,
}
}
// NOT WHAT WE'RE GOING TO DO
<LoadingContainer
errors={this.state.loading}
loading={this.state.loading}
component={TemperatureDisplay}
temperature={this.state.temperature}
anotherVariable={another}
etc={etc} />

Keybase proof

I hereby claim:

  • I am ddgromit on github.
  • I am derekdahmer (https://keybase.io/derekdahmer) on keybase.
  • I have a public key whose fingerprint is 7BE5 043B 44AC 3A92 DC1E 3133 D313 537C 3662 57EE

To claim this, I am signing this object:

brightnessValue,meteringMode,focalLengthIn35mm,sceneCaptureType,exposureMode,resolutionUnit,make,software,assetUrl,isoSpeed,exposureTime,shutterSpeed,depth,latitude,fNumber,sensingMode,longitude,apertureValue,focalLength,model,altitude,exposureProgram,pixelWidth,dateTime,flash,orientation,pixelHeight,whiteBalance,longitudeRef,latitudeRef
3.518518,3,30,0,0,2,Apple,7.1,assets-library://asset/asset.JPG?id=2353780B-568E-4F6D-BFE3-4C60A098BA84&ext=JPG,50,0.03333334,4.907122,8,0,2.2,2,0,2.275007,4.12,iPhone 5s,0,2,3264,2014-04-04T11:03:37-0400,0,1,2448,0,,
-3.714095,5,30,0,0,2,Apple,7.1,assets-library://asset/asset.JPG?id=5EFD0CCD-E011-4201-A9F2-316547C97ADC&ext=JPG,1250,0.06666667,3.9071,8,40.71878,2.2,2,73.9955,2.275007,4.12,iPhone 5s,10.62021,2,3264,2014-04-04T01:09:06-0400,16,6,2448,0,W,N
0.2780367,5,30,0,0,2,Apple,7.1,assets-library://asset/asset.JPG?id=33D21B75-566A-4804-B054-2EEBFD4F2316&ext=JPG,320,0.06666667,3.9071,8,40.78474,2.2,2,73.97797,2.275007,4.12,iPhone 5s,27.42979,2,3264,2014-04-03T21:44:34-0400,0