Catalog npm
PACKAGE EXPLORERView in registry

3-way-merge

npm

3-way merging of JavaScript objects

3-way merge3way merge
Versions collected7
Direct dependencies3From release 0.0.7
Last observed20 Oct, 19:21 UTC

README

Current package documentation

Build Status Dependency Status npm version

merge(o, a, b) -> c

3-way merging of JavaScript objects

Takes 3 versions of the same object -- where version 2 and 3 are both derived from version 1 -- and generates a 4th version, effectively merging version 2 and 3 together. When a conflict is detected (changes made in both version 2 and 3) changes from version 3 are used.

Prototype

merge(Object original, Object current, Object new) -> Object
  • original: Ancestor version (original) from which both versionA and versionB are derived

  • current: Version A of original

  • new: Version B of original

Example:

// The original version which both A and B are derived from
original = {
    aliases: {
        abc: "Abc"
    },
    deleted: 7890,
    key: "string",
    list: [
        "abc",
        "def"
    ],
    value: 1234
}

// Version A
current = {
    aliases: {
        "abc": "Abcdef",
        "def": "Def"
    },
    list: [
        "abc",
        "cat",
        "def",
        "xyz"
    ],
    value: 123456
}

// Version B
B = {
    aliases: {
        abc: "Abc",
        aab: "Aab"
    },
    list: [
        "abc",
        "zzz"
    ],
    value: 1234
}

// --> Merged result
{
    aliases: {
        abc: "Abcdef",
        aab: "Aab",
        def: "Def"
    },
    list: [
        "abc",
        "cat",
        "xyz",
        "zzz"
    ],
    value: 123456
}

Requirements

  • Array.isArray(object) -> Boolean to be implemented (which it is already in modern JavaScript environments)

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 7

Collected releases
VersionPublishedDirect dependenciesOpen version
0.0.7Registry latest26 Jun 20163
0.0.626 Jun 20163
0.0.54 Aug 20153
0.0.416 Jun 20153
0.0.32 Jul 20142
0.0.229 May 20141
0.0.120 May 20141

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
falsecz/3-way-merge

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:21 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:77216ff0c8fc1fef2de46f985f259d1e536e4c757e1d39f4059fe5e37c59f423