jitar 0.1.3 → 0.2.0

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 (71) hide show
  1. package/dist/lib.d.ts +27 -1
  2. package/dist/lib.js +24 -1
  3. package/dist/runtime/serialization/ArrayBufferSerializer.d.ts +10 -0
  4. package/dist/runtime/serialization/ArrayBufferSerializer.js +54 -0
  5. package/dist/runtime/serialization/DateSerializer.d.ts +9 -0
  6. package/dist/runtime/serialization/DateSerializer.js +21 -0
  7. package/dist/runtime/serialization/ValueSerializer.d.ts +1 -0
  8. package/dist/runtime/serialization/ValueSerializer.js +24 -1
  9. package/dist/runtime/serialization/types/SerializedArrayBuffer.d.ts +6 -0
  10. package/dist/runtime/serialization/types/SerializedArrayBuffer.js +1 -0
  11. package/dist/runtime/serialization/types/SerializedDate.d.ts +5 -0
  12. package/dist/runtime/serialization/types/SerializedDate.js +1 -0
  13. package/dist/runtime/serialization/types/TypedArray.d.ts +2 -0
  14. package/dist/runtime/serialization/types/TypedArray.js +1 -0
  15. package/package.json +3 -19
  16. package/dist/server/JitarServer.d.ts +0 -8
  17. package/dist/server/JitarServer.js +0 -109
  18. package/dist/server/configuration/GatewayConfiguration.d.ts +0 -3
  19. package/dist/server/configuration/GatewayConfiguration.js +0 -18
  20. package/dist/server/configuration/NodeConfiguration.d.ts +0 -5
  21. package/dist/server/configuration/NodeConfiguration.js +0 -28
  22. package/dist/server/configuration/ProxyConfiguration.d.ts +0 -5
  23. package/dist/server/configuration/ProxyConfiguration.js +0 -29
  24. package/dist/server/configuration/RepositoryConfiguration.d.ts +0 -6
  25. package/dist/server/configuration/RepositoryConfiguration.js +0 -36
  26. package/dist/server/configuration/RuntimeConfiguration.d.ts +0 -13
  27. package/dist/server/configuration/RuntimeConfiguration.js +0 -48
  28. package/dist/server/configuration/ServerOptions.d.ts +0 -4
  29. package/dist/server/configuration/ServerOptions.js +0 -25
  30. package/dist/server/configuration/StandaloneConfiguration.d.ts +0 -7
  31. package/dist/server/configuration/StandaloneConfiguration.js +0 -42
  32. package/dist/server/controllers/AssetsController.d.ts +0 -8
  33. package/dist/server/controllers/AssetsController.js +0 -50
  34. package/dist/server/controllers/HealthController.d.ts +0 -10
  35. package/dist/server/controllers/HealthController.js +0 -47
  36. package/dist/server/controllers/JitarController.d.ts +0 -4
  37. package/dist/server/controllers/JitarController.js +0 -26
  38. package/dist/server/controllers/ModulesController.d.ts +0 -10
  39. package/dist/server/controllers/ModulesController.js +0 -68
  40. package/dist/server/controllers/NodesController.d.ts +0 -9
  41. package/dist/server/controllers/NodesController.js +0 -60
  42. package/dist/server/controllers/ProceduresController.d.ts +0 -10
  43. package/dist/server/controllers/ProceduresController.js +0 -35
  44. package/dist/server/controllers/ProxyController.d.ts +0 -7
  45. package/dist/server/controllers/ProxyController.js +0 -37
  46. package/dist/server/controllers/RPCController.d.ts +0 -9
  47. package/dist/server/controllers/RPCController.js +0 -146
  48. package/dist/server/definitions/RuntimeDefaults.d.ts +0 -7
  49. package/dist/server/definitions/RuntimeDefaults.js +0 -8
  50. package/dist/server/errors/MissingConfigurationValue.d.ts +0 -3
  51. package/dist/server/errors/MissingConfigurationValue.js +0 -5
  52. package/dist/server/errors/RuntimeNotAvaiable.d.ts +0 -3
  53. package/dist/server/errors/RuntimeNotAvaiable.js +0 -5
  54. package/dist/server/errors/UnknownRuntimeMode.d.ts +0 -3
  55. package/dist/server/errors/UnknownRuntimeMode.js +0 -5
  56. package/dist/server/models/HealthDto.d.ts +0 -4
  57. package/dist/server/models/HealthDto.js +0 -22
  58. package/dist/server/models/NodeDto.d.ts +0 -4
  59. package/dist/server/models/NodeDto.js +0 -22
  60. package/dist/server/utils/DataConverter.d.ts +0 -4
  61. package/dist/server/utils/DataConverter.js +0 -9
  62. package/dist/server/utils/LocalFileManager.d.ts +0 -21
  63. package/dist/server/utils/LocalFileManager.js +0 -81
  64. package/dist/server/utils/RuntimeConfigurationLoader.d.ts +0 -4
  65. package/dist/server/utils/RuntimeConfigurationLoader.js +0 -11
  66. package/dist/server/utils/RuntimeConfigurator.d.ts +0 -6
  67. package/dist/server/utils/RuntimeConfigurator.js +0 -135
  68. package/dist/server/utils/ServerOptionsReader.d.ts +0 -4
  69. package/dist/server/utils/ServerOptionsReader.js +0 -10
  70. package/dist/server.d.ts +0 -3
  71. package/dist/server.js +0 -8
