New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

commonform-resolve

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

commonform-resolve - npm Package Compare versions

Comparing version 0.8.0 to 1.0.0

test.log

55

element.js

@@ -5,10 +5,10 @@ var predicate = require('commonform-predicate')

module.exports = function(element, path, values, numbering, headings) {
module.exports = function (element, path, values, numbering, headings) {
resolve = resolve || require('./form')
if (predicate.text(element)) {
return element }
else if (predicate.use(element)) {
return element }
else if (predicate.child(element)) {
return element
} else if (predicate.use(element)) {
return element
} else if (predicate.child(element)) {
element.numbering = numbering.numbering

@@ -20,7 +20,8 @@ element.form = resolve(

numbering.form || null,
headings)
return element }
else if (predicate.definition(element)) {
return element }
else if (predicate.reference(element)) {
headings
)
return element
} else if (predicate.definition(element)) {
return element
} else if (predicate.reference(element)) {
var heading = element.reference

@@ -34,3 +35,4 @@ // Resolvable

heading: heading,
numbering: matches[0] }
numbering: matches[0]
}
// Ambiguous

@@ -41,21 +43,27 @@ } else {

heading: heading,
numberings: matches } } }
numberings: matches
}
}
// Broken
else {
} else {
delete element.reference
element.heading = heading
element.broken = true
return element } }
else if (predicate.blank(element)) {
return element
}
} else if (predicate.blank(element)) {
var text = value(path, values)
// Filled
if (text) {
return { blank: text } }
return {blank: text}
// Empty
else {
return { blank: undefined } } }
else {
throw new Error('Invalid content: ' + JSON.stringify(element)) } }
} else {
return {blank: undefined}
}
} else {
throw new Error('Invalid content: ' + JSON.stringify(element))
}
}
function value(path, values) {
function value (path, values) {
var length = values.length

@@ -65,2 +73,5 @@ for (var index = 0; index < length; index++) {

if (deepEqual(element.blank, path)) {
return element.value } } }
return element.value
}
}
}

63

form.js
var resolveElement = require('./element')
module.exports = function(form, path, values, numberings, headings) {
module.exports = function (form, path, values, numberings, headings) {
form.content = form.content
// resolve content
.map(function(element, index) {
var numbering = (
( numberings &&
numberings.hasOwnProperty('content') &&
numberings.content.hasOwnProperty(index) ) ?
numberings.content[index] : null )
var childPath = path.concat('content', index)
return resolveElement(
element, childPath,
values, numbering, headings) })
// Concatenate contiguous strings.
.reduce(
function(content, element, index) {
var count = content.length
var last = content[count - 1]
if (
index > 0 &&
typeof element === 'string' &&
typeof last === 'string')
{ content[count - 1] = last + element }
else {
content.push(element) }
return content },
[])
// resolve content
.map(function (element, index) {
var numbering = (
(
numberings &&
numberings.hasOwnProperty('content') &&
numberings.content.hasOwnProperty(index)
)
? numberings.content[index]
: null
)
var childPath = path.concat('content', index)
return resolveElement(
element, childPath,
values, numbering, headings
)
})
return form }
// Concatenate contiguous strings.
.reduce(function (content, element, index) {
var count = content.length
var last = content[count - 1]
if (
index > 0 &&
typeof element === 'string' &&
typeof last === 'string'
) {
content[count - 1] = last + element
} else {
content.push(element)
}
return content
}, [])
return form
}
var number = require('commonform-number')
var resolveForm = require('./form')
function commonformResolve(form, values) {
module.exports = function commonformResolve (form, values) {
var numberings = number(form)
return resolveForm(
form,
[ ],
[],
values,
numberings.form,
numberings.headings
) }
module.exports = commonformResolve
)
}
{
"name": "commonform-resolve",
"description": "resolve definitions, uses, references, fields, and blanks",
"version": "0.8.0",
"version": "1.0.0",
"author": "Kyle E. Mitchell <kyle@kemitchell.com> (http://kemitchell.com)",

@@ -13,3 +13,4 @@ "dependencies": {

"defence-cli": "^1.0.1",
"replace-require-self": "^1.0.0"
"replace-require-self": "^1.0.0",
"standard": "^8.0.0-beta.5"
},

@@ -27,4 +28,4 @@ "homepage": "https://commonform.github.io",

"scripts": {
"test": "defence README.md | replace-require-self | node"
"lint": "standard"
}
}

