netkitty
Version:
Network tools kit
104 lines • 2.7 kB
TypeScript
import { ProtocolJSONSchema } from '../../schema/ProtocolJSONSchema';
import { BaseHeader } from '../abstracts/BaseHeader';
import TLV from 'node-tlv';
declare enum ItemDataType {
Boolean = "Boolean",
INT8 = "INT8",
INT16 = "INT16",
INT32 = "INT32",
INT64 = "INT64",
INT8U = "INT8U",
INT16U = "INT16U",
INT32U = "INT32U",
FLOAT32 = "FLOAT32",
CODEDENUM = "CODED-ENUM",
OCTETSTRING = "OCTET-STRING",
VISIBLESTRING = "VISIBLE-STRING",
TimeStamp = "TimeStamp",
Quality = "Quality",
Structure = "Structure"
}
type BooleanDataItem = {
dataType: ItemDataType.Boolean;
value: boolean;
};
type INT8DataItem = {
dataType: ItemDataType.INT8;
value: number;
};
type INT16DataItem = {
dataType: ItemDataType.INT16;
value: number;
};
type INT32DataItem = {
dataType: ItemDataType.INT32;
value: number;
};
type INT64DataItem = {
dataType: ItemDataType.INT64;
value: bigint;
};
type INT8UDataItem = {
dataType: ItemDataType.INT8U;
value: number;
};
type INT16UDataItem = {
dataType: ItemDataType.INT16U;
value: number;
};
type INT32UDataItem = {
dataType: ItemDataType.INT32U;
value: number;
};
type FLOAT32DataItem = {
dataType: ItemDataType.FLOAT32;
value: number;
};
type CODEDENUMDataItem = {
dataType: ItemDataType.CODEDENUM;
value: number;
};
type OCTETSTRINGDataItem = {
dataType: ItemDataType.OCTETSTRING;
value: string;
};
type VISIBLESTRINGDataItem = {
dataType: ItemDataType.VISIBLESTRING;
value: string;
};
type TimeStampDataItem = {
dataType: ItemDataType.TimeStamp;
value: string;
};
type QualityDataItem = {
dataType: ItemDataType.Quality;
value: string;
};
type StructureDataItem = {
dataType: ItemDataType.Structure;
value: DataItem[];
};
type DataItem = BooleanDataItem | INT8DataItem | INT16DataItem | INT32DataItem | INT64DataItem | INT8UDataItem | INT16UDataItem | INT32UDataItem | FLOAT32DataItem | CODEDENUMDataItem | OCTETSTRINGDataItem | VISIBLESTRINGDataItem | TimeStampDataItem | QualityDataItem | StructureDataItem;
export declare class Goose extends BaseHeader {
protected TLVInstance: TLV;
protected TLVChild: TLV[];
SCHEMA: ProtocolJSONSchema;
/**
* Decode data TLV items
* @param dataTLVs
* @protected
*/
protected decodeDataTLVItem(dataTLVs: TLV[]): DataItem[];
/**
* Encode data TLV items
* @param dataItems
* @protected
*/
protected encodeDataTLVItem(dataItems: DataItem[]): TLV[];
readonly id: string;
readonly name: string;
readonly nickname: string;
match(): boolean;
}
export {};
//# sourceMappingURL=Goose.d.ts.map