@signageos/front-applet 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/README.md +3 -0
  3. package/dist/bundle.js +9 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/docs/README.md +5 -0
  6. package/docs/js-api/js-api-introduction.md +73 -0
  7. package/docs/js-api/js-applet-basics.md +294 -0
  8. package/docs/js-api/js-applet-resources.md +172 -0
  9. package/docs/js-api/js-browser.md +170 -0
  10. package/docs/js-api/js-command.md +208 -0
  11. package/docs/js-api/js-display.md +48 -0
  12. package/docs/js-api/js-file-system.md +568 -0
  13. package/docs/js-api/js-hardware-serial.md +142 -0
  14. package/docs/js-api/js-hardware.md +70 -0
  15. package/docs/js-api/js-iframes.md +88 -0
  16. package/docs/js-api/js-input.md +84 -0
  17. package/docs/js-api/js-loading-fonts.md +138 -0
  18. package/docs/js-api/js-monitoring-commands.md +108 -0
  19. package/docs/js-api/js-monitors.md +55 -0
  20. package/docs/js-api/js-offline-cache-media-files.md +314 -0
  21. package/docs/js-api/js-offline-cache-simple-data.md +134 -0
  22. package/docs/js-api/js-sensors.md +70 -0
  23. package/docs/js-api/js-sync-playback.md +197 -0
  24. package/docs/js-api/js-timing.md +54 -0
  25. package/docs/js-api/js-video-inputs-internal-ports.md +149 -0
  26. package/docs/js-api/js-video-stream.md +230 -0
  27. package/docs/js-api/js-video.md +282 -0
  28. package/docs/management-api/1-js-management.md +133 -0
  29. package/docs/management-api/10-js-management-application.md +123 -0
  30. package/docs/management-api/11-js-management-network.md +185 -0
  31. package/docs/management-api/12-js-management-security.md +86 -0
  32. package/docs/management-api/13-js-management-wifi.md +357 -0
  33. package/docs/management-api/2-js-management-firmware.md +93 -0
  34. package/docs/management-api/3-js-management-remote-control.md +73 -0
  35. package/docs/management-api/4-js-management-power.md +94 -0
  36. package/docs/management-api/5-js-management-screen.md +263 -0
  37. package/docs/management-api/6-js-management-time.md +166 -0
  38. package/docs/management-api/7-js-management-volume.md +46 -0
  39. package/docs/management-api/8-js-management-package.md +62 -0
  40. package/docs/management-api/9-js-management-debug.md +53 -0
  41. package/es6/FrontApplet/Browser/Browser.d.ts +24 -0
  42. package/es6/FrontApplet/Browser/Browser.js +73 -0
  43. package/es6/FrontApplet/Browser/Browser.js.map +1 -0
  44. package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +174 -0
  45. package/es6/FrontApplet/Browser/IOpenLinkOptions.js +55 -0
  46. package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -0
  47. package/es6/FrontApplet/Browser/events.d.ts +15 -0
  48. package/es6/FrontApplet/Browser/events.js +14 -0
  49. package/es6/FrontApplet/Browser/events.js.map +1 -0
  50. package/es6/FrontApplet/Browser/messages.d.ts +5 -0
  51. package/es6/FrontApplet/Browser/messages.js +3 -0
  52. package/es6/FrontApplet/Browser/messages.js.map +1 -0
  53. package/es6/FrontApplet/Command/Command.d.ts +16 -0
  54. package/es6/FrontApplet/Command/Command.js +68 -0
  55. package/es6/FrontApplet/Command/Command.js.map +1 -0
  56. package/es6/FrontApplet/Command/ICommand.d.ts +4 -0
  57. package/es6/FrontApplet/Command/ICommand.js +3 -0
  58. package/es6/FrontApplet/Command/ICommand.js.map +1 -0
  59. package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.d.ts +6 -0
  60. package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js +3 -0
  61. package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js.map +1 -0
  62. package/es6/FrontApplet/Command/ICommandEvent.d.ts +6 -0
  63. package/es6/FrontApplet/Command/ICommandEvent.js +3 -0
  64. package/es6/FrontApplet/Command/ICommandEvent.js.map +1 -0
  65. package/es6/FrontApplet/Command/ICommandEventListener.d.ts +6 -0
  66. package/es6/FrontApplet/Command/ICommandEventListener.js +3 -0
  67. package/es6/FrontApplet/Command/ICommandEventListener.js.map +1 -0
  68. package/es6/FrontApplet/Debug/Debug.d.ts +22 -0
  69. package/es6/FrontApplet/Debug/Debug.js +35 -0
  70. package/es6/FrontApplet/Debug/Debug.js.map +1 -0
  71. package/es6/FrontApplet/Display/Display.d.ts +11 -0
  72. package/es6/FrontApplet/Display/Display.js +35 -0
  73. package/es6/FrontApplet/Display/Display.js.map +1 -0
  74. package/es6/FrontApplet/Error/AppletCommandError.d.ts +9 -0
  75. package/es6/FrontApplet/Error/AppletCommandError.js +11 -0
  76. package/es6/FrontApplet/Error/AppletCommandError.js.map +1 -0
  77. package/es6/FrontApplet/Error/AppletError.d.ts +7 -0
  78. package/es6/FrontApplet/Error/AppletError.js +10 -0
  79. package/es6/FrontApplet/Error/AppletError.js.map +1 -0
  80. package/es6/FrontApplet/Error/AppletHardwareError.d.ts +9 -0
  81. package/es6/FrontApplet/Error/AppletHardwareError.js +11 -0
  82. package/es6/FrontApplet/Error/AppletHardwareError.js.map +1 -0
  83. package/es6/FrontApplet/Error/AppletOfflineCacheError.d.ts +8 -0
  84. package/es6/FrontApplet/Error/AppletOfflineCacheError.js +10 -0
  85. package/es6/FrontApplet/Error/AppletOfflineCacheError.js.map +1 -0
  86. package/es6/FrontApplet/Error/AppletResourcesError.d.ts +9 -0
  87. package/es6/FrontApplet/Error/AppletResourcesError.js +11 -0
  88. package/es6/FrontApplet/Error/AppletResourcesError.js.map +1 -0
  89. package/es6/FrontApplet/Error/AppletSecurityError.d.ts +9 -0
  90. package/es6/FrontApplet/Error/AppletSecurityError.js +11 -0
  91. package/es6/FrontApplet/Error/AppletSecurityError.js.map +1 -0
  92. package/es6/FrontApplet/Error/AppletStreamError.d.ts +8 -0
  93. package/es6/FrontApplet/Error/AppletStreamError.js +10 -0
  94. package/es6/FrontApplet/Error/AppletStreamError.js.map +1 -0
  95. package/es6/FrontApplet/Error/AppletVideoError.d.ts +9 -0
  96. package/es6/FrontApplet/Error/AppletVideoError.js +11 -0
  97. package/es6/FrontApplet/Error/AppletVideoError.js.map +1 -0
  98. package/es6/FrontApplet/Error/ErrorCodes.d.ts +18 -0
  99. package/es6/FrontApplet/Error/ErrorCodes.js +23 -0
  100. package/es6/FrontApplet/Error/ErrorCodes.js.map +1 -0
  101. package/es6/FrontApplet/Error/ErrorCodesMessages.d.ts +3 -0
  102. package/es6/FrontApplet/Error/ErrorCodesMessages.js +22 -0
  103. package/es6/FrontApplet/Error/ErrorCodesMessages.js.map +1 -0
  104. package/es6/FrontApplet/Error/ErrorSuggestions.d.ts +6 -0
  105. package/es6/FrontApplet/Error/ErrorSuggestions.js +10 -0
  106. package/es6/FrontApplet/Error/ErrorSuggestions.js.map +1 -0
  107. package/es6/FrontApplet/Error/FileNotFoundError.d.ts +8 -0
  108. package/es6/FrontApplet/Error/FileNotFoundError.js +10 -0
  109. package/es6/FrontApplet/Error/FileNotFoundError.js.map +1 -0
  110. package/es6/FrontApplet/Error/SosError.d.ts +20 -0
  111. package/es6/FrontApplet/Error/SosError.js +22 -0
  112. package/es6/FrontApplet/Error/SosError.js.map +1 -0
  113. package/es6/FrontApplet/Error/errorHelper.d.ts +12 -0
  114. package/es6/FrontApplet/Error/errorHelper.js +50 -0
  115. package/es6/FrontApplet/Error/errorHelper.js.map +1 -0
  116. package/es6/FrontApplet/Exchange/Exchange.d.ts +7 -0
  117. package/es6/FrontApplet/Exchange/Exchange.js +28 -0
  118. package/es6/FrontApplet/Exchange/Exchange.js.map +1 -0
  119. package/es6/FrontApplet/FileSystem/FileSystem.d.ts +30 -0
  120. package/es6/FrontApplet/FileSystem/FileSystem.js +210 -0
  121. package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -0
  122. package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.d.ts +4 -0
  123. package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js +3 -0
  124. package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js.map +1 -0
  125. package/es6/FrontApplet/FileSystem/types.d.ts +66 -0
  126. package/es6/FrontApplet/FileSystem/types.js +20 -0
  127. package/es6/FrontApplet/FileSystem/types.js.map +1 -0
  128. package/es6/FrontApplet/Font/fontFaceGenerator.d.ts +6 -0
  129. package/es6/FrontApplet/Font/fontFaceGenerator.js +46 -0
  130. package/es6/FrontApplet/Font/fontFaceGenerator.js.map +1 -0
  131. package/es6/FrontApplet/FrontApplet.d.ts +56 -0
  132. package/es6/FrontApplet/FrontApplet.js +183 -0
  133. package/es6/FrontApplet/FrontApplet.js.map +1 -0
  134. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +30 -0
  135. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +92 -0
  136. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -0
  137. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.d.ts +5 -0
  138. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js +3 -0
  139. package/es6/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.js.map +1 -0
  140. package/es6/FrontApplet/Hardware/Hardware.d.ts +20 -0
  141. package/es6/FrontApplet/Hardware/Hardware.js +51 -0
  142. package/es6/FrontApplet/Hardware/Hardware.js.map +1 -0
  143. package/es6/FrontApplet/Hardware/ISerialPortDataMessage.d.ts +6 -0
  144. package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js +3 -0
  145. package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js.map +1 -0
  146. package/es6/FrontApplet/Hardware/ISerialPortOptions.d.ts +15 -0
  147. package/es6/FrontApplet/Hardware/ISerialPortOptions.js +11 -0
  148. package/es6/FrontApplet/Hardware/ISerialPortOptions.js.map +1 -0
  149. package/es6/FrontApplet/Hardware/Led/ISetColorMessage.d.ts +5 -0
  150. package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js +3 -0
  151. package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js.map +1 -0
  152. package/es6/FrontApplet/Hardware/Led/Led.d.ts +11 -0
  153. package/es6/FrontApplet/Hardware/Led/Led.js +38 -0
  154. package/es6/FrontApplet/Hardware/Led/Led.js.map +1 -0
  155. package/es6/FrontApplet/Hardware/SerialPort.d.ts +14 -0
  156. package/es6/FrontApplet/Hardware/SerialPort.js +45 -0
  157. package/es6/FrontApplet/Hardware/SerialPort.js.map +1 -0
  158. package/es6/FrontApplet/Hash/generator.d.ts +1 -0
  159. package/es6/FrontApplet/Hash/generator.js +10 -0
  160. package/es6/FrontApplet/Hash/generator.js.map +1 -0
  161. package/es6/FrontApplet/IMessage.d.ts +6 -0
  162. package/es6/FrontApplet/IMessage.js +3 -0
  163. package/es6/FrontApplet/IMessage.js.map +1 -0
  164. package/es6/FrontApplet/IPostMessage.d.ts +5 -0
  165. package/es6/FrontApplet/IPostMessage.js +3 -0
  166. package/es6/FrontApplet/IPostMessage.js.map +1 -0
  167. package/es6/FrontApplet/Iframe/Iframe.d.ts +24 -0
  168. package/es6/FrontApplet/Iframe/Iframe.js +51 -0
  169. package/es6/FrontApplet/Iframe/Iframe.js.map +1 -0
  170. package/es6/FrontApplet/Input/IInputKeyMessage.d.ts +6 -0
  171. package/es6/FrontApplet/Input/IInputKeyMessage.js +3 -0
  172. package/es6/FrontApplet/Input/IInputKeyMessage.js.map +1 -0
  173. package/es6/FrontApplet/Input/IKeyUpEvent.d.ts +6 -0
  174. package/es6/FrontApplet/Input/IKeyUpEvent.js +3 -0
  175. package/es6/FrontApplet/Input/IKeyUpEvent.js.map +1 -0
  176. package/es6/FrontApplet/Input/IKeyUpEventListener.d.ts +5 -0
  177. package/es6/FrontApplet/Input/IKeyUpEventListener.js +3 -0
  178. package/es6/FrontApplet/Input/IKeyUpEventListener.js.map +1 -0
  179. package/es6/FrontApplet/Input/Input.d.ts +20 -0
  180. package/es6/FrontApplet/Input/Input.js +35 -0
  181. package/es6/FrontApplet/Input/Input.js.map +1 -0
  182. package/es6/FrontApplet/Management/App.d.ts +37 -0
  183. package/es6/FrontApplet/Management/App.js +50 -0
  184. package/es6/FrontApplet/Management/App.js.map +1 -0
  185. package/es6/FrontApplet/Management/Audio.d.ts +9 -0
  186. package/es6/FrontApplet/Management/Audio.js +40 -0
  187. package/es6/FrontApplet/Management/Audio.js.map +1 -0
  188. package/es6/FrontApplet/Management/Debug.d.ts +11 -0
  189. package/es6/FrontApplet/Management/Debug.js +50 -0
  190. package/es6/FrontApplet/Management/Debug.js.map +1 -0
  191. package/es6/FrontApplet/Management/Firmware.d.ts +37 -0
  192. package/es6/FrontApplet/Management/Firmware.js +50 -0
  193. package/es6/FrontApplet/Management/Firmware.js.map +1 -0
  194. package/es6/FrontApplet/Management/FirmwareType.d.ts +4 -0
  195. package/es6/FrontApplet/Management/FirmwareType.js +8 -0
  196. package/es6/FrontApplet/Management/FirmwareType.js.map +1 -0
  197. package/es6/FrontApplet/Management/IBatteryStatus.d.ts +7 -0
  198. package/es6/FrontApplet/Management/IBatteryStatus.js +3 -0
  199. package/es6/FrontApplet/Management/IBatteryStatus.js.map +1 -0
  200. package/es6/FrontApplet/Management/IBrightness.d.ts +6 -0
  201. package/es6/FrontApplet/Management/IBrightness.js +3 -0
  202. package/es6/FrontApplet/Management/IBrightness.js.map +1 -0
  203. package/es6/FrontApplet/Management/INetworkInfo.d.ts +53 -0
  204. package/es6/FrontApplet/Management/INetworkInfo.js +17 -0
  205. package/es6/FrontApplet/Management/INetworkInfo.js.map +1 -0
  206. package/es6/FrontApplet/Management/IOrientation.d.ts +4 -0
  207. package/es6/FrontApplet/Management/IOrientation.js +3 -0
  208. package/es6/FrontApplet/Management/IOrientation.js.map +1 -0
  209. package/es6/FrontApplet/Management/IWifiEvent.d.ts +11 -0
  210. package/es6/FrontApplet/Management/IWifiEvent.js +12 -0
  211. package/es6/FrontApplet/Management/IWifiEvent.js.map +1 -0
  212. package/es6/FrontApplet/Management/Management.d.ts +44 -0
  213. package/es6/FrontApplet/Management/Management.js +113 -0
  214. package/es6/FrontApplet/Management/Management.js.map +1 -0
  215. package/es6/FrontApplet/Management/Network.d.ts +26 -0
  216. package/es6/FrontApplet/Management/Network.js +83 -0
  217. package/es6/FrontApplet/Management/Network.js.map +1 -0
  218. package/es6/FrontApplet/Management/Package.d.ts +8 -0
  219. package/es6/FrontApplet/Management/Package.js +38 -0
  220. package/es6/FrontApplet/Management/Package.js.map +1 -0
  221. package/es6/FrontApplet/Management/Power.d.ts +13 -0
  222. package/es6/FrontApplet/Management/Power.js +78 -0
  223. package/es6/FrontApplet/Management/Power.js.map +1 -0
  224. package/es6/FrontApplet/Management/RemoteControl.d.ts +14 -0
  225. package/es6/FrontApplet/Management/RemoteControl.js +61 -0
  226. package/es6/FrontApplet/Management/RemoteControl.js.map +1 -0
  227. package/es6/FrontApplet/Management/Screen.d.ts +18 -0
  228. package/es6/FrontApplet/Management/Screen.js +114 -0
  229. package/es6/FrontApplet/Management/Screen.js.map +1 -0
  230. package/es6/FrontApplet/Management/Security.d.ts +21 -0
  231. package/es6/FrontApplet/Management/Security.js +56 -0
  232. package/es6/FrontApplet/Management/Security.js.map +1 -0
  233. package/es6/FrontApplet/Management/Time.d.ts +16 -0
  234. package/es6/FrontApplet/Management/Time.js +59 -0
  235. package/es6/FrontApplet/Management/Time.js.map +1 -0
  236. package/es6/FrontApplet/Management/Wifi.d.ts +29 -0
  237. package/es6/FrontApplet/Management/Wifi.js +151 -0
  238. package/es6/FrontApplet/Management/Wifi.js.map +1 -0
  239. package/es6/FrontApplet/Management/helpers/DeviceHelper.d.ts +21 -0
  240. package/es6/FrontApplet/Management/helpers/DeviceHelper.js +16 -0
  241. package/es6/FrontApplet/Management/helpers/DeviceHelper.js.map +1 -0
  242. package/es6/FrontApplet/Management/helpers/SecurityHelper.d.ts +2 -0
  243. package/es6/FrontApplet/Management/helpers/SecurityHelper.js +21 -0
  244. package/es6/FrontApplet/Management/helpers/SecurityHelper.js.map +1 -0
  245. package/es6/FrontApplet/Management/helpers/TimerHelper.d.ts +25 -0
  246. package/es6/FrontApplet/Management/helpers/TimerHelper.js +23 -0
  247. package/es6/FrontApplet/Management/helpers/TimerHelper.js.map +1 -0
  248. package/es6/FrontApplet/Management/helpers/UpgradeHelper.d.ts +5 -0
  249. package/es6/FrontApplet/Management/helpers/UpgradeHelper.js +35 -0
  250. package/es6/FrontApplet/Management/helpers/UpgradeHelper.js.map +1 -0
  251. package/es6/FrontApplet/Management/helpers/VideoHelper.d.ts +4 -0
  252. package/es6/FrontApplet/Management/helpers/VideoHelper.js +8 -0
  253. package/es6/FrontApplet/Management/helpers/VideoHelper.js.map +1 -0
  254. package/es6/FrontApplet/Monitors/Monitors.d.ts +16 -0
  255. package/es6/FrontApplet/Monitors/Monitors.js +31 -0
  256. package/es6/FrontApplet/Monitors/Monitors.js.map +1 -0
  257. package/es6/FrontApplet/Offline/Cache/Cache.d.ts +38 -0
  258. package/es6/FrontApplet/Offline/Cache/Cache.js +199 -0
  259. package/es6/FrontApplet/Offline/Cache/Cache.js.map +1 -0
  260. package/es6/FrontApplet/Offline/Cache/IChecksumMessage.d.ts +5 -0
  261. package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js +3 -0
  262. package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js.map +1 -0
  263. package/es6/FrontApplet/Offline/Cache/IFile.d.ts +4 -0
  264. package/es6/FrontApplet/Offline/Cache/IFile.js +3 -0
  265. package/es6/FrontApplet/Offline/Cache/IFile.js.map +1 -0
  266. package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.d.ts +5 -0
  267. package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js +3 -0
  268. package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js.map +1 -0
  269. package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.d.ts +5 -0
  270. package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js +3 -0
  271. package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js.map +1 -0
  272. package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.d.ts +5 -0
  273. package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js +3 -0
  274. package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js.map +1 -0
  275. package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.d.ts +6 -0
  276. package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js +3 -0
  277. package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js.map +1 -0
  278. package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.d.ts +5 -0
  279. package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js +3 -0
  280. package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js.map +1 -0
  281. package/es6/FrontApplet/Offline/Cache/ISavedContents.d.ts +4 -0
  282. package/es6/FrontApplet/Offline/Cache/ISavedContents.js +3 -0
  283. package/es6/FrontApplet/Offline/Cache/ISavedContents.js.map +1 -0
  284. package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.d.ts +6 -0
  285. package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js +3 -0
  286. package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js.map +1 -0
  287. package/es6/FrontApplet/Offline/Cache/ISavedFiles.d.ts +5 -0
  288. package/es6/FrontApplet/Offline/Cache/ISavedFiles.js +3 -0
  289. package/es6/FrontApplet/Offline/Cache/ISavedFiles.js.map +1 -0
  290. package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.d.ts +5 -0
  291. package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js +3 -0
  292. package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js.map +1 -0
  293. package/es6/FrontApplet/Offline/Flags/AppendFlagController.d.ts +12 -0
  294. package/es6/FrontApplet/Offline/Flags/AppendFlagController.js +47 -0
  295. package/es6/FrontApplet/Offline/Flags/AppendFlagController.js.map +1 -0
  296. package/es6/FrontApplet/Offline/Flags/IFlag.d.ts +16 -0
  297. package/es6/FrontApplet/Offline/Flags/IFlag.js +8 -0
  298. package/es6/FrontApplet/Offline/Flags/IFlag.js.map +1 -0
  299. package/es6/FrontApplet/Offline/Flags/IFlagController.d.ts +12 -0
  300. package/es6/FrontApplet/Offline/Flags/IFlagController.js +3 -0
  301. package/es6/FrontApplet/Offline/Flags/IFlagController.js.map +1 -0
  302. package/es6/FrontApplet/Offline/Flags/IFlags.d.ts +7 -0
  303. package/es6/FrontApplet/Offline/Flags/IFlags.js +3 -0
  304. package/es6/FrontApplet/Offline/Flags/IFlags.js.map +1 -0
  305. package/es6/FrontApplet/Offline/IAddFont.d.ts +50 -0
  306. package/es6/FrontApplet/Offline/IAddFont.js +22 -0
  307. package/es6/FrontApplet/Offline/IAddFont.js.map +1 -0
  308. package/es6/FrontApplet/Offline/IElement.d.ts +7 -0
  309. package/es6/FrontApplet/Offline/IElement.js +6 -0
  310. package/es6/FrontApplet/Offline/IElement.js.map +1 -0
  311. package/es6/FrontApplet/Offline/IFileType.d.ts +3 -0
  312. package/es6/FrontApplet/Offline/IFileType.js +4 -0
  313. package/es6/FrontApplet/Offline/IFileType.js.map +1 -0
  314. package/es6/FrontApplet/Offline/ISaveFile.d.ts +49 -0
  315. package/es6/FrontApplet/Offline/ISaveFile.js +26 -0
  316. package/es6/FrontApplet/Offline/ISaveFile.js.map +1 -0
  317. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.d.ts +7 -0
  318. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js +26 -0
  319. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js.map +1 -0
  320. package/es6/FrontApplet/Offline/LoadFile/ILoadFile.d.ts +8 -0
  321. package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js +3 -0
  322. package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js.map +1 -0
  323. package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.d.ts +8 -0
  324. package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js +3 -0
  325. package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js.map +1 -0
  326. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.d.ts +7 -0
  327. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js +25 -0
  328. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js.map +1 -0
  329. package/es6/FrontApplet/Offline/Offline.d.ts +27 -0
  330. package/es6/FrontApplet/Offline/Offline.js +105 -0
  331. package/es6/FrontApplet/Offline/Offline.js.map +1 -0
  332. package/es6/FrontApplet/Offline/Types.d.ts +7 -0
  333. package/es6/FrontApplet/Offline/Types.js +9 -0
  334. package/es6/FrontApplet/Offline/Types.js.map +1 -0
  335. package/es6/FrontApplet/Sensors/Proximity.d.ts +16 -0
  336. package/es6/FrontApplet/Sensors/Proximity.js +36 -0
  337. package/es6/FrontApplet/Sensors/Proximity.js.map +1 -0
  338. package/es6/FrontApplet/Sensors/Sensors.d.ts +11 -0
  339. package/es6/FrontApplet/Sensors/Sensors.js +18 -0
  340. package/es6/FrontApplet/Sensors/Sensors.js.map +1 -0
  341. package/es6/FrontApplet/Stream/IStreamEvent.d.ts +6 -0
  342. package/es6/FrontApplet/Stream/IStreamEvent.js +3 -0
  343. package/es6/FrontApplet/Stream/IStreamEvent.js.map +1 -0
  344. package/es6/FrontApplet/Stream/IStreamEventListener.d.ts +5 -0
  345. package/es6/FrontApplet/Stream/IStreamEventListener.js +3 -0
  346. package/es6/FrontApplet/Stream/IStreamEventListener.js.map +1 -0
  347. package/es6/FrontApplet/Stream/IStreamMessage.d.ts +6 -0
  348. package/es6/FrontApplet/Stream/IStreamMessage.js +3 -0
  349. package/es6/FrontApplet/Stream/IStreamMessage.js.map +1 -0
  350. package/es6/FrontApplet/Stream/IStreamProperties.d.ts +10 -0
  351. package/es6/FrontApplet/Stream/IStreamProperties.js +3 -0
  352. package/es6/FrontApplet/Stream/IStreamProperties.js.map +1 -0
  353. package/es6/FrontApplet/Stream/Stream.d.ts +22 -0
  354. package/es6/FrontApplet/Stream/Stream.js +131 -0
  355. package/es6/FrontApplet/Stream/Stream.js.map +1 -0
  356. package/es6/FrontApplet/Stream/StreamProtocol.d.ts +9 -0
  357. package/es6/FrontApplet/Stream/StreamProtocol.js +13 -0
  358. package/es6/FrontApplet/Stream/StreamProtocol.js.map +1 -0
  359. package/es6/FrontApplet/Stream/streamEvents.d.ts +8 -0
  360. package/es6/FrontApplet/Stream/streamEvents.js +3 -0
  361. package/es6/FrontApplet/Stream/streamEvents.js.map +1 -0
  362. package/es6/FrontApplet/Sync/ISyncEvent.d.ts +4 -0
  363. package/es6/FrontApplet/Sync/ISyncEvent.js +3 -0
  364. package/es6/FrontApplet/Sync/ISyncEvent.js.map +1 -0
  365. package/es6/FrontApplet/Sync/ISyncSetValueMessage.d.ts +7 -0
  366. package/es6/FrontApplet/Sync/ISyncSetValueMessage.js +3 -0
  367. package/es6/FrontApplet/Sync/ISyncSetValueMessage.js.map +1 -0
  368. package/es6/FrontApplet/Sync/Sync.d.ts +20 -0
  369. package/es6/FrontApplet/Sync/Sync.js +102 -0
  370. package/es6/FrontApplet/Sync/Sync.js.map +1 -0
  371. package/es6/FrontApplet/Sync/syncEvents.d.ts +6 -0
  372. package/es6/FrontApplet/Sync/syncEvents.js +3 -0
  373. package/es6/FrontApplet/Sync/syncEvents.js.map +1 -0
  374. package/es6/FrontApplet/Timing/Timing.d.ts +10 -0
  375. package/es6/FrontApplet/Timing/Timing.js +16 -0
  376. package/es6/FrontApplet/Timing/Timing.js.map +1 -0
  377. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.d.ts +2 -0
  378. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js +4 -0
  379. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js.map +1 -0
  380. package/es6/FrontApplet/Timing/Triggers/Triggers.d.ts +11 -0
  381. package/es6/FrontApplet/Timing/Triggers/Triggers.js +33 -0
  382. package/es6/FrontApplet/Timing/Triggers/Triggers.js.map +1 -0
  383. package/es6/FrontApplet/Touch/ITouchEventMessage.d.ts +6 -0
  384. package/es6/FrontApplet/Touch/ITouchEventMessage.js +3 -0
  385. package/es6/FrontApplet/Touch/ITouchEventMessage.js.map +1 -0
  386. package/es6/FrontApplet/Touch/Touch.d.ts +13 -0
  387. package/es6/FrontApplet/Touch/Touch.js +54 -0
  388. package/es6/FrontApplet/Touch/Touch.js.map +1 -0
  389. package/es6/FrontApplet/Validate/Validate.d.ts +43 -0
  390. package/es6/FrontApplet/Validate/Validate.js +266 -0
  391. package/es6/FrontApplet/Validate/Validate.js.map +1 -0
  392. package/es6/FrontApplet/Validate/ValidateObjectInterface.d.ts +8 -0
  393. package/es6/FrontApplet/Validate/ValidateObjectInterface.js +140 -0
  394. package/es6/FrontApplet/Validate/ValidateObjectInterface.js.map +1 -0
  395. package/es6/FrontApplet/Video/IVideoEvent.d.ts +8 -0
  396. package/es6/FrontApplet/Video/IVideoEvent.js +6 -0
  397. package/es6/FrontApplet/Video/IVideoEvent.js.map +1 -0
  398. package/es6/FrontApplet/Video/IVideoEventListener.d.ts +5 -0
  399. package/es6/FrontApplet/Video/IVideoEventListener.js +3 -0
  400. package/es6/FrontApplet/Video/IVideoEventListener.js.map +1 -0
  401. package/es6/FrontApplet/Video/IVideoMessage.d.ts +4 -0
  402. package/es6/FrontApplet/Video/IVideoMessage.js +3 -0
  403. package/es6/FrontApplet/Video/IVideoMessage.js.map +1 -0
  404. package/es6/FrontApplet/Video/IVideoProperties.d.ts +8 -0
  405. package/es6/FrontApplet/Video/IVideoProperties.js +3 -0
  406. package/es6/FrontApplet/Video/IVideoProperties.js.map +1 -0
  407. package/es6/FrontApplet/Video/Video.d.ts +39 -0
  408. package/es6/FrontApplet/Video/Video.js +242 -0
  409. package/es6/FrontApplet/Video/Video.js.map +1 -0
  410. package/es6/FrontApplet/createFrontApplet.d.ts +2 -0
  411. package/es6/FrontApplet/createFrontApplet.js +9 -0
  412. package/es6/FrontApplet/createFrontApplet.js.map +1 -0
  413. package/es6/Monitoring/Console/consoleCommands.d.ts +6 -0
  414. package/es6/Monitoring/Console/consoleCommands.js +4 -0
  415. package/es6/Monitoring/Console/consoleCommands.js.map +1 -0
  416. package/es6/Monitoring/Html/htmlCommands.d.ts +9 -0
  417. package/es6/Monitoring/Html/htmlCommands.js +5 -0
  418. package/es6/Monitoring/Html/htmlCommands.js.map +1 -0
  419. package/es6/Monitoring/Montoring.d.ts +12 -0
  420. package/es6/Monitoring/Montoring.js +159 -0
  421. package/es6/Monitoring/Montoring.js.map +1 -0
  422. package/es6/Monitoring/Offline/Cache/offlineCacheCommands.d.ts +20 -0
  423. package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js +7 -0
  424. package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js.map +1 -0
  425. package/es6/Monitoring/Timing/timingCommands.d.ts +4 -0
  426. package/es6/Monitoring/Timing/timingCommands.js +4 -0
  427. package/es6/Monitoring/Timing/timingCommands.js.map +1 -0
  428. package/es6/Monitoring/Video/videoCommands.d.ts +10 -0
  429. package/es6/Monitoring/Video/videoCommands.js +4 -0
  430. package/es6/Monitoring/Video/videoCommands.js.map +1 -0
  431. package/es6/Monitoring/monitoringCommands.d.ts +8 -0
  432. package/es6/Monitoring/monitoringCommands.js +5 -0
  433. package/es6/Monitoring/monitoringCommands.js.map +1 -0
  434. package/es6/Sensors/IButton.d.ts +9 -0
  435. package/es6/Sensors/IButton.js +8 -0
  436. package/es6/Sensors/IButton.js.map +1 -0
  437. package/es6/Sensors/IRfidAntenna.d.ts +10 -0
  438. package/es6/Sensors/IRfidAntenna.js +8 -0
  439. package/es6/Sensors/IRfidAntenna.js.map +1 -0
  440. package/es6/bundle.d.ts +12 -0
  441. package/es6/bundle.js +13 -0
  442. package/es6/bundle.js.map +1 -0
  443. package/package.json +70 -0
