@iotize/device-client.js
Version:
IoTize Device client for Javascript
30 lines (29 loc) • 1.23 kB
TypeScript
import { EncoderDecoderFct, EncoderDecoder } from "../../core/converter";
import { BodyDecoder } from "../../client/api/converter";
declare type PipeConverterType<InputType, OutputType> = EncoderDecoder<OutputType, InputType> | EncoderDecoderFct<InputType, InputType>;
export declare class PipeConverterBuilder {
aliases: {
[key: string]: PipeConverterType<any, any>;
};
constructor(aliases?: {
[key: string]: PipeConverterType<any, any>;
});
pipe<T>(converter: PipeConverterType<Uint8Array, T> | string): PipeConverter<T>;
}
/**
* Pipe multiple converter one after another
*/
export declare class PipeConverter<T> implements BodyDecoder<T> {
converters: PipeConverterType<any, any>[];
aliases: {
[key: string]: PipeConverterType<any, any>;
};
constructor(converters: PipeConverterType<any, any>[], aliases?: {
[key: string]: PipeConverterType<any, any>;
});
decode(body: Uint8Array): T;
encode(value: T): Uint8Array;
pipe<OutputType>(converter: PipeConverterType<T, OutputType> | string): PipeConverter<OutputType>;
static pipe<T>(converter: PipeConverterType<Uint8Array, T>): PipeConverter<T>;
}
export {};