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

snippet if "if" !
	if (${1:true}) {
		${VISUAL}$0
	}

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

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

snippet strict "use strict"
	'use strict';

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

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

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

snippet exp "expect" b
	expect($1).toBe($2);

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;
	}))

snippet debug "debugger" !
	debugger$1;