mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-01 22:09:29 +08:00
35 lines
971 B
Text
35 lines
971 B
Text
'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'
|
|
});
|