Skip to content

Instantly share code, notes, and snippets.

Avatar

Chris Abrams chrisabrams

View GitHub Profile
View coin_sorter.txt
# include <iostream>
using namespace std;
int main ()
{
// It is good practice to define variables at the top of the file when possible
const int dollar {100};
const int quarter {25};
View outside-click.tsx
import React from 'react'
import { addEventListener } from 'consolidated-events'
interface Props {
onOutsideClick: any
}
export default class OutsideClickHandler extends React.Component<Props> {
childNode: any
removeMouseDown: any
View gist:a3db362b82996e0be1b9cc881dcaf1f5
class Middleware extends Component {
constructor(props) {
super(props)
this._process()
}
_process() {
const req = // something from browser and props to provide a convention for request information
View ProtectedRoute.js
import React, {Component} from 'react'
import {Route, Redirect} from 'react-router-dom'
import userProvider from 'store/providers/user'
export default class ProtectedRoute extends Component {
constructor(props) {
super(props)
this.inProgress = false
@chrisabrams
chrisabrams / connect.js
Created May 1, 2018
Idea around cleaning up the boilerplate code for connect decorator between React.Component -> Redux.Reducer
View connect.js
import {connect} from 'react-redux'
export default function onConnect(keys) {
const mapStateToProps = (state) => {
const o = {}
for(let i = 0, l = keys.length; i < l; i++) {
const key = keys[i]
@chrisabrams
chrisabrams / get-text.js
Last active Apr 19, 2018
[This does not work for some reason] Use puppeteer to get nodes containing text
View get-text.js
function matchNodes(text) {
try {
const filter = {
acceptNode: function(node){
if(node.nodeValue.toLowerCase().includes(text)){
return NodeFilter.FILTER_ACCEPT
}
@chrisabrams
chrisabrams / index.js
Created Mar 26, 2018
Basic buffer stuff for Node.js
View index.js
function convertTo(type, data) {
switch(type) {
case 'hex':
case 'string':
return Buffer.from(data).toString('hex')
case 'buffer':
case 'Uint8Array':
return Buffer.from(data, 'hex')
}
View example works
// start.js
import React from 'react'
import ReactDOM from 'react-dom'
import { hot } from 'react-hot-loader'
const App = () => <div>Hello World!! 4</div>
const HotApp = hot(module)(App)
ReactDOM.render(<HotApp />, document.getElementById('root'))
View example
// start.js
import React from 'react'
import ReactDOM from 'react-dom'
import { hot } from 'react-hot-loader'
export default function start() {
const App = () => <div>Hello World!! 4</div>
const HotApp = hot(module)(App)
@chrisabrams
chrisabrams / bundleAnalysis.js
Created Sep 23, 2017 — forked from kanavarora/bundleAnalysis.js
Simple utility to track your bundle/chunk sizes with each release
View bundleAnalysis.js
/*
Utility to analyze bundle chunks over versions.
Assumes: webpack has already created the bundle summary json file -> stats.json
Parameters:
version: (Optional) a string that labels the current bundle with the version
provided and saves the summary in a csv file.
Output:
If run the first time, generates a csv file bundleAnalaysis.csv, which
You can’t perform that action at this time.