@salesforce/lds-runtime-bridge 1.299.0 → 1.300.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/dist/ldsRuntimeBridge.js +24 -36
- package/package.json +7 -7
package/dist/ldsRuntimeBridge.js
CHANGED
|
@@ -296,7 +296,7 @@ class DurableTTLStore {
|
|
|
296
296
|
}
|
|
297
297
|
}
|
|
298
298
|
|
|
299
|
-
function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStoreErrorHandler, redirects, additionalDurableStoreOperations = [], enableDurableMetadataRefresh = false) {
|
|
299
|
+
function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStoreErrorHandler, redirects, shouldFlush, additionalDurableStoreOperations = [], enableDurableMetadataRefresh = false) {
|
|
300
300
|
const durableRecords = create$3(null);
|
|
301
301
|
const refreshedDurableRecords = create$3(null);
|
|
302
302
|
const evictedRecords = create$3(null);
|
|
@@ -324,7 +324,16 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
324
324
|
const entries = wasVisited === true || enableDurableMetadataRefresh === false
|
|
325
325
|
? durableRecords
|
|
326
326
|
: refreshedDurableRecords;
|
|
327
|
-
|
|
327
|
+
const { flushValue: flushValue, forceFlushMetadata: flushMetadata } = shouldFlush(key, record);
|
|
328
|
+
if (flushValue) {
|
|
329
|
+
setRecordTo(entries, key, record, metadata);
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
// If the record is not to be flushed, we still need to update the metadata
|
|
333
|
+
if (flushMetadata === true) {
|
|
334
|
+
setRecordTo(refreshedDurableRecords, key, record, metadata);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
328
337
|
}
|
|
329
338
|
const durableStoreOperations = additionalDurableStoreOperations;
|
|
330
339
|
const recordKeys = keys$3(durableRecords);
|
|
@@ -525,7 +534,7 @@ function isUnfulfilledSnapshot(cachedSnapshotResult) {
|
|
|
525
534
|
* @param durableStore A DurableStore implementation
|
|
526
535
|
* @param instrumentation An instrumentation function implementation
|
|
527
536
|
*/
|
|
528
|
-
function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, disableDeepFreeze = false, }) {
|
|
537
|
+
function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, shouldFlush, enableDurableMetadataRefresh = false, disableDeepFreeze = false, }) {
|
|
529
538
|
// runtimes can choose to disable deepFreeze, e.g. headless mobile runtime
|
|
530
539
|
setBypassDeepFreeze(disableDeepFreeze);
|
|
531
540
|
let stagingStore = null;
|
|
@@ -732,7 +741,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
732
741
|
if (stagingStore === null) {
|
|
733
742
|
return Promise.resolve();
|
|
734
743
|
}
|
|
735
|
-
const promise = flushInMemoryStoreValuesToDurableStore(stagingStore, durableStore, durableStoreErrorHandler, new Map(pendingStoreRedirects), additionalDurableStoreOperations, enableDurableMetadataRefresh);
|
|
744
|
+
const promise = flushInMemoryStoreValuesToDurableStore(stagingStore, durableStore, durableStoreErrorHandler, new Map(pendingStoreRedirects), shouldFlush !== null && shouldFlush !== void 0 ? shouldFlush : (() => ({ flushValue: true })), additionalDurableStoreOperations, enableDurableMetadataRefresh);
|
|
736
745
|
pendingStoreRedirects.clear();
|
|
737
746
|
stagingStore = null;
|
|
738
747
|
return promise;
|
|
@@ -2296,7 +2305,7 @@ function isEntryDurableRecordRepresentation(entry, key) {
|
|
|
2296
2305
|
function normalizeRecordFields(key, entry) {
|
|
2297
2306
|
const { data: record } = entry;
|
|
2298
2307
|
const { fields, links } = record;
|
|
2299
|
-
const missingFieldLinks = keys(links);
|
|
2308
|
+
const missingFieldLinks = links === undefined ? [] : keys(links);
|
|
2300
2309
|
const fieldNames = keys(fields);
|
|
2301
2310
|
const normalizedFields = {};
|
|
2302
2311
|
const returnEntries = {};
|
|
@@ -2304,6 +2313,10 @@ function normalizeRecordFields(key, entry) {
|
|
|
2304
2313
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
2305
2314
|
const fieldName = fieldNames[i];
|
|
2306
2315
|
const field = fields[fieldName];
|
|
2316
|
+
if (field.__state !== undefined && field.__state.isMissing === true) {
|
|
2317
|
+
normalizedFields[fieldName] = { isMissing: true, __ref: undefined };
|
|
2318
|
+
continue;
|
|
2319
|
+
}
|
|
2307
2320
|
const fieldKey = buildRecordFieldStoreKey(key, fieldName);
|
|
2308
2321
|
returnEntries[fieldKey] = { data: field };
|
|
2309
2322
|
normalizedFields[fieldName] = createLink(fieldKey);
|
|
@@ -2335,7 +2348,6 @@ function normalizeRecordFields(key, entry) {
|
|
|
2335
2348
|
function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntries, store) {
|
|
2336
2349
|
const fields = normalizedRecord.fields;
|
|
2337
2350
|
const filteredFields = {};
|
|
2338
|
-
const links = {};
|
|
2339
2351
|
const fieldNames = keys(fields);
|
|
2340
2352
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
2341
2353
|
const fieldName = fieldNames[i];
|
|
@@ -2377,13 +2389,16 @@ function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntr
|
|
|
2377
2389
|
}
|
|
2378
2390
|
// we want to preserve fields that are missing nodes
|
|
2379
2391
|
if (field.isMissing === true) {
|
|
2380
|
-
|
|
2392
|
+
filteredFields[fieldName] = {
|
|
2393
|
+
value: undefined,
|
|
2394
|
+
displayValue: undefined,
|
|
2395
|
+
__state: { isMissing: true },
|
|
2396
|
+
};
|
|
2381
2397
|
}
|
|
2382
2398
|
}
|
|
2383
2399
|
return {
|
|
2384
2400
|
...normalizedRecord,
|
|
2385
2401
|
fields: filteredFields,
|
|
2386
|
-
links,
|
|
2387
2402
|
};
|
|
2388
2403
|
}
|
|
2389
2404
|
function getDenormalizedKey(originalKey, recordId, luvio) {
|
|
@@ -2611,35 +2626,10 @@ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecord
|
|
|
2611
2626
|
}
|
|
2612
2627
|
return durableStore.batchOperations(operationsWithDenormedRecords);
|
|
2613
2628
|
};
|
|
2614
|
-
/**
|
|
2615
|
-
* Retrieves a denormalized record from the store
|
|
2616
|
-
* NOTE: do no use this if you don't know what you're doing, this can still contain normalized record references
|
|
2617
|
-
* @param recordKey record key
|
|
2618
|
-
* @param durableStore the durable store
|
|
2619
|
-
* @returns a DraftRecordRepresentation containing the requested fields
|
|
2620
|
-
*/
|
|
2621
|
-
const getDenormalizedRecord = function (recordKey) {
|
|
2622
|
-
return durableStore.getEntries([recordKey], DefaultDurableSegment).then((entries) => {
|
|
2623
|
-
if (entries === undefined) {
|
|
2624
|
-
return undefined;
|
|
2625
|
-
}
|
|
2626
|
-
const denormalizedEntry = entries[recordKey];
|
|
2627
|
-
if (denormalizedEntry === undefined) {
|
|
2628
|
-
return undefined;
|
|
2629
|
-
}
|
|
2630
|
-
// don't include link information
|
|
2631
|
-
const denormalizedRecord = denormalizedEntry.data;
|
|
2632
|
-
if (isStoreRecordError(denormalizedRecord)) {
|
|
2633
|
-
return undefined;
|
|
2634
|
-
}
|
|
2635
|
-
return denormalizedRecord;
|
|
2636
|
-
});
|
|
2637
|
-
};
|
|
2638
2629
|
return create(durableStore, {
|
|
2639
2630
|
getEntries: { value: getEntries, writable: true },
|
|
2640
2631
|
setEntries: { value: setEntries, writable: true },
|
|
2641
2632
|
batchOperations: { value: batchOperations, writable: true },
|
|
2642
|
-
getDenormalizedRecord: { value: getDenormalizedRecord, writable: true },
|
|
2643
2633
|
});
|
|
2644
2634
|
}
|
|
2645
2635
|
|
|
@@ -2654,8 +2644,6 @@ function getNimbusDurableStore() {
|
|
|
2654
2644
|
}
|
|
2655
2645
|
/**
|
|
2656
2646
|
* Use record denormalizing store to persist field values and references
|
|
2657
|
-
* When not used, subsequent reads may result in empty field values
|
|
2658
|
-
* See TD-0153300 for moving RecordDenormalizingDurableStore out of lds-drafts
|
|
2659
2647
|
*/
|
|
2660
2648
|
function createRecordDenormingStore(luvio, durableStore) {
|
|
2661
2649
|
const recordDenormingStore = makeRecordDenormalizingDurableStore(luvio, durableStore, () => getIngestRecords(), () => getIngestMetadata(), () => getIngestStore());
|
|
@@ -2700,4 +2688,4 @@ function ldsRuntimeBridge() {
|
|
|
2700
2688
|
}
|
|
2701
2689
|
|
|
2702
2690
|
export { ldsRuntimeBridge as default };
|
|
2703
|
-
// version: 1.
|
|
2691
|
+
// version: 1.300.0-76f5b2b4ea
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-bridge",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.300.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "LDS runtime for bridge.app.",
|
|
6
6
|
"main": "dist/ldsRuntimeBridge.js",
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-bridge"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@salesforce/lds-durable-records": "^1.
|
|
38
|
-
"@salesforce/lds-instrumentation": "^1.
|
|
37
|
+
"@salesforce/lds-durable-records": "^1.300.0",
|
|
38
|
+
"@salesforce/lds-instrumentation": "^1.300.0",
|
|
39
39
|
"@salesforce/user": "0.0.21",
|
|
40
40
|
"o11y": "250.7.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@salesforce/lds-network-aura": "^1.
|
|
44
|
-
"@salesforce/lds-runtime-aura": "^1.
|
|
45
|
-
"@salesforce/lds-store-nimbus": "^1.
|
|
46
|
-
"@salesforce/nimbus-plugin-lds": "^1.
|
|
43
|
+
"@salesforce/lds-network-aura": "^1.300.0",
|
|
44
|
+
"@salesforce/lds-runtime-aura": "^1.300.0",
|
|
45
|
+
"@salesforce/lds-store-nimbus": "^1.300.0",
|
|
46
|
+
"@salesforce/nimbus-plugin-lds": "^1.300.0",
|
|
47
47
|
"babel-plugin-dynamic-import-node": "^2.3.3"
|
|
48
48
|
},
|
|
49
49
|
"luvioBundlesize": [
|