4.0.0 • Published 2 years ago
commonform-resolve v4.0.0
commonform-resolve
resolve definitions, uses, references, fields, and blanks
var resolve = require('commonform-resolve')
Passes strings through:
var assert = require('assert')
assert.deepStrictEqual(
resolve(
{ content: [ 'A' ] },
{}
),
{ content: [ 'A' ] }
)
Passes term uses through:
assert.deepStrictEqual(
resolve(
{ content: [ { use: 'A' } ] },
{}
),
{ content: [ { use: 'A' } ] }
)
Passes definitions through:
assert.deepStrictEqual(
resolve(
{ content: [ { definition: 'A' } ] },
{}
),
{ content: [ { definition: 'A' } ] }
)
Provides blank values:
assert.deepStrictEqual(
resolve(
{ content: [ { blank: 'A' } ] },
[ { blank: [ 'content', 0 ], value: '1' } ]
),
{ content: [ { blank: '1' } ] }
)
assert.deepStrictEqual(
resolve(
{ content: [ { blank: '' } ] },
[]
),
{ content: [ { blank: undefined } ] }
)
Replaces references with the numberings of target forms:
assert.deepStrictEqual(
resolve(
{
content: [
{
heading: 'A',
form: { content: [ 'A' ] }
},
{ reference: 'A' }
]
},
{}
)
.content[1],
{
heading: 'A',
numbering: [
{
series: { number: 1, of: 1 },
element: { number: 1, of: 1 }
}
]
}
)
Indicates broken references:
assert.deepStrictEqual(
resolve(
{ content: [ { reference: 'A' } ] },
{}
),
{ content: [ { heading: 'A', broken: true } ] }
)
Flags ambiguous references with the numberings of all potential target forms:
assert.deepStrictEqual(
resolve(
{
content: [
{
heading: 'A',
form: { content: [ 'A' ] }
},
{
heading: 'A',
form: { content: [ 'A' ] }
},
{ reference: 'A' }
]
},
{}
)
.content[2],
{
heading: 'A',
ambiguous: true,
numberings: [
[
{
series: { number: 1, of: 1 },
element: { number: 1, of: 2 }
}
],
[
{
series: { number: 1, of: 1 },
element: { number: 2, of: 2 }
}
]
]
}
)
Preserves conspicuous formatting flags:
assert.deepStrictEqual(
resolve(
{
content: [
{
heading: 'First',
form: {
content: [ 'test' ],
conspicuous: 'true'
}
}
]
},
{}
)
.content,
[
{
heading: 'First',
form: {
content: [ 'test' ],
conspicuous: 'true'
},
numbering: [
{
series: { number: 1, of: 1 },
element: { number: 1, of: 1 }
}
]
}
]
)
Attaches numberings to form objects:
assert.deepStrictEqual(
resolve(
{ content: [ { form: { content: [ 'test' ] } } ] },
{}
)
.content,
[
{
numbering: [
{
series: { number: 1, of: 1 },
element: { number: 1, of: 1 }
}
],
form: { content: [ 'test' ] }
}
]
)
Attaches numberings to component objects:
assert.deepStrictEqual(
resolve(
{
content: [
{
component: 'https://example.com/component',
version: '1.0.0',
substitutions: { terms: {}, headings: {} }
}
]
},
{}
)
.content,
[
{
component: 'https://example.com/component',
version: '1.0.0',
substitutions: { terms: {}, headings: {} },
numbering: [
{
series: { number: 1, of: 1 },
element: { number: 1, of: 1 }
}
]
}
]
)
4.0.0
2 years ago
3.0.0
3 years ago
2.1.0
5 years ago
2.0.1
6 years ago
2.0.0
6 years ago
1.0.0
9 years ago
0.8.0
10 years ago
0.7.0
10 years ago
0.6.2
10 years ago
0.6.1
10 years ago
0.6.0
10 years ago
0.5.0
10 years ago
0.4.0
10 years ago
0.3.0
10 years ago
0.2.1
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago