Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81149 views
1
'use strict';
2
3
var Type = require('../type');
4
5
function resolveYamlBoolean(data) {
6
if (null === data) {
7
return false;
8
}
9
10
var max = data.length;
11
12
return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||
13
(max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));
14
}
15
16
function constructYamlBoolean(data) {
17
return data === 'true' ||
18
data === 'True' ||
19
data === 'TRUE';
20
}
21
22
function isBoolean(object) {
23
return '[object Boolean]' === Object.prototype.toString.call(object);
24
}
25
26
module.exports = new Type('tag:yaml.org,2002:bool', {
27
kind: 'scalar',
28
resolve: resolveYamlBoolean,
29
construct: constructYamlBoolean,
30
predicate: isBoolean,
31
represent: {
32
lowercase: function (object) { return object ? 'true' : 'false'; },
33
uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },
34
camelcase: function (object) { return object ? 'True' : 'False'; }
35
},
36
defaultStyle: 'lowercase'
37
});
38
39