Skip to content

Instantly share code, notes, and snippets.

Avatar

Jamis Charles jamischarles

View GitHub Profile
@jamischarles
jamischarles / react-i18n.js
Created Oct 23, 2020
Examples of how to interpolate strings in React with elements (useful for i18n)
View react-i18n.js
// More modern version of what's found here by Khan academy: https://github.com/martinandert/react-interpolate-component/blob/master/index.js
// 1) simple way to result in <div>Hello</div>
let a = React.createElement("div", null, "Hello");
// 2) Create a fragment instead of a div so you can pass in JSX as one of the children. Key is optional I think
// <Fragment key="0">Hello my friend, <a href="http://www.cnn.com">This is good</a> </Fragment>
let b = React.createElement(
React.Fragment, {key: 0},
"hello my friend ",
@jamischarles
jamischarles / get.js
Last active Jan 8, 2020
Rebuilding simple version of _.get()
View get.js
function get(base, pathQuery, returnOnUndefinedValue) {
var pathArr = pathQuery.split('.');
var currentVal = base;
for (var i=0; i<pathArr.length; i++) {
var key = pathArr[i];
currentVal = currentVal[key];
if (!currentVal) {
return returnOnUndefinedValue ;
}
}
@jamischarles
jamischarles / Sci-fi.txt
Last active Oct 5, 2020
Best books I've read
View Sci-fi.txt
## Military Scifi:
-Expeditionary Force Series
-Galaxy's Edge Series
## Unique Scifi
-Skyward (Top Gun in space)
-Bobiverse Series
-Enders Game (re-read this every few years)
-Murderbot Diaries Series (really great)
-Artemis (Andy Weir)
@jamischarles
jamischarles / mdx
Created Feb 20, 2019
Generated mdx file
View mdx
---
slug: introducing-the-react-testing-library
date: 2019-02-18
title: Introducing the react-testing-library 🐐
description: "NOTE: This is a cross-post from my newsletter. I publish each email two weeks after it’s sent. Subscribe to get more content like this earlier right in your inbox! 💌 Two weeks ago, I wrote a new…"
categories: ['React']
keywords: [React,JavaScript,Testing]
banner: './images/banner.jpg'
---
@jamischarles
jamischarles / proud.md
Last active Oct 27, 2020
Things I'm most proud of
View proud.md
@jamischarles
jamischarles / chainMiddleware.js
Last active Dec 9, 2017
Simple example showing how to chain functions similar to how middleware is chained in express.js
View chainMiddleware.js
// simple example of how to create a function that calls a middleware chain, similar to express middleware
var req = {type: "req"};
var res = {type: "res"};
// 3 middlewares
var first = function(req, res, next) {
req.first = true; //easy way to verify that all have been executed
res.first = true;
return next();
@jamischarles
jamischarles / main.js
Last active Nov 26, 2017
node debugging via inspector api
View main.js
var http = require('http')
// Expectation: When I curl localhost:3000, I want to be able to
var server = http.createServer(function (req, res)
res.statusCode = 200;
res.write(e.stack); // throws exception
res.end()
})
@jamischarles
jamischarles / node_invalid_ssl.js
Created Jun 22, 2016
Node https request to server with invalid SSL certs
View node_invalid_ssl.js
// use this when you can curl an https server, but node request() will return 'econnreset: socket hang up'
var options = {
url: 'https://some/site',
method: 'POST',
// these 3 lines matter
strictSSL: false,
secureProtocol: 'TLSv1_method',
rejectUnhauthorized: false
}
@jamischarles
jamischarles / npm_install_autocomplete_zsh
Last active Jul 4, 2016
npm install autocompletion for bash & zsh. Provides content of `~/.npm` as autocomplete options for `npm install` https://medium.com/@jamischarles/adding-autocomplete-to-npm-install-5efd3c424067#.8w0jzkh3w
View npm_install_autocomplete_zsh
#!/usr/bin/env zsh #adding this to force silly gist highlighting. REMOVE THIS
# ZSH standalone npm install autocompletion. Add this to ~/.zshrc file.
_npm_install_completion() {
local si=$IFS
# if 'install' or 'i ' is one of the subcommands, then...
if [[ ${words} =~ 'install' ]] || [[ ${words} =~ 'i ' ]]; then
# add the result of `ls ~/.npm` (npm cache) as completion options
View npm_completion_with_install
#!/usr/bin/env bash #adding this to force silly gist highlighting. REMOVE THIS
# This is a modified version of the script generated by https://docs.npmjs.com/cli/completion to include `npm install` autocompletion.
# Basically we added `if` blocks to check for `install` subcommand.
###-begin-npm-completion-###
#
# npm command completion script
#
# Installation: npm completion >> ~/.bashrc (or ~/.zshrc)
You can’t perform that action at this time.