UNPKG

21.2 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7var range = _interopDefault(require('lodash/range'));
8var random = _interopDefault(require('lodash/random'));
9var shuffle = _interopDefault(require('lodash/shuffle'));
10var d3Time = require('d3-time');
11var d3TimeFormat = require('d3-time-format');
12
13var randColor = function randColor() {
14 return "hsl(".concat(Math.round(Math.random() * 360), ", 70%, 50%)");
15};
16
17var countryCodes = ['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BQ', 'BR', 'BS', 'BT', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW'];
18
19var names = ['John', 'Raoul', 'Jane', 'Marcel', 'Ibrahim', 'Junko', 'Lyu', 'André', 'Maki', 'Véronique', 'Thibeau', 'Josiane', 'Raphaël', 'Mathéo', 'Margot', 'Hugo', 'Christian', 'Louis', 'Ella', 'Alton', 'Jimmy', 'Guillaume', 'Sébastien', 'Alfred', 'Bon', 'Solange', 'Kendrick', 'Jared', 'Satoko', 'Tomoko', 'Line', 'Delphine', 'Leonard', 'Alphonse', 'Lisa', 'Bart', 'Benjamin', 'Homer', 'Jack'];
20
21var programmingLanguages = ['php', 'make', 'javascript', 'go', 'erlang', 'elixir', 'lisp', 'haskell', 'python', 'ruby', 'hack', 'scala', 'java', 'rust', 'c', 'css', 'sass', 'stylus'];
22
23
24
25var index = /*#__PURE__*/Object.freeze({
26 countryCodes: countryCodes,
27 names: names,
28 programmingLanguages: programmingLanguages
29});
30
31function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
32function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
33function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
34function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
35var generateBulletData = function generateBulletData(id, max) {
36 var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
37 title = _ref.title,
38 subtitle = _ref.subtitle,
39 _ref$rangeCount = _ref.rangeCount,
40 rangeCount = _ref$rangeCount === void 0 ? 5 : _ref$rangeCount,
41 _ref$measureCount = _ref.measureCount,
42 measureCount = _ref$measureCount === void 0 ? 1 : _ref$measureCount,
43 _ref$markerCount = _ref.markerCount,
44 markerCount = _ref$markerCount === void 0 ? 1 : _ref$markerCount,
45 _ref$float = _ref.float,
46 float = _ref$float === void 0 ? false : _ref$float;
47 var ranges = range(rangeCount - 1).reduce(function (acc) {
48 var remaining = max - acc[0];
49 return [random(remaining, float)].concat(_toConsumableArray(acc));
50 }, [max]);
51 var measures = range(measureCount).reduce(function (acc) {
52 if (acc.length === 0) return [random(max, float)];
53 return [random(acc[0], float)].concat(_toConsumableArray(acc));
54 }, []);
55 var markers = range(markerCount).map(function () {
56 return max * 0.6 + random(max * 0.4);
57 });
58 return {
59 id: id,
60 title: title,
61 subtitle: subtitle,
62 ranges: ranges,
63 measures: measures,
64 markers: markers
65 };
66};
67
68var generateChordData = function generateChordData() {
69 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
70 _ref$keys = _ref.keys,
71 keys = _ref$keys === void 0 ? names : _ref$keys,
72 _ref$size = _ref.size,
73 size = _ref$size === void 0 ? 7 : _ref$size,
74 _ref$minValue = _ref.minValue,
75 minValue = _ref$minValue === void 0 ? 0 : _ref$minValue,
76 _ref$maxValue = _ref.maxValue,
77 maxValue = _ref$maxValue === void 0 ? 2000 : _ref$maxValue;
78 var maxSize = Math.min(keys.length, size);
79 var selectedKeys = keys.slice(0, maxSize);
80 var matrix = range(maxSize).map(function () {
81 return range(maxSize).map(function () {
82 if (Math.random() < 0.66) return random(minValue, maxValue / 4);
83 return random(minValue, maxValue);
84 });
85 });
86 return {
87 matrix: matrix,
88 keys: selectedKeys
89 };
90};
91
92function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
93function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
94function _toConsumableArray$1(arr) { return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _nonIterableSpread$1(); }
95function _nonIterableSpread$1() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
96function _iterableToArray$1(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
97function _arrayWithoutHoles$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
98var generateParallelCoordinatesData = function generateParallelCoordinatesData() {
99 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
100 _ref$size = _ref.size,
101 size = _ref$size === void 0 ? 26 : _ref$size,
102 _ref$keys = _ref.keys,
103 keys = _ref$keys === void 0 ? [{
104 key: 'temp',
105 random: [-10, 40]
106 }, {
107 key: 'cost',
108 random: [200, 400000]
109 }, {
110 key: 'color',
111 shuffle: ['red', 'yellow', 'green']
112 }, {
113 key: 'target',
114 shuffle: ['A', 'B', 'C', 'D', 'E']
115 }, {
116 key: 'volume',
117 random: [0.2, 7.6]
118 }] : _ref$keys;
119 var datumGenerator = function datumGenerator() {
120 return keys.reduce(function (acc, key) {
121 var value;
122 if (key.random !== undefined) {
123 value = random.apply(void 0, _toConsumableArray$1(key.random));
124 } else if (key.shuffle !== undefined) {
125 value = shuffle(key.shuffle)[0];
126 }
127 return _objectSpread({}, acc, _defineProperty({}, key.key, value));
128 }, {});
129 };
130 return range(size).map(datumGenerator);
131};
132
133function _toConsumableArray$2(arr) { return _arrayWithoutHoles$2(arr) || _iterableToArray$2(arr) || _nonIterableSpread$2(); }
134function _nonIterableSpread$2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
135function _iterableToArray$2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
136function _arrayWithoutHoles$2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
137var availableNodes = names.map(function (name) {
138 return {
139 id: name
140 };
141});
142var getNodeTargets = function getNodeTargets(id, links, currentPath) {
143 var targets = links.filter(function (_ref) {
144 var source = _ref.source;
145 return source === id;
146 }).map(function (_ref2) {
147 var target = _ref2.target;
148 if (target === id) {
149 throw new Error("[sankey] a node cannot be linked on itself:\n link: ".concat(id, " \u2014> ").concat(id));
150 }
151 if (currentPath && currentPath.includes(target)) {
152 throw new Error("[sankey] found cyclic dependency:\n link: ".concat(currentPath.join(' —> '), " \u2014> ").concat(target));
153 }
154 return target;
155 });
156 return targets.reduce(function (acc, targetId) {
157 return acc.concat(getNodeTargets(targetId, links, currentPath ? [].concat(_toConsumableArray$2(currentPath), [targetId]) : [id, targetId]));
158 }, targets);
159};
160var getNodesTargets = function getNodesTargets(links) {
161 return links.reduce(function (targetsById, link) {
162 if (!targetsById[link.source]) {
163 targetsById[link.source] = getNodeTargets(link.source, links);
164 }
165 return targetsById;
166 }, {});
167};
168var generateSankeyData = function generateSankeyData() {
169 var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
170 nodeCount = _ref3.nodeCount,
171 _ref3$maxIterations = _ref3.maxIterations,
172 maxIterations = _ref3$maxIterations === void 0 ? 3 : _ref3$maxIterations;
173 var nodes = availableNodes.slice(0, nodeCount).map(function (node) {
174 return Object.assign({}, node, {
175 color: randColor()
176 });
177 });
178 var links = [];
179 shuffle(nodes).forEach(function (_ref4) {
180 var id = _ref4.id;
181 range(random(1, maxIterations)).forEach(function () {
182 var targetsById = getNodesTargets(links);
183 var randId = shuffle(nodes.filter(function (n) {
184 return n.id !== id;
185 }).map(function (n) {
186 return n.id;
187 }))[0];
188 if ((!targetsById[randId] || !targetsById[randId].includes(id)) && (!targetsById[id] || !targetsById[id].includes(randId))) {
189 links.push({
190 source: id,
191 target: randId,
192 value: random(5, 200)
193 });
194 }
195 });
196 });
197 return {
198 nodes: nodes,
199 links: links
200 };
201};
202
203function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } return target; }
204function _defineProperty$1(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
205function _toConsumableArray$3(arr) { return _arrayWithoutHoles$3(arr) || _iterableToArray$3(arr) || _nonIterableSpread$3(); }
206function _nonIterableSpread$3() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
207function _iterableToArray$3(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
208function _arrayWithoutHoles$3(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
209var randomPrice = function randomPrice() {
210 return random(0, 500);
211};
212var randomVolume = function randomVolume() {
213 return random(4, 20);
214};
215var randomCategory = function randomCategory() {
216 return random(3, 17);
217};
218var generateSwarmPlotData = function generateSwarmPlotData(groups, _ref) {
219 var _ref$min = _ref.min,
220 min = _ref$min === void 0 ? 60 : _ref$min,
221 _ref$max = _ref.max,
222 max = _ref$max === void 0 ? 100 : _ref$max,
223 _ref$categoryCount = _ref.categoryCount,
224 categoryCount = _ref$categoryCount === void 0 ? 0 : _ref$categoryCount;
225 return {
226 groups: groups,
227 data: groups.reduce(function (acc, group, groupIndex) {
228 return [].concat(_toConsumableArray$3(acc), _toConsumableArray$3(range(random(min, max)).map(function () {
229 return randomPrice();
230 }).map(function (price, index) {
231 var datum = {
232 id: "".concat(groupIndex, ".").concat(index),
233 group: group,
234 price: price,
235 volume: randomVolume()
236 };
237 if (categoryCount > 0) {
238 datum.categories = range(categoryCount).map(randomCategory);
239 }
240 return datum;
241 })));
242 }, [])
243 };
244};
245var randomizeSwarmPlotData = function randomizeSwarmPlotData(previousData) {
246 return {
247 groups: previousData.groups,
248 data: previousData.data.map(function (d) {
249 var datum = _objectSpread$1({}, d, {
250 group: shuffle(previousData.groups)[0],
251 price: randomPrice(),
252 volume: randomVolume()
253 });
254 if (d.categories !== undefined) {
255 datum.categories = range(3).map(randomCategory);
256 }
257 return datum;
258 })
259 };
260};
261
262var randColor$1 = randColor;
263var generateProgrammingLanguageStats = function generateProgrammingLanguageStats() {
264 var shouldShuffle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
265 var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
266 var langs = programmingLanguages;
267 if (shouldShuffle) {
268 langs = shuffle(langs);
269 }
270 if (limit < 1) {
271 limit = 1 + Math.round(Math.random() * (programmingLanguages.length - 1));
272 }
273 return langs.slice(0, limit).map(function (language) {
274 return {
275 label: language,
276 value: Math.round(Math.random() * 600),
277 color: randColor$1()
278 };
279 });
280};
281var uniqRand = function uniqRand(generator) {
282 var used = [];
283 return function () {
284 var value;
285 do {
286 value = generator.apply(void 0, arguments);
287 } while (used.includes(value));
288 used.push(value);
289 return value;
290 };
291};
292var randCountryCode = function randCountryCode() {
293 return shuffle(countryCodes)[0];
294};
295var generateDrinkStats = function generateDrinkStats() {
296 var xSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16;
297 var rand = function rand() {
298 return random(0, 60);
299 };
300 var types = ['whisky', 'rhum', 'gin', 'vodka', 'cognac'];
301 var country = uniqRand(randCountryCode);
302 var data = types.map(function (id) {
303 return {
304 id: id,
305 color: randColor$1(),
306 data: []
307 };
308 });
309 range(xSize).forEach(function () {
310 var x = country();
311 types.forEach(function (id) {
312 data.find(function (d) {
313 return d.id === id;
314 }).data.push({
315 color: randColor$1(),
316 x: x,
317 y: rand()
318 });
319 });
320 });
321 return data;
322};
323var generateSerie = function generateSerie() {
324 var xSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
325 var max = 100 + Math.random() * (Math.random() * 600);
326 return range(xSize).map(function () {
327 return Math.round(Math.random() * max);
328 });
329};
330var generateSeries = function generateSeries(ids, xKeys) {
331 return ids.map(function (id) {
332 return {
333 id: id,
334 color: randColor$1(),
335 data: xKeys.map(function (x) {
336 return {
337 x: x,
338 y: Math.round(Math.random() * 300)
339 };
340 })
341 };
342 });
343};
344var generateStackData = function generateStackData() {
345 var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 3;
346 var length = 16;
347 return range(size).map(function () {
348 return generateSerie(length).map(function (v, i) {
349 return {
350 x: i,
351 y: v
352 };
353 });
354 });
355};
356var generateCountriesPopulation = function generateCountriesPopulation(size) {
357 var countryCode = uniqRand(randCountryCode());
358 return range(size).map(function () {
359 return {
360 country: countryCode(),
361 population: 200 + Math.round(Math.random() * Math.random() * 1000000)
362 };
363 });
364};
365var generateDayCounts = function generateDayCounts(from, to) {
366 var maxSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.9;
367 var days = d3Time.timeDays(from, to);
368 var size = Math.round(days.length * (maxSize * 0.4)) + Math.round(Math.random() * (days.length * (maxSize * 0.6)));
369 var dayFormat = d3TimeFormat.timeFormat('%Y-%m-%d');
370 return shuffle(days).slice(0, size).map(function (day) {
371 return {
372 day: dayFormat(day),
373 value: Math.round(Math.random() * 400)
374 };
375 });
376};
377var generateCountriesData = function generateCountriesData(keys) {
378 var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
379 _ref$size = _ref.size,
380 size = _ref$size === void 0 ? 12 : _ref$size,
381 _ref$min = _ref.min,
382 min = _ref$min === void 0 ? 0 : _ref$min,
383 _ref$max = _ref.max,
384 max = _ref$max === void 0 ? 200 : _ref$max,
385 _ref$withColors = _ref.withColors,
386 withColors = _ref$withColors === void 0 ? true : _ref$withColors;
387 return countryCodes.slice(0, size).map(function (country) {
388 var d = {
389 country: country
390 };
391 keys.forEach(function (key) {
392 d[key] = random(min, max);
393 if (withColors === true) {
394 d["".concat(key, "Color")] = randColor$1();
395 }
396 });
397 return d;
398 });
399};
400var libTreeItems = [['viz', [['stack', [['chart'], ['xAxis'], ['yAxis'], ['layers']]], ['pie', [['chart', [['pie', [['outline'], ['slices'], ['bbox']]], ['donut'], ['gauge']]], ['legends']]]]], ['colors', [['rgb'], ['hsl']]], ['utils', [['randomize'], ['resetClock'], ['noop'], ['tick'], ['forceGC'], ['stackTrace'], ['dbg']]], ['generators', [['address'], ['city'], ['animal'], ['movie'], ['user']]], ['set', [['clone'], ['intersect'], ['merge'], ['reverse'], ['toArray'], ['toObject'], ['fromCSV'], ['slice'], ['append'], ['prepend'], ['shuffle'], ['pick'], ['plouc']]], ['text', [['trim'], ['slugify'], ['snakeCase'], ['camelCase'], ['repeat'], ['padLeft'], ['padRight'], ['sanitize'], ['ploucify']]], ['misc', [['whatever', [['hey'], ['WTF'], ['lol'], ['IMHO']]], ['other'], ['crap', [['crapA'], ['crapB', [['crapB1'], ['crapB2'], ['crapB3'], ['crapB4']]], ['crapC', [['crapC1'], ['crapC2'], ['crapC3'], ['crapC4'], ['crapC5'], ['crapC6'], ['crapC7'], ['crapC8'], ['crapC9']]]]]]]];
401var generateLibTree = function generateLibTree() {
402 var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'nivo';
403 var limit = arguments.length > 1 ? arguments[1] : undefined;
404 var children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : libTreeItems;
405 limit = limit || children.length;
406 if (limit > children.length) {
407 limit = children.length;
408 }
409 var tree = {
410 name: name,
411 color: randColor$1()
412 };
413 if (children && children.length > 0) {
414 tree.children = range(limit).map(function (o, i) {
415 var leaf = children[i];
416 return generateLibTree(leaf[0], null, leaf[1] || []);
417 });
418 } else {
419 tree.loc = Math.round(Math.random() * 200000);
420 }
421 return tree;
422};
423var wines = ['chardonay', 'carmenere', 'syrah'];
424var wineTastes = ['fruity', 'bitter', 'heavy', 'strong', 'sunny'];
425var generateWinesTastes = function generateWinesTastes() {
426 var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
427 _ref2$randMin = _ref2.randMin,
428 randMin = _ref2$randMin === void 0 ? 20 : _ref2$randMin,
429 _ref2$randMax = _ref2.randMax,
430 randMax = _ref2$randMax === void 0 ? 120 : _ref2$randMax;
431 var data = wineTastes.map(function (taste) {
432 var d = {
433 taste: taste
434 };
435 wines.forEach(function (wine) {
436 d[wine] = random(randMin, randMax);
437 });
438 return d;
439 });
440 return {
441 data: data,
442 keys: wines
443 };
444};
445
446exports.generateBulletData = generateBulletData;
447exports.generateChordData = generateChordData;
448exports.generateCountriesData = generateCountriesData;
449exports.generateCountriesPopulation = generateCountriesPopulation;
450exports.generateDayCounts = generateDayCounts;
451exports.generateDrinkStats = generateDrinkStats;
452exports.generateLibTree = generateLibTree;
453exports.generateParallelCoordinatesData = generateParallelCoordinatesData;
454exports.generateProgrammingLanguageStats = generateProgrammingLanguageStats;
455exports.generateSankeyData = generateSankeyData;
456exports.generateSerie = generateSerie;
457exports.generateSeries = generateSeries;
458exports.generateStackData = generateStackData;
459exports.generateSwarmPlotData = generateSwarmPlotData;
460exports.generateWinesTastes = generateWinesTastes;
461exports.randColor = randColor$1;
462exports.randCountryCode = randCountryCode;
463exports.randomizeSwarmPlotData = randomizeSwarmPlotData;
464exports.sets = index;
465exports.uniqRand = uniqRand;