package/dist/lib.d.ts CHANGED
@@ -1,4 +1,30 @@
1
1
  export { default as HealthCheck } from './runtime/interfaces/HealthCheck.js';
2
+ export { default as Version } from './core/Version.js';
3
+ export { default as ImplementationNotFound } from './core/errors/ImplementationNotFound.js';
4
+ export { default as InvalidVersionNumber } from './core/errors/InvalidVersionNumber.js';
5
+ export { default as MissingParameterValue } from './core/errors/MissingParameterValue.js';
6
+ export { default as ProcedureNotFound } from './core/errors/ProcedureNotFound.js';
7
+ export { default as UnknownParameter } from './core/errors/UnknownParameter.js';
8
+ export { default as FileNotFound } from './runtime/errors/FileNotFound.js';
9
+ export { default as LocalRepository } from './runtime/LocalRepository.js';
10
+ export { default as LocalNode } from './runtime/LocalNode.js';
11
+ export { default as Proxy } from './runtime/Proxy.js';
12
+ export { default as ValueSerializer } from './runtime/serialization/ValueSerializer.js';
13
+ export { default as ClientId } from './runtime/ClientId.js';
14
+ export { default as RemoteNode } from './runtime/RemoteNode.js';
15
+ export { default as LocalGateway } from './runtime/LocalGateway.js';
16
+ export { default as ProcedureContainer } from './runtime/interfaces/ProcedureContainer.js';
17
+ export { default as FileManager } from './runtime/interfaces/FileManager.js';
18
+ export { default as File } from './runtime/models/File.js';
19
+ export { default as CacheBuilder } from './runtime/caching/CacheBuilder.js';
20
+ export { default as Gateway } from './runtime/Gateway.js';
21
+ export { default as Node } from './runtime/Node.js';
22
+ export { default as NodeMonitor } from './runtime/NodeMonitor.js';
23
+ export { default as RemoteGateway } from './runtime/RemoteGateway.js';
24
+ export { default as Repository } from './runtime/Repository.js';
25
+ export { default as Runtime } from './runtime/Runtime.js';
26
+ export { default as RemoteRepository } from './runtime/RemoteRepository.js';
27
+ export { default as ModuleImporter } from './runtime/types/ModuleImporter.js';
28
+ export { default as ModuleLoader } from './runtime/utils/ModuleLoader.js';
2
29
  export * from './client.js';
3
- export * from './server.js';
4
30
  export * from './hooks.js';
