UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

97 lines (96 loc) 3.85 kB
import { StepOperations } from '@iotize/common/task-manager'; import '@iotize/tap'; import { ServiceCallType, ServiceContainer, Tap } from '@iotize/tap'; import { BundleConfig, TapConfig, TapConfiguratorConfig, TapConfiguratorOptions, VariableConfig, VariableTypeDataConfig } from '@iotize/tap/config/schema/v1'; import '@iotize/tap/service/all'; interface ConfigureContext { tap: Tap; options: TapConfiguratorOptions; tapConfig: TapConfig; } export declare function tapConfigToServiceCalls(config: TapConfig, options: { firmwareVersion: string; service: ServiceContainer; saltGenerator?: () => Uint8Array; }): (ServiceCallType<any, any> | Error)[]; declare type VariableFlatConfig = { id: number; bundleId: number; length: number; value: Uint8Array; rawMeta?: Uint8Array; type: { domain: string; data: VariableTypeDataConfig; }; modbusAddress?: any; address?: number; /** * For extensions */ [key: string]: any; }; export declare function encodeInitialVariableValue(variable: VariableConfig, bundle: BundleConfig): Uint8Array; export declare function toVariableFlatConfig(variable: VariableConfig, bundle: BundleConfig): VariableFlatConfig; export declare function toFlatTapConfig(config: TapConfig, options?: { saltGenerator?: () => Uint8Array; }): any; /** * Configure tap from a configuration file schema * */ export declare class TapConfiguratorWriter { options: TapConfiguratorWriter.Options; host?: TapConfiguratorWriter.Host | undefined; constructor(options?: TapConfiguratorWriter.Options, host?: TapConfiguratorWriter.Host | undefined); createConfiguratorForTap(tap: Tap, config: TapConfiguratorConfig, options?: TapConfiguratorWriter.ConfigureOptions): Promise<TapConfiguratorWriter.Runner>; configure(tap: Tap, firmwareVersion: string, config: TapConfiguratorConfig, options?: TapConfiguratorWriter.ConfigureOptions): TapConfiguratorWriter.Runner; setupConfigState(tap: Tap): Promise<void>; isConfigured(tap: Tap): Promise<boolean>; /*** * */ applyConfig(tap: Tap, newVersion?: string): Promise<void>; protected addConfigurCalls(configureContext: ConfigureContext, calls: (ServiceCallType<any, any> | Error)[], operations: TapConfiguratorWriter.StepOperationType[]): void; protected sleep(delayMs: number): Promise<void>; private _adaptConfigurationToCurrentVersion; } export declare namespace TapConfiguratorWriter { interface Event { step: Step; [key: string]: any; } interface Options { delayMs: number; /** * If set to true, it will throw an error if when a not implemented tap response occurs */ throwOnNotImplementedConfigKey?: boolean; } interface ConfigureOptions { skipSchemaValidation?: boolean; } interface Host { /** * Load given URI * Throw error if URI is not found * @param uri */ loadUri(uri: string): Promise<{ buffer: Uint8Array; }>; } enum Step { validatesConfig = "TapConfiguratorStepValidatesConfig", enableSecureCom = "TapConfiguratorStepenableSecureCommunication", factoryReset = "TapConfiguratorStepFactoryReset", setupConfigurationState = "TapConfiguratorStepSetupConfigurationState", executeCall = "TapConfiguratorStepExecuteCall", logout = "TapConfiguratorSteplogout", applyConfig = "TapConfiguratorStepApplyConfig", writeSecurityOptions = "TapConfiguratorStepWriteSecurityOptions" } type StepOperationType = StepOperations.OperationType<Event, any>; type Runner = StepOperations<Event, any>; } export {};