Skip to content

Commit 5f8ea88

Browse files
committed
Preserve blanks and uses
Return `{ use: "Term" }` and `{ blank: "Blank", value: "Value" }`, rather than convert those content elements to strings. This will allow downstream renderers to style term uses and blanks.
1 parent f9ef0b2 commit 5f8ea88

File tree

2 files changed

+7
-20
lines changed

2 files changed

+7
-20
lines changed

README.md

+4-17
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ assert.deepEqual(
1414
{ content: [ 'A' ] })
1515
```
1616

17-
Converts term uses to strings:
17+
Passes term uses through:
1818

1919
```javascript
2020
assert.deepEqual(
2121
resolve(
2222
{ content: [ { use: 'A' } ] },
2323
{ }),
24-
{ content: [ 'A' ] })
24+
{ content: [ { use: 'A' } ] })
2525
```
2626

2727
Passes definitions through:
@@ -34,14 +34,14 @@ assert.deepEqual(
3434
{ content: [ { definition: 'A' } ] })
3535
```
3636

37-
Replaces blanks with provided values, or a blank when none are provided:
37+
Provides blank values:
3838

3939
```javascript
4040
assert.deepEqual(
4141
resolve(
4242
{ content: [ { blank: 'A' } ] },
4343
{ A: '1' }),
44-
{ content: [ '1' ] })
44+
{ content: [ { blank: 'A', value: '1' } ] })
4545

4646
assert.deepEqual(
4747
resolve(
@@ -102,19 +102,6 @@ assert.deepEqual(
102102

103103
```
104104

105-
Concatenates strings and contiguous objects that are resolved to strings:
106-
107-
```javascript
108-
assert.deepEqual(
109-
resolve({ content: [ 'A', { use: 'B' } ] }, { }).content,
110-
[ 'AB' ])
111-
112-
assert.deepEqual(
113-
resolve({ content: [ { use: 'A' }, 'B' ] }, { }).content,
114-
[ 'AB' ])
115-
116-
```
117-
118105
Preserves conspicuous formatting flags:
119106

120107
```javascript

element.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module.exports = function(element, values, numbering, headings) {
77
if (predicate.text(element)) {
88
return element }
99
else if (predicate.use(element)) {
10-
return element.use }
10+
return element }
1111
else if (predicate.child(element)) {
1212
element.numbering = numbering.numbering
1313
element.form = resolve(
@@ -44,9 +44,9 @@ module.exports = function(element, values, numbering, headings) {
4444
var value = element.blank
4545
// Filled
4646
if (values.hasOwnProperty(value)) {
47-
return values[value] }
47+
return { blank: value, value: values[value] } }
4848
// Empty
4949
else {
50-
return {blank: value} } }
50+
return { blank: value } } }
5151
else {
5252
throw new Error('Invalid content: ' + JSON.stringify(element)) } }

0 commit comments

Comments
 (0)