@signageos/front-applet 4.10.3 → 4.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/bundle.js +1 -1
- package/dist/bundle.js.map +1 -1
- package/docs/js-api/js-browser.md +12 -5
- package/docs/js-api/js-file-system.md +56 -0
- package/docs/js-api/js-offline-cache-media-files.md +19 -7
- package/docs/management-api/10-js-management-application.md +18 -1
- package/docs/management-api/11-js-management-network.md +36 -1
- package/docs/management-api/2-js-management-firmware.md +4 -0
- package/es6/FrontApplet/Browser/Browser.d.ts +16 -6
- package/es6/FrontApplet/Browser/Browser.js +39 -12
- package/es6/FrontApplet/Browser/Browser.js.map +1 -1
- package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +8 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js +4 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -1
- package/es6/FrontApplet/Browser/events.d.ts +15 -0
- package/es6/FrontApplet/Browser/events.js +14 -0
- package/es6/FrontApplet/Browser/events.js.map +1 -0
- package/es6/FrontApplet/Browser/messages.d.ts +5 -0
- package/es6/FrontApplet/Browser/messages.js +3 -0
- package/es6/FrontApplet/Browser/messages.js.map +1 -0
- package/es6/FrontApplet/Exchange/Exchange.d.ts +7 -0
- package/es6/FrontApplet/Exchange/Exchange.js +28 -0
- package/es6/FrontApplet/Exchange/Exchange.js.map +1 -0
- package/es6/FrontApplet/FileSystem/FileSystem.d.ts +1 -0
- package/es6/FrontApplet/FileSystem/FileSystem.js +10 -0
- package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -1
- package/es6/FrontApplet/FrontApplet.js +4 -1
- package/es6/FrontApplet/FrontApplet.js.map +1 -1
- package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +30 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +92 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.d.ts +5 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js +3 -0
- package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js.map +1 -0
- package/es6/FrontApplet/Hardware/Hardware.d.ts +4 -1
- package/es6/FrontApplet/Hardware/Hardware.js +3 -0
- package/es6/FrontApplet/Hardware/Hardware.js.map +1 -1
- package/es6/FrontApplet/Management/INetworkInfo.d.ts +1 -0
- package/es6/FrontApplet/Management/INetworkInfo.js.map +1 -1
- package/es6/FrontApplet/Management/Network.d.ts +1 -0
- package/es6/FrontApplet/Management/Network.js +9 -0
- package/es6/FrontApplet/Management/Network.js.map +1 -1
- package/es6/FrontApplet/Management/helpers/SecurityHelper.js +1 -1
- package/es6/FrontApplet/Validate/Validate.js +1 -1
- package/es6/FrontApplet/Validate/Validate.js.map +1 -1
- package/package.json +3 -4
|
@@ -33,9 +33,9 @@ Default URL can be opened and even the whitelisting/blacklisting of certain doma
|
|
|
33
33
|
- Android devices with Android 5+ (Philips, Benq, Sharp, generic Android device)
|
|
34
34
|
|
|
35
35
|
**With some limitation you can use this API also on**
|
|
36
|
-
- Samsung Tizen (SSSP 4 and above); where the website is just in fullscreen without
|
|
37
|
-
- LG webOS (webOS 3.0 and above); where the website is just in fullscreen without
|
|
38
|
-
- Raspberry Pi and NEC Compute Module;
|
|
36
|
+
- Samsung Tizen (SSSP 4 and above); where the website is just in fullscreen without an address bar or theme options (headless mode)
|
|
37
|
+
- LG webOS (webOS 3.0 and above); where the website is just in fullscreen without an address bar or theme options (headless mode)
|
|
38
|
+
- Raspberry Pi and NEC Compute Module; where the website is just in fullscreen without an address bar or theme options (headless mode)
|
|
39
39
|
:::
|
|
40
40
|
|
|
41
41
|
### Javascript
|
|
@@ -56,6 +56,9 @@ Method `open()` also supports properties for browser. You can set height, width
|
|
|
56
56
|
| `coordinates` | Object | Size of browser screen (only Raspberry Pi) |
|
|
57
57
|
| `idleTimeout` | Number | Timeout in milliseconds for loading page |
|
|
58
58
|
| `theme` | Object | Setting custom theme for Android |
|
|
59
|
+
| `headlessMode` | Boolean | Headless mode hides the entire address bar (default) |
|
|
60
|
+
| `canUserClose` | Boolean | Whether the user can manually close the browser. Default:<br>**Headless:** `false`<br>**With UI:** `true` |
|
|
61
|
+
| `clearData` | Boolean | Clear cache after the browser closes. Default:<br>**Headless:** `false`<br>**With UI:** `true` |
|
|
59
62
|
:::
|
|
60
63
|
|
|
61
64
|
|
|
@@ -64,13 +67,14 @@ sos.browser.open('https://www.signageos.io', {
|
|
|
64
67
|
aclDomains: ['google.com', 'yahoo.com'],
|
|
65
68
|
aclMode: 'blacklist', // or 'whitelist'
|
|
66
69
|
readOnlyAddressBar: true,
|
|
67
|
-
coordinates: { // Supported only on Raspberry Pi
|
|
70
|
+
coordinates: { // Supported only on Raspberry Pi and Android
|
|
68
71
|
x: 0,
|
|
69
72
|
y: 0,
|
|
70
73
|
height: 500,
|
|
71
74
|
width: 500,
|
|
72
75
|
},
|
|
73
76
|
// theme: { ... } // supported only on Android
|
|
77
|
+
headlessMode: false, // supported only on Android
|
|
74
78
|
```
|
|
75
79
|
|
|
76
80
|
<div class="row d-flex align-content-stretch force-padding-20">
|
|
@@ -141,7 +145,10 @@ interface IOpenLinkOptions {
|
|
|
141
145
|
width: number;
|
|
142
146
|
height: number;
|
|
143
147
|
};
|
|
144
|
-
theme?: ITheme;
|
|
148
|
+
theme?: ITheme;
|
|
149
|
+
headlessMode?: boolean;
|
|
150
|
+
clearData?: boolean;
|
|
151
|
+
canUserClose?: boolean;
|
|
145
152
|
}
|
|
146
153
|
|
|
147
154
|
open(uri: string, options?: IOpenLinkOptions): void;
|
|
@@ -294,6 +294,36 @@ await sos.fileSystem.downloadFile(
|
|
|
294
294
|
);
|
|
295
295
|
```
|
|
296
296
|
|
|
297
|
+
#### Encoding
|
|
298
|
+
All downloads respect a standard of `Encoding` with optional compression of files. See [Mozilla standard Accept Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding) and [Content Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding).
|
|
299
|
+
|
|
300
|
+
Download file method is always sending optional following headers:
|
|
301
|
+
```
|
|
302
|
+
Accept-Encoding: gzip
|
|
303
|
+
Accept-Encoding: compress
|
|
304
|
+
Accept-Encoding: deflate
|
|
305
|
+
Accept-Encoding: br
|
|
306
|
+
Accept-Encoding: identity
|
|
307
|
+
Accept-Encoding: *
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
If the server understands the `Encoding` standard, it compresses files using `gzip` algorithm before the files are sent to the client. If so, the response will contain the following headers:
|
|
311
|
+
```
|
|
312
|
+
Content-Encoding: gzip
|
|
313
|
+
Content-Encoding: compress
|
|
314
|
+
Content-Encoding: deflate
|
|
315
|
+
Content-Encoding: br
|
|
316
|
+
```
|
|
317
|
+
So the data communication is compressed under the hood. The client will automatically decompress data before it's saved to a specified location path. So from JS API point of view, there is no requirement to decompress data by itself.
|
|
318
|
+
|
|
319
|
+
The standard is supported on all following platforms:
|
|
320
|
+
|
|
321
|
+
- WebOS 3+
|
|
322
|
+
- Tizen 2.4+
|
|
323
|
+
- Brightsign
|
|
324
|
+
- Raspberry Pi
|
|
325
|
+
- Windows
|
|
326
|
+
|
|
297
327
|
## deleteFile()
|
|
298
328
|
Delete a file or directory from the path.
|
|
299
329
|
|
|
@@ -520,6 +550,32 @@ await sos.fileSystem.writeFile(
|
|
|
520
550
|
);
|
|
521
551
|
```
|
|
522
552
|
|
|
553
|
+
## appendFile()
|
|
554
|
+
Append content into file directly:
|
|
555
|
+
- string support only
|
|
556
|
+
- append only
|
|
557
|
+
|
|
558
|
+
::: alert alert--warning
|
|
559
|
+
**LG webOS limitation**:
|
|
560
|
+
It's possible to handle only files up to **~10KB** on webOS devices. At the moment we are working on the solution regarding the file/s 'manipulation' on LG devices.
|
|
561
|
+
:::
|
|
562
|
+
|
|
563
|
+
### Parameters
|
|
564
|
+
|
|
565
|
+
| Param | Type | Required | Description |
|
|
566
|
+
| ------ | -------- | :------: | ---- |
|
|
567
|
+
| `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
|
|
568
|
+
| `content` | String | <div class="red">Yes</div> | Parsed content as string |
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
### Javascript Example
|
|
572
|
+
```javascript
|
|
573
|
+
await sos.fileSystem.appendFile(
|
|
574
|
+
{ storageUnit: internalStorageUnit, filePath: 'test-dir/log.txt' },
|
|
575
|
+
'My awesome log line\n',
|
|
576
|
+
);
|
|
577
|
+
```
|
|
578
|
+
|
|
523
579
|
## readFile()
|
|
524
580
|
Read a text file.
|
|
525
581
|
|
|
@@ -66,10 +66,14 @@ Method `saveFile()` is used to save files from remote a destination into the dev
|
|
|
66
66
|
`headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
|
|
67
67
|
:::
|
|
68
68
|
|
|
69
|
+
::: alert alert--warning
|
|
70
|
+
`uid` should have the same file extension (e.g.: mp4, svg, jpg) as the original file.
|
|
71
|
+
:::
|
|
72
|
+
|
|
69
73
|
### Javascript example
|
|
70
74
|
```javascript
|
|
71
75
|
// Example saving files into internal memory, unique id could be salted md5 hash, uri directs to our CDN
|
|
72
|
-
await sos.offline.cache.saveFile('9d66725ba2105f1833731ade5b7f334e', 'https://cdn.my-cms.com/files/video.mp4', { "Authorization": "Basic Zm9vOmJhcg==" })
|
|
76
|
+
await sos.offline.cache.saveFile('9d66725ba2105f1833731ade5b7f334e.mp4', 'https://cdn.my-cms.com/files/video.mp4', { "Authorization": "Basic Zm9vOmJhcg==" })
|
|
73
77
|
.then(() => { console.log('Saved'); })
|
|
74
78
|
.catch((error) => { console.error(error); });
|
|
75
79
|
```
|
|
@@ -87,15 +91,19 @@ Method `loadFile()` is used for individual file retrieval from internal memory.
|
|
|
87
91
|
| --------- | ------------ | :---------: | --------------- |
|
|
88
92
|
| `uid` | string | <div class="red">Yes</div> | Unique file identifier is used for later file retrieval, must contain a-z,A-Z,0-9 and . characters |
|
|
89
93
|
|
|
94
|
+
::: alert alert--warning
|
|
95
|
+
`uid` should have the same file extension (e.g.: mp4, svg, jpg) as the original file.
|
|
96
|
+
:::
|
|
97
|
+
|
|
90
98
|
### Javascript Example
|
|
91
99
|
```javascript
|
|
92
|
-
await sos.offline.cache.loadFile('9d66725ba2105f1833731ade5b7f334e')
|
|
100
|
+
await sos.offline.cache.loadFile('9d66725ba2105f1833731ade5b7f334e.mp4')
|
|
93
101
|
.then((file) => { console.log('Loaded', file); })
|
|
94
102
|
.catch((error) => { console.error(error); });
|
|
95
103
|
|
|
96
104
|
// Logs into console
|
|
97
105
|
{
|
|
98
|
-
filePath: '/real/device/path/to/file/9d66725ba2105f1833731ade5b7f334e',
|
|
106
|
+
filePath: '/real/device/path/to/file/9d66725ba2105f1833731ade5b7f334e.mp4',
|
|
99
107
|
}
|
|
100
108
|
```
|
|
101
109
|
|
|
@@ -124,15 +132,19 @@ To get file from internal memory & save it when not yet exists we prepared `load
|
|
|
124
132
|
| `uri` | string | <div class="red">Yes</div> | URL address where to get the file |
|
|
125
133
|
| `headers` | object | <div class="yellow">No</div> | Key, value pairs of HTTP headers to send along with the request. Used when the target file is protected by a password or if any other specific headers are needed to access it. |
|
|
126
134
|
|
|
135
|
+
::: alert alert--warning
|
|
136
|
+
`uid` should have the same file extension (e.g.: mp4, svg, jpg) as the original file.
|
|
137
|
+
:::
|
|
138
|
+
|
|
127
139
|
### Javascript Example
|
|
128
140
|
```javascript
|
|
129
|
-
await sos.offline.cache.loadOrSaveFile('9d66725ba2105f1833731ade5b7f334e', 'https://cdn.my-cms.com/files/video.mp4', { "Authorization": "Basic Zm9vOmJhcg==" })
|
|
141
|
+
await sos.offline.cache.loadOrSaveFile('9d66725ba2105f1833731ade5b7f334e.mp4', 'https://cdn.my-cms.com/files/video.mp4', { "Authorization": "Basic Zm9vOmJhcg==" })
|
|
130
142
|
.then((file) => { console.log('Loaded or Saved', file); })
|
|
131
143
|
.catch((error) => { console.error(error); });
|
|
132
144
|
|
|
133
145
|
// Logs into console
|
|
134
146
|
{
|
|
135
|
-
filePath: '/real/device/path/to/file/9d66725ba2105f1833731ade5b7f334e',
|
|
147
|
+
filePath: '/real/device/path/to/file/9d66725ba2105f1833731ade5b7f334e.mp4',
|
|
136
148
|
}
|
|
137
149
|
```
|
|
138
150
|
|
|
@@ -187,7 +199,7 @@ Method `deleteFile()` is used for deleting previously saved file from internal m
|
|
|
187
199
|
|
|
188
200
|
### Javascript example
|
|
189
201
|
```javascript
|
|
190
|
-
await sos.offline.cache.deleteFile('9d66725ba2105f1833731ade5b7f334e')
|
|
202
|
+
await sos.offline.cache.deleteFile('9d66725ba2105f1833731ade5b7f334e.mp4')
|
|
191
203
|
.then(() => { console.log('Deleted'); })
|
|
192
204
|
.catch((error) => { console.error(error); });
|
|
193
205
|
```
|
|
@@ -203,7 +215,7 @@ Method `getChecksumFile()` is used for getting the checksum of file from interna
|
|
|
203
215
|
|
|
204
216
|
### Javascript example
|
|
205
217
|
```javascript
|
|
206
|
-
await sos.offline.cache.getChecksumFile('9d66725ba2105f1833731ade5b7f334e', 'md5')
|
|
218
|
+
await sos.offline.cache.getChecksumFile('9d66725ba2105f1833731ade5b7f334e.mp4', 'md5')
|
|
207
219
|
.then((checksum) => { console.log('MD5 checksum is ' + checksum); })
|
|
208
220
|
.catch((error) => { console.error(error); });
|
|
209
221
|
```
|
|
@@ -20,6 +20,7 @@ Management API app lets you check application type and upgrade the application.
|
|
|
20
20
|
| Method | Description | Supported since |
|
|
21
21
|
| ------ | -------- | ------------- |
|
|
22
22
|
| `getType()` | Information about the platform your application is running on (eg. Tizen) | |
|
|
23
|
+
| `getVersion()` | Information about current version of your application is running on the device (eg. 2.0.5) | |
|
|
23
24
|
| `upgrade()` | Upgrade/Downgrade the Core App | |
|
|
24
25
|
:::
|
|
25
26
|
|
|
@@ -30,8 +31,24 @@ Method `getType()` returns the display type of application on the device.
|
|
|
30
31
|
await sos.management.app.getType(); // Returns ex. sssp, android
|
|
31
32
|
```
|
|
32
33
|
|
|
34
|
+
**Returns one of the following types:**
|
|
35
|
+
- `android`
|
|
36
|
+
- `brightsign`
|
|
37
|
+
- `default` (Emulator)
|
|
38
|
+
- `linux` (Raspberry Pi)
|
|
39
|
+
- `sssp`
|
|
40
|
+
- `tizen`
|
|
41
|
+
- `webos`
|
|
42
|
+
- `windows`
|
|
43
|
+
|
|
44
|
+
::: alert alert--info
|
|
45
|
+
If you need to get specific Android brand or Raspberry Pi model, use the [Firmware API](api/js/management/latest/2-js-management-firmware) `getType()`.
|
|
46
|
+
:::
|
|
47
|
+
|
|
33
48
|
## getVersion()
|
|
34
|
-
Method `getVersion()` returns the
|
|
49
|
+
Method `getVersion()` returns the version of Core App application on the device.
|
|
50
|
+
|
|
51
|
+
*This API is only available for Applets deployed via Timing from Box or REST API.*
|
|
35
52
|
|
|
36
53
|
```javascript
|
|
37
54
|
await sos.management.app.getVersion(); // Returns ex. 2.0.0
|
|
@@ -23,6 +23,7 @@ Network management API allows you to manually set network interfaces or set back
|
|
|
23
23
|
| `listInterfaces()` | Information about network interfaces | 4.9 |
|
|
24
24
|
| `setManual()` | Allows you to set network settings manually | 4.0 |
|
|
25
25
|
| `setDHCP()` | Allows you to set network settings automatically from DHCP | 4.0 |
|
|
26
|
+
| `disableInterface()` | Disables a network interface | 4.13 |
|
|
26
27
|
:::
|
|
27
28
|
|
|
28
29
|
## getActiveInfo()
|
|
@@ -96,7 +97,8 @@ const interfaces = await sos.management.network.listInterfaces();
|
|
|
96
97
|
{
|
|
97
98
|
"type": "wifi",
|
|
98
99
|
"name": "wlan0",
|
|
99
|
-
"macAddress": "b8:27:eb:25:8f:63"
|
|
100
|
+
"macAddress": "b8:27:eb:25:8f:63",
|
|
101
|
+
"disabled": true,
|
|
100
102
|
}
|
|
101
103
|
]
|
|
102
104
|
```
|
|
@@ -119,6 +121,11 @@ const interfaces = await sos.management.network.listInterfaces();
|
|
|
119
121
|
|
|
120
122
|
## setManual()
|
|
121
123
|
Manually configures a network interface.
|
|
124
|
+
If the interface is disabled, it will be enabled.
|
|
125
|
+
|
|
126
|
+
::: alert alert--warning
|
|
127
|
+
Wi-Fi interface can be configured with this method but it has to be first enabled via the [Wi-Fi API](/api/js/management/11-js-management-network).
|
|
128
|
+
:::
|
|
122
129
|
|
|
123
130
|
### Object properties
|
|
124
131
|
|
|
@@ -162,6 +169,11 @@ await sos.management.network.setManual({
|
|
|
162
169
|
|
|
163
170
|
## setDHCP()
|
|
164
171
|
Configures a network interface to use DHCP to get an IP address asigned from the network.
|
|
172
|
+
If the interface is disabled, it will be enabled.
|
|
173
|
+
|
|
174
|
+
::: alert alert--warning
|
|
175
|
+
Wi-Fi interface can be configured with this method but it has to be first enabled via the [Wi-Fi API](/api/js/management/11-js-management-network).
|
|
176
|
+
:::
|
|
165
177
|
|
|
166
178
|
### Object properties
|
|
167
179
|
|
|
@@ -183,3 +195,26 @@ await sos.management.network.setDHCP('eth0');
|
|
|
183
195
|
// old way (deprecated)
|
|
184
196
|
await sos.management.network.setDHCP('ethernet');
|
|
185
197
|
```
|
|
198
|
+
|
|
199
|
+
## disableInterface()
|
|
200
|
+
Disables a network interface
|
|
201
|
+
|
|
202
|
+
::: table-responsive
|
|
203
|
+
| Param | Type | Required | Description |
|
|
204
|
+
| --------------- | ------ | :------------------------: | ---------------------------------------------------- |
|
|
205
|
+
| `interfaceName` | String | <div class="red">Yes</div> | Name of the network interface, that will be disabled |
|
|
206
|
+
:::
|
|
207
|
+
|
|
208
|
+
### Javascript example
|
|
209
|
+
```javascript
|
|
210
|
+
await sos.management.wifi.disableInterface("eth0");
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
::: alert alert--info
|
|
214
|
+
A disabled network interface can be re-enabled simply by calling either `setDHCP()` or `setManual()`.
|
|
215
|
+
:::
|
|
216
|
+
|
|
217
|
+
::: alert alert--warning
|
|
218
|
+
Don't use this method to disable Wi-Fi.
|
|
219
|
+
Use [Wi-Fi API](/api/js/management/11-js-management-network) to enable/disable Wi-Fi.
|
|
220
|
+
:::
|
|
@@ -80,6 +80,10 @@ Returns a string identifier that, when combined with firmware version, can be us
|
|
|
80
80
|
| ------------- | -------------------------------------- |
|
|
81
81
|
| `rpi` | any Raspberry Pi 3 or Compute Module 3 |
|
|
82
82
|
| `rpi4` | any Raspberry Pi 4 or Compute Module 4 |
|
|
83
|
+
| `benq-` | any Benq display |
|
|
84
|
+
| `philips-` | any Philips display |
|
|
85
|
+
| `sharp-` | any Sharp display |
|
|
86
|
+
| `elo-` | any Elo display |
|
|
83
87
|
:::
|
|
84
88
|
|
|
85
89
|
### Javascript example
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import IPostMessage from '../IPostMessage';
|
|
2
1
|
import { IDeprecatedOpenLinkOptions } from './IOpenLinkOptions';
|
|
3
2
|
import IOpenLinkOptions from './IOpenLinkOptions';
|
|
3
|
+
import { CloseEvent } from './events';
|
|
4
|
+
import { IBrowserMessage } from './messages';
|
|
5
|
+
import Exchange from '../Exchange/Exchange';
|
|
4
6
|
export default class Browser {
|
|
5
|
-
private
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
constructor(messagePrefix: string, postMessage: IPostMessage<void>);
|
|
7
|
+
private readonly exchange;
|
|
8
|
+
private readonly events;
|
|
9
|
+
constructor(exchange: Exchange<void>);
|
|
9
10
|
open(uri: string, options?: IOpenLinkOptions): Promise<void>;
|
|
10
11
|
close(): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Find out when the browser is closed.
|
|
14
|
+
* This can happen by an API call, by a user request or after a timeout.
|
|
15
|
+
*
|
|
16
|
+
* This doesn't fire between `open` calls or on subsequent `close` calls.
|
|
17
|
+
*
|
|
18
|
+
* @returns A callback which removes the listener.
|
|
19
|
+
*/
|
|
20
|
+
onClose(listener: (event: CloseEvent) => void): () => void;
|
|
21
|
+
handleMessageData(data: IBrowserMessage): void;
|
|
11
22
|
/** @deprecated use sos.browser.open() instead */
|
|
12
23
|
openLink(uri: string, options?: IDeprecatedOpenLinkOptions): Promise<void>;
|
|
13
|
-
private getMessage;
|
|
14
24
|
}
|
|
@@ -11,38 +11,65 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const IOpenLinkOptions_1 = require("./IOpenLinkOptions");
|
|
13
13
|
const Validate_1 = require("../Validate/Validate");
|
|
14
|
+
const events_1 = require("./events");
|
|
15
|
+
const events_2 = require("events");
|
|
14
16
|
class Browser {
|
|
15
|
-
constructor(
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
17
|
+
constructor(exchange) {
|
|
18
|
+
this.exchange = exchange;
|
|
19
|
+
this.events = new events_2.EventEmitter();
|
|
18
20
|
}
|
|
19
21
|
open(uri, options = {}) {
|
|
22
|
+
var _a;
|
|
20
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
24
|
Validate_1.default({ uri }).required().uri();
|
|
22
25
|
Validate_1.default({ options }).required().object(IOpenLinkOptions_1.VIOpenLinkOptions);
|
|
23
|
-
|
|
26
|
+
const headlessMode = (_a = options.headlessMode) !== null && _a !== void 0 ? _a : true;
|
|
27
|
+
yield this.exchange.postMessage(Object.assign(Object.assign({ uri }, options), { headlessMode, type: 'open' }));
|
|
24
28
|
});
|
|
25
29
|
}
|
|
26
30
|
close() {
|
|
27
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
yield this.postMessage({
|
|
29
|
-
type:
|
|
32
|
+
yield this.exchange.postMessage({
|
|
33
|
+
type: 'close',
|
|
30
34
|
});
|
|
31
35
|
});
|
|
32
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Find out when the browser is closed.
|
|
39
|
+
* This can happen by an API call, by a user request or after a timeout.
|
|
40
|
+
*
|
|
41
|
+
* This doesn't fire between `open` calls or on subsequent `close` calls.
|
|
42
|
+
*
|
|
43
|
+
* @returns A callback which removes the listener.
|
|
44
|
+
*/
|
|
45
|
+
onClose(listener) {
|
|
46
|
+
Validate_1.default({ listener }).required().function();
|
|
47
|
+
this.events.addListener(events_1.EventType.CLOSE, listener);
|
|
48
|
+
return () => {
|
|
49
|
+
this.events.removeListener(events_1.EventType.CLOSE, listener);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
handleMessageData(data) {
|
|
53
|
+
switch (data.type) {
|
|
54
|
+
case this.exchange.messageNameToType('closed'):
|
|
55
|
+
const event = {
|
|
56
|
+
type: events_1.EventType.CLOSE,
|
|
57
|
+
reason: data.reason,
|
|
58
|
+
};
|
|
59
|
+
this.events.emit(events_1.EventType.CLOSE, event);
|
|
60
|
+
break;
|
|
61
|
+
default:
|
|
62
|
+
}
|
|
63
|
+
}
|
|
33
64
|
/** @deprecated use sos.browser.open() instead */
|
|
34
65
|
openLink(uri, options = {}) {
|
|
35
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
console.warn('sos.browser.openLink() is deprecated and will be removed in the future versions. Use sos.browser.open() instead.');
|
|
36
68
|
Validate_1.default({ uri }).required().uri();
|
|
37
69
|
Validate_1.default({ options }).required().object();
|
|
38
|
-
|
|
39
|
-
yield this.postMessage(Object.assign({ type: this.getMessage('open_link'), uri }, options));
|
|
70
|
+
yield this.exchange.postMessage(Object.assign(Object.assign({ uri }, options), { headlessMode: false, type: 'open_link' }));
|
|
40
71
|
});
|
|
41
72
|
}
|
|
42
|
-
getMessage(name) {
|
|
43
|
-
return this.messagePrefix + '.' + Browser.MESSAGE_PREFIX + '.' + name;
|
|
44
|
-
}
|
|
45
73
|
}
|
|
46
74
|
exports.default = Browser;
|
|
47
|
-
Browser.MESSAGE_PREFIX = 'browser';
|
|
48
75
|
//# sourceMappingURL=Browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/Browser.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/Browser.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,yDAAmF;AAEnF,mDAA4C;AAC5C,qCAA8D;AAC9D,mCAAsC;AAItC,MAAqB,OAAO;IAI3B,YACkB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;QAHzB,WAAM,GAAiB,IAAI,qBAAY,EAAE,CAAC;IAK3D,CAAC;IAEY,IAAI,CAAC,GAAW,EAAE,UAA4B,EAAE;;;YAC5D,kBAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACnC,kBAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,oCAAiB,CAAC,CAAC;YAE3D,MAAM,YAAY,SAAG,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,+BAC9B,GAAG,IACA,OAAO,KACV,YAAY,EACZ,IAAI,EAAE,MAAM,IACX,CAAC;;KACH;IAEY,KAAK;;YACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC/B,IAAI,EAAE,OAAO;aACb,CAAC,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;OAOG;IACI,OAAO,CAAC,QAAqC;QACnD,kBAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC;IACH,CAAC;IAEM,iBAAiB,CAAC,IAAqB;QAC7C,QAAQ,IAAI,CAAC,IAAI,EAAE;YAClB,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,KAAK,GAAe;oBACzB,IAAI,EAAE,kBAAS,CAAC,KAAK;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAqB;iBAClC,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACP,QAAQ;SACR;IACF,CAAC;IAED,iDAAiD;IACpC,QAAQ,CACpB,GAAW,EACX,UAAsC,EAAE;;YAExC,OAAO,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;YAEjI,kBAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACnC,kBAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,+BAC9B,GAAG,IACA,OAAO,KACV,YAAY,EAAE,KAAK,EACnB,IAAI,EAAE,WAAW,IAChB,CAAC;QACJ,CAAC;KAAA;CACD;AA3ED,0BA2EC"}
|
|
@@ -93,6 +93,7 @@ interface IOpenLinkOptions {
|
|
|
93
93
|
aclDomains?: string[];
|
|
94
94
|
aclMode?: 'blacklist' | 'whitelist';
|
|
95
95
|
readOnlyAddressBar?: boolean;
|
|
96
|
+
idleTimeout?: number;
|
|
96
97
|
coordinates?: {
|
|
97
98
|
x: number;
|
|
98
99
|
y: number;
|
|
@@ -100,6 +101,9 @@ interface IOpenLinkOptions {
|
|
|
100
101
|
height: number;
|
|
101
102
|
};
|
|
102
103
|
theme?: ITheme;
|
|
104
|
+
headlessMode?: boolean;
|
|
105
|
+
clearData?: boolean;
|
|
106
|
+
canUserClose?: boolean;
|
|
103
107
|
}
|
|
104
108
|
export default IOpenLinkOptions;
|
|
105
109
|
export declare const VIOpenLinkOptions: {
|
|
@@ -110,6 +114,7 @@ export declare const VIOpenLinkOptions: {
|
|
|
110
114
|
'?string': string[];
|
|
111
115
|
};
|
|
112
116
|
readOnlyAddressBar: string;
|
|
117
|
+
idleTimeout: string;
|
|
113
118
|
coordinates: {
|
|
114
119
|
'?object': {
|
|
115
120
|
x: string;
|
|
@@ -171,4 +176,7 @@ export declare const VIOpenLinkOptions: {
|
|
|
171
176
|
};
|
|
172
177
|
};
|
|
173
178
|
};
|
|
179
|
+
headlessMode: string;
|
|
180
|
+
clearData: string;
|
|
181
|
+
canUserClose: string;
|
|
174
182
|
};
|
|
@@ -43,6 +43,7 @@ exports.VIOpenLinkOptions = {
|
|
|
43
43
|
aclDomains: { '?array': 'string' },
|
|
44
44
|
aclMode: { '?string': ['blacklist', 'whitelist'] },
|
|
45
45
|
readOnlyAddressBar: '?boolean',
|
|
46
|
+
idleTimeout: '?number',
|
|
46
47
|
coordinates: { '?object': {
|
|
47
48
|
x: 'number',
|
|
48
49
|
y: 'number',
|
|
@@ -51,5 +52,8 @@ exports.VIOpenLinkOptions = {
|
|
|
51
52
|
}
|
|
52
53
|
},
|
|
53
54
|
theme: { '?object': exports.VITheme },
|
|
55
|
+
headlessMode: '?boolean',
|
|
56
|
+
clearData: '?boolean',
|
|
57
|
+
canUserClose: '?boolean',
|
|
54
58
|
};
|
|
55
59
|
//# sourceMappingURL=IOpenLinkOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IOpenLinkOptions.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/IOpenLinkOptions.ts"],"names":[],"mappings":";;AAmCa,QAAA,OAAO,GAAG;IACtB,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAC;IACpC,KAAK,EAAE,EAAC,SAAS,EAAE;YACjB,UAAU,EAAE,SAAS;SACrB;KACD;IACD,MAAM,EAAE,EAAC,SAAS,EAAE;YAClB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAClB;KACD;IACD,OAAO,EAAE,EAAC,SAAS,EAAE;YACnB,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;yBACf;qBACD;iBACD;aACD;YACD,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;yBACf;qBACD;oBACD,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC;oBAC7D,IAAI,EAAE,SAAS;iBACf;aACD;YACD,QAAQ,EAAE,EAAC,SAAS,EAAE;oBACpB,KAAK,EAAE,SAAS;iBAChB;aACD;SACD;KACD;CACD,CAAC;
|
|
1
|
+
{"version":3,"file":"IOpenLinkOptions.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/IOpenLinkOptions.ts"],"names":[],"mappings":";;AAmCa,QAAA,OAAO,GAAG;IACtB,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAC;IACpC,KAAK,EAAE,EAAC,SAAS,EAAE;YACjB,UAAU,EAAE,SAAS;SACrB;KACD;IACD,MAAM,EAAE,EAAC,SAAS,EAAE;YAClB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAClB;KACD;IACD,OAAO,EAAE,EAAC,SAAS,EAAE;YACnB,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;yBACf;qBACD;iBACD;aACD;YACD,WAAW,EAAE,EAAC,SAAS,EAAE;oBACvB,MAAM,EAAE,EAAC,SAAS,EAAE;4BAClB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;yBACf;qBACD;oBACD,IAAI,EAAE,EAAC,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC;oBAC7D,IAAI,EAAE,SAAS;iBACf;aACD;YACD,QAAQ,EAAE,EAAC,SAAS,EAAE;oBACpB,KAAK,EAAE,SAAS;iBAChB;aACD;SACD;KACD;CACD,CAAC;AA8BW,QAAA,iBAAiB,GAAG;IAChC,UAAU,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC;IAChC,OAAO,EAAE,EAAC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAC;IAChD,kBAAkB,EAAE,UAAU;IAC9B,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,EAAC,SAAS,EAAE;YACvB,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,QAAQ;SAChB;KACD;IACD,KAAK,EAAE,EAAC,SAAS,EAAE,eAAO,EAAC;IAC3B,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,UAAU;IACrB,YAAY,EAAE,UAAU;CACxB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum EventType {
|
|
2
|
+
CLOSE = "close"
|
|
3
|
+
}
|
|
4
|
+
export declare const VIEventType: string[];
|
|
5
|
+
export declare type Event<TType extends EventType = EventType> = {
|
|
6
|
+
type: TType;
|
|
7
|
+
};
|
|
8
|
+
export interface CloseEvent extends Event<EventType.CLOSE> {
|
|
9
|
+
reason: CloseReason;
|
|
10
|
+
}
|
|
11
|
+
export declare enum CloseReason {
|
|
12
|
+
API = "API",
|
|
13
|
+
USER = "USER",
|
|
14
|
+
TIMEOUT = "TIMEOUT"
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var EventType;
|
|
4
|
+
(function (EventType) {
|
|
5
|
+
EventType["CLOSE"] = "close";
|
|
6
|
+
})(EventType = exports.EventType || (exports.EventType = {}));
|
|
7
|
+
exports.VIEventType = ['close'];
|
|
8
|
+
var CloseReason;
|
|
9
|
+
(function (CloseReason) {
|
|
10
|
+
CloseReason["API"] = "API";
|
|
11
|
+
CloseReason["USER"] = "USER";
|
|
12
|
+
CloseReason["TIMEOUT"] = "TIMEOUT";
|
|
13
|
+
})(CloseReason = exports.CloseReason || (exports.CloseReason = {}));
|
|
14
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/events.ts"],"names":[],"mappings":";;AACA,IAAY,SAEX;AAFD,WAAY,SAAS;IACpB,4BAAe,CAAA;AAChB,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAEY,QAAA,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;AAUrC,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACpB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/FrontApplet/Browser/messages.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import IPostMessage from "../../FrontApplet/IPostMessage";
|
|
2
|
+
export default interface Exchange<TResponse> {
|
|
3
|
+
postMessage: IPostMessage<TResponse>;
|
|
4
|
+
messageNameToType(name: string): string;
|
|
5
|
+
createNamespaced<TNamespacedResponse>(namespace: string): Exchange<TNamespacedResponse>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createExchange<TResponse>(messagePrefix: string, postMessage: IPostMessage<any>): Exchange<TResponse>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
function createExchange(messagePrefix, postMessage) {
|
|
13
|
+
const messageNameToType = (name) => {
|
|
14
|
+
return [messagePrefix, name].join('.');
|
|
15
|
+
};
|
|
16
|
+
const typedPostMessage = (message) => __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const type = messageNameToType(message.type);
|
|
18
|
+
message = Object.assign(Object.assign({}, message), { type });
|
|
19
|
+
return postMessage(message);
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
messageNameToType,
|
|
23
|
+
postMessage: typedPostMessage,
|
|
24
|
+
createNamespaced: (namespace) => createExchange(messageNameToType(namespace), postMessage)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.createExchange = createExchange;
|
|
28
|
+
//# sourceMappingURL=Exchange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Exchange.js","sourceRoot":"","sources":["../../../src/FrontApplet/Exchange/Exchange.ts"],"names":[],"mappings":";;;;;;;;;;;AASA,SAAgB,cAAc,CAC7B,aAAqB,EACrB,WAA8B;IAE9B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC1C,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAO,OAAiB,EAAsB,EAAE;QACxE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,mCACH,OAAO,KACV,IAAI,GACJ,CAAC;QACF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAA,CAAC;IACF,OAAO;QACN,iBAAiB;QACjB,WAAW,EAAE,gBAAgB;QAC7B,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;KAClG,CAAC;AACH,CAAC;AApBD,wCAoBC"}
|
|
@@ -15,6 +15,7 @@ export default class FileSystem {
|
|
|
15
15
|
exists(filePath: IFilePath): Promise<boolean>;
|
|
16
16
|
getFile(filePath: IFilePath): Promise<IFile | null>;
|
|
17
17
|
writeFile(filePath: IFilePath, contents: string): Promise<void>;
|
|
18
|
+
appendFile(filePath: IFilePath, contents: string): Promise<void>;
|
|
18
19
|
readFile(filePath: IFilePath): Promise<string>;
|
|
19
20
|
copyFile(sourceFilePath: IFilePath, destinationFilePath: IFilePath, options?: ICopyFileOptions): Promise<void>;
|
|
20
21
|
moveFile(sourceFilePath: IFilePath, destinationFilePath: IFilePath, options?: IMoveFileOptions): Promise<void>;
|
|
@@ -78,6 +78,16 @@ class FileSystem {
|
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
|
+
appendFile(filePath, contents) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
Validate_1.default({ filePath }).required().object(types_1.VIFilePath);
|
|
84
|
+
yield this.postMessage({
|
|
85
|
+
type: this.getMessage('append_file'),
|
|
86
|
+
filePath,
|
|
87
|
+
contents,
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
81
91
|
readFile(filePath) {
|
|
82
92
|
return __awaiter(this, void 0, void 0, function* () {
|
|
83
93
|
Validate_1.default({ filePath }).required().object(types_1.VIFilePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../../src/FrontApplet/FileSystem/FileSystem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../../src/FrontApplet/FileSystem/FileSystem.ts"],"names":[],"mappings":"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"}
|