Skip to content

Instantly share code, notes, and snippets.

'use strict';
var tickTestsToEnd = require('./tickTestsToEnd');
describe('tests', function() {
tickTestsToEnd(beforeEach, afterEach);
it('test', function(done) {
setTimeout(function() {
doLotsOfAsyncStuff().then(function(result) {

Comparison of Typescript and Flow

Common Features

  • Lots of type inference

  • Null/undefined checking

Similar syntax
'use strict';
// readysetjs config: {"autoRun": true}
// Tip: If you set autoRun to false, you can execute
// with Ctrl+Enter or Cmd+Enter.
const createElement = (innerHTML) => {
const wrapper = document.createElement('div');
wrapper.innerHTML = innerHTML;
Firefox:
host
peerreflexive
serverreflexive
relayed
Chrome:
local -> host/peerreflexive
prflx -> peerreflexive
stun -> serverreflexive
'use strict';
const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection;
function doWebrtcVideo() {
return new Promise((resolve, reject) => {
function setupPeerConnection(channel) {
const pc = new RTCPeerConnection({
iceServers: [{
urls: ['stun:stun.l.google.com:19302']
window.count = 0;
setInterval(() => window.count++, 20);
Promise.prototype.actualThen = Promise.prototype.then;
Promise.prototype.then = (function() {
let currCount = window.count;
let repeats = 0;
let stoppedPromiseChains = [];
'use strict';
function resolvePromises(val) {
if (Array.isArray(val)) {
return Promise.all(val.map(resolvePromises));
}
if (typeof val === 'object' && typeof val.then !== 'function') {
return Promise.all(Object.keys(val).map(key => {
return resolvePromises(val[key]).then(value => ({key, value}))
function loadScript(src) {
const script = document.createElement('script');
script.src = src;
document.body.appendChild(script);
return new Promise(resolve =>
script.addEventListener('load', resolve)
);
}
'use strict';
const rows = Array.prototype.slice.apply(
document.querySelectorAll('.js-file-line')
);
const code = rows
.map(el =>
el.innerHTML
.replace(/<[^>]*>/g, '')
function createElement(str) {
const container = document.createElement('div');
container.innerHTML = str.trim();
return container.firstChild;
}
function range(n) {
return (new Array(n)).fill(0).map((x, i) => i);
}