@memberjunction/core 6.2.0-edge.1 → 6.2.0-edge.3
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/generic/InMemoryLocalStorageProvider.d.ts +5 -0
- package/dist/generic/InMemoryLocalStorageProvider.d.ts.map +1 -1
- package/dist/generic/InMemoryLocalStorageProvider.js +5 -0
- package/dist/generic/InMemoryLocalStorageProvider.js.map +1 -1
- package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +192 -0
- package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
- package/dist/generic/JSONType-interfaces/IEntityFieldConfiguration.d.ts +28 -0
- package/dist/generic/JSONType-interfaces/IEntityFieldConfiguration.d.ts.map +1 -1
- package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts +95 -0
- package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts.map +1 -1
- package/dist/generic/baseEngine.d.ts +21 -1
- package/dist/generic/baseEngine.d.ts.map +1 -1
- package/dist/generic/baseEngine.js +15 -1
- package/dist/generic/baseEngine.js.map +1 -1
- package/dist/generic/baseEntity.d.ts +292 -18
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +553 -105
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/databaseProviderBase.d.ts +47 -7
- package/dist/generic/databaseProviderBase.d.ts.map +1 -1
- package/dist/generic/databaseProviderBase.js +106 -29
- package/dist/generic/databaseProviderBase.js.map +1 -1
- package/dist/generic/entityConfiguration.d.ts +21 -0
- package/dist/generic/entityConfiguration.d.ts.map +1 -1
- package/dist/generic/entityConfiguration.js +34 -0
- package/dist/generic/entityConfiguration.js.map +1 -1
- package/dist/generic/entityInfo.d.ts +60 -2
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +81 -2
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/entityRecordNameCache.d.ts +48 -0
- package/dist/generic/entityRecordNameCache.d.ts.map +1 -0
- package/dist/generic/entityRecordNameCache.js +92 -0
- package/dist/generic/entityRecordNameCache.js.map +1 -0
- package/dist/generic/interfaces.d.ts +45 -9
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/jsonFieldBinding.d.ts +196 -0
- package/dist/generic/jsonFieldBinding.d.ts.map +1 -0
- package/dist/generic/jsonFieldBinding.js +508 -0
- package/dist/generic/jsonFieldBinding.js.map +1 -0
- package/dist/generic/localCacheManager.d.ts +11 -0
- package/dist/generic/localCacheManager.d.ts.map +1 -1
- package/dist/generic/localCacheManager.js +9 -0
- package/dist/generic/localCacheManager.js.map +1 -1
- package/dist/generic/providerBase.d.ts +150 -33
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +304 -139
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/runQuery.d.ts +18 -1
- package/dist/generic/runQuery.d.ts.map +1 -1
- package/dist/generic/runQuery.js.map +1 -1
- package/dist/generic/runQuerySQLFilterImplementations.d.ts +7 -1
- package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
- package/dist/generic/runQuerySQLFilterImplementations.js +65 -140
- package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
- package/dist/generic/telemetryManager.d.ts +11 -0
- package/dist/generic/telemetryManager.d.ts.map +1 -1
- package/dist/generic/telemetryManager.js +40 -0
- package/dist/generic/telemetryManager.js.map +1 -1
- package/dist/generic/util.d.ts +6 -0
- package/dist/generic/util.d.ts.map +1 -1
- package/dist/generic/util.js +20 -0
- package/dist/generic/util.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +24 -0
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js +4 -0
- package/dist/views/runView.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +29 -2
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Live object <-> string binding for JSON text columns, plus the runtime half of
|
|
3
|
+
* JSONType validation (structural Zod + `@CHECK` rules).
|
|
4
|
+
*
|
|
5
|
+
* A JSONType field (`EntityField.JSONType`) is a text column holding JSON. CodeGen emits a typed
|
|
6
|
+
* `<Field>Object` accessor on the entity subclass; that accessor delegates to a
|
|
7
|
+
* {@link JSONFieldBinding} owned by the `BaseEntity` instance, so the object <-> string logic lives
|
|
8
|
+
* exactly once, here, instead of being copied into every generated accessor.
|
|
9
|
+
*
|
|
10
|
+
* @module @memberjunction/core
|
|
11
|
+
*/
|
|
12
|
+
import { ValidationErrorInfo, ValidationErrorType } from './entityInfo.js';
|
|
13
|
+
import { TryParseJsonText } from './extendedTypeValue.js';
|
|
14
|
+
import { LogError } from './logging.js';
|
|
15
|
+
/* ------------------------------------------------------------------------------------------------
|
|
16
|
+
* ToPlainJSON
|
|
17
|
+
* ---------------------------------------------------------------------------------------------- */
|
|
18
|
+
/**
|
|
19
|
+
* Returns a deep, plain (un-proxied) copy of a JSON-compatible value.
|
|
20
|
+
*
|
|
21
|
+
* THE way to clone, `structuredClone`, `postMessage`, store in IndexedDB, or freeze a value obtained
|
|
22
|
+
* from a generated `<Field>Object` JSONType accessor. Those accessors return a live `Proxy`; a Proxy
|
|
23
|
+
* cannot be structured-cloned (`DataCloneError`), and a clone of it made any other way may still
|
|
24
|
+
* hold live references back into the entity.
|
|
25
|
+
*
|
|
26
|
+
* Works identically on ordinary, non-proxied values, so callers never have to know which they hold.
|
|
27
|
+
* The result has JSON semantics — it is equal to `JSON.parse(JSON.stringify(value))`: `undefined`
|
|
28
|
+
* members and functions are dropped, `Date`s become ISO strings. Primitives, `null` and `undefined`
|
|
29
|
+
* are returned as they are.
|
|
30
|
+
*
|
|
31
|
+
* @param value - any JSON-compatible value, proxied or not
|
|
32
|
+
* @returns an independent plain copy; mutating it never touches the source or the entity
|
|
33
|
+
*/
|
|
34
|
+
export function ToPlainJSON(value) {
|
|
35
|
+
if (value === null || value === undefined || typeof value !== 'object') {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
return JSON.parse(JSON.stringify(value));
|
|
39
|
+
}
|
|
40
|
+
/* ------------------------------------------------------------------------------------------------
|
|
41
|
+
* Live binding
|
|
42
|
+
* ---------------------------------------------------------------------------------------------- */
|
|
43
|
+
/** True for the only values the binding wraps: plain objects (incl. null-prototype) and arrays. */
|
|
44
|
+
function isWrappable(value) {
|
|
45
|
+
if (typeof value !== 'object' || value === null) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(value)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
const proto = Object.getPrototypeOf(value);
|
|
52
|
+
return proto === Object.prototype || proto === null;
|
|
53
|
+
}
|
|
54
|
+
/** Serializes to the canonical stored form; `null`/`undefined` (and unserializable values) → `null`. */
|
|
55
|
+
function serializeJSON(value) {
|
|
56
|
+
if (value === null || value === undefined) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const text = JSON.stringify(value);
|
|
60
|
+
return text === undefined ? null : text;
|
|
61
|
+
}
|
|
62
|
+
/** Proxy → owning tree/target, so assignments can tell a proxy from a plain value. */
|
|
63
|
+
const proxyOwners = new WeakMap();
|
|
64
|
+
/**
|
|
65
|
+
* Binds one JSON text field of one entity instance to a live, typed object view.
|
|
66
|
+
*
|
|
67
|
+
* - **Object → string.** {@link GetValue} returns a `Proxy` over the parsed document. Nested plain
|
|
68
|
+
* objects/arrays are wrapped lazily on read (WeakMap-cached, so `o.a === o.a`), so *every*
|
|
69
|
+
* reference obtained from the root — however deep, or kept in a local variable — is tracked. Each
|
|
70
|
+
* mutation re-serializes the root and writes it through the entity's normal `Set`, so dirty
|
|
71
|
+
* tracking and change events work unchanged. Writes that do not change the canonical JSON do not
|
|
72
|
+
* call `Set`.
|
|
73
|
+
* - **String → object.** The binding remembers the raw text it last saw. When the field's raw value
|
|
74
|
+
* differs on the next read (Load, LoadFromData, `Set`, revert, …) the document is re-parsed;
|
|
75
|
+
* proxies handed out earlier are then detached (reads still work; WRITES through them throw, so a
|
|
76
|
+
* stale reference can never silently lose an edit or alter the entity behind its dirty tracking). A change that only re-formats identical JSON keeps
|
|
77
|
+
* the current tree so live references survive a `Save()` round trip.
|
|
78
|
+
* - **Safety net.** A value assigned into the tree and then mutated through the caller's *original*
|
|
79
|
+
* reference is invisible to the proxy; {@link Flush} (called by `BaseEntity` before validation and
|
|
80
|
+
* save) re-serializes the tree and writes any difference.
|
|
81
|
+
*
|
|
82
|
+
* Only plain objects and arrays are wrapped. `Date`, `Map`, class instances etc. are left alone —
|
|
83
|
+
* wrapping them would break their internal slots.
|
|
84
|
+
*/
|
|
85
|
+
export class JSONFieldBinding {
|
|
86
|
+
/**
|
|
87
|
+
* @param FieldName - the JSON text field this binding is for (used in error messages)
|
|
88
|
+
* @param readRaw - reads the field's raw text from the entity
|
|
89
|
+
* @param writeRaw - writes raw text to the entity through its normal `Set` path
|
|
90
|
+
*/
|
|
91
|
+
constructor(FieldName, readRaw, writeRaw) {
|
|
92
|
+
this.FieldName = FieldName;
|
|
93
|
+
this.readRaw = readRaw;
|
|
94
|
+
this.writeRaw = writeRaw;
|
|
95
|
+
this._materialized = false;
|
|
96
|
+
this._tree = null;
|
|
97
|
+
this._root = null;
|
|
98
|
+
/** Raw text the current tree corresponds to (as last read from, or written to, the entity). */
|
|
99
|
+
this._rawSeen = null;
|
|
100
|
+
/** Canonical serialization of the tree at the last sync point; the no-op-write comparator. */
|
|
101
|
+
this._snapshot = null;
|
|
102
|
+
}
|
|
103
|
+
/** True once the object has been read or assigned at least once. */
|
|
104
|
+
get IsMaterialized() {
|
|
105
|
+
return this._materialized;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns the live view of the field: a `Proxy` over the parsed document for objects/arrays, the
|
|
109
|
+
* bare value for a primitive JSON root, and `null` for a null/empty field.
|
|
110
|
+
*
|
|
111
|
+
* @throws Error when the field holds text that is not valid JSON
|
|
112
|
+
*/
|
|
113
|
+
GetValue() {
|
|
114
|
+
this.refresh();
|
|
115
|
+
return this.wrap(this._tree, this._root);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Assigns a whole new value. `null`/`undefined` clears the field. A plain object/array is
|
|
119
|
+
* *adopted* as the new tree, so later mutation through the caller's own reference is picked up by
|
|
120
|
+
* {@link Flush}. Proxies from other records (or from a detached earlier tree) are deep-copied
|
|
121
|
+
* rather than shared.
|
|
122
|
+
*/
|
|
123
|
+
SetValue(value) {
|
|
124
|
+
const owner = typeof value === 'object' && value !== null ? proxyOwners.get(value) : undefined;
|
|
125
|
+
if (owner && owner.Tree === this._tree && this._materialized) {
|
|
126
|
+
if (owner.Target === this._root && this.currentRaw() === this._rawSeen) {
|
|
127
|
+
// Re-assigning the live root (`rec.X = rec.X`, or a root that was read, edited and
|
|
128
|
+
// handed back): nothing new to adopt. Keep the generation so every proxy already
|
|
129
|
+
// handed out stays attached; just push any pending difference.
|
|
130
|
+
this.sync(owner.Tree);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (owner.Target !== this._root) {
|
|
134
|
+
// A NESTED node of the current tree becoming the root (`rec.X = rec.X.Child`) is
|
|
135
|
+
// stored as an independent COPY: the node still lives inside the old document, and
|
|
136
|
+
// sharing it would let two documents alias one object.
|
|
137
|
+
this.assignPlain(ToPlainJSON(value));
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
this.assignPlain(this.normalize(this._tree, value));
|
|
142
|
+
}
|
|
143
|
+
assignPlain(plain) {
|
|
144
|
+
const raw = serializeJSON(plain);
|
|
145
|
+
const alreadyCurrent = this._materialized && this.currentRaw() === this._rawSeen && raw === this._snapshot;
|
|
146
|
+
if (!alreadyCurrent) {
|
|
147
|
+
this.writeRaw(raw);
|
|
148
|
+
}
|
|
149
|
+
this.adopt(plain ?? null, raw, raw);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Safety net: pushes the tree's current serialization to the entity if it differs from the last
|
|
153
|
+
* sync point. A no-op for a binding that was never read/assigned, and for a tree whose raw text
|
|
154
|
+
* was replaced from outside (the next read re-parses; there is nothing of ours to push).
|
|
155
|
+
*/
|
|
156
|
+
Flush() {
|
|
157
|
+
if (!this._materialized || this._tree === null) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (this.currentRaw() !== this._rawSeen) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
this.sync(this._tree);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Forgets the parsed tree: the next read re-parses from the entity's raw text and every proxy
|
|
167
|
+
* handed out so far is detached. Used when the record's data is replaced wholesale (Revert,
|
|
168
|
+
* reload, NewRecord) — including the case where the replacement text is identical to the text
|
|
169
|
+
* this tree started from, which the raw-text comparison alone cannot distinguish from "nothing
|
|
170
|
+
* happened" when the tree carries un-flushed edits.
|
|
171
|
+
*/
|
|
172
|
+
Invalidate() {
|
|
173
|
+
this._materialized = false;
|
|
174
|
+
this._tree = null;
|
|
175
|
+
this._root = null;
|
|
176
|
+
this._rawSeen = null;
|
|
177
|
+
this._snapshot = null;
|
|
178
|
+
}
|
|
179
|
+
currentRaw() {
|
|
180
|
+
const raw = this.readRaw();
|
|
181
|
+
return typeof raw === 'string' ? raw : null;
|
|
182
|
+
}
|
|
183
|
+
/** Re-parses when the entity's raw text is not the text this tree corresponds to. */
|
|
184
|
+
refresh() {
|
|
185
|
+
const raw = this.currentRaw();
|
|
186
|
+
if (this._materialized && raw === this._rawSeen) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const parsed = this.parseRaw(raw);
|
|
190
|
+
const canonical = serializeJSON(parsed);
|
|
191
|
+
if (this._materialized && canonical === this._snapshot) {
|
|
192
|
+
// Formatting-only change (whitespace/key order after a save round trip): the document is
|
|
193
|
+
// the same, so keep the tree and the references already handed out.
|
|
194
|
+
this._rawSeen = raw;
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
this.adopt(parsed, raw, canonical);
|
|
198
|
+
}
|
|
199
|
+
parseRaw(raw) {
|
|
200
|
+
if (raw === null || raw === '') {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
const parsed = TryParseJsonText(raw);
|
|
204
|
+
if (parsed.ok === false) {
|
|
205
|
+
throw new Error(`JSON field '${this.FieldName}' does not contain valid JSON: ${parsed.message}`);
|
|
206
|
+
}
|
|
207
|
+
return parsed.value;
|
|
208
|
+
}
|
|
209
|
+
/** Makes `root` the current tree and starts a new proxy generation (detaching the old one). */
|
|
210
|
+
adopt(root, raw, canonical) {
|
|
211
|
+
this._root = root;
|
|
212
|
+
this._rawSeen = raw;
|
|
213
|
+
this._snapshot = canonical;
|
|
214
|
+
this._materialized = true;
|
|
215
|
+
this._tree = this.createTree();
|
|
216
|
+
}
|
|
217
|
+
/** Re-serializes the tree and writes it through the entity when the canonical JSON changed. */
|
|
218
|
+
sync(tree) {
|
|
219
|
+
if (tree !== this._tree) {
|
|
220
|
+
return; // detached generation: the entity no longer reflects this tree
|
|
221
|
+
}
|
|
222
|
+
const canonical = serializeJSON(this._root);
|
|
223
|
+
if (canonical === this._snapshot) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const previousSeen = this._rawSeen;
|
|
227
|
+
const previousSnapshot = this._snapshot;
|
|
228
|
+
// Recorded BEFORE the write so a listener that reads the accessor mid-Set does not re-parse.
|
|
229
|
+
this._snapshot = canonical;
|
|
230
|
+
this._rawSeen = canonical;
|
|
231
|
+
try {
|
|
232
|
+
this.writeRaw(canonical);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
this._snapshot = previousSnapshot;
|
|
236
|
+
this._rawSeen = previousSeen;
|
|
237
|
+
throw error;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
wrap(tree, value) {
|
|
241
|
+
if (!isWrappable(value)) {
|
|
242
|
+
return value;
|
|
243
|
+
}
|
|
244
|
+
let proxy = tree.Proxies.get(value);
|
|
245
|
+
if (!proxy) {
|
|
246
|
+
proxy = new Proxy(value, tree.Handler);
|
|
247
|
+
tree.Proxies.set(value, proxy);
|
|
248
|
+
proxyOwners.set(proxy, { Tree: tree, Target: value });
|
|
249
|
+
}
|
|
250
|
+
return proxy;
|
|
251
|
+
}
|
|
252
|
+
createTree() {
|
|
253
|
+
const tree = { Proxies: new WeakMap(), Handler: {} };
|
|
254
|
+
tree.Handler = this.createHandler(tree);
|
|
255
|
+
return tree;
|
|
256
|
+
}
|
|
257
|
+
createHandler(tree) {
|
|
258
|
+
const hasOwn = (target, prop) => Object.prototype.hasOwnProperty.call(target, prop);
|
|
259
|
+
return {
|
|
260
|
+
get: (target, prop, receiver) => {
|
|
261
|
+
const value = Reflect.get(target, prop, receiver);
|
|
262
|
+
if (typeof prop === 'symbol' || !isWrappable(value) || !hasOwn(target, prop)) {
|
|
263
|
+
return value;
|
|
264
|
+
}
|
|
265
|
+
// Proxy invariant: a non-configurable, non-writable own data property must report its
|
|
266
|
+
// true value, so a frozen node hands back its raw children instead of proxies.
|
|
267
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(target, prop);
|
|
268
|
+
if (descriptor && !descriptor.configurable && !descriptor.writable) {
|
|
269
|
+
return value;
|
|
270
|
+
}
|
|
271
|
+
return this.wrap(tree, value);
|
|
272
|
+
},
|
|
273
|
+
set: (target, prop, value) => {
|
|
274
|
+
this.assertAttached(tree);
|
|
275
|
+
const stored = this.normalize(tree, value);
|
|
276
|
+
const had = hasOwn(target, prop);
|
|
277
|
+
const previous = had ? Reflect.get(target, prop) : undefined;
|
|
278
|
+
const ok = Reflect.set(target, prop, stored);
|
|
279
|
+
// An array `push` fires an index set and then a `length` set; the second changes
|
|
280
|
+
// nothing, so it costs no second serialization.
|
|
281
|
+
if (ok && (!had || !Object.is(previous, stored))) {
|
|
282
|
+
this.sync(tree);
|
|
283
|
+
}
|
|
284
|
+
return ok;
|
|
285
|
+
},
|
|
286
|
+
deleteProperty: (target, prop) => {
|
|
287
|
+
this.assertAttached(tree);
|
|
288
|
+
const had = hasOwn(target, prop);
|
|
289
|
+
const ok = Reflect.deleteProperty(target, prop);
|
|
290
|
+
if (ok && had) {
|
|
291
|
+
this.sync(tree);
|
|
292
|
+
}
|
|
293
|
+
return ok;
|
|
294
|
+
},
|
|
295
|
+
defineProperty: (target, prop, descriptor) => {
|
|
296
|
+
this.assertAttached(tree);
|
|
297
|
+
const next = 'value' in descriptor
|
|
298
|
+
? { ...descriptor, value: this.normalize(tree, descriptor.value) }
|
|
299
|
+
: descriptor;
|
|
300
|
+
const ok = Reflect.defineProperty(target, prop, next);
|
|
301
|
+
if (ok) {
|
|
302
|
+
this.sync(tree);
|
|
303
|
+
}
|
|
304
|
+
return ok;
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* A proxy handed out before the record's data was replaced (reload, revert, assignment of a
|
|
310
|
+
* whole new value, …) is DETACHED: its document no longer belongs to the entity. Reads still work,
|
|
311
|
+
* but a write would either vanish or — worse, when the new document reuses nodes of the old one —
|
|
312
|
+
* alter the entity behind its dirty tracking. Both are silent data loss, so a write through a
|
|
313
|
+
* stale reference fails loudly instead.
|
|
314
|
+
*/
|
|
315
|
+
assertAttached(tree) {
|
|
316
|
+
// The raw text may have been replaced (`rec.Field = '...'`, `SetMany`) since the last read.
|
|
317
|
+
// Re-sync first: a formatting-only change keeps this tree; a real change starts a new tree,
|
|
318
|
+
// so this write is refused instead of overwriting the newer text.
|
|
319
|
+
if (tree === this._tree) {
|
|
320
|
+
this.refresh();
|
|
321
|
+
}
|
|
322
|
+
if (tree !== this._tree) {
|
|
323
|
+
throw new Error(`JSON field '${this.FieldName}' was reloaded, reverted or replaced after this object was obtained; ` +
|
|
324
|
+
`edits to the stale reference cannot reach the record. Re-read the object from the entity before editing it.`);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Prepares a value for storage in `tree`: a proxy of that tree becomes its raw target; a proxy of
|
|
329
|
+
* any other tree (another record, or a detached earlier generation) becomes an independent copy;
|
|
330
|
+
* and proxies nested inside a plain object/array being assigned (the `{ ...rec.XObject, a: 1 }`
|
|
331
|
+
* pattern hands over a plain object whose members ARE proxies) are replaced the same way, so the
|
|
332
|
+
* stored document never contains proxy-of-proxy chains or references into a detached tree.
|
|
333
|
+
*/
|
|
334
|
+
normalize(tree, value) {
|
|
335
|
+
const top = this.resolveProxy(tree, value);
|
|
336
|
+
if (top === value && isWrappable(value)) {
|
|
337
|
+
this.replaceNestedProxies(tree, value, new WeakSet());
|
|
338
|
+
}
|
|
339
|
+
return top;
|
|
340
|
+
}
|
|
341
|
+
resolveProxy(tree, value) {
|
|
342
|
+
if (typeof value !== 'object' || value === null) {
|
|
343
|
+
return value;
|
|
344
|
+
}
|
|
345
|
+
const owner = proxyOwners.get(value);
|
|
346
|
+
if (!owner) {
|
|
347
|
+
return value;
|
|
348
|
+
}
|
|
349
|
+
return tree !== null && owner.Tree === tree ? owner.Target : ToPlainJSON(value);
|
|
350
|
+
}
|
|
351
|
+
replaceNestedProxies(tree, node, seen) {
|
|
352
|
+
if (seen.has(node)) {
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
seen.add(node);
|
|
356
|
+
const record = node;
|
|
357
|
+
for (const key of Object.keys(node)) {
|
|
358
|
+
const child = record[key];
|
|
359
|
+
const replacement = this.resolveProxy(tree, child);
|
|
360
|
+
if (replacement !== child && !Object.isFrozen(node)) {
|
|
361
|
+
record[key] = replacement;
|
|
362
|
+
}
|
|
363
|
+
if (replacement === child && isWrappable(child)) {
|
|
364
|
+
this.replaceNestedProxies(tree, child, seen);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
/** Renders a Zod/JSON path as `Field.Items[2].EndHour`. */
|
|
370
|
+
export function FormatJSONPath(fieldName, path) {
|
|
371
|
+
let text = fieldName;
|
|
372
|
+
for (const segment of path) {
|
|
373
|
+
text += typeof segment === 'number' ? `[${segment}]` : `.${segment}`;
|
|
374
|
+
}
|
|
375
|
+
return text;
|
|
376
|
+
}
|
|
377
|
+
/** Reads the value a Zod issue path points at; `undefined` when the path does not resolve. */
|
|
378
|
+
function valueAtPath(root, path) {
|
|
379
|
+
let current = root;
|
|
380
|
+
for (const segment of path) {
|
|
381
|
+
if (typeof current !== 'object' || current === null) {
|
|
382
|
+
return undefined;
|
|
383
|
+
}
|
|
384
|
+
current = current[segment];
|
|
385
|
+
}
|
|
386
|
+
return current;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Maps Zod issues to {@link ValidationErrorInfo}s whose `Source` is the dotted/indexed path of the
|
|
390
|
+
* offending member (`Configuration.Items[2].EndHour`).
|
|
391
|
+
*/
|
|
392
|
+
export function ZodIssuesToValidationErrors(fieldName, issues, parsed, severity) {
|
|
393
|
+
return issues.map((issue) => new ValidationErrorInfo(FormatJSONPath(fieldName, issue.path), issue.message, valueAtPath(parsed, issue.path), ValidationErrorType[severity]));
|
|
394
|
+
}
|
|
395
|
+
function joinPath(base, property) {
|
|
396
|
+
return base === '' ? property : `${base}.${property}`;
|
|
397
|
+
}
|
|
398
|
+
/** Runs one rule's `Test`; a rule that throws is reported, never swallowed. */
|
|
399
|
+
function runRule(ctx, rule, value, path) {
|
|
400
|
+
const source = path === '' ? ctx.FieldName : path.startsWith('[') ? `${ctx.FieldName}${path}` : `${ctx.FieldName}.${path}`;
|
|
401
|
+
let valid;
|
|
402
|
+
try {
|
|
403
|
+
valid = rule.Test(value, ctx.Row);
|
|
404
|
+
}
|
|
405
|
+
catch (error) {
|
|
406
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
407
|
+
LogError(`JSON field rule '${rule.Description}' on ${source} threw: ${detail}`);
|
|
408
|
+
ctx.Result.Errors.push(new ValidationErrorInfo(source, `Rule could not be evaluated: ${rule.Description} (${detail})`, value, ValidationErrorType[ctx.Severity]));
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
if (!valid) {
|
|
412
|
+
ctx.Result.Errors.push(new ValidationErrorInfo(source, rule.Description, value, ValidationErrorType[ctx.Severity]));
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
/** Applies every rule scoped to `typeName` to one instance, then descends into child types. */
|
|
416
|
+
function walkInstance(ctx, value, typeName, path) {
|
|
417
|
+
if (typeof value !== 'object' || value === null) {
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
const record = value;
|
|
421
|
+
for (const rule of ctx.RuleSet.Rules) {
|
|
422
|
+
if (rule.Type !== typeName) {
|
|
423
|
+
continue;
|
|
424
|
+
}
|
|
425
|
+
if (rule.Property === undefined) {
|
|
426
|
+
runRule(ctx, rule, value, path);
|
|
427
|
+
}
|
|
428
|
+
else if (rule.PerElement) {
|
|
429
|
+
const elements = record[rule.Property];
|
|
430
|
+
if (Array.isArray(elements)) {
|
|
431
|
+
elements.forEach((element, index) => runRule(ctx, rule, element, `${joinPath(path, rule.Property)}[${index}]`));
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
runRule(ctx, rule, value, joinPath(path, rule.Property));
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
for (const edge of ctx.RuleSet.Graph[typeName] ?? []) {
|
|
439
|
+
walkEdge(ctx, record[edge.Property], edge, joinPath(path, edge.Property));
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
function walkEdge(ctx, child, edge, path) {
|
|
443
|
+
if (child === null || child === undefined) {
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
if (edge.Shape === 'object') {
|
|
447
|
+
walkInstance(ctx, child, edge.Type, path);
|
|
448
|
+
}
|
|
449
|
+
else if (edge.Shape === 'array' && Array.isArray(child)) {
|
|
450
|
+
child.forEach((element, index) => walkInstance(ctx, element, edge.Type, `${path}[${index}]`));
|
|
451
|
+
}
|
|
452
|
+
else if (edge.Shape === 'record' && typeof child === 'object') {
|
|
453
|
+
for (const [key, element] of Object.entries(child)) {
|
|
454
|
+
walkInstance(ctx, element, edge.Type, `${path}.${key}`);
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Runs the `@CHECK` rules of a rule set over a parsed document.
|
|
460
|
+
*
|
|
461
|
+
* @param fieldName - the JSON field, used as the first segment of every error source
|
|
462
|
+
* @param parsed - the parsed document (already known to satisfy the structural schema)
|
|
463
|
+
*/
|
|
464
|
+
export function RunJSONFieldRules(fieldName, parsed, ruleSet, row, severity, result) {
|
|
465
|
+
const ctx = { FieldName: fieldName, RuleSet: ruleSet, Row: row, Severity: severity, Result: result };
|
|
466
|
+
if (ruleSet.RootIsArray) {
|
|
467
|
+
if (Array.isArray(parsed)) {
|
|
468
|
+
parsed.forEach((element, index) => walkInstance(ctx, element, ruleSet.RootType, `[${index}]`));
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
walkInstance(ctx, parsed, ruleSet.RootType, '');
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Validates the raw text of one JSONType field against its structural schema and `@CHECK` rules and
|
|
477
|
+
* appends any problems to `result`. The engine behind `BaseEntity.ValidateJSONField`.
|
|
478
|
+
*
|
|
479
|
+
* Empty/`null` text is skipped (the column's nullability governs that). Text that is not valid JSON
|
|
480
|
+
* yields one error and skips the shape/rule checks. Rules run only when the structure is valid.
|
|
481
|
+
* A `Warning` severity adds errors of type Warning, which do not fail the save.
|
|
482
|
+
*/
|
|
483
|
+
export function ValidateJSONFieldValue(fieldName, raw, schema, ruleSet, severity, row, result) {
|
|
484
|
+
if (raw === null || raw === undefined || raw === '') {
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
let parsed = raw;
|
|
488
|
+
if (typeof raw === 'string') {
|
|
489
|
+
const attempt = TryParseJsonText(raw);
|
|
490
|
+
if (attempt.ok === false) {
|
|
491
|
+
const alreadyReported = result.Errors.some((e) => e.Source === fieldName && /valid JSON/i.test(e.Message));
|
|
492
|
+
if (!alreadyReported) {
|
|
493
|
+
result.Errors.push(new ValidationErrorInfo(fieldName, `${fieldName} must be valid JSON. ${attempt.message}`, raw, ValidationErrorType[severity]));
|
|
494
|
+
}
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
parsed = attempt.value;
|
|
498
|
+
}
|
|
499
|
+
const outcome = schema.safeParse(parsed);
|
|
500
|
+
if (!outcome.success) {
|
|
501
|
+
result.Errors.push(...ZodIssuesToValidationErrors(fieldName, outcome.error.issues, parsed, severity));
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
if (ruleSet && ruleSet.Rules.length > 0) {
|
|
505
|
+
RunJSONFieldRules(fieldName, parsed, ruleSet, row, severity, result);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
//# sourceMappingURL=jsonFieldBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonFieldBinding.js","sourceRoot":"","sources":["../../src/generic/jsonFieldBinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -252,6 +252,17 @@ export interface CacheChangedEvent {
|
|
|
252
252
|
* For `'removed'` and `'category_cleared'` actions, this is `undefined`.
|
|
253
253
|
*/
|
|
254
254
|
Data?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Monotonic counter shared by every server, incremented once per shared-cache mutation.
|
|
257
|
+
*
|
|
258
|
+
* For recovery rather than ordering: a subscriber that was disconnected cannot see what pub/sub
|
|
259
|
+
* did not replay, so it records the highest epoch it has seen and compares that with the current
|
|
260
|
+
* value on reconnect to learn whether anything was invalidated meanwhile.
|
|
261
|
+
*
|
|
262
|
+
* Optional — transports without the counter omit it, and consumers that do not reconcile can
|
|
263
|
+
* ignore it.
|
|
264
|
+
*/
|
|
265
|
+
Epoch?: number;
|
|
255
266
|
}
|
|
256
267
|
/**
|
|
257
268
|
* Storage categories for organizing cache data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1282,6 +1282,15 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1282
1282
|
if (params.IgnoreMaxRows === true) {
|
|
1283
1283
|
parts.push('imr:1');
|
|
1284
1284
|
}
|
|
1285
|
+
// Binary-width segment. Cached slots are fetched at full width, but "full width" leaves
|
|
1286
|
+
// binary columns out unless the caller asks for them (RunViewParams.IncludeBinaryFields,
|
|
1287
|
+
// set automatically by ProviderBase when a caller names a binary field in Fields). A slot
|
|
1288
|
+
// without binary columns must never answer a request that needs them, so the two widths
|
|
1289
|
+
// get separate slots. Appended only when true, so every existing fingerprint stays
|
|
1290
|
+
// byte-for-byte identical.
|
|
1291
|
+
if (params.IncludeBinaryFields === true) {
|
|
1292
|
+
parts.push('bin:1');
|
|
1293
|
+
}
|
|
1285
1294
|
// DataSource segment. RunViewParams.DataSource:'Materialized' routes the read to the entity's
|
|
1286
1295
|
// materialized snapshot view (GetEffectiveBaseView), a DIFFERENT physical source than the default
|
|
1287
1296
|
// live base view — so a Live read and a Materialized read of the same entity/filter/orderBy MUST
|