Skip to content

Instantly share code, notes, and snippets.

View dralletje's full-sized avatar
🛰️
😱🦁🤨

Michiel Dral dralletje

🛰️
😱🦁🤨
View GitHub Profile
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvurJtVN/6j4dk2XlpPuzDsIE2aZ3O5a+mrolFzLdlYy8S0QyL1M1H8fwSKy+MGRDHbnyVJY0/M6bOBFpAE7lb7Nq5WgFMuv9MtaJpjwV6PNhB7YCNzMjWOxPT4tBSH8Vb9ZVVqpfC5ZVJgpw62m3UzBxRFECYZeZeMMZDLClD6bKJABVkuEaXI05rg0LrOAf9bKSixQ/taoVw/gRefFQZ5ZyCdU6Nbd4Jrj5niRrP+iPzZYRmY/u7FZXNe97u+2WTHKSWEQOihROhysah7tatIfSmuIy+xfOdP65uaPVwF0a6kkD/IhyOCeGLyzf8QYupdy0NKD8KNVx5oohlzGp5KfiF57KcwcH9sBJn/Hy9zu4P1jO1veZre+oF0y+zpGXCA8YL3WfDtley631BqbPbtBoFUvCvi63p2Pe6ys+FMvuCcdNZ2FbPFB0FzsdCWTiZI6FCXUxP+lZziNgQ8EJzQueN1ugN7P+B4ZjZi9JARYfH8Q/uk2qkyU5gOkmrQqYK6H9kbqqDDSEgBI5H8yLS931uZDAZX9a8pZg9Bk4pwfIORJVI4Eb2maFpe+yaJYThM8x3I5XZApZZesNBwC0v558gjtWO0hh+eOSejeMLsDQLK2rzojoSI8CAPPn/QjMdtKAWPbuoTORsoMYwn/otP4XLbFv0RLO0mgXy8Q36fw== [email protected]
// @flow
import React from 'react';
import shallowEqual from 'shallowequal';
import { debounce } from 'lodash';
import immutagen from 'immutagen';
export let create_generator_component = (generator_fn) => {
let { Provider, Consumer } = React.createContext();
var Module = void 0 !== Module ? Module : {};
export default function() {
var e,
t = {};
for (e in Module) Module.hasOwnProperty(e) && (t[e] = Module[e]);
var r,
n,
o = [],
s = function(e, t) {
throw t;
@dralletje
dralletje / pre-commit
Last active March 17, 2020 17:26
Pre commit hook for prettier
#!/usr/bin/env node
const util = require('util');
const exec = util.promisify(require('child_process').exec);
let run = fn => fn();
run(async () => {
try {
let { stdout: git_status_output } = await exec('git diff --cached --name-status');

Demo for how checked checkboxes look on Github

  • Checked
  • Unchecked
interface Request {
_id: string,
clientId: string,
// Needed for custom title or to add something to the existing todo title.
// For example: "Open Bank Account" + "(2 accounts)"
title: string,
// Required to set when opening a request.
todoId: string,
status: RequestStatus,
steps: (ProposalStep)[], // Copied from Todo. Used to track progress.
@dralletje
dralletje / scoped-storage.js
Created April 23, 2019 16:45
Scoped storage
let scoped_storage = (key, { storage = localStorage } = {}) => {
return {
get: ({ default = null } = {}) => {
let value_stringified = localStorage.getItem(key);
if (value_stringified == null) {
return default;
}
try {
@dralletje
dralletje / flow-cli.js
Created April 8, 2019 17:20
Better flow CLI, most likely outdated
// @flow
let { uniq, flatten } = require('lodash');
let chalk = require('chalk');
let dedent = require('dedent');
let { isEqual, padStart, padEnd, trimEnd } = require('lodash');
let fs = require('fs');
// NOTE CLASSIC
const indent = indentLevel => (...args) => {
import React from 'react';
export class Form extends React.Component {
state = {
has_submitted: false,
submit_error: null,
};
render() {
let { children, onSubmit, conditions } = this.props;
import React from 'react';
import immutagen from 'immutagen';
export let generator_render = (generator_fn) => {
let { Provider, Consumer } = React.createContext();
let render_subchild = (generator, value) => {
let { value: element, next: next_generator } = generator(value);
return <Provider value={{ generator: next_generator }}>{element}</Provider>;
};