@conduitplatform/module-tools 0.16.4 → 0.16.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/classes/ConduitServiceModule.d.ts +1 -1
  2. package/dist/index.cjs +1776 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.esm.js +1749 -0
  5. package/dist/index.esm.js.map +1 -0
  6. package/package.json +24 -5
  7. package/dist/ManagedModule.js +0 -221
  8. package/dist/ManagedModule.js.map +0 -1
  9. package/dist/classes/ConduitActiveSchema.js +0 -44
  10. package/dist/classes/ConduitActiveSchema.js.map +0 -1
  11. package/dist/classes/ConduitServiceModule.js +0 -110
  12. package/dist/classes/ConduitServiceModule.js.map +0 -1
  13. package/dist/classes/ConfigController.js +0 -16
  14. package/dist/classes/ConfigController.js.map +0 -1
  15. package/dist/classes/GrpcServer.js +0 -121
  16. package/dist/classes/GrpcServer.js.map +0 -1
  17. package/dist/classes/index.js +0 -5
  18. package/dist/classes/index.js.map +0 -1
  19. package/dist/helpers/GrpcHelper.js +0 -38
  20. package/dist/helpers/GrpcHelper.js.map +0 -1
  21. package/dist/helpers/GrpcToParsedRouterRequest.js +0 -15
  22. package/dist/helpers/GrpcToParsedRouterRequest.js.map +0 -1
  23. package/dist/helpers/TypeHelpers.js +0 -79
  24. package/dist/helpers/TypeHelpers.js.map +0 -1
  25. package/dist/helpers/index.js +0 -5
  26. package/dist/helpers/index.js.map +0 -1
  27. package/dist/helpers/wrapGrpcFunctions.js +0 -48
  28. package/dist/helpers/wrapGrpcFunctions.js.map +0 -1
  29. package/dist/index.js +0 -7
  30. package/dist/index.js.map +0 -1
  31. package/dist/interfaces/ConduitService.js +0 -2
  32. package/dist/interfaces/ConduitService.js.map +0 -1
  33. package/dist/interfaces/ModuleLifecycleStage.js +0 -9
  34. package/dist/interfaces/ModuleLifecycleStage.js.map +0 -1
  35. package/dist/interfaces/index.js +0 -3
  36. package/dist/interfaces/index.js.map +0 -1
  37. package/dist/logging/index.js +0 -124
  38. package/dist/logging/index.js.map +0 -1
  39. package/dist/metrics/MetricsServer.js +0 -42
  40. package/dist/metrics/MetricsServer.js.map +0 -1
  41. package/dist/metrics/clientMiddleware.js +0 -120
  42. package/dist/metrics/clientMiddleware.js.map +0 -1
  43. package/dist/metrics/config/defaults.js +0 -91
  44. package/dist/metrics/config/defaults.js.map +0 -1
  45. package/dist/metrics/index.js +0 -109
  46. package/dist/metrics/index.js.map +0 -1
  47. package/dist/routing/ProxyRouteBuilder.js +0 -74
  48. package/dist/routing/ProxyRouteBuilder.js.map +0 -1
  49. package/dist/routing/RouteBuilder.js +0 -100
  50. package/dist/routing/RouteBuilder.js.map +0 -1
  51. package/dist/routing/RoutingController.js +0 -21
  52. package/dist/routing/RoutingController.js.map +0 -1
  53. package/dist/routing/RoutingManager.js +0 -140
  54. package/dist/routing/RoutingManager.js.map +0 -1
  55. package/dist/routing/RoutingUtilities.js +0 -9
  56. package/dist/routing/RoutingUtilities.js.map +0 -1
  57. package/dist/routing/index.js +0 -6
  58. package/dist/routing/index.js.map +0 -1
  59. package/dist/routing/wrapRouterFunctions.js +0 -120
  60. package/dist/routing/wrapRouterFunctions.js.map +0 -1
  61. package/dist/utilities/convictConfigParser.js +0 -14
  62. package/dist/utilities/convictConfigParser.js.map +0 -1
  63. package/dist/utilities/index.js +0 -4
  64. package/dist/utilities/index.js.map +0 -1
  65. package/dist/utilities/initializeSdk.js +0 -35
  66. package/dist/utilities/initializeSdk.js.map +0 -1
  67. package/dist/utilities/linearBackoffTimeout.js +0 -57
  68. package/dist/utilities/linearBackoffTimeout.js.map +0 -1
  69. package/dist/utilities/merge.js +0 -11
  70. package/dist/utilities/merge.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/classes/ConduitActiveSchema.ts","../src/helpers/TypeHelpers.ts","../src/helpers/GrpcHelper.ts","../src/helpers/wrapGrpcFunctions.ts","../src/helpers/GrpcToParsedRouterRequest.ts","../src/classes/GrpcServer.ts","../src/routing/RouteBuilder.ts","../src/routing/wrapRouterFunctions.ts","../src/routing/RoutingUtilities.ts","../src/routing/ProxyRouteBuilder.ts","../src/routing/RoutingManager.ts","../src/classes/ConduitServiceModule.ts","../src/classes/ConfigController.ts","../src/interfaces/ModuleLifecycleStage.ts","../src/logging/index.ts","../src/metrics/MetricsServer.ts","../src/metrics/config/defaults.ts","../src/metrics/index.ts","../src/metrics/clientMiddleware.ts","../src/utilities/initializeSdk.ts","../src/utilities/linearBackoffTimeout.ts","../src/utilities/merge.ts","../src/utilities/convictConfigParser.ts","../src/routing/RoutingController.ts","../src/ManagedModule.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__filename","__dirname","clearTimeout","_mergeWith"],"mappings":"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"}
