snippet f "function" !
function ${1:function_name}(${2:argument}) {
	${VISUAL}$0
}
endsnippet

snippet scf "self calling function" !
(function (${1:argument}) {
	${VISUAL}$0
}(${2:$1}));
endsnippet

snippet log "console.log"
console.log(${1:"${2:value}"});
endsnippet

snippet strict "use strict"
'use strict';
endsnippet

snippet timeout "setTimeout" !
setTimeout(function () {
	${1://code}
}, 0);
endsnippet

snippet it "jasmine it" !
it('→ $0', function () {
});
endsnippet

snippet desc "jasmine describe" !
describe('→ $0', function () {
});
endsnippet

snippet expect "jasmine expect" !
expect(${0}).toBe(${1});
endsnippet

snippet umd "Universal Module Definition" b
(function (root, factory) {
	if (typeof define === "function" && define.amd) {
		define(["${1:dependency}"], factory);
	} else if (typeof exports === "object") {
		module.exports = factory(require("$1"));
	} else {
		root.${2:Export} = factory(root.$1);
	}
}(this, function ($1) {
	function $2($3) {
	}

	return $2;
}));
endsnippet
