Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

sentry / @nestjs/microservices   js

Repository URL to install this package:

Version: 7.0.10 

/ serializers / kafka-request.serializer.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
class KafkaRequestSerializer {
    serialize(value) {
        const isNotKafkaMessage = shared_utils_1.isNil(value) ||
            !shared_utils_1.isObject(value) ||
            (!('key' in value) && !('value' in value));
        if (isNotKafkaMessage) {
            value = { value };
        }
        value.value = this.encode(value.value);
        if (!shared_utils_1.isNil(value.key)) {
            value.key = this.encode(value.key);
        }
        if (shared_utils_1.isNil(value.headers)) {
            value.headers = {};
        }
        return value;
    }
    encode(value) {
        const isObjectOrArray = !shared_utils_1.isNil(value) && !shared_utils_1.isString(value) && !Buffer.isBuffer(value);
        if (isObjectOrArray) {
            return shared_utils_1.isPlainObject(value) || Array.isArray(value)
                ? JSON.stringify(value)
                : value.toString();
        }
        else if (shared_utils_1.isUndefined(value)) {
            return null;
        }
        return value;
    }
}
exports.KafkaRequestSerializer = KafkaRequestSerializer;