@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.
- package/CHANGELOG.md +207 -0
- package/README.md +3 -0
- package/dist/bundle.js +9 -0
- package/dist/bundle.js.map +1 -0
- package/docs/README.md +5 -0
- package/docs/js-api/js-api-introduction.md +73 -0
- package/docs/js-api/js-applet-basics.md +294 -0
- package/docs/js-api/js-applet-resources.md +172 -0
- package/docs/js-api/js-browser.md +170 -0
- package/docs/js-api/js-command.md +208 -0
- package/docs/js-api/js-display.md +48 -0
- package/docs/js-api/js-file-system.md +568 -0
- package/docs/js-api/js-hardware-serial.md +142 -0
- package/docs/js-api/js-hardware.md +70 -0
- package/docs/js-api/js-iframes.md +88 -0
- package/docs/js-api/js-input.md +84 -0
- package/docs/js-api/js-loading-fonts.md +138 -0
- package/docs/js-api/js-monitoring-commands.md +108 -0
- package/docs/js-api/js-monitors.md +55 -0
- package/docs/js-api/js-offline-cache-media-files.md +314 -0
- package/docs/js-api/js-offline-cache-simple-data.md +134 -0
- package/docs/js-api/js-sensors.md +70 -0
- package/docs/js-api/js-sync-playback.md +197 -0
- package/docs/js-api/js-timing.md +54 -0
- package/docs/js-api/js-video-inputs-internal-ports.md +149 -0
- package/docs/js-api/js-video-stream.md +230 -0
- package/docs/js-api/js-video.md +282 -0
- package/docs/management-api/1-js-management.md +133 -0
- package/docs/management-api/10-js-management-application.md +123 -0
- package/docs/management-api/11-js-management-network.md +185 -0
- package/docs/management-api/12-js-management-security.md +86 -0
- package/docs/management-api/13-js-management-wifi.md +357 -0
- package/docs/management-api/2-js-management-firmware.md +93 -0
- package/docs/management-api/3-js-management-remote-control.md +73 -0
- package/docs/management-api/4-js-management-power.md +94 -0
- package/docs/management-api/5-js-management-screen.md +263 -0
- package/docs/management-api/6-js-management-time.md +166 -0
- package/docs/management-api/7-js-management-volume.md +46 -0
- package/docs/management-api/8-js-management-package.md +62 -0
- package/docs/management-api/9-js-management-debug.md +53 -0
- package/es6/FrontApplet/Browser/Browser.d.ts +24 -0
- package/es6/FrontApplet/Browser/Browser.js +73 -0
- package/es6/FrontApplet/Browser/Browser.js.map +1 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.d.ts +174 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js +55 -0
- package/es6/FrontApplet/Browser/IOpenLinkOptions.js.map +1 -0
- 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/Command/Command.d.ts +16 -0
- package/es6/FrontApplet/Command/Command.js +68 -0
- package/es6/FrontApplet/Command/Command.js.map +1 -0
- package/es6/FrontApplet/Command/ICommand.d.ts +4 -0
- package/es6/FrontApplet/Command/ICommand.js +3 -0
- package/es6/FrontApplet/Command/ICommand.js.map +1 -0
- package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.d.ts +6 -0
- package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js +3 -0
- package/es6/FrontApplet/Command/ICommandDispatchToAppletMessage.js.map +1 -0
- package/es6/FrontApplet/Command/ICommandEvent.d.ts +6 -0
- package/es6/FrontApplet/Command/ICommandEvent.js +3 -0
- package/es6/FrontApplet/Command/ICommandEvent.js.map +1 -0
- package/es6/FrontApplet/Command/ICommandEventListener.d.ts +6 -0
- package/es6/FrontApplet/Command/ICommandEventListener.js +3 -0
- package/es6/FrontApplet/Command/ICommandEventListener.js.map +1 -0
- package/es6/FrontApplet/Debug/Debug.d.ts +22 -0
- package/es6/FrontApplet/Debug/Debug.js +35 -0
- package/es6/FrontApplet/Debug/Debug.js.map +1 -0
- package/es6/FrontApplet/Display/Display.d.ts +11 -0
- package/es6/FrontApplet/Display/Display.js +35 -0
- package/es6/FrontApplet/Display/Display.js.map +1 -0
- package/es6/FrontApplet/Error/AppletCommandError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletCommandError.js +11 -0
- package/es6/FrontApplet/Error/AppletCommandError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletError.d.ts +7 -0
- package/es6/FrontApplet/Error/AppletError.js +10 -0
- package/es6/FrontApplet/Error/AppletError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletHardwareError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletHardwareError.js +11 -0
- package/es6/FrontApplet/Error/AppletHardwareError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletOfflineCacheError.d.ts +8 -0
- package/es6/FrontApplet/Error/AppletOfflineCacheError.js +10 -0
- package/es6/FrontApplet/Error/AppletOfflineCacheError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletResourcesError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletResourcesError.js +11 -0
- package/es6/FrontApplet/Error/AppletResourcesError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletSecurityError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletSecurityError.js +11 -0
- package/es6/FrontApplet/Error/AppletSecurityError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletStreamError.d.ts +8 -0
- package/es6/FrontApplet/Error/AppletStreamError.js +10 -0
- package/es6/FrontApplet/Error/AppletStreamError.js.map +1 -0
- package/es6/FrontApplet/Error/AppletVideoError.d.ts +9 -0
- package/es6/FrontApplet/Error/AppletVideoError.js +11 -0
- package/es6/FrontApplet/Error/AppletVideoError.js.map +1 -0
- package/es6/FrontApplet/Error/ErrorCodes.d.ts +18 -0
- package/es6/FrontApplet/Error/ErrorCodes.js +23 -0
- package/es6/FrontApplet/Error/ErrorCodes.js.map +1 -0
- package/es6/FrontApplet/Error/ErrorCodesMessages.d.ts +3 -0
- package/es6/FrontApplet/Error/ErrorCodesMessages.js +22 -0
- package/es6/FrontApplet/Error/ErrorCodesMessages.js.map +1 -0
- package/es6/FrontApplet/Error/ErrorSuggestions.d.ts +6 -0
- package/es6/FrontApplet/Error/ErrorSuggestions.js +10 -0
- package/es6/FrontApplet/Error/ErrorSuggestions.js.map +1 -0
- package/es6/FrontApplet/Error/FileNotFoundError.d.ts +8 -0
- package/es6/FrontApplet/Error/FileNotFoundError.js +10 -0
- package/es6/FrontApplet/Error/FileNotFoundError.js.map +1 -0
- package/es6/FrontApplet/Error/SosError.d.ts +20 -0
- package/es6/FrontApplet/Error/SosError.js +22 -0
- package/es6/FrontApplet/Error/SosError.js.map +1 -0
- package/es6/FrontApplet/Error/errorHelper.d.ts +12 -0
- package/es6/FrontApplet/Error/errorHelper.js +50 -0
- package/es6/FrontApplet/Error/errorHelper.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 +30 -0
- package/es6/FrontApplet/FileSystem/FileSystem.js +210 -0
- package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -0
- package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.d.ts +4 -0
- package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js +3 -0
- package/es6/FrontApplet/FileSystem/StorageUnitsChangedMessage.js.map +1 -0
- package/es6/FrontApplet/FileSystem/types.d.ts +66 -0
- package/es6/FrontApplet/FileSystem/types.js +20 -0
- package/es6/FrontApplet/FileSystem/types.js.map +1 -0
- package/es6/FrontApplet/Font/fontFaceGenerator.d.ts +6 -0
- package/es6/FrontApplet/Font/fontFaceGenerator.js +46 -0
- package/es6/FrontApplet/Font/fontFaceGenerator.js.map +1 -0
- package/es6/FrontApplet/FrontApplet.d.ts +56 -0
- package/es6/FrontApplet/FrontApplet.js +183 -0
- package/es6/FrontApplet/FrontApplet.js.map +1 -0
- 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 +20 -0
- package/es6/FrontApplet/Hardware/Hardware.js +51 -0
- package/es6/FrontApplet/Hardware/Hardware.js.map +1 -0
- package/es6/FrontApplet/Hardware/ISerialPortDataMessage.d.ts +6 -0
- package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js +3 -0
- package/es6/FrontApplet/Hardware/ISerialPortDataMessage.js.map +1 -0
- package/es6/FrontApplet/Hardware/ISerialPortOptions.d.ts +15 -0
- package/es6/FrontApplet/Hardware/ISerialPortOptions.js +11 -0
- package/es6/FrontApplet/Hardware/ISerialPortOptions.js.map +1 -0
- package/es6/FrontApplet/Hardware/Led/ISetColorMessage.d.ts +5 -0
- package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js +3 -0
- package/es6/FrontApplet/Hardware/Led/ISetColorMessage.js.map +1 -0
- package/es6/FrontApplet/Hardware/Led/Led.d.ts +11 -0
- package/es6/FrontApplet/Hardware/Led/Led.js +38 -0
- package/es6/FrontApplet/Hardware/Led/Led.js.map +1 -0
- package/es6/FrontApplet/Hardware/SerialPort.d.ts +14 -0
- package/es6/FrontApplet/Hardware/SerialPort.js +45 -0
- package/es6/FrontApplet/Hardware/SerialPort.js.map +1 -0
- package/es6/FrontApplet/Hash/generator.d.ts +1 -0
- package/es6/FrontApplet/Hash/generator.js +10 -0
- package/es6/FrontApplet/Hash/generator.js.map +1 -0
- package/es6/FrontApplet/IMessage.d.ts +6 -0
- package/es6/FrontApplet/IMessage.js +3 -0
- package/es6/FrontApplet/IMessage.js.map +1 -0
- package/es6/FrontApplet/IPostMessage.d.ts +5 -0
- package/es6/FrontApplet/IPostMessage.js +3 -0
- package/es6/FrontApplet/IPostMessage.js.map +1 -0
- package/es6/FrontApplet/Iframe/Iframe.d.ts +24 -0
- package/es6/FrontApplet/Iframe/Iframe.js +51 -0
- package/es6/FrontApplet/Iframe/Iframe.js.map +1 -0
- package/es6/FrontApplet/Input/IInputKeyMessage.d.ts +6 -0
- package/es6/FrontApplet/Input/IInputKeyMessage.js +3 -0
- package/es6/FrontApplet/Input/IInputKeyMessage.js.map +1 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.d.ts +6 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.js +3 -0
- package/es6/FrontApplet/Input/IKeyUpEvent.js.map +1 -0
- package/es6/FrontApplet/Input/IKeyUpEventListener.d.ts +5 -0
- package/es6/FrontApplet/Input/IKeyUpEventListener.js +3 -0
- package/es6/FrontApplet/Input/IKeyUpEventListener.js.map +1 -0
- package/es6/FrontApplet/Input/Input.d.ts +20 -0
- package/es6/FrontApplet/Input/Input.js +35 -0
- package/es6/FrontApplet/Input/Input.js.map +1 -0
- package/es6/FrontApplet/Management/App.d.ts +37 -0
- package/es6/FrontApplet/Management/App.js +50 -0
- package/es6/FrontApplet/Management/App.js.map +1 -0
- package/es6/FrontApplet/Management/Audio.d.ts +9 -0
- package/es6/FrontApplet/Management/Audio.js +40 -0
- package/es6/FrontApplet/Management/Audio.js.map +1 -0
- package/es6/FrontApplet/Management/Debug.d.ts +11 -0
- package/es6/FrontApplet/Management/Debug.js +50 -0
- package/es6/FrontApplet/Management/Debug.js.map +1 -0
- package/es6/FrontApplet/Management/Firmware.d.ts +37 -0
- package/es6/FrontApplet/Management/Firmware.js +50 -0
- package/es6/FrontApplet/Management/Firmware.js.map +1 -0
- package/es6/FrontApplet/Management/FirmwareType.d.ts +4 -0
- package/es6/FrontApplet/Management/FirmwareType.js +8 -0
- package/es6/FrontApplet/Management/FirmwareType.js.map +1 -0
- package/es6/FrontApplet/Management/IBatteryStatus.d.ts +7 -0
- package/es6/FrontApplet/Management/IBatteryStatus.js +3 -0
- package/es6/FrontApplet/Management/IBatteryStatus.js.map +1 -0
- package/es6/FrontApplet/Management/IBrightness.d.ts +6 -0
- package/es6/FrontApplet/Management/IBrightness.js +3 -0
- package/es6/FrontApplet/Management/IBrightness.js.map +1 -0
- package/es6/FrontApplet/Management/INetworkInfo.d.ts +53 -0
- package/es6/FrontApplet/Management/INetworkInfo.js +17 -0
- package/es6/FrontApplet/Management/INetworkInfo.js.map +1 -0
- package/es6/FrontApplet/Management/IOrientation.d.ts +4 -0
- package/es6/FrontApplet/Management/IOrientation.js +3 -0
- package/es6/FrontApplet/Management/IOrientation.js.map +1 -0
- package/es6/FrontApplet/Management/IWifiEvent.d.ts +11 -0
- package/es6/FrontApplet/Management/IWifiEvent.js +12 -0
- package/es6/FrontApplet/Management/IWifiEvent.js.map +1 -0
- package/es6/FrontApplet/Management/Management.d.ts +44 -0
- package/es6/FrontApplet/Management/Management.js +113 -0
- package/es6/FrontApplet/Management/Management.js.map +1 -0
- package/es6/FrontApplet/Management/Network.d.ts +26 -0
- package/es6/FrontApplet/Management/Network.js +83 -0
- package/es6/FrontApplet/Management/Network.js.map +1 -0
- package/es6/FrontApplet/Management/Package.d.ts +8 -0
- package/es6/FrontApplet/Management/Package.js +38 -0
- package/es6/FrontApplet/Management/Package.js.map +1 -0
- package/es6/FrontApplet/Management/Power.d.ts +13 -0
- package/es6/FrontApplet/Management/Power.js +78 -0
- package/es6/FrontApplet/Management/Power.js.map +1 -0
- package/es6/FrontApplet/Management/RemoteControl.d.ts +14 -0
- package/es6/FrontApplet/Management/RemoteControl.js +61 -0
- package/es6/FrontApplet/Management/RemoteControl.js.map +1 -0
- package/es6/FrontApplet/Management/Screen.d.ts +18 -0
- package/es6/FrontApplet/Management/Screen.js +114 -0
- package/es6/FrontApplet/Management/Screen.js.map +1 -0
- package/es6/FrontApplet/Management/Security.d.ts +21 -0
- package/es6/FrontApplet/Management/Security.js +56 -0
- package/es6/FrontApplet/Management/Security.js.map +1 -0
- package/es6/FrontApplet/Management/Time.d.ts +16 -0
- package/es6/FrontApplet/Management/Time.js +59 -0
- package/es6/FrontApplet/Management/Time.js.map +1 -0
- package/es6/FrontApplet/Management/Wifi.d.ts +29 -0
- package/es6/FrontApplet/Management/Wifi.js +151 -0
- package/es6/FrontApplet/Management/Wifi.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/DeviceHelper.d.ts +21 -0
- package/es6/FrontApplet/Management/helpers/DeviceHelper.js +16 -0
- package/es6/FrontApplet/Management/helpers/DeviceHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/SecurityHelper.d.ts +2 -0
- package/es6/FrontApplet/Management/helpers/SecurityHelper.js +21 -0
- package/es6/FrontApplet/Management/helpers/SecurityHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/TimerHelper.d.ts +25 -0
- package/es6/FrontApplet/Management/helpers/TimerHelper.js +23 -0
- package/es6/FrontApplet/Management/helpers/TimerHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/UpgradeHelper.d.ts +5 -0
- package/es6/FrontApplet/Management/helpers/UpgradeHelper.js +35 -0
- package/es6/FrontApplet/Management/helpers/UpgradeHelper.js.map +1 -0
- package/es6/FrontApplet/Management/helpers/VideoHelper.d.ts +4 -0
- package/es6/FrontApplet/Management/helpers/VideoHelper.js +8 -0
- package/es6/FrontApplet/Management/helpers/VideoHelper.js.map +1 -0
- package/es6/FrontApplet/Monitors/Monitors.d.ts +16 -0
- package/es6/FrontApplet/Monitors/Monitors.js +31 -0
- package/es6/FrontApplet/Monitors/Monitors.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/Cache.d.ts +38 -0
- package/es6/FrontApplet/Offline/Cache/Cache.js +199 -0
- package/es6/FrontApplet/Offline/Cache/Cache.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IChecksumMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IChecksumMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IFile.d.ts +4 -0
- package/es6/FrontApplet/Offline/Cache/IFile.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IFile.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IListedContentsMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IListedFilesMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedContentMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.d.ts +6 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ILoadedFileMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContentMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContents.d.ts +4 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContents.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedContents.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.d.ts +6 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFileMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFiles.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFiles.js +3 -0
- package/es6/FrontApplet/Offline/Cache/ISavedFiles.js.map +1 -0
- package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.d.ts +5 -0
- package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js +3 -0
- package/es6/FrontApplet/Offline/Cache/IValidatedChecksumMessage.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/AppendFlagController.d.ts +12 -0
- package/es6/FrontApplet/Offline/Flags/AppendFlagController.js +47 -0
- package/es6/FrontApplet/Offline/Flags/AppendFlagController.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/IFlag.d.ts +16 -0
- package/es6/FrontApplet/Offline/Flags/IFlag.js +8 -0
- package/es6/FrontApplet/Offline/Flags/IFlag.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/IFlagController.d.ts +12 -0
- package/es6/FrontApplet/Offline/Flags/IFlagController.js +3 -0
- package/es6/FrontApplet/Offline/Flags/IFlagController.js.map +1 -0
- package/es6/FrontApplet/Offline/Flags/IFlags.d.ts +7 -0
- package/es6/FrontApplet/Offline/Flags/IFlags.js +3 -0
- package/es6/FrontApplet/Offline/Flags/IFlags.js.map +1 -0
- package/es6/FrontApplet/Offline/IAddFont.d.ts +50 -0
- package/es6/FrontApplet/Offline/IAddFont.js +22 -0
- package/es6/FrontApplet/Offline/IAddFont.js.map +1 -0
- package/es6/FrontApplet/Offline/IElement.d.ts +7 -0
- package/es6/FrontApplet/Offline/IElement.js +6 -0
- package/es6/FrontApplet/Offline/IElement.js.map +1 -0
- package/es6/FrontApplet/Offline/IFileType.d.ts +3 -0
- package/es6/FrontApplet/Offline/IFileType.js +4 -0
- package/es6/FrontApplet/Offline/IFileType.js.map +1 -0
- package/es6/FrontApplet/Offline/ISaveFile.d.ts +49 -0
- package/es6/FrontApplet/Offline/ISaveFile.js +26 -0
- package/es6/FrontApplet/Offline/ISaveFile.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.d.ts +7 -0
- package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js +26 -0
- package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFile.d.ts +8 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js +3 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFile.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.d.ts +8 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js +3 -0
- package/es6/FrontApplet/Offline/LoadFile/ILoadFileController.js.map +1 -0
- package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.d.ts +7 -0
- package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js +25 -0
- package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js.map +1 -0
- package/es6/FrontApplet/Offline/Offline.d.ts +27 -0
- package/es6/FrontApplet/Offline/Offline.js +105 -0
- package/es6/FrontApplet/Offline/Offline.js.map +1 -0
- package/es6/FrontApplet/Offline/Types.d.ts +7 -0
- package/es6/FrontApplet/Offline/Types.js +9 -0
- package/es6/FrontApplet/Offline/Types.js.map +1 -0
- package/es6/FrontApplet/Sensors/Proximity.d.ts +16 -0
- package/es6/FrontApplet/Sensors/Proximity.js +36 -0
- package/es6/FrontApplet/Sensors/Proximity.js.map +1 -0
- package/es6/FrontApplet/Sensors/Sensors.d.ts +11 -0
- package/es6/FrontApplet/Sensors/Sensors.js +18 -0
- package/es6/FrontApplet/Sensors/Sensors.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamEvent.d.ts +6 -0
- package/es6/FrontApplet/Stream/IStreamEvent.js +3 -0
- package/es6/FrontApplet/Stream/IStreamEvent.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamEventListener.d.ts +5 -0
- package/es6/FrontApplet/Stream/IStreamEventListener.js +3 -0
- package/es6/FrontApplet/Stream/IStreamEventListener.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamMessage.d.ts +6 -0
- package/es6/FrontApplet/Stream/IStreamMessage.js +3 -0
- package/es6/FrontApplet/Stream/IStreamMessage.js.map +1 -0
- package/es6/FrontApplet/Stream/IStreamProperties.d.ts +10 -0
- package/es6/FrontApplet/Stream/IStreamProperties.js +3 -0
- package/es6/FrontApplet/Stream/IStreamProperties.js.map +1 -0
- package/es6/FrontApplet/Stream/Stream.d.ts +22 -0
- package/es6/FrontApplet/Stream/Stream.js +131 -0
- package/es6/FrontApplet/Stream/Stream.js.map +1 -0
- package/es6/FrontApplet/Stream/StreamProtocol.d.ts +9 -0
- package/es6/FrontApplet/Stream/StreamProtocol.js +13 -0
- package/es6/FrontApplet/Stream/StreamProtocol.js.map +1 -0
- package/es6/FrontApplet/Stream/streamEvents.d.ts +8 -0
- package/es6/FrontApplet/Stream/streamEvents.js +3 -0
- package/es6/FrontApplet/Stream/streamEvents.js.map +1 -0
- package/es6/FrontApplet/Sync/ISyncEvent.d.ts +4 -0
- package/es6/FrontApplet/Sync/ISyncEvent.js +3 -0
- package/es6/FrontApplet/Sync/ISyncEvent.js.map +1 -0
- package/es6/FrontApplet/Sync/ISyncSetValueMessage.d.ts +7 -0
- package/es6/FrontApplet/Sync/ISyncSetValueMessage.js +3 -0
- package/es6/FrontApplet/Sync/ISyncSetValueMessage.js.map +1 -0
- package/es6/FrontApplet/Sync/Sync.d.ts +20 -0
- package/es6/FrontApplet/Sync/Sync.js +102 -0
- package/es6/FrontApplet/Sync/Sync.js.map +1 -0
- package/es6/FrontApplet/Sync/syncEvents.d.ts +6 -0
- package/es6/FrontApplet/Sync/syncEvents.js +3 -0
- package/es6/FrontApplet/Sync/syncEvents.js.map +1 -0
- package/es6/FrontApplet/Timing/Timing.d.ts +10 -0
- package/es6/FrontApplet/Timing/Timing.js +16 -0
- package/es6/FrontApplet/Timing/Timing.js.map +1 -0
- package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.d.ts +2 -0
- package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js +4 -0
- package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.js.map +1 -0
- package/es6/FrontApplet/Timing/Triggers/Triggers.d.ts +11 -0
- package/es6/FrontApplet/Timing/Triggers/Triggers.js +33 -0
- package/es6/FrontApplet/Timing/Triggers/Triggers.js.map +1 -0
- package/es6/FrontApplet/Touch/ITouchEventMessage.d.ts +6 -0
- package/es6/FrontApplet/Touch/ITouchEventMessage.js +3 -0
- package/es6/FrontApplet/Touch/ITouchEventMessage.js.map +1 -0
- package/es6/FrontApplet/Touch/Touch.d.ts +13 -0
- package/es6/FrontApplet/Touch/Touch.js +54 -0
- package/es6/FrontApplet/Touch/Touch.js.map +1 -0
- package/es6/FrontApplet/Validate/Validate.d.ts +43 -0
- package/es6/FrontApplet/Validate/Validate.js +266 -0
- package/es6/FrontApplet/Validate/Validate.js.map +1 -0
- package/es6/FrontApplet/Validate/ValidateObjectInterface.d.ts +8 -0
- package/es6/FrontApplet/Validate/ValidateObjectInterface.js +140 -0
- package/es6/FrontApplet/Validate/ValidateObjectInterface.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoEvent.d.ts +8 -0
- package/es6/FrontApplet/Video/IVideoEvent.js +6 -0
- package/es6/FrontApplet/Video/IVideoEvent.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoEventListener.d.ts +5 -0
- package/es6/FrontApplet/Video/IVideoEventListener.js +3 -0
- package/es6/FrontApplet/Video/IVideoEventListener.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoMessage.d.ts +4 -0
- package/es6/FrontApplet/Video/IVideoMessage.js +3 -0
- package/es6/FrontApplet/Video/IVideoMessage.js.map +1 -0
- package/es6/FrontApplet/Video/IVideoProperties.d.ts +8 -0
- package/es6/FrontApplet/Video/IVideoProperties.js +3 -0
- package/es6/FrontApplet/Video/IVideoProperties.js.map +1 -0
- package/es6/FrontApplet/Video/Video.d.ts +39 -0
- package/es6/FrontApplet/Video/Video.js +242 -0
- package/es6/FrontApplet/Video/Video.js.map +1 -0
- package/es6/FrontApplet/createFrontApplet.d.ts +2 -0
- package/es6/FrontApplet/createFrontApplet.js +9 -0
- package/es6/FrontApplet/createFrontApplet.js.map +1 -0
- package/es6/Monitoring/Console/consoleCommands.d.ts +6 -0
- package/es6/Monitoring/Console/consoleCommands.js +4 -0
- package/es6/Monitoring/Console/consoleCommands.js.map +1 -0
- package/es6/Monitoring/Html/htmlCommands.d.ts +9 -0
- package/es6/Monitoring/Html/htmlCommands.js +5 -0
- package/es6/Monitoring/Html/htmlCommands.js.map +1 -0
- package/es6/Monitoring/Montoring.d.ts +12 -0
- package/es6/Monitoring/Montoring.js +159 -0
- package/es6/Monitoring/Montoring.js.map +1 -0
- package/es6/Monitoring/Offline/Cache/offlineCacheCommands.d.ts +20 -0
- package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js +7 -0
- package/es6/Monitoring/Offline/Cache/offlineCacheCommands.js.map +1 -0
- package/es6/Monitoring/Timing/timingCommands.d.ts +4 -0
- package/es6/Monitoring/Timing/timingCommands.js +4 -0
- package/es6/Monitoring/Timing/timingCommands.js.map +1 -0
- package/es6/Monitoring/Video/videoCommands.d.ts +10 -0
- package/es6/Monitoring/Video/videoCommands.js +4 -0
- package/es6/Monitoring/Video/videoCommands.js.map +1 -0
- package/es6/Monitoring/monitoringCommands.d.ts +8 -0
- package/es6/Monitoring/monitoringCommands.js +5 -0
- package/es6/Monitoring/monitoringCommands.js.map +1 -0
- package/es6/Sensors/IButton.d.ts +9 -0
- package/es6/Sensors/IButton.js +8 -0
- package/es6/Sensors/IButton.js.map +1 -0
- package/es6/Sensors/IRfidAntenna.d.ts +10 -0
- package/es6/Sensors/IRfidAntenna.js +8 -0
- package/es6/Sensors/IRfidAntenna.js.map +1 -0
- package/es6/bundle.d.ts +12 -0
- package/es6/bundle.js +13 -0
- package/es6/bundle.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const events_1 = require("events");
|
|
4
|
+
const generator_1 = require("./Hash/generator");
|
|
5
|
+
const Video_1 = require("./Video/Video");
|
|
6
|
+
const Stream_1 = require("./Stream/Stream");
|
|
7
|
+
const Offline_1 = require("./Offline/Offline");
|
|
8
|
+
const JavascriptLoadFileController_1 = require("./Offline/LoadFile/JavascriptLoadFileController");
|
|
9
|
+
const Command_1 = require("./Command/Command");
|
|
10
|
+
const Hardware_1 = require("./Hardware/Hardware");
|
|
11
|
+
const Browser_1 = require("./Browser/Browser");
|
|
12
|
+
const Iframe_1 = require("./Iframe/Iframe");
|
|
13
|
+
const Touch_1 = require("./Touch/Touch");
|
|
14
|
+
const Input_1 = require("./Input/Input");
|
|
15
|
+
const Debug_1 = require("./Debug/Debug");
|
|
16
|
+
const Display_1 = require("./Display/Display");
|
|
17
|
+
const Timing_1 = require("./Timing/Timing");
|
|
18
|
+
const Sync_1 = require("./Sync/Sync");
|
|
19
|
+
const FileSystem_1 = require("./FileSystem/FileSystem");
|
|
20
|
+
const errorHelper_1 = require("./Error/errorHelper");
|
|
21
|
+
const Management_1 = require("./Management/Management");
|
|
22
|
+
const Monitors_1 = require("./Monitors/Monitors");
|
|
23
|
+
const Sensors_1 = require("./Sensors/Sensors");
|
|
24
|
+
const Exchange_1 = require("./Exchange/Exchange");
|
|
25
|
+
class FrontApplet {
|
|
26
|
+
constructor(window, messagePrefix) {
|
|
27
|
+
this.window = window;
|
|
28
|
+
this.messagePrefix = messagePrefix;
|
|
29
|
+
const rootExchange = Exchange_1.createExchange(messagePrefix, this.postMessage.bind(this));
|
|
30
|
+
this.readyEmitter = new events_1.EventEmitter();
|
|
31
|
+
this.invocationResponseEmitter = new events_1.EventEmitter();
|
|
32
|
+
this.debug = new Debug_1.default(this.window, messagePrefix);
|
|
33
|
+
this.display = new Display_1.default(messagePrefix, this.postMessage.bind(this));
|
|
34
|
+
this.stream = new Stream_1.default(messagePrefix, this.postMessage.bind(this));
|
|
35
|
+
this.video = new Video_1.default(messagePrefix, this.postMessage.bind(this));
|
|
36
|
+
this.command = new Command_1.default(this.messagePrefix, this.postMessage.bind(this));
|
|
37
|
+
this.hardware = new Hardware_1.default(this.messagePrefix, this.postMessage.bind(this));
|
|
38
|
+
this.offline = new Offline_1.default(messagePrefix, this.window, this.postMessage.bind(this));
|
|
39
|
+
this.browser = new Browser_1.default(rootExchange.createNamespaced('browser'));
|
|
40
|
+
this.touch = new Touch_1.default(this.window, this.messagePrefix, this.postMessage.bind(this));
|
|
41
|
+
this.iframe = new Iframe_1.default(this.window, this.messagePrefix, this, [this.touch.transformIframeData.bind(this.touch)]);
|
|
42
|
+
this.input = new Input_1.default(this.window, this.messagePrefix);
|
|
43
|
+
this.timing = new Timing_1.default(this.messagePrefix, this.postMessage.bind(this));
|
|
44
|
+
this.sync = new Sync_1.default(this.messagePrefix, this.postMessage.bind(this));
|
|
45
|
+
this.fileSystem = new FileSystem_1.default(this.messagePrefix, this.postMessage.bind(this));
|
|
46
|
+
this.management = new Management_1.default(messagePrefix, this.postMessage.bind(this));
|
|
47
|
+
this.monitors = new Monitors_1.default(messagePrefix, this.postMessage.bind(this));
|
|
48
|
+
this.sensors = new Sensors_1.default(messagePrefix);
|
|
49
|
+
this.javascriptLoadFileController = new JavascriptLoadFileController_1.default(this.window);
|
|
50
|
+
this.window.addEventListener('message', (event) => this.handleMessage(event));
|
|
51
|
+
this.postMessage({
|
|
52
|
+
type: messagePrefix + '_api.ready'
|
|
53
|
+
});
|
|
54
|
+
this.startPinging();
|
|
55
|
+
}
|
|
56
|
+
postMessage(data) {
|
|
57
|
+
const invocationUid = generator_1.generateUniqueHash();
|
|
58
|
+
this.window.setTimeout(() => void this.window.parent.postMessage(Object.assign({ invocationUid }, data), '*'));
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
this.invocationResponseEmitter.once(invocationUid, (responseData) => {
|
|
61
|
+
if (responseData.error) {
|
|
62
|
+
if (responseData.error.error) {
|
|
63
|
+
reject(errorHelper_1.createError(responseData.error.error));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
reject(responseData.error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
resolve(responseData.success);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
onReady(listener) {
|
|
76
|
+
return new Promise((resolve) => {
|
|
77
|
+
this.readyEmitter.once('ready', () => {
|
|
78
|
+
resolve();
|
|
79
|
+
if (typeof listener !== 'undefined') {
|
|
80
|
+
listener();
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
this.checkIfReady();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
restore() {
|
|
87
|
+
this.postMessage({ type: this.getMessage('restore') });
|
|
88
|
+
this.removeMediaListeners();
|
|
89
|
+
this.forwardRestoreToFrontAppletWindows();
|
|
90
|
+
}
|
|
91
|
+
forwardRestoreToFrontAppletWindows() {
|
|
92
|
+
const data = {
|
|
93
|
+
type: this.messagePrefix + 'restore',
|
|
94
|
+
};
|
|
95
|
+
this.iframe.forwardToFrontAppletWindows(data);
|
|
96
|
+
}
|
|
97
|
+
removeMediaListeners() {
|
|
98
|
+
this.video.removeEventListeners();
|
|
99
|
+
this.stream.removeEventListeners();
|
|
100
|
+
this.sync.removeEventListeners();
|
|
101
|
+
this.input.removeEventListeners();
|
|
102
|
+
}
|
|
103
|
+
checkIfReady() {
|
|
104
|
+
if (typeof this.authHash !== 'undefined' &&
|
|
105
|
+
typeof this.config !== 'undefined' &&
|
|
106
|
+
this.display.version !== null) {
|
|
107
|
+
this.readyEmitter.emit('ready');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
handleMessage(event) {
|
|
111
|
+
if (typeof event.data === 'object') {
|
|
112
|
+
if (event.source === this.window.parent) {
|
|
113
|
+
const data = event.data;
|
|
114
|
+
switch (data.type) {
|
|
115
|
+
case this.getMessage('invocation.success'):
|
|
116
|
+
this.invocationResponseEmitter.emit(data.invocationUid, { success: data });
|
|
117
|
+
break;
|
|
118
|
+
case this.getMessage('invocation.error'):
|
|
119
|
+
this.invocationResponseEmitter.emit(data.invocationUid, { error: data });
|
|
120
|
+
break;
|
|
121
|
+
case this.getMessage('config.update'):
|
|
122
|
+
this.config = data.config;
|
|
123
|
+
this.checkIfReady();
|
|
124
|
+
break;
|
|
125
|
+
case this.getMessage('auth_hash.update'):
|
|
126
|
+
this.authHash = data.authHash;
|
|
127
|
+
this.checkIfReady();
|
|
128
|
+
break;
|
|
129
|
+
case this.getMessage('front_display_version.update'):
|
|
130
|
+
this.display.version = data.version;
|
|
131
|
+
this.checkIfReady();
|
|
132
|
+
break;
|
|
133
|
+
case this.getMessage('applet_version.update'):
|
|
134
|
+
this.appletVersion = data.version;
|
|
135
|
+
break;
|
|
136
|
+
case this.getMessage('restore'):
|
|
137
|
+
this.removeMediaListeners();
|
|
138
|
+
break;
|
|
139
|
+
case this.getMessage('assets.load_js'):
|
|
140
|
+
this.javascriptLoadFileController.load(data.src, this.window.document.body);
|
|
141
|
+
break;
|
|
142
|
+
default:
|
|
143
|
+
this.browser.handleMessageData(data);
|
|
144
|
+
this.sync.handleMessageData(data);
|
|
145
|
+
this.video.handleMessageData(data);
|
|
146
|
+
this.stream.handleMessageData(data);
|
|
147
|
+
this.input.handleMessageData(data);
|
|
148
|
+
this.command.handleMessageData(data);
|
|
149
|
+
this.fileSystem.handleMessageData(data);
|
|
150
|
+
this.sensors.handleMessageData(data);
|
|
151
|
+
this.management.wifi.handleMessageData(data);
|
|
152
|
+
this.hardware.handleMessageData(data);
|
|
153
|
+
this.touch.handleMessageData(data);
|
|
154
|
+
this.debug.handleMessageData(data);
|
|
155
|
+
}
|
|
156
|
+
this.iframe.forwardToFrontAppletWindows(data);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
const data = event.data;
|
|
160
|
+
switch (data.type) {
|
|
161
|
+
case this.messagePrefix + '_loader.ready':
|
|
162
|
+
this.iframe.registerFrontAppletLoaderWindow(event.source);
|
|
163
|
+
break;
|
|
164
|
+
case this.messagePrefix + '_api.ready':
|
|
165
|
+
this.iframe.registerBundledFrontAppletWindow(event.source);
|
|
166
|
+
break;
|
|
167
|
+
default:
|
|
168
|
+
this.iframe.forwardFromFrontAppletWindows(event.source, data);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
getMessage(name) {
|
|
174
|
+
return this.messagePrefix + '.' + name;
|
|
175
|
+
}
|
|
176
|
+
startPinging() {
|
|
177
|
+
const doPing = () => this.postMessage({ type: this.getMessage('ping') });
|
|
178
|
+
this.window.setInterval(doPing, 30e3);
|
|
179
|
+
doPing();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.default = FrontApplet;
|
|
183
|
+
//# sourceMappingURL=FrontApplet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrontApplet.js","sourceRoot":"","sources":["../../src/FrontApplet/FrontApplet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import IPostMessage from '../../IPostMessage';
|
|
2
|
+
import IBarcodeScannerDataMessage from './IBarcodeScannerDataMessage';
|
|
3
|
+
export declare const DEFAULT_SCANNER_ID = 0;
|
|
4
|
+
interface IBarcodeScannerOptions {
|
|
5
|
+
timeout?: number;
|
|
6
|
+
cancelPrevious?: boolean;
|
|
7
|
+
scannerId?: number;
|
|
8
|
+
}
|
|
9
|
+
export default class BarcodeScanner {
|
|
10
|
+
private messagePrefix;
|
|
11
|
+
private postMessage;
|
|
12
|
+
static MESSAGE_PREFIX: 'barcode_scanner';
|
|
13
|
+
private eventEmitter;
|
|
14
|
+
constructor(messagePrefix: string, postMessage: IPostMessage<any>);
|
|
15
|
+
/**
|
|
16
|
+
* @experimental
|
|
17
|
+
*/
|
|
18
|
+
getVersion(): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* @experimental
|
|
21
|
+
*/
|
|
22
|
+
start(userOptions?: Omit<IBarcodeScannerOptions, 'scannerId'>): Promise<{
|
|
23
|
+
stop: () => Promise<void>;
|
|
24
|
+
onData: (listener: (data: string) => void) => void;
|
|
25
|
+
onError: (listener: (error: Error) => void) => void;
|
|
26
|
+
}>;
|
|
27
|
+
handleMessageData(msg: IBarcodeScannerDataMessage): void;
|
|
28
|
+
private getMessage;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,92 @@
|
|
|
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
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
const events_1 = require("events");
|
|
24
|
+
exports.DEFAULT_SCANNER_ID = 0;
|
|
25
|
+
class BarcodeScanner {
|
|
26
|
+
constructor(messagePrefix, postMessage) {
|
|
27
|
+
this.messagePrefix = messagePrefix;
|
|
28
|
+
this.postMessage = postMessage;
|
|
29
|
+
this.eventEmitter = new events_1.EventEmitter();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @experimental
|
|
33
|
+
*/
|
|
34
|
+
getVersion() {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const { version } = yield this.postMessage({
|
|
37
|
+
type: this.getMessage('get_version'),
|
|
38
|
+
});
|
|
39
|
+
return version;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @experimental
|
|
44
|
+
*/
|
|
45
|
+
start(userOptions) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const defaultOptions = { scannerId: exports.DEFAULT_SCANNER_ID, timeout: 10000, cancelPrevious: false };
|
|
48
|
+
const _a = Object.assign(Object.assign({}, defaultOptions), userOptions), { scannerId } = _a, options = __rest(_a, ["scannerId"]);
|
|
49
|
+
if (options.cancelPrevious) {
|
|
50
|
+
this.eventEmitter.removeAllListeners(`scanner_id_${scannerId}.data`);
|
|
51
|
+
this.eventEmitter.removeAllListeners(`scanner_id_${scannerId}.error`);
|
|
52
|
+
}
|
|
53
|
+
yield this.postMessage({
|
|
54
|
+
type: this.getMessage('start'),
|
|
55
|
+
scannerId,
|
|
56
|
+
options,
|
|
57
|
+
});
|
|
58
|
+
const onData = (listener) => {
|
|
59
|
+
this.eventEmitter.addListener(`scanner_id_${scannerId}.data`, listener);
|
|
60
|
+
};
|
|
61
|
+
const onError = (listener) => {
|
|
62
|
+
this.eventEmitter.addListener(`scanner_id_${scannerId}.error`, listener);
|
|
63
|
+
};
|
|
64
|
+
const stop = () => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
yield this.postMessage({
|
|
66
|
+
type: this.getMessage('stop'),
|
|
67
|
+
scannerId,
|
|
68
|
+
});
|
|
69
|
+
this.eventEmitter.removeAllListeners(`scanner_id_${scannerId}.data`);
|
|
70
|
+
this.eventEmitter.removeAllListeners(`scanner_id_${scannerId}.error`);
|
|
71
|
+
});
|
|
72
|
+
return { stop, onData, onError };
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
handleMessageData(msg) {
|
|
76
|
+
switch (msg.type) {
|
|
77
|
+
case this.getMessage('data'):
|
|
78
|
+
this.eventEmitter.emit(`scanner_id_${msg.scannerId}.data`, msg.data);
|
|
79
|
+
break;
|
|
80
|
+
case this.getMessage('error'):
|
|
81
|
+
this.eventEmitter.emit(`scanner_id_${msg.scannerId}.error`, msg.data);
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
getMessage(name) {
|
|
87
|
+
return [this.messagePrefix, BarcodeScanner.MESSAGE_PREFIX, name].join('.');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.default = BarcodeScanner;
|
|
91
|
+
BarcodeScanner.MESSAGE_PREFIX = 'barcode_scanner';
|
|
92
|
+
//# sourceMappingURL=BarcodeScanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarcodeScanner.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IBarcodeScannerDataMessage.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Hardware/BarcodeScanner/IBarcodeScannerDataMessage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import IPostMessage from '../IPostMessage';
|
|
2
|
+
import Led from './Led/Led';
|
|
3
|
+
import SerialPort from './SerialPort';
|
|
4
|
+
import ISerialPortOptions from './ISerialPortOptions';
|
|
5
|
+
import ISerialPortDataMessage from './ISerialPortDataMessage';
|
|
6
|
+
import BarcodeScanner from './BarcodeScanner/BarcodeScanner';
|
|
7
|
+
import IBarcodeScannerDataMessage from './BarcodeScanner/IBarcodeScannerDataMessage';
|
|
8
|
+
export default class Hardware {
|
|
9
|
+
private messagePrefix;
|
|
10
|
+
private postMessage;
|
|
11
|
+
static MESSAGE_PREFIX: string;
|
|
12
|
+
readonly led: Led;
|
|
13
|
+
barcodeScanner: BarcodeScanner;
|
|
14
|
+
private eventEmitter;
|
|
15
|
+
constructor(messagePrefix: string, postMessage: IPostMessage<any>);
|
|
16
|
+
openSerialPort(options: ISerialPortOptions): Promise<SerialPort>;
|
|
17
|
+
handleMessageData(data: ISerialPortDataMessage | IBarcodeScannerDataMessage): void;
|
|
18
|
+
private getMessage;
|
|
19
|
+
private getMessagePrefix;
|
|
20
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
const events_1 = require("events");
|
|
13
|
+
const Led_1 = require("./Led/Led");
|
|
14
|
+
const SerialPort_1 = require("./SerialPort");
|
|
15
|
+
const BarcodeScanner_1 = require("./BarcodeScanner/BarcodeScanner");
|
|
16
|
+
class Hardware {
|
|
17
|
+
constructor(messagePrefix, postMessage) {
|
|
18
|
+
this.messagePrefix = messagePrefix;
|
|
19
|
+
this.postMessage = postMessage;
|
|
20
|
+
this.eventEmitter = new events_1.EventEmitter();
|
|
21
|
+
this.led = new Led_1.default(this.getMessagePrefix(), this.postMessage);
|
|
22
|
+
this.barcodeScanner = new BarcodeScanner_1.default(this.getMessagePrefix(), this.postMessage);
|
|
23
|
+
}
|
|
24
|
+
openSerialPort(options) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const { refid } = yield this.postMessage({
|
|
27
|
+
type: this.getMessage('serial_port.open'),
|
|
28
|
+
options,
|
|
29
|
+
});
|
|
30
|
+
return new SerialPort_1.default(refid, this.eventEmitter, this.getMessagePrefix(), this.postMessage);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
handleMessageData(data) {
|
|
34
|
+
switch (data.type) {
|
|
35
|
+
case this.getMessage('serial_port.data'):
|
|
36
|
+
this.eventEmitter.emit('serial_port.data.' + data.refid, data.data);
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
this.barcodeScanner.handleMessageData(data);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
getMessage(name) {
|
|
43
|
+
return this.getMessagePrefix() + '.' + name;
|
|
44
|
+
}
|
|
45
|
+
getMessagePrefix() {
|
|
46
|
+
return this.messagePrefix + '.' + Hardware.MESSAGE_PREFIX;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.default = Hardware;
|
|
50
|
+
Hardware.MESSAGE_PREFIX = 'hardware';
|
|
51
|
+
//# sourceMappingURL=Hardware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hardware.js","sourceRoot":"","sources":["../../../src/FrontApplet/Hardware/Hardware.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAsC;AAEtC,mCAA4B;AAC5B,6CAAsC;AAGtC,oEAA6D;AAG7D,MAAqB,QAAQ;IAS5B,YACS,aAAqB,EACrB,WAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;QAEtC,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAEY,cAAc,CAAC,OAA2B;;YACtD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;gBACxC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACzC,OAAO;aACP,CAAC,CAAC;YACH,OAAO,IAAI,oBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5F,CAAC;KAAA;IAEM,iBAAiB,CAAC,IAAyD;QACjF,QAAQ,IAAI,CAAC,IAAI,EAAE;YAClB,KAAK,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpE,MAAM;YACP;gBACC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAkC,CAAC,CAAC;SAC3E;IACF,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,gBAAgB,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;IAC7C,CAAC;IAEO,gBAAgB;QACvB,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC3D,CAAC;;AA1CF,2BA2CC;AAzCc,uBAAc,GAAW,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISerialPortDataMessage.js","sourceRoot":"","sources":["../../../src/FrontApplet/Hardware/ISerialPortDataMessage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum Parity {
|
|
2
|
+
NONE = "none",
|
|
3
|
+
EVEN = "even",
|
|
4
|
+
MARK = "mark",
|
|
5
|
+
ODD = "odd",
|
|
6
|
+
SPACE = "space"
|
|
7
|
+
}
|
|
8
|
+
interface ISerialPortOptions {
|
|
9
|
+
device: string;
|
|
10
|
+
baudRate: number;
|
|
11
|
+
parity?: Parity;
|
|
12
|
+
databits?: number;
|
|
13
|
+
stopbits?: number;
|
|
14
|
+
}
|
|
15
|
+
export default ISerialPortOptions;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var Parity;
|
|
4
|
+
(function (Parity) {
|
|
5
|
+
Parity["NONE"] = "none";
|
|
6
|
+
Parity["EVEN"] = "even";
|
|
7
|
+
Parity["MARK"] = "mark";
|
|
8
|
+
Parity["ODD"] = "odd";
|
|
9
|
+
Parity["SPACE"] = "space";
|
|
10
|
+
})(Parity = exports.Parity || (exports.Parity = {}));
|
|
11
|
+
//# sourceMappingURL=ISerialPortOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISerialPortOptions.js","sourceRoot":"","sources":["../../../src/FrontApplet/Hardware/ISerialPortOptions.ts"],"names":[],"mappings":";;AAAA,IAAY,MAMX;AAND,WAAY,MAAM;IACjB,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,qBAAW,CAAA;IACX,yBAAe,CAAA;AAChB,CAAC,EANW,MAAM,GAAN,cAAM,KAAN,cAAM,QAMjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISetColorMessage.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Hardware/Led/ISetColorMessage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import IPostMessage from '../../IPostMessage';
|
|
2
|
+
import ISetColorMessage from './ISetColorMessage';
|
|
3
|
+
export default class Led {
|
|
4
|
+
private messagePrefix;
|
|
5
|
+
private postMessage;
|
|
6
|
+
static MESSAGE_PREFIX: string;
|
|
7
|
+
constructor(messagePrefix: string, postMessage: IPostMessage<ISetColorMessage>);
|
|
8
|
+
setColor(color: string | null): Promise<void>;
|
|
9
|
+
private checkColorValidity;
|
|
10
|
+
private getMessage;
|
|
11
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
const ErrorCodes_1 = require("../../Error/ErrorCodes");
|
|
13
|
+
const Validate_1 = require("../../Validate/Validate");
|
|
14
|
+
class Led {
|
|
15
|
+
constructor(messagePrefix, postMessage) {
|
|
16
|
+
this.messagePrefix = messagePrefix;
|
|
17
|
+
this.postMessage = postMessage;
|
|
18
|
+
}
|
|
19
|
+
setColor(color) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
this.checkColorValidity(color);
|
|
22
|
+
yield this.postMessage({
|
|
23
|
+
type: this.getMessage('set_color'),
|
|
24
|
+
color: color ? color.toUpperCase() : null,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
checkColorValidity(color) {
|
|
29
|
+
Validate_1.default({ color }).canBeNull().string(null, ErrorCodes_1.default.HARDWARE_LED_COLOR_IS_NOT_STRING);
|
|
30
|
+
Validate_1.default({ color }).canBeNull().matchRegExp(/^#[0-9A-Fa-f]{6,6}$/, ErrorCodes_1.default.HARDWARE_LED_COLOR_IS_NOT_VALID);
|
|
31
|
+
}
|
|
32
|
+
getMessage(name) {
|
|
33
|
+
return this.messagePrefix + '.' + Led.MESSAGE_PREFIX + '.' + name;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = Led;
|
|
37
|
+
Led.MESSAGE_PREFIX = 'led';
|
|
38
|
+
//# sourceMappingURL=Led.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Led.js","sourceRoot":"","sources":["../../../../src/FrontApplet/Hardware/Led/Led.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,uDAAgD;AAChD,sDAA+C;AAE/C,MAAqB,GAAG;IAIvB,YACS,aAAqB,EACrB,WAA2C;QAD3C,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAgC;IACjD,CAAC;IAES,QAAQ,CAAC,KAAoB;;YACzC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,WAAW,CACrB;gBACC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAClC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;aACzC,CACD,CAAC;QACH,CAAC;KAAA;IAEO,kBAAkB,CAAC,KAAoB;QAC9C,kBAAQ,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAU,CAAC,gCAAgC,CAAC,CAAC;QACxF,kBAAQ,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,qBAAqB,EAAE,oBAAU,CAAC,+BAA+B,CAAC,CAAC;IAC9G,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;IACnE,CAAC;;AA1BF,sBA2BC;AAzBc,kBAAc,GAAW,KAAK,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from "events";
|
|
3
|
+
import IPostMessage from '../IPostMessage';
|
|
4
|
+
export default class SerialPort {
|
|
5
|
+
private refid;
|
|
6
|
+
private eventEmitter;
|
|
7
|
+
private messagePrefix;
|
|
8
|
+
private postMessage;
|
|
9
|
+
constructor(refid: string, eventEmitter: EventEmitter, messagePrefix: string, postMessage: IPostMessage<any>);
|
|
10
|
+
onData(listener: (data: Uint8Array) => void): void;
|
|
11
|
+
write(data: string | number[] | Uint8Array): Promise<void>;
|
|
12
|
+
close(): Promise<void>;
|
|
13
|
+
private getMessage;
|
|
14
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
class SerialPort {
|
|
13
|
+
constructor(refid, eventEmitter, messagePrefix, postMessage) {
|
|
14
|
+
this.refid = refid;
|
|
15
|
+
this.eventEmitter = eventEmitter;
|
|
16
|
+
this.messagePrefix = messagePrefix;
|
|
17
|
+
this.postMessage = postMessage;
|
|
18
|
+
}
|
|
19
|
+
onData(listener) {
|
|
20
|
+
this.eventEmitter.addListener('serial_port.data.' + this.refid, listener);
|
|
21
|
+
}
|
|
22
|
+
write(data) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield this.postMessage({
|
|
25
|
+
type: this.getMessage('serial_port.write'),
|
|
26
|
+
refid: this.refid,
|
|
27
|
+
data,
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
close() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
yield this.postMessage({
|
|
34
|
+
type: this.getMessage('serial_port.close'),
|
|
35
|
+
refid: this.refid,
|
|
36
|
+
});
|
|
37
|
+
this.eventEmitter.removeAllListeners('serial_port.data.' + this.refid);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
getMessage(name) {
|
|
41
|
+
return this.messagePrefix + '.' + name;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = SerialPort;
|
|
45
|
+
//# sourceMappingURL=SerialPort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerialPort.js","sourceRoot":"","sources":["../../../src/FrontApplet/Hardware/SerialPort.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAqB,UAAU;IAE9B,YACS,KAAa,EACb,YAA0B,EAC1B,aAAqB,EACrB,WAA8B;QAH9B,UAAK,GAAL,KAAK,CAAQ;QACb,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAmB;IAEvC,CAAC;IAEM,MAAM,CAAC,QAAoC;QACjD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAEY,KAAK,CAAC,IAAoC;;YACtD,MAAM,IAAI,CAAC,WAAW,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;aACJ,CAAC,CAAC;QACJ,CAAC;KAAA;IAEY,KAAK;;YACjB,MAAM,IAAI,CAAC,WAAW,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC;KAAA;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;IACxC,CAAC;CACD;AAjCD,6BAiCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generateUniqueHash(length?: number): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const crypto_1 = require("crypto");
|
|
4
|
+
function generateUniqueHash(length = 50) {
|
|
5
|
+
const hash = crypto_1.createHash('sha256');
|
|
6
|
+
hash.update('' + new Date().valueOf() + Math.random());
|
|
7
|
+
return hash.digest('hex').substring(0, length);
|
|
8
|
+
}
|
|
9
|
+
exports.generateUniqueHash = generateUniqueHash;
|
|
10
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/FrontApplet/Hash/generator.ts"],"names":[],"mappings":";;AACA,mCAAoC;AAEpC,SAAgB,kBAAkB,CAAC,SAAiB,EAAE;IACrD,MAAM,IAAI,GAAG,mBAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAJD,gDAIC"}
|