@salesforce/lds-runtime-mobile 1.376.0 → 1.377.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +1452 -115
- package/dist/types/graphql/context.d.ts +1 -0
- package/dist/types/graphql/evaluate.d.ts +1 -0
- package/package.json +32 -30
- package/sfdc/main.js +1452 -115
- package/sfdc/types/graphql/context.d.ts +1 -0
- package/sfdc/types/graphql/evaluate.d.ts +1 -0
package/dist/main.js
CHANGED
|
@@ -20,9 +20,10 @@ import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrum
|
|
|
20
20
|
import { HttpStatusCode, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, ingestShape, coerceConfig as coerceConfig$1, typeCheckConfig as typeCheckConfig$h, createResourceParams as createResourceParams$h, StoreKeyMap, buildNetworkSnapshotCachePolicy as buildNetworkSnapshotCachePolicy$f, resolveLink, createCustomAdapterEventEmitter, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
|
|
21
21
|
import { isSupportedEntity, configuration, getObjectInfoAdapterFactory, RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, extractRecordIdFromStoreKey, buildRecordRepKeyFromId, keyBuilderRecord, RecordRepresentationTTL, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, getRecordId18 as getRecordId18$1, getRecordsAdapterFactory as getRecordsAdapterFactory$1, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationVersion } from '@salesforce/lds-adapters-uiapi';
|
|
22
22
|
import { getInstrumentation, idleDetector } from 'o11y/client';
|
|
23
|
-
import { Kind as Kind$
|
|
23
|
+
import { Kind as Kind$2, visit as visit$2, isObjectType, defaultFieldResolver, buildSchema, parse as parse$8, extendSchema, isScalarType, execute, print as print$1 } from '@luvio/graphql-parser';
|
|
24
24
|
import FIRST_DAY_OF_WEEK from '@salesforce/i18n/firstDayOfWeek';
|
|
25
25
|
import graphqQueryFieldLimit from '@salesforce/gate/lmr.graphqQueryFieldLimit';
|
|
26
|
+
import graphqlPartialEmitParity from '@salesforce/gate/lmr.graphqlPartialEmitParity';
|
|
26
27
|
import caseSensitiveUserId from '@salesforce/user/Id';
|
|
27
28
|
import { instrument as instrument$1 } from '@salesforce/lds-bindings';
|
|
28
29
|
import ldsAdapterO11yLoggingGate from '@salesforce/gate/lmr.ldsAdapterO11yLogging';
|
|
@@ -41,6 +42,7 @@ import graphqlL2AdapterGate from '@salesforce/gate/lmr.graphqlL2Adapter';
|
|
|
41
42
|
import productConsumedSideEffects from '@salesforce/gate/com.salesforce.fieldservice.vanStockLDSBypass256';
|
|
42
43
|
import useOneStore from '@salesforce/gate/lmr.useOneStore';
|
|
43
44
|
import { setServices } from '@luvio/service-provisioner/v1';
|
|
45
|
+
import '@luvio/type-normalization/v1';
|
|
44
46
|
|
|
45
47
|
/**
|
|
46
48
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -50,7 +52,7 @@ import { setServices } from '@luvio/service-provisioner/v1';
|
|
|
50
52
|
|
|
51
53
|
|
|
52
54
|
const { parse: parse$7, stringify: stringify$7 } = JSON;
|
|
53
|
-
const { join: join$
|
|
55
|
+
const { join: join$2, push: push$2, unshift } = Array.prototype;
|
|
54
56
|
const { isArray: isArray$5 } = Array;
|
|
55
57
|
const { entries: entries$4, keys: keys$6 } = Object;
|
|
56
58
|
|
|
@@ -184,14 +186,14 @@ function buildAggregateUiUrl$1(params, resourceRequest) {
|
|
|
184
186
|
const { fields, optionalFields } = params;
|
|
185
187
|
const queryString = [];
|
|
186
188
|
if (fields !== undefined && fields.length > 0) {
|
|
187
|
-
const fieldString = join$
|
|
189
|
+
const fieldString = join$2.call(fields, ',');
|
|
188
190
|
push$2.call(queryString, `fields=${encodeURIComponent(fieldString)}`);
|
|
189
191
|
}
|
|
190
192
|
if (optionalFields !== undefined && optionalFields.length > 0) {
|
|
191
|
-
const optionalFieldString = join$
|
|
193
|
+
const optionalFieldString = join$2.call(optionalFields, ',');
|
|
192
194
|
push$2.call(queryString, `optionalFields=${encodeURIComponent(optionalFieldString)}`);
|
|
193
195
|
}
|
|
194
|
-
return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join$
|
|
196
|
+
return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join$2.call(queryString, '&')}`;
|
|
195
197
|
}
|
|
196
198
|
function buildGetRecordByFieldsCompositeRequest(resourceRequest, recordsCompositeRequest) {
|
|
197
199
|
const { fieldsArray, optionalFieldsArray, fieldsLength, optionalFieldsLength } = recordsCompositeRequest;
|
|
@@ -43943,6 +43945,7 @@ function createContext(store, objectInfos, eventEmitter, settings, snapshot, map
|
|
|
43943
43945
|
possibleStaleRecordMap: new Map(),
|
|
43944
43946
|
draftFunctions,
|
|
43945
43947
|
mappedCursors,
|
|
43948
|
+
missingFieldsMap: new Map(),
|
|
43946
43949
|
};
|
|
43947
43950
|
}
|
|
43948
43951
|
|
|
@@ -45314,25 +45317,25 @@ function isObjectValueNode(node) {
|
|
|
45314
45317
|
return node.kind === 'ObjectValue';
|
|
45315
45318
|
}
|
|
45316
45319
|
function isStringValueNode(node) {
|
|
45317
|
-
return node.kind === Kind$
|
|
45320
|
+
return node.kind === Kind$2.STRING;
|
|
45318
45321
|
}
|
|
45319
45322
|
function isIntValueNode(node) {
|
|
45320
|
-
return node.kind === Kind$
|
|
45323
|
+
return node.kind === Kind$2.INT;
|
|
45321
45324
|
}
|
|
45322
45325
|
function isVariableNode(node) {
|
|
45323
|
-
return node.kind === Kind$
|
|
45326
|
+
return node.kind === Kind$2.VARIABLE;
|
|
45324
45327
|
}
|
|
45325
45328
|
function isFieldNode(node) {
|
|
45326
45329
|
return node !== undefined && node.kind !== undefined ? node.kind === 'Field' : false;
|
|
45327
45330
|
}
|
|
45328
45331
|
function isFieldOrInlineFragmentNode(node) {
|
|
45329
45332
|
return node !== undefined && node.kind !== undefined
|
|
45330
|
-
? node.kind === 'Field' || node.kind === Kind$
|
|
45333
|
+
? node.kind === 'Field' || node.kind === Kind$2.INLINE_FRAGMENT
|
|
45331
45334
|
: false;
|
|
45332
45335
|
}
|
|
45333
45336
|
function isInlineFragmentNode(node) {
|
|
45334
45337
|
return node !== undefined && node.kind !== undefined
|
|
45335
|
-
? node.kind === Kind$
|
|
45338
|
+
? node.kind === Kind$2.INLINE_FRAGMENT
|
|
45336
45339
|
: false;
|
|
45337
45340
|
}
|
|
45338
45341
|
function isCompoundPredicate(predicate) {
|
|
@@ -45541,9 +45544,9 @@ function isCapableRelationship(node) {
|
|
|
45541
45544
|
function isScopeArgumentNodeWithType(node, scopeType, variables) {
|
|
45542
45545
|
if (node.name.value !== 'scope')
|
|
45543
45546
|
return false;
|
|
45544
|
-
if (node.value.kind !== Kind$
|
|
45547
|
+
if (node.value.kind !== Kind$2.ENUM && node.value.kind !== Kind$2.VARIABLE)
|
|
45545
45548
|
return false;
|
|
45546
|
-
if (node.value.kind === Kind$
|
|
45549
|
+
if (node.value.kind === Kind$2.ENUM) {
|
|
45547
45550
|
if (node.value.value === scopeType) {
|
|
45548
45551
|
return true;
|
|
45549
45552
|
}
|
|
@@ -45650,7 +45653,7 @@ function isInlineFragmentFieldSpanning(node) {
|
|
|
45650
45653
|
if (!node.selectionSet)
|
|
45651
45654
|
return false;
|
|
45652
45655
|
return node.selectionSet.selections.some((selection) => {
|
|
45653
|
-
if (selection.kind !== Kind$
|
|
45656
|
+
if (selection.kind !== Kind$2.INLINE_FRAGMENT)
|
|
45654
45657
|
return false;
|
|
45655
45658
|
return isFieldSpanning(selection, node);
|
|
45656
45659
|
});
|
|
@@ -46190,7 +46193,7 @@ const base64decode = typeof atob === 'function' ? atob : atobPolyfill;
|
|
|
46190
46193
|
/**
|
|
46191
46194
|
* The set of allowed kind values for AST nodes.
|
|
46192
46195
|
*/
|
|
46193
|
-
var Kind = Object.freeze({
|
|
46196
|
+
var Kind$1 = Object.freeze({
|
|
46194
46197
|
// Name
|
|
46195
46198
|
NAME: 'Name',
|
|
46196
46199
|
// Document
|
|
@@ -46386,7 +46389,7 @@ defineInspect(Token);
|
|
|
46386
46389
|
* @internal
|
|
46387
46390
|
*/
|
|
46388
46391
|
|
|
46389
|
-
function isNode(maybeNode) {
|
|
46392
|
+
function isNode$1(maybeNode) {
|
|
46390
46393
|
return maybeNode != null && typeof maybeNode.kind === 'string';
|
|
46391
46394
|
}
|
|
46392
46395
|
/**
|
|
@@ -46394,17 +46397,17 @@ function isNode(maybeNode) {
|
|
|
46394
46397
|
*/
|
|
46395
46398
|
|
|
46396
46399
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
46397
|
-
var MAX_ARRAY_LENGTH = 10;
|
|
46398
|
-
var MAX_RECURSIVE_DEPTH = 2;
|
|
46400
|
+
var MAX_ARRAY_LENGTH$1 = 10;
|
|
46401
|
+
var MAX_RECURSIVE_DEPTH$1 = 2;
|
|
46399
46402
|
/**
|
|
46400
46403
|
* Used to print values in error messages.
|
|
46401
46404
|
*/
|
|
46402
46405
|
|
|
46403
|
-
function inspect(value) {
|
|
46404
|
-
return formatValue(value, []);
|
|
46406
|
+
function inspect$1(value) {
|
|
46407
|
+
return formatValue$1(value, []);
|
|
46405
46408
|
}
|
|
46406
46409
|
|
|
46407
|
-
function formatValue(value, seenValues) {
|
|
46410
|
+
function formatValue$1(value, seenValues) {
|
|
46408
46411
|
switch (_typeof(value)) {
|
|
46409
46412
|
case 'string':
|
|
46410
46413
|
return JSON.stringify(value);
|
|
@@ -46417,14 +46420,14 @@ function formatValue(value, seenValues) {
|
|
|
46417
46420
|
return 'null';
|
|
46418
46421
|
}
|
|
46419
46422
|
|
|
46420
|
-
return formatObjectValue(value, seenValues);
|
|
46423
|
+
return formatObjectValue$1(value, seenValues);
|
|
46421
46424
|
|
|
46422
46425
|
default:
|
|
46423
46426
|
return String(value);
|
|
46424
46427
|
}
|
|
46425
46428
|
}
|
|
46426
46429
|
|
|
46427
|
-
function formatObjectValue(value, previouslySeenValues) {
|
|
46430
|
+
function formatObjectValue$1(value, previouslySeenValues) {
|
|
46428
46431
|
if (previouslySeenValues.indexOf(value) !== -1) {
|
|
46429
46432
|
return '[Circular]';
|
|
46430
46433
|
}
|
|
@@ -46436,48 +46439,48 @@ function formatObjectValue(value, previouslySeenValues) {
|
|
|
46436
46439
|
var customValue = customInspectFn.call(value); // check for infinite recursion
|
|
46437
46440
|
|
|
46438
46441
|
if (customValue !== value) {
|
|
46439
|
-
return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);
|
|
46442
|
+
return typeof customValue === 'string' ? customValue : formatValue$1(customValue, seenValues);
|
|
46440
46443
|
}
|
|
46441
46444
|
} else if (Array.isArray(value)) {
|
|
46442
|
-
return formatArray(value, seenValues);
|
|
46445
|
+
return formatArray$1(value, seenValues);
|
|
46443
46446
|
}
|
|
46444
46447
|
|
|
46445
|
-
return formatObject(value, seenValues);
|
|
46448
|
+
return formatObject$1(value, seenValues);
|
|
46446
46449
|
}
|
|
46447
46450
|
|
|
46448
|
-
function formatObject(object, seenValues) {
|
|
46451
|
+
function formatObject$1(object, seenValues) {
|
|
46449
46452
|
var keys = Object.keys(object);
|
|
46450
46453
|
|
|
46451
46454
|
if (keys.length === 0) {
|
|
46452
46455
|
return '{}';
|
|
46453
46456
|
}
|
|
46454
46457
|
|
|
46455
|
-
if (seenValues.length > MAX_RECURSIVE_DEPTH) {
|
|
46456
|
-
return '[' + getObjectTag(object) + ']';
|
|
46458
|
+
if (seenValues.length > MAX_RECURSIVE_DEPTH$1) {
|
|
46459
|
+
return '[' + getObjectTag$1(object) + ']';
|
|
46457
46460
|
}
|
|
46458
46461
|
|
|
46459
46462
|
var properties = keys.map(function (key) {
|
|
46460
|
-
var value = formatValue(object[key], seenValues);
|
|
46463
|
+
var value = formatValue$1(object[key], seenValues);
|
|
46461
46464
|
return key + ': ' + value;
|
|
46462
46465
|
});
|
|
46463
46466
|
return '{ ' + properties.join(', ') + ' }';
|
|
46464
46467
|
}
|
|
46465
46468
|
|
|
46466
|
-
function formatArray(array, seenValues) {
|
|
46469
|
+
function formatArray$1(array, seenValues) {
|
|
46467
46470
|
if (array.length === 0) {
|
|
46468
46471
|
return '[]';
|
|
46469
46472
|
}
|
|
46470
46473
|
|
|
46471
|
-
if (seenValues.length > MAX_RECURSIVE_DEPTH) {
|
|
46474
|
+
if (seenValues.length > MAX_RECURSIVE_DEPTH$1) {
|
|
46472
46475
|
return '[Array]';
|
|
46473
46476
|
}
|
|
46474
46477
|
|
|
46475
|
-
var len = Math.min(MAX_ARRAY_LENGTH, array.length);
|
|
46478
|
+
var len = Math.min(MAX_ARRAY_LENGTH$1, array.length);
|
|
46476
46479
|
var remaining = array.length - len;
|
|
46477
46480
|
var items = [];
|
|
46478
46481
|
|
|
46479
46482
|
for (var i = 0; i < len; ++i) {
|
|
46480
|
-
items.push(formatValue(array[i], seenValues));
|
|
46483
|
+
items.push(formatValue$1(array[i], seenValues));
|
|
46481
46484
|
}
|
|
46482
46485
|
|
|
46483
46486
|
if (remaining === 1) {
|
|
@@ -46501,7 +46504,7 @@ function getCustomFn(object) {
|
|
|
46501
46504
|
}
|
|
46502
46505
|
}
|
|
46503
46506
|
|
|
46504
|
-
function getObjectTag(object) {
|
|
46507
|
+
function getObjectTag$1(object) {
|
|
46505
46508
|
var tag = Object.prototype.toString.call(object).replace(/^\[object /, '').replace(/]$/, '');
|
|
46506
46509
|
|
|
46507
46510
|
if (tag === 'Object' && typeof object.constructor === 'function') {
|
|
@@ -46520,7 +46523,7 @@ function getObjectTag(object) {
|
|
|
46520
46523
|
* relevant functions to be called during the visitor's traversal.
|
|
46521
46524
|
*/
|
|
46522
46525
|
|
|
46523
|
-
var QueryDocumentKeys = {
|
|
46526
|
+
var QueryDocumentKeys$1 = {
|
|
46524
46527
|
Name: [],
|
|
46525
46528
|
Document: ['definitions'],
|
|
46526
46529
|
OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],
|
|
@@ -46567,7 +46570,7 @@ var QueryDocumentKeys = {
|
|
|
46567
46570
|
EnumTypeExtension: ['name', 'directives', 'values'],
|
|
46568
46571
|
InputObjectTypeExtension: ['name', 'directives', 'fields']
|
|
46569
46572
|
};
|
|
46570
|
-
var BREAK = Object.freeze({});
|
|
46573
|
+
var BREAK$1 = Object.freeze({});
|
|
46571
46574
|
/**
|
|
46572
46575
|
* visit() will walk through an AST using a depth-first traversal, calling
|
|
46573
46576
|
* the visitor's enter function at each node in the traversal, and calling the
|
|
@@ -46655,8 +46658,8 @@ var BREAK = Object.freeze({});
|
|
|
46655
46658
|
* })
|
|
46656
46659
|
*/
|
|
46657
46660
|
|
|
46658
|
-
function visit(root, visitor) {
|
|
46659
|
-
var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;
|
|
46661
|
+
function visit$1(root, visitor) {
|
|
46662
|
+
var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys$1;
|
|
46660
46663
|
|
|
46661
46664
|
/* eslint-disable no-undef-init */
|
|
46662
46665
|
var stack = undefined;
|
|
@@ -46736,8 +46739,8 @@ function visit(root, visitor) {
|
|
|
46736
46739
|
var result = void 0;
|
|
46737
46740
|
|
|
46738
46741
|
if (!Array.isArray(node)) {
|
|
46739
|
-
if (!isNode(node)) {
|
|
46740
|
-
throw new Error("Invalid AST Node: ".concat(inspect(node), "."));
|
|
46742
|
+
if (!isNode$1(node)) {
|
|
46743
|
+
throw new Error("Invalid AST Node: ".concat(inspect$1(node), "."));
|
|
46741
46744
|
}
|
|
46742
46745
|
|
|
46743
46746
|
var visitFn = getVisitFn(visitor, node.kind, isLeaving);
|
|
@@ -46745,7 +46748,7 @@ function visit(root, visitor) {
|
|
|
46745
46748
|
if (visitFn) {
|
|
46746
46749
|
result = visitFn.call(visitor, node, key, parent, path, ancestors);
|
|
46747
46750
|
|
|
46748
|
-
if (result === BREAK) {
|
|
46751
|
+
if (result === BREAK$1) {
|
|
46749
46752
|
break;
|
|
46750
46753
|
}
|
|
46751
46754
|
|
|
@@ -46758,7 +46761,7 @@ function visit(root, visitor) {
|
|
|
46758
46761
|
edits.push([key, result]);
|
|
46759
46762
|
|
|
46760
46763
|
if (!isLeaving) {
|
|
46761
|
-
if (isNode(result)) {
|
|
46764
|
+
if (isNode$1(result)) {
|
|
46762
46765
|
node = result;
|
|
46763
46766
|
} else {
|
|
46764
46767
|
path.pop();
|
|
@@ -46934,7 +46937,7 @@ function decodeV1Cursor(base64cursor) {
|
|
|
46934
46937
|
function selectionIncludesHasNextPage(selections, fragments) {
|
|
46935
46938
|
for (let selection of selections) {
|
|
46936
46939
|
switch (selection.kind) {
|
|
46937
|
-
case Kind.FIELD: {
|
|
46940
|
+
case Kind$1.FIELD: {
|
|
46938
46941
|
if (selection.name.value === 'pageInfo') {
|
|
46939
46942
|
if (!selection.selectionSet)
|
|
46940
46943
|
continue;
|
|
@@ -46945,7 +46948,7 @@ function selectionIncludesHasNextPage(selections, fragments) {
|
|
|
46945
46948
|
}
|
|
46946
46949
|
break;
|
|
46947
46950
|
}
|
|
46948
|
-
case Kind.FRAGMENT_SPREAD: {
|
|
46951
|
+
case Kind$1.FRAGMENT_SPREAD: {
|
|
46949
46952
|
let fragment = fragments[selection.name.value];
|
|
46950
46953
|
if (!fragment)
|
|
46951
46954
|
return false;
|
|
@@ -46954,7 +46957,7 @@ function selectionIncludesHasNextPage(selections, fragments) {
|
|
|
46954
46957
|
}
|
|
46955
46958
|
break;
|
|
46956
46959
|
}
|
|
46957
|
-
case Kind.INLINE_FRAGMENT:
|
|
46960
|
+
case Kind$1.INLINE_FRAGMENT:
|
|
46958
46961
|
if (selectionIncludesHasNextPage(selection.selectionSet.selections, fragments)) {
|
|
46959
46962
|
return true;
|
|
46960
46963
|
}
|
|
@@ -47010,7 +47013,7 @@ function mapCursorValue(originalValue, paginationMetadata) {
|
|
|
47010
47013
|
async function mapPaginationCursors(originalAST, variables, store) {
|
|
47011
47014
|
// first pass, identify record query cache keys for reading pagination metadata
|
|
47012
47015
|
let requiredPaginationMetadataKeys = [];
|
|
47013
|
-
visit$
|
|
47016
|
+
visit$2(originalAST, {
|
|
47014
47017
|
Field(node, _key, _parent, _path, ancestors) {
|
|
47015
47018
|
// is it a record query?
|
|
47016
47019
|
if (!isRecordQuery(node)) {
|
|
@@ -47038,7 +47041,7 @@ async function mapPaginationCursors(originalAST, variables, store) {
|
|
|
47038
47041
|
// holds the original cursor values that were mapped back to server cursors
|
|
47039
47042
|
let mappedCursors = new Map();
|
|
47040
47043
|
// rewrite nodes/variables with mapped cursors now that we read the pagination metadata
|
|
47041
|
-
let ast = visit$
|
|
47044
|
+
let ast = visit$2(originalAST, {
|
|
47042
47045
|
Field(node, _key, _parent, _path, ancestors) {
|
|
47043
47046
|
// is it a record query?
|
|
47044
47047
|
if (!isRecordQuery(node)) {
|
|
@@ -47544,8 +47547,17 @@ function addResolversToSchema(schema, polyFields) {
|
|
|
47544
47547
|
field.resolve = connectionResolver;
|
|
47545
47548
|
}
|
|
47546
47549
|
else {
|
|
47547
|
-
field.resolve = function recordFieldResolver({ recordRepresentation: record, }) {
|
|
47548
|
-
|
|
47550
|
+
field.resolve = function recordFieldResolver({ recordRepresentation: record }, _args, { missingFieldsMap }) {
|
|
47551
|
+
const { id, fields } = record;
|
|
47552
|
+
const recordField = fields[field.name];
|
|
47553
|
+
// If the field is not present, add it to the missing fields map
|
|
47554
|
+
if (!recordField) {
|
|
47555
|
+
let missingFieldsSet = missingFieldsMap.get(id) ?? new Set();
|
|
47556
|
+
missingFieldsSet.add(field.name);
|
|
47557
|
+
missingFieldsMap.set(id, missingFieldsSet);
|
|
47558
|
+
return null;
|
|
47559
|
+
}
|
|
47560
|
+
return recordField;
|
|
47549
47561
|
};
|
|
47550
47562
|
}
|
|
47551
47563
|
}
|
|
@@ -47601,7 +47613,7 @@ function isRecordType(type) {
|
|
|
47601
47613
|
return Boolean(interfaces.find((iface) => iface.name === 'Record'));
|
|
47602
47614
|
}
|
|
47603
47615
|
|
|
47604
|
-
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 analytics: Analytics__Analytics! @fieldCategory\n setup: Setup__Setup! @fieldCategory\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 # scope should be RecordScope, but it is an empty enum\n recordQuery(after: String, first: Int, orderBy: Setup__SetupOrderBy, scope: String @fieldCategory, upperBound: Int, where: Setup__SetupFilter): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__SetupQueryAggregate {\n recordQueryAggregate(after: String, first: Int, groupBy: Setup__SetupGroupBy, orderBy: Setup__SetupAggregateOrderBy, scope: String @fieldCategory, upperBound: Int, where: Setup__SetupFilter): Setup__SetupAggregateConnection @fieldCategory\n}\n\ntype Setup__SetupRecordAggregate @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 LongAggregate: LongAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @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 parentRelationship: Setup__SetupRecordAggregate @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicAggregateParentRelationship @fieldCategory\n}\n\ntype Setup__SetupRecordResult @generic {\n aggregate: Setup__SetupRecordAggregate\n}\n\ntype SObject__Field {\n name: String!\n value: String\n}\n\nenum SObject__FieldType {\n ALL\n CUSTOM\n STANDARD\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 Entity__fields(type: SObject__FieldType): [SObject__Field]!\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 AnyType: AnyType @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 PolymorphicAggregateParentRelationship @generic = RecordAggregate\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 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 AnyType: AnyType @fieldCategory\n}\n\nunion AnyType = BooleanValue | DateValue | DateTimeValue | DoubleValue | StringValue\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 RecordAggregateOrderBy: RecordAggregateOrderBy @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 parentRelationship: RecordAggregate @fieldCategory\n polymorphicParentRelationship: PolymorphicAggregateParentRelationship @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 aggregate: Setup__SetupQueryAggregate!\n ListView(\n listViewType: String!,\n label: String,\n displayColumns: [String!],\n filters: [Setup__ListFilterInput!],\n filterLogic: String,\n orderedByInfo: [Setup__ListOrderInput!]!\n ): Setup__ListView!\n ListViewObjectInfo(listViewType: String!): Setup__ListViewObjectInfo!\n}\n\ntype Setup__SetupAggregateConnection @generic {\n edges: [Setup__SetupAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__SetupGroupBy @generic {\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableField: GroupByClause @fieldCategory\n groupableParentRelationship: Setup__SetupGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype Setup__SetupAggregateEdge @generic {\n cursor: String!\n node: Setup__SetupRecordResult\n}\n\ninput Setup__SetupAggregateOrderBy @generic {\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableParentRelationship: Setup__SetupAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipOrderBy @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n type: String\n}\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(after: String, first: Int, groupBy: RecordGroupBy, orderBy: RecordAggregateOrderBy, scope: String @fieldCategory, upperBound: Int, where: RecordFilter): RecordAggregateConnection @fieldCategory\n}\n\ninput RecordAggregateOrderBy @generic {\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableParentRelationship: RecordAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n type: String\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\nunion Setup__SetupPolymorphicAggregateParentRelationship @generic = Setup__SetupRecordAggregate\n\ninput Setup__SetupPolymorphicParentRelationshipGroupBy @generic {\n Setup__SetupGroupBy: Setup__SetupGroupBy @fieldCategory\n}\n\ninput Setup__SetupPolymorphicParentRelationshipOrderBy @generic {\n Setup__SetupAggregateOrderBy: Setup__SetupAggregateOrderBy @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 recordQuery(after: String, first: Int, orderBy: RecordOrderBy, scope: String @fieldCategory, upperBound: Int, where: RecordFilter): RecordConnection @fieldCategory\n}\n\n# add browse family schema\ntype Analytics__Analytics {\n # assetTypes: [AnalyticsAssetType], but AnalyticsAssetType is an empty enum\n browse(after: String, assetTypes: [String], first: Int, orderBy: Analytics__AnalyticsOrderBy, where: Analytics__AnalyticsFilter): Analytics__AnalyticsBrowse!\n # Add other fields here if needed\n}\n\n# enum AnalyticsAssetType @generic {\n# }\n\ntype Analytics__AnalyticsBrowse {\n edges: [Analytics__AnalyticsEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__AnalyticsEdge {\n node: Analytics__AnalyticsRepresentation\n cursor: String!\n}\n\ninterface Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n}\n\ntype Analytics__DataspaceRepresentation {\n Id: ID!\n ApiName: String!\n MasterLabel: String\n DeveloperName: String\n}\n\ntype Analytics__AnalyticsRepresentation implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n RecordOperations: [String]\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n SubMetrics: Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n}\n\ninput Analytics__AnalyticsOrderBy {\n MasterLabel: Analytics__OrderByInput\n Id: Analytics__OrderByInput\n ApiName: Analytics__OrderByInput\n CreatedById: Analytics__OrderByInput\n CreatedDate: Analytics__OrderByInput\n LastModifiedDate: Analytics__OrderByInput\n LastModifiedById: Analytics__OrderByInput\n}\n\ninput Analytics__OrderByInput {\n order: Analytics__SortEnumType\n}\n\nenum Analytics__SortEnumType {\n ASC\n DESC\n}\n\ninput Analytics__AnalyticsFilter {\n Id: Setup__IdOperators\n MasterLabel: StringOperators\n DeveloperName: StringOperators\n NamespacePrefix: StringOperators\n CreatedById: Setup__IdOperators\n CreatedDate: DateTimeOperators\n LastModifiedById: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\n}\n\ntype Analytics__AnalyticsWorkspaceAssetConnection {\n edges: [Analytics__AnalyticsWorkspaceAssetEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__AnalyticsWorkspaceAssetEdge {\n node: Analytics__AnalyticsWorkspaceAsset\n cursor: String!\n}\n\ntype Analytics__AnalyticsWorkspaceAsset {\n AnalyticsWorkspace: Analytics__AnalyticsWorkspace\n AssetUsageType: PicklistValue\n ActivePromotionRequestId: IDValue\n}\n\ntype Analytics__AnalyticsWorkspace {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionConnection {\n edges: [Analytics__SemanticSubMetricDefinitionEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticSubMetricDefinitionEdge {\n node: Analytics__SemanticSubMetricDefinitionRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionRepresentation {\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticModel {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: StringValue!\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel: Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: StringValue\n}\n\ntype Analytics__SemanticModelRelatedModelConnection {\n edges: [Analytics__SemanticModelRelatedModelEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticModelRelatedModelEdge {\n node: Analytics__SemanticModelRelatedModelRepresentation\n cursor: StringValue!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation {\n Id: ID!\n ApiName: StringValue!\n SemanticModelId: IDValue\n RelatedSemanticModel: Analytics__SemanticModel\n}\n\ninput Setup__ListOrderInput {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListViewRow {\n id: ID!\n columns(apiNames: [String!]): [Setup__ListScalarField]!\n}\n\ntype Setup__ListView {\n listViewType: String!\n label: String\n displayColumns: [Setup__ListColumn!]!\n filters: [Setup__ListFilter!]\n filterLogic: String\n orderedByInfo: [Setup__ListOrder!]!\n rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput): Setup__ListViewRowConnection\n}\n\ntype Setup__ListFilter {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\nenum Setup__ListFilterOperator {\n EQUALS\n NOT_EQUAL\n LESS_THAN\n GREATER_THAN\n LESS_OR_EQUAL\n GREATER_OR_EQUAL\n CONTAINS\n NOT_CONTAIN\n STARTS_WITH\n INCLUDES\n EXCLUDES\n WITHIN\n}\n\ntype Setup__ListViewRowConnection {\n edges: [Setup__ListViewRowEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__ListFilterInput {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\ntype Setup__ListOrder {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListScalarField {\n apiName: String!\n value: String\n dataType: DataType\n displayValue: String\n format: String\n label: String\n}\n\ntype Setup__ListViewRowEdge {\n cursor: String!\n node: Setup__ListViewRow\n}\n\ntype Setup__ListViewObjectInfo {\n columns(apiNames: [String!], displayable: Boolean, filterable: Boolean) : [Setup__ListColumn!]!\n}\n\ntype Setup__ListColumn {\n apiName: String!\n label: String!\n type: DataType!\n displayable: Boolean!\n filterable: Boolean!\n defaultOperator: Setup__ListFilterOperator\n allowedOperators: [Setup__ListFilterOperator!]\n sortable: Boolean\n lookupIdColumn: String\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\n";
|
|
47616
|
+
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 analytics: Analytics__Analytics! @fieldCategory\n setup: Setup__Setup! @fieldCategory\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 # scope should be RecordScope, but it is an empty enum\n recordQuery(after: String, first: Int, orderBy: Setup__SetupOrderBy, scope: String @fieldCategory, upperBound: Int, where: Setup__SetupFilter): Setup__SetupConnection @fieldCategory\n}\n\ntype Setup__SetupQueryAggregate {\n recordQueryAggregate(after: String, first: Int, groupBy: Setup__SetupGroupBy, orderBy: Setup__SetupAggregateOrderBy, scope: String @fieldCategory, upperBound: Int, where: Setup__SetupFilter): Setup__SetupAggregateConnection @fieldCategory\n}\n\ntype Setup__SetupRecordAggregate @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 LongAggregate: LongAggregate @fieldCategory\n LongitudeAggregate: LongitudeAggregate @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 parentRelationship: Setup__SetupRecordAggregate @fieldCategory\n polymorphicParentRelationship: Setup__SetupPolymorphicAggregateParentRelationship @fieldCategory\n}\n\ntype Setup__SetupRecordResult @generic {\n aggregate: Setup__SetupRecordAggregate\n}\n\ntype SObject__Field {\n name: String!\n value: String\n}\n\nenum SObject__FieldType {\n ALL\n CUSTOM\n STANDARD\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 Entity__fields(type: SObject__FieldType): [SObject__Field]!\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 AnyType: AnyType @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 PolymorphicAggregateParentRelationship @generic = RecordAggregate\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 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 AnyType: AnyType @fieldCategory\n}\n\nunion AnyType = BooleanValue | DateValue | DateTimeValue | DoubleValue | StringValue\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 RecordAggregateOrderBy: RecordAggregateOrderBy @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 parentRelationship: RecordAggregate @fieldCategory\n polymorphicParentRelationship: PolymorphicAggregateParentRelationship @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 aggregate: Setup__SetupQueryAggregate!\n ListView(\n listViewType: String!,\n label: String,\n displayColumns: [String!],\n filters: [Setup__ListFilterInput!],\n filterLogic: String,\n orderedByInfo: [Setup__ListOrderInput!]!\n ): Setup__ListView!\n ListViewObjectInfo(listViewType: String!): Setup__ListViewObjectInfo!\n}\n\ntype Setup__SetupAggregateConnection @generic {\n edges: [Setup__SetupAggregateEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__SetupGroupBy @generic {\n groupableDateField: GroupByDateFunction @fieldCategory\n groupableField: GroupByClause @fieldCategory\n groupableParentRelationship: Setup__SetupGroupBy @fieldCategory\n groupablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipGroupBy @fieldCategory\n type: GroupByType = GROUP_BY\n}\n\ntype Setup__SetupAggregateEdge @generic {\n cursor: String!\n node: Setup__SetupRecordResult\n}\n\ninput Setup__SetupAggregateOrderBy @generic {\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableParentRelationship: Setup__SetupAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: Setup__SetupPolymorphicParentRelationshipOrderBy @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n type: String\n}\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(after: String, first: Int, groupBy: RecordGroupBy, orderBy: RecordAggregateOrderBy, scope: String @fieldCategory, upperBound: Int, where: RecordFilter): RecordAggregateConnection @fieldCategory\n}\n\ninput RecordAggregateOrderBy @generic {\n orderableField: NoFunctionAggregateOrderByClause @fieldCategory\n orderableGeolocationField: OrderByGeolocationClause @fieldCategory\n orderableNumberField: AggregateOrderByNumberClause @fieldCategory\n orderableParentRelationship: RecordAggregateOrderBy @fieldCategory\n orderablePolymorphicParentRelationship: PolymorphicParentRelationshipOrderBy @fieldCategory\n orderableStringField: AggregateOrderByStringClause @fieldCategory\n type: String\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\nunion Setup__SetupPolymorphicAggregateParentRelationship @generic = Setup__SetupRecordAggregate\n\ninput Setup__SetupPolymorphicParentRelationshipGroupBy @generic {\n Setup__SetupGroupBy: Setup__SetupGroupBy @fieldCategory\n}\n\ninput Setup__SetupPolymorphicParentRelationshipOrderBy @generic {\n Setup__SetupAggregateOrderBy: Setup__SetupAggregateOrderBy @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 recordQuery(after: String, first: Int, orderBy: RecordOrderBy, scope: String @fieldCategory, upperBound: Int, where: RecordFilter): RecordConnection @fieldCategory\n}\n\n# add browse family schema\ntype Analytics__Analytics {\n # assetTypes: [AnalyticsAssetType], but AnalyticsAssetType is an empty enum\n browse(after: String, assetTypes: [String], first: Int, orderBy: Analytics__AnalyticsOrderBy, where: Analytics__AnalyticsFilter): Analytics__AnalyticsBrowse!\n # Add other fields here if needed\n}\n\n# enum AnalyticsAssetType @generic {\n# }\n\ntype Analytics__AnalyticsBrowse {\n edges: [Analytics__AnalyticsEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__AnalyticsEdge {\n node: Analytics__AnalyticsRepresentation\n cursor: String!\n}\n\ninterface Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n}\n\ntype Analytics__DataspaceRepresentation {\n Id: ID!\n ApiName: String!\n MasterLabel: String\n DeveloperName: String\n}\n\ntype Analytics__AnalyticsRepresentation implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n RecordOperations: [String]\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n}\n\ntype Analytics__SemanticDefinition implements Analytics__AnalyticsRepresentationInterface {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n NamespacePrefix: StringValue\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n SubMetrics: Analytics__SemanticSubMetricDefinitionConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n}\n\ninput Analytics__AnalyticsOrderBy {\n MasterLabel: Analytics__OrderByInput\n Id: Analytics__OrderByInput\n ApiName: Analytics__OrderByInput\n CreatedById: Analytics__OrderByInput\n CreatedDate: Analytics__OrderByInput\n LastModifiedDate: Analytics__OrderByInput\n LastModifiedById: Analytics__OrderByInput\n}\n\ninput Analytics__OrderByInput {\n order: Analytics__SortEnumType\n}\n\nenum Analytics__SortEnumType {\n ASC\n DESC\n}\n\ninput Analytics__AnalyticsFilter {\n Id: Setup__IdOperators\n MasterLabel: StringOperators\n DeveloperName: StringOperators\n NamespacePrefix: StringOperators\n CreatedById: Setup__IdOperators\n CreatedDate: DateTimeOperators\n LastModifiedById: Setup__IdOperators\n LastModifiedDate: DateTimeOperators\n and: [Analytics__AnalyticsFilter]\n or: [Analytics__AnalyticsFilter]\n not: Analytics__AnalyticsFilter\n}\n\ntype Analytics__AnalyticsWorkspaceAssetConnection {\n edges: [Analytics__AnalyticsWorkspaceAssetEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__AnalyticsWorkspaceAssetEdge {\n node: Analytics__AnalyticsWorkspaceAsset\n cursor: String!\n}\n\ntype Analytics__AnalyticsWorkspaceAsset {\n AnalyticsWorkspace: Analytics__AnalyticsWorkspace\n AssetUsageType: PicklistValue\n ActivePromotionRequestId: IDValue\n}\n\ntype Analytics__AnalyticsWorkspace {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionConnection {\n edges: [Analytics__SemanticSubMetricDefinitionEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticSubMetricDefinitionEdge {\n node: Analytics__SemanticSubMetricDefinitionRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticSubMetricDefinitionRepresentation {\n Id: ID!\n ApiName: String!\n}\n\ntype Analytics__SemanticModel {\n MasterLabel: StringValue\n DeveloperName: StringValue\n CreatedById: IDValue\n LastModifiedById: IDValue\n LastModifiedDate: DateTimeValue\n CreatedDate: DateTimeValue\n Id: ID!\n ApiName: String!\n AnalyticsWorkspaces: Analytics__AnalyticsWorkspaceAssetConnection\n NamespacePrefix: StringValue\n RelatedModel: Analytics__SemanticModelRelatedModelConnection\n Dataspaces: [Analytics__DataspaceRepresentation]\n RecordOperations: [String]\n}\n\ntype Analytics__SemanticModelRelatedModelConnection {\n edges: [Analytics__SemanticModelRelatedModelEdge]\n totalCount: Int!\n pageResultCount: Int!\n pageInfo: PageInfo!\n}\n\ntype Analytics__SemanticModelRelatedModelEdge {\n node: Analytics__SemanticModelRelatedModelRepresentation\n cursor: String!\n}\n\ntype Analytics__SemanticModelRelatedModelRepresentation {\n Id: ID!\n ApiName: String!\n SemanticModelId: IDValue\n RelatedSemanticModel: Analytics__SemanticModel\n}\n\ninput Setup__ListOrderInput {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListViewRow {\n id: ID!\n columns(apiNames: [String!]): [Setup__ListScalarField]!\n}\n\ntype Setup__ListView {\n listViewType: String!\n label: String\n displayColumns: [Setup__ListColumn!]!\n filters: [Setup__ListFilter!]\n filterLogic: String\n orderedByInfo: [Setup__ListOrder!]!\n rows(first: Int, after: String, upperBound: Int, orderBy: Setup__ListOrderInput): Setup__ListViewRowConnection\n}\n\ntype Setup__ListFilter {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\nenum Setup__ListFilterOperator {\n EQUALS\n NOT_EQUAL\n LESS_THAN\n GREATER_THAN\n LESS_OR_EQUAL\n GREATER_OR_EQUAL\n CONTAINS\n NOT_CONTAIN\n STARTS_WITH\n INCLUDES\n EXCLUDES\n WITHIN\n}\n\ntype Setup__ListViewRowConnection {\n edges: [Setup__ListViewRowEdge]\n pageInfo: PageInfo!\n totalCount: Int!\n}\n\ninput Setup__ListFilterInput {\n apiName: String!\n operator: Setup__ListFilterOperator!\n operand: [String!]!\n}\n\ntype Setup__ListOrder {\n apiName: String!\n order: ResultsOrder\n}\n\ntype Setup__ListScalarField {\n apiName: String!\n value: String\n dataType: DataType\n displayValue: String\n format: String\n label: String\n}\n\ntype Setup__ListViewRowEdge {\n cursor: String!\n node: Setup__ListViewRow\n}\n\ntype Setup__ListViewObjectInfo {\n columns(apiNames: [String!], displayable: Boolean, filterable: Boolean) : [Setup__ListColumn!]!\n}\n\ntype Setup__ListColumn {\n apiName: String!\n label: String!\n type: DataType!\n displayable: Boolean!\n filterable: Boolean!\n defaultOperator: Setup__ListFilterOperator\n allowedOperators: [Setup__ListFilterOperator!]\n sortable: Boolean\n lookupIdColumn: String\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\n";
|
|
47605
47617
|
|
|
47606
47618
|
// Define additional schema that is missing from uiapi that we use in local evaluation
|
|
47607
47619
|
const additionalSchemaDefinitions = /* GraphQL */ `
|
|
@@ -48056,7 +48068,7 @@ async function evaluate(config, observers, settings, objectInfos, store, snapsho
|
|
|
48056
48068
|
const operationNode = getOperationFromDocument(config.query);
|
|
48057
48069
|
let topLevelQueries = [];
|
|
48058
48070
|
// assume that 'config.query' has required injected fields.
|
|
48059
|
-
const modifiedAST = visit$
|
|
48071
|
+
const modifiedAST = visit$2(config.query, {
|
|
48060
48072
|
Field: {
|
|
48061
48073
|
leave(node) {
|
|
48062
48074
|
if (node.name.value !== `node`)
|
|
@@ -48136,6 +48148,7 @@ async function evaluate(config, observers, settings, objectInfos, store, snapsho
|
|
|
48136
48148
|
result,
|
|
48137
48149
|
seenRecordIds,
|
|
48138
48150
|
possibleStaleRecordMap: contextValue.possibleStaleRecordMap,
|
|
48151
|
+
missingFieldsMap: contextValue.missingFieldsMap,
|
|
48139
48152
|
};
|
|
48140
48153
|
}
|
|
48141
48154
|
finally {
|
|
@@ -48144,20 +48157,20 @@ async function evaluate(config, observers, settings, objectInfos, store, snapsho
|
|
|
48144
48157
|
}
|
|
48145
48158
|
|
|
48146
48159
|
const parentRelationshipDirective = {
|
|
48147
|
-
kind: Kind$
|
|
48160
|
+
kind: Kind$2.DIRECTIVE,
|
|
48148
48161
|
name: {
|
|
48149
|
-
kind: Kind$
|
|
48162
|
+
kind: Kind$2.NAME,
|
|
48150
48163
|
value: 'category',
|
|
48151
48164
|
},
|
|
48152
48165
|
arguments: [
|
|
48153
48166
|
{
|
|
48154
|
-
kind: Kind$
|
|
48167
|
+
kind: Kind$2.ARGUMENT,
|
|
48155
48168
|
name: {
|
|
48156
|
-
kind: Kind$
|
|
48169
|
+
kind: Kind$2.NAME,
|
|
48157
48170
|
value: 'name',
|
|
48158
48171
|
},
|
|
48159
48172
|
value: {
|
|
48160
|
-
kind: Kind$
|
|
48173
|
+
kind: Kind$2.STRING,
|
|
48161
48174
|
value: PARENT_RELATIONSHIP,
|
|
48162
48175
|
block: false,
|
|
48163
48176
|
},
|
|
@@ -48165,12 +48178,12 @@ const parentRelationshipDirective = {
|
|
|
48165
48178
|
],
|
|
48166
48179
|
};
|
|
48167
48180
|
const FieldValueNodeSelectionSet = {
|
|
48168
|
-
kind: Kind$
|
|
48181
|
+
kind: Kind$2.SELECTION_SET,
|
|
48169
48182
|
selections: [
|
|
48170
48183
|
{
|
|
48171
|
-
kind: Kind$
|
|
48184
|
+
kind: Kind$2.FIELD,
|
|
48172
48185
|
name: {
|
|
48173
|
-
kind: Kind$
|
|
48186
|
+
kind: Kind$2.NAME,
|
|
48174
48187
|
value: 'value',
|
|
48175
48188
|
},
|
|
48176
48189
|
},
|
|
@@ -48196,7 +48209,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
|
|
|
48196
48209
|
unmappedDraftIDs: new Set(),
|
|
48197
48210
|
};
|
|
48198
48211
|
let assignedtomeQueryFieldNode = undefined;
|
|
48199
|
-
visit$
|
|
48212
|
+
visit$2(originalAST, {
|
|
48200
48213
|
Argument: {
|
|
48201
48214
|
enter(node, key, parent, path, ancestors) {
|
|
48202
48215
|
const { connection: recordConnectionNode, path: ancesterPath } = findNearestConnectionWithPath(ancestors);
|
|
@@ -48268,7 +48281,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
|
|
|
48268
48281
|
objectInfos = await resolveObjectInfos(objectNodeInfoTree, pathToObjectApiNamesMap, startNodes, objectInfoService);
|
|
48269
48282
|
}
|
|
48270
48283
|
// read pass; gather whats needed
|
|
48271
|
-
visit$
|
|
48284
|
+
visit$2(originalAST, {
|
|
48272
48285
|
Argument: {
|
|
48273
48286
|
leave(node, key, parent, path, ancestors) {
|
|
48274
48287
|
const recordQueryField = findNearestConnection(ancestors);
|
|
@@ -48355,7 +48368,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
|
|
|
48355
48368
|
},
|
|
48356
48369
|
});
|
|
48357
48370
|
// write pass; inject whats needed
|
|
48358
|
-
const modifiedAST = visit$
|
|
48371
|
+
const modifiedAST = visit$2(originalAST, {
|
|
48359
48372
|
Field: {
|
|
48360
48373
|
leave(node, key, parent, path, ancestors) {
|
|
48361
48374
|
// removes 'ServicesResources' query field node if 'assignedtome' scope shows up
|
|
@@ -48433,7 +48446,7 @@ async function injectSyntheticFields(originalAST, objectInfoService, draftFuncti
|
|
|
48433
48446
|
}
|
|
48434
48447
|
function swapIdField(filterFields, objectInfo, swapped, idState, draftFunctions) {
|
|
48435
48448
|
switch (filterFields.kind) {
|
|
48436
|
-
case Kind$
|
|
48449
|
+
case Kind$2.OBJECT: {
|
|
48437
48450
|
const fieldNodes = filterFields.fields.map((fieldNode) => {
|
|
48438
48451
|
// check at the object value node level if the node's name is an Id/Reference
|
|
48439
48452
|
// if not then just pass the current swapped state
|
|
@@ -48451,7 +48464,7 @@ function swapIdField(filterFields, objectInfo, swapped, idState, draftFunctions)
|
|
|
48451
48464
|
fields: fieldNodes,
|
|
48452
48465
|
};
|
|
48453
48466
|
}
|
|
48454
|
-
case Kind$
|
|
48467
|
+
case Kind$2.STRING: {
|
|
48455
48468
|
if (!swapped) {
|
|
48456
48469
|
return filterFields;
|
|
48457
48470
|
}
|
|
@@ -48470,7 +48483,7 @@ function swapIdField(filterFields, objectInfo, swapped, idState, draftFunctions)
|
|
|
48470
48483
|
block: false,
|
|
48471
48484
|
};
|
|
48472
48485
|
}
|
|
48473
|
-
case Kind$
|
|
48486
|
+
case Kind$2.LIST: {
|
|
48474
48487
|
const values = filterFields.values.map((valueNode) => swapIdField(valueNode, objectInfo, swapped, idState, draftFunctions));
|
|
48475
48488
|
return {
|
|
48476
48489
|
kind: 'ListValue',
|
|
@@ -48556,14 +48569,14 @@ function mergeSelectionNodes(group1, group2) {
|
|
|
48556
48569
|
function growObjectFieldTree(tree, parentNode, entryNode, totalNodes, startNodes) {
|
|
48557
48570
|
entryNode.fields.forEach((objectFieldNode) => {
|
|
48558
48571
|
// objectFieldNode: {Account: { Name : { eq: "xxyyzz"}}}; objectFieldNode.value: { Name : { eq: "xxyyzz"}}
|
|
48559
|
-
if (objectFieldNode.value.kind === Kind$
|
|
48572
|
+
if (objectFieldNode.value.kind === Kind$2.OBJECT) {
|
|
48560
48573
|
if (objectFieldNode.name.value === 'not') {
|
|
48561
48574
|
// recursively go to deeper level of filter.
|
|
48562
48575
|
growObjectFieldTree(tree, parentNode, objectFieldNode.value, totalNodes, startNodes);
|
|
48563
48576
|
}
|
|
48564
48577
|
else {
|
|
48565
48578
|
// Spanning Field 'Account'
|
|
48566
|
-
if (objectFieldNode.value.fields.some((childObjectFieldNode) => childObjectFieldNode.value.kind === Kind$
|
|
48579
|
+
if (objectFieldNode.value.fields.some((childObjectFieldNode) => childObjectFieldNode.value.kind === Kind$2.OBJECT)) {
|
|
48567
48580
|
if (!totalNodes.has(parentNode)) {
|
|
48568
48581
|
totalNodes.add(parentNode);
|
|
48569
48582
|
startNodes.add(parentNode);
|
|
@@ -48586,7 +48599,7 @@ function growObjectFieldTree(tree, parentNode, entryNode, totalNodes, startNodes
|
|
|
48586
48599
|
}
|
|
48587
48600
|
}
|
|
48588
48601
|
}
|
|
48589
|
-
else if (objectFieldNode.value.kind === Kind$
|
|
48602
|
+
else if (objectFieldNode.value.kind === Kind$2.LIST) {
|
|
48590
48603
|
objectFieldNode.value.values.filter(isObjectValueNode).forEach((childNode) => {
|
|
48591
48604
|
growObjectFieldTree(tree, parentNode, childNode, totalNodes, startNodes);
|
|
48592
48605
|
});
|
|
@@ -48864,7 +48877,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
48864
48877
|
const injectedSelections = [];
|
|
48865
48878
|
let isPolymorphicField = false;
|
|
48866
48879
|
switch (filterNode.kind) {
|
|
48867
|
-
case Kind$
|
|
48880
|
+
case Kind$2.ARGUMENT:
|
|
48868
48881
|
if (filterNode.value.kind !== 'ObjectValue')
|
|
48869
48882
|
return [];
|
|
48870
48883
|
filterNode.value.fields.forEach((objectFieldNode) => {
|
|
@@ -48878,9 +48891,9 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
48878
48891
|
}
|
|
48879
48892
|
});
|
|
48880
48893
|
return injectedSelections;
|
|
48881
|
-
case Kind$
|
|
48894
|
+
case Kind$2.OBJECT_FIELD:
|
|
48882
48895
|
switch (filterNode.value.kind) {
|
|
48883
|
-
case Kind$
|
|
48896
|
+
case Kind$2.LIST: {
|
|
48884
48897
|
filterNode.value.values.filter(isObjectValueNode).forEach((objectValueNode) => {
|
|
48885
48898
|
objectValueNode.fields.forEach((objectFieldNode) => {
|
|
48886
48899
|
const subResults = injectFilter(objectFieldNode, idState, parentPath, isParentPolymorphic, objectInfos, pathToObjectApiNamesMap, draftFunctions, queryNode);
|
|
@@ -48891,7 +48904,7 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
48891
48904
|
});
|
|
48892
48905
|
return injectedSelections;
|
|
48893
48906
|
}
|
|
48894
|
-
case Kind$
|
|
48907
|
+
case Kind$2.OBJECT: {
|
|
48895
48908
|
if (filterNode.name.value === 'not') {
|
|
48896
48909
|
filterNode.value.fields.forEach((objectFieldNode) => {
|
|
48897
48910
|
const subResults = injectFilter(objectFieldNode, idState, parentPath, isParentPolymorphic, objectInfos, pathToObjectApiNamesMap, draftFunctions, queryNode);
|
|
@@ -49021,9 +49034,9 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
49021
49034
|
(isInlineFragment && !isTypeNameExisting)) {
|
|
49022
49035
|
if (isInlineFragment) {
|
|
49023
49036
|
sel = {
|
|
49024
|
-
kind: Kind$
|
|
49037
|
+
kind: Kind$2.INLINE_FRAGMENT,
|
|
49025
49038
|
typeCondition: {
|
|
49026
|
-
kind: Kind$
|
|
49039
|
+
kind: Kind$2.NAMED_TYPE,
|
|
49027
49040
|
name: {
|
|
49028
49041
|
kind: 'Name',
|
|
49029
49042
|
value: filterNode.name.value,
|
|
@@ -49042,14 +49055,14 @@ function injectFilter(filterNode, idState, parentPath, isParentPolymorphic, obje
|
|
|
49042
49055
|
...sel,
|
|
49043
49056
|
directives,
|
|
49044
49057
|
selectionSet: {
|
|
49045
|
-
kind: Kind$
|
|
49058
|
+
kind: Kind$2.SELECTION_SET,
|
|
49046
49059
|
selections: idField.concat(...subSelectionNodes),
|
|
49047
49060
|
},
|
|
49048
49061
|
}
|
|
49049
49062
|
: {
|
|
49050
49063
|
...sel,
|
|
49051
49064
|
selectionSet: {
|
|
49052
|
-
kind: Kind$
|
|
49065
|
+
kind: Kind$2.SELECTION_SET,
|
|
49053
49066
|
selections: idField.concat(...subSelectionNodes),
|
|
49054
49067
|
},
|
|
49055
49068
|
};
|
|
@@ -49178,12 +49191,12 @@ function updateIDInfo(fieldNode, idState, draftFunctions) {
|
|
|
49178
49191
|
if (isObjectValueNode(fieldNode.value)) {
|
|
49179
49192
|
const idOpValueNode = fieldNode.value.fields[0];
|
|
49180
49193
|
switch (idOpValueNode.value.kind) {
|
|
49181
|
-
case Kind$
|
|
49194
|
+
case Kind$2.STRING: {
|
|
49182
49195
|
const id = idOpValueNode.value.value;
|
|
49183
49196
|
idState.swapNeeded = draftFunctions.isDraftId(id);
|
|
49184
49197
|
break;
|
|
49185
49198
|
}
|
|
49186
|
-
case Kind$
|
|
49199
|
+
case Kind$2.LIST: {
|
|
49187
49200
|
const listValues = idOpValueNode.value.values;
|
|
49188
49201
|
idState.swapNeeded = listValues
|
|
49189
49202
|
.filter(isStringValueNode)
|
|
@@ -49270,7 +49283,7 @@ function injectParentRelationships(selections, parentNode, parentPath, ancestors
|
|
|
49270
49283
|
parentInjectedNodes.push({
|
|
49271
49284
|
...selection,
|
|
49272
49285
|
selectionSet: {
|
|
49273
|
-
kind: Kind$
|
|
49286
|
+
kind: Kind$2.SELECTION_SET,
|
|
49274
49287
|
selections: [...idSelection, ...subInjectedSelections],
|
|
49275
49288
|
},
|
|
49276
49289
|
});
|
|
@@ -49820,9 +49833,9 @@ function referenceIdFieldForRelationship(relationshipName) {
|
|
|
49820
49833
|
*/
|
|
49821
49834
|
function createFieldNode(nameValue, selectionSet) {
|
|
49822
49835
|
return {
|
|
49823
|
-
kind: Kind$
|
|
49836
|
+
kind: Kind$2.FIELD,
|
|
49824
49837
|
name: {
|
|
49825
|
-
kind: Kind$
|
|
49838
|
+
kind: Kind$2.NAME,
|
|
49826
49839
|
value: nameValue,
|
|
49827
49840
|
},
|
|
49828
49841
|
selectionSet,
|
|
@@ -49958,7 +49971,7 @@ function instrumentLimits(ast, variables) {
|
|
|
49958
49971
|
let currentChildRelationships = 0;
|
|
49959
49972
|
let currentRootRecordCount = 0;
|
|
49960
49973
|
let currentTotalRecordCount = 0;
|
|
49961
|
-
visit$
|
|
49974
|
+
visit$2(ast, {
|
|
49962
49975
|
Field: {
|
|
49963
49976
|
enter(node) {
|
|
49964
49977
|
if (isRecordQuery(node)) {
|
|
@@ -50022,7 +50035,7 @@ function enforceFieldLimitOnAST(ast, variables, objectInfos, enforcedLimits = {
|
|
|
50022
50035
|
}) {
|
|
50023
50036
|
const { maxFieldCount, maxRecordLimit, singleRecordField, maxFieldSize } = enforcedLimits;
|
|
50024
50037
|
const fieldsWithDataType = findFieldTypeInObjectInfo(objectInfos, singleRecordField);
|
|
50025
|
-
const documentNode = visit(ast, {
|
|
50038
|
+
const documentNode = visit$1(ast, {
|
|
50026
50039
|
Field(node) {
|
|
50027
50040
|
// is it a record query?
|
|
50028
50041
|
if (!isRecordQuery(node)) {
|
|
@@ -50072,7 +50085,7 @@ function enforceFieldLimitOnAST(ast, variables, objectInfos, enforcedLimits = {
|
|
|
50072
50085
|
return {
|
|
50073
50086
|
...argument,
|
|
50074
50087
|
value: {
|
|
50075
|
-
kind: Kind.INT,
|
|
50088
|
+
kind: Kind$1.INT,
|
|
50076
50089
|
value: recordLimit,
|
|
50077
50090
|
},
|
|
50078
50091
|
};
|
|
@@ -50302,11 +50315,13 @@ function draftAwareGraphQLAdapterFactory(userId, objectInfoService, store, luvio
|
|
|
50302
50315
|
let gqlResult;
|
|
50303
50316
|
let seenRecordIds;
|
|
50304
50317
|
let possibleStaleRecordMap;
|
|
50318
|
+
let missingFieldsMap;
|
|
50305
50319
|
try {
|
|
50306
50320
|
({
|
|
50307
50321
|
result: gqlResult,
|
|
50308
50322
|
seenRecordIds,
|
|
50309
50323
|
possibleStaleRecordMap,
|
|
50324
|
+
missingFieldsMap,
|
|
50310
50325
|
} = await evaluate({
|
|
50311
50326
|
...config,
|
|
50312
50327
|
//need to create another copy of the ast for future writes
|
|
@@ -50336,13 +50351,23 @@ function draftAwareGraphQLAdapterFactory(userId, objectInfoService, store, luvio
|
|
|
50336
50351
|
const seenRecords = createSeenRecords(seenRecordIds, nonEvaluatedSnapshot);
|
|
50337
50352
|
const recordId = generateUniqueRecordId();
|
|
50338
50353
|
const rebuildWithLocalEval = async (originalSnapshot) => {
|
|
50339
|
-
let { result: rebuildResult, seenRecordIds, possibleStaleRecordMap, } = await evaluate({
|
|
50354
|
+
let { result: rebuildResult, seenRecordIds, possibleStaleRecordMap, missingFieldsMap: rebuildMissingFieldsMap, } = await evaluate({
|
|
50340
50355
|
...config,
|
|
50341
50356
|
query: injectedAST,
|
|
50342
50357
|
}, observers, { userId }, objectInfoNeeded, store, originalSnapshot, graphqlSchemaCache, draftFunctions, mappedCursors);
|
|
50343
50358
|
if (!rebuildResult.errors) {
|
|
50344
50359
|
rebuildResult = removeSyntheticFields(rebuildResult, config.query);
|
|
50345
50360
|
}
|
|
50361
|
+
// If the query includes any missing fields, we return an ErrorSnapshot
|
|
50362
|
+
// with a message that contains the missing fields for each record.
|
|
50363
|
+
if (graphqlPartialEmitParity.isOpen({ fallback: false }) &&
|
|
50364
|
+
rebuildMissingFieldsMap.size > 0) {
|
|
50365
|
+
const missingFieldsErrorSnapshot = createMissingFieldsErrorSnapshot(originalSnapshot, rebuildMissingFieldsMap);
|
|
50366
|
+
return {
|
|
50367
|
+
...missingFieldsErrorSnapshot,
|
|
50368
|
+
rebuildWithLocalEval,
|
|
50369
|
+
};
|
|
50370
|
+
}
|
|
50346
50371
|
let snapshotState = 'Fulfilled';
|
|
50347
50372
|
if (possibleStaleRecordMap.size > 0) {
|
|
50348
50373
|
initiateStaleRecordRefresh(luvio, possibleStaleRecordMap);
|
|
@@ -50377,6 +50402,10 @@ function draftAwareGraphQLAdapterFactory(userId, objectInfoService, store, luvio
|
|
|
50377
50402
|
},
|
|
50378
50403
|
};
|
|
50379
50404
|
}
|
|
50405
|
+
// If the query includes any missing fields, we return an ErrorSnapshot
|
|
50406
|
+
if (graphqlPartialEmitParity.isOpen({ fallback: false }) && missingFieldsMap.size > 0) {
|
|
50407
|
+
return createMissingFieldsErrorSnapshot(nonEvaluatedSnapshot, missingFieldsMap);
|
|
50408
|
+
}
|
|
50380
50409
|
// if the non-eval'ed snapshot was an error then we return a synthetic
|
|
50381
50410
|
// Fulfilled snapshot (this only happens in this code path if
|
|
50382
50411
|
// the error is network error or 504), otherwise we spread over
|
|
@@ -50433,6 +50462,30 @@ function makeGetRecordsConfig(keyMap) {
|
|
|
50433
50462
|
records,
|
|
50434
50463
|
};
|
|
50435
50464
|
}
|
|
50465
|
+
/**
|
|
50466
|
+
* Creates an ErrorSnapshot with a message that contains the missing fields for each record.
|
|
50467
|
+
* @param originalSnapshot The original snapshot that is being rebuilt.
|
|
50468
|
+
* @param missingFieldsMap A map of record ids to the fields that are missing.
|
|
50469
|
+
* @returns An ErrorSnapshot with a message that contains the missing fields for each record.
|
|
50470
|
+
*/
|
|
50471
|
+
function createMissingFieldsErrorSnapshot(originalSnapshot, missingFieldsMap) {
|
|
50472
|
+
const message = Array.from(missingFieldsMap)
|
|
50473
|
+
.map(([id, fields]) => `Missing fields for record ${id}: ${Array.from(fields).join(', ')}`)
|
|
50474
|
+
.join('; ');
|
|
50475
|
+
return {
|
|
50476
|
+
...originalSnapshot,
|
|
50477
|
+
data: undefined,
|
|
50478
|
+
state: 'Error',
|
|
50479
|
+
error: {
|
|
50480
|
+
errorType: 'adapterError',
|
|
50481
|
+
error: [
|
|
50482
|
+
{
|
|
50483
|
+
message,
|
|
50484
|
+
},
|
|
50485
|
+
],
|
|
50486
|
+
},
|
|
50487
|
+
};
|
|
50488
|
+
}
|
|
50436
50489
|
|
|
50437
50490
|
function environmentAwareGraphQLBatchAdapterFactory(objectInfoService, luvio, isDraftId, buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy) {
|
|
50438
50491
|
return async function environmentAwareGraphQLBatchAdapter(config, requestContext = {}) {
|
|
@@ -50662,7 +50715,7 @@ const recordIdGenerator = (id) => {
|
|
|
50662
50715
|
|
|
50663
50716
|
const { keys: keys$2, create: create$2, assign: assign$1, entries: entries$2 } = Object;
|
|
50664
50717
|
const { stringify: stringify$4, parse: parse$4 } = JSON;
|
|
50665
|
-
const { push, join, slice } = Array.prototype;
|
|
50718
|
+
const { push, join: join$1, slice } = Array.prototype;
|
|
50666
50719
|
const { isArray: isArray$2, from } = Array;
|
|
50667
50720
|
|
|
50668
50721
|
function ldsParamsToString(params) {
|
|
@@ -50844,10 +50897,10 @@ class ScopedFields {
|
|
|
50844
50897
|
fields.forEach(this.addField, this);
|
|
50845
50898
|
}
|
|
50846
50899
|
toQueryParameterValue() {
|
|
50847
|
-
const joinedFields = join.call(Object.keys(this.fields), SEPARATOR_BETWEEN_FIELDS);
|
|
50900
|
+
const joinedFields = join$1.call(Object.keys(this.fields), SEPARATOR_BETWEEN_FIELDS);
|
|
50848
50901
|
return this.isUnScoped()
|
|
50849
50902
|
? joinedFields
|
|
50850
|
-
: join.call([this.scope, joinedFields], SEPARATOR_BETWEEN_SCOPE_AND_FIELDS);
|
|
50903
|
+
: join$1.call([this.scope, joinedFields], SEPARATOR_BETWEEN_SCOPE_AND_FIELDS);
|
|
50851
50904
|
}
|
|
50852
50905
|
toQueryParams() {
|
|
50853
50906
|
return this.isUnScoped() ? Object.keys(this.fields) : this.toQueryParameterValue();
|
|
@@ -50915,7 +50968,7 @@ class ScopedFieldsCollection {
|
|
|
50915
50968
|
if (chunk !== undefined)
|
|
50916
50969
|
result.push(chunk);
|
|
50917
50970
|
}
|
|
50918
|
-
return join.call(result, SEPARATOR_BETWEEN_SCOPES);
|
|
50971
|
+
return join$1.call(result, SEPARATOR_BETWEEN_SCOPES);
|
|
50919
50972
|
}
|
|
50920
50973
|
/**
|
|
50921
50974
|
* split the ScopedFields into multiple ScopedFields
|
|
@@ -51092,7 +51145,7 @@ function buildAggregateUiUrl(params, resourceRequest) {
|
|
|
51092
51145
|
queryString.push(`${key}=${isArray$2(value) ? value.join(',') : value}`);
|
|
51093
51146
|
}
|
|
51094
51147
|
}
|
|
51095
|
-
return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join.call(queryString, '&')}`;
|
|
51148
|
+
return `${resourceRequest.baseUri}${resourceRequest.basePath}?${join$1.call(queryString, '&')}`;
|
|
51096
51149
|
}
|
|
51097
51150
|
function shouldUseAggregateUiForFields(fieldsArray, optionalFieldsArray, maxLengthPerChunk) {
|
|
51098
51151
|
return fieldsArray.length + optionalFieldsArray.length >= maxLengthPerChunk;
|
|
@@ -54313,7 +54366,7 @@ function createResourceRequest$2(config) {
|
|
|
54313
54366
|
baseUri: '/services/data/v65.0',
|
|
54314
54367
|
basePath: '/graphql',
|
|
54315
54368
|
method: 'post',
|
|
54316
|
-
body: { ...config.body, query: print(config.body.query) },
|
|
54369
|
+
body: { ...config.body, query: print$1(config.body.query) },
|
|
54317
54370
|
urlParams: {},
|
|
54318
54371
|
queryParams: {},
|
|
54319
54372
|
headers,
|
|
@@ -54337,7 +54390,7 @@ function stripMetaschemaFromFieldNode(fieldNode) {
|
|
|
54337
54390
|
return fieldNode;
|
|
54338
54391
|
}
|
|
54339
54392
|
function stripDocumentOfMetaschema(documentNode) {
|
|
54340
|
-
return visit$
|
|
54393
|
+
return visit$2(documentNode, {
|
|
54341
54394
|
Field(node) {
|
|
54342
54395
|
return stripMetaschemaFromFieldNode(node);
|
|
54343
54396
|
},
|
|
@@ -54369,7 +54422,7 @@ function transformConfiguration$1(config) {
|
|
|
54369
54422
|
// Make a copy of the config before running transform to avoid mutating the original config
|
|
54370
54423
|
const adapterConfigCopy = {
|
|
54371
54424
|
...config,
|
|
54372
|
-
query: parse$8(print(config.query))
|
|
54425
|
+
query: parse$8(print$1(config.query))
|
|
54373
54426
|
};
|
|
54374
54427
|
return {
|
|
54375
54428
|
...adapterConfigCopy,
|
|
@@ -54451,7 +54504,7 @@ function stripDocumentsOfMetaschema(config) {
|
|
|
54451
54504
|
const batchQueryTransformed = config.body.batchQuery.map((singleConfig) => {
|
|
54452
54505
|
return {
|
|
54453
54506
|
...singleConfig,
|
|
54454
|
-
query: print(stripDocumentOfMetaschema(singleConfig.query)),
|
|
54507
|
+
query: print$1(stripDocumentOfMetaschema(singleConfig.query)),
|
|
54455
54508
|
};
|
|
54456
54509
|
});
|
|
54457
54510
|
return {
|
|
@@ -54747,7 +54800,7 @@ function transformConfiguration(config) {
|
|
|
54747
54800
|
const batchQueryTransformed = config.batchQuery.map((singleConfig) => {
|
|
54748
54801
|
return {
|
|
54749
54802
|
...singleConfig,
|
|
54750
|
-
query: applyMinimumFieldsToQuery(parse$8(print(singleConfig.query))), // Stringifies and parses again to avoid mutating original. Should we just JSON.stringify to avoid the dependency on the parser?
|
|
54803
|
+
query: applyMinimumFieldsToQuery(parse$8(print$1(singleConfig.query))), // Stringifies and parses again to avoid mutating original. Should we just JSON.stringify to avoid the dependency on the parser?
|
|
54751
54804
|
};
|
|
54752
54805
|
});
|
|
54753
54806
|
return {
|
|
@@ -55870,6 +55923,20 @@ function toError(x) {
|
|
|
55870
55923
|
}
|
|
55871
55924
|
return new Error(typeof x === "string" ? x : JSON.stringify(x));
|
|
55872
55925
|
}
|
|
55926
|
+
class InternalError extends Error {
|
|
55927
|
+
constructor(data) {
|
|
55928
|
+
super();
|
|
55929
|
+
this.data = data;
|
|
55930
|
+
this.type = "internal";
|
|
55931
|
+
}
|
|
55932
|
+
}
|
|
55933
|
+
class UserVisibleError extends Error {
|
|
55934
|
+
constructor(data) {
|
|
55935
|
+
super();
|
|
55936
|
+
this.data = data;
|
|
55937
|
+
this.type = "user-visible";
|
|
55938
|
+
}
|
|
55939
|
+
}
|
|
55873
55940
|
|
|
55874
55941
|
/*!
|
|
55875
55942
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -55934,7 +56001,7 @@ let NetworkCommand$1 = class NetworkCommand extends BaseCommand {
|
|
|
55934
56001
|
async afterRequestHooks(_options) {
|
|
55935
56002
|
}
|
|
55936
56003
|
};
|
|
55937
|
-
function buildServiceDescriptor$
|
|
56004
|
+
function buildServiceDescriptor$h() {
|
|
55938
56005
|
return {
|
|
55939
56006
|
type: "networkCommandBaseClass",
|
|
55940
56007
|
version: "1.0",
|
|
@@ -56036,7 +56103,7 @@ class AuraNetworkCommand extends NetworkCommand$1 {
|
|
|
56036
56103
|
return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
|
|
56037
56104
|
}
|
|
56038
56105
|
}
|
|
56039
|
-
function buildServiceDescriptor$
|
|
56106
|
+
function buildServiceDescriptor$g() {
|
|
56040
56107
|
return {
|
|
56041
56108
|
type: "auraNetworkCommandBaseClass",
|
|
56042
56109
|
version: "1.0",
|
|
@@ -56536,7 +56603,7 @@ class AuraNormalizedCacheControlCommand extends AuraCacheControlCommand$1 {
|
|
|
56536
56603
|
return resolvedPromiseLike$3(void 0);
|
|
56537
56604
|
}
|
|
56538
56605
|
}
|
|
56539
|
-
function buildServiceDescriptor$
|
|
56606
|
+
function buildServiceDescriptor$f() {
|
|
56540
56607
|
return {
|
|
56541
56608
|
type: "auraNormalizedCacheControlCommand",
|
|
56542
56609
|
version: "1.0",
|
|
@@ -56682,7 +56749,7 @@ class AuraResourceCacheControlCommand extends AuraCacheControlCommand {
|
|
|
56682
56749
|
return `{"endpoint":${this.endpoint},"params":${stableJSONStringify(this.auraParams)}}`;
|
|
56683
56750
|
}
|
|
56684
56751
|
}
|
|
56685
|
-
function buildServiceDescriptor$
|
|
56752
|
+
function buildServiceDescriptor$e() {
|
|
56686
56753
|
return {
|
|
56687
56754
|
type: "auraResourceCacheControlCommand",
|
|
56688
56755
|
version: "1.0",
|
|
@@ -56789,7 +56856,7 @@ class FetchNetworkCommand extends NetworkCommand {
|
|
|
56789
56856
|
);
|
|
56790
56857
|
}
|
|
56791
56858
|
}
|
|
56792
|
-
function buildServiceDescriptor$
|
|
56859
|
+
function buildServiceDescriptor$d() {
|
|
56793
56860
|
return {
|
|
56794
56861
|
type: "fetchNetworkCommandBaseClass",
|
|
56795
56862
|
version: "1.0",
|
|
@@ -56878,7 +56945,7 @@ class HttpNormalizedCacheControlCommand extends HttpCacheControlCommand {
|
|
|
56878
56945
|
return resolvedPromiseLike$3(void 0);
|
|
56879
56946
|
}
|
|
56880
56947
|
}
|
|
56881
|
-
function buildServiceDescriptor$
|
|
56948
|
+
function buildServiceDescriptor$c() {
|
|
56882
56949
|
return {
|
|
56883
56950
|
type: "httpNormalizedCacheControlCommand",
|
|
56884
56951
|
version: "1.0",
|
|
@@ -57131,7 +57198,7 @@ let DefaultCache$1 = class DefaultCache {
|
|
|
57131
57198
|
return new FixedTimeWritableCache$1(this, generatedTime);
|
|
57132
57199
|
}
|
|
57133
57200
|
};
|
|
57134
|
-
function buildServiceDescriptor$
|
|
57201
|
+
function buildServiceDescriptor$b() {
|
|
57135
57202
|
return {
|
|
57136
57203
|
type: "cache",
|
|
57137
57204
|
version: "1.0",
|
|
@@ -57299,7 +57366,7 @@ class CacheController {
|
|
|
57299
57366
|
yield* this.services.cacheInclusionPolicy.findAndModify(query, cacheUpdate);
|
|
57300
57367
|
}
|
|
57301
57368
|
}
|
|
57302
|
-
function buildServiceDescriptor$
|
|
57369
|
+
function buildServiceDescriptor$a(cache, cacheInclusionPolicy) {
|
|
57303
57370
|
return {
|
|
57304
57371
|
type: "cacheController",
|
|
57305
57372
|
version: "1.0",
|
|
@@ -57345,7 +57412,7 @@ function buildInstrumentCommand(services) {
|
|
|
57345
57412
|
};
|
|
57346
57413
|
};
|
|
57347
57414
|
}
|
|
57348
|
-
function buildServiceDescriptor$
|
|
57415
|
+
function buildServiceDescriptor$9(instrumentation) {
|
|
57349
57416
|
return {
|
|
57350
57417
|
type: "instrumentCommand",
|
|
57351
57418
|
version: "1.0",
|
|
@@ -57615,7 +57682,7 @@ class O11yInstrumentation {
|
|
|
57615
57682
|
this.metrics = new O11yOTelMetricsAPI(this.services);
|
|
57616
57683
|
}
|
|
57617
57684
|
}
|
|
57618
|
-
function buildServiceDescriptor$
|
|
57685
|
+
function buildServiceDescriptor$8(logger) {
|
|
57619
57686
|
return {
|
|
57620
57687
|
type: "instrumentation",
|
|
57621
57688
|
version: "1.0",
|
|
@@ -57725,7 +57792,7 @@ class DefaultPubSubService {
|
|
|
57725
57792
|
return matchingSubscriptions;
|
|
57726
57793
|
}
|
|
57727
57794
|
}
|
|
57728
|
-
function buildServiceDescriptor$
|
|
57795
|
+
function buildServiceDescriptor$7() {
|
|
57729
57796
|
return {
|
|
57730
57797
|
type: "pubSub",
|
|
57731
57798
|
version: "1.0",
|
|
@@ -57733,6 +57800,1263 @@ function buildServiceDescriptor$2() {
|
|
|
57733
57800
|
};
|
|
57734
57801
|
}
|
|
57735
57802
|
|
|
57803
|
+
/*!
|
|
57804
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
57805
|
+
* All rights reserved.
|
|
57806
|
+
* For full license text, see the LICENSE.txt file
|
|
57807
|
+
*/
|
|
57808
|
+
class FeatureFlagsService {
|
|
57809
|
+
constructor() {
|
|
57810
|
+
this.flags = /* @__PURE__ */ new Map();
|
|
57811
|
+
}
|
|
57812
|
+
set(flagName, value) {
|
|
57813
|
+
this.flags.set(flagName, value);
|
|
57814
|
+
}
|
|
57815
|
+
get(flagName, defaultValue = false) {
|
|
57816
|
+
return this.flags.get(flagName) || defaultValue;
|
|
57817
|
+
}
|
|
57818
|
+
}
|
|
57819
|
+
function buildServiceDescriptor$6() {
|
|
57820
|
+
return {
|
|
57821
|
+
version: "1.0",
|
|
57822
|
+
service: new FeatureFlagsService(),
|
|
57823
|
+
type: "featureFlags"
|
|
57824
|
+
};
|
|
57825
|
+
}
|
|
57826
|
+
|
|
57827
|
+
/**
|
|
57828
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
57829
|
+
* All rights reserved.
|
|
57830
|
+
* For full license text, see the LICENSE.txt file
|
|
57831
|
+
*/
|
|
57832
|
+
|
|
57833
|
+
/*
|
|
57834
|
+
* ATTENTION!
|
|
57835
|
+
* THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
|
|
57836
|
+
* If you would like to contribute to LDS, please follow the steps outlined in the git repo.
|
|
57837
|
+
* Any changes made to this file in p4 will be automatically overwritten.
|
|
57838
|
+
* *******************************************************************************************
|
|
57839
|
+
*/
|
|
57840
|
+
/* proxy-compat-disable */
|
|
57841
|
+
/**
|
|
57842
|
+
* Creates a LuvioService descriptor with the provided Luvio instance.
|
|
57843
|
+
* This function follows the standard service builder pattern used
|
|
57844
|
+
* throughout the Luvio service ecosystem.
|
|
57845
|
+
*
|
|
57846
|
+
* @param luvio The Luvio engine instance to wrap in the service
|
|
57847
|
+
* @returns A service descriptor that can be used in dependency injection
|
|
57848
|
+
*
|
|
57849
|
+
* @example
|
|
57850
|
+
* ```typescript
|
|
57851
|
+
* const luvioService = buildLuvioService(myLuvioInstance);
|
|
57852
|
+
*
|
|
57853
|
+
* // Use in a services object
|
|
57854
|
+
* const services = {
|
|
57855
|
+
* ...otherServices,
|
|
57856
|
+
* luvio: luvioService.service,
|
|
57857
|
+
* };
|
|
57858
|
+
* ```
|
|
57859
|
+
*/
|
|
57860
|
+
function buildServiceDescriptor$5(luvio) {
|
|
57861
|
+
return {
|
|
57862
|
+
type: 'luvio',
|
|
57863
|
+
version: '1.0',
|
|
57864
|
+
service: {
|
|
57865
|
+
luvio,
|
|
57866
|
+
},
|
|
57867
|
+
};
|
|
57868
|
+
}
|
|
57869
|
+
// version: 1.377.1-db77d3f339
|
|
57870
|
+
|
|
57871
|
+
/**
|
|
57872
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
57873
|
+
* All rights reserved.
|
|
57874
|
+
* For full license text, see the LICENSE.txt file
|
|
57875
|
+
*/
|
|
57876
|
+
|
|
57877
|
+
/*
|
|
57878
|
+
* ATTENTION!
|
|
57879
|
+
* THIS IS A GENERATED FILE FROM https://github.com/salesforce-experience-platform-emu/lds-lightning-platform
|
|
57880
|
+
* If you would like to contribute to LDS, please follow the steps outlined in the git repo.
|
|
57881
|
+
* Any changes made to this file in p4 will be automatically overwritten.
|
|
57882
|
+
* *******************************************************************************************
|
|
57883
|
+
*/
|
|
57884
|
+
/* proxy-compat-disable */
|
|
57885
|
+
function buildServiceDescriptor$4(notifyRecordUpdateAvailable, getNormalizedLuvioRecord) {
|
|
57886
|
+
return {
|
|
57887
|
+
type: 'luvioUiapiRecords',
|
|
57888
|
+
version: '1.0',
|
|
57889
|
+
service: {
|
|
57890
|
+
notifyRecordUpdateAvailable,
|
|
57891
|
+
getNormalizedLuvioRecord,
|
|
57892
|
+
},
|
|
57893
|
+
};
|
|
57894
|
+
}
|
|
57895
|
+
// version: 1.377.1-db77d3f339
|
|
57896
|
+
|
|
57897
|
+
/*!
|
|
57898
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
57899
|
+
* All rights reserved.
|
|
57900
|
+
* For full license text, see the LICENSE.txt file
|
|
57901
|
+
*/
|
|
57902
|
+
function devAssert(condition, message) {
|
|
57903
|
+
const booleanCondition = Boolean(condition);
|
|
57904
|
+
if (!booleanCondition) {
|
|
57905
|
+
throw new Error(message);
|
|
57906
|
+
}
|
|
57907
|
+
}
|
|
57908
|
+
const MAX_ARRAY_LENGTH = 10;
|
|
57909
|
+
const MAX_RECURSIVE_DEPTH = 2;
|
|
57910
|
+
function inspect(value) {
|
|
57911
|
+
return formatValue(value, []);
|
|
57912
|
+
}
|
|
57913
|
+
function formatValue(value, seenValues) {
|
|
57914
|
+
switch (typeof value) {
|
|
57915
|
+
case "string":
|
|
57916
|
+
return JSON.stringify(value);
|
|
57917
|
+
case "function":
|
|
57918
|
+
return value.name ? `[function ${value.name}]` : "[function]";
|
|
57919
|
+
case "object":
|
|
57920
|
+
return formatObjectValue(value, seenValues);
|
|
57921
|
+
default:
|
|
57922
|
+
return String(value);
|
|
57923
|
+
}
|
|
57924
|
+
}
|
|
57925
|
+
function formatObjectValue(value, previouslySeenValues) {
|
|
57926
|
+
if (value === null) {
|
|
57927
|
+
return "null";
|
|
57928
|
+
}
|
|
57929
|
+
if (previouslySeenValues.includes(value)) {
|
|
57930
|
+
return "[Circular]";
|
|
57931
|
+
}
|
|
57932
|
+
const seenValues = [...previouslySeenValues, value];
|
|
57933
|
+
if (isJSONable(value)) {
|
|
57934
|
+
const jsonValue = value.toJSON();
|
|
57935
|
+
if (jsonValue !== value) {
|
|
57936
|
+
return typeof jsonValue === "string" ? jsonValue : formatValue(jsonValue, seenValues);
|
|
57937
|
+
}
|
|
57938
|
+
} else if (Array.isArray(value)) {
|
|
57939
|
+
return formatArray(value, seenValues);
|
|
57940
|
+
}
|
|
57941
|
+
return formatObject(value, seenValues);
|
|
57942
|
+
}
|
|
57943
|
+
function isJSONable(value) {
|
|
57944
|
+
return typeof value.toJSON === "function";
|
|
57945
|
+
}
|
|
57946
|
+
function formatObject(object, seenValues) {
|
|
57947
|
+
const entries = Object.entries(object);
|
|
57948
|
+
if (entries.length === 0) {
|
|
57949
|
+
return "{}";
|
|
57950
|
+
}
|
|
57951
|
+
if (seenValues.length > MAX_RECURSIVE_DEPTH) {
|
|
57952
|
+
return "[" + getObjectTag(object) + "]";
|
|
57953
|
+
}
|
|
57954
|
+
const properties = entries.map(
|
|
57955
|
+
([key, value]) => key + ": " + formatValue(value, seenValues)
|
|
57956
|
+
);
|
|
57957
|
+
return "{ " + properties.join(", ") + " }";
|
|
57958
|
+
}
|
|
57959
|
+
function formatArray(array, seenValues) {
|
|
57960
|
+
if (array.length === 0) {
|
|
57961
|
+
return "[]";
|
|
57962
|
+
}
|
|
57963
|
+
if (seenValues.length > MAX_RECURSIVE_DEPTH) {
|
|
57964
|
+
return "[Array]";
|
|
57965
|
+
}
|
|
57966
|
+
const len = Math.min(MAX_ARRAY_LENGTH, array.length);
|
|
57967
|
+
const remaining = array.length - len;
|
|
57968
|
+
const items = [];
|
|
57969
|
+
for (let i = 0; i < len; ++i) {
|
|
57970
|
+
items.push(formatValue(array[i], seenValues));
|
|
57971
|
+
}
|
|
57972
|
+
if (remaining === 1) {
|
|
57973
|
+
items.push("... 1 more item");
|
|
57974
|
+
} else if (remaining > 1) {
|
|
57975
|
+
items.push(`... ${remaining} more items`);
|
|
57976
|
+
}
|
|
57977
|
+
return "[" + items.join(", ") + "]";
|
|
57978
|
+
}
|
|
57979
|
+
function getObjectTag(object) {
|
|
57980
|
+
const tag = Object.prototype.toString.call(object).replace(/^\[object /, "").replace(/]$/, "");
|
|
57981
|
+
if (tag === "Object" && typeof object.constructor === "function") {
|
|
57982
|
+
const name = object.constructor.name;
|
|
57983
|
+
if (typeof name === "string" && name !== "") {
|
|
57984
|
+
return name;
|
|
57985
|
+
}
|
|
57986
|
+
}
|
|
57987
|
+
return tag;
|
|
57988
|
+
}
|
|
57989
|
+
globalThis.process && // eslint-disable-next-line no-undef
|
|
57990
|
+
process.env.NODE_ENV === "production";
|
|
57991
|
+
var Kind;
|
|
57992
|
+
(function(Kind2) {
|
|
57993
|
+
Kind2["NAME"] = "Name";
|
|
57994
|
+
Kind2["DOCUMENT"] = "Document";
|
|
57995
|
+
Kind2["OPERATION_DEFINITION"] = "OperationDefinition";
|
|
57996
|
+
Kind2["VARIABLE_DEFINITION"] = "VariableDefinition";
|
|
57997
|
+
Kind2["SELECTION_SET"] = "SelectionSet";
|
|
57998
|
+
Kind2["FIELD"] = "Field";
|
|
57999
|
+
Kind2["ARGUMENT"] = "Argument";
|
|
58000
|
+
Kind2["FRAGMENT_SPREAD"] = "FragmentSpread";
|
|
58001
|
+
Kind2["INLINE_FRAGMENT"] = "InlineFragment";
|
|
58002
|
+
Kind2["FRAGMENT_DEFINITION"] = "FragmentDefinition";
|
|
58003
|
+
Kind2["VARIABLE"] = "Variable";
|
|
58004
|
+
Kind2["INT"] = "IntValue";
|
|
58005
|
+
Kind2["FLOAT"] = "FloatValue";
|
|
58006
|
+
Kind2["STRING"] = "StringValue";
|
|
58007
|
+
Kind2["BOOLEAN"] = "BooleanValue";
|
|
58008
|
+
Kind2["NULL"] = "NullValue";
|
|
58009
|
+
Kind2["ENUM"] = "EnumValue";
|
|
58010
|
+
Kind2["LIST"] = "ListValue";
|
|
58011
|
+
Kind2["OBJECT"] = "ObjectValue";
|
|
58012
|
+
Kind2["OBJECT_FIELD"] = "ObjectField";
|
|
58013
|
+
Kind2["DIRECTIVE"] = "Directive";
|
|
58014
|
+
Kind2["NAMED_TYPE"] = "NamedType";
|
|
58015
|
+
Kind2["LIST_TYPE"] = "ListType";
|
|
58016
|
+
Kind2["NON_NULL_TYPE"] = "NonNullType";
|
|
58017
|
+
Kind2["SCHEMA_DEFINITION"] = "SchemaDefinition";
|
|
58018
|
+
Kind2["OPERATION_TYPE_DEFINITION"] = "OperationTypeDefinition";
|
|
58019
|
+
Kind2["SCALAR_TYPE_DEFINITION"] = "ScalarTypeDefinition";
|
|
58020
|
+
Kind2["OBJECT_TYPE_DEFINITION"] = "ObjectTypeDefinition";
|
|
58021
|
+
Kind2["FIELD_DEFINITION"] = "FieldDefinition";
|
|
58022
|
+
Kind2["INPUT_VALUE_DEFINITION"] = "InputValueDefinition";
|
|
58023
|
+
Kind2["INTERFACE_TYPE_DEFINITION"] = "InterfaceTypeDefinition";
|
|
58024
|
+
Kind2["UNION_TYPE_DEFINITION"] = "UnionTypeDefinition";
|
|
58025
|
+
Kind2["ENUM_TYPE_DEFINITION"] = "EnumTypeDefinition";
|
|
58026
|
+
Kind2["ENUM_VALUE_DEFINITION"] = "EnumValueDefinition";
|
|
58027
|
+
Kind2["INPUT_OBJECT_TYPE_DEFINITION"] = "InputObjectTypeDefinition";
|
|
58028
|
+
Kind2["DIRECTIVE_DEFINITION"] = "DirectiveDefinition";
|
|
58029
|
+
Kind2["SCHEMA_EXTENSION"] = "SchemaExtension";
|
|
58030
|
+
Kind2["SCALAR_TYPE_EXTENSION"] = "ScalarTypeExtension";
|
|
58031
|
+
Kind2["OBJECT_TYPE_EXTENSION"] = "ObjectTypeExtension";
|
|
58032
|
+
Kind2["INTERFACE_TYPE_EXTENSION"] = "InterfaceTypeExtension";
|
|
58033
|
+
Kind2["UNION_TYPE_EXTENSION"] = "UnionTypeExtension";
|
|
58034
|
+
Kind2["ENUM_TYPE_EXTENSION"] = "EnumTypeExtension";
|
|
58035
|
+
Kind2["INPUT_OBJECT_TYPE_EXTENSION"] = "InputObjectTypeExtension";
|
|
58036
|
+
})(Kind || (Kind = {}));
|
|
58037
|
+
var TokenKind;
|
|
58038
|
+
(function(TokenKind2) {
|
|
58039
|
+
TokenKind2["SOF"] = "<SOF>";
|
|
58040
|
+
TokenKind2["EOF"] = "<EOF>";
|
|
58041
|
+
TokenKind2["BANG"] = "!";
|
|
58042
|
+
TokenKind2["DOLLAR"] = "$";
|
|
58043
|
+
TokenKind2["AMP"] = "&";
|
|
58044
|
+
TokenKind2["PAREN_L"] = "(";
|
|
58045
|
+
TokenKind2["PAREN_R"] = ")";
|
|
58046
|
+
TokenKind2["SPREAD"] = "...";
|
|
58047
|
+
TokenKind2["COLON"] = ":";
|
|
58048
|
+
TokenKind2["EQUALS"] = "=";
|
|
58049
|
+
TokenKind2["AT"] = "@";
|
|
58050
|
+
TokenKind2["BRACKET_L"] = "[";
|
|
58051
|
+
TokenKind2["BRACKET_R"] = "]";
|
|
58052
|
+
TokenKind2["BRACE_L"] = "{";
|
|
58053
|
+
TokenKind2["PIPE"] = "|";
|
|
58054
|
+
TokenKind2["BRACE_R"] = "}";
|
|
58055
|
+
TokenKind2["NAME"] = "Name";
|
|
58056
|
+
TokenKind2["INT"] = "Int";
|
|
58057
|
+
TokenKind2["FLOAT"] = "Float";
|
|
58058
|
+
TokenKind2["STRING"] = "String";
|
|
58059
|
+
TokenKind2["BLOCK_STRING"] = "BlockString";
|
|
58060
|
+
TokenKind2["COMMENT"] = "Comment";
|
|
58061
|
+
})(TokenKind || (TokenKind = {}));
|
|
58062
|
+
const QueryDocumentKeys = {
|
|
58063
|
+
Name: [],
|
|
58064
|
+
Document: ["definitions"],
|
|
58065
|
+
OperationDefinition: [
|
|
58066
|
+
"name",
|
|
58067
|
+
"variableDefinitions",
|
|
58068
|
+
"directives",
|
|
58069
|
+
"selectionSet"
|
|
58070
|
+
],
|
|
58071
|
+
VariableDefinition: ["variable", "type", "defaultValue", "directives"],
|
|
58072
|
+
Variable: ["name"],
|
|
58073
|
+
SelectionSet: ["selections"],
|
|
58074
|
+
Field: ["alias", "name", "arguments", "directives", "selectionSet"],
|
|
58075
|
+
Argument: ["name", "value"],
|
|
58076
|
+
FragmentSpread: ["name", "directives"],
|
|
58077
|
+
InlineFragment: ["typeCondition", "directives", "selectionSet"],
|
|
58078
|
+
FragmentDefinition: [
|
|
58079
|
+
"name",
|
|
58080
|
+
// Note: fragment variable definitions are deprecated and will removed in v17.0.0
|
|
58081
|
+
"variableDefinitions",
|
|
58082
|
+
"typeCondition",
|
|
58083
|
+
"directives",
|
|
58084
|
+
"selectionSet"
|
|
58085
|
+
],
|
|
58086
|
+
IntValue: [],
|
|
58087
|
+
FloatValue: [],
|
|
58088
|
+
StringValue: [],
|
|
58089
|
+
BooleanValue: [],
|
|
58090
|
+
NullValue: [],
|
|
58091
|
+
EnumValue: [],
|
|
58092
|
+
ListValue: ["values"],
|
|
58093
|
+
ObjectValue: ["fields"],
|
|
58094
|
+
ObjectField: ["name", "value"],
|
|
58095
|
+
Directive: ["name", "arguments"],
|
|
58096
|
+
NamedType: ["name"],
|
|
58097
|
+
ListType: ["type"],
|
|
58098
|
+
NonNullType: ["type"],
|
|
58099
|
+
SchemaDefinition: ["description", "directives", "operationTypes"],
|
|
58100
|
+
OperationTypeDefinition: ["type"],
|
|
58101
|
+
ScalarTypeDefinition: ["description", "name", "directives"],
|
|
58102
|
+
ObjectTypeDefinition: [
|
|
58103
|
+
"description",
|
|
58104
|
+
"name",
|
|
58105
|
+
"interfaces",
|
|
58106
|
+
"directives",
|
|
58107
|
+
"fields"
|
|
58108
|
+
],
|
|
58109
|
+
FieldDefinition: ["description", "name", "arguments", "type", "directives"],
|
|
58110
|
+
InputValueDefinition: [
|
|
58111
|
+
"description",
|
|
58112
|
+
"name",
|
|
58113
|
+
"type",
|
|
58114
|
+
"defaultValue",
|
|
58115
|
+
"directives"
|
|
58116
|
+
],
|
|
58117
|
+
InterfaceTypeDefinition: [
|
|
58118
|
+
"description",
|
|
58119
|
+
"name",
|
|
58120
|
+
"interfaces",
|
|
58121
|
+
"directives",
|
|
58122
|
+
"fields"
|
|
58123
|
+
],
|
|
58124
|
+
UnionTypeDefinition: ["description", "name", "directives", "types"],
|
|
58125
|
+
EnumTypeDefinition: ["description", "name", "directives", "values"],
|
|
58126
|
+
EnumValueDefinition: ["description", "name", "directives"],
|
|
58127
|
+
InputObjectTypeDefinition: ["description", "name", "directives", "fields"],
|
|
58128
|
+
DirectiveDefinition: ["description", "name", "arguments", "locations"],
|
|
58129
|
+
SchemaExtension: ["directives", "operationTypes"],
|
|
58130
|
+
ScalarTypeExtension: ["name", "directives"],
|
|
58131
|
+
ObjectTypeExtension: ["name", "interfaces", "directives", "fields"],
|
|
58132
|
+
InterfaceTypeExtension: ["name", "interfaces", "directives", "fields"],
|
|
58133
|
+
UnionTypeExtension: ["name", "directives", "types"],
|
|
58134
|
+
EnumTypeExtension: ["name", "directives", "values"],
|
|
58135
|
+
InputObjectTypeExtension: ["name", "directives", "fields"]
|
|
58136
|
+
};
|
|
58137
|
+
const kindValues = new Set(Object.keys(QueryDocumentKeys));
|
|
58138
|
+
function isNode(maybeNode) {
|
|
58139
|
+
const maybeKind = maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;
|
|
58140
|
+
return typeof maybeKind === "string" && kindValues.has(maybeKind);
|
|
58141
|
+
}
|
|
58142
|
+
var OperationTypeNode;
|
|
58143
|
+
(function(OperationTypeNode2) {
|
|
58144
|
+
OperationTypeNode2["QUERY"] = "query";
|
|
58145
|
+
OperationTypeNode2["MUTATION"] = "mutation";
|
|
58146
|
+
OperationTypeNode2["SUBSCRIPTION"] = "subscription";
|
|
58147
|
+
})(OperationTypeNode || (OperationTypeNode = {}));
|
|
58148
|
+
function isWhiteSpace(code) {
|
|
58149
|
+
return code === 9 || code === 32;
|
|
58150
|
+
}
|
|
58151
|
+
function printBlockString(value, options) {
|
|
58152
|
+
const escapedValue = value.replace(/"""/g, '\\"""');
|
|
58153
|
+
const lines = escapedValue.split(/\r\n|[\n\r]/g);
|
|
58154
|
+
const isSingleLine = lines.length === 1;
|
|
58155
|
+
const forceLeadingNewLine = lines.length > 1 && lines.slice(1).every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0)));
|
|
58156
|
+
const hasTrailingTripleQuotes = escapedValue.endsWith('\\"""');
|
|
58157
|
+
const hasTrailingQuote = value.endsWith('"') && !hasTrailingTripleQuotes;
|
|
58158
|
+
const hasTrailingSlash = value.endsWith("\\");
|
|
58159
|
+
const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;
|
|
58160
|
+
const printAsMultipleLines = !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability
|
|
58161
|
+
(!isSingleLine || value.length > 70 || forceTrailingNewline || forceLeadingNewLine || hasTrailingTripleQuotes);
|
|
58162
|
+
let result = "";
|
|
58163
|
+
const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));
|
|
58164
|
+
if (printAsMultipleLines && !skipLeadingNewLine || forceLeadingNewLine) {
|
|
58165
|
+
result += "\n";
|
|
58166
|
+
}
|
|
58167
|
+
result += escapedValue;
|
|
58168
|
+
if (printAsMultipleLines || forceTrailingNewline) {
|
|
58169
|
+
result += "\n";
|
|
58170
|
+
}
|
|
58171
|
+
return '"""' + result + '"""';
|
|
58172
|
+
}
|
|
58173
|
+
var DirectiveLocation;
|
|
58174
|
+
(function(DirectiveLocation2) {
|
|
58175
|
+
DirectiveLocation2["QUERY"] = "QUERY";
|
|
58176
|
+
DirectiveLocation2["MUTATION"] = "MUTATION";
|
|
58177
|
+
DirectiveLocation2["SUBSCRIPTION"] = "SUBSCRIPTION";
|
|
58178
|
+
DirectiveLocation2["FIELD"] = "FIELD";
|
|
58179
|
+
DirectiveLocation2["FRAGMENT_DEFINITION"] = "FRAGMENT_DEFINITION";
|
|
58180
|
+
DirectiveLocation2["FRAGMENT_SPREAD"] = "FRAGMENT_SPREAD";
|
|
58181
|
+
DirectiveLocation2["INLINE_FRAGMENT"] = "INLINE_FRAGMENT";
|
|
58182
|
+
DirectiveLocation2["VARIABLE_DEFINITION"] = "VARIABLE_DEFINITION";
|
|
58183
|
+
DirectiveLocation2["SCHEMA"] = "SCHEMA";
|
|
58184
|
+
DirectiveLocation2["SCALAR"] = "SCALAR";
|
|
58185
|
+
DirectiveLocation2["OBJECT"] = "OBJECT";
|
|
58186
|
+
DirectiveLocation2["FIELD_DEFINITION"] = "FIELD_DEFINITION";
|
|
58187
|
+
DirectiveLocation2["ARGUMENT_DEFINITION"] = "ARGUMENT_DEFINITION";
|
|
58188
|
+
DirectiveLocation2["INTERFACE"] = "INTERFACE";
|
|
58189
|
+
DirectiveLocation2["UNION"] = "UNION";
|
|
58190
|
+
DirectiveLocation2["ENUM"] = "ENUM";
|
|
58191
|
+
DirectiveLocation2["ENUM_VALUE"] = "ENUM_VALUE";
|
|
58192
|
+
DirectiveLocation2["INPUT_OBJECT"] = "INPUT_OBJECT";
|
|
58193
|
+
DirectiveLocation2["INPUT_FIELD_DEFINITION"] = "INPUT_FIELD_DEFINITION";
|
|
58194
|
+
})(DirectiveLocation || (DirectiveLocation = {}));
|
|
58195
|
+
function printString(str) {
|
|
58196
|
+
return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
|
|
58197
|
+
}
|
|
58198
|
+
const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
|
|
58199
|
+
function escapedReplacer(str) {
|
|
58200
|
+
return escapeSequences[str.charCodeAt(0)];
|
|
58201
|
+
}
|
|
58202
|
+
const escapeSequences = [
|
|
58203
|
+
"\\u0000",
|
|
58204
|
+
"\\u0001",
|
|
58205
|
+
"\\u0002",
|
|
58206
|
+
"\\u0003",
|
|
58207
|
+
"\\u0004",
|
|
58208
|
+
"\\u0005",
|
|
58209
|
+
"\\u0006",
|
|
58210
|
+
"\\u0007",
|
|
58211
|
+
"\\b",
|
|
58212
|
+
"\\t",
|
|
58213
|
+
"\\n",
|
|
58214
|
+
"\\u000B",
|
|
58215
|
+
"\\f",
|
|
58216
|
+
"\\r",
|
|
58217
|
+
"\\u000E",
|
|
58218
|
+
"\\u000F",
|
|
58219
|
+
"\\u0010",
|
|
58220
|
+
"\\u0011",
|
|
58221
|
+
"\\u0012",
|
|
58222
|
+
"\\u0013",
|
|
58223
|
+
"\\u0014",
|
|
58224
|
+
"\\u0015",
|
|
58225
|
+
"\\u0016",
|
|
58226
|
+
"\\u0017",
|
|
58227
|
+
"\\u0018",
|
|
58228
|
+
"\\u0019",
|
|
58229
|
+
"\\u001A",
|
|
58230
|
+
"\\u001B",
|
|
58231
|
+
"\\u001C",
|
|
58232
|
+
"\\u001D",
|
|
58233
|
+
"\\u001E",
|
|
58234
|
+
"\\u001F",
|
|
58235
|
+
"",
|
|
58236
|
+
"",
|
|
58237
|
+
'\\"',
|
|
58238
|
+
"",
|
|
58239
|
+
"",
|
|
58240
|
+
"",
|
|
58241
|
+
"",
|
|
58242
|
+
"",
|
|
58243
|
+
"",
|
|
58244
|
+
"",
|
|
58245
|
+
"",
|
|
58246
|
+
"",
|
|
58247
|
+
"",
|
|
58248
|
+
"",
|
|
58249
|
+
"",
|
|
58250
|
+
"",
|
|
58251
|
+
// 2F
|
|
58252
|
+
"",
|
|
58253
|
+
"",
|
|
58254
|
+
"",
|
|
58255
|
+
"",
|
|
58256
|
+
"",
|
|
58257
|
+
"",
|
|
58258
|
+
"",
|
|
58259
|
+
"",
|
|
58260
|
+
"",
|
|
58261
|
+
"",
|
|
58262
|
+
"",
|
|
58263
|
+
"",
|
|
58264
|
+
"",
|
|
58265
|
+
"",
|
|
58266
|
+
"",
|
|
58267
|
+
"",
|
|
58268
|
+
// 3F
|
|
58269
|
+
"",
|
|
58270
|
+
"",
|
|
58271
|
+
"",
|
|
58272
|
+
"",
|
|
58273
|
+
"",
|
|
58274
|
+
"",
|
|
58275
|
+
"",
|
|
58276
|
+
"",
|
|
58277
|
+
"",
|
|
58278
|
+
"",
|
|
58279
|
+
"",
|
|
58280
|
+
"",
|
|
58281
|
+
"",
|
|
58282
|
+
"",
|
|
58283
|
+
"",
|
|
58284
|
+
"",
|
|
58285
|
+
// 4F
|
|
58286
|
+
"",
|
|
58287
|
+
"",
|
|
58288
|
+
"",
|
|
58289
|
+
"",
|
|
58290
|
+
"",
|
|
58291
|
+
"",
|
|
58292
|
+
"",
|
|
58293
|
+
"",
|
|
58294
|
+
"",
|
|
58295
|
+
"",
|
|
58296
|
+
"",
|
|
58297
|
+
"",
|
|
58298
|
+
"\\\\",
|
|
58299
|
+
"",
|
|
58300
|
+
"",
|
|
58301
|
+
"",
|
|
58302
|
+
// 5F
|
|
58303
|
+
"",
|
|
58304
|
+
"",
|
|
58305
|
+
"",
|
|
58306
|
+
"",
|
|
58307
|
+
"",
|
|
58308
|
+
"",
|
|
58309
|
+
"",
|
|
58310
|
+
"",
|
|
58311
|
+
"",
|
|
58312
|
+
"",
|
|
58313
|
+
"",
|
|
58314
|
+
"",
|
|
58315
|
+
"",
|
|
58316
|
+
"",
|
|
58317
|
+
"",
|
|
58318
|
+
"",
|
|
58319
|
+
// 6F
|
|
58320
|
+
"",
|
|
58321
|
+
"",
|
|
58322
|
+
"",
|
|
58323
|
+
"",
|
|
58324
|
+
"",
|
|
58325
|
+
"",
|
|
58326
|
+
"",
|
|
58327
|
+
"",
|
|
58328
|
+
"",
|
|
58329
|
+
"",
|
|
58330
|
+
"",
|
|
58331
|
+
"",
|
|
58332
|
+
"",
|
|
58333
|
+
"",
|
|
58334
|
+
"",
|
|
58335
|
+
"\\u007F",
|
|
58336
|
+
"\\u0080",
|
|
58337
|
+
"\\u0081",
|
|
58338
|
+
"\\u0082",
|
|
58339
|
+
"\\u0083",
|
|
58340
|
+
"\\u0084",
|
|
58341
|
+
"\\u0085",
|
|
58342
|
+
"\\u0086",
|
|
58343
|
+
"\\u0087",
|
|
58344
|
+
"\\u0088",
|
|
58345
|
+
"\\u0089",
|
|
58346
|
+
"\\u008A",
|
|
58347
|
+
"\\u008B",
|
|
58348
|
+
"\\u008C",
|
|
58349
|
+
"\\u008D",
|
|
58350
|
+
"\\u008E",
|
|
58351
|
+
"\\u008F",
|
|
58352
|
+
"\\u0090",
|
|
58353
|
+
"\\u0091",
|
|
58354
|
+
"\\u0092",
|
|
58355
|
+
"\\u0093",
|
|
58356
|
+
"\\u0094",
|
|
58357
|
+
"\\u0095",
|
|
58358
|
+
"\\u0096",
|
|
58359
|
+
"\\u0097",
|
|
58360
|
+
"\\u0098",
|
|
58361
|
+
"\\u0099",
|
|
58362
|
+
"\\u009A",
|
|
58363
|
+
"\\u009B",
|
|
58364
|
+
"\\u009C",
|
|
58365
|
+
"\\u009D",
|
|
58366
|
+
"\\u009E",
|
|
58367
|
+
"\\u009F"
|
|
58368
|
+
];
|
|
58369
|
+
const BREAK = Object.freeze({});
|
|
58370
|
+
function visit(root, visitor, visitorKeys = QueryDocumentKeys) {
|
|
58371
|
+
const enterLeaveMap = /* @__PURE__ */ new Map();
|
|
58372
|
+
for (const kind of Object.values(Kind)) {
|
|
58373
|
+
enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));
|
|
58374
|
+
}
|
|
58375
|
+
let stack = void 0;
|
|
58376
|
+
let inArray = Array.isArray(root);
|
|
58377
|
+
let keys = [root];
|
|
58378
|
+
let index = -1;
|
|
58379
|
+
let edits = [];
|
|
58380
|
+
let node = root;
|
|
58381
|
+
let key = void 0;
|
|
58382
|
+
let parent = void 0;
|
|
58383
|
+
const path = [];
|
|
58384
|
+
const ancestors = [];
|
|
58385
|
+
do {
|
|
58386
|
+
index++;
|
|
58387
|
+
const isLeaving = index === keys.length;
|
|
58388
|
+
const isEdited = isLeaving && edits.length !== 0;
|
|
58389
|
+
if (isLeaving) {
|
|
58390
|
+
key = ancestors.length === 0 ? void 0 : path[path.length - 1];
|
|
58391
|
+
node = parent;
|
|
58392
|
+
parent = ancestors.pop();
|
|
58393
|
+
if (isEdited) {
|
|
58394
|
+
if (inArray) {
|
|
58395
|
+
node = node.slice();
|
|
58396
|
+
let editOffset = 0;
|
|
58397
|
+
for (const [editKey, editValue] of edits) {
|
|
58398
|
+
const arrayKey = editKey - editOffset;
|
|
58399
|
+
if (editValue === null) {
|
|
58400
|
+
node.splice(arrayKey, 1);
|
|
58401
|
+
editOffset++;
|
|
58402
|
+
} else {
|
|
58403
|
+
node[arrayKey] = editValue;
|
|
58404
|
+
}
|
|
58405
|
+
}
|
|
58406
|
+
} else {
|
|
58407
|
+
node = { ...node };
|
|
58408
|
+
for (const [editKey, editValue] of edits) {
|
|
58409
|
+
node[editKey] = editValue;
|
|
58410
|
+
}
|
|
58411
|
+
}
|
|
58412
|
+
}
|
|
58413
|
+
index = stack.index;
|
|
58414
|
+
keys = stack.keys;
|
|
58415
|
+
edits = stack.edits;
|
|
58416
|
+
inArray = stack.inArray;
|
|
58417
|
+
stack = stack.prev;
|
|
58418
|
+
} else if (parent) {
|
|
58419
|
+
key = inArray ? index : keys[index];
|
|
58420
|
+
node = parent[key];
|
|
58421
|
+
if (node === null || node === void 0) {
|
|
58422
|
+
continue;
|
|
58423
|
+
}
|
|
58424
|
+
path.push(key);
|
|
58425
|
+
}
|
|
58426
|
+
let result;
|
|
58427
|
+
if (!Array.isArray(node)) {
|
|
58428
|
+
var _enterLeaveMap$get, _enterLeaveMap$get2;
|
|
58429
|
+
isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);
|
|
58430
|
+
const visitFn = isLeaving ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null || _enterLeaveMap$get === void 0 ? void 0 : _enterLeaveMap$get.leave : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null || _enterLeaveMap$get2 === void 0 ? void 0 : _enterLeaveMap$get2.enter;
|
|
58431
|
+
result = visitFn === null || visitFn === void 0 ? void 0 : visitFn.call(visitor, node, key, parent, path, ancestors);
|
|
58432
|
+
if (result === BREAK) {
|
|
58433
|
+
break;
|
|
58434
|
+
}
|
|
58435
|
+
if (result === false) {
|
|
58436
|
+
if (!isLeaving) {
|
|
58437
|
+
path.pop();
|
|
58438
|
+
continue;
|
|
58439
|
+
}
|
|
58440
|
+
} else if (result !== void 0) {
|
|
58441
|
+
edits.push([key, result]);
|
|
58442
|
+
if (!isLeaving) {
|
|
58443
|
+
if (isNode(result)) {
|
|
58444
|
+
node = result;
|
|
58445
|
+
} else {
|
|
58446
|
+
path.pop();
|
|
58447
|
+
continue;
|
|
58448
|
+
}
|
|
58449
|
+
}
|
|
58450
|
+
}
|
|
58451
|
+
}
|
|
58452
|
+
if (result === void 0 && isEdited) {
|
|
58453
|
+
edits.push([key, node]);
|
|
58454
|
+
}
|
|
58455
|
+
if (isLeaving) {
|
|
58456
|
+
path.pop();
|
|
58457
|
+
} else {
|
|
58458
|
+
var _node$kind;
|
|
58459
|
+
stack = {
|
|
58460
|
+
inArray,
|
|
58461
|
+
index,
|
|
58462
|
+
keys,
|
|
58463
|
+
edits,
|
|
58464
|
+
prev: stack
|
|
58465
|
+
};
|
|
58466
|
+
inArray = Array.isArray(node);
|
|
58467
|
+
keys = inArray ? node : (_node$kind = visitorKeys[node.kind]) !== null && _node$kind !== void 0 ? _node$kind : [];
|
|
58468
|
+
index = -1;
|
|
58469
|
+
edits = [];
|
|
58470
|
+
if (parent) {
|
|
58471
|
+
ancestors.push(parent);
|
|
58472
|
+
}
|
|
58473
|
+
parent = node;
|
|
58474
|
+
}
|
|
58475
|
+
} while (stack !== void 0);
|
|
58476
|
+
if (edits.length !== 0) {
|
|
58477
|
+
return edits[edits.length - 1][1];
|
|
58478
|
+
}
|
|
58479
|
+
return root;
|
|
58480
|
+
}
|
|
58481
|
+
function getEnterLeaveForKind(visitor, kind) {
|
|
58482
|
+
const kindVisitor = visitor[kind];
|
|
58483
|
+
if (typeof kindVisitor === "object") {
|
|
58484
|
+
return kindVisitor;
|
|
58485
|
+
} else if (typeof kindVisitor === "function") {
|
|
58486
|
+
return {
|
|
58487
|
+
enter: kindVisitor,
|
|
58488
|
+
leave: void 0
|
|
58489
|
+
};
|
|
58490
|
+
}
|
|
58491
|
+
return {
|
|
58492
|
+
enter: visitor.enter,
|
|
58493
|
+
leave: visitor.leave
|
|
58494
|
+
};
|
|
58495
|
+
}
|
|
58496
|
+
function print(ast) {
|
|
58497
|
+
return visit(ast, printDocASTReducer);
|
|
58498
|
+
}
|
|
58499
|
+
const MAX_LINE_LENGTH = 80;
|
|
58500
|
+
const printDocASTReducer = {
|
|
58501
|
+
Name: {
|
|
58502
|
+
leave: (node) => node.value
|
|
58503
|
+
},
|
|
58504
|
+
Variable: {
|
|
58505
|
+
leave: (node) => "$" + node.name
|
|
58506
|
+
},
|
|
58507
|
+
// Document
|
|
58508
|
+
Document: {
|
|
58509
|
+
leave: (node) => join(node.definitions, "\n\n")
|
|
58510
|
+
},
|
|
58511
|
+
OperationDefinition: {
|
|
58512
|
+
leave(node) {
|
|
58513
|
+
const varDefs = wrap("(", join(node.variableDefinitions, ", "), ")");
|
|
58514
|
+
const prefix = join(
|
|
58515
|
+
[
|
|
58516
|
+
node.operation,
|
|
58517
|
+
join([node.name, varDefs]),
|
|
58518
|
+
join(node.directives, " ")
|
|
58519
|
+
],
|
|
58520
|
+
" "
|
|
58521
|
+
);
|
|
58522
|
+
return (prefix === "query" ? "" : prefix + " ") + node.selectionSet;
|
|
58523
|
+
}
|
|
58524
|
+
},
|
|
58525
|
+
VariableDefinition: {
|
|
58526
|
+
leave: ({ variable, type, defaultValue, directives }) => variable + ": " + type + wrap(" = ", defaultValue) + wrap(" ", join(directives, " "))
|
|
58527
|
+
},
|
|
58528
|
+
SelectionSet: {
|
|
58529
|
+
leave: ({ selections }) => block(selections)
|
|
58530
|
+
},
|
|
58531
|
+
Field: {
|
|
58532
|
+
leave({ alias, name, arguments: args, directives, selectionSet }) {
|
|
58533
|
+
const prefix = wrap("", alias, ": ") + name;
|
|
58534
|
+
let argsLine = prefix + wrap("(", join(args, ", "), ")");
|
|
58535
|
+
if (argsLine.length > MAX_LINE_LENGTH) {
|
|
58536
|
+
argsLine = prefix + wrap("(\n", indent(join(args, "\n")), "\n)");
|
|
58537
|
+
}
|
|
58538
|
+
return join([argsLine, join(directives, " "), selectionSet], " ");
|
|
58539
|
+
}
|
|
58540
|
+
},
|
|
58541
|
+
Argument: {
|
|
58542
|
+
leave: ({ name, value }) => name + ": " + value
|
|
58543
|
+
},
|
|
58544
|
+
// Fragments
|
|
58545
|
+
FragmentSpread: {
|
|
58546
|
+
leave: ({ name, directives }) => "..." + name + wrap(" ", join(directives, " "))
|
|
58547
|
+
},
|
|
58548
|
+
InlineFragment: {
|
|
58549
|
+
leave: ({ typeCondition, directives, selectionSet }) => join(
|
|
58550
|
+
[
|
|
58551
|
+
"...",
|
|
58552
|
+
wrap("on ", typeCondition),
|
|
58553
|
+
join(directives, " "),
|
|
58554
|
+
selectionSet
|
|
58555
|
+
],
|
|
58556
|
+
" "
|
|
58557
|
+
)
|
|
58558
|
+
},
|
|
58559
|
+
FragmentDefinition: {
|
|
58560
|
+
leave: ({ name, typeCondition, variableDefinitions, directives, selectionSet }) => (
|
|
58561
|
+
// or removed in the future.
|
|
58562
|
+
`fragment ${name}${wrap("(", join(variableDefinitions, ", "), ")")} on ${typeCondition} ${wrap("", join(directives, " "), " ")}` + selectionSet
|
|
58563
|
+
)
|
|
58564
|
+
},
|
|
58565
|
+
// Value
|
|
58566
|
+
IntValue: {
|
|
58567
|
+
leave: ({ value }) => value
|
|
58568
|
+
},
|
|
58569
|
+
FloatValue: {
|
|
58570
|
+
leave: ({ value }) => value
|
|
58571
|
+
},
|
|
58572
|
+
StringValue: {
|
|
58573
|
+
leave: ({ value, block: isBlockString }) => isBlockString ? printBlockString(value) : printString(value)
|
|
58574
|
+
},
|
|
58575
|
+
BooleanValue: {
|
|
58576
|
+
leave: ({ value }) => value ? "true" : "false"
|
|
58577
|
+
},
|
|
58578
|
+
NullValue: {
|
|
58579
|
+
leave: () => "null"
|
|
58580
|
+
},
|
|
58581
|
+
EnumValue: {
|
|
58582
|
+
leave: ({ value }) => value
|
|
58583
|
+
},
|
|
58584
|
+
ListValue: {
|
|
58585
|
+
leave: ({ values }) => "[" + join(values, ", ") + "]"
|
|
58586
|
+
},
|
|
58587
|
+
ObjectValue: {
|
|
58588
|
+
leave: ({ fields }) => "{" + join(fields, ", ") + "}"
|
|
58589
|
+
},
|
|
58590
|
+
ObjectField: {
|
|
58591
|
+
leave: ({ name, value }) => name + ": " + value
|
|
58592
|
+
},
|
|
58593
|
+
// Directive
|
|
58594
|
+
Directive: {
|
|
58595
|
+
leave: ({ name, arguments: args }) => "@" + name + wrap("(", join(args, ", "), ")")
|
|
58596
|
+
},
|
|
58597
|
+
// Type
|
|
58598
|
+
NamedType: {
|
|
58599
|
+
leave: ({ name }) => name
|
|
58600
|
+
},
|
|
58601
|
+
ListType: {
|
|
58602
|
+
leave: ({ type }) => "[" + type + "]"
|
|
58603
|
+
},
|
|
58604
|
+
NonNullType: {
|
|
58605
|
+
leave: ({ type }) => type + "!"
|
|
58606
|
+
},
|
|
58607
|
+
// Type System Definitions
|
|
58608
|
+
SchemaDefinition: {
|
|
58609
|
+
leave: ({ description, directives, operationTypes }) => wrap("", description, "\n") + join(["schema", join(directives, " "), block(operationTypes)], " ")
|
|
58610
|
+
},
|
|
58611
|
+
OperationTypeDefinition: {
|
|
58612
|
+
leave: ({ operation, type }) => operation + ": " + type
|
|
58613
|
+
},
|
|
58614
|
+
ScalarTypeDefinition: {
|
|
58615
|
+
leave: ({ description, name, directives }) => wrap("", description, "\n") + join(["scalar", name, join(directives, " ")], " ")
|
|
58616
|
+
},
|
|
58617
|
+
ObjectTypeDefinition: {
|
|
58618
|
+
leave: ({ description, name, interfaces, directives, fields }) => wrap("", description, "\n") + join(
|
|
58619
|
+
[
|
|
58620
|
+
"type",
|
|
58621
|
+
name,
|
|
58622
|
+
wrap("implements ", join(interfaces, " & ")),
|
|
58623
|
+
join(directives, " "),
|
|
58624
|
+
block(fields)
|
|
58625
|
+
],
|
|
58626
|
+
" "
|
|
58627
|
+
)
|
|
58628
|
+
},
|
|
58629
|
+
FieldDefinition: {
|
|
58630
|
+
leave: ({ description, name, arguments: args, type, directives }) => wrap("", description, "\n") + name + (hasMultilineItems(args) ? wrap("(\n", indent(join(args, "\n")), "\n)") : wrap("(", join(args, ", "), ")")) + ": " + type + wrap(" ", join(directives, " "))
|
|
58631
|
+
},
|
|
58632
|
+
InputValueDefinition: {
|
|
58633
|
+
leave: ({ description, name, type, defaultValue, directives }) => wrap("", description, "\n") + join(
|
|
58634
|
+
[name + ": " + type, wrap("= ", defaultValue), join(directives, " ")],
|
|
58635
|
+
" "
|
|
58636
|
+
)
|
|
58637
|
+
},
|
|
58638
|
+
InterfaceTypeDefinition: {
|
|
58639
|
+
leave: ({ description, name, interfaces, directives, fields }) => wrap("", description, "\n") + join(
|
|
58640
|
+
[
|
|
58641
|
+
"interface",
|
|
58642
|
+
name,
|
|
58643
|
+
wrap("implements ", join(interfaces, " & ")),
|
|
58644
|
+
join(directives, " "),
|
|
58645
|
+
block(fields)
|
|
58646
|
+
],
|
|
58647
|
+
" "
|
|
58648
|
+
)
|
|
58649
|
+
},
|
|
58650
|
+
UnionTypeDefinition: {
|
|
58651
|
+
leave: ({ description, name, directives, types }) => wrap("", description, "\n") + join(
|
|
58652
|
+
["union", name, join(directives, " "), wrap("= ", join(types, " | "))],
|
|
58653
|
+
" "
|
|
58654
|
+
)
|
|
58655
|
+
},
|
|
58656
|
+
EnumTypeDefinition: {
|
|
58657
|
+
leave: ({ description, name, directives, values }) => wrap("", description, "\n") + join(["enum", name, join(directives, " "), block(values)], " ")
|
|
58658
|
+
},
|
|
58659
|
+
EnumValueDefinition: {
|
|
58660
|
+
leave: ({ description, name, directives }) => wrap("", description, "\n") + join([name, join(directives, " ")], " ")
|
|
58661
|
+
},
|
|
58662
|
+
InputObjectTypeDefinition: {
|
|
58663
|
+
leave: ({ description, name, directives, fields }) => wrap("", description, "\n") + join(["input", name, join(directives, " "), block(fields)], " ")
|
|
58664
|
+
},
|
|
58665
|
+
DirectiveDefinition: {
|
|
58666
|
+
leave: ({ description, name, arguments: args, repeatable, locations }) => wrap("", description, "\n") + "directive @" + name + (hasMultilineItems(args) ? wrap("(\n", indent(join(args, "\n")), "\n)") : wrap("(", join(args, ", "), ")")) + (repeatable ? " repeatable" : "") + " on " + join(locations, " | ")
|
|
58667
|
+
},
|
|
58668
|
+
SchemaExtension: {
|
|
58669
|
+
leave: ({ directives, operationTypes }) => join(
|
|
58670
|
+
["extend schema", join(directives, " "), block(operationTypes)],
|
|
58671
|
+
" "
|
|
58672
|
+
)
|
|
58673
|
+
},
|
|
58674
|
+
ScalarTypeExtension: {
|
|
58675
|
+
leave: ({ name, directives }) => join(["extend scalar", name, join(directives, " ")], " ")
|
|
58676
|
+
},
|
|
58677
|
+
ObjectTypeExtension: {
|
|
58678
|
+
leave: ({ name, interfaces, directives, fields }) => join(
|
|
58679
|
+
[
|
|
58680
|
+
"extend type",
|
|
58681
|
+
name,
|
|
58682
|
+
wrap("implements ", join(interfaces, " & ")),
|
|
58683
|
+
join(directives, " "),
|
|
58684
|
+
block(fields)
|
|
58685
|
+
],
|
|
58686
|
+
" "
|
|
58687
|
+
)
|
|
58688
|
+
},
|
|
58689
|
+
InterfaceTypeExtension: {
|
|
58690
|
+
leave: ({ name, interfaces, directives, fields }) => join(
|
|
58691
|
+
[
|
|
58692
|
+
"extend interface",
|
|
58693
|
+
name,
|
|
58694
|
+
wrap("implements ", join(interfaces, " & ")),
|
|
58695
|
+
join(directives, " "),
|
|
58696
|
+
block(fields)
|
|
58697
|
+
],
|
|
58698
|
+
" "
|
|
58699
|
+
)
|
|
58700
|
+
},
|
|
58701
|
+
UnionTypeExtension: {
|
|
58702
|
+
leave: ({ name, directives, types }) => join(
|
|
58703
|
+
[
|
|
58704
|
+
"extend union",
|
|
58705
|
+
name,
|
|
58706
|
+
join(directives, " "),
|
|
58707
|
+
wrap("= ", join(types, " | "))
|
|
58708
|
+
],
|
|
58709
|
+
" "
|
|
58710
|
+
)
|
|
58711
|
+
},
|
|
58712
|
+
EnumTypeExtension: {
|
|
58713
|
+
leave: ({ name, directives, values }) => join(["extend enum", name, join(directives, " "), block(values)], " ")
|
|
58714
|
+
},
|
|
58715
|
+
InputObjectTypeExtension: {
|
|
58716
|
+
leave: ({ name, directives, fields }) => join(["extend input", name, join(directives, " "), block(fields)], " ")
|
|
58717
|
+
}
|
|
58718
|
+
};
|
|
58719
|
+
function join(maybeArray, separator = "") {
|
|
58720
|
+
var _maybeArray$filter$jo;
|
|
58721
|
+
return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter((x) => x).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : "";
|
|
58722
|
+
}
|
|
58723
|
+
function block(array) {
|
|
58724
|
+
return wrap("{\n", indent(join(array, "\n")), "\n}");
|
|
58725
|
+
}
|
|
58726
|
+
function wrap(start, maybeString, end = "") {
|
|
58727
|
+
return maybeString != null && maybeString !== "" ? start + maybeString + end : "";
|
|
58728
|
+
}
|
|
58729
|
+
function indent(str) {
|
|
58730
|
+
return wrap(" ", str.replace(/\n/g, "\n "));
|
|
58731
|
+
}
|
|
58732
|
+
function hasMultilineItems(maybeArray) {
|
|
58733
|
+
var _maybeArray$some;
|
|
58734
|
+
return (_maybeArray$some = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.some((str) => str.includes("\n"))) !== null && _maybeArray$some !== void 0 ? _maybeArray$some : false;
|
|
58735
|
+
}
|
|
58736
|
+
|
|
58737
|
+
/*!
|
|
58738
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
58739
|
+
* All rights reserved.
|
|
58740
|
+
* For full license text, see the LICENSE.txt file
|
|
58741
|
+
*/
|
|
58742
|
+
function findExecutableOperation(input) {
|
|
58743
|
+
const operations = input.query.definitions.filter(
|
|
58744
|
+
(def) => def.kind === Kind.OPERATION_DEFINITION
|
|
58745
|
+
);
|
|
58746
|
+
if (operations.length === 0) {
|
|
58747
|
+
return err$1(new Error("No operations found in query"));
|
|
58748
|
+
}
|
|
58749
|
+
if (operations.length === 1 && !input.operationName) {
|
|
58750
|
+
return ok$1(operations[0]);
|
|
58751
|
+
}
|
|
58752
|
+
if (input.operationName) {
|
|
58753
|
+
const specifiedOperation = operations.find((op) => {
|
|
58754
|
+
var _a;
|
|
58755
|
+
return ((_a = op.name) == null ? void 0 : _a.value) === input.operationName;
|
|
58756
|
+
});
|
|
58757
|
+
if (specifiedOperation) {
|
|
58758
|
+
return ok$1(specifiedOperation);
|
|
58759
|
+
}
|
|
58760
|
+
return err$1(new Error(`Operation "${input.operationName}" not found in query`));
|
|
58761
|
+
}
|
|
58762
|
+
return err$1(new Error("Multiple operations found in query, and no operation name provided"));
|
|
58763
|
+
}
|
|
58764
|
+
function buildGraphQLInputExtension(input) {
|
|
58765
|
+
const operationResult = findExecutableOperation(input);
|
|
58766
|
+
if (operationResult.isErr()) {
|
|
58767
|
+
return err$1(operationResult.error);
|
|
58768
|
+
}
|
|
58769
|
+
const operation = operationResult.value;
|
|
58770
|
+
const selections = operation.selectionSet.selections;
|
|
58771
|
+
const variableDefinitions = operation.variableDefinitions;
|
|
58772
|
+
const variables = (variableDefinitions == null ? void 0 : variableDefinitions.reduce((prev, def) => {
|
|
58773
|
+
var _a;
|
|
58774
|
+
prev[def.variable.name.value] = {
|
|
58775
|
+
definition: def,
|
|
58776
|
+
value: (_a = input.variables) == null ? void 0 : _a[def.variable.name.value]
|
|
58777
|
+
};
|
|
58778
|
+
return prev;
|
|
58779
|
+
}, {})) || {};
|
|
58780
|
+
const fragments = input.query.definitions.filter((def) => def.kind === "FragmentDefinition").reduce((prev, fragment) => {
|
|
58781
|
+
prev[fragment.name.value] = fragment;
|
|
58782
|
+
return prev;
|
|
58783
|
+
}, {});
|
|
58784
|
+
return ok$1({
|
|
58785
|
+
selections,
|
|
58786
|
+
request: { definitions: { variables, fragments } },
|
|
58787
|
+
parentFieldSelection: void 0
|
|
58788
|
+
});
|
|
58789
|
+
}
|
|
58790
|
+
|
|
58791
|
+
/*!
|
|
58792
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
58793
|
+
* All rights reserved.
|
|
58794
|
+
* For full license text, see the LICENSE.txt file
|
|
58795
|
+
*/
|
|
58796
|
+
class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheControlCommand {
|
|
58797
|
+
constructor(config, documentRootType, services) {
|
|
58798
|
+
super(services);
|
|
58799
|
+
this.config = config;
|
|
58800
|
+
this.documentRootType = documentRootType;
|
|
58801
|
+
this.services = services;
|
|
58802
|
+
}
|
|
58803
|
+
buildResultType() {
|
|
58804
|
+
return this.documentRootType;
|
|
58805
|
+
}
|
|
58806
|
+
buildQuery() {
|
|
58807
|
+
const extensionResult = buildGraphQLInputExtension(this.config);
|
|
58808
|
+
if (extensionResult.isErr()) {
|
|
58809
|
+
throw extensionResult.error;
|
|
58810
|
+
}
|
|
58811
|
+
return {
|
|
58812
|
+
type: "keyParams",
|
|
58813
|
+
keyParams: null,
|
|
58814
|
+
...extensionResult.value
|
|
58815
|
+
};
|
|
58816
|
+
}
|
|
58817
|
+
responseHasErrors(data) {
|
|
58818
|
+
return data.hasOwnProperty("errors") && data.errors && data.errors.length > 0;
|
|
58819
|
+
}
|
|
58820
|
+
processAuraReturnValue(auraReturnValue) {
|
|
58821
|
+
if (this.responseHasErrors(auraReturnValue)) {
|
|
58822
|
+
return err$1(new UserVisibleError(auraReturnValue));
|
|
58823
|
+
}
|
|
58824
|
+
return ok$1(auraReturnValue);
|
|
58825
|
+
}
|
|
58826
|
+
processFetchReturnValue(json) {
|
|
58827
|
+
if (this.responseHasErrors(json)) {
|
|
58828
|
+
return err$1(new UserVisibleError(json));
|
|
58829
|
+
}
|
|
58830
|
+
return ok$1(json);
|
|
58831
|
+
}
|
|
58832
|
+
/**
|
|
58833
|
+
* Optional body wrapper name for aura requests.
|
|
58834
|
+
* If defined, the aura params will be wrapped in an object with this property name.
|
|
58835
|
+
* Override this method in subclasses if a body wrapper is needed.
|
|
58836
|
+
*/
|
|
58837
|
+
get auraBodyWrapperName() {
|
|
58838
|
+
return void 0;
|
|
58839
|
+
}
|
|
58840
|
+
get auraParams() {
|
|
58841
|
+
const params = { ...this.config, query: print(this.buildRequestQuery()) };
|
|
58842
|
+
if (this.auraBodyWrapperName) {
|
|
58843
|
+
return { [this.auraBodyWrapperName]: params };
|
|
58844
|
+
}
|
|
58845
|
+
return params;
|
|
58846
|
+
}
|
|
58847
|
+
get fetchParams() {
|
|
58848
|
+
const body = { ...this.config, query: print(this.buildRequestQuery()) };
|
|
58849
|
+
const headers = {
|
|
58850
|
+
"Content-Type": "application/json"
|
|
58851
|
+
};
|
|
58852
|
+
const params = {
|
|
58853
|
+
method: "POST",
|
|
58854
|
+
cache: "no-cache",
|
|
58855
|
+
headers,
|
|
58856
|
+
body: JSON.stringify(body)
|
|
58857
|
+
};
|
|
58858
|
+
return [this.url, params];
|
|
58859
|
+
}
|
|
58860
|
+
get originalAuraParams() {
|
|
58861
|
+
const params = { ...this.config, query: print(this.config.query) };
|
|
58862
|
+
if (this.auraBodyWrapperName) {
|
|
58863
|
+
return { [this.auraBodyWrapperName]: params };
|
|
58864
|
+
}
|
|
58865
|
+
return params;
|
|
58866
|
+
}
|
|
58867
|
+
get originalFetchParams() {
|
|
58868
|
+
const body = { ...this.config, query: print(this.config.query) };
|
|
58869
|
+
const headers = {
|
|
58870
|
+
"Content-Type": "application/json"
|
|
58871
|
+
};
|
|
58872
|
+
const params = {
|
|
58873
|
+
method: "POST",
|
|
58874
|
+
cache: "no-cache",
|
|
58875
|
+
headers,
|
|
58876
|
+
body: JSON.stringify(body)
|
|
58877
|
+
};
|
|
58878
|
+
return [this.url, params];
|
|
58879
|
+
}
|
|
58880
|
+
// TODO: We should respect the cache control strategy in this method. We don't support only-if-cached strategies at the moment, but if we did add support, we would technically violate that cache control strategy if the data wasn't in the cache here.
|
|
58881
|
+
runOriginalRequest() {
|
|
58882
|
+
if (this.shouldUseAuraNetwork()) {
|
|
58883
|
+
return this.convertAuraResponseToData(
|
|
58884
|
+
this.services.auraNetwork(
|
|
58885
|
+
this.endpoint,
|
|
58886
|
+
this.originalAuraParams,
|
|
58887
|
+
this.actionConfig
|
|
58888
|
+
),
|
|
58889
|
+
(errs) => this.coerceError(errs)
|
|
58890
|
+
).then((result) => {
|
|
58891
|
+
if (result.isOk()) {
|
|
58892
|
+
return this.constructSubscribableResult(result.value);
|
|
58893
|
+
}
|
|
58894
|
+
return result;
|
|
58895
|
+
});
|
|
58896
|
+
} else if (this.shouldUseFetch()) {
|
|
58897
|
+
return this.convertFetchResponseToData(
|
|
58898
|
+
this.services.fetch(...this.originalFetchParams)
|
|
58899
|
+
).then((result) => {
|
|
58900
|
+
if (result.isOk()) {
|
|
58901
|
+
return this.constructSubscribableResult(result.value);
|
|
58902
|
+
}
|
|
58903
|
+
return result;
|
|
58904
|
+
});
|
|
58905
|
+
}
|
|
58906
|
+
return resolvedPromiseLike$3(err$1(toError("Aura/Fetch network services not found")));
|
|
58907
|
+
}
|
|
58908
|
+
buildRequestQuery() {
|
|
58909
|
+
const augmentedQueryResult = this.documentRootType.buildAugmentedQuery(this.config);
|
|
58910
|
+
if (augmentedQueryResult.isErr()) {
|
|
58911
|
+
throw augmentedQueryResult.error;
|
|
58912
|
+
}
|
|
58913
|
+
return augmentedQueryResult.value;
|
|
58914
|
+
}
|
|
58915
|
+
buildWriteInput(data) {
|
|
58916
|
+
const extensionResult = buildGraphQLInputExtension({
|
|
58917
|
+
...this.config,
|
|
58918
|
+
query: this.buildRequestQuery()
|
|
58919
|
+
});
|
|
58920
|
+
if (extensionResult.isErr()) {
|
|
58921
|
+
throw new InternalError(extensionResult.error);
|
|
58922
|
+
}
|
|
58923
|
+
return { data: data.data, ...extensionResult.value };
|
|
58924
|
+
}
|
|
58925
|
+
// Any changes to this method should most likely be duplicated in the https command as well
|
|
58926
|
+
handleCacheControllerResult(result, requestRunner) {
|
|
58927
|
+
const { networkError, returnData } = requestRunner;
|
|
58928
|
+
return this.publishUpdatedKeys().then(() => {
|
|
58929
|
+
if (networkError || returnData === void 0 || returnData.isErr() || result.isErr()) {
|
|
58930
|
+
return this.runOriginalRequest();
|
|
58931
|
+
}
|
|
58932
|
+
if (this.subscriptions.length > 0) {
|
|
58933
|
+
this.subscribeToKeysUsed();
|
|
58934
|
+
}
|
|
58935
|
+
if (this.lastEmittedData === void 0) {
|
|
58936
|
+
this.lastEmittedData = returnData.value.data;
|
|
58937
|
+
}
|
|
58938
|
+
return returnData;
|
|
58939
|
+
});
|
|
58940
|
+
}
|
|
58941
|
+
}
|
|
58942
|
+
function buildServiceDescriptor$3() {
|
|
58943
|
+
return {
|
|
58944
|
+
type: "auraGraphQLNormalizedCacheControlCommand",
|
|
58945
|
+
version: "1.0",
|
|
58946
|
+
service: AuraGraphQLNormalizedCacheControlCommand
|
|
58947
|
+
};
|
|
58948
|
+
}
|
|
58949
|
+
|
|
58950
|
+
/*!
|
|
58951
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
58952
|
+
* All rights reserved.
|
|
58953
|
+
* For full license text, see the LICENSE.txt file
|
|
58954
|
+
*/
|
|
58955
|
+
class HttpGraphQLNormalizedCacheControlCommand extends HttpNormalizedCacheControlCommand {
|
|
58956
|
+
constructor(config, documentRootType, services) {
|
|
58957
|
+
super(services);
|
|
58958
|
+
this.config = config;
|
|
58959
|
+
this.documentRootType = documentRootType;
|
|
58960
|
+
this.services = services;
|
|
58961
|
+
}
|
|
58962
|
+
buildResultType() {
|
|
58963
|
+
return this.documentRootType;
|
|
58964
|
+
}
|
|
58965
|
+
buildQuery() {
|
|
58966
|
+
const extensionResult = buildGraphQLInputExtension(this.config);
|
|
58967
|
+
if (extensionResult.isErr()) {
|
|
58968
|
+
throw extensionResult.error;
|
|
58969
|
+
}
|
|
58970
|
+
return {
|
|
58971
|
+
type: "keyParams",
|
|
58972
|
+
keyParams: null,
|
|
58973
|
+
...extensionResult.value
|
|
58974
|
+
};
|
|
58975
|
+
}
|
|
58976
|
+
get fetchParams() {
|
|
58977
|
+
const body = { ...this.config, query: print(this.buildRequestQuery()) };
|
|
58978
|
+
const headers = {
|
|
58979
|
+
"Content-Type": "application/json"
|
|
58980
|
+
};
|
|
58981
|
+
const params = {
|
|
58982
|
+
method: "POST",
|
|
58983
|
+
cache: "no-cache",
|
|
58984
|
+
headers,
|
|
58985
|
+
body: JSON.stringify(body)
|
|
58986
|
+
};
|
|
58987
|
+
return [this.url, params];
|
|
58988
|
+
}
|
|
58989
|
+
get originalFetchParams() {
|
|
58990
|
+
const body = { ...this.config, query: print(this.config.query) };
|
|
58991
|
+
const headers = {
|
|
58992
|
+
"Content-Type": "application/json"
|
|
58993
|
+
};
|
|
58994
|
+
const params = {
|
|
58995
|
+
method: "POST",
|
|
58996
|
+
cache: "no-cache",
|
|
58997
|
+
headers,
|
|
58998
|
+
body: JSON.stringify(body)
|
|
58999
|
+
};
|
|
59000
|
+
return [this.url, params];
|
|
59001
|
+
}
|
|
59002
|
+
buildRequestQuery() {
|
|
59003
|
+
const augmentedQueryResult = this.documentRootType.buildAugmentedQuery(this.config);
|
|
59004
|
+
if (augmentedQueryResult.isErr()) {
|
|
59005
|
+
throw augmentedQueryResult.error;
|
|
59006
|
+
}
|
|
59007
|
+
return augmentedQueryResult.value;
|
|
59008
|
+
}
|
|
59009
|
+
buildWriteInput(data) {
|
|
59010
|
+
const extensionResult = buildGraphQLInputExtension({
|
|
59011
|
+
...this.config,
|
|
59012
|
+
query: this.buildRequestQuery()
|
|
59013
|
+
});
|
|
59014
|
+
if (extensionResult.isErr()) {
|
|
59015
|
+
throw new InternalError(extensionResult.error);
|
|
59016
|
+
}
|
|
59017
|
+
return { data: data.data, ...extensionResult.value };
|
|
59018
|
+
}
|
|
59019
|
+
processFetchReturnValue(json) {
|
|
59020
|
+
if (json.hasOwnProperty("errors") && json.errors && json.errors.length > 0) {
|
|
59021
|
+
return err$1(new UserVisibleError(json));
|
|
59022
|
+
}
|
|
59023
|
+
return ok$1(json);
|
|
59024
|
+
}
|
|
59025
|
+
runOriginalRequest() {
|
|
59026
|
+
return this.convertFetchResponseToData(
|
|
59027
|
+
this.services.fetch(...this.originalFetchParams)
|
|
59028
|
+
).then((result) => {
|
|
59029
|
+
if (result.isOk()) {
|
|
59030
|
+
return this.constructSubscribableResult(result.value);
|
|
59031
|
+
}
|
|
59032
|
+
return result;
|
|
59033
|
+
});
|
|
59034
|
+
}
|
|
59035
|
+
// Any changes to this method should most likely be duplicated in the aura command as well
|
|
59036
|
+
handleCacheControllerResult(result, requestRunner) {
|
|
59037
|
+
const { networkError, returnData } = requestRunner;
|
|
59038
|
+
return this.publishUpdatedKeys().then(() => {
|
|
59039
|
+
if (networkError || returnData === void 0 || returnData.isErr() || result.isErr()) {
|
|
59040
|
+
return this.runOriginalRequest();
|
|
59041
|
+
}
|
|
59042
|
+
if (this.subscriptions.length > 0) {
|
|
59043
|
+
this.subscribeToKeysUsed();
|
|
59044
|
+
}
|
|
59045
|
+
if (this.lastEmittedData === void 0) {
|
|
59046
|
+
this.lastEmittedData = returnData.value.data;
|
|
59047
|
+
}
|
|
59048
|
+
return returnData;
|
|
59049
|
+
});
|
|
59050
|
+
}
|
|
59051
|
+
}
|
|
59052
|
+
function buildServiceDescriptor$2() {
|
|
59053
|
+
return {
|
|
59054
|
+
type: "httpGraphQLNormalizedCacheControlCommand",
|
|
59055
|
+
version: "1.0",
|
|
59056
|
+
service: HttpGraphQLNormalizedCacheControlCommand
|
|
59057
|
+
};
|
|
59058
|
+
}
|
|
59059
|
+
|
|
57736
59060
|
/*!
|
|
57737
59061
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
57738
59062
|
* All rights reserved.
|
|
@@ -58447,22 +59771,35 @@ function initializeOneStore(sqliteStore) {
|
|
|
58447
59771
|
globalThis.performance = { now: () => Date.now() };
|
|
58448
59772
|
}
|
|
58449
59773
|
const loggerService = new ConsoleLogger('ERROR');
|
|
58450
|
-
const cacheServiceDescriptor = buildServiceDescriptor$
|
|
58451
|
-
const instrumentationServiceDescriptor = buildServiceDescriptor$
|
|
59774
|
+
const cacheServiceDescriptor = buildServiceDescriptor$b();
|
|
59775
|
+
const instrumentationServiceDescriptor = buildServiceDescriptor$8(loggerService);
|
|
58452
59776
|
const nimbusSqliteOneStoreCacheServiceDescriptor = buildNimbusDurableCacheInclusionPolicyService(cacheServiceDescriptor.service, new NimbusSqliteOneStoreCache(sqliteStore));
|
|
59777
|
+
const featureFlagsServiceDescriptor = buildServiceDescriptor$6();
|
|
59778
|
+
const featureFlagsService = featureFlagsServiceDescriptor.service;
|
|
59779
|
+
// This disables the OneStore GraphQL in this runtime
|
|
59780
|
+
// We made the decision to continue using the Luvio based version in Mobile
|
|
59781
|
+
// due to the fact that offline support depends on Luvio, and mobile
|
|
59782
|
+
// does not want to migrate right now
|
|
59783
|
+
featureFlagsService.set('useOneStoreGraphQL', false);
|
|
58453
59784
|
const services = [
|
|
58454
59785
|
instrumentationServiceDescriptor,
|
|
58455
59786
|
buildNimbusFetchServiceDescriptor(),
|
|
58456
|
-
buildServiceDescriptor$
|
|
59787
|
+
buildServiceDescriptor$9(instrumentationServiceDescriptor.service),
|
|
58457
59788
|
// NOTE: These do not directly depend on Aura, and are necessary for HTTP fallback support.
|
|
58458
|
-
buildServiceDescriptor$
|
|
58459
|
-
buildServiceDescriptor$
|
|
58460
|
-
buildServiceDescriptor$
|
|
58461
|
-
buildServiceDescriptor$
|
|
58462
|
-
buildServiceDescriptor$
|
|
59789
|
+
buildServiceDescriptor$g(),
|
|
59790
|
+
buildServiceDescriptor$f(),
|
|
59791
|
+
buildServiceDescriptor$e(),
|
|
59792
|
+
buildServiceDescriptor$a(cacheServiceDescriptor.service, nimbusSqliteOneStoreCacheServiceDescriptor.service),
|
|
59793
|
+
buildServiceDescriptor$d(),
|
|
59794
|
+
buildServiceDescriptor$h(),
|
|
58463
59795
|
buildServiceDescriptor$c(),
|
|
58464
59796
|
buildServiceDescriptor$7(),
|
|
59797
|
+
buildServiceDescriptor$3(),
|
|
58465
59798
|
buildServiceDescriptor$2(),
|
|
59799
|
+
featureFlagsServiceDescriptor,
|
|
59800
|
+
// Luvio service won't be used since we set the useOneStoreGraphQL flag to false
|
|
59801
|
+
buildServiceDescriptor$5({}),
|
|
59802
|
+
buildServiceDescriptor$4({}, {}),
|
|
58466
59803
|
// TODO[@W-18753648]: See note above.
|
|
58467
59804
|
// buildStreamingCommandServiceDescriptor(),
|
|
58468
59805
|
// buildNdJsonServiceDescriptor(),
|
|
@@ -58676,4 +60013,4 @@ register({
|
|
|
58676
60013
|
});
|
|
58677
60014
|
|
|
58678
60015
|
export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, ingest$1o as ingestDenormalizedRecordRepresentation, registerReportObserver, reportGraphqlQueryParseError };
|
|
58679
|
-
// version: 1.
|
|
60016
|
+
// version: 1.377.1-dadb6358f3
|