@theotherwillembotha/node-red-plugincore 0.0.54 → 0.0.55

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 (68) hide show
  1. package/README.md +5 -8
  2. package/build/GenerateNodes.js +0 -1
  3. package/build/Nodes.html +0 -141
  4. package/build/Nodes.js +0 -2
  5. package/build/Plugins.js +2 -2
  6. package/build/core/NodeConstructor.js +15 -50
  7. package/build/core/NodeGenerator.js +8 -10
  8. package/build/core/logger/LoggerDecorator.d.ts.map +1 -1
  9. package/build/core/logger/LoggerDecorator.js +34 -38
  10. package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts +11 -7
  11. package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts.map +1 -1
  12. package/build/core/logger/node/ConsoleLoggerConfigNode.js +24 -10
  13. package/build/core/logger/node/RestLoggerConfigNode.d.ts +22 -6
  14. package/build/core/logger/node/RestLoggerConfigNode.d.ts.map +1 -1
  15. package/build/core/logger/node/RestLoggerConfigNode.js +93 -23
  16. package/build/core/logger/service/LoggerService.d.ts +59 -68
  17. package/build/core/logger/service/LoggerService.d.ts.map +1 -1
  18. package/build/core/logger/service/LoggerService.js +76 -165
  19. package/build/core/logger/template/LoggerTemplate.d.ts +9 -1
  20. package/build/core/logger/template/LoggerTemplate.d.ts.map +1 -1
  21. package/build/core/metrics/node/CounterMetricConfigNode.js +0 -2
  22. package/build/core/metrics/node/GaugeMetricConfigNode.js +0 -2
  23. package/build/core/metrics/node/MetricsConfigNode.js +0 -1
  24. package/build/core/metrics/node/TimerMetricConfigNode.js +0 -2
  25. package/build/core/metrics/service/MetricsService.js +10 -24
  26. package/build/core/other/service/SettingsService.js +0 -2
  27. package/build/core/tagging/service/NodeTypeService.js +1 -2
  28. package/build/core/webhook/WebhookDecorator.d.ts.map +1 -1
  29. package/build/core/webhook/WebhookDecorator.js +4 -4
  30. package/build/core/webhook/node/WebhookServerConfigNode.js +0 -1
  31. package/build/core/webhook/service/ReverseProxyTypeService.d.ts +0 -2
  32. package/build/core/webhook/service/ReverseProxyTypeService.d.ts.map +1 -1
  33. package/build/core/webhook/service/ReverseProxyTypeService.js +1 -6
  34. package/build/core/webhook/service/WebhookServerService.d.ts +1 -1
  35. package/build/core/webhook/service/WebhookServerService.d.ts.map +1 -1
  36. package/build/core/webhook/service/WebhookServerService.js +6 -9
  37. package/build/core/webhook/template/WebhookTemplate.d.ts +1 -1
  38. package/build/core/webhook/template/WebhookTemplate.d.ts.map +1 -1
  39. package/build/index.d.ts +1 -2
  40. package/build/index.d.ts.map +1 -1
  41. package/build/index.js +1 -2
  42. package/build/resources/editorLanguageExtension.js +1 -2
  43. package/package.json +5 -3
  44. package/resources/editorLanguageExtension.js +1 -2
  45. package/src/GenerateNodes.ts +2 -2
  46. package/src/core/NodeConstructor.ts +1 -1
  47. package/src/core/NodeGenerator.ts +2 -2
  48. package/src/core/logger/LoggerDecorator.ts +56 -53
  49. package/src/core/logger/node/ConsoleLoggerConfigNode.ts +39 -14
  50. package/src/core/logger/node/RestLoggerConfigNode.ts +128 -25
  51. package/src/core/logger/service/LoggerService.ts +103 -239
  52. package/src/core/logger/template/LoggerTemplate.ts +11 -1
  53. package/src/core/webhook/WebhookDecorator.ts +1 -3
  54. package/src/core/webhook/service/ReverseProxyTypeService.ts +0 -4
  55. package/src/core/webhook/service/WebhookServerService.ts +1 -1
  56. package/src/core/webhook/template/WebhookTemplate.ts +1 -1
  57. package/src/index.ts +2 -2
  58. package/build/core/logger/node/LokiLoggerConfigNode.d.ts +0 -20
  59. package/build/core/logger/node/LokiLoggerConfigNode.d.ts.map +0 -1
  60. package/build/core/logger/node/LokiLoggerConfigNode.html +0 -117
  61. package/build/core/logger/node/LokiLoggerConfigNode.js +0 -53
  62. package/build/core/logger/service/LoggerServiceTypes.d.ts +0 -24
  63. package/build/core/logger/service/LoggerServiceTypes.d.ts.map +0 -1
  64. package/build/core/logger/service/LoggerServiceTypes.js +0 -30
  65. package/documentation/LokiLoggerConfigNode.png +0 -0
  66. package/src/core/logger/node/LokiLoggerConfigNode.html +0 -117
  67. package/src/core/logger/node/LokiLoggerConfigNode.ts +0 -58
  68. package/src/core/logger/service/LoggerServiceTypes.ts +0 -26