package/dist/lib.js CHANGED
@@ -1,3 +1,26 @@
1
+ export { default as Version } from './core/Version.js';
2
+ export { default as ImplementationNotFound } from './core/errors/ImplementationNotFound.js';
3
+ export { default as InvalidVersionNumber } from './core/errors/InvalidVersionNumber.js';
4
+ export { default as MissingParameterValue } from './core/errors/MissingParameterValue.js';
5
+ export { default as ProcedureNotFound } from './core/errors/ProcedureNotFound.js';
6
+ export { default as UnknownParameter } from './core/errors/UnknownParameter.js';
7
+ export { default as FileNotFound } from './runtime/errors/FileNotFound.js';
8
+ export { default as LocalRepository } from './runtime/LocalRepository.js';
9
+ export { default as LocalNode } from './runtime/LocalNode.js';
10
+ export { default as Proxy } from './runtime/Proxy.js';
11
+ export { default as ValueSerializer } from './runtime/serialization/ValueSerializer.js';
12
+ export { default as ClientId } from './runtime/ClientId.js';
13
+ export { default as RemoteNode } from './runtime/RemoteNode.js';
14
+ export { default as LocalGateway } from './runtime/LocalGateway.js';
15
+ export { default as File } from './runtime/models/File.js';
16
+ export { default as CacheBuilder } from './runtime/caching/CacheBuilder.js';
17
+ export { default as Gateway } from './runtime/Gateway.js';
18
+ export { default as Node } from './runtime/Node.js';
19
+ export { default as NodeMonitor } from './runtime/NodeMonitor.js';
20
+ export { default as RemoteGateway } from './runtime/RemoteGateway.js';
21
+ export { default as Repository } from './runtime/Repository.js';
22
+ export { default as Runtime } from './runtime/Runtime.js';
23
+ export { default as RemoteRepository } from './runtime/RemoteRepository.js';
24
+ export { default as ModuleLoader } from './runtime/utils/ModuleLoader.js';
1
25
  export * from './client.js';
2
- export * from './server.js';
3
26
  export * from './hooks.js';
