@duongtrungnguyen/nestro
Version:
Service registry for Nest JS
113 lines • 4.1 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i = decorators.length - 1, decorator; i >= 0; i--)
if (decorator = decorators[i])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result) __defProp(target, key, result);
return result;
};
var client_module_exports = {};
__export(client_module_exports, {
ClientModule: () => ClientModule
});
module.exports = __toCommonJS(client_module_exports);
var import_common = require("@nestjs/common");
var import_middlewares = require("./middlewares");
var import_constants = require("./constants");
var import_common2 = require("../common");
var import_services = require("./services");
var import_discovery = require("../discovery");
var import_security = require("../security");
var import_utils = require("./utils");
let ClientModule = class {
static register(config) {
if (config.gateway?.swagger?.path) {
ClientModule._swaggerEndpoint = config.gateway.swagger.path;
}
const imports = [import_discovery.DiscoveryModule.register(config.loadbalancing || {})];
const providers = [
{
provide: import_constants.INSTANCE_INFO,
useValue: {
...config.client,
host: config.client.host || (0, import_utils.getDefaultHost)(),
port: config.client.port,
protocol: (0, import_common2.getHttpSecureProtocol)(config.client.secure),
status: "ON"
}
},
ClientModule.buildServerConfig(config.server)
];
if (config.gateway) {
providers.push({
provide: import_constants.GATEWAY_OPTIONS,
useValue: config.gateway
});
}
if (config.enableSecurity) {
imports.push(import_security.SecurityModule.register(config.security || {}));
providers.push({
provide: import_constants.CLIENT_SERVICE,
useClass: import_services.SecureClientService
});
} else {
providers.push({
provide: import_constants.CLIENT_SERVICE,
useClass: import_services.PlainClientService
});
}
return {
module: ClientModule,
imports,
providers,
exports: [import_constants.SERVER_INFO, import_constants.INSTANCE_INFO, import_discovery.DiscoveryModule],
global: true
};
}
configure(consumer) {
if (ClientModule._swaggerEndpoint) {
consumer.apply(import_middlewares.SwaggerInitMiddleware, import_middlewares.SwaggerAssetsMiddleware, import_middlewares.GatewaySwaggerMiddleware).forRoutes(ClientModule._swaggerEndpoint);
}
}
static buildServerConfig(config) {
if (config instanceof URL) {
return {
provide: import_constants.SERVER_INFO,
useValue: config
};
}
return {
provide: import_constants.SERVER_INFO,
useValue: {
...config,
port: config.port || import_common2.DEFAULT_SERVER_PORT,
protocol: (0, import_common2.getHttpSecureProtocol)(config.secure)
}
};
}
};
ClientModule = __decorateClass([
(0, import_common.Module)({})
], ClientModule);
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ClientModule
});
//# sourceMappingURL=client.module.js.map