@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,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShapeDiverGeometryBackendResponseError = exports.ShapeDiverGeometryBackendRequestError = void 0;
|
|
4
|
+
const ShapeDiverError_1 = require("./ShapeDiverError");
|
|
5
|
+
class ShapeDiverGeometryBackendRequestError extends ShapeDiverError_1.ShapeDiverViewerError {
|
|
6
|
+
// #region Constructors (1)
|
|
7
|
+
constructor(message, desc) {
|
|
8
|
+
super(ShapeDiverError_1.ShapeDiverViewerErrorType.GEOMETRY_BACKEND_REQUEST_ERROR, desc, message);
|
|
9
|
+
this.desc = desc;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.ShapeDiverGeometryBackendRequestError = ShapeDiverGeometryBackendRequestError;
|
|
13
|
+
class ShapeDiverGeometryBackendResponseError extends ShapeDiverError_1.ShapeDiverViewerError {
|
|
14
|
+
// #region Constructors (1)
|
|
15
|
+
constructor(message, status, geometryBackendErrorType, desc) {
|
|
16
|
+
super(ShapeDiverError_1.ShapeDiverViewerErrorType.GEOMETRY_BACKEND_RESPONSE_ERROR, desc, message);
|
|
17
|
+
this.status = status;
|
|
18
|
+
this.geometryBackendErrorType = geometryBackendErrorType;
|
|
19
|
+
this.desc = desc;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ShapeDiverGeometryBackendResponseError = ShapeDiverGeometryBackendResponseError;
|
|
23
|
+
//# sourceMappingURL=ShapeDiverBackendErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShapeDiverBackendErrors.js","sourceRoot":"","sources":["../../src/logger/ShapeDiverBackendErrors.ts"],"names":[],"mappings":";;;AACA,uDAAqF;AAErF,MAAa,qCAAsC,SAAQ,uCAAqB;IAC5E,2BAA2B;IAE3B,YACI,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,2CAAyB,CAAC,8BAA8B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAF/D,SAAI,GAAJ,IAAI,CAAQ;IAGhC,CAAC;CAGJ;AAXD,sFAWC;AAED,MAAa,sCAAuC,SAAQ,uCAAqB;IAC7E,2BAA2B;IAE3B,YACI,OAAe,EACC,MAAc,EACd,wBAAqD,EACrD,IAAY;QAE5B,KAAK,CAAC,2CAAyB,CAAC,+BAA+B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAJhE,WAAM,GAAN,MAAM,CAAQ;QACd,6BAAwB,GAAxB,wBAAwB,CAA6B;QACrD,SAAI,GAAJ,IAAI,CAAQ;IAGhC,CAAC;CAGJ;AAbD,wFAaC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare enum ShapeDiverViewerErrorType {
|
|
2
2
|
AR_ERROR = "SdARError",
|
|
3
|
+
GEOMETRY_BACKEND_REQUEST_ERROR = "SdGeometryBackendRequestError",
|
|
4
|
+
GEOMETRY_BACKEND_RESPONSE_ERROR = "SdGeometryBackendResponseError",
|
|
3
5
|
CAMERA_ERROR = "SdCameraError",
|
|
4
6
|
CONNECTION_ERROR = "SdConnectionError",
|
|
5
7
|
DATA_PROCESSING_ERROR = "SdDataProcessingError",
|
|
@@ -14,16 +16,16 @@ export declare enum ShapeDiverViewerErrorType {
|
|
|
14
16
|
UNKNOWN = ""
|
|
15
17
|
}
|
|
16
18
|
export interface IShapeDiverViewerError {
|
|
17
|
-
error: ShapeDiverViewerErrorType;
|
|
18
19
|
desc: string;
|
|
20
|
+
errorType: ShapeDiverViewerErrorType;
|
|
19
21
|
message: string;
|
|
20
22
|
}
|
|
21
23
|
export declare class ShapeDiverError extends Error {
|
|
22
24
|
constructor(message: string);
|
|
23
25
|
}
|
|
24
26
|
export declare class ShapeDiverViewerError extends ShapeDiverError implements IShapeDiverViewerError {
|
|
25
|
-
readonly
|
|
27
|
+
readonly errorType: ShapeDiverViewerErrorType;
|
|
26
28
|
readonly desc: string;
|
|
27
|
-
constructor(
|
|
29
|
+
constructor(errorType: ShapeDiverViewerErrorType, desc: string, message: string);
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=ShapeDiverError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeDiverError.d.ts","sourceRoot":"","sources":["../../src/logger/ShapeDiverError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShapeDiverError.d.ts","sourceRoot":"","sources":["../../src/logger/ShapeDiverError.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB;IACjC,QAAQ,cAAc;IACtB,8BAA8B,kCAAkC;IAChE,+BAA+B,mCAAmC;IAClE,YAAY,kBAAkB;IAC9B,gBAAgB,sBAAsB;IACtC,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,sBAAsB,yBAAyB;IAC/C,iBAAiB,uBAAuB;IACxC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,OAAO,KAAK;CACf;AAED,MAAM,WAAW,sBAAsB;IAGnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,yBAAyB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CAGnB;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAG1B,OAAO,EAAE,MAAM;CAK9B;AAED,qBAAa,qBAAsB,SAAQ,eAAgB,YAAW,sBAAsB;aAIpE,SAAS,EAAE,yBAAyB;aACpC,IAAI,EAAE,MAAM;gBADZ,SAAS,EAAE,yBAAyB,EACpC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM;CAUtB"}
|
|
@@ -4,6 +4,8 @@ exports.ShapeDiverViewerError = exports.ShapeDiverError = exports.ShapeDiverView
|
|
|
4
4
|
var ShapeDiverViewerErrorType;
|
|
5
5
|
(function (ShapeDiverViewerErrorType) {
|
|
6
6
|
ShapeDiverViewerErrorType["AR_ERROR"] = "SdARError";
|
|
7
|
+
ShapeDiverViewerErrorType["GEOMETRY_BACKEND_REQUEST_ERROR"] = "SdGeometryBackendRequestError";
|
|
8
|
+
ShapeDiverViewerErrorType["GEOMETRY_BACKEND_RESPONSE_ERROR"] = "SdGeometryBackendResponseError";
|
|
7
9
|
ShapeDiverViewerErrorType["CAMERA_ERROR"] = "SdCameraError";
|
|
8
10
|
ShapeDiverViewerErrorType["CONNECTION_ERROR"] = "SdConnectionError";
|
|
9
11
|
ShapeDiverViewerErrorType["DATA_PROCESSING_ERROR"] = "SdDataProcessingError";
|
|
@@ -26,12 +28,12 @@ class ShapeDiverError extends Error {
|
|
|
26
28
|
exports.ShapeDiverError = ShapeDiverError;
|
|
27
29
|
class ShapeDiverViewerError extends ShapeDiverError {
|
|
28
30
|
// #region Constructors (1)
|
|
29
|
-
constructor(
|
|
31
|
+
constructor(errorType, desc, message) {
|
|
30
32
|
super(message);
|
|
31
|
-
this.
|
|
33
|
+
this.errorType = errorType;
|
|
32
34
|
this.desc = desc;
|
|
33
|
-
this.
|
|
34
|
-
?
|
|
35
|
+
this.errorType = (Object.values(ShapeDiverViewerErrorType).includes(errorType))
|
|
36
|
+
? errorType
|
|
35
37
|
: ShapeDiverViewerErrorType.UNKNOWN;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeDiverError.js","sourceRoot":"","sources":["../../src/logger/ShapeDiverError.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ShapeDiverError.js","sourceRoot":"","sources":["../../src/logger/ShapeDiverError.ts"],"names":[],"mappings":";;;AAAA,IAAY,yBAgBX;AAhBD,WAAY,yBAAyB;IACjC,mDAAsB,CAAA;IACtB,6FAAgE,CAAA;IAChE,+FAAkE,CAAA;IAClE,2DAA8B,CAAA;IAC9B,mEAAsC,CAAA;IACtC,4EAA+C,CAAA;IAC/C,4EAA+C,CAAA;IAC/C,4EAA+C,CAAA;IAC/C,qEAAwC,CAAA;IACxC,yDAA4B,CAAA;IAC5B,6DAAgC,CAAA;IAChC,+DAAkC,CAAA;IAClC,mEAAsC,CAAA;IACtC,yDAA4B,CAAA;IAC5B,yCAAY,CAAA;AAChB,CAAC,EAhBW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAgBpC;AAYD,MAAa,eAAgB,SAAQ,KAAK;IACtC,2BAA2B;IAE3B,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;CAGJ;AARD,0CAQC;AAED,MAAa,qBAAsB,SAAQ,eAAe;IACtD,2BAA2B;IAE3B,YACoB,SAAoC,EACpC,IAAY,EAC5B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAA;QAJE,cAAS,GAAT,SAAS,CAA2B;QACpC,SAAI,GAAJ,IAAI,CAAQ;QAK5B,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,SAAgB,CAAC,CAAC;YAClF,CAAC,CAAC,SAAsC;YACxC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAA;IAC3C,CAAC;CAGJ;AAhBD,sDAgBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ISettingsV3_4 as ISettings } from '@shapediver/viewer.settings';
|
|
2
2
|
declare type IARSettings = ISettings["ar"];
|
|
3
3
|
declare type ICameraSettings = ISettings["camera"];
|
|
4
4
|
declare type IEnvironmentSettings = ISettings["environment"];
|
|
@@ -12,7 +12,6 @@ export declare class SettingsEngine {
|
|
|
12
12
|
private readonly _logger;
|
|
13
13
|
private readonly _settings;
|
|
14
14
|
private _settingsJson;
|
|
15
|
-
private _settings_version;
|
|
16
15
|
get ar(): IARSettings;
|
|
17
16
|
get camera(): ICameraSettings;
|
|
18
17
|
get environment(): IEnvironmentSettings;
|
|
@@ -24,7 +23,6 @@ export declare class SettingsEngine {
|
|
|
24
23
|
set session(value: ISessionSettings);
|
|
25
24
|
get settings(): ISettings;
|
|
26
25
|
get settingsJson(): any;
|
|
27
|
-
convertToTargetVersion(): any;
|
|
28
26
|
flatten(): {
|
|
29
27
|
[key: string]: any;
|
|
30
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsEngine.d.ts","sourceRoot":"","sources":["../../src/settings-engine/SettingsEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,aAAa,IAAI,SAAS,EAA2B,MAAM,6BAA6B,CAAC;AAM/I,aAAK,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACnC,aAAK,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3C,aAAK,oBAAoB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AACrD,aAAK,4BAA4B,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;AACrE,aAAK,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7C,aAAK,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACzC,aAAK,kBAAkB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AACjD,aAAK,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE7C,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,aAAa,CAAM;
|
|
1
|
+
{"version":3,"file":"SettingsEngine.d.ts","sourceRoot":"","sources":["../../src/settings-engine/SettingsEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,aAAa,IAAI,SAAS,EAA2B,MAAM,6BAA6B,CAAC;AAM/I,aAAK,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACnC,aAAK,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3C,aAAK,oBAAoB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AACrD,aAAK,4BAA4B,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;AACrE,aAAK,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7C,aAAK,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACzC,aAAK,kBAAkB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AACjD,aAAK,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE7C,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,aAAa,CAAM;IAM3B,IAAW,EAAE,IAAI,WAAW,CAE3B;IAED,IAAW,MAAM,IAAI,eAAe,CAEnC;IAED,IAAW,WAAW,IAAI,oBAAoB,CAE7C;IAED,IAAW,mBAAmB,IAAI,4BAA4B,CAE7D;IAED,IAAW,OAAO,IAAI,gBAAgB,CAErC;IAED,IAAW,KAAK,IAAI,cAAc,CAEjC;IAED,IAAW,SAAS,IAAI,kBAAkB,CAEzC;IAED,IAAW,OAAO,IAAI,gBAAgB,CAErC;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAEzC;IAED,IAAW,QAAQ,IAAI,SAAS,CAE/B;IAED,IAAW,YAAY,IAAI,GAAG,CAE7B;IAMM,OAAO;;;IAoBP,YAAY,CAAC,IAAI,EAAE,GAAG;IA8BtB,KAAK;IAQZ,OAAO,CAAC,aAAa;CA2BxB"}
|
|
@@ -10,8 +10,7 @@ class SettingsEngine {
|
|
|
10
10
|
// #region Properties (8)
|
|
11
11
|
this._eventEngine = EventEngine_1.EventEngine.instance;
|
|
12
12
|
this._logger = Logger_1.Logger.instance;
|
|
13
|
-
this._settings = (0, viewer_settings_1.
|
|
14
|
-
this._settings_version = viewer_settings_1.latestVersion;
|
|
13
|
+
this._settings = (0, viewer_settings_1.DefaultsV3_4)();
|
|
15
14
|
// #endregion Private Methods (1)
|
|
16
15
|
}
|
|
17
16
|
// #endregion Properties (8)
|
|
@@ -51,9 +50,6 @@ class SettingsEngine {
|
|
|
51
50
|
}
|
|
52
51
|
// #endregion Public Accessors (10)
|
|
53
52
|
// #region Public Methods (4)
|
|
54
|
-
convertToTargetVersion() {
|
|
55
|
-
return (0, viewer_settings_1.convert)(this._settings, this._settings_version);
|
|
56
|
-
}
|
|
57
53
|
flatten() {
|
|
58
54
|
const flattenObject = (ob) => {
|
|
59
55
|
const toReturn = {};
|
|
@@ -79,12 +75,11 @@ class SettingsEngine {
|
|
|
79
75
|
loadSettings(json) {
|
|
80
76
|
this._settingsJson = json;
|
|
81
77
|
if (JSON.stringify(json) !== JSON.stringify({})) {
|
|
82
|
-
const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2'];
|
|
78
|
+
const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2', '3.3'];
|
|
83
79
|
for (let i = 0; i < prevVersions.length; i++) {
|
|
84
80
|
const v = prevVersions[i];
|
|
85
81
|
try {
|
|
86
82
|
(0, viewer_settings_1.validate)(json, v);
|
|
87
|
-
this._settings_version = v;
|
|
88
83
|
this._settings = (0, viewer_settings_1.convert)(json, viewer_settings_1.latestVersion);
|
|
89
84
|
this.cleanSettings(this._settings);
|
|
90
85
|
return;
|
|
@@ -93,7 +88,6 @@ class SettingsEngine {
|
|
|
93
88
|
}
|
|
94
89
|
try {
|
|
95
90
|
(0, viewer_settings_1.validate)(json, viewer_settings_1.latestVersion);
|
|
96
|
-
this._settings_version = viewer_settings_1.latestVersion;
|
|
97
91
|
this._settings = (0, viewer_settings_1.convert)(json, viewer_settings_1.latestVersion);
|
|
98
92
|
this.cleanSettings(this._settings);
|
|
99
93
|
return;
|
|
@@ -103,14 +97,12 @@ class SettingsEngine {
|
|
|
103
97
|
}
|
|
104
98
|
}
|
|
105
99
|
else {
|
|
106
|
-
this.
|
|
107
|
-
this._settings = (0, viewer_settings_1.DefaultsV3_3)();
|
|
100
|
+
this._settings = (0, viewer_settings_1.DefaultsV3_4)();
|
|
108
101
|
return;
|
|
109
102
|
}
|
|
110
103
|
}
|
|
111
104
|
reset() {
|
|
112
|
-
this.
|
|
113
|
-
this._settings = (0, viewer_settings_1.DefaultsV3_3)();
|
|
105
|
+
this._settings = (0, viewer_settings_1.DefaultsV3_4)();
|
|
114
106
|
}
|
|
115
107
|
// #endregion Public Methods (4)
|
|
116
108
|
// #region Private Methods (1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsEngine.js","sourceRoot":"","sources":["../../src/settings-engine/SettingsEngine.ts"],"names":[],"mappings":";;;AAAA,iEAA+I;AAE/I,6DAAyD;AACzD,6CAA0C;AAC1C,6EAAiF;AAWjF,MAAa,cAAc;IAA3B;QACI,yBAAyB;QAER,iBAAY,GAAgB,yBAAW,CAAC,QAAQ,CAAC;QACjD,YAAO,GAAW,eAAM,CAAC,QAAQ,CAAC;QAClC,cAAS,GAAc,IAAA,8BAAQ,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsEngine.js","sourceRoot":"","sources":["../../src/settings-engine/SettingsEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,10 @@ export declare class SystemInfo {
|
|
|
34
34
|
* Check if we are running in an iframe
|
|
35
35
|
*/
|
|
36
36
|
get isIframe(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Check if we are running in an instagram browser
|
|
39
|
+
*/
|
|
40
|
+
get isInstagram(): boolean;
|
|
37
41
|
/**
|
|
38
42
|
* Check if we are on a Mac OS device
|
|
39
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemInfo.d.ts","sourceRoot":"","sources":["../../src/system-info/SystemInfo.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IAEnC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;IAMrC,OAAO;IAwBP,WAAkB,QAAQ,eAEzB;IAMD;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,OAAO,CAGzB;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAI1B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAG5B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;CAGJ"}
|
|
1
|
+
{"version":3,"file":"SystemInfo.d.ts","sourceRoot":"","sources":["../../src/system-info/SystemInfo.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IAEnC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;IAMrC,OAAO;IAwBP,WAAkB,QAAQ,eAEzB;IAMD;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAG9B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,OAAO,CAGzB;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAI1B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAG5B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;CAGJ"}
|
|
@@ -82,6 +82,12 @@ class SystemInfo {
|
|
|
82
82
|
get isIframe() {
|
|
83
83
|
return this._isIframe;
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if we are running in an instagram browser
|
|
87
|
+
*/
|
|
88
|
+
get isInstagram() {
|
|
89
|
+
return this._parser.getBrowser().name === "Instagram";
|
|
90
|
+
}
|
|
85
91
|
/**
|
|
86
92
|
* Check if we are on a Mac OS device
|
|
87
93
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemInfo.js","sourceRoot":"","sources":["../../src/system-info/SystemInfo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SystemInfo.js","sourceRoot":"","sources":["../../src/system-info/SystemInfo.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAoC;AAEpC,MAAa,UAAU;IAUnB,4BAA4B;IAE5B,2BAA2B;IAE3B;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAQ,EAAE,CAAC;QAC9B,MAAM,kBAAkB,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnI,IAAI,CAAC,UAAU,GAAG,kBAAkB;YAChC,CAAC,OAAO,QAAQ,KAAK,WAAW;mBACzB,OAAO,QAAQ,CAAC,cAAc,KAAK,UAAU;mBAC7C,MAAM;mBACN,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,CACxC,CAAC;QACN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,2EAA2E;YAC3E,gCAAgC;YAChC,IAAI,CAAC,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC9E;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;SAC3B;IACL,CAAC;IAED,8BAA8B;IAE9B,sCAAsC;IAE/B,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,yCAAyC;IAEzC,gCAAgC;IAEhC;;OAEG;IACH,IAAW,SAAS;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;QACzC,OAAO,MAAM,KAAK,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;QACzC,OAAO,MAAM,KAAK,KAAK;YACvB,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAC5G,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;QACzC,OAAO,MAAM,KAAK,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC;QAC3C,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IAC7B,CAAC;CAGJ;AA5ID,gCA4IC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapediver/viewer.shared.services",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Michael Oppitz <michael@shapediver.com>",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@ctrl/tinycolor": "^3.4.0",
|
|
43
|
-
"@shapediver/sdk.geometry-api-sdk-v2": "1.
|
|
44
|
-
"@shapediver/viewer.settings": "0.
|
|
45
|
-
"@shapediver/viewer.shared.build-data": "2.
|
|
43
|
+
"@shapediver/sdk.geometry-api-sdk-v2": "1.4.0",
|
|
44
|
+
"@shapediver/viewer.settings": "0.4.2",
|
|
45
|
+
"@shapediver/viewer.shared.build-data": "2.9.0",
|
|
46
46
|
"@types/dompurify": "^2.3.1",
|
|
47
47
|
"@types/ua-parser-js": "^0.7.36",
|
|
48
48
|
"@types/uuid": "^9.0.0",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"ua-parser-js": "^0.7.28",
|
|
53
53
|
"uuid": "^9.0.0"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "6afb546a9c788a179b33091396819f3a738e25ad"
|
|
56
56
|
}
|
|
@@ -23,9 +23,10 @@ export class Converter {
|
|
|
23
23
|
// #region Public Methods (8)
|
|
24
24
|
|
|
25
25
|
public async processSVG(blob: Blob): Promise<HTMLImageElement> {
|
|
26
|
-
let data = <string>await new Promise((resolve,
|
|
26
|
+
let data = <string>await new Promise((resolve, reject) => {
|
|
27
27
|
const reader = new FileReader();
|
|
28
28
|
reader.onloadend = () => resolve(<string>reader.result);
|
|
29
|
+
reader.onerror = reject;
|
|
29
30
|
reader.readAsDataURL(blob);
|
|
30
31
|
});
|
|
31
32
|
data = data.replace('data:image/svg+xml;base64,', '')
|
|
@@ -139,8 +140,9 @@ export class Converter {
|
|
|
139
140
|
let du = 'data:image/svg+xml,' + encodeURIComponent(data);
|
|
140
141
|
let img = new Image(); // same as document.createElement('img')
|
|
141
142
|
img.crossOrigin = 'Anonymous';
|
|
142
|
-
const promise = new Promise<void>(resolve => {
|
|
143
|
+
const promise = new Promise<void>((resolve, reject) => {
|
|
143
144
|
img.onload = () => resolve();
|
|
145
|
+
img.onerror = reject;
|
|
144
146
|
})
|
|
145
147
|
img.src = du;
|
|
146
148
|
await promise;
|
|
@@ -155,8 +157,9 @@ export class Converter {
|
|
|
155
157
|
return img;
|
|
156
158
|
} else {
|
|
157
159
|
const img = new Image();
|
|
158
|
-
const promise = new Promise<void>(resolve => {
|
|
160
|
+
const promise = new Promise<void>((resolve, reject) => {
|
|
159
161
|
img.onload = () => resolve();
|
|
162
|
+
img.onerror = reject;
|
|
160
163
|
})
|
|
161
164
|
img.crossOrigin = "anonymous";
|
|
162
165
|
img.src = URL.createObjectURL(blob);
|
|
@@ -184,7 +187,7 @@ export class Converter {
|
|
|
184
187
|
* @param color
|
|
185
188
|
* @param defColor
|
|
186
189
|
*/
|
|
187
|
-
public toHex8Color(color: any, defColorString: string = '#
|
|
190
|
+
public toHex8Color(color: any, defColorString: string = '#000'): string {
|
|
188
191
|
const c = this.toHexColor(color, defColorString);
|
|
189
192
|
const tColor = new TinyColor(c);
|
|
190
193
|
const cH8 = tColor.toHex8String();
|
|
@@ -198,7 +201,7 @@ export class Converter {
|
|
|
198
201
|
* @param color
|
|
199
202
|
* @param defColor
|
|
200
203
|
*/
|
|
201
|
-
public toHexColor(color: any, defColorString: string = '#
|
|
204
|
+
public toHexColor(color: any, defColorString: string = '#000'): string {
|
|
202
205
|
if (!color || color === 'default') return defColorString;
|
|
203
206
|
|
|
204
207
|
if (color.constructor === Float32Array)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SystemInfo } from '../system-info/SystemInfo';
|
|
1
2
|
import { UuidGenerator } from '../uuid-generator/UuidGenerator';
|
|
2
3
|
|
|
3
4
|
import { IDomEventListener } from './IDomEventListener'
|
|
@@ -9,6 +10,7 @@ export class DomEventEngine {
|
|
|
9
10
|
[key: string]: IDomEventListener
|
|
10
11
|
} = {};
|
|
11
12
|
private readonly _uuidGenerator: UuidGenerator = UuidGenerator.instance;
|
|
13
|
+
private readonly _systemInfo: SystemInfo = SystemInfo.instance;
|
|
12
14
|
|
|
13
15
|
private _allowListeners = {
|
|
14
16
|
mousewheel: true,
|
|
@@ -240,6 +242,7 @@ export class DomEventEngine {
|
|
|
240
242
|
}
|
|
241
243
|
|
|
242
244
|
private onContextMenu(event: MouseEvent): void {
|
|
245
|
+
if(this._systemInfo.isMobile === true) return;
|
|
243
246
|
event.preventDefault();
|
|
244
247
|
}
|
|
245
248
|
|
|
@@ -249,38 +252,45 @@ export class DomEventEngine {
|
|
|
249
252
|
}
|
|
250
253
|
|
|
251
254
|
private onKeyDownMousePositionHelper(event: MouseEvent): void {
|
|
255
|
+
if(this._systemInfo.isMobile === true) return;
|
|
252
256
|
this._currentMousePosition = { x: event.pageX, y: event.pageY };
|
|
253
257
|
}
|
|
254
258
|
|
|
255
259
|
private onMouseDown(event: MouseEvent): void {
|
|
260
|
+
if(this._systemInfo.isMobile === true) return;
|
|
256
261
|
event.preventDefault();
|
|
257
262
|
Object.values(this._domEventListeners).forEach(e => e.onMouseDown(event));
|
|
258
263
|
}
|
|
259
264
|
|
|
260
265
|
private onMouseMove(event: MouseEvent): void {
|
|
266
|
+
if(this._systemInfo.isMobile === true) return;
|
|
261
267
|
event.preventDefault();
|
|
262
268
|
Object.values(this._domEventListeners).forEach(e => e.onMouseMove(event));
|
|
263
269
|
}
|
|
264
270
|
|
|
265
271
|
private onMouseUp(event: MouseEvent): void {
|
|
272
|
+
if(this._systemInfo.isMobile === true) return;
|
|
266
273
|
event.preventDefault();
|
|
267
274
|
Object.values(this._domEventListeners).forEach(e => e.onMouseUp(event));
|
|
268
275
|
Object.values(this._domEventListeners).forEach(e => e.onMouseEnd(event));
|
|
269
276
|
}
|
|
270
277
|
|
|
271
278
|
private onMouseOut(event: MouseEvent): void {
|
|
279
|
+
if(this._systemInfo.isMobile === true) return;
|
|
272
280
|
event.preventDefault();
|
|
273
281
|
Object.values(this._domEventListeners).forEach(e => e.onMouseOut(event));
|
|
274
282
|
Object.values(this._domEventListeners).forEach(e => e.onMouseEnd(event));
|
|
275
283
|
}
|
|
276
284
|
|
|
277
285
|
private onMouseWheel(event: Event): void {
|
|
286
|
+
if(this._systemInfo.isMobile === true) return;
|
|
278
287
|
event.preventDefault();
|
|
279
288
|
event.stopPropagation();
|
|
280
289
|
Object.values(this._domEventListeners).forEach(e => e.onMouseWheel(<WheelEvent>event));
|
|
281
290
|
}
|
|
282
291
|
|
|
283
292
|
private onTouchUp(event: TouchEvent): void {
|
|
293
|
+
if(this._systemInfo.isMobile === false) return;
|
|
284
294
|
if (event.composedPath().includes(this._canvas.parentElement!)) {
|
|
285
295
|
event.stopPropagation();
|
|
286
296
|
Object.values(this._domEventListeners).forEach(e => e.onTouchUp(event));
|
|
@@ -289,6 +299,7 @@ export class DomEventEngine {
|
|
|
289
299
|
}
|
|
290
300
|
|
|
291
301
|
private onTouchCancel(event: TouchEvent): void {
|
|
302
|
+
if(this._systemInfo.isMobile === false) return;
|
|
292
303
|
if (event.composedPath().includes(this._canvas.parentElement!)) {
|
|
293
304
|
event.stopPropagation();
|
|
294
305
|
Object.values(this._domEventListeners).forEach(e => e.onTouchCancel(event));
|
|
@@ -297,6 +308,7 @@ export class DomEventEngine {
|
|
|
297
308
|
}
|
|
298
309
|
|
|
299
310
|
private onTouchMove(event: TouchEvent): void {
|
|
311
|
+
if(this._systemInfo.isMobile === false) return;
|
|
300
312
|
if (event.composedPath().includes(this._canvas.parentElement!)) {
|
|
301
313
|
event.stopPropagation();
|
|
302
314
|
Object.values(this._domEventListeners).forEach(e => e.onTouchMove(event))
|
|
@@ -304,6 +316,7 @@ export class DomEventEngine {
|
|
|
304
316
|
}
|
|
305
317
|
|
|
306
318
|
private onTouchStart(event: TouchEvent): void {
|
|
319
|
+
if(this._systemInfo.isMobile === false) return;
|
|
307
320
|
if (event.composedPath().includes(this._canvas.parentElement!)) {
|
|
308
321
|
event.stopPropagation();
|
|
309
322
|
Object.values(this._domEventListeners).forEach(e => e.onTouchStart(event));
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import axios, { AxiosRequestConfig } from 'axios'
|
|
2
|
+
import { ShapeDiverError as ShapeDiverBackendError, ShapeDiverResponseError, ShapeDiverRequestError } from '@shapediver/sdk.geometry-api-sdk-v2'
|
|
3
|
+
import { ShapeDiverGeometryBackendRequestError, ShapeDiverGeometryBackendResponseError } from '../logger/ShapeDiverBackendErrors';
|
|
2
4
|
import { HttpResponse } from './HttpResponse';
|
|
3
5
|
|
|
4
6
|
export class HttpClient {
|
|
5
|
-
// #region Properties (
|
|
7
|
+
// #region Properties (2)
|
|
6
8
|
|
|
7
9
|
private static _instance: HttpClient;
|
|
8
10
|
|
|
@@ -13,11 +15,11 @@ export class HttpClient {
|
|
|
13
15
|
}
|
|
14
16
|
} = {};
|
|
15
17
|
|
|
16
|
-
// #endregion Properties (
|
|
18
|
+
// #endregion Properties (2)
|
|
17
19
|
|
|
18
20
|
// #region Constructors (1)
|
|
19
21
|
|
|
20
|
-
private constructor() {}
|
|
22
|
+
private constructor() { }
|
|
21
23
|
|
|
22
24
|
// #endregion Constructors (1)
|
|
23
25
|
|
|
@@ -29,7 +31,7 @@ export class HttpClient {
|
|
|
29
31
|
|
|
30
32
|
// #endregion Public Static Accessors (1)
|
|
31
33
|
|
|
32
|
-
// #region Public Methods (
|
|
34
|
+
// #region Public Methods (5)
|
|
33
35
|
|
|
34
36
|
public addDataLoading(sessionId: string, callbacks: {
|
|
35
37
|
getAsset: (url: string) => Promise<[ArrayBuffer, string, string]>,
|
|
@@ -38,26 +40,45 @@ export class HttpClient {
|
|
|
38
40
|
this._sessionLoading[sessionId] = callbacks;
|
|
39
41
|
}
|
|
40
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Maps the geometry backend error to the corresponding viewer errors:
|
|
45
|
+
* - ShapeDiverResponseError is mapped to ShapeDiverGeometryBackendResponseError
|
|
46
|
+
* - ShapeDiverRequestError is mapped to ShapeDiverGeometryBackendRequestError
|
|
47
|
+
*
|
|
48
|
+
* Other error types are thrown as is.
|
|
49
|
+
*
|
|
50
|
+
* @param e
|
|
51
|
+
*/
|
|
52
|
+
public convertError(e: ShapeDiverBackendError | Error | unknown) {
|
|
53
|
+
if (e instanceof ShapeDiverResponseError) {
|
|
54
|
+
throw new ShapeDiverGeometryBackendResponseError(e.message, e.status, e.error, e.desc);
|
|
55
|
+
} else if (e instanceof ShapeDiverRequestError) {
|
|
56
|
+
throw new ShapeDiverGeometryBackendRequestError(e.message, e.desc)
|
|
57
|
+
} else {
|
|
58
|
+
throw e;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
41
62
|
public async get(href: string, config: AxiosRequestConfig = { responseType: 'arraybuffer' }, textureLoading: boolean = false): Promise<HttpResponse<any>> {
|
|
42
63
|
// try to get sessionId from href
|
|
43
64
|
let sessionId = this.getSessionId(href);
|
|
44
65
|
|
|
45
|
-
// if href does not have sessionId, use the first
|
|
46
|
-
if(!sessionId && Object.keys(this._sessionLoading).length > 0)
|
|
66
|
+
// if href does not have sessionId, use the first session, if available
|
|
67
|
+
if (!sessionId && Object.keys(this._sessionLoading).length > 0)
|
|
47
68
|
sessionId = Object.keys(this._sessionLoading)[0];
|
|
48
|
-
|
|
69
|
+
|
|
49
70
|
// get the session loading functions, if available
|
|
50
|
-
let sessionLoading: {
|
|
71
|
+
let sessionLoading: {
|
|
51
72
|
getAsset: (url: string) => Promise<[ArrayBuffer, string, string]>,
|
|
52
73
|
downloadTexture: (sessionId: string, url: string) => Promise<[ArrayBuffer, string]>,
|
|
53
74
|
} | undefined;
|
|
54
|
-
if(sessionId)
|
|
75
|
+
if (sessionId)
|
|
55
76
|
sessionLoading = this._sessionLoading[sessionId];
|
|
56
77
|
|
|
57
78
|
// separation texture vs everything else
|
|
58
|
-
if(textureLoading) {
|
|
79
|
+
if (textureLoading) {
|
|
59
80
|
// if we have a sessionId and the sessionLoading functions and the image is not a blob or data, we load it via the sdk
|
|
60
|
-
if(sessionLoading !== undefined && sessionId !== undefined && !href.startsWith('blob:') && !href.startsWith('data:')) {
|
|
81
|
+
if (sessionLoading !== undefined && sessionId !== undefined && !href.startsWith('blob:') && !href.startsWith('data:')) {
|
|
61
82
|
// take first session to load a texture that is not session related
|
|
62
83
|
return new Promise<HttpResponse<any>>((resolve, reject) => {
|
|
63
84
|
sessionLoading!.downloadTexture(sessionId!, href).then((result) => {
|
|
@@ -67,19 +88,19 @@ export class HttpClient {
|
|
|
67
88
|
'content-type': result[1]
|
|
68
89
|
}
|
|
69
90
|
})
|
|
70
|
-
}).catch(e =>
|
|
71
|
-
|
|
72
|
-
});
|
|
73
|
-
});
|
|
91
|
+
}).catch(e => reject(e))
|
|
92
|
+
}).catch(e => { throw this.convertError(e) });
|
|
74
93
|
} else {
|
|
75
94
|
// we can load blobs and data urls directly
|
|
76
95
|
// or load it directly if we don't have a session
|
|
77
|
-
return axios(href, Object.assign({ method: 'get' }, config))
|
|
96
|
+
return axios(href, Object.assign({ method: 'get' }, config))
|
|
97
|
+
.catch(e => { throw this.convertError(e) });
|
|
78
98
|
}
|
|
79
99
|
} else {
|
|
80
|
-
if(!sessionLoading) {
|
|
100
|
+
if (!sessionLoading) {
|
|
81
101
|
// if there is no session to load from, we use the fallback option
|
|
82
|
-
return axios(href, Object.assign({ method: 'get' }, config))
|
|
102
|
+
return axios(href, Object.assign({ method: 'get' }, config))
|
|
103
|
+
.catch(e => { throw this.convertError(e) });
|
|
83
104
|
} else {
|
|
84
105
|
// all data links where we could somehow find a session to load it with
|
|
85
106
|
return new Promise<HttpResponse<ArrayBuffer>>((resolve, reject) => {
|
|
@@ -92,11 +113,13 @@ export class HttpClient {
|
|
|
92
113
|
}
|
|
93
114
|
})
|
|
94
115
|
})
|
|
95
|
-
.catch((
|
|
116
|
+
.catch(() => {
|
|
96
117
|
// if this fails, we just load it directly
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
118
|
+
const axiosPromise = axios(href, Object.assign({ method: 'get' }, config));
|
|
119
|
+
axiosPromise.catch(e => reject(e))
|
|
120
|
+
resolve(axiosPromise);
|
|
121
|
+
});
|
|
122
|
+
}).catch(e => { throw this.convertError(e) });
|
|
100
123
|
}
|
|
101
124
|
}
|
|
102
125
|
}
|
|
@@ -109,7 +132,7 @@ export class HttpClient {
|
|
|
109
132
|
delete this._sessionLoading[sessionId];
|
|
110
133
|
}
|
|
111
134
|
|
|
112
|
-
// #endregion Public Methods (
|
|
135
|
+
// #endregion Public Methods (5)
|
|
113
136
|
|
|
114
137
|
// #region Private Methods (1)
|
|
115
138
|
|
package/src/index.ts
CHANGED
|
@@ -15,9 +15,10 @@ import { PerformanceEvaluator } from './performance-evaluator/PerformanceEvaluat
|
|
|
15
15
|
import { Logger, LOGGING_LEVEL } from './logger/Logger'
|
|
16
16
|
import { StatePromise } from './state-engine/StatePromise'
|
|
17
17
|
import { ShapeDiverViewerArError, ShapeDiverViewerCameraError, ShapeDiverViewerDataProcessingError, ShapeDiverViewerEnvironmentMapError, ShapeDiverViewerLightError, ShapeDiverViewerSessionError, ShapeDiverViewerSettingsError, ShapeDiverViewerUnknownError, ShapeDiverViewerValidationError, ShapeDiverViewerGeneralError, ShapeDiverViewerWebGLError, ShapeDiverViewerInteractionError, ShapeDiverViewerViewportError } from './logger/ShapeDiverViewerErrors'
|
|
18
|
-
import {
|
|
19
|
-
import { ShapeDiverViewerError } from './logger/ShapeDiverError'
|
|
18
|
+
import { ShapeDiverViewerError, ShapeDiverViewerErrorType } from './logger/ShapeDiverError'
|
|
20
19
|
import { HttpResponse } from './http-client/HttpResponse'
|
|
20
|
+
import { ShapeDiverGeometryBackendRequestError, ShapeDiverGeometryBackendResponseError } from './logger/ShapeDiverBackendErrors'
|
|
21
|
+
import { ShapeDiverResponseErrorType as ShapeDiverGeometryBackendResponseErrorType } from "@shapediver/sdk.geometry-api-sdk-v2";
|
|
21
22
|
|
|
22
23
|
export {
|
|
23
24
|
EventEngine, EVENTTYPE, MainEventTypes, IEvent,
|
|
@@ -62,6 +63,7 @@ export {
|
|
|
62
63
|
|
|
63
64
|
export {
|
|
64
65
|
Logger, LOGGING_LEVEL,
|
|
66
|
+
ShapeDiverViewerErrorType,
|
|
65
67
|
ShapeDiverViewerError,
|
|
66
68
|
ShapeDiverViewerDataProcessingError,
|
|
67
69
|
ShapeDiverViewerEnvironmentMapError,
|
|
@@ -76,7 +78,9 @@ export {
|
|
|
76
78
|
ShapeDiverViewerCameraError,
|
|
77
79
|
ShapeDiverViewerValidationError,
|
|
78
80
|
ShapeDiverViewerInteractionError,
|
|
79
|
-
|
|
81
|
+
ShapeDiverGeometryBackendRequestError,
|
|
82
|
+
ShapeDiverGeometryBackendResponseError,
|
|
83
|
+
ShapeDiverGeometryBackendResponseErrorType
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
export {
|
|
@@ -6,7 +6,7 @@ import { TypeChecker } from '../type-check/TypeChecker'
|
|
|
6
6
|
export type Types = 'string' | 'boolean' | 'function' |
|
|
7
7
|
'HTMLCanvasElement' | 'enum' |
|
|
8
8
|
'number' | 'factor' | 'positive' |
|
|
9
|
-
'vec3' | 'mat4' | 'cubeMap' | 'array' | 'stringArray' | 'object' | 'file' | 'color';
|
|
9
|
+
'vec3' | 'mat4' | 'cubeMap' | 'array' | 'stringArray' | 'object' | 'file' | 'color' | 'quat';
|
|
10
10
|
|
|
11
11
|
export class InputValidator {
|
|
12
12
|
// #region Properties (3)
|
|
@@ -79,6 +79,11 @@ export class InputValidator {
|
|
|
79
79
|
value = Array.from(value);
|
|
80
80
|
if(Array.isArray(value) && this._typeChecker.isTypeOf(value[0], 'number') && this._typeChecker.isTypeOf(value[1], 'number') && this._typeChecker.isTypeOf(value[2], 'number')) return true;
|
|
81
81
|
break;
|
|
82
|
+
case 'quat':
|
|
83
|
+
if (value.constructor === Float32Array)
|
|
84
|
+
value = Array.from(value);
|
|
85
|
+
if(Array.isArray(value) && this._typeChecker.isTypeOf(value[0], 'number') && this._typeChecker.isTypeOf(value[1], 'number') && this._typeChecker.isTypeOf(value[2], 'number') && this._typeChecker.isTypeOf(value[3], 'number')) return true;
|
|
86
|
+
break;
|
|
82
87
|
case 'cubeMap':
|
|
83
88
|
if(Array.isArray(value) && value.length === 6 && this._typeChecker.isTypeOf(value[0], 'string') && this._typeChecker.isTypeOf(value[1], 'string') && this._typeChecker.isTypeOf(value[2], 'string') && this._typeChecker.isTypeOf(value[3], 'string') && this._typeChecker.isTypeOf(value[4], 'string') && this._typeChecker.isTypeOf(value[5], 'string')) return true;
|
|
84
89
|
if(this._typeChecker.isTypeOf(value, 'string')) return true;
|