(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@iotize/tap'), require('@iotize/tap/client/impl')) :
    typeof define === 'function' && define.amd ? define('@iotize/tap/service/core', ['exports', '@iotize/tap', '@iotize/tap/client/impl'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.iotize = global.iotize || {}, global.iotize.tap = global.iotize.tap || {}, global.iotize.tap.service = global.iotize.tap.service || {}, global.iotize.tap.service.core = {}), global.iotize.tap, global.iotize.tap.client.impl));
})(this, (function (exports, tap, impl) { 'use strict';

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

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

    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,
        cpuFrequencySpeed: cpuFrequencySpeed
    });

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

    exports.converters = converters;
    exports.createEnumArrayConverter = createEnumArrayConverter;
    exports.createEnumConverter = createEnumConverter;

    Object.defineProperty(exports, '__esModule', { value: true });

}));
//# sourceMappingURL=iotize-tap-service-core.umd.js.map
