@iodev/patch-and-resolve 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Patch and Resolve
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@iodev/patch-and-resolve)
|
|
4
|
+
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
5
|
+
|
|
3
6
|
A library for merging conflicting JSON patches with automatic conflict detection and resolution UI.
|
|
4
7
|
|
|
5
8
|
## Overview
|
|
@@ -9,8 +12,11 @@ This library helps resolve conflicts when two patches modify the same document.
|
|
|
9
12
|
**Key Features:**
|
|
10
13
|
- Automatically merges non-conflicting patches
|
|
11
14
|
- Detects and reports conflicts when patches modify the same fields
|
|
15
|
+
- **Full support for nested objects** with field-level conflict detection
|
|
16
|
+
- **JSON Patch (RFC 6902) compatible** - works with fast-json-patch and similar libraries
|
|
12
17
|
- Provides a modal UI for manual conflict resolution
|
|
13
18
|
- Completely agnostic to your storage/API layer
|
|
19
|
+
- TypeScript support with full type definitions
|
|
14
20
|
|
|
15
21
|
## Demo
|
|
16
22
|
|
|
@@ -35,6 +41,13 @@ The demo application shows how to merge multiple remote patches into your local
|
|
|
35
41
|
## Installation
|
|
36
42
|
|
|
37
43
|
```bash
|
|
44
|
+
npm install @iodev/patch-and-resolve
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
For development:
|
|
48
|
+
```bash
|
|
49
|
+
git clone https://github.com/isaac76/patchAndResolve.git
|
|
50
|
+
cd patchAndResolve
|
|
38
51
|
npm install
|
|
39
52
|
```
|
|
40
53
|
|
|
@@ -352,9 +365,9 @@ if (result.success) {
|
|
|
352
365
|
```
|
|
353
366
|
|
|
354
367
|
**Supported JSON Patch Operations:**
|
|
355
|
-
- ✅ `add` and `replace` - Converted to field updates
|
|
368
|
+
- ✅ `add` and `replace` - Converted to field updates (supports nested paths like `/user/name`)
|
|
356
369
|
- ❌ `remove`, `move`, `copy`, `test` - Ignored (don't map to simple diffs)
|
|
357
|
-
-
|
|
370
|
+
- ✅ Nested paths fully supported (e.g., `/user/address/city`)
|
|
358
371
|
|
|
359
372
|
This makes the library compatible with standard JSON Patch workflows while providing an intuitive UI for conflict resolution.
|
|
360
373
|
|