| 'use strict'; | 
|   | 
| var Type = require('../type'); | 
|   | 
| function resolveYamlBoolean(data) { | 
|   if (data === null) return false; | 
|   | 
|   var max = data.length; | 
|   | 
|   return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || | 
|          (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); | 
| } | 
|   | 
| function constructYamlBoolean(data) { | 
|   return data === 'true' || | 
|          data === 'True' || | 
|          data === 'TRUE'; | 
| } | 
|   | 
| function isBoolean(object) { | 
|   return Object.prototype.toString.call(object) === '[object Boolean]'; | 
| } | 
|   | 
| module.exports = new Type('tag:yaml.org,2002:bool', { | 
|   kind: 'scalar', | 
|   resolve: resolveYamlBoolean, | 
|   construct: constructYamlBoolean, | 
|   predicate: isBoolean, | 
|   represent: { | 
|     lowercase: function (object) { return object ? 'true' : 'false'; }, | 
|     uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, | 
|     camelcase: function (object) { return object ? 'True' : 'False'; } | 
|   }, | 
|   defaultStyle: 'lowercase' | 
| }); |