Skip to content

Instantly share code, notes, and snippets.

View philmander's full-sized avatar

Phil Mander philmander

View GitHub Profile
@philmander
philmander / nav.jsx
Last active August 1, 2020 15:49
Simple Preact Unit Testing with Jest (with shallow rendering)
import { h, Component } from 'preact';
import { Link } from 'preact-router/match';
class Nav extends Component {
constructor() {
super();
this.state.title = 'Navigation'
}
@philmander
philmander / server-stream.js
Created December 31, 2017 00:52
Send to server stream for Browser Bunyan
const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : 'no-window';
const isBot = /bot|crawler|spider|crawling/i.test(userAgent);
export class ServerLogStream {
constructor(opts = {}) {
const {
writeCondition = ServerLogStream.defaultWriteCondition,
} = opts;
import { createRouter } from 'router';
const router = createRouter([
{
path: '/foo:/
view: <MyComponent />
enter: ({ foo }) => store.loadVenue(foo);
},
paths: [ '/foo:/', 'bar:/' ],
view: <SomethingElse />
@philmander
philmander / disable-line.js
Last active November 14, 2022 15:41
ESLint Cheatsheet
parseInt(10); // eslint-disable-line rule-name
const { getRandomWord } = require('word-maker');
const getFizzBuzz = n => `${n % 3 === 0 ? 'Fizz' : ''}${n % 5 === 0 ? 'Buzz' : ''}`;
async function getResults() {
const promises = Array(100).fill().map(async (v, i) => {
i++;
try {
return `${i}: ${getFizzBuzz(i) || await getRandomWord({ withErrors: true })}`;
} catch (err) {
@philmander
philmander / custom-given.js
Last active November 12, 2019 10:27
Bat talk snippets
Given('I do a custom login', function(credentials) {
const { username, password } = credentials;
const agent = this.currentAgent;
await agent
.post(this.replaceVars(`${base}/api/login`));
.send({
username,
password,
});