Skip to content
This repository was archived by the owner on Dec 10, 2019. It is now read-only.

Commit 875f26e

Browse files
committed
code cleanups and linter appeasement
1 parent 8eee29a commit 875f26e

11 files changed

+1025
-1005
lines changed

core/lib/object_factory.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
var patternEngines = require('./pattern_engines/pattern_engines');
1414
var path = require('path');
15-
var fs = require('fs-extra');
1615
var extend = require('util')._extend;
1716

1817
// oPattern properties
@@ -25,7 +24,7 @@ var oPattern = function (abspath, subdir, filename, data) {
2524
this.name = subdir.replace(/[\/\\]/g, '-') + '-' + this.fileName; //this is the unique name with the subDir
2625
this.jsonFileData = data || {};
2726
this.patternName = this.fileName.replace(/^\d*\-/, '');
28-
this.patternDisplayName = this.patternName.split('-').reduce(function(val, working){
27+
this.patternDisplayName = this.patternName.split('-').reduce(function (val, working) {
2928
return val.charAt(0).toUpperCase() + val.slice(1) + ' ' + working.charAt(0).toUpperCase() + working.slice(1);
3029
}, '').trim(); //this is the display name for the ui. strip numeric + hyphen prefixes
3130
this.patternLink = this.name + '/' + this.name + '.html';

core/lib/parameter_hunter.js

Lines changed: 179 additions & 179 deletions
Original file line numberDiff line numberDiff line change
@@ -1,190 +1,190 @@
1-
/*
2-
* patternlab-node - v1.1.3 - 2016
3-
*
1+
/*
2+
* patternlab-node - v1.1.3 - 2016
3+
*
44
* Brian Muenzenmeyer, and the web community.
5-
* Licensed under the MIT license.
6-
*
7-
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
5+
* Licensed under the MIT license.
6+
*
7+
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
88
*
99
*/
1010

11-
"use strict";
11+
"use strict";
1212

13-
var parameter_hunter = function(){
13+
var parameter_hunter = function () {
1414

15-
var extend = require('util')._extend,
16-
pa = require('./pattern_assembler'),
17-
smh = require('./style_modifier_hunter'),
18-
plutils = require('./utilities'),
19-
style_modifier_hunter = new smh(),
20-
pattern_assembler = new pa();
15+
var extend = require('util')._extend,
16+
pa = require('./pattern_assembler'),
17+
smh = require('./style_modifier_hunter'),
18+
plutils = require('./utilities'),
19+
style_modifier_hunter = new smh(),
20+
pattern_assembler = new pa();
2121

2222
function paramToJson(pString) {
23-
var paramStringWellFormed = '';
24-
var paramStringTmp;
25-
var colonPos;
26-
var delimitPos;
27-
var quotePos;
23+
var paramStringWellFormed = '';
24+
var paramStringTmp;
25+
var colonPos;
26+
var delimitPos;
27+
var quotePos;
2828
var paramString = pString;
2929

30-
do {
31-
32-
//if param key is wrapped in single quotes, replace with double quotes.
33-
paramString = paramString.replace(/(^\s*[\{|\,]\s*)'([^']+)'(\s*\:)/, '$1"$2"$3');
34-
35-
//if params key is not wrapped in any quotes, wrap in double quotes.
36-
paramString = paramString.replace(/(^\s*[\{|\,]\s*)([^\s"'\:]+)(\s*\:)/, '$1"$2"$3');
37-
38-
//move param key to paramStringWellFormed var.
39-
colonPos = paramString.indexOf(':');
40-
41-
//except to prevent infinite loops.
42-
if (colonPos === -1) {
43-
colonPos = paramString.length - 1;
44-
}
45-
else {
46-
colonPos += 1;
47-
}
48-
paramStringWellFormed += paramString.substring(0, colonPos);
49-
paramString = paramString.substring(colonPos, paramString.length).trim();
50-
51-
//if param value is wrapped in single quotes, replace with double quotes.
52-
if (paramString[0] === '\'') {
53-
quotePos = paramString.search(/[^\\]'/);
54-
55-
//except for unclosed quotes to prevent infinite loops.
56-
if (quotePos === -1) {
57-
quotePos = paramString.length - 1;
58-
}
59-
else {
60-
quotePos += 2;
61-
}
62-
63-
//prepare param value for move to paramStringWellFormed var.
64-
paramStringTmp = paramString.substring(0, quotePos);
65-
66-
//unescape any escaped single quotes.
67-
paramStringTmp = paramStringTmp.replace(/\\'/g, '\'');
68-
69-
//escape any double quotes.
70-
paramStringTmp = paramStringTmp.replace(/"/g, '\\"');
71-
72-
//replace the delimiting single quotes with double quotes.
73-
paramStringTmp = paramStringTmp.replace(/^'/, '"');
74-
paramStringTmp = paramStringTmp.replace(/'$/, '"');
75-
76-
//move param key to paramStringWellFormed var.
77-
paramStringWellFormed += paramStringTmp;
78-
paramString = paramString.substring(quotePos, paramString.length).trim();
79-
}
80-
81-
//if param value is wrapped in double quotes, just move to paramStringWellFormed var.
82-
else if (paramString[0] === '"') {
83-
quotePos = paramString.search(/[^\\]"/);
84-
85-
//except for unclosed quotes to prevent infinite loops.
86-
if (quotePos === -1) {
87-
quotePos = paramString.length - 1;
88-
}
89-
else {
90-
quotePos += 2;
91-
}
92-
93-
//move param key to paramStringWellFormed var.
94-
paramStringWellFormed += paramString.substring(0, quotePos);
95-
paramString = paramString.substring(quotePos, paramString.length).trim();
96-
}
97-
98-
//if param value is not wrapped in quotes, move everthing up to the delimiting comma to paramStringWellFormed var.
99-
else {
100-
delimitPos = paramString.indexOf(',');
101-
102-
//except to prevent infinite loops.
103-
if (delimitPos === -1) {
104-
delimitPos = paramString.length - 1;
105-
}
106-
else {
107-
delimitPos += 1;
108-
}
109-
paramStringWellFormed += paramString.substring(0, delimitPos);
110-
paramString = paramString.substring(delimitPos, paramString.length).trim();
111-
}
112-
113-
//break at the end.
114-
if (paramString.length === 1) {
115-
paramStringWellFormed += paramString.trim();
116-
paramString = '';
117-
break;
118-
}
119-
120-
} while(paramString);
121-
122-
return paramStringWellFormed;
123-
}
124-
125-
function findparameters(pattern, patternlab){
126-
127-
if(pattern.parameteredPartials && pattern.parameteredPartials.length > 0){
128-
129-
//compile this partial immeadiately, essentially consuming it.
30+
do {
31+
32+
//if param key is wrapped in single quotes, replace with double quotes.
33+
paramString = paramString.replace(/(^\s*[\{|\,]\s*)'([^']+)'(\s*\:)/, '$1"$2"$3');
34+
35+
//if params key is not wrapped in any quotes, wrap in double quotes.
36+
paramString = paramString.replace(/(^\s*[\{|\,]\s*)([^\s"'\:]+)(\s*\:)/, '$1"$2"$3');
37+
38+
//move param key to paramStringWellFormed var.
39+
colonPos = paramString.indexOf(':');
40+
41+
//except to prevent infinite loops.
42+
if (colonPos === -1) {
43+
colonPos = paramString.length - 1;
44+
}
45+
else {
46+
colonPos += 1;
47+
}
48+
paramStringWellFormed += paramString.substring(0, colonPos);
49+
paramString = paramString.substring(colonPos, paramString.length).trim();
50+
51+
//if param value is wrapped in single quotes, replace with double quotes.
52+
if (paramString[0] === '\'') {
53+
quotePos = paramString.search(/[^\\]'/);
54+
55+
//except for unclosed quotes to prevent infinite loops.
56+
if (quotePos === -1) {
57+
quotePos = paramString.length - 1;
58+
}
59+
else {
60+
quotePos += 2;
61+
}
62+
63+
//prepare param value for move to paramStringWellFormed var.
64+
paramStringTmp = paramString.substring(0, quotePos);
65+
66+
//unescape any escaped single quotes.
67+
paramStringTmp = paramStringTmp.replace(/\\'/g, '\'');
68+
69+
//escape any double quotes.
70+
paramStringTmp = paramStringTmp.replace(/"/g, '\\"');
71+
72+
//replace the delimiting single quotes with double quotes.
73+
paramStringTmp = paramStringTmp.replace(/^'/, '"');
74+
paramStringTmp = paramStringTmp.replace(/'$/, '"');
75+
76+
//move param key to paramStringWellFormed var.
77+
paramStringWellFormed += paramStringTmp;
78+
paramString = paramString.substring(quotePos, paramString.length).trim();
79+
}
80+
81+
//if param value is wrapped in double quotes, just move to paramStringWellFormed var.
82+
else if (paramString[0] === '"') {
83+
quotePos = paramString.search(/[^\\]"/);
84+
85+
//except for unclosed quotes to prevent infinite loops.
86+
if (quotePos === -1) {
87+
quotePos = paramString.length - 1;
88+
}
89+
else {
90+
quotePos += 2;
91+
}
92+
93+
//move param key to paramStringWellFormed var.
94+
paramStringWellFormed += paramString.substring(0, quotePos);
95+
paramString = paramString.substring(quotePos, paramString.length).trim();
96+
}
97+
98+
//if param value is not wrapped in quotes, move everthing up to the delimiting comma to paramStringWellFormed var.
99+
else {
100+
delimitPos = paramString.indexOf(',');
101+
102+
//except to prevent infinite loops.
103+
if (delimitPos === -1) {
104+
delimitPos = paramString.length - 1;
105+
}
106+
else {
107+
delimitPos += 1;
108+
}
109+
paramStringWellFormed += paramString.substring(0, delimitPos);
110+
paramString = paramString.substring(delimitPos, paramString.length).trim();
111+
}
112+
113+
//break at the end.
114+
if (paramString.length === 1) {
115+
paramStringWellFormed += paramString.trim();
116+
paramString = '';
117+
break;
118+
}
119+
120+
} while (paramString);
121+
122+
return paramStringWellFormed;
123+
}
124+
125+
function findparameters(pattern, patternlab) {
126+
127+
if (pattern.parameteredPartials && pattern.parameteredPartials.length > 0) {
128+
129+
//compile this partial immeadiately, essentially consuming it.
130130
pattern.parameteredPartials.forEach(function (pMatch) {
131-
//find the partial's name and retrieve it
132-
var partialName = pMatch.match(/([\w\-\.\/~]+)/g)[0];
133-
var partialPattern = pattern_assembler.get_pattern_by_key(partialName, patternlab);
134-
135-
//if we retrieved a pattern we should make sure that its extendedTemplate is reset. looks to fix #190
136-
partialPattern.extendedTemplate = partialPattern.template;
137-
138-
if(patternlab.config.debug){
139-
console.log('found patternParameters for ' + partialName);
140-
}
141-
142-
//strip out the additional data, convert string to JSON.
143-
var leftParen = pMatch.indexOf('(');
144-
var rightParen = pMatch.indexOf(')');
145-
var paramString = '{' + pMatch.substring(leftParen + 1, rightParen) + '}';
146-
var paramStringWellFormed = paramToJson(paramString);
147-
148-
var paramData = {};
149-
var globalData = {};
150-
var localData = {};
151-
152-
try {
153-
paramData = JSON.parse(paramStringWellFormed);
154-
globalData = JSON.parse(JSON.stringify(patternlab.data));
155-
localData = JSON.parse(JSON.stringify(pattern.jsonFileData || {}));
156-
} catch(e){
157-
console.log(e);
158-
}
159-
160-
var allData = plutils.mergeData(globalData, localData);
161-
allData = plutils.mergeData(allData, paramData);
162-
163-
//if partial has style modifier data, replace the styleModifier value
164-
if(pattern.stylePartials && pattern.stylePartials.length > 0){
165-
style_modifier_hunter.consume_style_modifier(partialPattern, pMatch, patternlab);
166-
}
167-
168-
//extend pattern data links into link for pattern link shortcuts to work. we do this locally and globally
169-
allData.link = extend({}, patternlab.data.link);
170-
171-
var renderedPartial = pattern_assembler.renderPattern(partialPattern.extendedTemplate, allData, patternlab.partials);
172-
173-
//remove the parameter from the partial and replace it with the rendered partial + paramData
174-
pattern.extendedTemplate = pattern.extendedTemplate.replace(pMatch, renderedPartial);
175-
176-
//update the extendedTemplate in the partials object in case this pattern is consumed later
177-
patternlab.partials[pattern.key] = pattern.extendedTemplate;
178-
});
179-
}
180-
}
181-
182-
return {
183-
find_parameters: function(pattern, patternlab){
184-
findparameters(pattern, patternlab);
185-
}
186-
};
187-
188-
};
189-
190-
module.exports = parameter_hunter;
131+
//find the partial's name and retrieve it
132+
var partialName = pMatch.match(/([\w\-\.\/~]+)/g)[0];
133+
var partialPattern = pattern_assembler.get_pattern_by_key(partialName, patternlab);
134+
135+
//if we retrieved a pattern we should make sure that its extendedTemplate is reset. looks to fix #190
136+
partialPattern.extendedTemplate = partialPattern.template;
137+
138+
if (patternlab.config.debug) {
139+
console.log('found patternParameters for ' + partialName);
140+
}
141+
142+
//strip out the additional data, convert string to JSON.
143+
var leftParen = pMatch.indexOf('(');
144+
var rightParen = pMatch.indexOf(')');
145+
var paramString = '{' + pMatch.substring(leftParen + 1, rightParen) + '}';
146+
var paramStringWellFormed = paramToJson(paramString);
147+
148+
var paramData = {};
149+
var globalData = {};
150+
var localData = {};
151+
152+
try {
153+
paramData = JSON.parse(paramStringWellFormed);
154+
globalData = JSON.parse(JSON.stringify(patternlab.data));
155+
localData = JSON.parse(JSON.stringify(pattern.jsonFileData || {}));
156+
} catch (e) {
157+
console.log(e);
158+
}
159+
160+
var allData = plutils.mergeData(globalData, localData);
161+
allData = plutils.mergeData(allData, paramData);
162+
163+
//if partial has style modifier data, replace the styleModifier value
164+
if (pattern.stylePartials && pattern.stylePartials.length > 0) {
165+
style_modifier_hunter.consume_style_modifier(partialPattern, pMatch, patternlab);
166+
}
167+
168+
//extend pattern data links into link for pattern link shortcuts to work. we do this locally and globally
169+
allData.link = extend({}, patternlab.data.link);
170+
171+
var renderedPartial = pattern_assembler.renderPattern(partialPattern.extendedTemplate, allData, patternlab.partials);
172+
173+
//remove the parameter from the partial and replace it with the rendered partial + paramData
174+
pattern.extendedTemplate = pattern.extendedTemplate.replace(pMatch, renderedPartial);
175+
176+
//update the extendedTemplate in the partials object in case this pattern is consumed later
177+
patternlab.partials[pattern.key] = pattern.extendedTemplate;
178+
});
179+
}
180+
}
181+
182+
return {
183+
find_parameters: function (pattern, patternlab) {
184+
findparameters(pattern, patternlab);
185+
}
186+
};
187+
188+
};
189+
190+
module.exports = parameter_hunter;

0 commit comments

Comments
 (0)