Skip to content

Instantly share code, notes, and snippets.

@rendall
rendall / apiPromise.ts
Last active October 18, 2020 17:32
API Promise replaces node-fetch
import * as dotenv from "dotenv"
import * as http from "https"
import { IncomingMessage, ClientRequest } from "http"
dotenv.config()
const API_KEY = process.env.API_KEY
const API_HOST = process.env.API_HOST
const API_PATH = process.env.API_PATH
const TIMEOUT_MS = 5000
@rendall
rendall / isPalindrome.js
Last active October 1, 2020 20:48
isPalindrome(str) returns true if str is a palindrome
// Use it like:
// isPalindrome("Anna") // true
// isPalindrome("not a palindrome") // false
const isPalindrome = (p, normalized) =>
normalized === undefined?
isPalindrome(null, p.replace(/\W/g,"").toLowerCase())
: normalized.length <= 1? true
: normalized.slice(-1) === normalized.slice(0,1)?
isPalindrome(null, normalized.slice(1,normalized.length-1))
@rendall
rendall / uniq.js
Last active May 26, 2019 09:02
returns an array with duplicate elements stripped.
const uniq = (arr) => arr.reduce((acc,e) => acc.indexOf(e) >= 0? acc : [...acc, e], [])
// uniq([1,1,1,2,2,3,3,4,4,4,5,6,6]) => [1,2,3,4,5,6]
// arr.reduce iterates through arr's elements,
// check if the array 'acc' contains the element 'e'
// If so, make no change to 'acc' (assign 'acc' to 'acc')
// If not, add 'e' to 'acc'
// After iteration, return 'acc'
// Older version:
@rendall
rendall / InfernoJSX.d.ts
Last active October 11, 2017 21:20
Inferno JSX Typescript type definitions
// This gist is deprecated. The repo for this file is now here:
// https://github.com/rendall/inferno-jsx-type-definitions/blob/master/InfernoJSX.d.ts
// This is lightly modified version of the React typedefs with 'React' replaced by 'InfernoJSX'.
// Use it as you would any @type library, and it will stop that annoying typescript / jsx error
// when you're using Typescript with Inferno.
// Please do let me know of any problems or issues: https://github.com/rendall
// Inferno's VNode is compatible with JSX.Element, so you can do something like this:
@rendall
rendall / InfernoRouterJSX.d.ts
Last active September 29, 2017 12:17
TSX type definitions for the Inferno library 'inferno-router'
// The repo for this file is now here: https://github.com/rendall/inferno-jsx-type-definitions/blob/master/InfernoRouterJSX.d.ts
// This gist is deprecated.
// This is a lightly modified version of the react-router typedefs, to be used alongside InfernoJSX.d.ts: https://gist.github.com/rendall/cdd23c962c88fac3dbd9322cc2b09d58
// Please do let me know of any problems or issues: https://github.com/rendall
// Type definitions for React Router 4.0
// Project: https://github.com/ReactTraining/react-router
// Definitions by: Sergey Buturlakin <https://github.com/sergey-buturlakin>
// Yuichi Murata <https://github.com/mrk21>

Keybase proof

I hereby claim:

  • I am rendall on github.
  • I am rendall (https://keybase.io/rendall) on keybase.
  • I have a public key ASCQAUvXTIMQUOpgwMnEjjU96nXmB0_pV-oqdZb2LwM3ego

To claim this, I am signing this object: