commonform-resolve
Advanced tools
Comparing version 0.2.1 to 0.3.0
{ | ||
"name": "commonform-resolve", | ||
"description": "resolve Common Form content objects", | ||
"version": "0.2.1", | ||
"version": "0.3.0", | ||
"author": { | ||
@@ -11,4 +11,4 @@ "name": "Kyle E. Mitchell", | ||
"dependencies": { | ||
"commonform-group-series": "0.2.x", | ||
"commonform-predicate": "^0.1.0", | ||
"commonform-group-series": "^0.3.1", | ||
"commonform-predicate": "^0.3.0", | ||
"immutable": "^3.6.2" | ||
@@ -19,3 +19,3 @@ }, | ||
"check-versions": "0.0.1", | ||
"commonform-number": "^0.2.1", | ||
"commonform-number": "^0.3.0", | ||
"istanbul": "^0.3.5", | ||
@@ -22,0 +22,0 @@ "jscs": "^1.8.1", |
@@ -5,3 +5,3 @@ var Immutable = require('immutable'); | ||
module.exports = function(element, values, numbering, summaries) { | ||
module.exports = function(element, values, numbering, headings) { | ||
resolve = resolve || require('./form'); | ||
@@ -12,12 +12,12 @@ if (predicate.text(element)) { | ||
return element.get('use'); | ||
} else if (predicate.subForm(element)) { | ||
} else if (predicate.inclusion(element)) { | ||
return element.withMutations(function(element) { | ||
element.set('numbering', numbering.get('numbering')); | ||
element.set( | ||
'form', | ||
'inclusion', | ||
resolve( | ||
element.get('form'), | ||
element.get('inclusion'), | ||
values, | ||
numbering.get('form', null), | ||
summaries | ||
numbering.get('inclusion', null), | ||
headings | ||
) | ||
@@ -29,6 +29,6 @@ ); | ||
} else if (predicate.reference(element)) { | ||
var summary = element.get('reference'); | ||
var heading = element.get('reference'); | ||
// Resolvable | ||
if (summaries.has(summary)) { | ||
var matches = summaries.get(summary); | ||
if (headings.has(heading)) { | ||
var matches = headings.get(heading); | ||
// Unambiguous | ||
@@ -44,3 +44,3 @@ if (matches.count() === 1) { | ||
numberings: matches, | ||
reference: summary | ||
reference: heading | ||
}); | ||
@@ -52,9 +52,9 @@ } | ||
} | ||
} else if (predicate.field(element)) { | ||
var field = element.get('field'); | ||
if (values.has(field)) { | ||
return values.get(field); | ||
} else if (predicate.insertion(element)) { | ||
var value = element.get('insertion'); | ||
if (values.has(value)) { | ||
return values.get(value); | ||
} else { | ||
return Immutable.Map({ | ||
blank: field | ||
blank: value | ||
}); | ||
@@ -61,0 +61,0 @@ } |
@@ -6,3 +6,3 @@ var Immutable = require('immutable'); | ||
module.exports = function(form, values, numbering, summaries) { | ||
module.exports = function(form, values, numbering, headings) { | ||
var out = form.update('content', function(content) { | ||
@@ -16,3 +16,3 @@ return content | ||
numbering ? numbering.getIn(['content', index], null) : null, | ||
summaries | ||
headings | ||
); | ||
@@ -19,0 +19,0 @@ }) |
@@ -8,6 +8,6 @@ var resolveForm = require('./form'); | ||
numberings.get('form'), | ||
numberings.get('summaries') | ||
numberings.get('headings') | ||
); | ||
}; | ||
module.exports.version = '0.2.1'; | ||
module.exports.version = '0.3.0'; |
@@ -21,3 +21,3 @@ var Immutable = require('immutable'); | ||
// Generate path-to-numbering and summary-to-numbering mappings. | ||
// Generate path-to-numbering and heading-to-numbering mappings. | ||
return groups.reduce(function(results, group) { | ||
@@ -30,3 +30,3 @@ if (group.get('type') !== 'series') { | ||
var content = group.get('content'); | ||
return content.reduce(function(results, subForm, subFormIndex) { | ||
return content.reduce(function(results, inclusion, inclusionIndex) { | ||
var elementKeyArray = keyArray.push('content', elementIndex++); | ||
@@ -39,3 +39,3 @@ var elementNumbering = numbering.push(map({ | ||
element: map({ | ||
number: subFormIndex + 1, | ||
number: inclusionIndex + 1, | ||
of: content.count() | ||
@@ -46,14 +46,14 @@ }) | ||
return numberings( | ||
subForm.get('form'), | ||
inclusion.get('form'), | ||
results.withMutations(function(results) { | ||
// Store numbering in the form tree. | ||
results.setIn(elementKeyArray, elementNumbering); | ||
// If the sub-form has a summary, store its numbering in | ||
// relation to that summary, too. | ||
if (subForm.has('summary')) { | ||
var summary = subForm.get('summary'); | ||
var summaryKeyArray = ['summaries', summary]; | ||
results.updateIn(summaryKeyArray, function(numberings) { | ||
// If the sub-form has a heading, store its numbering in | ||
// relation to that heading, too. | ||
if (inclusion.has('heading')) { | ||
var heading = inclusion.get('heading'); | ||
var headingKeyArray = ['headings', heading]; | ||
results.updateIn(headingKeyArray, function(numberings) { | ||
// The value may be a list, to reflect multiple uses of | ||
// a single summary. | ||
// a single heading. | ||
return numberings ? | ||
@@ -75,3 +75,3 @@ numberings.push(elementNumbering) : | ||
form: map(), | ||
summaries: map() | ||
headings: map() | ||
}); | ||
@@ -78,0 +78,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
6658
0
+ Addedcommonform-group-series@0.3.1(transitive)
+ Addedcommonform-predicate@0.3.0(transitive)
- Removedcommonform-group-series@0.2.0(transitive)
- Removedcommonform-predicate@0.1.0(transitive)
Updatedcommonform-predicate@^0.3.0