@salesforce/lds-runtime-mobile 1.341.0 → 1.342.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/main.js
CHANGED
|
@@ -19,7 +19,6 @@ import { withRegistration, register } from '@salesforce/lds-default-luvio';
|
|
|
19
19
|
import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrumentLuvio, setLdsAdaptersUiapiInstrumentation, setLdsNetworkAdapterInstrumentation } from '@salesforce/lds-instrumentation';
|
|
20
20
|
import { HttpStatusCode, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, ingestShape, coerceConfig as coerceConfig$1, typeCheckConfig as typeCheckConfig$h, createResourceParams as createResourceParams$h, StoreKeyMap, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$f, resolveLink, createCustomAdapterEventEmitter, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
|
|
21
21
|
import { isSupportedEntity, configuration, getObjectInfoAdapterFactory, RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, extractRecordIdFromStoreKey, buildRecordRepKeyFromId, keyBuilderRecord, RecordRepresentationTTL, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, getRecordId18 as getRecordId18$1, getRecordsAdapterFactory as getRecordsAdapterFactory$1, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationVersion } from '@salesforce/lds-adapters-uiapi';
|
|
22
|
-
import graphqlRecordTypeIdFixGate from '@salesforce/gate/lmr.graphqlRecordTypeIdFix';
|
|
23
22
|
import { Kind as Kind$1, visit as visit$1, isObjectType, defaultFieldResolver, buildSchema, parse as parse$5, extendSchema, isScalarType, execute, print } from '@luvio/graphql-parser';
|
|
24
23
|
import FIRST_DAY_OF_WEEK from '@salesforce/i18n/firstDayOfWeek';
|
|
25
24
|
import graphqQueryFieldLimit from '@salesforce/gate/lmr.graphqQueryFieldLimit';
|
|
@@ -49,7 +48,7 @@ import graphqlL2AdapterGate from '@salesforce/gate/lmr.graphqlL2Adapter';
|
|
|
49
48
|
const { parse: parse$4, stringify: stringify$4 } = JSON;
|
|
50
49
|
const { join: join$1, push: push$2, unshift } = Array.prototype;
|
|
51
50
|
const { isArray: isArray$3 } = Array;
|
|
52
|
-
const { entries: entries$
|
|
51
|
+
const { entries: entries$3, keys: keys$5 } = Object;
|
|
53
52
|
|
|
54
53
|
const UI_API_BASE_URI = '/services/data/v64.0/ui-api';
|
|
55
54
|
|
|
@@ -114,7 +113,7 @@ function isSpanningRecord$2(fieldValue) {
|
|
|
114
113
|
function mergeRecordFields$2(first, second) {
|
|
115
114
|
const { fields: targetFields } = first;
|
|
116
115
|
const { fields: sourceFields } = second;
|
|
117
|
-
const fieldNames = keys$
|
|
116
|
+
const fieldNames = keys$5(sourceFields);
|
|
118
117
|
for (let i = 0, len = fieldNames.length; i < len; i += 1) {
|
|
119
118
|
const fieldName = fieldNames[i];
|
|
120
119
|
const sourceField = sourceFields[fieldName];
|
|
@@ -361,7 +360,7 @@ function getFulfillingRequest(inflightRequests, resourceRequest) {
|
|
|
361
360
|
if (fulfill === undefined) {
|
|
362
361
|
return null;
|
|
363
362
|
}
|
|
364
|
-
const handlersMap = entries$
|
|
363
|
+
const handlersMap = entries$3(inflightRequests);
|
|
365
364
|
for (let i = 0, len = handlersMap.length; i < len; i += 1) {
|
|
366
365
|
const [transactionKey, handlers] = handlersMap[i];
|
|
367
366
|
// check fulfillment against only the first handler ([0]) because it's equal or
|
|
@@ -531,7 +530,7 @@ const RedirectDurableSegment = 'REDIRECT_KEYS';
|
|
|
531
530
|
const MessagingDurableSegment = 'MESSAGING';
|
|
532
531
|
const MessageNotifyStoreUpdateAvailable = 'notifyStoreUpdateAvailable';
|
|
533
532
|
|
|
534
|
-
const { keys: keys$
|
|
533
|
+
const { keys: keys$4, create: create$4, assign: assign$4, freeze: freeze$1 } = Object;
|
|
535
534
|
|
|
536
535
|
//Durable store error instrumentation key
|
|
537
536
|
const DURABLE_STORE_ERROR = 'durable-store-error';
|
|
@@ -581,7 +580,7 @@ function publishDurableStoreEntries(durableRecords, put, publishMetadata) {
|
|
|
581
580
|
if (durableRecords === undefined) {
|
|
582
581
|
return { revivedKeys, hadUnexpectedShape };
|
|
583
582
|
}
|
|
584
|
-
const durableKeys = keys$
|
|
583
|
+
const durableKeys = keys$4(durableRecords);
|
|
585
584
|
if (durableKeys.length === 0) {
|
|
586
585
|
// no records to revive
|
|
587
586
|
return { revivedKeys, hadUnexpectedShape };
|
|
@@ -766,7 +765,7 @@ class DurableTTLStore {
|
|
|
766
765
|
overrides,
|
|
767
766
|
};
|
|
768
767
|
}
|
|
769
|
-
const keys$1 = keys$
|
|
768
|
+
const keys$1 = keys$4(entries);
|
|
770
769
|
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
771
770
|
const key = keys$1[i];
|
|
772
771
|
const entry = entries[key];
|
|
@@ -788,14 +787,14 @@ class DurableTTLStore {
|
|
|
788
787
|
}
|
|
789
788
|
|
|
790
789
|
function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStoreErrorHandler, redirects, shouldFlush, additionalDurableStoreOperations = [], enableDurableMetadataRefresh = false) {
|
|
791
|
-
const durableRecords = create$
|
|
792
|
-
const refreshedDurableRecords = create$
|
|
793
|
-
const evictedRecords = create$
|
|
790
|
+
const durableRecords = create$4(null);
|
|
791
|
+
const refreshedDurableRecords = create$4(null);
|
|
792
|
+
const evictedRecords = create$4(null);
|
|
794
793
|
const { visitedIds, refreshedIds } = store.fallbackStringKeyInMemoryStore;
|
|
795
794
|
// TODO: W-8909393 Once metadata is stored in its own segment we need to
|
|
796
795
|
// call setEntries for the visitedIds on default segment and call setEntries
|
|
797
796
|
// on the metadata segment for the refreshedIds
|
|
798
|
-
const keys$1 = keys$
|
|
797
|
+
const keys$1 = keys$4({ ...visitedIds, ...refreshedIds });
|
|
799
798
|
for (let i = 0, len = keys$1.length; i < len; i += 1) {
|
|
800
799
|
const key = keys$1[i];
|
|
801
800
|
const canonicalKey = store.getCanonicalRecordId(key);
|
|
@@ -827,7 +826,7 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
827
826
|
}
|
|
828
827
|
}
|
|
829
828
|
const durableStoreOperations = additionalDurableStoreOperations;
|
|
830
|
-
const recordKeys = keys$
|
|
829
|
+
const recordKeys = keys$4(durableRecords);
|
|
831
830
|
if (recordKeys.length > 0) {
|
|
832
831
|
// publishes with data
|
|
833
832
|
durableStoreOperations.push({
|
|
@@ -836,7 +835,7 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
836
835
|
segment: DefaultDurableSegment,
|
|
837
836
|
});
|
|
838
837
|
}
|
|
839
|
-
const refreshKeys = keys$
|
|
838
|
+
const refreshKeys = keys$4(refreshedDurableRecords);
|
|
840
839
|
if (refreshKeys.length > 0) {
|
|
841
840
|
// publishes with only metadata updates
|
|
842
841
|
durableStoreOperations.push({
|
|
@@ -858,7 +857,7 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
858
857
|
});
|
|
859
858
|
});
|
|
860
859
|
// evicts
|
|
861
|
-
const evictedKeys = keys$
|
|
860
|
+
const evictedKeys = keys$4(evictedRecords);
|
|
862
861
|
if (evictedKeys.length > 0) {
|
|
863
862
|
durableStoreOperations.push({
|
|
864
863
|
type: 'evictEntries',
|
|
@@ -962,7 +961,7 @@ function buildRevivingStagingStore(upstreamStore) {
|
|
|
962
961
|
// A reviving store is only "active" during a call to `environment.storeLookup`, and will
|
|
963
962
|
// be used by the reader attempting to build an L1 snapshot. Immediately after the L1 rebuild
|
|
964
963
|
// the reviving store becomes inactive other than receiving change notifications.
|
|
965
|
-
return create$
|
|
964
|
+
return create$4(upstreamStore, {
|
|
966
965
|
readEntry: { value: readEntry },
|
|
967
966
|
markStale: { value: markStale },
|
|
968
967
|
clearStale: { value: clearStale },
|
|
@@ -974,7 +973,7 @@ const AdapterContextSegment = 'ADAPTER-CONTEXT';
|
|
|
974
973
|
const ADAPTER_CONTEXT_ID_SUFFIX = '__NAMED_CONTEXT';
|
|
975
974
|
async function reviveOrCreateContext(adapterId, durableStore, durableStoreErrorHandler, contextStores, pendingContextStoreKeys, onContextLoaded) {
|
|
976
975
|
// initialize empty context store
|
|
977
|
-
contextStores[adapterId] = create$
|
|
976
|
+
contextStores[adapterId] = create$4(null);
|
|
978
977
|
const context = {
|
|
979
978
|
set(key, value) {
|
|
980
979
|
contextStores[adapterId][key] = value;
|
|
@@ -1039,7 +1038,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
1039
1038
|
const revivingStores = new Set();
|
|
1040
1039
|
// redirects that need to be flushed to the durable store
|
|
1041
1040
|
const pendingStoreRedirects = new Map();
|
|
1042
|
-
const contextStores = create$
|
|
1041
|
+
const contextStores = create$4(null);
|
|
1043
1042
|
let initializationPromise = new Promise((resolve) => {
|
|
1044
1043
|
const finish = () => {
|
|
1045
1044
|
resolve();
|
|
@@ -1116,7 +1115,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
1116
1115
|
try {
|
|
1117
1116
|
const entries = await durableStore.getEntries(adapterContextKeysFromDifferentInstance, AdapterContextSegment);
|
|
1118
1117
|
if (entries !== undefined) {
|
|
1119
|
-
const entryKeys = keys$
|
|
1118
|
+
const entryKeys = keys$4(entries);
|
|
1120
1119
|
for (let i = 0, len = entryKeys.length; i < len; i++) {
|
|
1121
1120
|
const entryKey = entryKeys[i];
|
|
1122
1121
|
const entry = entries[entryKey];
|
|
@@ -1151,7 +1150,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
1151
1150
|
if (filteredKeys.length > 0) {
|
|
1152
1151
|
const entries = await durableStore.getMetadata(filteredKeys, DefaultDurableSegment);
|
|
1153
1152
|
if (entries !== undefined) {
|
|
1154
|
-
const entryKeys = keys$
|
|
1153
|
+
const entryKeys = keys$4(entries);
|
|
1155
1154
|
for (let i = 0, len = entryKeys.length; i < len; i++) {
|
|
1156
1155
|
const entryKey = entryKeys[i];
|
|
1157
1156
|
const { metadata } = entries[entryKey];
|
|
@@ -1523,7 +1522,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
1523
1522
|
validateNotDisposed();
|
|
1524
1523
|
const entryKeys = keys$1.map(serializeStructuredKey);
|
|
1525
1524
|
const entries = await durableStore.getEntries(entryKeys, DefaultDurableSegment);
|
|
1526
|
-
if (entries === undefined || keys$
|
|
1525
|
+
if (entries === undefined || keys$4(entries).length === 0) {
|
|
1527
1526
|
return environment.notifyStoreUpdateAvailable(keys$1);
|
|
1528
1527
|
}
|
|
1529
1528
|
const now = Date.now();
|
|
@@ -1575,7 +1574,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
1575
1574
|
const metadataKeys = keys$1.map(serializeStructuredKey);
|
|
1576
1575
|
const now = Date.now();
|
|
1577
1576
|
const entries = await durableStore.getMetadata(metadataKeys, DefaultDurableSegment);
|
|
1578
|
-
if (entries === undefined || keys$
|
|
1577
|
+
if (entries === undefined || keys$4(entries).length === 0) {
|
|
1579
1578
|
return environment.expirePossibleStaleRecords(keys$1);
|
|
1580
1579
|
}
|
|
1581
1580
|
let metaDataChanged = false;
|
|
@@ -1601,7 +1600,7 @@ function makeDurable(environment, { durableStore, instrumentation, useRevivingSt
|
|
|
1601
1600
|
type: 'stale-while-revalidate',
|
|
1602
1601
|
staleDurationSeconds: Number.MAX_SAFE_INTEGER,
|
|
1603
1602
|
});
|
|
1604
|
-
return create$
|
|
1603
|
+
return create$4(environment, {
|
|
1605
1604
|
publishStoreMetadata: { value: publishStoreMetadata },
|
|
1606
1605
|
storeIngest: { value: storeIngest },
|
|
1607
1606
|
storeIngestError: { value: storeIngestError },
|
|
@@ -1837,7 +1836,7 @@ var QueueOperationType;
|
|
|
1837
1836
|
QueueOperationType["Update"] = "update";
|
|
1838
1837
|
})(QueueOperationType || (QueueOperationType = {}));
|
|
1839
1838
|
|
|
1840
|
-
const { keys: keys$
|
|
1839
|
+
const { keys: keys$3, create: create$3, assign: assign$3, values: values$2 } = Object;
|
|
1841
1840
|
const { stringify: stringify$3, parse: parse$3 } = JSON;
|
|
1842
1841
|
const { isArray: isArray$2 } = Array;
|
|
1843
1842
|
|
|
@@ -2208,7 +2207,7 @@ class DurableDraftQueue {
|
|
|
2208
2207
|
const queueOperations = handler.getQueueOperationsForCompletingDrafts(queue, action);
|
|
2209
2208
|
// write the queue operations to the store prior to ingesting the result
|
|
2210
2209
|
await this.draftStore.completeAction(queueOperations);
|
|
2211
|
-
await handler.handleActionCompleted(action, queueOperations, values$
|
|
2210
|
+
await handler.handleActionCompleted(action, queueOperations, values$2(this.handlers));
|
|
2212
2211
|
this.retryIntervalMilliseconds = 0;
|
|
2213
2212
|
this.uploadingActionId = undefined;
|
|
2214
2213
|
await this.notifyChangedListeners({
|
|
@@ -2414,7 +2413,7 @@ class DurableDraftQueue {
|
|
|
2414
2413
|
return pendingAction;
|
|
2415
2414
|
}
|
|
2416
2415
|
async setMetadata(actionId, metadata) {
|
|
2417
|
-
const keys$1 = keys$
|
|
2416
|
+
const keys$1 = keys$3(metadata);
|
|
2418
2417
|
const compatibleKeys = keys$1.filter((key) => {
|
|
2419
2418
|
const value = metadata[key];
|
|
2420
2419
|
return typeof key === 'string' && typeof value === 'string';
|
|
@@ -2581,7 +2580,7 @@ class DurableDraftStore {
|
|
|
2581
2580
|
const waitForOngoingSync = this.syncPromise || Promise.resolve();
|
|
2582
2581
|
return waitForOngoingSync.then(() => {
|
|
2583
2582
|
const { draftStore } = this;
|
|
2584
|
-
const keys$1 = keys$
|
|
2583
|
+
const keys$1 = keys$3(draftStore);
|
|
2585
2584
|
const actionArray = [];
|
|
2586
2585
|
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
2587
2586
|
const key = keys$1[i];
|
|
@@ -2606,7 +2605,7 @@ class DurableDraftStore {
|
|
|
2606
2605
|
deleteByTag(tag) {
|
|
2607
2606
|
const deleteAction = () => {
|
|
2608
2607
|
const { draftStore } = this;
|
|
2609
|
-
const keys$1 = keys$
|
|
2608
|
+
const keys$1 = keys$3(draftStore);
|
|
2610
2609
|
const durableKeys = [];
|
|
2611
2610
|
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
2612
2611
|
const key = keys$1[i];
|
|
@@ -2658,7 +2657,7 @@ class DurableDraftStore {
|
|
|
2658
2657
|
return this.enqueueAction(action);
|
|
2659
2658
|
}
|
|
2660
2659
|
getCount() {
|
|
2661
|
-
return keys$
|
|
2660
|
+
return keys$3(this.draftStore).length;
|
|
2662
2661
|
}
|
|
2663
2662
|
/**
|
|
2664
2663
|
* Runs a write operation against the draft store, if the initial
|
|
@@ -2699,7 +2698,7 @@ class DurableDraftStore {
|
|
|
2699
2698
|
return this.runQueuedOperations();
|
|
2700
2699
|
}
|
|
2701
2700
|
const { draftStore } = this;
|
|
2702
|
-
const keys$1 = keys$
|
|
2701
|
+
const keys$1 = keys$3(durableEntries);
|
|
2703
2702
|
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
2704
2703
|
const entry = durableEntries[keys$1[i]];
|
|
2705
2704
|
const action = entry.data;
|
|
@@ -2816,13 +2815,6 @@ function toQueueState(queue) {
|
|
|
2816
2815
|
}
|
|
2817
2816
|
class DraftManager {
|
|
2818
2817
|
shouldEmitEvent(event) {
|
|
2819
|
-
// Waiting events cannot be emitted prior to 252 native clients
|
|
2820
|
-
// TODO [W-16102411]: we can safely remove this backwards compatible code in 256
|
|
2821
|
-
if (isDraftQueueStateChangeEvent(event) &&
|
|
2822
|
-
event.state === DraftQueueState.Waiting &&
|
|
2823
|
-
this.listenerVersion === undefined) {
|
|
2824
|
-
return false;
|
|
2825
|
-
}
|
|
2826
2818
|
return this.draftEventsShouldBeEmitted.includes(event.type);
|
|
2827
2819
|
}
|
|
2828
2820
|
constructor(draftQueue) {
|
|
@@ -2980,7 +2972,7 @@ class DraftManager {
|
|
|
2980
2972
|
return this.buildDraftQueueItem(action);
|
|
2981
2973
|
}
|
|
2982
2974
|
isValidFieldMap(fields) {
|
|
2983
|
-
const keys$1 = keys$
|
|
2975
|
+
const keys$1 = keys$3(fields);
|
|
2984
2976
|
const validTypes = ['string', 'number', 'boolean'];
|
|
2985
2977
|
for (let i = 0; i < keys$1.length; i++) {
|
|
2986
2978
|
const key = keys$1[i];
|
|
@@ -3279,7 +3271,7 @@ function buildAdapterValidationConfig(displayName, paramsMeta) {
|
|
|
3279
3271
|
}
|
|
3280
3272
|
const keyPrefix = 'UiApi';
|
|
3281
3273
|
|
|
3282
|
-
const { assign: assign$
|
|
3274
|
+
const { assign: assign$2, create: create$2, entries: entries$2, freeze, isFrozen, keys: keys$2, values: values$1 } = Object;
|
|
3283
3275
|
const { hasOwnProperty } = Object.prototype;
|
|
3284
3276
|
const { split, endsWith } = String.prototype;
|
|
3285
3277
|
const { from: from$1, isArray: isArray$1 } = Array;
|
|
@@ -3308,7 +3300,7 @@ function dedupe(value) {
|
|
|
3308
3300
|
for (let i = 0, len = value.length; i < len; i += 1) {
|
|
3309
3301
|
result[value[i]] = true;
|
|
3310
3302
|
}
|
|
3311
|
-
return keys$
|
|
3303
|
+
return keys$2(result);
|
|
3312
3304
|
}
|
|
3313
3305
|
/**
|
|
3314
3306
|
* @param source The array of string to filter
|
|
@@ -5391,14 +5383,14 @@ const getTypeCacheKeys$1u = (rootKeySet, luvio, input, _fullPathFactory) => {
|
|
|
5391
5383
|
mergeable: true,
|
|
5392
5384
|
});
|
|
5393
5385
|
const input_childRelationships = input.childRelationships;
|
|
5394
|
-
const input_childRelationships_keys = keys$
|
|
5386
|
+
const input_childRelationships_keys = keys$2(input_childRelationships);
|
|
5395
5387
|
const input_childRelationships_length = input_childRelationships_keys.length;
|
|
5396
5388
|
for (let i = 0; i < input_childRelationships_length; i++) {
|
|
5397
5389
|
const key = input_childRelationships_keys[i];
|
|
5398
5390
|
getTypeCacheKeys$1t(rootKeySet, luvio, input_childRelationships[key], () => rootKey + '__childRelationships' + '__' + key);
|
|
5399
5391
|
}
|
|
5400
5392
|
const input_fields = input.fields;
|
|
5401
|
-
const field_values = keys$
|
|
5393
|
+
const field_values = keys$2(input_fields);
|
|
5402
5394
|
const input_fields_length = field_values.length;
|
|
5403
5395
|
for (let i = 0; i < input_fields_length; i++) {
|
|
5404
5396
|
const field_value = input_fields[field_values[i]];
|
|
@@ -5971,7 +5963,7 @@ function convertRecordFieldsArrayToTrie(fields, optionalFields = []) {
|
|
|
5971
5963
|
function createPathSelection(propertyName, fieldDefinition) {
|
|
5972
5964
|
const fieldsSelection = [];
|
|
5973
5965
|
const { children } = fieldDefinition;
|
|
5974
|
-
const childrenKeys = keys$
|
|
5966
|
+
const childrenKeys = keys$2(children);
|
|
5975
5967
|
for (let i = 0, len = childrenKeys.length; i < len; i += 1) {
|
|
5976
5968
|
const childKey = childrenKeys[i];
|
|
5977
5969
|
const childFieldDefinition = children[childKey];
|
|
@@ -6022,7 +6014,7 @@ function createPathSelection(propertyName, fieldDefinition) {
|
|
|
6022
6014
|
*/
|
|
6023
6015
|
function createPathSelectionFromValue(fields) {
|
|
6024
6016
|
const fieldsSelections = [];
|
|
6025
|
-
const fieldNames = keys$
|
|
6017
|
+
const fieldNames = keys$2(fields);
|
|
6026
6018
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
6027
6019
|
const fieldName = fieldNames[i];
|
|
6028
6020
|
const { value: fieldValue } = fields[fieldName];
|
|
@@ -6067,7 +6059,7 @@ function createPathSelectionFromValue(fields) {
|
|
|
6067
6059
|
}
|
|
6068
6060
|
function extractRecordFieldsRecursively(record) {
|
|
6069
6061
|
const fields = [];
|
|
6070
|
-
const fieldNames = keys$
|
|
6062
|
+
const fieldNames = keys$2(record.fields);
|
|
6071
6063
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
6072
6064
|
const fieldName = fieldNames[i];
|
|
6073
6065
|
const { value: fieldValue } = record.fields[fieldName];
|
|
@@ -6647,7 +6639,7 @@ function mergePendingFields(newRecord, oldRecord) {
|
|
|
6647
6639
|
// RecordRepresentationNormalized['fields'] to include `pending:true` property
|
|
6648
6640
|
const mergedFields = { ...newRecord.fields };
|
|
6649
6641
|
const merged = { ...newRecord, fields: mergedFields };
|
|
6650
|
-
const existingFields = keys$
|
|
6642
|
+
const existingFields = keys$2(oldRecord.fields);
|
|
6651
6643
|
for (let i = 0, len = existingFields.length; i < len; i += 1) {
|
|
6652
6644
|
const spanningFieldName = existingFields[i];
|
|
6653
6645
|
if (newRecord.fields[spanningFieldName] === undefined) {
|
|
@@ -6764,7 +6756,7 @@ function merge$1(existing, incoming, luvio, _path, recordConflictMap) {
|
|
|
6764
6756
|
if (isGraphNode(node)) {
|
|
6765
6757
|
const dependencies = node.retrieve();
|
|
6766
6758
|
if (dependencies !== null) {
|
|
6767
|
-
const depKeys = keys$
|
|
6759
|
+
const depKeys = keys$2(dependencies);
|
|
6768
6760
|
for (let i = 0, len = depKeys.length; i < len; i++) {
|
|
6769
6761
|
luvio.storeEvict(depKeys[i]);
|
|
6770
6762
|
}
|
|
@@ -6922,7 +6914,7 @@ fieldNode) {
|
|
|
6922
6914
|
}
|
|
6923
6915
|
for (let i = 0; i < fieldSubtries.length; i++) {
|
|
6924
6916
|
const subtrie = fieldSubtries[i];
|
|
6925
|
-
const fieldNames = keys$
|
|
6917
|
+
const fieldNames = keys$2(subtrie.children);
|
|
6926
6918
|
for (let i = 0; i < fieldNames.length; i++) {
|
|
6927
6919
|
const fieldName = fieldNames[i];
|
|
6928
6920
|
const childTrie = subtrie.children[fieldName];
|
|
@@ -7044,13 +7036,13 @@ function isExternalLookupFieldKey(spanningNode) {
|
|
|
7044
7036
|
return endsWith.call(spanningNode.scalar('apiName'), CUSTOM_EXTERNAL_OBJECT_FIELD_SUFFIX);
|
|
7045
7037
|
}
|
|
7046
7038
|
function convertTrieToFields(root) {
|
|
7047
|
-
if (keys$
|
|
7039
|
+
if (keys$2(root.children).length === 0) {
|
|
7048
7040
|
return [];
|
|
7049
7041
|
}
|
|
7050
7042
|
return convertTrieToFieldsRecursively(root);
|
|
7051
7043
|
}
|
|
7052
7044
|
function convertTrieToFieldsRecursively(root) {
|
|
7053
|
-
const childKeys = keys$
|
|
7045
|
+
const childKeys = keys$2(root.children);
|
|
7054
7046
|
if (childKeys.length === 0) {
|
|
7055
7047
|
if (root.name === '') {
|
|
7056
7048
|
return [];
|
|
@@ -7059,7 +7051,7 @@ function convertTrieToFieldsRecursively(root) {
|
|
|
7059
7051
|
}
|
|
7060
7052
|
return reduce.call(childKeys, (acc, cur) => concat.call(acc, convertTrieToFieldsRecursively(root.children[cur]).map((i) => `${root.name}.${i}`)), []);
|
|
7061
7053
|
}
|
|
7062
|
-
const BLANK_RECORD_FIELDS_TRIE = freeze
|
|
7054
|
+
const BLANK_RECORD_FIELDS_TRIE = freeze({
|
|
7063
7055
|
name: '',
|
|
7064
7056
|
children: {},
|
|
7065
7057
|
});
|
|
@@ -7087,7 +7079,7 @@ const getObjectNameFromField = (field) => {
|
|
|
7087
7079
|
function mergeFieldsTries(rootA, rootB) {
|
|
7088
7080
|
const rootAchildren = rootA.children;
|
|
7089
7081
|
const rootBchildren = rootB.children;
|
|
7090
|
-
const childBKeys = keys$
|
|
7082
|
+
const childBKeys = keys$2(rootBchildren);
|
|
7091
7083
|
for (let i = 0, len = childBKeys.length; i < len; i++) {
|
|
7092
7084
|
const childBKey = childBKeys[i];
|
|
7093
7085
|
if (rootAchildren[childBKey] === undefined) {
|
|
@@ -7242,8 +7234,8 @@ function isSuperRecordFieldTrie(a, b) {
|
|
|
7242
7234
|
}
|
|
7243
7235
|
const childrenA = a.children;
|
|
7244
7236
|
const childrenB = b.children;
|
|
7245
|
-
const childKeysA = keys$
|
|
7246
|
-
const childKeysB = keys$
|
|
7237
|
+
const childKeysA = keys$2(childrenA);
|
|
7238
|
+
const childKeysB = keys$2(childrenB);
|
|
7247
7239
|
const childKeysBLength = childKeysB.length;
|
|
7248
7240
|
if (childKeysBLength > childKeysA.length) {
|
|
7249
7241
|
return false;
|
|
@@ -7297,9 +7289,9 @@ function fulfill(existing, incoming) {
|
|
|
7297
7289
|
return false;
|
|
7298
7290
|
}
|
|
7299
7291
|
}
|
|
7300
|
-
const headersKeys = keys$
|
|
7292
|
+
const headersKeys = keys$2(headers);
|
|
7301
7293
|
const headersKeyLength = headersKeys.length;
|
|
7302
|
-
if (headersKeyLength !== keys$
|
|
7294
|
+
if (headersKeyLength !== keys$2(existingHeaders).length) {
|
|
7303
7295
|
return false;
|
|
7304
7296
|
}
|
|
7305
7297
|
for (let i = 0, len = headersKeyLength; i < len; i++) {
|
|
@@ -7952,7 +7944,7 @@ function buildNetworkSnapshot$g(luvio, config, serverRequestCount = 0, options)
|
|
|
7952
7944
|
|
|
7953
7945
|
// iterate through the map to build configs for network calls
|
|
7954
7946
|
function resolveConflict(luvio, map) {
|
|
7955
|
-
const ids = keys$
|
|
7947
|
+
const ids = keys$2(map.conflicts);
|
|
7956
7948
|
if (ids.length === 0) {
|
|
7957
7949
|
return;
|
|
7958
7950
|
}
|
|
@@ -9645,18 +9637,18 @@ function listFields(luvio, { fields = [], optionalFields = [], sortBy, }, listIn
|
|
|
9645
9637
|
return {
|
|
9646
9638
|
getRecordSelectionFieldSets() {
|
|
9647
9639
|
const optionalPlusDefaultFields = { ...optionalFields_ };
|
|
9648
|
-
const fields = keys$
|
|
9640
|
+
const fields = keys$2(defaultFields_);
|
|
9649
9641
|
for (let i = 0; i < fields.length; ++i) {
|
|
9650
9642
|
const field = fields[i];
|
|
9651
9643
|
if (!fields_[field] && !defaultServerFieldStatus.missingFields[field]) {
|
|
9652
9644
|
optionalPlusDefaultFields[field] = true;
|
|
9653
9645
|
}
|
|
9654
9646
|
}
|
|
9655
|
-
return [keys$
|
|
9647
|
+
return [keys$2(fields_).sort(), keys$2(optionalPlusDefaultFields).sort()];
|
|
9656
9648
|
},
|
|
9657
9649
|
processRecords(records) {
|
|
9658
9650
|
const { missingFields } = defaultServerFieldStatus;
|
|
9659
|
-
const fields = keys$
|
|
9651
|
+
const fields = keys$2(missingFields);
|
|
9660
9652
|
for (let i = 0; i < fields.length; ++i) {
|
|
9661
9653
|
const field = fields[i], splitField = field.split('.').slice(1);
|
|
9662
9654
|
for (let i = 0; i < records.length; ++i) {
|
|
@@ -14729,7 +14721,7 @@ function getMissingRecordLookupFields(record, objectInfo) {
|
|
|
14729
14721
|
const lookupFields = {};
|
|
14730
14722
|
const { apiName, fields: recordFields } = record;
|
|
14731
14723
|
const { fields: objectInfoFields } = objectInfo;
|
|
14732
|
-
const objectInfoFieldNames = keys$
|
|
14724
|
+
const objectInfoFieldNames = keys$2(objectInfoFields);
|
|
14733
14725
|
for (let i = 0, len = objectInfoFieldNames.length; i < len; i += 1) {
|
|
14734
14726
|
const fieldName = objectInfoFieldNames[i];
|
|
14735
14727
|
const field = objectInfoFields[fieldName];
|
|
@@ -14748,12 +14740,12 @@ function getMissingRecordLookupFields(record, objectInfo) {
|
|
|
14748
14740
|
const nameField = `${apiName}.${relationshipName}.${getNameField(objectInfo, fieldName)}`;
|
|
14749
14741
|
lookupFields[nameField] = true;
|
|
14750
14742
|
}
|
|
14751
|
-
return keys$
|
|
14743
|
+
return keys$2(lookupFields);
|
|
14752
14744
|
}
|
|
14753
14745
|
function getRecordUiMissingRecordLookupFields(recordUi) {
|
|
14754
14746
|
const { records, objectInfos } = recordUi;
|
|
14755
14747
|
const recordLookupFields = {};
|
|
14756
|
-
const recordIds = keys$
|
|
14748
|
+
const recordIds = keys$2(records);
|
|
14757
14749
|
for (let i = 0, len = recordIds.length; i < len; i += 1) {
|
|
14758
14750
|
const recordId = recordIds[i];
|
|
14759
14751
|
const recordData = records[recordId];
|
|
@@ -14791,19 +14783,19 @@ function buildCachedSelectorKey(key) {
|
|
|
14791
14783
|
}
|
|
14792
14784
|
function eachLayout(recordUi, cb) {
|
|
14793
14785
|
const { layouts } = recordUi;
|
|
14794
|
-
const layoutApiNames = keys$
|
|
14786
|
+
const layoutApiNames = keys$2(layouts);
|
|
14795
14787
|
for (let a = 0, len = layoutApiNames.length; a < len; a += 1) {
|
|
14796
14788
|
const apiName = layoutApiNames[a];
|
|
14797
14789
|
const apiNameData = layouts[apiName];
|
|
14798
|
-
const recordTypeIds = keys$
|
|
14790
|
+
const recordTypeIds = keys$2(apiNameData);
|
|
14799
14791
|
for (let b = 0, recordTypeIdsLen = recordTypeIds.length; b < recordTypeIdsLen; b += 1) {
|
|
14800
14792
|
const recordTypeId = recordTypeIds[b];
|
|
14801
14793
|
const recordTypeData = apiNameData[recordTypeId];
|
|
14802
|
-
const layoutTypes = keys$
|
|
14794
|
+
const layoutTypes = keys$2(recordTypeData);
|
|
14803
14795
|
for (let c = 0, layoutTypesLen = layoutTypes.length; c < layoutTypesLen; c += 1) {
|
|
14804
14796
|
const layoutType = layoutTypes[c];
|
|
14805
14797
|
const layoutTypeData = recordTypeData[layoutType];
|
|
14806
|
-
const modes = keys$
|
|
14798
|
+
const modes = keys$2(layoutTypeData);
|
|
14807
14799
|
for (let d = 0, modesLen = modes.length; d < modesLen; d += 1) {
|
|
14808
14800
|
const mode = modes[d];
|
|
14809
14801
|
const layout = layoutTypeData[mode];
|
|
@@ -15009,14 +15001,14 @@ function buildNetworkSnapshot$e(luvio, config, dispatchContext) {
|
|
|
15009
15001
|
function publishDependencies(luvio, recordIds, depKeys) {
|
|
15010
15002
|
for (let i = 0, len = recordIds.length; i < len; i += 1) {
|
|
15011
15003
|
const recordDepKey = dependencyKeyBuilder({ recordId: recordIds[i] });
|
|
15012
|
-
const dependencies = create$
|
|
15004
|
+
const dependencies = create$2(null);
|
|
15013
15005
|
for (let j = 0, len = depKeys.length; j < len; j++) {
|
|
15014
15006
|
dependencies[depKeys[j]] = true;
|
|
15015
15007
|
}
|
|
15016
15008
|
const node = luvio.getNode(recordDepKey);
|
|
15017
15009
|
if (isGraphNode(node)) {
|
|
15018
15010
|
const recordDeps = node.retrieve();
|
|
15019
|
-
assign$
|
|
15011
|
+
assign$2(dependencies, recordDeps);
|
|
15020
15012
|
}
|
|
15021
15013
|
luvio.storePublish(recordDepKey, dependencies);
|
|
15022
15014
|
}
|
|
@@ -15134,7 +15126,7 @@ function refresh(luvio, config) {
|
|
|
15134
15126
|
}
|
|
15135
15127
|
if (isUnfulfilledSnapshot$1(snapshot)) {
|
|
15136
15128
|
if (process.env.NODE_ENV !== 'production') {
|
|
15137
|
-
throw new Error(`RecordUi adapter resolved with a snapshot with missing data, missingPaths: ${keys$
|
|
15129
|
+
throw new Error(`RecordUi adapter resolved with a snapshot with missing data, missingPaths: ${keys$2(snapshot.missingPaths)}`);
|
|
15138
15130
|
}
|
|
15139
15131
|
}
|
|
15140
15132
|
const { data } = snapshot;
|
|
@@ -15181,7 +15173,7 @@ function processRecordUiRepresentation(luvio, refresh, recordId, modes, snapshot
|
|
|
15181
15173
|
}
|
|
15182
15174
|
if (isUnfulfilledSnapshot$1(snapshot)) {
|
|
15183
15175
|
if (process.env.NODE_ENV !== 'production') {
|
|
15184
|
-
throw new Error(`RecordUi adapter resolved with a snapshot with missing data, missingPaths: ${keys$
|
|
15176
|
+
throw new Error(`RecordUi adapter resolved with a snapshot with missing data, missingPaths: ${keys$2(snapshot.missingPaths)}`);
|
|
15185
15177
|
}
|
|
15186
15178
|
}
|
|
15187
15179
|
const { data } = snapshot;
|
|
@@ -15210,11 +15202,11 @@ const recordLayoutFragmentSelector = [
|
|
|
15210
15202
|
function getFieldsFromLayoutMap(layoutMap, objectInfo) {
|
|
15211
15203
|
let fields = [];
|
|
15212
15204
|
let optionalFields = [];
|
|
15213
|
-
const layoutTypes = keys$
|
|
15205
|
+
const layoutTypes = keys$2(layoutMap);
|
|
15214
15206
|
for (let i = 0, layoutTypesLen = layoutTypes.length; i < layoutTypesLen; i += 1) {
|
|
15215
15207
|
const layoutType = layoutTypes[i];
|
|
15216
15208
|
const modesMap = layoutMap[layoutType];
|
|
15217
|
-
const modes = keys$
|
|
15209
|
+
const modes = keys$2(modesMap);
|
|
15218
15210
|
for (let m = 0, modesLen = modes.length; m < modesLen; m += 1) {
|
|
15219
15211
|
const mode = modes[m];
|
|
15220
15212
|
const { fields: modeFields, optionalFields: modeOptionalFields } = getQualifiedFieldApiNamesFromLayout(modesMap[mode], objectInfo);
|
|
@@ -15250,7 +15242,7 @@ function getRecordForLayoutableEntities(luvio, refresh, recordId, layoutMap, obj
|
|
|
15250
15242
|
return getRecord(luvio, refresh, recordId, [], implicitFields);
|
|
15251
15243
|
}
|
|
15252
15244
|
function getRecordForNonLayoutableEntities(luvio, adapterContext, refresh, recordId, objectInfo, configOptionalFields, configFields) {
|
|
15253
|
-
const fields = keys$
|
|
15245
|
+
const fields = keys$2(configFields ? configFields : {}).map((key) => `${objectInfo.apiName}.${key}`);
|
|
15254
15246
|
// W-12697744
|
|
15255
15247
|
// Set the implicit fields received from the server in adapter context
|
|
15256
15248
|
// This ensures that the implicit fields are available when data is read locally or from durable store
|
|
@@ -15496,7 +15488,7 @@ function makeRecordLayoutMap(luvio, config, apiName, recordTypeId, layoutTypes,
|
|
|
15496
15488
|
}
|
|
15497
15489
|
const { layoutType, mode, snapshot } = container;
|
|
15498
15490
|
if (wrapper.layoutMap[layoutType] === undefined) {
|
|
15499
|
-
wrapper.layoutMap = assign$
|
|
15491
|
+
wrapper.layoutMap = assign$2({}, wrapper.layoutMap, {
|
|
15500
15492
|
[layoutType]: {},
|
|
15501
15493
|
});
|
|
15502
15494
|
}
|
|
@@ -16102,7 +16094,7 @@ function typeCheckConfig$9(untrustedConfig) {
|
|
|
16102
16094
|
}
|
|
16103
16095
|
}
|
|
16104
16096
|
if (records.length > 0) {
|
|
16105
|
-
assign$
|
|
16097
|
+
assign$2(config, { records });
|
|
16106
16098
|
}
|
|
16107
16099
|
}
|
|
16108
16100
|
return config;
|
|
@@ -28435,9 +28427,7 @@ function convertGraphQLToRaml(astNode, state) {
|
|
|
28435
28427
|
: new Map();
|
|
28436
28428
|
const { fieldsBag, trie } = createFieldsBagAndTrie(data, requestedFields, state);
|
|
28437
28429
|
const recordTypeId = data.ldsRecordTypeId === null ? null : data.ldsRecordTypeId.value;
|
|
28438
|
-
if (
|
|
28439
|
-
recordTypeId &&
|
|
28440
|
-
recordTypeId !== MAIN_RECORD_TYPE_ID) {
|
|
28430
|
+
if (recordTypeId && recordTypeId !== MAIN_RECORD_TYPE_ID) {
|
|
28441
28431
|
const fieldName = 'RecordTypeId';
|
|
28442
28432
|
fieldsBag[fieldName] = {
|
|
28443
28433
|
value: recordTypeId,
|
|
@@ -28773,7 +28763,7 @@ function selectType$I(typename, sel, fieldData, reader, key, sink, variables, fr
|
|
|
28773
28763
|
*/
|
|
28774
28764
|
|
|
28775
28765
|
|
|
28776
|
-
function isStoreKeyRecordId
|
|
28766
|
+
function isStoreKeyRecordId(key) {
|
|
28777
28767
|
return key.indexOf(RECORD_ID_PREFIX) > -1 && key.indexOf(RECORD_FIELDS_KEY_JUNCTION) === -1;
|
|
28778
28768
|
}
|
|
28779
28769
|
function objectsDeepEqual(lhs, rhs) {
|
|
@@ -41517,7 +41507,7 @@ function getRecordKeyForId(luvio, recordId) {
|
|
|
41517
41507
|
*/
|
|
41518
41508
|
function filterOutReferenceNonScalarFields(record) {
|
|
41519
41509
|
const filteredFields = {};
|
|
41520
|
-
const fieldNames = keys$
|
|
41510
|
+
const fieldNames = keys$2(record.fields);
|
|
41521
41511
|
for (const fieldName of fieldNames) {
|
|
41522
41512
|
const field = record.fields[fieldName];
|
|
41523
41513
|
if (isFieldLink(field) === false && isPendingOrMissing(field) === false) {
|
|
@@ -41623,7 +41613,7 @@ function getRecordDraftEnvironment(luvio, env, { isDraftId, durableRecordStore }
|
|
|
41623
41613
|
const resolvedRequest = resolveResourceRequestIds(luvio, resourceRequest, canonicalKey);
|
|
41624
41614
|
return env.dispatchResourceRequest(resolvedRequest, context, eventObservers);
|
|
41625
41615
|
};
|
|
41626
|
-
return create$
|
|
41616
|
+
return create$2(env, {
|
|
41627
41617
|
dispatchResourceRequest: { value: dispatchResourceRequest },
|
|
41628
41618
|
});
|
|
41629
41619
|
}
|
|
@@ -41801,7 +41791,7 @@ function getRecordsDraftEnvironment(luvio, env, { isDraftId }) {
|
|
|
41801
41791
|
return applyDraftsToBatchResponse(resourceRequest, response, removedDraftIds);
|
|
41802
41792
|
}));
|
|
41803
41793
|
};
|
|
41804
|
-
return create$
|
|
41794
|
+
return create$2(env, {
|
|
41805
41795
|
dispatchResourceRequest: { value: dispatchResourceRequest },
|
|
41806
41796
|
});
|
|
41807
41797
|
}
|
|
@@ -41811,7 +41801,7 @@ function makeEnvironmentUiApiRecordDraftAware(luvio, options, env) {
|
|
|
41811
41801
|
const adapterSpecificEnvironments = synthesizers.reduce((environment, synthesizer) => {
|
|
41812
41802
|
return synthesizer(luvio, environment, options);
|
|
41813
41803
|
}, env);
|
|
41814
|
-
return create$
|
|
41804
|
+
return create$2(adapterSpecificEnvironments, {});
|
|
41815
41805
|
}
|
|
41816
41806
|
|
|
41817
41807
|
const HTTP_HEADER_RETRY_AFTER = 'Retry-After';
|
|
@@ -42361,7 +42351,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
|
|
|
42361
42351
|
pendingAction.data.method !== 'delete' && //'delete' action does not have fields
|
|
42362
42352
|
objectInfo) {
|
|
42363
42353
|
const appendedFields = this.getBackdatingFields(objectInfo, resolvedRequest.method, pendingAction);
|
|
42364
|
-
if (keys$
|
|
42354
|
+
if (keys$2(appendedFields).length > 0) {
|
|
42365
42355
|
pendingAction.data.body = {
|
|
42366
42356
|
...pendingAction.data.body,
|
|
42367
42357
|
fields: {
|
|
@@ -42375,7 +42365,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
|
|
|
42375
42365
|
}
|
|
42376
42366
|
getBackdatingFields(objectInfo, requestMethod, pendingAction) {
|
|
42377
42367
|
const fields = {};
|
|
42378
|
-
const actionFieldNames = keys$
|
|
42368
|
+
const actionFieldNames = keys$2(pendingAction.data.body.fields);
|
|
42379
42369
|
if (requestMethod === 'post') {
|
|
42380
42370
|
// `CreateRecord` with `CreatedDate` field
|
|
42381
42371
|
if (isBackdatingFieldEditable(objectInfo, DEFAULT_FIELD_CREATED_DATE$1, 'createable', actionFieldNames)) {
|
|
@@ -42421,7 +42411,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
|
|
|
42421
42411
|
return;
|
|
42422
42412
|
}
|
|
42423
42413
|
const objectInfo = objectInfoMap[apiName];
|
|
42424
|
-
const optionalFields = values$
|
|
42414
|
+
const optionalFields = values$1(objectInfo.fields).map((field) => `${apiName}.${field.apiName}`);
|
|
42425
42415
|
await getAdapterData(this.getRecordAdapter, {
|
|
42426
42416
|
recordId: referenceFieldInfo.id,
|
|
42427
42417
|
optionalFields,
|
|
@@ -42440,7 +42430,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
|
|
|
42440
42430
|
const referenceToInfos = fieldInfo.referenceToInfos;
|
|
42441
42431
|
const apiNames = referenceToInfos.map((referenceToInfo) => referenceToInfo.apiName);
|
|
42442
42432
|
const objectInfoMap = await this.objectInfoService.getObjectInfos(apiNames);
|
|
42443
|
-
for (const objectInfo of values$
|
|
42433
|
+
for (const objectInfo of values$1(objectInfoMap)) {
|
|
42444
42434
|
const { apiName, keyPrefix } = objectInfo;
|
|
42445
42435
|
if (keyPrefix !== null && id.startsWith(keyPrefix)) {
|
|
42446
42436
|
return apiName;
|
|
@@ -42526,7 +42516,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
|
|
|
42526
42516
|
let resolvedUrlParams = request.urlParams;
|
|
42527
42517
|
if (request.method === 'post' || request.method === 'patch') {
|
|
42528
42518
|
const bodyFields = resolvedBody.fields;
|
|
42529
|
-
const fieldNames = keys$
|
|
42519
|
+
const fieldNames = keys$2(bodyFields);
|
|
42530
42520
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
42531
42521
|
const fieldName = fieldNames[i];
|
|
42532
42522
|
const fieldValue = bodyFields[fieldName];
|
|
@@ -42682,7 +42672,7 @@ class UiApiDraftRecordService {
|
|
|
42682
42672
|
};
|
|
42683
42673
|
}
|
|
42684
42674
|
const referenceFields = [];
|
|
42685
|
-
const fieldNames = keys$
|
|
42675
|
+
const fieldNames = keys$2(fields);
|
|
42686
42676
|
const unexpectedFields = [];
|
|
42687
42677
|
for (const field of fieldNames) {
|
|
42688
42678
|
const fieldInfo = objectInfo.fields[field];
|
|
@@ -42744,11 +42734,13 @@ class UiApiDraftRecordService {
|
|
|
42744
42734
|
|
|
42745
42735
|
const QUICK_ACTION_HANDLER = 'QUICK_ACTION_HANDLER';
|
|
42746
42736
|
class QuickActionExecutionRepresentationHandler extends AbstractResourceRequestActionHandler {
|
|
42747
|
-
constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService) {
|
|
42737
|
+
constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService, objectInfoService, getRecord) {
|
|
42748
42738
|
super(draftQueue, networkAdapter, getLuvio, draftRecordService);
|
|
42749
42739
|
this.draftRecordService = draftRecordService;
|
|
42750
42740
|
this.isDraftId = isDraftId;
|
|
42751
42741
|
this.sideEffectService = sideEffectService;
|
|
42742
|
+
this.objectInfoService = objectInfoService;
|
|
42743
|
+
this.getRecord = getRecord;
|
|
42752
42744
|
this.handlerId = QUICK_ACTION_HANDLER;
|
|
42753
42745
|
draftRecordService.registerRecordHandler(this);
|
|
42754
42746
|
}
|
|
@@ -42780,6 +42772,30 @@ class QuickActionExecutionRepresentationHandler extends AbstractResourceRequestA
|
|
|
42780
42772
|
});
|
|
42781
42773
|
luvio.storeIngest(key, ingestQuickActionExecutionRepresentation, response);
|
|
42782
42774
|
}
|
|
42775
|
+
async handleActionCompleted(action, queueOperations) {
|
|
42776
|
+
await super.handleActionCompleted(action, queueOperations);
|
|
42777
|
+
this.getLuvio();
|
|
42778
|
+
const canonicalId = action.response.body.id;
|
|
42779
|
+
this.buildTagForTargetId(canonicalId);
|
|
42780
|
+
const prefix = canonicalId.substring(0, 3);
|
|
42781
|
+
if (prefix.length !== 3) {
|
|
42782
|
+
// if we can't get a prefix, don't do the rest
|
|
42783
|
+
return;
|
|
42784
|
+
}
|
|
42785
|
+
const apiName = await this.objectInfoService.apiNameForPrefix(prefix);
|
|
42786
|
+
const objectInfo = await this.objectInfoService.getObjectInfo(apiName);
|
|
42787
|
+
if (!objectInfo) {
|
|
42788
|
+
return;
|
|
42789
|
+
}
|
|
42790
|
+
await this.getRecord({ recordId: canonicalId, fields: this.allFields(objectInfo) });
|
|
42791
|
+
}
|
|
42792
|
+
allFields(objectInfo) {
|
|
42793
|
+
let fields = [];
|
|
42794
|
+
Object.keys(objectInfo.fields).forEach((fieldName) => {
|
|
42795
|
+
fields.push(objectInfo.apiName + '.' + fieldName);
|
|
42796
|
+
});
|
|
42797
|
+
return fields;
|
|
42798
|
+
}
|
|
42783
42799
|
mergeRequestBody() {
|
|
42784
42800
|
throw Error('mergeActions not supported for QuickActionExecutionRepresentationHandler');
|
|
42785
42801
|
}
|
|
@@ -43034,7 +43050,7 @@ function createContentDocumentAndVersionDraftAdapterFactory(luvio, binaryStore,
|
|
|
43034
43050
|
...trimmedDownData.contentVersion,
|
|
43035
43051
|
fields: cvFields,
|
|
43036
43052
|
};
|
|
43037
|
-
freeze
|
|
43053
|
+
freeze(trimmedDownData);
|
|
43038
43054
|
eventEmitter({ type: 'create-content-document-and-version-draft-finished' });
|
|
43039
43055
|
return {
|
|
43040
43056
|
state: 'Fulfilled',
|
|
@@ -43968,7 +43984,7 @@ function dateTimePredicate(input, operator, field, alias) {
|
|
|
43968
43984
|
return predicate;
|
|
43969
43985
|
}
|
|
43970
43986
|
else if (literal !== undefined) {
|
|
43971
|
-
const isAvailableLiteral = values$
|
|
43987
|
+
const isAvailableLiteral = values$1(DateLiteral).includes(literal);
|
|
43972
43988
|
// eslint-disable-next-line @salesforce/lds/no-error-in-production
|
|
43973
43989
|
if (!isAvailableLiteral)
|
|
43974
43990
|
throw new Error(`${literal} is not a valid DateLiteral`);
|
|
@@ -43982,7 +43998,7 @@ function dateTimePredicate(input, operator, field, alias) {
|
|
|
43982
43998
|
}
|
|
43983
43999
|
function dateTimeRange(input, op, field, alias) {
|
|
43984
44000
|
const dateFunction = field.dataType === 'DateTime' ? 'datetime' : 'date';
|
|
43985
|
-
const key = keys$
|
|
44001
|
+
const key = keys$2(input)[0];
|
|
43986
44002
|
let operator = op;
|
|
43987
44003
|
if (operator === '=')
|
|
43988
44004
|
operator = 'BETWEEN';
|
|
@@ -44282,7 +44298,7 @@ function filterToPredicates(where, recordType, alias, objectInfoMap, joins, draf
|
|
|
44282
44298
|
if (!where)
|
|
44283
44299
|
return [];
|
|
44284
44300
|
let predicates = [];
|
|
44285
|
-
const fields = keys$
|
|
44301
|
+
const fields = keys$2(where);
|
|
44286
44302
|
for (const field of fields) {
|
|
44287
44303
|
if (field === 'and' || field === 'or') {
|
|
44288
44304
|
predicates.push(processCompoundPredicate(field, where[field], recordType, alias, objectInfoMap, joins));
|
|
@@ -44335,7 +44351,7 @@ function filterToPredicates(where, recordType, alias, objectInfoMap, joins, draf
|
|
|
44335
44351
|
}
|
|
44336
44352
|
else {
|
|
44337
44353
|
// @W-12618378 polymorphic query sometimes does not work as expected on server. The GQL on certain entities could fail.
|
|
44338
|
-
const entityNames = keys$
|
|
44354
|
+
const entityNames = keys$2(where[field]);
|
|
44339
44355
|
const polyPredicatesGroups = entityNames
|
|
44340
44356
|
.filter((entityName) => fieldInfo.referenceToInfos.some((referenceInfo) => referenceInfo.apiName === entityName))
|
|
44341
44357
|
.map((entityName) => {
|
|
@@ -44370,7 +44386,7 @@ function filterToPredicates(where, recordType, alias, objectInfoMap, joins, draf
|
|
|
44370
44386
|
}
|
|
44371
44387
|
else {
|
|
44372
44388
|
//`field` match the filedInfo's apiName
|
|
44373
|
-
for (const [op, value] of entries$
|
|
44389
|
+
for (const [op, value] of entries$2(where[field])) {
|
|
44374
44390
|
const operator = operatorToSql(op);
|
|
44375
44391
|
/**
|
|
44376
44392
|
Two types ID processing might be needed. Draft ID swapping is optional, which depends on DraftFunctions existence.
|
|
@@ -44881,7 +44897,7 @@ function dedupeJoins(joins) {
|
|
|
44881
44897
|
for (const join of joins) {
|
|
44882
44898
|
deduped[join.alias + join.to] = join;
|
|
44883
44899
|
}
|
|
44884
|
-
return values$
|
|
44900
|
+
return values$1(deduped);
|
|
44885
44901
|
}
|
|
44886
44902
|
function buildJoins(config) {
|
|
44887
44903
|
let sql = '';
|
|
@@ -45556,7 +45572,7 @@ function depth(json, currentLevel = 0) {
|
|
|
45556
45572
|
if (typeof json !== 'object') {
|
|
45557
45573
|
return currentLevel;
|
|
45558
45574
|
}
|
|
45559
|
-
const keys = keys$
|
|
45575
|
+
const keys = keys$2(json);
|
|
45560
45576
|
if (keys.length === 0)
|
|
45561
45577
|
return 0;
|
|
45562
45578
|
const depths = keys.map((key) => {
|
|
@@ -45569,7 +45585,7 @@ function flatten(previous, current) {
|
|
|
45569
45585
|
return previous.concat(current);
|
|
45570
45586
|
}
|
|
45571
45587
|
function findFieldInfo(objectInfo, fieldName) {
|
|
45572
|
-
return values$
|
|
45588
|
+
return values$1(objectInfo.fields).find((field) => field.apiName === fieldName ||
|
|
45573
45589
|
(field.dataType === 'Reference' && field.relationshipName === fieldName));
|
|
45574
45590
|
}
|
|
45575
45591
|
async function readIngestionTimestampForKey(key, query) {
|
|
@@ -45609,14 +45625,14 @@ function orderByToPredicate(orderBy, recordType, alias, objectInfoMap, joins) {
|
|
|
45609
45625
|
return predicates;
|
|
45610
45626
|
const isSpanning = depth(orderBy) > 2;
|
|
45611
45627
|
if (isSpanning) {
|
|
45612
|
-
const keys = keys$
|
|
45628
|
+
const keys = keys$2(orderBy);
|
|
45613
45629
|
for (let i = 0, len = keys.length; i < len; i++) {
|
|
45614
45630
|
const key = keys[i];
|
|
45615
45631
|
const parentFields = objectInfoMap[recordType].fields;
|
|
45616
|
-
const fieldInfo = values$
|
|
45632
|
+
const fieldInfo = values$1(parentFields).find(findSpanningField(key));
|
|
45617
45633
|
if (fieldInfo && fieldInfo.referenceToInfos.length > 0) {
|
|
45618
45634
|
const { apiName } = fieldInfo.referenceToInfos[0];
|
|
45619
|
-
const parentFieldInfo = values$
|
|
45635
|
+
const parentFieldInfo = values$1(objectInfoMap[recordType].fields).find(findSpanningField(fieldInfo.apiName));
|
|
45620
45636
|
if (parentFieldInfo !== undefined) {
|
|
45621
45637
|
const path = {
|
|
45622
45638
|
leftPath: `$.fields.${parentFieldInfo.apiName}.value`,
|
|
@@ -45639,7 +45655,7 @@ function orderByToPredicate(orderBy, recordType, alias, objectInfoMap, joins) {
|
|
|
45639
45655
|
}
|
|
45640
45656
|
}
|
|
45641
45657
|
else {
|
|
45642
|
-
const keys = keys$
|
|
45658
|
+
const keys = keys$2(orderBy);
|
|
45643
45659
|
for (let i = 0, len = keys.length; i < len; i++) {
|
|
45644
45660
|
const key = keys[i];
|
|
45645
45661
|
if (!objectInfoMap[recordType])
|
|
@@ -46934,7 +46950,7 @@ function buildKeyStringForRecordQuery(operation, variables, argumentNodes, curre
|
|
|
46934
46950
|
variables,
|
|
46935
46951
|
fragmentMap: {},
|
|
46936
46952
|
});
|
|
46937
|
-
const filteredArgumentNodes = assign$
|
|
46953
|
+
const filteredArgumentNodes = assign$2([], argumentNodes).filter((node) => node.name.value !== 'first' && node.name.value !== 'after');
|
|
46938
46954
|
const argumentString = filteredArgumentNodes.length > 0
|
|
46939
46955
|
? '__' + serializeFieldArguments(filteredArgumentNodes, variables)
|
|
46940
46956
|
: '';
|
|
@@ -46957,7 +46973,7 @@ function addResolversToSchema(schema, polyFields) {
|
|
|
46957
46973
|
let baseRecord = undefined;
|
|
46958
46974
|
// Concrete types for Polymorphic field
|
|
46959
46975
|
const polyTypes = [];
|
|
46960
|
-
for (const type of values$
|
|
46976
|
+
for (const type of values$1(schema.getTypeMap())) {
|
|
46961
46977
|
if (type.name === 'Record') {
|
|
46962
46978
|
recordInterface = type;
|
|
46963
46979
|
}
|
|
@@ -46970,7 +46986,7 @@ function addResolversToSchema(schema, polyFields) {
|
|
|
46970
46986
|
if (polyFields.find((fieldTypeName) => fieldTypeName === type.name) !== undefined) {
|
|
46971
46987
|
polyTypes.push(type);
|
|
46972
46988
|
}
|
|
46973
|
-
const fields = values$
|
|
46989
|
+
const fields = values$1(type.getFields());
|
|
46974
46990
|
// initialize the fields of current type with default behavior
|
|
46975
46991
|
for (const field of fields) {
|
|
46976
46992
|
field.resolve = defaultFieldResolver;
|
|
@@ -47349,7 +47365,7 @@ function generateRecordQueries(schema, objectInfoMap) {
|
|
|
47349
47365
|
// use a set to not allow duplicate scalars causing error(s)
|
|
47350
47366
|
let addedTypedScalars = new Set();
|
|
47351
47367
|
let allPolymorphicFieldTypeNames = new Set();
|
|
47352
|
-
for (const name of keys$
|
|
47368
|
+
for (const name of keys$2(objectInfoMap)) {
|
|
47353
47369
|
const objectInfo = objectInfoMap[name];
|
|
47354
47370
|
const { apiName } = objectInfo;
|
|
47355
47371
|
const type = schema.getType(apiName);
|
|
@@ -47418,7 +47434,7 @@ function createNewRecordQuery(schema, objectInfo, objectInfoMap) {
|
|
|
47418
47434
|
const { apiName, childRelationships, fields: fieldsRepresentation } = objectInfo;
|
|
47419
47435
|
typedScalars.add(`${apiName}_Filter`);
|
|
47420
47436
|
typedScalars.add(`${apiName}_OrderBy`);
|
|
47421
|
-
const { fields, polymorphicFieldTypeNames } = makeRecordField(values$
|
|
47437
|
+
const { fields, polymorphicFieldTypeNames } = makeRecordField(values$1(fieldsRepresentation), objectInfo, objectInfoMap, parentRelationshipFields, 'Missing');
|
|
47422
47438
|
// handles child relationship
|
|
47423
47439
|
const { spanningRecordConnections, typedScalars: spanningConnectionTypedScalars } = makeSpanningRecordConnections(schema, childRelationships, objectInfoMap, parentRelationshipFields);
|
|
47424
47440
|
typedScalars = new Set([...typedScalars, ...spanningConnectionTypedScalars]);
|
|
@@ -47476,8 +47492,8 @@ function extendExistingRecordType(schema, type, objectInfo, objectInfoMap) {
|
|
|
47476
47492
|
// use a set to not allow duplicate scalars causing error(s)
|
|
47477
47493
|
let typedScalars = new Set();
|
|
47478
47494
|
let parentRelationshipFields = new Set();
|
|
47479
|
-
const existingFields = keys$
|
|
47480
|
-
const missingFields = values$
|
|
47495
|
+
const existingFields = keys$2(type.getFields());
|
|
47496
|
+
const missingFields = values$1(objectInfo.fields).filter((field) => {
|
|
47481
47497
|
return (existingFields.includes(field.apiName) === false ||
|
|
47482
47498
|
(field.relationshipName !== null && field.referenceToInfos.length > 0));
|
|
47483
47499
|
});
|
|
@@ -47559,7 +47575,7 @@ function makeSpanningRecordConnections(schema, childRelationships, objectInfoMap
|
|
|
47559
47575
|
function makeRecordField(fieldRepresentations, objectInfo, objectInfoMap, existingParentRelationships, recordTypeInSchema, existingFields = []) {
|
|
47560
47576
|
const polymorphicFieldTypeNames = new Set();
|
|
47561
47577
|
let fields = ``;
|
|
47562
|
-
for (const field of values$
|
|
47578
|
+
for (const field of values$1(fieldRepresentations)) {
|
|
47563
47579
|
if (!fieldsStaticallyAdded.includes(field.apiName) && recordTypeInSchema === 'Missing') {
|
|
47564
47580
|
fields += `${field.apiName}: ${graphqlTypeForField(field, objectInfo)}\n`;
|
|
47565
47581
|
}
|
|
@@ -48127,7 +48143,7 @@ function isMineScopeAvailable(apiNamePath, pathToObjectApiNamesMap, objectInfos)
|
|
|
48127
48143
|
const objectInfo = objectInfos[apiName[0]];
|
|
48128
48144
|
if (!objectInfo)
|
|
48129
48145
|
return false;
|
|
48130
|
-
return values$
|
|
48146
|
+
return values$1(objectInfo.fields).some((fieldInfo) => {
|
|
48131
48147
|
return (fieldInfo.apiName === 'OwnerId' &&
|
|
48132
48148
|
fieldInfo.referenceToInfos.some((referenceToInfo) => {
|
|
48133
48149
|
return referenceToInfo.apiName === 'User';
|
|
@@ -48337,7 +48353,7 @@ async function resolveObjectInfos(objectInfotree, pathToObjectApiNamesMap, start
|
|
|
48337
48353
|
// eslint-disable-next-line
|
|
48338
48354
|
throw new Error(`Unable to resolve ObjectInfo(s) for ${Array.from(startNodes)}`);
|
|
48339
48355
|
}
|
|
48340
|
-
if (keys$
|
|
48356
|
+
if (keys$2(objectInfos).length < startNodes.size) {
|
|
48341
48357
|
// eslint-disable-next-line
|
|
48342
48358
|
throw new Error(`Unable to resolve ObjectInfo(s) for ${Array.from(startNodes)}`);
|
|
48343
48359
|
}
|
|
@@ -49365,7 +49381,7 @@ function removeSyntheticFields(result, query) {
|
|
|
49365
49381
|
output.data.uiapi = { ...output.data.uiapi };
|
|
49366
49382
|
output.data.uiapi.query = { ...output.data.uiapi.query };
|
|
49367
49383
|
const outputApiParent = output.data.uiapi.query;
|
|
49368
|
-
const keys = keys$
|
|
49384
|
+
const keys = keys$2(nodeJson);
|
|
49369
49385
|
keys.forEach((recordName) => {
|
|
49370
49386
|
const outputApi = {};
|
|
49371
49387
|
// Each connectionSelection's maps its name or alias to one of returned records. The record name could be `apiName' or alias
|
|
@@ -49385,7 +49401,7 @@ function removeSyntheticFields(result, query) {
|
|
|
49385
49401
|
* @param jsonOutput JsonObject which will be populated with properties. It would only contains properties defined in 'FieldNode'
|
|
49386
49402
|
*/
|
|
49387
49403
|
function createUserJsonOutput(selection, jsonInput, jsonOutput) {
|
|
49388
|
-
const keys = keys$
|
|
49404
|
+
const keys = keys$2(jsonInput);
|
|
49389
49405
|
if (selection.selectionSet) {
|
|
49390
49406
|
createjsonOutput(selection.selectionSet.selections, jsonInput, jsonOutput);
|
|
49391
49407
|
}
|
|
@@ -49394,7 +49410,7 @@ function createUserJsonOutput(selection, jsonInput, jsonOutput) {
|
|
|
49394
49410
|
}
|
|
49395
49411
|
}
|
|
49396
49412
|
function createjsonOutput(selections, jsonInput, jsonOutput) {
|
|
49397
|
-
const keys = keys$
|
|
49413
|
+
const keys = keys$2(jsonInput);
|
|
49398
49414
|
selections.filter(isFieldNode).forEach((subSelection) => {
|
|
49399
49415
|
const fieldName = subSelection.alias ? subSelection.alias.value : subSelection.name.value;
|
|
49400
49416
|
if (keys.includes(fieldName)) {
|
|
@@ -49802,7 +49818,7 @@ function findRecordQueryContainsFieldType(recordQueryNode, fieldNames) {
|
|
|
49802
49818
|
*/
|
|
49803
49819
|
function findFieldTypeInObjectInfo(objectInfos, fieldType) {
|
|
49804
49820
|
let fieldsWithDataType = [];
|
|
49805
|
-
keys$
|
|
49821
|
+
keys$2(objectInfos).filter((recordType) => {
|
|
49806
49822
|
for (const field in objectInfos[recordType].fields) {
|
|
49807
49823
|
if (objectInfos[recordType].fields[field].dataType === fieldType) {
|
|
49808
49824
|
fieldsWithDataType.push(field);
|
|
@@ -49833,7 +49849,7 @@ const replaceDraftIdsInVariables = (variables, draftFunctions, unmappedDraftIDs)
|
|
|
49833
49849
|
}
|
|
49834
49850
|
else if (typeof object === 'object' && object !== null) {
|
|
49835
49851
|
let source = object;
|
|
49836
|
-
return keys$
|
|
49852
|
+
return keys$2(source).reduce((acc, key) => {
|
|
49837
49853
|
acc[key] = replace(source[key]);
|
|
49838
49854
|
return acc;
|
|
49839
49855
|
}, {});
|
|
@@ -49842,7 +49858,7 @@ const replaceDraftIdsInVariables = (variables, draftFunctions, unmappedDraftIDs)
|
|
|
49842
49858
|
return object;
|
|
49843
49859
|
}
|
|
49844
49860
|
};
|
|
49845
|
-
let newVariables = keys$
|
|
49861
|
+
let newVariables = keys$2(variables).reduce((acc, key) => {
|
|
49846
49862
|
acc[key] = replace(variables[key]);
|
|
49847
49863
|
return acc;
|
|
49848
49864
|
}, {});
|
|
@@ -50297,16 +50313,16 @@ const recordIdGenerator = (id) => {
|
|
|
50297
50313
|
*/
|
|
50298
50314
|
|
|
50299
50315
|
|
|
50300
|
-
const { keys: keys$
|
|
50316
|
+
const { keys: keys$1, create: create$1, assign: assign$1, entries: entries$1 } = Object;
|
|
50301
50317
|
const { stringify: stringify$1, parse: parse$1 } = JSON;
|
|
50302
50318
|
const { push, join, slice } = Array.prototype;
|
|
50303
50319
|
const { isArray, from } = Array;
|
|
50304
50320
|
|
|
50305
50321
|
function ldsParamsToString(params) {
|
|
50306
|
-
const returnParams = create$
|
|
50307
|
-
const keys$1 = keys$
|
|
50308
|
-
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
50309
|
-
const key = keys$1[i];
|
|
50322
|
+
const returnParams = create$1(null);
|
|
50323
|
+
const keys$1$1 = keys$1(params);
|
|
50324
|
+
for (let i = 0, len = keys$1$1.length; i < len; i++) {
|
|
50325
|
+
const key = keys$1$1[i];
|
|
50310
50326
|
const value = params[key];
|
|
50311
50327
|
if (value === undefined) {
|
|
50312
50328
|
// filter out params that have no value
|
|
@@ -50321,7 +50337,7 @@ function ldsParamsToString(params) {
|
|
|
50321
50337
|
else {
|
|
50322
50338
|
returnParams[key] = `${value}`;
|
|
50323
50339
|
}
|
|
50324
|
-
if (isObject(value) === true && keys$
|
|
50340
|
+
if (isObject(value) === true && keys$1(value).length > 0) {
|
|
50325
50341
|
returnParams[key] = stringify$1(value);
|
|
50326
50342
|
}
|
|
50327
50343
|
}
|
|
@@ -50721,7 +50737,7 @@ function buildAggregateUiUrl(params, resourceRequest) {
|
|
|
50721
50737
|
optionalFields,
|
|
50722
50738
|
};
|
|
50723
50739
|
const queryString = [];
|
|
50724
|
-
for (const [key, value] of entries$
|
|
50740
|
+
for (const [key, value] of entries$1(mergedParams)) {
|
|
50725
50741
|
if (value !== undefined) {
|
|
50726
50742
|
queryString.push(`${key}=${isArray(value) ? value.join(',') : value}`);
|
|
50727
50743
|
}
|
|
@@ -50737,7 +50753,7 @@ function isSpanningRecord(fieldValue) {
|
|
|
50737
50753
|
function mergeRecordFields(first, second) {
|
|
50738
50754
|
const { fields: targetFields } = first;
|
|
50739
50755
|
const { fields: sourceFields } = second;
|
|
50740
|
-
const fieldNames = keys$
|
|
50756
|
+
const fieldNames = keys$1(sourceFields);
|
|
50741
50757
|
for (let i = 0, len = fieldNames.length; i < len; i += 1) {
|
|
50742
50758
|
const fieldName = fieldNames[i];
|
|
50743
50759
|
const sourceField = sourceFields[fieldName];
|
|
@@ -50897,7 +50913,7 @@ function calculateEstimatedTotalUrlLength(request) {
|
|
|
50897
50913
|
const { baseUri, basePath, queryParams } = request;
|
|
50898
50914
|
let url = `${baseUri}${basePath}`;
|
|
50899
50915
|
if (queryParams) {
|
|
50900
|
-
const queryParamString = entries$
|
|
50916
|
+
const queryParamString = entries$1(queryParams)
|
|
50901
50917
|
.map(([key, value]) => `${key}=${value}`)
|
|
50902
50918
|
.join('&');
|
|
50903
50919
|
if (queryParamString) {
|
|
@@ -51330,7 +51346,7 @@ function instrumentDraftQueue(queue) {
|
|
|
51330
51346
|
logError: false,
|
|
51331
51347
|
});
|
|
51332
51348
|
};
|
|
51333
|
-
const overriddenQueue = create$
|
|
51349
|
+
const overriddenQueue = create$2(queue, { mergeActions: { value: mergeActions } });
|
|
51334
51350
|
overriddenQueue.registerOnChangedListener((draftQueueEvent) => {
|
|
51335
51351
|
switch (draftQueueEvent.type) {
|
|
51336
51352
|
case DraftQueueEventType.QueueStateChanged: {
|
|
@@ -51468,7 +51484,7 @@ function enableObjectInfoCaching(env, ensureObjectInfoCached) {
|
|
|
51468
51484
|
function dataIsObjectInfo(key, data) {
|
|
51469
51485
|
return incomingObjectInfos.has(key);
|
|
51470
51486
|
}
|
|
51471
|
-
return create$
|
|
51487
|
+
return create$2(env, {
|
|
51472
51488
|
handleSuccessResponse: { value: handleSuccessResponse },
|
|
51473
51489
|
storePublish: { value: storePublish },
|
|
51474
51490
|
});
|
|
@@ -51569,8 +51585,8 @@ class ObjectInfoService {
|
|
|
51569
51585
|
}
|
|
51570
51586
|
};
|
|
51571
51587
|
// Local in-memory cache for apiName to key prefixes
|
|
51572
|
-
this.apiNameToKeyPrefixMemoryCache = create$
|
|
51573
|
-
this.keyPrefixToApiNameMemoryCache = create$
|
|
51588
|
+
this.apiNameToKeyPrefixMemoryCache = create$2(null);
|
|
51589
|
+
this.keyPrefixToApiNameMemoryCache = create$2(null);
|
|
51574
51590
|
}
|
|
51575
51591
|
/**
|
|
51576
51592
|
* Size of return map not necessarily correlated with number of inputs. The
|
|
@@ -51736,7 +51752,7 @@ function registerReportObserver(reportObserver) {
|
|
|
51736
51752
|
};
|
|
51737
51753
|
}
|
|
51738
51754
|
|
|
51739
|
-
const { keys
|
|
51755
|
+
const { keys, create, assign, entries, values } = Object;
|
|
51740
51756
|
const { stringify, parse } = JSON;
|
|
51741
51757
|
|
|
51742
51758
|
function selectColumnsFromTableWhereKeyIn(columnNames, table, keyColumnName, whereIn) {
|
|
@@ -51803,7 +51819,7 @@ class LdsDataTable {
|
|
|
51803
51819
|
},
|
|
51804
51820
|
conflictColumns: this.conflictColumnNames,
|
|
51805
51821
|
columns: this.columnNames,
|
|
51806
|
-
rows: keys
|
|
51822
|
+
rows: keys(entries).reduce((rows, key) => {
|
|
51807
51823
|
const entry = entries[key];
|
|
51808
51824
|
const { data, metadata } = entry;
|
|
51809
51825
|
const row = [key, stringify(data), metadata ? stringify(metadata) : null];
|
|
@@ -51822,7 +51838,7 @@ class LdsDataTable {
|
|
|
51822
51838
|
type: 'setMetadata',
|
|
51823
51839
|
},
|
|
51824
51840
|
columns: [COLUMN_NAME_METADATA$1],
|
|
51825
|
-
values: keys
|
|
51841
|
+
values: keys(entries).reduce((values, key) => {
|
|
51826
51842
|
const { metadata } = entries[key];
|
|
51827
51843
|
const row = [metadata ? stringify(metadata) : null];
|
|
51828
51844
|
values[key] = row;
|
|
@@ -51912,7 +51928,7 @@ class LdsInternalDataTable {
|
|
|
51912
51928
|
},
|
|
51913
51929
|
conflictColumns: this.conflictColumnNames,
|
|
51914
51930
|
columns: this.columnNames,
|
|
51915
|
-
rows: keys
|
|
51931
|
+
rows: keys(entries).reduce((rows, key) => {
|
|
51916
51932
|
const entry = entries[key];
|
|
51917
51933
|
const { data, metadata } = entry;
|
|
51918
51934
|
const row = [key, stringify(data)];
|
|
@@ -51938,7 +51954,7 @@ class LdsInternalDataTable {
|
|
|
51938
51954
|
type: 'setMetadata',
|
|
51939
51955
|
},
|
|
51940
51956
|
columns: [COLUMN_NAME_METADATA],
|
|
51941
|
-
values: keys
|
|
51957
|
+
values: keys(entries).reduce((values, key) => {
|
|
51942
51958
|
const { metadata } = entries[key];
|
|
51943
51959
|
const row = [metadata ? stringify(metadata) : null];
|
|
51944
51960
|
values[key] = row;
|
|
@@ -51947,7 +51963,7 @@ class LdsInternalDataTable {
|
|
|
51947
51963
|
};
|
|
51948
51964
|
}
|
|
51949
51965
|
metadataToUpdateSQLQueries(entries, segment) {
|
|
51950
|
-
return keys
|
|
51966
|
+
return keys(entries).reduce((accu, key) => {
|
|
51951
51967
|
const { metadata } = entries[key];
|
|
51952
51968
|
if (metadata !== undefined) {
|
|
51953
51969
|
accu.push({
|
|
@@ -52026,7 +52042,7 @@ class NimbusSqliteStore {
|
|
|
52026
52042
|
.finally(() => tasker.done());
|
|
52027
52043
|
}
|
|
52028
52044
|
setEntries(entries, segment) {
|
|
52029
|
-
if (keys
|
|
52045
|
+
if (keys(entries).length === 0) {
|
|
52030
52046
|
return Promise.resolve();
|
|
52031
52047
|
}
|
|
52032
52048
|
const table = this.getTable(segment);
|
|
@@ -52034,7 +52050,7 @@ class NimbusSqliteStore {
|
|
|
52034
52050
|
return this.batchOperationAsPromise([upsertOperation]);
|
|
52035
52051
|
}
|
|
52036
52052
|
setMetadata(entries, segment) {
|
|
52037
|
-
if (keys
|
|
52053
|
+
if (keys(entries).length === 0) {
|
|
52038
52054
|
return Promise.resolve();
|
|
52039
52055
|
}
|
|
52040
52056
|
const table = this.getTable(segment);
|
|
@@ -52044,13 +52060,13 @@ class NimbusSqliteStore {
|
|
|
52044
52060
|
batchOperations(operations) {
|
|
52045
52061
|
const sqliteOperations = operations.reduce((acc, cur) => {
|
|
52046
52062
|
if (cur.type === 'setEntries') {
|
|
52047
|
-
if (keys
|
|
52063
|
+
if (keys(cur.entries).length > 0) {
|
|
52048
52064
|
const table = this.getTable(cur.segment);
|
|
52049
52065
|
acc.push(table.entriesToUpsertOperations(cur.entries, cur.segment));
|
|
52050
52066
|
}
|
|
52051
52067
|
}
|
|
52052
52068
|
else if (cur.type === 'setMetadata') {
|
|
52053
|
-
if (keys
|
|
52069
|
+
if (keys(cur.entries).length > 0) {
|
|
52054
52070
|
const table = this.getTable(cur.segment);
|
|
52055
52071
|
acc.push(table.metadataToUpdateOperations(cur.entries, cur.segment));
|
|
52056
52072
|
}
|
|
@@ -52174,7 +52190,7 @@ class AbstractKeyValueDataTable {
|
|
|
52174
52190
|
},
|
|
52175
52191
|
conflictColumns: this.conflictColumnNames,
|
|
52176
52192
|
columns: this.columnNames,
|
|
52177
|
-
rows: keys
|
|
52193
|
+
rows: keys(entries).reduce((rows, key) => {
|
|
52178
52194
|
const entry = entries[key];
|
|
52179
52195
|
rows.push([key, stringify(entry.data)]);
|
|
52180
52196
|
return rows;
|
|
@@ -52342,7 +52358,7 @@ function makeEnvironmentGraphqlAware(environment) {
|
|
|
52342
52358
|
}
|
|
52343
52359
|
return environment.applyCachePolicy(luvio, adapterRequestContext, buildSnapshotContext, localBuildCachedSnapshot, buildNetworkSnapshot);
|
|
52344
52360
|
};
|
|
52345
|
-
return create$
|
|
52361
|
+
return create$2(environment, {
|
|
52346
52362
|
rebuildSnapshot: { value: rebuildSnapshot },
|
|
52347
52363
|
applyCachePolicy: { value: applyCachePolicy },
|
|
52348
52364
|
setDefaultCachePolicy: { value: environment.setDefaultCachePolicy.bind(environment) },
|
|
@@ -53763,7 +53779,7 @@ async function aggressiveTrim(data, deallocateFn, options = {}) {
|
|
|
53763
53779
|
const batchSize = options.batchSize !== undefined ? options.batchSize : DEFAULT_MAX_BATCH_SIZE;
|
|
53764
53780
|
let deallocatedCount = 0;
|
|
53765
53781
|
const { pendingTrimKeys, retainedIds, storeRecords } = data;
|
|
53766
|
-
const storeKeyLength = keys$
|
|
53782
|
+
const storeKeyLength = keys$2(storeRecords).length;
|
|
53767
53783
|
if (storeKeyLength <= maxStoreRecords) {
|
|
53768
53784
|
return { deallocatedCount, trimKeysSkipped: pendingTrimKeys };
|
|
53769
53785
|
}
|
|
@@ -53839,78 +53855,6 @@ function setupObserver() {
|
|
|
53839
53855
|
}
|
|
53840
53856
|
}
|
|
53841
53857
|
|
|
53842
|
-
/**
|
|
53843
|
-
* Copyright (c) 2022, Salesforce, Inc.,
|
|
53844
|
-
* All rights reserved.
|
|
53845
|
-
* For full license text, see the LICENSE.txt file
|
|
53846
|
-
*/
|
|
53847
|
-
|
|
53848
|
-
|
|
53849
|
-
const { keys, values, create, assign, freeze, entries } = Object;
|
|
53850
|
-
function isStoreKeyRecordId(key) {
|
|
53851
|
-
return key.indexOf(RECORD_ID_PREFIX) > -1 && key.indexOf(RECORD_FIELDS_KEY_JUNCTION) === -1;
|
|
53852
|
-
}
|
|
53853
|
-
function isEntryDurableRecordRepresentation(entry, key) {
|
|
53854
|
-
// Either a DurableRecordRepresentation or StoreRecordError can live at a record key
|
|
53855
|
-
return ((isStoreKeyRecordId(key) || isStoreKeyRecordViewEntity(key)) &&
|
|
53856
|
-
entry.data.__type === undefined);
|
|
53857
|
-
}
|
|
53858
|
-
|
|
53859
|
-
// TODO [W-15983267]: this is here for backwards compatibility from <252 and can be removed in 256
|
|
53860
|
-
// This HOF ensures that missing links that are stored in the "links" property in the durable store get restored to the "fields" property.
|
|
53861
|
-
// this code is necessary for backwards compatibility with records that were stored in the durable store before the "links" property was removed.
|
|
53862
|
-
function makeDurableStoreBackwardsCompatible(durableStore) {
|
|
53863
|
-
const getEntries = function (entries, segment) {
|
|
53864
|
-
// this HOF only inspects records in the default segment
|
|
53865
|
-
if (segment !== DefaultDurableSegment) {
|
|
53866
|
-
return durableStore.getEntries(entries, segment);
|
|
53867
|
-
}
|
|
53868
|
-
const { length: entriesLength } = entries;
|
|
53869
|
-
if (entriesLength === 0) {
|
|
53870
|
-
return Promise.resolve({});
|
|
53871
|
-
}
|
|
53872
|
-
// call base getEntries
|
|
53873
|
-
return durableStore.getEntries(entries, segment).then((durableEntries) => {
|
|
53874
|
-
if (durableEntries === undefined) {
|
|
53875
|
-
return undefined;
|
|
53876
|
-
}
|
|
53877
|
-
const returnEntries = create(null);
|
|
53878
|
-
const keys$1 = keys(durableEntries);
|
|
53879
|
-
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
53880
|
-
const key = keys$1[i];
|
|
53881
|
-
const value = durableEntries[key];
|
|
53882
|
-
if (value === undefined) {
|
|
53883
|
-
continue;
|
|
53884
|
-
}
|
|
53885
|
-
if (isEntryDurableRecordRepresentation(value, key)) {
|
|
53886
|
-
const record = value.data;
|
|
53887
|
-
const { links } = record;
|
|
53888
|
-
if (links !== undefined) {
|
|
53889
|
-
const missingLinks = keys(links);
|
|
53890
|
-
for (let j = 0, len = missingLinks.length; j < len; j++) {
|
|
53891
|
-
const fieldName = missingLinks[j];
|
|
53892
|
-
const link = links[fieldName];
|
|
53893
|
-
if (link !== undefined && link.isMissing === true) {
|
|
53894
|
-
record.fields[fieldName] = {
|
|
53895
|
-
__state: { isMissing: true },
|
|
53896
|
-
value: undefined,
|
|
53897
|
-
displayValue: undefined,
|
|
53898
|
-
};
|
|
53899
|
-
}
|
|
53900
|
-
}
|
|
53901
|
-
delete record.links;
|
|
53902
|
-
}
|
|
53903
|
-
}
|
|
53904
|
-
returnEntries[key] = value;
|
|
53905
|
-
}
|
|
53906
|
-
return returnEntries;
|
|
53907
|
-
});
|
|
53908
|
-
};
|
|
53909
|
-
return create(durableStore, {
|
|
53910
|
-
getEntries: { value: getEntries, writable: true },
|
|
53911
|
-
});
|
|
53912
|
-
}
|
|
53913
|
-
|
|
53914
53858
|
function select$1(luvio, config) {
|
|
53915
53859
|
const { query, variables, operationName } = config;
|
|
53916
53860
|
return select$2(luvio, query, variables, operationName);
|
|
@@ -54499,7 +54443,7 @@ class SideEffectStore {
|
|
|
54499
54443
|
if (idsToFetch.size > 0) {
|
|
54500
54444
|
const effects = await durableStore.getEntries(Array.from(idsToFetch), SIDE_EFFECT_SEGMENT);
|
|
54501
54445
|
if (effects !== undefined) {
|
|
54502
|
-
keys$
|
|
54446
|
+
keys$2(effects).forEach((effectId) => {
|
|
54503
54447
|
const effect = effects[effectId].data;
|
|
54504
54448
|
const key = effect.uniqueId;
|
|
54505
54449
|
this.allEffects.set(key, effect);
|
|
@@ -54553,7 +54497,7 @@ class SideEffectStore {
|
|
|
54553
54497
|
if (effects === undefined) {
|
|
54554
54498
|
return;
|
|
54555
54499
|
}
|
|
54556
|
-
keys$
|
|
54500
|
+
keys$2(effects).forEach((effectId) => {
|
|
54557
54501
|
const effect = effects[effectId].data;
|
|
54558
54502
|
const key = effect.uniqueId;
|
|
54559
54503
|
this.allEffects.set(key, effect);
|
|
@@ -54624,7 +54568,7 @@ class SideEffectService {
|
|
|
54624
54568
|
const draftFields = await this.synthesizeFieldsFromParts(fields, apiName);
|
|
54625
54569
|
const timestampString = new Date(timestamp).toISOString();
|
|
54626
54570
|
const systemFields = this.generateSystemFields(timestampString, id);
|
|
54627
|
-
assign$
|
|
54571
|
+
assign$2(draftFields, systemFields);
|
|
54628
54572
|
const objectInfo = await this.ensureObjectInfo(apiName);
|
|
54629
54573
|
this.fillMissingFields(draftFields, objectInfo);
|
|
54630
54574
|
let recordTypeId = this.determineRecordTypeId(fields, objectInfo);
|
|
@@ -54686,7 +54630,7 @@ class SideEffectService {
|
|
|
54686
54630
|
async synthesizeFieldsFromParts(fields, apiName) {
|
|
54687
54631
|
const objectInfo = await this.ensureObjectInfo(apiName);
|
|
54688
54632
|
const recordFields = {};
|
|
54689
|
-
for (const fieldName of keys$
|
|
54633
|
+
for (const fieldName of keys$2(fields)) {
|
|
54690
54634
|
const draftField = fields[fieldName] ?? null;
|
|
54691
54635
|
recordFields[fieldName] = { value: draftField, displayValue: null };
|
|
54692
54636
|
const fieldInfo = objectInfo.fields[fieldName];
|
|
@@ -54709,7 +54653,7 @@ class SideEffectService {
|
|
|
54709
54653
|
let patchedFields = await this.synthesizeFieldsFromParts(fields, apiName);
|
|
54710
54654
|
if (existingRecord) {
|
|
54711
54655
|
const nameFields = this.getCompoundNameFields(existingRecord, patchedFields, objectInfo);
|
|
54712
|
-
assign$
|
|
54656
|
+
assign$2(patchedFields, nameFields);
|
|
54713
54657
|
this.patchIfExists(DEFAULT_FIELD_LAST_MODIFIED_BY_ID, { value: this.userId, displayValue: null }, existingRecord.fields, patchedFields);
|
|
54714
54658
|
this.patchIfExists(DEFAULT_FIELD_LAST_MODIFIED_BY, {
|
|
54715
54659
|
value: this.createLink(buildRecordRepKeyFromId(this.userId)),
|
|
@@ -54767,7 +54711,7 @@ class SideEffectService {
|
|
|
54767
54711
|
changedNameFields[fieldName] = fieldValue;
|
|
54768
54712
|
}
|
|
54769
54713
|
}
|
|
54770
|
-
if (keys$
|
|
54714
|
+
if (keys$2(changedNameFields).length > 0) {
|
|
54771
54715
|
const newNameValue = filteredNameFields
|
|
54772
54716
|
.map((key) => {
|
|
54773
54717
|
if (changedNameFields[key] !== undefined) {
|
|
@@ -54888,7 +54832,7 @@ class UpdateRecordEffectHandler {
|
|
|
54888
54832
|
}
|
|
54889
54833
|
const patchedFields = effect.recordPatch.fields;
|
|
54890
54834
|
if (patchedFields) {
|
|
54891
|
-
const fieldNames = keys$
|
|
54835
|
+
const fieldNames = keys$2(patchedFields);
|
|
54892
54836
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
54893
54837
|
const fieldName = fieldNames[i];
|
|
54894
54838
|
// don't apply server values to draft created records
|
|
@@ -55047,7 +54991,7 @@ function removeEffects(record) {
|
|
|
55047
54991
|
return undefined;
|
|
55048
54992
|
}
|
|
55049
54993
|
const updatedFields = {};
|
|
55050
|
-
const fieldNames = keys$
|
|
54994
|
+
const fieldNames = keys$2(fields);
|
|
55051
54995
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
55052
54996
|
const fieldName = fieldNames[i];
|
|
55053
54997
|
const field = fields[fieldName];
|
|
@@ -55087,7 +55031,7 @@ function createLink(key) {
|
|
|
55087
55031
|
|
|
55088
55032
|
function enableSideEffectsOnEnvironment(env, sideEffectStore) {
|
|
55089
55033
|
const storePublish = function (key, data) {
|
|
55090
|
-
if (isStoreKeyRecordId
|
|
55034
|
+
if (isStoreKeyRecordId(key) === false || isStoreRecordError$1(data)) {
|
|
55091
55035
|
return env.storePublish(key, data);
|
|
55092
55036
|
}
|
|
55093
55037
|
const effects = sideEffectStore.getEffects(key);
|
|
@@ -55144,7 +55088,7 @@ class DurableRecordStore {
|
|
|
55144
55088
|
if (entries === undefined) {
|
|
55145
55089
|
return directory;
|
|
55146
55090
|
}
|
|
55147
|
-
keys$
|
|
55091
|
+
keys$2(entries).forEach((key) => {
|
|
55148
55092
|
const { data: record, metadata } = entries[key];
|
|
55149
55093
|
if (isStoreRecordError(record)) {
|
|
55150
55094
|
return;
|
|
@@ -55179,13 +55123,13 @@ let lazyGetRecords;
|
|
|
55179
55123
|
let lazySideEffectStore;
|
|
55180
55124
|
let lazySideEffectService;
|
|
55181
55125
|
const shouldFlush = (key, value) => {
|
|
55182
|
-
if (!isStoreKeyRecordId
|
|
55126
|
+
if (!isStoreKeyRecordId(key)) {
|
|
55183
55127
|
return { flushValue: true };
|
|
55184
55128
|
}
|
|
55185
55129
|
if (value && typeof value === 'object') {
|
|
55186
55130
|
const fields = value.fields;
|
|
55187
55131
|
if (fields && typeof fields === 'object') {
|
|
55188
|
-
const keys = keys$
|
|
55132
|
+
const keys = keys$2(fields);
|
|
55189
55133
|
for (const key of keys) {
|
|
55190
55134
|
const field = fields[key];
|
|
55191
55135
|
if (fields && field.__state && field.__state.pending === true) {
|
|
@@ -55221,7 +55165,7 @@ function getRuntime() {
|
|
|
55221
55165
|
lazyNetworkAdapter = platformNetworkAdapter(makeNetworkAdapterChunkRecordFields(NimbusNetworkAdapter, {
|
|
55222
55166
|
reportChunkCandidateUrlLength: reportChunkCandidateUrlLength,
|
|
55223
55167
|
}));
|
|
55224
|
-
lazyDurableStore =
|
|
55168
|
+
lazyDurableStore = getNimbusDurableStore();
|
|
55225
55169
|
lazyDurableRecordStore = new DurableRecordStore(lazyDurableStore, () => lazyLuvio);
|
|
55226
55170
|
// specific adapters
|
|
55227
55171
|
const internalAdapterStore = new InMemoryStore();
|
|
@@ -55244,7 +55188,7 @@ function getRuntime() {
|
|
|
55244
55188
|
const draftService = new UiApiDraftRecordService(() => lazyLuvio, lazyDurableStore, lazyObjectInfoService, newRecordId, lazySideEffectStore, lazyDurableRecordStore);
|
|
55245
55189
|
const uiApiRecordHandler = new UiApiActionHandler(() => lazyLuvio, lazyNetworkAdapter, lazyDraftQueue, getRecord, lazyObjectInfoService, isGenerated, draftService, lazySideEffectService, lazyDurableRecordStore);
|
|
55246
55190
|
uiApiRecordHandler.setSideEffectHooks(sfsSideEffectHooks);
|
|
55247
|
-
const quickActionHandler = new QuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService);
|
|
55191
|
+
const quickActionHandler = new QuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService, lazyObjectInfoService, getRecord);
|
|
55248
55192
|
const updateRecordQuickActionHandler = new UpdateRecordQuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService);
|
|
55249
55193
|
const contentDocumentCompositeActionHandler = new ContentDocumentCompositeRepresentationActionHandler(() => lazyLuvio, userId, draftService, lazyObjectInfoService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, NimbusBinaryStore, lazySideEffectService);
|
|
55250
55194
|
lazyDraftQueue.addHandler(uiApiRecordHandler);
|
|
@@ -55354,4 +55298,4 @@ register({
|
|
|
55354
55298
|
});
|
|
55355
55299
|
|
|
55356
55300
|
export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, registerReportObserver, reportGraphqlQueryParseError };
|
|
55357
|
-
// version: 1.
|
|
55301
|
+
// version: 1.342.0-651bed9637
|