@@ -0,0 +1,10 @@
1
+ import Serializer from './interfaces/Serializer.js';
2
+ import SerializedArrayBuffer from './types/SerializedArrayBuffer.js';
3
+ import TypedArray from './types/TypedArray.js';
4
+ declare class ArrayBufferSerializer implements Serializer {
5
+ #private;
6
+ serialize(data: TypedArray): SerializedArrayBuffer;
7
+ deserialize(object: SerializedArrayBuffer): Promise<TypedArray>;
8
+ }
9
+ declare const instance: ArrayBufferSerializer;
10
+ export default instance;
@@ -0,0 +1,54 @@
1
+ import InvalidPropertyType from './errors/InvalidPropertyType.js';
2
+ import ReflectionHelper from '../../core/reflection/ReflectionHelper.js';
3
+ class ArrayBufferSerializer {
4
+ serialize(data) {
5
+ const type = data.constructor.name;
6
+ const view = new DataView(data.buffer);
7
+ const bytes = [];
8
+ for (let index = 0; index < view.byteLength; index++) {
9
+ bytes.push(view.getUint8(index));
10
+ }
11
+ const returnvalue = { serialized: true, name: 'ArrayBuffer', type: type, bytes: bytes };
12
+ return returnvalue;
13
+ }
14
+ async deserialize(object) {
15
+ this.#validateSerializedArrayBuffer(object);
16
+ const type = object.type;
17
+ const bytes = object.bytes;
18
+ const buffer = new ArrayBuffer(bytes.length);
19
+ const view = new DataView(buffer);
20
+ for (let index = 0; index < bytes.length; index++) {
21
+ view.setUint8(index, bytes[index]);
22
+ }
23
+ const clazz = globalThis[type];
24
+ return ReflectionHelper.createInstance(clazz, [buffer]);
25
+ }
26
+ #validateSerializedArrayBuffer(object) {
27
+ if ((object.bytes instanceof Array) === false) {
28
+ throw new InvalidPropertyType('ArrayBuffer', 'bytes', 'Array');
29
+ }
30
+ if (this.#isValidType(object.type) === false) {
31
+ throw new InvalidPropertyType('ArrayBuffer', 'type', 'TypedArray');
32
+ }
33
+ }
34
+ #isValidType(type) {
35
+ switch (type) {
36
+ case 'Int8Array':
37
+ case 'Uint8Array':
38
+ case 'Uint8ClampedArray':
39
+ case 'Int16Array':
40
+ case 'Uint16Array':
41
+ case 'Int32Array':
42
+ case 'Uint32Array':
43
+ case 'Float32Array':
44
+ case 'Float64Array':
45
+ case 'BigInt64Array':
46
+ case 'BigUint64Array':
47
+ return true;
48
+ default:
49
+ return false;
50
+ }
51
+ }
52
+ }
53
+ const instance = new ArrayBufferSerializer();
54
+ export default instance;
@@ -0,0 +1,9 @@
1
+ import Serializer from './interfaces/Serializer.js';
2
+ import SerializedDate from './types/SerializedDate.js';
3
+ declare class DateSerializer implements Serializer {
4
+ #private;
5
+ serialize(date: Date): SerializedDate;
6
+ deserialize(serializedDate: SerializedDate): Promise<Date>;
7
+ }
8
+ declare const instance: DateSerializer;
9
+ export default instance;
@@ -0,0 +1,21 @@
1
+ import InvalidPropertyType from './errors/InvalidPropertyType.js';
2
+ class DateSerializer {
3
+ serialize(date) {
4
+ return { serialized: true, name: 'Date', value: date.toISOString() };
5
+ }
6
+ async deserialize(serializedDate) {
7
+ this.#validateDate(serializedDate);
8
+ return new Date(serializedDate.value);
9
+ }
10
+ #validateDate(serializedDate) {
11
+ if (typeof serializedDate.value !== 'string') {
12
+ throw new InvalidPropertyType('date', 'value', 'string');
13
+ }
14
+ const date = Date.parse(serializedDate.value);
15
+ if (Number.isNaN(date)) {
16
+ throw new InvalidPropertyType('date', 'value', 'date');
17
+ }
18
+ }
19
+ }
20
+ const instance = new DateSerializer();
21
+ export default instance;
@@ -1,5 +1,6 @@
1
1
  import Serializer from './interfaces/Serializer.js';
2
2
  declare class ValueSerializer implements Serializer {
3
+ #private;
3
4
  serialize(value: unknown): unknown;
4
5
  deserialize(value: unknown): Promise<unknown>;
5
6
  }
@@ -1,12 +1,17 @@
1
1
  import ReflectionHelper from '../../core/reflection/ReflectionHelper.js';
2
+ import ArrayBufferSerializer from './ArrayBufferSerializer.js';
2
3
  import ArraySerializer from './ArraySerializer.js';
3
4
  import ClassSerializer from './ClassSerializer.js';
4
5
  import MapSerializer from './MapSerializer.js';
5
6
  import ObjectSerializer from './ObjectSerializer.js';
6
7
  import SetSerializer from './SetSerializer.js';
