@shapediver/viewer.session-engine.session-engine 3.14.6 → 3.14.8

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.
Files changed (44) hide show
  1. package/dist/implementation/SessionEngine.d.ts.map +1 -1
  2. package/dist/implementation/SessionEngine.js +5 -4
  3. package/dist/implementation/SessionEngine.js.map +1 -1
  4. package/dist/implementation/SessionEngineCore.d.ts +145 -0
  5. package/dist/implementation/SessionEngineCore.d.ts.map +1 -0
  6. package/dist/implementation/SessionEngineCore.js +544 -0
  7. package/dist/implementation/SessionEngineCore.js.map +1 -0
  8. package/dist/implementation/SessionEngineFacade.d.ts +101 -0
  9. package/dist/implementation/SessionEngineFacade.d.ts.map +1 -0
  10. package/dist/implementation/SessionEngineFacade.js +190 -0
  11. package/dist/implementation/SessionEngineFacade.js.map +1 -0
  12. package/dist/implementation/managers/CustomizationManager.d.ts +32 -0
  13. package/dist/implementation/managers/CustomizationManager.d.ts.map +1 -0
  14. package/dist/implementation/managers/CustomizationManager.js +266 -0
  15. package/dist/implementation/managers/CustomizationManager.js.map +1 -0
  16. package/dist/implementation/managers/ExportManager.d.ts +31 -0
  17. package/dist/implementation/managers/ExportManager.d.ts.map +1 -0
  18. package/dist/implementation/managers/ExportManager.js +150 -0
  19. package/dist/implementation/managers/ExportManager.js.map +1 -0
  20. package/dist/implementation/managers/FileUploadManager.d.ts +36 -0
  21. package/dist/implementation/managers/FileUploadManager.d.ts.map +1 -0
  22. package/dist/implementation/managers/FileUploadManager.js +178 -0
  23. package/dist/implementation/managers/FileUploadManager.js.map +1 -0
  24. package/dist/implementation/managers/ModelStateManager.d.ts +16 -0
  25. package/dist/implementation/managers/ModelStateManager.d.ts.map +1 -0
  26. package/dist/implementation/managers/ModelStateManager.js +130 -0
  27. package/dist/implementation/managers/ModelStateManager.js.map +1 -0
  28. package/dist/implementation/managers/OutputManager.d.ts +61 -0
  29. package/dist/implementation/managers/OutputManager.d.ts.map +1 -0
  30. package/dist/implementation/managers/OutputManager.js +358 -0
  31. package/dist/implementation/managers/OutputManager.js.map +1 -0
  32. package/dist/implementation/managers/ParameterManager.d.ts +28 -0
  33. package/dist/implementation/managers/ParameterManager.d.ts.map +1 -0
  34. package/dist/implementation/managers/ParameterManager.js +84 -0
  35. package/dist/implementation/managers/ParameterManager.js.map +1 -0
  36. package/dist/implementation/managers/SettingsManager.d.ts +55 -0
  37. package/dist/implementation/managers/SettingsManager.d.ts.map +1 -0
  38. package/dist/implementation/managers/SettingsManager.js +456 -0
  39. package/dist/implementation/managers/SettingsManager.js.map +1 -0
  40. package/dist/implementation/managers/UtilsManager.d.ts +65 -0
  41. package/dist/implementation/managers/UtilsManager.d.ts.map +1 -0
  42. package/dist/implementation/managers/UtilsManager.js +345 -0
  43. package/dist/implementation/managers/UtilsManager.js.map +1 -0
  44. package/package.json +8 -8
