Sha256: 74e0f534a36375d5b8e4f984dd3d7259021187e52b22d84e67f07d00f28e8a9c

Contents?: true

Size: 1.11 KB

Versions: 112

Compression:

Stored size: 1.11 KB

Contents

'use strict';

var Type = require('../type');

var _toString = Object.prototype.toString;

function resolveYamlPairs(data) {
  if (null === data) {
    return true;
  }

  var index, length, pair, keys, result,
      object = data;

  result = new Array(object.length);

  for (index = 0, length = object.length; index < length; index += 1) {
    pair = object[index];

    if ('[object Object]' !== _toString.call(pair)) {
      return false;
    }

    keys = Object.keys(pair);

    if (1 !== keys.length) {
      return false;
    }

    result[index] = [ keys[0], pair[keys[0]] ];
  }

  return true;
}

function constructYamlPairs(data) {
  if (null === data) {
    return [];
  }

  var index, length, pair, keys, result,
      object = data;

  result = new Array(object.length);

  for (index = 0, length = object.length; index < length; index += 1) {
    pair = object[index];

    keys = Object.keys(pair);

    result[index] = [ keys[0], pair[keys[0]] ];
  }

  return result;
}

module.exports = new Type('tag:yaml.org,2002:pairs', {
  kind: 'sequence',
  resolve: resolveYamlPairs,
  construct: constructYamlPairs
});

Version data entries

112 entries across 105 versions & 6 rubygems

Version Path
opal-0.10.6 stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js
opal-0.10.6.beta stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js
opal-0.10.5 stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js
opal-0.10.4 stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
xcodebuild-helper-1.2.5 externals/ios-sim-master/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
opal-0.10.3 stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/configstore/node_modules/js-yaml/lib/js-yaml/type/pairs.js
opal-0.10.2 stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js