Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@tangle/strategy

Package Overview
Dependencies
Maintainers
3
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tangle/strategy - npm Package Compare versions

Comparing version 4.0.0 to 4.1.0

16

merge.js

@@ -27,2 +27,5 @@ module.exports = {

isValidMerge.error = null
isValidMerge.errors = []
isValidMerge.fields = []
// graph = a graph containing nodeIds, transforms, previous, and history

@@ -33,7 +36,14 @@ // tipId = the merge node

const result = strategy.isValidMerge(graph, mergeNode, field)
if (!result) errors.push(strategy.isValidMerge.error || new Error(field))
return result
if (!result) {
errors.push({
field,
detail: strategy.isValidMerge.error || new Error(`merge error on ${field}`)
})
}
})
if (errors.length > 0) {
isValidMerge.error = new Error(errors.map(err => err.message).join('\n'))
const fields = errors.map(e => e.field)
isValidMerge.error = new Error(`Merge conflict on fields [${fields}]`)
isValidMerge.errors = errors.map(e => e.detail)
isValidMerge.fields = fields
}

@@ -40,0 +50,0 @@ return errors.length === 0

2

package.json
{
"name": "@tangle/strategy",
"version": "4.0.0",
"version": "4.1.0",
"description": "a toolkit for composing tangle reducing strategies",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -142,3 +142,6 @@ # @tangle/strategy

- `mergeNode` is the proposed merge-node
- If isValidMerge is false, `isValidMerge.error` shows the fields that are conflicting
- If isValidMerge is false, you will can find more info under:
- `isValidMerge.error` - a summary of the fields with errors
- `isValidMerge.errors` - an Array of more detailed errors for each field
- `isValidMerge.fields` - an Array field names which had conflicts

@@ -145,0 +148,0 @@ ### `strategy.merge(graph, mergeNode) => T`

@@ -26,2 +26,5 @@ const test = require('tape')

t.equal(strategy.isValidMerge(mergeNodeGraph, mergeNode), false, 'merge that does not resolve conflict is invalid')
t.match(strategy.isValidMerge.error.message, /Merge conflict.*title/)
t.match(strategy.isValidMerge.errors[0].message, /title/)
t.deepEqual(strategy.isValidMerge.fields, ['title'])

@@ -31,4 +34,7 @@ mergeNode.data.title = { set: 'mouse' }

t.equal(strategy.isValidMerge(mergeNodeGraph, mergeNode), true, 'nonidentity merge node')
t.deepEqual(strategy.isValidMerge.error, null)
t.deepEqual(strategy.isValidMerge.errors, [])
t.deepEqual(strategy.isValidMerge.fields, [])
t.end()
})
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