forked from pattern-lab/patternlab-node
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuildListItems.js
More file actions
53 lines (49 loc) · 1.07 KB
/
buildListItems.js
File metadata and controls
53 lines (49 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
'use strict';
let _ = require('lodash'); //eslint-disable-line prefer-const
const items = [
'zero',
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
'ten',
'eleven',
'twelve',
'thirteen',
'fourteen',
'fifteen',
'sixteen',
'seventeen',
'eighteen',
'nineteen',
'twenty',
];
module.exports = function (container) {
//combine all list items into one structure
const list = [];
for (const item in container.listitems) {
if (container.listitems.hasOwnProperty(item)) {
list.push(container.listitems[item]);
}
}
const listItemArray = _.shuffle(list);
for (let i = 1; i <= listItemArray.length; i++) {
const tempItems = [];
if (i === 1) {
tempItems.push(listItemArray[0]);
container.listitems['listItems-' + items[i]] = tempItems;
delete container.listitems[i];
} else {
for (let c = 1; c <= i; c++) {
tempItems.push(listItemArray[c - 1]);
container.listitems['listItems-' + items[i]] = tempItems;
delete container.listitems[i];
}
}
}
};