Skip to content

Instantly share code, notes, and snippets.

View morten-olsen's full-sized avatar
🤖

Morten Olsen morten-olsen

🤖
View GitHub Profile
import React, { Component, Fragment } from 'react';
import { compose } from 'redux';
import log from 'services/log';
/**
* @typedef {Object} Options
* @property {function(error: Error, message: string, retry: function)} handleError
* - The function for handling exceptions
* @property {string} defaultError
* - The error shown if no error message is provided for a `withError`
(function () {
var scripts = [
'javascript/vendor/react-5719686e34346bcd.dll.js',
'javascript/vendor/core-5719686e34346bcd.dll.js',
'javascript/vendor/lib-0648efa1db497870.js',
'javascript/app-0648efa1db497870.js',
];
for (var i = 0; i < scripts.length; i++) {
var elm = document.createElement('script');
elm.src = 'https://sampension.lifeflow.in/' + scripts[i];

Keybase proof

I hereby claim:

  • I am morten-olsen on github.
  • I am mortenolsen (https://keybase.io/mortenolsen) on keybase.
  • I have a public key ASBG6g9vEQLKtRUOE82flzH0rcYRRfwgXmqp9OHk_ZDlqAo

To claim this, I am signing this object:

@morten-olsen
morten-olsen / usage.js
Created October 9, 2017 10:52
A web worker wrapper for loading scripts from strings, and executing functions as promises
(async () => {
const worker = new WorkerScript();
await worker.loadScript(`
return new Promise((resolve) => {
setTimeout(() => {
resolve('Sample output for ' + inputs.hello);
}, 500)
})
`);
const output = await worker.run({ hello: 'world'});
@morten-olsen
morten-olsen / same-line-brackets.js
Created July 25, 2017 13:54
JavaScript style guide
function a() {
return {
};
};
console.log(a());
// ouputs: {}
function b()
{
return
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/bundle/typescript-vim
# Install and compile procvim.vim
git clone https://github.com/Shougo/vimproc.vim.git ~/.vim/bundle/vimproc.vim
pushd ~/.vim/bundle/vimproc.vim
make
popd
{
"name": "gtm",
"arguments": [
"gtmId"
],
"snippet": "(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='{{resources.gtm}}';f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','{{settings.gtmId}}');",
"resources": {
"gtm": {
"mimeType": "text/javascript",
"url": "https://www.googletagmanager.com/gtm.js?id={{gtmId}}",
const generateGraph = (data, {
includeZero = true,
useMin = true,
length = 10,
} = {}) => {
const chars = (includeZero ? ' ' : '') + '▁▂▃▄▅▆▇█';
const aggregated = length ? data.reduce((out, point, i) => {
const ri = Math.floor(i / (data.length / length));
out[ri] = out[ri] || [];
out[ri].push(point);
@morten-olsen
morten-olsen / dexie-as-action.js
Last active March 22, 2017 23:03
Dexie as middleware
class DexieAction {
constructor(collection, filters = [], mode = 'all') {
this.collection = collection;
this.filters = filters;
this.mode = mode;
}
set(name, args) {
this.filters.push({
type: name,