@signageos/front-applet 8.1.1 → 8.1.3
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/bundle.js +1 -1
- package/dist/bundle.js.map +1 -1
- package/docs/sos/browser.md +66 -14
- package/docs/sos/command.md +52 -6
- package/docs/sos/debug.md +17 -2
- package/docs/sos/deviceInfo.md +27 -0
- package/docs/sos/display.md +34 -3
- package/docs/sos/fileSystem.md +1135 -59
- package/docs/sos/index.md +36 -12
- package/docs/sos/input.md +42 -1
- package/docs/sos/native/mdc.md +65 -19
- package/docs/sos/offline/cache.md +14 -8
- package/docs/sos/stream.md +1172 -37
- package/docs/sos/sync.md +2 -2
- package/docs/sos/video.md +515 -22
- package/docs/sos_management/security.md +4 -2
- package/docs/sos_management/wifi.md +9 -9
- package/es6/FrontApplet/Browser/Browser.d.ts +25 -9
- package/es6/FrontApplet/Browser/Browser.js +25 -9
- package/es6/FrontApplet/Browser/Browser.js.map +1 -1
- package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +7 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -1
- package/es6/FrontApplet/Browser/events.d.ts +6 -0
- package/es6/FrontApplet/Browser/events.js.map +1 -1
- package/es6/FrontApplet/Command/Command.d.ts +15 -6
- package/es6/FrontApplet/Command/Command.js +15 -6
- package/es6/FrontApplet/Command/Command.js.map +1 -1
- package/es6/FrontApplet/Command/ICommand.d.ts +7 -0
- package/es6/FrontApplet/Command/ICommandEvent.d.ts +6 -0
- package/es6/FrontApplet/Debug/Debug.d.ts +11 -3
- package/es6/FrontApplet/Debug/Debug.js +11 -3
- package/es6/FrontApplet/Debug/Debug.js.map +1 -1
- package/es6/FrontApplet/DeviceInfo/DeviceInfo.d.ts +15 -0
- package/es6/FrontApplet/DeviceInfo/DeviceInfo.js +16 -2
- package/es6/FrontApplet/DeviceInfo/DeviceInfo.js.map +1 -1
- package/es6/FrontApplet/Display/Display.d.ts +22 -14
- package/es6/FrontApplet/Display/Display.js +22 -14
- package/es6/FrontApplet/Display/Display.js.map +1 -1
- package/es6/FrontApplet/Display/IDisplay.d.ts +4 -0
- package/es6/FrontApplet/FileSystem/FileSystem.d.ts +429 -41
- package/es6/FrontApplet/FileSystem/FileSystem.js +427 -39
- package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -1
- package/es6/FrontApplet/FileSystem/HashAlgorithm.d.ts +4 -1
- package/es6/FrontApplet/FileSystem/types.d.ts +46 -0
- package/es6/FrontApplet/FileSystem/types.js.map +1 -1
- package/es6/FrontApplet/FrontApplet.d.ts +31 -7
- package/es6/FrontApplet/FrontApplet.js +32 -8
- package/es6/FrontApplet/FrontApplet.js.map +1 -1
- package/es6/FrontApplet/Input/IKeyUpEvent.d.ts +9 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.js +6 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.js.map +1 -1
- package/es6/FrontApplet/Input/Input.d.ts +17 -1
- package/es6/FrontApplet/Input/Input.js +17 -1
- package/es6/FrontApplet/Input/Input.js.map +1 -1
- package/es6/FrontApplet/NativeCommands/MDC/Mdc.d.ts +32 -11
- package/es6/FrontApplet/NativeCommands/MDC/Mdc.js +14 -11
- package/es6/FrontApplet/NativeCommands/MDC/Mdc.js.map +1 -1
- package/es6/FrontApplet/Stream/IStreamTrackInfo.d.ts +34 -0
- package/es6/FrontApplet/Stream/Stream.d.ts +245 -20
- package/es6/FrontApplet/Stream/Stream.js +245 -20
- package/es6/FrontApplet/Stream/Stream.js.map +1 -1
- package/es6/FrontApplet/Stream/StreamProtocol.d.ts +4 -0
- package/es6/FrontApplet/Stream/StreamProtocol.js +4 -0
- package/es6/FrontApplet/Stream/StreamProtocol.js.map +1 -1
- package/es6/FrontApplet/Stream/streamEventProperties.d.ts +11 -1
- package/es6/FrontApplet/Stream/streamEvents.d.ts +26 -0
- package/es6/FrontApplet/Video/IOptions.d.ts +41 -0
- package/es6/FrontApplet/Video/IVideoEvent.d.ts +8 -0
- package/es6/FrontApplet/Video/IVideoEvent.js.map +1 -1
- package/es6/FrontApplet/Video/IVideoProperties.d.ts +3 -0
- package/es6/FrontApplet/Video/Video.d.ts +256 -19
- package/es6/FrontApplet/Video/Video.js +258 -22
- package/es6/FrontApplet/Video/Video.js.map +1 -1
- package/package.json +1 -1
package/docs/sos/index.md
CHANGED
|
@@ -4,11 +4,22 @@ sidebar_position: 0
|
|
|
4
4
|
|
|
5
5
|
# sos
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
</Admonition>
|
|
7
|
+
The `sos` API groups together all functionality the \@signageos/front-applet offers. This is a basic object that provides you with access to
|
|
8
|
+
all the applet functionality, such as device information, display control, video playback, and more.
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
:::warning
|
|
11
|
+
All calls to the sos object need to happen after `sos.onReady()` is resolved. After the sOS object is ready, there are global properties available, which can be used for applet customization and device identification.
|
|
12
|
+
:::
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
// Simple example of using the sos API to play a video.
|
|
16
|
+
import sos from '@signageos/front-applet';
|
|
17
|
+
|
|
18
|
+
sos.onReady().then(async function () {
|
|
19
|
+
startYourApplet(); // Example method to run
|
|
20
|
+
// Any other code
|
|
21
|
+
}
|
|
22
|
+
```
|
|
12
23
|
|
|
13
24
|
## Properties
|
|
14
25
|
|
|
@@ -23,7 +34,7 @@ readonly appletVersion: string;
|
|
|
23
34
|
### authHash
|
|
24
35
|
|
|
25
36
|
<Admonition type="info" icon="" title="">
|
|
26
|
-
Learn more about using this API [here](https://developers.signageos.io/docs/
|
|
37
|
+
Learn more about using this API [here](https://developers.signageos.io/docs/sos-guides/device-identification)
|
|
27
38
|
</Admonition>
|
|
28
39
|
|
|
29
40
|
The `authHash` property is an alternative device identifier, which is designed for secure pairing and locating devices through
|
|
@@ -39,11 +50,7 @@ readonly authHash: string;
|
|
|
39
50
|
|
|
40
51
|
### config
|
|
41
52
|
|
|
42
|
-
|
|
43
|
-
Learn more about using this API [here](https://developers.signageos.io/docs/applets/configuration/)
|
|
44
|
-
</Admonition>
|
|
45
|
-
|
|
46
|
-
The `config` property is a Key-value dictionary of the applet configuration.
|
|
53
|
+
The `config` property is a Key-value dictionary of the applet configuration. It is assigned on the device with timing via Box or SDK/Rest API.
|
|
47
54
|
|
|
48
55
|
```ts expandable
|
|
49
56
|
readonly config: Record<string, number | string | boolean>;
|
|
@@ -60,6 +67,16 @@ which is resolved at the same time as the listener.
|
|
|
60
67
|
onReady(listener?: () => void): Promise<void>;
|
|
61
68
|
```
|
|
62
69
|
|
|
70
|
+
#### Params
|
|
71
|
+
|
|
72
|
+
| Name | Type | Description |
|
|
73
|
+
|-------------------------|--------------|--------------------------------------------------------------|
|
|
74
|
+
| `listener` *(optional)* | `() => void` | Optional listener which is called when the sos API is ready. |
|
|
75
|
+
|
|
76
|
+
#### Return value
|
|
77
|
+
|
|
78
|
+
Promise which is resolved when the sos API is ready.
|
|
79
|
+
|
|
63
80
|
#### Example
|
|
64
81
|
|
|
65
82
|
```ts
|
|
@@ -76,12 +93,16 @@ sos.onReady(async function () {
|
|
|
76
93
|
|
|
77
94
|
### refresh()
|
|
78
95
|
|
|
79
|
-
The `refresh()` method initializes refresh of the applet. Similar to window.location.reload(), but the applet is not downloaded again.
|
|
96
|
+
The `refresh()` method initializes the refresh of the applet. Similar to window.location.reload(), but the applet is not downloaded again.
|
|
80
97
|
|
|
81
98
|
```ts expandable
|
|
82
99
|
refresh(): Promise<void>;
|
|
83
100
|
```
|
|
84
101
|
|
|
102
|
+
#### Return value
|
|
103
|
+
|
|
104
|
+
Promise that is resolved when the refresh is completed.
|
|
105
|
+
|
|
85
106
|
#### Example
|
|
86
107
|
|
|
87
108
|
```ts
|
|
@@ -106,5 +127,8 @@ restore(): void;
|
|
|
106
127
|
#### Example
|
|
107
128
|
|
|
108
129
|
```ts
|
|
109
|
-
sos.
|
|
130
|
+
sos.onReady(async function () {
|
|
131
|
+
// Some function which is called when the applet is ready
|
|
132
|
+
sos.restore();
|
|
133
|
+
});
|
|
110
134
|
```
|
package/docs/sos/input.md
CHANGED
|
@@ -4,25 +4,39 @@ sidebar_position: 0
|
|
|
4
4
|
|
|
5
5
|
# input
|
|
6
6
|
|
|
7
|
+
The `sos.input` API groups together all input-related functionality, such as remote control key events. With this API, you can
|
|
8
|
+
listen to key events from the remote control and handle them in your application.
|
|
9
|
+
|
|
7
10
|
## Methods
|
|
8
11
|
|
|
9
12
|
### onKeyUp()
|
|
10
13
|
|
|
11
|
-
The `onKeyUp` method sets up a listeners, which is called on every
|
|
14
|
+
The `onKeyUp` method sets up a listeners, which is called on every keystroke of the remote controller. For the specific logic of an
|
|
12
15
|
application (games for example), binding the remote control inputs can be helpful. Only a subset of all remote control keys is
|
|
13
16
|
supported on the specific device. Only numerical digits are guaranteed to be supported.
|
|
14
17
|
|
|
18
|
+
:::note
|
|
15
19
|
This feature must be tested by users on real devices.
|
|
20
|
+
:::
|
|
16
21
|
|
|
17
22
|
```ts expandable
|
|
18
23
|
onKeyUp(listener: (event: IKeyUpEvent) => void): void;
|
|
19
24
|
// show-more
|
|
25
|
+
/**
|
|
26
|
+
* KeyUp event interface for handling key release events.
|
|
27
|
+
*/
|
|
20
28
|
interface IKeyUpEvent {
|
|
21
29
|
type: 'keyup';
|
|
22
30
|
keyCode: KeyUpEventMap;
|
|
23
31
|
keyName: keyof typeof KeyUpEventMap;
|
|
24
32
|
}
|
|
25
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Enum of supported key codes for KeyUp events.
|
|
36
|
+
*
|
|
37
|
+
* @remarks
|
|
38
|
+
* If a key is not listed here, it will show warning in the console.
|
|
39
|
+
*/
|
|
26
40
|
enum KeyUpEventMap {
|
|
27
41
|
UNKNOWN = 0,
|
|
28
42
|
NUM_0 = 1,
|
|
@@ -56,6 +70,22 @@ enum KeyUpEventMap {
|
|
|
56
70
|
|
|
57
71
|
```
|
|
58
72
|
|
|
73
|
+
#### Params
|
|
74
|
+
|
|
75
|
+
| Name | Type | Description |
|
|
76
|
+
|------------|--------------------------------|------------------------------------------------------------------|
|
|
77
|
+
| `listener` | `(event: IKeyUpEvent) => void` | The listener function that will be called on every key up event. |
|
|
78
|
+
|
|
79
|
+
#### Return value
|
|
80
|
+
|
|
81
|
+
Resolves when the listener is successfully set up.
|
|
82
|
+
|
|
83
|
+
#### Possible errors
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
- If listener is not valid function.
|
|
87
|
+
- If listener is unregistered.
|
|
88
|
+
|
|
59
89
|
<Separator />
|
|
60
90
|
|
|
61
91
|
### removeEventListener()
|
|
@@ -66,6 +96,17 @@ The `removeEventListener()` method removes all event listeners for a specific ev
|
|
|
66
96
|
removeEventListener(event: 'keyup', listener: (...args: any[]) => void): void;
|
|
67
97
|
```
|
|
68
98
|
|
|
99
|
+
#### Params
|
|
100
|
+
|
|
101
|
+
| Name | Type | Description |
|
|
102
|
+
|------------|----------------------------|-----------------------------------------------------------------------------------------|
|
|
103
|
+
| `event` | `"keyup"` | The name of the event to remove the listener for. Currently, only `keyup` is supported. |
|
|
104
|
+
| `listener` | `(...args: any[]) => void` | The listener function to remove. |
|
|
105
|
+
|
|
106
|
+
#### Return value
|
|
107
|
+
|
|
108
|
+
Resolves when the listener is successfully removed.
|
|
109
|
+
|
|
69
110
|
<Separator />
|
|
70
111
|
|
|
71
112
|
### removeEventListeners()
|
package/docs/sos/native/mdc.md
CHANGED
|
@@ -7,15 +7,11 @@ sidebar_position: 0
|
|
|
7
7
|
The `sos.native.mdc` API groups together methods for controlling Tizen devices using MDC commands.
|
|
8
8
|
|
|
9
9
|
:::warning
|
|
10
|
-
|
|
11
10
|
This API is currently available on Tizen devices only.
|
|
12
|
-
|
|
13
11
|
:::
|
|
14
12
|
|
|
15
13
|
:::info
|
|
16
|
-
|
|
17
14
|
You can ensure that the device supports MDC commands via `sos.management.supports("NATIVE_COMMANDS_MDC")`.
|
|
18
|
-
|
|
19
15
|
:::
|
|
20
16
|
|
|
21
17
|
## Methods
|
|
@@ -27,6 +23,26 @@ The `sendOne()` method sends an MDC command to another Tizen device on the same
|
|
|
27
23
|
```ts expandable
|
|
28
24
|
sendOne(ipAddress: IpAddressType, command: CodesMDC, data?: number[]): Promise<IMDCResponse>;
|
|
29
25
|
// show-more
|
|
26
|
+
/**
|
|
27
|
+
* Response object returned by Tizen Core App.
|
|
28
|
+
*/
|
|
29
|
+
interface IMDCResponse {
|
|
30
|
+
/**
|
|
31
|
+
* The type of the response, either 'ACK' for acknowledgment or 'NACK' for negative acknowledgment.
|
|
32
|
+
*/
|
|
33
|
+
type: 'ACK' | 'NACK';
|
|
34
|
+
/**
|
|
35
|
+
* The command type that was executed, represented as a number.
|
|
36
|
+
* Should match the command number in {@link CodesMDC}.
|
|
37
|
+
*/
|
|
38
|
+
commandType: number;
|
|
39
|
+
/**
|
|
40
|
+
* The result of the command execution, represented as a number.
|
|
41
|
+
* This value can vary depending on the command executed.
|
|
42
|
+
*/
|
|
43
|
+
result: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
30
46
|
/**
|
|
31
47
|
* This enum contains valid command codes for Tizen MDC communication.
|
|
32
48
|
*/
|
|
@@ -177,12 +193,6 @@ enum CodesMDC {
|
|
|
177
193
|
REPLY = 255
|
|
178
194
|
}
|
|
179
195
|
|
|
180
|
-
interface IMDCResponse {
|
|
181
|
-
type: 'ACK' | 'NACK';
|
|
182
|
-
commandType: number;
|
|
183
|
-
result: number;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
196
|
```
|
|
187
197
|
|
|
188
198
|
#### Params
|
|
@@ -190,18 +200,29 @@ interface IMDCResponse {
|
|
|
190
200
|
| Name | Type | Description |
|
|
191
201
|
|---------------------|------------|------------------------------------------------------|
|
|
192
202
|
| `ipAddress` | `string` | The IP address of the device to send the command to. |
|
|
193
|
-
| `command` | `CodesMDC` | The MDC command to send
|
|
203
|
+
| `command` | `CodesMDC` | The MDC command to send |
|
|
194
204
|
| `data` *(optional)* | `number[]` | The optional data to send with the command. |
|
|
195
205
|
|
|
206
|
+
#### Return value
|
|
207
|
+
|
|
208
|
+
MDC response object containing the result of the command execution.
|
|
209
|
+
|
|
210
|
+
#### Possible errors
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
- If the `ipAddress` is not a valid string or if the `command` is not a valid number.
|
|
214
|
+
- If the `data` is not an array of numbers.
|
|
215
|
+
- If any error occurs during the command execution.
|
|
216
|
+
|
|
196
217
|
#### Example
|
|
197
218
|
|
|
198
219
|
```ts
|
|
199
|
-
await sos.native.mdc.sendOne('localhost', CodesMDC.BRIGHTNESS_CONTROL);
|
|
200
|
-
await sos.native.mdc.sendOne('192.168.0.10', CodesMDC.VOLUME_CONTROL, [50]);
|
|
201
|
-
await sos.native.mdc.sendOne('192.168.0.10', CodesMDC.PICTURE_CONTROL, [0x54, 0x03]);
|
|
220
|
+
await sos.native.mdc.sendOne('localhost', CodesMDC.BRIGHTNESS_CONTROL);
|
|
221
|
+
await sos.native.mdc.sendOne('192.168.0.10', CodesMDC.VOLUME_CONTROL, [50]);
|
|
222
|
+
await sos.native.mdc.sendOne('192.168.0.10', CodesMDC.PICTURE_CONTROL, [0x54, 0x03]);
|
|
202
223
|
|
|
203
224
|
// You can also send custom number if we don't have predefined command in our enum
|
|
204
|
-
await sos.native.mdc.sendOne('192.168.0.10', 0x01, []);
|
|
225
|
+
await sos.native.mdc.sendOne('192.168.0.10', 0x01, []);
|
|
205
226
|
```
|
|
206
227
|
|
|
207
228
|
<Separator />
|
|
@@ -215,9 +236,23 @@ but without explicitly specifying the command.
|
|
|
215
236
|
sendOneRaw(ipAddress: IpAddressType, data: number[] | [
|
|
216
237
|
]): Promise<IMDCResponse>;
|
|
217
238
|
// show-more
|
|
239
|
+
/**
|
|
240
|
+
* Response object returned by Tizen Core App.
|
|
241
|
+
*/
|
|
218
242
|
interface IMDCResponse {
|
|
243
|
+
/**
|
|
244
|
+
* The type of the response, either 'ACK' for acknowledgment or 'NACK' for negative acknowledgment.
|
|
245
|
+
*/
|
|
219
246
|
type: 'ACK' | 'NACK';
|
|
247
|
+
/**
|
|
248
|
+
* The command type that was executed, represented as a number.
|
|
249
|
+
* Should match the command number in {@link CodesMDC}.
|
|
250
|
+
*/
|
|
220
251
|
commandType: number;
|
|
252
|
+
/**
|
|
253
|
+
* The result of the command execution, represented as a number.
|
|
254
|
+
* This value can vary depending on the command executed.
|
|
255
|
+
*/
|
|
221
256
|
result: number;
|
|
222
257
|
}
|
|
223
258
|
|
|
@@ -225,10 +260,21 @@ interface IMDCResponse {
|
|
|
225
260
|
|
|
226
261
|
#### Params
|
|
227
262
|
|
|
228
|
-
| Name | Type | Description
|
|
229
|
-
|
|
230
|
-
| `ipAddress` | `string` | The IP address of the device to send the command to.
|
|
231
|
-
| `data` | `number[] \| []` | The data to send with the command.
|
|
263
|
+
| Name | Type | Description |
|
|
264
|
+
|-------------|------------------|------------------------------------------------------------------------------------|
|
|
265
|
+
| `ipAddress` | `string` | The IP address of the device to send the command to. |
|
|
266
|
+
| `data` | `number[] \| []` | The data as array of numbers to send with the command. It can be also empty array. |
|
|
267
|
+
|
|
268
|
+
#### Return value
|
|
269
|
+
|
|
270
|
+
MDC response object containing the result of the command execution.
|
|
271
|
+
|
|
272
|
+
#### Possible errors
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
- If the `ipAddress` is not a valid string or if the `command` is not a valid number.
|
|
276
|
+
- If the `data` is not an array of numbers.
|
|
277
|
+
- If any error occurs during the command execution.
|
|
232
278
|
|
|
233
279
|
#### Example
|
|
234
280
|
|
|
@@ -28,7 +28,7 @@ decompressFile(uid: string, destinationUid: string, method: 'zip'): Promise<void
|
|
|
28
28
|
|
|
29
29
|
#### Possible errors
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
If the uid does not exist.
|
|
32
32
|
|
|
33
33
|
<Separator />
|
|
34
34
|
|
|
@@ -56,7 +56,7 @@ deleteFile(uid: string): Promise<void>;
|
|
|
56
56
|
|
|
57
57
|
#### Possible errors
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
If the uid does not exist.
|
|
60
60
|
|
|
61
61
|
<Separator />
|
|
62
62
|
|
|
@@ -67,7 +67,10 @@ The `getChecksumFile()` computes a checksum of the file specified by `uid`.
|
|
|
67
67
|
```ts expandable
|
|
68
68
|
getChecksumFile(uid: string, hashType: HashAlgorithm): Promise<string>;
|
|
69
69
|
// show-more
|
|
70
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Represents the supported hash algorithms by Core Apps.
|
|
72
|
+
*/
|
|
73
|
+
type HashAlgorithm = 'md5' | 'crc32' | AnyString;
|
|
71
74
|
|
|
72
75
|
type AnyString = string & {};
|
|
73
76
|
|
|
@@ -75,7 +78,7 @@ type AnyString = string & {};
|
|
|
75
78
|
|
|
76
79
|
#### Possible errors
|
|
77
80
|
|
|
78
|
-
|
|
81
|
+
If the uid does not exist or the hashing algorithm is not supported.
|
|
79
82
|
|
|
80
83
|
<Separator />
|
|
81
84
|
|
|
@@ -132,7 +135,7 @@ interface IFile {
|
|
|
132
135
|
|
|
133
136
|
#### Possible errors
|
|
134
137
|
|
|
135
|
-
|
|
138
|
+
If the uid does not exists
|
|
136
139
|
|
|
137
140
|
<Separator />
|
|
138
141
|
|
|
@@ -185,7 +188,7 @@ saveFile(uid: string, uri: string, headers?: {
|
|
|
185
188
|
|
|
186
189
|
#### Possible errors
|
|
187
190
|
|
|
188
|
-
|
|
191
|
+
If the network request fails or a file with the same uid is already cached
|
|
189
192
|
|
|
190
193
|
<Separator />
|
|
191
194
|
|
|
@@ -196,7 +199,10 @@ The `validateChecksumFile()` method validates whether the file, specified by `ui
|
|
|
196
199
|
```ts expandable
|
|
197
200
|
validateChecksumFile(uid: string, hash: string, hashType: HashAlgorithm): Promise<boolean>;
|
|
198
201
|
// show-more
|
|
199
|
-
|
|
202
|
+
/**
|
|
203
|
+
* Represents the supported hash algorithms by Core Apps.
|
|
204
|
+
*/
|
|
205
|
+
type HashAlgorithm = 'md5' | 'crc32' | AnyString;
|
|
200
206
|
|
|
201
207
|
type AnyString = string & {};
|
|
202
208
|
|
|
@@ -204,4 +210,4 @@ type AnyString = string & {};
|
|
|
204
210
|
|
|
205
211
|
#### Possible errors
|
|
206
212
|
|
|
207
|
-
|
|
213
|
+
If the uid does not exist or the hashing algorithm is not supported.
|