@@ -1 +1 @@
1
- {"version":3,"file":"LoggerTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/logger/template/LoggerTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEpF,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,UAAU,EAAC,OAAO,CAAC;IACnB,MAAM,EAAC,MAAM,CAAC;IACd,0BAA0B,EAAC,OAAO,CAAC;IACnC,mBAAmB,EAAC,MAAM,CAAC;CAC9B;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAGxC,MAAM,CAAC,qBAAqB,IAAI,kBAAkB;CAQrD"}
1
+ {"version":3,"file":"LoggerTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/logger/template/LoggerTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGpF,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC5D,UAAU,EAAC,OAAO,CAAC;IACnB,MAAM,EAAC,MAAM,CAAC;IACd,0BAA0B,EAAC,OAAO,CAAC;IACnC,mBAAmB,EAAC,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,EAAE,EAAC,MAAM,CAAC;IACV,IAAI,EAAC,MAAM,CAAC;IACZ,IAAI,EAAC,MAAM,CAAC;IACZ,IAAI,EAAC,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,CAAC;IAChB,KAAK,EAAC,MAAM,CAAC;CAChB,CAAA;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAGxC,MAAM,CAAC,qBAAqB,IAAI,kBAAkB;CAQrD"}
@@ -17,8 +17,6 @@ const MetricsConfigNode_1 = require("./MetricsConfigNode");
17
17
  const MetricsTemplate_1 = require("../template/MetricsTemplate");
18
18
  const NodeDescriptionDecorator_1 = require("../../tagging/NodeDescriptionDecorator");
