Sha256: a4fa54ca0343665eb199503d772a4fe4aab792e4e08bee682e70c0d4a5ada043

Contents?: true

Size: 1023 Bytes

Versions: 201

Compression:

Stored size: 1023 Bytes

Contents

'use strict';

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

var _hasOwnProperty = Object.prototype.hasOwnProperty;
var _toString       = Object.prototype.toString;

function resolveYamlOmap(data) {
  if (data === null) 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 (_toString.call(pair) !== '[object Object]') return false;

    for (pairKey in pair) {
      if (_hasOwnProperty.call(pair, pairKey)) {
        if (!pairHasKey) pairHasKey = true;
        else return false;
      }
    }

    if (!pairHasKey) return false;

    if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
    else return false;
  }

  return true;
}

function constructYamlOmap(data) {
  return data !== null ? data : [];
}

module.exports = new Type('tag:yaml.org,2002:omap', {
  kind: 'sequence',
  resolve: resolveYamlOmap,
  construct: constructYamlOmap
});

Version data entries

201 entries across 185 versions & 22 rubygems

Version Path
appmap-0.68.0 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.67.1 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.67.0 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.18.4 test/dummy/node_modules/@rails/webpacker/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.18.4 test/dummy/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.18.1 test/dummy/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.18.1 test/dummy/node_modules/@rails/webpacker/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/@rails/webpacker/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.14.0 test/dummy/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.14.0 test/dummy/node_modules/@rails/webpacker/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/@rails/webpacker/node_modules/js-yaml/lib/js-yaml/type/omap.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.66.2 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.66.1 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.66.0 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.65.1 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.65.0 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.64.0 ./node_modules/js-yaml/lib/js-yaml/type/omap.js
appmap-0.63.0 ./node_modules/js-yaml/lib/js-yaml/type/omap.js