Sha256: a92b94a99a19678dca5bdb02319aa6acda4e6545ebb7e63aad9be0176576ee59

Contents?: true

Size: 805 Bytes

Versions: 46

Compression:

Stored size: 805 Bytes

Contents

"use strict";

var value    = require("../../object/valid-value")
  , aFrom    = require("../from")
  , toArray  = require("../to-array")
  , contains = require("./contains")
  , byLength = require("./_compare-by-length")
  , filter   = Array.prototype.filter
  , push     = Array.prototype.push;

module.exports = function (/* …lists*/) {
	var lists, seen, result;
	if (!arguments.length) return aFrom(this);
	push.apply(lists = [this], arguments);
	lists.forEach(value);
	seen = [];
	result = [];
	lists.sort(byLength).forEach(function (list) {
		result = result
			.filter(function (item) {
				return !contains.call(list, item);
			})
			.concat(
				filter.call(list, function (item) {
					return !contains.call(seen, item);
				})
			);
		push.apply(seen, toArray(list));
	});
	return result;
};

Version data entries

46 entries across 46 versions & 3 rubygems

Version Path
govuk_publishing_components-18.0.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.21.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.20.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.19.1 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.19.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.18.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.17.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.16.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.15.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.14.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.13.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.12.2 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.12.1 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.12.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.11.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.10.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.9.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.8.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.7.0 node_modules/es5-ext/array/#/exclusion.js
govuk_publishing_components-17.6.1 node_modules/es5-ext/array/#/exclusion.js