@peers-app/peers-device 0.15.4 → 0.15.5
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/dist/json-diff.d.ts +16 -0
- package/dist/json-diff.js +17 -55
- package/dist/json-diff.js.map +1 -1
- package/dist/machine-stats.d.ts +6 -0
- package/dist/machine-stats.js +6 -0
- package/dist/machine-stats.js.map +1 -1
- package/package.json +3 -3
package/dist/json-diff.d.ts
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
import { type Operation } from "fast-json-patch";
|
|
2
|
+
/** Custom JSON Patch op (not in RFC 6902) for diff-match-patch text; currently unused in the standard diff path. */
|
|
2
3
|
export type ITextPatchOp = {
|
|
3
4
|
op: "patch-text";
|
|
4
5
|
path: string;
|
|
5
6
|
value: string;
|
|
6
7
|
};
|
|
8
|
+
/** RFC 6902 operations plus optional {@link ITextPatchOp} for text diffs. */
|
|
7
9
|
export type IDiffOp = Operation | ITextPatchOp;
|
|
10
|
+
/**
|
|
11
|
+
* Produces a JSON Patch from `oldObj` to `newObj` (after normalizing with {@link toJSON}).
|
|
12
|
+
* When the patch touches array *elements*, coalesces those into a single `replace` on the whole array to avoid renumbering noise.
|
|
13
|
+
* @returns `undefined` if there is no diff
|
|
14
|
+
* @throws If either argument is not a non-null object
|
|
15
|
+
*/
|
|
8
16
|
export declare function createJsonDiff(oldObj: any, newObj: any): IDiffOp[] | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Clones `obj`, applies `patch` (fast-json-patch + optional `patch-text` ops), then normalizes with {@link fromJSON}.
|
|
19
|
+
* @param patch If omitted, returns `obj` unchanged
|
|
20
|
+
*/
|
|
9
21
|
export declare function applyJsonDiff(obj: any, patch: IDiffOp[] | undefined): any;
|
|
22
|
+
/**
|
|
23
|
+
* True if `childPath` equals `parentPath` or is a JSON Pointer path under it (e.g. `/a` is parent of `/a/0/b`).
|
|
24
|
+
* Root `/` is considered an ancestor of every path.
|
|
25
|
+
*/
|
|
10
26
|
export declare function isChildPathOrSame(parentPath: string, childPath: string): boolean;
|
|
11
27
|
/**
|
|
12
28
|
* Convert a JSON Patch / JSON Pointer path into an array of object path segments.
|
package/dist/json-diff.js
CHANGED
|
@@ -38,11 +38,17 @@ exports.applyJsonDiff = applyJsonDiff;
|
|
|
38
38
|
exports.isChildPathOrSame = isChildPathOrSame;
|
|
39
39
|
exports.patchPathToObjectPathArray = patchPathToObjectPathArray;
|
|
40
40
|
exports.unescapePointerToken = unescapePointerToken;
|
|
41
|
+
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
41
42
|
const DiffMatchPatch = __importStar(require("diff-match-patch"));
|
|
42
43
|
const fast_json_patch_1 = require("fast-json-patch");
|
|
43
44
|
const lodash_1 = require("lodash");
|
|
44
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
45
45
|
// export type IDiffOp = AddOperation<any> | RemoveOperation | ReplaceOperation<any> | TextPatchOperation;
|
|
46
|
+
/**
|
|
47
|
+
* Produces a JSON Patch from `oldObj` to `newObj` (after normalizing with {@link toJSON}).
|
|
48
|
+
* When the patch touches array *elements*, coalesces those into a single `replace` on the whole array to avoid renumbering noise.
|
|
49
|
+
* @returns `undefined` if there is no diff
|
|
50
|
+
* @throws If either argument is not a non-null object
|
|
51
|
+
*/
|
|
46
52
|
function createJsonDiff(oldObj, newObj) {
|
|
47
53
|
if (typeof oldObj !== "object" ||
|
|
48
54
|
typeof newObj !== "object" ||
|
|
@@ -122,6 +128,10 @@ function createJsonDiff(oldObj, newObj) {
|
|
|
122
128
|
// currently text patches are disabled
|
|
123
129
|
return newPatch;
|
|
124
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Clones `obj`, applies `patch` (fast-json-patch + optional `patch-text` ops), then normalizes with {@link fromJSON}.
|
|
133
|
+
* @param patch If omitted, returns `obj` unchanged
|
|
134
|
+
*/
|
|
125
135
|
function applyJsonDiff(obj, patch) {
|
|
126
136
|
if (!patch)
|
|
127
137
|
return obj;
|
|
@@ -144,6 +154,10 @@ function applyJsonDiff(obj, patch) {
|
|
|
144
154
|
}
|
|
145
155
|
return (0, peers_sdk_1.fromJSON)(objCopy);
|
|
146
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* True if `childPath` equals `parentPath` or is a JSON Pointer path under it (e.g. `/a` is parent of `/a/0/b`).
|
|
159
|
+
* Root `/` is considered an ancestor of every path.
|
|
160
|
+
*/
|
|
147
161
|
function isChildPathOrSame(parentPath, childPath) {
|
|
148
162
|
// Root supersedes everything
|
|
149
163
|
if (parentPath === "/")
|
|
@@ -176,7 +190,8 @@ function patchPathToObjectPathArray(path) {
|
|
|
176
190
|
function unescapePointerToken(token) {
|
|
177
191
|
return token.replace(/~1/g, "/").replace(/~0/g, "~");
|
|
178
192
|
}
|
|
179
|
-
|
|
193
|
+
/** Retained for reference; superseded by {@link createJsonDiff}. */
|
|
194
|
+
function _old_createJsonDiff(oldObj, newObj) {
|
|
180
195
|
if (typeof oldObj !== "object" || typeof newObj !== "object") {
|
|
181
196
|
throw new Error("Both oldObj and newObj must be objects");
|
|
182
197
|
}
|
|
@@ -215,58 +230,5 @@ function old_createJsonDiff(oldObj, newObj) {
|
|
|
215
230
|
}
|
|
216
231
|
// currently text patches are disabled
|
|
217
232
|
return standardPatch;
|
|
218
|
-
// TODO: this only works for top-level fields - keep an eye out for nested fields being regularly used
|
|
219
|
-
const longTextFieldPaths = allKeys.filter((key) => {
|
|
220
|
-
const oldVal = oldObj[key];
|
|
221
|
-
const newVal = newObj[key];
|
|
222
|
-
if (typeof oldVal !== "string" || typeof newVal !== "string")
|
|
223
|
-
return false;
|
|
224
|
-
if (!oldVal.length || !newVal.length)
|
|
225
|
-
return false;
|
|
226
|
-
if (oldVal.length < 100 && newVal.length < 100)
|
|
227
|
-
return false;
|
|
228
|
-
// we don't want to create a text patch for field containing JSON
|
|
229
|
-
if (oldVal.startsWith(`{`) && oldVal.endsWith(`}`))
|
|
230
|
-
return false;
|
|
231
|
-
if (newVal.startsWith(`{`) && newVal.endsWith(`}`))
|
|
232
|
-
return false;
|
|
233
|
-
if (oldVal.startsWith(`[`) && oldVal.endsWith(`]`))
|
|
234
|
-
return false;
|
|
235
|
-
if (newVal.startsWith(`[`) && newVal.endsWith(`]`))
|
|
236
|
-
return false;
|
|
237
|
-
// use text-patch length is less than 10% difference in length
|
|
238
|
-
const percentDiff = Math.abs(oldVal.length - newVal.length) / newVal.length;
|
|
239
|
-
return percentDiff < 0.1;
|
|
240
|
-
});
|
|
241
|
-
// Initialize result array with non-text field operations
|
|
242
|
-
const efficientPatch = standardPatch.filter((op) => {
|
|
243
|
-
// Keep all operations except replacements on text fields
|
|
244
|
-
return !(op.op === "replace" && longTextFieldPaths.includes(op.path.substring(1)));
|
|
245
|
-
});
|
|
246
|
-
const dmp = new DiffMatchPatch.default();
|
|
247
|
-
// Process text fields separately
|
|
248
|
-
for (const path of longTextFieldPaths) {
|
|
249
|
-
// Get the old and new values for this path (if they exist)
|
|
250
|
-
const oldText = oldObj[path] || "";
|
|
251
|
-
const newText = newObj[path] || "";
|
|
252
|
-
// Skip if both are empty or unchanged
|
|
253
|
-
if (oldText === newText)
|
|
254
|
-
continue;
|
|
255
|
-
// Create text diff
|
|
256
|
-
const textDiff = dmp.diff_main(oldText, newText);
|
|
257
|
-
dmp.diff_cleanupSemantic(textDiff);
|
|
258
|
-
const textPatch = dmp.patch_make(oldText, textDiff);
|
|
259
|
-
const textPatchStr = dmp.patch_toText(textPatch);
|
|
260
|
-
// Add custom operation for text patch
|
|
261
|
-
efficientPatch.push({
|
|
262
|
-
op: "patch-text", // Custom operation
|
|
263
|
-
path: path,
|
|
264
|
-
value: textPatchStr,
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
if (efficientPatch.length === 0) {
|
|
268
|
-
return undefined;
|
|
269
|
-
}
|
|
270
|
-
return efficientPatch;
|
|
271
233
|
}
|
|
272
234
|
//# sourceMappingURL=json-diff.js.map
|
package/dist/json-diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-diff.js","sourceRoot":"","sources":["../src/json-diff.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"json-diff.js","sourceRoot":"","sources":["../src/json-diff.ts"],"names":[],"mappings":"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"}
|
package/dist/machine-stats.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-shot read of local CPU and memory usage (Node only when `os` is available; returns `null` on first CPU sample or missing OS).
|
|
3
|
+
* CPU stats use a rolling min/max/avg; memory uses platform-specific best-effort on darwin/linux/win32.
|
|
4
|
+
*/
|
|
1
5
|
export declare function getMachineStats(): {
|
|
2
6
|
cpu: {
|
|
3
7
|
min: number;
|
|
@@ -16,6 +20,7 @@ export declare function getMachineStats(): {
|
|
|
16
20
|
freeBytes: number;
|
|
17
21
|
};
|
|
18
22
|
} | null;
|
|
23
|
+
/** Subscribable latest {@link getMachineStats} values; updated in Node by {@link machineStatsInterval}. */
|
|
19
24
|
export declare const machineStats: import("@peers-app/peers-sdk").Observable<{
|
|
20
25
|
cpu: {
|
|
21
26
|
min: number;
|
|
@@ -34,4 +39,5 @@ export declare const machineStats: import("@peers-app/peers-sdk").Observable<{
|
|
|
34
39
|
freeBytes: number;
|
|
35
40
|
};
|
|
36
41
|
}>;
|
|
42
|
+
/** `setInterval` handle that pushes to {@link machineStats} every second; `null` in browser, tests, or non-Node. */
|
|
37
43
|
export declare const machineStatsInterval: NodeJS.Timeout | null;
|
package/dist/machine-stats.js
CHANGED
|
@@ -179,6 +179,10 @@ function getMemoryStats() {
|
|
|
179
179
|
freeBytes: freeMem,
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* One-shot read of local CPU and memory usage (Node only when `os` is available; returns `null` on first CPU sample or missing OS).
|
|
184
|
+
* CPU stats use a rolling min/max/avg; memory uses platform-specific best-effort on darwin/linux/win32.
|
|
185
|
+
*/
|
|
182
186
|
function getMachineStats() {
|
|
183
187
|
const cpuStats = getCpuStats();
|
|
184
188
|
if (!cpuStats) {
|
|
@@ -193,6 +197,7 @@ function getMachineStats() {
|
|
|
193
197
|
memory: memoryStats,
|
|
194
198
|
};
|
|
195
199
|
}
|
|
200
|
+
/** Subscribable latest {@link getMachineStats} values; updated in Node by {@link machineStatsInterval}. */
|
|
196
201
|
exports.machineStats = (0, peers_sdk_1.observable)({
|
|
197
202
|
cpu: {
|
|
198
203
|
min: 0,
|
|
@@ -213,6 +218,7 @@ exports.machineStats = (0, peers_sdk_1.observable)({
|
|
|
213
218
|
});
|
|
214
219
|
// Only start the interval in Node environments (not browser, not test)
|
|
215
220
|
const isJest = typeof process !== "undefined" && process.env?.JEST_WORKER_ID !== undefined;
|
|
221
|
+
/** `setInterval` handle that pushes to {@link machineStats} every second; `null` in browser, tests, or non-Node. */
|
|
216
222
|
exports.machineStatsInterval = isNode && !isJest
|
|
217
223
|
? setInterval(() => {
|
|
218
224
|
const stats = getMachineStats();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-stats.js","sourceRoot":"","sources":["../src/machine-stats.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"machine-stats.js","sourceRoot":"","sources":["../src/machine-stats.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peers-app/peers-device",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.5",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"repository": {
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"socket.io-client": "^4.8.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@peers-app/peers-sdk": "^0.15.
|
|
42
|
+
"@peers-app/peers-sdk": "^0.15.5"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@biomejs/biome": "2.3.11",
|
|
46
46
|
"@electron/rebuild": "^4.0.1",
|
|
47
|
-
"@peers-app/peers-sdk": "0.15.
|
|
47
|
+
"@peers-app/peers-sdk": "0.15.5",
|
|
48
48
|
"@types/diff-match-patch": "^1.0.36",
|
|
49
49
|
"@types/jest": "^29.5.13",
|
|
50
50
|
"@types/lodash": "^4.17.20",
|