30 lines
547 B
Plaintext
30 lines
547 B
Plaintext
|
'use strict';
|
||
|
|
||
|
var Type = require('../type');
|
||
|
|
||
|
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
||
|
|
||
|
function resolveYamlSet(data) {
|
||
|
if (data === null) return true;
|
||
|
|
||
|
var key, object = data;
|
||
|
|
||
|
for (key in object) {
|
||
|
if (_hasOwnProperty.call(object, key)) {
|
||
|
if (object[key] !== null) return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
function constructYamlSet(data) {
|
||
|
return data !== null ? data : {};
|
||
|
}
|
||
|
|
||
|
module.exports = new Type('tag:yaml.org,2002:set', {
|
||
|
kind: 'mapping',
|
||
|
resolve: resolveYamlSet,
|
||
|
construct: constructYamlSet
|
||
|
});
|