@@ -12,5 +12,7 @@ ```javascript

resolve(
{ content: [ 'A' ] },
{ }),
{ content: [ 'A' ] })
{content: ['A']},
{}
),
{content: ['A']}
)
```

@@ -23,5 +25,7 @@

resolve(
{ content: [ { use: 'A' } ] },
{ }),
{ content: [ { use: 'A' } ] })
{content: [{use: 'A'}]},
{}
),
{content: [{use: 'A'}]}
)
```

@@ -34,5 +38,7 @@

resolve(
{ content: [ { definition: 'A' } ] },
{ } ),
{ content: [ { definition: 'A' } ] })
{content: [{definition: 'A'}]},
{}
),
{content: [{definition: 'A'}]}
)
```

@@ -45,11 +51,15 @@

resolve(
{ content: [ { blank: 'A' } ] },
[ { blank: [ 'content', 0 ], value: '1' } ]),
{ content: [ { blank: '1' } ] })
{content: [{blank: 'A'}]},
[{blank: ['content', 0], value: '1'}]
),
{content: [{blank: '1'}]}
)
assert.deepEqual(
resolve(
{ content: [ { blank: '' } ] },
[ ]),
{ content: [ { blank: undefined } ] })
{content: [{blank: ''}]},
[]
),
{content: [{blank: undefined}]}
)
```

@@ -62,13 +72,22 @@

resolve(
{ content: [
{ heading: 'A',
form: { content: [ 'A' ] } },
{ reference: 'A' } ] },
{ })
.content[1],
{ heading: 'A',
{
content: [
{heading: 'A',
form: {content: ['A']}},
{reference: 'A'}
]
},
{}
)
.content[1],
{
heading: 'A',
numbering: [
{ series: { number: 1, of: 1 },
element: { number: 1, of: 1 } } ] })
{
series: {number: 1, of: 1},
element: {number: 1, of: 1}
}
]
}
)
```

@@ -81,6 +100,7 @@

resolve(
{ content: [ { reference: 'A' } ] },
{ }),
{ content: [ { heading: 'A', broken: true } ] })
{content: [{reference: 'A'}]},
{}
),
{content: [{heading: 'A', broken: true}]}
)
```

@@ -93,18 +113,33 @@

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 } } ] ] } )
{
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}
}
]
]
}
)
```

@@ -117,17 +152,32 @@

resolve(
{ content: [
{ heading: 'First',
form: {
content: [ 'test' ],
conspicuous: 'true' } } ] },
{ })
.content,
[ { heading: 'First',
{
content: [
{
heading: 'First',
form: {
content: ['test'],
conspicuous: 'true'
}
}
]
},
{}
)
.content,
[
{
heading: 'First',
form: {
content: [ 'test' ],
conspicuous: 'true'},
content: ['test'],
conspicuous: 'true'
},
numbering: [
{ series: { number: 1, of: 1 },
element: { number: 1, of: 1 } } ] } ])
{
series: {number: 1, of: 1},
element: {number: 1, of: 1}
}
]
}
]
)
```

@@ -139,7 +189,10 @@

assert.throws(
function() {
function () {
resolve(
{ content: [ { invalid: 'object' } ] },
{ }) },
/Invalid content/)
{content: [{invalid: 'object'}]},
{}
)
},
/Invalid content/
)
```

@@ -152,9 +205,18 @@

resolve(
{ content: [ { form: { content: [ 'test' ] } } ] },
{ })
.content,
[ { numbering: [
{ series: { number: 1, of: 1 },
element: { number: 1, of: 1 } } ],
form: { content: [ 'test' ] } } ])
{content: [{form: {content: ['test']}}]},
{}
)
.content,
[
{
numbering: [
{
series: {number: 1, of: 1},
element: {number: 1, of: 1}
}
],
form: {content: ['test']}
}
]
)
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc