This file contains hidden or 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
/** | |
* Given an array of Person objects, returns the root PersonTreeNode (the CEO). | |
* @param {Person[]} employees - An array of Person objects representing all the employees of the company. | |
* @returns {PersonTreeNode} The CEO of the organization. | |
*/ | |
function generateTree(employees) { | |
let ceo = null | |
const visitedById = new Map() | |
const visitedByManagerId = new Map() |
This file contains hidden or 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
const convertToRomanNumerals = int => { | |
const romanNumerals = ['I', 'V', 'X', 'L', 'C', 'D', 'M'] | |
const createRomanNumeralRange = (I, V, X) => [ | |
'', | |
I, | |
`${I}${I}`, | |
`${I}${I}${I}`, | |
`${I}${V}`, | |
V, | |
`${V}${I}`, |
This file contains hidden or 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 React from 'react' | |
import { render, fireEvent } from 'react-testing-library' | |
import useValidation from '..' | |
describe('use-validation', () => { | |
const Test = ({ mockFunc, handleSubmit }) => { | |
const { fields } = useValidation({ | |
fields: { | |
foo: '', | |
bar: '', |
This file contains hidden or 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
// I like how this approach lets me test my hook as if it's a pure function, | |
// but something about this feels weird 🤔 🤫 | |
test('use-validation', () => { | |
let counter = 0 | |
render( | |
<Test> | |
{fields => { | |
const fooFuncs = { | |
onChange: fields.foo.onChange, |
This file contains hidden or 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
[alias] | |
s = status | |
d = diff | |
c = checkout | |
co = commit | |
ps = push | |
l = log | |
p = pull | |
b = branch | |
[user] |
This file contains hidden or 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 file is just here to change the name of the gist | |
import React from 'react' | |
import styled from 'styled-components' | |
const makeResponsiveComponent = (rulesets, tagName = 'div') => | |
styled(tagName)`${buildStyles(rulesets)}` | |
const buildStyles = rulesets => | |
rulesets.reduce( | |
(cssString, { constraint, width, rules }) => |
This file contains hidden or 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 getTimeOfDay (start, end) { | |
if (start < 12 && end > 16) { return null } // not specific enough | |
// we don't care about the window from 22:00 - 06:00 | |
const timesOfDay = Array(24) | |
.fill('Morning', 6, 12) | |
.fill('Afternoon', 12, 16) | |
.fill('Evening', 16, 22) | |
return Array.from(new Set(timesOfDay.slice(start, end))) |
This file contains hidden or 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 (reducerMap = {}, initialState) => | |
(state = initialState, { type = '', ...payload }) => | |
(reducerMap[type] || (() => state))(state, payload) // if type isn't found in the reducer, just use a noop |
This file contains hidden or 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 file is only here to provide the title of the gist |
This file contains hidden or 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 () { | |
let className = '' | |
let options = {} | |
const classNames = [] | |
if (arguments.length > 1) { | |
className = arguments[0] | |
options = arguments[1] | |
classNames.push(className) | |
} else { |
NewerOlder