@salesforce/lds-worker-api 1.278.0 → 1.280.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/sfdc/es/ldsWorkerApi.js +17 -3
- package/dist/standalone/es/lds-worker-api.js +217 -177
- package/dist/standalone/umd/lds-worker-api.js +217 -177
- package/package.json +10 -10
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* For full license text, see the LICENSE.txt file
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
/*
|
|
7
|
+
/*
|
|
8
8
|
* ATTENTION!
|
|
9
9
|
* THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
|
|
10
10
|
* If you would like to contribute to LDS, please follow the steps outlined in the git repo.
|
|
@@ -2287,6 +2287,13 @@ function isDefined$1(value) {
|
|
|
2287
2287
|
return value !== undefined && value !== null;
|
|
2288
2288
|
}
|
|
2289
2289
|
|
|
2290
|
+
/**
|
|
2291
|
+
* Checks if the given variable is an object
|
|
2292
|
+
*/
|
|
2293
|
+
function isObject$1(value) {
|
|
2294
|
+
return typeof value === 'object' && value !== null;
|
|
2295
|
+
}
|
|
2296
|
+
|
|
2290
2297
|
var StoreLinkStateValues$2;
|
|
2291
2298
|
(function (StoreLinkStateValues) {
|
|
2292
2299
|
StoreLinkStateValues[StoreLinkStateValues["NotPresent"] = 0] = "NotPresent";
|
|
@@ -2437,6 +2444,7 @@ function resolveLink$1(reader, storeLink, version) {
|
|
|
2437
2444
|
variables: {},
|
|
2438
2445
|
});
|
|
2439
2446
|
}
|
|
2447
|
+
const readerOpaqueReferenceMap = new WeakMap();
|
|
2440
2448
|
class Reader {
|
|
2441
2449
|
constructor(store, variables, refresh, baseSnapshot, ttlStrategy) {
|
|
2442
2450
|
this.store = store;
|
|
@@ -2901,7 +2909,12 @@ class Reader {
|
|
|
2901
2909
|
}
|
|
2902
2910
|
if (fragment.opaque) {
|
|
2903
2911
|
this.checkIfChanged(result.value, { useDeepEquals: true });
|
|
2904
|
-
|
|
2912
|
+
if (isObject$1(result.value) && !readerOpaqueReferenceMap.has(result.value)) {
|
|
2913
|
+
readerOpaqueReferenceMap.set(result.value, this.opaqueCopy(result.value));
|
|
2914
|
+
}
|
|
2915
|
+
const opaqueValue = isObject$1(result.value)
|
|
2916
|
+
? readerOpaqueReferenceMap.get(result.value)
|
|
2917
|
+
: result.value;
|
|
2905
2918
|
return {
|
|
2906
2919
|
state: FragmentReadResultState$1.Success,
|
|
2907
2920
|
value: opaqueValue,
|
|
@@ -4028,7 +4041,7 @@ function createResourceParamsImpl(config, configMetadata) {
|
|
|
4028
4041
|
}
|
|
4029
4042
|
return resourceParams;
|
|
4030
4043
|
}
|
|
4031
|
-
// engine version: 0.154.
|
|
4044
|
+
// engine version: 0.154.14-2fbbff64
|
|
4032
4045
|
|
|
4033
4046
|
/**
|
|
4034
4047
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -4156,7 +4169,7 @@ function withDefaultLuvio(callback) {
|
|
|
4156
4169
|
}
|
|
4157
4170
|
callbacks.push(callback);
|
|
4158
4171
|
}
|
|
4159
|
-
// version: 1.
|
|
4172
|
+
// version: 1.280.0-92c104b03
|
|
4160
4173
|
|
|
4161
4174
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
4162
4175
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -4180,7 +4193,7 @@ var excludeStaleRecordsGate = {
|
|
|
4180
4193
|
* For full license text, see the LICENSE.txt file
|
|
4181
4194
|
*/
|
|
4182
4195
|
|
|
4183
|
-
/*
|
|
4196
|
+
/*
|
|
4184
4197
|
* ATTENTION!
|
|
4185
4198
|
* THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
|
|
4186
4199
|
* If you would like to contribute to LDS, please follow the steps outlined in the git repo.
|
|
@@ -15664,7 +15677,7 @@ function gql(literals, ...subs) {
|
|
|
15664
15677
|
}
|
|
15665
15678
|
return superResult;
|
|
15666
15679
|
}
|
|
15667
|
-
// version: 1.
|
|
15680
|
+
// version: 1.280.0-92c104b03
|
|
15668
15681
|
|
|
15669
15682
|
function unwrap(data) {
|
|
15670
15683
|
// The lwc-luvio bindings import a function from lwc called "unwrap".
|
|
@@ -16589,7 +16602,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
|
|
|
16589
16602
|
const { apiFamily, name } = metadata;
|
|
16590
16603
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
16591
16604
|
}
|
|
16592
|
-
// version: 1.
|
|
16605
|
+
// version: 1.280.0-92c104b03
|
|
16593
16606
|
|
|
16594
16607
|
/**
|
|
16595
16608
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -16688,7 +16701,7 @@ var TypeCheckShapes;
|
|
|
16688
16701
|
TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
|
|
16689
16702
|
TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
|
|
16690
16703
|
})(TypeCheckShapes || (TypeCheckShapes = {}));
|
|
16691
|
-
// engine version: 0.154.
|
|
16704
|
+
// engine version: 0.154.14-2fbbff64
|
|
16692
16705
|
|
|
16693
16706
|
const { keys: ObjectKeys$3, create: ObjectCreate$3 } = Object;
|
|
16694
16707
|
|
|
@@ -16748,6 +16761,10 @@ function throttle(invokeLimit, timeLimit, fn, options) {
|
|
|
16748
16761
|
/**
|
|
16749
16762
|
* Defines configuration for the module with a default value which can be overridden by the runtime environment.
|
|
16750
16763
|
*/
|
|
16764
|
+
/**
|
|
16765
|
+
* Environment Aware GraphQLBatch adapter
|
|
16766
|
+
*/
|
|
16767
|
+
let environmentAwareGraphQLBatchAdapter$2 = undefined;
|
|
16751
16768
|
/**
|
|
16752
16769
|
* Draft-aware GraphQL adapter
|
|
16753
16770
|
*/
|
|
@@ -16874,6 +16891,12 @@ const configurationForGraphQLAdapters$2 = {
|
|
|
16874
16891
|
getDraftAwareGraphQLAdapter: function () {
|
|
16875
16892
|
return draftAwareGraphQLAdapter$2;
|
|
16876
16893
|
},
|
|
16894
|
+
setEnvironmentAwareGraphQLBatchAdapter: function (adapter) {
|
|
16895
|
+
environmentAwareGraphQLBatchAdapter$2 = adapter;
|
|
16896
|
+
},
|
|
16897
|
+
getEnvironmentAwareGraphQLBatchAdapter: function () {
|
|
16898
|
+
return environmentAwareGraphQLBatchAdapter$2;
|
|
16899
|
+
},
|
|
16877
16900
|
};
|
|
16878
16901
|
const registrations$2 = new Set();
|
|
16879
16902
|
/**
|
|
@@ -28557,7 +28580,7 @@ const getRecordEditActionsAdapterFactory = (luvio) => function UiApi__getRecordE
|
|
|
28557
28580
|
buildCachedSnapshotCachePolicy$E, buildNetworkSnapshotCachePolicy$F);
|
|
28558
28581
|
};
|
|
28559
28582
|
|
|
28560
|
-
function validate$
|
|
28583
|
+
function validate$1i(obj, path = 'ActionRelatedListSingleBatchInputRepresentation') {
|
|
28561
28584
|
const v_error = (() => {
|
|
28562
28585
|
if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
|
|
28563
28586
|
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
@@ -28968,7 +28991,7 @@ function typeCheckConfig$T(untrustedConfig) {
|
|
|
28968
28991
|
const untrustedConfig_relatedListsActionParameters_array = [];
|
|
28969
28992
|
for (let i = 0, arrayLength = untrustedConfig_relatedListsActionParameters.length; i < arrayLength; i++) {
|
|
28970
28993
|
const untrustedConfig_relatedListsActionParameters_item = untrustedConfig_relatedListsActionParameters[i];
|
|
28971
|
-
const referenceActionRelatedListSingleBatchInputRepresentationValidationError = validate$
|
|
28994
|
+
const referenceActionRelatedListSingleBatchInputRepresentationValidationError = validate$1i(untrustedConfig_relatedListsActionParameters_item);
|
|
28972
28995
|
if (referenceActionRelatedListSingleBatchInputRepresentationValidationError === null) {
|
|
28973
28996
|
untrustedConfig_relatedListsActionParameters_array.push(untrustedConfig_relatedListsActionParameters_item);
|
|
28974
28997
|
}
|
|
@@ -31425,7 +31448,7 @@ const getListInfosByObjectNameAdapterFactory = (luvio) => function UiApi__getLis
|
|
|
31425
31448
|
buildCachedSnapshotCachePolicy$u, buildNetworkSnapshotCachePolicy$v);
|
|
31426
31449
|
};
|
|
31427
31450
|
|
|
31428
|
-
function validate$
|
|
31451
|
+
function validate$18(obj, path = 'ListFilterByInfoInputRepresentation') {
|
|
31429
31452
|
const v_error = (() => {
|
|
31430
31453
|
if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
|
|
31431
31454
|
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
@@ -31456,7 +31479,7 @@ function validate$15(obj, path = 'ListFilterByInfoInputRepresentation') {
|
|
|
31456
31479
|
return v_error === undefined ? null : v_error;
|
|
31457
31480
|
}
|
|
31458
31481
|
|
|
31459
|
-
function validate$
|
|
31482
|
+
function validate$17(obj, path = 'ListScopeInputRepresentation') {
|
|
31460
31483
|
const v_error = (() => {
|
|
31461
31484
|
if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
|
|
31462
31485
|
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
@@ -31580,7 +31603,7 @@ function typeCheckConfig$J(untrustedConfig) {
|
|
|
31580
31603
|
const untrustedConfig_filteredByInfo_array = [];
|
|
31581
31604
|
for (let i = 0, arrayLength = untrustedConfig_filteredByInfo.length; i < arrayLength; i++) {
|
|
31582
31605
|
const untrustedConfig_filteredByInfo_item = untrustedConfig_filteredByInfo[i];
|
|
31583
|
-
const referenceListFilterByInfoInputRepresentationValidationError = validate$
|
|
31606
|
+
const referenceListFilterByInfoInputRepresentationValidationError = validate$18(untrustedConfig_filteredByInfo_item);
|
|
31584
31607
|
if (referenceListFilterByInfoInputRepresentationValidationError === null) {
|
|
31585
31608
|
untrustedConfig_filteredByInfo_array.push(untrustedConfig_filteredByInfo_item);
|
|
31586
31609
|
}
|
|
@@ -31588,7 +31611,7 @@ function typeCheckConfig$J(untrustedConfig) {
|
|
|
31588
31611
|
config.filteredByInfo = untrustedConfig_filteredByInfo_array;
|
|
31589
31612
|
}
|
|
31590
31613
|
const untrustedConfig_scope = untrustedConfig.scope;
|
|
31591
|
-
const referenceListScopeInputRepresentationValidationError = validate$
|
|
31614
|
+
const referenceListScopeInputRepresentationValidationError = validate$17(untrustedConfig_scope);
|
|
31592
31615
|
if (referenceListScopeInputRepresentationValidationError === null) {
|
|
31593
31616
|
config.scope = untrustedConfig_scope;
|
|
31594
31617
|
}
|
|
@@ -31856,7 +31879,7 @@ function typeCheckConfig$G(untrustedConfig) {
|
|
|
31856
31879
|
const untrustedConfig_filteredByInfo_array = [];
|
|
31857
31880
|
for (let i = 0, arrayLength = untrustedConfig_filteredByInfo.length; i < arrayLength; i++) {
|
|
31858
31881
|
const untrustedConfig_filteredByInfo_item = untrustedConfig_filteredByInfo[i];
|
|
31859
|
-
const referenceListFilterByInfoInputRepresentationValidationError = validate$
|
|
31882
|
+
const referenceListFilterByInfoInputRepresentationValidationError = validate$18(untrustedConfig_filteredByInfo_item);
|
|
31860
31883
|
if (referenceListFilterByInfoInputRepresentationValidationError === null) {
|
|
31861
31884
|
untrustedConfig_filteredByInfo_array.push(untrustedConfig_filteredByInfo_item);
|
|
31862
31885
|
}
|
|
@@ -31864,7 +31887,7 @@ function typeCheckConfig$G(untrustedConfig) {
|
|
|
31864
31887
|
config.filteredByInfo = untrustedConfig_filteredByInfo_array;
|
|
31865
31888
|
}
|
|
31866
31889
|
const untrustedConfig_scope = untrustedConfig.scope;
|
|
31867
|
-
const referenceListScopeInputRepresentationValidationError = validate$
|
|
31890
|
+
const referenceListScopeInputRepresentationValidationError = validate$17(untrustedConfig_scope);
|
|
31868
31891
|
if (referenceListScopeInputRepresentationValidationError === null) {
|
|
31869
31892
|
config.scope = untrustedConfig_scope;
|
|
31870
31893
|
}
|
|
@@ -32615,7 +32638,7 @@ const getListPreferencesAdapterFactory = (luvio) => function UiApi__getListPrefe
|
|
|
32615
32638
|
buildCachedSnapshotCachePolicy$r, buildNetworkSnapshotCachePolicy$s);
|
|
32616
32639
|
};
|
|
32617
32640
|
|
|
32618
|
-
function validate$
|
|
32641
|
+
function validate$10(obj, path = 'ListOrderedByInfoInputRepresentation') {
|
|
32619
32642
|
const v_error = (() => {
|
|
32620
32643
|
if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
|
|
32621
32644
|
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
@@ -32718,7 +32741,7 @@ function typeCheckConfig$D(untrustedConfig) {
|
|
|
32718
32741
|
const untrustedConfig_orderedBy_array = [];
|
|
32719
32742
|
for (let i = 0, arrayLength = untrustedConfig_orderedBy.length; i < arrayLength; i++) {
|
|
32720
32743
|
const untrustedConfig_orderedBy_item = untrustedConfig_orderedBy[i];
|
|
32721
|
-
const referenceListOrderedByInfoInputRepresentationValidationError = validate$
|
|
32744
|
+
const referenceListOrderedByInfoInputRepresentationValidationError = validate$10(untrustedConfig_orderedBy_item);
|
|
32722
32745
|
if (referenceListOrderedByInfoInputRepresentationValidationError === null) {
|
|
32723
32746
|
untrustedConfig_orderedBy_array.push(untrustedConfig_orderedBy_item);
|
|
32724
32747
|
}
|
|
@@ -36922,7 +36945,7 @@ const getRelatedListInfoAdapterFactory = (luvio) => function UiApi__getRelatedLi
|
|
|
36922
36945
|
buildCachedSnapshotCachePolicy$d, buildNetworkSnapshotCachePolicy$e);
|
|
36923
36946
|
};
|
|
36924
36947
|
|
|
36925
|
-
function validate$
|
|
36948
|
+
function validate$C(obj, path = 'ListUserPreferenceInputRepresentation') {
|
|
36926
36949
|
const v_error = (() => {
|
|
36927
36950
|
if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
|
|
36928
36951
|
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
@@ -36999,7 +37022,7 @@ function typeCheckConfig$o(untrustedConfig) {
|
|
|
36999
37022
|
const untrustedConfig_orderedByInfo_array = [];
|
|
37000
37023
|
for (let i = 0, arrayLength = untrustedConfig_orderedByInfo.length; i < arrayLength; i++) {
|
|
37001
37024
|
const untrustedConfig_orderedByInfo_item = untrustedConfig_orderedByInfo[i];
|
|
37002
|
-
const referenceListOrderedByInfoInputRepresentationValidationError = validate$
|
|
37025
|
+
const referenceListOrderedByInfoInputRepresentationValidationError = validate$10(untrustedConfig_orderedByInfo_item);
|
|
37003
37026
|
if (referenceListOrderedByInfoInputRepresentationValidationError === null) {
|
|
37004
37027
|
untrustedConfig_orderedByInfo_array.push(untrustedConfig_orderedByInfo_item);
|
|
37005
37028
|
}
|
|
@@ -37007,7 +37030,7 @@ function typeCheckConfig$o(untrustedConfig) {
|
|
|
37007
37030
|
config.orderedByInfo = untrustedConfig_orderedByInfo_array;
|
|
37008
37031
|
}
|
|
37009
37032
|
const untrustedConfig_userPreferences = untrustedConfig.userPreferences;
|
|
37010
|
-
const referenceListUserPreferenceInputRepresentationValidationError = validate$
|
|
37033
|
+
const referenceListUserPreferenceInputRepresentationValidationError = validate$C(untrustedConfig_userPreferences);
|
|
37011
37034
|
if (referenceListUserPreferenceInputRepresentationValidationError === null) {
|
|
37012
37035
|
config.userPreferences = untrustedConfig_userPreferences;
|
|
37013
37036
|
}
|
|
@@ -37662,7 +37685,7 @@ function typeCheckConfig$l(untrustedConfig) {
|
|
|
37662
37685
|
const untrustedConfig_orderedBy_array = [];
|
|
37663
37686
|
for (let i = 0, arrayLength = untrustedConfig_orderedBy.length; i < arrayLength; i++) {
|
|
37664
37687
|
const untrustedConfig_orderedBy_item = untrustedConfig_orderedBy[i];
|
|
37665
|
-
const referenceListOrderedByInfoInputRepresentationValidationError = validate$
|
|
37688
|
+
const referenceListOrderedByInfoInputRepresentationValidationError = validate$10(untrustedConfig_orderedBy_item);
|
|
37666
37689
|
if (referenceListOrderedByInfoInputRepresentationValidationError === null) {
|
|
37667
37690
|
untrustedConfig_orderedBy_array.push(untrustedConfig_orderedBy_item);
|
|
37668
37691
|
}
|
|
@@ -37710,7 +37733,7 @@ const updateRelatedListPreferencesAdapterFactory = (luvio) => {
|
|
|
37710
37733
|
};
|
|
37711
37734
|
};
|
|
37712
37735
|
|
|
37713
|
-
function validate$
|
|
37736
|
+
function validate$A(obj, path = 'RelatedListRecordsSingleBatchInputRepresentation') {
|
|
37714
37737
|
const v_error = (() => {
|
|
37715
37738
|
if (typeof obj !== 'object' || ArrayIsArray$2(obj) || obj === null) {
|
|
37716
37739
|
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
@@ -38664,7 +38687,7 @@ function typeCheckConfig$k(untrustedConfig) {
|
|
|
38664
38687
|
const untrustedConfig_relatedListParameters_array = [];
|
|
38665
38688
|
for (let i = 0, arrayLength = untrustedConfig_relatedListParameters.length; i < arrayLength; i++) {
|
|
38666
38689
|
const untrustedConfig_relatedListParameters_item = untrustedConfig_relatedListParameters[i];
|
|
38667
|
-
const referenceRelatedListRecordsSingleBatchInputRepresentationValidationError = validate$
|
|
38690
|
+
const referenceRelatedListRecordsSingleBatchInputRepresentationValidationError = validate$A(untrustedConfig_relatedListParameters_item);
|
|
38668
38691
|
if (referenceRelatedListRecordsSingleBatchInputRepresentationValidationError === null) {
|
|
38669
38692
|
untrustedConfig_relatedListParameters_array.push(untrustedConfig_relatedListParameters_item);
|
|
38670
38693
|
}
|
|
@@ -44041,7 +44064,7 @@ withDefaultLuvio((luvio) => {
|
|
|
44041
44064
|
throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
|
|
44042
44065
|
throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
44043
44066
|
});
|
|
44044
|
-
// version: 1.
|
|
44067
|
+
// version: 1.280.0-09f980816
|
|
44045
44068
|
|
|
44046
44069
|
var ldsIdempotencyWriteDisabled = {
|
|
44047
44070
|
isOpen: function (e) {
|
|
@@ -50017,7 +50040,12 @@ class DurableDraftQueue {
|
|
|
50017
50040
|
}
|
|
50018
50041
|
finally {
|
|
50019
50042
|
this.replacingAction = undefined;
|
|
50020
|
-
|
|
50043
|
+
try {
|
|
50044
|
+
await this.startQueueSafe();
|
|
50045
|
+
}
|
|
50046
|
+
catch (_a) {
|
|
50047
|
+
// An error starting the queue should not bubble up from this method
|
|
50048
|
+
}
|
|
50021
50049
|
}
|
|
50022
50050
|
return updatedTarget;
|
|
50023
50051
|
});
|
|
@@ -51645,9 +51673,25 @@ function dateTimePredicate(input, operator, field, alias) {
|
|
|
51645
51673
|
isCaseSensitive: false,
|
|
51646
51674
|
};
|
|
51647
51675
|
if (value !== undefined) {
|
|
51648
|
-
|
|
51649
|
-
|
|
51650
|
-
|
|
51676
|
+
if (value === null) {
|
|
51677
|
+
switch (predicate.operator) {
|
|
51678
|
+
case '=':
|
|
51679
|
+
predicate.operator = 'IS';
|
|
51680
|
+
break;
|
|
51681
|
+
case '!=':
|
|
51682
|
+
predicate.operator = 'IS NOT';
|
|
51683
|
+
break;
|
|
51684
|
+
default:
|
|
51685
|
+
// eslint-disable-next-line @salesforce/lds/no-error-in-production
|
|
51686
|
+
throw new Error(`Unsupported operator ${predicate.operator} with null value operand`);
|
|
51687
|
+
}
|
|
51688
|
+
predicate.value = 'NULL';
|
|
51689
|
+
}
|
|
51690
|
+
else {
|
|
51691
|
+
const dateFn = field.dataType === 'Date' ? 'date' : 'datetime';
|
|
51692
|
+
predicate.value = `${dateFn}(?)`;
|
|
51693
|
+
predicate.bindings = [value];
|
|
51694
|
+
}
|
|
51651
51695
|
return predicate;
|
|
51652
51696
|
}
|
|
51653
51697
|
else if (literal !== undefined) {
|
|
@@ -53575,16 +53619,26 @@ function addResolversToSchema(schema, polyFields) {
|
|
|
53575
53619
|
: null;
|
|
53576
53620
|
};
|
|
53577
53621
|
const { recordRepresentation: record, ingestionTimestamp } = obj;
|
|
53578
|
-
|
|
53579
|
-
|
|
53580
|
-
|
|
53581
|
-
|
|
53582
|
-
|
|
53583
|
-
|
|
53584
|
-
if (
|
|
53622
|
+
let id = undefined;
|
|
53623
|
+
if (field.name === 'RecordType') {
|
|
53624
|
+
// RecordTypeId has special handling during ingest and is
|
|
53625
|
+
// not in record.fields, so check for it at the UIAPI root property location
|
|
53626
|
+
id = record.recordTypeId;
|
|
53627
|
+
}
|
|
53628
|
+
else if (field.name.endsWith('__r')) {
|
|
53629
|
+
// Custom relationships end in `__r` and the corresponding ID field should be `__c`
|
|
53630
|
+
let fieldName = field.name.replace('__r', '__c');
|
|
53631
|
+
id = record.fields[fieldName] && record.fields[fieldName].value;
|
|
53632
|
+
}
|
|
53633
|
+
else {
|
|
53634
|
+
// Standard relationships are just FieldNameId
|
|
53635
|
+
let fieldName = field.name + 'Id';
|
|
53636
|
+
id = record.fields[fieldName] && record.fields[fieldName].value;
|
|
53637
|
+
}
|
|
53638
|
+
if (!id || typeof id !== 'string') {
|
|
53639
|
+
// possibly field injection did not inject the necessary Id field
|
|
53640
|
+
// for the relationship, or we found a non-string value.
|
|
53585
53641
|
return null;
|
|
53586
|
-
if (id['__ref'] !== undefined) {
|
|
53587
|
-
return fetchRecordOrNull(record.fields[`${field.name}Id`].value);
|
|
53588
53642
|
}
|
|
53589
53643
|
seenRecordIds.add(id);
|
|
53590
53644
|
return fetchRecordOrNull(id);
|
|
@@ -53775,7 +53829,7 @@ async function fetchIngestionTimeStampFromDatabase(apiName, info, args, query) {
|
|
|
53775
53829
|
return ingestionTimestamp;
|
|
53776
53830
|
}
|
|
53777
53831
|
|
|
53778
|
-
var uiapiSchemaString = "scalar String\nscalar DateTime\nscalar Currency\nscalar ID\nscalar Boolean\nscalar Longitude\nscalar Float\nscalar MultiPicklist\nscalar Base64\nscalar Url\nscalar PhoneNumber\nscalar Email\nscalar TextArea\nscalar Latitude\nscalar Picklist\nscalar RichTextArea\nscalar EncryptedString\nscalar Double\nscalar Long\nscalar JSON\nscalar Time\nscalar Int\nscalar Percent\nscalar LongTextArea\nscalar IdOrRef\nscalar Date\ntype PercentAggregate implements FieldValue {\n value: Percent\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: PercentValue\n min: PercentValue\n sum: PercentValue\n}\n\ntype StringAggregate implements FieldValue {\n value: String\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: StringValue\n min: StringValue\n}\n\ntype Query {\n uiapi: UIAPI!\n}\n\ninput EmailOperators {\n eq: Email\n ne: Email\n like: Email\n lt: Email\n gt: Email\n lte: Email\n gte: Email\n in: [Email]\n nin: [Email]\n}\n\ninput PolymorphicParentRelationshipRecordOrderBy @generic {\n RecordOrderBy: RecordOrderBy @fieldCategory\n}\n\ninput DoubleOperators {\n eq: Double\n ne: Double\n lt: Double\n gt: Double\n lte: Double\n gte: Double\n in: [Double]\n nin: [Double]\n}\n\ntype DateOnlyAggregation {\n value: Date\n format: String\n}\n\ntype RecordCreatePayload @generic {\n Record: RecordRepresentation\n}\n\ntype DateAggregate implements FieldValue {\n value: Date\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n grouping: IntValue\n max: DateValue\n min: DateValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ninput PolymorphicParentRelationshipGroupBy @generic {\n RecordGroupBy: RecordGroupBy @fieldCategory\n}\n\nenum GroupByFunction {\n DAY_IN_WEEK\n DAY_IN_MONTH\n DAY_IN_YEAR\n WEEK_IN_MONTH\n WEEK_IN_YEAR\n CALENDAR_MONTH\n CALENDAR_QUARTER\n CALENDAR_YEAR\n FISCAL_MONTH\n FISCAL_QUARTER\n FISCAL_YEAR\n DAY_ONLY\n HOUR_IN_DAY\n}\n\ntype RecordTypeInfo {\n available: Boolean!\n defaultRecordTypeMapping: Boolean!\n master: Boolean!\n name: String\n recordTypeId: ID\n}\n\ninput UIAPIMutationsInput {\n allOrNone: Boolean = true\n}\n\ntype BooleanValue implements FieldValue {\n value: Boolean\n displayValue: String\n}\n\ntype ReferenceToInfo {\n ApiName: String!\n nameFields: [String]!\n objectInfo: ObjectInfo\n}\n\ninterface FieldValue {\n displayValue: String\n}\n\ntype LongitudeValue implements FieldValue {\n value: Longitude\n displayValue: String\n}\n\ntype StringValue implements FieldValue {\n value: String\n displayValue: String\n label: String\n}\n\ntype IntValue implements FieldValue {\n value: Int\n displayValue: String\n format: String\n}\n\ntype UrlValue implements FieldValue {\n value: Url\n displayValue: String\n}\n\ninput IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: JoinInput\n ninq: JoinInput\n}\n\ntype LongAggregate implements FieldValue {\n value: Long\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: LongValue\n min: LongValue\n sum: LongValue\n}\n\ntype PhoneNumberAggregate implements FieldValue {\n value: PhoneNumber\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: PhoneNumberValue\n min: PhoneNumberValue\n}\n\ninput TimeOperators {\n eq: Time\n ne: Time\n lt: Time\n gt: Time\n lte: Time\n gte: Time\n in: [Time]\n nin: [Time]\n}\n\ntype PicklistValue implements FieldValue {\n value: Picklist\n displayValue: String\n label: String\n}\n\ntype CurrencyAggregate implements FieldValue {\n value: Currency\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: CurrencyValue\n min: CurrencyValue\n sum: CurrencyValue\n}\n\ntype RelatedListInfo {\n childApiName: String!\n relatedListName: String!\n label: String!\n displayColumns: [ListColumn!]!\n orderedByInfo: [ListOrder!]!\n parentApiName: String!\n fieldApiName: String!\n}\n\ninput StringOperators {\n eq: String\n ne: String\n like: String\n lt: String\n gt: String\n lte: String\n gte: String\n in: [String]\n nin: [String]\n}\n\ntype UIAPI {\n query: RecordQuery!\n aggregate: RecordQueryAggregate!\n objectInfos(apiNames: [String], locale: String): [ObjectInfo]\n relatedListByName(parentApiName: String!, relatedListName: String!): RelatedListInfo\n}\n\ninput MultiPicklistOperators {\n eq: MultiPicklist\n ne: MultiPicklist\n includes: [MultiPicklist]\n excludes: [MultiPicklist]\n}\n\ntype DateTimeAggregate implements FieldValue {\n value: DateTime\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n dayOnly: DateOnlyAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n hourInDay: DateFunctionAggregation\n max: DateTimeValue\n min: DateTimeValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ninput BooleanOperators {\n eq: Boolean\n ne: Boolean\n}\n\ntype EmailAggregate implements FieldValue {\n value: Email\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: EmailValue\n min: EmailValue\n}\n\n#enum OrderByType {\n#}\n\ninput GroupByDateFunction {\n function: GroupByFunction\n}\n\ntype RichTextAreaValue implements FieldValue {\n value: RichTextArea\n displayValue: String\n}\n\ntype MultiPicklistValue implements FieldValue {\n value: MultiPicklist\n displayValue: String\n label: String\n}\n\ninput DatePrimitiveOperators {\n eq: Date\n ne: Date\n lt: Date\n gt: Date\n lte: Date\n gte: Date\n in: [Date]\n nin: [Date]\n}\n\ntype TimeAggregate implements FieldValue {\n value: Time\n displayValue: String\n format: String\n hourInDay: DateFunctionAggregation\n}\n\ntype __Type {\n kind: __TypeKind!\n name: String\n description: String\n fields(includeDeprecated: Boolean = false): [__Field!]\n interfaces: [__Type!]\n possibleTypes: [__Type!]\n enumValues(includeDeprecated: Boolean = false): [__EnumValue!]\n inputFields: [__InputValue!]\n ofType: __Type\n}\n\ntype ListColumn {\n fieldApiName: String!\n label: String!\n lookupId: String\n sortable: Boolean\n}\n\ntype LatitudeAggregate implements FieldValue {\n value: Latitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LatitudeValue\n min: LatitudeValue\n sum: DoubleValue\n}\n\ninput CurrencyOperators {\n eq: Currency\n ne: Currency\n lt: Currency\n gt: Currency\n lte: Currency\n gte: Currency\n in: [Currency]\n nin: [Currency]\n}\n\ninput DistanceInput {\n latitude: Latitude!\n longitude: Longitude!\n}\n\nunion PolymorphicParentRelationship @generic = RecordRepresentation\n\nenum AggregateOrderByNumberFunction {\n AVG\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n SUM\n}\n\ntype LongTextAreaValue implements FieldValue {\n value: LongTextArea\n displayValue: String\n}\n\ntype LatitudeValue implements FieldValue {\n value: Latitude\n displayValue: String\n}\n\ninput OrderByClause {\n order: ResultOrder\n nulls: NullOrder\n}\n\ninput AggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: AggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n type: String = ORDER_BY # Handrolled\n}\n\ninput GroupByClause {\n group: Boolean\n}\n\ntype RecordAggregateConnection @generic {\n edges: [RecordAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype LongitudeAggregate implements FieldValue {\n value: Longitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LongitudeValue\n min: LongitudeValue\n sum: DoubleValue\n}\n\ntype RecordEdge @generic {\n node: RecordRepresentation\n cursor: String!\n}\n\ntype DateValue implements FieldValue {\n value: Date\n displayValue: String\n format: String\n}\n\ninput URLOperators {\n eq: Url\n ne: Url\n like: Url\n lt: Url\n gt: Url\n lte: Url\n gte: Url\n in: [Url]\n nin: [Url]\n}\n\ninput LongOperators {\n eq: Long\n ne: Long\n lt: Long\n gt: Long\n lte: Long\n gte: Long\n in: [Long]\n nin: [Long]\n}\n\nenum DataType {\n STRING\n TEXTAREA\n PHONE\n EMAIL\n URL\n ENCRYPTEDSTRING\n BOOLEAN\n CURRENCY\n INT\n LONG\n DOUBLE\n PERCENT\n DATETIME\n TIME\n DATE\n REFERENCE\n PICKLIST\n MULTIPICKLIST\n ADDRESS\n LOCATION\n BASE64\n COMPLEXVALUE\n COMBOBOX\n JSON\n JUNCTIONIDLIST\n ANYTYPE\n}\n\nenum NullOrder {\n FIRST\n LAST\n}\n\ntype PhoneNumberValue implements FieldValue {\n value: PhoneNumber\n displayValue: String\n}\n\n# Cannot have empty enum\n# enum RecordScope @generic {\n# }\n\ntype DoubleAggregate implements FieldValue {\n value: Double\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: DoubleValue\n min: DoubleValue\n sum: DoubleValue\n}\n\ntype __Field {\n name: String!\n description: String\n args: [__InputValue!]!\n type: __Type!\n isDeprecated: Boolean!\n deprecationReason: String\n}\n\ninput DateOperators {\n eq: DateInput\n ne: DateInput\n lt: DateInput\n gt: DateInput\n lte: DateInput\n gte: DateInput\n in: [DateInput]\n nin: [DateInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n}\n\ninput GeolocationInput {\n latitude: Latitude!\n longitude: Longitude!\n radius: Float!\n unit: Unit!\n}\n\ninput JoinInput {\n Record: RecordFilter @fieldCategory\n ApiName: String\n}\n\ninput TextAreaOperators {\n eq: TextArea\n ne: TextArea\n like: TextArea\n lt: TextArea\n gt: TextArea\n lte: TextArea\n gte: TextArea\n in: [TextArea]\n nin: [TextArea]\n}\n\ntype TextAreaValue implements FieldValue {\n value: TextArea\n displayValue: String\n}\n\ntype RecordUpdatePayload @generic {\n success: Boolean\n}\n\ninput PercentOperators {\n eq: Percent\n ne: Percent\n lt: Percent\n gt: Percent\n lte: Percent\n gte: Percent\n in: [Percent]\n nin: [Percent]\n}\n\ntype DoubleValue implements FieldValue {\n value: Double\n displayValue: String\n format: String\n}\n\ntype IDAggregate implements FieldValue {\n value: ID\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: IDValue\n min: IDValue\n}\n\ntype __InputValue {\n name: String!\n description: String\n type: __Type!\n defaultValue: String\n}\n\ntype RecordAggregateEdge @generic {\n node: RecordResult\n cursor: String!\n}\n\ntype __Directive {\n name: String\n description: String\n locations: [__DirectiveLocation!]\n args: [__InputValue!]!\n}\n\ninput RecordCreateInput @generic {\n record: RecordCreateRepresentation! @fieldCategory\n}\n\ntype ThemeInfo {\n color: String\n iconUrl: String\n}\n\ninput AggregateOrderByStringClause {\n function: AggregateOrderByStringFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype RecordDeletePayload {\n Id: ID\n}\n\ntype UrlAggregate implements FieldValue {\n value: Url\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: UrlValue\n min: UrlValue\n}\n\nenum DateLiteral {\n NEXT_QUARTER\n THIS_FISCAL_YEAR\n NEXT_FISCAL_YEAR\n THIS_WEEK\n LAST_YEAR\n NEXT_FISCAL_QUARTER\n THIS_MONTH\n THIS_YEAR\n LAST_FISCAL_YEAR\n LAST_WEEK\n LAST_90_DAYS\n THIS_FISCAL_QUARTER\n NEXT_YEAR\n NEXT_90_DAYS\n LAST_QUARTER\n LAST_FISCAL_QUARTER\n NEXT_WEEK\n TODAY\n YESTERDAY\n LAST_MONTH\n TOMORROW\n NEXT_MONTH\n THIS_QUARTER\n}\n\ntype __EnumValue {\n name: String!\n description: String\n isDeprecated: Boolean!\n deprecationReason: String\n}\n\ntype RecordRepresentation implements Record @generic{\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n parentRelationship: RecordRepresentation @fieldCategory\n polymorphicParentRelationship: PolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, upperBound: Int): RecordConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ntype IDValue implements FieldValue {\n value: ID\n displayValue: String\n}\n\nenum Unit {\n MI\n KM\n}\n\ninput PolymorphicParentRelationshipOrderBy @generic {\n AggregateOrderBy: AggregateOrderBy @fieldCategory\n}\n\ninput OrderByGeolocationClause {\n distance: DistanceInput\n order: ResultOrder\n nulls: NullOrder\n}\n\nenum NullsOrder {\n FIRST\n LAST\n}\n\ntype TextAreaAggregate implements FieldValue {\n value: TextArea\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: TextAreaValue\n min: TextAreaValue\n}\n\nenum GroupByType {\n GROUP_BY\n ROLLUP\n CUBE\n}\n\nenum ResultOrder {\n ASC\n DESC\n}\n\ninput RecordOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput PicklistOperators {\n eq: Picklist\n ne: Picklist\n in: [Picklist]\n nin: [Picklist]\n like: Picklist\n lt: Picklist\n gt: Picklist\n lte: Picklist\n gte: Picklist\n}\n\nenum ResultsOrder {\n ASC\n DESC\n}\n\ninput RecordFilter @generic {\n and: [RecordFilter]\n or: [RecordFilter]\n not: RecordFilter\n parentRelationshipRecordFilter: RecordFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: PolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n IdOperator: IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype TimeValue implements FieldValue {\n value: Time\n displayValue: String\n format: String\n}\n\ninput GeolocationOperators {\n lt: GeolocationInput\n gt: GeolocationInput\n}\n\ntype PicklistAggregate implements FieldValue {\n value: Picklist\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: PicklistValue\n min: PicklistValue\n}\n\ninput LatitudeOperators {\n eq: Latitude\n ne: Latitude\n lt: Latitude\n gt: Latitude\n lte: Latitude\n gte: Latitude\n in: [Latitude]\n nin: [Latitude]\n}\n\ninput RecordUpdateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype DateTimeValue implements FieldValue {\n value: DateTime\n displayValue: String\n format: String\n}\n\ninput RecordDeleteInput {\n Id: IdOrRef!\n}\n\nenum __DirectiveLocation {\n QUERY\n MUTATION\n FIELD\n FRAGMENT_DEFINITION\n FRAGMENT_SPREAD\n INLINE_FRAGMENT\n SCHEMA\n SCALAR\n OBJECT\n FIELD_DEFINITION\n ARGUMENT_DEFINITION\n INTERFACE\n UNION\n ENUM\n ENUM_VALUE\n INPUT_OBJECT\n INPUT_FIELD_DEFINITION\n}\n\ntype IntAggregate implements FieldValue {\n value: Int\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: IntValue\n min: IntValue\n sum: LongValue\n}\n\ntype ListOrder {\n fieldApiName: String!\n sortDirection: ResultOrder\n}\n\ntype RecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n}\n\ntype JSONValue implements FieldValue {\n value: JSON\n displayValue: String\n}\n\ntype EmailValue implements FieldValue {\n value: Email\n displayValue: String\n}\n\nenum AggregateOrderByStringFunction {\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n}\n\ntype LongValue implements FieldValue {\n value: Long\n displayValue: String\n format: String\n}\n\ninput DateFunctionInput {\n value: LongOperators\n convertTimezoneValue: LongOperators\n}\n\n# Mutations aren't supported yet.\n#type Mutation {\n# uiapi(input: UIAPIMutationsInput): UIAPIMutations!\n#}\n\ntype DependentField {\n controllingField: String!\n dependentFields: [String]!\n}\n\ninput LongTextAreaOperators {\n eq: LongTextArea\n ne: LongTextArea\n like: LongTextArea\n lt: LongTextArea\n gt: LongTextArea\n lte: LongTextArea\n gte: LongTextArea\n in: [LongTextArea]\n nin: [LongTextArea]\n}\n\nenum __TypeKind {\n SCALAR\n OBJECT\n INTERFACE\n UNION\n ENUM\n INPUT_OBJECT\n LIST\n NON_NULL\n}\n\ntype PercentValue implements FieldValue {\n value: Percent\n displayValue: String\n format: String\n}\n\ninput DateTimeOperators {\n eq: DateTimeInput\n ne: DateTimeInput\n lt: DateTimeInput\n gt: DateTimeInput\n lte: DateTimeInput\n gte: DateTimeInput\n in: [DateTimeInput]\n nin: [DateTimeInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n DAY_ONLY: DateTimeFunctionInput\n HOUR_IN_DAY: DateFunctionInput\n}\n\ninput NoFunctionAggregateOrderByClause {\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype BooleanAggregate implements FieldValue {\n value: Boolean\n displayValue: String\n grouping: IntValue\n}\n\ntype RecordQueryAggregate {\n # RecordScope is replaced with String\n recordQueryAggregate(first: Int, after: String, where: RecordFilter, orderBy: AggregateOrderBy, scope: String, groupBy: RecordGroupBy, upperBound: Int): RecordAggregateConnection @fieldCategory\n}\n\ntype RecordConnection @generic {\n edges: [RecordEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype FilteredLookupInfo {\n controllingFields: [String]!\n dependent: Boolean!\n optionalFilter: Boolean!\n}\n\ninput PhoneNumberOperators {\n eq: PhoneNumber\n ne: PhoneNumber\n like: PhoneNumber\n lt: PhoneNumber\n gt: PhoneNumber\n lte: PhoneNumber\n gte: PhoneNumber\n in: [PhoneNumber]\n nin: [PhoneNumber]\n}\n\ntype ObjectInfo {\n ApiName: String!\n childRelationships: [ChildRelationship]!\n createable: Boolean!\n custom: Boolean!\n defaultRecordTypeId: ID\n deletable: Boolean!\n dependentFields: [DependentField]!\n feedEnabled: Boolean!\n fields: [Field]!\n keyPrefix: String\n label: String\n labelPlural: String\n layoutable: Boolean!\n mruEnabled: Boolean!\n nameFields: [String]!\n queryable: Boolean!\n recordTypeInfos: [RecordTypeInfo]!\n searchable: Boolean!\n themeInfo: ThemeInfo\n updateable: Boolean!\n locale: String\n}\n\ninput LongitudeOperators {\n eq: Longitude\n ne: Longitude\n lt: Longitude\n gt: Longitude\n lte: Longitude\n gte: Longitude\n in: [Longitude]\n nin: [Longitude]\n}\n\ninput RecordCreateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\nenum FieldExtraTypeInfo {\n IMAGE_URL\n EXTERNAL_LOOKUP\n INDIRECT_LOOKUP\n PERSONNAME\n SWITCHABLE_PERSONNAME\n PLAINTEXTAREA\n RICHTEXTAREA\n}\n\ntype RateLimit {\n cost: Long\n limit: Long\n remaining: Long\n resetAt: DateTime\n}\n\ninput DateRange {\n last_n_days: Int\n next_n_days: Int\n last_n_weeks: Int\n next_n_weeks: Int\n last_n_months: Int\n next_n_months: Int\n last_n_quarters: Int\n next_n_quarters: Int\n last_n_fiscal_quarters: Int\n next_n_fiscal_quarters: Int\n last_n_years: Int\n next_n_years: Int\n last_n_fiscal_years: Int\n next_n_fiscal_years: Int\n n_days_ago: Int\n n_weeks_ago: Int\n n_months_ago: Int\n n_quarters_ago: Int\n n_years_ago: Int\n n_fiscal_quarters_ago: Int\n n_fiscal_years_ago: Int\n}\n\ntype UIAPIMutations {\n recordCreate(input: RecordCreateInput!): RecordCreatePayload @fieldCategory\n recordDelete(input: RecordDeleteInput!): RecordDeletePayload @fieldCategory\n recordUpdate(input: RecordUpdateInput!): RecordUpdatePayload @fieldCategory\n}\n\ninput DateTimeFunctionInput {\n value: DatePrimitiveOperators\n convertTimezoneValue: DatePrimitiveOperators\n}\n\ntype Base64Value implements FieldValue {\n value: Base64\n displayValue: String\n}\n\ninput IntegerOperators {\n eq: Int\n ne: Int\n lt: Int\n gt: Int\n lte: Int\n gte: Int\n in: [Int]\n nin: [Int]\n}\n\ntype EncryptedStringValue implements FieldValue {\n value: EncryptedString\n displayValue: String\n}\n\ninterface Record {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n}\n\ninput PolymorphicParentRelationshipRecordFilter @generic {\n RecordFilter: RecordFilter @fieldCategory\n}\n\ninput AggregateOrderByNumberClause {\n function: AggregateOrderByNumberFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype __Schema {\n types: [__Type!]!\n queryType: __Type!\n mutationType: __Type\n directives: [__Directive!]!\n subscriptionType: __Type\n}\n\ntype CompoundField @generic {\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n}\n\ninput RecordUpdateInput @generic {\n Id: IdOrRef!\n record: RecordUpdateRepresentation! @fieldCategory\n}\n\ninput DateTimeInput {\n value: DateTime\n literal: DateLiteral\n range: DateRange\n}\n\ntype ChildRelationship {\n childObjectApiName: String!\n fieldName: String\n junctionIdListNames: [String]!\n junctionReferenceTo: [String]!\n relationshipName: String\n objectInfo: ObjectInfo\n}\n\ntype RecordResult @generic {\n aggregate: RecordAggregate\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\ntype CurrencyValue implements FieldValue {\n value: Currency\n displayValue: String\n format: String\n}\n\ninput DateInput {\n value: Date\n literal: DateLiteral\n range: DateRange\n}\n\ninput RecordGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: RecordGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: PolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype DateFunctionAggregation {\n value: Long\n format: String\n}\n\ntype RecordQuery {\n # scope should be type RecordScope but that's empty enum.\n recordQuery(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, scope: String, upperBound: Int): RecordConnection @fieldCategory\n}\n\ndirective @generic on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT\ndirective @fieldCategory on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE\ndirective @category(name: String!) on FIELD";
|
|
53832
|
+
var uiapiSchemaString = "scalar String\nscalar DateTime\nscalar Currency\nscalar ID\nscalar Boolean\nscalar Longitude\nscalar Float\nscalar MultiPicklist\nscalar Base64\nscalar Url\nscalar PhoneNumber\nscalar Email\nscalar TextArea\nscalar Latitude\nscalar Picklist\nscalar RichTextArea\nscalar EncryptedString\nscalar Double\nscalar Long\nscalar JSON\nscalar Time\nscalar Int\nscalar Percent\nscalar LongTextArea\nscalar IdOrRef\nscalar Date\ntype PercentAggregate implements FieldValue {\n value: Percent\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: PercentValue\n min: PercentValue\n sum: PercentValue\n}\n\ntype StringAggregate implements FieldValue {\n value: String\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: StringValue\n min: StringValue\n}\n\ntype Query {\n uiapi: UIAPI!\n setup: Setup__Setup!\n}\n\ninput EmailOperators {\n eq: Email\n ne: Email\n like: Email\n lt: Email\n gt: Email\n lte: Email\n gte: Email\n in: [Email]\n nin: [Email]\n}\n\ninput PolymorphicParentRelationshipRecordOrderBy @generic {\n RecordOrderBy: RecordOrderBy @fieldCategory\n}\n\ninput DoubleOperators {\n eq: Double\n ne: Double\n lt: Double\n gt: Double\n lte: Double\n gte: Double\n in: [Double]\n nin: [Double]\n}\n\ntype DateOnlyAggregation {\n value: Date\n format: String\n}\n\ntype RecordCreatePayload @generic {\n Record: RecordRepresentation\n}\n\ntype DateAggregate implements FieldValue {\n value: Date\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n grouping: IntValue\n max: DateValue\n min: DateValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ninput PolymorphicParentRelationshipGroupBy @generic {\n RecordGroupBy: RecordGroupBy @fieldCategory\n}\n\nenum GroupByFunction {\n DAY_IN_WEEK\n DAY_IN_MONTH\n DAY_IN_YEAR\n WEEK_IN_MONTH\n WEEK_IN_YEAR\n CALENDAR_MONTH\n CALENDAR_QUARTER\n CALENDAR_YEAR\n FISCAL_MONTH\n FISCAL_QUARTER\n FISCAL_YEAR\n DAY_ONLY\n HOUR_IN_DAY\n}\n\ntype RecordTypeInfo {\n available: Boolean!\n defaultRecordTypeMapping: Boolean!\n master: Boolean!\n name: String\n recordTypeId: ID\n}\n\ninput UIAPIMutationsInput {\n allOrNone: Boolean = true\n}\n\ntype BooleanValue implements FieldValue {\n value: Boolean\n displayValue: String\n}\n\ntype ReferenceToInfo {\n ApiName: String!\n nameFields: [String]!\n objectInfo: ObjectInfo\n}\n\ninterface FieldValue {\n displayValue: String\n}\n\ntype LongitudeValue implements FieldValue {\n value: Longitude\n displayValue: String\n}\n\ntype StringValue implements FieldValue {\n value: String\n displayValue: String\n label: String\n}\n\ntype IntValue implements FieldValue {\n value: Int\n displayValue: String\n format: String\n}\n\ntype UrlValue implements FieldValue {\n value: Url\n displayValue: String\n}\n\ninput IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: JoinInput\n ninq: JoinInput\n}\n\ninput Setup__SetupOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: Setup__SetupOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ntype LongAggregate implements FieldValue {\n value: Long\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: LongValue\n min: LongValue\n sum: LongValue\n}\n\ntype PhoneNumberAggregate implements FieldValue {\n value: PhoneNumber\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: PhoneNumberValue\n min: PhoneNumberValue\n}\n\ninput TimeOperators {\n eq: Time\n ne: Time\n lt: Time\n gt: Time\n lte: Time\n gte: Time\n in: [Time]\n nin: [Time]\n}\n\ntype PicklistValue implements FieldValue {\n value: Picklist\n displayValue: String\n label: String\n}\n\ntype CurrencyAggregate implements FieldValue {\n value: Currency\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: CurrencyValue\n min: CurrencyValue\n sum: CurrencyValue\n}\n\ntype RelatedListInfo {\n childApiName: String!\n relatedListName: String!\n label: String!\n displayColumns: [ListColumn!]!\n orderedByInfo: [ListOrder!]!\n parentApiName: String!\n fieldApiName: String!\n}\n\ninput StringOperators {\n eq: String\n ne: String\n like: String\n lt: String\n gt: String\n lte: String\n gte: String\n in: [String]\n nin: [String]\n}\n\ntype UIAPI {\n query: RecordQuery!\n aggregate: RecordQueryAggregate!\n objectInfos(apiNames: [String], locale: String): [ObjectInfo]\n relatedListByName(parentApiName: String!, relatedListName: String!): RelatedListInfo\n}\n\ninput MultiPicklistOperators {\n eq: MultiPicklist\n ne: MultiPicklist\n includes: [MultiPicklist]\n excludes: [MultiPicklist]\n}\n\ntype DateTimeAggregate implements FieldValue {\n value: DateTime\n displayValue: String\n calendarMonth: DateFunctionAggregation\n calendarQuarter: DateFunctionAggregation\n calendarYear: DateFunctionAggregation\n count: LongValue\n countDistinct: LongValue\n dayInMonth: DateFunctionAggregation\n dayInWeek: DateFunctionAggregation\n dayInYear: DateFunctionAggregation\n dayOnly: DateOnlyAggregation\n fiscalMonth: DateFunctionAggregation\n fiscalQuarter: DateFunctionAggregation\n fiscalYear: DateFunctionAggregation\n format: String\n hourInDay: DateFunctionAggregation\n max: DateTimeValue\n min: DateTimeValue\n weekInMonth: DateFunctionAggregation\n weekInYear: DateFunctionAggregation\n}\n\ninput BooleanOperators {\n eq: Boolean\n ne: Boolean\n}\n\ntype EmailAggregate implements FieldValue {\n value: Email\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: EmailValue\n min: EmailValue\n}\n\n#enum OrderByType {\n#}\n\ninput GroupByDateFunction {\n function: GroupByFunction\n}\n\ntype RichTextAreaValue implements FieldValue {\n value: RichTextArea\n displayValue: String\n}\n\ntype MultiPicklistValue implements FieldValue {\n value: MultiPicklist\n displayValue: String\n label: String\n}\n\ntype Setup__SetupEdge @generic {\n node: Setup__EntityRepresentation\n cursor: String!\n}\n\ninput DatePrimitiveOperators {\n eq: Date\n ne: Date\n lt: Date\n gt: Date\n lte: Date\n gte: Date\n in: [Date]\n nin: [Date]\n}\n\ntype TimeAggregate implements FieldValue {\n value: Time\n displayValue: String\n format: String\n hourInDay: DateFunctionAggregation\n}\n\ntype __Type {\n kind: __TypeKind!\n name: String\n description: String\n fields(includeDeprecated: Boolean = false): [__Field!]\n interfaces: [__Type!]\n possibleTypes: [__Type!]\n enumValues(includeDeprecated: Boolean = false): [__EnumValue!]\n inputFields: [__InputValue!]\n ofType: __Type\n}\n\ntype ListColumn {\n fieldApiName: String!\n label: String!\n lookupId: String\n sortable: Boolean\n}\n\ntype Setup__SetupQuery {\n recordQuery(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, scope: String, upperBound: Int): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__EntityRepresentation @generic {\n Id: ID!\n ApiName: String!\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n parentRelationship: Setup__EntityRepresentation @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: Setup__SetupFilter, orderBy: Setup__SetupOrderBy, upperBound: Int): Setup__SetupConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ntype LatitudeAggregate implements FieldValue {\n value: Latitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LatitudeValue\n min: LatitudeValue\n sum: DoubleValue\n}\n\ninput CurrencyOperators {\n eq: Currency\n ne: Currency\n lt: Currency\n gt: Currency\n lte: Currency\n gte: Currency\n in: [Currency]\n nin: [Currency]\n}\n\ninput DistanceInput {\n latitude: Latitude!\n longitude: Longitude!\n}\n\nunion PolymorphicParentRelationship @generic = RecordRepresentation\n\nenum AggregateOrderByNumberFunction {\n AVG\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n SUM\n}\n\ntype LongTextAreaValue implements FieldValue {\n value: LongTextArea\n displayValue: String\n}\n\ntype LatitudeValue implements FieldValue {\n value: Latitude\n displayValue: String\n}\n\ninput OrderByClause {\n order: ResultOrder\n nulls: NullOrder\n}\n\ninput AggregateOrderBy @generic {\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: AggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n type: String = ORDER_BY\n}\n\ninput GroupByClause {\n group: Boolean\n}\n\ntype RecordAggregateConnection @generic {\n edges: [RecordAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ntype LongitudeAggregate implements FieldValue {\n value: Longitude\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n max: LongitudeValue\n min: LongitudeValue\n sum: DoubleValue\n}\n\ntype RecordEdge @generic {\n node: RecordRepresentation\n cursor: String!\n}\n\nunion Setup__SetupPolymorphicParentRelationship @generic = Setup__EntityRepresentation\n\ntype DateValue implements FieldValue {\n value: Date\n displayValue: String\n format: String\n}\n\ninput URLOperators {\n eq: Url\n ne: Url\n like: Url\n lt: Url\n gt: Url\n lte: Url\n gte: Url\n in: [Url]\n nin: [Url]\n}\n\ninput LongOperators {\n eq: Long\n ne: Long\n lt: Long\n gt: Long\n lte: Long\n gte: Long\n in: [Long]\n nin: [Long]\n}\n\nenum DataType {\n STRING\n TEXTAREA\n PHONE\n EMAIL\n URL\n ENCRYPTEDSTRING\n BOOLEAN\n CURRENCY\n INT\n LONG\n DOUBLE\n PERCENT\n DATETIME\n TIME\n DATE\n REFERENCE\n PICKLIST\n MULTIPICKLIST\n ADDRESS\n LOCATION\n BASE64\n COMPLEXVALUE\n COMBOBOX\n JSON\n JUNCTIONIDLIST\n ANYTYPE\n}\n\nenum NullOrder {\n FIRST\n LAST\n}\n\ntype PhoneNumberValue implements FieldValue {\n value: PhoneNumber\n displayValue: String\n}\n\n# Cannot have empty enum\n# enum RecordScope @generic {\n# }\n\ninput Setup__SetupFilter @generic {\n and: [Setup__SetupFilter]\n or: [Setup__SetupFilter]\n not: Setup__SetupFilter\n parentRelationshipRecordFilter: Setup__SetupFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: Setup__SetupPolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n Setup__IdOperator: Setup__IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype DoubleAggregate implements FieldValue {\n value: Double\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n max: DoubleValue\n min: DoubleValue\n sum: DoubleValue\n}\n\ntype __Field {\n name: String!\n description: String\n args: [__InputValue!]!\n type: __Type!\n isDeprecated: Boolean!\n deprecationReason: String\n}\n\ninput DateOperators {\n eq: DateInput\n ne: DateInput\n lt: DateInput\n gt: DateInput\n lte: DateInput\n gte: DateInput\n in: [DateInput]\n nin: [DateInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n}\n\ninput GeolocationInput {\n latitude: Latitude!\n longitude: Longitude!\n radius: Float!\n unit: Unit!\n}\n\ninput JoinInput {\n Record: RecordFilter @fieldCategory\n ApiName: String\n}\n\ninput TextAreaOperators {\n eq: TextArea\n ne: TextArea\n like: TextArea\n lt: TextArea\n gt: TextArea\n lte: TextArea\n gte: TextArea\n in: [TextArea]\n nin: [TextArea]\n}\n\ntype TextAreaValue implements FieldValue {\n value: TextArea\n displayValue: String\n}\n\ntype RecordUpdatePayload @generic {\n success: Boolean\n}\n\ninput PercentOperators {\n eq: Percent\n ne: Percent\n lt: Percent\n gt: Percent\n lte: Percent\n gte: Percent\n in: [Percent]\n nin: [Percent]\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordOrderBy @generic {\n Setup__SetupOrderBy: Setup__SetupOrderBy @fieldCategory\n}\n\ntype DoubleValue implements FieldValue {\n value: Double\n displayValue: String\n format: String\n}\n\ntype IDAggregate implements FieldValue {\n value: ID\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: IDValue\n min: IDValue\n}\n\ntype __InputValue {\n name: String!\n description: String\n type: __Type!\n defaultValue: String\n}\n\ntype RecordAggregateEdge @generic {\n node: RecordResult\n cursor: String!\n}\n\ntype __Directive {\n name: String\n description: String\n locations: [__DirectiveLocation!]\n args: [__InputValue!]!\n}\n\ninput RecordCreateInput @generic {\n record: RecordCreateRepresentation! @fieldCategory\n}\n\ntype ThemeInfo {\n color: String\n iconUrl: String\n}\n\ninput AggregateOrderByStringClause {\n function: AggregateOrderByStringFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype RecordDeletePayload {\n Id: ID\n}\n\ntype UrlAggregate implements FieldValue {\n value: Url\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: UrlValue\n min: UrlValue\n}\n\nenum DateLiteral {\n LAST_YEAR\n LAST_WEEK\n THIS_QUARTER\n NEXT_FISCAL_YEAR\n LAST_QUARTER\n TOMORROW\n NEXT_FISCAL_QUARTER\n YESTERDAY\n NEXT_QUARTER\n THIS_FISCAL_QUARTER\n THIS_WEEK\n LAST_MONTH\n LAST_90_DAYS\n NEXT_90_DAYS\n THIS_FISCAL_YEAR\n NEXT_WEEK\n TODAY\n NEXT_YEAR\n NEXT_MONTH\n LAST_FISCAL_QUARTER\n THIS_MONTH\n LAST_FISCAL_YEAR\n THIS_YEAR\n}\n\ntype __EnumValue {\n name: String!\n description: String\n isDeprecated: Boolean!\n deprecationReason: String\n}\n\ntype RecordRepresentation implements Record @generic {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n parentRelationship: RecordRepresentation @fieldCategory\n polymorphicParentRelationship: PolymorphicParentRelationship @fieldCategory\n childRelationship(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, upperBound: Int): RecordConnection @fieldCategory\n CompoundField: CompoundField @fieldCategory\n}\n\ntype IDValue implements FieldValue {\n value: ID\n displayValue: String\n}\n\nenum Unit {\n MI\n KM\n}\n\ninput PolymorphicParentRelationshipOrderBy @generic {\n AggregateOrderBy: AggregateOrderBy @fieldCategory\n}\n\ninput OrderByGeolocationClause {\n distance: DistanceInput\n order: ResultOrder\n nulls: NullOrder\n}\n\ninput Setup__IdOperators {\n eq: ID\n ne: ID\n lt: ID\n gt: ID\n lte: ID\n gte: ID\n in: [ID]\n nin: [ID]\n inq: Setup__JoinInput\n ninq: Setup__JoinInput\n}\n\nenum NullsOrder {\n FIRST\n LAST\n}\n\ntype TextAreaAggregate implements FieldValue {\n value: TextArea\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n max: TextAreaValue\n min: TextAreaValue\n}\n\nenum GroupByType {\n GROUP_BY\n ROLLUP\n CUBE\n}\n\nenum ResultOrder {\n ASC\n DESC\n}\n\ninput RecordOrderBy @generic {\n orderableField: OrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableParentRelationship: RecordOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipRecordOrderBy @fieldCategory\n}\n\ninput Setup__JoinInput {\n Record: Setup__SetupFilter @fieldCategory\n ApiName: String\n}\n\ninput PicklistOperators {\n eq: Picklist\n ne: Picklist\n in: [Picklist]\n nin: [Picklist]\n like: Picklist\n lt: Picklist\n gt: Picklist\n lte: Picklist\n gte: Picklist\n}\n\nenum ResultsOrder {\n ASC\n DESC\n}\n\ninput RecordFilter @generic {\n and: [RecordFilter]\n or: [RecordFilter]\n not: RecordFilter\n parentRelationshipRecordFilter: RecordFilter @fieldCategory\n polymorphicParentRelationshipRecordFilter: PolymorphicParentRelationshipRecordFilter @fieldCategory\n IntegerOperator: IntegerOperators @fieldCategory\n LongOperator: LongOperators @fieldCategory\n StringOperator: StringOperators @fieldCategory\n DoubleOperator: DoubleOperators @fieldCategory\n PercentOperator: PercentOperators @fieldCategory\n LongitudeOperator: LongitudeOperators @fieldCategory\n LatitudeOperator: LatitudeOperators @fieldCategory\n EmailOperator: EmailOperators @fieldCategory\n TextAreaOperator: TextAreaOperators @fieldCategory\n LongTextAreaOperator: LongTextAreaOperators @fieldCategory\n URLOperator: URLOperators @fieldCategory\n PhoneNumberOperator: PhoneNumberOperators @fieldCategory\n BooleanOperator: BooleanOperators @fieldCategory\n IdOperator: IdOperators @fieldCategory\n CurrencyOperator: CurrencyOperators @fieldCategory\n TimeOperator: TimeOperators @fieldCategory\n DateOperator: DateOperators @fieldCategory\n DateTimeOperator: DateTimeOperators @fieldCategory\n PicklistOperator: PicklistOperators @fieldCategory\n MultiPicklistOperator: MultiPicklistOperators @fieldCategory\n GeolocationOperator: GeolocationOperators @fieldCategory\n}\n\ntype TimeValue implements FieldValue {\n value: Time\n displayValue: String\n format: String\n}\n\ninput GeolocationOperators {\n lt: GeolocationInput\n gt: GeolocationInput\n}\n\ntype PicklistAggregate implements FieldValue {\n value: Picklist\n displayValue: String\n count: LongValue\n countDistinct: LongValue\n grouping: IntValue\n label: String\n max: PicklistValue\n min: PicklistValue\n}\n\ninput LatitudeOperators {\n eq: Latitude\n ne: Latitude\n lt: Latitude\n gt: Latitude\n lte: Latitude\n gte: Latitude\n in: [Latitude]\n nin: [Latitude]\n}\n\ninput RecordUpdateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype DateTimeValue implements FieldValue {\n value: DateTime\n displayValue: String\n format: String\n}\n\ninput RecordDeleteInput {\n Id: IdOrRef!\n}\n\nenum __DirectiveLocation {\n QUERY\n MUTATION\n FIELD\n FRAGMENT_DEFINITION\n FRAGMENT_SPREAD\n INLINE_FRAGMENT\n SCHEMA\n SCALAR\n OBJECT\n FIELD_DEFINITION\n ARGUMENT_DEFINITION\n INTERFACE\n UNION\n ENUM\n ENUM_VALUE\n INPUT_OBJECT\n INPUT_FIELD_DEFINITION\n}\n\ntype IntAggregate implements FieldValue {\n value: Int\n displayValue: String\n avg: DoubleValue\n count: LongValue\n countDistinct: LongValue\n format: String\n grouping: IntValue\n max: IntValue\n min: IntValue\n sum: LongValue\n}\n\ntype ListOrder {\n fieldApiName: String!\n sortDirection: ResultOrder\n}\n\ntype RecordAggregate @generic {\n ApiName: String!\n BooleanAggregate: BooleanAggregate @fieldCategory\n CurrencyAggregate: CurrencyAggregate @fieldCategory\n DateAggregate: DateAggregate @fieldCategory\n DoubleAggregate: DoubleAggregate @fieldCategory\n EmailAggregate: EmailAggregate @fieldCategory\n IDAggregate: IDAggregate @fieldCategory\n IntAggregate: IntAggregate @fieldCategory\n LatitudeAggregate: LatitudeAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @fieldCategory\n LongAggregate: LongAggregate @fieldCategory\n PercentAggregate: PercentAggregate @fieldCategory\n PhoneNumberAggregate: PhoneNumberAggregate @fieldCategory\n PicklistAggregate: PicklistAggregate @fieldCategory\n StringAggregate: StringAggregate @fieldCategory\n TextAreaAggregate: TextAreaAggregate @fieldCategory\n TimeAggregate: TimeAggregate @fieldCategory\n UrlAggregate: UrlAggregate @fieldCategory\n}\n\ntype JSONValue implements FieldValue {\n value: JSON\n displayValue: String\n}\n\ntype EmailValue implements FieldValue {\n value: Email\n displayValue: String\n}\n\ntype Setup__Setup {\n query: Setup__SetupQuery!\n}\n\nenum AggregateOrderByStringFunction {\n COUNT\n COUNT_DISTINCT\n MAX\n MIN\n}\n\ntype LongValue implements FieldValue {\n value: Long\n displayValue: String\n format: String\n}\n\ninput DateFunctionInput {\n value: LongOperators\n convertTimezoneValue: LongOperators\n}\n\n# Mutations aren't supported yet.\n#type Mutation {\n# uiapi(input: UIAPIMutationsInput): UIAPIMutations!\n#}\n\ntype DependentField {\n controllingField: String!\n dependentFields: [String]!\n}\n\ninput LongTextAreaOperators {\n eq: LongTextArea\n ne: LongTextArea\n like: LongTextArea\n lt: LongTextArea\n gt: LongTextArea\n lte: LongTextArea\n gte: LongTextArea\n in: [LongTextArea]\n nin: [LongTextArea]\n}\n\nenum __TypeKind {\n SCALAR\n OBJECT\n INTERFACE\n UNION\n ENUM\n INPUT_OBJECT\n LIST\n NON_NULL\n}\n\ntype Setup__SetupConnection @generic {\n edges: [Setup__SetupEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype PercentValue implements FieldValue {\n value: Percent\n displayValue: String\n format: String\n}\n\ninput DateTimeOperators {\n eq: DateTimeInput\n ne: DateTimeInput\n lt: DateTimeInput\n gt: DateTimeInput\n lte: DateTimeInput\n gte: DateTimeInput\n in: [DateTimeInput]\n nin: [DateTimeInput]\n DAY_IN_WEEK: DateFunctionInput\n DAY_IN_MONTH: DateFunctionInput\n DAY_IN_YEAR: DateFunctionInput\n WEEK_IN_MONTH: DateFunctionInput\n WEEK_IN_YEAR: DateFunctionInput\n CALENDAR_MONTH: DateFunctionInput\n CALENDAR_QUARTER: DateFunctionInput\n CALENDAR_YEAR: DateFunctionInput\n FISCAL_MONTH: DateFunctionInput\n FISCAL_QUARTER: DateFunctionInput\n FISCAL_YEAR: DateFunctionInput\n DAY_ONLY: DateTimeFunctionInput\n HOUR_IN_DAY: DateFunctionInput\n}\n\ninput NoFunctionAggregateOrderByClause {\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype BooleanAggregate implements FieldValue {\n value: Boolean\n displayValue: String\n grouping: IntValue\n}\n\ntype RecordQueryAggregate {\n # RecordScope is replaced with String\n recordQueryAggregate(first: Int, after: String, where: RecordFilter, orderBy: AggregateOrderBy, scope: String, groupBy: RecordGroupBy, upperBound: Int): RecordAggregateConnection @fieldCategory\n}\n\ntype RecordConnection @generic {\n edges: [RecordEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n pageResultCount: Int!\n}\n\ntype FilteredLookupInfo {\n controllingFields: [String]!\n dependent: Boolean!\n optionalFilter: Boolean!\n}\n\ninput PhoneNumberOperators {\n eq: PhoneNumber\n ne: PhoneNumber\n like: PhoneNumber\n lt: PhoneNumber\n gt: PhoneNumber\n lte: PhoneNumber\n gte: PhoneNumber\n in: [PhoneNumber]\n nin: [PhoneNumber]\n}\n\ntype ObjectInfo {\n ApiName: String!\n childRelationships: [ChildRelationship]!\n createable: Boolean!\n custom: Boolean!\n defaultRecordTypeId: ID\n deletable: Boolean!\n dependentFields: [DependentField]!\n feedEnabled: Boolean!\n fields: [Field]!\n keyPrefix: String\n label: String\n labelPlural: String\n layoutable: Boolean!\n mruEnabled: Boolean!\n nameFields: [String]!\n queryable: Boolean!\n recordTypeInfos: [RecordTypeInfo]!\n searchable: Boolean!\n themeInfo: ThemeInfo\n updateable: Boolean!\n locale: String\n}\n\ninput LongitudeOperators {\n eq: Longitude\n ne: Longitude\n lt: Longitude\n gt: Longitude\n lte: Longitude\n gte: Longitude\n in: [Longitude]\n nin: [Longitude]\n}\n\ninput RecordCreateRepresentation @generic {\n Int: Int @fieldCategory\n String: String @fieldCategory\n Boolean: Boolean @fieldCategory\n ID: IdOrRef @fieldCategory\n DateTime: DateTime @fieldCategory\n Time: Time @fieldCategory\n Date: Date @fieldCategory\n TextArea: TextArea @fieldCategory\n LongTextArea: LongTextArea @fieldCategory\n RichTextArea: RichTextArea @fieldCategory\n PhoneNumber: PhoneNumber @fieldCategory\n Email: Email @fieldCategory\n Url: Url @fieldCategory\n EncryptedString: EncryptedString @fieldCategory\n Currency: Currency @fieldCategory\n Longitude: Longitude @fieldCategory\n Latitude: Latitude @fieldCategory\n Picklist: Picklist @fieldCategory\n MultiPicklist: MultiPicklist @fieldCategory\n Long: Long @fieldCategory\n Double: Double @fieldCategory\n Percent: Percent @fieldCategory\n Base64: Base64 @fieldCategory\n JSON: JSON @fieldCategory\n}\n\ntype Field {\n ApiName: String!\n calculated: Boolean!\n compound: Boolean!\n compoundComponentName: String\n compoundFieldName: String\n controllerName: String\n controllingFields: [String]!\n createable: Boolean!\n custom: Boolean!\n dataType: DataType\n extraTypeInfo: FieldExtraTypeInfo\n filterable: Boolean!\n filteredLookupInfo: FilteredLookupInfo\n highScaleNumber: Boolean!\n htmlFormatted: Boolean!\n inlineHelpText: String\n label: String\n nameField: Boolean!\n polymorphicForeignKey: Boolean!\n precision: Int\n reference: Boolean!\n referenceTargetField: String\n referenceToInfos: [ReferenceToInfo]!\n relationshipName: String\n required: Boolean!\n scale: Int\n searchPrefilterable: Boolean\n sortable: Boolean!\n updateable: Boolean!\n}\n\nenum FieldExtraTypeInfo {\n IMAGE_URL\n EXTERNAL_LOOKUP\n INDIRECT_LOOKUP\n PERSONNAME\n SWITCHABLE_PERSONNAME\n PLAINTEXTAREA\n RICHTEXTAREA\n}\n\ntype RateLimit {\n cost: Long\n limit: Long\n remaining: Long\n resetAt: DateTime\n}\n\ninput DateRange {\n last_n_days: Int\n next_n_days: Int\n last_n_weeks: Int\n next_n_weeks: Int\n last_n_months: Int\n next_n_months: Int\n last_n_quarters: Int\n next_n_quarters: Int\n last_n_fiscal_quarters: Int\n next_n_fiscal_quarters: Int\n last_n_years: Int\n next_n_years: Int\n last_n_fiscal_years: Int\n next_n_fiscal_years: Int\n n_days_ago: Int\n n_weeks_ago: Int\n n_months_ago: Int\n n_quarters_ago: Int\n n_years_ago: Int\n n_fiscal_quarters_ago: Int\n n_fiscal_years_ago: Int\n}\n\ntype UIAPIMutations {\n recordCreate(input: RecordCreateInput!): RecordCreatePayload @fieldCategory\n recordDelete(input: RecordDeleteInput!): RecordDeletePayload @fieldCategory\n recordUpdate(input: RecordUpdateInput!): RecordUpdatePayload @fieldCategory\n}\n\ninput DateTimeFunctionInput {\n value: DatePrimitiveOperators\n convertTimezoneValue: DatePrimitiveOperators\n}\n\ntype Base64Value implements FieldValue {\n value: Base64\n displayValue: String\n}\n\ninput IntegerOperators {\n eq: Int\n ne: Int\n lt: Int\n gt: Int\n lte: Int\n gte: Int\n in: [Int]\n nin: [Int]\n}\n\ntype EncryptedStringValue implements FieldValue {\n value: EncryptedString\n displayValue: String\n}\n\ninterface Record {\n Id: ID!\n ApiName: String!\n WeakEtag: Long!\n DisplayValue: String\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n SystemModstamp: DateTimeValue\n RecordTypeId(fallback: Boolean): IDValue\n}\n\ninput PolymorphicParentRelationshipRecordFilter @generic {\n RecordFilter: RecordFilter @fieldCategory\n}\n\ninput AggregateOrderByNumberClause {\n function: AggregateOrderByNumberFunction\n order: ResultsOrder\n nulls: NullsOrder\n}\n\ntype __Schema {\n types: [__Type!]!\n queryType: __Type!\n mutationType: __Type\n directives: [__Directive!]!\n subscriptionType: __Type\n}\n\ninput Setup__SetupPolymorphicParentRelationshipRecordFilter @generic {\n Setup__SetupFilter: Setup__SetupFilter @fieldCategory\n}\n\ntype CompoundField @generic {\n IntValue: IntValue @fieldCategory\n StringValue: StringValue @fieldCategory\n BooleanValue: BooleanValue @fieldCategory\n IDValue: IDValue @fieldCategory\n DateTimeValue: DateTimeValue @fieldCategory\n TimeValue: TimeValue @fieldCategory\n DateValue: DateValue @fieldCategory\n TextAreaValue: TextAreaValue @fieldCategory\n LongTextAreaValue: LongTextAreaValue @fieldCategory\n RichTextAreaValue: RichTextAreaValue @fieldCategory\n PhoneNumberValue: PhoneNumberValue @fieldCategory\n EmailValue: EmailValue @fieldCategory\n UrlValue: UrlValue @fieldCategory\n EncryptedStringValue: EncryptedStringValue @fieldCategory\n CurrencyValue: CurrencyValue @fieldCategory\n LongitudeValue: LongitudeValue @fieldCategory\n LatitudeValue: LatitudeValue @fieldCategory\n PicklistValue: PicklistValue @fieldCategory\n MultiPicklistValue: MultiPicklistValue @fieldCategory\n LongValue: LongValue @fieldCategory\n DoubleValue: DoubleValue @fieldCategory\n PercentValue: PercentValue @fieldCategory\n Base64Value: Base64Value @fieldCategory\n JSONValue: JSONValue @fieldCategory\n}\n\ninput RecordUpdateInput @generic {\n Id: IdOrRef!\n record: RecordUpdateRepresentation! @fieldCategory\n}\n\ninput DateTimeInput {\n value: DateTime\n literal: DateLiteral\n range: DateRange\n}\n\ntype ChildRelationship {\n childObjectApiName: String!\n fieldName: String\n junctionIdListNames: [String]!\n junctionReferenceTo: [String]!\n relationshipName: String\n objectInfo: ObjectInfo\n}\n\ntype RecordResult @generic {\n aggregate: RecordAggregate\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\ntype CurrencyValue implements FieldValue {\n value: Currency\n displayValue: String\n format: String\n}\n\ninput DateInput {\n value: Date\n literal: DateLiteral\n range: DateRange\n}\n\ninput RecordGroupBy @generic {\n groupableField: GroupByClause @fieldCategory\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableParentRelationship: RecordGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: PolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype DateFunctionAggregation {\n value: Long\n format: String\n}\n\ntype RecordQuery {\n # scope should be type RecordScope but that's empty enum.\n recordQuery(first: Int, after: String, where: RecordFilter, orderBy: RecordOrderBy, scope: String, upperBound: Int): RecordConnection @fieldCategory\n}\n\ndirective @generic on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT\ndirective @fieldCategory on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE\ndirective @category(name: String!) on FIELD";
|
|
53779
53833
|
|
|
53780
53834
|
// Define additional schema that is missing from uiapi that we use in local evaluation
|
|
53781
53835
|
const additionalSchemaDefinitions = /* GraphQL */ `
|
|
@@ -54292,6 +54346,18 @@ const parentRelationshipDirective = {
|
|
|
54292
54346
|
},
|
|
54293
54347
|
],
|
|
54294
54348
|
};
|
|
54349
|
+
const FieldValueNodeSelectionSet = {
|
|
54350
|
+
kind: Kind$1.SELECTION_SET,
|
|
54351
|
+
selections: [
|
|
54352
|
+
{
|
|
54353
|
+
kind: Kind$1.FIELD,
|
|
54354
|
+
name: {
|
|
54355
|
+
kind: Kind$1.NAME,
|
|
54356
|
+
value: 'value',
|
|
54357
|
+
},
|
|
54358
|
+
},
|
|
54359
|
+
],
|
|
54360
|
+
};
|
|
54295
54361
|
async function injectSyntheticFields(originalAST, objectInfoService, draftFunctions, variables) {
|
|
54296
54362
|
const inlineFragmentSelections = {};
|
|
54297
54363
|
// read pass; generate ObjectInfo
|
|
@@ -54445,20 +54511,19 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
|
|
|
54445
54511
|
},
|
|
54446
54512
|
},
|
|
54447
54513
|
Field: {
|
|
54448
|
-
leave(node,
|
|
54449
|
-
if (node.name.value !==
|
|
54450
|
-
return;
|
|
54451
|
-
if (!node.selectionSet)
|
|
54514
|
+
leave(node, _key, _parent, _path, ancestors) {
|
|
54515
|
+
if (node.name.value !== 'node')
|
|
54452
54516
|
return;
|
|
54453
54517
|
// it could be 'recordQuery' or 'childRelationship'
|
|
54454
|
-
const
|
|
54455
|
-
if (
|
|
54518
|
+
const recordConnection = findNearestConnection(ancestors);
|
|
54519
|
+
if (recordConnection === undefined)
|
|
54456
54520
|
return;
|
|
54457
54521
|
const ancestorPath = findAncesterPath(ancestors);
|
|
54522
|
+
if (node.selectionSet === undefined)
|
|
54523
|
+
return;
|
|
54458
54524
|
// spanning fields of the 'parentRelationship'. 'childRelationship' is handled by 'node' parent.
|
|
54459
54525
|
const spanningSelections = [];
|
|
54460
54526
|
for (const selection of node.selectionSet.selections) {
|
|
54461
|
-
//
|
|
54462
54527
|
if (isFieldSpanning(selection) || isInlineFragmentFieldSpanning(selection)) {
|
|
54463
54528
|
spanningSelections.push(selection);
|
|
54464
54529
|
}
|
|
@@ -55075,25 +55140,9 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
55075
55140
|
}
|
|
55076
55141
|
// spanning field needs to have the directive with 'parentRelationship'
|
|
55077
55142
|
const directives = isSpanning && !isInlineFragment ? [parentRelationshipDirective] : [];
|
|
55078
|
-
let idField = isSpanning && !isPolymorphicField
|
|
55079
|
-
? [
|
|
55080
|
-
{
|
|
55081
|
-
kind: Kind$1.FIELD,
|
|
55082
|
-
name: {
|
|
55083
|
-
kind: Kind$1.NAME,
|
|
55084
|
-
value: 'Id',
|
|
55085
|
-
},
|
|
55086
|
-
},
|
|
55087
|
-
]
|
|
55088
|
-
: [];
|
|
55143
|
+
let idField = isSpanning && !isPolymorphicField ? [createFieldNode('Id')] : [];
|
|
55089
55144
|
// This variable change to InlineFragment if 'isInlineFragment' is true
|
|
55090
|
-
let sel =
|
|
55091
|
-
kind: Kind$1.FIELD,
|
|
55092
|
-
name: {
|
|
55093
|
-
kind: Kind$1.NAME,
|
|
55094
|
-
value: fieldName,
|
|
55095
|
-
},
|
|
55096
|
-
};
|
|
55145
|
+
let sel = createFieldNode(fieldName);
|
|
55097
55146
|
// Check if fields is valid
|
|
55098
55147
|
if (apiNames.length === 1 && !isInlineFragment) {
|
|
55099
55148
|
const objectInfo = objectInfos[apiNames[0]];
|
|
@@ -55139,13 +55188,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
55139
55188
|
idField = [];
|
|
55140
55189
|
}
|
|
55141
55190
|
if (isInlineFragment && !isTypeNameExisting) {
|
|
55142
|
-
idField.push(
|
|
55143
|
-
kind: Kind$1.FIELD,
|
|
55144
|
-
name: {
|
|
55145
|
-
kind: Kind$1.NAME,
|
|
55146
|
-
value: '__typename',
|
|
55147
|
-
},
|
|
55148
|
-
});
|
|
55191
|
+
idField.push(createFieldNode('__typename'));
|
|
55149
55192
|
}
|
|
55150
55193
|
//Inject Conditions: 1. Same field does not exist 2. Same fields has different children. 3. Filter spanning field does not have Id. 4. InLineFragment does not have the '__typename' field
|
|
55151
55194
|
if (!existingFields ||
|
|
@@ -55191,18 +55234,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
55191
55234
|
if (!isSpanning) {
|
|
55192
55235
|
sel = {
|
|
55193
55236
|
...sel,
|
|
55194
|
-
selectionSet:
|
|
55195
|
-
kind: Kind$1.SELECTION_SET,
|
|
55196
|
-
selections: [
|
|
55197
|
-
{
|
|
55198
|
-
kind: Kind$1.FIELD,
|
|
55199
|
-
name: {
|
|
55200
|
-
kind: Kind$1.NAME,
|
|
55201
|
-
value: 'value',
|
|
55202
|
-
},
|
|
55203
|
-
},
|
|
55204
|
-
],
|
|
55205
|
-
},
|
|
55237
|
+
selectionSet: FieldValueNodeSelectionSet,
|
|
55206
55238
|
};
|
|
55207
55239
|
}
|
|
55208
55240
|
}
|
|
@@ -55223,25 +55255,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
55223
55255
|
.filter(isFieldNode)
|
|
55224
55256
|
.filter((subNode) => subNode.name.value === relationField);
|
|
55225
55257
|
if (!existingRelationFields || existingRelationFields.length === 0) {
|
|
55226
|
-
injectedSelections.push(
|
|
55227
|
-
kind: Kind$1.FIELD,
|
|
55228
|
-
name: {
|
|
55229
|
-
kind: Kind$1.NAME,
|
|
55230
|
-
value: relationField,
|
|
55231
|
-
},
|
|
55232
|
-
selectionSet: {
|
|
55233
|
-
kind: Kind$1.SELECTION_SET,
|
|
55234
|
-
selections: [
|
|
55235
|
-
{
|
|
55236
|
-
kind: Kind$1.FIELD,
|
|
55237
|
-
name: {
|
|
55238
|
-
kind: Kind$1.NAME,
|
|
55239
|
-
value: 'value',
|
|
55240
|
-
},
|
|
55241
|
-
},
|
|
55242
|
-
],
|
|
55243
|
-
},
|
|
55244
|
-
});
|
|
55258
|
+
injectedSelections.push(createFieldNode(relationField, FieldValueNodeSelectionSet));
|
|
55245
55259
|
}
|
|
55246
55260
|
}
|
|
55247
55261
|
}
|
|
@@ -55332,15 +55346,7 @@ function produceValueFieldLeaves(queryNode) {
|
|
|
55332
55346
|
.filter(isFieldNode)
|
|
55333
55347
|
.filter((subNode) => subNode.name.value === 'value');
|
|
55334
55348
|
return !existingValueFields || existingValueFields.length === 0
|
|
55335
|
-
? [
|
|
55336
|
-
{
|
|
55337
|
-
kind: Kind$1.FIELD,
|
|
55338
|
-
name: {
|
|
55339
|
-
kind: Kind$1.NAME,
|
|
55340
|
-
value: 'value',
|
|
55341
|
-
},
|
|
55342
|
-
},
|
|
55343
|
-
]
|
|
55349
|
+
? [createFieldNode('value')]
|
|
55344
55350
|
: [];
|
|
55345
55351
|
}
|
|
55346
55352
|
function updateIDInfo(fieldNode, idState, draftFunctions) {
|
|
@@ -55422,25 +55428,7 @@ function injectFields(selections, parentNode, parentPath, ancestors, objectInfos
|
|
|
55422
55428
|
.filter((subNode) => subNode.name.value === relationshipId);
|
|
55423
55429
|
if (existingRelationFields.length === 0) {
|
|
55424
55430
|
injectedRelationshipField = [
|
|
55425
|
-
|
|
55426
|
-
kind: Kind$1.FIELD,
|
|
55427
|
-
name: {
|
|
55428
|
-
kind: Kind$1.NAME,
|
|
55429
|
-
value: relationshipId,
|
|
55430
|
-
},
|
|
55431
|
-
selectionSet: {
|
|
55432
|
-
kind: Kind$1.SELECTION_SET,
|
|
55433
|
-
selections: [
|
|
55434
|
-
{
|
|
55435
|
-
kind: Kind$1.FIELD,
|
|
55436
|
-
name: {
|
|
55437
|
-
kind: Kind$1.NAME,
|
|
55438
|
-
value: 'value',
|
|
55439
|
-
},
|
|
55440
|
-
},
|
|
55441
|
-
],
|
|
55442
|
-
},
|
|
55443
|
-
},
|
|
55431
|
+
createFieldNode(relationshipId, FieldValueNodeSelectionSet),
|
|
55444
55432
|
];
|
|
55445
55433
|
}
|
|
55446
55434
|
}
|
|
@@ -55448,25 +55436,13 @@ function injectFields(selections, parentNode, parentPath, ancestors, objectInfos
|
|
|
55448
55436
|
const excludeId = isPolymorphicFieldPath(curPath, pathToObjectApiNamesMap, objectInfos);
|
|
55449
55437
|
const idSelection = [];
|
|
55450
55438
|
if (!excludeId && !hasIdAlready) {
|
|
55451
|
-
idSelection.push(
|
|
55452
|
-
kind: Kind$1.FIELD,
|
|
55453
|
-
name: {
|
|
55454
|
-
kind: Kind$1.NAME,
|
|
55455
|
-
value: 'Id',
|
|
55456
|
-
},
|
|
55457
|
-
});
|
|
55439
|
+
idSelection.push(createFieldNode('Id'));
|
|
55458
55440
|
}
|
|
55459
55441
|
// Inject '__typename' for InlineFragment. '__typename' field acts as a reference to concrete type of a polymorphic field or a standard field in the returned GQL response, which equals to
|
|
55460
55442
|
// `typedCondition` of the InlineFragment in the query AST. It is used to match JSON response with AST node. For more detail, please reference 'removeSyntheticFields'.
|
|
55461
55443
|
if (isInlineFragmentNode(selection) &&
|
|
55462
55444
|
!selection.selectionSet.selections.find((selection) => isFieldNode(selection) && selection.name.value === '__typename')) {
|
|
55463
|
-
idSelection.push(
|
|
55464
|
-
kind: Kind$1.FIELD,
|
|
55465
|
-
name: {
|
|
55466
|
-
kind: Kind$1.NAME,
|
|
55467
|
-
value: '__typename',
|
|
55468
|
-
},
|
|
55469
|
-
});
|
|
55445
|
+
idSelection.push(createFieldNode('__typename'));
|
|
55470
55446
|
}
|
|
55471
55447
|
// 'ServiceAppointment' --> 'Contact' --> 'Id', Inject 'Contact' with Id. 'Id' field is at the sub level.
|
|
55472
55448
|
const injectedSelectionIdField = idSelection.length > 0 || subInjectedSelections.length > 0
|
|
@@ -55486,6 +55462,8 @@ function injectFields(selections, parentNode, parentPath, ancestors, objectInfos
|
|
|
55486
55462
|
const idForChildRelationship = [];
|
|
55487
55463
|
// inject related field for the parent of the 'childRelationship'.
|
|
55488
55464
|
const relatedIdForChildRelationship = [];
|
|
55465
|
+
// injected fields for DisplayValue
|
|
55466
|
+
let displayValueNameFields = [];
|
|
55489
55467
|
// injects 'childRelatiship' at the 'node' level, it does not matter if the 'selections' is empty or not.
|
|
55490
55468
|
// the operation happens at the same level as the 'childRelationship' field.
|
|
55491
55469
|
if (isFieldNode(parentNode) && parentNode.selectionSet && parentNode.name.value === 'node') {
|
|
@@ -55495,13 +55473,7 @@ function injectFields(selections, parentNode, parentPath, ancestors, objectInfos
|
|
|
55495
55473
|
if (!parentNode.selectionSet.selections
|
|
55496
55474
|
.filter(isFieldNode)
|
|
55497
55475
|
.some((sibling) => sibling.name.value === 'Id')) {
|
|
55498
|
-
idForChildRelationship.push(
|
|
55499
|
-
kind: Kind$1.FIELD,
|
|
55500
|
-
name: {
|
|
55501
|
-
kind: Kind$1.NAME,
|
|
55502
|
-
value: 'Id',
|
|
55503
|
-
},
|
|
55504
|
-
});
|
|
55476
|
+
idForChildRelationship.push(createFieldNode('Id'));
|
|
55505
55477
|
}
|
|
55506
55478
|
}
|
|
55507
55479
|
else {
|
|
@@ -55530,29 +55502,32 @@ function injectFields(selections, parentNode, parentPath, ancestors, objectInfos
|
|
|
55530
55502
|
.filter(isFieldNode)
|
|
55531
55503
|
.some((sibling) => sibling.name.value === injectedParentFieldName)) {
|
|
55532
55504
|
// example: TimeSheetId { value }
|
|
55533
|
-
relatedIdForChildRelationship.push(
|
|
55534
|
-
kind: Kind$1.FIELD,
|
|
55535
|
-
name: {
|
|
55536
|
-
kind: Kind$1.NAME,
|
|
55537
|
-
value: injectedParentFieldName,
|
|
55538
|
-
},
|
|
55539
|
-
selectionSet: {
|
|
55540
|
-
kind: Kind$1.SELECTION_SET,
|
|
55541
|
-
selections: [
|
|
55542
|
-
{
|
|
55543
|
-
kind: Kind$1.FIELD,
|
|
55544
|
-
name: {
|
|
55545
|
-
kind: Kind$1.NAME,
|
|
55546
|
-
value: 'value',
|
|
55547
|
-
},
|
|
55548
|
-
},
|
|
55549
|
-
],
|
|
55550
|
-
},
|
|
55551
|
-
});
|
|
55505
|
+
relatedIdForChildRelationship.push(createFieldNode(injectedParentFieldName, FieldValueNodeSelectionSet));
|
|
55552
55506
|
}
|
|
55553
55507
|
}
|
|
55554
55508
|
}
|
|
55555
55509
|
}
|
|
55510
|
+
const { selectionSet: { selections }, } = parentNode;
|
|
55511
|
+
// see if node selection has DisplayValue and needs to inject
|
|
55512
|
+
let displayValue;
|
|
55513
|
+
for (let i = 0, len = selections.length; i < len; i++) {
|
|
55514
|
+
const node = selections[i];
|
|
55515
|
+
if (isFieldNode(node) && node.name.value === 'DisplayValue') {
|
|
55516
|
+
displayValue = node;
|
|
55517
|
+
break;
|
|
55518
|
+
}
|
|
55519
|
+
}
|
|
55520
|
+
if (displayValue !== undefined) {
|
|
55521
|
+
const apiName = parent.name.value;
|
|
55522
|
+
const objectInfo = objectInfos[apiName];
|
|
55523
|
+
if (objectInfo !== undefined &&
|
|
55524
|
+
objectInfo.nameFields !== undefined &&
|
|
55525
|
+
objectInfo.nameFields.length > 0) {
|
|
55526
|
+
displayValueNameFields = objectInfo.nameFields.map((fieldName) => {
|
|
55527
|
+
return createFieldNode(fieldName, FieldValueNodeSelectionSet);
|
|
55528
|
+
});
|
|
55529
|
+
}
|
|
55530
|
+
}
|
|
55556
55531
|
}
|
|
55557
55532
|
}
|
|
55558
55533
|
}
|
|
@@ -55560,6 +55535,7 @@ function injectFields(selections, parentNode, parentPath, ancestors, objectInfos
|
|
|
55560
55535
|
...flat(parentRelaltionships),
|
|
55561
55536
|
...idForChildRelationship,
|
|
55562
55537
|
...relatedIdForChildRelationship,
|
|
55538
|
+
...displayValueNameFields,
|
|
55563
55539
|
];
|
|
55564
55540
|
}
|
|
55565
55541
|
function dedupeFieldOrInlineFragmentNodes(duped) {
|
|
@@ -55890,6 +55866,22 @@ function referenceIdFieldForRelationship(relationshipName) {
|
|
|
55890
55866
|
? relationshipName.replace('__r', '__c')
|
|
55891
55867
|
: `${relationshipName}Id`;
|
|
55892
55868
|
}
|
|
55869
|
+
/**
|
|
55870
|
+
* Creates a FieldNode with the passed name value and optional selection set node
|
|
55871
|
+
* @param nameValue
|
|
55872
|
+
* @param selectionSet
|
|
55873
|
+
* @returns
|
|
55874
|
+
*/
|
|
55875
|
+
function createFieldNode(nameValue, selectionSet) {
|
|
55876
|
+
return {
|
|
55877
|
+
kind: Kind$1.FIELD,
|
|
55878
|
+
name: {
|
|
55879
|
+
kind: Kind$1.NAME,
|
|
55880
|
+
value: nameValue,
|
|
55881
|
+
},
|
|
55882
|
+
selectionSet,
|
|
55883
|
+
};
|
|
55884
|
+
}
|
|
55893
55885
|
|
|
55894
55886
|
/**
|
|
55895
55887
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -57985,6 +57977,11 @@ function draftAwareGraphQLAdapterFactory(userId, objectInfoService, store, luvio
|
|
|
57985
57977
|
return resultSnapshot;
|
|
57986
57978
|
};
|
|
57987
57979
|
}
|
|
57980
|
+
function environmentAwareGraphQLBatchAdapterFactory(objectInfoService, luvio) {
|
|
57981
|
+
return async function environmentAwareGraphQLBatchAdapter(config, buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy, requestContext = {}) {
|
|
57982
|
+
return luvio.applyCachePolicy(requestContext, { config, luvio }, buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy);
|
|
57983
|
+
};
|
|
57984
|
+
}
|
|
57988
57985
|
|
|
57989
57986
|
const CONTENT_DOCUMENT_DRAFT_ID_KEY = 'CONTENT_DOCUMENT_DRAFT_ID';
|
|
57990
57987
|
const CONTENT_VERSION_DRAFT_ID_KEY = 'CONTENT_VERSION_DRAFT_ID';
|
|
@@ -61954,11 +61951,13 @@ function getRuntime() {
|
|
|
61954
61951
|
// on core the graphql configuration is split so we need to set configureUIAPIGraphQL both in the
|
|
61955
61952
|
// graphql registration and the uiapi for off core
|
|
61956
61953
|
const configureUIAPIGraphQL = (registration) => {
|
|
61957
|
-
const { configuration: { setDraftAwareGraphQLAdapter }, } = registration;
|
|
61954
|
+
const { configuration: { setDraftAwareGraphQLAdapter, setEnvironmentAwareGraphQLBatchAdapter, }, } = registration;
|
|
61958
61955
|
const draftAwareGraphQLAdapter = draftAwareGraphQLAdapterFactory(userId, lazyObjectInfoService, lazyBaseDurableStore, lazyLuvio, isGenerated);
|
|
61959
61956
|
setDraftAwareGraphQLAdapter(
|
|
61960
61957
|
// return a draft aware graphql adapter here
|
|
61961
61958
|
draftAwareGraphQLAdapter);
|
|
61959
|
+
const environmentAwareGraphQLBatchAdapter = environmentAwareGraphQLBatchAdapterFactory(lazyObjectInfoService, lazyLuvio);
|
|
61960
|
+
setEnvironmentAwareGraphQLBatchAdapter(environmentAwareGraphQLBatchAdapter);
|
|
61962
61961
|
};
|
|
61963
61962
|
const draftAwareCreateContentDocumentAndVersionAdapter = createContentDocumentAndVersionDraftAdapterFactory(lazyLuvio, NimbusBinaryStore, contentDocumentCompositeActionHandler);
|
|
61964
61963
|
const draftAwareCreateRecord = createRecordDraftAdapterFactory(lazyLuvio, uiApiRecordHandler);
|
|
@@ -62004,7 +62003,7 @@ register$1({
|
|
|
62004
62003
|
id: '@salesforce/lds-network-adapter',
|
|
62005
62004
|
instrument: instrument$2,
|
|
62006
62005
|
});
|
|
62007
|
-
// version: 1.
|
|
62006
|
+
// version: 1.280.0-92c104b03
|
|
62008
62007
|
|
|
62009
62008
|
const { create: create$3, keys: keys$3 } = Object;
|
|
62010
62009
|
const { stringify: stringify$1, parse: parse$1 } = JSON;
|
|
@@ -79281,6 +79280,10 @@ function buildCachedSnapshotCachePolicy$1(context, storeLookup) {
|
|
|
79281
79280
|
/**
|
|
79282
79281
|
* Defines configuration for the module with a default value which can be overridden by the runtime environment.
|
|
79283
79282
|
*/
|
|
79283
|
+
/**
|
|
79284
|
+
* Environment Aware GraphQLBatch adapter
|
|
79285
|
+
*/
|
|
79286
|
+
let environmentAwareGraphQLBatchAdapter$1 = undefined;
|
|
79284
79287
|
/**
|
|
79285
79288
|
* Draft-aware GraphQL adapter
|
|
79286
79289
|
*/
|
|
@@ -79407,6 +79410,12 @@ const configurationForGraphQLAdapters$1 = {
|
|
|
79407
79410
|
getDraftAwareGraphQLAdapter: function () {
|
|
79408
79411
|
return draftAwareGraphQLAdapter$1;
|
|
79409
79412
|
},
|
|
79413
|
+
setEnvironmentAwareGraphQLBatchAdapter: function (adapter) {
|
|
79414
|
+
environmentAwareGraphQLBatchAdapter$1 = adapter;
|
|
79415
|
+
},
|
|
79416
|
+
getEnvironmentAwareGraphQLBatchAdapter: function () {
|
|
79417
|
+
return environmentAwareGraphQLBatchAdapter$1;
|
|
79418
|
+
},
|
|
79410
79419
|
};
|
|
79411
79420
|
const registrations$1 = new Set();
|
|
79412
79421
|
/**
|
|
@@ -79789,6 +79798,11 @@ const factory = (luvio) => function UiApi__graphqlBatch(untrustedConfig, request
|
|
|
79789
79798
|
if (config === null) {
|
|
79790
79799
|
return null;
|
|
79791
79800
|
}
|
|
79801
|
+
const { getEnvironmentAwareGraphQLBatchAdapter } = configurationForGraphQLAdapters$1;
|
|
79802
|
+
const adapter = getEnvironmentAwareGraphQLBatchAdapter();
|
|
79803
|
+
if (adapter !== undefined) {
|
|
79804
|
+
return adapter(config, buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy$2, requestContext);
|
|
79805
|
+
}
|
|
79792
79806
|
return luvio.applyCachePolicy(requestContext || {}, { config, luvio }, // BuildSnapshotContext
|
|
79793
79807
|
buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy$2);
|
|
79794
79808
|
};
|
|
@@ -80398,7 +80412,7 @@ register$1({
|
|
|
80398
80412
|
configuration: { ...configurationForGraphQLAdapters$1 },
|
|
80399
80413
|
instrument: instrument$1,
|
|
80400
80414
|
});
|
|
80401
|
-
// version: 1.
|
|
80415
|
+
// version: 1.280.0-09f980816
|
|
80402
80416
|
|
|
80403
80417
|
// On core the unstable adapters are re-exported with different names,
|
|
80404
80418
|
// we want to match them here.
|
|
@@ -80409,6 +80423,7 @@ var unstableLightningRelatedListApi = /*#__PURE__*/Object.freeze({
|
|
|
80409
80423
|
get deleteRecord () { return deleteRecord; },
|
|
80410
80424
|
gql: gql,
|
|
80411
80425
|
get graphql () { return graphql; },
|
|
80426
|
+
get graphqlBatch () { return graphqlBatch; },
|
|
80412
80427
|
get refreshGraphQL () { return refresh$2; },
|
|
80413
80428
|
get unstable_getActionOverrides_imperative () { return unstable_getActionOverrides_imperative; },
|
|
80414
80429
|
get unstable_getFlexipageFormulaOverrides_imperative () { return unstable_getFlexipageFormulaOverrides_imperative; },
|
|
@@ -80446,6 +80461,7 @@ var unstableLightningRelatedListApi = /*#__PURE__*/Object.freeze({
|
|
|
80446
80461
|
get unstable_getRelatedListsCount_imperative () { return unstable_getRelatedListsCount_imperative; },
|
|
80447
80462
|
get unstable_getRelatedListsInfo_imperative () { return unstable_getRelatedListsInfo_imperative; },
|
|
80448
80463
|
get unstable_graphql () { return graphql; },
|
|
80464
|
+
get unstable_graphqlBatch__imperative () { return graphqlBatch_imperative; },
|
|
80449
80465
|
get unstable_graphql_imperative () { return graphql_imperative; },
|
|
80450
80466
|
unstable_refresh: refresh,
|
|
80451
80467
|
unstable_updateRelatedListInfo: updateRelatedListInfo,
|
|
@@ -82652,7 +82668,7 @@ withDefaultLuvio((luvio) => {
|
|
|
82652
82668
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
82653
82669
|
graphQLImperative = ldsAdapter;
|
|
82654
82670
|
});
|
|
82655
|
-
// version: 1.
|
|
82671
|
+
// version: 1.280.0-09f980816
|
|
82656
82672
|
|
|
82657
82673
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
82658
82674
|
__proto__: null,
|
|
@@ -82995,8 +83011,22 @@ function invokeAdapterWithDraftToReplace(adapterId, config, draftIdToReplace, on
|
|
|
82995
83011
|
draftIds !== undefined &&
|
|
82996
83012
|
draftIds.length > 0) {
|
|
82997
83013
|
const draftId = draftIds[draftIds.length - 1];
|
|
82998
|
-
draftManager
|
|
83014
|
+
draftManager
|
|
83015
|
+
.replaceAction(draftIdToReplace, draftId)
|
|
83016
|
+
.then(() => {
|
|
82999
83017
|
onResponse(responseValue);
|
|
83018
|
+
})
|
|
83019
|
+
.catch((error) => {
|
|
83020
|
+
let message = 'Unknown error replacing draft';
|
|
83021
|
+
if (error instanceof Error) {
|
|
83022
|
+
message = error.message;
|
|
83023
|
+
}
|
|
83024
|
+
else if (typeof error === 'string') {
|
|
83025
|
+
message = error;
|
|
83026
|
+
}
|
|
83027
|
+
onResponse({
|
|
83028
|
+
error: createNativeFetchErrorResponse(message),
|
|
83029
|
+
});
|
|
83000
83030
|
});
|
|
83001
83031
|
}
|
|
83002
83032
|
else {
|
|
@@ -83350,7 +83380,7 @@ const callbacks$1 = [];
|
|
|
83350
83380
|
function register(r) {
|
|
83351
83381
|
callbacks$1.forEach((callback) => callback(r));
|
|
83352
83382
|
}
|
|
83353
|
-
// version: 1.
|
|
83383
|
+
// version: 1.280.0-92c104b03
|
|
83354
83384
|
|
|
83355
83385
|
/**
|
|
83356
83386
|
* Returns true if the value acts like a Promise, i.e. has a "then" function,
|
|
@@ -87280,6 +87310,10 @@ keyMap(specifiedScalarTypes.concat(introspectionTypes), function (type) {
|
|
|
87280
87310
|
/**
|
|
87281
87311
|
* Defines configuration for the module with a default value which can be overridden by the runtime environment.
|
|
87282
87312
|
*/
|
|
87313
|
+
/**
|
|
87314
|
+
* Environment Aware GraphQLBatch adapter
|
|
87315
|
+
*/
|
|
87316
|
+
let environmentAwareGraphQLBatchAdapter = undefined;
|
|
87283
87317
|
/**
|
|
87284
87318
|
* Draft-aware GraphQL adapter
|
|
87285
87319
|
*/
|
|
@@ -87406,6 +87440,12 @@ const configurationForGraphQLAdapters = {
|
|
|
87406
87440
|
getDraftAwareGraphQLAdapter: function () {
|
|
87407
87441
|
return draftAwareGraphQLAdapter;
|
|
87408
87442
|
},
|
|
87443
|
+
setEnvironmentAwareGraphQLBatchAdapter: function (adapter) {
|
|
87444
|
+
environmentAwareGraphQLBatchAdapter = adapter;
|
|
87445
|
+
},
|
|
87446
|
+
getEnvironmentAwareGraphQLBatchAdapter: function () {
|
|
87447
|
+
return environmentAwareGraphQLBatchAdapter;
|
|
87448
|
+
},
|
|
87409
87449
|
};
|
|
87410
87450
|
const registrations = new Set();
|
|
87411
87451
|
/**
|
|
@@ -88255,4 +88295,4 @@ const { luvio } = getRuntime();
|
|
|
88255
88295
|
setDefaultLuvio({ luvio });
|
|
88256
88296
|
|
|
88257
88297
|
export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, invokeAdapter, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
|
|
88258
|
-
// version: 1.
|
|
88298
|
+
// version: 1.280.0-92c104b03
|