@shapediver/viewer.shared.services 2.8.4 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/converter/Converter.d.ts.map +1 -1
  2. package/dist/converter/Converter.js +8 -5
  3. package/dist/converter/Converter.js.map +1 -1
  4. package/dist/dom-event-engine/DomEventEngine.d.ts +1 -0
  5. package/dist/dom-event-engine/DomEventEngine.d.ts.map +1 -1
  6. package/dist/dom-event-engine/DomEventEngine.js +24 -0
  7. package/dist/dom-event-engine/DomEventEngine.js.map +1 -1
  8. package/dist/http-client/HttpClient.d.ts +11 -0
  9. package/dist/http-client/HttpClient.d.ts.map +1 -1
  10. package/dist/http-client/HttpClient.js +37 -13
  11. package/dist/http-client/HttpClient.js.map +1 -1
  12. package/dist/index.d.ts +4 -3
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +7 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/input-validator/InputValidator.d.ts +1 -1
  17. package/dist/input-validator/InputValidator.d.ts.map +1 -1
  18. package/dist/input-validator/InputValidator.js +6 -0
  19. package/dist/input-validator/InputValidator.js.map +1 -1
  20. package/dist/logger/ShapeDiverBackendErrors.d.ts +13 -0
  21. package/dist/logger/ShapeDiverBackendErrors.d.ts.map +1 -0
  22. package/dist/logger/ShapeDiverBackendErrors.js +23 -0
  23. package/dist/logger/ShapeDiverBackendErrors.js.map +1 -0
  24. package/dist/logger/ShapeDiverError.d.ts +5 -3
  25. package/dist/logger/ShapeDiverError.d.ts.map +1 -1
  26. package/dist/logger/ShapeDiverError.js +6 -4
  27. package/dist/logger/ShapeDiverError.js.map +1 -1
  28. package/dist/settings-engine/SettingsEngine.d.ts +1 -3
  29. package/dist/settings-engine/SettingsEngine.d.ts.map +1 -1
  30. package/dist/settings-engine/SettingsEngine.js +4 -12
  31. package/dist/settings-engine/SettingsEngine.js.map +1 -1
  32. package/dist/system-info/SystemInfo.d.ts +4 -0
  33. package/dist/system-info/SystemInfo.d.ts.map +1 -1
  34. package/dist/system-info/SystemInfo.js +6 -0
  35. package/dist/system-info/SystemInfo.js.map +1 -1
  36. package/package.json +5 -5
  37. package/src/converter/Converter.ts +8 -5
  38. package/src/dom-event-engine/DomEventEngine.ts +13 -0
  39. package/src/http-client/HttpClient.ts +46 -23
  40. package/src/index.ts +7 -3
  41. package/src/input-validator/InputValidator.ts +6 -1
  42. package/src/logger/ShapeDiverBackendErrors.ts +30 -0
  43. package/src/logger/ShapeDiverError.ts +11 -5
  44. package/src/settings-engine/SettingsEngine.ts +2 -11
  45. package/src/system-info/SystemInfo.ts +7 -0
