@signageos/front-applet 8.2.1 → 8.2.2

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 (108) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/bundle.js.map +1 -1
  3. package/docs/index.md +9 -9
  4. package/docs/sos/browser.md +11 -3
  5. package/docs/sos/display.md +13 -20
  6. package/docs/sos/fileSystem.md +31 -6
  7. package/docs/sos/hardware/barcodeScanner.md +9 -0
  8. package/docs/sos/hardware/index.md +9 -0
  9. package/docs/sos/native/mdc.md +8 -3
  10. package/docs/sos/osd.md +9 -0
  11. package/docs/sos/video.md +9 -0
  12. package/docs/sos_management/app.md +97 -18
  13. package/docs/sos_management/audio.md +43 -2
  14. package/docs/sos_management/autoRecovery.md +101 -0
  15. package/docs/sos_management/debug.md +84 -1
  16. package/docs/sos_management/firmware.md +64 -1
  17. package/docs/sos_management/index.md +217 -19
  18. package/docs/sos_management/network.md +84 -29
  19. package/docs/sos_management/os.md +59 -4
  20. package/docs/sos_management/package.md +25 -3
  21. package/docs/sos_management/power.md +142 -18
  22. package/docs/sos_management/proxy.md +54 -3
  23. package/docs/sos_management/remoteControl.md +55 -4
  24. package/docs/sos_management/screen.md +140 -29
  25. package/docs/sos_management/security.md +48 -5
  26. package/docs/sos_management/time.md +76 -9
  27. package/docs/sos_management/wifi.md +207 -45
  28. package/es6/FrontApplet/Browser/Browser.d.ts +11 -3
  29. package/es6/FrontApplet/Browser/Browser.js +11 -3
  30. package/es6/FrontApplet/Browser/Browser.js.map +1 -1
  31. package/es6/FrontApplet/Command/Command.js +1 -0
  32. package/es6/FrontApplet/Command/Command.js.map +1 -1
  33. package/es6/FrontApplet/Display/Display.d.ts +14 -19
  34. package/es6/FrontApplet/Display/Display.js +14 -19
  35. package/es6/FrontApplet/Display/Display.js.map +1 -1
  36. package/es6/FrontApplet/FileSystem/FileSystem.d.ts +27 -5
  37. package/es6/FrontApplet/FileSystem/FileSystem.js +27 -5
  38. package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -1
  39. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +9 -0
  40. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +9 -0
  41. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -1
  42. package/es6/FrontApplet/Hardware/Hardware.d.ts +9 -0
  43. package/es6/FrontApplet/Hardware/Hardware.js +9 -0
  44. package/es6/FrontApplet/Hardware/Hardware.js.map +1 -1
  45. package/es6/FrontApplet/Management/App/App.d.ts +53 -17
  46. package/es6/FrontApplet/Management/App/App.js +23 -12
  47. package/es6/FrontApplet/Management/App/App.js.map +1 -1
  48. package/es6/FrontApplet/Management/App/IApp.d.ts +3 -0
  49. package/es6/FrontApplet/Management/Audio/Audio.d.ts +24 -3
  50. package/es6/FrontApplet/Management/Audio/Audio.js +24 -3
  51. package/es6/FrontApplet/Management/Audio/Audio.js.map +1 -1
  52. package/es6/FrontApplet/Management/AutoRecovery/AutoRecovery.d.ts +49 -3
  53. package/es6/FrontApplet/Management/AutoRecovery/AutoRecovery.js +49 -3
  54. package/es6/FrontApplet/Management/AutoRecovery/AutoRecovery.js.map +1 -1
  55. package/es6/FrontApplet/Management/Debug/Debug.d.ts +44 -2
  56. package/es6/FrontApplet/Management/Debug/Debug.js +43 -1
  57. package/es6/FrontApplet/Management/Debug/Debug.js.map +1 -1
  58. package/es6/FrontApplet/Management/Firmware/Firmware.d.ts +41 -4
  59. package/es6/FrontApplet/Management/Firmware/Firmware.js +33 -0
  60. package/es6/FrontApplet/Management/Firmware/Firmware.js.map +1 -1
  61. package/es6/FrontApplet/Management/Management.d.ts +119 -21
  62. package/es6/FrontApplet/Management/Management.js +119 -22
  63. package/es6/FrontApplet/Management/Management.js.map +1 -1
  64. package/es6/FrontApplet/Management/Network/Network.d.ts +44 -25
  65. package/es6/FrontApplet/Management/Network/Network.js +28 -14
  66. package/es6/FrontApplet/Management/Network/Network.js.map +1 -1
  67. package/es6/FrontApplet/Management/OS/IOS.d.ts +3 -0
  68. package/es6/FrontApplet/Management/OS/OS.d.ts +32 -4
  69. package/es6/FrontApplet/Management/OS/OS.js +32 -4
  70. package/es6/FrontApplet/Management/OS/OS.js.map +1 -1
  71. package/es6/FrontApplet/Management/Package/Package.d.ts +18 -3
  72. package/es6/FrontApplet/Management/Package/Package.js +18 -4
  73. package/es6/FrontApplet/Management/Package/Package.js.map +1 -1
  74. package/es6/FrontApplet/Management/Power/IPower.d.ts +3 -0
  75. package/es6/FrontApplet/Management/Power/IPower.js.map +1 -1
  76. package/es6/FrontApplet/Management/Power/Power.d.ts +67 -20
  77. package/es6/FrontApplet/Management/Power/Power.js +70 -24
  78. package/es6/FrontApplet/Management/Power/Power.js.map +1 -1
  79. package/es6/FrontApplet/Management/Proxy/Proxy.d.ts +28 -3
  80. package/es6/FrontApplet/Management/Proxy/Proxy.js +28 -3
  81. package/es6/FrontApplet/Management/Proxy/Proxy.js.map +1 -1
  82. package/es6/FrontApplet/Management/RemoteControl/RemoteControl.d.ts +23 -5
  83. package/es6/FrontApplet/Management/RemoteControl/RemoteControl.js +23 -5
  84. package/es6/FrontApplet/Management/RemoteControl/RemoteControl.js.map +1 -1
  85. package/es6/FrontApplet/Management/Screen/Screen.d.ts +77 -32
  86. package/es6/FrontApplet/Management/Screen/Screen.js +65 -26
  87. package/es6/FrontApplet/Management/Screen/Screen.js.map +1 -1
  88. package/es6/FrontApplet/Management/Security/Security.d.ts +25 -7
  89. package/es6/FrontApplet/Management/Security/Security.js +25 -7
  90. package/es6/FrontApplet/Management/Security/Security.js.map +1 -1
  91. package/es6/FrontApplet/Management/Time/Time.d.ts +47 -11
  92. package/es6/FrontApplet/Management/Time/Time.js +29 -7
  93. package/es6/FrontApplet/Management/Time/Time.js.map +1 -1
  94. package/es6/FrontApplet/Management/Wifi/IWifi.d.ts +3 -0
  95. package/es6/FrontApplet/Management/Wifi/IWifi.js.map +1 -1
  96. package/es6/FrontApplet/Management/Wifi/Wifi.d.ts +137 -42
  97. package/es6/FrontApplet/Management/Wifi/Wifi.js +137 -42
  98. package/es6/FrontApplet/Management/Wifi/Wifi.js.map +1 -1
  99. package/es6/FrontApplet/NativeCommands/MDC/Mdc.d.ts +8 -3
  100. package/es6/FrontApplet/NativeCommands/MDC/Mdc.js +8 -3
  101. package/es6/FrontApplet/NativeCommands/MDC/Mdc.js.map +1 -1
  102. package/es6/FrontApplet/OSD/OSD.d.ts +9 -0
  103. package/es6/FrontApplet/OSD/OSD.js +9 -0
  104. package/es6/FrontApplet/OSD/OSD.js.map +1 -1
  105. package/es6/FrontApplet/Video/Video.d.ts +9 -0
  106. package/es6/FrontApplet/Video/Video.js +9 -0
  107. package/es6/FrontApplet/Video/Video.js.map +1 -1
  108. package/package.json +1 -1