package/package.json CHANGED
@@ -1,20 +1,33 @@
1
1
  {
2
2
  "name": "@conduitplatform/module-tools",
3
- "version": "0.16.4",
4
- "main": "dist/index.js",
3
+ "version": "0.16.6",
4
+ "main": "dist/index.cjs",
5
+ "module": "dist/index.esm.js",
5
6
  "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": {
10
+ "default": "./dist/index.esm.js",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "require": {
14
+ "default": "./dist/index.cjs",
15
+ "types": "./dist/index.d.ts"
16
+ }
17
+ }
18
+ },
6
19
  "engines": {
7
20
  "node": ">=14"
8
21
  },
9
22
  "type": "module",
10
23
  "scripts": {
11
24
  "prepublish": "npm run build",
12
- "build": "rimraf dist && tsc",
25
+ "build": "rimraf dist && rollup -c",
13
26
  "postbuild": "copyfiles -u 1 src/*.proto src/**/*.json ./dist/"
14
27
  },
15
28
  "license": "MIT",
16
29
  "dependencies": {
17
- "@grpc/grpc-js": "^1.9.7",
30
+ "@grpc/grpc-js": "^1.10.9",
18
31
  "@grpc/proto-loader": "^0.7.6",
19
32
  "abort-controller-x": "^0.4.1",
20
33
  "convict": "^6.2.4",
@@ -40,6 +53,9 @@
40
53
  },
41
54
  "devDependencies": {
42
55
  "@conduitplatform/grpc-sdk": "*",
56
+ "@rollup/plugin-commonjs": "^26.0.1",
57
+ "@rollup/plugin-json": "^6.1.0",
58
+ "@rollup/plugin-typescript": "^11.1.6",
43
59
  "@types/convict": "^6.1.6",
44
60
  "@types/express": "^4.17.21",
45
61
  "@types/fs-extra": "^11.0.4",
@@ -48,11 +64,14 @@
48
64
  "@types/node": "20.11.24",
49
65
  "copyfiles": "^2.4.1",
50
66
  "rimraf": "^5.0.5",
67
+ "rollup": "^4.18.0",
68
+ "ts-node": "^10.9.2",
51
69
  "ts-proto": "^1.167.1",
70
+ "tslib": "^2.6.3",
52
71
  "typescript": "~5.3.3"
53
72
  },
54
73
  "peerDependencies": {
55
74
  "@conduitplatform/grpc-sdk": "*",
56
- "@grpc/grpc-js": "^1.9.7"
75
+ "@grpc/grpc-js": "^1.10.9"
57
76
  }
58
77
  }
