Skip to content

Instantly share code, notes, and snippets.

Dag-Inge Aas dagingaa

Block or report user

Report or block dagingaa

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@dagingaa
dagingaa / arrow-function-codemod.js
Created Jan 26, 2016
My preliminary stab at a proper codemod for appear.in that transforms anonymous functions to arrow functions.
View arrow-function-codemod.js
module.exports = (file, api, options) => {
const j = api.jscodeshift;
const root = j(file.source);
const createArrowFunctionExpression = fn => {
return j.arrowFunctionExpression(
fn.params,
fn.body,
false);
@dagingaa
dagingaa / arrow-parens.js
Created Jan 26, 2016
Fixes the arrow parens thing in eslint, but is slightly broken
View arrow-parens.js
module.exports = (file, api, options) => {
const j = api.jscodeshift;
const root = j(file.source);
const getBodyStatement = fn => {
if (
fn.body.type == 'BlockStatement' &&
fn.body.body.length == 1
) {
@dagingaa
dagingaa / prototype-to-class.js
Last active Nov 18, 2017
Codemod to transform well-written function prototype style classes into the new ES2015 syntax. Requires jscodeshift.
View prototype-to-class.js
module.exports = (file, api, options) => {
const j = api.jscodeshift;
const root = j(file.source);
// We have to add "use strict" for node to play nice
// Taken from https://github.com/cpojer/js-codemod/blob/master/transforms/use-strict.js
const hasStrictMode = body =>
body.some(
statement => j.match(statement, {
type: 'ExpressionStatement',
@dagingaa
dagingaa / refactor-functions-params-to-obj-destructuring.js
Created Sep 21, 2016
This is a non-working codemod that tried to refactor specific functions with multiple parameters into a single object with destructuring. It failed.
View refactor-functions-params-to-obj-destructuring.js
export default function transformer(file, api) {
const j = api.jscodeshift;
const name = "subscribeToPlan";
const newName = name;
const root = j(file.source);
root
.find(j.MethodDefinition)
.filter(path => !!path.value.key.name)
View keybase.md

Keybase proof

I hereby claim:

  • I am dagingaa on github.
  • I am daginge (https://keybase.io/daginge) on keybase.
  • I have a public key ASAa1y7IlordCfcpNPe64jomY7ui1GgbuwLYBDQdq8D1mgo

To claim this, I am signing this object:

@dagingaa
dagingaa / passport-grean.js
Created Sep 5, 2017
A small wrapper around openid-client passport for integrating with Grean EasyID
View passport-grean.js
"use strict";
const { Issuer, Strategy } = require("openid-client");
Issuer.defaultHttpOptions = { timeout: 5000 };
function createUser(userinfo) {
const name = userinfo.name.split(",");
return {
id: userinfo.uniqueuserid,
View webrtcsupportgate.js
function WebRtcSupportGate({
children,
forceUnsupported,
forceUnsupportedIos,
forceUnsupportedFacebook,
forceUnsupportedInApp,
}) {
const isWebRtcSupported =
!!global.RTCPeerConnection &&
!!global.navigator.mediaDevices &&
View media-capabilities-video.js
if ('mediaCapabilities' in navigator && 'encodingInfo' in navigator.mediaCapabilities) {
const videoFileConfiguration = {
type : 'record',
video : {
contentType: "video/webm;codecs=vp8",
width: 1920,
height: 1080,
bitrate: 2500000,
framerate: 30,
}
View stun-binding-request-test.js
const dgram = require('dgram');
// STUN binding request
const bind = Buffer.from('000300002112a4425f73a4b270529f877091d580', 'hex');
const socket = dgram.createSocket('udp4');
socket.on('message', (data) => {
console.log('STUN BINDING RESPONSE', data.toString());
});
View analyze_image_color_data.js
src = "url_to_imgur"
img = new Image();
img.crossOrigin = "Anonymous";
img.addEventListener("load", analyze, false);
img.src = src;
function analyze() {
canvas = document.createElement("canvas")
ctx = canvas.getContext("2d")
You can’t perform that action at this time.