Hogget: Philosophy
Elevator pitch
- Functional programming language
- Strong typed
- Dense syntax, everything is an expression
- Compiles to JavaScript
The Name
A Hogget is a sheep between one and two years of age. Inspired by Ramda, we also like sheep.
module.exports = factory | |
function factory() { | |
const exports = { | |
isDef, | |
isUndef, | |
isNull, | |
isBool, | |
isNum, | |
isInt, |
/** | |
* Turing Machine Interpreter | |
* | |
* Features: | |
* - Infinite tape, both ways | |
* - Uses JS values, anything that matches ==, is a valid symbol | |
* | |
* Definition: | |
* - States (Q): { integer, halt } | |
* - Input symbols read/write (Σ): any integer or string |
A Hogget is a sheep between one and two years of age. Inspired by Ramda, we also like sheep.
/** | |
* This function polls the component's props for Apollo to set `props.data.loading` to `false` | |
* @example | |
* await waitDuringLoadingState(testRenderer, TodoContainer) | |
* @see {@link https://reactjs.org/docs/test-renderer.html} | |
* @param {TestRenderer} testRenderer | |
* @param {React.Component} testComponent | |
* @returns {Promise} | |
*/ | |
export function waitDuringLoadingState(testRenderer, testComponent) { |
#!/usr/bin/env node | |
const fetch = require('node-fetch') | |
const ip = require('ip') | |
const os = require('os') | |
const env = require('./.env.json') | |
const endpoint = 'https://dns.api.gandi.net/api/v5/' | |
const newip = `${ip.address()}` | |
const domain = env.domain |
const crypto = require('crypto') | |
const { promisify } = require('util') | |
const pbkdf2 = promisify(crypto.pbkdf2) | |
module.exports = { createHashPasswordFn, isPasswordCorrect } | |
/** | |
* @typedef {Object} HashPassword | |
* @property {String} hash | |
* @property {String} salt |
const indexOf = node => list => { | |
const guess = (min, max) => { | |
const index = Math.floor((max - min) / 2) + min | |
if (list[index] === node) { | |
return index | |
} else if (list[index] < node) { | |
min = index + 1 | |
} else { | |
max = index - 1 | |
} |
git clone git@github.com:branneman/dotfiles.git ~/.dotfiles
ln -s ~/.dotfiles/vscode-settings.json "~/Library/Application Support/Code/User/settings.json"
⌘
+ ⇧
+ P
)/** | |
* @module GTMEventTracking | |
* @example | |
* <a | |
* data-module="event-tracking/GTMEventTracking" | |
* data-payload='{"event":"EventOpenGoogle"}' | |
* href="https://google.com/" target="_blank"> | |
* Click me | |
* </a> | |
*/ |