@@ -0,0 +1,568 @@
1
+ ---
2
+ title: File System
3
+ author: Michael Zabka
4
+ date: 26.11.2018
5
+ type: js-api
6
+ tags:
7
+ - applet
8
+ - applet_api
9
+ - api
10
+ - js_api
11
+ description: "[Content JS API] File System API allows **low level manipulation with files and directories** in the device internal storage. File System API works with both in **internal and external storages** (USB flash drives, etc.)."
12
+ ---
13
+
14
+ # File System
15
+ File System API allows **low level manipulation with files and directories** in the device internal storage.
16
+ File System API works with both in **internal and external storages** (USB flash drives, etc.).
17
+
18
+ ::: alert alert--warning
19
+ File System directory structure is **PERSISTENT** and is **NOT** automatically deleted through `Applet Reload` power action! Applet Reload only deletes `/data` directory which is reserved for simplified [Offline Cache API](/api/js/content/js-offline-cache-media-files). Use `deleteFile()` to clear the device storage file system.
20
+ :::
21
+
22
+ <div class="row d-flex align-content-stretch force-padding-10">
23
+ <div class="col-12 d-flex">
24
+ <a class="wide-box wide-box--white d-flex align-content-stretch widebox-kb-color" target="_blank" href="https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/file-system">
25
+ <div>
26
+ <div class="wide-box__image d-flex align-items-center">
27
+ <i class="fab fa-github svg-black"></i>
28
+ </div>
29
+ <div>
30
+ <h3 class="wide-box__title wide-box__title__small pl-85">Complete example of the File System API on our Github</h3>
31
+ <div class="wide-box__description">Working example on our Github</div>
32
+ </div>
33
+ </div>
34
+ </a>
35
+ </div>
36
+ </div>
37
+
38
+ <div class="row d-flex align-content-stretch force-padding-20">
39
+ <div class="col-12 d-flex">
40
+ <a class="wide-box wide-box--white d-flex align-content-stretch widebox-kb-color" href="/api/js/content/js-offline-cache-media-files">
41
+ <div>
42
+ <div class="wide-box__image d-flex align-items-center">
43
+ <i class="fas fa-medal svg-black"></i>
44
+ </div>
45
+ <div>
46
+ <h3 class="wide-box__title wide-box__title__small pl-85">Offline Cache for media files</h3>
47
+ <div class="wide-box__description">Working example on our Github</div>
48
+ </div>
49
+ </div>
50
+ </a>
51
+ </div>
52
+ </div>
53
+
54
+ ## All methods
55
+
56
+ ::: table-responsive
57
+ | Methods | Description | Supported since |
58
+ | -------- | ----------- | :---------------: |
59
+ | `listStorageUnits()` | Return list of storage units /internal, external/ from the device | 2.1.0 |
60
+ | `listFiles()` | Return list of files of existing directory | 2.1.0 |
61
+ | `getFile()` | Returns local uri of existing file | 2.1.0 |
62
+ | `exists()` | Returns true of existing directory or file | 2.1.0 |
63
+ | `downloadFile()` | Download file to path within existing directory or Overrides existing file in path when successfully downloaded | 2.1.0 |
64
+ | `deleteFile()` | Delete file from path within existing directory | 2.1.0 |
65
+ | `moveFile()` | Move file to destination path or Move directory to destination path | 2.1.0 |
66
+ | `getFileChecksum()` | Returns checksum of existing file in path | 2.1.0 |
67
+ | `extractFile()` | Extract ZIPed all files (recursively) to destination path and override existing files or merge existing directories | 2.1.0 |
68
+ | `createDirectory()` | Creates directory in path | 2.1.0 |
69
+ | `isDirectory()` | Returns true if existing path is directory | 2.1.0 |
70
+ | `copyFile()` | Copy file or directory to a new location | 3.3.0 |
71
+ | `writeFile()` | Write string to a file | 3.2.0 |
72
+ | `readFile()` | Read a text file | 3.3.0 |
73
+ :::
74
+
75
+ ## listStorageUnits()
76
+ Return list of storage units /internal, external/ from the device. Capacity values are in bytes.
77
+
78
+ ::: alert alert--info
79
+ This is a mandatory method that is required for all the other File System APIs. The other APIs require a `storageUnit` object that is retrieved from this method to manipulate with files on a correct storage location (internal/external).
80
+ :::
81
+
82
+ ::: alert alert--warning
83
+ `storageUnit` is a dynamic object! It has to be always generated and retrieved by this JS API, as the values in `type` differ platform by platform. **Never** generate the object manually. `{"type":"internal"}` is for demonstration only.
84
+ :::
85
+
86
+
87
+ ### Javascript Example
88
+ ```javascript
89
+ // Storage units are equivalent to disk volumes (C:, D: etc on Windows; /mnt/disc1, /mnt/disc2 on Unix)
90
+ const storageUnits = await sos.fileSystem.listStorageUnits();
91
+
92
+ // Every platform has at least one not removable storage unit (internal storage unit)
93
+ const internalStorageUnit = storageUnits.find((storageUnit) => !storageUnit.removable);
94
+
95
+ console.log(storageUnits);
96
+ ```
97
+ ### Returns
98
+
99
+ ```json
100
+ [
101
+ {
102
+ "type":"internal",
103
+ "capacity":4124856000, // in bytes
104
+ "freeSpace":3764700000, // in bytes
105
+ "usableSpace":3764700000, // in bytes
106
+ "removable":false
107
+ },
108
+ {
109
+ "type":"external",
110
+ "capacity":2224856000, // in bytes
111
+ "freeSpace":764700000, // in bytes
112
+ "usableSpace":764700000, // in bytes
113
+ "removable":true
114
+ }
115
+ ]
116
+ ```
117
+
118
+
119
+ ## listFiles()
120
+ List files and folders located in the internal/external storage.
121
+ * SUCCESS: Return list of files of existing directory
122
+ * FAIL: When listing not existing directory
123
+ * FAIL: When listing existing file (not a directory)
124
+
125
+ ### Javascript Example
126
+ ```javascript
127
+ // Storage units are equivalent to disk volumes (C:, D: etc on Windows; /mnt/disc1, /mnt/disc2 on Unix)
128
+ const storageUnits = await sos.fileSystem.listStorageUnits();
129
+
130
+ // Every platform has at least one not removable storage unit (internal storage unit)
131
+ const internalStorageUnit = storageUnits.find((storageUnit) => !storageUnit.removable);
132
+
133
+ // Empty string '' refers to root directory. Here is root directory of internal storage
134
+ const rootDirectoryFilePaths = await sos.fileSystem.listFiles({ filePath: '', storageUnit: internalStorageUnit });
135
+
136
+ console.log(rootDirectoryFilePaths);
137
+
138
+ // get files from directory 'test-dir'
139
+ const testDirDirectoryFilePaths = await sos.fileSystem.listFiles({ filePath: 'test-dir', storageUnit: internalStorageUnit });
140
+ console.log(testDirDirectoryFilePaths);
141
+ ```
142
+
143
+ ### Returns
144
+
145
+ ```json
146
+ // there are 2 directories in the internal storage
147
+ [
148
+ {
149
+ "storageUnit":{
150
+ "type":"internal",
151
+ "capacity":4124856000,
152
+ "freeSpace":3336336000,
153
+ "usableSpace":3336336000,
154
+ "removable":false
155
+ },
156
+ "filePath":"data"
157
+ },
158
+ {
159
+ "storageUnit":{
160
+ "type":"internal",
161
+ "capacity":4124856000,
162
+ "freeSpace":3336336000,
163
+ "usableSpace":3336336000,
164
+ "removable":false
165
+ },
166
+ "filePath":"test-dir"
167
+ }
168
+ ]
169
+
170
+ // there are 3 files in the 'test-dir' directory
171
+ [
172
+ {
173
+ "storageUnit":{
174
+ "type":"internal",
175
+ "capacity":4124856000,
176
+ "freeSpace":3764696000,
177
+ "usableSpace":3764696000,
178
+ "removable":false
179
+ },
180
+ "filePath":"test-dir/downloaded-file.png"
181
+ },
182
+ {
183
+ "storageUnit":{
184
+ "type":"internal",
185
+ "capacity":4124856000,
186
+ "freeSpace":3764696000,
187
+ "usableSpace":3764696000,
188
+ "removable":false
189
+ },
190
+ "filePath":"test-dir/log.1.txt"
191
+ },
192
+ {
193
+ "storageUnit":{
194
+ "type":"internal",
195
+ "capacity":4124856000,
196
+ "freeSpace":3764696000,
197
+ "usableSpace":3764696000,
198
+ "removable":false
199
+ },
200
+ "filePath":"test-dir/log.1.txt.backup"
201
+ }
202
+ ]
203
+ ```
204
+
205
+ ## getFile()
206
+ Return a file from an internal storage
207
+ * OK: Returns local uri of existing file
208
+ * OK: Returns NULL of not existing file
209
+
210
+ ### Parameters
211
+ | Param | Type | Required | Description |
212
+ | -------------- | ------ | :-------: | ----- |
213
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
214
+
215
+ ### Javascript Example
216
+ ```javascript
217
+ // always pass storageUnit to tell the JS API where to look
218
+ // get properties of file (at least localUri) or null when not exist
219
+ const fileProperties = await sos.fileSystem.getFile({ storageUnit: internalStorageUnit, filePath: 'test-dir/downloaded-file.png' });
220
+
221
+ // Complete file details
222
+ console.log(fileProperties);
223
+
224
+ // To access file from HTML applet, use localUri
225
+ console.log(fileProperties.localUri);
226
+ ```
227
+
228
+ ### Returns
229
+
230
+ ::: alert alert--warning
231
+ Return statement is a dynamic object! It has to be always generated and retrieved by this JS API, as the values in `localUri` differ platform by platform. **Never** generate the object manually. `{"localUri":"file://internal/test-dir/downloaded-file.png"}` is for demonstration only.
232
+ :::
233
+
234
+ ```json
235
+ {
236
+ "localUri": "file://internal/test-dir/downloaded-file.png",
237
+ // Other optional properties when supported
238
+ "createdAt": "2019-05-03T12:00:00.000Z",
239
+ "lastModifiedAt": "2019-05-03T12:00:00.000Z",
240
+ "sizeBytes": 2048,
241
+ "mimeType": "image/png"
242
+ }
243
+ ```
244
+
245
+ ## exists()
246
+ * OK: Returns true of existing directory or file
247
+ * OK: Returns false of not existing directory nor file
248
+
249
+ ### Parameters
250
+
251
+ | Param | Type | Required | Description | |
252
+ | -------------- | ----- | :------: | ------ |
253
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
254
+
255
+ ### Javascript Example
256
+ ```javascript
257
+ // always pass storageUnit to tell the JS API where to look
258
+ // check if there is such a file
259
+ const fileExists = await sos.fileSystem.exists({ storageUnit: internalStorageUnit, filePath: 'test-dir/downloaded-file.png' });
260
+
261
+ console.log(fileExists);
262
+ ```
263
+
264
+ ### Returns
265
+ Boolean value
266
+
267
+ ## downloadFile()
268
+ Download file to path within existing directory or **overrides existing file** in a path when successfully downloaded
269
+
270
+ * OK: Download file to path within existing directory
271
+ * OK: Overrides existing file in path when sucessfully downloaded
272
+ * FAIL: When containing (parent) directory of destination path doesn't exist
273
+ * FAIL: When destination path is directory
274
+
275
+ ### Parameters
276
+
277
+ | Param | Type | Required | Description | |
278
+ | -------------- | ----- | :----: | ---- |
279
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
280
+ | `uri` | String | <div class="red">Yes</div> | Url address to retrieve the file from network |
281
+ | `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
282
+
283
+ ::: alert alert--warning
284
+ `headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
285
+ :::
286
+
287
+ ### Javascript Example
288
+ ```javascript
289
+ // You can download file to specific existing directory
290
+ await sos.fileSystem.downloadFile(
291
+ { storageUnit: internalStorageUnit, filePath: 'test-dir/downloaded-file.png' },
292
+ 'https://2.signageos.io/assets/android-benq-amy_bbd9afbc0655ceb6da790a80fbd90290.png',
293
+ { 'Authentication-Token': 'MySecretToken' }, // Optionally, you can use headers for download file
294
+ );
295
+ ```
296
+
297
+ ## deleteFile()
298
+ Delete a file or directory from the path.
299
+
300
+ * OK: (not recursive) Deletes an existing file or existing empty directory
301
+ * OK: (recursive) Deletes an existing file or existing (non-empty) directory recursively
302
+ * FAIL: (not recursive) When is deleting directory and is not empty
303
+ * FAIL: (both) When deleting path doesn't exist
304
+
305
+ ### Parameters
306
+
307
+ | Param | Type | Required | Description |
308
+ | ---- | ----- | :------: | ----- |
309
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
310
+ | `recursive`| boolean | <div class="yellow">No</div> | `TRUE` for recursive delete of all content from a directory |
311
+
312
+ ### Javascript Example
313
+ ```javascript
314
+ // Delete directory and all files inside
315
+ //// First check, if there is such a directory
316
+ if (await sos.fileSystem.exists({ storageUnit: internalStorageUnit, filePath: 'test-dir' })) {
317
+ // Delete the directory and all it's content recursively
318
+ await sos.fileSystem.deleteFile({ storageUnit: internalStorageUnit, filePath: 'test-dir' }, true);
319
+ }
320
+
321
+ // Delete file
322
+ //// First check, if there is such a file
323
+ if (await sos.fileSystem.exists({ storageUnit: internalStorageUnit, filePath: 'test-dir/downloaded-file.png' })) {
324
+ // Delete the file
325
+ await sos.fileSystem.deleteFile({ storageUnit: internalStorageUnit, filePath: 'test-dir/downloaded-file.png' }, false);
326
+ }
327
+ ```
328
+
329
+ ## moveFile()
330
+ Move file OR directory to destination path or Move directory to destination path.
331
+ * OK: Move file to destination path
332
+ * OK: Move directory to destination path
333
+ * FAIL: When destination path exists (is file or directory)
334
+ * FAIL: When containing (parent) directory of destination path doesn't exist
335
+ * FAIL: When source file (or directory) doesn't exist
336
+
337
+ ### Parameters
338
+
339
+ | Param| Type | Required | Description |
340
+ | ------ | ------ | :-------: | ----- |
341
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
342
+
343
+ ### Javascript Example
344
+ ```javascript
345
+ // Move file to a different directory
346
+ //// First check, if there is such a file and directory
347
+ if (await sos.fileSystem.exists({ storageUnit: internalStorageUnit, filePath: 'test-dir/log.txt' })
348
+ && await sos.fileSystem.exists({ storageUnit: internalStorageUnit, filePath: 'new-dir' }) ) {
349
+
350
+ await sos.fileSystem.moveFile(
351
+ { storageUnit: internalStorageUnit, filePath: 'test-dir/log.txt' },
352
+ { storageUnit: internalStorageUnit, filePath: 'new-dir/log.txt' },
353
+ );
354
+ }
355
+
356
+ ```
357
+
358
+ ## getFileChecksum()
359
+ Returns checksum of existing file in a path.
360
+ * OK: Returns checksum of existing file in path
361
+ * FAIL: When file path doesn't exist
362
+ * FAIL: When file path is directory
363
+
364
+ ::: alert alert--info
365
+ Does not work on Samsung Tizen display - [read more here](knowledge-base/md5-tizen-not-available)
366
+ :::
367
+
368
+ ### Parameters
369
+
370
+ | Param | Type | Required | Description |
371
+ | ---- | ----- | :---------: | ------ |
372
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
373
+ | `hashFunction` | string | <div class="red">Yes</div> | Available function is `md5` |
374
+
375
+ ### Javascript Example
376
+ ```javascript
377
+ const md5Checksum = await sos.fileSystem.getFileChecksum({ storageUnit: internalStorageUnit, filePath: 'test-dir/log.1.txt.backup' }, 'md5');
378
+ console.log(md5Checksum);
379
+ ```
380
+
381
+ ### Returns
382
+ ```json
383
+ "b3c6930b9306b8e35a978d342cf5a01e" // string
384
+ ```
385
+
386
+ ## extractFile()
387
+ Extract ZIPed all files (recursively) to destination path and override existing files or merge existing directories.
388
+
389
+ * OK: Extract ZIPed all files (recursively) to destination path
390
+ * OK: Extract ZIPed all files (recursively) to destination path and override existing files or merge existing directories
391
+ * OK: Auto create destination directory path if doesn't exist
392
+ * FAIL: When extracting not existing ZIP archive file
393
+ * FAIL: When extracting try override existing directory with file or existing file with directory
394
+
395
+ ::: alert alert--info
396
+ The directory/folder you are extracting your ZIP file into has to be created BEFORE you start extracting the ZIP.
397
+ :::
398
+
399
+ ### Parameters
400
+
401
+ | Param | Type | Required | Description |
402
+ | ------ | ----- | -------- | ----- |
403
+ | `archiveFilePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
404
+ | `destinationFilePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
405
+ | `archiveMethod` | string | <div class="red">Yes</div> | Available method is `zip` |
406
+
407
+ ### Javascript Example
408
+ ```javascript
409
+ // Create directory 'test-dir' in a root directory
410
+ await sos.fileSystem.createDirectory({ storageUnit: internalStorageUnit, filePath: 'test-dir' });
411
+
412
+ // Extract ZIP file into the test-extracted directory
413
+ await sos.fileSystem.extractFile(
414
+ { storageUnit: internalStorageUnit, filePath: 'test-dir/test.zip' },
415
+ { storageUnit: internalStorageUnit, filePath: 'test-dir/test-extracted' },
416
+ 'zip',
417
+ );
418
+ ```
419
+
420
+ ## createDirectory()
421
+ Creates a directory in a path.
422
+
423
+ * OK: Creates directory in path
424
+ * FAIL: When creating directory over existing file or directory
425
+ * FAIL: When creating directory in not existing containing (parent) directory
426
+
427
+ ::: alert alert--warning
428
+ - Never start OR end the `filePath` with a slash - `/`. It will cause error *50512*
429
+ - It is a good practice to check if directory exists - `isDirectory()` prior creating it
430
+ :::
431
+
432
+ ### Parameters
433
+
434
+ | Param | Type | Required | Description |
435
+ | ----- | --------- | :-----: | --------- |
436
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
437
+
438
+ ### Javascript Example
439
+ ```javascript
440
+ // Create directory 'test-dir' in a root directory
441
+ await sos.fileSystem.createDirectory({ storageUnit: internalStorageUnit, filePath: 'test-dir' });
442
+ ```
443
+
444
+ ```javascript
445
+ // Create multiple directories
446
+ const myDirs = [
447
+ 'dir1',
448
+ 'dir2',
449
+ 'dir1/dir3',
450
+ ];
451
+ await Promise.all(myDirs.map(async (dirname) => {
452
+ const fp = { storageUnit: internalStorageUnit, filePath: `uploads/${dirname}` };
453
+ if (!await sos.fileSystem.exists(fp)) {
454
+ await sos.fileSystem.createDirectory(fp);
455
+ }
456
+ });
457
+ // All dirs created
458
+ ```
459
+
460
+ ## isDirectory()
461
+ Returns true if existing path is directory.
462
+
463
+ * OK: Returns true if existing path is directory
464
+ * OK: Returns false if existing path is file
465
+ * FAIL: When path doesn't exist
466
+
467
+ ### Parameters
468
+
469
+ | Param | Type | Required | Description |
470
+ | ------ | --------------- | :-----------: | ------ |
471
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
472
+
473
+ ### Javascript Example
474
+ ```javascript
475
+ await sos.fileSystem.isDirectory({ storageUnit: internalStorageUnit, filePath: 'test-dir' });
476
+ ```
477
+
478
+ ## copyFile()
479
+ Copy file OR directory to a new location.
480
+
481
+ ### Parameters
482
+
483
+ | Param | Type | Required | Description |
484
+ | ------ | -------- | :----------: | ------ |
485
+ | `sourceFilePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
486
+ | `destinationFilePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
487
+
488
+ ### Javascript Example
489
+ ```javascript
490
+ await sos.fileSystem.copyFile(
491
+ { storageUnit: internalStorageUnit, filePath: 'test-dir/log.1.txt' },
492
+ { storageUnit: internalStorageUnit, filePath: 'destination-dir/log.1.txt.backup' },
493
+ );
494
+ ```
495
+
496
+ ## writeFile()
497
+ Write into file directly:
498
+ - string support only
499
+ - override only
500
+ - no append
501
+
502
+ ::: alert alert--warning
503
+ **LG webOS limitation**:
504
+ 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.
505
+ :::
506
+
507
+ ### Parameters
508
+
509
+ | Param | Type | Required | Description |
510
+ | ------ | -------- | :------: | ---- |
511
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
512
+ | `content` | String | <div class="red">Yes</div> | Parsed content as string |
513
+
514
+
515
+ ### Javascript Example
516
+ ```javascript
517
+ await sos.fileSystem.writeFile(
518
+ { storageUnit: internalStorageUnit, filePath: 'test-dir/log.txt' },
519
+ 'My awesome log line\n',
520
+ );
521
+ ```
522
+
523
+ ## readFile()
524
+ Read a text file.
525
+
526
+ ::: alert alert--warning
527
+ **LG webOS limitation**:
528
+ 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.
529
+ :::
530
+
531
+ ### Parameters
532
+
533
+ | Param | Type | Required | Description |
534
+ | ----- | ---- | :-----: | ----- |
535
+ | `filePath` | FilePath | <div class="red">Yes</div> | Object contains storageUnit object returned by `listStorageUnits()` and `filePath` if the file or directory |
536
+
537
+ ### Javascript Example
538
+ ```javascript
539
+ // Written file can be read (coming soon)
540
+ const logFileContent = await sos.fileSystem.readFile({ storageUnit: internalStorageUnit, filePath: 'test-dir/log.txt' });
541
+ ```
542
+
543
+ ### Returns
544
+ ```json
545
+ "content of your text file" // string
546
+ ```
547
+
548
+ ## Errors
549
+ Although we are doing our best, following errors may occur when working with the file system.
550
+
551
+ | Code | Type | Message |
552
+ | ---- | ---- | ------- |
553
+ | 50501 | InternalFileSystemError | Unexpected error occurred when listing storage units. |
554
+ | 50502 | InternalFileSystemError | Unexpected error occurred when listing files. |
555
+ | 50503 | InternalFileSystemError | Unexpected error occurred when checking for file existence. |
556
+ | 50504 | InternalFileSystemError | Unexpected error occurred when getting a file. |
557
+ | 50505 | InternalFileSystemError | Unexpected error occurred when writing a file. |
558
+ | 50506 | InternalFileSystemError | Unexpected error occurred when copying a file. |
559
+ | 50507 | InternalFileSystemError | Unexpected error occurred when moving a file. |
560
+ | 50508 | InternalFileSystemError | Unexpected error occurred when deleting a file. |
561
+ | 50509 | InternalFileSystemError | Unexpected error occurred when downloading a file. |
562
+ | 50510 | InternalFileSystemError | Unexpected error occurred when extracting a file. |
563
+ | 50511 | InternalFileSystemError | Unexpected error occurred when getting file checksum. |
564
+ | 50512 | InternalFileSystemError | Unexpected error occurred when creating directory. |
565
+ | 50513 | InternalFileSystemError | Unexpected error occurred when checking if a path is directory. |
566
+ | 50514 | InternalFileSystemError | Unexpected error occurred when reading a file. |
567
+ | 50515 | InternalFileSystemError | Unexpected error occurred when creating a link. |
568
+ | 50516 | InternalFileSystemError | Link is not supported on this platform. |