@salesforce/lds-adapters-industries-scheduler 1.100.2
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/LICENSE.txt +82 -0
- package/dist/es/es2018/industries-scheduler.js +1142 -0
- package/dist/types/src/generated/adapters/adapter-utils.d.ts +66 -0
- package/dist/types/src/generated/adapters/createServiceAppointment.d.ts +15 -0
- package/dist/types/src/generated/adapters/getEngagementChannelTypes.d.ts +27 -0
- package/dist/types/src/generated/adapters/updateServiceAppointment.d.ts +15 -0
- package/dist/types/src/generated/artifacts/main.d.ts +3 -0
- package/dist/types/src/generated/artifacts/sfdc.d.ts +5 -0
- package/dist/types/src/generated/resources/getConnectSchedulingEngagementChannelTypes.d.ts +16 -0
- package/dist/types/src/generated/resources/patchConnectSchedulingServiceAppointments.d.ts +13 -0
- package/dist/types/src/generated/resources/postConnectSchedulingServiceAppointments.d.ts +13 -0
- package/dist/types/src/generated/types/AbstractServiceAppointmentInputRepresentation.d.ts +41 -0
- package/dist/types/src/generated/types/AssignedResourceInputRepresentation.d.ts +38 -0
- package/dist/types/src/generated/types/AssignedResourceListInputRepresentation.d.ts +29 -0
- package/dist/types/src/generated/types/CreateServiceAppointmentData.d.ts +30 -0
- package/dist/types/src/generated/types/CreateServiceAppointmentInputRepresentation.d.ts +41 -0
- package/dist/types/src/generated/types/CreateServiceAppointmentResult.d.ts +35 -0
- package/dist/types/src/generated/types/ExtendedFieldInputRepresentation.d.ts +32 -0
- package/dist/types/src/generated/types/ExtendedFieldListInputRepresentation.d.ts +29 -0
- package/dist/types/src/generated/types/GetEngagementChannelTypeListResult.d.ts +30 -0
- package/dist/types/src/generated/types/GetEngagementChannelTypeOutputRepresentation.d.ts +30 -0
- package/dist/types/src/generated/types/GetEngagementChannelTypeResult.d.ts +44 -0
- package/dist/types/src/generated/types/LeadInputRepresentation.d.ts +44 -0
- package/dist/types/src/generated/types/ServiceAppointmentInputRepresentation.d.ts +80 -0
- package/dist/types/src/generated/types/ServiceAppointmentOutputRepresentation.d.ts +47 -0
- package/dist/types/src/generated/types/ServiceAppointmentResult.d.ts +44 -0
- package/dist/types/src/generated/types/UpdateServiceAppointmentData.d.ts +30 -0
- package/dist/types/src/generated/types/UpdateServiceAppointmentInputRepresentation.d.ts +41 -0
- package/dist/types/src/generated/types/type-utils.d.ts +39 -0
- package/dist/umd/es2018/industries-scheduler.js +1152 -0
- package/dist/umd/es5/industries-scheduler.js +1159 -0
- package/package.json +71 -0
- package/sfdc/index.d.ts +1 -0
- package/sfdc/index.js +1183 -0
- package/src/raml/api.raml +401 -0
- package/src/raml/luvio.raml +30 -0
|
@@ -0,0 +1,1152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022, Salesforce, Inc.,
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* For full license text, see the LICENSE.txt file
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
(function (global, factory) {
|
|
8
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@luvio/engine')) :
|
|
9
|
+
typeof define === 'function' && define.amd ? define(['exports', '@luvio/engine'], factory) :
|
|
10
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.industriesScheduler = {}, global.engine));
|
|
11
|
+
})(this, (function (exports, engine) { 'use strict';
|
|
12
|
+
|
|
13
|
+
const { hasOwnProperty: ObjectPrototypeHasOwnProperty } = Object.prototype;
|
|
14
|
+
const { keys: ObjectKeys$1, freeze: ObjectFreeze$1, create: ObjectCreate$1 } = Object;
|
|
15
|
+
const { isArray: ArrayIsArray$1 } = Array;
|
|
16
|
+
/**
|
|
17
|
+
* Validates an adapter config is well-formed.
|
|
18
|
+
* @param config The config to validate.
|
|
19
|
+
* @param adapter The adapter validation configuration.
|
|
20
|
+
* @param oneOf The keys the config must contain at least one of.
|
|
21
|
+
* @throws A TypeError if config doesn't satisfy the adapter's config validation.
|
|
22
|
+
*/
|
|
23
|
+
function validateConfig(config, adapter, oneOf) {
|
|
24
|
+
const { displayName } = adapter;
|
|
25
|
+
const { required, optional, unsupported } = adapter.parameters;
|
|
26
|
+
if (config === undefined ||
|
|
27
|
+
required.every(req => ObjectPrototypeHasOwnProperty.call(config, req)) === false) {
|
|
28
|
+
throw new TypeError(`adapter ${displayName} configuration must specify ${required.sort().join(', ')}`);
|
|
29
|
+
}
|
|
30
|
+
if (oneOf && oneOf.some(req => ObjectPrototypeHasOwnProperty.call(config, req)) === false) {
|
|
31
|
+
throw new TypeError(`adapter ${displayName} configuration must specify one of ${oneOf.sort().join(', ')}`);
|
|
32
|
+
}
|
|
33
|
+
if (unsupported !== undefined &&
|
|
34
|
+
unsupported.some(req => ObjectPrototypeHasOwnProperty.call(config, req))) {
|
|
35
|
+
throw new TypeError(`adapter ${displayName} does not yet support ${unsupported.sort().join(', ')}`);
|
|
36
|
+
}
|
|
37
|
+
const supported = required.concat(optional);
|
|
38
|
+
if (ObjectKeys$1(config).some(key => !supported.includes(key))) {
|
|
39
|
+
throw new TypeError(`adapter ${displayName} configuration supports only ${supported.sort().join(', ')}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function untrustedIsObject(untrusted) {
|
|
43
|
+
return typeof untrusted === 'object' && untrusted !== null && ArrayIsArray$1(untrusted) === false;
|
|
44
|
+
}
|
|
45
|
+
function areRequiredParametersPresent(config, configPropertyNames) {
|
|
46
|
+
return configPropertyNames.parameters.required.every(req => req in config);
|
|
47
|
+
}
|
|
48
|
+
const snapshotRefreshOptions = {
|
|
49
|
+
overrides: {
|
|
50
|
+
headers: {
|
|
51
|
+
'Cache-Control': 'no-cache',
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const keyPrefix = 'IndustriesScheduler';
|
|
56
|
+
|
|
57
|
+
const { freeze: ObjectFreeze, keys: ObjectKeys, create: ObjectCreate, assign: ObjectAssign } = Object;
|
|
58
|
+
const { isArray: ArrayIsArray } = Array;
|
|
59
|
+
function equalsArray(a, b, equalsItem) {
|
|
60
|
+
const aLength = a.length;
|
|
61
|
+
const bLength = b.length;
|
|
62
|
+
if (aLength !== bLength) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
for (let i = 0; i < aLength; i++) {
|
|
66
|
+
if (equalsItem(a[i], b[i]) === false) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
function deepFreeze(value) {
|
|
73
|
+
// No need to freeze primitives
|
|
74
|
+
if (typeof value !== 'object' || value === null) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (ArrayIsArray(value)) {
|
|
78
|
+
for (let i = 0, len = value.length; i < len; i += 1) {
|
|
79
|
+
deepFreeze(value[i]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const keys = ObjectKeys(value);
|
|
84
|
+
for (let i = 0, len = keys.length; i < len; i += 1) {
|
|
85
|
+
deepFreeze(value[keys[i]]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
ObjectFreeze(value);
|
|
89
|
+
}
|
|
90
|
+
function createLink(ref) {
|
|
91
|
+
return {
|
|
92
|
+
__ref: engine.serializeStructuredKey(ref),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const VERSION$4 = "745ed19773bc6307c6816a6d100b0cbe";
|
|
97
|
+
function validate$6(obj, path = 'GetEngagementChannelTypeResult') {
|
|
98
|
+
const v_error = (() => {
|
|
99
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
100
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
101
|
+
}
|
|
102
|
+
if (obj.contactPoint !== undefined) {
|
|
103
|
+
const obj_contactPoint = obj.contactPoint;
|
|
104
|
+
const path_contactPoint = path + '.contactPoint';
|
|
105
|
+
if (typeof obj_contactPoint !== 'string') {
|
|
106
|
+
return new TypeError('Expected "string" but received "' + typeof obj_contactPoint + '" (at "' + path_contactPoint + '")');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (obj.contactPointType !== undefined) {
|
|
110
|
+
const obj_contactPointType = obj.contactPointType;
|
|
111
|
+
const path_contactPointType = path + '.contactPointType';
|
|
112
|
+
if (typeof obj_contactPointType !== 'string') {
|
|
113
|
+
return new TypeError('Expected "string" but received "' + typeof obj_contactPointType + '" (at "' + path_contactPointType + '")');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (obj.id !== undefined) {
|
|
117
|
+
const obj_id = obj.id;
|
|
118
|
+
const path_id = path + '.id';
|
|
119
|
+
if (typeof obj_id !== 'string') {
|
|
120
|
+
return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (obj.name !== undefined) {
|
|
124
|
+
const obj_name = obj.name;
|
|
125
|
+
const path_name = path + '.name';
|
|
126
|
+
if (typeof obj_name !== 'string') {
|
|
127
|
+
return new TypeError('Expected "string" but received "' + typeof obj_name + '" (at "' + path_name + '")');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (obj.workTypeGroupIds !== undefined) {
|
|
131
|
+
const obj_workTypeGroupIds = obj.workTypeGroupIds;
|
|
132
|
+
const path_workTypeGroupIds = path + '.workTypeGroupIds';
|
|
133
|
+
if (!ArrayIsArray(obj_workTypeGroupIds)) {
|
|
134
|
+
return new TypeError('Expected "array" but received "' + typeof obj_workTypeGroupIds + '" (at "' + path_workTypeGroupIds + '")');
|
|
135
|
+
}
|
|
136
|
+
for (let i = 0; i < obj_workTypeGroupIds.length; i++) {
|
|
137
|
+
const obj_workTypeGroupIds_item = obj_workTypeGroupIds[i];
|
|
138
|
+
const path_workTypeGroupIds_item = path_workTypeGroupIds + '[' + i + ']';
|
|
139
|
+
if (typeof obj_workTypeGroupIds_item !== 'string') {
|
|
140
|
+
return new TypeError('Expected "string" but received "' + typeof obj_workTypeGroupIds_item + '" (at "' + path_workTypeGroupIds_item + '")');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (obj.workTypeIds !== undefined) {
|
|
145
|
+
const obj_workTypeIds = obj.workTypeIds;
|
|
146
|
+
const path_workTypeIds = path + '.workTypeIds';
|
|
147
|
+
if (!ArrayIsArray(obj_workTypeIds)) {
|
|
148
|
+
return new TypeError('Expected "array" but received "' + typeof obj_workTypeIds + '" (at "' + path_workTypeIds + '")');
|
|
149
|
+
}
|
|
150
|
+
for (let i = 0; i < obj_workTypeIds.length; i++) {
|
|
151
|
+
const obj_workTypeIds_item = obj_workTypeIds[i];
|
|
152
|
+
const path_workTypeIds_item = path_workTypeIds + '[' + i + ']';
|
|
153
|
+
if (typeof obj_workTypeIds_item !== 'string') {
|
|
154
|
+
return new TypeError('Expected "string" but received "' + typeof obj_workTypeIds_item + '" (at "' + path_workTypeIds_item + '")');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
})();
|
|
159
|
+
return v_error === undefined ? null : v_error;
|
|
160
|
+
}
|
|
161
|
+
const select$7 = function GetEngagementChannelTypeResultSelect() {
|
|
162
|
+
return {
|
|
163
|
+
kind: 'Fragment',
|
|
164
|
+
version: VERSION$4,
|
|
165
|
+
private: [],
|
|
166
|
+
selections: [
|
|
167
|
+
{
|
|
168
|
+
name: 'contactPoint',
|
|
169
|
+
kind: 'Scalar',
|
|
170
|
+
required: false
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'contactPointType',
|
|
174
|
+
kind: 'Scalar',
|
|
175
|
+
required: false
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: 'id',
|
|
179
|
+
kind: 'Scalar',
|
|
180
|
+
required: false
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: 'name',
|
|
184
|
+
kind: 'Scalar',
|
|
185
|
+
required: false
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'workTypeGroupIds',
|
|
189
|
+
kind: 'Scalar',
|
|
190
|
+
plural: true,
|
|
191
|
+
required: false
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
name: 'workTypeIds',
|
|
195
|
+
kind: 'Scalar',
|
|
196
|
+
plural: true,
|
|
197
|
+
required: false
|
|
198
|
+
}
|
|
199
|
+
]
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
function equals$4(existing, incoming) {
|
|
203
|
+
const existing_contactPoint = existing.contactPoint;
|
|
204
|
+
const incoming_contactPoint = incoming.contactPoint;
|
|
205
|
+
// if at least one of these optionals is defined
|
|
206
|
+
if (existing_contactPoint !== undefined || incoming_contactPoint !== undefined) {
|
|
207
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
208
|
+
// not equal
|
|
209
|
+
if (existing_contactPoint === undefined || incoming_contactPoint === undefined) {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
if (!(existing_contactPoint === incoming_contactPoint)) {
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
const existing_contactPointType = existing.contactPointType;
|
|
217
|
+
const incoming_contactPointType = incoming.contactPointType;
|
|
218
|
+
// if at least one of these optionals is defined
|
|
219
|
+
if (existing_contactPointType !== undefined || incoming_contactPointType !== undefined) {
|
|
220
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
221
|
+
// not equal
|
|
222
|
+
if (existing_contactPointType === undefined || incoming_contactPointType === undefined) {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
if (!(existing_contactPointType === incoming_contactPointType)) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
const existing_id = existing.id;
|
|
230
|
+
const incoming_id = incoming.id;
|
|
231
|
+
// if at least one of these optionals is defined
|
|
232
|
+
if (existing_id !== undefined || incoming_id !== undefined) {
|
|
233
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
234
|
+
// not equal
|
|
235
|
+
if (existing_id === undefined || incoming_id === undefined) {
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
if (!(existing_id === incoming_id)) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
const existing_name = existing.name;
|
|
243
|
+
const incoming_name = incoming.name;
|
|
244
|
+
// if at least one of these optionals is defined
|
|
245
|
+
if (existing_name !== undefined || incoming_name !== undefined) {
|
|
246
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
247
|
+
// not equal
|
|
248
|
+
if (existing_name === undefined || incoming_name === undefined) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
if (!(existing_name === incoming_name)) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
const existing_workTypeGroupIds = existing.workTypeGroupIds;
|
|
256
|
+
const incoming_workTypeGroupIds = incoming.workTypeGroupIds;
|
|
257
|
+
// if at least one of these optionals is defined
|
|
258
|
+
if (existing_workTypeGroupIds !== undefined || incoming_workTypeGroupIds !== undefined) {
|
|
259
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
260
|
+
// not equal
|
|
261
|
+
if (existing_workTypeGroupIds === undefined || incoming_workTypeGroupIds === undefined) {
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
const equals_workTypeGroupIds_items = equalsArray(existing_workTypeGroupIds, incoming_workTypeGroupIds, (existing_workTypeGroupIds_item, incoming_workTypeGroupIds_item) => {
|
|
265
|
+
if (!(existing_workTypeGroupIds_item === incoming_workTypeGroupIds_item)) {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
if (equals_workTypeGroupIds_items === false) {
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
const existing_workTypeIds = existing.workTypeIds;
|
|
274
|
+
const incoming_workTypeIds = incoming.workTypeIds;
|
|
275
|
+
// if at least one of these optionals is defined
|
|
276
|
+
if (existing_workTypeIds !== undefined || incoming_workTypeIds !== undefined) {
|
|
277
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
278
|
+
// not equal
|
|
279
|
+
if (existing_workTypeIds === undefined || incoming_workTypeIds === undefined) {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
const equals_workTypeIds_items = equalsArray(existing_workTypeIds, incoming_workTypeIds, (existing_workTypeIds_item, incoming_workTypeIds_item) => {
|
|
283
|
+
if (!(existing_workTypeIds_item === incoming_workTypeIds_item)) {
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
if (equals_workTypeIds_items === false) {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return true;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
const VERSION$3 = "129c53d5f8fb579d31c255a020838251";
|
|
295
|
+
function validate$5(obj, path = 'GetEngagementChannelTypeListResult') {
|
|
296
|
+
const v_error = (() => {
|
|
297
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
298
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
299
|
+
}
|
|
300
|
+
const obj_engagementChannelTypes = obj.engagementChannelTypes;
|
|
301
|
+
const path_engagementChannelTypes = path + '.engagementChannelTypes';
|
|
302
|
+
if (!ArrayIsArray(obj_engagementChannelTypes)) {
|
|
303
|
+
return new TypeError('Expected "array" but received "' + typeof obj_engagementChannelTypes + '" (at "' + path_engagementChannelTypes + '")');
|
|
304
|
+
}
|
|
305
|
+
for (let i = 0; i < obj_engagementChannelTypes.length; i++) {
|
|
306
|
+
const obj_engagementChannelTypes_item = obj_engagementChannelTypes[i];
|
|
307
|
+
const path_engagementChannelTypes_item = path_engagementChannelTypes + '[' + i + ']';
|
|
308
|
+
const referencepath_engagementChannelTypes_itemValidationError = validate$6(obj_engagementChannelTypes_item, path_engagementChannelTypes_item);
|
|
309
|
+
if (referencepath_engagementChannelTypes_itemValidationError !== null) {
|
|
310
|
+
let message = 'Object doesn\'t match GetEngagementChannelTypeResult (at "' + path_engagementChannelTypes_item + '")\n';
|
|
311
|
+
message += referencepath_engagementChannelTypes_itemValidationError.message.split('\n').map((line) => '\t' + line).join('\n');
|
|
312
|
+
return new TypeError(message);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
})();
|
|
316
|
+
return v_error === undefined ? null : v_error;
|
|
317
|
+
}
|
|
318
|
+
const select$6 = function GetEngagementChannelTypeListResultSelect() {
|
|
319
|
+
const { selections: GetEngagementChannelTypeResult__selections, opaque: GetEngagementChannelTypeResult__opaque, } = select$7();
|
|
320
|
+
return {
|
|
321
|
+
kind: 'Fragment',
|
|
322
|
+
version: VERSION$3,
|
|
323
|
+
private: [],
|
|
324
|
+
selections: [
|
|
325
|
+
{
|
|
326
|
+
name: 'engagementChannelTypes',
|
|
327
|
+
kind: 'Object',
|
|
328
|
+
plural: true,
|
|
329
|
+
selections: GetEngagementChannelTypeResult__selections
|
|
330
|
+
}
|
|
331
|
+
]
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
function equals$3(existing, incoming) {
|
|
335
|
+
const existing_engagementChannelTypes = existing.engagementChannelTypes;
|
|
336
|
+
const incoming_engagementChannelTypes = incoming.engagementChannelTypes;
|
|
337
|
+
const equals_engagementChannelTypes_items = equalsArray(existing_engagementChannelTypes, incoming_engagementChannelTypes, (existing_engagementChannelTypes_item, incoming_engagementChannelTypes_item) => {
|
|
338
|
+
if (!(equals$4(existing_engagementChannelTypes_item, incoming_engagementChannelTypes_item))) {
|
|
339
|
+
return false;
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
if (equals_engagementChannelTypes_items === false) {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
return true;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
const VERSION$2 = "622654426aa18b7c8846e6d863a5f446";
|
|
349
|
+
function validate$4(obj, path = 'GetEngagementChannelTypeOutputRepresentation') {
|
|
350
|
+
const v_error = (() => {
|
|
351
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
352
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
353
|
+
}
|
|
354
|
+
const obj_result = obj.result;
|
|
355
|
+
const path_result = path + '.result';
|
|
356
|
+
const referencepath_resultValidationError = validate$5(obj_result, path_result);
|
|
357
|
+
if (referencepath_resultValidationError !== null) {
|
|
358
|
+
let message = 'Object doesn\'t match GetEngagementChannelTypeListResult (at "' + path_result + '")\n';
|
|
359
|
+
message += referencepath_resultValidationError.message.split('\n').map((line) => '\t' + line).join('\n');
|
|
360
|
+
return new TypeError(message);
|
|
361
|
+
}
|
|
362
|
+
})();
|
|
363
|
+
return v_error === undefined ? null : v_error;
|
|
364
|
+
}
|
|
365
|
+
const RepresentationType$2 = 'GetEngagementChannelTypeOutputRepresentation';
|
|
366
|
+
function normalize$2(input, existing, path, luvio, store, timestamp) {
|
|
367
|
+
return input;
|
|
368
|
+
}
|
|
369
|
+
const select$5 = function GetEngagementChannelTypeOutputRepresentationSelect() {
|
|
370
|
+
const { selections: GetEngagementChannelTypeListResult__selections, opaque: GetEngagementChannelTypeListResult__opaque, } = select$6();
|
|
371
|
+
return {
|
|
372
|
+
kind: 'Fragment',
|
|
373
|
+
version: VERSION$2,
|
|
374
|
+
private: [],
|
|
375
|
+
selections: [
|
|
376
|
+
{
|
|
377
|
+
name: 'result',
|
|
378
|
+
kind: 'Object',
|
|
379
|
+
selections: GetEngagementChannelTypeListResult__selections
|
|
380
|
+
}
|
|
381
|
+
]
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
function equals$2(existing, incoming) {
|
|
385
|
+
const existing_result = existing.result;
|
|
386
|
+
const incoming_result = incoming.result;
|
|
387
|
+
if (!(equals$3(existing_result, incoming_result))) {
|
|
388
|
+
return false;
|
|
389
|
+
}
|
|
390
|
+
return true;
|
|
391
|
+
}
|
|
392
|
+
const ingest$2 = function GetEngagementChannelTypeOutputRepresentationIngest(input, path, luvio, store, timestamp) {
|
|
393
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
394
|
+
const validateError = validate$4(input);
|
|
395
|
+
if (validateError !== null) {
|
|
396
|
+
throw validateError;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
const key = path.fullPath;
|
|
400
|
+
const existingRecord = store.readEntry(key);
|
|
401
|
+
const ttlToUse = path.ttl !== undefined ? path.ttl : 360000;
|
|
402
|
+
let incomingRecord = normalize$2(input, store.readEntry(key), {
|
|
403
|
+
fullPath: key,
|
|
404
|
+
parent: path.parent,
|
|
405
|
+
propertyName: path.propertyName,
|
|
406
|
+
ttl: ttlToUse
|
|
407
|
+
});
|
|
408
|
+
if (existingRecord === undefined || equals$2(existingRecord, incomingRecord) === false) {
|
|
409
|
+
luvio.storePublish(key, incomingRecord);
|
|
410
|
+
}
|
|
411
|
+
if (ttlToUse !== undefined) {
|
|
412
|
+
const storeMetadataParams = {
|
|
413
|
+
ttl: ttlToUse,
|
|
414
|
+
namespace: "IndustriesScheduler",
|
|
415
|
+
version: VERSION$2,
|
|
416
|
+
representationName: RepresentationType$2,
|
|
417
|
+
};
|
|
418
|
+
luvio.publishStoreMetadata(key, storeMetadataParams);
|
|
419
|
+
}
|
|
420
|
+
return createLink(key);
|
|
421
|
+
};
|
|
422
|
+
function getTypeCacheKeys$2(luvio, input, fullPathFactory) {
|
|
423
|
+
const rootKeySet = new engine.StoreKeyMap();
|
|
424
|
+
// root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
|
|
425
|
+
const rootKey = fullPathFactory();
|
|
426
|
+
rootKeySet.set(rootKey, {
|
|
427
|
+
namespace: keyPrefix,
|
|
428
|
+
representationName: RepresentationType$2,
|
|
429
|
+
mergeable: false
|
|
430
|
+
});
|
|
431
|
+
return rootKeySet;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
function select$4(luvio, params) {
|
|
435
|
+
return select$5();
|
|
436
|
+
}
|
|
437
|
+
function keyBuilder$3(luvio, params) {
|
|
438
|
+
return keyPrefix + '::GetEngagementChannelTypeOutputRepresentation:(' + 'workTypeGroupIds:' + params.queryParams.workTypeGroupIds + ',' + 'workTypeIds:' + params.queryParams.workTypeIds + ')';
|
|
439
|
+
}
|
|
440
|
+
function getResponseCacheKeys$2(luvio, resourceParams, response) {
|
|
441
|
+
return getTypeCacheKeys$2(luvio, response, () => keyBuilder$3(luvio, resourceParams));
|
|
442
|
+
}
|
|
443
|
+
function ingestSuccess$2(luvio, resourceParams, response, snapshotRefresh) {
|
|
444
|
+
const { body } = response;
|
|
445
|
+
const key = keyBuilder$3(luvio, resourceParams);
|
|
446
|
+
luvio.storeIngest(key, ingest$2, body);
|
|
447
|
+
const snapshot = luvio.storeLookup({
|
|
448
|
+
recordId: key,
|
|
449
|
+
node: select$4(),
|
|
450
|
+
variables: {},
|
|
451
|
+
}, snapshotRefresh);
|
|
452
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
453
|
+
if (snapshot.state !== 'Fulfilled') {
|
|
454
|
+
throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
return snapshot;
|
|
458
|
+
}
|
|
459
|
+
function ingestError(luvio, params, error, snapshotRefresh) {
|
|
460
|
+
const key = keyBuilder$3(luvio, params);
|
|
461
|
+
const errorSnapshot = luvio.errorSnapshot(error, snapshotRefresh);
|
|
462
|
+
luvio.storeIngestError(key, errorSnapshot);
|
|
463
|
+
return errorSnapshot;
|
|
464
|
+
}
|
|
465
|
+
function createResourceRequest$2(config) {
|
|
466
|
+
const headers = {};
|
|
467
|
+
return {
|
|
468
|
+
baseUri: '/services/data/v58.0',
|
|
469
|
+
basePath: '/connect/scheduling/engagement-channel-types',
|
|
470
|
+
method: 'get',
|
|
471
|
+
body: null,
|
|
472
|
+
urlParams: {},
|
|
473
|
+
queryParams: config.queryParams,
|
|
474
|
+
headers,
|
|
475
|
+
priority: 'normal',
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
const getEngagementChannelTypes_ConfigPropertyNames = {
|
|
480
|
+
displayName: 'getEngagementChannelTypes',
|
|
481
|
+
parameters: {
|
|
482
|
+
required: [],
|
|
483
|
+
optional: ['workTypeGroupIds', 'workTypeIds']
|
|
484
|
+
}
|
|
485
|
+
};
|
|
486
|
+
function createResourceParams$2(config) {
|
|
487
|
+
const resourceParams = {
|
|
488
|
+
queryParams: {
|
|
489
|
+
workTypeGroupIds: config.workTypeGroupIds, workTypeIds: config.workTypeIds
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
return resourceParams;
|
|
493
|
+
}
|
|
494
|
+
function keyBuilder$2(luvio, config) {
|
|
495
|
+
const resourceParams = createResourceParams$2(config);
|
|
496
|
+
return keyBuilder$3(luvio, resourceParams);
|
|
497
|
+
}
|
|
498
|
+
function typeCheckConfig$2(untrustedConfig) {
|
|
499
|
+
const config = {};
|
|
500
|
+
const untrustedConfig_workTypeGroupIds = untrustedConfig.workTypeGroupIds;
|
|
501
|
+
if (ArrayIsArray$1(untrustedConfig_workTypeGroupIds)) {
|
|
502
|
+
const untrustedConfig_workTypeGroupIds_array = [];
|
|
503
|
+
for (let i = 0, arrayLength = untrustedConfig_workTypeGroupIds.length; i < arrayLength; i++) {
|
|
504
|
+
const untrustedConfig_workTypeGroupIds_item = untrustedConfig_workTypeGroupIds[i];
|
|
505
|
+
if (typeof untrustedConfig_workTypeGroupIds_item === 'string') {
|
|
506
|
+
untrustedConfig_workTypeGroupIds_array.push(untrustedConfig_workTypeGroupIds_item);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
config.workTypeGroupIds = untrustedConfig_workTypeGroupIds_array;
|
|
510
|
+
}
|
|
511
|
+
const untrustedConfig_workTypeIds = untrustedConfig.workTypeIds;
|
|
512
|
+
if (ArrayIsArray$1(untrustedConfig_workTypeIds)) {
|
|
513
|
+
const untrustedConfig_workTypeIds_array = [];
|
|
514
|
+
for (let i = 0, arrayLength = untrustedConfig_workTypeIds.length; i < arrayLength; i++) {
|
|
515
|
+
const untrustedConfig_workTypeIds_item = untrustedConfig_workTypeIds[i];
|
|
516
|
+
if (typeof untrustedConfig_workTypeIds_item === 'string') {
|
|
517
|
+
untrustedConfig_workTypeIds_array.push(untrustedConfig_workTypeIds_item);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
config.workTypeIds = untrustedConfig_workTypeIds_array;
|
|
521
|
+
}
|
|
522
|
+
return config;
|
|
523
|
+
}
|
|
524
|
+
function validateAdapterConfig$2(untrustedConfig, configPropertyNames) {
|
|
525
|
+
if (!untrustedIsObject(untrustedConfig)) {
|
|
526
|
+
return null;
|
|
527
|
+
}
|
|
528
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
529
|
+
validateConfig(untrustedConfig, configPropertyNames);
|
|
530
|
+
}
|
|
531
|
+
const config = typeCheckConfig$2(untrustedConfig);
|
|
532
|
+
if (!areRequiredParametersPresent(config, configPropertyNames)) {
|
|
533
|
+
return null;
|
|
534
|
+
}
|
|
535
|
+
return config;
|
|
536
|
+
}
|
|
537
|
+
function adapterFragment(luvio, config) {
|
|
538
|
+
createResourceParams$2(config);
|
|
539
|
+
return select$4();
|
|
540
|
+
}
|
|
541
|
+
function onFetchResponseSuccess(luvio, config, resourceParams, response) {
|
|
542
|
+
const snapshot = ingestSuccess$2(luvio, resourceParams, response, {
|
|
543
|
+
config,
|
|
544
|
+
resolve: () => buildNetworkSnapshot$2(luvio, config, snapshotRefreshOptions)
|
|
545
|
+
});
|
|
546
|
+
return luvio.storeBroadcast().then(() => snapshot);
|
|
547
|
+
}
|
|
548
|
+
function onFetchResponseError(luvio, config, resourceParams, response) {
|
|
549
|
+
const snapshot = ingestError(luvio, resourceParams, response, {
|
|
550
|
+
config,
|
|
551
|
+
resolve: () => buildNetworkSnapshot$2(luvio, config, snapshotRefreshOptions)
|
|
552
|
+
});
|
|
553
|
+
return luvio.storeBroadcast().then(() => snapshot);
|
|
554
|
+
}
|
|
555
|
+
function buildNetworkSnapshot$2(luvio, config, options) {
|
|
556
|
+
const resourceParams = createResourceParams$2(config);
|
|
557
|
+
const request = createResourceRequest$2(resourceParams);
|
|
558
|
+
return luvio.dispatchResourceRequest(request, options)
|
|
559
|
+
.then((response) => {
|
|
560
|
+
return luvio.handleSuccessResponse(() => onFetchResponseSuccess(luvio, config, resourceParams, response), () => getResponseCacheKeys$2(luvio, resourceParams, response.body));
|
|
561
|
+
}, (response) => {
|
|
562
|
+
return luvio.handleErrorResponse(() => onFetchResponseError(luvio, config, resourceParams, response));
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
function buildNetworkSnapshotCachePolicy(context, coercedAdapterRequestContext) {
|
|
566
|
+
const { luvio, config } = context;
|
|
567
|
+
const { networkPriority, requestCorrelator, eventObservers } = coercedAdapterRequestContext;
|
|
568
|
+
const dispatchOptions = {
|
|
569
|
+
resourceRequestContext: {
|
|
570
|
+
requestCorrelator,
|
|
571
|
+
luvioRequestMethod: undefined,
|
|
572
|
+
},
|
|
573
|
+
eventObservers
|
|
574
|
+
};
|
|
575
|
+
if (networkPriority !== 'normal') {
|
|
576
|
+
dispatchOptions.overrides = {
|
|
577
|
+
priority: networkPriority
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
return buildNetworkSnapshot$2(luvio, config, dispatchOptions);
|
|
581
|
+
}
|
|
582
|
+
function buildCachedSnapshotCachePolicy(context, storeLookup) {
|
|
583
|
+
const { luvio, config } = context;
|
|
584
|
+
const selector = {
|
|
585
|
+
recordId: keyBuilder$2(luvio, config),
|
|
586
|
+
node: adapterFragment(luvio, config),
|
|
587
|
+
variables: {},
|
|
588
|
+
};
|
|
589
|
+
const cacheSnapshot = storeLookup(selector, {
|
|
590
|
+
config,
|
|
591
|
+
resolve: () => buildNetworkSnapshot$2(luvio, config, snapshotRefreshOptions)
|
|
592
|
+
});
|
|
593
|
+
return cacheSnapshot;
|
|
594
|
+
}
|
|
595
|
+
const getEngagementChannelTypesAdapterFactory = (luvio) => function IndustriesScheduler__getEngagementChannelTypes(untrustedConfig, requestContext) {
|
|
596
|
+
const config = validateAdapterConfig$2(untrustedConfig, getEngagementChannelTypes_ConfigPropertyNames);
|
|
597
|
+
// Invalid or incomplete config
|
|
598
|
+
if (config === null) {
|
|
599
|
+
return null;
|
|
600
|
+
}
|
|
601
|
+
return luvio.applyCachePolicy((requestContext || {}), { config, luvio }, // BuildSnapshotContext
|
|
602
|
+
buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy);
|
|
603
|
+
};
|
|
604
|
+
|
|
605
|
+
function validate$3(obj, path = 'UpdateServiceAppointmentInputRepresentation') {
|
|
606
|
+
const v_error = (() => {
|
|
607
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
608
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
609
|
+
}
|
|
610
|
+
if (obj.assignedResources !== undefined) {
|
|
611
|
+
const obj_assignedResources = obj.assignedResources;
|
|
612
|
+
const path_assignedResources = path + '.assignedResources';
|
|
613
|
+
if (!ArrayIsArray(obj_assignedResources)) {
|
|
614
|
+
return new TypeError('Expected "array" but received "' + typeof obj_assignedResources + '" (at "' + path_assignedResources + '")');
|
|
615
|
+
}
|
|
616
|
+
for (let i = 0; i < obj_assignedResources.length; i++) {
|
|
617
|
+
const obj_assignedResources_item = obj_assignedResources[i];
|
|
618
|
+
const path_assignedResources_item = path_assignedResources + '[' + i + ']';
|
|
619
|
+
if (typeof obj_assignedResources_item !== 'object' || ArrayIsArray(obj_assignedResources_item) || obj_assignedResources_item === null) {
|
|
620
|
+
return new TypeError('Expected "object" but received "' + typeof obj_assignedResources_item + '" (at "' + path_assignedResources_item + '")');
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
if (obj.lead !== undefined) {
|
|
625
|
+
const obj_lead = obj.lead;
|
|
626
|
+
const path_lead = path + '.lead';
|
|
627
|
+
if (typeof obj_lead !== 'object' || ArrayIsArray(obj_lead) || obj_lead === null) {
|
|
628
|
+
return new TypeError('Expected "object" but received "' + typeof obj_lead + '" (at "' + path_lead + '")');
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
if (obj.schedulingPolicyId !== undefined) {
|
|
632
|
+
const obj_schedulingPolicyId = obj.schedulingPolicyId;
|
|
633
|
+
const path_schedulingPolicyId = path + '.schedulingPolicyId';
|
|
634
|
+
if (typeof obj_schedulingPolicyId !== 'string') {
|
|
635
|
+
return new TypeError('Expected "string" but received "' + typeof obj_schedulingPolicyId + '" (at "' + path_schedulingPolicyId + '")');
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
const obj_serviceAppointment = obj.serviceAppointment;
|
|
639
|
+
const path_serviceAppointment = path + '.serviceAppointment';
|
|
640
|
+
if (typeof obj_serviceAppointment !== 'object' || ArrayIsArray(obj_serviceAppointment) || obj_serviceAppointment === null) {
|
|
641
|
+
return new TypeError('Expected "object" but received "' + typeof obj_serviceAppointment + '" (at "' + path_serviceAppointment + '")');
|
|
642
|
+
}
|
|
643
|
+
const obj_serviceAppointmentId = obj.serviceAppointmentId;
|
|
644
|
+
const path_serviceAppointmentId = path + '.serviceAppointmentId';
|
|
645
|
+
if (typeof obj_serviceAppointmentId !== 'string') {
|
|
646
|
+
return new TypeError('Expected "string" but received "' + typeof obj_serviceAppointmentId + '" (at "' + path_serviceAppointmentId + '")');
|
|
647
|
+
}
|
|
648
|
+
})();
|
|
649
|
+
return v_error === undefined ? null : v_error;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
const VERSION$1 = "2f0614d98c99215427524626e17e574b";
|
|
653
|
+
function validate$2(obj, path = 'ServiceAppointmentResult') {
|
|
654
|
+
const v_error = (() => {
|
|
655
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
656
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
657
|
+
}
|
|
658
|
+
const obj_assignedResourceIds = obj.assignedResourceIds;
|
|
659
|
+
const path_assignedResourceIds = path + '.assignedResourceIds';
|
|
660
|
+
if (!ArrayIsArray(obj_assignedResourceIds)) {
|
|
661
|
+
return new TypeError('Expected "array" but received "' + typeof obj_assignedResourceIds + '" (at "' + path_assignedResourceIds + '")');
|
|
662
|
+
}
|
|
663
|
+
for (let i = 0; i < obj_assignedResourceIds.length; i++) {
|
|
664
|
+
const obj_assignedResourceIds_item = obj_assignedResourceIds[i];
|
|
665
|
+
const path_assignedResourceIds_item = path_assignedResourceIds + '[' + i + ']';
|
|
666
|
+
if (typeof obj_assignedResourceIds_item !== 'string') {
|
|
667
|
+
return new TypeError('Expected "string" but received "' + typeof obj_assignedResourceIds_item + '" (at "' + path_assignedResourceIds_item + '")');
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
if (obj.parentRecordId !== undefined) {
|
|
671
|
+
const obj_parentRecordId = obj.parentRecordId;
|
|
672
|
+
const path_parentRecordId = path + '.parentRecordId';
|
|
673
|
+
if (typeof obj_parentRecordId !== 'string') {
|
|
674
|
+
return new TypeError('Expected "string" but received "' + typeof obj_parentRecordId + '" (at "' + path_parentRecordId + '")');
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
const obj_serviceAppointmentId = obj.serviceAppointmentId;
|
|
678
|
+
const path_serviceAppointmentId = path + '.serviceAppointmentId';
|
|
679
|
+
if (typeof obj_serviceAppointmentId !== 'string') {
|
|
680
|
+
return new TypeError('Expected "string" but received "' + typeof obj_serviceAppointmentId + '" (at "' + path_serviceAppointmentId + '")');
|
|
681
|
+
}
|
|
682
|
+
})();
|
|
683
|
+
return v_error === undefined ? null : v_error;
|
|
684
|
+
}
|
|
685
|
+
const RepresentationType$1 = 'ServiceAppointmentResult';
|
|
686
|
+
function keyBuilder$1(luvio, config) {
|
|
687
|
+
return keyPrefix + '::' + RepresentationType$1 + ':' + config.id;
|
|
688
|
+
}
|
|
689
|
+
function keyBuilderFromType$1(luvio, object) {
|
|
690
|
+
const keyParams = {
|
|
691
|
+
id: object.serviceAppointmentId
|
|
692
|
+
};
|
|
693
|
+
return keyBuilder$1(luvio, keyParams);
|
|
694
|
+
}
|
|
695
|
+
function normalize$1(input, existing, path, luvio, store, timestamp) {
|
|
696
|
+
return input;
|
|
697
|
+
}
|
|
698
|
+
const select$3 = function ServiceAppointmentResultSelect() {
|
|
699
|
+
return {
|
|
700
|
+
kind: 'Fragment',
|
|
701
|
+
version: VERSION$1,
|
|
702
|
+
private: [],
|
|
703
|
+
selections: [
|
|
704
|
+
{
|
|
705
|
+
name: 'assignedResourceIds',
|
|
706
|
+
kind: 'Scalar',
|
|
707
|
+
plural: true
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
name: 'parentRecordId',
|
|
711
|
+
kind: 'Scalar',
|
|
712
|
+
required: false
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
name: 'serviceAppointmentId',
|
|
716
|
+
kind: 'Scalar'
|
|
717
|
+
}
|
|
718
|
+
]
|
|
719
|
+
};
|
|
720
|
+
};
|
|
721
|
+
function equals$1(existing, incoming) {
|
|
722
|
+
const existing_parentRecordId = existing.parentRecordId;
|
|
723
|
+
const incoming_parentRecordId = incoming.parentRecordId;
|
|
724
|
+
// if at least one of these optionals is defined
|
|
725
|
+
if (existing_parentRecordId !== undefined || incoming_parentRecordId !== undefined) {
|
|
726
|
+
// if one of these is not defined we know the other is defined and therefore
|
|
727
|
+
// not equal
|
|
728
|
+
if (existing_parentRecordId === undefined || incoming_parentRecordId === undefined) {
|
|
729
|
+
return false;
|
|
730
|
+
}
|
|
731
|
+
if (!(existing_parentRecordId === incoming_parentRecordId)) {
|
|
732
|
+
return false;
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
const existing_serviceAppointmentId = existing.serviceAppointmentId;
|
|
736
|
+
const incoming_serviceAppointmentId = incoming.serviceAppointmentId;
|
|
737
|
+
if (!(existing_serviceAppointmentId === incoming_serviceAppointmentId)) {
|
|
738
|
+
return false;
|
|
739
|
+
}
|
|
740
|
+
const existing_assignedResourceIds = existing.assignedResourceIds;
|
|
741
|
+
const incoming_assignedResourceIds = incoming.assignedResourceIds;
|
|
742
|
+
const equals_assignedResourceIds_items = equalsArray(existing_assignedResourceIds, incoming_assignedResourceIds, (existing_assignedResourceIds_item, incoming_assignedResourceIds_item) => {
|
|
743
|
+
if (!(existing_assignedResourceIds_item === incoming_assignedResourceIds_item)) {
|
|
744
|
+
return false;
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
if (equals_assignedResourceIds_items === false) {
|
|
748
|
+
return false;
|
|
749
|
+
}
|
|
750
|
+
return true;
|
|
751
|
+
}
|
|
752
|
+
const ingest$1 = function ServiceAppointmentResultIngest(input, path, luvio, store, timestamp) {
|
|
753
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
754
|
+
const validateError = validate$2(input);
|
|
755
|
+
if (validateError !== null) {
|
|
756
|
+
throw validateError;
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
const key = keyBuilderFromType$1(luvio, input);
|
|
760
|
+
const existingRecord = store.readEntry(key);
|
|
761
|
+
const ttlToUse = path.ttl !== undefined ? path.ttl : 360000;
|
|
762
|
+
let incomingRecord = normalize$1(input, store.readEntry(key), {
|
|
763
|
+
fullPath: key,
|
|
764
|
+
parent: path.parent,
|
|
765
|
+
propertyName: path.propertyName,
|
|
766
|
+
ttl: ttlToUse
|
|
767
|
+
});
|
|
768
|
+
if (existingRecord === undefined || equals$1(existingRecord, incomingRecord) === false) {
|
|
769
|
+
luvio.storePublish(key, incomingRecord);
|
|
770
|
+
}
|
|
771
|
+
if (ttlToUse !== undefined) {
|
|
772
|
+
const storeMetadataParams = {
|
|
773
|
+
ttl: ttlToUse,
|
|
774
|
+
namespace: "IndustriesScheduler",
|
|
775
|
+
version: VERSION$1,
|
|
776
|
+
representationName: RepresentationType$1,
|
|
777
|
+
};
|
|
778
|
+
luvio.publishStoreMetadata(key, storeMetadataParams);
|
|
779
|
+
}
|
|
780
|
+
return createLink(key);
|
|
781
|
+
};
|
|
782
|
+
function getTypeCacheKeys$1(luvio, input, fullPathFactory) {
|
|
783
|
+
const rootKeySet = new engine.StoreKeyMap();
|
|
784
|
+
// root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
|
|
785
|
+
const rootKey = keyBuilderFromType$1(luvio, input);
|
|
786
|
+
rootKeySet.set(rootKey, {
|
|
787
|
+
namespace: keyPrefix,
|
|
788
|
+
representationName: RepresentationType$1,
|
|
789
|
+
mergeable: false
|
|
790
|
+
});
|
|
791
|
+
return rootKeySet;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
const VERSION = "09b2befd1e1777ff063639379004b1b7";
|
|
795
|
+
function validate$1(obj, path = 'ServiceAppointmentOutputRepresentation') {
|
|
796
|
+
const v_error = (() => {
|
|
797
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
798
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
799
|
+
}
|
|
800
|
+
const obj_result = obj.result;
|
|
801
|
+
const path_result = path + '.result';
|
|
802
|
+
if (typeof obj_result !== 'object') {
|
|
803
|
+
return new TypeError('Expected "object" but received "' + typeof obj_result + '" (at "' + path_result + '")');
|
|
804
|
+
}
|
|
805
|
+
})();
|
|
806
|
+
return v_error === undefined ? null : v_error;
|
|
807
|
+
}
|
|
808
|
+
const RepresentationType = 'ServiceAppointmentOutputRepresentation';
|
|
809
|
+
function keyBuilder(luvio, config) {
|
|
810
|
+
return keyPrefix + '::' + RepresentationType + ':' + config.id;
|
|
811
|
+
}
|
|
812
|
+
function keyBuilderFromType(luvio, object) {
|
|
813
|
+
const keyParams = {
|
|
814
|
+
id: object.result.serviceAppointmentId
|
|
815
|
+
};
|
|
816
|
+
return keyBuilder(luvio, keyParams);
|
|
817
|
+
}
|
|
818
|
+
function normalize(input, existing, path, luvio, store, timestamp) {
|
|
819
|
+
const input_result = input.result;
|
|
820
|
+
const input_result_id = path.fullPath + '__result';
|
|
821
|
+
input.result = ingest$1(input_result, {
|
|
822
|
+
fullPath: input_result_id,
|
|
823
|
+
propertyName: 'result',
|
|
824
|
+
parent: {
|
|
825
|
+
data: input,
|
|
826
|
+
key: path.fullPath,
|
|
827
|
+
existing: existing,
|
|
828
|
+
},
|
|
829
|
+
ttl: path.ttl
|
|
830
|
+
}, luvio, store);
|
|
831
|
+
return input;
|
|
832
|
+
}
|
|
833
|
+
const select$2 = function ServiceAppointmentOutputRepresentationSelect() {
|
|
834
|
+
return {
|
|
835
|
+
kind: 'Fragment',
|
|
836
|
+
version: VERSION,
|
|
837
|
+
private: [],
|
|
838
|
+
selections: [
|
|
839
|
+
{
|
|
840
|
+
name: 'result',
|
|
841
|
+
kind: 'Link',
|
|
842
|
+
fragment: select$3()
|
|
843
|
+
}
|
|
844
|
+
]
|
|
845
|
+
};
|
|
846
|
+
};
|
|
847
|
+
function equals(existing, incoming) {
|
|
848
|
+
const existing_result = existing.result;
|
|
849
|
+
const incoming_result = incoming.result;
|
|
850
|
+
if (!(existing_result.__ref === incoming_result.__ref)) {
|
|
851
|
+
return false;
|
|
852
|
+
}
|
|
853
|
+
return true;
|
|
854
|
+
}
|
|
855
|
+
const ingest = function ServiceAppointmentOutputRepresentationIngest(input, path, luvio, store, timestamp) {
|
|
856
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
857
|
+
const validateError = validate$1(input);
|
|
858
|
+
if (validateError !== null) {
|
|
859
|
+
throw validateError;
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
const key = keyBuilderFromType(luvio, input);
|
|
863
|
+
const existingRecord = store.readEntry(key);
|
|
864
|
+
const ttlToUse = path.ttl !== undefined ? path.ttl : 360000;
|
|
865
|
+
let incomingRecord = normalize(input, store.readEntry(key), {
|
|
866
|
+
fullPath: key,
|
|
867
|
+
parent: path.parent,
|
|
868
|
+
propertyName: path.propertyName,
|
|
869
|
+
ttl: ttlToUse
|
|
870
|
+
}, luvio, store);
|
|
871
|
+
if (existingRecord === undefined || equals(existingRecord, incomingRecord) === false) {
|
|
872
|
+
luvio.storePublish(key, incomingRecord);
|
|
873
|
+
}
|
|
874
|
+
if (ttlToUse !== undefined) {
|
|
875
|
+
const storeMetadataParams = {
|
|
876
|
+
ttl: ttlToUse,
|
|
877
|
+
namespace: "IndustriesScheduler",
|
|
878
|
+
version: VERSION,
|
|
879
|
+
representationName: RepresentationType,
|
|
880
|
+
};
|
|
881
|
+
luvio.publishStoreMetadata(key, storeMetadataParams);
|
|
882
|
+
}
|
|
883
|
+
return createLink(key);
|
|
884
|
+
};
|
|
885
|
+
function getTypeCacheKeys(luvio, input, fullPathFactory) {
|
|
886
|
+
const rootKeySet = new engine.StoreKeyMap();
|
|
887
|
+
// root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
|
|
888
|
+
const rootKey = keyBuilderFromType(luvio, input);
|
|
889
|
+
rootKeySet.set(rootKey, {
|
|
890
|
+
namespace: keyPrefix,
|
|
891
|
+
representationName: RepresentationType,
|
|
892
|
+
mergeable: false
|
|
893
|
+
});
|
|
894
|
+
const input_result = getTypeCacheKeys$1(luvio, input.result);
|
|
895
|
+
rootKeySet.merge(input_result);
|
|
896
|
+
return rootKeySet;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
function select$1(luvio, params) {
|
|
900
|
+
return select$2();
|
|
901
|
+
}
|
|
902
|
+
function getResponseCacheKeys$1(luvio, resourceParams, response) {
|
|
903
|
+
return getTypeCacheKeys(luvio, response);
|
|
904
|
+
}
|
|
905
|
+
function ingestSuccess$1(luvio, resourceParams, response) {
|
|
906
|
+
const { body } = response;
|
|
907
|
+
const key = keyBuilderFromType(luvio, body);
|
|
908
|
+
luvio.storeIngest(key, ingest, body);
|
|
909
|
+
const snapshot = luvio.storeLookup({
|
|
910
|
+
recordId: key,
|
|
911
|
+
node: select$1(),
|
|
912
|
+
variables: {},
|
|
913
|
+
});
|
|
914
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
915
|
+
if (snapshot.state !== 'Fulfilled') {
|
|
916
|
+
throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
return snapshot;
|
|
920
|
+
}
|
|
921
|
+
function createResourceRequest$1(config) {
|
|
922
|
+
const headers = {};
|
|
923
|
+
return {
|
|
924
|
+
baseUri: '/services/data/v58.0',
|
|
925
|
+
basePath: '/connect/scheduling/service-appointments',
|
|
926
|
+
method: 'patch',
|
|
927
|
+
body: config.body,
|
|
928
|
+
urlParams: {},
|
|
929
|
+
queryParams: {},
|
|
930
|
+
headers,
|
|
931
|
+
priority: 'normal',
|
|
932
|
+
};
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
const updateServiceAppointment_ConfigPropertyNames = {
|
|
936
|
+
displayName: 'updateServiceAppointment',
|
|
937
|
+
parameters: {
|
|
938
|
+
required: ['updateServiceAppointmentInput'],
|
|
939
|
+
optional: []
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
function createResourceParams$1(config) {
|
|
943
|
+
const resourceParams = {
|
|
944
|
+
body: {
|
|
945
|
+
updateServiceAppointmentInput: config.updateServiceAppointmentInput
|
|
946
|
+
}
|
|
947
|
+
};
|
|
948
|
+
return resourceParams;
|
|
949
|
+
}
|
|
950
|
+
function typeCheckConfig$1(untrustedConfig) {
|
|
951
|
+
const config = {};
|
|
952
|
+
const untrustedConfig_updateServiceAppointmentInput = untrustedConfig.updateServiceAppointmentInput;
|
|
953
|
+
const referenceUpdateServiceAppointmentInputRepresentationValidationError = validate$3(untrustedConfig_updateServiceAppointmentInput);
|
|
954
|
+
if (referenceUpdateServiceAppointmentInputRepresentationValidationError === null) {
|
|
955
|
+
config.updateServiceAppointmentInput = untrustedConfig_updateServiceAppointmentInput;
|
|
956
|
+
}
|
|
957
|
+
return config;
|
|
958
|
+
}
|
|
959
|
+
function validateAdapterConfig$1(untrustedConfig, configPropertyNames) {
|
|
960
|
+
if (!untrustedIsObject(untrustedConfig)) {
|
|
961
|
+
return null;
|
|
962
|
+
}
|
|
963
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
964
|
+
validateConfig(untrustedConfig, configPropertyNames);
|
|
965
|
+
}
|
|
966
|
+
const config = typeCheckConfig$1(untrustedConfig);
|
|
967
|
+
if (!areRequiredParametersPresent(config, configPropertyNames)) {
|
|
968
|
+
return null;
|
|
969
|
+
}
|
|
970
|
+
return config;
|
|
971
|
+
}
|
|
972
|
+
function buildNetworkSnapshot$1(luvio, config, options) {
|
|
973
|
+
const resourceParams = createResourceParams$1(config);
|
|
974
|
+
const request = createResourceRequest$1(resourceParams);
|
|
975
|
+
return luvio.dispatchResourceRequest(request, options)
|
|
976
|
+
.then((response) => {
|
|
977
|
+
return luvio.handleSuccessResponse(() => {
|
|
978
|
+
const snapshot = ingestSuccess$1(luvio, resourceParams, response);
|
|
979
|
+
return luvio.storeBroadcast().then(() => snapshot);
|
|
980
|
+
}, () => getResponseCacheKeys$1(luvio, resourceParams, response.body));
|
|
981
|
+
}, (response) => {
|
|
982
|
+
deepFreeze(response);
|
|
983
|
+
throw response;
|
|
984
|
+
});
|
|
985
|
+
}
|
|
986
|
+
const updateServiceAppointmentAdapterFactory = (luvio) => {
|
|
987
|
+
return function updateServiceAppointment(untrustedConfig) {
|
|
988
|
+
const config = validateAdapterConfig$1(untrustedConfig, updateServiceAppointment_ConfigPropertyNames);
|
|
989
|
+
// Invalid or incomplete config
|
|
990
|
+
if (config === null) {
|
|
991
|
+
throw new Error('Invalid config for "updateServiceAppointment"');
|
|
992
|
+
}
|
|
993
|
+
return buildNetworkSnapshot$1(luvio, config);
|
|
994
|
+
};
|
|
995
|
+
};
|
|
996
|
+
|
|
997
|
+
function validate(obj, path = 'CreateServiceAppointmentInputRepresentation') {
|
|
998
|
+
const v_error = (() => {
|
|
999
|
+
if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
|
|
1000
|
+
return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
|
|
1001
|
+
}
|
|
1002
|
+
if (obj.assignedResources !== undefined) {
|
|
1003
|
+
const obj_assignedResources = obj.assignedResources;
|
|
1004
|
+
const path_assignedResources = path + '.assignedResources';
|
|
1005
|
+
if (!ArrayIsArray(obj_assignedResources)) {
|
|
1006
|
+
return new TypeError('Expected "array" but received "' + typeof obj_assignedResources + '" (at "' + path_assignedResources + '")');
|
|
1007
|
+
}
|
|
1008
|
+
for (let i = 0; i < obj_assignedResources.length; i++) {
|
|
1009
|
+
const obj_assignedResources_item = obj_assignedResources[i];
|
|
1010
|
+
const path_assignedResources_item = path_assignedResources + '[' + i + ']';
|
|
1011
|
+
if (typeof obj_assignedResources_item !== 'object' || ArrayIsArray(obj_assignedResources_item) || obj_assignedResources_item === null) {
|
|
1012
|
+
return new TypeError('Expected "object" but received "' + typeof obj_assignedResources_item + '" (at "' + path_assignedResources_item + '")');
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
if (obj.lead !== undefined) {
|
|
1017
|
+
const obj_lead = obj.lead;
|
|
1018
|
+
const path_lead = path + '.lead';
|
|
1019
|
+
if (typeof obj_lead !== 'object' || ArrayIsArray(obj_lead) || obj_lead === null) {
|
|
1020
|
+
return new TypeError('Expected "object" but received "' + typeof obj_lead + '" (at "' + path_lead + '")');
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
if (obj.schedulingPolicyId !== undefined) {
|
|
1024
|
+
const obj_schedulingPolicyId = obj.schedulingPolicyId;
|
|
1025
|
+
const path_schedulingPolicyId = path + '.schedulingPolicyId';
|
|
1026
|
+
if (typeof obj_schedulingPolicyId !== 'string') {
|
|
1027
|
+
return new TypeError('Expected "string" but received "' + typeof obj_schedulingPolicyId + '" (at "' + path_schedulingPolicyId + '")');
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
if (obj.serviceAppointment !== undefined) {
|
|
1031
|
+
const obj_serviceAppointment = obj.serviceAppointment;
|
|
1032
|
+
const path_serviceAppointment = path + '.serviceAppointment';
|
|
1033
|
+
if (typeof obj_serviceAppointment !== 'object' || ArrayIsArray(obj_serviceAppointment) || obj_serviceAppointment === null) {
|
|
1034
|
+
return new TypeError('Expected "object" but received "' + typeof obj_serviceAppointment + '" (at "' + path_serviceAppointment + '")');
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
if (obj.serviceAppointmentId !== undefined) {
|
|
1038
|
+
const obj_serviceAppointmentId = obj.serviceAppointmentId;
|
|
1039
|
+
const path_serviceAppointmentId = path + '.serviceAppointmentId';
|
|
1040
|
+
if (typeof obj_serviceAppointmentId !== 'string') {
|
|
1041
|
+
return new TypeError('Expected "string" but received "' + typeof obj_serviceAppointmentId + '" (at "' + path_serviceAppointmentId + '")');
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
})();
|
|
1045
|
+
return v_error === undefined ? null : v_error;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
function select(luvio, params) {
|
|
1049
|
+
return select$2();
|
|
1050
|
+
}
|
|
1051
|
+
function getResponseCacheKeys(luvio, resourceParams, response) {
|
|
1052
|
+
return getTypeCacheKeys(luvio, response);
|
|
1053
|
+
}
|
|
1054
|
+
function ingestSuccess(luvio, resourceParams, response) {
|
|
1055
|
+
const { body } = response;
|
|
1056
|
+
const key = keyBuilderFromType(luvio, body);
|
|
1057
|
+
luvio.storeIngest(key, ingest, body);
|
|
1058
|
+
const snapshot = luvio.storeLookup({
|
|
1059
|
+
recordId: key,
|
|
1060
|
+
node: select(),
|
|
1061
|
+
variables: {},
|
|
1062
|
+
});
|
|
1063
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1064
|
+
if (snapshot.state !== 'Fulfilled') {
|
|
1065
|
+
throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
return snapshot;
|
|
1069
|
+
}
|
|
1070
|
+
function createResourceRequest(config) {
|
|
1071
|
+
const headers = {};
|
|
1072
|
+
return {
|
|
1073
|
+
baseUri: '/services/data/v58.0',
|
|
1074
|
+
basePath: '/connect/scheduling/service-appointments',
|
|
1075
|
+
method: 'post',
|
|
1076
|
+
body: config.body,
|
|
1077
|
+
urlParams: {},
|
|
1078
|
+
queryParams: {},
|
|
1079
|
+
headers,
|
|
1080
|
+
priority: 'normal',
|
|
1081
|
+
};
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
const createServiceAppointment_ConfigPropertyNames = {
|
|
1085
|
+
displayName: 'createServiceAppointment',
|
|
1086
|
+
parameters: {
|
|
1087
|
+
required: ['createServiceAppointmentInput'],
|
|
1088
|
+
optional: []
|
|
1089
|
+
}
|
|
1090
|
+
};
|
|
1091
|
+
function createResourceParams(config) {
|
|
1092
|
+
const resourceParams = {
|
|
1093
|
+
body: {
|
|
1094
|
+
createServiceAppointmentInput: config.createServiceAppointmentInput
|
|
1095
|
+
}
|
|
1096
|
+
};
|
|
1097
|
+
return resourceParams;
|
|
1098
|
+
}
|
|
1099
|
+
function typeCheckConfig(untrustedConfig) {
|
|
1100
|
+
const config = {};
|
|
1101
|
+
const untrustedConfig_createServiceAppointmentInput = untrustedConfig.createServiceAppointmentInput;
|
|
1102
|
+
const referenceCreateServiceAppointmentInputRepresentationValidationError = validate(untrustedConfig_createServiceAppointmentInput);
|
|
1103
|
+
if (referenceCreateServiceAppointmentInputRepresentationValidationError === null) {
|
|
1104
|
+
config.createServiceAppointmentInput = untrustedConfig_createServiceAppointmentInput;
|
|
1105
|
+
}
|
|
1106
|
+
return config;
|
|
1107
|
+
}
|
|
1108
|
+
function validateAdapterConfig(untrustedConfig, configPropertyNames) {
|
|
1109
|
+
if (!untrustedIsObject(untrustedConfig)) {
|
|
1110
|
+
return null;
|
|
1111
|
+
}
|
|
1112
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1113
|
+
validateConfig(untrustedConfig, configPropertyNames);
|
|
1114
|
+
}
|
|
1115
|
+
const config = typeCheckConfig(untrustedConfig);
|
|
1116
|
+
if (!areRequiredParametersPresent(config, configPropertyNames)) {
|
|
1117
|
+
return null;
|
|
1118
|
+
}
|
|
1119
|
+
return config;
|
|
1120
|
+
}
|
|
1121
|
+
function buildNetworkSnapshot(luvio, config, options) {
|
|
1122
|
+
const resourceParams = createResourceParams(config);
|
|
1123
|
+
const request = createResourceRequest(resourceParams);
|
|
1124
|
+
return luvio.dispatchResourceRequest(request, options)
|
|
1125
|
+
.then((response) => {
|
|
1126
|
+
return luvio.handleSuccessResponse(() => {
|
|
1127
|
+
const snapshot = ingestSuccess(luvio, resourceParams, response);
|
|
1128
|
+
return luvio.storeBroadcast().then(() => snapshot);
|
|
1129
|
+
}, () => getResponseCacheKeys(luvio, resourceParams, response.body));
|
|
1130
|
+
}, (response) => {
|
|
1131
|
+
deepFreeze(response);
|
|
1132
|
+
throw response;
|
|
1133
|
+
});
|
|
1134
|
+
}
|
|
1135
|
+
const createServiceAppointmentAdapterFactory = (luvio) => {
|
|
1136
|
+
return function createServiceAppointment(untrustedConfig) {
|
|
1137
|
+
const config = validateAdapterConfig(untrustedConfig, createServiceAppointment_ConfigPropertyNames);
|
|
1138
|
+
// Invalid or incomplete config
|
|
1139
|
+
if (config === null) {
|
|
1140
|
+
throw new Error('Invalid config for "createServiceAppointment"');
|
|
1141
|
+
}
|
|
1142
|
+
return buildNetworkSnapshot(luvio, config);
|
|
1143
|
+
};
|
|
1144
|
+
};
|
|
1145
|
+
|
|
1146
|
+
exports.createServiceAppointmentAdapterFactory = createServiceAppointmentAdapterFactory;
|
|
1147
|
+
exports.getEngagementChannelTypesAdapterFactory = getEngagementChannelTypesAdapterFactory;
|
|
1148
|
+
exports.updateServiceAppointmentAdapterFactory = updateServiceAppointmentAdapterFactory;
|
|
1149
|
+
|
|
1150
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1151
|
+
|
|
1152
|
+
}));
|