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

snippet if "if" !
if (${1:true}) {
	${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 "it test case" !
it('→ $1', () => {
});
endsnippet

snippet desc "describe test case" !
describe('→ $1', () => {
});
endsnippet

snippet exp "expect" b
expect($1).toBe($2);
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

snippet debug "debugger" !
debugger$1;
endsnippet