@@ -0,0 +1,544 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SessionEngineCore = void 0;
13
+ const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
14
+ const viewer_settings_1 = require("@shapediver/viewer.settings");
15
+ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
16
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
17
+ const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
18
+ const DrawingParameter_1 = require("./dto/DrawingParameter");
19
+ const Export_1 = require("./dto/Export");
20
+ const FileParameter_1 = require("./dto/FileParameter");
21
+ const Output_1 = require("./dto/Output");
22
+ const Parameter_1 = require("./dto/Parameter");
23
+ const CustomizationManager_1 = require("./managers/CustomizationManager");
24
+ const ExportManager_1 = require("./managers/ExportManager");
25
+ const FileUploadManager_1 = require("./managers/FileUploadManager");
26
+ const ModelStateManager_1 = require("./managers/ModelStateManager");
27
+ const OutputManager_1 = require("./managers/OutputManager");
28
+ const ParameterManager_1 = require("./managers/ParameterManager");
29
+ const SettingsManager_1 = require("./managers/SettingsManager");
30
+ const UtilsManager_1 = require("./managers/UtilsManager");
31
+ /* eslint-disable @typescript-eslint/no-empty-function */
32
+ class SessionEngineCore {
33
+ // #endregion Properties (50)
34
+ // #region Constructors (1)
35
+ /**
36
+ * Can be use to initialize a session with the ticket/guid and modelViewUrl and returns a scene graph node with the result.
37
+ * Can be use to customize the session with updated parameters to get the updated scene graph node.
38
+ */
39
+ constructor(properties) {
40
+ // #region Properties (50)
41
+ this._converter = viewer_shared_services_1.Converter.instance;
42
+ this._eventEngine = viewer_shared_services_1.EventEngine.instance;
43
+ this._exports = {};
44
+ this._httpClient = viewer_shared_services_1.HttpClient.instance;
45
+ this._logger = viewer_shared_services_1.Logger.instance;
46
+ this._outputs = {};
47
+ this._outputsFreeze = {};
48
+ this._parameterValues = {};
49
+ this._parameters = {};
50
+ this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
51
+ this._sessionEngineId = viewer_shared_services_1.UuidGenerator.instance.create();
52
+ this._stateEngine = viewer_shared_services_1.StateEngine.instance;
53
+ this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
54
+ this._customizationBusyModes = [];
55
+ this._allowOutputLoading = true;
56
+ this._automaticSceneUpdate = true;
57
+ this._closeOnFailure = () => __awaiter(this, void 0, void 0, function* () { });
58
+ this._closed = false;
59
+ this._customizeOnParameterChange = false;
60
+ this._dataCache = {};
61
+ this._excludeViewports = [];
62
+ this._headers = {
63
+ "X-ShapeDiver-Origin": viewer_shared_services_1.SystemInfo.instance.origin,
64
+ "X-ShapeDiver-SessionEngineId": this._sessionEngineId,
65
+ "X-ShapeDiver-BuildVersion": "",
66
+ "X-ShapeDiver-BuildDate": "",
67
+ };
68
+ this._initialized = false;
69
+ this._loadSdtf = false;
70
+ this._updateCallback = null;
71
+ this._id = properties.id;
72
+ this._node = new viewer_shared_node_tree_1.TreeNode(properties.id);
73
+ this._guid = properties.guid;
74
+ this._ticket = properties.ticket;
75
+ this._modelViewUrl = properties.modelViewUrl;
76
+ this._excludeViewports = properties.excludeViewports || [];
77
+ this._jwtToken = properties.jwtToken;
78
+ this._allowOutputLoading = properties.allowOutputLoading;
79
+ this._ignoreUnknownParams = properties.ignoreUnknownParams;
80
+ this._loadSdtf = properties.loadSdtf;
81
+ this._modelStateId = properties.modelStateId;
82
+ this._modelStateValidationMode = properties.modelStateValidationMode;
83
+ this._throwOnCustomizationError =
84
+ properties.throwOnCustomizationError !== undefined
85
+ ? properties.throwOnCustomizationError
86
+ : false;
87
+ this._headers["X-ShapeDiver-BuildDate"] = properties.buildDate;
88
+ this._headers["X-ShapeDiver-BuildVersion"] = properties.buildVersion;
89
+ this._utilsManager = new UtilsManager_1.UtilsManager(this);
90
+ this._settingsManager = new SettingsManager_1.SettingsManager(this);
91
+ this._outputManager = new OutputManager_1.OutputManager(this);
92
+ this._exportManager = new ExportManager_1.ExportManager(this);
93
+ this._fileUploadManager = new FileUploadManager_1.FileUploadManager(this);
94
+ this._parameterManager = new ParameterManager_1.ParameterManager(this);
95
+ this._customizationManager = new CustomizationManager_1.CustomizationManager(this);
96
+ this._modelStateManager = new ModelStateManager_1.ModelStateManager(this);
97
+ try {
98
+ this._sdkConfig = new sdk_geometry_api_sdk_v2_1.Configuration({
99
+ basePath: this._modelViewUrl,
100
+ accessToken: this._jwtToken,
101
+ baseOptions: {
102
+ headers: this._headers,
103
+ },
104
+ });
105
+ }
106
+ catch (e) {
107
+ throw this._httpClient.convertError(e);
108
+ }
109
+ }
110
+ // #endregion Constructors (1)
111
+ // #region Public Getters And Setters (28)
112
+ get modelStateManager() {
113
+ return this._modelStateManager;
114
+ }
115
+ get customizationManager() {
116
+ return this._customizationManager;
117
+ }
118
+ get parameterManager() {
119
+ return this._parameterManager;
120
+ }
121
+ get modelStateId() {
122
+ return this._modelStateId;
123
+ }
124
+ get fileUploadManager() {
125
+ return this._fileUploadManager;
126
+ }
127
+ get closeOnFailure() {
128
+ return this._closeOnFailure;
129
+ }
130
+ get utilsManager() {
131
+ return this._utilsManager;
132
+ }
133
+ get initialized() {
134
+ return this._initialized;
135
+ }
136
+ set initialized(value) {
137
+ this._initialized = value;
138
+ }
139
+ get customizationBusyModes() {
140
+ return this._customizationBusyModes;
141
+ }
142
+ set customizationBusyModes(value) {
143
+ this._customizationBusyModes = value;
144
+ }
145
+ get outputManager() {
146
+ return this._outputManager;
147
+ }
148
+ get closed() {
149
+ return this._closed;
150
+ }
151
+ set node(value) {
152
+ this._node = value;
153
+ }
154
+ get throwOnCustomizationError() {
155
+ return this._throwOnCustomizationError;
156
+ }
157
+ get customizationProcess() {
158
+ return this._customizationProcess;
159
+ }
160
+ set customizationProcess(value) {
161
+ this._customizationProcess = value;
162
+ }
163
+ get sessionId() {
164
+ return this._sessionId;
165
+ }
166
+ get settingsManager() {
167
+ return this._settingsManager;
168
+ }
169
+ get responseDto() {
170
+ return this._responseDto;
171
+ }
172
+ get sdkConfig() {
173
+ return this._sdkConfig;
174
+ }
175
+ get modelId() {
176
+ return this._modelId;
177
+ }
178
+ get automaticSceneUpdate() {
179
+ return this._automaticSceneUpdate;
180
+ }
181
+ set automaticSceneUpdate(value) {
182
+ this._automaticSceneUpdate = value;
183
+ value && this._closed === false
184
+ ? this._utilsManager.addToSceneTree(this._node)
185
+ : this._utilsManager.removeFromSceneTree(this._node);
186
+ }
187
+ get canUploadGLTF() {
188
+ try {
189
+ this._utilsManager.checkAvailability("gltf-upload");
190
+ return true;
191
+ }
192
+ catch (e) {
193
+ return false;
194
+ }
195
+ }
196
+ get customizeOnParameterChange() {
197
+ return this._customizeOnParameterChange;
198
+ }
199
+ set customizeOnParameterChange(value) {
200
+ this._customizeOnParameterChange = value;
201
+ }
202
+ get excludeViewports() {
203
+ return this._excludeViewports;
204
+ }
205
+ set excludeViewports(value) {
206
+ this._excludeViewports = JSON.parse(JSON.stringify(value));
207
+ this._node.excludeViewports = JSON.parse(JSON.stringify(value));
208
+ }
209
+ get exports() {
210
+ return this._exports;
211
+ }
212
+ get guid() {
213
+ return this._guid;
214
+ }
215
+ get id() {
216
+ return this._id;
217
+ }
218
+ get jwtToken() {
219
+ return this._jwtToken;
220
+ }
221
+ get loadSdtf() {
222
+ return this._loadSdtf;
223
+ }
224
+ get ignoreUnknownParams() {
225
+ return this._ignoreUnknownParams;
226
+ }
227
+ get exportManager() {
228
+ return this._exportManager;
229
+ }
230
+ get allowOutputLoading() {
231
+ return this._allowOutputLoading;
232
+ }
233
+ set loadSdtf(value) {
234
+ this._loadSdtf = value;
235
+ if (this._initialized === true && this._loadSdtf === true) {
236
+ (() => __awaiter(this, void 0, void 0, function* () {
237
+ this._outputManager.reloadSdtf = true;
238
+ yield this._outputManager.updateOutputs();
239
+ this._outputManager.reloadSdtf = false;
240
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.SESSION.SESSION_SDTF_DELAYED_LOADED, { sessionId: this.id });
241
+ }))();
242
+ }
243
+ }
244
+ get modelState() {
245
+ return this._modelState;
246
+ }
247
+ get modelViewUrl() {
248
+ return this._modelViewUrl;
249
+ }
250
+ get node() {
251
+ return this._node;
252
+ }
253
+ get outputs() {
254
+ return this._outputs;
255
+ }
256
+ get outputsFreeze() {
257
+ return this._outputsFreeze;
258
+ }
259
+ get parameterValues() {
260
+ return this._parameterValues;
261
+ }
262
+ get parameters() {
263
+ return this._parameters;
264
+ }
265
+ get refreshJwtToken() {
266
+ return this._refreshJwtToken;
267
+ }
268
+ set refreshJwtToken(value) {
269
+ this._refreshJwtToken = value;
270
+ }
271
+ get ticket() {
272
+ return this._ticket;
273
+ }
274
+ get updateCallback() {
275
+ return this._updateCallback;
276
+ }
277
+ set updateCallback(value) {
278
+ this._updateCallback = value;
279
+ }
280
+ // #endregion Public Getters And Setters (28)
281
+ // #region Public Methods (31)
282
+ close(retry = false) {
283
+ return __awaiter(this, void 0, void 0, function* () {
284
+ this._utilsManager.checkAvailability("close");
285
+ try {
286
+ this._httpClient.removeDataLoading(this._sessionId);
287
+ yield new sdk_geometry_api_sdk_v2_1.SessionApi(this._sdkConfig).closeSession(this._sessionId);
288
+ if (this._automaticSceneUpdate)
289
+ this._utilsManager.removeFromSceneTree(this._node);
290
+ this._closed = true;
291
+ }
292
+ catch (e) {
293
+ yield this._utilsManager.handleError(e, retry);
294
+ return yield this.close(true);
295
+ }
296
+ });
297
+ }
298
+ /**
299
+ * Initializes the session with the ticket and modelViewUrl.
300
+ *
301
+ * @returns promise with a scene graph node
302
+ */
303
+ init(parameterValues, retry = false) {
304
+ var _a, _b;
305
+ return __awaiter(this, void 0, void 0, function* () {
306
+ if (this._initialized === true)
307
+ throw new viewer_shared_services_1.ShapeDiverViewerSessionError("Session.init: Session already initialized.");
308
+ try {
309
+ this._performanceEvaluator.startSection("sessionResponse");
310
+ const parameterSet = {};
311
+ // the slice here is done as a way for deep copying the string values
312
+ for (const parameterNameOrId in parameterValues)
313
+ parameterSet[parameterNameOrId] = (" " + parameterValues[parameterNameOrId]).slice(1);
314
+ if (this._ticket) {
315
+ this._responseDto = (yield new sdk_geometry_api_sdk_v2_1.SessionApi(this._sdkConfig).createSessionByTicket(this._ticket, this._modelStateId, this._ignoreUnknownParams, this._modelStateValidationMode, parameterSet)).data;
316
+ }
317
+ else if (this._guid) {
318
+ this._responseDto = (yield new sdk_geometry_api_sdk_v2_1.SessionApi(this._sdkConfig).createSessionByModel(this._guid, this._modelStateId, this._ignoreUnknownParams, this._modelStateValidationMode, parameterSet)).data;
319
+ }
320
+ else {
321
+ // we should never get here
322
+ throw new viewer_shared_services_1.ShapeDiverViewerSessionError("Session.init: Initialization of session failed. Neither a ticket nor a guid are available.");
323
+ }
324
+ this._performanceEvaluator.endSection("sessionResponse");
325
+ this._settingsManager.viewerSettings =
326
+ (_a = this._responseDto.viewer) === null || _a === void 0 ? void 0 : _a.config;
327
+ this._settingsManager.viewerSettingsVersionBackend =
328
+ this._responseDto.viewerSettingsVersion || viewer_settings_1.latestVersion;
329
+ this._sessionId = this._responseDto.sessionId;
330
+ this._modelId = (_b = this._responseDto.model) === null || _b === void 0 ? void 0 : _b.id;
331
+ this._modelState = this._responseDto.modelState;
332
+ this._httpClient.addDataLoading(this._sessionId, {
333
+ getAsset: (url) => __awaiter(this, void 0, void 0, function* () {
334
+ const response = yield new sdk_geometry_api_sdk_v2_1.UtilsApi(this._sdkConfig).downloadAsset(url, {
335
+ responseType: "arraybuffer",
336
+ })[0];
337
+ return [
338
+ response.data,
339
+ response.headers["content-type"],
340
+ ];
341
+ }),
342
+ downloadTexture: (url) => __awaiter(this, void 0, void 0, function* () {
343
+ const response = yield new sdk_geometry_api_sdk_v2_1.UtilsApi(this._sdkConfig).downloadImage(this._sessionId, url, {
344
+ responseType: "arraybuffer",
345
+ });
346
+ return [
347
+ response.data,
348
+ response.headers["content-type"],
349
+ ];
350
+ }),
351
+ });
352
+ this._settingsManager.settingsEngine.loadSettings(this._settingsManager.viewerSettings);
353
+ if (!this._sessionId)
354
+ throw new viewer_shared_services_1.ShapeDiverViewerSessionError("Session.init: Initialization of session failed. ResponseDto did not have a sessionId.");
355
+ if (!this._modelId)
356
+ throw new viewer_shared_services_1.ShapeDiverViewerSessionError("Session.init: Initialization of session failed. ResponseDto did not have a model.id.");
357
+ this.updateResponseDto(this._responseDto, parameterSet);
358
+ this._initialized = true;
359
+ }
360
+ catch (e) {
361
+ yield this._utilsManager.handleError(e, retry);
362
+ return yield this.init(parameterValues, true);
363
+ }
364
+ });
365
+ }
366
+ setJwtToken(value, retry = false) {
367
+ return __awaiter(this, void 0, void 0, function* () {
368
+ this._utilsManager.checkAvailability();
369
+ this._jwtToken = value;
370
+ try {
371
+ this._sdkConfig.accessToken = value;
372
+ const responseDto = (yield new sdk_geometry_api_sdk_v2_1.SessionApi(this._sdkConfig).getSessionDefaults(this._sessionId)).data;
373
+ if (this._responseDto)
374
+ this._responseDto.actions = responseDto.actions;
375
+ }
376
+ catch (e) {
377
+ yield this._utilsManager.handleError(e, retry);
378
+ yield this.setJwtToken(value, true);
379
+ }
380
+ });
381
+ }
382
+ // #endregion Public Methods (31)
383
+ // #region Private Methods (18)
384
+ updateResponseDto(responseDto, initialParameters) {
385
+ if (!this._responseDto) {
386
+ this._responseDto = responseDto;
387
+ return;
388
+ }
389
+ // convert parameters
390
+ if (responseDto.parameters) {
391
+ for (const parameterId in responseDto.parameters) {
392
+ this._responseDto.parameters =
393
+ this._responseDto.parameters || {};
394
+ this._responseDto.parameters[parameterId] =
395
+ this._responseDto.parameters[parameterId] ||
396
+ responseDto.parameters[parameterId];
397
+ }
398
+ }
399
+ // convert outputs
400
+ if (responseDto.outputs) {
401
+ for (const outputId in responseDto.outputs) {
402
+ this._responseDto.outputs = this._responseDto.outputs || {};
403
+ if ("version" in responseDto.outputs[outputId] ||
404
+ !(this._responseDto.outputs[outputId] &&
405
+ "version" in this._responseDto.outputs[outputId]))
406
+ this._responseDto.outputs[outputId] =
407
+ responseDto.outputs[outputId];
408
+ }
409
+ }
410
+ // convert exports
411
+ if (responseDto.exports) {
412
+ for (const exportId in responseDto.exports) {
413
+ this._responseDto.exports = this._responseDto.exports || {};
414
+ if ("version" in responseDto.exports[exportId] ||
415
+ !(this._responseDto.exports[exportId] &&
416
+ "version" in this._responseDto.exports[exportId]))
417
+ this._responseDto.exports[exportId] =
418
+ responseDto.exports[exportId];
419
+ }
420
+ }
421
+ const parameterSet = {};
422
+ for (const parameterId in this._responseDto.parameters) {
423
+ if (this.parameters[parameterId])
424
+ continue;
425
+ this._responseDto.parameters[parameterId].id = parameterId;
426
+ switch (true) {
427
+ case this._responseDto.parameters[parameterId].type ===
428
+ viewer_shared_types_1.PARAMETER_TYPE.BOOL:
429
+ this.parameters[parameterId] = new Parameter_1.Parameter(this._responseDto.parameters[parameterId], this);
430
+ break;
431
+ case this._responseDto.parameters[parameterId].type ===
432
+ viewer_shared_types_1.PARAMETER_TYPE.COLOR:
433
+ this.parameters[parameterId] = new Parameter_1.Parameter(this._responseDto.parameters[parameterId], this);
434
+ break;
435
+ case this._responseDto.parameters[parameterId].type ===
436
+ viewer_shared_types_1.PARAMETER_TYPE.FILE:
437
+ this.parameters[parameterId] = new FileParameter_1.FileParameter(this._responseDto.parameters[parameterId], this);
438
+ break;
439
+ case this._responseDto.parameters[parameterId].type ===
440
+ viewer_shared_types_1.PARAMETER_TYPE.EVEN ||
441
+ this._responseDto.parameters[parameterId].type ===
442
+ viewer_shared_types_1.PARAMETER_TYPE.FLOAT ||
443
+ this._responseDto.parameters[parameterId].type ===
444
+ viewer_shared_types_1.PARAMETER_TYPE.INT ||
445
+ this._responseDto.parameters[parameterId].type ===
446
+ viewer_shared_types_1.PARAMETER_TYPE.ODD:
447
+ this.parameters[parameterId] = new Parameter_1.Parameter(this._responseDto.parameters[parameterId], this);
448
+ break;
449
+ case this._responseDto.parameters[parameterId].type ===
450
+ viewer_shared_types_1.PARAMETER_TYPE.INTERACTION:
451
+ this.parameters[parameterId] =
452
+ this._utilsManager.createInteractionParameter(this._responseDto.parameters[parameterId]);
453
+ break;
454
+ case this._responseDto.parameters[parameterId].type ===
455
+ viewer_shared_types_1.PARAMETER_TYPE.DRAWING:
456
+ this.parameters[parameterId] = new DrawingParameter_1.DrawingParameter(this._responseDto.parameters[parameterId], this);
457
+ break;
458
+ default:
459
+ this.parameters[parameterId] = new Parameter_1.Parameter(this._responseDto.parameters[parameterId], this);
460
+ break;
461
+ }
462
+ // we don't have to do larger restrictions for this as the backend would have already thrown an error if the values were not correct
463
+ if (initialParameters) {
464
+ let hasInitialValue = false;
465
+ // check if the id is within the initial parameters
466
+ if (initialParameters[parameterId] !== undefined) {
467
+ this.parameters[parameterId].value =
468
+ initialParameters[parameterId];
469
+ hasInitialValue = true;
470
+ }
471
+ // check if the name is within the initial parameters
472
+ else if (initialParameters[this.parameters[parameterId].name] !==
473
+ undefined) {
474
+ this.parameters[parameterId].value =
475
+ initialParameters[this.parameters[parameterId].name];
476
+ hasInitialValue = true;
477
+ }
478
+ // check if the displayname is within the initial parameters
479
+ else if (this.parameters[parameterId].displayname &&
480
+ initialParameters[this.parameters[parameterId].displayname] !== undefined) {
481
+ this.parameters[parameterId].value =
482
+ initialParameters[this.parameters[parameterId].displayname];
483
+ hasInitialValue = true;
484
+ }
485
+ // if there is an initial value, we try to cast it to the correct type
486
+ // we only do this for bool and number types, as the other types are either string or have their own parsing
487
+ if (hasInitialValue) {
488
+ if (this.parameters[parameterId].type ===
489
+ viewer_shared_types_1.PARAMETER_TYPE.BOOL) {
490
+ // cast to boolean
491
+ this.parameters[parameterId].value = Boolean(this.parameters[parameterId].value);
492
+ }
493
+ else if (this.parameters[parameterId].type ===
494
+ viewer_shared_types_1.PARAMETER_TYPE.INT ||
495
+ this.parameters[parameterId].type ===
496
+ viewer_shared_types_1.PARAMETER_TYPE.FLOAT ||
497
+ this.parameters[parameterId].type ===
498
+ viewer_shared_types_1.PARAMETER_TYPE.EVEN ||
499
+ this.parameters[parameterId].type === viewer_shared_types_1.PARAMETER_TYPE.ODD) {
500
+ // cast to number
501
+ this.parameters[parameterId].value = Number(this.parameters[parameterId].value);
502
+ }
503
+ }
504
+ }
505
+ parameterSet[parameterId] = {
506
+ value: this.parameters[parameterId].value,
507
+ valueString: this.parameters[parameterId].stringify(),
508
+ };
509
+ if (!this.initialized)
510
+ this.parameterValues[parameterId] =
511
+ parameterSet[parameterId].valueString;
512
+ }
513
+ // store the initialization as the first parameter set in the history
514
+ if (!this.initialized)
515
+ this._parameterManager.parameterHistory.push(parameterSet);
516
+ for (const exportId in this._responseDto.exports) {
517
+ if (this._responseDto.exports[exportId].type ===
518
+ sdk_geometry_api_sdk_v2_1.ResExportDefinitionType.EMAIL ||
519
+ this._responseDto.exports[exportId].type ===
520
+ sdk_geometry_api_sdk_v2_1.ResExportDefinitionType.DOWNLOAD) {
521
+ if (!this.exports[exportId]) {
522
+ this._responseDto.exports[exportId].id = exportId;
523
+ this.exports[exportId] = new Export_1.Export(this._responseDto.exports[exportId], this);
524
+ }
525
+ else {
526
+ this.exports[exportId].updateExport(this._responseDto.exports[exportId]);
527
+ }
528
+ }
529
+ }
530
+ for (const outputId in this._responseDto.outputs) {
531
+ if (!this.outputs[outputId]) {
532
+ this._responseDto.outputs[outputId].id = outputId;
533
+ if (this.outputsFreeze[outputId] === undefined)
534
+ this.outputsFreeze[outputId] = false;
535
+ this.outputs[outputId] = new Output_1.Output(this._responseDto.outputs[outputId], this);
536
+ }
537
+ else {
538
+ this.outputs[outputId].updateOutputDefinition(this._responseDto.outputs[outputId]);
539
+ }
540
+ }
541
+ }
542
+ }
543
+ exports.SessionEngineCore = SessionEngineCore;
544
+ //# sourceMappingURL=SessionEngineCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionEngineCore.js","sourceRoot":"","sources":["../../src/implementation/SessionEngineCore.ts"],"names":[],"mappings":"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"}