@salesforce/lds-worker-api 1.136.5 → 1.136.7
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/sfdc/es/ldsWorkerApi.js +10 -13
- package/dist/standalone/es/lds-worker-api.js +402 -161
- package/dist/standalone/umd/lds-worker-api.js +402 -161
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ var SnapshotState$3;
|
|
|
20
20
|
SnapshotState["Stale"] = "Stale";
|
|
21
21
|
})(SnapshotState$3 || (SnapshotState$3 = {}));
|
|
22
22
|
|
|
23
|
-
const { create: create$a, entries: entries$4, freeze: freeze$5, keys: keys$
|
|
23
|
+
const { create: create$a, entries: entries$4, freeze: freeze$5, keys: keys$b, values: values$3 } = Object;
|
|
24
24
|
const { hasOwnProperty: hasOwnProperty$3 } = Object.prototype;
|
|
25
25
|
const { isArray: isArray$9 } = Array;
|
|
26
26
|
const { push: push$4, indexOf, slice: slice$2 } = Array.prototype;
|
|
@@ -37,7 +37,7 @@ function deepFreeze(value) {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
const keys$1 = keys$
|
|
40
|
+
const keys$1 = keys$b(value);
|
|
41
41
|
for (let i = 0, len = keys$1.length; i < len; i += 1) {
|
|
42
42
|
deepFreeze(value[keys$1[i]]);
|
|
43
43
|
}
|
|
@@ -298,7 +298,7 @@ function stableJSONStringify$3(node) {
|
|
|
298
298
|
if (node === null) {
|
|
299
299
|
return 'null';
|
|
300
300
|
}
|
|
301
|
-
const keys$1 = keys$
|
|
301
|
+
const keys$1 = keys$b(node).sort();
|
|
302
302
|
out = '';
|
|
303
303
|
for (i = 0; i < keys$1.length; i++) {
|
|
304
304
|
const key = keys$1[i];
|
|
@@ -569,13 +569,13 @@ class StringKeyInMemoryStore {
|
|
|
569
569
|
return this.records[this.getCanonicalRecordId(key)];
|
|
570
570
|
}
|
|
571
571
|
getNumEntries() {
|
|
572
|
-
return keys$
|
|
572
|
+
return keys$b(this.records).length;
|
|
573
573
|
}
|
|
574
574
|
readMetadata(key) {
|
|
575
575
|
return this.metadata[this.getCanonicalRecordId(key)];
|
|
576
576
|
}
|
|
577
577
|
readMetadataWhere(query) {
|
|
578
|
-
const keys$1 = keys$
|
|
578
|
+
const keys$1 = keys$b(this.metadata);
|
|
579
579
|
const results = [];
|
|
580
580
|
const hasNamespaceQuery = hasOwnProperty$3.call(query, 'namespace');
|
|
581
581
|
const hasRepresentationNameQuery = hasOwnProperty$3.call(query, 'representationName');
|
|
@@ -671,8 +671,8 @@ class StringKeyInMemoryStore {
|
|
|
671
671
|
// Note: we should always get the subscription references from this at the beginning
|
|
672
672
|
// of the function, in case the reference changes (because of an unsubscribe)
|
|
673
673
|
const { snapshotSubscriptions, watchSubscriptions, visitedIds, refreshedIds, insertedIds } = this;
|
|
674
|
-
const allVisitedIds = keys$
|
|
675
|
-
const allRefreshedIds = keys$
|
|
674
|
+
const allVisitedIds = keys$b(visitedIds);
|
|
675
|
+
const allRefreshedIds = keys$b(refreshedIds);
|
|
676
676
|
// Early exit if nothing has changed
|
|
677
677
|
if (allVisitedIds.length === 0 && allRefreshedIds.length === 0) {
|
|
678
678
|
return Promise.resolve();
|
|
@@ -1119,7 +1119,7 @@ function isPendingSnapshotWithNoOverlappingIds(snapshot, visitedIds, refreshedId
|
|
|
1119
1119
|
hasOverlappingIds(snapshot, visitedIds) === false);
|
|
1120
1120
|
}
|
|
1121
1121
|
function getMatchingIds(partialKey, visitedIds) {
|
|
1122
|
-
const keys$1 = keys$
|
|
1122
|
+
const keys$1 = keys$b(partialKey);
|
|
1123
1123
|
return visitedIds.filter((visitedId) => {
|
|
1124
1124
|
return keys$1.every((key) => {
|
|
1125
1125
|
return partialKey[key] === visitedId[key];
|
|
@@ -1746,8 +1746,8 @@ class InMemoryStore {
|
|
|
1746
1746
|
} while (redirectKey !== undefined);
|
|
1747
1747
|
}
|
|
1748
1748
|
isUsingStringKeys() {
|
|
1749
|
-
return (keys$
|
|
1750
|
-
keys$
|
|
1749
|
+
return (keys$b(this.fallbackStringKeyInMemoryStore.visitedIds).length !== 0 ||
|
|
1750
|
+
keys$b(this.fallbackStringKeyInMemoryStore.refreshedIds).length !== 0);
|
|
1751
1751
|
}
|
|
1752
1752
|
delegateToFallbackStringKeyStore(snapshot) {
|
|
1753
1753
|
return !isErrorSnapshot$3(snapshot) && typeof snapshot.recordId === 'string';
|
|
@@ -1789,7 +1789,7 @@ class InMemoryStore {
|
|
|
1789
1789
|
buildKeySchema(keyMetadata) {
|
|
1790
1790
|
// pull NamespacedType type out of NormalizedKeyMetadata
|
|
1791
1791
|
const { namespace: _ns, representationName: _rn, ...keyParamValues } = keyMetadata;
|
|
1792
|
-
const keySchema = keys$
|
|
1792
|
+
const keySchema = keys$b(keyParamValues).sort();
|
|
1793
1793
|
return ['namespace', 'representationName', ...keySchema];
|
|
1794
1794
|
}
|
|
1795
1795
|
}
|
|
@@ -2077,7 +2077,7 @@ class GraphNode {
|
|
|
2077
2077
|
return value;
|
|
2078
2078
|
}
|
|
2079
2079
|
keys() {
|
|
2080
|
-
return keys$
|
|
2080
|
+
return keys$b(this.data);
|
|
2081
2081
|
}
|
|
2082
2082
|
isScalar(propertyName) {
|
|
2083
2083
|
// TODO W-6900046 - merge.ts casts these to any and manually sets `data`
|
|
@@ -2456,7 +2456,7 @@ class Reader {
|
|
|
2456
2456
|
}
|
|
2457
2457
|
}
|
|
2458
2458
|
selectAllObject(record, data, visitedKeys) {
|
|
2459
|
-
const recordKeys = keys$
|
|
2459
|
+
const recordKeys = keys$b(record);
|
|
2460
2460
|
const { length } = recordKeys;
|
|
2461
2461
|
for (let i = 0; i < length; i += 1) {
|
|
2462
2462
|
const key = recordKeys[i];
|
|
@@ -2637,7 +2637,7 @@ class Reader {
|
|
|
2637
2637
|
}
|
|
2638
2638
|
const { baseSnapshotValue } = this.currentPath;
|
|
2639
2639
|
if (isDefined$1(baseSnapshotValue)) {
|
|
2640
|
-
this.snapshotChanged = keys$1.length !== keys$
|
|
2640
|
+
this.snapshotChanged = keys$1.length !== keys$b(baseSnapshotValue).length;
|
|
2641
2641
|
}
|
|
2642
2642
|
}
|
|
2643
2643
|
checkIfChanged(value) {
|
|
@@ -2675,7 +2675,7 @@ class Reader {
|
|
|
2675
2675
|
return this.markMissing();
|
|
2676
2676
|
}
|
|
2677
2677
|
const sink = (data[propertyName] = {});
|
|
2678
|
-
const keys$1 = keys$
|
|
2678
|
+
const keys$1 = keys$b(obj);
|
|
2679
2679
|
this.checkIfObjectKeysLengthChanged(keys$1);
|
|
2680
2680
|
for (let i = 0, len = keys$1.length; i < len; i += 1) {
|
|
2681
2681
|
const key = keys$1[i];
|
|
@@ -2686,7 +2686,7 @@ class Reader {
|
|
|
2686
2686
|
}
|
|
2687
2687
|
readLinkMap(propertyName, selection, record, data) {
|
|
2688
2688
|
const map = record[propertyName];
|
|
2689
|
-
const keys$1 = keys$
|
|
2689
|
+
const keys$1 = keys$b(map);
|
|
2690
2690
|
const sink = {};
|
|
2691
2691
|
this.checkIfObjectKeysLengthChanged(keys$1);
|
|
2692
2692
|
for (let i = 0, len = keys$1.length; i < len; i += 1) {
|
|
@@ -2814,7 +2814,7 @@ class Reader {
|
|
|
2814
2814
|
return;
|
|
2815
2815
|
}
|
|
2816
2816
|
const sink = (data[propertyName] = {});
|
|
2817
|
-
const keys$1 = keys$
|
|
2817
|
+
const keys$1 = keys$b(obj);
|
|
2818
2818
|
this.checkIfObjectKeysLengthChanged(keys$1);
|
|
2819
2819
|
for (let i = 0, len = keys$1.length; i < len; i += 1) {
|
|
2820
2820
|
const key = keys$1[i];
|
|
@@ -3497,13 +3497,13 @@ class Luvio {
|
|
|
3497
3497
|
// undefined values on the injected networkAdapter. So we do it here, on
|
|
3498
3498
|
// the API that those adapters call to dispatch their ResourceRequests.
|
|
3499
3499
|
const { queryParams, urlParams } = mergedResourceRequest;
|
|
3500
|
-
for (const paramKey of keys$
|
|
3500
|
+
for (const paramKey of keys$b(queryParams)) {
|
|
3501
3501
|
const value = queryParams[paramKey];
|
|
3502
3502
|
if (value === undefined) {
|
|
3503
3503
|
delete queryParams[paramKey];
|
|
3504
3504
|
}
|
|
3505
3505
|
}
|
|
3506
|
-
for (const paramKey of keys$
|
|
3506
|
+
for (const paramKey of keys$b(urlParams)) {
|
|
3507
3507
|
const value = urlParams[paramKey];
|
|
3508
3508
|
if (value === undefined) {
|
|
3509
3509
|
delete urlParams[paramKey];
|
|
@@ -3797,7 +3797,7 @@ function withDefaultLuvio(callback) {
|
|
|
3797
3797
|
}
|
|
3798
3798
|
callbacks.push(callback);
|
|
3799
3799
|
}
|
|
3800
|
-
// version: 1.136.
|
|
3800
|
+
// version: 1.136.7-777657471
|
|
3801
3801
|
|
|
3802
3802
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
3803
3803
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -15221,7 +15221,7 @@ function parseAndVisit(source) {
|
|
|
15221
15221
|
updateReferenceMapWithKnownKey(ast, luvioDocumentNode);
|
|
15222
15222
|
return luvioDocumentNode;
|
|
15223
15223
|
}
|
|
15224
|
-
// version: 1.136.
|
|
15224
|
+
// version: 1.136.7-777657471
|
|
15225
15225
|
|
|
15226
15226
|
function unwrap(data) {
|
|
15227
15227
|
// The lwc-luvio bindings import a function from lwc called "unwrap".
|
|
@@ -16134,7 +16134,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
|
|
|
16134
16134
|
const { apiFamily, name } = metadata;
|
|
16135
16135
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
16136
16136
|
}
|
|
16137
|
-
// version: 1.136.
|
|
16137
|
+
// version: 1.136.7-777657471
|
|
16138
16138
|
|
|
16139
16139
|
/**
|
|
16140
16140
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -16221,7 +16221,7 @@ var FragmentReadResultState;
|
|
|
16221
16221
|
|
|
16222
16222
|
const { keys: ObjectKeys$3, create: ObjectCreate$3 } = Object;
|
|
16223
16223
|
|
|
16224
|
-
const { assign: assign$7, create: create$8, freeze: freeze$4, keys: keys$
|
|
16224
|
+
const { assign: assign$7, create: create$8, freeze: freeze$4, keys: keys$a } = Object;
|
|
16225
16225
|
|
|
16226
16226
|
ObjectCreate$3(null);
|
|
16227
16227
|
|
|
@@ -17059,7 +17059,7 @@ function getTypeCacheKeys$Q(luvio, input, fullPathFactory) {
|
|
|
17059
17059
|
return rootKeySet;
|
|
17060
17060
|
}
|
|
17061
17061
|
|
|
17062
|
-
const { assign: assign$6, create: create$7, freeze: freeze$3, keys: keys$
|
|
17062
|
+
const { assign: assign$6, create: create$7, freeze: freeze$3, keys: keys$9 } = Object;
|
|
17063
17063
|
const { hasOwnProperty: hasOwnProperty$1 } = Object.prototype;
|
|
17064
17064
|
const { split, endsWith } = String.prototype;
|
|
17065
17065
|
const { isArray: isArray$7 } = Array;
|
|
@@ -17077,7 +17077,7 @@ const getTypeCacheKeys$P = (luvio, input, _fullPathFactory) => {
|
|
|
17077
17077
|
mergeable: true,
|
|
17078
17078
|
});
|
|
17079
17079
|
const input_childRelationships = input.childRelationships;
|
|
17080
|
-
const input_childRelationships_keys = keys$
|
|
17080
|
+
const input_childRelationships_keys = keys$9(input_childRelationships);
|
|
17081
17081
|
const input_childRelationships_length = input_childRelationships_keys.length;
|
|
17082
17082
|
for (let i = 0; i < input_childRelationships_length; i++) {
|
|
17083
17083
|
const key = input_childRelationships_keys[i];
|
|
@@ -17085,7 +17085,7 @@ const getTypeCacheKeys$P = (luvio, input, _fullPathFactory) => {
|
|
|
17085
17085
|
rootKeySet.merge(cacheKeys);
|
|
17086
17086
|
}
|
|
17087
17087
|
const input_fields = input.fields;
|
|
17088
|
-
const input_fields_keys = keys$
|
|
17088
|
+
const input_fields_keys = keys$9(input_fields);
|
|
17089
17089
|
const input_fields_length = input_fields_keys.length;
|
|
17090
17090
|
for (let i = 0; i < input_fields_length; i++) {
|
|
17091
17091
|
const key = input_fields_keys[i];
|
|
@@ -17552,7 +17552,7 @@ function dedupe(value) {
|
|
|
17552
17552
|
for (let i = 0, len = value.length; i < len; i += 1) {
|
|
17553
17553
|
result[value[i]] = true;
|
|
17554
17554
|
}
|
|
17555
|
-
return keys$
|
|
17555
|
+
return keys$9(result);
|
|
17556
17556
|
}
|
|
17557
17557
|
/**
|
|
17558
17558
|
* @param source The array of string to filter
|
|
@@ -19000,7 +19000,7 @@ function convertRecordFieldsArrayToTrie(fields, optionalFields = []) {
|
|
|
19000
19000
|
function createPathSelection(propertyName, fieldDefinition) {
|
|
19001
19001
|
const fieldsSelection = [];
|
|
19002
19002
|
const { children } = fieldDefinition;
|
|
19003
|
-
const childrenKeys = keys$
|
|
19003
|
+
const childrenKeys = keys$9(children);
|
|
19004
19004
|
for (let i = 0, len = childrenKeys.length; i < len; i += 1) {
|
|
19005
19005
|
const childKey = childrenKeys[i];
|
|
19006
19006
|
const childFieldDefinition = children[childKey];
|
|
@@ -19045,7 +19045,7 @@ function createPathSelection(propertyName, fieldDefinition) {
|
|
|
19045
19045
|
*/
|
|
19046
19046
|
function createPathSelectionFromValue(fields) {
|
|
19047
19047
|
const fieldsSelection = [];
|
|
19048
|
-
const fieldNames = keys$
|
|
19048
|
+
const fieldNames = keys$9(fields);
|
|
19049
19049
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
19050
19050
|
const fieldName = fieldNames[i];
|
|
19051
19051
|
const { value: fieldValue } = fields[fieldName];
|
|
@@ -19084,7 +19084,7 @@ function createPathSelectionFromValue(fields) {
|
|
|
19084
19084
|
}
|
|
19085
19085
|
function extractRecordFieldsRecursively(record) {
|
|
19086
19086
|
const fields = [];
|
|
19087
|
-
const fieldNames = keys$
|
|
19087
|
+
const fieldNames = keys$9(record.fields);
|
|
19088
19088
|
for (let i = 0, len = fieldNames.length; i < len; i++) {
|
|
19089
19089
|
const fieldName = fieldNames[i];
|
|
19090
19090
|
const { value: fieldValue } = record.fields[fieldName];
|
|
@@ -19272,7 +19272,7 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
19272
19272
|
continue;
|
|
19273
19273
|
}
|
|
19274
19274
|
extractTrackedFieldsToTrie(spanningLink.data.__ref, spanning, next, config, spanningVisitedRecordIds, depth + 1);
|
|
19275
|
-
if (keys$
|
|
19275
|
+
if (keys$9(next.children).length > 0) {
|
|
19276
19276
|
current.children[key] = next;
|
|
19277
19277
|
}
|
|
19278
19278
|
else {
|
|
@@ -19324,13 +19324,13 @@ function isExternalLookupFieldKey(spanningNode) {
|
|
|
19324
19324
|
return endsWith.call(spanningNode.scalar('apiName'), CUSTOM_EXTERNAL_OBJECT_FIELD_SUFFIX);
|
|
19325
19325
|
}
|
|
19326
19326
|
function convertTrieToFields(root) {
|
|
19327
|
-
if (keys$
|
|
19327
|
+
if (keys$9(root.children).length === 0) {
|
|
19328
19328
|
return [];
|
|
19329
19329
|
}
|
|
19330
19330
|
return convertTrieToFieldsRecursively(root);
|
|
19331
19331
|
}
|
|
19332
19332
|
function convertTrieToFieldsRecursively(root) {
|
|
19333
|
-
const childKeys = keys$
|
|
19333
|
+
const childKeys = keys$9(root.children);
|
|
19334
19334
|
if (childKeys.length === 0) {
|
|
19335
19335
|
if (root.name === '') {
|
|
19336
19336
|
return [];
|
|
@@ -19367,7 +19367,7 @@ const getObjectNameFromField = (field) => {
|
|
|
19367
19367
|
function mergeFieldsTries(rootA, rootB) {
|
|
19368
19368
|
const rootAchildren = rootA.children;
|
|
19369
19369
|
const rootBchildren = rootB.children;
|
|
19370
|
-
const childBKeys = keys$
|
|
19370
|
+
const childBKeys = keys$9(rootBchildren);
|
|
19371
19371
|
for (let i = 0, len = childBKeys.length; i < len; i++) {
|
|
19372
19372
|
const childBKey = childBKeys[i];
|
|
19373
19373
|
if (rootAchildren[childBKey] === undefined) {
|
|
@@ -19520,8 +19520,8 @@ function isSuperRecordFieldTrie(a, b) {
|
|
|
19520
19520
|
}
|
|
19521
19521
|
const childrenA = a.children;
|
|
19522
19522
|
const childrenB = b.children;
|
|
19523
|
-
const childKeysA = keys$
|
|
19524
|
-
const childKeysB = keys$
|
|
19523
|
+
const childKeysA = keys$9(childrenA);
|
|
19524
|
+
const childKeysB = keys$9(childrenB);
|
|
19525
19525
|
const childKeysBLength = childKeysB.length;
|
|
19526
19526
|
if (childKeysBLength > childKeysA.length) {
|
|
19527
19527
|
return false;
|
|
@@ -19545,7 +19545,7 @@ function mergePendingFields(newRecord, oldRecord) {
|
|
|
19545
19545
|
// RecordRepresentationNormalized['fields'] to include `pending:true` property
|
|
19546
19546
|
const mergedFields = { ...newRecord.fields };
|
|
19547
19547
|
const merged = { ...newRecord, fields: mergedFields };
|
|
19548
|
-
const existingFields = keys$
|
|
19548
|
+
const existingFields = keys$9(oldRecord.fields);
|
|
19549
19549
|
for (let i = 0, len = existingFields.length; i < len; i += 1) {
|
|
19550
19550
|
const spanningFieldName = existingFields[i];
|
|
19551
19551
|
if (newRecord.fields[spanningFieldName] === undefined) {
|
|
@@ -19678,7 +19678,7 @@ function merge$3(existing, incoming, luvio, _path, recordConflictMap) {
|
|
|
19678
19678
|
if (isGraphNode(node)) {
|
|
19679
19679
|
const dependencies = node.retrieve();
|
|
19680
19680
|
if (dependencies !== null) {
|
|
19681
|
-
const depKeys = keys$
|
|
19681
|
+
const depKeys = keys$9(dependencies);
|
|
19682
19682
|
for (let i = 0, len = depKeys.length; i < len; i++) {
|
|
19683
19683
|
luvio.storeEvict(depKeys[i]);
|
|
19684
19684
|
}
|
|
@@ -19825,7 +19825,7 @@ function addFieldsToStoreLink(fieldsTrie, optionalFieldsTrie, storeLink) {
|
|
|
19825
19825
|
}
|
|
19826
19826
|
for (let i = 0; i < fieldSubtries.length; i++) {
|
|
19827
19827
|
const subtrie = fieldSubtries[i];
|
|
19828
|
-
const fieldNames = keys$
|
|
19828
|
+
const fieldNames = keys$9(subtrie.children);
|
|
19829
19829
|
for (let i = 0; i < fieldNames.length; i++) {
|
|
19830
19830
|
const fieldName = fieldNames[i];
|
|
19831
19831
|
const childTrie = subtrie.children[fieldName];
|
|
@@ -19937,9 +19937,9 @@ function fulfill(existing, incoming) {
|
|
|
19937
19937
|
return false;
|
|
19938
19938
|
}
|
|
19939
19939
|
}
|
|
19940
|
-
const headersKeys = keys$
|
|
19940
|
+
const headersKeys = keys$9(headers);
|
|
19941
19941
|
const headersKeyLength = headersKeys.length;
|
|
19942
|
-
if (headersKeyLength !== keys$
|
|
19942
|
+
if (headersKeyLength !== keys$9(existingHeaders).length) {
|
|
19943
19943
|
return false;
|
|
19944
19944
|
}
|
|
19945
19945
|
for (let i = 0, len = headersKeyLength; i < len; i++) {
|
|
@@ -20708,7 +20708,7 @@ function buildNetworkSnapshot$V(luvio, config, serverRequestCount = 0, options)
|
|
|
20708
20708
|
|
|
20709
20709
|
// iterate through the map to build configs for network calls
|
|
20710
20710
|
function resolveConflict(luvio, map) {
|
|
20711
|
-
const ids = keys$
|
|
20711
|
+
const ids = keys$9(map.conflicts);
|
|
20712
20712
|
if (ids.length === 0) {
|
|
20713
20713
|
instrumentation$2.recordConflictsResolved(map.serverRequestCount);
|
|
20714
20714
|
return;
|
|
@@ -21888,18 +21888,18 @@ function listFields(luvio, { fields = [], optionalFields = [], sortBy, }, listIn
|
|
|
21888
21888
|
return {
|
|
21889
21889
|
getRecordSelectionFieldSets() {
|
|
21890
21890
|
const optionalPlusDefaultFields = { ...optionalFields_ };
|
|
21891
|
-
const fields = keys$
|
|
21891
|
+
const fields = keys$9(defaultFields_);
|
|
21892
21892
|
for (let i = 0; i < fields.length; ++i) {
|
|
21893
21893
|
const field = fields[i];
|
|
21894
21894
|
if (!fields_[field] && !defaultServerFieldStatus.missingFields[field]) {
|
|
21895
21895
|
optionalPlusDefaultFields[field] = true;
|
|
21896
21896
|
}
|
|
21897
21897
|
}
|
|
21898
|
-
return [keys$
|
|
21898
|
+
return [keys$9(fields_).sort(), keys$9(optionalPlusDefaultFields).sort()];
|
|
21899
21899
|
},
|
|
21900
21900
|
processRecords(records) {
|
|
21901
21901
|
const { missingFields } = defaultServerFieldStatus;
|
|
21902
|
-
const fields = keys$
|
|
21902
|
+
const fields = keys$9(missingFields);
|
|
21903
21903
|
for (let i = 0; i < fields.length; ++i) {
|
|
21904
21904
|
const field = fields[i], splitField = field.split('.').slice(1);
|
|
21905
21905
|
for (let i = 0; i < records.length; ++i) {
|
|
@@ -24632,7 +24632,7 @@ function getMissingRecordLookupFields(record, objectInfo) {
|
|
|
24632
24632
|
const lookupFields = {};
|
|
24633
24633
|
const { apiName, fields: recordFields } = record;
|
|
24634
24634
|
const { fields: objectInfoFields } = objectInfo;
|
|
24635
|
-
const objectInfoFieldNames = keys$
|
|
24635
|
+
const objectInfoFieldNames = keys$9(objectInfoFields);
|
|
24636
24636
|
for (let i = 0, len = objectInfoFieldNames.length; i < len; i += 1) {
|
|
24637
24637
|
const fieldName = objectInfoFieldNames[i];
|
|
24638
24638
|
const field = objectInfoFields[fieldName];
|
|
@@ -24651,12 +24651,12 @@ function getMissingRecordLookupFields(record, objectInfo) {
|
|
|
24651
24651
|
const nameField = `${apiName}.${relationshipName}.${getNameField(objectInfo, fieldName)}`;
|
|
24652
24652
|
lookupFields[nameField] = true;
|
|
24653
24653
|
}
|
|
24654
|
-
return keys$
|
|
24654
|
+
return keys$9(lookupFields);
|
|
24655
24655
|
}
|
|
24656
24656
|
function getRecordUiMissingRecordLookupFields(recordUi) {
|
|
24657
24657
|
const { records, objectInfos } = recordUi;
|
|
24658
24658
|
const recordLookupFields = {};
|
|
24659
|
-
const recordIds = keys$
|
|
24659
|
+
const recordIds = keys$9(records);
|
|
24660
24660
|
for (let i = 0, len = recordIds.length; i < len; i += 1) {
|
|
24661
24661
|
const recordId = recordIds[i];
|
|
24662
24662
|
const recordData = records[recordId];
|
|
@@ -24694,19 +24694,19 @@ function buildCachedSelectorKey(key) {
|
|
|
24694
24694
|
}
|
|
24695
24695
|
function eachLayout(recordUi, cb) {
|
|
24696
24696
|
const { layouts } = recordUi;
|
|
24697
|
-
const layoutApiNames = keys$
|
|
24697
|
+
const layoutApiNames = keys$9(layouts);
|
|
24698
24698
|
for (let a = 0, len = layoutApiNames.length; a < len; a += 1) {
|
|
24699
24699
|
const apiName = layoutApiNames[a];
|
|
24700
24700
|
const apiNameData = layouts[apiName];
|
|
24701
|
-
const recordTypeIds = keys$
|
|
24701
|
+
const recordTypeIds = keys$9(apiNameData);
|
|
24702
24702
|
for (let b = 0, recordTypeIdsLen = recordTypeIds.length; b < recordTypeIdsLen; b += 1) {
|
|
24703
24703
|
const recordTypeId = recordTypeIds[b];
|
|
24704
24704
|
const recordTypeData = apiNameData[recordTypeId];
|
|
24705
|
-
const layoutTypes = keys$
|
|
24705
|
+
const layoutTypes = keys$9(recordTypeData);
|
|
24706
24706
|
for (let c = 0, layoutTypesLen = layoutTypes.length; c < layoutTypesLen; c += 1) {
|
|
24707
24707
|
const layoutType = layoutTypes[c];
|
|
24708
24708
|
const layoutTypeData = recordTypeData[layoutType];
|
|
24709
|
-
const modes = keys$
|
|
24709
|
+
const modes = keys$9(layoutTypeData);
|
|
24710
24710
|
for (let d = 0, modesLen = modes.length; d < modesLen; d += 1) {
|
|
24711
24711
|
const mode = modes[d];
|
|
24712
24712
|
const layout = layoutTypeData[mode];
|
|
@@ -25085,11 +25085,11 @@ const recordLayoutFragmentSelector = [
|
|
|
25085
25085
|
];
|
|
25086
25086
|
function getFieldsFromLayoutMap(layoutMap, objectInfo) {
|
|
25087
25087
|
let fields = [];
|
|
25088
|
-
const layoutTypes = keys$
|
|
25088
|
+
const layoutTypes = keys$9(layoutMap);
|
|
25089
25089
|
for (let i = 0, layoutTypesLen = layoutTypes.length; i < layoutTypesLen; i += 1) {
|
|
25090
25090
|
const layoutType = layoutTypes[i];
|
|
25091
25091
|
const modesMap = layoutMap[layoutType];
|
|
25092
|
-
const modes = keys$
|
|
25092
|
+
const modes = keys$9(modesMap);
|
|
25093
25093
|
for (let m = 0, modesLen = modes.length; m < modesLen; m += 1) {
|
|
25094
25094
|
const mode = modes[m];
|
|
25095
25095
|
const modeKeys = getQualifiedFieldApiNamesFromLayout(modesMap[mode], objectInfo);
|
|
@@ -40017,7 +40017,7 @@ function optimisticUpdate(cachedLayoutUserState, layoutUserStateInput) {
|
|
|
40017
40017
|
let clonedLayoutUserStateSections;
|
|
40018
40018
|
const { sectionUserStates } = layoutUserStateInput;
|
|
40019
40019
|
const { sectionUserStates: cachedSectionUserStates } = cachedLayoutUserState;
|
|
40020
|
-
const sectionUserStateKeys = keys$
|
|
40020
|
+
const sectionUserStateKeys = keys$9(sectionUserStates);
|
|
40021
40021
|
for (let i = 0, len = sectionUserStateKeys.length; i < len; i += 1) {
|
|
40022
40022
|
const sectionId = sectionUserStateKeys[i];
|
|
40023
40023
|
if (cachedSectionUserStates[sectionId] === undefined) {
|
|
@@ -43901,7 +43901,7 @@ withDefaultLuvio((luvio) => {
|
|
|
43901
43901
|
dropFunction: instrumentation$2.notifyRecordUpdateAvailableDropped,
|
|
43902
43902
|
});
|
|
43903
43903
|
});
|
|
43904
|
-
// version: 1.136.
|
|
43904
|
+
// version: 1.136.7-ae23b4cbb
|
|
43905
43905
|
|
|
43906
43906
|
var caseSensitiveUserId = '005B0000000GR4OIAW';
|
|
43907
43907
|
|
|
@@ -43979,7 +43979,7 @@ function formattingOptions(pattern) {
|
|
|
43979
43979
|
const { parse: parse$5, stringify: stringify$5 } = JSON;
|
|
43980
43980
|
const { join: join$2, push: push$2, unshift } = Array.prototype;
|
|
43981
43981
|
const { isArray: isArray$5 } = Array;
|
|
43982
|
-
const { entries: entries$3, keys: keys$
|
|
43982
|
+
const { entries: entries$3, keys: keys$7 } = Object;
|
|
43983
43983
|
|
|
43984
43984
|
const UI_API_BASE_URI = '/services/data/v59.0/ui-api';
|
|
43985
43985
|
|
|
@@ -44044,7 +44044,7 @@ function isSpanningRecord$1(fieldValue) {
|
|
|
44044
44044
|
function mergeRecordFields$1(first, second) {
|
|
44045
44045
|
const { fields: targetFields } = first;
|
|
44046
44046
|
const { fields: sourceFields } = second;
|
|
44047
|
-
const fieldNames = keys$
|
|
44047
|
+
const fieldNames = keys$7(sourceFields);
|
|
44048
44048
|
for (let i = 0, len = fieldNames.length; i < len; i += 1) {
|
|
44049
44049
|
const fieldName = fieldNames[i];
|
|
44050
44050
|
const sourceField = sourceFields[fieldName];
|
|
@@ -44448,7 +44448,7 @@ function isDeprecatedDurableStoreEntry(durableRecord) {
|
|
|
44448
44448
|
}
|
|
44449
44449
|
const DefaultDurableSegment = 'DEFAULT';
|
|
44450
44450
|
|
|
44451
|
-
const { keys: keys$
|
|
44451
|
+
const { keys: keys$6, create: create$5, assign: assign$4, freeze: freeze$1$1 } = Object;
|
|
44452
44452
|
|
|
44453
44453
|
//Durable store error instrumentation key
|
|
44454
44454
|
const DURABLE_STORE_ERROR = 'durable-store-error';
|
|
@@ -44492,7 +44492,7 @@ function publishDurableStoreEntries(durableRecords, put, publishMetadata) {
|
|
|
44492
44492
|
if (durableRecords === undefined) {
|
|
44493
44493
|
return { revivedKeys, hadUnexpectedShape };
|
|
44494
44494
|
}
|
|
44495
|
-
const durableKeys = keys$
|
|
44495
|
+
const durableKeys = keys$6(durableRecords);
|
|
44496
44496
|
if (durableKeys.length === 0) {
|
|
44497
44497
|
// no records to revive
|
|
44498
44498
|
return { revivedKeys, hadUnexpectedShape };
|
|
@@ -44666,7 +44666,7 @@ class DurableTTLStore {
|
|
|
44666
44666
|
overrides,
|
|
44667
44667
|
};
|
|
44668
44668
|
}
|
|
44669
|
-
const keys$1 = keys$
|
|
44669
|
+
const keys$1 = keys$6(entries);
|
|
44670
44670
|
for (let i = 0, len = keys$1.length; i < len; i++) {
|
|
44671
44671
|
const key = keys$1[i];
|
|
44672
44672
|
const entry = entries[key];
|
|
@@ -44694,7 +44694,7 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
44694
44694
|
// TODO: W-8909393 Once metadata is stored in its own segment we need to
|
|
44695
44695
|
// call setEntries for the visitedIds on default segment and call setEntries
|
|
44696
44696
|
// on the metadata segment for the refreshedIds
|
|
44697
|
-
const keys$1 = keys$
|
|
44697
|
+
const keys$1 = keys$6({ ...visitedIds, ...refreshedIds });
|
|
44698
44698
|
for (let i = 0, len = keys$1.length; i < len; i += 1) {
|
|
44699
44699
|
const key = keys$1[i];
|
|
44700
44700
|
const record = records[key];
|
|
@@ -44716,7 +44716,7 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
44716
44716
|
}
|
|
44717
44717
|
const durableStoreOperations = [];
|
|
44718
44718
|
// publishes
|
|
44719
|
-
const recordKeys = keys$
|
|
44719
|
+
const recordKeys = keys$6(durableRecords);
|
|
44720
44720
|
if (recordKeys.length > 0) {
|
|
44721
44721
|
durableStoreOperations.push({
|
|
44722
44722
|
type: 'setEntries',
|
|
@@ -44725,7 +44725,7 @@ function flushInMemoryStoreValuesToDurableStore(store, durableStore, durableStor
|
|
|
44725
44725
|
});
|
|
44726
44726
|
}
|
|
44727
44727
|
// evicts
|
|
44728
|
-
const evictedKeys = keys$
|
|
44728
|
+
const evictedKeys = keys$6(evictedRecords);
|
|
44729
44729
|
if (evictedKeys.length > 0) {
|
|
44730
44730
|
durableStoreOperations.push({
|
|
44731
44731
|
type: 'evictEntries',
|
|
@@ -44879,7 +44879,7 @@ function makeDurable(environment, { durableStore, instrumentation }) {
|
|
|
44879
44879
|
try {
|
|
44880
44880
|
const entries = await durableStore.getEntries(adapterContextKeysFromDifferentInstance, AdapterContextSegment);
|
|
44881
44881
|
if (entries !== undefined) {
|
|
44882
|
-
const entryKeys = keys$
|
|
44882
|
+
const entryKeys = keys$6(entries);
|
|
44883
44883
|
for (let i = 0, len = entryKeys.length; i < len; i++) {
|
|
44884
44884
|
const entryKey = entryKeys[i];
|
|
44885
44885
|
const entry = entries[entryKey];
|
|
@@ -45696,6 +45696,12 @@ function getRelationshipInfo(apiName, fieldName, infoMap) {
|
|
|
45696
45696
|
function stringLiteral(value, safe = false, isCaseSensitive = false) {
|
|
45697
45697
|
return { type: ValueType.StringLiteral, value, safe, isCaseSensitive };
|
|
45698
45698
|
}
|
|
45699
|
+
function isStringLiteral(expression) {
|
|
45700
|
+
return expression.type === ValueType.StringLiteral;
|
|
45701
|
+
}
|
|
45702
|
+
function isStringArray(expression) {
|
|
45703
|
+
return expression.type === ValueType.StringArray;
|
|
45704
|
+
}
|
|
45699
45705
|
function comparison(left, operator, right) {
|
|
45700
45706
|
return { type: PredicateType$1.comparison, left, right, operator };
|
|
45701
45707
|
}
|
|
@@ -45955,7 +45961,7 @@ function comparisonOperatorToSql(operator) {
|
|
|
45955
45961
|
case ComparisonOperator.eq:
|
|
45956
45962
|
return '=';
|
|
45957
45963
|
case ComparisonOperator.ne:
|
|
45958
|
-
return '
|
|
45964
|
+
return 'IS NOT';
|
|
45959
45965
|
case ComparisonOperator.gt:
|
|
45960
45966
|
return '>';
|
|
45961
45967
|
case ComparisonOperator.gte:
|
|
@@ -46466,6 +46472,9 @@ function compoundOperatorToSql(operator) {
|
|
|
46466
46472
|
}
|
|
46467
46473
|
}
|
|
46468
46474
|
|
|
46475
|
+
const { isArray: isArray$4 } = Array;
|
|
46476
|
+
const { keys: keys$5 } = Object;
|
|
46477
|
+
|
|
46469
46478
|
function isListValueNode(node) {
|
|
46470
46479
|
return node.kind === 'ListValue';
|
|
46471
46480
|
}
|
|
@@ -46518,13 +46527,13 @@ function isScalarDataType(type) {
|
|
|
46518
46527
|
const NotOperator = 'not';
|
|
46519
46528
|
const { eq, ne, gt, gte, lt, lte, nin, like, includes, excludes } = ComparisonOperator;
|
|
46520
46529
|
const inOp = ComparisonOperator.in;
|
|
46521
|
-
function fieldsToFilters(fieldValues, joinAlias, apiName, input, compoundOperator = CompoundOperator.and, joins) {
|
|
46530
|
+
function fieldsToFilters(fieldValues, joinAlias, apiName, input, compoundOperator = CompoundOperator.and, joins, draftFunctions) {
|
|
46522
46531
|
const results = fieldValues
|
|
46523
46532
|
.map((value) => {
|
|
46524
46533
|
if (!isObjectValueNode$1(value)) {
|
|
46525
46534
|
return [failure([message('Parent filter node should be an object.')])];
|
|
46526
46535
|
}
|
|
46527
|
-
return Object.entries(value.fields).map(([key, value]) => filter(key, value, joinAlias, apiName, input, joins));
|
|
46536
|
+
return Object.entries(value.fields).map(([key, value]) => filter(key, value, joinAlias, apiName, input, joins, draftFunctions));
|
|
46528
46537
|
})
|
|
46529
46538
|
.reduce(flatten$1, []);
|
|
46530
46539
|
const failures = results.filter(isFailure).reduce(flatMap$1(errors), []);
|
|
@@ -46546,22 +46555,22 @@ function fieldsToFilters(fieldValues, joinAlias, apiName, input, compoundOperato
|
|
|
46546
46555
|
return success({ predicate: resolvedPredicate });
|
|
46547
46556
|
}
|
|
46548
46557
|
//{where: {Field: ... | and: ... | or: ... | not: ...}}
|
|
46549
|
-
function recordFilter(where, joinAlias, apiName, input, joins) {
|
|
46558
|
+
function recordFilter(where, joinAlias, apiName, input, joins, draftFunctions) {
|
|
46550
46559
|
if (where === undefined) {
|
|
46551
46560
|
return success(undefined);
|
|
46552
46561
|
}
|
|
46553
46562
|
// when 'recordFilter' starts, there is no 'NotPredicated'
|
|
46554
|
-
return fieldsToFilters([where.value], joinAlias, apiName, input, CompoundOperator.and, joins).map((result) => result.predicate === undefined || isEmptyPredicate(result.predicate) ? undefined : result);
|
|
46563
|
+
return fieldsToFilters([where.value], joinAlias, apiName, input, CompoundOperator.and, joins, draftFunctions).map((result) => result.predicate === undefined || isEmptyPredicate(result.predicate) ? undefined : result);
|
|
46555
46564
|
}
|
|
46556
|
-
function filter(name, value, tableAlias, apiName, input, joins) {
|
|
46565
|
+
function filter(name, value, tableAlias, apiName, input, joins, draftFunctions) {
|
|
46557
46566
|
if (isCompoundOperator(name)) {
|
|
46558
46567
|
if (!isListValueNode(value)) {
|
|
46559
46568
|
return failure([message(`Value for ${name} node must be a list.`)]);
|
|
46560
46569
|
}
|
|
46561
|
-
return compoundPredicate(name, value, tableAlias, apiName, input, joins);
|
|
46570
|
+
return compoundPredicate(name, value, tableAlias, apiName, input, joins, draftFunctions);
|
|
46562
46571
|
}
|
|
46563
46572
|
if (name === NotOperator) {
|
|
46564
|
-
const children = fieldsToFilters([value], tableAlias, apiName, input, CompoundOperator.and, joins);
|
|
46573
|
+
const children = fieldsToFilters([value], tableAlias, apiName, input, CompoundOperator.and, joins, draftFunctions);
|
|
46565
46574
|
// take the children of a not predicate
|
|
46566
46575
|
// and wrap them all inside it
|
|
46567
46576
|
return children.flatMap((container) => {
|
|
@@ -46579,10 +46588,10 @@ function filter(name, value, tableAlias, apiName, input, joins) {
|
|
|
46579
46588
|
if (!isObjectValueNode$1(value)) {
|
|
46580
46589
|
return failure([message('Filter node must be an object or list.')]);
|
|
46581
46590
|
}
|
|
46582
|
-
return fieldFilter(name, value, tableAlias, apiName, input, joins);
|
|
46591
|
+
return fieldFilter(name, value, tableAlias, apiName, input, joins, draftFunctions);
|
|
46583
46592
|
}
|
|
46584
|
-
function compoundPredicate(operator, list, joinAlias, apiName, input, joins) {
|
|
46585
|
-
return fieldsToFilters(list.values, joinAlias, apiName, input, operator, joins);
|
|
46593
|
+
function compoundPredicate(operator, list, joinAlias, apiName, input, joins, draftFunctions) {
|
|
46594
|
+
return fieldsToFilters(list.values, joinAlias, apiName, input, operator, joins, draftFunctions);
|
|
46586
46595
|
}
|
|
46587
46596
|
/**
|
|
46588
46597
|
* spans a FieldNode with its ObjectValueNode is passed. All the predicates is added into the 'join' array.
|
|
@@ -46593,7 +46602,7 @@ function compoundPredicate(operator, list, joinAlias, apiName, input, joins) {
|
|
|
46593
46602
|
* @param joins
|
|
46594
46603
|
* @returns undefined predicate
|
|
46595
46604
|
*/
|
|
46596
|
-
function spanningFilter(fieldInfo, fieldNode, alias, input, joins) {
|
|
46605
|
+
function spanningFilter(fieldInfo, fieldNode, alias, input, joins, draftFunctions) {
|
|
46597
46606
|
const { apiName: fieldName, referenceToInfos, relationshipName } = fieldInfo;
|
|
46598
46607
|
const referenceInfo = referenceToInfos[0];
|
|
46599
46608
|
const jsonAlias = `${alias}.${relationshipName}`;
|
|
@@ -46612,7 +46621,7 @@ function spanningFilter(fieldInfo, fieldNode, alias, input, joins) {
|
|
|
46612
46621
|
joins.push(join);
|
|
46613
46622
|
// moves constraint predicate to where
|
|
46614
46623
|
const constraintPredicates = [];
|
|
46615
|
-
const filterResult = fieldsToFilters([fieldNode], jsonAlias, apiName, input, CompoundOperator.and, joins);
|
|
46624
|
+
const filterResult = fieldsToFilters([fieldNode], jsonAlias, apiName, input, CompoundOperator.and, joins, draftFunctions);
|
|
46616
46625
|
if (filterResult.isSuccess === false) {
|
|
46617
46626
|
return filterResult;
|
|
46618
46627
|
}
|
|
@@ -46624,7 +46633,11 @@ function spanningFilter(fieldInfo, fieldNode, alias, input, joins) {
|
|
|
46624
46633
|
});
|
|
46625
46634
|
return success({ predicate: combinePredicates(constraintPredicates, CompoundOperator.and) });
|
|
46626
46635
|
}
|
|
46627
|
-
function
|
|
46636
|
+
function isIDValueField$1(fieldInfo) {
|
|
46637
|
+
return (fieldInfo.apiName === 'Id' ||
|
|
46638
|
+
(fieldInfo.referenceToInfos !== undefined && fieldInfo.referenceToInfos.length > 0));
|
|
46639
|
+
}
|
|
46640
|
+
function fieldFilter(fieldName, fieldNode, alias, apiName, input, joins, draftFunctions) {
|
|
46628
46641
|
const fieldInfoResult = getFieldInfo(apiName, fieldName, input);
|
|
46629
46642
|
if (fieldInfoResult.isSuccess === false) {
|
|
46630
46643
|
return failure([fieldInfoResult.error]);
|
|
@@ -46634,8 +46647,9 @@ function fieldFilter(fieldName, fieldNode, alias, apiName, input, joins) {
|
|
|
46634
46647
|
return failure([message(`Field ${fieldName} for type ${apiName} not found.`)]);
|
|
46635
46648
|
}
|
|
46636
46649
|
if (fieldInfo.dataType === 'Reference' && fieldInfo.relationshipName === fieldName) {
|
|
46637
|
-
return spanningFilter(fieldInfo, fieldNode, alias, input, joins);
|
|
46650
|
+
return spanningFilter(fieldInfo, fieldNode, alias, input, joins, draftFunctions);
|
|
46638
46651
|
}
|
|
46652
|
+
const idProcessingNeeded = isIDValueField$1(fieldInfo);
|
|
46639
46653
|
const extract = {
|
|
46640
46654
|
type: ValueType.Extract,
|
|
46641
46655
|
jsonAlias: alias,
|
|
@@ -46726,7 +46740,29 @@ function fieldFilter(fieldName, fieldNode, alias, apiName, input, joins) {
|
|
|
46726
46740
|
children,
|
|
46727
46741
|
};
|
|
46728
46742
|
}
|
|
46729
|
-
|
|
46743
|
+
const rightOperand = op.value;
|
|
46744
|
+
if (idProcessingNeeded) {
|
|
46745
|
+
if (isStringLiteral(rightOperand)) {
|
|
46746
|
+
if (rightOperand.value !== null) {
|
|
46747
|
+
if (draftFunctions.isDraftId(rightOperand.value)) {
|
|
46748
|
+
rightOperand.value = draftFunctions.getCanonicalId(rightOperand.value);
|
|
46749
|
+
}
|
|
46750
|
+
}
|
|
46751
|
+
}
|
|
46752
|
+
else if (isStringArray(rightOperand)) {
|
|
46753
|
+
if (rightOperand.value !== null) {
|
|
46754
|
+
rightOperand.value = rightOperand.value.map((originalId) => {
|
|
46755
|
+
if (originalId !== null) {
|
|
46756
|
+
if (draftFunctions.isDraftId(originalId)) {
|
|
46757
|
+
return draftFunctions.getCanonicalId(originalId);
|
|
46758
|
+
}
|
|
46759
|
+
}
|
|
46760
|
+
return originalId;
|
|
46761
|
+
});
|
|
46762
|
+
}
|
|
46763
|
+
}
|
|
46764
|
+
}
|
|
46765
|
+
return comparison(extract, op.operator, rightOperand);
|
|
46730
46766
|
});
|
|
46731
46767
|
const combined = combinePredicates(comparisons.concat(...dateFunction.value), CompoundOperator.and);
|
|
46732
46768
|
const container = {
|
|
@@ -47828,7 +47864,7 @@ function recordQuery(selection, apiName, alias, predicates, input) {
|
|
|
47828
47864
|
const orderByJoins = [];
|
|
47829
47865
|
const orderByResult = parseOrderBy(orderByArg, alias, apiName, input.objectInfoMap, orderByJoins);
|
|
47830
47866
|
const filterJoins = [];
|
|
47831
|
-
const whereResult = recordFilter(whereArg, alias, apiName, input.objectInfoMap, filterJoins);
|
|
47867
|
+
const whereResult = recordFilter(whereArg, alias, apiName, input.objectInfoMap, filterJoins, input.draftFunctions);
|
|
47832
47868
|
const scopeJoins = [];
|
|
47833
47869
|
const scopeResult = scopeFilter(scopeArg, alias, apiName, input, scopeJoins);
|
|
47834
47870
|
let additionalPredicates = [];
|
|
@@ -47990,27 +48026,19 @@ function generateVariableGQLQuery(document, variables) {
|
|
|
47990
48026
|
? node.arguments
|
|
47991
48027
|
.map((args) => {
|
|
47992
48028
|
const { value, name } = args;
|
|
48029
|
+
//The variable is on the top level, for example `where: ${filter}`
|
|
47993
48030
|
if (is(value, 'Variable')) {
|
|
47994
|
-
|
|
47995
|
-
|
|
47996
|
-
|
|
47997
|
-
|
|
47998
|
-
return `${name}: ${transform(query)}`;
|
|
47999
|
-
};
|
|
48000
|
-
switch (name) {
|
|
48001
|
-
case 'scope':
|
|
48002
|
-
case 'orderBy':
|
|
48003
|
-
return buildRecordQueryString(name, jsonString, removeAllQuotations);
|
|
48004
|
-
default:
|
|
48005
|
-
return buildRecordQueryString(name, jsonString, removeQuotationsFromKeys);
|
|
48006
|
-
}
|
|
48007
|
-
}
|
|
48008
|
-
return '';
|
|
48031
|
+
return generateVariableNodeQuery(value, name, name, variables);
|
|
48032
|
+
}
|
|
48033
|
+
else if (isObjectValueNode$1(value)) {
|
|
48034
|
+
return generateVariableSubQuery(value, name, name, variables);
|
|
48009
48035
|
}
|
|
48010
48036
|
})
|
|
48011
48037
|
.filter(Boolean)
|
|
48012
48038
|
: undefined;
|
|
48013
|
-
return gqlArguments
|
|
48039
|
+
return gqlArguments
|
|
48040
|
+
? `${node.name} ${gqlArguments.length > 0 ? '(' + gqlArguments.join(',') + ')' : ''} { Id }`
|
|
48041
|
+
: '';
|
|
48014
48042
|
})
|
|
48015
48043
|
//remove empty strings
|
|
48016
48044
|
.filter(Boolean)
|
|
@@ -48020,6 +48048,51 @@ function generateVariableGQLQuery(document, variables) {
|
|
|
48020
48048
|
return [accu.slice(0, 1), query, accu.slice(1, length)].join('');
|
|
48021
48049
|
}, '{ }'));
|
|
48022
48050
|
}
|
|
48051
|
+
/**
|
|
48052
|
+
* Given a LuvioValueNode, generates a sql with its variable node replaced with actual value.
|
|
48053
|
+
* @param valueNode G
|
|
48054
|
+
* @param name
|
|
48055
|
+
* @param type
|
|
48056
|
+
* @param variables
|
|
48057
|
+
* @returns
|
|
48058
|
+
*/
|
|
48059
|
+
function generateVariableSubQuery(valueNode, name, type, variables) {
|
|
48060
|
+
switch (valueNode.kind) {
|
|
48061
|
+
case Kind.OBJECT: {
|
|
48062
|
+
// For example, `{ Id: { eq: $draftId } }` is a `ObjectValueNode`, which has field keys 'Id'
|
|
48063
|
+
const resultQuery = keys$5(valueNode.fields)
|
|
48064
|
+
.map((key) => generateVariableSubQuery(valueNode.fields[key], key, type, variables))
|
|
48065
|
+
.filter((subquery) => subquery.length > 0)
|
|
48066
|
+
.join(',');
|
|
48067
|
+
if (resultQuery.length > 0) {
|
|
48068
|
+
return `${name}: {${resultQuery}}`;
|
|
48069
|
+
}
|
|
48070
|
+
return resultQuery;
|
|
48071
|
+
}
|
|
48072
|
+
case Kind.VARIABLE:
|
|
48073
|
+
return generateVariableNodeQuery(valueNode, name, type, variables);
|
|
48074
|
+
default:
|
|
48075
|
+
return '';
|
|
48076
|
+
}
|
|
48077
|
+
}
|
|
48078
|
+
// Generate a sql for the variable node with its actual value.
|
|
48079
|
+
function generateVariableNodeQuery(value, name, type, variables) {
|
|
48080
|
+
const variable = variables[value.name];
|
|
48081
|
+
if (variable) {
|
|
48082
|
+
const jsonString = JSON.stringify(variable);
|
|
48083
|
+
const buildRecordQueryString = (name, query, transform) => {
|
|
48084
|
+
return `${name}: ${transform(query)}`;
|
|
48085
|
+
};
|
|
48086
|
+
switch (type) {
|
|
48087
|
+
case 'scope':
|
|
48088
|
+
case 'orderBy':
|
|
48089
|
+
return buildRecordQueryString(name, jsonString, removeAllQuotations);
|
|
48090
|
+
default:
|
|
48091
|
+
return buildRecordQueryString(name, jsonString, removeQuotationsFromKeys);
|
|
48092
|
+
}
|
|
48093
|
+
}
|
|
48094
|
+
return '';
|
|
48095
|
+
}
|
|
48023
48096
|
/**
|
|
48024
48097
|
* Given an AST with variables
|
|
48025
48098
|
* Swap out the LuvioArgumentNodes on the original AST with ones generated from its variables.
|
|
@@ -48038,14 +48111,43 @@ function swapVariableArguments(document, variables) {
|
|
|
48038
48111
|
const { name } = node;
|
|
48039
48112
|
const first = allArgumentRecords.find((n) => n.name === name);
|
|
48040
48113
|
if (first) {
|
|
48041
|
-
|
|
48042
|
-
first.arguments =
|
|
48043
|
-
? first.arguments.filter((x) => x.value.kind !== 'Variable')
|
|
48044
|
-
: [], node.arguments ? node.arguments : []);
|
|
48114
|
+
const swappedArgments = swapArgumentWithVariableNodes(node.arguments, first.arguments);
|
|
48115
|
+
first.arguments = swappedArgments ? swappedArgments : [];
|
|
48045
48116
|
}
|
|
48046
48117
|
});
|
|
48047
48118
|
}
|
|
48048
48119
|
}
|
|
48120
|
+
// Replaces the variable node in original LuvioArgumentNode with the actual value in the swapped node with the same path.
|
|
48121
|
+
function swapArgumentWithVariableNodes(swapped, original) {
|
|
48122
|
+
if (swapped === undefined || original === undefined) {
|
|
48123
|
+
return original;
|
|
48124
|
+
}
|
|
48125
|
+
return original.map((x) => {
|
|
48126
|
+
const targetNode = swapped.find((y) => y.name === x.name);
|
|
48127
|
+
if (targetNode === undefined) {
|
|
48128
|
+
return x;
|
|
48129
|
+
}
|
|
48130
|
+
if (x.value.kind === 'Variable') {
|
|
48131
|
+
return targetNode;
|
|
48132
|
+
}
|
|
48133
|
+
swapValueNodeWithVariableNodes(x.value, targetNode.value);
|
|
48134
|
+
return x;
|
|
48135
|
+
});
|
|
48136
|
+
}
|
|
48137
|
+
function swapValueNodeWithVariableNodes(original, swapped) {
|
|
48138
|
+
if (original.kind === Kind.OBJECT) {
|
|
48139
|
+
for (const key of keys$5(original.fields)) {
|
|
48140
|
+
if (isObjectValueNode$1(swapped) && swapped.fields[key]) {
|
|
48141
|
+
if (is(original.fields[key], 'Variable')) {
|
|
48142
|
+
original.fields[key] = swapped.fields[key];
|
|
48143
|
+
}
|
|
48144
|
+
else {
|
|
48145
|
+
swapValueNodeWithVariableNodes(original.fields[key], swapped.fields[key]);
|
|
48146
|
+
}
|
|
48147
|
+
}
|
|
48148
|
+
}
|
|
48149
|
+
}
|
|
48150
|
+
}
|
|
48049
48151
|
//find top level record queries
|
|
48050
48152
|
function findRecordSelections$1(document) {
|
|
48051
48153
|
return document.definitions
|
|
@@ -48080,7 +48182,7 @@ class StoreEvalPreconditioner {
|
|
|
48080
48182
|
* Missing object info records triggers the objectInfoService (same instance shared with Drafts code), to
|
|
48081
48183
|
* use the getObjectInfos adapter to efficiently fetch the necessary records.
|
|
48082
48184
|
*/
|
|
48083
|
-
async createRootQuery(config, objectInfoService, userId) {
|
|
48185
|
+
async createRootQuery(config, objectInfoService, userId, draftFunctions) {
|
|
48084
48186
|
const { query: ast, variables } = config;
|
|
48085
48187
|
swapVariableArguments(ast, variables);
|
|
48086
48188
|
// Parse out top-level record queries types we know we will need, since spanning fields will
|
|
@@ -48127,6 +48229,7 @@ class StoreEvalPreconditioner {
|
|
|
48127
48229
|
astTransformResult = transform(ast, {
|
|
48128
48230
|
userId,
|
|
48129
48231
|
objectInfoMap,
|
|
48232
|
+
draftFunctions,
|
|
48130
48233
|
});
|
|
48131
48234
|
if (astTransformResult.isSuccess === false) {
|
|
48132
48235
|
for (const error of astTransformResult.error) {
|
|
@@ -48164,8 +48267,6 @@ class StoreEvalPreconditioner {
|
|
|
48164
48267
|
}
|
|
48165
48268
|
}
|
|
48166
48269
|
|
|
48167
|
-
const { isArray: isArray$4 } = Array;
|
|
48168
|
-
|
|
48169
48270
|
/**
|
|
48170
48271
|
* Checks a GraphQL-shaped network response for errors, returning true if it does
|
|
48171
48272
|
* and false otherwise
|
|
@@ -48211,7 +48312,7 @@ const wrapStartEndEvents = (storeEval) => {
|
|
|
48211
48312
|
return snapshot;
|
|
48212
48313
|
};
|
|
48213
48314
|
};
|
|
48214
|
-
function sqliteStoreEvalFactory(userId, sqliteStore, objectInfoService) {
|
|
48315
|
+
function sqliteStoreEvalFactory(userId, sqliteStore, objectInfoService, draftFunctions) {
|
|
48215
48316
|
// if the store does not support eval then use the noop version
|
|
48216
48317
|
if (sqliteStore.isEvalSupported() === false) {
|
|
48217
48318
|
return noopStoreEval;
|
|
@@ -48219,7 +48320,7 @@ function sqliteStoreEvalFactory(userId, sqliteStore, objectInfoService) {
|
|
|
48219
48320
|
const preconditioner = new StoreEvalPreconditioner();
|
|
48220
48321
|
return makeStoreEval(preconditioner, objectInfoService, userId, async () => {
|
|
48221
48322
|
return undefined;
|
|
48222
|
-
}, (query, _context, eventEmitter) => evaluateSqlite(query, eventEmitter, sqliteStore));
|
|
48323
|
+
}, (query, _context, eventEmitter) => evaluateSqlite(query, eventEmitter, sqliteStore), draftFunctions);
|
|
48223
48324
|
}
|
|
48224
48325
|
async function noopStoreEval(_config, nonEvaluatedSnapshotOrPromise, _observers) {
|
|
48225
48326
|
return nonEvaluatedSnapshotOrPromise;
|
|
@@ -48238,7 +48339,7 @@ function isErrorSnapshotThatShouldGetReturnedToCaller$1(snapshot) {
|
|
|
48238
48339
|
function generateUniqueRecordId$1() {
|
|
48239
48340
|
return `${GRAPHQL_ROOT_KEY$1}${Date.now() + Math.random().toFixed(5).split('.')[1]}`;
|
|
48240
48341
|
}
|
|
48241
|
-
function makeStoreEval(preconditioner, objectInfoService, userId, contextProvider, queryEvaluator) {
|
|
48342
|
+
function makeStoreEval(preconditioner, objectInfoService, userId, contextProvider, queryEvaluator, draftFunctions) {
|
|
48242
48343
|
const storeEval = async (config, nonEvaluatedSnapshotOrPromise, observers) => {
|
|
48243
48344
|
const eventEmitter = createCustomAdapterEventEmitter(GRAPHQL_EVAL_NAMESPACE$1, observers);
|
|
48244
48345
|
// the non-eval'ed input could either be a snapshot or promise of one so
|
|
@@ -48268,7 +48369,7 @@ function makeStoreEval(preconditioner, objectInfoService, userId, contextProvide
|
|
|
48268
48369
|
context = await contextProvider();
|
|
48269
48370
|
// Ensures ObjectInfo metadata is available for the request. Sourcing records from L1/L2/Network
|
|
48270
48371
|
// is delegated to the getObjectInfo adapter via objectInfoService
|
|
48271
|
-
rootQuery = await preconditioner.createRootQuery(config, objectInfoService, userId);
|
|
48372
|
+
rootQuery = await preconditioner.createRootQuery(config, objectInfoService, userId, draftFunctions);
|
|
48272
48373
|
}
|
|
48273
48374
|
catch (error) {
|
|
48274
48375
|
eventEmitter({
|
|
@@ -55854,6 +55955,19 @@ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecord
|
|
|
55854
55955
|
});
|
|
55855
55956
|
}
|
|
55856
55957
|
|
|
55958
|
+
/**
|
|
55959
|
+
* This function takes an unknown error and normalizes it to an Error object
|
|
55960
|
+
*/
|
|
55961
|
+
function normalizeError$1(error) {
|
|
55962
|
+
if (typeof error === 'object' && error instanceof Error) {
|
|
55963
|
+
return error;
|
|
55964
|
+
}
|
|
55965
|
+
else if (typeof error === 'string') {
|
|
55966
|
+
return new Error(error);
|
|
55967
|
+
}
|
|
55968
|
+
return new Error(stringify$2(error));
|
|
55969
|
+
}
|
|
55970
|
+
|
|
55857
55971
|
const PERFORM_QUICK_ACTION_ENDPOINT_REGEX = /^\/ui-api\/actions\/perform-quick-action\/.*$/;
|
|
55858
55972
|
/**
|
|
55859
55973
|
* Checks if a provided resource request is a POST operation on the record
|
|
@@ -55872,7 +55986,7 @@ function performQuickActionDraftEnvironment(luvio, env, handler) {
|
|
|
55872
55986
|
return env.dispatchResourceRequest(request, context, eventObservers);
|
|
55873
55987
|
}
|
|
55874
55988
|
const { data } = await handler.enqueue(request).catch((err) => {
|
|
55875
|
-
throw createDraftSynthesisErrorResponse(err.message);
|
|
55989
|
+
throw createDraftSynthesisErrorResponse(normalizeError$1(err).message);
|
|
55876
55990
|
});
|
|
55877
55991
|
if (data === undefined) {
|
|
55878
55992
|
return Promise.reject(createDraftSynthesisErrorResponse());
|
|
@@ -56209,7 +56323,7 @@ function generateUniqueRecordId() {
|
|
|
56209
56323
|
return `UiApi::GraphQLRepresentation:${Date.now() + Math.random().toFixed(5).split('.')[1]}`;
|
|
56210
56324
|
}
|
|
56211
56325
|
// Recursively replace draft ids with canonical ids
|
|
56212
|
-
const replaceDraftIdsInVariables = (variables, draftFunctions, unmappedDraftIDs) => {
|
|
56326
|
+
const replaceDraftIdsInVariables$1 = (variables, draftFunctions, unmappedDraftIDs) => {
|
|
56213
56327
|
const replace = (object) => {
|
|
56214
56328
|
if (typeof object === 'string') {
|
|
56215
56329
|
if (!draftFunctions.isDraftId(object)) {
|
|
@@ -56266,7 +56380,7 @@ function draftAwareGraphQLAdapterFactory(userId, objectInfoService, store, luvio
|
|
|
56266
56380
|
unmappedDraftIDs,
|
|
56267
56381
|
} = await injectSyntheticFields(copy, objectInfoService, draftFunctions, config.variables));
|
|
56268
56382
|
if (config.variables) {
|
|
56269
|
-
config.variables = replaceDraftIdsInVariables(config.variables, draftFunctions, unmappedDraftIDs);
|
|
56383
|
+
config.variables = replaceDraftIdsInVariables$1(config.variables, draftFunctions, unmappedDraftIDs);
|
|
56270
56384
|
}
|
|
56271
56385
|
}
|
|
56272
56386
|
catch (throwable) {
|
|
@@ -57852,7 +57966,7 @@ function makeNetworkAdapterChunkRecordFields(networkAdapter) {
|
|
|
57852
57966
|
}, networkAdapter);
|
|
57853
57967
|
}
|
|
57854
57968
|
|
|
57855
|
-
const { keys: keys$
|
|
57969
|
+
const { keys: keys$8, create: create$6, assign: assign$5, entries } = Object;
|
|
57856
57970
|
const { stringify: stringify$6, parse: parse$6 } = JSON;
|
|
57857
57971
|
const { push, join, slice } = Array.prototype;
|
|
57858
57972
|
|
|
@@ -57868,15 +57982,15 @@ class NimbusDraftQueue {
|
|
|
57868
57982
|
enqueue(handlerId, data) {
|
|
57869
57983
|
const callProxyMethod = __nimbus.plugins.LdsDraftQueue.callProxyMethod;
|
|
57870
57984
|
if (callProxyMethod === undefined) {
|
|
57871
|
-
return Promise.reject('callProxyMethod not defined on the nimbus plugin');
|
|
57985
|
+
return Promise.reject(new Error('callProxyMethod not defined on the nimbus plugin'));
|
|
57872
57986
|
}
|
|
57873
57987
|
const serializedAction = stringify$6([handlerId, data]);
|
|
57874
57988
|
return new Promise((resolve, reject) => {
|
|
57875
57989
|
callProxyMethod('enqueue', serializedAction, (serializedActionResponse) => {
|
|
57876
57990
|
const response = parse$6(serializedActionResponse);
|
|
57877
57991
|
resolve(response);
|
|
57878
|
-
}, (
|
|
57879
|
-
reject(
|
|
57992
|
+
}, (errorMessage) => {
|
|
57993
|
+
reject(new Error(errorMessage));
|
|
57880
57994
|
});
|
|
57881
57995
|
});
|
|
57882
57996
|
}
|
|
@@ -57886,18 +58000,18 @@ class NimbusDraftQueue {
|
|
|
57886
58000
|
return Promise.resolve;
|
|
57887
58001
|
}
|
|
57888
58002
|
processNextAction() {
|
|
57889
|
-
return Promise.reject('Cannot call processNextAction from the NimbusDraftQueue');
|
|
58003
|
+
return Promise.reject(new Error('Cannot call processNextAction from the NimbusDraftQueue'));
|
|
57890
58004
|
}
|
|
57891
58005
|
getQueueActions() {
|
|
57892
58006
|
const callProxyMethod = __nimbus.plugins.LdsDraftQueue.callProxyMethod;
|
|
57893
58007
|
if (callProxyMethod === undefined) {
|
|
57894
|
-
return Promise.reject('callProxyMethod not defined on the nimbus plugin');
|
|
58008
|
+
return Promise.reject(new Error('callProxyMethod not defined on the nimbus plugin'));
|
|
57895
58009
|
}
|
|
57896
58010
|
return new Promise((resolve, reject) => {
|
|
57897
58011
|
callProxyMethod('getQueueActions', stringify$6([]), (serializedQueue) => {
|
|
57898
58012
|
resolve(parse$6(serializedQueue));
|
|
57899
|
-
}, (
|
|
57900
|
-
reject(
|
|
58013
|
+
}, (errorMessage) => {
|
|
58014
|
+
reject(new Error(errorMessage));
|
|
57901
58015
|
});
|
|
57902
58016
|
});
|
|
57903
58017
|
}
|
|
@@ -57925,32 +58039,32 @@ class NimbusDraftQueue {
|
|
|
57925
58039
|
throw new Error('Cannot call getQueueState from the NimbusDraftQueue');
|
|
57926
58040
|
}
|
|
57927
58041
|
removeDraftAction(_actionId) {
|
|
57928
|
-
return Promise.reject('Cannot call removeDraftAction from the NimbusDraftQueue');
|
|
58042
|
+
return Promise.reject(new Error('Cannot call removeDraftAction from the NimbusDraftQueue'));
|
|
57929
58043
|
}
|
|
57930
58044
|
startQueue() {
|
|
57931
|
-
return Promise.reject('Cannot call startQueue from the NimbusDraftQueue');
|
|
58045
|
+
return Promise.reject(new Error('Cannot call startQueue from the NimbusDraftQueue'));
|
|
57932
58046
|
}
|
|
57933
58047
|
stopQueue() {
|
|
57934
|
-
return Promise.reject('Cannot call stopQueue from the NimbusDraftQueue');
|
|
58048
|
+
return Promise.reject(new Error('Cannot call stopQueue from the NimbusDraftQueue'));
|
|
57935
58049
|
}
|
|
57936
58050
|
replaceAction(_actionId, _withActionId) {
|
|
57937
|
-
return Promise.reject('Cannot call replaceAction from the NimbusDraftQueue');
|
|
58051
|
+
return Promise.reject(new Error('Cannot call replaceAction from the NimbusDraftQueue'));
|
|
57938
58052
|
}
|
|
57939
58053
|
mergeActions(_targetActionId, _sourceActionId) {
|
|
57940
|
-
return Promise.reject('Cannot call mergeActions from the NimbusDraftQueue');
|
|
58054
|
+
return Promise.reject(new Error('Cannot call mergeActions from the NimbusDraftQueue'));
|
|
57941
58055
|
}
|
|
57942
58056
|
setMetadata(_actionId, _metadata) {
|
|
57943
|
-
return Promise.reject('Cannot call setMetadata from the NimbusDraftQueue');
|
|
58057
|
+
return Promise.reject(new Error('Cannot call setMetadata from the NimbusDraftQueue'));
|
|
57944
58058
|
}
|
|
57945
58059
|
addHandler(_handler) {
|
|
57946
58060
|
// no-op -- all registration occurs against concrete draft queue
|
|
57947
58061
|
return Promise.resolve();
|
|
57948
58062
|
}
|
|
57949
58063
|
addCustomHandler(_id, _executor) {
|
|
57950
|
-
return Promise.reject('Cannot call setMetadata from the NimbusDraftQueue');
|
|
58064
|
+
return Promise.reject(new Error('Cannot call setMetadata from the NimbusDraftQueue'));
|
|
57951
58065
|
}
|
|
57952
58066
|
removeHandler(_id) {
|
|
57953
|
-
return Promise.reject('Cannot call setMetadata from the NimbusDraftQueue');
|
|
58067
|
+
return Promise.reject(new Error('Cannot call setMetadata from the NimbusDraftQueue'));
|
|
57954
58068
|
}
|
|
57955
58069
|
}
|
|
57956
58070
|
|
|
@@ -57973,7 +58087,7 @@ function attachObserversToAdapterRequestContext(observers, adapterRequestContext
|
|
|
57973
58087
|
* @param err Unknown object to sanitize
|
|
57974
58088
|
* @returns an instance of error
|
|
57975
58089
|
*/
|
|
57976
|
-
function normalizeError$
|
|
58090
|
+
function normalizeError$2(err) {
|
|
57977
58091
|
if (err instanceof Error) {
|
|
57978
58092
|
return err;
|
|
57979
58093
|
}
|
|
@@ -57985,13 +58099,13 @@ function normalizeError$1(err) {
|
|
|
57985
58099
|
const DRAFT_QUEUE_TOTAL_MERGE_ACTIONS_CALLS = 'draft-queue-total-mergeActions-calls';
|
|
57986
58100
|
const DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR = 'draft-aware-create-content-document-and-version-error';
|
|
57987
58101
|
function reportGraphqlQueryParseError(err) {
|
|
57988
|
-
normalizeError$
|
|
58102
|
+
normalizeError$2(err);
|
|
57989
58103
|
}
|
|
57990
58104
|
function reportGraphqlSqlEvalPreconditionError(err) {
|
|
57991
|
-
normalizeError$
|
|
58105
|
+
normalizeError$2(err);
|
|
57992
58106
|
}
|
|
57993
58107
|
function reportGraphqlCreateSnapshotError(err) {
|
|
57994
|
-
normalizeError$
|
|
58108
|
+
normalizeError$2(err);
|
|
57995
58109
|
}
|
|
57996
58110
|
function reportGraphQlEvalDbReadDuration(duration) {
|
|
57997
58111
|
}
|
|
@@ -58001,7 +58115,7 @@ function reportDraftAwareContentDocumentVersionSynthesizeError(err) {
|
|
|
58001
58115
|
error = err.body;
|
|
58002
58116
|
}
|
|
58003
58117
|
else {
|
|
58004
|
-
error = normalizeError$
|
|
58118
|
+
error = normalizeError$2(err);
|
|
58005
58119
|
}
|
|
58006
58120
|
const errorCode = DRAFT_AWARE_CREATE_CONTENT_DOCUMENT_AND_VERSION_ERROR;
|
|
58007
58121
|
const errorType = error.errorType;
|
|
@@ -58030,7 +58144,7 @@ const withInstrumentation = (operation, config) => {
|
|
|
58030
58144
|
const { tags, metricName, logError } = config;
|
|
58031
58145
|
return operation()
|
|
58032
58146
|
.catch((err) => {
|
|
58033
|
-
const error = normalizeError$
|
|
58147
|
+
const error = normalizeError$2(err);
|
|
58034
58148
|
tags['errorMessage'] = error.message;
|
|
58035
58149
|
throw err;
|
|
58036
58150
|
})
|
|
@@ -58412,7 +58526,7 @@ class LdsDataTable {
|
|
|
58412
58526
|
},
|
|
58413
58527
|
conflictColumns: this.conflictColumnNames,
|
|
58414
58528
|
columns: this.columnNames,
|
|
58415
|
-
rows: keys$
|
|
58529
|
+
rows: keys$8(entries).reduce((rows, key) => {
|
|
58416
58530
|
const entry = entries[key];
|
|
58417
58531
|
const { data, metadata } = entry;
|
|
58418
58532
|
const row = [key, stringify$6(data), metadata ? stringify$6(metadata) : null];
|
|
@@ -58473,7 +58587,7 @@ class AbstractKeyValueDataTable {
|
|
|
58473
58587
|
},
|
|
58474
58588
|
conflictColumns: this.conflictColumnNames,
|
|
58475
58589
|
columns: this.columnNames,
|
|
58476
|
-
rows: keys$
|
|
58590
|
+
rows: keys$8(entries).reduce((rows, key) => {
|
|
58477
58591
|
const entry = entries[key];
|
|
58478
58592
|
rows.push([key, stringify$6(entry.data)]);
|
|
58479
58593
|
return rows;
|
|
@@ -58558,7 +58672,7 @@ class LdsInternalDataTable {
|
|
|
58558
58672
|
},
|
|
58559
58673
|
conflictColumns: this.conflictColumnNames,
|
|
58560
58674
|
columns: this.columnNames,
|
|
58561
|
-
rows: keys$
|
|
58675
|
+
rows: keys$8(entries).reduce((rows, key) => {
|
|
58562
58676
|
const entry = entries[key];
|
|
58563
58677
|
const { data, metadata } = entry;
|
|
58564
58678
|
const row = [key, stringify$6(data)];
|
|
@@ -59422,11 +59536,6 @@ function getRuntime() {
|
|
|
59422
59536
|
getIngestMetadataForInternalAdapters =
|
|
59423
59537
|
internalAdapterDurableEnvironment.getIngestStagingStoreRecords;
|
|
59424
59538
|
lazyObjectInfoService = new ObjectInfoService(getObjectInfo, getObjectInfos, internalAdapterDurableStore);
|
|
59425
|
-
// set storeEval function for lds-adapters-graghql to use
|
|
59426
|
-
withRegistration('@salesforce/lds-adapters-graphql', (registration) => {
|
|
59427
|
-
const { configuration: { setStoreEval }, } = registration;
|
|
59428
|
-
setStoreEval(sqliteStoreEvalFactory(userId, lazyBaseDurableStore, lazyObjectInfoService));
|
|
59429
|
-
});
|
|
59430
59539
|
// creates a durable store that denormalizes scalar fields for records
|
|
59431
59540
|
let getIngestRecords;
|
|
59432
59541
|
let getIngestMetadata;
|
|
@@ -59465,6 +59574,20 @@ function getRuntime() {
|
|
|
59465
59574
|
setupMobileInstrumentation();
|
|
59466
59575
|
// If the inspection nimbus plugin is configured, inspection is enabled otherwise this is a no-op
|
|
59467
59576
|
setupInspection(lazyLuvio);
|
|
59577
|
+
// set storeEval function for lds-adapters-graghql to use
|
|
59578
|
+
withRegistration('@salesforce/lds-adapters-graphql', (registration) => {
|
|
59579
|
+
const { configuration: { setStoreEval, setDraftFunctions }, } = registration;
|
|
59580
|
+
const getCanonicalId = (id) => {
|
|
59581
|
+
var _a;
|
|
59582
|
+
return ((_a = extractRecordIdFromStoreKey(lazyLuvio.storeGetCanonicalKey(RECORD_ID_PREFIX + id))) !== null && _a !== void 0 ? _a : id);
|
|
59583
|
+
};
|
|
59584
|
+
const draftFuncs = {
|
|
59585
|
+
isDraftId: isGenerated,
|
|
59586
|
+
getCanonicalId,
|
|
59587
|
+
};
|
|
59588
|
+
setStoreEval(sqliteStoreEvalFactory(userId, lazyBaseDurableStore, lazyObjectInfoService, draftFuncs));
|
|
59589
|
+
setDraftFunctions(draftFuncs);
|
|
59590
|
+
});
|
|
59468
59591
|
// on core the graphql configuration is split so we need to set configureUIAPIGraphQL both in the
|
|
59469
59592
|
// graphql registration and the uiapi for off core
|
|
59470
59593
|
const configureUIAPIGraphQL = (registration) => {
|
|
@@ -59514,7 +59637,7 @@ register({
|
|
|
59514
59637
|
id: '@salesforce/lds-network-adapter',
|
|
59515
59638
|
instrument: instrument$1,
|
|
59516
59639
|
});
|
|
59517
|
-
// version: 1.136.
|
|
59640
|
+
// version: 1.136.7-777657471
|
|
59518
59641
|
|
|
59519
59642
|
const { create: create$2, keys: keys$2 } = Object;
|
|
59520
59643
|
const { stringify: stringify$1, parse: parse$1 } = JSON;
|
|
@@ -73948,7 +74071,7 @@ register({
|
|
|
73948
74071
|
configuration: { ...configurationForGraphQLAdapters },
|
|
73949
74072
|
instrument,
|
|
73950
74073
|
});
|
|
73951
|
-
// version: 1.136.
|
|
74074
|
+
// version: 1.136.7-ae23b4cbb
|
|
73952
74075
|
|
|
73953
74076
|
// On core the unstable adapters are re-exported with different names,
|
|
73954
74077
|
|
|
@@ -75320,10 +75443,14 @@ function validate(ast, variables) {
|
|
|
75320
75443
|
}
|
|
75321
75444
|
|
|
75322
75445
|
let storeEval = undefined;
|
|
75446
|
+
let draftFunctions = undefined;
|
|
75323
75447
|
const configuration = {
|
|
75324
75448
|
setStoreEval: function (storeEvalArg) {
|
|
75325
75449
|
storeEval = storeEvalArg;
|
|
75326
75450
|
},
|
|
75451
|
+
setDraftFunctions: function (draftFuncs) {
|
|
75452
|
+
draftFunctions = draftFuncs;
|
|
75453
|
+
},
|
|
75327
75454
|
};
|
|
75328
75455
|
|
|
75329
75456
|
const assignedToMe = {
|
|
@@ -75409,6 +75536,78 @@ function shouldInjectFields(ast) {
|
|
|
75409
75536
|
function injectFieldsGQL(ast) {
|
|
75410
75537
|
return injectScopeFields(ast);
|
|
75411
75538
|
}
|
|
75539
|
+
function swapIdsOfDocumentNode(documentnode, draftFunctions) {
|
|
75540
|
+
const recordNodes = findRecordSelections(documentnode);
|
|
75541
|
+
recordNodes.forEach((recordConnection) => {
|
|
75542
|
+
swapIdsOfFieldNode(recordConnection, draftFunctions);
|
|
75543
|
+
});
|
|
75544
|
+
return documentnode;
|
|
75545
|
+
}
|
|
75546
|
+
function swapIdsOfFieldNode(selectionNode, draftFunctions) {
|
|
75547
|
+
if (isCustomFieldNode(selectionNode) &&
|
|
75548
|
+
selectionNode.type === 'Connection' &&
|
|
75549
|
+
selectionNode.arguments !== undefined &&
|
|
75550
|
+
selectionNode.arguments.some((argment) => argment.name === 'where')) {
|
|
75551
|
+
const swappedArguments = selectionNode.arguments.map((argument) => {
|
|
75552
|
+
if (argument.name === 'where') {
|
|
75553
|
+
return {
|
|
75554
|
+
...argument,
|
|
75555
|
+
value: swapIdsOfValueNode(argument.value, draftFunctions.isDraftId, draftFunctions.getCanonicalId),
|
|
75556
|
+
};
|
|
75557
|
+
}
|
|
75558
|
+
else {
|
|
75559
|
+
return argument;
|
|
75560
|
+
}
|
|
75561
|
+
});
|
|
75562
|
+
selectionNode.arguments = swappedArguments;
|
|
75563
|
+
}
|
|
75564
|
+
if (selectionNode.luvioSelections !== undefined) {
|
|
75565
|
+
for (const childSelectionNode of selectionNode.luvioSelections) {
|
|
75566
|
+
if (isCustomFieldNode(childSelectionNode) ||
|
|
75567
|
+
isObjectFieldSelection(childSelectionNode)) {
|
|
75568
|
+
swapIdsOfFieldNode(childSelectionNode, draftFunctions);
|
|
75569
|
+
}
|
|
75570
|
+
}
|
|
75571
|
+
}
|
|
75572
|
+
}
|
|
75573
|
+
function swapIdsOfValueNode(valueNode, isDraftId, idMapper) {
|
|
75574
|
+
switch (valueNode.kind) {
|
|
75575
|
+
case Kind.OBJECT: {
|
|
75576
|
+
const swappedObjectValueNode = {};
|
|
75577
|
+
for (const key of keys(valueNode.fields)) {
|
|
75578
|
+
swappedObjectValueNode[key] = swapIdsOfValueNode(valueNode.fields[key], isDraftId, idMapper);
|
|
75579
|
+
}
|
|
75580
|
+
return {
|
|
75581
|
+
kind: 'ObjectValue',
|
|
75582
|
+
fields: swappedObjectValueNode,
|
|
75583
|
+
};
|
|
75584
|
+
}
|
|
75585
|
+
case Kind.LIST: {
|
|
75586
|
+
const listValueNodes = [];
|
|
75587
|
+
for (const child of valueNode.values) {
|
|
75588
|
+
listValueNodes.push(swapIdsOfValueNode(child, isDraftId, idMapper));
|
|
75589
|
+
}
|
|
75590
|
+
return {
|
|
75591
|
+
kind: 'ListValue',
|
|
75592
|
+
values: listValueNodes,
|
|
75593
|
+
};
|
|
75594
|
+
}
|
|
75595
|
+
case Kind.STRING: {
|
|
75596
|
+
if (!isDraftId(valueNode.value)) {
|
|
75597
|
+
return valueNode;
|
|
75598
|
+
}
|
|
75599
|
+
return {
|
|
75600
|
+
kind: 'StringValue',
|
|
75601
|
+
value: idMapper(valueNode.value),
|
|
75602
|
+
block: false,
|
|
75603
|
+
};
|
|
75604
|
+
}
|
|
75605
|
+
default:
|
|
75606
|
+
return {
|
|
75607
|
+
...valueNode,
|
|
75608
|
+
};
|
|
75609
|
+
}
|
|
75610
|
+
}
|
|
75412
75611
|
function injectScopeFields(ast) {
|
|
75413
75612
|
const modifiedDocumentNode = {
|
|
75414
75613
|
kind: 'Document',
|
|
@@ -75990,6 +76189,34 @@ function buildNetworkSnapshotCachePolicy(context, coercedAdapterRequestContext)
|
|
|
75990
76189
|
}
|
|
75991
76190
|
return buildNetworkSnapshot(luvio, config, fragment, dispatchOptions);
|
|
75992
76191
|
}
|
|
76192
|
+
const replaceDraftIdsInVariables = (variables, draftFunctions) => {
|
|
76193
|
+
const replace = (object) => {
|
|
76194
|
+
if (typeof object === 'string') {
|
|
76195
|
+
if (!draftFunctions.isDraftId(object)) {
|
|
76196
|
+
return object;
|
|
76197
|
+
}
|
|
76198
|
+
return draftFunctions.getCanonicalId(object);
|
|
76199
|
+
}
|
|
76200
|
+
else if (isArray(object)) {
|
|
76201
|
+
return object.map(replace);
|
|
76202
|
+
}
|
|
76203
|
+
else if (typeof object === 'object' && object !== null) {
|
|
76204
|
+
let source = object;
|
|
76205
|
+
return keys(source).reduce((acc, key) => {
|
|
76206
|
+
acc[key] = replace(source[key]);
|
|
76207
|
+
return acc;
|
|
76208
|
+
}, {});
|
|
76209
|
+
}
|
|
76210
|
+
else {
|
|
76211
|
+
return object;
|
|
76212
|
+
}
|
|
76213
|
+
};
|
|
76214
|
+
let newVariables = keys(variables).reduce((acc, key) => {
|
|
76215
|
+
acc[key] = replace(variables[key]);
|
|
76216
|
+
return acc;
|
|
76217
|
+
}, {});
|
|
76218
|
+
return newVariables;
|
|
76219
|
+
};
|
|
75993
76220
|
const graphQLAdapterFactory = (luvio) => {
|
|
75994
76221
|
const uiApiGraphQLAdapter = factory$1(luvio);
|
|
75995
76222
|
function graphql(untrustedConfig, requestContext) {
|
|
@@ -76014,9 +76241,17 @@ const graphQLAdapterFactory = (luvio) => {
|
|
|
76014
76241
|
const validatedConfigWithInjection = fieldInjectionRequired
|
|
76015
76242
|
? graphqlConfigWithInjectedAST(validatedConfig)
|
|
76016
76243
|
: validatedConfig;
|
|
76017
|
-
const
|
|
76244
|
+
const sanitizedConfig = draftFunctions !== undefined
|
|
76245
|
+
? sanitizeConfig(validatedConfigWithInjection, draftFunctions)
|
|
76246
|
+
: validatedConfigWithInjection;
|
|
76247
|
+
if (sanitizedConfig.variables && draftFunctions !== undefined) {
|
|
76248
|
+
const variablesWithSwappedDraftIds = replaceDraftIdsInVariables(sanitizedConfig.variables, draftFunctions);
|
|
76249
|
+
sanitizedConfig.variables = variablesWithSwappedDraftIds;
|
|
76250
|
+
validatedConfig.variables = variablesWithSwappedDraftIds;
|
|
76251
|
+
}
|
|
76252
|
+
const fragment = createFragment(luvio, sanitizedConfig.query, sanitizedConfig.variables);
|
|
76018
76253
|
const context = {
|
|
76019
|
-
config:
|
|
76254
|
+
config: sanitizedConfig,
|
|
76020
76255
|
fragment,
|
|
76021
76256
|
luvio,
|
|
76022
76257
|
};
|
|
@@ -76025,7 +76260,7 @@ const graphQLAdapterFactory = (luvio) => {
|
|
|
76025
76260
|
const observers = requestContext && requestContext.eventObservers
|
|
76026
76261
|
? requestContext.eventObservers
|
|
76027
76262
|
: [];
|
|
76028
|
-
// uses the original ast to do the eval to avoid fields not needed by users
|
|
76263
|
+
// uses the original ast to do the eval to avoid fields not needed by users. The draftID swapping happens when filters transform to predicates.
|
|
76029
76264
|
return storeEval(validatedConfig, snapshotOrPromiseFromCachePolicy, observers);
|
|
76030
76265
|
}
|
|
76031
76266
|
return snapshotOrPromiseFromCachePolicy;
|
|
@@ -76042,6 +76277,15 @@ function graphqlConfigWithInjectedAST(graphqlConfig) {
|
|
|
76042
76277
|
query: modifiedAST,
|
|
76043
76278
|
};
|
|
76044
76279
|
}
|
|
76280
|
+
function sanitizeConfig(graphqlConfig, draftFunctions) {
|
|
76281
|
+
const { query } = graphqlConfig;
|
|
76282
|
+
const astCopy = parse(stringify(query));
|
|
76283
|
+
const modifiedAST = swapIdsOfDocumentNode(astCopy, draftFunctions);
|
|
76284
|
+
return {
|
|
76285
|
+
...graphqlConfig,
|
|
76286
|
+
query: modifiedAST,
|
|
76287
|
+
};
|
|
76288
|
+
}
|
|
76045
76289
|
// make sure to register the configuration whenever this module loads
|
|
76046
76290
|
register({ id: '@salesforce/lds-adapters-graphql', configuration });
|
|
76047
76291
|
|
|
@@ -76059,7 +76303,7 @@ withDefaultLuvio((luvio) => {
|
|
|
76059
76303
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
76060
76304
|
graphQLImperative = ldsAdapter;
|
|
76061
76305
|
});
|
|
76062
|
-
// version: 1.136.
|
|
76306
|
+
// version: 1.136.7-ae23b4cbb
|
|
76063
76307
|
|
|
76064
76308
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
76065
76309
|
__proto__: null,
|
|
@@ -76669,24 +76913,21 @@ const allowList = ['enqueue', 'getQueueActions'];
|
|
|
76669
76913
|
* to the instance of the lds-drafts' DraftQueue implementation
|
|
76670
76914
|
*/
|
|
76671
76915
|
const nimbusDraftQueue = {
|
|
76672
|
-
callProxyMethod(methodName, serializedArgsArray, resultCallback,
|
|
76916
|
+
callProxyMethod(methodName, serializedArgsArray, resultCallback,
|
|
76917
|
+
// NOTE: the other side of the proxy is expecting an error message string
|
|
76918
|
+
// (not a JSON serialized Error object)
|
|
76919
|
+
errorCallback) {
|
|
76673
76920
|
const method = draftQueue[methodName];
|
|
76674
76921
|
if (method === undefined) {
|
|
76675
|
-
return errorCallback(
|
|
76676
|
-
message: 'Method does not exist on the draft queue',
|
|
76677
|
-
}));
|
|
76922
|
+
return errorCallback('Method does not exist on the draft queue');
|
|
76678
76923
|
}
|
|
76679
76924
|
if (allowList.includes(methodName) === false) {
|
|
76680
|
-
return errorCallback(
|
|
76681
|
-
message: `Method ${methodName} is not available for proxy invocation`,
|
|
76682
|
-
}));
|
|
76925
|
+
return errorCallback(`Method ${methodName} is not available for proxy invocation`);
|
|
76683
76926
|
}
|
|
76684
76927
|
const parsedArgs = parse$1(serializedArgsArray);
|
|
76685
76928
|
// TODO [W-9933226]: we should validate the argument list based on which method is being called
|
|
76686
76929
|
if (isArray$1(parsedArgs) === false) {
|
|
76687
|
-
return errorCallback(
|
|
76688
|
-
message: 'expected array argument list',
|
|
76689
|
-
}));
|
|
76930
|
+
return errorCallback('expected array argument list');
|
|
76690
76931
|
}
|
|
76691
76932
|
let methodResult = undefined;
|
|
76692
76933
|
try {
|
|
@@ -76698,7 +76939,7 @@ const nimbusDraftQueue = {
|
|
|
76698
76939
|
}
|
|
76699
76940
|
}
|
|
76700
76941
|
catch (err) {
|
|
76701
|
-
return errorCallback(
|
|
76942
|
+
return errorCallback(normalizeError(err).message);
|
|
76702
76943
|
}
|
|
76703
76944
|
if (methodResult.then === undefined) {
|
|
76704
76945
|
return resultCallback(stringify$1(methodResult));
|
|
@@ -76708,7 +76949,7 @@ const nimbusDraftQueue = {
|
|
|
76708
76949
|
resultCallback(stringify$1(result));
|
|
76709
76950
|
})
|
|
76710
76951
|
.catch((err) => {
|
|
76711
|
-
errorCallback(
|
|
76952
|
+
errorCallback(normalizeError(err).message);
|
|
76712
76953
|
});
|
|
76713
76954
|
},
|
|
76714
76955
|
};
|
|
@@ -76751,4 +76992,4 @@ const { luvio } = getRuntime();
|
|
|
76751
76992
|
setDefaultLuvio({ luvio });
|
|
76752
76993
|
|
|
76753
76994
|
export { createPrimingSession, draftManager, draftQueue, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, invokeAdapter, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, subscribeToAdapter };
|
|
76754
|
-
// version: 1.136.
|
|
76995
|
+
// version: 1.136.7-777657471
|