19
19
  let CounterMetricConfigNode = class CounterMetricConfigNode extends NodeConstructor_1.ConfigNode {
20
- _metrics;
21
- _counter;
22
20
  constructor(node, config) {
23
21
  super(node, config);
24
22
  let _this = this;
@@ -17,8 +17,6 @@ const MetricsConfigNode_1 = require("./MetricsConfigNode");
17
17
  const MetricsTemplate_1 = require("../template/MetricsTemplate");
18
18
  const NodeDescriptionDecorator_1 = require("../../tagging/NodeDescriptionDecorator");
19
19
  let GaugeMetricConfigNode = class GaugeMetricConfigNode extends NodeConstructor_1.ConfigNode {
20
- _metrics;
21
- _gauge;
22
20
  constructor(node, config) {
23
21
  super(node, config);
24
22
  let _this = this;
@@ -19,7 +19,6 @@ const WebhookServerService_1 = require("../../webhook/service/WebhookServerServi
19
19
  const prom_client_1 = require("prom-client");
20
20
  const NodeDescriptionDecorator_1 = require("../../tagging/NodeDescriptionDecorator");
21
21
  let MetricsConfigNode = class MetricsConfigNode extends NodeConstructor_1.ConfigNode {
22
- _metrics;
23
22
  constructor(node, config) {
24
23
  super(node, config);
25
24
  let _this = this;
@@ -18,8 +18,6 @@ const MetricsTemplate_1 = require("../template/MetricsTemplate");
18
18
  const MetricsDecorator_1 = require("../MetricsDecorator");
19
19
  const NodeDescriptionDecorator_1 = require("../../tagging/NodeDescriptionDecorator");
20
20
  let TimerMetricConfigNode = class TimerMetricConfigNode extends NodeConstructor_1.ConfigNode {
21
- _metrics;
22
- _timer;
23
21
  constructor(node, config) {
24
22
  super(node, config);
25
23
  let _this = this;
@@ -41,8 +41,6 @@ const NodeConstructor_1 = require("../../NodeConstructor");
41
41
  const prom_client_1 = __importStar(require("prom-client"));
42
42
  const deep_equal_1 = __importDefault(require("deep-equal"));
43
43
  class Metric {
44
- _config;
45
- _labels;
46
44
  constructor(config) {
47
45
  this._config = config;
48
46
  this._labels = { flow: config.node.flow, type: config.node.type, name: config.node.name, id: config.node.id, metric: config.metricname };
@@ -56,11 +54,9 @@ class Metric {
56
54
  }
57
55
  exports.Metric = Metric;
58
56
  class CounterMetric extends Metric {
59
- counter;
60
- internalCounter;
61
- subscribers = {};
62
57
  constructor(id, config, registry) {
63
58
  super(config);
59
+ this.subscribers = {};
64
60
  this.counter = new prom_client_1.Counter({
65
61
  name: id,
66
62
  help: (config.metricdescription) ? config.metricdescription : config.metricname,
@@ -90,11 +86,10 @@ class CounterMetric extends Metric {
90
86
  }
91
87
  exports.CounterMetric = CounterMetric;
92
88
  class GaugeMetric extends Metric {
93
- collector = 0;
94
- gauge;
95
- subscribers = {};
96
89
  constructor(id, config, registry) {
97
90
  super(config);
91
+ this.collector = 0;
92
+ this.subscribers = {};
98
93
  let _this = this;
99
94
  this.gauge = new prom_client_1.default.Gauge({
100
95
  name: id,
@@ -142,10 +137,9 @@ var BucketType;
142
137
  BucketType["exponential"] = "exponential";
143
138
  })(BucketType || (exports.BucketType = BucketType = {}));
144
139
  class HistogramMetric extends Metric {
145
- histogram;
146
- subscribers = {};
147
140
  constructor(id, config, registry) {
148
141
  super(config);
142
+ this.subscribers = {};
149
143
  // Build the Histogram Config.
150
144
  let histogramConfig = {
151
145
  name: id,
@@ -188,8 +182,6 @@ class HistogramMetric extends Metric {
188
182
  }
189
183
  exports.HistogramMetric = HistogramMetric;
190
184
  class HistogramState {
191
- _values;
192
- _average;
193
185
  constructor(values) {
194
186
  this._values = values;
195
187
  let sum = this._values.find(value => value.metricName?.endsWith("_sum"))?.value;
@@ -201,8 +193,6 @@ class HistogramState {
201
193
  }
202
194
  }
203
195
  class SummaryState {
204
- _values;
205
- _average;
206
196
  constructor(values) {
207
197
  this._values = values;
208
198
  let sum = this._values.find(value => value.metricName?.endsWith("_sum"))?.value;
@@ -219,10 +209,9 @@ var PercentileType;
219
209
  PercentileType["manual"] = "manual";
220
210
  })(PercentileType || (exports.PercentileType = PercentileType = {}));
221
211
  class SummaryMetric extends Metric {
222
- summary;
223
- subscribers = {};
224
212
  constructor(id, config, registry) {
225
213
  super(config);
214
+ this.subscribers = {};
226
215
  let summaryConfig = {
227
216
  name: id,
228
217
  help: (config.metricdescription) ? config.metricdescription : config.metricname,
@@ -257,13 +246,11 @@ class SummaryMetric extends Metric {
257
246
  }
258
247
  exports.SummaryMetric = SummaryMetric;
259
248
  class MetricsContainer {
260
- _config;
261
- _registry;
262
- counters = {};
263
- histograms = {};
264
- gauges = {};
265
- summaries = {};
266
249
  constructor(config) {
250
+ this.counters = {};
251
+ this.histograms = {};
252
+ this.gauges = {};
253
+ this.summaries = {};
267
254
  this._config = config;
268
255
  // create a registry with the config.
269
256
  this._registry = new prom_client_1.default.Registry();
@@ -341,8 +328,7 @@ class MetricsContainer {
341
328
  }
342
329
  exports.MetricsContainer = MetricsContainer;
343
330
  class MetricsService extends NodeConstructor_1.BaseService {
344
- static metrics = {};
345
- red;
331
+ static { this.metrics = {}; }
346
332
  constructor() {
347
333
  super("MetricsService");
348
334
  }
@@ -38,8 +38,6 @@ class SettingsService extends NodeConstructor_1.BaseService {
38
38
  }
39
39
  exports.SettingsService = SettingsService;
40
40
  class Settings {
41
- _settings;
42
- _config;
43
41
  constructor(settings, config) {
44
42
  this._settings = settings;
45
43
  this._config = config;
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeTypeService = void 0;
4
4
  const NodeConstructor_1 = require("../../NodeConstructor");
5
5
  class NodeTypeService extends NodeConstructor_1.BaseService {
6
- red;
7
- nodeTypes = {};
8
6
  constructor() {
9
7
  super("nodetypes");
8
+ this.nodeTypes = {};
10
9
  }
11
10
  init(red) {
12
11
  this.red = red;
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookDecorator.d.ts","sourceRoot":"","sources":["../../../src/core/webhook/WebhookDecorator.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,OAAO,KAoDD,CAAC;AAGb,OAAO,EACH,OAAO,EACV,CAAA"}
1
+ {"version":3,"file":"WebhookDecorator.d.ts","sourceRoot":"","sources":["../../../src/core/webhook/WebhookDecorator.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,OAAO,KAkDD,CAAC;AAGb,OAAO,EACH,OAAO,EACV,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Webhook = void 0;
4
- const LoggerServiceTypes_1 = require("../logger/service/LoggerServiceTypes");
4
+ const LoggerService_1 = require("../logger/service/LoggerService");
5
5
  const NodeConstructor_1 = require("../NodeConstructor");
6
6
  const Webhook = (0, NodeConstructor_1.createPostConstructDecorator)('Webhook')
7
7
  .withInitLogic(async (instance, propertyKey, webhookconfig) => {
@@ -9,9 +9,9 @@ const Webhook = (0, NodeConstructor_1.createPostConstructDecorator)('Webhook')
9
9
  let node = instance;
10
10
  let nodeConfig = node.config();
11
11
  // create the authentication.
12
- let authentication = (nodeConfig.webhookAuth === LoggerServiceTypes_1.RestAuthType.basic) ? { type: LoggerServiceTypes_1.RestAuthType.basic, username: nodeConfig.webhookAuth_basic_username, password: nodeConfig.webhookAuth_basic_password } :
13
- (nodeConfig.webhookAuth === LoggerServiceTypes_1.RestAuthType.apikey) ? { type: LoggerServiceTypes_1.RestAuthType.apikey, mechanism: nodeConfig.webhookAuth_apikey_mechanism, key: nodeConfig.webhookAuth_apikey_key, value: nodeConfig.webhookAuth_apikey_value } :
14
- { type: LoggerServiceTypes_1.RestAuthType.none };
12
+ let authentication = (nodeConfig.webhookAuth === LoggerService_1.RestAuthType.basic) ? { type: LoggerService_1.RestAuthType.basic, username: nodeConfig.webhookAuth_basic_username, password: nodeConfig.webhookAuth_basic_password } :
13
+ (nodeConfig.webhookAuth === LoggerService_1.RestAuthType.apikey) ? { type: LoggerService_1.RestAuthType.apikey, mechanism: nodeConfig.webhookAuth_apikey_mechanism, key: nodeConfig.webhookAuth_apikey_key, value: nodeConfig.webhookAuth_apikey_value } :
14
+ { type: LoggerService_1.RestAuthType.none };
15
15
  // register a callback listener to the webserver.
16
16
  let endpointConfig = {
17
17
  path: nodeConfig.webhookPath,
@@ -15,7 +15,6 @@ const NodeGenerator_1 = require("../../NodeGenerator");
15
15
  const WebhookServerService_1 = require("../service/WebhookServerService");
16
16
  const NodeDescriptionDecorator_1 = require("../../tagging/NodeDescriptionDecorator");
17
17
  let WebhookServerConfigNode = class WebhookServerConfigNode extends NodeConstructor_1.ConfigNode {
18
- _server;
19
18
  constructor(node, config) {
20
19
  super(node, config);
21
20
  let _this = this;
@@ -9,8 +9,6 @@ export interface ProxyManagerClient {
9
9
  updateHost(data: Partial<HostEntry>): Promise<void>;
10
10
  getHosts(): Promise<Partial<HostEntry>[]>;
11
11
  }
12
- export declare abstract class ReverseProxyClient {
13
- }
14
12
  export type HostEntry = {
15
13
  id: number;
16
14
  domainNames: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ReverseProxyTypeService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/ReverseProxyTypeService.ts"],"names":[],"mappings":"AAGA,8BAAsB,gBAAgB;IAElC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;gBAEV,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM;IAK3B,EAAE,IAAG,MAAM;IAGX,IAAI,IAAG,MAAM;CAGvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,IAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CAC5C;AAED,8BAAsB,kBAAkB;CAEvC;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAC,MAAM,CAAC;IACV,WAAW,EAAC,MAAM,EAAE,CAAC;IACrB,MAAM,EAAC,UAAU,CAAC;IAClB,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,MAAM,CAAC;IACnB,UAAU,EAAC,MAAM,CAAC;IAClB,WAAW,EAAC,OAAO,CAAC;IACpB,mBAAmB,EAAC,OAAO,CAAC;IAC5B,gBAAgB,EAAC,OAAO,CAAC;CAC5B,CAAA;AAED,oBAAY,UAAU;IAClB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
1
+ {"version":3,"file":"ReverseProxyTypeService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/ReverseProxyTypeService.ts"],"names":[],"mappings":"AAGA,8BAAsB,gBAAgB;IAElC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;gBAEV,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM;IAK3B,EAAE,IAAG,MAAM;IAGX,IAAI,IAAG,MAAM;CAGvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,IAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAC,MAAM,CAAC;IACV,WAAW,EAAC,MAAM,EAAE,CAAC;IACrB,MAAM,EAAC,UAAU,CAAC;IAClB,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,MAAM,CAAC;IACnB,UAAU,EAAC,MAAM,CAAC;IAClB,WAAW,EAAC,OAAO,CAAC;IACpB,mBAAmB,EAAC,OAAO,CAAC;IAC5B,gBAAgB,EAAC,OAAO,CAAC;CAC5B,CAAA;AAED,oBAAY,UAAU;IAClB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HTTPScheme = exports.ReverseProxyClient = exports.ReverseProxyType = void 0;
3
+ exports.HTTPScheme = exports.ReverseProxyType = void 0;
4
4
  class ReverseProxyType {
5
- _id;
6
- _name;
7
5
  constructor(id, name) {
8
6
  this._id = id;
9
7
  this._name = name;
@@ -16,9 +14,6 @@ class ReverseProxyType {
16
14
  }
17
15
  }
18
16
  exports.ReverseProxyType = ReverseProxyType;
19
- class ReverseProxyClient {
20
- }
21
- exports.ReverseProxyClient = ReverseProxyClient;
22
17
  var HTTPScheme;
23
18
  (function (HTTPScheme) {
24
19
  HTTPScheme["HTTP"] = "http";
@@ -1,7 +1,7 @@
1
1
  import { BaseService, FlowDeployment, ServiceDescriptor } from "../../NodeConstructor";
2
2
  import { NodeAPI, NodeAPISettingsWithData } from "node-red";
3
3
  import { Request, Response } from "express";
4
- import { ApiKeyMechanismType, RestAuthType } from "../../logger/service/LoggerServiceTypes";
4
+ import { ApiKeyMechanismType, RestAuthType } from "../../logger/service/LoggerService";
5
5
  export declare enum EndpointMethodType {
6
6
  GET = "GET",
7
7
  POST = "POST"
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookServerService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/WebhookServerService.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAgB,EAAU,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAI5F,oBAAY,kBAAkB;IAC1B,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAC,YAAY,CAAC,IAAI,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAC,YAAY,CAAC,KAAK,CAAA;IACvB,QAAQ,EAAC,MAAM,CAAC;IAChB,QAAQ,EAAC,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAC,YAAY,CAAC,MAAM,CAAC;IACzB,SAAS,EAAC,mBAAmB,CAAC;IAC9B,GAAG,EAAC,MAAM,CAAC;IACX,KAAK,EAAC,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAC,kBAAkB,EAAE,CAAC;IAC7B,cAAc,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,0BAA0B,CAAC;CACnG,CAAA;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,SAAS,CAAS;gBAEP,MAAM,EAAC,mBAAmB;IAQtC,MAAM,CAAC,QAAQ,EAAC,cAAc,EAAE,QAAQ,EAAC,CAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,QAAQ,KAAK,GAAG;IA+CpF,MAAM,CAAC,aAAa,EAAC,cAAc;IAsBnC,MAAM,IAAG,mBAAmB;CAGtC;AAED,MAAM,MAAO,mBAAmB,GAAG;IAC/B,EAAE,EAAC,MAAM,CAAA;IACT,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAC,MAAM,CAAC;IACpB,YAAY,EAAC,MAAM,CAAC;CACvB,CAAA;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IAEjD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmC;;IAMzD,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;WAyCvD,GAAG,CAAE,MAAM,EAAC,mBAAmB,GAAG,aAAa;WAS7C,oBAAoB,IAAG,iBAAiB;CAU3D"}
1
+ {"version":3,"file":"WebhookServerService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/WebhookServerService.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAgB,EAAU,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvF,oBAAY,kBAAkB;IAC1B,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAC,YAAY,CAAC,IAAI,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAC,YAAY,CAAC,KAAK,CAAA;IACvB,QAAQ,EAAC,MAAM,CAAC;IAChB,QAAQ,EAAC,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAC,YAAY,CAAC,MAAM,CAAC;IACzB,SAAS,EAAC,mBAAmB,CAAC;IAC9B,GAAG,EAAC,MAAM,CAAC;IACX,KAAK,EAAC,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAC,kBAAkB,EAAE,CAAC;IAC7B,cAAc,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,0BAA0B,CAAC;CACnG,CAAA;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,SAAS,CAAS;gBAEP,MAAM,EAAC,mBAAmB;IAQtC,MAAM,CAAC,QAAQ,EAAC,cAAc,EAAE,QAAQ,EAAC,CAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,QAAQ,KAAK,GAAG;IA+CpF,MAAM,CAAC,aAAa,EAAC,cAAc;IAsBnC,MAAM,IAAG,mBAAmB;CAGtC;AAED,MAAM,MAAO,mBAAmB,GAAG;IAC/B,EAAE,EAAC,MAAM,CAAA;IACT,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAC,MAAM,CAAC;IACpB,YAAY,EAAC,MAAM,CAAC;CACvB,CAAA;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IAEjD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmC;;IAMzD,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;WAyCvD,GAAG,CAAE,MAAM,EAAC,mBAAmB,GAAG,aAAa;WAS7C,oBAAoB,IAAG,iBAAiB;CAU3D"}
@@ -8,7 +8,7 @@ const NodeConstructor_1 = require("../../NodeConstructor");
8
8
  const WebhookServerConfigNode_1 = require("../node/WebhookServerConfigNode");
9
9
  const WebhookTemplate_1 = require("../template/WebhookTemplate");
10
10
  const express_1 = __importDefault(require("express"));
11
- const LoggerServiceTypes_1 = require("../../logger/service/LoggerServiceTypes");
11
+ const LoggerService_1 = require("../../logger/service/LoggerService");
12
12
  var bodyParser = require('body-parser');
13
13
  var EndpointMethodType;
14
14
  (function (EndpointMethodType) {
@@ -16,9 +16,6 @@ var EndpointMethodType;
16
16
  EndpointMethodType["POST"] = "POST";
17
17
  })(EndpointMethodType || (exports.EndpointMethodType = EndpointMethodType = {}));
18
18
  class WebhookServer {
19
- _config;
20
- _app;
21
- _listener;
22
19
  constructor(config) {
23
20
  this._config = config;
24
21
  this._app = (0, express_1.default)();
@@ -27,19 +24,19 @@ class WebhookServer {
27
24
  }
28
25
  attach(endpoint, callback) {
29
26
  let authenticator;
30
- if (endpoint.authentication.type === LoggerServiceTypes_1.RestAuthType.none) {
27
+ if (endpoint.authentication.type === LoggerService_1.RestAuthType.none) {
31
28
  authenticator = (request, response) => Promise.resolve(true);
32
29
  }
33
- if (endpoint.authentication.type === LoggerServiceTypes_1.RestAuthType.basic) {
30
+ if (endpoint.authentication.type === LoggerService_1.RestAuthType.basic) {
34
31
  let header = "Basic " + Buffer.from(`${endpoint.authentication.username}:${endpoint.authentication.password}`).toString("base64");
35
32
  authenticator = (request, response) => {
36
33
  return Promise.resolve(header === request.headers.authorization);
37
34
  };
38
35
  }
39
- if (endpoint.authentication.type === LoggerServiceTypes_1.RestAuthType.apikey) {
36
+ if (endpoint.authentication.type === LoggerService_1.RestAuthType.apikey) {
40
37
  let auth = endpoint.authentication;
41
38
  authenticator = (request, response) => {
42
- if (auth.mechanism === LoggerServiceTypes_1.ApiKeyMechanismType.header) {
39
+ if (auth.mechanism === LoggerService_1.ApiKeyMechanismType.header) {
43
40
  return Promise.resolve(request.headers[auth.key] === auth.value);
44
41
  }
45
42
  console.log("No APIKEY Authentication Handler Implementation for Type: " + auth.mechanism);
@@ -90,7 +87,7 @@ class WebhookServer {
90
87
  }
91
88
  exports.WebhookServer = WebhookServer;
92
89
  class WebhookServerService extends NodeConstructor_1.BaseService {
93
- static webhookServers = {};
90
+ static { this.webhookServers = {}; }
94
91
  constructor() {
95
92
  super("wehbookserver");
96
93
  }
@@ -1,5 +1,5 @@
1
1
  import { BaseNodeConfig, Template, TemplateDescriptor } from "../../NodeConstructor";
2
- import { ApiKeyMechanismType, RestAuthType } from "../../logger/service/LoggerServiceTypes";
2
+ import { RestAuthType, ApiKeyMechanismType } from "../../logger/service/LoggerService";
3
3
  export interface WebhookTemplateConfig extends BaseNodeConfig {
4
4
  webhook: string;
5
5
  webhookPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/template/WebhookTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGpF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5F,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,OAAO,EAAC,MAAM,CAAC;IACf,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,YAAY,CAAC;IACzB,0BAA0B,EAAC,MAAM,CAAC;IAClC,0BAA0B,EAAC,MAAM,CAAC;IAClC,4BAA4B,EAAC,mBAAmB,CAAC;IACjD,sBAAsB,EAAC,MAAM,CAAC;IAC9B,wBAAwB,EAAC,MAAM,CAAC;IAEhC,sBAAsB,EAAC,OAAO,CAAC;IAC/B,0BAA0B,EAAC,sBAAsB,EAAE,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAC,MAAM,CAAC;IACb,UAAU,EAAC,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IAEzC,MAAM,CAAC,qBAAqB,IAAI,kBAAkB;CAMrD"}
1
+ {"version":3,"file":"WebhookTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/template/WebhookTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGpF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEvF,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,OAAO,EAAC,MAAM,CAAC;IACf,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,YAAY,CAAC;IACzB,0BAA0B,EAAC,MAAM,CAAC;IAClC,0BAA0B,EAAC,MAAM,CAAC;IAClC,4BAA4B,EAAC,mBAAmB,CAAC;IACjD,sBAAsB,EAAC,MAAM,CAAC;IAC9B,wBAAwB,EAAC,MAAM,CAAC;IAEhC,sBAAsB,EAAC,OAAO,CAAC;IAC/B,0BAA0B,EAAC,sBAAsB,EAAE,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAC,MAAM,CAAC;IACb,UAAU,EAAC,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IAEzC,MAAM,CAAC,qBAAqB,IAAI,kBAAkB;CAMrD"}
package/build/index.d.ts CHANGED
@@ -2,10 +2,9 @@ export * from "./core/Utils";
2
2
  export * from "./core/NodeGenerator";
3
3
  export * from "./core/NodeConstructor";
4
4
  export * from "./core/logger/service/LoggerService";
5
- export * from "./core/logger/template/LoggerTemplate";
6
5
  export * from "./core/logger/node/ConsoleLoggerConfigNode";
7
6
  export * from "./core/logger/node/RestLoggerConfigNode";
8
- export * from "./core/logger/node/LokiLoggerConfigNode";
7
+ export * from "./core/logger/template/LoggerTemplate";
9
8
  export * from "./core/metrics/service/MetricsService";
10
9
  export * from "./core/metrics/template/MetricsTemplate";
11
10
  export * from "./core/metrics/template/CounterMetricTemplate";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,gDAAgD,CAAC;AAG/D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AAItD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,gDAAgD,CAAC;AAG/D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
package/build/index.js CHANGED
@@ -19,10 +19,9 @@ __exportStar(require("./core/NodeGenerator"), exports);
19
19
  __exportStar(require("./core/NodeConstructor"), exports);
20
20
  // LOGGER
21
21
  __exportStar(require("./core/logger/service/LoggerService"), exports);
22
- __exportStar(require("./core/logger/template/LoggerTemplate"), exports);
23
22
  __exportStar(require("./core/logger/node/ConsoleLoggerConfigNode"), exports);
24
23
  __exportStar(require("./core/logger/node/RestLoggerConfigNode"), exports);
25
- __exportStar(require("./core/logger/node/LokiLoggerConfigNode"), exports);
24
+ __exportStar(require("./core/logger/template/LoggerTemplate"), exports);
26
25
  // METRICS
27
26
  __exportStar(require("./core/metrics/service/MetricsService"), exports);
28
27
  __exportStar(require("./core/metrics/template/MetricsTemplate"), exports);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  if (window.ScriptEditorLanguageManager === undefined) {
3
3
  class ScriptEditorLanguageManager {
4
- static counter = 0;
4
+ static { this.counter = 0; }
5
5
  static async createLanguage(monaco, template) {
6
6
  // generate a language name.
7
7
  let langName = "js_variant_" + ScriptEditorLanguageManager.counter;
@@ -327,7 +327,6 @@ if (window.ScriptEditorLanguageManager === undefined) {
327
327
  }
328
328
  }
329
329
  class ScriptEditorLanguage {
330
- name;
331
330
  constructor(name) {
332
331
  this.name = name;
333
332
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theotherwillembotha/node-red-plugincore",
3
- "version": "0.0.54",
3
+ "version": "0.0.55",
4
4
  "description": "A core framework for building production-grade Node-RED plugins, with built-in support for structured logging, metrics, and webhook ingestion.",
5
5
  "author": "Willem Botha (@theotherwillembotha)",
6
6
  "license": "ISC",
@@ -40,6 +40,9 @@
40
40
  "README.md"
41
41
  ],
42
42
  "homepage": "https://github.com/theotherwillembotha/nodered_plugincore#readme",
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
43
46
  "engines": {
44
47
  "node": ">=18",
45
48
  "nodered": ">=4.0.0"
@@ -65,8 +68,7 @@
65
68
  "prom-client": "^15.1.3",
66
69
  "reflect-metadata": "^0.2.2",
67
70
  "whatwg-url": "^16.0.1",
68
- "winston": "^3.17.0",
69
- "winston-loki": "^6.1.3"
71
+ "winston": "^3.17.0"
70
72
  },
71
73
  "node-red": {
72
74
  "version": ">=4.0.0",
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  if (window.ScriptEditorLanguageManager === undefined) {
3
3
  class ScriptEditorLanguageManager {
4
- static counter = 0;
4
+ static { this.counter = 0; }
5
5
  static async createLanguage(monaco, template) {
6
6
  // generate a language name.
7
7
  let langName = "js_variant_" + ScriptEditorLanguageManager.counter;
@@ -327,7 +327,6 @@ if (window.ScriptEditorLanguageManager === undefined) {
327
327
  }
328
328
  }
329
329
  class ScriptEditorLanguage {
330
- name;
331
330
  constructor(name) {
332
331
  this.name = name;
333
332
  }
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { DelegatedConfigReferenceNode } from "./core/other/node/DelegatedConfigReferenceNode.js";
3
3
  import { NodeTypeService } from "./core/tagging/service/NodeTypeService.js";
4
- import { NodeGenerator, SettingsService, BasicTemplate, SettingsTemplate, TimerMetricTemplate, ConsoleLoggerConfigNode, RestLoggerConfigNode, LokiLoggerConfigNode, UIHelperTemplate, ScriptEditorTemplate } from "./index.js"
4
+ import { NodeGenerator, SettingsService, BasicTemplate, SettingsTemplate, TimerMetricTemplate, ConsoleLoggerConfigNode, RestLoggerConfigNode, UIHelperTemplate, ScriptEditorTemplate } from "./index.js"
5
5
  import { WebhookServerConfigNode, WebhookServerService, WebhookTemplate, } from "./index.js"
6
6
 
7
7
  import {LoggerService, LoggerTemplate } from "./index.js";
@@ -33,7 +33,7 @@ new NodeGenerator("./src/core/")
33
33
  .registerNode(DelegatedConfigReferenceNode)
34
34
  .registerNode(ConsoleLoggerConfigNode)
35
35
  .registerNode(RestLoggerConfigNode)
36
- .registerNode(LokiLoggerConfigNode)
36
+
37
37
  .registerNode(MetricsConfigNode)
38
38
  .registerNode(CounterMetricConfigNode)
39
39
  .registerNode(GaugeMetricConfigNode)
@@ -432,7 +432,7 @@ export class NodeManager{
432
432
  }
433
433
 
434
434
  let nodeConstructor = function(this: any, config: BaseNodeConfig | NodeDef){
435
- console.log("constructing node", typeName);
435
+ //console.log("constructing node", typeName);
436
436
 
437
437
  try{
438
438
  // instantiate the node.
@@ -211,7 +211,7 @@ module.exports = function (RED) {
211
211
  RED.events.on('runtime-event', async (event) => {
212
212
  // startup deployment.
213
213
  if ("runtime-deploy" === event?.id && startupDeployment) {
214
- console.log("STARTUP DEPLOYMENT");
214
+ //console.log("STARTUP DEPLOYMENT");
215
215
  startupDeployment = false;
216
216
  const flows = await runtime.flows.getFlows({});
217
217
  await plugin.instance.onDeploy(flows);
@@ -219,7 +219,7 @@ module.exports = function (RED) {
219
219
 
220
220
  // stopping flows on redeployment.
221
221
  if ("runtime-state" === event?.id && event?.payload?.state === "stop" && event?.payload?.deploy) {
222
- console.log("REDEPLOY!");
222
+ //console.log("REDEPLOY!");
223
223
  const flows = await runtime.flows.getFlows({});
224
224
  await plugin.instance.onDeploy(flows);
225
225
  }
@@ -1,7 +1,6 @@
1
1
  import { BaseNode, NodeManager } from "../NodeConstructor";
2
- import { Log, LoggerRegistration } from "./service/LoggerService";
3
- import { LoggerTemplateConfig } from "./template/LoggerTemplate";
4
-
2
+ import { AbstractLogger, Log, BaseLoggerConfig, DoNothingAppender, LoggerConfigNode, LoggerConfigNodeConfig } from "./service/LoggerService";
3
+ import { LoggerTemplateConfig, LoggerTemplateNodeConfig } from "./template/LoggerTemplate";
5
4
 
6
5
  export function Logger(debug?:string):Function {
7
6
 
@@ -10,41 +9,43 @@ export function Logger(debug?:string):Function {
10
9
  // if the type is a string, then its probably defined in the local (core) module.
11
10
  if(typeof propertyKey === "string"){
12
11
  const valueSymbol = Symbol(`_${String(propertyKey)}_value`);
12
+
13
+ //console.log("BINDING:", "target", target, "propertyKey", propertyKey );
13
14
 
14
15
  Object.defineProperty(target, propertyKey, {
15
16
  get: function() {
17
+
18
+ //console.log("setting logger on node " + this.name() + " (localized)");
16
19
 
17
20
  if(!this[valueSymbol]){
18
- let node = this as BaseNode<LoggerTemplateConfig>;
19
- //console.log("setting logger on node " + node.name() + " (localized)");
20
- let config = node.config();
21
- let logger;
22
21
 
23
- if(config.logEnabled){
24
- let registration:LoggerRegistration = {
22
+ try{
23
+ let node = this as BaseNode<LoggerTemplateNodeConfig>;
24
+ let config = node.config();
25
+
26
+ if(!config.logEnabled){
27
+ return this[valueSymbol] = DoNothingAppender.get();
28
+ }
29
+
30
+ // get the logger config node.
31
+ let loggerConfigNode:LoggerConfigNode<LoggerConfigNodeConfig, AbstractLogger<BaseLoggerConfig>> =(NodeManager.RED.nodes.getNode(config.logger) as any).node();
32
+
33
+ let loggerTemplateConfig:LoggerTemplateConfig = {
25
34
  id:config.id,
26
35
  flow:node.flow(),
27
36
  type:node.type(),
28
37
  name:node.name(),
29
- enabled:config.logEnabled,
30
- override:config.logTemplateOverrideEnabled,
31
- template:config.logTemplateOverride
38
+ level:loggerConfigNode.config().level,
39
+ template: (config.logTemplateOverrideEnabled) ? config.logTemplateOverride : loggerConfigNode.config().template,
32
40
  };
33
-
41
+
34
42
  // get a reference to the loggerService.
35
- try{
36
- logger = (NodeManager.RED.nodes.getNode(config.logger) as any).node().registerLogger(registration) as Log;
37
- }
38
- catch(e){
39
- console.log("failed getting logger ", config.logger, e);
40
- logger = { log(){} };
41
- }
43
+ return this[valueSymbol] = loggerConfigNode.registerTemplate(loggerTemplateConfig);
42
44
  }
43
- else{
44
- logger = { log(){} };
45
+ catch(e){
46
+ console.log(`failed getting logger "${this?.config()?.logger}"`, e);
47
+ return this[valueSymbol] = DoNothingAppender.get();
45
48
  }
46
-
47
- this[valueSymbol] = logger;
48
49
  }
49
50
  return this[valueSymbol];
50
51
  },
@@ -55,43 +56,45 @@ export function Logger(debug?:string):Function {
55
56
  }
56
57
  else{
57
58
  let property = propertyKey as any;
58
- //property.addInitializer(() => {
59
- property.addInitializer(function(this:BaseNode<LoggerTemplateConfig>){
60
- let node = this as BaseNode<LoggerTemplateConfig>
59
+
60
+ property.addInitializer(function(this:BaseNode<LoggerTemplateNodeConfig>){
61
+ let node = this as BaseNode<LoggerTemplateNodeConfig>
61
62
  const valueSymbol = Symbol(`_${String(property.name)}_value`);
63
+
64
+ //console.log("ADDING INITIALIZER:", "node", node, "property.name", property.name );
65
+
62
66
  Object.defineProperty(node, property.name, {
63
67
  get: function() {
68
+
69
+ //console.log("setting logger on node " + node.name()+ " (externalized)");
64
70
 
65
71
  if(!this[valueSymbol]){
66
- //console.log("setting logger on node " + node.name()+ " (externalized)");
72
+ try{
67
73
  let config = node.config();
68
- let logger;
69
-
70
- if(config.logEnabled){
71
- let registration:LoggerRegistration = {
72
- id:config.id,
73
- flow:node.flow(),
74
- type:node.type(),
75
- name:node.name(),
76
- enabled:config.logEnabled,
77
- override:config.logTemplateOverrideEnabled,
78
- template:config.logTemplateOverride
79
- };
80
-
81
- // get a reference to the loggerService.
82
- try{
83
- logger = (NodeManager.RED.nodes.getNode(config.logger) as any).node().registerLogger(registration) as Log;
84
- }
85
- catch(e){
86
- console.log("failed getting logger ", config.logger, e);
87
- logger = { log(){} };
88
- }
89
- }
90
- else{
91
- logger = { log(){} };
74
+
75
+ if(!config.logEnabled){
76
+ return this[valueSymbol] = DoNothingAppender.get();
92
77
  }
93
78
 
94
- this[valueSymbol] = logger;
79
+ // get the logger config node.
80
+ let loggerConfigNode:LoggerConfigNode<LoggerConfigNodeConfig, AbstractLogger<BaseLoggerConfig>> =(NodeManager.RED.nodes.getNode(config.logger) as any).node();
81
+
82
+ let loggerTemplateConfig:LoggerTemplateConfig = {
83
+ id:config.id,
84
+ flow:node.flow(),
85
+ type:node.type(),
86
+ name:node.name(),
87
+ level: loggerConfigNode?.config().level ?? 'info',
88
+ template: (config.logTemplateOverrideEnabled) ? config.logTemplateOverride : (loggerConfigNode?.config().template ?? 'message:{{msg}}'),
89
+ };
90
+
91
+ // get a reference to the loggerService.
92
+ return this[valueSymbol] = loggerConfigNode.registerTemplate(loggerTemplateConfig);
93
+ }
94
+ catch(e){
95
+ console.log("failed getting logger ", e);
96
+ return this[valueSymbol] = DoNothingAppender.get();
97
+ }
95
98
  }
96
99
  return this[valueSymbol];
97
100
  },