@@ -0,0 +1,30 @@
1
+ import { ShapeDiverResponseErrorType } from "@shapediver/sdk.geometry-api-sdk-v2";
2
+ import { ShapeDiverViewerError, ShapeDiverViewerErrorType } from "./ShapeDiverError";
3
+
4
+ export class ShapeDiverGeometryBackendRequestError extends ShapeDiverViewerError {
5
+ // #region Constructors (1)
6
+
7
+ constructor(
8
+ message: string,
9
+ public readonly desc: string,
10
+ ) {
11
+ super(ShapeDiverViewerErrorType.GEOMETRY_BACKEND_REQUEST_ERROR, desc, message);
12
+ }
13
+
14
+ // #endregion Constructors (1)
15
+ }
16
+
17
+ export class ShapeDiverGeometryBackendResponseError extends ShapeDiverViewerError {
18
+ // #region Constructors (1)
19
+
20
+ constructor(
21
+ message: string,
22
+ public readonly status: number,
23
+ public readonly geometryBackendErrorType: ShapeDiverResponseErrorType,
24
+ public readonly desc: string,
25
+ ) {
26
+ super(ShapeDiverViewerErrorType.GEOMETRY_BACKEND_RESPONSE_ERROR, desc, message);
27
+ }
28
+
29
+ // #endregion Constructors (1)
30
+ }
@@ -1,6 +1,7 @@
1
-
2
1
  export enum ShapeDiverViewerErrorType {
3
2
  AR_ERROR = 'SdARError',
3
+ GEOMETRY_BACKEND_REQUEST_ERROR = 'SdGeometryBackendRequestError',
4
+ GEOMETRY_BACKEND_RESPONSE_ERROR = 'SdGeometryBackendResponseError',
4
5
  CAMERA_ERROR = 'SdCameraError',
5
6
  CONNECTION_ERROR = 'SdConnectionError',
6
7
  DATA_PROCESSING_ERROR = 'SdDataProcessingError',
@@ -14,10 +15,15 @@ export enum ShapeDiverViewerErrorType {
14
15
  WEBGL_ERROR = 'SdWebGLError',
15
16
  UNKNOWN = "",
16
17
  }
18
+
17
19
  export interface IShapeDiverViewerError {
18
- error: ShapeDiverViewerErrorType;
20
+ // #region Properties (3)
21
+
19
22
  desc: string;
23
+ errorType: ShapeDiverViewerErrorType;
20
24
  message: string;
25
+
26
+ // #endregion Properties (3)
21
27
  }
22
28
 
23
29
  export class ShapeDiverError extends Error {
@@ -34,14 +40,14 @@ export class ShapeDiverViewerError extends ShapeDiverError implements IShapeDive
34
40
  // #region Constructors (1)
35
41
 
36
42
  constructor(
37
- public readonly error: ShapeDiverViewerErrorType,
43
+ public readonly errorType: ShapeDiverViewerErrorType,
38
44
  public readonly desc: string,
39
45
  message: string
40
46
  ) {
41
47
  super(message)
42
48
 
43
- this.error = (Object.values(ShapeDiverViewerErrorType).includes(error as any))
44
- ? error as ShapeDiverViewerErrorType
49
+ this.errorType = (Object.values(ShapeDiverViewerErrorType).includes(errorType as any))
50
+ ? errorType as ShapeDiverViewerErrorType
45
51
  : ShapeDiverViewerErrorType.UNKNOWN
46
52
  }
47
53
 
@@ -1,4 +1,4 @@
1
- import { convert, validate, DefaultsV3_3 as Defaults, ISettingsV3_3 as ISettings, versions, latestVersion } from '@shapediver/viewer.settings';
1
+ import { convert, validate, DefaultsV3_4 as Defaults, ISettingsV3_4 as ISettings, versions, latestVersion } from '@shapediver/viewer.settings';
2
2
 
3
3
  import { EventEngine } from '../event-engine/EventEngine'
4
4
  import { Logger } from '../logger/Logger';
@@ -20,7 +20,6 @@ export class SettingsEngine {
20
20
  private readonly _logger: Logger = Logger.instance;
21
21
  private readonly _settings: ISettings = Defaults();
22
22
  private _settingsJson: any;
23
- private _settings_version: versions = latestVersion;
24
23
 
25
24
  // #endregion Properties (8)
26
25
 
@@ -74,10 +73,6 @@ export class SettingsEngine {
74
73
 
75
74
  // #region Public Methods (4)
76
75
 
77
- public convertToTargetVersion(): any {
78
- return convert(this._settings, this._settings_version);
79
- }
80
-
81
76
  public flatten() {
82
77
  const flattenObject = (ob: any) => {
83
78
  const toReturn: { [key: string]: any } = {};
@@ -102,13 +97,12 @@ export class SettingsEngine {
102
97
  this._settingsJson = json;
103
98
  if (JSON.stringify(json) !== JSON.stringify({})) {
104
99
 
105
- const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2'];
100
+ const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2', '3.3'];
106
101
  for(let i = 0; i < prevVersions.length; i++) {
107
102
  const v = prevVersions[i];
108
103
 
109
104
  try {
110
105
  validate(json, v as versions);
111
- this._settings_version = v as versions;
112
106
  (<any>this._settings) = convert(json, latestVersion);
113
107
  this.cleanSettings(this._settings);
114
108
  return;
@@ -117,7 +111,6 @@ export class SettingsEngine {
117
111
 
118
112
  try {
119
113
  validate(json, latestVersion);
120
- this._settings_version = latestVersion;
121
114
  (<any>this._settings) = convert(json, latestVersion);
122
115
  this.cleanSettings(this._settings);
123
116
  return;
@@ -125,14 +118,12 @@ export class SettingsEngine {
125
118
  throw new ShapeDiverViewerSettingsError('SettingsEngine.loadSettings: Settings could not be validated. ' + (<Error>e).message, <Error>e);
126
119
  }
127
120
  } else {
128
- this._settings_version = latestVersion;
129
121
  (<any>this._settings) = Defaults();
130
122
  return;
131
123
  }
132
124
  }
133
125
 
134
126
  public reset() {
135
- this._settings_version = latestVersion;
136
127
  (<any>this._settings) = Defaults();
137
128
  }
138
129
 
@@ -101,6 +101,13 @@ export class SystemInfo {
101
101
  return this._isIframe;
102
102
  }
103
103
 
104
+ /**
105
+ * Check if we are running in an instagram browser
106
+ */
107
+ public get isInstagram(): boolean {
108
+ return this._parser.getBrowser().name === "Instagram";
109
+ }
110
+
104
111
  /**
105
112
  * Check if we are on a Mac OS device
106
113
  */