Sha256: 7bddac0aad313f0e4475e5df6e8904a5452286402df2bc99a4ad3c3c0e563310
Contents?: true
Size: 1.09 KB
Versions: 112
Compression:
Stored size: 1.09 KB
Contents
'use strict'; var Type = require('../type'); var _hasOwnProperty = Object.prototype.hasOwnProperty; var _toString = Object.prototype.toString; function resolveYamlOmap(data) { if (null === data) { return true; } var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data; for (index = 0, length = object.length; index < length; index += 1) { pair = object[index]; pairHasKey = false; if ('[object Object]' !== _toString.call(pair)) { return false; } for (pairKey in pair) { if (_hasOwnProperty.call(pair, pairKey)) { if (!pairHasKey) { pairHasKey = true; } else { return false; } } } if (!pairHasKey) { return false; } if (-1 === objectKeys.indexOf(pairKey)) { objectKeys.push(pairKey); } else { return false; } } return true; } function constructYamlOmap(data) { return null !== data ? data : []; } module.exports = new Type('tag:yaml.org,2002:omap', { kind: 'sequence', resolve: resolveYamlOmap, construct: constructYamlOmap });
Version data entries
112 entries across 105 versions & 6 rubygems