0.0.3 • Published 5 years ago
diff-sbs v0.0.3
diff-sbs
diff js object/array/string side by side
usage scenario
usage
- A: add
- D: delete
- O: origin, no change
import { diff_obj, diff_array, diff_string } from 'diff-sbs'
const lhs = {
a: '12',
b: '123',
c: 1,
d: [{ k: 1, v: '11' }, { k: 2, v: '11' }]
}
const rhs = {
a: '12',
b: '122',
c: 3,
d: [{ k: 3, v: '12' }]
}
const [next_lhs, next_rhs] = diff_obj(lhs, rhs)
/* result
[
{
"a": [
{
"type": "O",
"value": "12"
}
],
"b": [
{
"type": "O",
"value": "12"
},
{
"type": "D",
"value": "3"
}
],
"c": {
"type": "D",
"value": 1
},
"d": [
{
"k": {
"type": "D",
"value": 1
},
"v": [
{
"type": "O",
"value": "1"
},
{
"type": "D",
"value": "1"
}
]
},
{
"k": {
"type": "D",
"value": 2
},
"v": [
{
"type": "D",
"value": "11"
}
]
}
]
},
{
"a": [
{
"type": "O",
"value": "12"
}
],
"b": [
{
"type": "O",
"value": "12"
},
{
"type": "A",
"value": "2"
}
],
"c": {
"type": "A",
"value": 3
},
"d": [
{
"k": {
"type": "A",
"value": 3
},
"v": [
{
"type": "O",
"value": "1"
},
{
"type": "A",
"value": "2"
}
]
}
]
}
]
*/