8
+ import DateSerializer from './DateSerializer.js';
7
9
  class ValueSerializer {
8
10
  serialize(value) {
9
- if (value instanceof Array) {
11
+ if (this.#isTypedArray(value)) {
12
+ return ArrayBufferSerializer.serialize(value);
13
+ }
14
+ else if (value instanceof Array) {
10
15
  return ArraySerializer.serialize(value);
11
16
  }
12
17
  else if (value instanceof Map) {
@@ -15,6 +20,9 @@ class ValueSerializer {
15
20
  else if (value instanceof Set) {
16
21
  return SetSerializer.serialize(value);
17
22
  }
23
+ if (value instanceof Date) {
24
+ return DateSerializer.serialize(value);
25
+ }
18
26
  else if (value instanceof Error) {
19
27
  return ClassSerializer.serialize(value);
20
28
  }
@@ -38,9 +46,24 @@ class ValueSerializer {
38
46
  switch (value.name) {
39
47
  case 'Map': return await MapSerializer.deserialize(value);
40
48
  case 'Set': return await SetSerializer.deserialize(value);
49
+ case 'Date': return await DateSerializer.deserialize(value);
50
+ case 'ArrayBuffer': return await ArrayBufferSerializer.deserialize(value);
41
51
  default: return await ClassSerializer.deserialize(value);
42
52
  }
43
53
  }
54
+ #isTypedArray(value) {
55
+ return (value instanceof Int8Array)
56
+ || (value instanceof Uint8Array)
57
+ || (value instanceof Uint8ClampedArray)
58
+ || (value instanceof Int16Array)
59
+ || (value instanceof Uint16Array)
60
+ || (value instanceof Int32Array)
61
+ || (value instanceof Uint32Array)
62
+ || (value instanceof Float32Array)
63
+ || (value instanceof Float64Array)
64
+ || (value instanceof BigInt64Array)
65
+ || (value instanceof BigUint64Array);
66
+ }
44
67
  }
45
68
  const instance = new ValueSerializer();
46
69
  export default instance;
@@ -0,0 +1,6 @@
1
+ import Serialized from './Serialized.js';
2
+ declare type SerializedArrayBuffer = Serialized & {
3
+ type: string;
4
+ bytes: number[];
5
+ };
6
+ export default SerializedArrayBuffer;
@@ -0,0 +1,5 @@
1
+ import Serialized from './Serialized.js';
2
+ declare type SerializedDate = Serialized & {
3
+ value: string;
4
+ };
5
+ export default SerializedDate;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
2
+ export default TypedArray;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jitar",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Distributed runtime for JavaScript and TypeScript to chop monolithic applications into micros.",
5
5
  "author": "Masking Technology <info@masking.tech> (https://jitar.dev)",
6
6
  "license": "MIT",
@@ -10,7 +10,6 @@
10
10
  "exports": {
11
11
  ".": "./dist/lib.js",
12
12
  "./client.js": "./dist/client.js",
13
- "./server.js": "./dist/server.js",
14
13
  "./hooks.js": "./dist/hooks.js"
15
14
  },
16
15
  "scripts": {
@@ -22,27 +21,12 @@
22
21
  "release": "npm run clean && npm run build && npm publish"
23
22
  },
24
23
  "dependencies": {
25
- "@overnightjs/core": "^1.7.6",
26
- "class-transformer": "^0.5.1",
27
- "class-validator": "^0.13.2",
28
- "express": "^4.18.1",
29
- "express-http-proxy": "^1.6.3",
30
- "fs-extra": "^10.1.0",
31
- "glob": "^8.0.3",
32
- "glob-promise": "^5.0.0",
33
- "mime-types": "^2.1.35",
34
- "tslog": "^3.3.3",
35
- "yargs": "^17.6.0"
24
+
36
25
  },
37
26
  "devDependencies": {
38
- "@types/express": "^4.17.13",
39
- "@types/express-http-proxy": "^1.6.3",
40
- "@types/fs-extra": "^9.0.13",
41
- "@types/jest": "^28.1.3",
42
- "@types/mime-types": "^2.1.1",
43
- "@types/yargs": "^17.0.13",
44
27
  "@typescript-eslint/eslint-plugin": "^5.29.0",
45
28
  "@typescript-eslint/parser": "^5.29.0",
29
+ "@types/jest": "^28.1.3",
46
30
  "eslint": "^8.18.0",
47
31
  "jest": "^28.1.3",
48
32
  "ts-jest": "^28.0.8"
@@ -1,8 +0,0 @@
1
- import { Server as OvernightServer } from '@overnightjs/core';
2
- import HealthCheck from '../runtime/interfaces/HealthCheck.js';
3
- export default class JitarServer extends OvernightServer {
4
- #private;
5
- constructor();
6
- start(): Promise<void>;
7
- addHealthCheck(name: string, healthCheck: HealthCheck): void;
8
- }
@@ -1,109 +0,0 @@
1
- import { Server as OvernightServer } from '@overnightjs/core';
2
- import bodyParser from 'body-parser';
3
- import { Logger } from 'tslog';
4
- import LocalGateway from '../runtime/LocalGateway.js';
5
- import LocalNode from '../runtime/LocalNode.js';
6
- import LocalRepository from '../runtime/LocalRepository.js';
7
- import Proxy from '../runtime/Proxy.js';
8
- import RuntimeConfigurationLoader from './utils/RuntimeConfigurationLoader.js';
9
- import RuntimeConfigurator from './utils/RuntimeConfigurator.js';
10
- import ServerOptionsReader from './utils/ServerOptionsReader.js';
11
- import AssetsController from './controllers/AssetsController.js';
12
- import HealthController from './controllers/HealthController.js';
13
- import JitarController from './controllers/JitarController.js';
14
- import ModulesController from './controllers/ModulesController.js';
15
- import NodesController from './controllers/NodesController.js';
16
- import ProceduresController from './controllers/ProceduresController.js';
17
- import ProxyController from './controllers/ProxyController.js';
18
- import RPCController from './controllers/RPCController.js';
19
- import RuntimeDefaults from './definitions/RuntimeDefaults.js';
20
- import RuntimeNotAvaiable from './errors/RuntimeNotAvaiable.js';
21
- const STARTUP_MESSAGE = `
22
- ██ ██ ████████ █████ ██████
23
- ██ ██ ██ ██ ██ ██ ██
24
- ██ ██ ██ ███████ ██████
25
- ██ ██ ██ ██ ██ ██ ██ ██
26
- █████ ██ ██ ██ ██ ██ ██
27
- ____________________________________
28
- By Masking Technology (masking.tech)
29
- `;
30
- export default class JitarServer extends OvernightServer {
31
- #runtime;
32
- constructor() {
33
- super(false);
34
- this.app.use(bodyParser.json());
35
- this.app.use(bodyParser.urlencoded({ extended: true }));
36
- }
37
- async start() {
38
- console.log(STARTUP_MESSAGE);
39
- const options = await ServerOptionsReader.read();
40
- const configuration = await RuntimeConfigurationLoader.load(options.config);
41
- const runtime = await RuntimeConfigurator.configure(configuration);
42
- const logger = this.#createLogger(options.loglevel);
43
- this.#addControllers(configuration, runtime, logger);
44
- const url = new URL(configuration.url ?? RuntimeDefaults.URL);
45
- await this.#startServer(url.port);
46
- this.#runtime = runtime;
47
- logger.info(`Server started and listening at port ${url.port}`);
48
- }
49
- addHealthCheck(name, healthCheck) {
50
- if (this.#runtime === undefined) {
51
- throw new RuntimeNotAvaiable();
52
- }
53
- this.#runtime.addHealthCheck(name, healthCheck);
54
- }
55
- #createLogger(level) {
56
- return new Logger({
57
- displayFilePath: 'hidden',
58
- minLevel: level
59
- });
60
- }
61
- #addControllers(configuration, runtime, logger) {
62
- if (configuration.standalone !== undefined && runtime instanceof Proxy) {
63
- const index = configuration.standalone.index ?? RuntimeDefaults.INDEX;
64
- this.#addStandAloneControllers(runtime, logger, index);
65
- }
66
- else if (configuration.repository !== undefined && runtime instanceof LocalRepository) {
67
- const index = configuration.repository.index ?? RuntimeDefaults.INDEX;
68
- this.#addRepositoryControllers(runtime, logger, index);
69
- }
70
- else if (configuration.gateway !== undefined && runtime instanceof LocalGateway) {
71
- this.#addGatewayControllers(runtime, logger);
72
- }
73
- else if (configuration.node !== undefined && runtime instanceof LocalNode) {
74
- this.#addNodeControllers(runtime, logger);
75
- }
76
- else if (configuration.proxy !== undefined && runtime instanceof Proxy) {
77
- this.#addProxyControllers(runtime, logger);
78
- }
79
- }
80
- #addStandAloneControllers(proxy, logger, index) {
81
- super.addControllers(new HealthController(proxy, logger));
82
- super.addControllers(new JitarController(this.app));
83
- super.addControllers(new ModulesController(proxy, logger));
84
- super.addControllers(new ProceduresController(proxy, logger));
85
- super.addControllers(new RPCController(proxy, logger, true));
86
- super.addControllers(new AssetsController(this.app, proxy, index, logger));
87
- }
88
- #addRepositoryControllers(repository, logger, index) {
89
- super.addControllers(new JitarController(this.app));
90
- super.addControllers(new ModulesController(repository, logger));
91
- super.addControllers(new AssetsController(this.app, repository, index, logger));
92
- }
93
- #addGatewayControllers(gateway, logger) {
94
- super.addControllers(new NodesController(gateway, logger));
95
- super.addControllers(new ProceduresController(gateway, logger));
96
- super.addControllers(new RPCController(gateway, logger, false));
97
- }
98
- #addNodeControllers(node, logger) {
99
- super.addControllers(new HealthController(node, logger));
100
- super.addControllers(new ProceduresController(node, logger));
101
- super.addControllers(new RPCController(node, logger, true));
102
- }
103
- #addProxyControllers(proxy, logger) {
104
- super.addControllers(new ProxyController(this.app, proxy, logger));
105
- }
106
- async #startServer(port) {
107
- return new Promise(resolve => { this.app.listen(port, resolve); });
108
- }
109
- }
@@ -1,3 +0,0 @@
1
- export default class GatewayConfiguration {
2
- monitor?: number;
3
- }
@@ -1,18 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { IsOptional, IsNumber } from 'class-validator';
11
- export default class GatewayConfiguration {
12
- monitor;
13
- }
14
- __decorate([
15
- IsNumber(),
16
- IsOptional(),
17
- __metadata("design:type", Number)
18
- ], GatewayConfiguration.prototype, "monitor", void 0);
@@ -1,5 +0,0 @@
1
- export default class NodeConfiguration {
2
- gateway?: string;
3
- repository: string;
4
- segments?: string[];
5
- }
@@ -1,28 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { IsArray, IsUrl, IsOptional } from 'class-validator';
11
- export default class NodeConfiguration {
12
- gateway;
13
- repository = '';
14
- segments;
15
- }
16
- __decorate([
17
- IsUrl(),
18
- IsOptional(),
19
- __metadata("design:type", String)
20
- ], NodeConfiguration.prototype, "gateway", void 0);
21
- __decorate([
22
- IsUrl(),
23
- __metadata("design:type", Object)
24
- ], NodeConfiguration.prototype, "repository", void 0);
25
- __decorate([
26
- IsArray(),
27
- __metadata("design:type", Array)
28
- ], NodeConfiguration.prototype, "segments", void 0);
@@ -1,5 +0,0 @@
1
- export default class ProxyConfiguration {
2
- node?: string;
3
- gateway?: string;
4
- repository?: string;
5
- }
@@ -1,29 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { IsUrl, IsOptional } from 'class-validator';
11
- export default class ProxyConfiguration {
12
- node;
13
- gateway;
14
- repository;
15
- }
16
- __decorate([
17
- IsUrl(),
18
- IsOptional(),
19
- __metadata("design:type", String)
20
- ], ProxyConfiguration.prototype, "node", void 0);
21
- __decorate([
22
- IsUrl(),
23
- IsOptional(),
24
- __metadata("design:type", String)
25
- ], ProxyConfiguration.prototype, "gateway", void 0);
26
- __decorate([
27
- IsUrl(),
28
- __metadata("design:type", String)
29
- ], ProxyConfiguration.prototype, "repository", void 0);
@@ -1,6 +0,0 @@
1
- export default class RepositoryConfiguration {
2
- source?: string;
3
- cache?: string;
4
- index?: string;
5
- assets?: string[];
6
- }
@@ -1,36 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { IsArray, IsOptional, IsString } from 'class-validator';
11
- export default class RepositoryConfiguration {
12
- source;
13
- cache;
14
- index;
15
- assets;
16
- }
17
- __decorate([
18
- IsString(),
19
- IsOptional(),
20
- __metadata("design:type", String)
21
- ], RepositoryConfiguration.prototype, "source", void 0);
22
- __decorate([
23
- IsString(),
24
- IsOptional(),
25
- __metadata("design:type", String)
26
- ], RepositoryConfiguration.prototype, "cache", void 0);
27
- __decorate([
28
- IsString(),
29
- IsOptional(),
30
- __metadata("design:type", String)
31
- ], RepositoryConfiguration.prototype, "index", void 0);
32
- __decorate([
33
- IsArray(),
34
- IsOptional(),
35
- __metadata("design:type", Array)
36
- ], RepositoryConfiguration.prototype, "assets", void 0);
@@ -1,13 +0,0 @@
1
- import GatewayConfiguration from './GatewayConfiguration.js';
2
- import NodeConfiguration from './NodeConfiguration.js';
3
- import ProxyConfiguration from './ProxyConfiguration.js';
4
- import RepositoryConfiguration from './RepositoryConfiguration.js';
5
- import StandaloneConfiguration from './StandaloneConfiguration.js';
6
- export default class RuntimeConfiguration {
7
- url?: string;
8
- standalone?: StandaloneConfiguration;
9
- repository?: RepositoryConfiguration;
10
- gateway?: GatewayConfiguration;
11
- node?: NodeConfiguration;
12
- proxy?: ProxyConfiguration;
13
- }
@@ -1,48 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { IsOptional, IsUrl } from 'class-validator';
11
- import GatewayConfiguration from './GatewayConfiguration.js';
12
- import NodeConfiguration from './NodeConfiguration.js';
13
- import ProxyConfiguration from './ProxyConfiguration.js';
14
- import RepositoryConfiguration from './RepositoryConfiguration.js';
15
- import StandaloneConfiguration from './StandaloneConfiguration.js';
16
- export default class RuntimeConfiguration {
17
- url;
18
- standalone;
19
- repository;
20
- gateway;
21
- node;
22
- proxy;
23
- }
24
- __decorate([
25
- IsUrl(),
26
- IsOptional(),
27
- __metadata("design:type", String)
28
- ], RuntimeConfiguration.prototype, "url", void 0);
29
- __decorate([
30
- IsOptional(),
31
- __metadata("design:type", StandaloneConfiguration)
32
- ], RuntimeConfiguration.prototype, "standalone", void 0);
33
- __decorate([
34
- IsOptional(),
35
- __metadata("design:type", RepositoryConfiguration)
36
- ], RuntimeConfiguration.prototype, "repository", void 0);
37
- __decorate([
38
- IsOptional(),
39
- __metadata("design:type", GatewayConfiguration)
40
- ], RuntimeConfiguration.prototype, "gateway", void 0);
41
- __decorate([
42
- IsOptional(),
43
- __metadata("design:type", NodeConfiguration)
44
- ], RuntimeConfiguration.prototype, "node", void 0);
45
- __decorate([
46
- IsOptional(),
47
- __metadata("design:type", ProxyConfiguration)
48
- ], RuntimeConfiguration.prototype, "proxy", void 0);
@@ -1,4 +0,0 @@
1
- export default class ServerOptions {
2
- loglevel: string;
3
- config: string;
4
- }