@@ -78,6 +78,62 @@ var pattern_assembler = function () {
7878 }
7979 }
8080
81+ function buildListItems ( container ) {
82+ //combine all list items into one structure
83+ var list = [ ] ;
84+ for ( var item in container . listitems ) {
85+ if ( container . listitems . hasOwnProperty ( item ) ) {
86+ list . push ( container . listitems [ item ] ) ;
87+ }
88+ }
89+ container . listItemArray = shuffle ( list ) ;
90+
91+ for ( var i = 1 ; i <= container . listItemArray . length ; i ++ ) {
92+ var tempItems = [ ] ;
93+ if ( i === 1 ) {
94+ tempItems . push ( container . listItemArray [ 0 ] ) ;
95+ container . listitems [ '' + i ] = tempItems ;
96+ } else {
97+ for ( var c = 1 ; c <= i ; c ++ ) {
98+ tempItems . push ( container . listItemArray [ c - 1 ] ) ;
99+ container . listitems [ '' + i ] = tempItems ;
100+ }
101+ }
102+ }
103+ }
104+
105+ function getpatternbykey ( key , patternlab ) {
106+ var i ; // for the for loops
107+
108+ //look for exact key matches
109+ for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
110+ if ( patternlab . patterns [ i ] . key === key ) {
111+ return patternlab . patterns [ i ] ;
112+ }
113+ }
114+
115+ //else look by verbose syntax
116+ for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
117+ switch ( key ) {
118+ case patternlab . patterns [ i ] . subdir + '/' + patternlab . patterns [ i ] . fileName :
119+ case patternlab . patterns [ i ] . subdir + '/' + patternlab . patterns [ i ] . fileName + '.mustache' :
120+ return patternlab . patterns [ i ] ;
121+ }
122+ }
123+
124+ //return the fuzzy match if all else fails
125+ for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
126+ var keyParts = key . split ( '-' ) ,
127+ keyType = keyParts [ 0 ] ,
128+ keyName = keyParts . slice ( 1 ) . join ( '-' ) ;
129+
130+ if ( patternlab . patterns [ i ] . key . split ( '-' ) [ 0 ] === keyType && patternlab . patterns [ i ] . key . indexOf ( keyName ) > - 1 ) {
131+ return patternlab . patterns [ i ] ;
132+ }
133+ }
134+ throw 'Could not find pattern with key ' + key ;
135+ }
136+
81137 function processPatternIterative ( file , patternlab ) {
82138 var fs = require ( 'fs-extra' ) ,
83139 of = require ( './object_factory' ) ,
@@ -240,38 +296,6 @@ var pattern_assembler = function () {
240296 pseudopattern_hunter . find_pseudopatterns ( currentPattern , patternlab ) ;
241297 }
242298
243- function getpatternbykey ( key , patternlab ) {
244- var i ; // for the for loops
245-
246- //look for exact key matches
247- for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
248- if ( patternlab . patterns [ i ] . key === key ) {
249- return patternlab . patterns [ i ] ;
250- }
251- }
252-
253- //else look by verbose syntax
254- for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
255- switch ( key ) {
256- case patternlab . patterns [ i ] . subdir + '/' + patternlab . patterns [ i ] . fileName :
257- case patternlab . patterns [ i ] . subdir + '/' + patternlab . patterns [ i ] . fileName + '.mustache' :
258- return patternlab . patterns [ i ] ;
259- }
260- }
261-
262- //return the fuzzy match if all else fails
263- for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
264- var keyParts = key . split ( '-' ) ,
265- keyType = keyParts [ 0 ] ,
266- keyName = keyParts . slice ( 1 ) . join ( '-' ) ;
267-
268- if ( patternlab . patterns [ i ] . key . split ( '-' ) [ 0 ] === keyType && patternlab . patterns [ i ] . key . indexOf ( keyName ) > - 1 ) {
269- return patternlab . patterns [ i ] ;
270- }
271- }
272- throw 'Could not find pattern with key ' + key ;
273- }
274-
275299 function mergeData ( obj1 , obj2 ) {
276300 /*eslint-disable guard-for-in, no-param-reassign*/
277301 if ( typeof obj2 === 'undefined' ) {
@@ -302,30 +326,6 @@ var pattern_assembler = function () {
302326 return obj2 ;
303327 }
304328
305- function buildListItems ( container ) {
306- //combine all list items into one structure
307- var list = [ ] ;
308- for ( var item in container . listitems ) {
309- if ( container . listitems . hasOwnProperty ( item ) ) {
310- list . push ( container . listitems [ item ] ) ;
311- }
312- }
313- container . listItemArray = shuffle ( list ) ;
314-
315- for ( var i = 1 ; i <= container . listItemArray . length ; i ++ ) {
316- var tempItems = [ ] ;
317- if ( i === 1 ) {
318- tempItems . push ( container . listItemArray [ 0 ] ) ;
319- container . listitems [ '' + i ] = tempItems ;
320- } else {
321- for ( var c = 1 ; c <= i ; c ++ ) {
322- tempItems . push ( container . listItemArray [ c - 1 ] ) ;
323- container . listitems [ '' + i ] = tempItems ;
324- }
325- }
326- }
327- }
328-
329329 //http://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array-in-javascript
330330 function shuffle ( o ) {
331331 /*eslint-disable curly*/
0 commit comments