index.js
function createYamlSchema(customTypes) {
	var yamlTypes = [];
	_.each(customTypes, function(resolver, tagAndKindString) {
		var tagAndKind = tagAndKindString.split(/\s+/),
			yamlType = new yaml.Type(tagAndKind[0], {
				kind: tagAndKind[1],
				construct: function(data) {
					var result = resolver.call(this, data, loadYamlFile);
					if (_.isUndefined(result) || _.isFunction(result)) {
						return null;
					} else {
						return result;
					}
				}
			});
		yamlTypes.push(yamlType);
	});
	return yaml.Schema.create(yamlTypes);
}
function createYamlSchema(customTypes) {
	var yamlTypes = [];
	_.each(customTypes, function(resolver, tagAndKindString) {
		var tagAndKind = tagAndKindString.split(/\s+/),
			yamlType = new yaml.Type(tagAndKind[0], {
				kind: tagAndKind[1],
				construct: function(data) {
					var result = resolver.call(this, data, loadYamlFile);
					if (_.isUndefined(result) || _.isFunction(result)) {
						return null;
					} else {
						return result;
					}
				}
			});
		yamlTypes.push(yamlType);
	});
	return yaml.Schema.create(yamlTypes);
}
Creates the YAML schema based on default and passed custom types.

@param {Object} List of all YAML custom types
@return {Object} The resulting YAML schema