1234567891011121314151617181920212223242526272829303132333435 |
- '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'
- });
|