cry-db 2.4.48 → 2.5.0
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 +131 -42
- package/dist/index.d.mts +2 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/mongo.d.mts +24 -0
- package/dist/mongo.d.mts.map +1 -1
- package/dist/mongo.mjs +383 -90
- package/dist/mongo.mjs.map +1 -1
- package/dist/types.d.mts +23 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.d.mts +74 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +807 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +1 -1
package/dist/types.d.mts
CHANGED
|
@@ -308,12 +308,25 @@ export type BatchSpec<T> = {
|
|
|
308
308
|
export type CollectionUpdateRequest<T> = {
|
|
309
309
|
collection: string;
|
|
310
310
|
batch: {
|
|
311
|
+
/**
|
|
312
|
+
* `_rev` is the revision the client's `update` was computed against. The
|
|
313
|
+
* server uses it to detect concurrent external writes: if the stored
|
|
314
|
+
* revision advanced beyond this base, the full record is returned in
|
|
315
|
+
* `mustRefresh`. Omitting it (treated as 0) forces a refresh — the
|
|
316
|
+
* old-client fallback. Do NOT put `_rev` inside `update` (it is stripped).
|
|
317
|
+
*/
|
|
311
318
|
updates: {
|
|
312
319
|
_id: Id;
|
|
320
|
+
_rev: number;
|
|
313
321
|
update: Partial<T>;
|
|
314
322
|
}[];
|
|
323
|
+
/**
|
|
324
|
+
* `_rev` is the revision the client last saw; used to detect a record
|
|
325
|
+
* modified externally before this delete. Omitting it forces a refresh.
|
|
326
|
+
*/
|
|
315
327
|
deletes: {
|
|
316
328
|
_id: Id;
|
|
329
|
+
_rev: number;
|
|
317
330
|
}[];
|
|
318
331
|
};
|
|
319
332
|
}[];
|
|
@@ -329,6 +342,16 @@ export type CollectionUpdateResult = {
|
|
|
329
342
|
updated: DbEntity[];
|
|
330
343
|
/** Records actually deleted with _id, _ts, _rev, _deleted */
|
|
331
344
|
deleted: DbEntity[];
|
|
345
|
+
/**
|
|
346
|
+
* Full, sanitized records the client MUST replace in its local store.
|
|
347
|
+
* Populated when the server resolved a field (`SEQ_*` / `__hashed__`),
|
|
348
|
+
* when a concurrent external write advanced the stored `_rev` beyond the
|
|
349
|
+
* client's base, or when the request omitted `_rev` (old-client fallback).
|
|
350
|
+
* Every `_id` here ALSO appears in `inserted`/`updated`/`deleted`. Hash
|
|
351
|
+
* values are never included. The conflict-detection path requires
|
|
352
|
+
* `useRevisions()`.
|
|
353
|
+
*/
|
|
354
|
+
mustRefresh: (DbEntity & Obj)[];
|
|
332
355
|
/** errors returned by object */
|
|
333
356
|
errors?: {
|
|
334
357
|
_id: string;
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"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"}
|
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"AAwY0G,CAAC;AAWoD,CAAC;AAChK,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAA"}
|
package/dist/utils.d.mts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Id } from "./types.mjs";
|
|
2
|
+
/** Deep equality for values that may include Date, ObjectId, plain objects, arrays. */
|
|
3
|
+
export declare function deepEquals(a: any, b: any): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Compute the minimal set of MongoDB dot-notation $set paths that transform
|
|
6
|
+
* `existing` into `update` (only for keys present in `update`).
|
|
7
|
+
*
|
|
8
|
+
* @returns Record where keys are dot-notation paths and values are new values.
|
|
9
|
+
* Empty object means no changes.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* existing = { koraki: [{ _id: "k1", diag: "old", ter: "x" }] }
|
|
13
|
+
* update = { koraki: [{ _id: "k1", diag: "new", ter: "x" }] }
|
|
14
|
+
* → { "koraki[k1].diag": "new" }
|
|
15
|
+
*/
|
|
16
|
+
export declare function computeObjDiff(existing: Record<string, any> | null | undefined, update: Record<string, any>): Record<string, any>;
|
|
17
|
+
/**
|
|
18
|
+
* Tokenize a dot-notation path that may contain bracket-id segments.
|
|
19
|
+
*
|
|
20
|
+
* "postavke[A].kolicina" → ["postavke", "[A]", "kolicina"]
|
|
21
|
+
* "koraki.0.diag" → ["koraki", "0", "diag"]
|
|
22
|
+
* "arr[A].sub[B].field" → ["arr", "[A]", "sub", "[B]", "field"]
|
|
23
|
+
*/
|
|
24
|
+
export declare function tokenizePath(path: string): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Set a value at a path within a nested target. Supports three segment forms:
|
|
27
|
+
* - Numeric ("0", "1") → array index
|
|
28
|
+
* - Bracket ("[<_id>]") → array element matched by `_id` field
|
|
29
|
+
* - Plain ("field") → object key
|
|
30
|
+
*
|
|
31
|
+
* Auto-creation policy (when `opts.autoCreate !== false`, the default):
|
|
32
|
+
* - PLAIN segment whose intermediate is `undefined`/`null` AND whose parent
|
|
33
|
+
* is a plain object → materialize `{}` in place and continue.
|
|
34
|
+
* - PLAIN segment whose intermediate is a primitive → REFUSE (return false).
|
|
35
|
+
* - NUMERIC / BRACKET segment → unchanged (cannot safely synthesize an array
|
|
36
|
+
* slot or element without committing to the array shape). The dedicated
|
|
37
|
+
* `materializeBracketPath` helper handles those.
|
|
38
|
+
*
|
|
39
|
+
* @returns true if the value was set, false if traversal failed for a reason
|
|
40
|
+
* that cannot be auto-corrected.
|
|
41
|
+
*/
|
|
42
|
+
export declare function setByPath(target: any, path: string, value: any, opts?: {
|
|
43
|
+
autoCreate?: boolean;
|
|
44
|
+
}): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Delete the value at `path` within `target`. Sibling of `setByPath` —
|
|
47
|
+
* navigates the same tokenized path forms (numeric, bracket-by-_id, plain),
|
|
48
|
+
* but the final segment removes the property/element instead of setting it.
|
|
49
|
+
*
|
|
50
|
+
* Honors the convention that an `undefined` value in a diff means "delete this
|
|
51
|
+
* field". Returns `true` if a delete actually occurred.
|
|
52
|
+
*/
|
|
53
|
+
export declare function deleteByPath(target: any, path: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Mongo-symmetric local apply: starting from a safe deep clone of `base`, walk
|
|
56
|
+
* each `(path, value)` entry of `diff`:
|
|
57
|
+
*
|
|
58
|
+
* - `value === undefined` → `deleteByPath` (mongo `$unset` symmetric)
|
|
59
|
+
* - otherwise → `setByPath` (mongo `$set` symmetric)
|
|
60
|
+
*
|
|
61
|
+
* Bracket-path entries whose parent array doesn't exist yet fall back to
|
|
62
|
+
* `materializeBracketPath`. The result is what an equivalent server-side
|
|
63
|
+
* `$set` + `$unset` would have produced.
|
|
64
|
+
*
|
|
65
|
+
* @param base - source document (cloned, never mutated)
|
|
66
|
+
* @param diff - dot/bracket path → value map (as produced by {@link computeObjDiff})
|
|
67
|
+
* @param fallbackId - `_id` to seed when `base` is null/has no `_id`
|
|
68
|
+
* @param collection - collection name, used only for drop-log context
|
|
69
|
+
* @returns a new object (cloned-and-mutated)
|
|
70
|
+
*/
|
|
71
|
+
export declare function applyObjDiff<T extends {
|
|
72
|
+
_id?: Id;
|
|
73
|
+
}>(base: Partial<T> | null | undefined, diff: Record<string, any>, fallbackId: Id, collection: string): Partial<T>;
|
|
74
|
+
//# sourceMappingURL=utils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../src/utils.mts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAwBtC,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAoClD;AAkPD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAuBrB;AAID;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBnD;AA2ED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CA8DT;AA2BD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAe/D;AA0ND;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,GAAG,CAAC,EAAE,EAAE,CAAA;CAAE,EACjD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAyBZ"}
|