@@ -1,221 +0,0 @@
1
- import { ConduitServiceModule, ConfigController, GrpcServer } from './classes/index.js';
2
- import { kebabCase } from 'lodash-es';
3
- import { status } from '@grpc/grpc-js';
4
- import convict from 'convict';
5
- import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
6
- import { initializeSdk, merge } from './utilities/index.js';
7
- import { convictConfigParser } from './utilities/convictConfigParser.js';
8
- import { RoutingManager } from './routing/index.js';
9
- import { RoutingController } from './routing/RoutingController.js';
10
- import { ModuleLifecycleStage } from './interfaces/index.js';
11
- export class ManagedModule extends ConduitServiceModule {
12
- constructor(moduleName) {
13
- var _a;
14
- super(moduleName);
15
- this.configOverride = false;
16
- this._moduleState = ModuleLifecycleStage.CREATE_GRPC;
17
- if (!process.env.CONDUIT_SERVER) {
18
- throw new Error('CONDUIT_SERVER is undefined, specify Conduit server URL');
19
- }
20
- this.servicePort = (_a = process.env.GRPC_PORT) !== null && _a !== void 0 ? _a : '5000';
21
- this.serviceAddress =
22
- // @compat (v0.15): SERVICE_IP -> SERVICE_URL
23
- process.env.SERVICE_URL || process.env.SERVICE_IP || '0.0.0.0:' + this.servicePort;
24
- try {
25
- this.grpcSdk = initializeSdk(process.env.CONDUIT_SERVER, this.name, true, () => {
26
- return this.healthState;
27
- });
28
- }
29
- catch (e) {
30
- throw new Error('Failed to initialize grpcSdk');
31
- }
32
- }
33
- get name() {
34
- return this._moduleName;
35
- }
36
- get address() {
37
- return this._address;
38
- }
39
- async start() {
40
- await this.grpcSdk.initialize();
41
- this.initialize(this.serviceAddress, this.servicePort);
42
- try {
43
- await this.preRegisterLifecycle();
44
- await this.grpcSdk.config.registerModule(this.name, this.address, this.healthState);
45
- }
46
- catch (err) {
47
- ConduitGrpcSdk.Logger.error('Failed to initialize server');
48
- ConduitGrpcSdk.Logger.error(err);
49
- process.exit(-1);
50
- }
51
- await this.postRegisterLifecycle().catch((err) => {
52
- ConduitGrpcSdk.Logger.error('Failed to activate module');
53
- ConduitGrpcSdk.Logger.error(err);
54
- process.exit(-1);
55
- });
56
- }
57
- /**
58
- * This is the first function triggered on module spin up.
59
- * @param address {string} external address:port of service (LoadBalancer)
60
- * @param port {string} port to bring up gRPC service
61
- */
62
- initialize(address, port) {
63
- this._address = address;
64
- this._port = port;
65
- if (this.configSchema) {
66
- this.config = convict(this.configSchema);
67
- }
68
- }
69
- /**
70
- * This is triggered before spinning up the Grpc Server
71
- * of the module. On this stage, the redis bus and state have
72
- * not yet been initialized, and only communications with Conduit core
73
- * have been established.
74
- */
75
- async preServerStart() { }
76
- /**
77
- * This is triggered right after Grpc Server start.
78
- * At this stage the core module will communicate with your service
79
- * for health checks, and the Bus and State management mechanics
80
- * are online and available.
81
- */
82
- async onServerStart() { }
83
- /**
84
- * Triggers right before registering the module with Conduit Core.
85
- */
86
- async preRegister() { }
87
- /**
88
- * Triggers when module has been registered with Conduit Core
89
- * This is the step where you should initialize your
90
- * module's general routing (admin or client) and any other operation,
91
- * that would require other modules being able to reach you
92
- */
93
- async onRegister() { }
94
- /**
95
- * This is triggered when the module receives new configuration.
96
- * At this step the configuration has not been checked yet,
97
- * and has only been parsed.
98
- * @param config
99
- */
100
- async preConfig(config) {
101
- return config;
102
- }
103
- /**
104
- * This is triggered when new configuration has been applied.
105
- * This happens either when changes are being made on the configuration,
106
- * or on module start up, where the config is recovered from the database.
107
- * In either case the configuration is now available through the
108
- * Config Controller of the sdk.
109
- */
110
- async onConfig() { }
111
- /**
112
- * Registers common and module-specific metric types.
113
- */
114
- async registerMetrics() {
115
- if (ConduitGrpcSdk.Metrics) {
116
- ConduitGrpcSdk.Metrics.initializeDefaultMetrics();
117
- if (this.metricsSchema) {
118
- Object.values(this.metricsSchema).forEach(metric => {
119
- ConduitGrpcSdk.Metrics.registerMetric(metric.type, metric.config);
120
- });
121
- }
122
- }
123
- }
124
- /**
125
- * Initializes metric startup values.
126
- * Implemented by individual modules.
127
- */
128
- async initializeMetrics() { }
129
- async createGrpcServer() {
130
- this.grpcServer = new GrpcServer(this._port);
131
- this._port = (await this.grpcServer.createNewServer()).toString();
132
- }
133
- async startGrpcServer() {
134
- if (this.service) {
135
- this._serviceName = this.service.protoDescription.substring(this.service.protoDescription.indexOf('.') + 1);
136
- await this.grpcServer.addService(this.service.protoPath, this.service.protoDescription, this.service.functions);
137
- }
138
- RoutingManager.ClientController = new RoutingController();
139
- RoutingManager.AdminController = new RoutingController();
140
- await this.addHealthCheckService();
141
- await this.addModuleService();
142
- await this.grpcServer.start();
143
- ConduitGrpcSdk.Logger.log('gRPC server listening on ' + this._port);
144
- }
145
- async setConfig(call, callback) {
146
- var _a;
147
- try {
148
- if (!this.config) {
149
- return callback({
150
- code: status.INVALID_ARGUMENT,
151
- message: 'Module is not configurable',
152
- });
153
- }
154
- let config = JSON.parse(call.request.newConfig);
155
- config = merge(this.config.getProperties(), config);
156
- config = await this.preConfig(config);
157
- const previousConfig = this.config.getProperties();
158
- try {
159
- this.config.load(config).validate({
160
- allowed: 'warn',
161
- });
162
- config = this.config.getProperties();
163
- callback(null, { updatedConfig: JSON.stringify(config) });
164
- }
165
- catch (e) {
166
- this.config = convict(this.configSchema);
167
- this.config.load(previousConfig);
168
- return callback({
169
- code: status.INVALID_ARGUMENT,
170
- message: 'Invalid configuration values: ' + e.message,
171
- });
172
- }
173
- ConfigController.getInstance().config = config;
174
- await this.onConfig();
175
- (_a = this.grpcSdk.bus) === null || _a === void 0 ? void 0 : _a.publish(kebabCase(this.name) + ':config:update', JSON.stringify(config));
176
- }
177
- catch (e) {
178
- return callback({ code: status.INTERNAL, message: e.message });
179
- }
180
- }
181
- /** Used to update the module's configuration on initial Redis/DB reconciliation. */
182
- async handleConfigSyncUpdate() {
183
- if (!this.config)
184
- return;
185
- this.grpcSdk.bus.subscribe(`${kebabCase(this.name)}:config:update`, async (message) => {
186
- ConfigController.getInstance().config = await this.preConfig(JSON.parse(message));
187
- await this.onConfig();
188
- });
189
- }
190
- async preRegisterLifecycle() {
191
- await this.createGrpcServer();
192
- this._moduleState = ModuleLifecycleStage.PRE_SERVER_START;
193
- await this.preServerStart();
194
- await this.grpcSdk.initializeEventBus();
195
- await this.handleConfigSyncUpdate();
196
- await this.registerMetrics();
197
- await this.startGrpcServer();
198
- this._moduleState = ModuleLifecycleStage.SERVER_STARTED;
199
- await this.onServerStart();
200
- await this.initializeMetrics();
201
- this._moduleState = ModuleLifecycleStage.PRE_REGISTER;
202
- await this.preRegister();
203
- }
204
- async postRegisterLifecycle() {
205
- this._moduleState = ModuleLifecycleStage.POST_REGISTER;
206
- this.registered = true;
207
- await this.onRegister();
208
- if (this.config) {
209
- const configSchema = this.config.getSchema();
210
- let config = this.config.getProperties();
211
- config = await this.preConfig(config);
212
- config = await this.grpcSdk.config.configure(config, convictConfigParser(configSchema), this.configOverride);
213
- ConfigController.getInstance();
214
- if (config)
215
- ConfigController.getInstance().config = config;
216
- if (!config || config.active || !config.hasOwnProperty('active'))
217
- await this.onConfig();
218
- }
219
- }
220
- }
221
- //# sourceMappingURL=ManagedModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManagedModule.js","sourceRoot":"","sources":["../src/ManagedModule.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import { ConduitSchema, } from '@conduitplatform/grpc-sdk';
2
- export class ConduitActiveSchema extends ConduitSchema {
3
- constructor(dbInstance, name, fields, modelOptions, collectionName) {
4
- super(name, fields !== null && fields !== void 0 ? fields : {}, modelOptions, collectionName);
5
- this.dbInstance = dbInstance;
6
- }
7
- findOne(query, select, populate, userId, scope) {
8
- return this.dbInstance.findOne(this.name, query, select, populate, userId, scope);
9
- }
10
- findMany(query, select, skip, limit, sort, populate, userId, scope) {
11
- return this.dbInstance.findMany(this.name, query, select, skip, limit, sort, populate, userId, scope);
12
- }
13
- create(query, userId, scope) {
14
- return this.dbInstance.create(this.name, query, userId, scope);
15
- }
16
- createMany(query, userId, scope) {
17
- return this.dbInstance.createMany(this.name, query, userId, scope);
18
- }
19
- findByIdAndUpdate(id, document, populate, userId, scope) {
20
- return this.dbInstance.findByIdAndUpdate(this.name, id, document, populate, userId, scope);
21
- }
22
- findByIdAndReplace(id, document, populate, userId, scope) {
23
- return this.dbInstance.findByIdAndReplace(this.name, id, document, populate, userId, scope);
24
- }
25
- replaceOne(filterQuery, query, populate, userId, scope) {
26
- return this.dbInstance.replaceOne(this.name, filterQuery, query, populate, userId, scope);
27
- }
28
- updateOne(filterQuery, query, populate, userId, scope) {
29
- return this.dbInstance.updateOne(this.name, filterQuery, query, populate, userId, scope);
30
- }
31
- updateMany(filterQuery, query, populate, userId, scope) {
32
- return this.dbInstance.updateMany(this.name, filterQuery, query, populate, userId, scope);
33
- }
34
- deleteOne(query, userId, scope) {
35
- return this.dbInstance.deleteOne(this.name, query, userId, scope);
36
- }
37
- deleteMany(query, userId, scope) {
38
- return this.dbInstance.deleteMany(this.name, query, userId, scope);
39
- }
40
- countDocuments(query, userId, scope) {
41
- return this.dbInstance.countDocuments(this.name, query, userId, scope);
42
- }
43
- }
44
- //# sourceMappingURL=ConduitActiveSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConduitActiveSchema.js","sourceRoot":"","sources":["../../src/classes/ConduitActiveSchema.ts"],"names":[],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import path from 'path';
2
- import { EventEmitter } from 'events';
3
- import { camelCase } from 'lodash-es';
4
- import ConduitGrpcSdk, { HealthCheckResponse_ServingStatus, HealthCheckStatus, } from '@conduitplatform/grpc-sdk';
5
- import { RoutingManager } from '../routing/index.js';
6
- import { fileURLToPath } from 'node:url';
7
- const __filename = fileURLToPath(import.meta.url);
8
- const __dirname = path.dirname(__filename);
9
- export class ConduitServiceModule {
10
- constructor(moduleName) {
11
- this.events = new EventEmitter();
12
- this._serviceHealthState = HealthCheckStatus.SERVING; // default for health-agnostic modules
13
- this._registered = false;
14
- this._moduleName = camelCase(moduleName);
15
- }
16
- set registered(registered) {
17
- this._registered = registered;
18
- }
19
- get port() {
20
- return this._port;
21
- }
22
- get grpcSdk() {
23
- if (!this._grpcSdk)
24
- throw new Error('grpcSdk not defined yet');
25
- return this._grpcSdk;
26
- }
27
- set grpcSdk(grpcSdk) {
28
- if (this._grpcSdk)
29
- throw new Error('grpcSdk already defined');
30
- this._grpcSdk = grpcSdk;
31
- }
32
- get healthState() {
33
- return this._serviceHealthState;
34
- }
35
- updateHealth(state, init = false) {
36
- var _a, _b;
37
- if ((state === HealthCheckStatus.UNKNOWN && !init) ||
38
- state === HealthCheckStatus.SERVICE_UNKNOWN) {
39
- throw new Error(`Cannot explicitly set gRPC health state to ${HealthCheckStatus[state]}`);
40
- }
41
- if (!init) {
42
- (_a = ConduitGrpcSdk.Metrics) === null || _a === void 0 ? void 0 : _a.set('module_health_state', state === HealthCheckStatus.SERVING ? 1 : 0);
43
- }
44
- if (init) {
45
- this._serviceHealthState = state;
46
- return;
47
- }
48
- if (this._serviceHealthState !== state) {
49
- this._serviceHealthState = state;
50
- // do not emit health updates until registered
51
- if (this._registered) {
52
- this.events.emit(`grpc-health-change:${this._serviceName}`, state);
53
- (_b = this._grpcSdk) === null || _b === void 0 ? void 0 : _b.config.moduleHealthProbe(this._moduleName, this._address);
54
- }
55
- }
56
- }
57
- healthCheck(call, callback) {
58
- const service = call.request.service.substring(call.request.service.indexOf('.') + 1);
59
- if (service && service !== this._serviceName) {
60
- callback(null, {
61
- status: HealthCheckStatus.SERVICE_UNKNOWN,
62
- });
63
- }
64
- else {
65
- if (!this._registered) {
66
- return callback(null, {
67
- status: HealthCheckResponse_ServingStatus.UNKNOWN,
68
- });
69
- }
70
- callback(null, {
71
- status: this._serviceHealthState,
72
- });
73
- }
74
- }
75
- healthWatch(call) {
76
- const service = call.request.service.substring(call.request.service.indexOf('.') + 1);
77
- if (service && service !== this._serviceName) {
78
- call.write({
79
- status: HealthCheckStatus.SERVICE_UNKNOWN,
80
- });
81
- }
82
- else {
83
- this.events.on(`grpc-health-change:${this._serviceName}`, (status) => {
84
- call.write({
85
- status: status,
86
- });
87
- });
88
- }
89
- }
90
- async addHealthCheckService() {
91
- await this.grpcServer.addService(path.resolve(__dirname, '../grpc_health_check.proto'), 'grpc.health.v1.Health', {
92
- Check: this.healthCheck.bind(this),
93
- Watch: this.healthWatch.bind(this),
94
- });
95
- }
96
- async addModuleService() {
97
- await this.grpcServer.addService(path.resolve(__dirname, '../module.proto'), 'conduit.module.v1.ConduitModule', {
98
- SetConfig: this.setConfig.bind(this),
99
- });
100
- await this.grpcServer.addService(path.resolve(__dirname, '../module.proto'), 'conduit.module.v1.ClientRouter', {
101
- Route: RoutingManager.ClientController.handleRequest.bind(RoutingManager.ClientController),
102
- SocketRoute: RoutingManager.ClientController.handleRequest.bind(RoutingManager.ClientController),
103
- });
104
- await this.grpcServer.addService(path.resolve(__dirname, '../module.proto'), 'conduit.module.v1.AdminRouter', {
105
- Route: RoutingManager.AdminController.handleRequest.bind(RoutingManager.AdminController),
106
- SocketRoute: RoutingManager.AdminController.handleRequest.bind(RoutingManager.AdminController),
107
- });
108
- }
109
- }
110
- //# sourceMappingURL=ConduitServiceModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export class ConfigController {
2
- get config() {
3
- // return copy of config and not the original object;
4
- return Object.assign({}, this._config);
5
- }
6
- set config(config) {
7
- this._config = config;
8
- }
9
- static getInstance() {
10
- if (!ConfigController.instance) {
11
- ConfigController.instance = new ConfigController();
12
- }
13
- return ConfigController.instance;
14
- }
15
- }
16
- //# sourceMappingURL=ConfigController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigController.js","sourceRoot":"","sources":["../../src/classes/ConfigController.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAK3B,IAAI,MAAM;QACR,qDAAqD;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,MAAW;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;CACF"}