Skip to content

Instantly share code, notes, and snippets.

Avatar

Jack Mahoney jackmahoney

View GitHub Profile
@jackmahoney
jackmahoney / flatten.ts
Created Jul 7, 2020
Flatten an array of arrays or map of arrays in Typescript single liner
View flatten.ts
/**
* Flatten a map of arrays or array of arrays to a single array
* @param t
*/
export function flatten<T>(t: Array<Array<T>> | { [p: string]: Array<T> }): Array<T> {
return Object.values(t).reduce((mem, val) => [...mem, ...val], [])
}
View fetch-email-php-example.php
<?php
require_once(__DIR__ . '/vendor/autoload.php');
use PHPUnit\Framework\TestCase;
/**
* This testsuite demonstrates how to use MailSlurp Email API Client in PHP
*
* MailSlurp let's you create real email addresses in PHP. You can then send and receive emails
* and attachments in PHP applications and tests.
@jackmahoney
jackmahoney / config.js
Last active Apr 5, 2019
Vuepress Markdown Variable substitution
View config.js
// inside config.js extend webpack so that `__var_name__` is replaced with value of `config[var_name]`
// relies on npm install string-replace-loader
{
configureWebpack(config) {
config.resolve.alias["@"] = path.join(__dirname, "/theme");
config.resolve.alias["~"] = path.join(__dirname, "/public");
if (process.env.NODE_ENV === "production") {
const mappings = Object.keys(config).map(key => {
return { search: `__${key}__`, replace: config[key] }
})
@jackmahoney
jackmahoney / ecs.tf
Last active Sep 25, 2018
ecs-cluster-service-task-definition
View ecs.tf
/*
ecs cluster and service definitions
*/
resource "aws_ecs_cluster" "ecs" {
name = "${var.name}-ecs"
}
/*
define ecs task for this app
*/
@jackmahoney
jackmahoney / test-oauth2-verification-email-code.spec.js
Last active Feb 18, 2020
MailSlurp javascript client example
View test-oauth2-verification-email-code.spec.js
// import an apiKey and the official js client
const apiKey = require("./config.json").apiKey;
const MailSlurpClient = require("mailslurp-client");
// instantiate a client for the inbox endpoints
const api = new MailSlurpClient.InboxcontrollerApi();
// test the authentication flow on www.mailslurp.com
// using Cypress test runenr
describe("Emaile2e.com user signup", () => {
@jackmahoney
jackmahoney / script.js
Created Oct 26, 2016
Scrape digitalagencynetwork.com
View script.js
// execute in chrome snippets section on a page such as http://digitalagencynetwork.com/agencies/melbourne/
// copy result into a csv file an voila
var $ = jQuery;
var results = [];
$('.entry .threecol-two.last').each(function(){
var title = $(this).find('h3').text();
var address = $(this).find('a').attr('href');
var emailMatch = $(this).first('h6').text().match(/[\w\.]+@[\w\.]+/);
var email = emailMatch ? emailMatch[0] : 'unknown';
results.push([title,address,email].join(','));
@jackmahoney
jackmahoney / debug-play-framework-test-intellij.md
Created Mar 19, 2015
Debug Play Framework 2.x unit test in IntelliJ
View debug-play-framework-test-intellij.md

In build.sbt add the following lines:

Keys.fork in Test := false
parallelExecution in Test := false
  • Start the play console in debug mode $ play debug.
  • Create a RemoteDebug run configuration in IntelliJ. This is only a debugger, not a compiler.
  • Run this configuration listening on port 9999.
@jackmahoney
jackmahoney / convert.sh
Last active Aug 29, 2015
EyeEm in motion
View convert.sh
#!/bin/bash
#script takes a video and converts it to frames
#it then slices the frames and uploads them to an eyeem album
#when you scroll the album fast enough it turns back into a video
output_dir=./output/
#convert video to frames, dump in output dir
ffmpeg -i $1 "$output_dir"image-%d.jpg
View gist:5eafd28fef3e5f1df762
<style>
span{ display: inline-block; vertical align: middle; }
.placeholder { height: 100% }
</style>
<span>Your content here!</span>
<span class="placeholder"></span>
@jackmahoney
jackmahoney / karma.conf.js
Last active Aug 29, 2015
Karma conf for react testing
View karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['browserify', 'mocha', 'chai'],
//specify browserify preproccesor so we can use server-side components
preprocessors: {
'test/*' : ['browserify']
},
You can’t perform that action at this time.