import { VariableFormat, HostProtocol, TargetProtocol } from '@iotize/tap';
import { FixedSizeEnumConverter, EnumListConverter, StringConverter, NumberConverter, FloatConverter, BooleanConverter, Ipv4StringConverter, MacAddressStringConverter, StringVersionConverter } from '@iotize/tap/client/impl';

function createEnumConverter(mapping, size) {
    return new FixedSizeEnumConverter(mapping, size);
}
function createEnumArrayConverter(mapping, size) {
    return new EnumListConverter(size, mapping);
}

const ascii = StringConverter.ascii();
const utf8 = new StringConverter('utf8');
const uint8 = NumberConverter.uint8();
const uint16 = NumberConverter.uint16();
const uint32 = NumberConverter.uint32();
const int8 = NumberConverter.int8();
const int16 = NumberConverter.int16();
const int32 = NumberConverter.int32();
const float = FloatConverter.instance32();
const boolean = BooleanConverter.instanceBit0();
const stringIpv4 = Ipv4StringConverter.instance();
const stringIpv4mask = Ipv4StringConverter.instance();
const stringMacaddress = MacAddressStringConverter.instance();
const variableFormat = createEnumConverter(VariableFormat, 1);
const hostProtocol = createEnumConverter(HostProtocol, 2);
const hostProtocolArray = createEnumArrayConverter(HostProtocol, 2);
const targetProtocol = createEnumConverter(TargetProtocol, 1);
const targetProtocolArray = createEnumArrayConverter(TargetProtocol, 1);
// export const tapVersion = new TapVersionConverter();
const stringVersion = new StringVersionConverter();

var converters = /*#__PURE__*/Object.freeze({
    __proto__: null,
    ascii: ascii,
    utf8: utf8,
    uint8: uint8,
    uint16: uint16,
    uint32: uint32,
    int8: int8,
    int16: int16,
    int32: int32,
    float: float,
    boolean: boolean,
    stringIpv4: stringIpv4,
    stringIpv4mask: stringIpv4mask,
    stringMacaddress: stringMacaddress,
    variableFormat: variableFormat,
    hostProtocol: hostProtocol,
    hostProtocolArray: hostProtocolArray,
    targetProtocol: targetProtocol,
    targetProtocolArray: targetProtocolArray,
    stringVersion: stringVersion
});

/**
 * Generated bundle index. Do not edit.
 */

export { converters, createEnumArrayConverter, createEnumConverter };
//# sourceMappingURL=iotize-tap-service-core.js.map
