Skip to content

Instantly share code, notes, and snippets.

View grabcode's full-sized avatar

Alex Girard grabcode

View GitHub Profile
@hashaam
hashaam / google-screenshot-firebase-cloud-function.ts
Created January 16, 2019 05:52
This firebase cloud function takes screenshot of google home page and saves in firebase storage bucket under screenshots/google.png, every time it is run.
import * as functions from 'firebase-functions';
import * as admin from "firebase-admin";
import * as puppeteer from "puppeteer";
admin.initializeApp()
export const takeGoogleScreenshot = functions
.runWith({ memory: "1GB" })
.https.onRequest(async (request, response) => {
const browser = await puppeteer.launch({
@grabcode
grabcode / ES6-request-json.js
Last active July 5, 2017 03:44
ES6 fetch syntactic sugar: handling common fetch usage with json content type, same headers, and stringified body
/*
fetch is awesome, there's no question about it.
But aren't you tired of:
- Writing your `res => res.json()` handler
- Having to stringify your body
- Signin your request with the same headers (```{'Content-Type': json, Authorization: 'JWT ...'}```)
- Inconsistently handling the response status code and not reject promise when relevant.
Usage:
request('http://yourawesome.api.com').then(console.log).catch(console.error);
@jesstelford
jesstelford / event-loop.md
Last active April 3, 2024 13:57
What is the JS Event Loop and Call Stack?

Regular Event Loop

This shows the execution order given JavaScript's Call Stack, Event Loop, and any asynchronous APIs provided in the JS execution environment (in this example; Web APIs in a Browser environment)


Given the code

@mmazzarolo
mmazzarolo / Appfile
Created May 17, 2016 11:27
Simple Fastlane setup for React-Native (Android - iOS)
# iOS
app_identifier "com.myapp.app" # The bundle identifier of your app
apple_id "me@gmail.com" # Your Apple email address
team_id "1234ABCD" # Developer Portal Team ID
# Android
json_key_file "./google-play-api-secret.json" # Path to the json secret file - Follow https://github.com/fastlane/supply#setup to get one
package_name "com.myapp.app" # Your Android app package
@grabcode
grabcode / scope_explorer.js
Last active February 2, 2016 10:38
Explore or Spy the global variables available, or any given scope. By default, it run in the global browser scope `window`, and exclude its default properties.
/*
* Explore/Spy App Global variables, excluding defaults (defaults comes down a scope)
* > Run me in your dev tool console via copy/pasting
* > In return, I provide a list of keys, and copy in your clipboard (how sweet is that!)
*
* Follow my creator https://twitter.com/grabthecode
*/
;(function(scope, defaults){
@grabcode
grabcode / snippets.cson
Last active December 28, 2015 03:27
ReactNative Component and Styles Snippet
'.source.js':
'ReactNative Component':
'prefix': 'rnc'
'body': """
'use strict';
import React, {
Text,
} from 'react-native';
@imjasonh
imjasonh / markdown.css
Last active February 12, 2024 17:18
Render Markdown as unrendered Markdown (see http://jsbin.com/huwosomawo)
* {
font-size: 12pt;
font-family: monospace;
font-weight: normal;
font-style: normal;
text-decoration: none;
color: black;
cursor: default;
}
@grabcode
grabcode / _log.js.coffee
Created February 8, 2015 00:38
Isomorphic javascript helper - custom log
root = exports ? this
root._log = ->
args = [new Date()].concat Array.prototype.slice.apply(arguments)
console.log.apply console, args
@canuk
canuk / moment.fiscal_year.js
Created February 24, 2014 19:26
Moment.js Fiscal Year Calculations (FY starts in October)
if (moment().quarter() == 4) {
var current_fiscal_year_start = moment().month('October').startOf('month');
var current_fiscal_year_end = moment().add('year', 1).month('September').endOf('month');
var last_fiscal_year_start = moment().subtract('year', 1).month('October').startOf('month');
var last_fiscal_year_end = moment().month('September').endOf('month');
} else {
var current_fiscal_year_start = moment().subtract('year', 1).month('October').startOf('month');
var current_fiscal_year_end = moment().month('September').endOf('month');
var last_fiscal_year_start = moment().subtract('year', 2).month('October').startOf('month');
var last_fiscal_year_end = moment().subtract('year', 1).month('September').endOf('month');