Skip to content

Instantly share code, notes, and snippets.

View jsbin.wogob.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
</body>
</html>
@matthewrobb
matthewrobb / strict.with.js
Last active Aug 29, 2015
Strict function inside with statement ?
View strict.with.js
(function() {
with(this) {
(function() {
"use strict";
foo = "boo";
console.log(this.foo);
}).call(this);
View jsbin.buquj.html
<!DOCTYPE html>
<html>
<head>
<script src="http://static.jsbin.com/js/vendor/traceur.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
</body>
@matthewrobb
matthewrobb / input.es6.js
Last active Aug 29, 2015
Proposal for a more performant es5 target for es6 module transpilers
View input.es6.js
import { readFile, readDir } from "fs";
export function mkdir() {
// do stuff with readFile & readDir
}
export var count;
for(count = 0; count < 100;) {
console.log(count++); // 0...99
View input.js
import { odd as local_odd } from "./b";
export var counter = 0;
export default function even(n) {
console.log("even has run %s times", counter++);
return n === 0 || local_odd(n - 1);
}
View input.js
export var counter = 0;
function inc_a(cb){
console.log(counter++);
if(counter < 100) {
setTimeout(inc_a, 0, [ cb ]);
} else {
cb();
}
}
@matthewrobb
matthewrobb / async-templates.js
Created Jun 27, 2014
Async YUI Micro Templates
View async-templates.js
require(traceur.RUNTIME_PATH);
function compile() {
var tpl = Micro.precompile("ello <%= govna %>") + "";
tpl = [
"(async function() {",
tpl.slice(tpl.indexOf("{") + 1, tpl.length - 1),
"})();"
].join("\n");
View InlineWorker.js
(function(global){
"use strict";
function fnToBlob(fn) {
var body = (fn && fn.toString()) || "";
return new Blob([ body.slice(body.indexOf("{") + 1, body.length - 1) ]);
}
function createWorker(fn) {
var blobURL = global.URL.createObjectURL(fnToBlob(fn)),
@matthewrobb
matthewrobb / exports.js
Created Aug 18, 2014
Universal Module Exports
View exports.js
function createUMEModule(values) {
function __ume__() {
return typeof values.default !== "function" ? values.default : values.default.apply(this, arguments);
}
Object.keys(values).forEach(function(name) {
Object.defineProperty(__ume__, name, {
enumerable: true,
configurable: false,
get: function() {
View bar.js
module.setters = {};
var __es6__import__ = function(name, setter) {
require(name);
var resolvedPath = require.resolve(name);
require.cache[resolvedPath].dependants.push(module);
module.setters[resolvedPath] = setter;
};
module.dependants = [];