@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,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 error: ShapeDiverViewerErrorType;
27
+ readonly errorType: ShapeDiverViewerErrorType;
26
28
  readonly desc: string;
27
- constructor(error: ShapeDiverViewerErrorType, desc: string, message: string);
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":"AACA,oBAAY,yBAAyB;IACjC,QAAQ,cAAc;IACtB,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;AACD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,yBAAyB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAG1B,OAAO,EAAE,MAAM;CAK9B;AAED,qBAAa,qBAAsB,SAAQ,eAAgB,YAAW,sBAAsB;aAIpE,KAAK,EAAE,yBAAyB;aAChC,IAAI,EAAE,MAAM;gBADZ,KAAK,EAAE,yBAAyB,EAChC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM;CAUtB"}
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(error, desc, message) {
31
+ constructor(errorType, desc, message) {
30
32
  super(message);
31
- this.error = error;
33
+ this.errorType = errorType;
32
34
  this.desc = desc;
33
- this.error = (Object.values(ShapeDiverViewerErrorType).includes(error))
34
- ? error
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":";;;AACA,IAAY,yBAcX;AAdD,WAAY,yBAAyB;IACjC,mDAAsB,CAAA;IACtB,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,EAdW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAcpC;AAOD,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,KAAgC,EAChC,IAAY,EAC5B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAA;QAJE,UAAK,GAAL,KAAK,CAA2B;QAChC,SAAI,GAAJ,IAAI,CAAQ;QAK5B,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAC;YAC1E,CAAC,CAAC,KAAkC;YACpC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAA;IAC3C,CAAC;CAGJ;AAhBD,sDAgBC"}
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 { ISettingsV3_3 as ISettings } from '@shapediver/viewer.settings';
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;IAC3B,OAAO,CAAC,iBAAiB,CAA2B;IAMpD,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,sBAAsB,IAAI,GAAG;IAI7B,OAAO;;;IAoBP,YAAY,CAAC,IAAI,EAAE,GAAG;IAiCtB,KAAK;IASZ,OAAO,CAAC,aAAa;CA2BxB"}
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.DefaultsV3_3)();
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._settings_version = viewer_settings_1.latestVersion;
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._settings_version = viewer_settings_1.latestVersion;
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":"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"}
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.shared.services",
3
- "version": "2.8.4",
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.3.0",
44
- "@shapediver/viewer.settings": "0.3.0",
45
- "@shapediver/viewer.shared.build-data": "2.8.4",
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": "7e7f8107c304312abd9f4d88fef6b346d23c934b"
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 = '#199b9b'): 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 = '#199b9b'): 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 (3)
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 (3)
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 (4)
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 sesison, if available
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
- reject(e)
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((e) => {
116
+ .catch(() => {
96
117
  // if this fails, we just load it directly
97
- resolve(axios(href, Object.assign({ method: 'get' }, config)))
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 (4)
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 { ShapeDiverError as ShapeDiverBackendError } from '@shapediver/sdk.geometry-api-sdk-v2'
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
- ShapeDiverBackendError
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;