@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.
- package/dist/converter/Converter.d.ts.map +1 -1
- package/dist/converter/Converter.js +8 -5
- package/dist/converter/Converter.js.map +1 -1
- package/dist/dom-event-engine/DomEventEngine.d.ts +1 -0
- package/dist/dom-event-engine/DomEventEngine.d.ts.map +1 -1
- package/dist/dom-event-engine/DomEventEngine.js +24 -0
- package/dist/dom-event-engine/DomEventEngine.js.map +1 -1
- package/dist/http-client/HttpClient.d.ts +11 -0
- package/dist/http-client/HttpClient.d.ts.map +1 -1
- package/dist/http-client/HttpClient.js +37 -13
- package/dist/http-client/HttpClient.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/input-validator/InputValidator.d.ts +1 -1
- package/dist/input-validator/InputValidator.d.ts.map +1 -1
- package/dist/input-validator/InputValidator.js +6 -0
- package/dist/input-validator/InputValidator.js.map +1 -1
- package/dist/logger/ShapeDiverBackendErrors.d.ts +13 -0
- package/dist/logger/ShapeDiverBackendErrors.d.ts.map +1 -0
- package/dist/logger/ShapeDiverBackendErrors.js +23 -0
- package/dist/logger/ShapeDiverBackendErrors.js.map +1 -0
- package/dist/logger/ShapeDiverError.d.ts +5 -3
- package/dist/logger/ShapeDiverError.d.ts.map +1 -1
- package/dist/logger/ShapeDiverError.js +6 -4
- package/dist/logger/ShapeDiverError.js.map +1 -1
- package/dist/settings-engine/SettingsEngine.d.ts +1 -3
- package/dist/settings-engine/SettingsEngine.d.ts.map +1 -1
- package/dist/settings-engine/SettingsEngine.js +4 -12
- package/dist/settings-engine/SettingsEngine.js.map +1 -1
- package/dist/system-info/SystemInfo.d.ts +4 -0
- package/dist/system-info/SystemInfo.d.ts.map +1 -1
- package/dist/system-info/SystemInfo.js +6 -0
- package/dist/system-info/SystemInfo.js.map +1 -1
- package/package.json +5 -5
- package/src/converter/Converter.ts +8 -5
- package/src/dom-event-engine/DomEventEngine.ts +13 -0
- package/src/http-client/HttpClient.ts +46 -23
- package/src/index.ts +7 -3
- package/src/input-validator/InputValidator.ts +6 -1
- package/src/logger/ShapeDiverBackendErrors.ts +30 -0
- package/src/logger/ShapeDiverError.ts +11 -5
- package/src/settings-engine/SettingsEngine.ts +2 -11
- 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
|
-
|
|
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
|
|
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.
|
|
44
|
-
?
|
|
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,
|
|
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
|
*/
|