@@ -6,6 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Validate_1 = __importDefault(require("../../Validate/Validate"));
7
7
  /**
8
8
  * The `sos.management.audio` API groups methods for managing audio settings.
9
+ *
10
+ * <details>
11
+ * <summary>Volume Management Capabilities</summary>
12
+ * | Capability | Description |
13
+ * |:------------|:-------------|
14
+ * | `SET_VOLUME` | If device can set volume level |
15
+ * | `GET_VOLUME` | If device can get current volume level |
16
+ *
17
+ * If you want to check if the device supports those capabilities, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
18
+ * </details>
9
19
  */
10
20
  class Audio {
11
21
  messagePrefix;
@@ -16,9 +26,14 @@ class Audio {
16
26
  this.postMessage = postMessage;
17
27
  }
18
28
  /**
19
- * The `getVolume()` method returns current volume level of the device.
29
+ * The `getVolume()` method returns the current volume level of the device.
20
30
  *
31
+ * @returns {Promise<number>} A promise that resolves to the current volume level, which is a value between 0 and 100.
21
32
  * @since 2.0.0
33
+ *
34
+ * @example
35
+ * const currentVolume = await sos.management.audio.getVolume();
36
+ * console.log(`Current volume level is: ${currentVolume}`); // e.g. 75
22
37
  */
23
38
  async getVolume() {
24
39
  const { volume } = await this.postMessage({
@@ -27,11 +42,17 @@ class Audio {
27
42
  return volume;
28
43
  }
29
44
  /**
30
- * The `getVolume()` method set the volume level of the device.
45
+ * The `setVolume()` method sets the volume level of the device.
31
46
  *
32
47
  * @param volume Value between 0 and 100.
33
- *
48
+ * @returns {Promise<void>} A promise that resolves when the volume is set.
49
+ * @throws {Error} If the volume is not a number or is outside the range of 0 to 100.
34
50
  * @since 2.0.0
51
+ *
52
+ * @example // {@link https://github.com/signageos/applet-examples/tree/master/examples/management-js-api/volume | Example applet with setting volume}
53
+ *
54
+ * @example
55
+ * await sos.management.audio.setVolume(50);
35
56
  */
36
57
  async setVolume(volume) {
37
58
  (0, Validate_1.default)({ volume }).required().number().min(0).max(100);
@@ -1 +1 @@
1
- {"version":3,"file":"Audio.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Audio/Audio.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAG/C;;GAEG;AACH,MAAqB,KAAK;IAGhB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAEJ;;;;OAIG;IACI,KAAK,CAAC,SAAS;QACrB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,SAAS,CAAC,MAAc;QACpC,IAAA,kBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACnC,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AArCD,wBAqCC"}
1
+ {"version":3,"file":"Audio.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Audio/Audio.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAG/C;;;;;;;;;;;;GAYG;AACH,MAAqB,KAAK;IAGhB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAEJ;;;;;;;;;OASG;IACI,KAAK,CAAC,SAAS;QACrB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,SAAS,CAAC,MAAc;QACpC,IAAA,kBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACnC,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAhDD,wBAgDC"}
@@ -1,14 +1,60 @@
1
1
  import IPostMessage from '../../IPostMessage';
2
2
  import IAutoRecovery, { IAutoRecoveryConfiguration } from './IAutoRecovery';
3
- /** @todo */
3
+ /**
4
+ * The `sos.management.autoRecovery` API provides methods for managing the auto-recovery feature of the signageOS app.
5
+ *
6
+ * The Auto Recovery feature is designed to automatically recover the signageOS app in case of a crash or unexpected shutdown
7
+ * or switching input to a different value, e.g., HDMI.
8
+ *
9
+ * <details>
10
+ * <summary>Auto Recovery Management Capabilities</summary>
11
+ * | Capability | Description |
12
+ * |:------------|:-------------|
13
+ * | `AUTO_RECOVERY` | If the device can enable or disable the auto recovery function. |
14
+ *
15
+ * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
16
+ * </details>
17
+ */
4
18
  export default class AutoRecovery implements IAutoRecovery {
5
19
  private messagePrefix;
6
20
  private postMessage;
7
21
  /** @internal */
8
22
  constructor(messagePrefix: string, postMessage: IPostMessage<IAutoRecoveryConfiguration>);
9
- /** @internal */
23
+ /**
24
+ * The `get()` method retrieves the current auto-recovery configuration.
25
+ *
26
+ * @returns {Promise<IAutoRecoveryConfiguration>} A promise that resolves to the current auto-recovery configuration.
27
+ * @since 5.0.0
28
+ *
29
+ * @example
30
+ * const autoRecoveryConfig = await sos.management.autoRecovery.get();
31
+ * if (autoRecoveryConfig.enabled) {
32
+ * console.log(`Auto-recovery is enabled with a healthcheck interval of ${autoRecoveryConfig.healthcheckIntervalMs} ms.`);
33
+ * }
34
+ */
10
35
  get(): Promise<IAutoRecoveryConfiguration>;
11
- /** @internal */
36
+ /**
37
+ * The `set()` method allows to enable or disable the auto-recovery feature and configure its settings.
38
+ *
39
+ * :::note
40
+ * The configuration object has different properties depending on if enabled is true or false.
41
+ * :::
42
+ *
43
+ * @param configuration The configuration object for auto-recovery settings.
44
+ * @param configuration.enabled A boolean to set auto-recovery to enabled or disabled state.
45
+ * @param configuration.autoEnableTimeoutMs The timeout in milliseconds after which the auto-recovery will be automatically enabled if it was disabled.
46
+ * @param configuration.healthcheckIntervalMs The interval in milliseconds for the health check if application is running in foreground.
47
+ * @returns {Promise<void>} A promise that resolves when the auto-recovery settings are successfully set.
48
+ * @throws {Error} If the configuration is invalid.
49
+ * @since 5.0.0
50
+ *
51
+ * @example
52
+ * // Enable auto-recovery with a healthcheck interval of 5000 ms
53
+ * await sos.management.autoRecovery.set({
54
+ * enabled: true,
55
+ * healthcheckIntervalMs: 5000,
56
+ * });
57
+ */
12
58
  set(configuration: IAutoRecoveryConfiguration): Promise<void>;
13
59
  private getMessage;
14
60
  }
@@ -2,7 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const lodash_1 = require("lodash");
4
4
  const IAutoRecovery_1 = require("./IAutoRecovery");
5
- /** @todo */
5
+ /**
6
+ * The `sos.management.autoRecovery` API provides methods for managing the auto-recovery feature of the signageOS app.
7
+ *
8
+ * The Auto Recovery feature is designed to automatically recover the signageOS app in case of a crash or unexpected shutdown
9
+ * or switching input to a different value, e.g., HDMI.
10
+ *
11
+ * <details>
12
+ * <summary>Auto Recovery Management Capabilities</summary>
13
+ * | Capability | Description |
14
+ * |:------------|:-------------|
15
+ * | `AUTO_RECOVERY` | If the device can enable or disable the auto recovery function. |
16
+ *
17
+ * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
18
+ * </details>
19
+ */
6
20
  class AutoRecovery {
7
21
  messagePrefix;
8
22
  postMessage;
@@ -11,7 +25,18 @@ class AutoRecovery {
11
25
  this.messagePrefix = messagePrefix;
12
26
  this.postMessage = postMessage;
13
27
  }
14
- /** @internal */
28
+ /**
29
+ * The `get()` method retrieves the current auto-recovery configuration.
30
+ *
31
+ * @returns {Promise<IAutoRecoveryConfiguration>} A promise that resolves to the current auto-recovery configuration.
32
+ * @since 5.0.0
33
+ *
34
+ * @example
35
+ * const autoRecoveryConfig = await sos.management.autoRecovery.get();
36
+ * if (autoRecoveryConfig.enabled) {
37
+ * console.log(`Auto-recovery is enabled with a healthcheck interval of ${autoRecoveryConfig.healthcheckIntervalMs} ms.`);
38
+ * }
39
+ */
15
40
  async get() {
16
41
  const settings = await this.postMessage({ type: this.getMessage('get_auto_recovery') });
17
42
  if (!settings.enabled) {
@@ -19,7 +44,28 @@ class AutoRecovery {
19
44
  }
20
45
  return (0, lodash_1.pick)(settings, ['enabled', 'healthcheckIntervalMs']);
21
46
  }
22
- /** @internal */
47
+ /**
48
+ * The `set()` method allows to enable or disable the auto-recovery feature and configure its settings.
49
+ *
50
+ * :::note
51
+ * The configuration object has different properties depending on if enabled is true or false.
52
+ * :::
53
+ *
54
+ * @param configuration The configuration object for auto-recovery settings.
55
+ * @param configuration.enabled A boolean to set auto-recovery to enabled or disabled state.
56
+ * @param configuration.autoEnableTimeoutMs The timeout in milliseconds after which the auto-recovery will be automatically enabled if it was disabled.
57
+ * @param configuration.healthcheckIntervalMs The interval in milliseconds for the health check if application is running in foreground.
58
+ * @returns {Promise<void>} A promise that resolves when the auto-recovery settings are successfully set.
59
+ * @throws {Error} If the configuration is invalid.
60
+ * @since 5.0.0
61
+ *
62
+ * @example
63
+ * // Enable auto-recovery with a healthcheck interval of 5000 ms
64
+ * await sos.management.autoRecovery.set({
65
+ * enabled: true,
66
+ * healthcheckIntervalMs: 5000,
67
+ * });
68
+ */
23
69
  async set(configuration) {
24
70
  (0, IAutoRecovery_1.validateAutoRecoveryConfiguration)(configuration);
25
71
  await this.postMessage({ type: this.getMessage('set_auto_recovery'), ...configuration });
@@ -1 +1 @@
1
- {"version":3,"file":"AutoRecovery.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/AutoRecovery/AutoRecovery.ts"],"names":[],"mappings":";;AAAA,mCAA8B;AAE9B,mDAA+G;AAE/G,YAAY;AACZ,MAAqB,YAAY;IAGvB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAAqD;QADrD,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAA0C;IAC3D,CAAC;IAEJ,gBAAgB;IACT,KAAK,CAAC,GAAG;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,IAAA,aAAI,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAA,aAAI,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IACT,KAAK,CAAC,GAAG,CAAC,aAAyC;QACzD,IAAA,iDAAiC,EAAC,aAAa,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAzBD,+BAyBC"}
1
+ {"version":3,"file":"AutoRecovery.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/AutoRecovery/AutoRecovery.ts"],"names":[],"mappings":";;AAAA,mCAA8B;AAE9B,mDAA+G;AAE/G;;;;;;;;;;;;;;GAcG;AACH,MAAqB,YAAY;IAGvB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAAqD;QADrD,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAA0C;IAC3D,CAAC;IAEJ;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,GAAG;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,IAAA,aAAI,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAA,aAAI,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,GAAG,CAAC,aAAyC;QACzD,IAAA,iDAAiC,EAAC,aAAa,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAzDD,+BAyDC"}
@@ -1,7 +1,20 @@
1
1
  import IPostMessage from '../../IPostMessage';
2
2
  import IDebug from './IDebug';
3
3
  /**
4
- * The `sos.management.debug` API groups together method for working with native debug mode.
4
+ * The `sos.management.debug` API groups together methods for working with native debug mode.
5
+ *
6
+ * :::note
7
+ * Some modern systems might require additional steps to enable the native debug mode. Please refer to the [native debug documentation](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) for more information.
8
+ * :::
9
+ *
10
+ * <details>
11
+ * <summary>Debug Management Capabilities</summary>
12
+ * | Capability | Description |
13
+ * |:------------|:-------------|
14
+ * | `SET_DEBUG` | If the device can enable or disable the native debug mode. |
15
+ *
16
+ * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
17
+ * </details>
5
18
  */
6
19
  export default class Debug implements IDebug {
7
20
  private messagePrefix;
@@ -11,21 +24,50 @@ export default class Debug implements IDebug {
11
24
  /**
12
25
  * The `enable()` method enables the [native debug](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) mode.
13
26
  *
27
+ * @returns {Promise<void>} A promise that resolves when the debug mode is enabled.
14
28
  * @since 3.0.0
29
+ *
30
+ * @example // {@link https://github.com/signageos/applet-examples/tree/master/examples/management-js-api/debug | Example applet with activating debug mode}
31
+ *
32
+ * @example
33
+ * await sos.management.debug.enable();
15
34
  */
16
35
  enable(): Promise<void>;
17
36
  /**
18
37
  * The `enable()` method disables the [native debug](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) mode.
19
38
  *
39
+ * @returns {Promise<void>} A promise that resolves when the debug mode is disabled.
20
40
  * @since 3.0.0
41
+ *
42
+ * @example
43
+ * await sos.management.debug.disable();
21
44
  */
22
45
  disable(): Promise<void>;
23
46
  /**
24
47
  * The `isEnabled()` method returns whether the [native debug](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) mode is enabled.
25
48
  *
49
+ * @returns {Promise<boolean>} A promise that resolves to `true` if the debug mode is enabled, otherwise `false`.
26
50
  * @since 4.1.0
51
+ *
52
+ * @example
53
+ * const isDebugEnabled = await sos.management.debug.isEnabled();
54
+ * console.log(`Native debug mode is ${isDebugEnabled ? 'enabled' : 'disabled'}.`);
27
55
  */
28
56
  isEnabled(): Promise<boolean>;
29
- private setDebug;
57
+ /**
58
+ * The `setDebug(enabled)` method sets the native debug mode to the specified state.
59
+ *
60
+ * @param enabled `true` to enable the debug mode, `false` to disable it.
61
+ * @returns {Promise<void>} A promise that resolves when the debug mode is set.
62
+ * @throws {Error} If the `enabled` parameter is not a boolean.
63
+ * @since 4.1.0
64
+ *
65
+ * @example
66
+ * const enabled = await sos.management.debug.isEnabled();
67
+ * if (!enabled) {
68
+ * await sos.management.debug.setDebug(true);
69
+ * }
70
+ */
71
+ setDebug(enabled: boolean): Promise<void>;
30
72
  private getMessage;
31
73
  }
@@ -5,7 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Validate_1 = __importDefault(require("../../Validate/Validate"));
7
7
  /**
8
- * The `sos.management.debug` API groups together method for working with native debug mode.
8
+ * The `sos.management.debug` API groups together methods for working with native debug mode.
9
+ *
10
+ * :::note
11
+ * Some modern systems might require additional steps to enable the native debug mode. Please refer to the [native debug documentation](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) for more information.
12
+ * :::
13
+ *
14
+ * <details>
15
+ * <summary>Debug Management Capabilities</summary>
16
+ * | Capability | Description |
17
+ * |:------------|:-------------|
18
+ * | `SET_DEBUG` | If the device can enable or disable the native debug mode. |
19
+ *
20
+ * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
21
+ * </details>
9
22
  */
10
23
  class Debug {
11
24
  messagePrefix;
@@ -18,7 +31,13 @@ class Debug {
18
31
  /**
19
32
  * The `enable()` method enables the [native debug](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) mode.
20
33
  *
34
+ * @returns {Promise<void>} A promise that resolves when the debug mode is enabled.
21
35
  * @since 3.0.0
36
+ *
37
+ * @example // {@link https://github.com/signageos/applet-examples/tree/master/examples/management-js-api/debug | Example applet with activating debug mode}
38
+ *
39
+ * @example
40
+ * await sos.management.debug.enable();
22
41
  */
23
42
  async enable() {
24
43
  await this.setDebug(true);
@@ -26,7 +45,11 @@ class Debug {
26
45
  /**
27
46
  * The `enable()` method disables the [native debug](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) mode.
28
47
  *
48
+ * @returns {Promise<void>} A promise that resolves when the debug mode is disabled.
29
49
  * @since 3.0.0
50
+ *
51
+ * @example
52
+ * await sos.management.debug.disable();
30
53
  */
31
54
  async disable() {
32
55
  await this.setDebug(false);
@@ -34,7 +57,12 @@ class Debug {
34
57
  /**
35
58
  * The `isEnabled()` method returns whether the [native debug](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug) mode is enabled.
36
59
  *
60
+ * @returns {Promise<boolean>} A promise that resolves to `true` if the debug mode is enabled, otherwise `false`.
37
61
  * @since 4.1.0
62
+ *
63
+ * @example
64
+ * const isDebugEnabled = await sos.management.debug.isEnabled();
65
+ * console.log(`Native debug mode is ${isDebugEnabled ? 'enabled' : 'disabled'}.`);
38
66
  */
39
67
  async isEnabled() {
40
68
  const { isEnabled } = await this.postMessage({
@@ -42,6 +70,20 @@ class Debug {
42
70
  });
43
71
  return isEnabled;
44
72
  }
73
+ /**
74
+ * The `setDebug(enabled)` method sets the native debug mode to the specified state.
75
+ *
76
+ * @param enabled `true` to enable the debug mode, `false` to disable it.
77
+ * @returns {Promise<void>} A promise that resolves when the debug mode is set.
78
+ * @throws {Error} If the `enabled` parameter is not a boolean.
79
+ * @since 4.1.0
80
+ *
81
+ * @example
82
+ * const enabled = await sos.management.debug.isEnabled();
83
+ * if (!enabled) {
84
+ * await sos.management.debug.setDebug(true);
85
+ * }
86
+ */
45
87
  async setDebug(enabled) {
46
88
  (0, Validate_1.default)({ enabled }).required().boolean();
47
89
  await this.postMessage({
@@ -1 +1 @@
1
- {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Debug/Debug.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAG/C;;GAEG;AACH,MAAqB,KAAK;IAGhB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAEJ;;;;OAIG;IACI,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS;QACrB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAgB;QACtC,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAClC,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAjDD,wBAiDC"}
1
+ {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Debug/Debug.ts"],"names":[],"mappings":";;;;;AACA,uEAA+C;AAG/C;;;;;;;;;;;;;;;GAeG;AACH,MAAqB,KAAK;IAGhB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAEJ;;;;;;;;;;OAUG;IACI,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,SAAS;QACrB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAgB;QACrC,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAClC,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AA9ED,wBA8EC"}
@@ -2,6 +2,25 @@ import IPostMessage from '../../IPostMessage';
2
2
  import IFirmware from './IFirmware';
3
3
  /**
4
4
  * The `sos.management.firmware` API groups together methods for working with the firmware of the device.
5
+ *
6
+ * :::warning
7
+ * Always check if your absolute firmware URL ends with a firmware file. Example: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw`
8
+ * :::
9
+ *
10
+ * :::info
11
+ * For BrightSign firmware upgrade, please ensure that you have a text file with the SHA1 hash of that firmware file.
12
+ * - Firmware file path: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw`
13
+ * - SHA1 txt file: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw.sha1.txt`
14
+ * :::
15
+ *
16
+ * <details>
17
+ * <summary>Firmware Management Capabilities</summary>
18
+ * | Capability | Description |
19
+ * |:------------|:-------------|
20
+ * | `FIRMWARE_UPGRADE` | If device can upgrade firmware version |
21
+ *
22
+ * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
23
+ * </details>
5
24
  */
6
25
  export default class Firmware implements IFirmware {
7
26
  private messagePrefix;
@@ -15,18 +34,20 @@ export default class Firmware implements IFirmware {
15
34
  *
16
35
  * @param version The version of the firmware being installed.
17
36
  * @param [baseUrl='https://2.signageos.io'] Optional server URL where firmware files are located.
18
- *
37
+ * @returns {Promise<void>} A promise that resolves when the firmware upgrade is initiated.
19
38
  * @since 4.0.0
39
+ *
40
+ * @example
41
+ * await sos.management.firmware.upgrade('T-HKMLAKUC-2080.4');
20
42
  */
21
43
  upgrade(version: string, baseUrl?: string): Promise<void>;
22
44
  /**
23
45
  * The `upgrade(baseUrl, version)` does the same as `upgrade(version, baseUrl)`.
24
46
  *
25
47
  * @alias upgrade(version: string, baseUrl?: string)
26
- *
27
48
  * @param baseUrl The server URL where firmware files are located.
28
49
  * @param version The version of the firmware being installed.
29
- *
50
+ * @returns {Promise<void>} A promise that resolves when the firmware upgrade is initiated.
30
51
  * @since 4.0.0
31
52
  *
32
53
  * @example
@@ -46,9 +67,11 @@ export default class Firmware implements IFirmware {
46
67
  * - Android: http://example.com/fw/FB-00.0.0.zip
47
68
  *
48
69
  * @param fwUri FQN uri where the firmware main file is located.
49
- *
70
+ * @returns {Promise<void>} A promise that resolves when the firmware upgrade is initiated.
50
71
  * @since 4.0.0
51
72
  *
73
+ * @example // {@link https://github.com/signageos/applet-examples/tree/master/examples/management-js-api/firmware | Example applet with firmware upgrade}
74
+ *
52
75
  * @example
53
76
  * await sos.management.firmware.upgrade('https://cdn.your-cms.com/tizen/pmf/fw/2080_4.bem');
54
77
  */
@@ -56,6 +79,7 @@ export default class Firmware implements IFirmware {
56
79
  /**
57
80
  * The `getVersion()` method returns the version of the firmware currently installed on the device.
58
81
  *
82
+ * @returns {Promise<string>} A promise that resolves to the current firmware version.
59
83
  * @since 4.0.0
60
84
  *
61
85
  * @example
@@ -68,6 +92,19 @@ export default class Firmware implements IFirmware {
68
92
  *
69
93
  * This information, when combined with firmware version, can be used to identify a correct firmware image to install on the current device.
70
94
  *
95
+ * <details>
96
+ * <summary>Linux and Android prefixes</summary>
97
+ * | Type | Description |
98
+ * |:------------|:-------------|
99
+ * | `rpi` | Any Raspberry Pi 3 or Compute Module 3 |
100
+ * | `rpi4` | Any Raspberry Pi 4 or Compute Module 4 |
101
+ * | `benq-` | Any Benq display |
102
+ * | `philips-` | Any Philips display |
103
+ * | `sharp-` | Any Sharp display |
104
+ * | `elo-` | Any Elo display |
105
+ * </details>
106
+ *
107
+ * @returns {Promise<string>} A promise that resolves to the current firmware type.
71
108
  * @since 4.8.0
72
109
  *
73
110
  * @example
@@ -3,6 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const UpgradeHelper_1 = require("../helpers/UpgradeHelper");
4
4
  /**
5
5
  * The `sos.management.firmware` API groups together methods for working with the firmware of the device.
6
+ *
7
+ * :::warning
8
+ * Always check if your absolute firmware URL ends with a firmware file. Example: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw`
9
+ * :::
10
+ *
11
+ * :::info
12
+ * For BrightSign firmware upgrade, please ensure that you have a text file with the SHA1 hash of that firmware file.
13
+ * - Firmware file path: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw`
14
+ * - SHA1 txt file: `https://cnd.your-cms.com/brightsign/fw/brightsign-update.bsfw.sha1.txt`
15
+ * :::
16
+ *
17
+ * <details>
18
+ * <summary>Firmware Management Capabilities</summary>
19
+ * | Capability | Description |
20
+ * |:------------|:-------------|
21
+ * | `FIRMWARE_UPGRADE` | If device can upgrade firmware version |
22
+ *
23
+ * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
24
+ * </details>
6
25
  */
7
26
  class Firmware {
8
27
  messagePrefix;
@@ -25,6 +44,7 @@ class Firmware {
25
44
  /**
26
45
  * The `getVersion()` method returns the version of the firmware currently installed on the device.
27
46
  *
47
+ * @returns {Promise<string>} A promise that resolves to the current firmware version.
28
48
  * @since 4.0.0
29
49
  *
30
50
  * @example
@@ -42,6 +62,19 @@ class Firmware {
42
62
  *
43
63
  * This information, when combined with firmware version, can be used to identify a correct firmware image to install on the current device.
44
64
  *
65
+ * <details>
66
+ * <summary>Linux and Android prefixes</summary>
67
+ * | Type | Description |
68
+ * |:------------|:-------------|
69
+ * | `rpi` | Any Raspberry Pi 3 or Compute Module 3 |
70
+ * | `rpi4` | Any Raspberry Pi 4 or Compute Module 4 |
71
+ * | `benq-` | Any Benq display |
72
+ * | `philips-` | Any Philips display |
73
+ * | `sharp-` | Any Sharp display |
74
+ * | `elo-` | Any Elo display |
75
+ * </details>
76
+ *
77
+ * @returns {Promise<string>} A promise that resolves to the current firmware type.
45
78
  * @since 4.8.0
46
79
  *
47
80
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"Firmware.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Firmware/Firmware.ts"],"names":[],"mappings":";;AACA,4DAAiE;AAGjE;;GAEG;AACH,MAAqB,QAAQ;IAGnB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAkDJ,gBAAgB;IACT,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAa;QAC/C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,qCAAqB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACzC,OAAO;YACP,OAAO;YACP,SAAS;SACT,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,UAAU;QACtB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;SAC7C,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACrB,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAxGD,2BAwGC"}
1
+ {"version":3,"file":"Firmware.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Management/Firmware/Firmware.ts"],"names":[],"mappings":";;AACA,4DAAiE;AAGjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAqB,QAAQ;IAGnB;IACA;IAHT,gBAAgB;IAChB,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IACpC,CAAC;IAsDJ,gBAAgB;IACT,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAa;QAC/C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,qCAAqB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACzC,OAAO;YACP,OAAO;YACP,SAAS;SACT,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,UAAU;QACtB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;SAC7C,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACrB,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AA1HD,2BA0HC"}