.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / js-yaml / lib / js-yaml / type / pairs.js
1 'use strict';
2
3 var Type = require('../type');
4
5 var _toString = Object.prototype.toString;
6
7 function resolveYamlPairs(data) {
8   if (data === null) return true;
9
10   var index, length, pair, keys, result,
11       object = data;
12
13   result = new Array(object.length);
14
15   for (index = 0, length = object.length; index < length; index += 1) {
16     pair = object[index];
17
18     if (_toString.call(pair) !== '[object Object]') return false;
19
20     keys = Object.keys(pair);
21
22     if (keys.length !== 1) return false;
23
24     result[index] = [ keys[0], pair[keys[0]] ];
25   }
26
27   return true;
28 }
29
30 function constructYamlPairs(data) {
31   if (data === null) return [];
32
33   var index, length, pair, keys, result,
34       object = data;
35
36   result = new Array(object.length);
37
38   for (index = 0, length = object.length; index < length; index += 1) {
39     pair = object[index];
40
41     keys = Object.keys(pair);
42
43     result[index] = [ keys[0], pair[keys[0]] ];
44   }
45
46   return result;
47 }
48
49 module.exports = new Type('tag:yaml.org,2002:pairs', {
50   kind: 'sequence',
51   resolve: resolveYamlPairs,
52   construct: constructYamlPairs
53 });