@iotize/device-client.js
Version:
IoTize Device client for Javascript
85 lines (84 loc) • 3.04 kB
TypeScript
import { BodyDecoder, BodyEncoder } from '../../../api/converter';
export interface NumberDecoderOptions {
signed: boolean;
/**
* Size of number if bits
*/
sizeOf: 8 | 16 | 32;
leastSignificantBitFirst: boolean;
}
export declare type Newable<T> = {
new (...args: any[]): T;
};
export declare class NumberConverter implements BodyEncoder<number>, BodyDecoder<number> {
options: NumberDecoderOptions;
constructor(options: NumberDecoderOptions);
/**
* @deprecated in favor of {@link NumberConverter.uint8()}
* @param lsb
*/
static uint8Instance(lsb?: boolean): NumberConverter;
/**
* Number as unsigned 8 bits converter
* @param lsb true for least significant bit first
*/
static uint8(lsb?: boolean): NumberConverter;
/**
* @deprecated in favor of {@link NumberConverter.uint16()}
* @param lsb true for least significant bit first
*/
static uint16Instance(lsb?: boolean): NumberConverter;
/**
* Number as unsigned 16 bits converter
* @param lsb true for least significant bit first
*/
static uint16(lsb?: boolean): NumberConverter;
/**
* @deprecated in favor of {@link NumberConverter.uint32()}
* @param lsb true for least significant bit first
*/
static uint32Instance(lsb?: boolean): NumberConverter;
/**
* Number as unsigned 32 bits converter
* @param lsb true for least significant bit first
*/
static uint32(lsb?: boolean): NumberConverter;
/**
* @deprecated in favor of {@link NumberConverter.int8()}
* @param lsb true for least significant bit first
*/
static int8Instance(lsb?: boolean): NumberConverter;
/**
* Number as signed 8 bits converter
* @param lsb true for least significant bit first
*/
static int8(lsb?: boolean): NumberConverter;
/**
* @deprecated in favor of {@link NumberConverter.int16()}
* @param lsb true for least significant bit first
*/
static int16Instance(lsb?: boolean): NumberConverter;
/**
* Number as signed 16 bits converter
* @param lsb true for least significant bit first
*/
static int16(lsb?: boolean): NumberConverter;
/**
* @deprecated in favor of {@link NumberConverter.int32()}
* @param lsb true for least significant bit first
*/
static int32Instance(lsb?: boolean): NumberConverter;
/**
* Number as signed 32 bits converter
* @param lsb true for least significant bit first
*/
static int32(lsb?: boolean): NumberConverter;
decode(body: Uint8Array): number;
encode(value: number): Uint8Array;
static toOpaqueMsb(input: number, sizeOf: 8 | 16 | 32 | number): Uint8Array;
static fromOpaqueMsb(data: Uint8Array, sizeOf?: number): number;
/**
* @param size size in bytes
*/
static fromBytes(data: Uint8Array, size: number, signed: boolean, lsb: boolean): number;
}