Initial commit
[yaffs-website] / node_modules / js-yaml / lib / js-yaml / type / bool.js
1 'use strict';
2
3 var Type = require('../type');
4
5 function resolveYamlBoolean(data) {
6   if (data === null) return false;
7
8   var max = data.length;
9
10   return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||
11          (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));
12 }
13
14 function constructYamlBoolean(data) {
15   return data === 'true' ||
16          data === 'True' ||
17          data === 'TRUE';
18 }
19
20 function isBoolean(object) {
21   return Object.prototype.toString.call(object) === '[object Boolean]';
22 }
23
24 module.exports = new Type('tag:yaml.org,2002:bool', {
25   kind: 'scalar',
26   resolve: resolveYamlBoolean,
27   construct: constructYamlBoolean,
28   predicate: isBoolean,
29   represent: {
30     lowercase: function (object) { return object ? 'true' : 'false'; },
31     uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },
32     camelcase: function (object) { return object ? 'True' : 'False'; }
33   },
34   defaultStyle: 'lowercase'
35 });